@public-ui/components 1.6.0-rc.17 → 1.6.0-rc.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +170 -42
- package/dist/cjs/a11y.tipps-1c1ea73b.js +4 -0
- package/dist/cjs/a11y.tipps-1c1ea73b.js.map +1 -0
- package/dist/cjs/align-03448301.js +4 -0
- package/dist/cjs/align-03448301.js.map +1 -0
- package/dist/cjs/{app-globals-e83ee8b5.js → app-globals-e6eb5911.js} +1 -1
- package/dist/cjs/{app-globals-e83ee8b5.js.map → app-globals-e6eb5911.js.map} +1 -1
- package/dist/cjs/aria-current-033a6e0f.js +4 -0
- package/dist/cjs/aria-current-033a6e0f.js.map +1 -0
- package/dist/cjs/aria-selected-0d0d52a7.js +4 -0
- package/dist/cjs/aria-selected-0d0d52a7.js.map +1 -0
- package/dist/cjs/{button-link-67bac64d.js → button-link-72b41f5a.js} +1 -1
- package/dist/cjs/button-link-72b41f5a.js.map +1 -0
- package/dist/cjs/{color-7b544771.js → color-8c2ae19a.js} +1 -1
- package/dist/cjs/{color-7b544771.js.map → color-8c2ae19a.js.map} +1 -1
- package/dist/cjs/{controller-4eb098e8.js → controller-79eb2e58.js} +1 -1
- package/dist/cjs/{controller-4eb098e8.js.map → controller-79eb2e58.js.map} +1 -1
- package/dist/cjs/{controller-a297b03f.js → controller-92759c6b.js} +1 -1
- package/dist/cjs/{controller-a297b03f.js.map → controller-92759c6b.js.map} +1 -1
- package/dist/cjs/controller-a1231b94.js +4 -0
- package/dist/cjs/controller-a1231b94.js.map +1 -0
- package/dist/cjs/controller-c3faafa2.js +4 -0
- package/dist/cjs/controller-c3faafa2.js.map +1 -0
- package/dist/cjs/{controller-0ff72c39.js → controller-ebc696ca.js} +1 -1
- package/dist/cjs/{controller-0ff72c39.js.map → controller-ebc696ca.js.map} +1 -1
- package/dist/cjs/controller-f8071b2a.js +4 -0
- package/dist/cjs/controller-f8071b2a.js.map +1 -0
- package/dist/cjs/{controller-icon-9fc9f068.js → controller-icon-5568bee6.js} +1 -1
- package/dist/cjs/{controller-icon-9fc9f068.js.map → controller-icon-5568bee6.js.map} +1 -1
- package/dist/cjs/dev.utils-443e04be.js +4 -0
- package/dist/cjs/dev.utils-443e04be.js.map +1 -0
- package/dist/cjs/{devtools-2e72dd9c.js → devtools-fa5c911c.js} +1 -1
- package/dist/cjs/{devtools-2e72dd9c.js.map → devtools-fa5c911c.js.map} +1 -1
- package/dist/cjs/{disabled-33542b02.js → disabled-52fed01c.js} +1 -1
- package/dist/cjs/{disabled-33542b02.js.map → disabled-52fed01c.js.map} +1 -1
- package/dist/cjs/has-closer-c1a52ec2.js +4 -0
- package/dist/cjs/{has-closer-c629ee07.js.map → has-closer-c1a52ec2.js.map} +1 -1
- package/dist/cjs/hide-label-ec601d02.js +4 -0
- package/dist/cjs/hide-label-ec601d02.js.map +1 -0
- package/dist/cjs/i18n-d4de282e.js +4 -0
- package/dist/cjs/i18n-d4de282e.js.map +1 -0
- package/dist/cjs/{icon-4c258aaa.js → icon-8e3e7353.js} +1 -1
- package/dist/cjs/{icon-4c258aaa.js.map → icon-8e3e7353.js.map} +1 -1
- package/dist/cjs/image-source-cc6a3955.js +4 -0
- package/dist/cjs/{image-source-fe76fa4f.js.map → image-source-cc6a3955.js.map} +1 -1
- package/dist/cjs/index-b63c6785.js.map +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc_2.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-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js.map +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.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-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-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-popover.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/{label-9a5c5fc9.js → label-ec3c6d04.js} +1 -1
- package/dist/cjs/{label-9a5c5fc9.js.map → label-ec3c6d04.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-46b7cd12.js +4 -0
- package/dist/cjs/prop.validators-46b7cd12.js.map +1 -0
- package/dist/cjs/rows-f5639de0.js +4 -0
- package/dist/cjs/rows-f5639de0.js.map +1 -0
- package/dist/cjs/show-b2776f4a.js +4 -0
- package/dist/cjs/{show-462d32c3.js.map → show-b2776f4a.js.map} +1 -1
- package/dist/cjs/suggestions-35e5f96a.js +4 -0
- package/dist/cjs/suggestions-35e5f96a.js.map +1 -0
- package/dist/cjs/{tab-index-a60b02ac.js → tab-index-4e911056.js} +1 -1
- package/dist/cjs/{tab-index-a60b02ac.js.map → tab-index-4e911056.js.map} +1 -1
- package/dist/cjs/{validation-18c0235d.js → validation-6f741829.js} +1 -1
- package/dist/cjs/{validation-18c0235d.js.map → validation-6f741829.js.map} +1 -1
- package/dist/cjs/{validation-3e23c523.js → validation-8a69b96f.js} +1 -1
- package/dist/cjs/{validation-3e23c523.js.map → validation-8a69b96f.js.map} +1 -1
- package/dist/components/align.js +4 -0
- package/dist/components/align.js.map +1 -0
- package/dist/components/aria-selected.js +1 -1
- package/dist/components/aria-selected.js.map +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/component11.js +1 -1
- package/dist/components/component11.js.map +1 -1
- package/dist/components/component13.js +1 -1
- package/dist/components/component13.js.map +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component14.js.map +1 -1
- package/dist/components/component15.js +1 -1
- package/dist/components/component16.js +1 -1
- package/dist/components/component16.js.map +1 -1
- package/dist/components/component2.js +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/component6.js.map +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/component9.js.map +1 -1
- package/dist/components/controller-icon.js +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.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-button-link.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-input-adapter-leanup.js +1 -1
- package/dist/components/kol-input-adapter-leanup.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio-group.js +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-kolibri.js +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-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-popover.js +1 -1
- package/dist/components/kol-popover.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-symbol.js +1 -1
- package/dist/components/kol-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/label.js +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/rows.js +4 -0
- package/dist/components/rows.js.map +1 -0
- 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/shadow3.js +1 -1
- package/dist/components/shadow3.js.map +1 -1
- package/dist/components/shadow4.js.map +1 -1
- package/dist/components/show.js +1 -1
- package/dist/components/suggestions.js +4 -0
- package/dist/components/suggestions.js.map +1 -0
- package/dist/components/tab-index.js +1 -1
- package/dist/components/tab-index.js.map +1 -1
- package/dist/esm/a11y.tipps-d701911f.js +4 -0
- package/dist/esm/a11y.tipps-d701911f.js.map +1 -0
- package/dist/esm/align-73a9215b.js +4 -0
- package/dist/esm/align-73a9215b.js.map +1 -0
- package/dist/esm/app-globals-dc76be42.js +4 -0
- package/dist/esm/{app-globals-e49e1503.js.map → app-globals-dc76be42.js.map} +1 -1
- package/dist/esm/aria-current-4f445f1b.js +4 -0
- package/dist/esm/aria-current-4f445f1b.js.map +1 -0
- package/dist/esm/aria-selected-f9f37b8a.js +4 -0
- package/dist/esm/aria-selected-f9f37b8a.js.map +1 -0
- package/dist/esm/{button-link-e7a5fabf.js → button-link-cdd0cf5d.js} +1 -1
- package/dist/esm/button-link-cdd0cf5d.js.map +1 -0
- package/dist/esm/{color-b194e076.js → color-e86f3e1a.js} +1 -1
- package/dist/esm/{color-b194e076.js.map → color-e86f3e1a.js.map} +1 -1
- package/dist/esm/controller-3591f4ce.js +4 -0
- package/dist/esm/controller-3591f4ce.js.map +1 -0
- package/dist/esm/controller-73e603d0.js +4 -0
- package/dist/esm/controller-73e603d0.js.map +1 -0
- package/dist/esm/controller-88c3c0e3.js +4 -0
- package/dist/esm/controller-88c3c0e3.js.map +1 -0
- package/dist/esm/{controller-d9c05ca2.js → controller-dcbc36ee.js} +1 -1
- package/dist/esm/{controller-d9c05ca2.js.map → controller-dcbc36ee.js.map} +1 -1
- package/dist/esm/{controller-cbd99b24.js → controller-e72e2e76.js} +1 -1
- package/dist/esm/{controller-cbd99b24.js.map → controller-e72e2e76.js.map} +1 -1
- package/dist/esm/{controller-5940f710.js → controller-f62e9f3a.js} +1 -1
- package/dist/esm/{controller-5940f710.js.map → controller-f62e9f3a.js.map} +1 -1
- package/dist/esm/{controller-icon-5a04613b.js → controller-icon-2591b7eb.js} +1 -1
- package/dist/esm/{controller-icon-5a04613b.js.map → controller-icon-2591b7eb.js.map} +1 -1
- package/dist/esm/dev.utils-d53ab83f.js +4 -0
- package/dist/esm/dev.utils-d53ab83f.js.map +1 -0
- package/dist/esm/{devtools-3b34fa30.js → devtools-afd1f946.js} +1 -1
- package/dist/esm/{devtools-3b34fa30.js.map → devtools-afd1f946.js.map} +1 -1
- package/dist/esm/{disabled-614216e9.js → disabled-707aaac5.js} +1 -1
- package/dist/esm/{disabled-614216e9.js.map → disabled-707aaac5.js.map} +1 -1
- package/dist/esm/{has-closer-4415fbda.js → has-closer-021264e3.js} +1 -1
- package/dist/esm/{has-closer-4415fbda.js.map → has-closer-021264e3.js.map} +1 -1
- package/dist/esm/{hide-label-53a9f681.js → hide-label-4ca7feba.js} +1 -1
- package/dist/esm/hide-label-4ca7feba.js.map +1 -0
- package/dist/esm/i18n-7ff844fe.js +4 -0
- package/dist/esm/i18n-7ff844fe.js.map +1 -0
- package/dist/esm/{icon-ae60c121.js → icon-2102545a.js} +1 -1
- package/dist/esm/{icon-ae60c121.js.map → icon-2102545a.js.map} +1 -1
- package/dist/esm/{image-source-a6d9c13f.js → image-source-8a03ef69.js} +1 -1
- package/dist/esm/{image-source-a6d9c13f.js.map → image-source-8a03ef69.js.map} +1 -1
- package/dist/esm/index-2c046ff1.js.map +1 -1
- package/dist/esm/index.js +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-wc_2.entry.js +1 -1
- package/dist/esm/kol-alert-wc_2.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-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
- package/dist/esm/kol-button-link-text-switch.entry.js.map +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-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio-group.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-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-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-popover.entry.js +1 -1
- package/dist/esm/kol-popover.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-span-wc.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +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-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/{label-35927418.js → label-50013d13.js} +1 -1
- package/dist/esm/{label-35927418.js.map → label-50013d13.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/prop.validators-464644b7.js +4 -0
- package/dist/esm/prop.validators-464644b7.js.map +1 -0
- package/dist/esm/rows-3650a6c6.js +4 -0
- package/dist/esm/rows-3650a6c6.js.map +1 -0
- package/dist/esm/show-a52e2865.js +4 -0
- package/dist/esm/{show-d72ff77e.js.map → show-a52e2865.js.map} +1 -1
- package/dist/esm/suggestions-58939476.js +4 -0
- package/dist/esm/suggestions-58939476.js.map +1 -0
- package/dist/esm/{tab-index-841e81ba.js → tab-index-f3f891be.js} +1 -1
- package/dist/esm/{tab-index-841e81ba.js.map → tab-index-f3f891be.js.map} +1 -1
- package/dist/esm/{validation-a9f13bf5.js → validation-0f08372b.js} +1 -1
- package/dist/esm/{validation-a9f13bf5.js.map → validation-0f08372b.js.map} +1 -1
- package/dist/esm/validation-5659d279.js +4 -0
- package/dist/esm/{validation-bbab8795.js.map → validation-5659d279.js.map} +1 -1
- package/dist/kolibri/a11y.tipps-d701911f.js +4 -0
- package/dist/kolibri/a11y.tipps-d701911f.js.map +1 -0
- package/dist/kolibri/align-73a9215b.js +4 -0
- package/dist/kolibri/align-73a9215b.js.map +1 -0
- package/dist/kolibri/app-globals-dc76be42.js +4 -0
- package/dist/kolibri/aria-current-4f445f1b.js +4 -0
- package/dist/kolibri/aria-current-4f445f1b.js.map +1 -0
- package/dist/kolibri/aria-selected-f9f37b8a.js +4 -0
- package/dist/kolibri/aria-selected-f9f37b8a.js.map +1 -0
- package/dist/kolibri/assets/simulations/table-simulation.js +1 -1
- package/dist/kolibri/assets/simulations/toast-simulation.js +1 -1
- package/dist/kolibri/button-link-cdd0cf5d.js +4 -0
- package/dist/kolibri/button-link-cdd0cf5d.js.map +1 -0
- package/dist/kolibri/color-e86f3e1a.js +4 -0
- package/dist/kolibri/{color-b194e076.js.map → color-e86f3e1a.js.map} +1 -1
- package/dist/kolibri/controller-3591f4ce.js +4 -0
- package/dist/kolibri/controller-3591f4ce.js.map +1 -0
- package/dist/kolibri/controller-73e603d0.js +4 -0
- package/dist/kolibri/controller-73e603d0.js.map +1 -0
- package/dist/kolibri/controller-88c3c0e3.js +4 -0
- package/dist/kolibri/controller-88c3c0e3.js.map +1 -0
- package/dist/kolibri/{controller-d9c05ca2.js → controller-dcbc36ee.js} +1 -1
- package/dist/kolibri/{controller-cbd99b24.js → controller-e72e2e76.js} +1 -1
- package/dist/kolibri/{controller-5940f710.js → controller-f62e9f3a.js} +1 -1
- package/dist/kolibri/{controller-5940f710.js.map → controller-f62e9f3a.js.map} +1 -1
- package/dist/kolibri/{controller-icon-5a04613b.js → controller-icon-2591b7eb.js} +1 -1
- package/dist/kolibri/{controller-icon-5a04613b.js.map → controller-icon-2591b7eb.js.map} +1 -1
- package/dist/kolibri/dev.utils-d53ab83f.js +4 -0
- package/dist/kolibri/dev.utils-d53ab83f.js.map +1 -0
- package/dist/kolibri/devtools-afd1f946.js +4 -0
- package/dist/kolibri/{devtools-3b34fa30.js.map → devtools-afd1f946.js.map} +1 -1
- package/dist/kolibri/disabled-707aaac5.js +4 -0
- package/dist/kolibri/{disabled-614216e9.js.map → disabled-707aaac5.js.map} +1 -1
- package/dist/kolibri/floating-ui.dom.esm-26e61da8.js.map +1 -1
- package/dist/kolibri/has-closer-021264e3.js +4 -0
- package/dist/kolibri/hide-label-4ca7feba.js +4 -0
- package/dist/kolibri/hide-label-4ca7feba.js.map +1 -0
- package/dist/kolibri/i18n-7ff844fe.js +4 -0
- package/dist/kolibri/i18n-7ff844fe.js.map +1 -0
- package/dist/kolibri/{icon-ae60c121.js → icon-2102545a.js} +1 -1
- package/dist/kolibri/image-source-8a03ef69.js +4 -0
- package/dist/kolibri/index-2c046ff1.js.map +1 -1
- package/dist/kolibri/index-d8ac1088.js.map +1 -1
- 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-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_2.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-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js.map +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-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +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-popover.entry.js +1 -1
- package/dist/kolibri/kol-popover.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast.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-50013d13.js +4 -0
- package/dist/kolibri/prop.validators-464644b7.js +4 -0
- package/dist/kolibri/prop.validators-464644b7.js.map +1 -0
- package/dist/kolibri/rows-3650a6c6.js +4 -0
- package/dist/kolibri/rows-3650a6c6.js.map +1 -0
- package/dist/kolibri/show-a52e2865.js +4 -0
- package/dist/kolibri/suggestions-58939476.js +4 -0
- package/dist/kolibri/suggestions-58939476.js.map +1 -0
- package/dist/kolibri/{tab-index-841e81ba.js → tab-index-f3f891be.js} +1 -1
- package/dist/kolibri/validation-0f08372b.js +4 -0
- package/dist/kolibri/validation-5659d279.js +4 -0
- package/dist/loader/index.d.ts +1 -1
- package/dist/types/components/abbr/component.d.ts +4 -1
- package/dist/types/components/abbr/types.d.ts +5 -5
- package/dist/types/components/accordion/component.d.ts +4 -1
- package/dist/types/components/accordion/types.d.ts +5 -5
- package/dist/types/components/alert/component.d.ts +3 -2
- package/dist/types/components/alert/shadow.d.ts +2 -0
- package/dist/types/components/alert/types.d.ts +4 -3
- package/dist/types/components/button-link-text-switch/component.d.ts +0 -5
- package/dist/types/components/card/component.d.ts +4 -1
- package/dist/types/components/card/types.d.ts +5 -5
- package/dist/types/components/details/component.d.ts +4 -1
- package/dist/types/components/details/types.d.ts +4 -4
- package/dist/types/components/input/component.d.ts +2 -1
- package/dist/types/components/input/types.d.ts +2 -1
- package/dist/types/components/input-color/component.d.ts +5 -2
- package/dist/types/components/input-color/controller.d.ts +3 -2
- package/dist/types/components/input-color/types.d.ts +5 -3
- package/dist/types/components/input-date/component.d.ts +3 -0
- package/dist/types/components/input-date/controller.d.ts +3 -2
- package/dist/types/components/input-date/types.d.ts +6 -3
- package/dist/types/components/input-email/component.d.ts +3 -0
- package/dist/types/components/input-email/types.d.ts +4 -2
- package/dist/types/components/input-number/component.d.ts +3 -0
- package/dist/types/components/input-number/controller.d.ts +3 -2
- package/dist/types/components/input-number/types.d.ts +6 -3
- package/dist/types/components/input-radio/component.d.ts +4 -1
- package/dist/types/components/input-radio/controller.d.ts +3 -2
- package/dist/types/components/input-radio/types.d.ts +6 -6
- package/dist/types/components/input-range/component.d.ts +6 -2
- package/dist/types/components/input-range/controller.d.ts +4 -1
- package/dist/types/components/input-range/types.d.ts +5 -3
- package/dist/types/components/input-text/component.d.ts +4 -1
- package/dist/types/components/input-text/controller.d.ts +4 -3
- package/dist/types/components/input-text/types.d.ts +4 -2
- package/dist/types/components/link/component.d.ts +4 -0
- package/dist/types/components/link/shadow.d.ts +3 -3
- package/dist/types/components/link-button/component.d.ts +3 -3
- package/dist/types/components/nav/component.d.ts +3 -0
- package/dist/types/components/nav/types.d.ts +3 -2
- package/dist/types/components/quote/shadow.d.ts +3 -0
- package/dist/types/components/quote/types.d.ts +3 -4
- package/dist/types/components/select/component.d.ts +7 -1
- package/dist/types/components/select/controller.d.ts +6 -4
- package/dist/types/components/select/types.d.ts +8 -7
- package/dist/types/components/table/component.d.ts +6 -1
- package/dist/types/components/table/types.d.ts +9 -4
- package/dist/types/components/tabs/component.d.ts +2 -0
- package/dist/types/components/tabs/types.d.ts +3 -4
- package/dist/types/components/textarea/component.d.ts +3 -2
- package/dist/types/components/textarea/controller.d.ts +2 -1
- package/dist/types/components/textarea/types.d.ts +3 -4
- package/dist/types/components/toast/component.d.ts +3 -0
- package/dist/types/components/toast/toaster.d.ts +3 -1
- package/dist/types/components/toast/types.d.ts +2 -1
- package/dist/types/components.d.ts +302 -86
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/locales/de.d.ts +3 -0
- package/dist/types/locales/en.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -1
- package/dist/types/types/button-link-text.d.ts +2 -1
- package/dist/types/types/button-link.d.ts +16 -13
- package/dist/types/types/props/aria-controls.d.ts +5 -0
- package/dist/types/types/props/aria-current.d.ts +4 -0
- package/dist/types/types/props/compact.d.ts +0 -2
- package/dist/types/types/props/hide-label.d.ts +2 -1
- package/dist/types/types/props/options.d.ts +15 -0
- package/dist/types/types/props/rows.d.ts +6 -0
- package/dist/types/types/props/suggestions.d.ts +8 -0
- package/dist/types/utils/a11y.tipps.d.ts +11 -6
- package/dist/types/utils/prop.validators.d.ts +8 -0
- package/dist/types/utils/validators/options.d.ts +2 -0
- package/doc/abbr.md +15 -14
- package/doc/accordion.md +13 -12
- package/doc/alert.md +3 -3
- package/doc/avatar.md +44 -1
- package/doc/badge.md +2 -2
- package/doc/breadcrumb.md +2 -2
- package/doc/button-group.md +2 -2
- package/doc/button-link.md +20 -20
- package/doc/button.md +26 -26
- package/doc/card.md +11 -10
- package/doc/details.md +11 -10
- package/doc/icon-font-awesome.md +1 -1
- package/doc/icon-icofont.md +1 -1
- package/doc/icon.md +5 -5
- package/doc/image.md +4 -4
- package/doc/indented-text.md +1 -1
- package/doc/input-checkbox.md +7 -5
- package/doc/input-color.md +4 -3
- package/doc/input-date.md +7 -6
- package/doc/input-email.md +5 -4
- package/doc/input-file.md +3 -3
- package/doc/input-number.md +5 -4
- package/doc/input-password.md +2 -2
- package/doc/input-radio.md +11 -10
- package/doc/input-range.md +3 -2
- package/doc/input-text.md +5 -4
- package/doc/link-button.md +34 -33
- package/doc/link.md +27 -26
- package/doc/modal.md +4 -4
- package/doc/nav.md +3 -2
- package/doc/progress.md +2 -2
- package/doc/quote.md +13 -12
- package/doc/select.md +14 -12
- package/doc/skip-nav.md +1 -1
- package/doc/spin.md +2 -2
- package/doc/split-button.md +23 -23
- package/doc/symbol.md +1 -1
- package/doc/table.md +26 -25
- package/doc/tabs.md +6 -5
- package/doc/textarea.md +3 -3
- package/doc/toast.md +5 -4
- package/doc/tooltip.md +1 -1
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +159 -27
- package/dist/cjs/a11y.tipps-de7fbe54.js +0 -4
- package/dist/cjs/a11y.tipps-de7fbe54.js.map +0 -1
- package/dist/cjs/aria-selected-0008cfb9.js +0 -4
- package/dist/cjs/aria-selected-0008cfb9.js.map +0 -1
- package/dist/cjs/button-link-67bac64d.js.map +0 -1
- package/dist/cjs/controller-054b1db3.js +0 -4
- package/dist/cjs/controller-054b1db3.js.map +0 -1
- package/dist/cjs/controller-916d9ca1.js +0 -4
- package/dist/cjs/controller-916d9ca1.js.map +0 -1
- package/dist/cjs/controller-dffea453.js +0 -4
- package/dist/cjs/controller-dffea453.js.map +0 -1
- package/dist/cjs/dev.utils-9c0958cf.js +0 -4
- package/dist/cjs/dev.utils-9c0958cf.js.map +0 -1
- package/dist/cjs/has-closer-c629ee07.js +0 -4
- package/dist/cjs/hide-label-761f9c70.js +0 -4
- package/dist/cjs/hide-label-761f9c70.js.map +0 -1
- package/dist/cjs/i18n-5aa005bd.js +0 -4
- package/dist/cjs/i18n-5aa005bd.js.map +0 -1
- package/dist/cjs/image-source-fe76fa4f.js +0 -4
- package/dist/cjs/prop.validators-564c2db7.js +0 -4
- package/dist/cjs/prop.validators-564c2db7.js.map +0 -1
- package/dist/cjs/show-462d32c3.js +0 -4
- package/dist/esm/a11y.tipps-255c885e.js +0 -4
- package/dist/esm/a11y.tipps-255c885e.js.map +0 -1
- package/dist/esm/app-globals-e49e1503.js +0 -4
- package/dist/esm/aria-selected-9745a637.js +0 -4
- package/dist/esm/aria-selected-9745a637.js.map +0 -1
- package/dist/esm/button-link-e7a5fabf.js.map +0 -1
- package/dist/esm/controller-97df9666.js +0 -4
- package/dist/esm/controller-97df9666.js.map +0 -1
- package/dist/esm/controller-9d4a30f8.js +0 -4
- package/dist/esm/controller-9d4a30f8.js.map +0 -1
- package/dist/esm/controller-a27433b4.js +0 -4
- package/dist/esm/controller-a27433b4.js.map +0 -1
- package/dist/esm/dev.utils-e98368e1.js +0 -4
- package/dist/esm/dev.utils-e98368e1.js.map +0 -1
- package/dist/esm/hide-label-53a9f681.js.map +0 -1
- package/dist/esm/i18n-a5618943.js +0 -4
- package/dist/esm/i18n-a5618943.js.map +0 -1
- package/dist/esm/prop.validators-e3c93395.js +0 -4
- package/dist/esm/prop.validators-e3c93395.js.map +0 -1
- package/dist/esm/show-d72ff77e.js +0 -4
- package/dist/esm/validation-bbab8795.js +0 -4
- package/dist/kolibri/a11y.tipps-255c885e.js +0 -4
- package/dist/kolibri/a11y.tipps-255c885e.js.map +0 -1
- package/dist/kolibri/app-globals-e49e1503.js +0 -4
- package/dist/kolibri/aria-selected-9745a637.js +0 -4
- package/dist/kolibri/aria-selected-9745a637.js.map +0 -1
- package/dist/kolibri/button-link-e7a5fabf.js +0 -4
- package/dist/kolibri/button-link-e7a5fabf.js.map +0 -1
- package/dist/kolibri/color-b194e076.js +0 -4
- package/dist/kolibri/controller-97df9666.js +0 -4
- package/dist/kolibri/controller-97df9666.js.map +0 -1
- package/dist/kolibri/controller-9d4a30f8.js +0 -4
- package/dist/kolibri/controller-9d4a30f8.js.map +0 -1
- package/dist/kolibri/controller-a27433b4.js +0 -4
- package/dist/kolibri/controller-a27433b4.js.map +0 -1
- package/dist/kolibri/dev.utils-e98368e1.js +0 -4
- package/dist/kolibri/dev.utils-e98368e1.js.map +0 -1
- package/dist/kolibri/devtools-3b34fa30.js +0 -4
- package/dist/kolibri/disabled-614216e9.js +0 -4
- package/dist/kolibri/has-closer-4415fbda.js +0 -4
- package/dist/kolibri/hide-label-53a9f681.js +0 -4
- package/dist/kolibri/hide-label-53a9f681.js.map +0 -1
- package/dist/kolibri/i18n-a5618943.js +0 -4
- package/dist/kolibri/i18n-a5618943.js.map +0 -1
- package/dist/kolibri/image-source-a6d9c13f.js +0 -4
- package/dist/kolibri/label-35927418.js +0 -4
- package/dist/kolibri/prop.validators-e3c93395.js +0 -4
- package/dist/kolibri/prop.validators-e3c93395.js.map +0 -1
- package/dist/kolibri/show-d72ff77e.js +0 -4
- package/dist/kolibri/validation-a9f13bf5.js +0 -4
- package/dist/kolibri/validation-bbab8795.js +0 -4
- package/dist/types/utils/validators/list.d.ts +0 -2
- /package/dist/kolibri/{app-globals-e49e1503.js.map → app-globals-dc76be42.js.map} +0 -0
- /package/dist/kolibri/{controller-d9c05ca2.js.map → controller-dcbc36ee.js.map} +0 -0
- /package/dist/kolibri/{controller-cbd99b24.js.map → controller-e72e2e76.js.map} +0 -0
- /package/dist/kolibri/{has-closer-4415fbda.js.map → has-closer-021264e3.js.map} +0 -0
- /package/dist/kolibri/{icon-ae60c121.js.map → icon-2102545a.js.map} +0 -0
- /package/dist/kolibri/{image-source-a6d9c13f.js.map → image-source-8a03ef69.js.map} +0 -0
- /package/dist/kolibri/{label-35927418.js.map → label-50013d13.js.map} +0 -0
- /package/dist/kolibri/{show-d72ff77e.js.map → show-a52e2865.js.map} +0 -0
- /package/dist/kolibri/{tab-index-841e81ba.js.map → tab-index-f3f891be.js.map} +0 -0
- /package/dist/kolibri/{validation-a9f13bf5.js.map → validation-0f08372b.js.map} +0 -0
- /package/dist/kolibri/{validation-bbab8795.js.map → validation-5659d279.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["watchTooltipAlignment","component","propName","value","watchValidator","Set","defaultValue"],"sources":["src/types/button-link.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Events } from '../enums/events';\nimport { watchValidator } from '../utils/prop.validators';\nimport { EventCallback, EventValueOrEventCallback } from './callbacks';\nimport { Stringified } from './common';\nimport { KoliBriAllIcon, KoliBriIconProp } from './icon';\nimport { Align } from './props/align';\nimport { PropAriaControls } from './props/aria-controls';\nimport { PropAriaCurrent, PropListenAriaCurrent } from './props/aria-current';\nimport { PropAriaExpanded } from './props/aria-expanded';\nimport { PropAriaLabel } from './props/aria-label';\nimport { PropAriaSelected } from './props/aria-selected';\nimport { PropDisabled } from './props/disabled';\nimport { PropDownload } from './props/download';\nimport { PropHideLabel } from './props/hide-label';\nimport { PropHref } from './props/href';\nimport { PropLabelWithExpertSlot } from './props/label';\nimport { PropStealth } from './props/stealth';\n\nexport type AlternativButtonLinkRole = 'button' | 'link' | 'tab';\n\n/**\n * https://twitter.com/housecor/status/1541037184622403584?t=HoUiOAZEcXFeuDl-VWAEZg\n * https://mui.com/material-ui/react-link/#accessibility\n * https://mui.com/material-ui/react-button/#text-button\n */\ntype OptionalButtonAndLinkProps = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\ticon: Stringified<KoliBriIconProp>;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropAriaLabel &\n\tPropHideLabel;\n\ntype RequiredButtonAndLinkStates = {\n\ticon: KoliBriAllIcon;\n};\ntype OptionalButtonAndLinkStates = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropHideLabel;\n\n/**\n * Button\n * TODO: 'tertiary' instead of 'normal'\n */\nexport type KoliBriButtonType = 'button' | 'reset' | 'submit';\nexport type KoliBriButtonVariant = 'primary' | 'secondary' | 'normal' | 'tertiary' | 'danger' | 'ghost' | 'custom';\n\nexport type KoliBriButtonCallbacks<T> = {\n\t[Events.onClick]?: EventValueOrEventCallback<MouseEvent, T>;\n\t[Events.onMouseDown]?: EventCallback<MouseEvent>;\n};\n\nexport type KoliBriButtonVariantPropState = {\n\tvariant: KoliBriButtonVariant;\n};\nexport type KoliBriButtonCustomClassPropState = {\n\tcustomClass: string;\n};\n\n/**\n * API ButtonLink\n */\nexport type RequiredButtonLinkProps = unknown;\nexport type OptionalButtonLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated Zweck?!\n\t */\n\taccessKey: string;\n\tdisabled: boolean;\n\tid: string;\n\ton: KoliBriButtonCallbacks<unknown>;\n\ttype: KoliBriButtonType;\n\tvalue: Stringified<unknown>;\n} & PropLabelWithExpertSlot;\n// type ButtonLinkProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\ntype RequiredButtonLinkStates = RequiredButtonAndLinkStates &\n\tPropLabelWithExpertSlot &\n\tKoliBriButtonVariantPropState & {\n\t\ttype: KoliBriButtonType;\n\t};\ntype OptionalButtonLinkStates = OptionalButtonAndLinkStates &\n\tKoliBriButtonCustomClassPropState & {\n\t\t/**\n\t\t * @deprecated Zweck?!\n\t\t */\n\t\taccessKey: string;\n\t\tdisabled: boolean;\n\t\tid: string;\n\t\ton: KoliBriButtonCallbacks<unknown>;\n\t\tvalue: unknown;\n\t};\n// type ButtonLinkStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/**\n * API Button\n */\nexport type RequiredButtonProps = RequiredButtonLinkProps & PropLabelWithExpertSlot;\nexport type OptionalButtonProps = OptionalButtonLinkProps &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonVariantPropState &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\nexport type RequiredButtonStates = RequiredButtonLinkStates & KoliBriButtonVariantPropState & PropLabelWithExpertSlot;\nexport type OptionalButtonStates = OptionalButtonLinkStates &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/* LINK */\n\n/**\n * @deprecated Link should not use the on-click event. Use a button instead.\n */\nexport type LinkOnCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n// https://www.w3schools.com/tags/att_a_target.asp\nexport type LinkTarget = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * @deprecated Will be removed in next major release.\n */\nexport type LinkUseCase = 'text' | 'image' | 'nav';\n\n/**\n * API Link\n */\ntype RequiredLinkProps = PropHref;\ntype OptionalLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropLabelWithExpertSlot &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkProps = Generic.Element.Members<RequiredLinkProps, OptionalLinkProps>;\n\ntype RequiredLinkStates = RequiredButtonAndLinkStates & PropHref & PropLabelWithExpertSlot;\ntype OptionalLinkStates = OptionalButtonAndLinkStates & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkStates = Generic.Element.Members<RequiredLinkStates, OptionalLinkStates>;\nexport type KoliBriLinkAPI = Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates>;\n\n/**\n * API LinkButton\n */\n// type RequiredLinkButtonProps = RequiredLinkProps;\n// type OptionalLinkButtonProps = OptionalLinkProps & KoliBriButtonVariantPropState & KoliBriButtonCustomClassPropState;\n// type LinkButtonProps = Generic.Element.Members<RequiredLinkButtonProps, OptionalLinkButtonProps>;\n\n// type RequiredLinkButtonStates = KoliBriButtonVariantPropState;\n// type OptionalLinkButtonStates = KoliBriButtonCustomClassPropState;\n// type LinkButtonStates = Generic.Element.Members<RequiredLinkButtonStates, OptionalLinkButtonStates>;\n\nexport const watchTooltipAlignment = (component: Generic.Element.Component, propName: string, value?: Align): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'top' || value === 'right' || value === 'bottom' || value === 'left',\n\t\tnew Set(['Alignment {top, right, buttom, left}']),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'top',\n\t\t}\n\t);\n};\n"],"mappings":";;;wDAqPaA,EAAwB,CAACC,EAAsCC,EAAkBC,KAC7FC,EACCH,EACAC,GACCC,GAAUA,IAAU,OAASA,IAAU,SAAWA,IAAU,UAAYA,IAAU,QACnF,IAAIE,IAAI,CAAC,yCACTF,EACA,CACCG,aAAc,OAEf,S"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{r as e,b as r,w as a}from"./prop.validators-464644b7.js";import{a as t}from"./a11y.tipps-d701911f.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},d=new Map,c=(e,r,a,o=1)=>{if(d.has(e))return d.get(e);const t=f(e,r,a,o);return d.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=c([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r};if(k(r))return{type:"DeprecatedColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r};const a=e;if(k(a))return{type:"DeprecatedColorPair",valid:!0,value:a}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){return"object"==typeof e&&e&&"string"==typeof e.backgroundColor&&"string"==typeof e.color}function w(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":case"DeprecatedColorPair":return r.valid}}const M=(e,r,o)=>{a(e,"_color",w,new Set(["rgb in hex","ColorPair"]),r,o)},$=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":case"DeprecatedColorPair":{const e=o.value,t=o.value;let n="";t.color?n=t.color:"string"==typeof e.foregroundColor?n=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(n=e.foregroundColor.primary),n&&"string"==typeof n||(n="#fff"),a=p({background:e.backgroundColor,foreground:n});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,$ as h,M as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","toLowerCase","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","HEX_REGEX","isHexString","isColorObjectString","startsWith","JSON","isValidColorPair","type","isValidDeprecatedColorPair","error","typeOfColor","valid","colorObject","asColorPair","asDeprecatedColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","validatorFunction","valueType","validateColor","component","options","watchValidator","Set","handleColorChange","_a","console","warn","stringify","a11yHint"],"sources":["node_modules/color-name/index.js","node_modules/color-parse/index.js","node_modules/color-rgba/index.js","src/components/badge/contrast.ts","src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\r\n * @module color-parse\r\n */\r\n\r\n'use strict'\r\n\r\nvar names = require('color-name')\r\n\r\nmodule.exports = parse\r\n\r\n/**\r\n * Base hues\r\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\r\n */\r\n//FIXME: use external hue detector\r\nvar baseHues = {\r\n\tred: 0,\r\n\torange: 60,\r\n\tyellow: 120,\r\n\tgreen: 180,\r\n\tblue: 240,\r\n\tpurple: 300\r\n}\r\n\r\n/**\r\n * Parse color from the string passed\r\n *\r\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\r\n */\r\nfunction parse (cstr) {\r\n\tvar m, parts = [], alpha = 1, space\r\n\r\n\tif (typeof cstr === 'string') {\r\n\t\t//keyword\r\n\t\tif (names[cstr]) {\r\n\t\t\tparts = names[cstr].slice()\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//reserved words\r\n\t\telse if (cstr === 'transparent') {\r\n\t\t\talpha = 0\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [0,0,0]\r\n\t\t}\r\n\r\n\t\t//hex\r\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\r\n\t\t\tvar base = cstr.slice(1)\r\n\t\t\tvar size = base.length\r\n\t\t\tvar isShort = size <= 4\r\n\t\t\talpha = 1\r\n\r\n\t\t\tif (isShort) {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\r\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 4) {\r\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\r\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 8) {\r\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!parts[0]) parts[0] = 0\r\n\t\t\tif (!parts[1]) parts[1] = 0\r\n\t\t\tif (!parts[2]) parts[2] = 0\r\n\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//color space\r\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\r\n\t\t\tvar name = m[1]\r\n\t\t\tvar isRGB = name === 'rgb'\r\n\t\t\tvar base = name.replace(/a$/, '')\r\n\t\t\tspace = base\r\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\r\n\t\t\tparts = m[2].trim()\r\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\r\n\t\t\t\t.map(function (x, i) {\r\n\t\t\t\t\t//<percentage>\r\n\t\t\t\t\tif (/%$/.test(x)) {\r\n\t\t\t\t\t\t//alpha\r\n\t\t\t\t\t\tif (i === size)\treturn parseFloat(x) / 100\r\n\t\t\t\t\t\t//rgb\r\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\r\n\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//hue\r\n\t\t\t\t\telse if (base[i] === 'h') {\r\n\t\t\t\t\t\t//<deg>\r\n\t\t\t\t\t\tif (/deg$/.test(x)) {\r\n\t\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//<base-hue>\r\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\r\n\t\t\t\t\t\t\treturn baseHues[x]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t})\r\n\r\n\t\t\tif (name === base) parts.push(1)\r\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\r\n\t\t\tparts = parts.slice(0, size)\r\n\t\t}\r\n\r\n\t\t//named channels case\r\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\r\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\r\n\t\t\t\treturn parseFloat(value)\r\n\t\t\t})\r\n\r\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\r\n\t\t}\r\n\t}\r\n\r\n\t//numeric case\r\n\telse if (!isNaN(cstr)) {\r\n\t\tspace = 'rgb'\r\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\r\n\t}\r\n\r\n\t//array-like\r\n\telse if (Array.isArray(cstr) || cstr.length) {\r\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\r\n\t\tspace = 'rgb'\r\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\r\n\t}\r\n\r\n\t//object case - detects css cases of rgb and hsl\r\n\telse if (cstr instanceof Object) {\r\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\r\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\r\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\r\n\t\t\t]\r\n\t\t}\r\n\t\telse {\r\n\t\t\tspace = 'hsl'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\r\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\r\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\r\n\t\t\t]\r\n\t\t}\r\n\r\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\r\n\r\n\t\tif (cstr.opacity != null) alpha /= 100\r\n\t}\r\n\r\n\treturn {\r\n\t\tspace: space,\r\n\t\tvalues: parts,\r\n\t\talpha: alpha\r\n\t}\r\n}\r\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","import { RGB } from 'color-convert/conversions';\nimport { hex } from 'wcag-contrast';\n\nimport { colorRgba } from './color-rgba';\nimport { rgbaConvert } from './rgba-convert';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\n/**\n * @deprecated\n */\ntype DeprecatedColorPair = {\n\tbackgroundColor: string;\n\t/**\n\t * @deprecated Please use `foregroundColor` instead of `color`.\n\t */\n\tcolor: string;\n};\n\nexport type PropColor = ColorPair | DeprecatedColorPair;\n\ntype typeOfColorType = 'string' | 'ColorPair' | 'DeprecatedColorPair' | null;\n\nconst HEX_REGEX = /^#((\\d|[a-f]){8}|(\\d|[a-f]){6}|(\\d|[a-f]){3,4})$/i;\nfunction isHexString(value: string): boolean {\n\treturn HEX_REGEX.test(value);\n}\n/* checks if the string is valid JSON and if the resulting object is a valid ColorPair or DeprecatedColorPair and returns it, or null if invalid. */\nfunction isColorObjectString(value: string): { type: typeOfColorType; value: PropColor | null } {\n\tif (value.startsWith('{')) {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(value) as unknown;\n\t\t\tif (isValidColorPair(parsed as ColorPair)) return { type: 'ColorPair', value: parsed as ColorPair };\n\t\t\tif (isValidDeprecatedColorPair(parsed as DeprecatedColorPair)) return { type: 'DeprecatedColorPair', value: parsed as DeprecatedColorPair };\n\t\t} catch (error) {\n\t\t\treturn { type: null, value: null };\n\t\t}\n\t}\n\treturn { type: null, value: null };\n}\n\nfunction typeOfColor(value?: unknown): { type: typeOfColorType; valid: boolean; value: PropColor | string } {\n\tif (value) {\n\t\tif (typeof value === 'string') {\n\t\t\tif (isHexString(value)) return { type: 'string', valid: true, value: value };\n\t\t\telse {\n\t\t\t\tconst colorObject = isColorObjectString(value);\n\t\t\t\tif (colorObject.value) return { type: colorObject.type, valid: true, value: colorObject.value };\n\t\t\t}\n\t\t} else {\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tif (isValidColorPair(asColorPair)) return { type: 'ColorPair', valid: true, value: asColorPair };\n\t\t\tconst asDeprecatedColorPair = value as DeprecatedColorPair;\n\t\t\tif (isValidDeprecatedColorPair(asDeprecatedColorPair)) return { type: 'DeprecatedColorPair', valid: true, value: asDeprecatedColorPair };\n\t\t}\n\t}\n\treturn { type: null, valid: false, value: '' };\n}\n\n/* validate different color options */\nfunction isValidColorPair(value: ColorPair): boolean {\n\treturn !!(\n\t\ttypeof value === 'object' &&\n\t\tvalue &&\n\t\ttypeof value.backgroundColor === 'string' &&\n\t\t(typeof value.foregroundColor === 'string' ||\n\t\t\t(value.foregroundColor &&\n\t\t\t\ttypeof value.foregroundColor.primary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.secondary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.neutral === 'string'))\n\t);\n}\nfunction isValidDeprecatedColorPair(value: DeprecatedColorPair): boolean {\n\treturn typeof value === 'object' && value && typeof value.backgroundColor === 'string' && typeof value.color === 'string';\n}\n\nfunction validatorFunction(value?: Stringified<PropColor>): boolean {\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase null:\n\t\t\treturn false;\n\t\tcase 'string':\n\t\tcase 'ColorPair':\n\t\tcase 'DeprecatedColorPair':\n\t\t\treturn valueType.valid;\n\t}\n}\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);\n};\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet colorContrast: ColorContrast<string>;\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase 'string':\n\t\t\tcolorContrast = createContrastColorPair(valueType.value as string);\n\t\t\tbreak;\n\t\tcase 'ColorPair':\n\t\tcase 'DeprecatedColorPair': {\n\t\t\tconst asColorPair = valueType.value as ColorPair;\n\t\t\tconst asDeprecatedColorPair = valueType.value as DeprecatedColorPair;\n\t\t\tlet foreground = '';\n\t\t\tif (asDeprecatedColorPair.color) foreground = asDeprecatedColorPair.color;\n\t\t\telse {\n\t\t\t\tif (typeof asColorPair.foregroundColor === 'string') foreground = asColorPair.foregroundColor;\n\t\t\t\telse if (asColorPair.foregroundColor?.primary) foreground = asColorPair.foregroundColor.primary;\n\t\t\t}\n\t\t\tif (!foreground || typeof foreground !== 'string') foreground = '#fff';\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\t\tforeground,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase null:\n\t\t\tconsole.warn(`_color was empty or invalid (${JSON.stringify(value)})`);\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: '#000',\n\t\t\t\tforeground: '#000',\n\t\t\t});\n\t}\n\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is to low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\n\t};\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","toLowerCase","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","HEX_REGEX","isHexString","isColorObjectString","startsWith","JSON","isValidColorPair","type","isValidDeprecatedColorPair","error","typeOfColor","valid","colorObject","asColorPair","asDeprecatedColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","validatorFunction","valueType","validateColor","component","options","watchValidator","Set","handleColorChange","_a","console","warn","stringify","a11yHint"],"sources":["node_modules/color-name/index.js","node_modules/color-parse/index.js","node_modules/color-rgba/index.js","src/components/badge/contrast.ts","src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\r\n * @module color-parse\r\n */\r\n\r\n'use strict'\r\n\r\nvar names = require('color-name')\r\n\r\nmodule.exports = parse\r\n\r\n/**\r\n * Base hues\r\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\r\n */\r\n//FIXME: use external hue detector\r\nvar baseHues = {\r\n\tred: 0,\r\n\torange: 60,\r\n\tyellow: 120,\r\n\tgreen: 180,\r\n\tblue: 240,\r\n\tpurple: 300\r\n}\r\n\r\n/**\r\n * Parse color from the string passed\r\n *\r\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\r\n */\r\nfunction parse (cstr) {\r\n\tvar m, parts = [], alpha = 1, space\r\n\r\n\tif (typeof cstr === 'string') {\r\n\t\t//keyword\r\n\t\tif (names[cstr]) {\r\n\t\t\tparts = names[cstr].slice()\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//reserved words\r\n\t\telse if (cstr === 'transparent') {\r\n\t\t\talpha = 0\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [0,0,0]\r\n\t\t}\r\n\r\n\t\t//hex\r\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\r\n\t\t\tvar base = cstr.slice(1)\r\n\t\t\tvar size = base.length\r\n\t\t\tvar isShort = size <= 4\r\n\t\t\talpha = 1\r\n\r\n\t\t\tif (isShort) {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\r\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 4) {\r\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\r\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 8) {\r\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!parts[0]) parts[0] = 0\r\n\t\t\tif (!parts[1]) parts[1] = 0\r\n\t\t\tif (!parts[2]) parts[2] = 0\r\n\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//color space\r\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\r\n\t\t\tvar name = m[1]\r\n\t\t\tvar isRGB = name === 'rgb'\r\n\t\t\tvar base = name.replace(/a$/, '')\r\n\t\t\tspace = base\r\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\r\n\t\t\tparts = m[2].trim()\r\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\r\n\t\t\t\t.map(function (x, i) {\r\n\t\t\t\t\t//<percentage>\r\n\t\t\t\t\tif (/%$/.test(x)) {\r\n\t\t\t\t\t\t//alpha\r\n\t\t\t\t\t\tif (i === size)\treturn parseFloat(x) / 100\r\n\t\t\t\t\t\t//rgb\r\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\r\n\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//hue\r\n\t\t\t\t\telse if (base[i] === 'h') {\r\n\t\t\t\t\t\t//<deg>\r\n\t\t\t\t\t\tif (/deg$/.test(x)) {\r\n\t\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//<base-hue>\r\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\r\n\t\t\t\t\t\t\treturn baseHues[x]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t})\r\n\r\n\t\t\tif (name === base) parts.push(1)\r\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\r\n\t\t\tparts = parts.slice(0, size)\r\n\t\t}\r\n\r\n\t\t//named channels case\r\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\r\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\r\n\t\t\t\treturn parseFloat(value)\r\n\t\t\t})\r\n\r\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\r\n\t\t}\r\n\t}\r\n\r\n\t//numeric case\r\n\telse if (!isNaN(cstr)) {\r\n\t\tspace = 'rgb'\r\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\r\n\t}\r\n\r\n\t//array-like\r\n\telse if (Array.isArray(cstr) || cstr.length) {\r\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\r\n\t\tspace = 'rgb'\r\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\r\n\t}\r\n\r\n\t//object case - detects css cases of rgb and hsl\r\n\telse if (cstr instanceof Object) {\r\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\r\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\r\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\r\n\t\t\t]\r\n\t\t}\r\n\t\telse {\r\n\t\t\tspace = 'hsl'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\r\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\r\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\r\n\t\t\t]\r\n\t\t}\r\n\r\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\r\n\r\n\t\tif (cstr.opacity != null) alpha /= 100\r\n\t}\r\n\r\n\treturn {\r\n\t\tspace: space,\r\n\t\tvalues: parts,\r\n\t\talpha: alpha\r\n\t}\r\n}\r\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","import { RGB } from 'color-convert/conversions';\nimport { hex } from 'wcag-contrast';\n\nimport { colorRgba } from './color-rgba';\nimport { rgbaConvert } from './rgba-convert';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\n/**\n * @deprecated\n */\ntype DeprecatedColorPair = {\n\tbackgroundColor: string;\n\t/**\n\t * @deprecated Please use `foregroundColor` instead of `color`.\n\t */\n\tcolor: string;\n};\n\nexport type PropColor = ColorPair | DeprecatedColorPair;\n\ntype typeOfColorType = 'string' | 'ColorPair' | 'DeprecatedColorPair' | null;\n\nconst HEX_REGEX = /^#((\\d|[a-f]){8}|(\\d|[a-f]){6}|(\\d|[a-f]){3,4})$/i;\nfunction isHexString(value: string): boolean {\n\treturn HEX_REGEX.test(value);\n}\n/* checks if the string is valid JSON and if the resulting object is a valid ColorPair or DeprecatedColorPair and returns it, or null if invalid. */\nfunction isColorObjectString(value: string): { type: typeOfColorType; value: PropColor | null } {\n\tif (value.startsWith('{')) {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(value) as unknown;\n\t\t\tif (isValidColorPair(parsed as ColorPair)) return { type: 'ColorPair', value: parsed as ColorPair };\n\t\t\tif (isValidDeprecatedColorPair(parsed as DeprecatedColorPair)) return { type: 'DeprecatedColorPair', value: parsed as DeprecatedColorPair };\n\t\t} catch (error) {\n\t\t\treturn { type: null, value: null };\n\t\t}\n\t}\n\treturn { type: null, value: null };\n}\n\nfunction typeOfColor(value?: unknown): { type: typeOfColorType; valid: boolean; value: PropColor | string } {\n\tif (value) {\n\t\tif (typeof value === 'string') {\n\t\t\tif (isHexString(value)) return { type: 'string', valid: true, value: value };\n\t\t\telse {\n\t\t\t\tconst colorObject = isColorObjectString(value);\n\t\t\t\tif (colorObject.value) return { type: colorObject.type, valid: true, value: colorObject.value };\n\t\t\t}\n\t\t} else {\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tif (isValidColorPair(asColorPair)) return { type: 'ColorPair', valid: true, value: asColorPair };\n\t\t\tconst asDeprecatedColorPair = value as DeprecatedColorPair;\n\t\t\tif (isValidDeprecatedColorPair(asDeprecatedColorPair)) return { type: 'DeprecatedColorPair', valid: true, value: asDeprecatedColorPair };\n\t\t}\n\t}\n\treturn { type: null, valid: false, value: '' };\n}\n\n/* validate different color options */\nfunction isValidColorPair(value: ColorPair): boolean {\n\treturn !!(\n\t\ttypeof value === 'object' &&\n\t\tvalue &&\n\t\ttypeof value.backgroundColor === 'string' &&\n\t\t(typeof value.foregroundColor === 'string' ||\n\t\t\t(value.foregroundColor &&\n\t\t\t\ttypeof value.foregroundColor.primary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.secondary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.neutral === 'string'))\n\t);\n}\nfunction isValidDeprecatedColorPair(value: DeprecatedColorPair): boolean {\n\treturn typeof value === 'object' && value && typeof value.backgroundColor === 'string' && typeof value.color === 'string';\n}\n\nfunction validatorFunction(value?: Stringified<PropColor>): boolean {\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase null:\n\t\t\treturn false;\n\t\tcase 'string':\n\t\tcase 'ColorPair':\n\t\tcase 'DeprecatedColorPair':\n\t\t\treturn valueType.valid;\n\t}\n}\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);\n};\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet colorContrast: ColorContrast<string>;\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase 'string':\n\t\t\tcolorContrast = createContrastColorPair(valueType.value as string);\n\t\t\tbreak;\n\t\tcase 'ColorPair':\n\t\tcase 'DeprecatedColorPair': {\n\t\t\tconst asColorPair = valueType.value as ColorPair;\n\t\t\tconst asDeprecatedColorPair = valueType.value as DeprecatedColorPair;\n\t\t\tlet foreground = '';\n\t\t\tif (asDeprecatedColorPair.color) foreground = asDeprecatedColorPair.color;\n\t\t\telse {\n\t\t\t\tif (typeof asColorPair.foregroundColor === 'string') foreground = asColorPair.foregroundColor;\n\t\t\t\telse if (asColorPair.foregroundColor?.primary) foreground = asColorPair.foregroundColor.primary;\n\t\t\t}\n\t\t\tif (!foreground || typeof foreground !== 'string') foreground = '#fff';\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\t\tforeground,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase null:\n\t\t\tconsole.warn(`_color was empty or invalid (${JSON.stringify(value)})`);\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: '#000',\n\t\t\t\tforeground: '#000',\n\t\t\t});\n\t}\n\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is to low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\n\t};\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{a as t,d as i,s as e,o as s,p as a}from"./prop.validators-464644b7.js";import{a as n}from"./label-50013d13.js";import{d as h,g as o,h as r}from"./a11y.tipps-d701911f.js";import{v as d}from"./tab-index-f3f891be.js";import{b as l}from"./dev.utils-d53ab83f.js";const f=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,i="string"==typeof t._hint&&t._hint.length>0,o=[];return!0===e&&o.push(`${t._id}-error`),!0===i&&o.push(`${t._id}-hint`),{hasError:e,hasHint:i,ariaDescribedBy:o}},u=(e,i)=>{t(e,"_adjustHeight",i)},c=(e,i)=>{t(e,"_touched",i)},v=l();class p{constructor(t,e,i){var o,n;if(this.setFormAssociatedValue=t=>{var e;const i=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==i&&""!==i||h(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const o=this.tryToStringifyValue(t);this.syncValue(t,o,this.formAssociated),this.syncValue(t,o,this.syncToOwnInput)},this.component=t,this.name=e,this.host=i,v){switch(null===(o=this.host)||void 0===o||o.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(n=this.host)||void 0===n||n.appendChild(this.formAssociated)}}setAttribute(t,e,i){if(v)try{if("boolean"!=typeof(i="object"==typeof i&&null!==i?JSON.stringify(i):i)&&"number"!=typeof i&&"string"!=typeof i)throw new Error("Invalid value type: "+typeof i);null==e||e.setAttribute(t,`${i}`)}catch(i){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return o(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,i){if(i)if("select"===this.name)i.querySelectorAll("option").forEach((t=>{i.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),i.appendChild(t)}}));else"string"==typeof e?(i.setAttribute("value",e),i.value=e):(i.removeAttribute("value"),i.value="")}validateAlert(e){t(this.component,"_alert",e)}validateSyncValueBySelector(t){if(v&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){c(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class m extends p{constructor(t,e,i){super(t,e,i),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){u(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideLabel(e){t(this.component,"_hideLabel",e)}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||h("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){n(this.component,t)}validateName(t){i(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&h("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&e(this.component,"_on",t)}validateSmartButton(t){s(t,(()=>{try{t=a(t)}catch(t){}e(this.component,"_smartButton",t)}))}validateTabIndex(t){d(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const i=t.target.value;this.setFormAssociatedValue(i),this.valueChangeListeners.forEach((t=>t(i))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,i)}onClick(t){var e;"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var i;this.setFormAssociatedValue(e),"function"==typeof(null===(i=this.component._on)||void 0===i?void 0:i.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{m as I,f as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","EXPERIMENTAL_MODE","getExperimentalMode","ControlledInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","validateAlert","validateSyncValueBySelector","input","querySelector","componentWillLoad","_alert","_syncValueBySelector","InputController","super","hideLabel","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","validateHint","validateId","hooks","afterPatch","minLength","validateLabel","validateLabelWithExpertSlot","validateName","_name","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","validateTabIndex","_accessKey","_adjustHeight","_disabled","_hideLabel","_label","_smartButton","_on","_tabIndex","event","target","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { StencilUnknown } from '../../components';\nimport { validateTouched } from '../../types/props/touched';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{v as s,I as t}from"./controller-f62e9f3a.js";import{w as e}from"./prop.validators-464644b7.js";import{v as i}from"./suggestions-58939476.js";class a extends t{constructor(t,s,o){super(t,s,o),this.component=t}validateList(){}validateSuggestions(t){i(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class r extends a{constructor(t,s,o){super(t,s,o),this.hasError=!1,this.component=t}validateType(t){e(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{a as I,r as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["InputTextEmailController","InputPasswordController","constructor","component","name","host","super","this","validateList","validateSuggestions","value","componentWillLoad","_suggestions","_list","InputTextController","hasError","validateType","watchValidator","Set","validateHasCounter","_type","_hasCounter"],"sources":["src/components/input-text/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { InputTextType } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\tid: string;\n\tlist: Stringified<string[]>;\n} & PropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\t/**\n\t * @deprecated remains to satisfy `Watches` interface\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tpublic validateList(): void {}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions || this.component._list);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'text' || value === 'search' || value === 'url' || value === 'tel'),\n\t\t\tnew Set(['String {text, search, url, tel}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"mappings":";;;0JAmBaA,UAAiCC,EAG7C,WAAAC,CAAmBC,EAA4DC,EAAcC,GAC5FC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAOX,YAAAK,GAAY,CAEZ,mBAAAC,CAAoBC,GAC1BD,EAAoBF,KAAKJ,UAAWO,E,CAG9B,iBAAAC,GACNL,MAAMK,oBACNJ,KAAKE,oBAAoBF,KAAKJ,UAAUS,cAAgBL,KAAKJ,UAAUU,M,QAI5DC,UAA4Bd,EAKxC,WAAAE,CAAmBC,EAAuDC,EAAcC,GACvFC,MAAMH,EAAWC,EAAMC,GAHjBE,KAAAQ,SAAW,MAIjBR,KAAKJ,UAAYA,C,CAGX,YAAAa,CAAaN,GACnBO,EACCV,KAAKJ,UACL,SACCO,UAA0BA,IAAU,WAAaA,IAAU,QAAUA,IAAU,UAAYA,IAAU,OAASA,IAAU,QACzH,IAAIQ,IAAI,CAAC,oCACTR,E,CAIK,kBAAAS,CAAmBT,GACzBS,EAAmBZ,KAAKJ,UAAWO,E,CAG7B,iBAAAC,GACNL,MAAMK,oBACNJ,KAAKS,aAAaT,KAAKJ,UAAUiB,OACjCb,KAAKY,mBAAmBZ,KAAKJ,UAAUkB,Y"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{a as t,c as e,w as s,m as i,s as o}from"./prop.validators-464644b7.js";import{S as a}from"./reuse-c2156413.js";import{I as r}from"./controller-3591f4ce.js";import{h as n,c as l}from"./label-50013d13.js";import{a as h}from"./a11y.tipps-d701911f.js";const f=(e,o)=>{t(e,"_required",o)},c=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===n(t.label,3)&&!1===l(t.label)&&h(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===c(t)));if("number"==typeof t.label)return!0}return!1},u=(t,o,i={})=>{e(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},p=(t,o,i={})=>{e(t,"_options",c,o,void 0,i)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class m extends r{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){f(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class b extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){u(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,o(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(a)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{m as I,b as a,d as f,p as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["validateRequired","component","value","watchBoolean","validateInputSelectOptions","option","label","length","disabled","trim","hasEnoughReadableChars","containsOnlyNumbers","a11yHint","Array","isArray","options","find","item","undefined","validateOptions","watchJsonArrayString","validateOptionsWithOptgroup","fillKeyOptionMap","keyOptionMap","preKey","forEach","index","key","set","InputCheckboxRadioController","InputController","constructor","name","host","super","this","componentWillLoad","_required","InputRadioController","Map","getOptionByKey","get","isValueInOptions","beforePatchOptions","_value","nextState","has","state","_options","clear","newValue","onStateChange","validateOrientation","watchValidator","Set","defaultValue","hooks","beforePatch","validateValue","mapString2Unknown","setState","setFormAssociatedValue","onChange","timeout","setTimeout","clearTimeout","STATE_CHANGE_EVENT","_orientation","_list"],"sources":["src/types/props/required.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Eingabeelement zu einem Pflichtfeld.\n */\n/** en\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: boolean;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { validateRequired } from '../../types/props/required';\nimport { W3CInputValue } from '../../types/w3c';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? value[0] : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options || this.component._list);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{d as e}from"./a11y.tipps-
|
|
4
|
+
import{d as e}from"./a11y.tipps-d701911f.js";import{b as o}from"./dev.utils-d53ab83f.js";import{f as t,K as n}from"./prop.validators-464644b7.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{
|
|
4
|
+
import{w as t}from"./prop.validators-464644b7.js";const o=(o,r,a)=>{t(o,r,(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),a)},r=(o,r,a)=>{t(o,r,(t=>"primary"===t||"secondary"===t||"normal"===t||"danger"===t||"ghost"===t||"custom"===t),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),a,{defaultValue:"normal"})};export{o as a,r as w};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{
|
|
4
|
+
import{a as t,w as e,e as i,d as s}from"./prop.validators-464644b7.js";import{d as a}from"./a11y.tipps-d701911f.js";import{I as h}from"./controller-icon-2591b7eb.js";const n=(e,a)=>{t(e,"_hasCounter",a)};class o extends h{constructor(e,t,n){super(e,t,n),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(a("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(t){e(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),t)}validateHasCounter(e){n(this.component,e)}validateHideLabel(e){t(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){i(this.component,"_maxLength",e,{min:0})}validatePattern(e){s(this.component,"_pattern",e)}validatePlaceholder(e){s(this.component,"_placeholder",e)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){i(this.component,"_size",e,{min:1})}validateValue(e){s(this.component,"_value",e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{o as I,n as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","handleHiddenLabelAndRequired","state","_hideLabel","_required","devHint","hideLabel","validateAutoComplete","watchValidator","Set","validateHideLabel","hooks","afterPatch","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateValue","setFormAssociatedValue","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Zeigt die Zeichenanzahlanzeige am unteren Rand des EIngabefeldes.\n */\n/** en\n * Shows the the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: boolean;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate handleHiddenLabelAndRequired = (): void => {\n\t\tif (this.component.state._hideLabel === true && this.component.state._required === true) {\n\t\t\tdevHint(`[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist.`);\n\t\t\tthis.hideLabel = false;\n\t\t} else {\n\t\t\tthis.hideLabel = this.component.state._hideLabel === true;\n\t\t}\n\t};\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSize(value?: number): void {\n\t\twatchNumber(this.component, '_size', value, {\n\t\t\tmin: 1,\n\t\t});\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateSize(this.component._size);\n\t\tthis.validateValue(this.component._value);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\t/**\n\t\t * Beim Screenreader NVDA wird der Placeholder mit\n\t\t * vorgelesen. Somit kann es vorkommen, dass das\n\t\t * Label und der Placeholder vorgelesen werden.\n\t\t *\n\t\t * Aufgrund dessen, dass das Label immer vorgelesen\n\t\t * werden muss, kann das zusätzliche Vorlesen des\n\t\t * Placeholders störend sein.\n\t\t *\n\t\t * Damit beim Fokussieren das \"doppelte\" vorlesen\n\t\t * vermieden werden kann, wird der Placeholder für\n\t\t * den fokussierten Feldstatus entfernt.\n\t\t *\n\t\t * Hinweis: Für alle Nutzenden müssen die all dar-\n\t\t * gestellten Inhalte, also auch der Place-\n\t\t * holder, gleichermaßen zugänglich sein.\n\t\t * Das oben beschriebene Handling erfüllt\n\t\t * diese Anforderung nicht.\n\t\t */\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: this.placeholderCache,\n\t\t};\n\t\tthis.placeholderCache = undefined;\n\t\tsuper.onBlur(event);\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.placeholderCache = this.component.state._placeholder as string;\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: undefined,\n\t\t};\n\t\tsuper.onFocus(event);\n\t}\n}\n"],"mappings":";;;4KAgBaA,EAAqB,CAACC,EAAsCC,KACxEC,EAAaF,EAAW,cAAeC,EAAM,E,MCRjCE,UAAgCC,
|
|
1
|
+
{"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","handleHiddenLabelAndRequired","state","_hideLabel","_required","devHint","hideLabel","validateAutoComplete","watchValidator","Set","validateHideLabel","hooks","afterPatch","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateValue","setFormAssociatedValue","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Zeigt die Zeichenanzahlanzeige am unteren Rand des EIngabefeldes.\n */\n/** en\n * Shows the the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: boolean;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate handleHiddenLabelAndRequired = (): void => {\n\t\tif (this.component.state._hideLabel === true && this.component.state._required === true) {\n\t\t\tdevHint(`[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist.`);\n\t\t\tthis.hideLabel = false;\n\t\t} else {\n\t\t\tthis.hideLabel = this.component.state._hideLabel === true;\n\t\t}\n\t};\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSize(value?: number): void {\n\t\twatchNumber(this.component, '_size', value, {\n\t\t\tmin: 1,\n\t\t});\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateSize(this.component._size);\n\t\tthis.validateValue(this.component._value);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\t/**\n\t\t * Beim Screenreader NVDA wird der Placeholder mit\n\t\t * vorgelesen. Somit kann es vorkommen, dass das\n\t\t * Label und der Placeholder vorgelesen werden.\n\t\t *\n\t\t * Aufgrund dessen, dass das Label immer vorgelesen\n\t\t * werden muss, kann das zusätzliche Vorlesen des\n\t\t * Placeholders störend sein.\n\t\t *\n\t\t * Damit beim Fokussieren das \"doppelte\" vorlesen\n\t\t * vermieden werden kann, wird der Placeholder für\n\t\t * den fokussierten Feldstatus entfernt.\n\t\t *\n\t\t * Hinweis: Für alle Nutzenden müssen die all dar-\n\t\t * gestellten Inhalte, also auch der Place-\n\t\t * holder, gleichermaßen zugänglich sein.\n\t\t * Das oben beschriebene Handling erfüllt\n\t\t * diese Anforderung nicht.\n\t\t */\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: this.placeholderCache,\n\t\t};\n\t\tthis.placeholderCache = undefined;\n\t\tsuper.onBlur(event);\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.placeholderCache = this.component.state._placeholder as string;\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: undefined,\n\t\t};\n\t\tsuper.onFocus(event);\n\t}\n}\n"],"mappings":";;;4KAgBaA,EAAqB,CAACC,EAAsCC,KACxEC,EAAaF,EAAW,cAAeC,EAAM,E,MCRjCE,UAAgCC,EAI5C,WAAAC,CAAmBL,EAA8CM,EAAcC,GAC9EC,MAAMR,EAAWM,EAAMC,GAIhBE,KAAAC,6BAA+B,KACtC,GAAID,KAAKT,UAAUW,MAAMC,aAAe,MAAQH,KAAKT,UAAUW,MAAME,YAAc,KAAM,CACxFC,EAAQ,oIACRL,KAAKM,UAAY,K,KACX,CACNN,KAAKM,UAAYN,KAAKT,UAAUW,MAAMC,aAAe,I,GARtDH,KAAKT,UAAYA,C,CAYX,oBAAAgB,CAAqBf,GAC3BgB,EACCR,KAAKT,UACL,iBACCC,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIiB,IAAI,CAAC,aACTjB,E,CAIK,kBAAAF,CAAmBE,GACzBF,EAAmBU,KAAKT,UAAWC,E,CAG7B,iBAAAkB,CAAkBlB,GACxBC,EAAaO,KAAKT,UAAW,aAAcC,EAAO,CACjDmB,MAAO,CACNC,WAAYZ,KAAKC,+B,CAKb,iBAAAY,CAAkBrB,GACxBsB,EAAYd,KAAKT,UAAW,aAAcC,EAAO,CAChDuB,IAAK,G,CAIA,eAAAC,CAAgBxB,GACtByB,EAAYjB,KAAKT,UAAW,WAAYC,E,CAGlC,mBAAA0B,CAAoB1B,GAC1ByB,EAAYjB,KAAKT,UAAW,eAAgBC,E,CAGtC,gBAAA2B,CAAiB3B,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,gBAAA4B,CAAiB5B,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,EAAO,CAChDmB,MAAO,CACNC,WAAYZ,KAAKC,+B,CAKb,YAAAoB,CAAa7B,GACnBsB,EAAYd,KAAKT,UAAW,QAASC,EAAO,CAC3CuB,IAAK,G,CAIA,aAAAO,CAAc9B,GACpByB,EAAYjB,KAAKT,UAAW,SAAUC,GACtCQ,KAAKuB,uBAAuBvB,KAAKT,UAAUW,MAAMsB,O,CAG3C,iBAAAC,GACN1B,MAAM0B,oBACNzB,KAAKO,qBAAqBP,KAAKT,UAAUmC,eACzC1B,KAAKV,mBAAmBU,KAAKT,UAAUoC,aACvC3B,KAAKa,kBAAkBb,KAAKT,UAAUqC,YACtC5B,KAAKgB,gBAAgBhB,KAAKT,UAAUsC,UACpC7B,KAAKkB,oBAAoBlB,KAAKT,UAAUuC,cACxC9B,KAAKmB,iBAAiBnB,KAAKT,UAAUwC,WACrC/B,KAAKoB,iBAAiBpB,KAAKT,UAAUa,WACrCJ,KAAKqB,aAAarB,KAAKT,UAAUyC,OACjChC,KAAKsB,cAActB,KAAKT,UAAUiC,O,CAGzB,MAAAS,CAAOC,GAoBhBlC,KAAKT,UAAUW,MAAKiC,OAAAC,OAAAD,OAAAC,OAAA,GAChBpC,KAAKT,UAAUW,OAAK,CACvB4B,aAAc9B,KAAKqC,mBAEpBrC,KAAKqC,iBAAmBC,UACxBvC,MAAMkC,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjBlC,KAAKqC,iBAAmBrC,KAAKT,UAAUW,MAAM4B,aAC7C9B,KAAKT,UAAUW,MAAKiC,OAAAC,OAAAD,OAAAC,OAAA,GAChBpC,KAAKT,UAAUW,OAAK,CACvB4B,aAAcQ,YAEfvC,MAAMwC,QAAQL,E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{i as o}from"./icon-
|
|
4
|
+
import{i as o}from"./icon-2102545a.js";import{o as t,p as s,w as i}from"./prop.validators-464644b7.js";import{i as r}from"./reuse-c2156413.js";import{I as e}from"./controller-3591f4ce.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class n extends e{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(e){t(e,(()=>{try{e=s(e)}catch(o){}i(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(r(t.left,1)||o(t.left)||r(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),e,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{n as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforePatchIcon","value","nextState","icon","isString","right","left","set","InputIconController","InputController","constructor","component","name","host","super","this","validateIcon","objectObjectHandler","parseJson","e","watchValidator","isIcon","Set","hooks","beforePatch","required","componentWillLoad","_icon"],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcon } from '../../../types/icon';\nimport { isIcon } from '../../../types/props/icon';\nimport { objectObjectHandler, parseJson, watchValidator } from '../../../utils/prop.validators';\nimport { isString } from '../../../utils/validator';\nimport { InputController } from './controller';\nimport { Props, Watches } from './types-icon';\n\nconst beforePatchIcon = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icon = value as KoliBriHorizontalIcon;\n\tif (typeof icon === 'object' && icon !== null) {\n\t\tif (isString(icon.right, 1)) {\n\t\t\ticon.right = { icon: icon.right as string };\n\t\t}\n\t\tif (isString(icon.left, 1)) {\n\t\t\ticon.left = { icon: icon.left as string };\n\t\t}\n\t\tnextState.set('_icon', icon);\n\t}\n};\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcon>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icon',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcon,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcon(this.component._icon);\n\t}\n}\n"],"mappings":";;;4LAUA,MAAMA,EAAkB,CAACC,EAAgBC,KACxC,MAAMC,EAAOF,EACb,UAAWE,IAAS,UAAYA,IAAS,KAAM,CAC9C,GAAIC,EAASD,EAAKE,MAAO,GAAI,CAC5BF,EAAKE,MAAQ,CAAEF,KAAMA,EAAKE,M,CAE3B,GAAID,EAASD,EAAKG,KAAM,GAAI,CAC3BH,EAAKG,KAAO,CAAEH,KAAMA,EAAKG,K,CAE1BJ,EAAUK,IAAI,QAASJ,E,SAIZK,UAA4BC,
|
|
1
|
+
{"version":3,"names":["beforePatchIcon","value","nextState","icon","isString","right","left","set","InputIconController","InputController","constructor","component","name","host","super","this","validateIcon","objectObjectHandler","parseJson","e","watchValidator","isIcon","Set","hooks","beforePatch","required","componentWillLoad","_icon"],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcon } from '../../../types/icon';\nimport { isIcon } from '../../../types/props/icon';\nimport { objectObjectHandler, parseJson, watchValidator } from '../../../utils/prop.validators';\nimport { isString } from '../../../utils/validator';\nimport { InputController } from './controller';\nimport { Props, Watches } from './types-icon';\n\nconst beforePatchIcon = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icon = value as KoliBriHorizontalIcon;\n\tif (typeof icon === 'object' && icon !== null) {\n\t\tif (isString(icon.right, 1)) {\n\t\t\ticon.right = { icon: icon.right as string };\n\t\t}\n\t\tif (isString(icon.left, 1)) {\n\t\t\ticon.left = { icon: icon.left as string };\n\t\t}\n\t\tnextState.set('_icon', icon);\n\t}\n};\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcon>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icon',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcon,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcon(this.component._icon);\n\t}\n}\n"],"mappings":";;;4LAUA,MAAMA,EAAkB,CAACC,EAAgBC,KACxC,MAAMC,EAAOF,EACb,UAAWE,IAAS,UAAYA,IAAS,KAAM,CAC9C,GAAIC,EAASD,EAAKE,MAAO,GAAI,CAC5BF,EAAKE,MAAQ,CAAEF,KAAMA,EAAKE,M,CAE3B,GAAID,EAASD,EAAKG,KAAM,GAAI,CAC3BH,EAAKG,KAAO,CAAEH,KAAMA,EAAKG,K,CAE1BJ,EAAUK,IAAI,QAASJ,E,SAIZK,UAA4BC,EAGxC,WAAAC,CAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,YAAAK,CAAaf,GACnBgB,EAAoBhB,GAAO,KAC1B,IACCA,EAAQiB,EAAiCjB,E,CAExC,MAAOkB,G,CAGTC,EACCL,KAAKJ,UACL,SACCV,UAEQA,IAAU,UAAYA,IAAU,OAASG,EAASH,EAAMK,KAAM,IAAMe,EAAOpB,EAAMK,OAASF,EAASH,EAAMI,MAAO,IAAMgB,EAAOpB,EAAMI,SAG5I,IAAIiB,IAAI,CAAC,0BACTrB,EACA,CACCsB,MAAO,CACNC,YAAaxB,GAEdyB,SAAU,MAEX,G,CAII,iBAAAC,GACNZ,MAAMY,oBACNX,KAAKC,aAAaD,KAAKJ,UAAUgB,M"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{p as e}from"./reuse-c2156413.js";class t{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),a().body.style.maxHeight="100vh",a().body.style.overflow="hidden",this.lockFocus(a().body,t)}else a().body.style.maxHeight="unset",a().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class i{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){const t=e.label||e.heading;if(void 0===t)throw new Error("Toast requires a label.");this.toastElement.setAttribute("_label",t),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let n=null,s=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?s=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},l=()=>n||"undefined"==typeof window?null:window,a=()=>s||void 0===l().document?null:l().document;let r=null,c=null,u=null,d=null;const h=()=>!0===c,f=()=>!0===u,m=()=>!0===d;class v{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${v.shield.label} | ${e}`:v.shield.label}static getShield(e){return[v.handleClassifier(null==e?void 0:e.classifier),`${v.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...v.getShield(t),...v.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...v.getShield(t),...v.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...v.getShield(t),...v.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...v.getShield(t),...v.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...v.getShield(t),...v.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...v.getShield(t),...v.mapToArray(e))}}v.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const p=()=>{if(null===c&&null===u&&null===d){const e=a().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(r=e.getAttribute("content"),"string"==typeof r&&(c=r.includes("dev-mode=true"),u=r.includes("experimental-mode=true"),d=r.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let b=null;const w=()=>b||{},M=()=>{if(null===b){b=l().KoliBri||{};const e=new t,o=new i(a());Object.defineProperty(b,"Modal",{get:function(){return e}}),Object.defineProperty(b,"Toaster",{get:function(){return o}}),p(),v.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.19\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},T=()=>{void 0===l().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return b}}),!0!==w().adviceShown&&(Object.defineProperty(b,"adviceShown",{get:function(){return!0}}),v.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let g=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(g=()=>"nonce");export{b as K,v as L,i as T,l as a,f as b,o as c,w as d,h as e,m as f,a as g,M as i,g as n,T as r};
|