@public-ui/components 1.5.1 → 1.5.2-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/assets/codicons/codicon.css +12 -1
- package/assets/codicons/codicon.csv +7 -2
- package/assets/codicons/codicon.html +53 -13
- package/assets/codicons/codicon.svg +1 -1
- package/assets/codicons/codicon.ttf +0 -0
- package/cheat-sheet.html +12 -12
- package/custom-elements.json +8 -1
- package/dist/cjs/{a11y.tipps-6f0ad06e.js → a11y.tipps-251f022e.js} +1 -1
- package/dist/cjs/a11y.tipps-251f022e.js.map +1 -0
- package/dist/cjs/{app-globals-a5083cd8.js → app-globals-deb2d36b.js} +1 -1
- package/dist/cjs/{app-globals-a5083cd8.js.map → app-globals-deb2d36b.js.map} +1 -1
- package/dist/cjs/{aria-selected-3d69f172.js → aria-selected-75bbe016.js} +1 -1
- package/dist/cjs/{aria-selected-3d69f172.js.map → aria-selected-75bbe016.js.map} +1 -1
- package/dist/cjs/{button-link-78099d0b.js → button-link-7da2652e.js} +1 -1
- package/dist/cjs/{button-link-78099d0b.js.map → button-link-7da2652e.js.map} +1 -1
- package/dist/cjs/{color-d9a0e2e9.js → color-93a094ef.js} +1 -1
- package/dist/cjs/{color-d9a0e2e9.js.map → color-93a094ef.js.map} +1 -1
- package/dist/cjs/{controller-4c51f1d0.js → controller-361ba1ef.js} +1 -1
- package/dist/cjs/{controller-4c51f1d0.js.map → controller-361ba1ef.js.map} +1 -1
- package/dist/cjs/{controller-0dc3063e.js → controller-3bf4af0a.js} +1 -1
- package/dist/cjs/{controller-0dc3063e.js.map → controller-3bf4af0a.js.map} +1 -1
- package/dist/cjs/{controller-47ec1d99.js → controller-90049b82.js} +1 -1
- package/dist/cjs/{controller-47ec1d99.js.map → controller-90049b82.js.map} +1 -1
- package/dist/cjs/{controller-974e72cd.js → controller-9e5e2756.js} +1 -1
- package/dist/cjs/{controller-974e72cd.js.map → controller-9e5e2756.js.map} +1 -1
- package/dist/cjs/{controller-f5d21db5.js → controller-c828f7c8.js} +1 -1
- package/dist/cjs/{controller-f5d21db5.js.map → controller-c828f7c8.js.map} +1 -1
- package/dist/cjs/{controller-1a0e56e5.js → controller-dc5aca49.js} +1 -1
- package/dist/cjs/{controller-1a0e56e5.js.map → controller-dc5aca49.js.map} +1 -1
- package/dist/cjs/{controller-icon-8a67d498.js → controller-icon-6ed19132.js} +1 -1
- package/dist/cjs/{controller-icon-8a67d498.js.map → controller-icon-6ed19132.js.map} +1 -1
- package/dist/cjs/{devtools-a1501143.js → devtools-aae8bdf5.js} +1 -1
- package/dist/cjs/{devtools-a1501143.js.map → devtools-aae8bdf5.js.map} +1 -1
- package/dist/cjs/{disabled-0893d275.js → disabled-849b796c.js} +1 -1
- package/dist/cjs/{disabled-0893d275.js.map → disabled-849b796c.js.map} +1 -1
- package/dist/cjs/hide-label-3c04c118.js +4 -0
- package/dist/cjs/{hide-label-142676e3.js.map → hide-label-3c04c118.js.map} +1 -1
- package/dist/cjs/{i18n-c5c6847b.js → i18n-bd375706.js} +1 -1
- package/dist/cjs/{i18n-c5c6847b.js.map → i18n-bd375706.js.map} +1 -1
- package/dist/cjs/{icon-d0c5f305.js → icon-c6dc105e.js} +1 -1
- package/dist/cjs/{icon-d0c5f305.js.map → icon-c6dc105e.js.map} +1 -1
- package/dist/cjs/index-29c5d3c6.js +5 -0
- package/dist/cjs/index-29c5d3c6.js.map +1 -0
- package/dist/cjs/{index-9c91e91b.js → index-2e0791f2.js} +1 -1
- package/dist/cjs/{index-9c91e91b.js.map → index-2e0791f2.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_3.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_3.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/label-f7bafefb.js +4 -0
- package/dist/cjs/label-f7bafefb.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{prop.validators-d6eed32b.js → prop.validators-0e600d26.js} +1 -1
- package/dist/cjs/{prop.validators-d6eed32b.js.map → prop.validators-0e600d26.js.map} +1 -1
- package/dist/cjs/show-f13f46c8.js +4 -0
- package/dist/cjs/{show-6e36cda5.js.map → show-f13f46c8.js.map} +1 -1
- package/dist/cjs/{tab-index-9fcb9e3f.js → tab-index-d4f662c6.js} +1 -1
- package/dist/cjs/{tab-index-9fcb9e3f.js.map → tab-index-d4f662c6.js.map} +1 -1
- package/dist/cjs/{validation-423d5cd3.js → validation-067abd6e.js} +1 -1
- package/dist/cjs/{validation-423d5cd3.js.map → validation-067abd6e.js.map} +1 -1
- package/dist/cjs/validation-2b48ad79.js +4 -0
- package/dist/cjs/{validation-5c91bbc8.js.map → validation-2b48ad79.js.map} +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/component12.js +1 -1
- package/dist/components/component13.js +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component15.js +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-input-adapter-leanup.js +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-color.js +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-file.js +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-radio-group.js +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/tab-index.js +1 -1
- package/dist/components/validation.js +1 -1
- package/dist/esm/{a11y.tipps-1cea9822.js → a11y.tipps-2e27f8e6.js} +1 -1
- package/dist/esm/a11y.tipps-2e27f8e6.js.map +1 -0
- package/dist/esm/app-globals-1e2df332.js +4 -0
- package/dist/esm/{app-globals-6ba5ef2f.js.map → app-globals-1e2df332.js.map} +1 -1
- package/dist/esm/{aria-selected-aaf31182.js → aria-selected-0f45e2c3.js} +1 -1
- package/dist/esm/{aria-selected-aaf31182.js.map → aria-selected-0f45e2c3.js.map} +1 -1
- package/dist/esm/{button-link-4a7e6a2e.js → button-link-abc9999d.js} +1 -1
- package/dist/esm/{button-link-4a7e6a2e.js.map → button-link-abc9999d.js.map} +1 -1
- package/dist/esm/{color-00a19ef0.js → color-2a715559.js} +1 -1
- package/dist/esm/{color-00a19ef0.js.map → color-2a715559.js.map} +1 -1
- package/dist/esm/{controller-830cac3b.js → controller-3ae042db.js} +1 -1
- package/dist/esm/{controller-830cac3b.js.map → controller-3ae042db.js.map} +1 -1
- package/dist/esm/{controller-3e94c3f2.js → controller-6f59f733.js} +1 -1
- package/dist/esm/{controller-3e94c3f2.js.map → controller-6f59f733.js.map} +1 -1
- package/dist/esm/{controller-1ec68c46.js → controller-9b769c83.js} +1 -1
- package/dist/esm/{controller-1ec68c46.js.map → controller-9b769c83.js.map} +1 -1
- package/dist/esm/{controller-0cf6cd75.js → controller-abdc8667.js} +1 -1
- package/dist/esm/{controller-0cf6cd75.js.map → controller-abdc8667.js.map} +1 -1
- package/dist/esm/{controller-985aff52.js → controller-c92d85d6.js} +1 -1
- package/dist/esm/{controller-985aff52.js.map → controller-c92d85d6.js.map} +1 -1
- package/dist/esm/{controller-53ddde7c.js → controller-ca91917c.js} +1 -1
- package/dist/esm/{controller-53ddde7c.js.map → controller-ca91917c.js.map} +1 -1
- package/dist/esm/{controller-icon-26c0e34a.js → controller-icon-8d8c747a.js} +1 -1
- package/dist/esm/{controller-icon-26c0e34a.js.map → controller-icon-8d8c747a.js.map} +1 -1
- package/dist/esm/{devtools-33f1b614.js → devtools-fc4614e6.js} +1 -1
- package/dist/esm/{devtools-33f1b614.js.map → devtools-fc4614e6.js.map} +1 -1
- package/dist/esm/{disabled-9bd11a04.js → disabled-7ea66fab.js} +1 -1
- package/dist/esm/{disabled-9bd11a04.js.map → disabled-7ea66fab.js.map} +1 -1
- package/dist/esm/{hide-label-5d7003be.js → hide-label-1fa80b94.js} +1 -1
- package/dist/esm/{hide-label-5d7003be.js.map → hide-label-1fa80b94.js.map} +1 -1
- package/dist/esm/{i18n-81ce19c0.js → i18n-b8589f01.js} +1 -1
- package/dist/esm/{i18n-81ce19c0.js.map → i18n-b8589f01.js.map} +1 -1
- package/dist/esm/{icon-dfcf642a.js → icon-52e86ff8.js} +1 -1
- package/dist/esm/{icon-dfcf642a.js.map → icon-52e86ff8.js.map} +1 -1
- package/dist/esm/{index-133da8ac.js → index-0962b5a1.js} +1 -1
- package/dist/esm/{index-133da8ac.js.map → index-0962b5a1.js.map} +1 -1
- package/dist/esm/index-50adf9a0.js +5 -0
- package/dist/esm/index-50adf9a0.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc_2.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-wc_3.entry.js +1 -1
- package/dist/esm/kol-button-wc_3.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
- package/dist/esm/kol-icon-icofont.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-radio-group.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-popover.entry.js +1 -1
- package/dist/esm/kol-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-select.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/label-58f2333f.js +4 -0
- package/dist/esm/label-58f2333f.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{prop.validators-e15a584f.js → prop.validators-2c20cdf8.js} +1 -1
- package/dist/esm/{prop.validators-e15a584f.js.map → prop.validators-2c20cdf8.js.map} +1 -1
- package/dist/esm/show-5a4bfd71.js +4 -0
- package/dist/esm/{show-f85eb6d8.js.map → show-5a4bfd71.js.map} +1 -1
- package/dist/esm/{tab-index-eff012a1.js → tab-index-2de507bb.js} +1 -1
- package/dist/esm/{tab-index-eff012a1.js.map → tab-index-2de507bb.js.map} +1 -1
- package/dist/esm/validation-7df9acd0.js +4 -0
- package/dist/esm/{validation-ec53a8be.js.map → validation-7df9acd0.js.map} +1 -1
- package/dist/esm/{validation-d4aeea71.js → validation-9c8695ca.js} +1 -1
- package/dist/esm/{validation-d4aeea71.js.map → validation-9c8695ca.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-1cea9822.js → a11y.tipps-2e27f8e6.js} +1 -1
- package/dist/kolibri/a11y.tipps-2e27f8e6.js.map +1 -0
- package/dist/kolibri/app-globals-1e2df332.js +4 -0
- package/dist/kolibri/aria-selected-0f45e2c3.js +4 -0
- package/dist/kolibri/assets/loader.css +46 -0
- package/dist/kolibri/{button-link-4a7e6a2e.js → button-link-abc9999d.js} +1 -1
- package/dist/kolibri/{color-00a19ef0.js → color-2a715559.js} +1 -1
- package/dist/kolibri/controller-3ae042db.js +4 -0
- package/dist/kolibri/{controller-3e94c3f2.js → controller-6f59f733.js} +1 -1
- package/dist/kolibri/{controller-1ec68c46.js → controller-9b769c83.js} +1 -1
- package/dist/kolibri/{controller-0cf6cd75.js → controller-abdc8667.js} +1 -1
- package/dist/kolibri/controller-c92d85d6.js +4 -0
- package/dist/kolibri/{controller-53ddde7c.js → controller-ca91917c.js} +1 -1
- package/dist/kolibri/controller-icon-8d8c747a.js +4 -0
- package/dist/kolibri/{devtools-33f1b614.js → devtools-fc4614e6.js} +1 -1
- package/dist/kolibri/{disabled-9bd11a04.js → disabled-7ea66fab.js} +1 -1
- package/dist/kolibri/hide-label-1fa80b94.js +4 -0
- package/dist/kolibri/{i18n-81ce19c0.js → i18n-b8589f01.js} +1 -1
- package/dist/kolibri/{icon-dfcf642a.js → icon-52e86ff8.js} +1 -1
- package/dist/kolibri/{index-133da8ac.js → index-0962b5a1.js} +1 -1
- package/dist/kolibri/{index-133da8ac.js.map → index-0962b5a1.js.map} +1 -1
- package/dist/kolibri/index-50adf9a0.js +5 -0
- package/dist/kolibri/index-50adf9a0.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-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_3.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_3.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js +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-logo.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-toast.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/label-58f2333f.js +4 -0
- package/dist/kolibri/label-58f2333f.js.map +1 -0
- package/dist/kolibri/{prop.validators-e15a584f.js → prop.validators-2c20cdf8.js} +1 -1
- package/dist/kolibri/show-5a4bfd71.js +4 -0
- package/dist/kolibri/tab-index-2de507bb.js +4 -0
- package/dist/kolibri/{tab-index-eff012a1.js.map → tab-index-2de507bb.js.map} +1 -1
- package/dist/kolibri/validation-7df9acd0.js +4 -0
- package/dist/kolibri/{validation-d4aeea71.js → validation-9c8695ca.js} +1 -1
- package/dist/loader/index.d.ts +1 -1
- package/dist/types/components/spin/component.d.ts +11 -3
- package/dist/types/components.d.ts +10 -0
- package/dist/types/stencil-public-runtime.d.ts +0 -1
- package/dist/types/types/props/variant/spin.d.ts +6 -0
- package/dist/types/utils/a11y.tipps.d.ts +1 -0
- package/doc/input-email.md +1 -1
- package/doc/input-text.md +1 -1
- package/doc/nav.md +1 -1
- package/doc/spin.md +62 -4
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +12 -0
- package/dist/cjs/a11y.tipps-6f0ad06e.js.map +0 -1
- package/dist/cjs/hide-label-142676e3.js +0 -4
- package/dist/cjs/index-2f320bab.js +0 -5
- package/dist/cjs/index-2f320bab.js.map +0 -1
- package/dist/cjs/label-77683d7b.js +0 -4
- package/dist/cjs/label-77683d7b.js.map +0 -1
- package/dist/cjs/show-6e36cda5.js +0 -4
- package/dist/cjs/validation-5c91bbc8.js +0 -4
- package/dist/esm/a11y.tipps-1cea9822.js.map +0 -1
- package/dist/esm/app-globals-6ba5ef2f.js +0 -4
- package/dist/esm/index-0e29e47a.js +0 -5
- package/dist/esm/index-0e29e47a.js.map +0 -1
- package/dist/esm/label-4bfc9d30.js +0 -4
- package/dist/esm/label-4bfc9d30.js.map +0 -1
- package/dist/esm/show-f85eb6d8.js +0 -4
- package/dist/esm/validation-ec53a8be.js +0 -4
- package/dist/kolibri/a11y.tipps-1cea9822.js.map +0 -1
- package/dist/kolibri/app-globals-6ba5ef2f.js +0 -4
- package/dist/kolibri/aria-selected-aaf31182.js +0 -4
- package/dist/kolibri/controller-830cac3b.js +0 -4
- package/dist/kolibri/controller-985aff52.js +0 -4
- package/dist/kolibri/controller-icon-26c0e34a.js +0 -4
- package/dist/kolibri/hide-label-5d7003be.js +0 -4
- package/dist/kolibri/index-0e29e47a.js +0 -5
- package/dist/kolibri/index-0e29e47a.js.map +0 -1
- package/dist/kolibri/label-4bfc9d30.js +0 -4
- package/dist/kolibri/label-4bfc9d30.js.map +0 -1
- package/dist/kolibri/show-f85eb6d8.js +0 -4
- package/dist/kolibri/tab-index-eff012a1.js +0 -4
- package/dist/kolibri/validation-ec53a8be.js +0 -4
- /package/dist/kolibri/{app-globals-6ba5ef2f.js.map → app-globals-1e2df332.js.map} +0 -0
- /package/dist/kolibri/{aria-selected-aaf31182.js.map → aria-selected-0f45e2c3.js.map} +0 -0
- /package/dist/kolibri/{button-link-4a7e6a2e.js.map → button-link-abc9999d.js.map} +0 -0
- /package/dist/kolibri/{color-00a19ef0.js.map → color-2a715559.js.map} +0 -0
- /package/dist/kolibri/{controller-830cac3b.js.map → controller-3ae042db.js.map} +0 -0
- /package/dist/kolibri/{controller-3e94c3f2.js.map → controller-6f59f733.js.map} +0 -0
- /package/dist/kolibri/{controller-1ec68c46.js.map → controller-9b769c83.js.map} +0 -0
- /package/dist/kolibri/{controller-0cf6cd75.js.map → controller-abdc8667.js.map} +0 -0
- /package/dist/kolibri/{controller-985aff52.js.map → controller-c92d85d6.js.map} +0 -0
- /package/dist/kolibri/{controller-53ddde7c.js.map → controller-ca91917c.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-26c0e34a.js.map → controller-icon-8d8c747a.js.map} +0 -0
- /package/dist/kolibri/{devtools-33f1b614.js.map → devtools-fc4614e6.js.map} +0 -0
- /package/dist/kolibri/{disabled-9bd11a04.js.map → disabled-7ea66fab.js.map} +0 -0
- /package/dist/kolibri/{hide-label-5d7003be.js.map → hide-label-1fa80b94.js.map} +0 -0
- /package/dist/kolibri/{i18n-81ce19c0.js.map → i18n-b8589f01.js.map} +0 -0
- /package/dist/kolibri/{icon-dfcf642a.js.map → icon-52e86ff8.js.map} +0 -0
- /package/dist/kolibri/{prop.validators-e15a584f.js.map → prop.validators-2c20cdf8.js.map} +0 -0
- /package/dist/kolibri/{show-f85eb6d8.js.map → show-5a4bfd71.js.map} +0 -0
- /package/dist/kolibri/{validation-ec53a8be.js.map → validation-7df9acd0.js.map} +0 -0
- /package/dist/kolibri/{validation-d4aeea71.js.map → validation-9c8695ca.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateDownload","component","value","watchBoolean","watchString","validateStealth","KolLinkWc","this","nonce","catchRef","ref","propagateFocus","host","onClick","event","_a","state","_on","preventDefault","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","_useCase","_iconOnly","_ariaLabel","devHint","translate","_icon","_label","render","h","Host","Object","assign","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","_ariaSelected","class","disabled","_disabled","_stealth","_role","_tabIndex","name","slot","_targetDescription","_align","_tooltipAlign","_id","validateAriaControls","validateAriaCurrent","validateAriaExpanded","validateAriaLabel","validateAriaLabelWithLabel","validateAriaSelected","validateDisabled","a11yHintDisabled","validateHref","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateLabel","validateLabelWithAriaLabel","validateOn","prototype","hasOwnProperty","call","validateRole","validateSelector","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","watchTooltipAlignment","validateUseCase","componentWillLoad","_download","_iconAlign"],"sources":["./src/types/props/download.ts","./src/types/props/stealth.ts","./src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Teilt dem Browser mit, dass sich hinter dem Link eine Datei befindet. Setzt optional den Dateinamen.\n */\n/** en\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: boolean | string;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: boolean | string): void => {\n\tif (typeof value === 'boolean') watchBoolean(component, '_download', value);\n\telse watchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Versteckt den Link und lässt ihn bei Fokussierung erscheinen.\n */\n/** en\n * Hides the link und makes it appear on focus.\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/* validator */\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 { Generic } from '@a11y-ui/core';\nimport { translate } from '../../i18n';\nimport {\n\tAlternativButtonLinkRole,\n\tLinkOnCallbacks,\n\tLinkStates,\n\tLinkTarget,\n\tLinkUseCase,\n\tOptionalLinkProps,\n\tOptionalLinkStates,\n\tRequiredLinkProps,\n\tRequiredLinkStates,\n\twatchTooltipAlignment,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AriaCurrent, Alignment, validateAriaCurrent, validateAriaSelected, validateStealth, validateDownload } from '../../types/props';\nimport { a11yHintDisabled, devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { validateIcon, watchIconAlign } from '../../types/props/icon';\nimport { validateAriaLabelWithLabel, validateLabelWithAriaLabel } from '../../types/props/label';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates> {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate readonly nonce = nonce();\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\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};\n\n\t\tif (\n\t\t\t(this.state._useCase === 'image' || this.state._iconOnly === true) &&\n\t\t\t(typeof this.state._ariaLabel !== 'string' || this.state._ariaLabel.length === 0)\n\t\t) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der Icon-Only-Modus verwendet wird.`);\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\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-labelledby={this.state._useCase === 'image' || this.state._iconOnly === true ? this.nonce : 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._iconOnly === 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 _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _ariaLabel={this.state._targetDescription as string} _icon={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t{(this.state._iconOnly === true || this.state._useCase === 'image') && (\n\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t\t_id={this.nonce}\n\t\t\t\t\t\t_label={this.state._ariaLabel || this.state._label}\n\t\t\t\t\t></kol-tooltip>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Link hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Link etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text des Links an. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label)\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, ob der Link deaktiviert ist.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Teilt dem Browser mit, dass sich hinter dem Link eine Datei befindet. Setzt optional den Dateinamen.\n\t */\n\t@Prop() public _download?: boolean | string = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Iconklasse (z.B.: \"codicon codicon-home\")\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon entweder links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: Alignment;\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Setzt den sichtbaren Text des Elements.\n\t */\n\t// - eslint-disable-next-line @stencil/strict-mutable\n\t@Prop({ mutable: true, reflect: false }) public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t * @deprecated\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\n\n\t/**\n\t * Gibt an, welche Rolle der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop({ reflect: true }) public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (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 * Gibt an wo der Link geöffnet werden soll.\n\t */\n\t@Prop() public _target?: LinkTarget;\n\n\t/**\n\t * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'right';\n\n\t/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: 'javascript:void(0)',\n\t\t_icon: {},\n\t\t_label: '', // TODO: must removed to v2\n\t\t// _label: '…', // ⚠ required\n\t};\n\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\twatchString(this, '_ariaControls', value);\n\t}\n\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrent): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tvalidateAriaLabelWithLabel(this, value);\n\t}\n\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\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?: boolean | string): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\twatchString(this, '_href', value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: Alignment): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabelWithAriaLabel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacks): void {\n\t\tif (\n\t\t\ttypeof value === 'object' &&\n\t\t\tvalue !== null &&\n\t\t\t// https://eslint.org/docs/rules/no-prototype-builtins\n\t\t\tObject.prototype.hasOwnProperty.call(value, 'onClick') &&\n\t\t\ttypeof value.onClick === 'function'\n\t\t) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativButtonLinkRole): void {\n\t\twatchString(this, '_role', value);\n\t}\n\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\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?: LinkTarget): void {\n\t\twatchString(this, '_target', 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?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\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.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateLabel(this._label);\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["validateDownload","component","value","watchBoolean","watchString","validateStealth","KolLinkWc","this","nonce","catchRef","ref","propagateFocus","host","onClick","event","_a","state","_on","preventDefault","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","_useCase","_iconOnly","_ariaLabel","devHint","translate","_icon","_label","render","h","Host","Object","assign","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","_ariaSelected","class","disabled","_disabled","_stealth","_role","_tabIndex","name","slot","_targetDescription","_align","_tooltipAlign","_id","validateAriaControls","validateAriaCurrent","validateAriaExpanded","validateAriaLabel","validateAriaLabelWithLabel","validateAriaSelected","validateDisabled","a11yHintDisabled","validateHref","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateLabel","validateLabelWithAriaLabel","validateOn","prototype","hasOwnProperty","call","validateRole","validateSelector","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","watchTooltipAlignment","validateUseCase","componentWillLoad","_download","_iconAlign"],"sources":["./src/types/props/download.ts","./src/types/props/stealth.ts","./src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Teilt dem Browser mit, dass sich hinter dem Link eine Datei befindet. Setzt optional den Dateinamen.\n */\n/** en\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: boolean | string;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: boolean | string): void => {\n\tif (typeof value === 'boolean') watchBoolean(component, '_download', value);\n\telse watchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Versteckt den Link und lässt ihn bei Fokussierung erscheinen.\n */\n/** en\n * Hides the link und makes it appear on focus.\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/* validator */\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 { Generic } from '@a11y-ui/core';\nimport { translate } from '../../i18n';\nimport {\n\tAlternativButtonLinkRole,\n\tLinkOnCallbacks,\n\tLinkStates,\n\tLinkTarget,\n\tLinkUseCase,\n\tOptionalLinkProps,\n\tOptionalLinkStates,\n\tRequiredLinkProps,\n\tRequiredLinkStates,\n\twatchTooltipAlignment,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AriaCurrent, Alignment, validateAriaCurrent, validateAriaSelected, validateStealth, validateDownload } from '../../types/props';\nimport { a11yHintDisabled, devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { validateIcon, watchIconAlign } from '../../types/props/icon';\nimport { validateAriaLabelWithLabel, validateLabelWithAriaLabel } from '../../types/props/label';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates> {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate readonly nonce = nonce();\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\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};\n\n\t\tif (\n\t\t\t(this.state._useCase === 'image' || this.state._iconOnly === true) &&\n\t\t\t(typeof this.state._ariaLabel !== 'string' || this.state._ariaLabel.length === 0)\n\t\t) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der Icon-Only-Modus verwendet wird.`);\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\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-labelledby={this.state._useCase === 'image' || this.state._iconOnly === true ? this.nonce : 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._iconOnly === 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 _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _ariaLabel={this.state._targetDescription as string} _icon={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t{(this.state._iconOnly === true || this.state._useCase === 'image') && (\n\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t\t_id={this.nonce}\n\t\t\t\t\t\t_label={this.state._ariaLabel || this.state._label}\n\t\t\t\t\t></kol-tooltip>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Link hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Link etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text des Links an. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label)\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, ob der Link deaktiviert ist.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Teilt dem Browser mit, dass sich hinter dem Link eine Datei befindet. Setzt optional den Dateinamen.\n\t */\n\t@Prop() public _download?: boolean | string = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Iconklasse (z.B.: \"codicon codicon-home\")\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon entweder links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: Alignment;\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Setzt den sichtbaren Text des Elements.\n\t */\n\t// - eslint-disable-next-line @stencil/strict-mutable\n\t@Prop({ mutable: true, reflect: false }) public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t * @deprecated\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\n\n\t/**\n\t * Gibt an, welche Rolle der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop({ reflect: true }) public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (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 * Gibt an wo der Link geöffnet werden soll.\n\t */\n\t@Prop() public _target?: LinkTarget;\n\n\t/**\n\t * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'right';\n\n\t/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: 'javascript:void(0)',\n\t\t_icon: {},\n\t\t_label: '', // TODO: must removed to v2\n\t\t// _label: '…', // ⚠ required\n\t};\n\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\twatchString(this, '_ariaControls', value);\n\t}\n\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrent): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tvalidateAriaLabelWithLabel(this, value);\n\t}\n\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\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?: boolean | string): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\twatchString(this, '_href', value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: Alignment): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabelWithAriaLabel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacks): void {\n\t\tif (\n\t\t\ttypeof value === 'object' &&\n\t\t\tvalue !== null &&\n\t\t\t// https://eslint.org/docs/rules/no-prototype-builtins\n\t\t\tObject.prototype.hasOwnProperty.call(value, 'onClick') &&\n\t\t\ttypeof value.onClick === 'function'\n\t\t) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativButtonLinkRole): void {\n\t\twatchString(this, '_role', value);\n\t}\n\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\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?: LinkTarget): void {\n\t\twatchString(this, '_target', 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?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\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.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateLabel(this._label);\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"],"mappings":";;;slBAeO,MAAMA,EAAmB,CAACC,EAAsCC,KACtE,UAAWA,IAAU,UAAWC,EAAaF,EAAW,YAAaC,QAChEE,EAAYH,EAAW,YAAaC,EAAM,ECFzC,MAAMG,EAAkB,CAACJ,EAAsCC,KACrEC,EAAaF,EAAW,WAAYC,EAAM,E,MCkB9BI,EAAS,M,yBAEJC,KAAAC,MAAQA,IAGRD,KAAAE,SAAYC,IAC5BH,KAAKG,IAAMA,EACXC,EAAeJ,KAAKK,KAAML,KAAKG,IAAI,EAGnBH,KAAAM,QAAWC,I,QAC3B,WAAWC,EAAAR,KAAKS,MAAMC,OAAG,MAAAF,SAAA,SAAAA,EAAEF,WAAY,WAAY,CAClDC,EAAMI,iBACNC,EAAeL,EAAOP,KAAKG,MAC3BU,EAAAb,KAAKS,MAAMC,OAAG,MAAAG,SAAA,SAAAA,EAAEP,QAAQC,EAAOP,KAAKS,MAAMK,M,GAI3Bd,KAAAe,gBAAkB,KAoBlC,IAAIC,EAAY,GAChB,UAAWhB,KAAKS,MAAMQ,YAAc,SAAU,CAC7CD,EAAY,CACXE,KAAM,OACNC,SAAU,EACVb,QAAS,KACRc,EAAiBpB,KAAKS,MAAMQ,UAAoB,EAEjDI,WAAY,KACXD,EAAiBpB,KAAKS,MAAMQ,UAAoB,E,CAKnD,MAAMK,SAAoBtB,KAAKS,MAAMc,UAAY,UAAYvB,KAAKS,MAAMc,UAAY,QAEpF,MAAMC,EAAW,CAChBC,YAAazB,KAAKS,MAAMK,QAAU,UAAYd,KAAKS,MAAMK,MAAMY,OAAS,EAAI1B,KAAKS,MAAMK,MAAQ,qBAC/Fa,cAAe3B,KAAKS,MAAMc,UAAY,UAAYvB,KAAKS,MAAMc,QAAQG,OAAS,EAAI1B,KAAKS,MAAMc,QAAUK,UACvGC,IAAKP,EAAa,WAAaM,WAGhC,IACE5B,KAAKS,MAAMqB,WAAa,SAAW9B,KAAKS,MAAMsB,YAAc,eACrD/B,KAAKS,MAAMuB,aAAe,UAAYhC,KAAKS,MAAMuB,WAAWN,SAAW,GAC9E,CACDO,EAAQ,sH,CAET,MAAO,CAAEX,aAAYE,WAAUR,YAAW,E,4JAgFW,M,eAKR,M,mFAsBQ,M,qGA+BD,M,wEAeRkB,EAAU,wB,mBAKZ,Q,cAOH,O,WAEJ,CACnCpB,MAAO,qBACPqB,MAAO,GACPC,OAAQ,G,CAvKFC,SACN,MAAMf,WAAEA,EAAUE,SAAEA,EAAQR,UAAEA,GAAchB,KAAKe,kBACjD,OACCuB,EAACC,EAAI,KACJD,EAAA,IAAAE,OAAAC,OAAA,CACCtC,IAAKH,KAAKE,UACNsB,EAAQ,iBACGxB,KAAKS,MAAMiC,cAAa,eACzB1C,KAAKS,MAAMkC,aAAY,gBACtBC,EAAkB5C,KAAKS,MAAMoC,eAAc,kBACzC7C,KAAKS,MAAMqB,WAAa,SAAW9B,KAAKS,MAAMsB,YAAc,KAAO/B,KAAKC,MAAQ2B,UAAS,gBAC3FgB,EAAkB5C,KAAKS,MAAMqC,eAC5CC,MAAO,CACNC,SAAUhD,KAAKS,MAAMwC,YAAc,KACnC,QAASjD,KAAKS,MAAMyC,WAAa,MACjC,YAAalD,KAAKS,MAAMsB,YAAc,KACtC,gBAAiBT,IAEdtB,KAAKS,MAAMC,IAAG,CAElBJ,QAASN,KAAKM,QACde,WAAYrB,KAAKM,SACbU,EAAS,CACbE,KAAMlB,KAAKS,MAAM0C,MACjBhC,SAAUnB,KAAKS,MAAM2C,YAErBd,EAAA,eAAaH,MAAOnC,KAAKmC,MAAOJ,UAAW/B,KAAK+B,UAAWK,OAAQpC,KAAKS,MAAM2B,QAC7EE,EAAA,QAAMe,KAAK,SAASC,KAAK,YAEzBhC,GAAcgB,EAAA,YAAUS,MAAM,qBAAqBf,WAAYhC,KAAKS,MAAM8C,mBAA8BpB,MAAO,oCAE/GnC,KAAKS,MAAMsB,YAAc,MAAQ/B,KAAKS,MAAMqB,WAAa,UAC1DQ,EAAA,6BAKa,OACZkB,OAAQxD,KAAKS,MAAMgD,cACnBC,IAAK1D,KAAKC,MACVmC,OAAQpC,KAAKS,MAAMuB,YAAchC,KAAKS,MAAM2B,S,CAoI1CuB,qBAAqBhE,GAC3BE,EAAYG,KAAM,gBAAiBL,E,CAI7BiE,oBAAoBjE,GAC1BiE,EAAoB5D,KAAML,E,CAIpBkE,qBAAqBlE,GAC3BC,EAAaI,KAAM,gBAAiBL,E,CAI9BmE,kBAAkBnE,GACxBoE,EAA2B/D,KAAML,E,CAI3BqE,qBAAqBrE,GAC3BqE,EAAqBhE,KAAML,E,CASrBsE,iBAAiBtE,GACvBC,EAAaI,KAAM,YAAaL,GAChC,GAAIA,IAAU,KAAM,CACnBuE,G,EAKKzE,iBAAiBE,GACvBF,EAAiBO,KAAML,E,CAIjBwE,aAAaxE,GACnBE,EAAYG,KAAM,QAASL,E,CAIrByE,aAAazE,GACnByE,EAAapE,KAAML,E,CAQb0E,kBAAkB1E,GACxB2E,EAAetE,KAAML,E,CAIf4E,iBAAiB5E,GACvBC,EAAaI,KAAM,YAAaL,E,CAI1B6E,cAAc7E,GACpB8E,EAA2BzE,KAAML,E,CAQ3B+E,WAAW/E,GACjB,UACQA,IAAU,UACjBA,IAAU,MAEV6C,OAAOmC,UAAUC,eAAeC,KAAKlF,EAAO,mBACrCA,EAAMW,UAAY,WACxB,CACDN,KAAKS,MAAK+B,OAAAC,OAAAD,OAAAC,OAAA,GACNzC,KAAKS,OAAK,CACbC,IAAKf,G,EAMDmF,aAAanF,GACnBE,EAAYG,KAAM,QAASL,E,CAIrBoF,iBAAiBpF,GACvBE,EAAYG,KAAM,YAAaL,E,CAIzBG,gBAAgBH,GACtBG,EAAgBE,KAAML,E,CAIhBqF,iBAAiBrF,GACvBqF,EAAiBhF,KAAML,E,CAIjBsF,eAAetF,GACrBE,EAAYG,KAAM,UAAWL,E,CAIvBuF,0BAA0BvF,GAChCE,EAAYG,KAAM,qBAAsBL,E,CAIlCwF,qBAAqBxF,GAC3ByF,EAAsBpF,KAAM,gBAAiBL,E,CAIvC0F,gBAAgB1F,GACtB,UAAWA,IAAU,SAAU,CAC9BK,KAAKS,MAAK+B,OAAAC,OAAAD,OAAAC,OAAA,GACNzC,KAAKS,OAAK,CACbqB,SAAUnC,G,EAKN2F,oBACNtF,KAAK2D,qBAAqB3D,KAAK0C,eAC/B1C,KAAK4D,oBAAoB5D,KAAK2C,cAC9B3C,KAAK6D,qBAAqB7D,KAAK6C,eAC/B7C,KAAK8D,kBAAkB9D,KAAKgC,YAC5BhC,KAAKgE,qBAAqBhE,KAAK8C,eAC/B9C,KAAKiE,iBAAiBjE,KAAKiD,WAC3BjD,KAAKP,iBAAiBO,KAAKuF,WAC3BvF,KAAKmE,aAAanE,KAAKc,OACvBd,KAAKoE,aAAapE,KAAKmC,OACvBnC,KAAKqE,kBAAkBrE,KAAKwF,YAC5BxF,KAAKuE,iBAAiBvE,KAAK+B,WAC3B/B,KAAKwE,cAAcxE,KAAKoC,QACxBpC,KAAK0E,WAAW1E,KAAKU,KACrBV,KAAK8E,aAAa9E,KAAKmD,OACvBnD,KAAK+E,iBAAiB/E,KAAKiB,WAC3BjB,KAAKF,gBAAgBE,KAAKkD,UAC1BlD,KAAKgF,iBAAiBhF,KAAKoD,WAC3BpD,KAAKiF,eAAejF,KAAKuB,SACzBvB,KAAKkF,0BAA0BlF,KAAKuD,oBACpCvD,KAAKmF,qBAAqBnF,KAAKyD,eAC/BzD,KAAKqF,gBAAgBrF,KAAK8B,S"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as i,h as t,H as e,g as n}from"./index-
|
|
4
|
+
import{r as i,h as t,H as e,g as n}from"./index-50adf9a0.js";import{a as s}from"./reuse-3a02afb9.js";const o=":host{--a11y-min-size:44px}*{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._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=!1,this._href=void 0,this._icon=void 0,this._iconAlign=void 0,this._iconOnly=!1,this._label=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right",this._useCase="text"}render(){return t(e,null,t("kol-link-wc",{ref:this.catchRef,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_disabled:this._disabled,_download:this._download,_href:this._href,_icon:this._icon,_iconAlign:this._iconAlign,_iconOnly:this._iconOnly,_label:this._label,_on:this._on,_role:this._role,_selector:this._selector,_stealth:this._stealth,_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign,_useCase:this._useCase},t("slot",{name:"expert",slot:"expert"}),t("slot",{slot:"expert"})))}get host(){return n(this)}};a.style={default:o};export{a as kol_link};
|
|
@@ -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-50adf9a0.js";import{d as t,B as e,b as i,f as r}from"./bund-fe1f3789.js";import{d as o}from"./a11y.tipps-2e27f8e6.js";import{s}from"./prop.validators-2c20cdf8.js";import{a as l}from"./i18n-b8589f01.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-f4596895.js";import"./index-0962b5a1.js";const a=":host{--a11y-min-size:44px}*{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}text{font-size:16px;letter-spacing:normal;word-spacing:normal}";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 f=()=>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"}),g=class{constructor(n){c(this,n),this._abbr=void 0,this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateAbbr(c){this.validateOrg(c)}validateOrg(c){"string"==typeof c&&d.has(c)?s(this,"_org",c):o(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org||this._abbr)}render(){var c;return n("svg",{"aria-label":l("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(f,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"}},r.has(this.state._org)?n("tspan",null,null===(c=r.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{_abbr:["validateAbbr"],_org:["validateOrg"]}}};g.style={default:a};export{g as kol_logo};
|
|
@@ -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-50adf9a0.js";import{f as a}from"./a11y.tipps-2e27f8e6.js";import{d as n}from"./dev.utils-157f0499.js";import{a as s,w as o,s as l}from"./prop.validators-2c20cdf8.js";import"./reuse-3a02afb9.js";import"./index-f4596895.js";const r=":host{--a11y-min-size:44px}*{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:grid;height:100%;inset:0;place-content:center;position:fixed;width:100%;z-index:100}.modal{max-height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto}",d=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._width="100%",this._on=void 0,this.state={_activeElement:null,_ariaLabel:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?n().Modal.openModal(this.hostElement,this.state._activeElement):n().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&n().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._ariaLabel,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},i("slot",null))))}validateActiveElement(t){s(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null})}validateAriaLabel(t){o(this,"_ariaLabel",t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){a("[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){o(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_width:["validateWidth"]}}};d.style={default:r};export{d as kol_modal};
|
|
@@ -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 a}from"./index-
|
|
4
|
+
import{r as t,h as i,H as a}from"./index-50adf9a0.js";import{a as e}from"./i18n-b8589f01.js";import{h as n,b as s,d as o}from"./a11y.tipps-2e27f8e6.js";import{b as r,a as l,w as c}from"./prop.validators-2c20cdf8.js";import{w as h}from"./validation-7df9acd0.js";import"./index-0962b5a1.js";import"./index-f4596895.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";const d=(t,i)=>{r(t,"_collapsible",i)},p=(t,i)=>{r(t,"_compact",i)},u=(t,i)=>{r(t,"_hasCompactButton",i)},m=":host{--a11y-min-size:44px}*{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}",v=[],f=t=>{const i=v.indexOf(t);i>=0&&v.splice(i,1)},b=class{constructor(a){t(this,a),this.onClick=t=>{t._active=!t._active,this.state=Object.assign({},this.state)},this.hasActiveChild=t=>!!(Array.isArray(t._children)&&t._children.length>0)&&t._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,a)=>this.li(t.collapsible,t.compact,t.deep,a,i,t.orientation)))),this._ariaCurrentValue=!1,this._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._orientation="vertical",this._links=void 0,this._variant="primary",this.state={_ariaCurrentValue:!1,_ariaLabel:"…",_collapsible:!0,_hasCompactButton:!1,_links:[],_orientation:"vertical",_variant:"primary"}}button(t,a,e,n,l,o){return i("kol-button-wc",{_ariaExpanded:t,_disabled:e,_icon:n||"-",_iconOnly:a,_label:l,_on:o})}text(t,a,e){return i("kol-span-wc",{_icon:a||"-",_iconOnly:t,_label:e})}entry(t,a,e,n,l,o){return i("div",{class:{entry:!0,"has-children":e,selected:o,expanded:l,compact:a}},this.buttonOrLinkOrText(a,n,o),e?this.expandButton(t,n,o):"")}expandButton(t,a,e){return i("kol-button-wc",{class:"expand-button",_disabled:!t,_icon:"codicon codicon-"+(e?"remove":"add"),_iconOnly:!0,_label:`Untermenü zu ${a._label} ${e?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(a)}})}li(t,a,e,n,l,o){const s=Array.isArray(l._children)&&l._children.length>0,r=!!l._active,c=s&&!!l._active;return i("li",{class:{expanded:c,selected:r,"has-children":s},key:n},this.entry(t,a,s,l,c,r),s&&r?i(this.linkList,{collapsible:t,compact:a,deep:e+1,links:l._children||[],orientation:o}):"")}link(t,a,e,n,l){return i("kol-link-wc",{_ariaExpanded:t,_href:e,_icon:n||"-",_iconOnly:a,_label:l})}buttonOrLinkOrText(t,i,a){return i._on?this.button(a,t,!0===i._disabled,i._icon,i._label,i._on):i._href?this.link(a,t,i._href,i._icon,i._label):this.text(t,i._icon,i._label)}render(){let t=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(t=!1,n("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const l=!0===this.state._collapsible,o=!0===this.state._compact,s=this.state._orientation;return i(a,null,i("div",{class:{[s]:!0,[this.state._variant]:!0}},i("nav",{"aria-label":this.state._ariaLabel,id:"nav"},i(this.linkList,{collapsible:l,compact:o,deep:0,links:this.state._links,orientation:s})),t&&i("div",{class:"mt-2 w-full compact"},i("kol-button",{_ariaControls:"nav",_ariaExpanded:o,_icon:o?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_iconOnly:!0,_label:e(o?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_compact:!1===this.state._compact})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(t){l(this,"_ariaCurrentValue",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaLabel(t){c(this,"_ariaLabel",t,{hooks:{afterPatch:()=>{v.includes(this.state._ariaLabel)&&o(`[KolNav] Das Aria-Label "${this.state._ariaLabel}" wurde für die Rolle Navigation mehrfach verwendet!`),v.push(this.state._ariaLabel)},beforePatch:()=>{f(this.state._ariaLabel)}},required:!0}),s(t)}validateCollapsible(t){d(this,t)}validateCompact(t){p(this,t)}validateHasCompactButton(t){u(this,t)}validateLinks(t){h("KolNav",this,t),o("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(t){l(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateVariant(t){l(this,"_variant",(t=>"primary"===t||"secondary"===t),new Set(["KoliBriNavVariant {primary, secondary}"]),t,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateAriaLabel(this._ariaLabel),this.validateCollapsible(this._collapsible),this.validateCompact(this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){f(this.state._ariaLabel)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};b.style={default:m};export{b as kol_nav};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateCompact","validateHasCompactButton","defaultStyleCss","UNIQUE_ARIA_LABEL","removeAriaLabel","ariaLabel","index","indexOf","splice","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","li","collapsible","compact","_ariaCurrentValue","_ariaLabel","_collapsible","_hasCompactButton","_links","_orientation","_variant","button","selected","disabled","icon","label","on","_ariaExpanded","_disabled","_icon","_iconOnly","_label","_on","text","entry","hasChildren","expanded","textCenter","buttonOrLinkOrText","expandButton","key","href","_href","render","hasCompactButton","devWarning","_compact","Host","id","_ariaControls","translate","_tooltipAlign","validateAriaCurrentValue","watchValidator","Set","validateAriaLabel","watchString","hooks","afterPatch","includes","devHint","push","beforePatch","required","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","validateOrientation","defaultValue","validateVariant","componentWillLoad","disconnectedCallback"],"sources":["./src/types/props/collapsible.ts","./src/types/props/compact.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';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Wenn auf false gesetzt können Knoten in der Navigation nicht zugeklappt werden.\n */\n/** en\n * If set to false navigation nodes cannot be collapsed.\n */\nexport type PropCollapsible = {\n\tcollapsible: boolean;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht die Navigation kompakt.\n */\n/** en\n * Makes the navigation compact.\n */\nexport type PropCompact = {\n\tcompact: boolean;\n};\n\n/* validator */\nexport const validateCompact = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_compact', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Erzeugt eine Schaltfläche, die _collapsible umschaltet. Nur verfügbar bei _orientation=\"vertical\".\n */\n/** en\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: boolean;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import url(../style.css);\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\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 { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { translate } from '../../i18n';\nimport { KoliBriButtonCallbacks } from '../../types/button-link';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps, LinkWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Orientation } from '../../types/orientation';\nimport {\n\tAriaCurrent,\n\tPropCollapsible,\n\tPropCompact,\n\tPropHasCompactButton,\n\tvalidateCollapsible,\n\tvalidateCompact,\n\tvalidateHasCompactButton,\n} from '../../types/props';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchNavLinks } from './validation';\n\n/**\n * @deprecated\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst UNIQUE_ARIA_LABEL: string[] = [];\nconst removeAriaLabel = (ariaLabel: string) => {\n\tconst index = UNIQUE_ARIA_LABEL.indexOf(ariaLabel);\n\tif (index >= 0) {\n\t\tUNIQUE_ARIA_LABEL.splice(index, 1);\n\t}\n};\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\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n};\ntype OptionalProps = {\n\tariaCurrentValue: AriaCurrent;\n\torientation: Orientation;\n\t/**\n\t * @deprecated\n\t */\n\tvariant: KoliBriNavVariant;\n} & PropCollapsible &\n\tPropCompact &\n\tPropHasCompactButton;\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaCurrentValue: AriaCurrent;\n\tariaLabel: string;\n\tcollapsible: boolean;\n\t/**\n\t * @deprecated Version 2\n\t */\n\thasCompactButton: boolean;\n\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\torientation: Orientation;\n\t/**\n\t * @deprecated\n\t */\n\tvariant: KoliBriNavVariant;\n} & PropCollapsible &\n\tPropHasCompactButton;\ntype OptionalStates = PropCompact;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\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\t/** Element creation functions */\n\tprivate button(\n\t\tselected: boolean,\n\t\tcompact: boolean,\n\t\tdisabled: boolean,\n\t\ticon: Stringified<KoliBriIconProp> | undefined,\n\t\tlabel: string,\n\t\ton: KoliBriButtonCallbacks<unknown>\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_disabled={disabled}\n\t\t\t\t_icon={icon || '-'}\n\t\t\t\t_iconOnly={compact}\n\t\t\t\t_label={label}\n\t\t\t\t_on={on}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate text(compact: boolean, icon: Stringified<KoliBriIconProp> | undefined, label: string): JSX.Element {\n\t\treturn <kol-span-wc _icon={icon || '-'} _iconOnly={compact} _label={label}></kol-span-wc>;\n\t}\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\tcompact: boolean,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t\tselected: boolean,\n\t\ttextCenter: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tentry: true,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\tselected,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'text-center': textCenter,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.buttonOrLinkOrText(compact, link, selected)}\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link, selected) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonOrLinkOrTextWithChildrenProps, selected: 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_disabled={!collapsible}\n\t\t\t\t_icon={'codicon codicon-' + (selected ? 'remove' : 'add')}\n\t\t\t\t_iconOnly\n\t\t\t\t_label={`Untermenü zu ${link._label} ${selected ? '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\tcompact: boolean,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst selected = !!link._active;\n\t\tconst expanded = hasChildren && !!link._active;\n\t\tconst textCenter = compact;\n\t\treturn (\n\t\t\t<li class={{ expanded, selected, 'has-children': hasChildren }} key={index}>\n\t\t\t\t{this.entry(collapsible, compact, hasChildren, link, expanded, selected, textCenter)}\n\t\t\t\t{hasChildren && selected ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} 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 link(selected: boolean, compact: boolean, href: string, icon: Stringified<KoliBriIconProp> | undefined, label: string): JSX.Element {\n\t\treturn (\n\t\t\t<kol-link-wc\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_href={href}\n\t\t\t\t_icon={icon || '-'}\n\t\t\t\t_iconOnly={compact}\n\t\t\t\t_label={label}\n\t\t\t></kol-link-wc>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\tcompact: boolean;\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.compact, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate buttonOrLinkOrText(compact: boolean, link: ButtonOrLinkOrTextWithChildrenProps, selected: boolean): JSX.Element {\n\t\tif ((link as ButtonWithChildrenProps)._on) {\n\t\t\treturn this.button(\n\t\t\t\tselected,\n\t\t\t\tcompact,\n\t\t\t\t(link as ButtonWithChildrenProps)._disabled === true,\n\t\t\t\tlink._icon,\n\t\t\t\tlink._label,\n\t\t\t\t(link as ButtonWithChildrenProps)._on\n\t\t\t);\n\t\t} else if ((link as LinkWithChildrenProps)._href) {\n\t\t\treturn this.link(selected, compact, (link as LinkWithChildrenProps)._href, link._icon, link._label);\n\t\t} else {\n\t\t\treturn this.text(compact, link._icon, link._label);\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 compact = this.state._compact === 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._ariaLabel} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} 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=\"mt-2 w-full text-center\">\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={compact}\n\t\t\t\t\t\t\t\t_icon={compact ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate(compact ? '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_compact: this.state._compact === 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 * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrent = false;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, ob Knoten in der Navigation zusammengeklappt werden können. Ist standardmäßig aktiv.\n\t */\n\t@Prop({ reflect: true }) public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _compact?: boolean = false;\n\n\t/**\n\t * 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({ reflect: true }) public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Gibt die Ausrichtung der Navigation an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie an.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Stellt verschiedene Varianten der Navigation zur Verfügung.\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_ariaLabel: '…', // '⚠'\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\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?: AriaCurrent): 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('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)) {\n\t\t\t\t\t\tdevHint(`[KolNav] Das Aria-Label \"${this.state._ariaLabel}\" wurde für die Rolle Navigation mehrfach verwendet!`);\n\t\t\t\t\t}\n\t\t\t\t\tUNIQUE_ARIA_LABEL.push(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t\tbeforePatch: () => {\n\t\t\t\t\tremoveAriaLabel(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: boolean): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tvalidateCompact(this, 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('_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.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateCompact(this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\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\tremoveAriaLabel(this.state._ariaLabel);\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateCompact","validateHasCompactButton","defaultStyleCss","UNIQUE_ARIA_LABEL","removeAriaLabel","ariaLabel","index","indexOf","splice","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","li","collapsible","compact","_ariaCurrentValue","_ariaLabel","_collapsible","_hasCompactButton","_links","_orientation","_variant","button","selected","disabled","icon","label","on","_ariaExpanded","_disabled","_icon","_iconOnly","_label","_on","text","entry","hasChildren","expanded","buttonOrLinkOrText","expandButton","key","href","_href","render","hasCompactButton","devWarning","_compact","Host","id","_ariaControls","translate","_tooltipAlign","validateAriaCurrentValue","watchValidator","Set","validateAriaLabel","watchString","hooks","afterPatch","includes","devHint","push","beforePatch","required","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","validateOrientation","defaultValue","validateVariant","componentWillLoad","disconnectedCallback"],"sources":["./src/types/props/collapsible.ts","./src/types/props/compact.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';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Wenn auf false gesetzt können Knoten in der Navigation nicht zugeklappt werden.\n */\n/** en\n * If set to false navigation nodes cannot be collapsed.\n */\nexport type PropCollapsible = {\n\tcollapsible: boolean;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht die Navigation kompakt.\n */\n/** en\n * Makes the navigation compact.\n */\nexport type PropCompact = {\n\tcompact: boolean;\n};\n\n/* validator */\nexport const validateCompact = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_compact', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Erzeugt eine Schaltfläche, die _collapsible umschaltet. Nur verfügbar bei _orientation=\"vertical\".\n */\n/** en\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: boolean;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: boolean): 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 { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { translate } from '../../i18n';\nimport { KoliBriButtonCallbacks } from '../../types/button-link';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps, LinkWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Orientation } from '../../types/orientation';\nimport {\n\tAriaCurrent,\n\tPropCollapsible,\n\tPropCompact,\n\tPropHasCompactButton,\n\tvalidateCollapsible,\n\tvalidateCompact,\n\tvalidateHasCompactButton,\n} from '../../types/props';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchNavLinks } from './validation';\n\n/**\n * @deprecated\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst UNIQUE_ARIA_LABEL: string[] = [];\nconst removeAriaLabel = (ariaLabel: string) => {\n\tconst index = UNIQUE_ARIA_LABEL.indexOf(ariaLabel);\n\tif (index >= 0) {\n\t\tUNIQUE_ARIA_LABEL.splice(index, 1);\n\t}\n};\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\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n};\ntype OptionalProps = {\n\tariaCurrentValue: AriaCurrent;\n\torientation: Orientation;\n\t/**\n\t * @deprecated\n\t */\n\tvariant: KoliBriNavVariant;\n} & PropCollapsible &\n\tPropCompact &\n\tPropHasCompactButton;\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaCurrentValue: AriaCurrent;\n\tariaLabel: string;\n\tcollapsible: boolean;\n\t/**\n\t * @deprecated Version 2\n\t */\n\thasCompactButton: boolean;\n\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\torientation: Orientation;\n\t/**\n\t * @deprecated\n\t */\n\tvariant: KoliBriNavVariant;\n} & PropCollapsible &\n\tPropHasCompactButton;\ntype OptionalStates = PropCompact;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\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\t/** Element creation functions */\n\tprivate button(\n\t\tselected: boolean,\n\t\tcompact: boolean,\n\t\tdisabled: boolean,\n\t\ticon: Stringified<KoliBriIconProp> | undefined,\n\t\tlabel: string,\n\t\ton: KoliBriButtonCallbacks<unknown>\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_disabled={disabled}\n\t\t\t\t_icon={icon || '-'}\n\t\t\t\t_iconOnly={compact}\n\t\t\t\t_label={label}\n\t\t\t\t_on={on}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate text(compact: boolean, icon: Stringified<KoliBriIconProp> | undefined, label: string): JSX.Element {\n\t\treturn <kol-span-wc _icon={icon || '-'} _iconOnly={compact} _label={label}></kol-span-wc>;\n\t}\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\tcompact: boolean,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t\tselected: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tentry: true,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\tselected,\n\t\t\t\t\texpanded,\n\t\t\t\t\tcompact,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.buttonOrLinkOrText(compact, link, selected)}\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link, selected) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonOrLinkOrTextWithChildrenProps, selected: 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_disabled={!collapsible}\n\t\t\t\t_icon={'codicon codicon-' + (selected ? 'remove' : 'add')}\n\t\t\t\t_iconOnly\n\t\t\t\t_label={`Untermenü zu ${link._label} ${selected ? '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\tcompact: boolean,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst selected = !!link._active;\n\t\tconst expanded = hasChildren && !!link._active;\n\t\treturn (\n\t\t\t<li class={{ expanded, selected, 'has-children': hasChildren }} key={index}>\n\t\t\t\t{this.entry(collapsible, compact, hasChildren, link, expanded, selected)}\n\t\t\t\t{hasChildren && selected ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} 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 link(selected: boolean, compact: boolean, href: string, icon: Stringified<KoliBriIconProp> | undefined, label: string): JSX.Element {\n\t\treturn (\n\t\t\t<kol-link-wc\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_href={href}\n\t\t\t\t_icon={icon || '-'}\n\t\t\t\t_iconOnly={compact}\n\t\t\t\t_label={label}\n\t\t\t></kol-link-wc>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\tcompact: boolean;\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.compact, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate buttonOrLinkOrText(compact: boolean, link: ButtonOrLinkOrTextWithChildrenProps, selected: boolean): JSX.Element {\n\t\tif ((link as ButtonWithChildrenProps)._on) {\n\t\t\treturn this.button(\n\t\t\t\tselected,\n\t\t\t\tcompact,\n\t\t\t\t(link as ButtonWithChildrenProps)._disabled === true,\n\t\t\t\tlink._icon,\n\t\t\t\tlink._label,\n\t\t\t\t(link as ButtonWithChildrenProps)._on\n\t\t\t);\n\t\t} else if ((link as LinkWithChildrenProps)._href) {\n\t\t\treturn this.link(selected, compact, (link as LinkWithChildrenProps)._href, link._icon, link._label);\n\t\t} else {\n\t\t\treturn this.text(compact, link._icon, link._label);\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 compact = this.state._compact === 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._ariaLabel} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} 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=\"mt-2 w-full 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={compact}\n\t\t\t\t\t\t\t\t_icon={compact ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate(compact ? '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_compact: this.state._compact === 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 * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrent = false;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, ob Knoten in der Navigation zusammengeklappt werden können. Ist standardmäßig aktiv.\n\t */\n\t@Prop({ reflect: true }) public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _compact?: boolean = false;\n\n\t/**\n\t * 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({ reflect: true }) public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Gibt die Ausrichtung der Navigation an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie an.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Stellt verschiedene Varianten der Navigation zur Verfügung.\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_ariaLabel: '…', // '⚠'\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\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?: AriaCurrent): 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('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)) {\n\t\t\t\t\t\tdevHint(`[KolNav] Das Aria-Label \"${this.state._ariaLabel}\" wurde für die Rolle Navigation mehrfach verwendet!`);\n\t\t\t\t\t}\n\t\t\t\t\tUNIQUE_ARIA_LABEL.push(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t\tbeforePatch: () => {\n\t\t\t\t\tremoveAriaLabel(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: boolean): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tvalidateCompact(this, 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('_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.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateCompact(this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\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\tremoveAriaLabel(this.state._ariaLabel);\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 t,h as i,H as s}from"./index-
|
|
4
|
+
import{r as t,h as i,H as s}from"./index-50adf9a0.js";import{w as e}from"./button-link-abc9999d.js";import{n as o}from"./dev.utils-157f0499.js";import{e as a,w as n,a as l,d as h,p as r}from"./prop.validators-2c20cdf8.js";import{w as p}from"./controller-c92d85d6.js";import{S as c}from"./reuse-3a02afb9.js";import{a as u}from"./i18n-b8589f01.js";import"./a11y.tipps-2e27f8e6.js";import"./index-f4596895.js";import"./index-0962b5a1.js";const d=":host{--a11y-min-size:44px}*{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}.separator:before{content:'•••'}",_={left:"codicon codicon-debug-reverse-continue"},f={left:"codicon codicon-chevron-left"},g={right:"codicon codicon-chevron-right"},b={right:"codicon codicon-debug-continue"},v=class{constructor(a){t(this,a),this.nonce=o(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._total,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 s=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(s)&&s.length>0){const t=s.find((t=>t.value===e));e=void 0===t?s[0].value:t.value,a.set("_pageSize",e)}const i=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_total")?a.get("_total"):this.state._total;this.syncPage(a,i,a.get("_pageSize"),o)},this.syncPage=(t,a,e,s)=>{if(s>0){const i=this.calcCount(s,e);i>0&&(a>i?(t.set("_page",i),this.onChangePage(c,i)):a<1&&(t.set("_page",1),this.onChangePage(c,1)))}},this.beforePageSizeOptions=(t,a)=>{const e=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&e.push({label:u("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",e),this.beforePageSize(e,a)},this._boundaryCount=1,this._customClass=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._total=void 0,this._variant="normal",this.state={_boundaryCount:1,_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_total:0,_variant:"normal"}}render(){var t;let a=!1;const e=this.getCount(),o=Array.from(Array(e).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>e-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("span",{class:"separator",key:`${this.nonce}-el-${t}`})):null));return i(s,null,i("div",null,this.state._hasButtons.first&&i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:_,_iconOnly:!0,_label:u("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:f,_iconOnly:!0,_label:u("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),o,this.state._hasButtons.next&&i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:g,_iconOnly:!0,_label:u("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:b,_iconOnly:!0,_label:u("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",_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]},u("kol-entries-per-site")))}getUnselectedPageButton(t){return i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_ariaLabel:u("kol-page-current",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_ariaLabel:u("kol-page-selected",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){a(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){n(this,"_customClass",t,{defaultValue:void 0})}validateHasButtons(t){l(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=r(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){a(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,s=a.has("_total")?a.get("_total"):this.state._total;this.syncPage(a,t,e,s)}}})}validatePageSize(t){a(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){h(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){a(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){a(this,"_total",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,s=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,s,t)}}})}validateTooltipAlign(t){e(this,"_tooltipAlign",t)}validateVariant(t){p(this,"_variant",t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),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.validateTotal(this._total),this.validateVariant(this._variant),this.validatePage(this._page)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};v.style={default:d};export{v as kol_pagination};
|
|
@@ -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-50adf9a0.js";import{c as o,o as e,f as a,s as n,a as h}from"./floating-ui.dom.esm-706cb72a.js";import{g as r}from"./dev.utils-157f0499.js";import{p}from"./reuse-3a02afb9.js";import{w as l}from"./prop.validators-2c20cdf8.js";import{v as c}from"./show-5a4bfd71.js";import"./a11y.tipps-2e27f8e6.js";import"./index-f4596895.js";const d=(t,e)=>{l(t,"_alignment",e)},f=":host{--a11y-min-size:44px}*{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}kol-popover{height:0;position:absolute}kol-popover .popover{background-color:#fff;min-height:max-content;min-width:max-content;opacity:0;position:absolute}kol-popover .hidden{display:none}kol-popover .show{animation:0.3s ease-in forwards fadeInOpacity}kol-popover .disappear{animation:0.3s ease-in backwards fadeInOpacity}kol-popover .arrow{background-color:inherit;height:var(--font-size);position:absolute;rotate:0.125turn;width:var(--font-size);z-index:-1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}",m=class{constructor(i){t(this,i),this.alignPopover=t=>{setTimeout((()=>{var i;if("test"!==p&&this.triggerElement&&this.popoverElement){const s=this.triggerElement,r=this.popoverElement,l=this.arrowElement,p=[e(null!==(i=null==l?void 0:l.offsetHeight)&&void 0!==i?i:10),a(),n()];l&&p.push(h({element:l})),o(s,r,{placement:this.state._alignment,middleware:p}).then((({x:e,y:o,middlewareData:i,placement:s})=>{this.setPosition(e,o,i,s,t)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=t=>{"Escape"===t.key&&this.hidePopover()},this.hidePopoverByClickOutside=t=>{this.host&&!this.host.contains(t.target)&&this.hidePopover()},this.catchHostAndTriggerElement=t=>{t&&(this.host=t,this.triggerElement=t.previousElementSibling)},this.catchPopoverElement=t=>{this.popoverElement=t},this.catchArrowElement=t=>{this.arrowElement=t},this._alignment="top",this._show=!1,this.state={_alignment:"top",_show:!1,_visible:!1}}setPosition(t,e,o,i,s){if(this.popoverElement){const a={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${e}px`}),this.arrowElement&&o.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${o.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${o.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}a.left!==this.popoverElement.style.left||a.top!==this.popoverElement.style.top?this.alignPopover(s):"function"==typeof s&&s()}}hidePopover(){var t;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody()}addListenersToBody(){var t;const e=r().body;e.addEventListener("keyup",this.hidePopoverByEscape),e.addEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var t;const e=r().body;e.removeEventListener("keyup",this.hidePopoverByEscape),e.removeEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.removeEventListener("scroll",this.showPopover)}render(){return i(s,{ref:this.catchHostAndTriggerElement},i("div",{class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},i("div",{class:`arrow ${this.state._alignment}`,ref:this.catchArrowElement}),i("slot",null)))}validateAlignment(t){d(this,t)}validateShow(t){c(this,t),t&&this.showPopover()}componentWillLoad(){this.validateAlignment(this._alignment),this.validateShow(this._show)}static get watchers(){return{_alignment:["validateAlignment"],_show:["validateShow"]}}};m.style=f;export{m as kol_popover};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,h as t,H as i}from"./index-
|
|
4
|
+
import{r as e,h as t,H as i}from"./index-50adf9a0.js";import{w as s,e as a}from"./prop.validators-2c20cdf8.js";import"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-f4596895.js";const r=":host{--a11y-min-size:44px}*{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}progress{display:block;height:0;overflow:hidden;width:0}.progress{transition:0.5s ease-in-out 0.25s}.cycle .progress{transform-origin:50% 50%;transform:rotate(-90deg)}",n=e=>"cycle"===e._type?t("svg",{class:"cycle",width:"100",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},t("circle",{fill:"none",stroke:"#efefef",cx:"6px",cy:"6px",r:"5px"}),t("text",{"aria-hidden":"true","font-size":"0.1em",x:"50%",y:"50%","text-anchor":"middle",fill:"currentColor"},e._label&&t("tspan",{"text-anchor":"middle",x:"50%",dy:"-0.5em"},e._label),t("tspan",{"text-anchor":"middle",x:"50%",dy:e._label?"1em":"0em"},e._value,e._unit)),t("circle",{class:"progress","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*32)}px 32px`,fill:"none",stroke:"#0075ff",cx:"6px",cy:"6px",r:"5px"})):t("div",{class:"bar"},e._label&&t("div",null,e._label),t("div",{style:{display:"flex",gap:"0.3em"}},t("svg",{width:"100",viewBox:"0 0 24 2",xmlns:"http://www.w3.org/2000/svg"},t("line",{"stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:"23",y2:"1",fill:"#efefef",stroke:"#efefef"}),t("line",{class:"progress","stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:`${1+Math.round(e._value/e._max*22)}`,y2:"1",fill:"#0075ff",stroke:"#0075ff"})),t("text",{"aria-hidden":"true","font-size":"0.1em","text-anchor":"middle","dominant-baseline":"central",fill:"currentColor"},e._value,e._unit))),l=class{constructor(t){e(this,t),this._label=void 0,this._max=void 0,this._type=void 0,this._unit="%",this._value=void 0,this.state={_max:100,_type:"bar",_unit:"%",_value:0,_liveValue:0}}render(){return t(i,null,n(this.state),t("progress",{"aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),t("span",{"aria-live":"polite","aria-relevant":"removals text",hidden:!0},this.state._liveValue," von ",this.state._max," ",this.state._unit))}validateLabel(t){s(this,"_label",t)}validateMax(t){"number"!=typeof t&&(t=100),a(this,"_max",t,{required:!0})}validateType(t){if("cycle"===t);else t="bar";this.state=Object.assign(Object.assign({},this.state),{_type:t})}validateUnit(t){s(this,"_unit",t)}validateValue(t){"number"!=typeof t&&(t=0),a(this,"_value",t,{required:!0})}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateType(this._type),this.validateUnit(this._unit),this.validateValue(this._value),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_label:["validateLabel"],_max:["validateMax"],_type:["validateType"],_unit:["validateUnit"],_value:["validateValue"]}}};l.style={default:r};export{l as kol_progress};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","createProgressSVG","state","_type","h","width","viewBox","xmlns","fill","stroke","cx","cy","r","x","y","_label","dy","_value","_unit","
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","createProgressSVG","state","_type","h","class","width","viewBox","xmlns","fill","stroke","cx","cy","r","x","y","_label","dy","_value","_unit","Math","round","_max","style","display","gap","x1","y1","x2","y2","KolProcess","_liveValue","render","Host","this","max","value","hidden","validateLabel","watchString","validateMax","watchNumber","required","validateType","Object","assign","validateUnit","validateValue","componentWillLoad","interval","setInterval","disconnectedCallback","clearInterval"],"sources":["./src/components/progress/style.css?tag=kol-progress&mode=default&encapsulation=shadow","./src/components/progress/component.tsx"],"sourcesContent":["@import url(../style.css);\nprogress {\n\tdisplay: block;\n\theight: 0;\n\toverflow: hidden;\n\twidth: 0;\n}\n.progress {\n\ttransition: 0.5s ease-in-out 0.25s;\n}\n.cycle .progress {\n\ttransform-origin: 50% 50%;\n\ttransform: rotate(-90deg);\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { KoliBriProgressType } from '../../types/progress';\nimport { PropLabel } from '../../types/props';\nimport { watchNumber, watchString } from '../../utils/prop.validators';\n\ntype RequiredProps = {\n\tmax: number;\n\tvalue: number;\n};\ntype OptionalProps = PropLabel & {\n\ttype: KoliBriProgressType;\n\tunit: string;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps & {\n\tliveValue: number;\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n// https://css-tricks.com/html5-progress-element/\nconst createProgressSVG = (state: States): JSX.Element => {\n\tswitch (state._type) {\n\t\tcase 'cycle':\n\t\t\treturn (\n\t\t\t\t<svg class=\"cycle\" width=\"100\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t<circle fill=\"none\" stroke=\"#efefef\" cx=\"6px\" cy=\"6px\" r=\"5px\"></circle>\n\t\t\t\t\t<text aria-hidden=\"true\" font-size=\"0.1em\" x=\"50%\" y=\"50%\" text-anchor=\"middle\" fill=\"currentColor\">\n\t\t\t\t\t\t{state._label && (\n\t\t\t\t\t\t\t<tspan text-anchor=\"middle\" x=\"50%\" dy=\"-0.5em\">\n\t\t\t\t\t\t\t\t{state._label}\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<tspan text-anchor=\"middle\" x=\"50%\" dy={state._label ? '1em' : '0em'}>\n\t\t\t\t\t\t\t{state._value}\n\t\t\t\t\t\t\t{state._unit}\n\t\t\t\t\t\t</tspan>\n\t\t\t\t\t</text>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tclass=\"progress\"\n\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\tstroke-dasharray={`${Math.round((state._value / state._max) * 32)}px 32px`}\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tstroke=\"#0075ff\"\n\t\t\t\t\t\tcx=\"6px\"\n\t\t\t\t\t\tcy=\"6px\"\n\t\t\t\t\t\tr=\"5px\"\n\t\t\t\t\t></circle>\n\t\t\t\t</svg>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div class=\"bar\">\n\t\t\t\t\t{state._label && <div>{state._label}</div>}\n\t\t\t\t\t<div style={{ display: 'flex', gap: '0.3em' }}>\n\t\t\t\t\t\t<svg width=\"100\" viewBox=\"0 0 24 2\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t<line stroke-width=\"2\" x1=\"1\" stroke-linecap=\"round\" y1=\"1\" x2=\"23\" y2=\"1\" fill=\"#efefef\" stroke=\"#efefef\"></line>\n\t\t\t\t\t\t\t<line\n\t\t\t\t\t\t\t\tclass=\"progress\"\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\tx1=\"1\"\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\ty1=\"1\"\n\t\t\t\t\t\t\t\tx2={`${1 + Math.round((state._value / state._max) * 22)}`}\n\t\t\t\t\t\t\t\ty2=\"1\"\n\t\t\t\t\t\t\t\tfill=\"#0075ff\"\n\t\t\t\t\t\t\t\tstroke=\"#0075ff\"\n\t\t\t\t\t\t\t></line>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t<text aria-hidden=\"true\" font-size=\"0.1em\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"currentColor\">\n\t\t\t\t\t\t\t{state._value}\n\t\t\t\t\t\t\t{state._unit}\n\t\t\t\t\t\t</text>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t}\n};\n\n@Component({\n\ttag: 'kol-progress',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolProcess implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate interval?: NodeJS.Timer;\n\n\t// https://dequeuniversity.com/library/aria/progress-bar-bounded\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{createProgressSVG(this.state)}\n\t\t\t\t<progress aria-busy={this.state._value < this.state._max ? 'true' : 'false'} max={this.state._max} value={this.state._value}></progress>\n\t\t\t\t<span aria-live=\"polite\" aria-relevant=\"removals text\" hidden>\n\t\t\t\t\t{this.state._liveValue} von {this.state._max} {this.state._unit}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Setzt die Bezeichnung der Fortschrittsanzeige.\n\t */\n\t@Prop() public _label?: string;\n\n\t/**\n\t * Gibt an, bei welchem Wert die Fortschrittsanzeige abgeschlossen ist.\n\t */\n\t@Prop() public _max!: number;\n\n\t/**\n\t * Gibt an, ob der Prozess als Balken oder Kreis dargestellt wird.\n\t */\n\t@Prop() public _type?: KoliBriProgressType;\n\n\t/**\n\t * Setzt die Einheit der Fortschrittswerte. (wird nicht angezeigt)\n\t */\n\t@Prop() public _unit?: string = '%';\n\n\t/**\n\t * Gibt an, wie weit die Anzeige fortgeschritten ist.\n\t */\n\t@Prop() public _value!: number;\n\n\t@State() public state: States = {\n\t\t_max: 100,\n\t\t_type: 'bar',\n\t\t_unit: '%',\n\t\t_value: 0,\n\t\t_liveValue: 0,\n\t};\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\twatchString(this, '_label', value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: number): void {\n\t\tif (typeof value !== 'number') {\n\t\t\tvalue = 100;\n\t\t}\n\t\twatchNumber(this, '_max', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: KoliBriProgressType): void {\n\t\tswitch (value) {\n\t\t\tcase 'cycle':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tvalue = 'bar';\n\t\t}\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_type: value,\n\t\t};\n\t}\n\n\t@Watch('_unit')\n\tpublic validateUnit(value?: string): void {\n\t\twatchString(this, '_unit', value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: number): void {\n\t\tif (typeof value !== 'number') {\n\t\t\tvalue = 0;\n\t\t}\n\t\twatchNumber(this, '_value', value, {\n\t\t\t// max: this._max, TODO as Function\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateType(this._type);\n\t\tthis.validateUnit(this._unit);\n\t\tthis.validateValue(this._value);\n\n\t\tthis.interval = setInterval(() => {\n\t\t\tif (this.state._liveValue !== this.state._value) {\n\t\t\t\tthis.state = {\n\t\t\t\t\t...this.state,\n\t\t\t\t\t_liveValue: this.state._value,\n\t\t\t\t};\n\t\t\t}\n\t\t}, 5000);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tclearInterval(this.interval);\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 t,h as i,H as e}from"./index-
|
|
4
|
+
import{r as t,h as i,H as e}from"./index-50adf9a0.js";import{w as n,a}from"./prop.validators-2c20cdf8.js";import"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-f4596895.js";const o=":host{--a11y-min-size:44px}*{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}cite,figure,q+figcaption{display:inline;margin:0;padding:0}blockquote:before{content:open-quote}blockquote::after{content:close-quote}cite:before{content:'—'}.block cite:before{padding-right:0.5em}.inline cite:before{padding:0.5em}",r=class{constructor(i){t(this,i),this._caption=void 0,this._href=void 0,this._quote=void 0,this._variant="inline",this.state={_href:"…",_quote:"…",_variant:"inline"}}validateCaption(t){n(this,"_caption",t)}validateHref(t){n(this,"_href",t,{required:!0})}validateQuote(t){n(this,"_quote",t,{required:!0})}validateVariant(t){a(this,"_variant",(t=>"block"===t||"inline"===t),new Set(["block","inline"]),t)}componentWillLoad(){this.validateCaption(this._caption),this.validateHref(this._href),this.validateQuote(this._quote),this.validateVariant(this._variant)}render(){const t=""!==this.state._quote;return i(e,null,i("figure",{class:{[this.state._variant]:!0}},"block"===this.state._variant?i("blockquote",{cite:this.state._href},this.state._quote,i("span",{"aria-hidden":t?"true":void 0,hidden:t},i("slot",{name:"expert"}))):i("q",{cite:this.state._href},this.state._quote,i("span",{"aria-hidden":t?"true":void 0,hidden:t},i("slot",{name:"expert"}))),"string"==typeof this.state._caption&&this.state._caption.length>0&&i("figcaption",null,i("cite",null,i("kol-link",{_href:this.state._href,_label:this.state._caption,_target:"_blank"})))))}static get watchers(){return{_caption:["validateCaption"],_href:["validateHref"],_quote:["validateQuote"],_variant:["validateVariant"]}}};r.style={default:o};export{r as kol_quote};
|