@public-ui/components 1.7.3 → 2.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +56 -841
- package/dist/cjs/a11y.tipps-7bc295a0.js +4 -0
- package/dist/cjs/a11y.tipps-7bc295a0.js.map +1 -0
- package/dist/cjs/align-5cb0bd50.js +4 -0
- package/dist/cjs/{align-4833e7b8.js.map → align-5cb0bd50.js.map} +1 -1
- package/dist/cjs/{alignment-1cddb2bb.js → alignment-160829a3.js} +1 -1
- package/dist/cjs/{alignment-1cddb2bb.js.map → alignment-160829a3.js.map} +1 -1
- package/dist/cjs/alternative-button-link-role-9e647514.js +4 -0
- package/dist/cjs/alternative-button-link-role-9e647514.js.map +1 -0
- package/dist/cjs/app-globals-f651a39e.js +4 -0
- package/dist/cjs/app-globals-f651a39e.js.map +1 -0
- package/dist/cjs/{associated.controller-25bdbc4c.js → associated.controller-8913f766.js} +1 -1
- package/dist/cjs/{associated.controller-25bdbc4c.js.map → associated.controller-8913f766.js.map} +1 -1
- package/dist/cjs/{color-1477dad9.js → color-7556424a.js} +1 -1
- package/dist/cjs/color-7556424a.js.map +1 -0
- package/dist/cjs/controller-2bc3135f.js +4 -0
- package/dist/cjs/controller-2bc3135f.js.map +1 -0
- package/dist/cjs/controller-5e9f8d56.js +4 -0
- package/dist/cjs/controller-5e9f8d56.js.map +1 -0
- package/dist/cjs/{controller-f84cb32e.js → controller-722157ec.js} +1 -1
- package/dist/cjs/{controller-f84cb32e.js.map → controller-722157ec.js.map} +1 -1
- package/dist/cjs/controller-98eb942a.js +4 -0
- package/dist/cjs/{controller-635f84bb.js.map → controller-98eb942a.js.map} +1 -1
- package/dist/cjs/{controller-75aab3d6.js → controller-e89fd046.js} +1 -1
- package/dist/cjs/controller-e89fd046.js.map +1 -0
- package/dist/cjs/{controller-icon-c806e1ed.js → controller-icon-e7aae6e1.js} +1 -1
- package/dist/cjs/{controller-icon-c806e1ed.js.map → controller-icon-e7aae6e1.js.map} +1 -1
- package/dist/cjs/{custom-class-50a75474.js → custom-class-c6c03255.js} +1 -1
- package/dist/cjs/{custom-class-50a75474.js.map → custom-class-c6c03255.js.map} +1 -1
- package/dist/cjs/dev.utils-8c7f47e6.js +4 -0
- package/dist/cjs/dev.utils-8c7f47e6.js.map +1 -0
- package/dist/cjs/devtools-646843d0.js +4 -0
- package/dist/cjs/devtools-646843d0.js.map +1 -0
- package/dist/cjs/has-closer-941dcb50.js +4 -0
- package/dist/cjs/{has-closer-ee730a2c.js.map → has-closer-941dcb50.js.map} +1 -1
- package/dist/cjs/hide-label-e6f15383.js +4 -0
- package/dist/cjs/{hide-label-4f46ef6b.js.map → hide-label-e6f15383.js.map} +1 -1
- package/dist/cjs/i18n-6dea3266.js +4 -0
- package/dist/cjs/i18n-6dea3266.js.map +1 -0
- package/dist/cjs/icons-a50a5cb6.js +4 -0
- package/dist/cjs/icons-a50a5cb6.js.map +1 -0
- package/dist/cjs/image-source-be51f603.js +4 -0
- package/dist/cjs/{image-source-aad3340f.js.map → image-source-be51f603.js.map} +1 -1
- package/dist/cjs/index-65ced40c.js +4 -0
- package/dist/cjs/index-65ced40c.js.map +1 -0
- package/dist/cjs/index-e9e81c6a.js +5 -0
- package/dist/cjs/index-e9e81c6a.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.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-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +1 -1
- package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.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-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/{label-467a936d.js → label-1aedd7c9.js} +1 -1
- package/dist/cjs/{label-467a936d.js.map → label-1aedd7c9.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/open-fb457a4f.js +4 -0
- package/dist/cjs/{open-e9be21cc.js.map → open-fb457a4f.js.map} +1 -1
- package/dist/cjs/prop.validators-d9e8f5a9.js +4 -0
- package/dist/cjs/prop.validators-d9e8f5a9.js.map +1 -0
- package/dist/cjs/rows-9e57680f.js +4 -0
- package/dist/cjs/{rows-bb440aec.js.map → rows-9e57680f.js.map} +1 -1
- package/dist/cjs/show-9060efee.js +4 -0
- package/dist/cjs/{show-9b0c1d00.js.map → show-9060efee.js.map} +1 -1
- package/dist/cjs/{suggestions-7985373a.js → suggestions-97bfee0c.js} +1 -1
- package/dist/cjs/{suggestions-7985373a.js.map → suggestions-97bfee0c.js.map} +1 -1
- package/dist/cjs/{tab-index-6b2fbb7c.js → tab-index-70de06c1.js} +1 -1
- package/dist/cjs/{tab-index-6b2fbb7c.js.map → tab-index-70de06c1.js.map} +1 -1
- package/dist/cjs/{tooltip-align-c1ab918f.js → tooltip-align-5d4d8eef.js} +1 -1
- package/dist/cjs/{tooltip-align-c1ab918f.js.map → tooltip-align-5d4d8eef.js.map} +1 -1
- package/dist/cjs/{validation-a79c30cf.js → validation-8f74bfb8.js} +1 -1
- package/dist/cjs/{validation-a79c30cf.js.map → validation-8f74bfb8.js.map} +1 -1
- package/dist/cjs/{validation-2a513f8b.js → validation-aa68e6ae.js} +1 -1
- package/dist/cjs/{validation-2a513f8b.js.map → validation-aa68e6ae.js.map} +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/color.js.map +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/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/component16.js +1 -1
- package/dist/components/component16.js.map +1 -1
- package/dist/components/component2.js +1 -1
- package/dist/components/component2.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component5.js.map +1 -1
- package/dist/components/component6.js +1 -1
- package/dist/components/component6.js.map +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/component8.js.map +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/component9.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/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-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-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +1 -1
- package/dist/components/kol-input-radio.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-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-pagination.js +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-select.js +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-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-symbol.js +1 -1
- package/dist/components/kol-symbol.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-container.js +1 -1
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow.js +1 -1
- package/dist/components/shadow.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow2.js.map +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/shadow3.js.map +1 -1
- package/dist/components/tab-index.js +1 -1
- package/dist/components/tab-index.js.map +1 -1
- package/dist/esm/a11y.tipps-583a2096.js +4 -0
- package/dist/esm/a11y.tipps-583a2096.js.map +1 -0
- package/dist/esm/{align-6791f42e.js → align-0c96facf.js} +1 -1
- package/dist/esm/{align-6791f42e.js.map → align-0c96facf.js.map} +1 -1
- package/dist/esm/{alignment-5e6dbd7f.js → alignment-84fc6207.js} +1 -1
- package/dist/esm/{alignment-5e6dbd7f.js.map → alignment-84fc6207.js.map} +1 -1
- package/dist/esm/alternative-button-link-role-1b39949c.js +4 -0
- package/dist/esm/alternative-button-link-role-1b39949c.js.map +1 -0
- package/dist/esm/app-globals-fa8bbebf.js +4 -0
- package/dist/esm/app-globals-fa8bbebf.js.map +1 -0
- package/dist/esm/{associated.controller-d519d4fd.js → associated.controller-103e6fb9.js} +1 -1
- package/dist/esm/{associated.controller-d519d4fd.js.map → associated.controller-103e6fb9.js.map} +1 -1
- package/dist/esm/{color-66412a88.js → color-3932ac07.js} +1 -1
- package/dist/esm/color-3932ac07.js.map +1 -0
- package/dist/esm/{controller-4418a153.js → controller-75d286de.js} +1 -1
- package/dist/esm/{controller-4418a153.js.map → controller-75d286de.js.map} +1 -1
- package/dist/esm/controller-a13b8955.js +4 -0
- package/dist/esm/controller-a13b8955.js.map +1 -0
- package/dist/esm/{controller-4a327464.js → controller-b19ee0de.js} +1 -1
- package/dist/{cjs/controller-75aab3d6.js.map → esm/controller-b19ee0de.js.map} +1 -1
- package/dist/esm/controller-cdba1088.js +4 -0
- package/dist/esm/controller-cdba1088.js.map +1 -0
- package/dist/esm/{controller-0407a8fc.js → controller-eb162f21.js} +1 -1
- package/dist/esm/{controller-0407a8fc.js.map → controller-eb162f21.js.map} +1 -1
- package/dist/esm/{controller-icon-5552f237.js → controller-icon-fb1feb61.js} +1 -1
- package/dist/esm/{controller-icon-5552f237.js.map → controller-icon-fb1feb61.js.map} +1 -1
- package/dist/esm/{custom-class-503e41f2.js → custom-class-44d7cc63.js} +1 -1
- package/dist/esm/{custom-class-503e41f2.js.map → custom-class-44d7cc63.js.map} +1 -1
- package/dist/esm/dev.utils-2a853234.js +4 -0
- package/dist/esm/dev.utils-2a853234.js.map +1 -0
- package/dist/esm/devtools-496ae358.js +4 -0
- package/dist/esm/devtools-496ae358.js.map +1 -0
- package/dist/esm/{has-closer-fe2d4781.js → has-closer-fd2d8642.js} +1 -1
- package/dist/esm/{has-closer-fe2d4781.js.map → has-closer-fd2d8642.js.map} +1 -1
- package/dist/esm/{hide-label-2e0f24b2.js → hide-label-2c0bf25c.js} +1 -1
- package/dist/esm/{hide-label-2e0f24b2.js.map → hide-label-2c0bf25c.js.map} +1 -1
- package/dist/esm/i18n-d0bb1d99.js +4 -0
- package/dist/esm/i18n-d0bb1d99.js.map +1 -0
- package/dist/esm/icons-ad8a28c6.js +4 -0
- package/dist/esm/icons-ad8a28c6.js.map +1 -0
- package/dist/esm/{image-source-f838da2a.js → image-source-58a1cae6.js} +1 -1
- package/dist/esm/{image-source-f838da2a.js.map → image-source-58a1cae6.js.map} +1 -1
- package/dist/esm/index-947d3173.js +4 -0
- package/dist/esm/index-947d3173.js.map +1 -0
- package/dist/esm/index-d0c806ea.js +5 -0
- package/dist/esm/index-d0c806ea.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc_3.entry.js +1 -1
- package/dist/esm/kol-alert-wc_3.entry.js.map +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.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-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js.map +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-input.entry.js +1 -1
- package/dist/esm/kol-input.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover.entry.js +1 -1
- package/dist/esm/kol-popover.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-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-wc_2.entry.js +1 -1
- package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-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-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-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-container.entry.js +1 -1
- package/dist/esm/kol-toast-container.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-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/{label-2cb3f0a1.js → label-0d258cd5.js} +1 -1
- package/dist/esm/{label-2cb3f0a1.js.map → label-0d258cd5.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{open-f70592c1.js → open-713ddcdc.js} +1 -1
- package/dist/esm/{open-f70592c1.js.map → open-713ddcdc.js.map} +1 -1
- package/dist/esm/prop.validators-125a3282.js +4 -0
- package/dist/esm/prop.validators-125a3282.js.map +1 -0
- package/dist/esm/{rows-9a9a2940.js → rows-d5112a2e.js} +1 -1
- package/dist/esm/{rows-9a9a2940.js.map → rows-d5112a2e.js.map} +1 -1
- package/dist/esm/{show-8c3c4865.js → show-9951ecef.js} +1 -1
- package/dist/esm/{show-8c3c4865.js.map → show-9951ecef.js.map} +1 -1
- package/dist/esm/{suggestions-689ff138.js → suggestions-50a767be.js} +1 -1
- package/dist/esm/{suggestions-689ff138.js.map → suggestions-50a767be.js.map} +1 -1
- package/dist/esm/{tab-index-4f18f869.js → tab-index-5e7494f0.js} +1 -1
- package/dist/esm/{tab-index-4f18f869.js.map → tab-index-5e7494f0.js.map} +1 -1
- package/dist/esm/{tooltip-align-b8d9da02.js → tooltip-align-fe8fbb60.js} +1 -1
- package/dist/esm/{tooltip-align-b8d9da02.js.map → tooltip-align-fe8fbb60.js.map} +1 -1
- package/dist/esm/{validation-5429f00c.js → validation-33f3aa23.js} +1 -1
- package/dist/esm/{validation-5429f00c.js.map → validation-33f3aa23.js.map} +1 -1
- package/dist/esm/validation-61e035d7.js +4 -0
- package/dist/esm/{validation-906faec2.js.map → validation-61e035d7.js.map} +1 -1
- package/dist/kolibri/a11y.tipps-583a2096.js +4 -0
- package/dist/kolibri/a11y.tipps-583a2096.js.map +1 -0
- package/dist/kolibri/align-0c96facf.js +4 -0
- package/dist/kolibri/alignment-84fc6207.js +4 -0
- package/dist/kolibri/alternative-button-link-role-1b39949c.js +4 -0
- package/dist/kolibri/alternative-button-link-role-1b39949c.js.map +1 -0
- package/dist/kolibri/app-globals-fa8bbebf.js +4 -0
- package/dist/kolibri/{app-globals-25ce2ed6.js.map → app-globals-fa8bbebf.js.map} +1 -1
- package/dist/kolibri/{associated.controller-d519d4fd.js → associated.controller-103e6fb9.js} +1 -1
- package/dist/kolibri/{color-66412a88.js → color-3932ac07.js} +1 -1
- package/dist/kolibri/color-3932ac07.js.map +1 -0
- package/dist/kolibri/{controller-4418a153.js → controller-75d286de.js} +1 -1
- package/dist/kolibri/controller-a13b8955.js +4 -0
- package/dist/kolibri/controller-a13b8955.js.map +1 -0
- package/dist/kolibri/controller-b19ee0de.js +4 -0
- package/dist/kolibri/controller-b19ee0de.js.map +1 -0
- package/dist/kolibri/controller-cdba1088.js +4 -0
- package/dist/kolibri/controller-cdba1088.js.map +1 -0
- package/dist/kolibri/{controller-0407a8fc.js → controller-eb162f21.js} +1 -1
- package/dist/kolibri/{controller-icon-5552f237.js → controller-icon-fb1feb61.js} +1 -1
- package/dist/kolibri/{custom-class-503e41f2.js → custom-class-44d7cc63.js} +1 -1
- package/dist/kolibri/dev.utils-2a853234.js +4 -0
- package/dist/kolibri/dev.utils-2a853234.js.map +1 -0
- package/dist/kolibri/devtools-496ae358.js +4 -0
- package/dist/kolibri/{devtools-151a8a80.js.map → devtools-496ae358.js.map} +1 -1
- package/dist/kolibri/has-closer-fd2d8642.js +4 -0
- package/dist/kolibri/{has-closer-fe2d4781.js.map → has-closer-fd2d8642.js.map} +1 -1
- package/dist/kolibri/hide-label-2c0bf25c.js +4 -0
- package/dist/kolibri/i18n-d0bb1d99.js +4 -0
- package/dist/kolibri/i18n-d0bb1d99.js.map +1 -0
- package/dist/kolibri/icons-ad8a28c6.js +4 -0
- package/dist/kolibri/icons-ad8a28c6.js.map +1 -0
- package/dist/kolibri/image-source-58a1cae6.js +4 -0
- package/dist/kolibri/index-947d3173.js +4 -0
- package/dist/kolibri/index-947d3173.js.map +1 -0
- package/dist/kolibri/index-d0c806ea.js +5 -0
- package/dist/kolibri/index-d0c806ea.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc_3.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.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-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +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-input.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-popover.entry.js +1 -1
- package/dist/kolibri/kol-popover.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.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-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/{label-2cb3f0a1.js → label-0d258cd5.js} +1 -1
- package/dist/kolibri/open-713ddcdc.js +4 -0
- package/dist/kolibri/prop.validators-125a3282.js +4 -0
- package/dist/kolibri/prop.validators-125a3282.js.map +1 -0
- package/dist/kolibri/rows-d5112a2e.js +4 -0
- package/dist/kolibri/show-9951ecef.js +4 -0
- package/dist/kolibri/{suggestions-689ff138.js → suggestions-50a767be.js} +1 -1
- package/dist/kolibri/tab-index-5e7494f0.js +4 -0
- package/dist/kolibri/{tab-index-4f18f869.js.map → tab-index-5e7494f0.js.map} +1 -1
- package/dist/kolibri/tooltip-align-fe8fbb60.js +4 -0
- package/dist/kolibri/validation-33f3aa23.js +4 -0
- package/dist/kolibri/validation-61e035d7.js +4 -0
- package/dist/types/components/abbr/component.d.ts +1 -3
- package/dist/types/components/abbr/types.d.ts +3 -5
- package/dist/types/components/accordion/component.d.ts +1 -3
- package/dist/types/components/accordion/test/html.mock.d.ts +1 -2
- package/dist/types/components/accordion/types.d.ts +2 -3
- package/dist/types/components/alert/shadow.d.ts +0 -1
- package/dist/types/components/alert/types.d.ts +2 -3
- package/dist/types/components/badge/component.d.ts +0 -3
- package/dist/types/components/badge/types.d.ts +2 -5
- package/dist/types/components/breadcrumb/component.d.ts +1 -3
- package/dist/types/components/breadcrumb/types.d.ts +2 -3
- package/dist/types/components/button/component.d.ts +0 -14
- package/dist/types/components/button/shadow.d.ts +0 -8
- package/dist/types/components/button/types.d.ts +2 -9
- package/dist/types/components/button-link/component.d.ts +0 -6
- package/dist/types/components/card/component.d.ts +1 -8
- package/dist/types/components/card/types.d.ts +3 -6
- package/dist/types/components/details/component.d.ts +1 -3
- package/dist/types/components/details/types.d.ts +2 -3
- package/dist/types/components/icon/component.d.ts +2 -8
- package/dist/types/components/icon/types.d.ts +4 -7
- package/dist/types/components/input/component.d.ts +0 -2
- package/dist/types/components/input/types.d.ts +0 -1
- package/dist/types/components/input-checkbox/component.d.ts +0 -4
- package/dist/types/components/input-checkbox/controller.d.ts +0 -2
- package/dist/types/components/input-checkbox/types.d.ts +1 -3
- package/dist/types/components/input-color/component.d.ts +0 -4
- package/dist/types/components/input-color/controller.d.ts +0 -1
- package/dist/types/components/input-color/types.d.ts +1 -3
- package/dist/types/components/input-date/component.d.ts +0 -4
- package/dist/types/components/input-date/controller.d.ts +0 -1
- package/dist/types/components/input-date/types.d.ts +1 -2
- package/dist/types/components/input-email/component.d.ts +0 -6
- package/dist/types/components/input-email/types.d.ts +0 -4
- package/dist/types/components/input-file/component.d.ts +0 -2
- package/dist/types/components/input-file/types.d.ts +0 -1
- package/dist/types/components/input-number/component.d.ts +0 -7
- package/dist/types/components/input-number/controller.d.ts +0 -3
- package/dist/types/components/input-number/types.d.ts +2 -5
- package/dist/types/components/input-password/component.d.ts +0 -4
- package/dist/types/components/input-password/controller.d.ts +0 -1
- package/dist/types/components/input-password/types.d.ts +0 -3
- package/dist/types/components/input-radio/component.d.ts +1 -3
- package/dist/types/components/input-radio/types.d.ts +1 -3
- package/dist/types/components/input-range/component.d.ts +1 -6
- package/dist/types/components/input-range/controller.d.ts +1 -4
- package/dist/types/components/input-range/types.d.ts +1 -3
- package/dist/types/components/input-text/component.d.ts +0 -6
- package/dist/types/components/input-text/controller.d.ts +0 -3
- package/dist/types/components/input-text/types.d.ts +0 -4
- package/dist/types/components/link/component.d.ts +1 -26
- package/dist/types/components/link/shadow.d.ts +1 -15
- package/dist/types/components/link/test/html.mock.d.ts +1 -1
- package/dist/types/components/link/types.d.ts +4 -17
- package/dist/types/components/link-button/component.d.ts +1 -8
- package/dist/types/components/link-group/component.d.ts +1 -10
- package/dist/types/components/link-group/types.d.ts +3 -12
- package/dist/types/components/logo/component.d.ts +0 -2
- package/dist/types/components/logo/types.d.ts +1 -3
- package/dist/types/components/modal/component.d.ts +1 -3
- package/dist/types/components/modal/types.d.ts +2 -3
- package/dist/types/components/nav/component.d.ts +1 -10
- package/dist/types/components/nav/types.d.ts +4 -11
- package/dist/types/components/pagination/component.d.ts +1 -3
- package/dist/types/components/pagination/types.d.ts +2 -3
- package/dist/types/components/progress/component.d.ts +0 -2
- package/dist/types/components/progress/types.d.ts +0 -1
- package/dist/types/components/quote/shadow.d.ts +0 -2
- package/dist/types/components/quote/types.d.ts +0 -1
- package/dist/types/components/select/component.d.ts +1 -9
- package/dist/types/components/select/controller.d.ts +0 -1
- package/dist/types/components/select/types.d.ts +1 -7
- package/dist/types/components/skip-nav/component.d.ts +1 -3
- package/dist/types/components/skip-nav/types.d.ts +2 -3
- package/dist/types/components/span/component.d.ts +0 -4
- package/dist/types/components/span/shadow.d.ts +0 -2
- package/dist/types/components/span/types.d.ts +1 -5
- package/dist/types/components/split-button/component.d.ts +2 -12
- package/dist/types/components/split-button/types.d.ts +4 -10
- package/dist/types/components/symbol/component.d.ts +1 -3
- package/dist/types/components/symbol/types.d.ts +3 -4
- package/dist/types/components/table/component.d.ts +1 -3
- package/dist/types/components/table/types.d.ts +2 -3
- package/dist/types/components/tabs/component.d.ts +1 -5
- package/dist/types/components/tabs/types.d.ts +3 -7
- package/dist/types/components/version/component.d.ts +1 -3
- package/dist/types/components/version/types.d.ts +3 -7
- package/dist/types/components.d.ts +60 -1450
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/locales/de.d.ts +0 -2
- package/dist/types/locales/en.d.ts +0 -2
- package/dist/types/stencil-public-runtime.d.ts +19 -0
- package/dist/types/types/button-link-text.d.ts +1 -2
- package/dist/types/types/input/control/number.d.ts +0 -2
- package/dist/types/types/props/color.d.ts +1 -5
- package/dist/types/types/props/icons.d.ts +1 -3
- package/dist/types/utils/a11y.tipps.d.ts +0 -1
- package/dist/types/utils/prop.validators.d.ts +0 -5
- package/doc/abbr.md +5 -6
- package/doc/accordion.md +16 -19
- package/doc/alert.md +1 -1
- package/doc/badge.md +8 -15
- package/doc/breadcrumb.md +8 -9
- package/doc/button-group.md +2 -2
- package/doc/button-link.md +17 -22
- package/doc/button.md +24 -32
- package/doc/card.md +14 -21
- package/doc/details.md +6 -7
- package/doc/heading.md +0 -2
- package/doc/icon.md +16 -25
- package/doc/image.md +4 -4
- package/doc/input-checkbox.md +27 -29
- package/doc/input-color.md +24 -26
- package/doc/input-date.md +33 -35
- package/doc/input-email.md +32 -35
- package/doc/input-file.md +26 -27
- package/doc/input-number.md +30 -33
- package/doc/input-password.md +29 -31
- package/doc/input-radio.md +5 -11
- package/doc/input-range.md +3 -5
- package/doc/input-text.md +34 -37
- package/doc/kolibri.md +5 -5
- package/doc/link-button.md +16 -23
- package/doc/link-group.md +7 -17
- package/doc/link.md +20 -35
- package/doc/logo.md +3 -4
- package/doc/modal.md +13 -14
- package/doc/nav.md +20 -33
- package/doc/pagination.md +8 -9
- package/doc/progress.md +10 -11
- package/doc/quote.md +11 -12
- package/doc/select.md +0 -4
- package/doc/skip-nav.md +5 -6
- package/doc/span.md +3 -5
- package/doc/spin.md +3 -3
- package/doc/split-button.md +0 -14
- package/doc/symbol.md +5 -6
- package/doc/table.md +20 -21
- package/doc/tabs.md +14 -16
- package/doc/textarea.md +1 -1
- package/doc/tooltip.md +1 -1
- package/doc/version.md +6 -7
- package/package.json +1 -1
- package/vscode-custom-data.json +120 -11482
- package/dist/cjs/a11y.tipps-dd4d7aa2.js +0 -4
- package/dist/cjs/a11y.tipps-dd4d7aa2.js.map +0 -1
- package/dist/cjs/align-4833e7b8.js +0 -4
- package/dist/cjs/app-globals-07a61e76.js +0 -4
- package/dist/cjs/app-globals-07a61e76.js.map +0 -1
- package/dist/cjs/aria-current-3574d27e.js +0 -4
- package/dist/cjs/aria-current-3574d27e.js.map +0 -1
- package/dist/cjs/color-1477dad9.js.map +0 -1
- package/dist/cjs/controller-07933f8a.js +0 -4
- package/dist/cjs/controller-07933f8a.js.map +0 -1
- package/dist/cjs/controller-2e93aa0b.js +0 -4
- package/dist/cjs/controller-2e93aa0b.js.map +0 -1
- package/dist/cjs/controller-635f84bb.js +0 -4
- package/dist/cjs/dev.utils-da95732f.js +0 -4
- package/dist/cjs/dev.utils-da95732f.js.map +0 -1
- package/dist/cjs/devtools-5f4087de.js +0 -4
- package/dist/cjs/devtools-5f4087de.js.map +0 -1
- package/dist/cjs/has-closer-ee730a2c.js +0 -4
- package/dist/cjs/hide-label-4f46ef6b.js +0 -4
- package/dist/cjs/i18n-883db212.js +0 -4
- package/dist/cjs/i18n-883db212.js.map +0 -1
- package/dist/cjs/icons-d26ec242.js +0 -4
- package/dist/cjs/icons-d26ec242.js.map +0 -1
- package/dist/cjs/image-source-aad3340f.js +0 -4
- package/dist/cjs/index-2feae351.js +0 -5
- package/dist/cjs/index-2feae351.js.map +0 -1
- package/dist/cjs/index-82aca647.js +0 -4
- package/dist/cjs/index-82aca647.js.map +0 -1
- package/dist/cjs/index-f96a013d.js +0 -4
- package/dist/cjs/index-f96a013d.js.map +0 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +0 -4
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +0 -4
- package/dist/cjs/kol-icon-icofont.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +0 -4
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js +0 -4
- package/dist/cjs/kol-input-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/open-e9be21cc.js +0 -4
- package/dist/cjs/prop.validators-6f92dc96.js +0 -4
- package/dist/cjs/prop.validators-6f92dc96.js.map +0 -1
- package/dist/cjs/rows-bb440aec.js +0 -4
- package/dist/cjs/show-9b0c1d00.js +0 -4
- package/dist/components/component17.js +0 -4
- package/dist/components/component17.js.map +0 -1
- package/dist/components/kol-icon-font-awesome.d.ts +0 -11
- package/dist/components/kol-icon-font-awesome.js +0 -4
- package/dist/components/kol-icon-font-awesome.js.map +0 -1
- package/dist/components/kol-icon-icofont.d.ts +0 -11
- package/dist/components/kol-icon-icofont.js +0 -4
- package/dist/components/kol-icon-icofont.js.map +0 -1
- package/dist/components/kol-input-adapter-leanup.d.ts +0 -11
- package/dist/components/kol-input-adapter-leanup.js +0 -4
- package/dist/components/kol-input-adapter-leanup.js.map +0 -1
- package/dist/components/kol-input-radio-group.d.ts +0 -11
- package/dist/components/kol-input-radio-group.js +0 -4
- package/dist/components/kol-input-radio-group.js.map +0 -1
- package/dist/esm/a11y.tipps-ba672890.js +0 -4
- package/dist/esm/a11y.tipps-ba672890.js.map +0 -1
- package/dist/esm/app-globals-25ce2ed6.js +0 -4
- package/dist/esm/app-globals-25ce2ed6.js.map +0 -1
- package/dist/esm/aria-current-b3fb717c.js +0 -4
- package/dist/esm/aria-current-b3fb717c.js.map +0 -1
- package/dist/esm/color-66412a88.js.map +0 -1
- package/dist/esm/controller-04e4f9f3.js +0 -4
- package/dist/esm/controller-04e4f9f3.js.map +0 -1
- package/dist/esm/controller-4a327464.js.map +0 -1
- package/dist/esm/controller-a2e99cf4.js +0 -4
- package/dist/esm/controller-a2e99cf4.js.map +0 -1
- package/dist/esm/dev.utils-aea04f25.js +0 -4
- package/dist/esm/dev.utils-aea04f25.js.map +0 -1
- package/dist/esm/devtools-151a8a80.js +0 -4
- package/dist/esm/devtools-151a8a80.js.map +0 -1
- package/dist/esm/i18n-3c8ef0a3.js +0 -4
- package/dist/esm/i18n-3c8ef0a3.js.map +0 -1
- package/dist/esm/icons-a05b3daf.js +0 -4
- package/dist/esm/icons-a05b3daf.js.map +0 -1
- package/dist/esm/index-23225963.js +0 -4
- package/dist/esm/index-23225963.js.map +0 -1
- package/dist/esm/index-3822b0c5.js +0 -4
- package/dist/esm/index-3822b0c5.js.map +0 -1
- package/dist/esm/index-536799d5.js +0 -5
- package/dist/esm/index-536799d5.js.map +0 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +0 -4
- package/dist/esm/kol-icon-font-awesome.entry.js.map +0 -1
- package/dist/esm/kol-icon-icofont.entry.js +0 -4
- package/dist/esm/kol-icon-icofont.entry.js.map +0 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js +0 -4
- package/dist/esm/kol-input-adapter-leanup.entry.js.map +0 -1
- package/dist/esm/kol-input-radio-group.entry.js +0 -4
- package/dist/esm/kol-input-radio-group.entry.js.map +0 -1
- package/dist/esm/prop.validators-7087c1e6.js +0 -4
- package/dist/esm/prop.validators-7087c1e6.js.map +0 -1
- package/dist/esm/validation-906faec2.js +0 -4
- package/dist/kolibri/a11y.tipps-ba672890.js +0 -4
- package/dist/kolibri/a11y.tipps-ba672890.js.map +0 -1
- package/dist/kolibri/align-6791f42e.js +0 -4
- package/dist/kolibri/alignment-5e6dbd7f.js +0 -4
- package/dist/kolibri/app-globals-25ce2ed6.js +0 -4
- package/dist/kolibri/aria-current-b3fb717c.js +0 -4
- package/dist/kolibri/aria-current-b3fb717c.js.map +0 -1
- package/dist/kolibri/color-66412a88.js.map +0 -1
- package/dist/kolibri/controller-04e4f9f3.js +0 -4
- package/dist/kolibri/controller-04e4f9f3.js.map +0 -1
- package/dist/kolibri/controller-4a327464.js +0 -4
- package/dist/kolibri/controller-4a327464.js.map +0 -1
- package/dist/kolibri/controller-a2e99cf4.js +0 -4
- package/dist/kolibri/controller-a2e99cf4.js.map +0 -1
- package/dist/kolibri/dev.utils-aea04f25.js +0 -4
- package/dist/kolibri/dev.utils-aea04f25.js.map +0 -1
- package/dist/kolibri/devtools-151a8a80.js +0 -4
- package/dist/kolibri/has-closer-fe2d4781.js +0 -4
- package/dist/kolibri/hide-label-2e0f24b2.js +0 -4
- package/dist/kolibri/i18n-3c8ef0a3.js +0 -4
- package/dist/kolibri/i18n-3c8ef0a3.js.map +0 -1
- package/dist/kolibri/icons-a05b3daf.js +0 -4
- package/dist/kolibri/icons-a05b3daf.js.map +0 -1
- package/dist/kolibri/image-source-f838da2a.js +0 -4
- package/dist/kolibri/index-23225963.js +0 -4
- package/dist/kolibri/index-23225963.js.map +0 -1
- package/dist/kolibri/index-3822b0c5.js +0 -4
- package/dist/kolibri/index-3822b0c5.js.map +0 -1
- package/dist/kolibri/index-536799d5.js +0 -5
- package/dist/kolibri/index-536799d5.js.map +0 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +0 -4
- package/dist/kolibri/kol-icon-font-awesome.entry.js.map +0 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +0 -4
- package/dist/kolibri/kol-icon-icofont.entry.js.map +0 -1
- package/dist/kolibri/kol-input-adapter-leanup.entry.js +0 -4
- package/dist/kolibri/kol-input-adapter-leanup.entry.js.map +0 -1
- package/dist/kolibri/kol-input-radio-group.entry.js +0 -4
- package/dist/kolibri/kol-input-radio-group.entry.js.map +0 -1
- package/dist/kolibri/open-f70592c1.js +0 -4
- package/dist/kolibri/prop.validators-7087c1e6.js +0 -4
- package/dist/kolibri/prop.validators-7087c1e6.js.map +0 -1
- package/dist/kolibri/rows-9a9a2940.js +0 -4
- package/dist/kolibri/show-8c3c4865.js +0 -4
- package/dist/kolibri/tab-index-4f18f869.js +0 -4
- package/dist/kolibri/tooltip-align-b8d9da02.js +0 -4
- package/dist/kolibri/validation-5429f00c.js +0 -4
- package/dist/kolibri/validation-906faec2.js +0 -4
- package/dist/types/components/@else/color/component.d.ts +0 -5
- package/dist/types/components/icon-font-awesome/component.d.ts +0 -19
- package/dist/types/components/icon-icofont/component.d.ts +0 -17
- package/dist/types/components/input-adapter-leanup/component.d.ts +0 -5
- package/dist/types/components/input-radio-group/component.d.ts +0 -26
- package/dist/types/enums/color.d.ts +0 -20
- package/dist/types/enums/font-awesome.d.ts +0 -2
- package/dist/types/types/button-link.d.ts +0 -1
- package/dist/types/types/props/aria-label.d.ts +0 -3
- package/dist/types/types/props/compact.d.ts +0 -3
- package/dist/types/types/props/has-compact-button.d.ts +0 -6
- package/dist/types/types/props/has-footer.d.ts +0 -6
- package/dist/types/types/props/stealth.d.ts +0 -5
- package/doc/icon-font-awesome.md +0 -33
- package/doc/icon-icofont.md +0 -32
- package/doc/input-adapter-leanup.md +0 -37
- package/doc/input-radio-group.md +0 -59
- /package/dist/kolibri/{align-6791f42e.js.map → align-0c96facf.js.map} +0 -0
- /package/dist/kolibri/{alignment-5e6dbd7f.js.map → alignment-84fc6207.js.map} +0 -0
- /package/dist/kolibri/{associated.controller-d519d4fd.js.map → associated.controller-103e6fb9.js.map} +0 -0
- /package/dist/kolibri/{controller-4418a153.js.map → controller-75d286de.js.map} +0 -0
- /package/dist/kolibri/{controller-0407a8fc.js.map → controller-eb162f21.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-5552f237.js.map → controller-icon-fb1feb61.js.map} +0 -0
- /package/dist/kolibri/{custom-class-503e41f2.js.map → custom-class-44d7cc63.js.map} +0 -0
- /package/dist/kolibri/{hide-label-2e0f24b2.js.map → hide-label-2c0bf25c.js.map} +0 -0
- /package/dist/kolibri/{image-source-f838da2a.js.map → image-source-58a1cae6.js.map} +0 -0
- /package/dist/kolibri/{label-2cb3f0a1.js.map → label-0d258cd5.js.map} +0 -0
- /package/dist/kolibri/{open-f70592c1.js.map → open-713ddcdc.js.map} +0 -0
- /package/dist/kolibri/{rows-9a9a2940.js.map → rows-d5112a2e.js.map} +0 -0
- /package/dist/kolibri/{show-8c3c4865.js.map → show-9951ecef.js.map} +0 -0
- /package/dist/kolibri/{suggestions-689ff138.js.map → suggestions-50a767be.js.map} +0 -0
- /package/dist/kolibri/{tooltip-align-b8d9da02.js.map → tooltip-align-fe8fbb60.js.map} +0 -0
- /package/dist/kolibri/{validation-5429f00c.js.map → validation-33f3aa23.js.map} +0 -0
- /package/dist/kolibri/{validation-906faec2.js.map → validation-61e035d7.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateAriaSelected","component","value","watchBoolean","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","validateStealth","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_useCase","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","validateAriaCurrent","e","devWarning","translate","_icons","render","hasExpertSlot","showExpertSlot","h","Host","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","_ariaSelected","class","disabled","_disabled","_stealth","_role","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateAriaControls","validateAriaExpanded","validateAriaLabel","validateLabel","validateDisabled","a11yHintDisabled","validateHideLabel","validateIcon","validateIcons","validateIconAlign","watchIconAlign","validateIconOnly","validateLabelWithExpertSlot","validateListenAriaCurrent","validateOn","validateRole","validateAlternativeButtonLinkRole","validateSelector","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","validateUseCase","componentWillLoad","_iconOnly","_icon","_iconAlign","_ariaLabel","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-selected.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/types/props/stealth.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaSelectedPropType = boolean;\n\n/**\n * Marks this element as selected.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n */\nexport type PropAriaSelected = {\n\tariaSelected: AriaSelectedPropType;\n};\n\n/* validator */\nexport const validateAriaSelected = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaSelected', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/**\n * Hides the link und makes it appear on focus.\n *\n * @deprecated will be removed in v2\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/**\n * @deprecated will be removed in v2\n */\nexport const validateStealth = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_stealth', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { LinkUseCase } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlignPropType } from '../../types/props/align';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { validateAriaControls } from '../../types/props/aria-controls';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { validateAriaSelected } from '../../types/props/aria-selected';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons, watchIconAlign } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { validateStealth } from '../../types/props/stealth';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { a11yHintDisabled, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tlet goToProps = {};\n\t\tif (typeof this.state._selector === 'string') {\n\t\t\tgoToProps = {\n\t\t\t\trole: 'link',\n\t\t\t\ttabIndex: 0,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t\tonKeyPress: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif ((this.state._useCase === 'image' || this.state._hideLabel === true) && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs, goToProps };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs, goToProps } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\taria-selected={mapBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'skip ': this.state._stealth !== false,\n\t\t\t\t\t\t'icon-only': this.state._hideLabel === true, // @deprecated in v2\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\t{...goToProps}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Deprecated: Defines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Deprecated: Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Deprecated: Defines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Deprecated: Defines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deprecated: Makes the element not focusable and ignore all events.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * @deprecated Use _icons.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\n\t/**\n\t * Deprecated: Hides the label and shows the description in a Tooltip instead.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Deprecated: Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Deprecated: Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t/**\n\t * Deprecated: Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\tvalidateAriaControls(this, value);\n\t}\n\n\t/**\n\t * @deprecated use aria-current only in state\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconsProp): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: AlignPropType): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated use _hide-label\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_stealth')\n\tpublic validateStealth(value?: boolean): void {\n\t\tvalidateStealth(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_useCase')\n\tpublic validateUseCase(value?: LinkUseCase): void {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_useCase: value,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel || this._iconOnly);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icons || this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateLabel(this._label ?? this._ariaLabel); // explicitly allow empty string labels\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateSelector(this._selector);\n\t\tthis.validateStealth(this._stealth);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateUseCase(this._useCase);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["validate","component","propName","value","watchValidator","Set","validateAriaCurrent","validateListenAriaCurrent","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","e","devWarning","translate","_icons","render","hasExpertSlot","showExpertSlot","h","Host","_ariaCurrent","class","onKeyPress","role","_role","tabIndex","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateHideLabel","validateIcons","validateLabel","validateLabelWithExpertSlot","validateOn","validateRole","validateAlternativeButtonLinkRole","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","componentWillLoad","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-current.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { validateHideLabel } from '../../types/props/hide-label';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as i,h as e,H as t,g as n}from"./index-
|
|
4
|
+
import{r as i,h as e,H as t,g as n}from"./index-d0c806ea.js";import{a as s}from"./reuse-b3566e4c.js";const o=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}:is(a,button){align-items:baseline;display:inline-flex;place-items:center;text-align:left;text-decoration-line:underline}:is(a,button):is(:focus,:hover){text-decoration-thickness:0.2em}.hidden{display:none;visibility:hidden}.skip{left:-99999px;overflow:hidden;position:absolute;z-index:9999999;line-height:1em}.skip:focus{background-color:#fff;left:unset;padding:1em;position:unset}kol-icon.external-link-icon{display:inline-flex}",a=class{constructor(t){i(this,t),this.catchRef=i=>{this.ref=i,s(this.host,this.ref)},this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right"}render(){return e(t,null,e("kol-link-wc",{ref:this.catchRef,_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign},e("slot",{name:"expert",slot:"expert"})))}get host(){return n(this)}};a.style={default:o};export{a as kol_link};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","_download","_hideLabel","_href","_icons","_label","_listenAriaCurrent","_on","_role","_tabIndex","_target","_targetDescription","_tooltipAlign","name","slot"],"sources":["src/components/link/style.css?tag=kol-link&mode=default&encapsulation=shadow","src/components/link/shadow.tsx"],"sourcesContent":["@import url(../link.css);\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { DownloadPropType } from '../../types/props/download';\nimport { HrefPropType } from '../../types/props/href';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { LinkOnCallbacksPropType } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType } from '../../types/props/link-target';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { propagateFocus } from '../../utils/reuse';\nimport { LinkProps } from './types';\n\n@Component({\n\ttag: 'kol-link',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLink implements LinkProps {\n\t@Element() private readonly host?: HTMLKolLinkElement;\n\tprivate ref?: HTMLKolLinkWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolLinkWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-link-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_download={this._download}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_href={this._href}\n\t\t\t\t\t_icons={this._icons}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_listenAriaCurrent={this._listenAriaCurrent}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_target={this._target}\n\t\t\t\t\t_targetDescription={this._targetDescription}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t>\n\t\t\t\t\t{/*\n\t\t\t\t\t\tEs ist keine gute Idee hier einen Slot einzufügen, da dadurch ermöglicht wird,\n\t\t\t\t\t\tdie Unterstützung hinsichtlich der Barrierefreiheit der Komponente zu umgehen.\n\t\t\t\t\t*/}\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t</kol-link-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = 'Der Link wird in einem neuen Tab geöffnet.';\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n}\n"],"mappings":";;;qGAAA,MAAMA,EAAkB,opC,MCsBXC,EAAO,M,yBAIFC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAeH,KAAKI,KAAMJ,KAAKE,IAAI,E,yCAyCE,M,mNA6CO,6C,mBAKS,O,CAxF/C,MAAAG,GACN,OACCC,EAACC,EAAI,KACJD,EAAA,eACCJ,IAAKF,KAAKC,SACVO,UAAWR,KAAKQ,UAChBC,WAAYT,KAAKS,WACjBC,MAAOV,KAAKU,MACZC,OAAQX,KAAKW,OACbC,OAAQZ,KAAKY,OACbC,mBAAoBb,KAAKa,mBACzBC,IAAKd,KAAKc,IACVC,MAAOf,KAAKe,MACZC,UAAWhB,KAAKgB,UAChBC,QAASjB,KAAKiB,QACdC,mBAAoBlB,KAAKkB,mBACzBC,cAAenB,KAAKmB,eAMpBb,EAAA,QAAMc,KAAK,SAASC,KAAK,Y"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as c,h as n}from"./index-
|
|
4
|
+
import{r as c,h as n}from"./index-d0c806ea.js";import{d as t,B as e,b as i,f as o}from"./bund-056aa89a.js";import{a as r}from"./i18n-d0bb1d99.js";import{d as s}from"./a11y.tipps-583a2096.js";import{s as l}from"./prop.validators-125a3282.js";import"./index-947d3173.js";import"./dev.utils-2a853234.js";import"./reuse-b3566e4c.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}text{font-size:16px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}";function h(c,n=new Map){return Object.entries(c).map((([c,t])=>{n.set(t,c)})),n}const d=h(i,h(t,h(e)));function p(c){return d.has(c)?d.get(c):""}const g=()=>n("path",{d:"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z"}),m=class{constructor(n){c(this,n),this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateOrg(c){"string"==typeof c&&d.has(c)?l(this,"_org",c):s(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org)}render(){var c;return n("svg",{"aria-label":r("kol-logo-description",{placeholders:{orgShort:this.state._org,orgLong:p(this.state._org)}}),role:"img",viewBox:"0 0 225 100"},n("rect",{width:"100%",height:"100%",fill:"white"}),n("svg",{x:"0",y:"4",height:"75"},n(g,null)),n("svg",{x:"40.5",y:"3.5",height:"100"},n("rect",{width:"5",height:"30"}),n("rect",{y:"30",width:"5",height:"30",fill:"red"}),n("rect",{y:"60",width:"5",height:"30",fill:"#fc0"})),n("svg",{x:"50",y:"0"},n("text",{x:"0",y:"-0.05em","font-family":"BundesSans Web",style:{backgroundColor:"white",color:"black"}},o.has(this.state._org)?n("tspan",null,null===(c=o.get(this.state._org))||void 0===c?void 0:c.map(((c,t)=>n("tspan",{x:"0",dy:"1.1em",key:`kol-logo-text-${t}`},c)))):n("tspan",{fill:"red"},n("tspan",{x:"0",dy:"1.1em"},"Der Schlüsselwert"),n("tspan",{x:"0",dy:"1.1em","font-weight":"bold"},"'",this.state._org,"'"),n("tspan",{x:"0",dy:"1.1em"},"ist nicht definiert."),n("tspan",{x:"0",dy:"1.1em"},"oder freigegeben.")))))}static get watchers(){return{_org:["validateOrg"]}}};m.style={default:a};export{m as kol_logo};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","enumToArray","enumeration","enumAsMap","Map","Object","entries","map","key","value","set","ENUM_AS_MAP","Bundesamt","Bundesanstalt","Bundesministerium","getAriaLabel","organ","has","get","Adler","h","d","KolLogo","_org","validateAbbr","this","validateOrg","setState","devHint","componentWillLoad","_abbr","render","translate","placeholders","orgShort","state","orgLong","role","viewBox","width","height","fill","x","y","style","backgroundColor","color","BUND_LOGO_TEXT_MAP","_a","text","index","dy"],"sources":["src/components/logo/style.css?tag=kol-logo&mode=default&encapsulation=shadow","src/components/logo/component.tsx"],"sourcesContent":["@import url(../style.css);\n:host {\n\tdisplay: inline-block;\n}\ntext {\n\tfont-size: 16px;\n\tletter-spacing: normal;\n\tword-spacing: normal;\n}\nsvg {\n\tmax-height: 100%;\n}\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { BUND_LOGO_TEXT_MAP, Bundesamt, Bundesanstalt, Bundesministerium } from '../../enums/bund';\nimport { translate } from '../../i18n';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\nfunction enumToArray(enumeration: Record<string, string>, enumAsMap: Map<string, string> = new Map()): Map<string, string> {\n\tObject.entries(enumeration).map(([key, value]) => {\n\t\tenumAsMap.set(value, key);\n\t});\n\treturn enumAsMap;\n}\n\nconst ENUM_AS_MAP = enumToArray(Bundesamt, enumToArray(Bundesanstalt, enumToArray(Bundesministerium)));\n\nfunction getAriaLabel(organ: string): string {\n\tif (ENUM_AS_MAP.has(organ)) {\n\t\treturn ENUM_AS_MAP.get(organ) as string;\n\t} else {\n\t\treturn '';\n\t}\n}\n\nconst Adler = (): JSX.Element => (\n\t<path\n\t\td=\"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z\"\n\t></path>\n);\n\n@Component({\n\ttag: 'kol-logo',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLogo implements API {\n\t/**\n\t * Deprecated: Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t *\n\t * @deprecated Verwende stattdessen das Property _org.\n\t */\n\t@Prop() public _abbr?: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t */\n\t@Prop() public _org!: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t@State() public state: States = {\n\t\t_org: Bundesanstalt['Informationstechnikzentrum Bund'],\n\t};\n\n\t@Watch('_abbr')\n\tpublic validateAbbr(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tthis.validateOrg(value);\n\t}\n\n\t@Watch('_org')\n\tpublic validateOrg(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tif (typeof value === 'string' && ENUM_AS_MAP.has(value)) {\n\t\t\tsetState(this, '_org', value);\n\t\t} else {\n\t\t\tdevHint(`Die verwendete Abkürzung (${value as string}) ist nicht definiert!`);\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOrg(this._org || this._abbr);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<svg\n\t\t\t\taria-label={translate('kol-logo-description', { placeholders: { orgShort: this.state._org, orgLong: getAriaLabel(this.state._org) } })}\n\t\t\t\trole=\"img\"\n\t\t\t\tviewBox=\"0 0 225 100\"\n\t\t\t>\n\t\t\t\t<rect width=\"100%\" height=\"100%\" fill=\"white\"></rect>\n\t\t\t\t<svg x=\"0\" y=\"4\" height=\"75\">\n\t\t\t\t\t<Adler />\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"40.5\" y=\"3.5\" height=\"100\">\n\t\t\t\t\t<rect width=\"5\" height=\"30\"></rect>\n\t\t\t\t\t<rect y=\"30\" width=\"5\" height=\"30\" fill=\"red\"></rect>\n\t\t\t\t\t<rect y=\"60\" width=\"5\" height=\"30\" fill=\"#fc0\"></rect>\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"50\" y=\"0\">\n\t\t\t\t\t<text x=\"0\" y=\"-0.05em\" font-family=\"BundesSans Web\" style={{ backgroundColor: 'white', color: 'black' }}>\n\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.has(this.state._org) ? (\n\t\t\t\t\t\t\t<tspan>\n\t\t\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.get(this.state._org)?.map((text: string, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" key={`kol-logo-text-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<tspan fill=\"red\">\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tDer Schlüsselwert\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" font-weight=\"bold\">\n\t\t\t\t\t\t\t\t\t'{this.state._org}'\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tist nicht definiert.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\toder freigegeben.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</text>\n\t\t\t\t</svg>\n\t\t\t</svg>\n\t\t);\n\t}\n}\n"],"mappings":";;;qWAAA,MAAMA,EAAkB,wzBCQxB,SAASC,EAAYC,EAAqCC,EAAiC,IAAIC,KAC9FC,OAAOC,QAAQJ,GAAaK,KAAI,EAAEC,EAAKC,MACtCN,EAAUO,IAAID,EAAOD,EAAI,IAE1B,OAAOL,CACR,CAEA,MAAMQ,EAAcV,EAAYW,EAAWX,EAAYY,EAAeZ,EAAYa,KAElF,SAASC,EAAaC,GACrB,GAAIL,EAAYM,IAAID,GAAQ,CAC3B,OAAOL,EAAYO,IAAIF,E,KACjB,CACN,MAAO,E,CAET,CAEA,MAAMG,EAAQ,IACbC,EAAA,QACCC,EAAE,slM,MAiESC,EAAO,M,6EAaa,CAC/BC,KAAMV,EAAc,mC,CAId,YAAAW,CAAaf,GACnBgB,KAAKC,YAAYjB,E,CAIX,WAAAiB,CAAYjB,GAClB,UAAWA,IAAU,UAAYE,EAAYM,IAAIR,GAAQ,CACxDkB,EAASF,KAAM,OAAQhB,E,KACjB,CACNmB,EAAQ,6BAA6BnB,0B,EAIhC,iBAAAoB,GACNJ,KAAKC,YAAYD,KAAKF,MAAQE,KAAKK,M,CAG7B,MAAAC,G,MACN,OACCX,EAAA,oBACaY,EAAU,uBAAwB,CAAEC,aAAc,CAAEC,SAAUT,KAAKU,MAAMZ,KAAMa,QAASrB,EAAaU,KAAKU,MAAMZ,SAC5Hc,KAAK,MACLC,QAAQ,eAERlB,EAAA,QAAMmB,MAAM,OAAOC,OAAO,OAAOC,KAAK,UACtCrB,EAAA,OAAKsB,EAAE,IAAIC,EAAE,IAAIH,OAAO,MACvBpB,EAACD,EAAK,OAEPC,EAAA,OAAKsB,EAAE,OAAOC,EAAE,MAAMH,OAAO,OAC5BpB,EAAA,QAAMmB,MAAM,IAAIC,OAAO,OACvBpB,EAAA,QAAMuB,EAAE,KAAKJ,MAAM,IAAIC,OAAO,KAAKC,KAAK,QACxCrB,EAAA,QAAMuB,EAAE,KAAKJ,MAAM,IAAIC,OAAO,KAAKC,KAAK,UAEzCrB,EAAA,OAAKsB,EAAE,KAAKC,EAAE,KACbvB,EAAA,QAAMsB,EAAE,IAAIC,EAAE,UAAS,cAAa,iBAAiBC,MAAO,CAAEC,gBAAiB,QAASC,MAAO,UAC7FC,EAAmB9B,IAAIQ,KAAKU,MAAMZ,MAClCH,EAAA,cACE4B,EAAAD,EAAmB7B,IAAIO,KAAKU,MAAMZ,SAAK,MAAAyB,SAAA,SAAAA,EAAEzC,KAAI,CAAC0C,EAAcC,IAE3D9B,EAAA,SAAOsB,EAAE,IAAIS,GAAG,QAAQ3C,IAAK,iBAAiB0C,KAC5CD,MAML7B,EAAA,SAAOqB,KAAK,OACXrB,EAAA,SAAOsB,EAAE,IAAIS,GAAG,SAAO,qBAGvB/B,EAAA,SAAOsB,EAAE,IAAIS,GAAG,QAAO,cAAa,QAAM,IACvC1B,KAAKU,MAAMZ,KAAI,KAElBH,EAAA,SAAOsB,EAAE,IAAIS,GAAG,SAAO,wBAGvB/B,EAAA,SAAOsB,EAAE,IAAIS,GAAG,SAAO,wB"}
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","enumToArray","enumeration","enumAsMap","Map","Object","entries","map","key","value","set","ENUM_AS_MAP","Bundesamt","Bundesanstalt","Bundesministerium","getAriaLabel","organ","has","get","Adler","h","d","KolLogo","_org","validateOrg","setState","this","devHint","componentWillLoad","render","translate","placeholders","orgShort","state","orgLong","role","viewBox","width","height","fill","x","y","style","backgroundColor","color","BUND_LOGO_TEXT_MAP","_a","text","index","dy"],"sources":["src/components/logo/style.css?tag=kol-logo&mode=default&encapsulation=shadow","src/components/logo/component.tsx"],"sourcesContent":["@import url(../style.css);\n:host {\n\tdisplay: inline-block;\n}\ntext {\n\tfont-size: 16px;\n\tletter-spacing: normal;\n\tword-spacing: normal;\n}\nsvg {\n\tmax-height: 100%;\n}\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { BUND_LOGO_TEXT_MAP, Bundesamt, Bundesanstalt, Bundesministerium } from '../../enums/bund';\nimport { translate } from '../../i18n';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\nfunction enumToArray(enumeration: Record<string, string>, enumAsMap: Map<string, string> = new Map()): Map<string, string> {\n\tObject.entries(enumeration).map(([key, value]) => {\n\t\tenumAsMap.set(value, key);\n\t});\n\treturn enumAsMap;\n}\n\nconst ENUM_AS_MAP = enumToArray(Bundesamt, enumToArray(Bundesanstalt, enumToArray(Bundesministerium)));\n\nfunction getAriaLabel(organ: string): string {\n\tif (ENUM_AS_MAP.has(organ)) {\n\t\treturn ENUM_AS_MAP.get(organ) as string;\n\t} else {\n\t\treturn '';\n\t}\n}\n\nconst Adler = (): JSX.Element => (\n\t<path\n\t\td=\"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z\"\n\t></path>\n);\n\n@Component({\n\ttag: 'kol-logo',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLogo implements API {\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t */\n\t@Prop() public _org!: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t@State() public state: States = {\n\t\t_org: Bundesanstalt['Informationstechnikzentrum Bund'],\n\t};\n\n\t@Watch('_org')\n\tpublic validateOrg(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tif (typeof value === 'string' && ENUM_AS_MAP.has(value)) {\n\t\t\tsetState(this, '_org', value);\n\t\t} else {\n\t\t\tdevHint(`Die verwendete Abkürzung (${value as string}) ist nicht definiert!`);\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOrg(this._org);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<svg\n\t\t\t\taria-label={translate('kol-logo-description', { placeholders: { orgShort: this.state._org, orgLong: getAriaLabel(this.state._org) } })}\n\t\t\t\trole=\"img\"\n\t\t\t\tviewBox=\"0 0 225 100\"\n\t\t\t>\n\t\t\t\t<rect width=\"100%\" height=\"100%\" fill=\"white\"></rect>\n\t\t\t\t<svg x=\"0\" y=\"4\" height=\"75\">\n\t\t\t\t\t<Adler />\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"40.5\" y=\"3.5\" height=\"100\">\n\t\t\t\t\t<rect width=\"5\" height=\"30\"></rect>\n\t\t\t\t\t<rect y=\"30\" width=\"5\" height=\"30\" fill=\"red\"></rect>\n\t\t\t\t\t<rect y=\"60\" width=\"5\" height=\"30\" fill=\"#fc0\"></rect>\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"50\" y=\"0\">\n\t\t\t\t\t<text x=\"0\" y=\"-0.05em\" font-family=\"BundesSans Web\" style={{ backgroundColor: 'white', color: 'black' }}>\n\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.has(this.state._org) ? (\n\t\t\t\t\t\t\t<tspan>\n\t\t\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.get(this.state._org)?.map((text: string, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" key={`kol-logo-text-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<tspan fill=\"red\">\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tDer Schlüsselwert\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" font-weight=\"bold\">\n\t\t\t\t\t\t\t\t\t'{this.state._org}'\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tist nicht definiert.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\toder freigegeben.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</text>\n\t\t\t\t</svg>\n\t\t\t</svg>\n\t\t);\n\t}\n}\n"],"mappings":";;;yUAAA,MAAMA,EAAkB,wzBCQxB,SAASC,EAAYC,EAAqCC,EAAiC,IAAIC,KAC9FC,OAAOC,QAAQJ,GAAaK,KAAI,EAAEC,EAAKC,MACtCN,EAAUO,IAAID,EAAOD,EAAI,IAE1B,OAAOL,CACR,CAEA,MAAMQ,EAAcV,EAAYW,EAAWX,EAAYY,EAAeZ,EAAYa,KAElF,SAASC,EAAaC,GACrB,GAAIL,EAAYM,IAAID,GAAQ,CAC3B,OAAOL,EAAYO,IAAIF,E,KACjB,CACN,MAAO,E,CAET,CAEA,MAAMG,EAAQ,IACbC,EAAA,QACCC,EAAE,slM,MAiESC,EAAO,M,wDAMa,CAC/BC,KAAMV,EAAc,mC,CAId,WAAAW,CAAYf,GAClB,UAAWA,IAAU,UAAYE,EAAYM,IAAIR,GAAQ,CACxDgB,EAASC,KAAM,OAAQjB,E,KACjB,CACNkB,EAAQ,6BAA6BlB,0B,EAIhC,iBAAAmB,GACNF,KAAKF,YAAYE,KAAKH,K,CAGhB,MAAAM,G,MACN,OACCT,EAAA,oBACaU,EAAU,uBAAwB,CAAEC,aAAc,CAAEC,SAAUN,KAAKO,MAAMV,KAAMW,QAASnB,EAAaW,KAAKO,MAAMV,SAC5HY,KAAK,MACLC,QAAQ,eAERhB,EAAA,QAAMiB,MAAM,OAAOC,OAAO,OAAOC,KAAK,UACtCnB,EAAA,OAAKoB,EAAE,IAAIC,EAAE,IAAIH,OAAO,MACvBlB,EAACD,EAAK,OAEPC,EAAA,OAAKoB,EAAE,OAAOC,EAAE,MAAMH,OAAO,OAC5BlB,EAAA,QAAMiB,MAAM,IAAIC,OAAO,OACvBlB,EAAA,QAAMqB,EAAE,KAAKJ,MAAM,IAAIC,OAAO,KAAKC,KAAK,QACxCnB,EAAA,QAAMqB,EAAE,KAAKJ,MAAM,IAAIC,OAAO,KAAKC,KAAK,UAEzCnB,EAAA,OAAKoB,EAAE,KAAKC,EAAE,KACbrB,EAAA,QAAMoB,EAAE,IAAIC,EAAE,UAAS,cAAa,iBAAiBC,MAAO,CAAEC,gBAAiB,QAASC,MAAO,UAC7FC,EAAmB5B,IAAIS,KAAKO,MAAMV,MAClCH,EAAA,cACE0B,EAAAD,EAAmB3B,IAAIQ,KAAKO,MAAMV,SAAK,MAAAuB,SAAA,SAAAA,EAAEvC,KAAI,CAACwC,EAAcC,IAE3D5B,EAAA,SAAOoB,EAAE,IAAIS,GAAG,QAAQzC,IAAK,iBAAiBwC,KAC5CD,MAML3B,EAAA,SAAOmB,KAAK,OACXnB,EAAA,SAAOoB,EAAE,IAAIS,GAAG,SAAO,qBAGvB7B,EAAA,SAAOoB,EAAE,IAAIS,GAAG,QAAO,cAAa,QAAM,IACvCvB,KAAKO,MAAMV,KAAI,KAElBH,EAAA,SAAOoB,EAAE,IAAIS,GAAG,SAAO,wBAGvB7B,EAAA,SAAOoB,EAAE,IAAIS,GAAG,SAAO,wB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as i,H as e}from"./index-
|
|
4
|
+
import{r as t,h as i,H as e}from"./index-d0c806ea.js";import{v as a}from"./label-0d258cd5.js";import{f as n}from"./a11y.tipps-583a2096.js";import{d as s}from"./dev.utils-2a853234.js";import{w as o,s as l,d as r}from"./prop.validators-125a3282.js";import"./reuse-b3566e4c.js";const h=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.overlay{background-color:rgba(0, 0, 0, 0.33);display:flex;height:100%;inset:0;position:fixed;width:100%;z-index:100}.modal{margin:auto;max-height:100%;max-width:100%}",d=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._label=void 0,this._on=void 0,this._width="100%",this.state={_activeElement:null,_label:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?s().Modal.openModal(this.hostElement,this.state._activeElement):s().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&s().Modal.closeModal(this.hostElement)}render(){return i(e,{ref:t=>{this.hostElement=t}},this.state._activeElement&&i("div",{class:"overlay"},i("div",{class:"modal",style:{width:this.state._width},"aria-label":this.state._label,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},i("slot",null))))}validateActiveElement(t){o(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null,hooks:{afterPatch:()=>{var t;null===this._activeElement&&(null===(t=this.state._on)||void 0===t?void 0:t.onClose)&&this.state._on.onClose()}}})}validateLabel(t){a(this,t)}validateOn(t){if("object"==typeof t&&null!==t){n("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onClose&&!0!==t.onClose||(e.onClose=t.onClose),l(this,"_on",e)}}validateWidth(t){r(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};d.style={default:h};export{d as kol_modal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolModal","this","onKeyDown","event","code","_activeElement","_label","_width","componentDidRender","hostElement","state","getKoliBri","Modal","openModal","closeModal","disconnectedCallback","render","h","Host","ref","el","class","style","width","role","setAttribute","setTimeout","focus","validateActiveElement","value","watchValidator","Set","defaultValue","hooks","afterPatch","_a","_on","onClose","
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","KolModal","this","onKeyDown","event","code","_activeElement","_label","_width","componentDidRender","hostElement","state","getKoliBri","Modal","openModal","closeModal","disconnectedCallback","render","h","Host","ref","el","class","style","width","role","setAttribute","setTimeout","focus","validateActiveElement","value","watchValidator","Set","defaultValue","hooks","afterPatch","_a","_on","onClose","validateLabel","validateOn","featureHint","callbacks","setState","validateWidth","watchString","componentWillLoad"],"sources":["src/components/modal/style.css?tag=kol-modal&mode=default&encapsulation=shadow","src/components/modal/component.tsx"],"sourcesContent":["@import url(../style.css);\n.overlay {\n\tbackground-color: rgba(0, 0, 0, 0.33);\n\tdisplay: flex;\n\theight: 100%;\n\tinset: 0;\n\tposition: fixed;\n\twidth: 100%;\n\tz-index: 100;\n}\n.modal {\n\tmargin: auto;\n\tmax-height: 100%;\n\tmax-width: 100%;\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { KoliBriModalEventCallbacks } from '../../types/modal';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { getKoliBri } from '../../utils/dev.utils';\nimport { setState, watchString, watchValidator } from '../../utils/prop.validators';\nimport { ModalService } from './service';\nimport { API, States } from './types';\n\n/**\n * https://en.wikipedia.org/wiki/Modal_window\n * @deprecated use the native <dialog> instead\n */\n\n/**\n * @slot - Der Inhalt des Modals.\n */\n@Component({\n\ttag: 'kol-modal',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolModal implements API {\n\tprivate hostElement?: HTMLElement;\n\n\tpublic componentDidRender(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tif (this.state._activeElement /* SSR instanceof HTMLElement */) {\n\t\t\t\t(getKoliBri().Modal as ModalService).openModal(this.hostElement, this.state._activeElement);\n\t\t\t} else {\n\t\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t}\n\t}\n\n\tprivate readonly onKeyDown = (event: KeyboardEvent) => {\n\t\tif (event && event.code === 'Escape') {\n\t\t\tthis._activeElement = null;\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.hostElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._activeElement /* SSR instanceof HTMLElement */ && (\n\t\t\t\t\t<div class=\"overlay\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"modal\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: this.state._width,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={this.state._label}\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\tif (el /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t\t\t\t\tel.setAttribute('tabindex', '0');\n\t\t\t\t\t\t\t\t\tsetTimeout(() => el.focus(), 250);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Referenz auf das auslösende HTML-Element an, wodurch das Modal geöffnet wurde.\n\t */\n\t@Prop({ mutable: true }) public _activeElement?: HTMLElement | null;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Modals an.\n\t */\n\t@Prop() public _on?: KoliBriModalEventCallbacks;\n\n\t/**\n\t * Defines the width of the modal. (max-width: 100%)\n\t */\n\t@Prop() public _width?: string = '100%';\n\n\t@State() public state: States = {\n\t\t_activeElement: null,\n\t\t_label: '…', // ⚠ required\n\t\t_width: '100%',\n\t};\n\n\t@Watch('_activeElement')\n\tpublic validateActiveElement(value?: HTMLElement | null): void {\n\t\twatchValidator(this, '_activeElement', (value): boolean => typeof value === 'object' || value === null, new Set(['HTMLElement', 'null']), value, {\n\t\t\tdefaultValue: null,\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\t/* Call onClose event in the _activeElement watcher because activeElement can be set internally and from the outside and closes the modal when set to null. */\n\t\t\t\t\tif (this._activeElement === null && this.state._on?.onClose) {\n\t\t\t\t\t\tthis.state._on.onClose();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriModalEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriModalEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriModalEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_width')\n\tpublic validateWidth(value?: string): void {\n\t\twatchString(this, '_width', value, {\n\t\t\tdefaultValue: '100%',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActiveElement(this._activeElement);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateWidth(this._width);\n\t}\n}\n"],"mappings":";;;mRAAA,MAAMA,EAAkB,k3B,MC0BXC,EAAQ,M,yBAmBHC,KAAAC,UAAaC,IAC7B,GAAIA,GAASA,EAAMC,OAAS,SAAU,CACrCH,KAAKI,eAAiB,I,sFAuDS,O,WAED,CAC/BA,eAAgB,KAChBC,OAAQ,IACRC,OAAQ,O,CA9EF,kBAAAC,GACN,GAAIP,KAAKQ,YAA8C,CACtD,GAAIR,KAAKS,MAAML,eAAiD,CAC9DM,IAAaC,MAAuBC,UAAUZ,KAAKQ,YAAaR,KAAKS,MAAML,e,KACtE,CACLM,IAAaC,MAAuBE,WAAWb,KAAKQ,Y,GAKjD,oBAAAM,GACN,GAAId,KAAKQ,YAA8C,CACrDE,IAAaC,MAAuBE,WAAWb,KAAKQ,Y,EAUhD,MAAAO,GACN,OACCC,EAACC,EAAI,CACJC,IAAMC,IACLnB,KAAKQ,YAAcW,CAAiB,GAGpCnB,KAAKS,MAAML,gBACXY,EAAA,OAAKI,MAAM,WACVJ,EAAA,OACCI,MAAM,QACNC,MAAO,CACNC,MAAOtB,KAAKS,MAAMH,QAClB,aACWN,KAAKS,MAAMJ,OAAM,aAClB,OACXkB,KAAK,SACLtB,UAAWD,KAAKC,UAChBiB,IAAMC,IACL,GAAIA,EAAqC,CACxCA,EAAGK,aAAa,WAAY,KAC5BC,YAAW,IAAMN,EAAGO,SAAS,I,IAI/BV,EAAA,e,CAmCC,qBAAAW,CAAsBC,GAC5BC,EAAe7B,KAAM,kBAAmB4B,UAA0BA,IAAU,UAAYA,IAAU,MAAM,IAAIE,IAAI,CAAC,cAAe,SAAUF,EAAO,CAChJG,aAAc,KACdC,MAAO,CACNC,WAAY,K,MAEX,GAAIjC,KAAKI,iBAAmB,QAAQ8B,EAAAlC,KAAKS,MAAM0B,OAAG,MAAAD,SAAA,SAAAA,EAAEE,SAAS,CAC5DpC,KAAKS,MAAM0B,IAAIC,S,MAQb,aAAAC,CAAcT,GACpBS,EAAcrC,KAAM4B,E,CAId,UAAAU,CAAWV,GACjB,UAAWA,IAAU,UAAYA,IAAU,KAAM,CAChDW,EAAY,2EACZ,MAAMC,EAAwC,GAC9C,UAAWZ,EAAMQ,UAAY,YAAcR,EAAMQ,UAAY,KAAM,CAClEI,EAAUJ,QAAUR,EAAMQ,O,CAE3BK,EAAqCzC,KAAM,MAAOwC,E,EAK7C,aAAAE,CAAcd,GACpBe,EAAY3C,KAAM,SAAU4B,EAAO,CAClCG,aAAc,Q,CAIT,iBAAAa,GACN5C,KAAK2B,sBAAsB3B,KAAKI,gBAChCJ,KAAKqC,cAAcrC,KAAKK,QACxBL,KAAKsC,WAAWtC,KAAKmC,KACrBnC,KAAK0C,cAAc1C,KAAKM,O"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as i,H as
|
|
4
|
+
import{r as t,h as i,H as e}from"./index-d0c806ea.js";import{a,w as n}from"./prop.validators-125a3282.js";import{v as s}from"./hide-label-2c0bf25c.js";import{v as l}from"./label-0d258cd5.js";import{b as r,d as o}from"./a11y.tipps-583a2096.js";import{r as d,a as h}from"./unique-nav-labels-c6750f60.js";import{w as c}from"./validation-61e035d7.js";import"./dev.utils-2a853234.js";import"./reuse-b3566e4c.js";const p=(i,t)=>{a(i,"_collapsible",t)},u=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>div{display:grid;place-items:center}nav{width:100%}.list{display:flex;list-style:none;margin:0;padding:0}.list.vertical{flex-direction:column}.entry{display:flex}.entry kol-button-wc:first-child,.entry kol-link-wc,.entry kol-span-wc{flex-grow:1}.entry kol-span-wc{justify-items:start}",b=class{constructor(e){t(this,e),this.onClick=i=>{i._active=!i._active,this.state=Object.assign({},this.state)},this.hasActiveChild=i=>!!(Array.isArray(i._children)&&i._children.length>0)&&i._children.some(this.hasActiveChild),this.linkList=t=>i("ul",{class:"list "+(0===t.deep&&"horizontal"===t.orientation?" horizontal":" vertical"),"data-deep":t.deep},t.links.map(((i,e)=>this.li(t.collapsible,t.hideLabel,t.deep,e,i,t.orientation)))),this._ariaCurrentValue=!1,this._collapsible=!0,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical"}}entry(t,e,a,l,n){return i("div",{class:{entry:!0,"hide-label":e}},i("kol-button-link-text-switch",{_link:Object.assign(Object.assign({},l),{_hideLabel:e})}),a?this.expandButton(t,l,n):"")}expandButton(t,e,a){return i("kol-button-wc",{class:"expand-button",_ariaExpanded:a,_disabled:!t,_icons:"codicon codicon-"+(a?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${e._label} ${a?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(e)}})}li(t,e,a,l,n,s){const r=!!n._active,o=Array.isArray(n._children)&&n._children.length>0,d=o&&r;return i("li",{class:{active:r,expanded:d,"has-children":o},key:l},this.entry(t,e,o,n,r),d?i(this.linkList,{collapsible:t,hideLabel:e,deep:a+1,links:n._children||[],orientation:s}):"")}render(){const t=!0===this.state._collapsible,a=!0===this.state._hideLabel,l=this.state._orientation;return i(e,null,i("div",{class:{[l]:!0}},i("nav",{"aria-label":this.state._label,id:"nav"},i(this.linkList,{collapsible:t,hideLabel:a,deep:0,links:this.state._links,orientation:l}))))}validateAriaCurrentValue(i){n(this,"_ariaCurrentValue",(i=>!0===i||"date"===i||"location"===i||"page"===i||"step"===i||"time"===i),new Set(["boolean","String {data, location, page, step, time}"]),i)}validateCollapsible(i){p(this,i)}validateHideLabel(i){s(this,i)}validateLabel(i,t,e=!1){e||d(this.state._label),l(this,i),r(i),h(this.state._label)}validateLinks(i){c("KolNav",this,i),o("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(i){n(this,"_orientation",(i=>"horizontal"===i||"vertical"===i),new Set(["Orientation {horizontal, vertical}"]),i,{defaultValue:"vertical"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel),this.validateLabel(this._label,void 0,!0),this.validateLinks(this._links),this.validateOrientation(this._orientation)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_collapsible:["validateCollapsible"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"]}}};b.style={default:u};export{b as kol_nav};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","defaultStyleCss","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","index","li","collapsible","hideLabel","_ariaCurrentValue","_collapsible","_hasCompactButton","_hideLabel","_label","_links","_orientation","_variant","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icons","_on","active","selected","key","render","hasCompactButton","devWarning","Host","id","_ariaControls","translate","_tooltipAlign","validateAriaCurrentValue","watchValidator","Set","validateAriaLabel","validateLabel","validateCompact","validateHideLabel","_oldValue","initial","removeNavLabel","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","validateVariant","componentWillLoad","_compact","_ariaLabel","undefined","disconnectedCallback"],"sources":["src/types/props/collapsible.ts","src/types/props/has-compact-button.ts","src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/**\n * @deprecated\n */\nexport type HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n * @deprecated\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import url(../style.css);\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\nnav {\n\twidth: 100%;\n}\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n.list.vertical {\n\tflex-direction: column;\n}\n.entry {\n\tdisplay: flex;\n}\n.entry kol-button-wc:first-child,\n.entry kol-link-wc,\n.entry kol-span-wc {\n\tflex-grow: 1;\n}\n.entry kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { validateHasCompactButton } from '../../types/props/has-compact-button';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\n/**\n * @deprecated Removed in v2\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<kol-button-link-text-switch\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\tselected: expanded, // TODO: remove in v2\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation kompakt angezeigt wird.\n\t * @deprecated Use _hide-label\n\t */\n\t@Prop() public _compact?: boolean = false;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t * @deprecated Version 2\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Deprecated: Defines which variant should be used for presentation.\n\t *\n\t * @deprecated This property is deprecated and will be removed in the next major version.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @deprecated Version 2\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel || this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label || this._ariaLabel, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":";;;6fAeO,MAAMA,EAAsB,CAACC,EAAsCC,KACzEC,EAAaF,EAAW,eAAgBC,EAAM,ECGxC,MAAME,EAA2B,CAACH,EAAsCC,KAC9EC,EAAaF,EAAW,oBAAqBC,EAAM,ECpBpD,MAAMG,EAAkB,6+B,MC8CXC,EAAM,M,yBACDC,KAAAC,QAAWC,IAC3BA,EAAKC,SAAWD,EAAKC,QACrBH,KAAKI,MAAKC,OAAAC,OAAA,GACNN,KAAKI,MACR,EAGeJ,KAAAO,eAAkBL,IAClC,GAAIM,MAAMC,QAAQP,EAAKQ,YAAcR,EAAKQ,UAAUC,OAAS,EAAG,CAC/D,OAAOT,EAAKQ,UAAUE,KAAKZ,KAAKO,e,CAGjC,OAAO,KAAK,EAoELP,KAAAa,SAAYC,GAQlBC,EAAA,MAAIC,MAAO,QAAQF,EAAMG,OAAS,GAAKH,EAAMI,cAAgB,aAAe,cAAgB,cAAa,YAAaJ,EAAMG,MAC1HH,EAAMK,MAAMC,KAAI,CAAClB,EAAMmB,IAChBrB,KAAKsB,GAAGR,EAAMS,YAAaT,EAAMU,UAAWV,EAAMG,KAAMI,EAAOnB,EAAMY,EAAMI,gB,uBAuD9B,M,4CAahB,K,cAMJ,M,uBAMS,M,gBAOP,M,8DAeM,W,cAOE,U,WAEd,CAC/BO,kBAAmB,MACnBC,aAAc,KACdC,kBAAmB,MACnBC,WAAY,MACZC,OAAQ,IACRC,OAAQ,GACRC,aAAc,WACdC,SAAU,U,CAlMH,KAAAC,CACPV,EACAC,EACAU,EACAhC,EACAiC,GAEA,OACCpB,EAAA,OAAKC,MAAO,CAAEiB,MAAO,KAAM,aAAcT,IACxCT,EAAA,+BACCqB,MAAK/B,OAAAC,OAAAD,OAAAC,OAAA,GACDJ,GAAI,CACP0B,WAAYJ,MAGbU,EAAclC,KAAKqC,aAAad,EAAarB,EAAiCiC,GAAY,G,CAKtF,YAAAE,CAAad,EAAsBrB,EAA+BiC,GACzE,OACCpB,EAAA,iBACCC,MAAM,gBACNsB,cAAeH,EACfI,WAAYhB,EACZiB,OAAQ,oBAAsBL,EAAW,SAAW,OACpDP,WAAU,KACVC,OAAQ,gBAAgB3B,EAAK2B,UAAUM,EAAW,YAAc,WAChEM,IAAK,CAAExC,QAAS,IAAMD,KAAKC,QAAQC,K,CAK9B,EAAAoB,CACPC,EACAC,EACAP,EACAI,EACAnB,EACAgB,GAEA,MAAMwB,IAAWxC,EAAKC,QACtB,MAAM+B,EAAc1B,MAAMC,QAAQP,EAAKQ,YAAcR,EAAKQ,UAAUC,OAAS,EAC7E,MAAMwB,EAAWD,GAAeQ,EAChC,OACC3B,EAAA,MACCC,MAAO,CACN0B,SACAP,WACA,eAAgBD,EAChBS,SAAUR,GAEXS,IAAKvB,GAEJrB,KAAKiC,MAAMV,EAAaC,EAAWU,EAAahC,EAAMwC,GACtDP,EACApB,EAACf,KAAKa,SAAQ,CAACU,YAAaA,EAAaC,UAAWA,EAAWP,KAAMA,EAAO,EAAGE,MAAOjB,EAAKQ,WAAa,GAAIQ,YAAaA,IAAe,G,CAwBrI,MAAA2B,GACN,IAAIC,EAAmB9C,KAAKI,MAAMuB,kBAClC,GAAI3B,KAAKI,MAAM2B,eAAiB,cAAgB/B,KAAKI,MAAMuB,oBAAsB,KAAM,CACtFmB,EAAmB,MACnBC,EAAW,sH,CAEZ,MAAMxB,EAAcvB,KAAKI,MAAMsB,eAAiB,KAChD,MAAMF,EAAYxB,KAAKI,MAAMwB,aAAe,KAC5C,MAAMV,EAAclB,KAAKI,MAAM2B,aAC/B,OACChB,EAACiC,EAAI,KACJjC,EAAA,OACCC,MAAO,CACNE,CAACA,GAAc,KACf,CAAClB,KAAKI,MAAM4B,UAAW,OAGxBjB,EAAA,oBAAiBf,KAAKI,MAAMyB,OAAQoB,GAAG,OACtClC,EAACf,KAAKa,SAAQ,CAACU,YAAaA,EAAaC,UAAWA,EAAWP,KAAM,EAAGE,MAAOnB,KAAKI,MAAM0B,OAAQZ,YAAaA,KAE/G4B,GACA/B,EAAA,OAAKC,MAAM,WACVD,EAAA,cACCmC,cAAc,MACdZ,eAAgBd,EAChBgB,OAAQhB,EAAY,gCAAkC,+BACtDI,WAAU,KACVC,OAAQsB,EAAU3B,EAAY,mBAAqB,oBACnDiB,IAAK,CACJxC,QAAS,KACRD,KAAKI,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNN,KAAKI,OAAK,CACbwB,WAAY5B,KAAKI,MAAMwB,aAAe,OACtC,GAGHwB,cAAc,QACdpB,SAAS,Y,CAgFT,wBAAAqB,CAAyB1D,GAC/B2D,EACCtD,KACA,qBACCL,GAAUA,IAAU,MAAQA,IAAU,QAAUA,IAAU,YAAcA,IAAU,QAAUA,IAAU,QAAUA,IAAU,QAC3H,IAAI4D,IAAI,CAAC,UAAW,8CACpB5D,E,CAQK,iBAAA6D,CAAkB7D,GACxBK,KAAKyD,cAAc9D,E,CAIb,mBAAAF,CAAoBE,GAC1BF,EAAoBO,KAAML,E,CAIpB,eAAA+D,CAAgB/D,GACtBK,KAAK2D,kBAAkBhE,E,CAOjB,wBAAAE,CAAyBF,GAC/BE,EAAyBG,KAAML,E,CAIzB,iBAAAgE,CAAkBhE,GACxBgE,EAAkB3D,KAAML,E,CAIlB,aAAA8D,CAAc9D,EAAuBiE,EAA2BC,EAAU,OAChF,IAAKA,EAAS,CACbC,EAAe9D,KAAKI,MAAMyB,O,CAE3B4B,EAAczD,KAAML,GACpBoE,EAA0BpE,GAC1BqE,EAAYhE,KAAKI,MAAMyB,O,CAIjB,aAAAoC,CAActE,GACpBuE,EAAc,SAAUlE,KAAML,GAC9BwE,EAAQ,uE,CAIF,mBAAAC,CAAoBzE,GAC1B2D,EACCtD,KACA,gBACCL,GAAmBA,IAAU,cAAgBA,IAAU,YACxD,IAAI4D,IAAI,CAAC,uCACT5D,EACA,CACC0E,aAAc,Y,CAMV,eAAAC,CAAgB3E,GACtB2D,EAAetD,KAAM,YAAaL,GAAUA,IAAU,WAAaA,IAAU,aAAa,IAAI4D,IAAI,CAAC,2CAA4C5D,EAAO,CACrJ0E,aAAc,W,CAIT,iBAAAE,GACNvE,KAAKqD,yBAAyBrD,KAAKyB,mBACnCzB,KAAKP,oBAAoBO,KAAK0B,cAC9B1B,KAAK2D,kBAAkB3D,KAAK4B,YAAc5B,KAAKwE,UAC/CxE,KAAKH,yBAAyBG,KAAK2B,mBACnC3B,KAAKyD,cAAczD,KAAK6B,QAAU7B,KAAKyE,WAAYC,UAAW,MAC9D1E,KAAKiE,cAAcjE,KAAK8B,QACxB9B,KAAKoE,oBAAoBpE,KAAK+B,cAC9B/B,KAAKsE,gBAAgBtE,KAAKgC,S,CAGpB,oBAAA2C,GACNb,EAAe9D,KAAKI,MAAMyB,O"}
|
|
1
|
+
{"version":3,"names":["validateCollapsible","component","value","watchBoolean","defaultStyleCss","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","index","li","collapsible","hideLabel","_ariaCurrentValue","_collapsible","_hideLabel","_label","_links","_orientation","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icons","_on","active","key","render","Host","id","validateAriaCurrentValue","watchValidator","Set","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","componentWillLoad","undefined","disconnectedCallback"],"sources":["src/types/props/collapsible.ts","src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","@import url(../style.css);\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\nnav {\n\twidth: 100%;\n}\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n.list.vertical {\n\tflex-direction: column;\n}\n.entry {\n\tdisplay: flex;\n}\n.entry kol-button-wc:first-child,\n.entry kol-link-wc,\n.entry kol-span-wc {\n\tflex-grow: 1;\n}\n.entry kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<kol-button-link-text-switch\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as i,H as s}from"./index-
|
|
4
|
+
import{r as t,h as i,H as s}from"./index-d0c806ea.js";import{a as e}from"./i18n-d0bb1d99.js";import{v as a,a as o}from"./custom-class-44d7cc63.js";import{v as n}from"./label-0d258cd5.js";import{v as l}from"./tooltip-align-fe8fbb60.js";import{n as h}from"./dev.utils-2a853234.js";import{e as r,w as c,c as p,p as u}from"./prop.validators-125a3282.js";import{r as d,a as _}from"./unique-nav-labels-c6750f60.js";import{S as f}from"./reuse-b3566e4c.js";import"./index-947d3173.js";import"./a11y.tipps-583a2096.js";import"./alignment-84fc6207.js";const b=(t,a,e)=>{r(t,"_max",a,e)},g=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.navigation-list{list-style:none}.separator:before{content:'•••'}",m={left:"codicon codicon-debug-reverse-continue"},v={left:"codicon codicon-chevron-left"},y={right:"codicon codicon-chevron-right"},k={right:"codicon codicon-debug-continue"},x=class{constructor(a){t(this,a),this.nonce=h(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,a)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,a),this.onChangePage(t,a)},this.onChangePage=(t,a)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,a)}))},this.onChangePageSize=(t,a)=>{if("number"==typeof(a=parseInt(a[0]))&&a>0&&this._pageSize!==a){this._pageSize=a;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,a)=>{let e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;const i=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,a.set("_pageSize",e)}const s=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,s,a.get("_pageSize"),o)},this.syncPage=(t,a,e,i)=>{if(i>0){const s=this.calcCount(i,e);s>0&&(a>s?(t.set("_page",s),this.onChangePage(f,s)):a<1&&(t.set("_page",1),this.onChangePage(f,1)))}},this.beforePageSizeOptions=(t,a)=>{const i=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&i.push({label:e("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",i),this.beforePageSize(i,a)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this._variant="normal",this.state={_boundaryCount:1,_label:e("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0,_variant:"normal"}}render(){var t;let a=!1;const o=this.getCount(),n=Array.from(Array(o).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>o-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,i("li",null,i("span",{class:"separator",key:`${this.nonce}-el-${t}`,"aria-hidden":"true"}))):null));return i(s,null,i("nav",{"aria-label":this.state._label},i("ul",{class:"navigation-list"},this.state._hasButtons.first&&i("li",null,i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:m,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&i("li",null,i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:v,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),n,this.state._hasButtons.next&&i("li",null,i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:y,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&i("li",null,i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:k,_hideLabel:!0,_label:e("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&i("kol-select",{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:e("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return i("li",null,i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:`${t}`,_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant}))}getSelectedPageButton(t){return i("li",null,i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_label:`${t}`,_variant:this.state._variant}))}validateBoundaryCount(t){r(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){a(this,t)}validateLabel(t,a,e=!1){e||d(this.state._label),n(this,t),_(this.state._label)}validateHasButtons(t){c(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,a)=>{if("boolean"==typeof t)a.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=u(t)}catch(t){a.delete("_hasButtons")}"object"==typeof t&&null!==t&&a.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){r(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,i=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,t,e,i)}}})}validatePageSize(t){r(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){p(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){r(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){b(this,t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,i=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,i,t)}}})}validateTooltipAlign(t){l(this,t)}validateVariant(t){o(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validateVariant(this._variant),this.validatePage(this._page)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};x.style={default:g};export{x as kol_pagination};
|