@public-ui/components 1.3.3-rc.2 → 1.4.0-rc.1
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/cheat-sheet.html +14 -14
- package/custom-elements.json +11 -6
- package/dist/cjs/a11y.tipps-bd1e1e68.js +4 -0
- package/dist/cjs/a11y.tipps-bd1e1e68.js.map +1 -0
- package/dist/cjs/app-globals-78158be1.js +4 -0
- package/dist/cjs/app-globals-78158be1.js.map +1 -0
- package/dist/cjs/button-link-eca34f5d.js +4 -0
- package/dist/cjs/{button-link-dd9e4ea0.js.map → button-link-eca34f5d.js.map} +1 -1
- package/dist/cjs/color-71239302.js +4 -0
- package/dist/cjs/color-71239302.js.map +1 -0
- package/dist/cjs/{controller-2628b4aa.js → controller-11d59cf4.js} +1 -1
- package/dist/cjs/{controller-2628b4aa.js.map → controller-11d59cf4.js.map} +1 -1
- package/dist/cjs/controller-3ff1c0cb.js +4 -0
- package/dist/cjs/controller-3ff1c0cb.js.map +1 -0
- package/dist/cjs/{controller-5c0b557c.js → controller-8c043f6a.js} +1 -1
- package/dist/cjs/{controller-5c0b557c.js.map → controller-8c043f6a.js.map} +1 -1
- package/dist/cjs/controller-9758ea26.js +4 -0
- package/dist/cjs/{controller-d7735fca.js.map → controller-9758ea26.js.map} +1 -1
- package/dist/cjs/{controller-8046e2c4.js → controller-ae4978e8.js} +1 -1
- package/dist/cjs/{controller-8046e2c4.js.map → controller-ae4978e8.js.map} +1 -1
- package/dist/cjs/controller-e0715879.js +4 -0
- package/dist/cjs/controller-e0715879.js.map +1 -0
- package/dist/cjs/controller-icon-ae20df4e.js +4 -0
- package/dist/cjs/controller-icon-ae20df4e.js.map +1 -0
- package/dist/cjs/dev.utils-b6dd5206.js +4 -0
- package/dist/cjs/dev.utils-b6dd5206.js.map +1 -0
- package/dist/cjs/devtools-b3bb986c.js +4 -0
- package/dist/cjs/devtools-b3bb986c.js.map +1 -0
- package/dist/cjs/i18n-2eef9091.js +4 -0
- package/dist/cjs/i18n-2eef9091.js.map +1 -0
- package/dist/cjs/icon-a373f57a.js +4 -0
- package/dist/cjs/icon-a373f57a.js.map +1 -0
- package/dist/cjs/index-7e718c1e.js +4 -0
- package/dist/cjs/{i18n-75f41194.js.map → index-7e718c1e.js.map} +1 -1
- package/dist/cjs/index-ecfaeef4.js +4 -0
- package/dist/cjs/index-ecfaeef4.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-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-counter.cjs.entry.js +1 -1
- package/dist/cjs/kol-counter.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/label-6ab9ca4e.js +4 -0
- package/dist/cjs/{label-14182d07.js.map → label-6ab9ca4e.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{prop.validators-ca14ce38.js → prop.validators-292d455b.js} +1 -1
- package/dist/cjs/{prop.validators-ca14ce38.js.map → prop.validators-292d455b.js.map} +1 -1
- package/dist/cjs/reuse-b43997f3.js +4 -0
- package/dist/cjs/reuse-b43997f3.js.map +1 -0
- package/dist/cjs/tab-index-0a963ec3.js +4 -0
- package/dist/cjs/tab-index-0a963ec3.js.map +1 -0
- package/dist/cjs/{validation-a1475a7b.js → validation-cafa32e9.js} +1 -1
- package/dist/cjs/{validation-a1475a7b.js.map → validation-cafa32e9.js.map} +1 -1
- package/dist/cjs/validation-dceac8f2.js +4 -0
- package/dist/cjs/{validation-46c24f37.js.map → validation-dceac8f2.js.map} +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/color.js.map +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/component10.js +1 -1
- package/dist/components/component10.js.map +1 -1
- package/dist/components/component11.js +1 -1
- package/dist/components/component11.js.map +1 -1
- package/dist/components/component12.js +1 -1
- package/dist/components/component12.js.map +1 -1
- package/dist/components/component13.js +1 -1
- package/dist/components/component13.js.map +1 -1
- package/dist/components/component2.js +1 -1
- package/dist/components/component2.js.map +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component4.js +1 -1
- package/dist/components/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.map +1 -1
- package/dist/components/controller-icon.js +4 -0
- package/dist/components/controller-icon.js.map +1 -0
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-group.js +1 -1
- package/dist/components/kol-button-group.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-color.js +1 -1
- package/dist/components/kol-color.js.map +1 -1
- package/dist/components/kol-counter.js +1 -1
- package/dist/components/kol-counter.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-icon-font-awesome.js +1 -1
- package/dist/components/kol-icon-font-awesome.js.map +1 -1
- package/dist/components/kol-icon-icofont.js +1 -1
- package/dist/components/kol-icon-icofont.js.map +1 -1
- package/dist/components/kol-input-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-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-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-logo.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-span.js +1 -1
- package/dist/components/kol-span.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.js.map +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/kol-toast.js.map +1 -1
- package/dist/components/kol-tooltip.js +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow.js +1 -1
- package/dist/components/shadow.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow2.js.map +1 -1
- package/dist/components/validation.js +1 -1
- package/dist/esm/a11y.tipps-353a7f35.js +4 -0
- package/dist/esm/a11y.tipps-353a7f35.js.map +1 -0
- package/dist/esm/app-globals-ae4b65e9.js +4 -0
- package/dist/esm/app-globals-ae4b65e9.js.map +1 -0
- package/dist/esm/{button-link-19f5259b.js → button-link-01028aae.js} +1 -1
- package/dist/esm/{button-link-19f5259b.js.map → button-link-01028aae.js.map} +1 -1
- package/dist/esm/{color-d69786a5.js → color-8bf509b6.js} +1 -1
- package/dist/esm/color-8bf509b6.js.map +1 -0
- package/dist/esm/controller-28809de9.js +4 -0
- package/dist/esm/controller-28809de9.js.map +1 -0
- package/dist/esm/{controller-f27d2685.js → controller-8b3a25ac.js} +1 -1
- package/dist/esm/{controller-f27d2685.js.map → controller-8b3a25ac.js.map} +1 -1
- package/dist/esm/{controller-542bf2a8.js → controller-b7578f6d.js} +1 -1
- package/dist/esm/{controller-542bf2a8.js.map → controller-b7578f6d.js.map} +1 -1
- package/dist/esm/{controller-546903ef.js → controller-de509dfa.js} +1 -1
- package/dist/esm/{controller-546903ef.js.map → controller-de509dfa.js.map} +1 -1
- package/dist/esm/controller-e49952b6.js +4 -0
- package/dist/esm/controller-e49952b6.js.map +1 -0
- package/dist/esm/controller-e915936c.js +4 -0
- package/dist/esm/{controller-51e89038.js.map → controller-e915936c.js.map} +1 -1
- package/dist/esm/controller-icon-07d9636a.js +4 -0
- package/dist/esm/controller-icon-07d9636a.js.map +1 -0
- package/dist/esm/dev.utils-3ec9f837.js +4 -0
- package/dist/esm/dev.utils-3ec9f837.js.map +1 -0
- package/dist/esm/devtools-38fc0936.js +4 -0
- package/dist/esm/devtools-38fc0936.js.map +1 -0
- package/dist/esm/i18n-9b7525d8.js +4 -0
- package/dist/esm/i18n-9b7525d8.js.map +1 -0
- package/dist/esm/icon-5edb38e1.js +4 -0
- package/dist/esm/icon-5edb38e1.js.map +1 -0
- package/dist/esm/index-0fb82b03.js +4 -0
- package/dist/esm/{i18n-a72949f4.js.map → index-0fb82b03.js.map} +1 -1
- package/dist/esm/index-68b1f91c.js +4 -0
- package/dist/esm/index-68b1f91c.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-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc_2.entry.js +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-color.entry.js +1 -1
- package/dist/esm/kol-color.entry.js.map +1 -1
- package/dist/esm/kol-counter.entry.js +1 -1
- package/dist/esm/kol-counter.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading-wc_2.entry.js +1 -1
- package/dist/esm/kol-heading-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js.map +1 -1
- package/dist/esm/kol-icon-icofont.entry.js +1 -1
- package/dist/esm/kol-icon-icofont.entry.js.map +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js.map +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js.map +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio-group.entry.js +1 -1
- package/dist/esm/kol-input-radio-group.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-span.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-toast.entry.js.map +1 -1
- package/dist/esm/kol-tooltip.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/label-e7bacbab.js +4 -0
- package/dist/esm/{label-57c0d04e.js.map → label-e7bacbab.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{prop.validators-59bc26b2.js → prop.validators-62a61880.js} +1 -1
- package/dist/esm/{prop.validators-59bc26b2.js.map → prop.validators-62a61880.js.map} +1 -1
- package/dist/esm/reuse-2b3b6999.js +4 -0
- package/dist/esm/reuse-2b3b6999.js.map +1 -0
- package/dist/esm/tab-index-3378b139.js +4 -0
- package/dist/esm/tab-index-3378b139.js.map +1 -0
- package/dist/esm/validation-0dc15e8d.js +4 -0
- package/dist/esm/{validation-51e063b4.js.map → validation-0dc15e8d.js.map} +1 -1
- package/dist/esm/validation-5c3578c0.js +4 -0
- package/dist/esm/{validation-55aa40e0.js.map → validation-5c3578c0.js.map} +1 -1
- package/dist/kolibri/a11y.tipps-353a7f35.js +4 -0
- package/dist/kolibri/a11y.tipps-353a7f35.js.map +1 -0
- package/dist/kolibri/app-globals-ae4b65e9.js +4 -0
- package/dist/kolibri/app-globals-ae4b65e9.js.map +1 -0
- package/dist/kolibri/assets/bundes/LICENSE.md +1 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Black.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Black.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Black.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BlackItalic.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BlackItalic.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BlackItalic.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Bold.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Bold.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Bold.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BoldItalic.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BoldItalic.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-BoldItalic.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Light.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Light.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Light.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-LightItalic.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-LightItalic.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-LightItalic.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Medium.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Medium.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Medium.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-MediumItalic.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-MediumItalic.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-MediumItalic.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Regular.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Regular.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-Regular.woff2 +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-RegularItalic.ttf +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-RegularItalic.woff +0 -0
- package/dist/kolibri/assets/{bund/font → bundes/sans}/BundesSans-Web-RegularItalic.woff2 +0 -0
- package/dist/kolibri/assets/bundes/sans-cond/BundesSansCond-Web-Regular.ttf +0 -0
- package/dist/kolibri/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff +0 -0
- package/dist/kolibri/assets/bundes/sans-cond/BundesSansCond-Web-Regular.woff2 +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Bold.ttf +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Bold.woff +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Bold.woff2 +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-BoldItalic.ttf +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-BoldItalic.woff2 +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Italic.ttf +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Italic.woff +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Italic.woff2 +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Regular.ttf +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Regular.woff +0 -0
- package/dist/kolibri/assets/bundes/serif/BundesSerif-Web-Regular.woff2 +0 -0
- package/dist/kolibri/assets/bundes/style.css +84 -0
- package/dist/kolibri/assets/button-simulation.js +1 -1
- package/dist/kolibri/button-link-01028aae.js +4 -0
- package/dist/kolibri/{button-link-19f5259b.js.map → button-link-01028aae.js.map} +0 -0
- package/dist/kolibri/color-8bf509b6.js +4 -0
- package/dist/kolibri/color-8bf509b6.js.map +1 -0
- package/dist/kolibri/controller-28809de9.js +4 -0
- package/dist/kolibri/controller-28809de9.js.map +1 -0
- package/dist/kolibri/controller-8b3a25ac.js +4 -0
- package/dist/kolibri/{controller-f27d2685.js.map → controller-8b3a25ac.js.map} +0 -0
- package/dist/kolibri/{controller-542bf2a8.js → controller-b7578f6d.js} +1 -1
- package/dist/kolibri/{controller-542bf2a8.js.map → controller-b7578f6d.js.map} +0 -0
- package/dist/kolibri/{controller-546903ef.js → controller-de509dfa.js} +1 -1
- package/dist/kolibri/{controller-546903ef.js.map → controller-de509dfa.js.map} +0 -0
- package/dist/kolibri/controller-e49952b6.js +4 -0
- package/dist/kolibri/controller-e49952b6.js.map +1 -0
- package/dist/kolibri/controller-e915936c.js +4 -0
- package/dist/kolibri/{controller-51e89038.js.map → controller-e915936c.js.map} +1 -1
- package/dist/kolibri/controller-icon-07d9636a.js +4 -0
- package/dist/kolibri/controller-icon-07d9636a.js.map +1 -0
- package/dist/kolibri/dev.utils-3ec9f837.js +4 -0
- package/dist/kolibri/dev.utils-3ec9f837.js.map +1 -0
- package/dist/kolibri/devtools-38fc0936.js +4 -0
- package/dist/kolibri/{devtools-7cfb040e.js.map → devtools-38fc0936.js.map} +1 -1
- package/dist/kolibri/i18n-9b7525d8.js +4 -0
- package/dist/kolibri/i18n-9b7525d8.js.map +1 -0
- package/dist/kolibri/icon-5edb38e1.js +4 -0
- package/dist/kolibri/icon-5edb38e1.js.map +1 -0
- package/dist/kolibri/index-0fb82b03.js +4 -0
- package/dist/kolibri/index-0fb82b03.js.map +1 -0
- package/dist/kolibri/index-68b1f91c.js +4 -0
- package/dist/kolibri/index-68b1f91c.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-color.entry.js +1 -1
- package/dist/kolibri/kol-color.entry.js.map +1 -1
- package/dist/kolibri/kol-counter.entry.js +1 -1
- package/dist/kolibri/kol-counter.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-heading-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/kolibri/kol-input-adapter-leanup.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
- package/dist/kolibri/kol-input-radio-group.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast.entry.js +1 -1
- package/dist/kolibri/kol-toast.entry.js.map +1 -1
- package/dist/kolibri/kol-tooltip.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/label-e7bacbab.js +4 -0
- package/dist/kolibri/{label-57c0d04e.js.map → label-e7bacbab.js.map} +1 -1
- package/dist/kolibri/{prop.validators-59bc26b2.js → prop.validators-62a61880.js} +1 -1
- package/dist/kolibri/prop.validators-62a61880.js.map +1 -0
- package/dist/kolibri/reuse-2b3b6999.js +4 -0
- package/dist/kolibri/reuse-2b3b6999.js.map +1 -0
- package/dist/kolibri/tab-index-3378b139.js +4 -0
- package/dist/kolibri/tab-index-3378b139.js.map +1 -0
- package/dist/kolibri/{validation-51e063b4.js → validation-0dc15e8d.js} +1 -1
- package/dist/kolibri/{validation-51e063b4.js.map → validation-0dc15e8d.js.map} +0 -0
- package/dist/kolibri/validation-5c3578c0.js +4 -0
- package/dist/kolibri/{validation-55aa40e0.js.map → validation-5c3578c0.js.map} +0 -0
- package/dist/types/components/@deprecated/input/controller-icon.d.ts +11 -0
- package/dist/types/components/@deprecated/input/controller.d.ts +0 -3
- package/dist/types/components/@deprecated/input/types-icon.d.ts +10 -0
- package/dist/types/components/@deprecated/input/types.d.ts +0 -3
- package/dist/types/components/badge/contrast.d.ts +9 -6
- package/dist/types/components/input/component.d.ts +2 -2
- package/dist/types/components/input/types.d.ts +2 -2
- package/dist/types/components/input-checkbox/component.d.ts +4 -1
- package/dist/types/components/input-checkbox/controller.d.ts +4 -2
- package/dist/types/components/input-checkbox/types.d.ts +19 -2
- package/dist/types/components/input-color/component.d.ts +3 -3
- package/dist/types/components/input-color/controller.d.ts +2 -2
- package/dist/types/components/input-color/types.d.ts +4 -3
- package/dist/types/components/input-date/component.d.ts +2 -2
- package/dist/types/components/input-email/component.d.ts +3 -3
- package/dist/types/components/input-email/types.d.ts +4 -3
- package/dist/types/components/input-file/component.d.ts +3 -3
- package/dist/types/components/input-file/controller.d.ts +2 -2
- package/dist/types/components/input-file/types.d.ts +4 -3
- package/dist/types/components/input-number/component.d.ts +3 -3
- package/dist/types/components/input-number/controller.d.ts +2 -2
- package/dist/types/components/input-number/types.d.ts +3 -2
- package/dist/types/components/input-password/component.d.ts +3 -3
- package/dist/types/components/input-password/controller.d.ts +2 -2
- package/dist/types/components/input-password/types.d.ts +4 -3
- package/dist/types/components/input-range/component.d.ts +3 -3
- package/dist/types/components/input-range/controller.d.ts +2 -2
- package/dist/types/components/input-range/types.d.ts +4 -3
- package/dist/types/components/input-text/component.d.ts +4 -3
- package/dist/types/components/input-text/types.d.ts +2 -3
- package/dist/types/components/select/component.d.ts +3 -3
- package/dist/types/components/select/controller.d.ts +2 -2
- package/dist/types/components/select/types.d.ts +4 -3
- package/dist/types/components.d.ts +34 -26
- package/dist/types/global/defaults/icon.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/types/input/control/number.d.ts +2 -2
- package/dist/types/utils/reuse.d.ts +3 -0
- package/doc/badge.md +8 -8
- package/doc/icon-icofont.md +1 -1
- package/doc/icon.md +2 -0
- package/doc/input-checkbox.md +31 -24
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +13 -3
- package/dist/cjs/a11y.tipps-e1770acf.js +0 -4
- package/dist/cjs/a11y.tipps-e1770acf.js.map +0 -1
- package/dist/cjs/app-globals-6abd1282.js +0 -4
- package/dist/cjs/app-globals-6abd1282.js.map +0 -1
- package/dist/cjs/button-link-dd9e4ea0.js +0 -4
- package/dist/cjs/color-54989457.js +0 -4
- package/dist/cjs/color-54989457.js.map +0 -1
- package/dist/cjs/controller-0b54cba9.js +0 -4
- package/dist/cjs/controller-0b54cba9.js.map +0 -1
- package/dist/cjs/controller-9193c2a6.js +0 -4
- package/dist/cjs/controller-9193c2a6.js.map +0 -1
- package/dist/cjs/controller-d7735fca.js +0 -4
- package/dist/cjs/dev.utils-2353100d.js +0 -4
- package/dist/cjs/dev.utils-2353100d.js.map +0 -1
- package/dist/cjs/devtools-c449fe2c.js +0 -4
- package/dist/cjs/devtools-c449fe2c.js.map +0 -1
- package/dist/cjs/i18n-75f41194.js +0 -4
- package/dist/cjs/index-ad55bacd.js +0 -4
- package/dist/cjs/index-ad55bacd.js.map +0 -1
- package/dist/cjs/label-14182d07.js +0 -4
- package/dist/cjs/reuse-28825ead.js +0 -4
- package/dist/cjs/reuse-28825ead.js.map +0 -1
- package/dist/cjs/tab-index-5d183264.js +0 -4
- package/dist/cjs/tab-index-5d183264.js.map +0 -1
- package/dist/cjs/validation-46c24f37.js +0 -4
- package/dist/cjs/validator-953ea58f.js +0 -4
- package/dist/cjs/validator-953ea58f.js.map +0 -1
- package/dist/esm/a11y.tipps-ff5a1a99.js +0 -4
- package/dist/esm/a11y.tipps-ff5a1a99.js.map +0 -1
- package/dist/esm/app-globals-f28d14d6.js +0 -4
- package/dist/esm/app-globals-f28d14d6.js.map +0 -1
- package/dist/esm/color-d69786a5.js.map +0 -1
- package/dist/esm/controller-51e89038.js +0 -4
- package/dist/esm/controller-5c3674df.js +0 -4
- package/dist/esm/controller-5c3674df.js.map +0 -1
- package/dist/esm/controller-7fa728c2.js +0 -4
- package/dist/esm/controller-7fa728c2.js.map +0 -1
- package/dist/esm/dev.utils-daaf2f39.js +0 -4
- package/dist/esm/dev.utils-daaf2f39.js.map +0 -1
- package/dist/esm/devtools-7cfb040e.js +0 -4
- package/dist/esm/devtools-7cfb040e.js.map +0 -1
- package/dist/esm/i18n-a72949f4.js +0 -4
- package/dist/esm/index-b76497e7.js +0 -4
- package/dist/esm/index-b76497e7.js.map +0 -1
- package/dist/esm/label-57c0d04e.js +0 -4
- package/dist/esm/reuse-2f7da8fc.js +0 -4
- package/dist/esm/reuse-2f7da8fc.js.map +0 -1
- package/dist/esm/tab-index-818b2a80.js +0 -4
- package/dist/esm/tab-index-818b2a80.js.map +0 -1
- package/dist/esm/validation-51e063b4.js +0 -4
- package/dist/esm/validation-55aa40e0.js +0 -4
- package/dist/esm/validator-2e4f8df6.js +0 -4
- package/dist/esm/validator-2e4f8df6.js.map +0 -1
- package/dist/kolibri/a11y.tipps-ff5a1a99.js +0 -4
- package/dist/kolibri/a11y.tipps-ff5a1a99.js.map +0 -1
- package/dist/kolibri/app-globals-f28d14d6.js +0 -4
- package/dist/kolibri/app-globals-f28d14d6.js.map +0 -1
- package/dist/kolibri/assets/bund/bund.css +0 -41
- package/dist/kolibri/assets/bund/font/bundessansweb-bold-woff-data.woff +0 -0
- package/dist/kolibri/assets/bund/font/bundessansweb-regular-woff-data.woff +0 -0
- package/dist/kolibri/assets/bund/font/bundesserifweb-regular-woff-data.woff +0 -0
- package/dist/kolibri/assets/bund/forms.js +0 -1
- package/dist/kolibri/assets/bund/svg/itzbund.svg +0 -13
- package/dist/kolibri/button-link-19f5259b.js +0 -4
- package/dist/kolibri/color-d69786a5.js +0 -4
- package/dist/kolibri/color-d69786a5.js.map +0 -1
- package/dist/kolibri/controller-51e89038.js +0 -4
- package/dist/kolibri/controller-5c3674df.js +0 -4
- package/dist/kolibri/controller-5c3674df.js.map +0 -1
- package/dist/kolibri/controller-7fa728c2.js +0 -4
- package/dist/kolibri/controller-7fa728c2.js.map +0 -1
- package/dist/kolibri/controller-f27d2685.js +0 -4
- package/dist/kolibri/dev.utils-daaf2f39.js +0 -4
- package/dist/kolibri/dev.utils-daaf2f39.js.map +0 -1
- package/dist/kolibri/devtools-7cfb040e.js +0 -4
- package/dist/kolibri/i18n-a72949f4.js +0 -4
- package/dist/kolibri/i18n-a72949f4.js.map +0 -1
- package/dist/kolibri/index-b76497e7.js +0 -4
- package/dist/kolibri/index-b76497e7.js.map +0 -1
- package/dist/kolibri/label-57c0d04e.js +0 -4
- package/dist/kolibri/prop.validators-59bc26b2.js.map +0 -1
- package/dist/kolibri/reuse-2f7da8fc.js +0 -4
- package/dist/kolibri/reuse-2f7da8fc.js.map +0 -1
- package/dist/kolibri/tab-index-818b2a80.js +0 -4
- package/dist/kolibri/tab-index-818b2a80.js.map +0 -1
- package/dist/kolibri/validation-55aa40e0.js +0 -4
- package/dist/kolibri/validator-2e4f8df6.js +0 -4
- package/dist/kolibri/validator-2e4f8df6.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return commonjsRequire()}},o.exports),o.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var loglevel=createCommonjsModule((function(e){var t,o;t=commonjsGlobal,o=function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function r(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&o?s:void 0!==console[n]?r(console,n):void 0!==console.log?r(console,"log"):e)}function a(t,o){for(var r=0;r<n.length;r++){var s=n[r];this[s]=r<t?e:this.methodFactory(s,t,o)}this.log=this.debug}function i(e,o,n){return function(){typeof console!==t&&(a.call(this,o,n),this[e].apply(this,arguments))}}function c(e,t,o){return l(e)||i.apply(this,arguments)}function T(e,o,r){var s,l=this;o=null==o?"WARN":o;var i="loglevel";function T(){var e;if(typeof window!==t&&i){try{e=window.localStorage[i]}catch(e){}if(typeof e===t)try{var o=window.document.cookie,n=o.indexOf(encodeURIComponent(i)+"=");-1!==n&&(e=/^([^;]+)/.exec(o.slice(n))[1])}catch(e){}return void 0===l.levels[e]&&(e=void 0),e}}"string"==typeof e?i+=":"+e:"symbol"==typeof e&&(i=void 0),l.name=e,l.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},l.methodFactory=r||c,l.getLevel=function(){return s},l.setLevel=function(o,r){if("string"==typeof o&&void 0!==l.levels[o.toUpperCase()]&&(o=l.levels[o.toUpperCase()]),!("number"==typeof o&&o>=0&&o<=l.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(s=o,!1!==r&&function(e){var o=(n[e]||"silent").toUpperCase();if(typeof window!==t&&i){try{return void(window.localStorage[i]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(i)+"="+o+";"}catch(e){}}}(o),a.call(l,o,e),typeof console===t&&o<l.levels.SILENT)return"No console available for logging"},l.setDefaultLevel=function(e){o=e,T()||l.setLevel(e,!1)},l.resetLevel=function(){l.setLevel(o,!1),function(){if(typeof window!==t&&i){try{return void window.localStorage.removeItem(i)}catch(e){}try{window.document.cookie=encodeURIComponent(i)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},l.enableAll=function(e){l.setLevel(l.levels.TRACE,e)},l.disableAll=function(e){l.setLevel(l.levels.SILENT,e)};var h=T();null==h&&(h=o),l.setLevel(h,!1)}var h=new T,y={};h.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=y[e];return t||(t=y[e]=new T(e,h.getLevel(),h.methodFactory)),t};var m=typeof window!==t?window.log:void 0;return h.noConflict=function(){return typeof window!==t&&window.log===h&&(window.log=m),h},h.getLoggers=function(){return y},h.default=h,h},e.exports?e.exports=o():t.log=o()}));const createTranslation=(e,t)=>o=>o(e,t),createTheme=(e,t)=>o=>o(e,t),STORE="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};let lockThemePatching=!0,warrentyWarning=!1;const THEME_NAME_PATTERN=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,isThemeNameValid=e=>"string"==typeof e&&THEME_NAME_PATTERN.test(e),validateThemeName=e=>{if(!1===isThemeNameValid(e))throw new Error(`[Theming] The theme identifier "${"string"==typeof e?e:""}" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},patchThemeTag=(e,t,o)=>{validateThemeName(e),!0===lockThemePatching&&!1===warrentyWarning&&(warrentyWarning=!0,loglevel.warn(`[Theming] The theme process is locked. This means that the theme "${e}" should not be patched.\n\nimport { register } from '@a11y-ui/core';\nimport { defineCustomElements } from '...';\nimport { THEME } from '...';\n\nregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\tconst htmlDivElement: HTMLElement | null = document.querySelector<HTMLElement>('#my-app');\n if (htmlDivElement instanceof HTMLElement) {\n const root = createRoot(htmlDivElement);\n root.render(<App />);\n }\n })\n .catch(console.warn);`)),"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi||(STORE.A11yUi={}),"object"!=typeof STORE.A11yUi||null===STORE.A11yUi||"object"==typeof STORE.A11yUi.Themes&&null!==STORE.A11yUi.Themes||(STORE.A11yUi.Themes={}),"object"!=typeof STORE.A11yUi||null===STORE.A11yUi||"object"!=typeof STORE.A11yUi.Themes||null===STORE.A11yUi.Themes||"object"==typeof STORE.A11yUi.Themes[e]&&null!==STORE.A11yUi.Themes[e]||(STORE.A11yUi.Themes[e]={}),"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Themes&&null!==STORE.A11yUi.Themes&&"object"==typeof STORE.A11yUi.Themes[e]&&null!==STORE.A11yUi.Themes[e]&&(STORE.A11yUi.Themes[e][t]=o)},patchTheme=(e,t)=>{if(validateThemeName(e),"object"==typeof t&&null!==t){Object.getOwnPropertyNames(t).forEach((o=>{const n=t[o];"string"==typeof n&&n.length>0&&patchThemeTag(e,o,n)}))}return e},getThemeNode=e=>{if(e instanceof HTMLElement){if("string"==typeof e.dataset.theme)return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return getThemeNode(t)}}return null},getEncroachCss=(e={})=>"false"!==e.themeEncroachCss&&"true"!==e.themeReset&&{mode:"after"===e.themeEncroachCssMode||"before"===e.themeEncroachCssMode?e.themeEncroachCssMode:"before"},isTheCurrentThemeConfigValid=()=>"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Theme&&null!==STORE.A11yUi.Theme&&"boolean"==typeof STORE.A11yUi.Theme.cache&&"object"==typeof STORE.A11yUi.Theme.encroachCss&&null!==typeof STORE.A11yUi.Theme.encroachCss&&"string"==typeof STORE.A11yUi.Theme.encroachCss.mode&&"string"==typeof STORE.A11yUi.Theme.name,isTheCurrentThemeNotDefault=()=>"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Theme&&null!==STORE.A11yUi.Theme&&"default"!==STORE.A11yUi.Theme.name,getThemeDetails=e=>{if(isTheCurrentThemeConfigValid())return STORE.A11yUi.Theme;{const t={cache:!0,encroachCss:getEncroachCss(),loglevel:"silent",name:null},o=getThemeNode(e);return o instanceof HTMLElement&&(t.cache="false"!==o.dataset.themeCache,t.encroachCss=getEncroachCss(o.dataset),t.loglevel="debug"===o.dataset.themeLoglevel?o.dataset.themeLoglevel:"silent",t.name=o.dataset.theme||null),t}},getThemeOptionDefaults=(e,t)=>({cache:!1!==t.cache,detect:"auto"===t.detect?"auto":"fixed",encroachCss:!1!==t.encroachCss&&("object"!=typeof t.encroachCss||null==t.encroachCss||"after"!==t.encroachCss.mode&&"before"!==t.encroachCss.mode?{mode:"before"}:t.encroachCss),loglevel:"debug"===t.loglevel?t.loglevel:"silent",name:"string"==typeof t.name?t.name:e}),setConfigureTheme=(e,t)=>{!1===isTheCurrentThemeConfigValid()&&"default"!==e&&"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Theme&&null!==STORE.A11yUi.Theme&&"default"!==STORE.A11yUi.Theme.name&&"object"==typeof t&&null!==t&&("fixed"===(t=getThemeOptionDefaults(e,t)).detect?(null===t.name&&"string"==typeof e&&(t.name=e),e===t.name&&("object"==typeof STORE.A11yUi&&null!==STORE.A11yUi||(STORE.A11yUi={}),STORE.A11yUi.Theme=t,loglevel.info(`[Theming] Theme "${e}" was set as default theme.`))):loglevel.warn("[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode."))};let registered=!1;const register=(e,t,o={})=>{!1===registered&&(registered=!0,lockThemePatching=!1),"function"==typeof e?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach((e=>{"function"==typeof e&&1===e.length?setConfigureTheme(e(patchTheme),{cache:o.theme?.cache,detect:o.theme?.detect,encroachCss:o.theme?.encroachCss,name:o.theme?.name}):loglevel.error("[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.")})),lockThemePatching=!0,"function"==typeof t?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const n=[];return t.forEach((e=>n.push(e()))),Promise.all(n)},STYLING_TASK_QUEUE=new Map,HYDRATED_HISTORY=[],CSS_PROPERTIES_REGISTERED=new Set,CSS_STYLE_CACHE=new Map,REGEX_CSS_PROPERTIES=/--[^;]+/g,REGEX_SPLIT_CSS_PROPERTY=/:/;"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi||(STORE.A11yUi={CSS_STYLE_CACHE:CSS_STYLE_CACHE,HYDRATED_HISTORY:HYDRATED_HISTORY,STYLING_TASK_QUEUE:STYLING_TASK_QUEUE});const extractProperties=(e,t)=>{let o=t.match(REGEX_CSS_PROPERTIES);if(Array.isArray(o)){o=o.filter((e=>REGEX_SPLIT_CSS_PROPERTY.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t)}CSS_PROPERTIES_REGISTERED.add(e)},getCssStyle=(e,t)=>"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Themes&&null!==STORE.A11yUi.Themes&&"object"==typeof STORE.A11yUi.Themes[e]&&null!==STORE.A11yUi.Themes[e]&&"string"==typeof STORE.A11yUi.Themes[e][t]?STORE.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",removeStyle=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t)}},patchStyle=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t)})),e.adoptedStyleSheets=o}catch(o){t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild)}))}},setThemeStyleAfterHydrated=(e,t,o)=>{const n=t.cache,r=t.encroachCss,s=t.name||"default",l=e.shadowRoot;let a;if(CSS_STYLE_CACHE.get(s)?.has(e.tagName))a=CSS_STYLE_CACHE.get(s)?.get(e.tagName),switchStyle(e,l,a,o);else{const i=getCssStyle(s,"PROPERTIES"),c=getCssStyle(s,"GLOBAL"),T=getCssStyle(s,e.tagName);if(!1===CSS_PROPERTIES_REGISTERED.has(s)&&extractProperties(s,c),a=[i,c,T],!1!==r){const e=[...Array.from(l.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))],t=[...Array.from(l.adoptedStyleSheets)];"before"===r?.mode?(e.reverse().forEach((e=>a.unshift(e.innerHTML))),t.reverse().forEach((e=>a.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===r?.mode&&(e.forEach((e=>a.push(e.innerHTML))),t.forEach((e=>a.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))))}"debug"===t.loglevel&&console.log(e.tagName,a),!0===n&&(!1===CSS_STYLE_CACHE.has(s)&&CSS_STYLE_CACHE.set(s,new Map),CSS_STYLE_CACHE.get(s)?.set(e.tagName,a)),switchStyle(e,l,a,o)}},switchStyle=(e,t,o,n)=>{removeStyle(t),patchStyle(t,o),e.style.display=n},logHydratedHistory=e=>{"debug"===e.loglevel&&HYDRATED_HISTORY.push({timestamp:Date.now(),numberOfTasks:STYLING_TASK_QUEUE.size})},pushToDoTask=(e,t)=>{STYLING_TASK_QUEUE.set(e,{styleDisplay:`${e.style.display}`,themeDetails:t})},loggedPushToDoTask=(e,t)=>{pushToDoTask(e,t),logHydratedHistory(t)},deleteDoneTask=e=>{STYLING_TASK_QUEUE.delete(e)},loggedDeleteDoneTask=(e,t)=>{deleteDoneTask(e),logHydratedHistory(t)},waitForHydrated=e=>{const t=setTimeout((()=>{if(clearTimeout(t),STYLING_TASK_QUEUE.has(e)&&e.classList.contains("hydrated")){const{styleDisplay:t,themeDetails:o}=STYLING_TASK_QUEUE.get(e);setThemeStyleAfterHydrated(e,o,t),loggedDeleteDoneTask(e,o)}else waitForHydrated(e)}),25)},observerCallback=e=>{for(const t of e)if(STYLING_TASK_QUEUE.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=STYLING_TASK_QUEUE.get(t.target);setThemeStyleAfterHydrated(t.target,o,e),loggedDeleteDoneTask(t.target,o)}},observerOptions={attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1};let observer;try{new MutationObserver(observerCallback)}catch(e){observer=null}const setThemeStyle=(e,t)=>{loggedPushToDoTask(e,t),observer?observer.observe(e,observerOptions):waitForHydrated(e),e.style.display="none"};class Theme{constructor(e,t,o){this.createTheme=(e,t)=>createTheme(e,t),this.createTranslation=(e,t)=>createTranslation(e,t),this.Prefix=e,this.Key=Object.getOwnPropertyNames(t),this.Tag=Object.getOwnPropertyNames(o)}}export{STORE as S,Theme as T,patchThemeTag as a,getThemeDetails as g,patchTheme as p,register as r,setThemeStyle as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"index-68b1f91c.js","mappings":"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","names":["this","log"],"sources":["./node_modules/loglevel/lib/loglevel.js","./node_modules/@a11y-ui/core/dist/index.mjs"],"sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nconst createTranslation = (name, map) => {\n return (patch) => patch(name, map);\n};\n\nconst createTheme = (name, map) => {\n return (patch) => patch(name, map);\n};\n\nconst STORE = typeof window === \"object\" ? window : typeof global === \"object\" ? global : typeof self === \"object\" ? self : {};\n\nlet lockThemePatching = true;\nlet warrentyWarning = false;\nconst THEME_NAME_PATTERN = /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/;\nconst isThemeNameValid = (name) => {\n return typeof name === \"string\" && THEME_NAME_PATTERN.test(name);\n};\nconst validateThemeName = (name) => {\n if (isThemeNameValid(name) === false) {\n throw new Error(\n `[Theming] The theme identifier \"${typeof name === \"string\" ? name : \"\"}\" (Type: ${typeof name}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`\n );\n }\n};\nconst patchThemeTag = (themeName, tagName, css) => {\n validateThemeName(themeName);\n if (lockThemePatching === true && warrentyWarning === false) {\n warrentyWarning = true;\n log.warn(\n `[Theming] The theme process is locked. This means that the theme \"${themeName}\" should not be patched.\n\nimport { register } from '@a11y-ui/core';\nimport { defineCustomElements } from '...';\nimport { THEME } from '...';\n\nregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\tconst htmlDivElement: HTMLElement | null = document.querySelector<HTMLElement>('#my-app');\n if (htmlDivElement instanceof HTMLElement) {\n const root = createRoot(htmlDivElement);\n root.render(<App />);\n }\n })\n .catch(console.warn);`\n );\n }\n if (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && (typeof STORE.A11yUi.Themes !== \"object\" || STORE.A11yUi.Themes === null)) {\n STORE.A11yUi.Themes = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && (typeof STORE.A11yUi.Themes[themeName] !== \"object\" || STORE.A11yUi.Themes[themeName] === null)) {\n STORE.A11yUi.Themes[themeName] = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && typeof STORE.A11yUi.Themes[themeName] === \"object\" && STORE.A11yUi.Themes[themeName] !== null) {\n STORE.A11yUi.Themes[themeName][tagName] = css;\n }\n};\nconst patchTheme = (name, map) => {\n validateThemeName(name);\n if (typeof map === \"object\" && map !== null) {\n const tagNames = Object.getOwnPropertyNames(map);\n tagNames.forEach((tagName) => {\n const cssStyle = map[tagName];\n if (typeof cssStyle === \"string\" && cssStyle.length > 0) {\n patchThemeTag(name, tagName, cssStyle);\n }\n });\n }\n return name;\n};\nconst getThemeNode = (element) => {\n if (element instanceof HTMLElement) {\n if (typeof element.dataset.theme === \"string\") {\n return element;\n } else {\n let parentNode = element.parentNode;\n while (parentNode instanceof ShadowRoot) {\n parentNode = parentNode.host;\n }\n return getThemeNode(parentNode);\n }\n } else {\n return null;\n }\n};\nconst getEncroachCss = (dataset = {}) => {\n if (dataset.themeEncroachCss === \"false\" || dataset.themeReset === \"true\") {\n return false;\n } else {\n return {\n mode: dataset.themeEncroachCssMode === \"after\" || dataset.themeEncroachCssMode === \"before\" ? dataset.themeEncroachCssMode : \"before\"\n };\n }\n};\nconst isTheCurrentThemeConfigValid = () => typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Theme === \"object\" && STORE.A11yUi.Theme !== null && typeof STORE.A11yUi.Theme.cache === \"boolean\" && typeof STORE.A11yUi.Theme.encroachCss === \"object\" && typeof STORE.A11yUi.Theme.encroachCss !== null && typeof STORE.A11yUi.Theme.encroachCss.mode === \"string\" && typeof STORE.A11yUi.Theme.name === \"string\";\nconst isTheCurrentThemeNotDefault = () => typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Theme === \"object\" && STORE.A11yUi.Theme !== null && STORE.A11yUi.Theme.name !== \"default\";\nconst getThemeDetails = (element) => {\n if (isTheCurrentThemeConfigValid()) {\n return STORE.A11yUi.Theme;\n } else {\n const details = {\n cache: true,\n encroachCss: getEncroachCss(),\n loglevel: \"silent\",\n name: null\n };\n const themeNode = getThemeNode(element);\n if (themeNode instanceof HTMLElement) {\n details.cache = themeNode.dataset.themeCache !== \"false\";\n details.encroachCss = getEncroachCss(themeNode.dataset);\n details.loglevel = themeNode.dataset.themeLoglevel === \"debug\" ? themeNode.dataset.themeLoglevel : \"silent\";\n details.name = themeNode.dataset.theme || null;\n }\n return details;\n }\n};\nconst getTheme = (element) => {\n return getThemeDetails(element).name;\n};\nconst getThemeOptionDefaults = (themeName, options) => {\n return {\n cache: options.cache !== false,\n // default: true\n detect: options.detect === \"auto\" ? \"auto\" : \"fixed\",\n // default: 'fixed'\n encroachCss: options.encroachCss === false ? false : typeof options.encroachCss === \"object\" && options.encroachCss != null && (options.encroachCss.mode === \"after\" || options.encroachCss.mode === \"before\") ? options.encroachCss : {\n mode: \"before\"\n // default: 'before'\n },\n loglevel: options.loglevel === \"debug\" ? options.loglevel : \"silent\",\n // default: 'silent'\n name: typeof options.name === \"string\" ? options.name : themeName\n // default: themeName\n };\n};\nconst setConfigureTheme = (themeName, options) => {\n if (isTheCurrentThemeConfigValid() === false && themeName !== \"default\" && isTheCurrentThemeNotDefault()) {\n if (\n // Die Options müssen ein Objekt sein.\n typeof options === \"object\" && options !== null\n ) {\n options = getThemeOptionDefaults(themeName, options);\n if (\n /**\n * The presetting of theme options is only relevant by using 'fixed'\n * detection mode.\n */\n options.detect === \"fixed\"\n ) {\n if (options.name === null && typeof themeName === \"string\") {\n options.name = themeName;\n }\n if (\n /**\n * Wenn mehrere Themes geladen werden, dann wird nur der Theme-Name gesetzt,\n * der mit dem Name eines Themes übereinstimmt.\n */\n themeName === options.name\n ) {\n if (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {};\n }\n STORE.A11yUi.Theme = options;\n log.info(`[Theming] Theme \"${themeName}\" was set as default theme.`);\n }\n } else {\n log.warn(`[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode.`);\n }\n }\n }\n};\nlet registered = false;\nconst register = (themes, loaders, options = {}) => {\n if (registered === false) {\n registered = true;\n lockThemePatching = false;\n }\n if (typeof themes === \"function\") {\n themes = /* @__PURE__ */ new Set([themes]);\n } else if (Array.isArray(themes)) {\n themes = new Set(themes);\n }\n if (themes instanceof Set) {\n themes.forEach((theme) => {\n if (typeof theme === \"function\" && theme.length === 1) {\n setConfigureTheme(theme(patchTheme), {\n cache: options.theme?.cache,\n detect: options.theme?.detect,\n encroachCss: options.theme?.encroachCss,\n name: options.theme?.name\n });\n } else {\n log.error(`[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.`);\n }\n });\n }\n lockThemePatching = true;\n if (typeof loaders === \"function\") {\n loaders = /* @__PURE__ */ new Set([loaders]);\n } else if (Array.isArray(loaders)) {\n loaders = new Set(loaders);\n }\n const promises = [];\n loaders.forEach((loader) => promises.push(loader()));\n return Promise.all(promises);\n};\n\nconst _RobustStore = class {\n constructor(object, identifier) {\n this.store = this.createStore(object, identifier);\n }\n static getInstance(identifier, object) {\n let instance = _RobustStore.instances.get(identifier);\n if (instance === void 0) {\n instance = new _RobustStore(object, identifier);\n _RobustStore.instances.set(identifier, instance);\n }\n return instance;\n }\n createStore(object, identifier) {\n Object.defineProperty(object, identifier, {\n enumerable: false,\n value: {},\n writable: false\n });\n return object[identifier];\n }\n recursiveSetItem(store, key, value, options = _RobustStore.options) {\n let storeValue = typeof value === \"object\" && value !== null ? {} : value;\n Object.defineProperty(store, key, {\n enumerable: options.enumerable === true,\n get: () => storeValue,\n /**\n * Die set Methode muss eigentlich ein this.recursiveSetItem aufrufen.\n */\n set: options.immutable === true ? void 0 : (value2) => storeValue = value2\n });\n if (typeof value === \"object\" && value !== null) {\n for (const [k, v] of Object.entries(value)) {\n this.recursiveSetItem(store[key], k, v, options);\n }\n }\n }\n setItem(key, value, options = _RobustStore.options) {\n this.recursiveSetItem(this.store, key, value, options);\n return this;\n }\n getItem(key) {\n if (Array.isArray(key)) {\n return key.map((k) => this.getItem(k));\n }\n return this.store[key];\n }\n};\nlet RobustStore = _RobustStore;\nRobustStore.options = {\n enumerable: false,\n immutable: false\n};\nRobustStore.instances = /* @__PURE__ */ new Map();\n\nconst STYLING_TASK_QUEUE = /* @__PURE__ */ new Map();\nconst HYDRATED_HISTORY = [];\nconst CSS_PROPERTIES_REGISTERED = /* @__PURE__ */ new Set();\nconst CSS_STYLE_CACHE = /* @__PURE__ */ new Map();\nconst REGEX_CSS_PROPERTIES = /--[^;]+/g;\nconst REGEX_SPLIT_CSS_PROPERTY = /:/;\nif (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {\n CSS_STYLE_CACHE,\n HYDRATED_HISTORY,\n STYLING_TASK_QUEUE\n };\n}\nconst extractProperties = (themeName, css) => {\n let properties = css.match(REGEX_CSS_PROPERTIES);\n if (Array.isArray(properties)) {\n properties = properties.filter((property) => REGEX_SPLIT_CSS_PROPERTY.test(property));\n const style = document.createElement(\"style\");\n style.innerHTML = `.${themeName} {${properties.join(\";\")}}`;\n document.querySelector(\"head\")?.appendChild(style);\n }\n CSS_PROPERTIES_REGISTERED.add(themeName);\n};\nconst getCssStyle = (themeName, tagName) => {\n if (\n /**\n * Search custom StyleSheet in Config\n * TODO: Performance???\n */\n typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && typeof STORE.A11yUi.Themes[themeName] === \"object\" && STORE.A11yUi.Themes[themeName] !== null && typeof STORE.A11yUi.Themes[themeName][tagName] === \"string\"\n ) {\n return STORE.A11yUi.Themes[themeName][tagName].replace(\n /\\r?\\n/g,\n \"\"\n );\n } else {\n return \"\";\n }\n};\nconst removeStyle = (shadow) => {\n for (const childNode of Array.from(shadow.childNodes)) {\n if (childNode instanceof HTMLStyleElement && childNode.tagName === \"STYLE\") {\n shadow.removeChild(childNode);\n } else {\n break;\n }\n }\n};\nconst patchStyle = (shadow, styles) => {\n try {\n const styleSheets = [];\n styles.forEach((style) => {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(style);\n styleSheets.push(styleSheet);\n });\n shadow.adoptedStyleSheets = styleSheets;\n } catch (e) {\n styles.reverse().forEach((style) => {\n const styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n shadow.insertBefore(styleElement, shadow.firstChild);\n });\n }\n};\nconst setThemeStyleAfterHydrated = (elm, themeDetails, styleDisplay) => {\n const themeCache = themeDetails.cache;\n const themeEncroachCss = themeDetails.encroachCss;\n const themeName = themeDetails.name || \"default\";\n const shadow = elm.shadowRoot;\n let STYLES;\n if (CSS_STYLE_CACHE.get(themeName)?.has(elm.tagName)) {\n STYLES = CSS_STYLE_CACHE.get(themeName)?.get(elm.tagName);\n switchStyle(elm, shadow, STYLES, styleDisplay);\n } else {\n const PROPERTY_STYLE = getCssStyle(themeName, \"PROPERTIES\");\n const GLOBAL_STYLE = getCssStyle(themeName, \"GLOBAL\");\n const TAG_STYLE = getCssStyle(themeName, elm.tagName);\n if (CSS_PROPERTIES_REGISTERED.has(themeName) === false) {\n extractProperties(themeName, GLOBAL_STYLE);\n }\n STYLES = [PROPERTY_STYLE, GLOBAL_STYLE, TAG_STYLE];\n if (themeEncroachCss !== false) {\n const defaultStyleNodes = [\n ...Array.from(shadow.childNodes).filter((node) => node instanceof HTMLStyleElement && node.tagName === \"STYLE\")\n ];\n const defaultStyleSheets = [...Array.from(shadow.adoptedStyleSheets)];\n if (themeEncroachCss?.mode === \"before\") {\n defaultStyleNodes.reverse().forEach((style) => STYLES.unshift(style.innerHTML));\n defaultStyleSheets.reverse().forEach(\n (style) => STYLES.unshift(\n Array.from(style.cssRules).map((rule) => rule.cssText).join(\"\")\n )\n );\n } else if (themeEncroachCss?.mode === \"after\") {\n defaultStyleNodes.forEach((style) => STYLES.push(style.innerHTML));\n defaultStyleSheets.forEach(\n (style) => STYLES.push(\n Array.from(style.cssRules).map((rule) => rule.cssText).join(\"\")\n )\n );\n }\n }\n if (themeDetails.loglevel === \"debug\") {\n console.log(elm.tagName, STYLES);\n }\n if (themeCache === true) {\n if (CSS_STYLE_CACHE.has(themeName) === false) {\n CSS_STYLE_CACHE.set(themeName, /* @__PURE__ */ new Map());\n }\n CSS_STYLE_CACHE.get(themeName)?.set(elm.tagName, STYLES);\n }\n switchStyle(elm, shadow, STYLES, styleDisplay);\n }\n};\nconst switchStyle = (elm, shadow, styles, styleDisplay) => {\n removeStyle(shadow);\n patchStyle(shadow, styles);\n elm.style.display = styleDisplay;\n};\nconst logHydratedHistory = (themeDetails) => {\n if (themeDetails.loglevel === \"debug\") {\n HYDRATED_HISTORY.push({\n timestamp: Date.now(),\n numberOfTasks: STYLING_TASK_QUEUE.size\n });\n }\n};\nconst pushToDoTask = (elm, themeDetails) => {\n STYLING_TASK_QUEUE.set(elm, {\n /**\n * Das Element soll solange nicht sichtbar bleiben\n * bis der Style im DOM gesetzt ist.\n */\n styleDisplay: `${elm.style.display}`,\n themeDetails\n });\n};\nconst loggedPushToDoTask = (elm, themeDetails) => {\n pushToDoTask(elm, themeDetails);\n logHydratedHistory(themeDetails);\n};\nconst deleteDoneTask = (elm) => {\n STYLING_TASK_QUEUE.delete(elm);\n};\nconst loggedDeleteDoneTask = (elm, themeDetails) => {\n deleteDoneTask(elm);\n logHydratedHistory(themeDetails);\n};\nconst waitForHydrated = (elm) => {\n const T = setTimeout(() => {\n clearTimeout(T);\n if (STYLING_TASK_QUEUE.has(elm) && elm.classList.contains(\"hydrated\")) {\n const { styleDisplay, themeDetails } = STYLING_TASK_QUEUE.get(elm);\n setThemeStyleAfterHydrated(elm, themeDetails, styleDisplay);\n loggedDeleteDoneTask(elm, themeDetails);\n } else {\n waitForHydrated(elm);\n }\n }, 25);\n};\nconst observerCallback = (mutationsList) => {\n for (const mutation of mutationsList) {\n if (\n /**\n * Save by observer config\n */\n // mutation.type === 'attributes' &&\n // mutation.attributeName === 'class' &&\n /**\n * Implizit check for HTMLElement\n */\n // mutation.target &&\n STYLING_TASK_QUEUE.has(mutation.target) && mutation.target.classList.contains(\"hydrated\")\n ) {\n const { styleDisplay, themeDetails } = STYLING_TASK_QUEUE.get(mutation.target);\n setThemeStyleAfterHydrated(mutation.target, themeDetails, styleDisplay);\n loggedDeleteDoneTask(mutation.target, themeDetails);\n }\n }\n};\nconst observerOptions = {\n attributes: true,\n attributeFilter: [\"class\"],\n childList: false,\n subtree: false\n};\nlet observer;\ntry {\n new MutationObserver(observerCallback);\n} catch (e) {\n observer = null;\n}\nconst setThemeStyle = (elm, themeDetails) => {\n loggedPushToDoTask(elm, themeDetails);\n if (observer) {\n observer.observe(elm, observerOptions);\n } else {\n waitForHydrated(elm);\n }\n elm.style.display = \"none\";\n};\n\nclass Theme {\n constructor(prefix, keyEnum, tagEnum) {\n this.createTheme = (name, map) => createTheme(name, map);\n this.createTranslation = (name, map) => createTranslation(name, map);\n this.Prefix = prefix;\n this.Key = Object.getOwnPropertyNames(keyEnum);\n this.Tag = Object.getOwnPropertyNames(tagEnum);\n }\n}\n\nexport { RobustStore, STORE, Theme, getTheme, getThemeDetails, patchTheme, patchThemeTag, register, setThemeStyle };\n"],"version":3}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-7a6ffb62.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-
|
|
4
|
+
export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-7a6ffb62.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-3ec9f837.js";export{K as KoliBriDevHelper}from"./prop.validators-62a61880.js";export{t as translations}from"./i18n-9b7525d8.js";export{r as register}from"./index-0fb82b03.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-353a7f35.js";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":"
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{w as watchTooltipAlignment}from"./button-link-
|
|
4
|
+
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{w as watchTooltipAlignment}from"./button-link-01028aae.js";import{n as nonce}from"./dev.utils-3ec9f837.js";import{w as watchString}from"./prop.validators-62a61880.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-353a7f35.js";const defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}:host abbr{cursor:help}",KolAbbr=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"",_tooltipAlign:"top"}}render(){return h(Host,null,h("abbr",{"aria-labelledby":this.nonce,role:"definition",title:this.state._title},h("span",{title:""},h("slot",null))),h("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(t){watchString(this,"_title",t,{required:!0})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};KolAbbr.style={default:defaultStyleCss};export{KolAbbr as kol_abbr};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kol-abbr.entry.js","mappings":"
|
|
1
|
+
{"file":"kol-abbr.entry.js","mappings":";;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,+hBAA+hB;;MC8B1iB,OAAO;;;IACF,UAAK,GAAG,KAAK,EAAE,CAAC;yBAkBU,KAAK;;iBAgBhB;MAC/B,MAAM,EAAE,EAAE;MACV,aAAa,EAAE,KAAK;KACpB;;EAnCM,MAAM;IACZ,QACC,EAAC,IAAI,QACJ,+BAAuB,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAC5E,YAAM,KAAK,EAAC,EAAE,IACb,eAAQ,CACF,CACD,EACP,mBAAa,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAgB,CACnG,EACN;GACF;EAmCM,aAAa,CAAC,KAAc;IAClC,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;MAClC,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;GACH;EAMM,oBAAoB,CAAC,KAAiB;IAC5C,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;GACpD;EAKM,iBAAiB;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;GAC9C;;;;;;;;;;;;","names":[],"sources":["./src/components/abbr/style.sass?tag=kol-abbr&mode=default&encapsulation=shadow","./src/components/abbr/component.tsx"],"sourcesContent":["@import ../style\n\n:host\n\n\tabbr\n\t\tcursor: help\n","import { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { watchTooltipAlignment } from '../../types/button-link';\nimport { Alignment } from '../../types/props/alignment';\nimport { nonce } from '../../utils/dev.utils';\nimport { watchString } from '../../utils/prop.validators';\n\n/**\n * API\n */\ntype RequiredProps = {\n\ttitle: string;\n};\ntype OptionalProps = {\n\ttooltipAlign: Alignment;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps & OptionalProps;\ntype OptionalStates = unknown;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-abbr',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolAbbr implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<abbr aria-labelledby={this.nonce} role=\"definition\" title={this.state._title}>\n\t\t\t\t\t<span title=\"\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t</abbr>\n\t\t\t\t<kol-tooltip _align={this.state._tooltipAlign} _id={this.nonce} _label={this.state._title}></kol-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Dieses Property gibt die Beschreibung oder Erläuterung der Abkürzung an.\n\t */\n\t@Prop() public _title!: string;\n\n\t/**\n\t * Die State-Parameter repräsentieren den inneren State\n\t * einer Komponente.\n\t *\n\t * @see: https://stenciljs.com/docs/state\n\t */\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_title: '',\n\t\t_tooltipAlign: 'top',\n\t};\n\n\t/**\n\t * Die Watch-Methoden dienen der Möglichkeit zur\n\t * Validierung der Werte eines Properties und\n\t * dem Mapping dessen auf einen anderen internen\n\t * State-Typ.\n\t *\n\t * @see: https://stenciljs.com/docs/properties#prop-validation\n\t */\n\t@Watch('_title')\n\tpublic validateTitle(value?: string): void {\n\t\twatchString(this, '_title', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateTitle(this._title);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{f as featureHint}from"./a11y.tipps-
|
|
4
|
+
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{f as featureHint}from"./a11y.tipps-353a7f35.js";import{w as watchString,s as setState,b as watchBoolean}from"./prop.validators-62a61880.js";import{w as watchHeadingLevel}from"./validation-0dc15e8d.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index.m-86dc8c44.js";const defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}";featureHint("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),featureHint("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const KolAccordion=class{constructor(e){registerInstance(this,e),this.catchAriaExpanded=e=>{e instanceof HTMLButtonElement&&(this.buttonRef=e,this.triggerAriaExpanded(e))},this.triggerAriaExpanded=e=>{e.setAttribute("aria-expanded",this.state._open?"true":"false")},this.onClick=e=>{this._open=!1===this._open;const t=setTimeout((()=>{var i;clearTimeout(t),"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onClick)&&this.state._on.onClick(e,!0===this._open),this.buttonRef instanceof HTMLButtonElement&&this.triggerAriaExpanded(this.buttonRef)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"⚠",_level:1}}render(){return h(Host,null,h("div",{part:"accordion "+(this.state._open?"open":"close")},h("kol-heading-wc",{_level:this.state._level},h("button",{ref:this.catchAriaExpanded,onClick:this.onClick},h("kol-icon",{_ariaLabel:"",_icon:this.state._open?"fa-solid fa-minus":"fa-solid fa-plus",_part:this.state._open?"close":"open"}),h("span",null,this.state._heading))),h("div",{part:"header"},h("slot",{name:"header"})),h("div",{part:"content",style:!1===this.state._open?{display:"none",height:"0",visibility:"hidden"}:void 0},h("slot",{name:"content"}))))}validateHeading(e){watchString(this,"_heading",e,{required:!0})}validateLevel(e){watchHeadingLevel(this,e)}validateOn(e){"object"==typeof e&&null!==e&&"function"==typeof e.onClick&&setState(this,"_on",e)}validateOpen(e){watchBoolean(this,"_open",e)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};KolAccordion.style={default:defaultStyleCss};export{KolAccordion as kol_accordion};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kol-accordion.entry.js","mappings":"
|
|
1
|
+
{"file":"kol-accordion.entry.js","mappings":"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","names":[],"sources":["./src/components/style.sass?tag=kol-accordion&mode=default&encapsulation=shadow","./src/components/accordion/component.tsx"],"sourcesContent":["*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: bold\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton,\ninput,\nselect,\ntextarea\n\tcursor: pointer\n\na,\nbutton\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tbackground-color: transparent\n\tborder-width: 0\n","// https://codepen.io/mbxtr/pen/OJPOYg?html-preprocessor=haml\n\nimport { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Events } from '../../enums/events';\n\nimport { EventValueCallback } from '../../types/callbacks';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { setState, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\n\nfeatureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend`);\nfeatureHint(`[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.`);\n\nexport type KoliBriAccordionCallbacks = {\n\t[Events.onClick]?: EventValueCallback<Event, boolean>;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\theading: string;\n};\ntype OptionalProps = {\n\tlevel: HeadingLevel;\n\topen: boolean;\n\ton: KoliBriAccordionCallbacks;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part accordion - Ermöglicht das Stylen des äußeren Container des Accordions.\n * @part open - Ermöglicht das Stylen des geöffneten Zustands und Icons.\n * @part close - Ermöglicht das Stylen des geschlossenen Zustands und Icons.\n * @part icon - Ermöglicht das Stylen der Icons.\n * @part header - Ermöglicht das Stylen des Kopfbereichs.\n * @part content - Ermöglicht das Stylen des Inhaltsbereichs.\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich des Accordions.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich des Accordions.\n */\n@Component({\n\ttag: 'kol-accordion',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolAccordion implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate buttonRef?: HTMLButtonElement;\n\t// private content?: HTMLDivElement;\n\n\tprivate catchAriaExpanded = (button?: HTMLButtonElement) => {\n\t\tif (button instanceof HTMLButtonElement) {\n\t\t\tthis.buttonRef = button;\n\t\t\tthis.triggerAriaExpanded(button);\n\t\t}\n\t};\n\tprivate triggerAriaExpanded = (button: HTMLButtonElement) => {\n\t\tbutton.setAttribute('aria-expanded', this.state._open ? 'true' : 'false');\n\t};\n\n\tpublic render(): JSX.Element {\n\t\t// const height = this.content?.getBoundingClientRect().height ?? 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div part={`accordion ${this.state._open ? 'open' : 'close'}`}>\n\t\t\t\t\t<kol-heading-wc _level={this.state._level}>\n\t\t\t\t\t\t<button ref={this.catchAriaExpanded} onClick={this.onClick}>\n\t\t\t\t\t\t\t<kol-icon _ariaLabel=\"\" _icon={this.state._open ? 'fa-solid fa-minus' : 'fa-solid fa-plus'} _part={this.state._open ? 'close' : 'open'} />\n\t\t\t\t\t\t\t<span>{this.state._heading}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t<div part=\"header\">\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tpart=\"content\"\n\t\t\t\t\t\t// ref={(r) => (this.content = r)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.state._open === false\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// style={\n\t\t\t\t\t\t// \tthis.state._open\n\t\t\t\t\t\t// \t\t? height > 0 && processEnv !== 'test' // TODO: remove this check when testing is fixed\n\t\t\t\t\t\t// \t\t\t? {\n\t\t\t\t\t\t// \t\t\t\theight: `${height}px`,\n\t\t\t\t\t\t// \t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t// \t\t\t: undefined\n\t\t\t\t\t\t// \t\t: {\n\t\t\t\t\t\t// \t\t\theight: '0',\n\t\t\t\t\t\t// \t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t// \t\t}\n\t\t\t\t\t\t// }\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Überschrift des Accordions an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen an.\n\t */\n\t@Prop() public _on?: KoliBriAccordionCallbacks;\n\n\t/**\n\t * Gibt an, ob das Accordion geöffnet ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_heading: '⚠',\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAccordionCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null && typeof value.onClick === 'function') {\n\t\t\tsetState(this, '_on', value);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_open')\n\tpublic validateOpen(value?: boolean): void {\n\t\twatchBoolean(this, '_open', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateOpen(this._open);\n\t}\n\n\tprivate onClick = (event: Event) => {\n\t\tthis._open = this._open === false;\n\n\t\t/**\n\t\t * Der Timeout wird benötigt, damit das Event\n\t\t * vom Button- auf das Accordion-Event wechselt.\n\t\t * So ist es dem Anwendenden möglich das _open-\n\t\t * Attribute abzufragen.\n\t\t */\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\t\tthis.state._on.onClick(event, this._open === true);\n\t\t\t}\n\t\t\tif (this.buttonRef instanceof HTMLButtonElement) {\n\t\t\t\tthis.triggerAriaExpanded(this.buttonRef);\n\t\t\t}\n\t\t});\n\t};\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{f as featureHint}from"./a11y.tipps-
|
|
4
|
+
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{f as featureHint}from"./a11y.tipps-353a7f35.js";import{L as Log}from"./dev.utils-3ec9f837.js";import{b as watchBoolean,w as watchString,s as setState,a as watchValidator}from"./prop.validators-62a61880.js";import{w as watchHeadingLevel}from"./validation-0dc15e8d.js";import{a as translate}from"./i18n-9b7525d8.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index.m-86dc8c44.js";import"./index-0fb82b03.js";const defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",Icon=t=>h("kol-icon",{class:"icon",_ariaLabel:"string"==typeof t.heading&&t.heading.length>0?"":t.ariaLabel,_icon:t.icon}),AlertIcon=t=>{switch(t.type){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"fa-solid fa-circle-xmark",heading:t.heading});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"fa-solid fa-circle-info",heading:t.heading});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"fa-solid fa-triangle-exclamation",heading:t.heading});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"fa-solid fa-circle-check",heading:t.heading});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"fa-regular fa-comment",heading:t.heading})}},KolAlert=class{constructor(t){registerInstance(this,t),this.close=()=>{var t;void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){if(this.state._alert){try{Log.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(t){Log.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return h(Host,null,h("div",{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},"msg"===this.state._variant&&h(AlertIcon,{heading:this.state._heading,type:this.state._type}),h("div",null,("string"==typeof this.state._heading&&this.state._heading.length>0||"card"===this.state._variant)&&h("kol-heading-wc",{class:"heading",_level:this.state._level},"card"===this.state._variant&&h(AlertIcon,{heading:this.state._heading,type:this.state._type}),this.state._heading),h("div",{class:"content"},h("slot",null)),this.state._hasCloser&&h("kol-button-wc",{class:"close",_icon:{left:{icon:"fa-solid fa-circle-xmark"}},_iconOnly:!0,_label:translate("kol-close"),_on:this.on,_tooltipAlign:"left"}))))}validateAlert(t){watchBoolean(this,"_alert",t)}validateHasCloser(t){watchBoolean(this,"_hasCloser",t)}validateHeading(t){watchString(this,"_heading",t)}validateLevel(t){watchHeadingLevel(this,t)}validateOn(t){if("object"==typeof t&&null!==t){featureHint("[KolAlert] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const a={};"function"!=typeof t.onClose&&!0!==t.onClose||(a.onClose=t.onClose),setState(this,"_on",a)}}validateType(t){watchValidator(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}validateVariant(t){watchValidator(this,"_variant",(t=>"card"===t||"msg"===t),new Set("AlertVariant {card, msg}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}};KolAlert.style={default:defaultStyleCss};export{KolAlert as kol_alert};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kol-alert.entry.js","mappings":"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","names":[],"sources":["./src/components/style.sass?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["@windicss\n\n*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: 700\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton\n\tcursor: pointer\n\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tborder-width: 0\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from '../../types/alert';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = {\n\talert: boolean;\n\thasCloser: boolean;\n\theading: string;\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"fa-solid fa-circle-xmark\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"fa-solid fa-circle-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"fa-solid fa-triangle-exclamation\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"fa-solid fa-circle-check\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"fa-regular fa-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t{this.state._variant === 'msg' && <AlertIcon heading={this.state._heading} type={this.state._type} />}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{((typeof this.state._heading === 'string' && this.state._heading.length > 0) || this.state._variant === 'card') && (\n\t\t\t\t\t\t\t<kol-heading-wc class=\"heading\" _level={this.state._level}>\n\t\t\t\t\t\t\t\t{this.state._variant === 'card' && <AlertIcon heading={this.state._heading} type={this.state._type} />}\n\t\t\t\t\t\t\t\t{this.state._heading}\n\t\t\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'fa-solid fa-circle-xmark',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolAlert] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriAlertEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriAlertEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"kol-alert.entry.js","mappings":"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","names":[],"sources":["./src/components/style.sass?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: bold\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton,\ninput,\nselect,\ntextarea\n\tcursor: pointer\n\na,\nbutton\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tbackground-color: transparent\n\tborder-width: 0\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from '../../types/alert';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = {\n\talert: boolean;\n\thasCloser: boolean;\n\theading: string;\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"fa-solid fa-circle-xmark\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"fa-solid fa-circle-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"fa-solid fa-triangle-exclamation\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"fa-solid fa-circle-check\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"fa-regular fa-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t{this.state._variant === 'msg' && <AlertIcon heading={this.state._heading} type={this.state._type} />}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{((typeof this.state._heading === 'string' && this.state._heading.length > 0) || this.state._variant === 'card') && (\n\t\t\t\t\t\t\t<kol-heading-wc class=\"heading\" _level={this.state._level}>\n\t\t\t\t\t\t\t\t{this.state._variant === 'card' && <AlertIcon heading={this.state._heading} type={this.state._type} />}\n\t\t\t\t\t\t\t\t{this.state._heading}\n\t\t\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'fa-solid fa-circle-xmark',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolAlert] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriAlertEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriAlertEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{
|
|
4
|
+
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";import{f as featureHint,d as devHint,a as a11yHint}from"./a11y.tipps-353a7f35.js";import{r as rgbaConvert,a as watchValidator,o as objectObjectHandler,p as parseJson,s as setState}from"./prop.validators-62a61880.js";import{s}from"./index.m-86dc8c44.js";import{c as colorRgba}from"./index-e722bdb7.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index-1b8b837d.js";const getContrastYIQ=(t,o,a)=>(299*t+587*o+114*a)/1e3>=128?-1:1,calcColorContrast=(t,o,a,r=1)=>{const e=[Math.max(Math.min(Math.round(o[0]+r*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+r*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+r*Math.max(1,o[2]/100)),255),0)],n=s(rgbaConvert.hex(`rgba(${t.join(",")},1)`),rgbaConvert.hex(`rgba(${e.join(",")},1)`)),i=e[0]+e[1]+e[2];return 0===i||765===i||n>a?{background:t,foreground:e,contrast:n}:calcColorContrast(t,e,a,r)},cache=new Map,getColorContrast=(t,o,a,r=1)=>{if(cache.has(t))return cache.get(t);const e=calcColorContrast(t,o,a,r);return cache.set(t,e),e},createContrastColorPair=(t,o=7)=>{let a=[0,0,0,1],r=[255,255,255,1];"string"==typeof t?(a=colorRgba(t),r=a):"object"==typeof t&&null!==t&&"string"==typeof t.background&&"string"==typeof t.foreground&&(a=colorRgba(t.background),r="string"==typeof t.foreground?colorRgba(t.foreground):a);const e=(n=a[0],s=a[1],i=a[2],(299*n+587*s+114*i)/1e3>=128?-1:1);var n,s,i;const l=getColorContrast([a[0],a[1],a[2]],[r[0],r[1],r[2]],o,e);return r=[...l.foreground,1],{background:rgbaConvert.hex(`rgba(${a.join(",")})`),foreground:rgbaConvert.hex(`rgba(${r.join(",")})`),contrast:l.contrast}},defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}span{display:inline-flex}span kol-button-wc,span .kol-button-wc{box-shadow-left:1px solid rgba(0, 0, 0, 0.25)}span kol-button-wc button,span .kol-button-wc button{color:inherit}";featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const HACK_REG_EX=/^([a-f0-9]{3}|[a-f0-9]{6})$/,KolBadge=class{constructor(t){registerInstance(this,t),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=t=>{let o,a=t;"string"==typeof a?(HACK_REG_EX.test(a)&&(devHint("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),a=`#${a}`),o=createContrastColorPair(a)):o=createContrastColorPair({background:a.backgroundColor,foreground:a.color}),o.contrast<7&&a11yHint(`[KolBadge] The contrast of ${o.contrast} (≥7, AAA) is too low, between the color pair ${o.background} and ${o.foreground}.`),this.bgColorStr=o.background,this.colorStr=o.foreground},this._color="#000",this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._label=void 0,this._smartButton=void 0,this.state={_color:"#000"}}render(){return h(Host,null,h("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},h("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this._label}),"object"==typeof this.state._smartButton&&null!==this.state._smartButton&&h("kol-button-wc",{_ariaLabel:this.state._smartButton._ariaLabel,_customClass:this.state._smartButton._customClass,_disabled:this.state._smartButton._disabled,_icon:this.state._smartButton._icon,_iconOnly:!0,_id:this.state._smartButton._id,_label:this.state._smartButton._label,_on:this.state._smartButton._on,_tooltipAlign:this.state._smartButton._tooltipAlign,_variant:this.state._smartButton._variant})))}validateColor(t){watchValidator(this,"_color",(t=>"string"==typeof t||"object"==typeof t&&null!==t&&"string"==typeof t.backgroundColor&&"string"==typeof t.color),new Set(["string","KoliBriColor"]),t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_smartButton:["validateSmartButton"]}}};KolBadge.style={default:defaultStyleCss};export{KolBadge as kol_badge};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kol-badge.entry.js","mappings":"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","names":["hex"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.sass?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["import { rgbaConvert } from './rgba-convert';\nimport { hex } from 'wcag-contrast';\nimport { colorRgba } from './color-rgba';\nimport { RGB } from 'color-convert/conversions';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\n// ts-prune-ignore-next\nexport const calcContrastColor = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): RGB => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn color;\n\t} else {\n\t\treturn calcContrastColor(baseColor, color, ratio, dir);\n\t}\n};\n\n// ts-prune-ignore-next\nexport const getContrastColor = (baseColor: RGB, contrastcolor: RGB, ratio: number, dir = 1): RGB => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as RGB;\n\t}\n\tconst color = calcContrastColor(baseColor, contrastcolor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nconst cache: Map<unknown, RGB> = new Map();\n\nexport type KoliBriContrastColor = {\n\tbaseColor: string;\n\tcontrastColor: string;\n};\n\nexport const createContrastColorPair = (color: string | KoliBriContrastColor, contrastRatio = 7): KoliBriContrastColor => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.baseColor === 'string') {\n\t\tbaseColor = colorRgba(color.baseColor);\n\t\tif (typeof color.contrastColor === 'string') {\n\t\t\tcontrastColor = colorRgba(color.contrastColor);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst contrastColorRGB = getContrastColor(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...contrastColorRGB, 1];\n\n\treturn {\n\t\tbaseColor: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tcontrastColor: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t};\n};\n","@import ../style\n\nspan\n\tdisplay: inline-flex\n\n\tkol-button-wc,\n\t.kol-button-wc\n\t\tbox-shadow-left: 1px solid rgba(0, 0, 0, 0.25)\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { Nationalfarben } from '../../enums/color';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { createContrastColorPair, KoliBriContrastColor } from './contrast';\nimport { Stringified } from '../../types/common';\nimport { ButtonProps } from '../../types/button-link';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport type KoliBriColor = {\n\tbackgroundColor: string;\n\tcolor: string;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<KoliBriColor>;\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n\tsmartButton: Stringified<ButtonProps>;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcolor: Stringified<KoliBriColor>;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Farbe des Hintergrundes bzw. der Schrift an.\n\t */\n\t@Prop() public _color?: string | KoliBriColor = Nationalfarben.Schwarz;\n\n\t/**\n\t * Gibt einen Identifier eines Icons aus den Icofont's an. (https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon entweder links oder rechts dargestellt werden soll.\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Gibt den Label-Text des Badges an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_color: Nationalfarben.Schwarz,\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorPair: KoliBriContrastColor;\n\t\tif (typeof color === 'string') {\n\t\t\tif (HACK_REG_EX.test(color)) {\n\t\t\t\t// Catch Breaking Change - remove next Major\n\t\t\t\tdevHint(\n\t\t\t\t\t`[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).`\n\t\t\t\t);\n\t\t\t\tcolor = `#${color}`;\n\t\t\t}\n\t\t\tcolorPair = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorPair = createContrastColorPair({\n\t\t\t\tbaseColor: color.backgroundColor,\n\t\t\t\tcontrastColor: color.color,\n\t\t\t});\n\t\t}\n\t\tthis.bgColorStr = colorPair.baseColor;\n\t\tthis.colorStr = colorPair.contrastColor;\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_color')\n\tpublic validateColor(value?: string | KoliBriColor): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_color',\n\t\t\t(value) => typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['string', 'KoliBriColor']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: Nationalfarben.Schwarz,\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\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, '_smartButton', value);\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"kol-badge.entry.js","mappings":"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","names":["hex"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.sass?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["import { rgbaConvert } from './rgba-convert';\nimport { hex } from 'wcag-contrast';\nimport { colorRgba } from './color-rgba';\nimport { RGB } from 'color-convert/conversions';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\nexport type ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","@import ../style\n\nspan\n\tdisplay: inline-flex\n\n\tkol-button-wc,\n\t.kol-button-wc\n\t\tbox-shadow-left: 1px solid rgba(0, 0, 0, 0.25)\n\n\t\tbutton\n\t\t\tcolor: inherit\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { a11yHint, devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { createContrastColorPair, ColorContrast } from './contrast';\nimport { Stringified } from '../../types/common';\nimport { ButtonProps } from '../../types/button-link';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport type KoliBriColor = {\n\tbackgroundColor: string;\n\tcolor: string;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<KoliBriColor>;\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n\tsmartButton: Stringified<ButtonProps>;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcolor: Stringified<KoliBriColor>;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Farbe des Hintergrundes bzw. der Schrift an.\n\t */\n\t@Prop() public _color?: string | KoliBriColor = '#000';\n\n\t/**\n\t * Gibt einen Identifier eines Icons aus den Icofont's an. (https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon entweder links oder rechts dargestellt werden soll.\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Gibt den Label-Text des Badges an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_color: '#000',\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorContrast: ColorContrast<string>;\n\t\tif (typeof color === 'string') {\n\t\t\tif (HACK_REG_EX.test(color)) {\n\t\t\t\t// Catch Breaking Change - remove next Major\n\t\t\t\tdevHint(\n\t\t\t\t\t`[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).`\n\t\t\t\t);\n\t\t\t\tcolor = `#${color}`;\n\t\t\t}\n\t\t\tcolorContrast = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: color.backgroundColor,\n\t\t\t\tforeground: color.color,\n\t\t\t});\n\t\t}\n\t\tif (colorContrast.contrast < 7) {\n\t\t\ta11yHint(\n\t\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is too low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t\t);\n\t\t}\n\t\tthis.bgColorStr = colorContrast.background;\n\t\tthis.colorStr = colorContrast.foreground;\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_color')\n\tpublic validateColor(value?: string | KoliBriColor): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_color',\n\t\t\t(value) =>\n\t\t\t\ttypeof value === 'string' ||\n\t\t\t\t(typeof value === 'object' && value !== null && typeof value.backgroundColor === 'string' && typeof value.color === 'string'),\n\t\t\tnew Set(['string', 'KoliBriColor']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: '#000',\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\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, '_smartButton', value);\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,F as Fragment,H as Host}from"./index-0dce65d2.js";import{
|
|
4
|
+
import{r as registerInstance,h,F as Fragment,H as Host}from"./index-0dce65d2.js";import{b as a11yHintLabelingLandmarks}from"./a11y.tipps-353a7f35.js";import{w as watchString}from"./prop.validators-62a61880.js";import{w as watchNavLinks}from"./validation-5c3578c0.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";import"./index-68b1f91c.js";import"./index.m-86dc8c44.js";const defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",KolBreadcrumb=class{constructor(a){registerInstance(this,a),this._ariaLabel=void 0,this._links=void 0,this.state={_ariaLabel:"…",_links:[]}}render(){const a=this.state._links.length-1;return h(Host,null,h("nav",{"aria-label":this.state._ariaLabel},h("ul",null,0===this.state._links.length&&h("li",null,h("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-house"}),"…"),this.state._links.map(((i,t)=>h("li",{key:t},0!==t&&h("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right",_part:"separator",exportparts:"separator"}),t===a?h("span",null,i._iconOnly?h("kol-icon",{_ariaLabel:i._label,_icon:"string"==typeof i._icon?i._icon:"fa-solid fa-link-slash"}):h(Fragment,null,i._label)):h("kol-link",Object.assign({exportparts:"link",_useCase:"nav"},i,{_ariaLabel:i._label}),i._label)))))))}validateAriaLabel(a){watchString(this,"_ariaLabel",a,{required:!0}),a11yHintLabelingLandmarks(a)}validateLinks(a){watchNavLinks("KolBreadcrumb",this,a)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};KolBreadcrumb.style={default:defaultStyleCss};export{KolBreadcrumb as kol_breadcrumb};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"kol-breadcrumb.entry.js","mappings":"
|
|
1
|
+
{"file":"kol-breadcrumb.entry.js","mappings":";;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,wgBAAwgB;;MCqCnhB,aAAa;;;;;iBAmDO;MAC/B,UAAU,EAAE,GAAG;MACf,MAAM,EAAE,EAAE;KACV;;EArDM,MAAM;IACZ,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,QACC,EAAC,IAAI,QACJ,yBAAiB,IAAI,CAAC,KAAK,CAAC,UAAU,IACrC,cACE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,KAC9B,cACC,gBAAU,UAAU,EAAC,EAAE,EAAC,KAAK,EAAC,mBAAmB,GAAG,WAChD,CACL,EACA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAa;MAC1C,QACC,UAAI,GAAG,EAAE,KAAK,IACZ,KAAK,KAAK,CAAC,IAAI,gBAAU,UAAU,EAAC,EAAE,EAAC,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,GAAG,EACnH,KAAK,KAAK,SAAS,IACnB,gBACE,IAAI,CAAC,SAAS,IACd,gBAAU,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,wBAAwB,GAAI,KAEpH,EAAC,QAAQ,QAAE,IAAI,CAAC,MAAM,CAAY,CAClC,CACK,KAEP,8BAAU,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAC,KAAK,IAAK,IAAI,IAAE,UAAU,EAAE,IAAI,CAAC,MAAM,KAC3E,IAAI,CAAC,MAAM,CACF,CACX,CACG,EACJ;KACF,CAAC,CACE,CACA,CACA,EACN;GACF;EAwBM,iBAAiB,CAAC,KAAc;IACtC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE;MACtC,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;IACH,yBAAyB,CAAC,KAAK,CAAC,CAAC;GACjC;EAMM,aAAa,CAAC,KAAmC;IACvD,aAAa,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;GAC5C;EAKM,iBAAiB;IACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;GAChC;;;;;;;;;;;;","names":[],"sources":["./src/components/style.sass?tag=kol-breadcrumb&mode=default&encapsulation=shadow","./src/components/breadcrumb/component.tsx"],"sourcesContent":["*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: bold\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton,\ninput,\nselect,\ntextarea\n\tcursor: pointer\n\na,\nbutton\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tbackground-color: transparent\n\tborder-width: 0\n","import { Component, Fragment, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { a11yHintLabelingLandmarks } from '../../utils/a11y.tipps';\nimport { watchString } from '../../utils/prop.validators';\nimport { NavLinkProps } from '../link/component';\nimport { watchNavLinks } from '../nav/validation';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<NavLinkProps[]>;\n};\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaLabel: string;\n\tlinks: NavLinkProps[];\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part link - Ermöglicht das Stylen der Links.\n * @part separator - Ermöglicht das Ändern des Separator-Icons.\n */\n@Component({\n\ttag: 'kol-breadcrumb',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolBreadcrumb implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\tconst lastIndex = this.state._links.length - 1;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<nav aria-label={this.state._ariaLabel}>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{this.state._links.length === 0 && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-house\" />…\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._links.map((link, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t\t\t\t{index !== 0 && <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-right\" _part=\"separator\" exportparts=\"separator\" />}\n\t\t\t\t\t\t\t\t\t{index === lastIndex ? (\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t{link._iconOnly ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<kol-icon _ariaLabel={link._label} _icon={typeof link._icon === 'string' ? link._icon : 'fa-solid fa-link-slash'} />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>{link._label}</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<kol-link exportparts=\"link\" _useCase=\"nav\" {...link} _ariaLabel={link._label}>\n\t\t\t\t\t\t\t\t\t\t\t{link._label}\n\t\t\t\t\t\t\t\t\t\t</kol-link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie in Links an.\n\t */\n\t@Prop() public _links!: Stringified<NavLinkProps[]>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_links: [],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<NavLinkProps[]>): void {\n\t\twatchNavLinks('KolBreadcrumb', this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";const defaultStyleCss="
|
|
4
|
+
import{r as registerInstance,h,H as Host}from"./index-0dce65d2.js";const defaultStyleCss="*{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:bold}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",KolButtonGroup=class{constructor(t){registerInstance(this,t)}render(){return h(Host,null,h("kol-button-group-wc",null,h("slot",null)))}};KolButtonGroup.style={default:defaultStyleCss};export{KolButtonGroup as kol_button_group};
|