@public-ui/components 1.5.0-rc.12 → 1.5.0-rc.14
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/assets/codicons/LICENSE +395 -0
- package/assets/codicons/LICENSE-CODE +21 -0
- package/assets/codicons/codicon.css +571 -0
- package/assets/codicons/codicon.csv +421 -0
- package/assets/codicons/codicon.html +3871 -0
- package/assets/codicons/codicon.svg +1 -0
- package/assets/codicons/codicon.ttf +0 -0
- package/assets/kolibri.ico +0 -0
- package/cheat-sheet.html +8 -8
- package/custom-elements.json +7 -7
- package/dist/cjs/color-40b15935.js +4 -0
- package/dist/cjs/color-40b15935.js.map +1 -0
- package/dist/cjs/{controller-ae0aa1fb.js → controller-073aa3b2.js} +1 -1
- package/dist/cjs/{controller-ae0aa1fb.js.map → controller-073aa3b2.js.map} +1 -1
- package/dist/cjs/{controller-34b64835.js → controller-272d14fd.js} +1 -1
- package/dist/cjs/{controller-34b64835.js.map → controller-272d14fd.js.map} +1 -1
- package/dist/cjs/{controller-6dbcc733.js → controller-46148a56.js} +1 -1
- package/dist/cjs/{controller-6dbcc733.js.map → controller-46148a56.js.map} +1 -1
- package/dist/cjs/{controller-a1c1ce64.js → controller-536f457e.js} +1 -1
- package/dist/cjs/controller-536f457e.js.map +1 -0
- package/dist/cjs/{controller-icon-295d3454.js → controller-icon-f01acf97.js} +1 -1
- package/dist/cjs/{controller-icon-295d3454.js.map → controller-icon-f01acf97.js.map} +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc_3.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_3.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-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.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/prop.validators-dd1f7878.js.map +1 -1
- package/dist/cjs/{validation-b38b683c.js → validation-55ae497d.js} +1 -1
- package/dist/cjs/{validation-b38b683c.js.map → validation-55ae497d.js.map} +1 -1
- package/dist/components/color.js +4 -0
- package/dist/components/color.js.map +1 -0
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/component10.js +1 -1
- package/dist/components/component10.js.map +1 -1
- package/dist/components/component11.js +1 -1
- package/dist/components/component11.js.map +1 -1
- package/dist/components/component12.js +1 -1
- package/dist/components/component12.js.map +1 -1
- package/dist/components/component13.js +1 -1
- package/dist/components/component13.js.map +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component14.js.map +1 -1
- package/dist/components/component15.js +1 -1
- package/dist/components/component15.js.map +1 -1
- package/dist/components/component4.js +1 -1
- package/dist/components/component4.js.map +1 -1
- package/dist/components/component6.js +1 -1
- package/dist/components/component6.js.map +1 -1
- package/dist/components/component7.js +1 -1
- package/dist/components/component7.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-group.js +1 -1
- package/dist/components/kol-button-group.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-logo.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-span.js +1 -1
- package/dist/components/kol-span.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.js.map +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/kol-toast.js.map +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow.js +1 -1
- package/dist/components/shadow.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow2.js.map +1 -1
- package/dist/esm/color-32939623.js +4 -0
- package/dist/esm/color-32939623.js.map +1 -0
- package/dist/esm/{controller-bc7e1fb9.js → controller-0f18a72b.js} +1 -1
- package/dist/esm/{controller-bc7e1fb9.js.map → controller-0f18a72b.js.map} +1 -1
- package/dist/esm/{controller-0bcb86ac.js → controller-22781e1d.js} +1 -1
- package/dist/esm/{controller-0bcb86ac.js.map → controller-22781e1d.js.map} +1 -1
- package/dist/esm/{controller-1827c5e4.js → controller-a9333e53.js} +1 -1
- package/dist/esm/{controller-1827c5e4.js.map → controller-a9333e53.js.map} +1 -1
- package/dist/esm/{controller-fd64aa81.js → controller-cbcb5b86.js} +1 -1
- package/dist/esm/controller-cbcb5b86.js.map +1 -0
- package/dist/esm/{controller-icon-b3feb2a8.js → controller-icon-8695323b.js} +1 -1
- package/dist/esm/{controller-icon-b3feb2a8.js.map → controller-icon-8695323b.js.map} +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc_3.entry.js +1 -1
- package/dist/esm/kol-button-wc_3.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-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.entry.js +1 -1
- package/dist/esm/kol-span.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-toast.entry.js.map +1 -1
- package/dist/esm/kol-tooltip.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/prop.validators-e402ad49.js.map +1 -1
- package/dist/esm/{validation-b331e3a7.js → validation-a42d9cc9.js} +1 -1
- package/dist/esm/{validation-b331e3a7.js.map → validation-a42d9cc9.js.map} +1 -1
- package/dist/kolibri/assets/bundes/style.css +4 -4
- package/dist/kolibri/assets/tabler-icons/tabler-icons.css +0 -1
- package/dist/kolibri/assets/tabler-icons/tabler-icons.min.css +1 -1
- package/dist/kolibri/color-32939623.js +4 -0
- package/dist/kolibri/color-32939623.js.map +1 -0
- package/dist/kolibri/{controller-bc7e1fb9.js → controller-0f18a72b.js} +1 -1
- package/dist/kolibri/controller-22781e1d.js +4 -0
- package/dist/kolibri/{controller-1827c5e4.js → controller-a9333e53.js} +1 -1
- package/dist/kolibri/controller-cbcb5b86.js +4 -0
- package/dist/kolibri/controller-cbcb5b86.js.map +1 -0
- package/dist/kolibri/{controller-icon-b3feb2a8.js → controller-icon-8695323b.js} +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc_3.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_3.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-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.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-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.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-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/prop.validators-e402ad49.js.map +1 -1
- package/dist/kolibri/validation-a42d9cc9.js +4 -0
- package/dist/kolibri/{validation-b331e3a7.js.map → validation-a42d9cc9.js.map} +1 -1
- package/dist/types/components/badge/component.d.ts +5 -8
- package/dist/types/components/kolibri/component.d.ts +5 -3
- package/dist/types/components.d.ts +10 -8
- package/dist/types/types/props/color.d.ts +20 -0
- package/dist/types/utils/prop.validators.d.ts +1 -1
- package/doc/badge.md +2 -2
- package/doc/breadcrumb.md +1 -1
- package/doc/button.md +12 -21
- package/doc/icon-font-awesome.md +1 -1
- package/doc/icon-icofont.md +1 -1
- package/doc/icon.md +1 -1
- package/doc/kolibri.md +5 -5
- package/doc/nav.md +10 -10
- package/jest-test-results.json +1 -1
- package/package.json +3 -2
- package/vscode-custom-data.json +12 -12
- package/dist/cjs/controller-a1c1ce64.js.map +0 -1
- package/dist/cjs/index-1266b30d.js +0 -4
- package/dist/cjs/index-1266b30d.js.map +0 -1
- package/dist/components/index2.js +0 -4
- package/dist/components/index2.js.map +0 -1
- package/dist/esm/controller-fd64aa81.js.map +0 -1
- package/dist/esm/index-d14da386.js +0 -4
- package/dist/esm/index-d14da386.js.map +0 -1
- package/dist/kolibri/controller-0bcb86ac.js +0 -4
- package/dist/kolibri/controller-fd64aa81.js +0 -4
- package/dist/kolibri/controller-fd64aa81.js.map +0 -1
- package/dist/kolibri/index-d14da386.js +0 -4
- package/dist/kolibri/index-d14da386.js.map +0 -1
- package/dist/kolibri/validation-b331e3a7.js +0 -4
- package/dist/types/core/declare.d.ts +0 -10
- /package/dist/kolibri/{controller-bc7e1fb9.js.map → controller-0f18a72b.js.map} +0 -0
- /package/dist/kolibri/{controller-0bcb86ac.js.map → controller-22781e1d.js.map} +0 -0
- /package/dist/kolibri/{controller-1827c5e4.js.map → controller-a9333e53.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-b3feb2a8.js.map → controller-icon-8695323b.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pushNodes","set","domNodes","forEach","domNode","has","add","querySelectorAll","selector","node","document","Document","HTMLElement","ShadowRoot","Set","nodeList","i","length","shadowRoot","Array","from","Error","querySelector","arr","arr_1","obj_1","obj","css_1","css","hex_1","hex","num_1","num","data","a","parse","concat","Math","round","r","g","b","push","String","substr","opaque","num2hex","is","isshort","charAt","toLowerCase","name","hex3","hex6","rgb","rgba","object","array","number","s","toString","h","indexOf","str","hex2num","parseInt","replace","l","isNaN","slice","getnum","val","integer","floor","Object","prototype","call","getPrototypeOf","undefined","red","green","blue","alpha","isArray","match","t","split","map","Number","n","e","u","pow","c","o","f","substring","repeat","max","min","OBJECT_OBJECT","objectObjectHandler","value","cb","test","emptyStringByArrayHandler","setEventTarget","event","target","getExperimalMode","Log","debug","defineProperty","writable","patchState","component","_a","nextHooks","hooks","key","beforePatch","get","nextState","_b","size","state","assign","fromEntries","_c","afterPatch","setState","propName","Map","logWarn","requiredGeneric","devHint","constructor","join","watchValidator","validationFunction","options","required","defaultValue","watchBoolean","watchString","minLength","maxLength","watchNumber","watchJsonArrayString","itemValidation","arrayValidation","items","parseJson","invalid","find","item","error","BOOLEAN","INTEGER","FLOAT","mapString2Unknown","typeStr","oldValue","parseFloat","JSON_CHARS","JSON","stringify","stringifyJson","warn","mapBoolean2String","mapStringOrBoolean2String","koliBriQuerySelector","getDocument","koliBriQuerySelectorAll","DEFAULT_COLOR_CONTRAST","getDefaultColorContrast","backgroundColor","color","body","level","score","TRANSPARENT_REGEXP","koliBriA11yColorContrast","a11yColorContrast","computedStyle","getComputedStyle","hexBG","hexC","diff","contrast","koliBriQuerySelectorColors","selectedNode","scrollByHTMLElement","element","parentElement","window","scrollTo","behavior","top","getBoundingClientRect","getWindow","pageYOffset","focus","scrollBySelector","temp","KoliBriUtils","static","targetNode","recursion","log","returnValue","executionLock","cache","clear","children","shadowChildren","slotElement","assignedNodes","slotChildren","domChildren","arrayChildren","colorContrast","colors","queryHtmlElementColors","KoliBriDevHelper","patchTheme","patchThemeTag"],"sources":["./node_modules/query-selector-all-shadow-root/esm/index.js","./node_modules/query-selector-shadow-root/esm/index.js","./node_modules/rgba-convert/index.js","./node_modules/wcag-contrast/dist/index.m.js","./src/utils/prop.validators.ts"],"sourcesContent":["const pushNodes = (set, domNodes) => {\n domNodes.forEach((domNode) => {\n if (set.has(domNode) === false) {\n set.add(domNode);\n }\n });\n};\nexport const querySelectorAll = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n const domNodes = new Set();\n pushNodes(domNodes, node.querySelectorAll(selector));\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n pushNodes(domNodes, querySelectorAll(selector, shadowRoot));\n }\n else {\n pushNodes(domNodes, querySelectorAll(selector, nodeList[i]));\n }\n }\n return Array.from(domNodes);\n }\n else {\n throw new Error(`The parameter document for the method querySelectorAll is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","export const querySelector = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n let domNode = node.querySelector(selector);\n if (domNode === null) {\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n domNode = querySelector(selector, shadowRoot);\n }\n else {\n domNode = querySelector(selector, nodeList[i]);\n }\n if (domNode !== null) {\n break;\n }\n }\n }\n return domNode;\n }\n else {\n throw new Error(`The parameter document for the method querySelector is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","\nmodule.exports = arr\nmodule.exports.arr = arr\nmodule.exports.obj = obj\nmodule.exports.css = css\nmodule.exports.hex = hex\nmodule.exports.num = num\n\nfunction arr(data) {\n var a = parse(data)\n if (a.length == 3) {\n return a.concat(255)\n } else {\n a[3] = Math.round(a[3])\n return a\n }\n}\n\nfunction obj(data) {\n var a = parse(data)\n return {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length == 3\n ? 255\n : Math.round(a[3])\n }\n}\n\nfunction css(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n\n return a[3] == 255\n ? 'rgb(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'\n : a[3] == 0\n ? 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', 0)'\n : 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + String(a[3] / 255).substr(1) + ')'\n}\n\nfunction hex(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n var opaque = a[3] == 255\n var r = num2hex(a[0])\n var g = num2hex(a[1])\n var b = num2hex(a[2])\n var a = num2hex(Math.round(a[3]))\n var is = isshort(r, g, b, a)\n if (opaque) {\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0)\n : '#' + r + g + b\n }\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0) + a.charAt(0)\n : '#' + r + g + b + a\n}\n\nfunction num(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n else a[3] = Math.round(a[3])\n return ((a[3] << 24) >>> 0 | a[0] << 16 | a[1] << 8 | a[2]) >>> 0\n}\n\nfunction parse(data) {\n if (typeof data == 'string') {\n data = data.toLowerCase()\n return name(data)\n || hex3(data)\n || hex6(data)\n || rgb(data)\n || rgba(data)\n || [0, 0, 0, 255]\n }\n return object(data)\n || array(data)\n || number(data)\n || [0, 0, 0, 255]\n}\n\nfunction num2hex(num) {\n var s = num.toString(16)\n return s.length == 1\n ? '0' + s\n : s\n}\n\nfunction isshort(r, g, b, a) {\n var h = ['ff', '00', '11', '22', '33', '44', '55', '66',\n '77', '88', '99', 'aa', 'bb', 'cc', 'dd', 'ee']\n return h.indexOf(r) != -1\n && h.indexOf(g) != -1\n && h.indexOf(b) != -1\n && h.indexOf(a) != -1\n}\n\nfunction name(str) {\n if (str == 'red') return [255, 0, 0]\n if (str == 'green') return [0, 255, 0]\n if (str == 'blue') return [0, 0, 255]\n if (str == 'black') return [0, 0, 0]\n if (str == 'white') return [255, 255, 255]\n if (str == 'cyan') return [0, 255, 255]\n if (str == 'gray') return [128, 128, 128]\n if (str == 'grey') return [128, 128, 128]\n if (str == 'magenta') return [255, 0, 255]\n // ok, not the real css `pink` but my personal `magenta` alias\n // `pink` is simpler than `fuchsia`, whatever...\n if (str == 'pink') return [255, 0, 255]\n if (str == 'yellow') return [255, 255, 0]\n}\n\nfunction hex2num(str) {\n return str.length == 1\n ? parseInt(str + str, 16)\n : parseInt(str, 16)\n}\n\nfunction hex3(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 3 || l == 4) {\n var r = hex2num(s[0])\n var g = hex2num(s[1])\n var b = hex2num(s[2])\n var a = l == 3\n ? 255\n : hex2num(s[3])\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction hex6(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 6 || l == 8) {\n var r = hex2num(s.slice(0, 2))\n var g = hex2num(s.slice(2, 4))\n var b = hex2num(s.slice(4, 6))\n var a = l == 6\n ? 255\n : hex2num(s.slice(6, 8))\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction getnum(val, integer) {\n if (typeof val != 'number') return -1\n if (integer === true && Math.floor(val) !== val) return -1\n return val >= 0 && val <= 255\n ? val\n : -1\n}\n\nfunction object(obj) {\n if (Object.prototype.toString.call(obj) === '[object Object]'\n && Object.getPrototypeOf(obj) === Object.getPrototypeOf({})) {\n var r = getnum(obj.r != undefined ? obj.r : obj.red != undefined ? obj.red : 0, true)\n var g = getnum(obj.g != undefined ? obj.g : obj.green != undefined ? obj.green : 0, true)\n var b = getnum(obj.b != undefined ? obj.b : obj.blue != undefined ? obj.blue : 0, true)\n var a = getnum(obj.a != undefined ? obj.a : obj.alpha != undefined ? obj.alpha : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction array(arr) {\n if (Array.isArray(arr) && (arr.length == 3 || arr.length == 4)) {\n var r = getnum(arr[0], true)\n var g = getnum(arr[1], true)\n var b = getnum(arr[2], true)\n var a = getnum(arr[3] != undefined ? arr[3] : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction number(num) {\n if (typeof num == 'number' && Math.floor(num) == num && num <= 4294967295 && num >= 0) {\n var a = num >> 24 & 255\n var r = num >> 16 & 255\n var g = num >> 8 & 255\n var b = num & 255\n return [r, g, b, a]\n }\n}\n\nfunction rgb(str) {\n if (str.substr(0, 4) == 'rgb(') {\n str = str.match(/^rgb\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n if (r != -1 && g != -1 && b != -1) {\n return [r, g, b, 255]\n }\n }\n}\n\nfunction rgba(str) {\n if (str.substr(0, 5) == 'rgba(') {\n str = str.match(/^rgba\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n var a = getnum(t[3] * 255)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n","var n=.2126,r=.7152,t=.0722,e=1/12.92;function u(n){return Math.pow((n+.055)/1.055,2.4)}function a(a){var i=a[0]/255,c=a[1]/255,o=a[2]/255,s=i<=.03928?i*e:u(i),f=c<=.03928?c*e:u(c),l=o<=.03928?o*e:u(o);return s*n+f*r+l*t}function i(n){var r=255;8===(n=n.replace(/^#/,\"\")).length&&(r=parseInt(n.slice(6,8),16),n=n.substring(0,6)),4===n.length&&(r=parseInt(n.slice(3,4).repeat(2),16),n=n.substring(0,3)),3===n.length&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]);var t=parseInt(n,16);return[t>>16,t>>8&255,255&t,r]}function c(n,r){return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function o(n,r){return c(a(n),a(r))}function s(n,r){return o(i(n),i(r))}function f(n){return n>=7?\"AAA\":n>=4.5?\"AA\":n>=3?\"AA Large\":\"Fail\"}export{c as luminance,o as rgb,s as hex,f as score};\n//# sourceMappingURL=index.m.js.map\n","import { patchTheme, patchThemeTag } from '@a11y-ui/core';\nimport { querySelectorAll } from 'query-selector-all-shadow-root';\nimport { querySelector } from 'query-selector-shadow-root';\nimport rgba from 'rgba-convert';\nimport { hex, score } from 'wcag-contrast';\nimport { Generic } from '@a11y-ui/core';\n\nimport { devHint } from './a11y.tipps';\nimport { getDocument, getExperimalMode, getWindow, Log } from './dev.utils';\nimport { Stringified } from '../types/common';\n\n// https://regex101.com/r/lSYLO9/1\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines komplexer Objekte\n * der String \"[object Object]\" an die Web Component übergeben wird. Um den Neben-\n * effekt abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nconst OBJECT_OBJECT = /\\[object Object\\]/;\nexport const objectObjectHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && OBJECT_OBJECT.test(value)) {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines leeren Array's\n * ein leerer String an die Web Component übergeben wird. Um den Nebeneffekt\n * abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nexport const emptyStringByArrayHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && value === '') {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei interaktiven HTML-Elementen kommt es vor, dass der Event an einem nicht\n * interaktiven HTML-Element \"lostriggert\" und dann den DOM-Baum hoch propagiert.\n * Zu unterschiedlichen Zeitpunkten sind an dem einen Event somit immer unterschiedliche\n * HTML-Elemente.\n * Damit wir das \"richtige\" interaktive HTML-Element an das Event binden, setzen\n * wir das Target explizit und stoppen die Propagation.\n */\nexport const setEventTarget = (event: Event, target?: HTMLElement): void => {\n\tif (getExperimalMode()) {\n\t\tLog.debug([event, target]);\n\t\tLog.debug(`↑ We propagate the (submit) event to this target.`);\n\t}\n\tObject.defineProperty(event, 'target', {\n\t\tvalue: target,\n\t\twritable: false,\n\t});\n};\n\nconst patchState = (component: Generic.Element.Component): void => {\n\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\tconst beforePatch = hooks.get('beforePatch') as Generic.Element.NextStateHooksCallback;\n\t\tif (typeof beforePatch === 'function') {\n\t\t\tbeforePatch(component.nextState?.get(key), component.nextState as Map<string, unknown>, component, key);\n\t\t}\n\t});\n\t/**\n\t * Wenn in beforePatch Methoden die Änderung verworfen wird,\n\t * muss auch nicht der State aktualisiert und neu gerendert\n\t * werden.\n\t */\n\tif ((component.nextState as Map<string, unknown>)?.size > 0) {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t...Object.fromEntries(component.nextState as Map<string, unknown>),\n\t\t};\n\t\tdelete component.nextState;\n\n\t\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\t\tconst afterPatch = hooks.get('afterPatch') as Generic.Element.StateHooksCallback;\n\t\t\tif (typeof afterPatch === 'function') {\n\t\t\t\tafterPatch(component.state[key], component.state, component, key);\n\t\t\t}\n\t\t});\n\t}\n\tdelete component.nextHooks;\n};\n\ntype SetStateHooks = {\n\tafterPatch?: Generic.Element.StateHooksCallback;\n\tbeforePatch?: Generic.Element.NextStateHooksCallback;\n};\n\nexport const setState = <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks: SetStateHooks = {}): void => {\n\tif (component.nextHooks === undefined) {\n\t\tcomponent.nextHooks = new Map();\n\t}\n\tif (component.nextState === undefined) {\n\t\tcomponent.nextState = new Map();\n\t}\n\tif (component.nextState.get(propName) !== value) {\n\t\tconst nextHooks = component.nextHooks.get(propName);\n\t\tif (nextHooks instanceof Map === false) {\n\t\t\tcomponent.nextHooks.set(propName, new Map());\n\t\t}\n\t\tif (typeof hooks.afterPatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('afterPatch', hooks.afterPatch);\n\t\t}\n\t\tif (typeof hooks.beforePatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('beforePatch', hooks.beforePatch);\n\t\t}\n\t\tcomponent.nextState.set(propName, value);\n\t\t/**\n\t\t * Muss erstmal in sync bleiben, da sonst der\n\t\t * Tooltip nicht korrekt ausgerichtet wird.\n\t\t */\n\t\t// if (component.hydrated === true || processEnv !== 'test') {\n\t\t// clearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// component.timeout = setTimeout(() => {\n\t\t// \tclearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// \tpatchState(component);\n\t\t// }, 50);\n\t\t// } else {\n\t\tpatchState(component);\n\t\t// }\n\t}\n};\n\nconst logWarn = (component: Generic.Element.Component, propName: string, value: unknown, requiredGeneric: Set<string | null | undefined>): void => {\n\tdevHint(\n\t\t`[${component.constructor.name}] Der Property-Wert (${value as string}) für '${propName}' ist nicht valide. Folgende Werte sind erlaubt: ${Array.from(\n\t\t\trequiredGeneric\n\t\t).join(', ')}`\n\t);\n};\n\ntype WatchOptions = {\n\tdefaultValue?: unknown;\n\thooks?: SetStateHooks;\n\trequired?: boolean;\n};\n\nexport type WatchBooleanOptions = WatchOptions & {\n\tdefaultValue?: boolean | null;\n};\n\nexport type WatchStringOptions = WatchOptions & {\n\tdefaultValue?: string | null;\n\tmaxLength?: number;\n\tminLength?: number;\n};\n\nexport type WatchNumberOptions = WatchOptions & {\n\tdefaultValue?: number | null;\n\tmin?: number;\n\tmax?: number;\n};\n\nexport function watchValidator<T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\tvalidationFunction: (value?: T) => boolean,\n\trequiredGeneric: Set<string | null | undefined>,\n\tvalue?: T,\n\toptions: WatchOptions = {}\n): void {\n\tif (validationFunction(value)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert VALIDE ist.\n\t\t */\n\t\tsetState(component, propName, value, options.hooks);\n\t} else if ((value === undefined || value === null) && !options.required) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder ...\n\t\t * - UNDEFINED oder NULL\n\t\t * - und NICHT REQUIRED\n\t\t * ... ist.\n\t\t */\n\t\tsetState(component, propName, options.defaultValue, options.hooks);\n\t} else {\n\t\t/**\n\t\t * Triff zu, wenn der Wert NICHT valide ist.\n\t\t */\n\t\tif (!options.required) {\n\t\t\trequiredGeneric.add(null);\n\t\t}\n\t\tlogWarn(component, propName, value, requiredGeneric);\n\t}\n}\n\nexport const watchBoolean = (component: Generic.Element.Component, propName: string, value?: boolean, options?: WatchBooleanOptions): void => {\n\twatchValidator(component, propName, (value): boolean => typeof value === 'boolean', new Set(['Boolean {true, false}']), value, options);\n};\n\nexport const watchString = (component: Generic.Element.Component, propName: string, value?: string, options: WatchStringOptions = {}): void => {\n\tconst minLength = typeof options.minLength === 'number' ? options?.minLength : 0;\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'string' && value.length >= minLength && (typeof options?.maxLength === 'undefined' || value.length <= options.maxLength),\n\t\tnew Set([`String`]),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchNumber = (component: Generic.Element.Component, propName: string, value?: number, options?: WatchNumberOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'number' &&\n\t\t\t(typeof options?.min === 'undefined' || (typeof options?.min === 'number' && value >= options.min)) &&\n\t\t\t(typeof options?.max === 'undefined' || (typeof options?.max === 'number' && value <= options.max)),\n\t\tnew Set(['Number']),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchJsonArrayString = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\titemValidation: (item: T) => boolean,\n\tvalue?: Stringified<T[]>,\n\tarrayValidation: (items: T[]) => boolean = (items: T[]) => items === items, // nochmal hirnen\n\toptions: WatchOptions = {}\n): void => {\n\temptyStringByArrayHandler(value, () => {\n\t\tobjectObjectHandler(value, () => {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<T[]>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst invalid = value.find((item: T) => !itemValidation(item));\n\t\t\t\t\tif (invalid === undefined && arrayValidation(value)) {\n\t\t\t\t\t\tsetState(component, propName, value, options.hooks);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobjectObjectHandler(invalid, () => {\n\t\t\t\t\t\t\tLog.debug(invalid);\n\t\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\t\t\tLog.debug(value);\n\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/**\n\t\t\t\t * TODO: Wir haben einen Known-Bug beim Propergieren von Zeichenkettenliste (string[]).\n\t\t\t\t */\n\t\t\t\tLog.debug(error);\n\t\t\t\t// devHint(`Known bug: Zeichenkettenliste (string[])`);\n\t\t\t}\n\t\t});\n\t});\n};\n\nconst BOOLEAN = /^(true|false)$/;\nconst INTEGER = /^-?(0|[1-9]\\d*)$/;\nconst FLOAT = /^-?(0.|[1-9]\\d*.)\\d*[1-9]$/;\nexport const mapString2Unknown = (value: unknown) => {\n\tconst typeStr = typeof value;\n\tconst oldValue = `${value as string}`;\n\tif (typeof value === 'string') {\n\t\tif (BOOLEAN.test(value)) {\n\t\t\tvalue = value === 'true';\n\t\t} else if (INTEGER.test(value)) {\n\t\t\tvalue = parseInt(value);\n\t\t} else if (FLOAT.test(value)) {\n\t\t\tvalue = parseFloat(value);\n\t\t} else if (JSON_CHARS.test(value)) {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<unknown>(value);\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}\n\t}\n\tif (typeStr !== typeof value) {\n\t\tdevHint(`You have used a stringified property value (${oldValue} to ${JSON.stringify(value)}) which type switched from ${typeStr} to ${typeof value}!`);\n\t}\n\treturn value;\n};\n\nexport const stringifyJson = (value: unknown): string => {\n\ttry {\n\t\treturn JSON.stringify(value).replace(/\"/g, \"'\");\n\t} catch (error) {\n\t\tLog.warn(['stringifyJson', value]);\n\t\tLog.error(`↑ Das JSON konnte nicht in einen String umgewandelt werden. Es wird ein stringifizierbares JSON erwartet.`);\n\t\tthrow new Error();\n\t}\n};\n\nconst JSON_CHARS = /^[{[]/; // string starts with { or [\nexport const parseJson = <T>(value: unknown): T => {\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\t// \"null\", \"true\", \"false\", \"0\" works too\n\t\t\treturn JSON.parse(value);\n\t\t} catch (error) {\n\t\t\tif (JSON_CHARS.test(value)) {\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(value.replace(/'/g, '\"'));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tLog.warn(['parseJson', value]);\n\t\t\t\t\tLog.error(`↑ Der JSON-String konnte nicht geparsed werden. Achten Sie darauf, dass einfache Anführungszeichen im Text maskiert werden (‘).`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tthrow new Error();\n};\n\nexport const mapBoolean2String = (value?: boolean): string | undefined => {\n\treturn typeof value === 'boolean' ? (value === true ? 'true' : 'false') : undefined;\n};\n\nexport const mapStringOrBoolean2String = (value?: string | boolean): string | undefined => {\n\treturn typeof value === 'string' ? value : mapBoolean2String(value);\n};\n\nexport const koliBriQuerySelector = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T | null =>\n\tquerySelector<T>(selector, node || getDocument());\n\nexport const koliBriQuerySelectorAll = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T[] =>\n\tquerySelectorAll<T>(selector, node || getDocument());\n\ninterface A11yColorContrast {\n\tbackgroundColor: string;\n\tcolor: string;\n\tdomNode: HTMLElement | HTMLSlotElement;\n\tlevel: string;\n\tscore: number;\n}\n\nlet DEFAULT_COLOR_CONTRAST: A11yColorContrast | null = null;\nconst getDefaultColorContrast = (): A11yColorContrast => {\n\tDEFAULT_COLOR_CONTRAST = DEFAULT_COLOR_CONTRAST || {\n\t\tbackgroundColor: '#00000000',\n\t\tcolor: '#00000000',\n\t\tdomNode: getDocument().body,\n\t\tlevel: 'Fail',\n\t\tscore: 1,\n\t};\n\treturn DEFAULT_COLOR_CONTRAST;\n};\n\nconst TRANSPARENT_REGEXP = /(\\d+, ){3}0\\)/;\nexport const koliBriA11yColorContrast = (domNode: HTMLElement, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tconst computedStyle = getComputedStyle(domNode);\n\tconst hexBG: string = TRANSPARENT_REGEXP.test(computedStyle.backgroundColor) ? a11yColorContrast.backgroundColor : rgba.hex(computedStyle.backgroundColor);\n\tconst hexC: string = TRANSPARENT_REGEXP.test(computedStyle.color) ? a11yColorContrast.color : rgba.hex(computedStyle.color);\n\tconst diff = hex(hexBG, hexC);\n\tconst contrast = {\n\t\tbackgroundColor: hexBG,\n\t\tcolor: hexC,\n\t\tdomNode: domNode,\n\t\tlevel: score(diff),\n\t\tscore: diff,\n\t};\n\tif (diff < 4.5) {\n\t\tLog.error([\n\t\t\t'Color-Contrast-Error',\n\t\t\t{\n\t\t\t\tbackgroundColor: contrast.backgroundColor,\n\t\t\t\tcolor: contrast.color,\n\t\t\t\tlevel: contrast.level,\n\t\t\t\tscore: contrast.score,\n\t\t\t},\n\t\t\tcontrast.domNode,\n\t\t]);\n\t}\n\treturn contrast;\n};\n\nexport const koliBriQuerySelectorColors = (selector: string, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tif (a11yColorContrast.domNode instanceof HTMLElement) {\n\t\ta11yColorContrast = koliBriA11yColorContrast(a11yColorContrast.domNode, a11yColorContrast);\n\t}\n\tconst selectedNode: HTMLElement | null = a11yColorContrast.domNode.querySelector<HTMLElement>(selector);\n\tif (selectedNode === null) {\n\t\tconst nodeList: NodeListOf<HTMLElement> = a11yColorContrast.domNode.querySelectorAll<HTMLElement>('[class=\"hydrated\"]');\n\t\tfor (let i = 0; i < nodeList.length; i++) {\n\t\t\t// const shadowRoot: ShadowRoot = nodeList[i].shadowRoot as ShadowRoot;\n\t\t\t// if (typeof shadowRoot === 'object' && shadowRoot !== null) {\n\t\t\t// a11yColorContrast.domNode = shadowRoot;\n\t\t\t// a11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// } else {\n\t\t\ta11yColorContrast.domNode = nodeList[i];\n\t\t\ta11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// }\n\t\t\tif (a11yColorContrast.domNode !== null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn a11yColorContrast;\n\t} else {\n\t\treturn koliBriA11yColorContrast(selectedNode, a11yColorContrast);\n\t}\n};\n\nconst scrollByHTMLElement = (element: HTMLElement, parentElement: Window | HTMLElement = window): void => {\n\tif (element instanceof HTMLElement) {\n\t\tparentElement.scrollTo({\n\t\t\tbehavior: 'smooth',\n\t\t\ttop: element.getBoundingClientRect().top + getWindow().pageYOffset - 50,\n\t\t});\n\t\telement.focus();\n\t} else {\n\t\tdevHint(`Das HTMLElement ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\nexport const scrollBySelector = (selector: string, document?: Document | HTMLElement | ShadowRoot): void => {\n\tif (\n\t\t((selector as unknown) instanceof Document || (selector as unknown) instanceof HTMLElement || (selector as unknown) instanceof ShadowRoot) &&\n\t\ttypeof document === 'string'\n\t) {\n\t\tdevHint(\n\t\t\t`Bei der Methode querySelectorAll wurden die Parameter document, selector in selector, document getauscht, da der Parameter selector nicht, allerdings der Parameter document optional sein kann.`\n\t\t);\n\t\tconst temp = `${document as unknown as string}`;\n\t\tdocument = selector as unknown as Document;\n\t\tselector = temp;\n\t}\n\tif (typeof selector === 'string') {\n\t\tconst element: HTMLElement | null = koliBriQuerySelector<HTMLElement>(selector, document);\n\t\tif (element instanceof HTMLElement) {\n\t\t\tscrollByHTMLElement(element);\n\t\t} else {\n\t\t\tdevHint(`Es konnte kein HTMLElement mit dem Selector (${selector}) gefunden werden, zu dem gescrollt werden soll.`);\n\t\t}\n\t} else {\n\t\tdevHint(`Der Selector ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\n\nexport class KoliBriUtils {\n\tprivate static executionLock = false;\n\tprivate static cache = new Map<Element, A11yColorContrast>();\n\tpublic static queryHtmlElementColors(targetNode: HTMLElement, a11yColorContrast: A11yColorContrast, recursion = false, log = true): A11yColorContrast | null {\n\t\tlet returnValue = null;\n\t\tif (recursion === true || KoliBriUtils.executionLock === false) {\n\t\t\tif (recursion === false) {\n\t\t\t\tKoliBriUtils.cache.clear();\n\t\t\t\tKoliBriUtils.cache.set(a11yColorContrast.domNode, a11yColorContrast);\n\t\t\t\tKoliBriUtils.executionLock = true;\n\t\t\t\tif (log === true) {\n\t\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis started...`);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Log.debug(a11yColorContrast.domNode);\n\t\t\tif (targetNode === a11yColorContrast.domNode) {\n\t\t\t\treturnValue = a11yColorContrast;\n\t\t\t} else {\n\t\t\t\tconst children: Set<Element> = new Set<Element>();\n\t\t\t\tif (a11yColorContrast.domNode.shadowRoot) {\n\t\t\t\t\tconst shadowChildren = a11yColorContrast.domNode.shadowRoot.children;\n\t\t\t\t\tfor (let i = 0; i < shadowChildren.length; i++) {\n\t\t\t\t\t\tchildren.add(shadowChildren[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst slotElement: HTMLSlotElement = a11yColorContrast.domNode as HTMLSlotElement;\n\t\t\t\tif (typeof slotElement.assignedNodes === 'function') {\n\t\t\t\t\tconst slotChildren = slotElement.assignedNodes();\n\t\t\t\t\tfor (let i = 0; i < slotChildren.length; i++) {\n\t\t\t\t\t\tif (slotChildren[i] instanceof HTMLElement) {\n\t\t\t\t\t\t\tchildren.add(slotChildren[i] as HTMLElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst domChildren = a11yColorContrast.domNode.children;\n\t\t\t\tfor (let i = 0; i < domChildren.length; i++) {\n\t\t\t\t\tchildren.add(domChildren[i]);\n\t\t\t\t}\n\t\t\t\tconst arrayChildren = Array.from(children);\n\t\t\t\tfor (let i = 0; i < arrayChildren.length; i++) {\n\t\t\t\t\tlet colorContrast: A11yColorContrast | undefined = KoliBriUtils.cache.get(arrayChildren[i]);\n\t\t\t\t\tif (colorContrast === undefined) {\n\t\t\t\t\t\tcolorContrast = koliBriA11yColorContrast(arrayChildren[i] as HTMLElement, a11yColorContrast);\n\t\t\t\t\t}\n\t\t\t\t\tKoliBriUtils.cache.set(arrayChildren[i], colorContrast);\n\t\t\t\t\tconst colors: A11yColorContrast | null = KoliBriUtils.queryHtmlElementColors(targetNode, colorContrast, true, false);\n\t\t\t\t\tif (colors !== null) {\n\t\t\t\t\t\treturnValue = colors;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tLog.debug(`[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.`);\n\t\t}\n\t\tif (recursion === false) {\n\t\t\tif (log === true) {\n\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`);\n\t\t\t}\n\t\t\tKoliBriUtils.executionLock = false;\n\t\t\tKoliBriUtils.cache.clear();\n\t\t}\n\t\treturn returnValue;\n\t}\n}\n\nexport class KoliBriDevHelper {\n\tpublic static readonly patchTheme = patchTheme;\n\tpublic static readonly patchThemeTag = patchThemeTag;\n\tpublic static readonly querySelector = koliBriQuerySelector;\n\tpublic static readonly querySelectorAll = koliBriQuerySelectorAll;\n\tpublic static readonly scrollByHTMLElement = scrollByHTMLElement;\n\tpublic static readonly scrollBySelector = scrollBySelector;\n\tpublic static readonly stringifyJson = stringifyJson;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["pushNodes","set","domNodes","forEach","domNode","has","add","querySelectorAll","selector","node","document","Document","HTMLElement","ShadowRoot","Set","nodeList","i","length","shadowRoot","Array","from","Error","querySelector","arr","arr_1","obj_1","obj","css_1","css","hex_1","hex","num_1","num","data","a","parse","concat","Math","round","r","g","b","push","String","substr","opaque","num2hex","is","isshort","charAt","toLowerCase","name","hex3","hex6","rgb","rgba","object","array","number","s","toString","h","indexOf","str","hex2num","parseInt","replace","l","isNaN","slice","getnum","val","integer","floor","Object","prototype","call","getPrototypeOf","undefined","red","green","blue","alpha","isArray","match","t","split","map","Number","n","e","u","pow","c","o","f","substring","repeat","max","min","OBJECT_OBJECT","objectObjectHandler","value","cb","test","emptyStringByArrayHandler","setEventTarget","event","target","getExperimalMode","Log","debug","defineProperty","writable","patchState","component","_a","nextHooks","hooks","key","beforePatch","get","nextState","_b","size","state","assign","fromEntries","_c","afterPatch","setState","propName","Map","logWarn","requiredGeneric","devHint","constructor","join","watchValidator","validationFunction","options","required","defaultValue","watchBoolean","watchString","minLength","maxLength","watchNumber","watchJsonArrayString","itemValidation","arrayValidation","items","parseJson","invalid","find","item","error","BOOLEAN","INTEGER","FLOAT","mapString2Unknown","typeStr","oldValue","parseFloat","JSON_CHARS","JSON","stringify","stringifyJson","warn","mapBoolean2String","mapStringOrBoolean2String","koliBriQuerySelector","getDocument","koliBriQuerySelectorAll","DEFAULT_COLOR_CONTRAST","getDefaultColorContrast","backgroundColor","color","body","level","score","TRANSPARENT_REGEXP","koliBriA11yColorContrast","a11yColorContrast","computedStyle","getComputedStyle","hexBG","hexC","diff","contrast","koliBriQuerySelectorColors","selectedNode","scrollByHTMLElement","element","parentElement","window","scrollTo","behavior","top","getBoundingClientRect","getWindow","pageYOffset","focus","scrollBySelector","temp","KoliBriUtils","static","targetNode","recursion","log","returnValue","executionLock","cache","clear","children","shadowChildren","slotElement","assignedNodes","slotChildren","domChildren","arrayChildren","colorContrast","colors","queryHtmlElementColors","KoliBriDevHelper","patchTheme","patchThemeTag"],"sources":["./node_modules/query-selector-all-shadow-root/esm/index.js","./node_modules/query-selector-shadow-root/esm/index.js","./node_modules/rgba-convert/index.js","./node_modules/wcag-contrast/dist/index.m.js","./src/utils/prop.validators.ts"],"sourcesContent":["const pushNodes = (set, domNodes) => {\n domNodes.forEach((domNode) => {\n if (set.has(domNode) === false) {\n set.add(domNode);\n }\n });\n};\nexport const querySelectorAll = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n const domNodes = new Set();\n pushNodes(domNodes, node.querySelectorAll(selector));\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n pushNodes(domNodes, querySelectorAll(selector, shadowRoot));\n }\n else {\n pushNodes(domNodes, querySelectorAll(selector, nodeList[i]));\n }\n }\n return Array.from(domNodes);\n }\n else {\n throw new Error(`The parameter document for the method querySelectorAll is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","export const querySelector = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n let domNode = node.querySelector(selector);\n if (domNode === null) {\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n domNode = querySelector(selector, shadowRoot);\n }\n else {\n domNode = querySelector(selector, nodeList[i]);\n }\n if (domNode !== null) {\n break;\n }\n }\n }\n return domNode;\n }\n else {\n throw new Error(`The parameter document for the method querySelector is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","\nmodule.exports = arr\nmodule.exports.arr = arr\nmodule.exports.obj = obj\nmodule.exports.css = css\nmodule.exports.hex = hex\nmodule.exports.num = num\n\nfunction arr(data) {\n var a = parse(data)\n if (a.length == 3) {\n return a.concat(255)\n } else {\n a[3] = Math.round(a[3])\n return a\n }\n}\n\nfunction obj(data) {\n var a = parse(data)\n return {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length == 3\n ? 255\n : Math.round(a[3])\n }\n}\n\nfunction css(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n\n return a[3] == 255\n ? 'rgb(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'\n : a[3] == 0\n ? 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', 0)'\n : 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + String(a[3] / 255).substr(1) + ')'\n}\n\nfunction hex(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n var opaque = a[3] == 255\n var r = num2hex(a[0])\n var g = num2hex(a[1])\n var b = num2hex(a[2])\n var a = num2hex(Math.round(a[3]))\n var is = isshort(r, g, b, a)\n if (opaque) {\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0)\n : '#' + r + g + b\n }\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0) + a.charAt(0)\n : '#' + r + g + b + a\n}\n\nfunction num(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n else a[3] = Math.round(a[3])\n return ((a[3] << 24) >>> 0 | a[0] << 16 | a[1] << 8 | a[2]) >>> 0\n}\n\nfunction parse(data) {\n if (typeof data == 'string') {\n data = data.toLowerCase()\n return name(data)\n || hex3(data)\n || hex6(data)\n || rgb(data)\n || rgba(data)\n || [0, 0, 0, 255]\n }\n return object(data)\n || array(data)\n || number(data)\n || [0, 0, 0, 255]\n}\n\nfunction num2hex(num) {\n var s = num.toString(16)\n return s.length == 1\n ? '0' + s\n : s\n}\n\nfunction isshort(r, g, b, a) {\n var h = ['ff', '00', '11', '22', '33', '44', '55', '66',\n '77', '88', '99', 'aa', 'bb', 'cc', 'dd', 'ee']\n return h.indexOf(r) != -1\n && h.indexOf(g) != -1\n && h.indexOf(b) != -1\n && h.indexOf(a) != -1\n}\n\nfunction name(str) {\n if (str == 'red') return [255, 0, 0]\n if (str == 'green') return [0, 255, 0]\n if (str == 'blue') return [0, 0, 255]\n if (str == 'black') return [0, 0, 0]\n if (str == 'white') return [255, 255, 255]\n if (str == 'cyan') return [0, 255, 255]\n if (str == 'gray') return [128, 128, 128]\n if (str == 'grey') return [128, 128, 128]\n if (str == 'magenta') return [255, 0, 255]\n // ok, not the real css `pink` but my personal `magenta` alias\n // `pink` is simpler than `fuchsia`, whatever...\n if (str == 'pink') return [255, 0, 255]\n if (str == 'yellow') return [255, 255, 0]\n}\n\nfunction hex2num(str) {\n return str.length == 1\n ? parseInt(str + str, 16)\n : parseInt(str, 16)\n}\n\nfunction hex3(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 3 || l == 4) {\n var r = hex2num(s[0])\n var g = hex2num(s[1])\n var b = hex2num(s[2])\n var a = l == 3\n ? 255\n : hex2num(s[3])\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction hex6(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 6 || l == 8) {\n var r = hex2num(s.slice(0, 2))\n var g = hex2num(s.slice(2, 4))\n var b = hex2num(s.slice(4, 6))\n var a = l == 6\n ? 255\n : hex2num(s.slice(6, 8))\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction getnum(val, integer) {\n if (typeof val != 'number') return -1\n if (integer === true && Math.floor(val) !== val) return -1\n return val >= 0 && val <= 255\n ? val\n : -1\n}\n\nfunction object(obj) {\n if (Object.prototype.toString.call(obj) === '[object Object]'\n && Object.getPrototypeOf(obj) === Object.getPrototypeOf({})) {\n var r = getnum(obj.r != undefined ? obj.r : obj.red != undefined ? obj.red : 0, true)\n var g = getnum(obj.g != undefined ? obj.g : obj.green != undefined ? obj.green : 0, true)\n var b = getnum(obj.b != undefined ? obj.b : obj.blue != undefined ? obj.blue : 0, true)\n var a = getnum(obj.a != undefined ? obj.a : obj.alpha != undefined ? obj.alpha : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction array(arr) {\n if (Array.isArray(arr) && (arr.length == 3 || arr.length == 4)) {\n var r = getnum(arr[0], true)\n var g = getnum(arr[1], true)\n var b = getnum(arr[2], true)\n var a = getnum(arr[3] != undefined ? arr[3] : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction number(num) {\n if (typeof num == 'number' && Math.floor(num) == num && num <= 4294967295 && num >= 0) {\n var a = num >> 24 & 255\n var r = num >> 16 & 255\n var g = num >> 8 & 255\n var b = num & 255\n return [r, g, b, a]\n }\n}\n\nfunction rgb(str) {\n if (str.substr(0, 4) == 'rgb(') {\n str = str.match(/^rgb\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n if (r != -1 && g != -1 && b != -1) {\n return [r, g, b, 255]\n }\n }\n}\n\nfunction rgba(str) {\n if (str.substr(0, 5) == 'rgba(') {\n str = str.match(/^rgba\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n var a = getnum(t[3] * 255)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n","var n=.2126,r=.7152,t=.0722,e=1/12.92;function u(n){return Math.pow((n+.055)/1.055,2.4)}function a(a){var i=a[0]/255,c=a[1]/255,o=a[2]/255,s=i<=.03928?i*e:u(i),f=c<=.03928?c*e:u(c),l=o<=.03928?o*e:u(o);return s*n+f*r+l*t}function i(n){var r=255;8===(n=n.replace(/^#/,\"\")).length&&(r=parseInt(n.slice(6,8),16),n=n.substring(0,6)),4===n.length&&(r=parseInt(n.slice(3,4).repeat(2),16),n=n.substring(0,3)),3===n.length&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]);var t=parseInt(n,16);return[t>>16,t>>8&255,255&t,r]}function c(n,r){return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function o(n,r){return c(a(n),a(r))}function s(n,r){return o(i(n),i(r))}function f(n){return n>=7?\"AAA\":n>=4.5?\"AA\":n>=3?\"AA Large\":\"Fail\"}export{c as luminance,o as rgb,s as hex,f as score};\n//# sourceMappingURL=index.m.js.map\n","import { patchTheme, patchThemeTag } from '@a11y-ui/core';\nimport { querySelectorAll } from 'query-selector-all-shadow-root';\nimport { querySelector } from 'query-selector-shadow-root';\nimport rgba from 'rgba-convert';\nimport { hex, score } from 'wcag-contrast';\nimport { Generic } from '@a11y-ui/core';\n\nimport { devHint } from './a11y.tipps';\nimport { getDocument, getExperimalMode, getWindow, Log } from './dev.utils';\nimport { Stringified } from '../types/common';\n\n// https://regex101.com/r/lSYLO9/1\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines komplexer Objekte\n * der String \"[object Object]\" an die Web Component übergeben wird. Um den Neben-\n * effekt abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nconst OBJECT_OBJECT = /\\[object Object\\]/;\nexport const objectObjectHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && OBJECT_OBJECT.test(value)) {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines leeren Array's\n * ein leerer String an die Web Component übergeben wird. Um den Nebeneffekt\n * abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nexport const emptyStringByArrayHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && value === '') {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei interaktiven HTML-Elementen kommt es vor, dass der Event an einem nicht\n * interaktiven HTML-Element \"lostriggert\" und dann den DOM-Baum hoch propagiert.\n * Zu unterschiedlichen Zeitpunkten sind an dem einen Event somit immer unterschiedliche\n * HTML-Elemente.\n * Damit wir das \"richtige\" interaktive HTML-Element an das Event binden, setzen\n * wir das Target explizit und stoppen die Propagation.\n */\nexport const setEventTarget = (event: Event, target?: HTMLElement): void => {\n\tif (getExperimalMode()) {\n\t\tLog.debug([event, target]);\n\t\tLog.debug(`↑ We propagate the (submit) event to this target.`);\n\t}\n\tObject.defineProperty(event, 'target', {\n\t\tvalue: target,\n\t\twritable: false,\n\t});\n};\n\nconst patchState = (component: Generic.Element.Component): void => {\n\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\tconst beforePatch = hooks.get('beforePatch') as Generic.Element.NextStateHooksCallback;\n\t\tif (typeof beforePatch === 'function') {\n\t\t\tbeforePatch(component.nextState?.get(key), component.nextState as Map<string, unknown>, component, key);\n\t\t}\n\t});\n\t/**\n\t * Wenn in beforePatch Methoden die Änderung verworfen wird,\n\t * muss auch nicht der State aktualisiert und neu gerendert\n\t * werden.\n\t */\n\tif ((component.nextState as Map<string, unknown>)?.size > 0) {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t...Object.fromEntries(component.nextState as Map<string, unknown>),\n\t\t};\n\t\tdelete component.nextState;\n\n\t\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\t\tconst afterPatch = hooks.get('afterPatch') as Generic.Element.StateHooksCallback;\n\t\t\tif (typeof afterPatch === 'function') {\n\t\t\t\tafterPatch(component.state[key], component.state, component, key);\n\t\t\t}\n\t\t});\n\t}\n\tdelete component.nextHooks;\n};\n\ntype SetStateHooks = {\n\tafterPatch?: Generic.Element.StateHooksCallback;\n\tbeforePatch?: Generic.Element.NextStateHooksCallback;\n};\n\nexport const setState = <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks: SetStateHooks = {}): void => {\n\tif (component.nextHooks === undefined) {\n\t\tcomponent.nextHooks = new Map();\n\t}\n\tif (component.nextState === undefined) {\n\t\tcomponent.nextState = new Map();\n\t}\n\tif (component.nextState.get(propName) !== value) {\n\t\tconst nextHooks = component.nextHooks.get(propName);\n\t\tif (nextHooks instanceof Map === false) {\n\t\t\tcomponent.nextHooks.set(propName, new Map());\n\t\t}\n\t\tif (typeof hooks.afterPatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('afterPatch', hooks.afterPatch);\n\t\t}\n\t\tif (typeof hooks.beforePatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('beforePatch', hooks.beforePatch);\n\t\t}\n\t\tcomponent.nextState.set(propName, value);\n\t\t/**\n\t\t * Muss erstmal in sync bleiben, da sonst der\n\t\t * Tooltip nicht korrekt ausgerichtet wird.\n\t\t */\n\t\t// if (component.hydrated === true || processEnv !== 'test') {\n\t\t// clearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// component.timeout = setTimeout(() => {\n\t\t// \tclearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// \tpatchState(component);\n\t\t// }, 50);\n\t\t// } else {\n\t\tpatchState(component);\n\t\t// }\n\t}\n};\n\nconst logWarn = (component: Generic.Element.Component, propName: string, value: unknown, requiredGeneric: Set<string | null | undefined>): void => {\n\tdevHint(\n\t\t`[${component.constructor.name}] Der Property-Wert (${value as string}) für '${propName}' ist nicht valide. Folgende Werte sind erlaubt: ${Array.from(\n\t\t\trequiredGeneric\n\t\t).join(', ')}`\n\t);\n};\n\nexport type WatchOptions = {\n\tdefaultValue?: unknown;\n\thooks?: SetStateHooks;\n\trequired?: boolean;\n};\n\nexport type WatchBooleanOptions = WatchOptions & {\n\tdefaultValue?: boolean | null;\n};\n\nexport type WatchStringOptions = WatchOptions & {\n\tdefaultValue?: string | null;\n\tmaxLength?: number;\n\tminLength?: number;\n};\n\nexport type WatchNumberOptions = WatchOptions & {\n\tdefaultValue?: number | null;\n\tmin?: number;\n\tmax?: number;\n};\n\nexport function watchValidator<T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\tvalidationFunction: (value?: T) => boolean,\n\trequiredGeneric: Set<string | null | undefined>,\n\tvalue?: T,\n\toptions: WatchOptions = {}\n): void {\n\tif (validationFunction(value)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert VALIDE ist.\n\t\t */\n\t\tsetState(component, propName, value, options.hooks);\n\t} else if ((value === undefined || value === null) && !options.required) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder ...\n\t\t * - UNDEFINED oder NULL\n\t\t * - und NICHT REQUIRED\n\t\t * ... ist.\n\t\t */\n\t\tsetState(component, propName, options.defaultValue, options.hooks);\n\t} else {\n\t\t/**\n\t\t * Triff zu, wenn der Wert NICHT valide ist.\n\t\t */\n\t\tif (!options.required) {\n\t\t\trequiredGeneric.add(null);\n\t\t}\n\t\tlogWarn(component, propName, value, requiredGeneric);\n\t}\n}\n\nexport const watchBoolean = (component: Generic.Element.Component, propName: string, value?: boolean, options?: WatchBooleanOptions): void => {\n\twatchValidator(component, propName, (value): boolean => typeof value === 'boolean', new Set(['Boolean {true, false}']), value, options);\n};\n\nexport const watchString = (component: Generic.Element.Component, propName: string, value?: string, options: WatchStringOptions = {}): void => {\n\tconst minLength = typeof options.minLength === 'number' ? options?.minLength : 0;\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'string' && value.length >= minLength && (typeof options?.maxLength === 'undefined' || value.length <= options.maxLength),\n\t\tnew Set([`String`]),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchNumber = (component: Generic.Element.Component, propName: string, value?: number, options?: WatchNumberOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'number' &&\n\t\t\t(typeof options?.min === 'undefined' || (typeof options?.min === 'number' && value >= options.min)) &&\n\t\t\t(typeof options?.max === 'undefined' || (typeof options?.max === 'number' && value <= options.max)),\n\t\tnew Set(['Number']),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchJsonArrayString = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\titemValidation: (item: T) => boolean,\n\tvalue?: Stringified<T[]>,\n\tarrayValidation: (items: T[]) => boolean = (items: T[]) => items === items, // nochmal hirnen\n\toptions: WatchOptions = {}\n): void => {\n\temptyStringByArrayHandler(value, () => {\n\t\tobjectObjectHandler(value, () => {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<T[]>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst invalid = value.find((item: T) => !itemValidation(item));\n\t\t\t\t\tif (invalid === undefined && arrayValidation(value)) {\n\t\t\t\t\t\tsetState(component, propName, value, options.hooks);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobjectObjectHandler(invalid, () => {\n\t\t\t\t\t\t\tLog.debug(invalid);\n\t\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\t\t\tLog.debug(value);\n\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/**\n\t\t\t\t * TODO: Wir haben einen Known-Bug beim Propergieren von Zeichenkettenliste (string[]).\n\t\t\t\t */\n\t\t\t\tLog.debug(error);\n\t\t\t\t// devHint(`Known bug: Zeichenkettenliste (string[])`);\n\t\t\t}\n\t\t});\n\t});\n};\n\nconst BOOLEAN = /^(true|false)$/;\nconst INTEGER = /^-?(0|[1-9]\\d*)$/;\nconst FLOAT = /^-?(0.|[1-9]\\d*.)\\d*[1-9]$/;\nexport const mapString2Unknown = (value: unknown) => {\n\tconst typeStr = typeof value;\n\tconst oldValue = `${value as string}`;\n\tif (typeof value === 'string') {\n\t\tif (BOOLEAN.test(value)) {\n\t\t\tvalue = value === 'true';\n\t\t} else if (INTEGER.test(value)) {\n\t\t\tvalue = parseInt(value);\n\t\t} else if (FLOAT.test(value)) {\n\t\t\tvalue = parseFloat(value);\n\t\t} else if (JSON_CHARS.test(value)) {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<unknown>(value);\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}\n\t}\n\tif (typeStr !== typeof value) {\n\t\tdevHint(`You have used a stringified property value (${oldValue} to ${JSON.stringify(value)}) which type switched from ${typeStr} to ${typeof value}!`);\n\t}\n\treturn value;\n};\n\nexport const stringifyJson = (value: unknown): string => {\n\ttry {\n\t\treturn JSON.stringify(value).replace(/\"/g, \"'\");\n\t} catch (error) {\n\t\tLog.warn(['stringifyJson', value]);\n\t\tLog.error(`↑ Das JSON konnte nicht in einen String umgewandelt werden. Es wird ein stringifizierbares JSON erwartet.`);\n\t\tthrow new Error();\n\t}\n};\n\nconst JSON_CHARS = /^[{[]/; // string starts with { or [\nexport const parseJson = <T>(value: unknown): T => {\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\t// \"null\", \"true\", \"false\", \"0\" works too\n\t\t\treturn JSON.parse(value);\n\t\t} catch (error) {\n\t\t\tif (JSON_CHARS.test(value)) {\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(value.replace(/'/g, '\"'));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tLog.warn(['parseJson', value]);\n\t\t\t\t\tLog.error(`↑ Der JSON-String konnte nicht geparsed werden. Achten Sie darauf, dass einfache Anführungszeichen im Text maskiert werden (‘).`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tthrow new Error();\n};\n\nexport const mapBoolean2String = (value?: boolean): string | undefined => {\n\treturn typeof value === 'boolean' ? (value === true ? 'true' : 'false') : undefined;\n};\n\nexport const mapStringOrBoolean2String = (value?: string | boolean): string | undefined => {\n\treturn typeof value === 'string' ? value : mapBoolean2String(value);\n};\n\nexport const koliBriQuerySelector = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T | null =>\n\tquerySelector<T>(selector, node || getDocument());\n\nexport const koliBriQuerySelectorAll = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T[] =>\n\tquerySelectorAll<T>(selector, node || getDocument());\n\ninterface A11yColorContrast {\n\tbackgroundColor: string;\n\tcolor: string;\n\tdomNode: HTMLElement | HTMLSlotElement;\n\tlevel: string;\n\tscore: number;\n}\n\nlet DEFAULT_COLOR_CONTRAST: A11yColorContrast | null = null;\nconst getDefaultColorContrast = (): A11yColorContrast => {\n\tDEFAULT_COLOR_CONTRAST = DEFAULT_COLOR_CONTRAST || {\n\t\tbackgroundColor: '#00000000',\n\t\tcolor: '#00000000',\n\t\tdomNode: getDocument().body,\n\t\tlevel: 'Fail',\n\t\tscore: 1,\n\t};\n\treturn DEFAULT_COLOR_CONTRAST;\n};\n\nconst TRANSPARENT_REGEXP = /(\\d+, ){3}0\\)/;\nexport const koliBriA11yColorContrast = (domNode: HTMLElement, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tconst computedStyle = getComputedStyle(domNode);\n\tconst hexBG: string = TRANSPARENT_REGEXP.test(computedStyle.backgroundColor) ? a11yColorContrast.backgroundColor : rgba.hex(computedStyle.backgroundColor);\n\tconst hexC: string = TRANSPARENT_REGEXP.test(computedStyle.color) ? a11yColorContrast.color : rgba.hex(computedStyle.color);\n\tconst diff = hex(hexBG, hexC);\n\tconst contrast = {\n\t\tbackgroundColor: hexBG,\n\t\tcolor: hexC,\n\t\tdomNode: domNode,\n\t\tlevel: score(diff),\n\t\tscore: diff,\n\t};\n\tif (diff < 4.5) {\n\t\tLog.error([\n\t\t\t'Color-Contrast-Error',\n\t\t\t{\n\t\t\t\tbackgroundColor: contrast.backgroundColor,\n\t\t\t\tcolor: contrast.color,\n\t\t\t\tlevel: contrast.level,\n\t\t\t\tscore: contrast.score,\n\t\t\t},\n\t\t\tcontrast.domNode,\n\t\t]);\n\t}\n\treturn contrast;\n};\n\nexport const koliBriQuerySelectorColors = (selector: string, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tif (a11yColorContrast.domNode instanceof HTMLElement) {\n\t\ta11yColorContrast = koliBriA11yColorContrast(a11yColorContrast.domNode, a11yColorContrast);\n\t}\n\tconst selectedNode: HTMLElement | null = a11yColorContrast.domNode.querySelector<HTMLElement>(selector);\n\tif (selectedNode === null) {\n\t\tconst nodeList: NodeListOf<HTMLElement> = a11yColorContrast.domNode.querySelectorAll<HTMLElement>('[class=\"hydrated\"]');\n\t\tfor (let i = 0; i < nodeList.length; i++) {\n\t\t\t// const shadowRoot: ShadowRoot = nodeList[i].shadowRoot as ShadowRoot;\n\t\t\t// if (typeof shadowRoot === 'object' && shadowRoot !== null) {\n\t\t\t// a11yColorContrast.domNode = shadowRoot;\n\t\t\t// a11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// } else {\n\t\t\ta11yColorContrast.domNode = nodeList[i];\n\t\t\ta11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// }\n\t\t\tif (a11yColorContrast.domNode !== null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn a11yColorContrast;\n\t} else {\n\t\treturn koliBriA11yColorContrast(selectedNode, a11yColorContrast);\n\t}\n};\n\nconst scrollByHTMLElement = (element: HTMLElement, parentElement: Window | HTMLElement = window): void => {\n\tif (element instanceof HTMLElement) {\n\t\tparentElement.scrollTo({\n\t\t\tbehavior: 'smooth',\n\t\t\ttop: element.getBoundingClientRect().top + getWindow().pageYOffset - 50,\n\t\t});\n\t\telement.focus();\n\t} else {\n\t\tdevHint(`Das HTMLElement ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\nexport const scrollBySelector = (selector: string, document?: Document | HTMLElement | ShadowRoot): void => {\n\tif (\n\t\t((selector as unknown) instanceof Document || (selector as unknown) instanceof HTMLElement || (selector as unknown) instanceof ShadowRoot) &&\n\t\ttypeof document === 'string'\n\t) {\n\t\tdevHint(\n\t\t\t`Bei der Methode querySelectorAll wurden die Parameter document, selector in selector, document getauscht, da der Parameter selector nicht, allerdings der Parameter document optional sein kann.`\n\t\t);\n\t\tconst temp = `${document as unknown as string}`;\n\t\tdocument = selector as unknown as Document;\n\t\tselector = temp;\n\t}\n\tif (typeof selector === 'string') {\n\t\tconst element: HTMLElement | null = koliBriQuerySelector<HTMLElement>(selector, document);\n\t\tif (element instanceof HTMLElement) {\n\t\t\tscrollByHTMLElement(element);\n\t\t} else {\n\t\t\tdevHint(`Es konnte kein HTMLElement mit dem Selector (${selector}) gefunden werden, zu dem gescrollt werden soll.`);\n\t\t}\n\t} else {\n\t\tdevHint(`Der Selector ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\n\nexport class KoliBriUtils {\n\tprivate static executionLock = false;\n\tprivate static cache = new Map<Element, A11yColorContrast>();\n\tpublic static queryHtmlElementColors(targetNode: HTMLElement, a11yColorContrast: A11yColorContrast, recursion = false, log = true): A11yColorContrast | null {\n\t\tlet returnValue = null;\n\t\tif (recursion === true || KoliBriUtils.executionLock === false) {\n\t\t\tif (recursion === false) {\n\t\t\t\tKoliBriUtils.cache.clear();\n\t\t\t\tKoliBriUtils.cache.set(a11yColorContrast.domNode, a11yColorContrast);\n\t\t\t\tKoliBriUtils.executionLock = true;\n\t\t\t\tif (log === true) {\n\t\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis started...`);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Log.debug(a11yColorContrast.domNode);\n\t\t\tif (targetNode === a11yColorContrast.domNode) {\n\t\t\t\treturnValue = a11yColorContrast;\n\t\t\t} else {\n\t\t\t\tconst children: Set<Element> = new Set<Element>();\n\t\t\t\tif (a11yColorContrast.domNode.shadowRoot) {\n\t\t\t\t\tconst shadowChildren = a11yColorContrast.domNode.shadowRoot.children;\n\t\t\t\t\tfor (let i = 0; i < shadowChildren.length; i++) {\n\t\t\t\t\t\tchildren.add(shadowChildren[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst slotElement: HTMLSlotElement = a11yColorContrast.domNode as HTMLSlotElement;\n\t\t\t\tif (typeof slotElement.assignedNodes === 'function') {\n\t\t\t\t\tconst slotChildren = slotElement.assignedNodes();\n\t\t\t\t\tfor (let i = 0; i < slotChildren.length; i++) {\n\t\t\t\t\t\tif (slotChildren[i] instanceof HTMLElement) {\n\t\t\t\t\t\t\tchildren.add(slotChildren[i] as HTMLElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst domChildren = a11yColorContrast.domNode.children;\n\t\t\t\tfor (let i = 0; i < domChildren.length; i++) {\n\t\t\t\t\tchildren.add(domChildren[i]);\n\t\t\t\t}\n\t\t\t\tconst arrayChildren = Array.from(children);\n\t\t\t\tfor (let i = 0; i < arrayChildren.length; i++) {\n\t\t\t\t\tlet colorContrast: A11yColorContrast | undefined = KoliBriUtils.cache.get(arrayChildren[i]);\n\t\t\t\t\tif (colorContrast === undefined) {\n\t\t\t\t\t\tcolorContrast = koliBriA11yColorContrast(arrayChildren[i] as HTMLElement, a11yColorContrast);\n\t\t\t\t\t}\n\t\t\t\t\tKoliBriUtils.cache.set(arrayChildren[i], colorContrast);\n\t\t\t\t\tconst colors: A11yColorContrast | null = KoliBriUtils.queryHtmlElementColors(targetNode, colorContrast, true, false);\n\t\t\t\t\tif (colors !== null) {\n\t\t\t\t\t\treturnValue = colors;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tLog.debug(`[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.`);\n\t\t}\n\t\tif (recursion === false) {\n\t\t\tif (log === true) {\n\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`);\n\t\t\t}\n\t\t\tKoliBriUtils.executionLock = false;\n\t\t\tKoliBriUtils.cache.clear();\n\t\t}\n\t\treturn returnValue;\n\t}\n}\n\nexport class KoliBriDevHelper {\n\tpublic static readonly patchTheme = patchTheme;\n\tpublic static readonly patchThemeTag = patchThemeTag;\n\tpublic static readonly querySelector = koliBriQuerySelector;\n\tpublic static readonly querySelectorAll = koliBriQuerySelectorAll;\n\tpublic static readonly scrollByHTMLElement = scrollByHTMLElement;\n\tpublic static readonly scrollBySelector = scrollBySelector;\n\tpublic static readonly stringifyJson = stringifyJson;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["watchHeadingLevel","component","value","watchValidator","Set","defaultValue","required"],"sources":["./src/components/heading/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport const watchHeadingLevel = (component: Generic.Element.Component, value?: number): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_level',\n\t\t(value): boolean => {\n\t\t\treturn typeof value === 'number' &&
|
|
1
|
+
{"version":3,"names":["watchHeadingLevel","component","value","watchValidator","Set","defaultValue","required"],"sources":["./src/components/heading/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport const watchHeadingLevel = (component: Generic.Element.Component, value?: number): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_level',\n\t\t(value): boolean => {\n\t\t\treturn typeof value === 'number' && 0 <= value && value <= 6;\n\t\t},\n\t\tnew Set(['Number {0, 1, 2, 3, 4, 5, 6}']),\n\t\tvalue,\n\t\t{\n\t\t\t// TODO: options not in the validator\n\t\t\tdefaultValue: 1,\n\t\t\trequired: true,\n\t\t}\n\t);\n};\n"],"mappings":";;;wDAGaA,EAAoB,CAACC,EAAsCC,KACvEC,EACCF,EACA,UACCC,UACcA,IAAU,UAAY,GAAKA,GAASA,GAAS,GAE5D,IAAIE,IAAI,CAAC,iCACTF,EACA,CAECG,aAAc,EACdC,SAAU,MAEX,S"}
|
|
@@ -3,22 +3,19 @@ import { Generic } from '@a11y-ui/core';
|
|
|
3
3
|
import { ButtonProps } from '../../types/button-link';
|
|
4
4
|
import { Stringified } from '../../types/common';
|
|
5
5
|
import { KoliBriIconProp } from '../../types/icon';
|
|
6
|
-
|
|
7
|
-
backgroundColor: string;
|
|
8
|
-
color: string;
|
|
9
|
-
};
|
|
6
|
+
import { ColorPair, PropColor } from '../../types/props/color';
|
|
10
7
|
type RequiredProps = {
|
|
11
8
|
label: string;
|
|
12
9
|
};
|
|
13
10
|
type OptionalProps = {
|
|
14
|
-
color: Stringified<
|
|
11
|
+
color: Stringified<PropColor>;
|
|
15
12
|
icon: Stringified<KoliBriIconProp>;
|
|
16
13
|
iconOnly: boolean;
|
|
17
14
|
smartButton: Stringified<ButtonProps>;
|
|
18
15
|
};
|
|
19
16
|
export type Props = Generic.Element.Members<RequiredProps, OptionalProps>;
|
|
20
17
|
type RequiredStates = {
|
|
21
|
-
color:
|
|
18
|
+
color: ColorPair;
|
|
22
19
|
label: string;
|
|
23
20
|
};
|
|
24
21
|
type OptionalStates = {
|
|
@@ -29,14 +26,14 @@ export declare class KolBadge implements Props {
|
|
|
29
26
|
private bgColorStr;
|
|
30
27
|
private colorStr;
|
|
31
28
|
render(): JSX.Element;
|
|
32
|
-
_color?:
|
|
29
|
+
_color?: Stringified<PropColor>;
|
|
33
30
|
_icon?: Stringified<KoliBriIconProp>;
|
|
34
31
|
_iconOnly?: boolean;
|
|
35
32
|
_label: string;
|
|
36
33
|
_smartButton?: Stringified<ButtonProps>;
|
|
37
34
|
state: States;
|
|
38
35
|
private handleColorChange;
|
|
39
|
-
validateColor(value?:
|
|
36
|
+
validateColor(value?: Stringified<PropColor>): void;
|
|
40
37
|
validateLabel(value?: string): void;
|
|
41
38
|
validateSmartButton(value?: ButtonProps | string): void;
|
|
42
39
|
componentWillLoad(): void;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { JSX } from '../../stencil-public-runtime';
|
|
2
2
|
import { Generic } from '@a11y-ui/core';
|
|
3
|
+
import { PropColor } from '../../types/props/color';
|
|
4
|
+
import { Stringified } from '../../components';
|
|
3
5
|
type RequiredProps = unknown;
|
|
4
6
|
type OptionalProps = {
|
|
5
7
|
animate: boolean;
|
|
6
|
-
color:
|
|
8
|
+
color: Stringified<PropColor>;
|
|
7
9
|
labeled: boolean;
|
|
8
10
|
};
|
|
9
11
|
type RequiredStates = {
|
|
@@ -21,12 +23,12 @@ export declare class KolKolibri implements Generic.Element.ComponentApi<Required
|
|
|
21
23
|
render(): JSX.Element;
|
|
22
24
|
private interval?;
|
|
23
25
|
_animate?: boolean;
|
|
24
|
-
_color?:
|
|
26
|
+
_color?: Stringified<PropColor>;
|
|
25
27
|
_labeled?: boolean;
|
|
26
28
|
state: States;
|
|
27
29
|
validateAnimate(value?: boolean): void;
|
|
28
30
|
private handleColorChange;
|
|
29
|
-
validateColor(value?:
|
|
31
|
+
validateColor(value?: Stringified<PropColor>): void;
|
|
30
32
|
validateLabeled(value?: boolean): void;
|
|
31
33
|
componentWillLoad(): void;
|
|
32
34
|
componentDidRender(): void;
|
|
@@ -9,8 +9,8 @@ import { AriaCurrent, PropAlignment } from "./types/props";
|
|
|
9
9
|
import { HeadingLevel } from "./types/heading-level";
|
|
10
10
|
import { KoliBriAccordionCallbacks } from "./components/accordion/types";
|
|
11
11
|
import { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from "./components/alert/types";
|
|
12
|
-
import { KoliBriColor } from "./components/badge/component";
|
|
13
12
|
import { Stringified } from "./types/common";
|
|
13
|
+
import { PropColor } from "./types/props/color";
|
|
14
14
|
import { KoliBriHorizontalIcon, KoliBriIconProp } from "./types/icon";
|
|
15
15
|
import { AlternativButtonLinkRole, ButtonProps, KoliBriButtonCallbacks, KoliBriButtonType, KoliBriButtonVariant, LinkOnCallbacks, LinkProps, LinkTarget, LinkUseCase } from "./types/button-link";
|
|
16
16
|
import { KoliBriFormCallbacks } from "./components/form/component";
|
|
@@ -24,6 +24,7 @@ import { InputDateType, InputNumberType } from "./types/input/control/number";
|
|
|
24
24
|
import { W3CInputValue } from "./types/w3c";
|
|
25
25
|
import { Orientation } from "./types/orientation";
|
|
26
26
|
import { InputTextType } from "./types/input/control/text";
|
|
27
|
+
import { Stringified as Stringified1 } from "./components";
|
|
27
28
|
import { ListStyleType } from "./components/link-group/component";
|
|
28
29
|
import { Bundesamt, Bundesanstalt, Bundesministerium } from "./enums/bund";
|
|
29
30
|
import { KoliBriModalEventCallbacks } from "./types/modal";
|
|
@@ -41,8 +42,8 @@ export { AriaCurrent, PropAlignment } from "./types/props";
|
|
|
41
42
|
export { HeadingLevel } from "./types/heading-level";
|
|
42
43
|
export { KoliBriAccordionCallbacks } from "./components/accordion/types";
|
|
43
44
|
export { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from "./components/alert/types";
|
|
44
|
-
export { KoliBriColor } from "./components/badge/component";
|
|
45
45
|
export { Stringified } from "./types/common";
|
|
46
|
+
export { PropColor } from "./types/props/color";
|
|
46
47
|
export { KoliBriHorizontalIcon, KoliBriIconProp } from "./types/icon";
|
|
47
48
|
export { AlternativButtonLinkRole, ButtonProps, KoliBriButtonCallbacks, KoliBriButtonType, KoliBriButtonVariant, LinkOnCallbacks, LinkProps, LinkTarget, LinkUseCase } from "./types/button-link";
|
|
48
49
|
export { KoliBriFormCallbacks } from "./components/form/component";
|
|
@@ -56,6 +57,7 @@ export { InputDateType, InputNumberType } from "./types/input/control/number";
|
|
|
56
57
|
export { W3CInputValue } from "./types/w3c";
|
|
57
58
|
export { Orientation } from "./types/orientation";
|
|
58
59
|
export { InputTextType } from "./types/input/control/text";
|
|
60
|
+
export { Stringified as Stringified1 } from "./components";
|
|
59
61
|
export { ListStyleType } from "./components/link-group/component";
|
|
60
62
|
export { Bundesamt, Bundesanstalt, Bundesministerium } from "./enums/bund";
|
|
61
63
|
export { KoliBriModalEventCallbacks } from "./types/modal";
|
|
@@ -132,7 +134,7 @@ export namespace Components {
|
|
|
132
134
|
/**
|
|
133
135
|
* Setzt die Hintergrundfarbe.
|
|
134
136
|
*/
|
|
135
|
-
"_color"?:
|
|
137
|
+
"_color"?: Stringified<PropColor>;
|
|
136
138
|
/**
|
|
137
139
|
* Iconklasse (z.B.: "codicon codicon-home")
|
|
138
140
|
*/
|
|
@@ -1484,7 +1486,7 @@ export namespace Components {
|
|
|
1484
1486
|
/**
|
|
1485
1487
|
* Gibt an, in welcher Farbe das Bild-Logo initial dargestellt werden soll.
|
|
1486
1488
|
*/
|
|
1487
|
-
"_color"?:
|
|
1489
|
+
"_color"?: Stringified1<PropColor>;
|
|
1488
1490
|
/**
|
|
1489
1491
|
* Gibt an, ob die Logo-Beschriftung angezeigt werden soll.
|
|
1490
1492
|
*/
|
|
@@ -1831,7 +1833,7 @@ export namespace Components {
|
|
|
1831
1833
|
*/
|
|
1832
1834
|
"_orientation"?: Orientation;
|
|
1833
1835
|
/**
|
|
1834
|
-
*
|
|
1836
|
+
* Stellt verschiedene Varianten der Navigation zur Verfügung.
|
|
1835
1837
|
* @deprecated This property is deprecated and will be removed in the next major version.
|
|
1836
1838
|
*/
|
|
1837
1839
|
"_variant"?: KoliBriNavVariant;
|
|
@@ -2699,7 +2701,7 @@ declare namespace LocalJSX {
|
|
|
2699
2701
|
/**
|
|
2700
2702
|
* Setzt die Hintergrundfarbe.
|
|
2701
2703
|
*/
|
|
2702
|
-
"_color"?:
|
|
2704
|
+
"_color"?: Stringified<PropColor>;
|
|
2703
2705
|
/**
|
|
2704
2706
|
* Iconklasse (z.B.: "codicon codicon-home")
|
|
2705
2707
|
*/
|
|
@@ -4051,7 +4053,7 @@ declare namespace LocalJSX {
|
|
|
4051
4053
|
/**
|
|
4052
4054
|
* Gibt an, in welcher Farbe das Bild-Logo initial dargestellt werden soll.
|
|
4053
4055
|
*/
|
|
4054
|
-
"_color"?:
|
|
4056
|
+
"_color"?: Stringified1<PropColor>;
|
|
4055
4057
|
/**
|
|
4056
4058
|
* Gibt an, ob die Logo-Beschriftung angezeigt werden soll.
|
|
4057
4059
|
*/
|
|
@@ -4398,7 +4400,7 @@ declare namespace LocalJSX {
|
|
|
4398
4400
|
*/
|
|
4399
4401
|
"_orientation"?: Orientation;
|
|
4400
4402
|
/**
|
|
4401
|
-
*
|
|
4403
|
+
* Stellt verschiedene Varianten der Navigation zur Verfügung.
|
|
4402
4404
|
* @deprecated This property is deprecated and will be removed in the next major version.
|
|
4403
4405
|
*/
|
|
4404
4406
|
"_variant"?: KoliBriNavVariant;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Generic } from '@a11y-ui/core';
|
|
2
|
+
import { WatchOptions } from '../../utils/prop.validators';
|
|
3
|
+
import { Stringified } from '../common';
|
|
4
|
+
type CharacteristicColors = {
|
|
5
|
+
primary: string;
|
|
6
|
+
secondary: string;
|
|
7
|
+
neutral: string;
|
|
8
|
+
};
|
|
9
|
+
export type ColorPair = {
|
|
10
|
+
backgroundColor: string;
|
|
11
|
+
foregroundColor: Stringified<CharacteristicColors>;
|
|
12
|
+
};
|
|
13
|
+
type DeprecatedColorPair = {
|
|
14
|
+
backgroundColor: string;
|
|
15
|
+
color: string;
|
|
16
|
+
};
|
|
17
|
+
export type PropColor = ColorPair | DeprecatedColorPair;
|
|
18
|
+
export declare const validateColor: (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions) => void;
|
|
19
|
+
export declare const handleColorChange: (value: unknown) => ColorPair;
|
|
20
|
+
export {};
|
|
@@ -8,7 +8,7 @@ type SetStateHooks = {
|
|
|
8
8
|
beforePatch?: Generic.Element.NextStateHooksCallback;
|
|
9
9
|
};
|
|
10
10
|
export declare const setState: <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks?: SetStateHooks) => void;
|
|
11
|
-
type WatchOptions = {
|
|
11
|
+
export type WatchOptions = {
|
|
12
12
|
defaultValue?: unknown;
|
|
13
13
|
hooks?: SetStateHooks;
|
|
14
14
|
required?: boolean;
|
package/doc/badge.md
CHANGED
|
@@ -38,7 +38,7 @@ Ein Icon (**`_icon`**) kann entweder als String angegeben werden, oder als Objek
|
|
|
38
38
|
Als String übergeben Sie die Iconklasse (z.B.: `_icon="codicon codicon-home`), das Icon wird links vom Text angezeigt.
|
|
39
39
|
Das Objekt ist vom Typ `KoliBriAllIcon`, kann also einen oder mehrere der Schlüssel `top`, `right`, `bottom` und `left` besitzen. Diese sind dann entweder String (siehe oben) oder ein Objekt vom Typ `KoliBriCustomIcon`, welches aus `icon` (String, siehe oben) und `style` (optional, Styleobjekt) besteht.
|
|
40
40
|
|
|
41
|
-
<kol-link _href="https://microsoft.github.io/vscode-codicons/dist/codicon.html" _label="Übersicht Codicons"></kol-
|
|
41
|
+
<kol-link _href="https://microsoft.github.io/vscode-codicons/dist/codicon.html" _label="Übersicht Codicons"></kol-link>
|
|
42
42
|
|
|
43
43
|
### Nur Icon anzeigen
|
|
44
44
|
|
|
@@ -91,7 +91,7 @@ Die zusätzliche Ausgabe eines **Icon** gewährleistet, dass der Nutzer auch hie
|
|
|
91
91
|
|
|
92
92
|
| Property | Attribute | Description | Type | Default |
|
|
93
93
|
| --------------------- | --------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
|
|
94
|
-
| `_color` | `_color` | Setzt die Hintergrundfarbe. | `string \| undefined \| { backgroundColor: string; color: string; }`
|
|
94
|
+
| `_color` | `_color` | Setzt die Hintergrundfarbe. | `string \| undefined \| { backgroundColor: string; color: string; } \| { backgroundColor: string; foregroundColor: Stringified<CharacteristicColors>; }` | `'#000'` |
|
|
95
95
|
| `_icon` | `_icon` | Iconklasse (z.B.: "codicon codicon-home") | `KoliBriHorizontalIcon & KoliBriVerticalIcon \| string \| undefined` | `undefined` |
|
|
96
96
|
| `_iconOnly` | `_icon-only` | Gibt an, ob nur das Icon angezeigt wird. | `boolean \| undefined` | `false` |
|
|
97
97
|
| `_label` _(required)_ | `_label` | Setzt den sichtbaren Text des Elements. | `string` | `undefined` |
|
package/doc/breadcrumb.md
CHANGED
|
@@ -36,7 +36,7 @@ Das gesamte JSON-Objekt muss in eckigen Klammern an das Attribut **`_links`** ü
|
|
|
36
36
|
<b>Folgende Eigenschaften stehen zur Verfügung:</b>
|
|
37
37
|
|
|
38
38
|
- **`_href`** übergibt den Link, der für dieses Element verwendet werden soll.
|
|
39
|
-
- **`_icon`** (optional) übergibt den Namen des Icon, wenn zusätzlich zum Text des Elements noch ein Icon angezeigt werden soll. Es stehen die <kol-link _href="https://microsoft.github.io/vscode-codicons/dist/codicon.html" _label="Codicons"></kol-
|
|
39
|
+
- **`_icon`** (optional) übergibt den Namen des Icon, wenn zusätzlich zum Text des Elements noch ein Icon angezeigt werden soll. Es stehen die <kol-link _href="https://microsoft.github.io/vscode-codicons/dist/codicon.html" _label="Codicons"></kol-link> zur Verfügung
|
|
40
40
|
- **`_iconOnly`** (optional). Wenn der Wert auf **true** gesetzt wird, erscheint im Link ausschließlich das Icon, ohne weiteren Text. Die Eigenschaft `_icon` muss gesetzt werden.
|
|
41
41
|
- **`_label`** übergibt den Text, der für dieses Element angezeigt werden soll.
|
|
42
42
|
|
package/doc/button.md
CHANGED
|
@@ -7,42 +7,33 @@
|
|
|
7
7
|
### Code
|
|
8
8
|
|
|
9
9
|
```html
|
|
10
|
-
<kol-button
|
|
11
|
-
<kol-button
|
|
12
|
-
<kol-button
|
|
13
|
-
<kol-button
|
|
14
|
-
<kol-button
|
|
15
|
-
<kol-button class="clickme" _label="Custom" _variant="custom" _custom-class="myClass"></kol-button>
|
|
16
|
-
<script>
|
|
17
|
-
document.querySelectorAll('.clickme').forEach((b) => (b._on = { onClick: console.log }));
|
|
18
|
-
</script>
|
|
10
|
+
<kol-button _label="Primary" _variant="primary"></kol-button>
|
|
11
|
+
<kol-button _label="Secondary" _variant="secondary"></kol-button>
|
|
12
|
+
<kol-button _label="Normal" _variant="normal"></kol-button>
|
|
13
|
+
<kol-button _label="Danger" _variant="danger"></kol-button>
|
|
14
|
+
<kol-button _label="Ghost" _variant="ghost"></kol-button>
|
|
19
15
|
```
|
|
20
16
|
|
|
21
17
|
### Beispiel
|
|
22
18
|
|
|
23
19
|
Default
|
|
24
20
|
|
|
25
|
-
<div class="flex gap-2">
|
|
26
|
-
<kol-button
|
|
27
|
-
<kol-button
|
|
28
|
-
<kol-button
|
|
29
|
-
<kol-button
|
|
30
|
-
<kol-button
|
|
31
|
-
<kol-button class="clickme" _label="Custom" _variant="custom" _custom-class="myClass"></kol-button>
|
|
21
|
+
<div class="flex flex-wrap gap-2">
|
|
22
|
+
<kol-button _label="Primary" _variant="primary"></kol-button>
|
|
23
|
+
<kol-button _label="Secondary" _variant="secondary"></kol-button>
|
|
24
|
+
<kol-button _label="Normal" _variant="normal"></kol-button>
|
|
25
|
+
<kol-button _label="Danger" _variant="danger"></kol-button>
|
|
26
|
+
<kol-button _label="Ghost" _variant="ghost"></kol-button>
|
|
32
27
|
</div>
|
|
33
|
-
<script>
|
|
34
|
-
document.querySelectorAll('.clickme').forEach(b => b._on = { onClick: console.log });
|
|
35
|
-
</script>
|
|
36
28
|
|
|
37
29
|
Disabled
|
|
38
30
|
|
|
39
|
-
<div class="flex gap-2">
|
|
31
|
+
<div class="flex flex-wrap gap-2">
|
|
40
32
|
<kol-button _label="Primary" _variant="primary" _disabled></kol-button>
|
|
41
33
|
<kol-button _label="Secondary" _variant="secondary" _disabled></kol-button>
|
|
42
34
|
<kol-button _label="Normal" _variant="normal" _disabled></kol-button>
|
|
43
35
|
<kol-button _label="Danger" _variant="danger" _disabled></kol-button>
|
|
44
36
|
<kol-button _label="Ghost" _variant="ghost" _disabled></kol-button>
|
|
45
|
-
<kol-button _label="Custom" _variant="custom" _custom-class="myClass" _disabled></kol-button>
|
|
46
37
|
</div>
|
|
47
38
|
|
|
48
39
|
## Verwendung
|