@public-ui/components 2.0.15 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1 -1
- package/dist/cjs/access-key-29c8f473.js +4 -0
- package/dist/cjs/access-key-29c8f473.js.map +1 -0
- package/dist/cjs/align-716634b6.js +4 -0
- package/dist/cjs/align-716634b6.js.map +1 -0
- package/dist/cjs/{align-floating-elements-a4f32471.js → align-floating-elements-bc6be189.js} +1 -1
- package/dist/cjs/{align-floating-elements-a4f32471.js.map → align-floating-elements-bc6be189.js.map} +1 -1
- package/dist/cjs/alternative-button-link-role-91c25ec3.js +4 -0
- package/dist/cjs/alternative-button-link-role-91c25ec3.js.map +1 -0
- package/dist/cjs/app-globals-4f5190d8.js +4 -0
- package/dist/cjs/app-globals-4f5190d8.js.map +1 -0
- package/dist/cjs/associated.controller-3ba641a8.js +4 -0
- package/dist/cjs/associated.controller-3ba641a8.js.map +1 -0
- package/dist/cjs/color-ed9292d8.js +4 -0
- package/dist/cjs/color-ed9292d8.js.map +1 -0
- package/dist/cjs/controller-3b2e3d4d.js +4 -0
- package/dist/cjs/controller-3b2e3d4d.js.map +1 -0
- package/dist/cjs/controller-411155c7.js +4 -0
- package/dist/cjs/controller-411155c7.js.map +1 -0
- package/dist/cjs/controller-4d211a58.js +4 -0
- package/dist/cjs/controller-4d211a58.js.map +1 -0
- package/dist/cjs/controller-95705083.js +4 -0
- package/dist/cjs/controller-95705083.js.map +1 -0
- package/dist/cjs/controller-98af2f0b.js +4 -0
- package/dist/cjs/controller-98af2f0b.js.map +1 -0
- package/dist/cjs/controller-icon-dea18467.js +4 -0
- package/dist/cjs/controller-icon-dea18467.js.map +1 -0
- package/dist/cjs/custom-class-8298d456.js +4 -0
- package/dist/cjs/custom-class-8298d456.js.map +1 -0
- package/dist/cjs/dev.utils-3e595d38.js +4 -0
- package/dist/cjs/dev.utils-3e595d38.js.map +1 -0
- package/dist/cjs/dev.utils-b48ac291.js +4 -0
- package/dist/cjs/dev.utils-b48ac291.js.map +1 -0
- package/dist/cjs/devtools-d68258e5.js +4 -0
- package/dist/cjs/devtools-d68258e5.js.map +1 -0
- package/dist/cjs/disabled-67c674b5.js +4 -0
- package/dist/cjs/disabled-67c674b5.js.map +1 -0
- package/dist/cjs/form-field-msg-2e2600d7.js.map +1 -1
- package/dist/cjs/has-closer-ff878289.js +4 -0
- package/dist/cjs/has-closer-ff878289.js.map +1 -0
- package/dist/cjs/hide-label-5d971414.js +4 -0
- package/dist/cjs/hide-label-5d971414.js.map +1 -0
- package/dist/cjs/href-add3090a.js +4 -0
- package/dist/cjs/href-add3090a.js.map +1 -0
- package/dist/cjs/{i18n-db3c5520.js → i18n-4f73c04e.js} +1 -1
- package/dist/cjs/{i18n-db3c5520.js.map → i18n-4f73c04e.js.map} +1 -1
- package/dist/cjs/icons-1c0ab99c.js +4 -0
- package/dist/cjs/icons-1c0ab99c.js.map +1 -0
- package/dist/cjs/image-source-83159d74.js +4 -0
- package/dist/cjs/image-source-83159d74.js.map +1 -0
- package/dist/cjs/index-8d8858f3.js +4 -0
- package/dist/cjs/index-8d8858f3.js.map +1 -0
- package/dist/cjs/{index-443b07fc.js → index-b30289da.js} +1 -1
- package/dist/cjs/{index-443b07fc.js.map → index-b30289da.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +1 -1
- package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/label-23abf417.js +4 -0
- package/dist/cjs/label-23abf417.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/open-a2cab99b.js +4 -0
- package/dist/cjs/open-a2cab99b.js.map +1 -0
- package/dist/cjs/prop.validators-5eb93968.js +4 -0
- package/dist/cjs/prop.validators-5eb93968.js.map +1 -0
- package/dist/cjs/reuse-daa2baf3.js +4 -0
- package/dist/cjs/reuse-daa2baf3.js.map +1 -0
- package/dist/cjs/rows-d2f243a5.js +4 -0
- package/dist/cjs/rows-d2f243a5.js.map +1 -0
- package/dist/cjs/show-8898a23d.js +4 -0
- package/dist/cjs/show-8898a23d.js.map +1 -0
- package/dist/cjs/suggestions-8bd45259.js +4 -0
- package/dist/cjs/suggestions-8bd45259.js.map +1 -0
- package/dist/cjs/tab-index-0e013513.js +4 -0
- package/dist/cjs/tab-index-0e013513.js.map +1 -0
- package/dist/cjs/table-data-foot-5fe6c5bf.js +4 -0
- package/dist/cjs/table-data-foot-5fe6c5bf.js.map +1 -0
- package/dist/cjs/table-render-function-7d9ebadc.js.map +1 -1
- package/dist/cjs/{toaster-7cd54f74.js → toaster-143bd150.js} +1 -1
- package/dist/cjs/{toaster-7cd54f74.js.map → toaster-143bd150.js.map} +1 -1
- package/dist/cjs/{toaster-e899a47f.js → toaster-de2cd2c8.js} +1 -1
- package/dist/cjs/{toaster-e899a47f.js.map → toaster-de2cd2c8.js.map} +1 -1
- package/dist/cjs/tooltip-align-b968ab9c.js +4 -0
- package/dist/cjs/tooltip-align-b968ab9c.js.map +1 -0
- package/dist/cjs/validation-3cdd4d53.js +4 -0
- package/dist/cjs/validation-3cdd4d53.js.map +1 -0
- package/dist/cjs/validation-80c0b59f.js +4 -0
- package/dist/cjs/validation-80c0b59f.js.map +1 -0
- package/dist/components/access-key.js +4 -0
- package/dist/components/access-key.js.map +1 -0
- package/dist/components/align-floating-elements.js +1 -1
- package/dist/components/align-floating-elements.js.map +1 -1
- package/dist/components/align.js +4 -0
- package/dist/components/align.js.map +1 -0
- package/dist/components/alternative-button-link-role.js +4 -0
- package/dist/components/alternative-button-link-role.js.map +1 -0
- package/dist/components/associated.controller.js +1 -1
- package/dist/components/associated.controller.js.map +1 -1
- package/dist/components/color.js +4 -0
- package/dist/components/color.js.map +1 -0
- package/dist/components/controller-icon.js +1 -1
- package/dist/components/controller-icon.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/controller5.js +1 -1
- package/dist/components/controller5.js.map +1 -1
- package/dist/components/custom-class.js +4 -0
- package/dist/components/custom-class.js.map +1 -0
- package/dist/components/dev.utils.js +1 -1
- package/dist/components/dev.utils.js.map +1 -1
- package/dist/components/dev.utils2.js +4 -0
- package/dist/components/dev.utils2.js.map +1 -0
- package/dist/components/devtools.js +1 -1
- package/dist/components/devtools.js.map +1 -1
- package/dist/components/disabled.js +4 -0
- package/dist/components/disabled.js.map +1 -0
- package/dist/components/form-field-msg.js.map +1 -1
- package/dist/components/has-closer.js +4 -0
- package/dist/components/has-closer.js.map +1 -0
- package/dist/components/hide-label.js +4 -0
- package/dist/components/hide-label.js.map +1 -0
- package/dist/components/href.js +4 -0
- package/dist/components/href.js.map +1 -0
- package/dist/components/i18n2.js +1 -1
- package/dist/components/i18n2.js.map +1 -1
- package/dist/components/icons.js +4 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/components/image-source.js +4 -0
- package/dist/components/image-source.js.map +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-alert-wc.js +1 -1
- package/dist/components/kol-alert-wc.js.map +1 -1
- package/dist/components/kol-alert.js +1 -1
- package/dist/components/kol-alert.js.map +1 -1
- package/dist/components/kol-avatar-wc.js +1 -1
- package/dist/components/kol-avatar-wc.js.map +1 -1
- package/dist/components/kol-avatar.js +1 -1
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-badge.js +1 -1
- package/dist/components/kol-badge.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-group-wc.js +1 -1
- package/dist/components/kol-button-group-wc.js.map +1 -1
- package/dist/components/kol-button-group.js +1 -1
- package/dist/components/kol-button-group.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-button-wc.js +1 -1
- package/dist/components/kol-button-wc.js.map +1 -1
- package/dist/components/kol-button.js +1 -1
- package/dist/components/kol-button.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-form.js.map +1 -1
- package/dist/components/kol-heading-wc.js +1 -1
- package/dist/components/kol-heading-wc.js.map +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-icon.js.map +1 -1
- package/dist/components/kol-image.js +1 -1
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-indented-text.js +1 -1
- package/dist/components/kol-indented-text.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +1 -1
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-input.js +1 -1
- package/dist/components/kol-input.js.map +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-link-wc.js +1 -1
- package/dist/components/kol-link-wc.js.map +1 -1
- package/dist/components/kol-link.js +1 -1
- package/dist/components/kol-link.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-logo.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-pagination.js.map +1 -1
- package/dist/components/kol-popover-wc.js +1 -1
- package/dist/components/kol-popover-wc.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-span-wc.js +1 -1
- package/dist/components/kol-span-wc.js.map +1 -1
- package/dist/components/kol-span.js +1 -1
- package/dist/components/kol-span.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-symbol.js +1 -1
- package/dist/components/kol-symbol.js.map +1 -1
- package/dist/components/kol-table-stateful.js +1 -1
- package/dist/components/kol-table-stateful.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +1 -1
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-table-stateless.js +1 -1
- package/dist/components/kol-table-stateless.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.js.map +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +1 -1
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-tooltip-wc.js +1 -1
- package/dist/components/kol-tooltip-wc.js.map +1 -1
- package/dist/components/kol-tree-item-wc.js +1 -1
- package/dist/components/kol-tree-item-wc.js.map +1 -1
- package/dist/components/kol-tree-item.js +1 -1
- package/dist/components/kol-tree-item.js.map +1 -1
- package/dist/components/kol-tree-wc.js +1 -1
- package/dist/components/kol-tree-wc.js.map +1 -1
- package/dist/components/kol-tree.js +1 -1
- package/dist/components/kol-tree.js.map +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/label.js +4 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/open.js +4 -0
- package/dist/components/open.js.map +1 -0
- package/dist/components/prop.validators.js +4 -0
- package/dist/components/prop.validators.js.map +1 -0
- package/dist/components/reuse.js +4 -0
- package/dist/components/reuse.js.map +1 -0
- package/dist/components/rows.js +4 -0
- package/dist/components/rows.js.map +1 -0
- package/dist/components/show.js +4 -0
- package/dist/components/show.js.map +1 -0
- package/dist/components/suggestions.js +4 -0
- package/dist/components/suggestions.js.map +1 -0
- package/dist/components/tab-index.js +4 -0
- package/dist/components/tab-index.js.map +1 -0
- package/dist/components/table-data-foot.js +4 -0
- package/dist/components/table-data-foot.js.map +1 -0
- package/dist/components/table-render-function.js.map +1 -1
- package/dist/components/tooltip-align.js +4 -0
- package/dist/components/tooltip-align.js.map +1 -0
- package/dist/components/validation.js +1 -1
- package/dist/components/validation.js.map +1 -1
- package/dist/components/validation2.js +1 -1
- package/dist/components/validation2.js.map +1 -1
- package/dist/declare.d.ts +22 -0
- package/dist/esm/access-key-04ca8172.js +4 -0
- package/dist/esm/access-key-04ca8172.js.map +1 -0
- package/dist/esm/align-fc528dec.js +4 -0
- package/dist/esm/align-fc528dec.js.map +1 -0
- package/dist/esm/{align-floating-elements-f7d913f4.js → align-floating-elements-0cd5dc51.js} +1 -1
- package/dist/esm/{align-floating-elements-f7d913f4.js.map → align-floating-elements-0cd5dc51.js.map} +1 -1
- package/dist/esm/alternative-button-link-role-97826181.js +4 -0
- package/dist/esm/alternative-button-link-role-97826181.js.map +1 -0
- package/dist/esm/app-globals-d78b8e64.js +4 -0
- package/dist/esm/app-globals-d78b8e64.js.map +1 -0
- package/dist/esm/associated.controller-b0ff2f30.js +4 -0
- package/dist/esm/associated.controller-b0ff2f30.js.map +1 -0
- package/dist/esm/color-5129ba78.js +4 -0
- package/dist/esm/color-5129ba78.js.map +1 -0
- package/dist/esm/controller-04329990.js +4 -0
- package/dist/esm/controller-04329990.js.map +1 -0
- package/dist/esm/controller-3340473e.js +4 -0
- package/dist/esm/controller-3340473e.js.map +1 -0
- package/dist/esm/controller-423fae71.js +4 -0
- package/dist/esm/controller-423fae71.js.map +1 -0
- package/dist/esm/controller-942cc80a.js +4 -0
- package/dist/esm/controller-942cc80a.js.map +1 -0
- package/dist/esm/controller-af9c691f.js +4 -0
- package/dist/esm/controller-af9c691f.js.map +1 -0
- package/dist/esm/controller-icon-b040c27e.js +4 -0
- package/dist/esm/controller-icon-b040c27e.js.map +1 -0
- package/dist/esm/custom-class-f88bc94b.js +4 -0
- package/dist/esm/custom-class-f88bc94b.js.map +1 -0
- package/dist/esm/dev.utils-1ca991a2.js +4 -0
- package/dist/esm/dev.utils-1ca991a2.js.map +1 -0
- package/dist/esm/dev.utils-37559a2c.js +4 -0
- package/dist/esm/dev.utils-37559a2c.js.map +1 -0
- package/dist/esm/devtools-a2ed4171.js +4 -0
- package/dist/esm/devtools-a2ed4171.js.map +1 -0
- package/dist/esm/disabled-fbc49ac0.js +4 -0
- package/dist/esm/disabled-fbc49ac0.js.map +1 -0
- package/dist/esm/form-field-msg-244f6083.js.map +1 -1
- package/dist/esm/has-closer-f9cf9bc4.js +4 -0
- package/dist/esm/has-closer-f9cf9bc4.js.map +1 -0
- package/dist/esm/hide-label-c461d8fe.js +4 -0
- package/dist/esm/hide-label-c461d8fe.js.map +1 -0
- package/dist/esm/href-7d17954a.js +4 -0
- package/dist/esm/href-7d17954a.js.map +1 -0
- package/dist/esm/{i18n-7bf2bd6f.js → i18n-37baa421.js} +1 -1
- package/dist/esm/{i18n-7bf2bd6f.js.map → i18n-37baa421.js.map} +1 -1
- package/dist/esm/icons-d2e01be4.js +4 -0
- package/dist/esm/icons-d2e01be4.js.map +1 -0
- package/dist/esm/image-source-36b5abe9.js +4 -0
- package/dist/esm/image-source-36b5abe9.js.map +1 -0
- package/dist/esm/index-4a3076fc.js +4 -0
- package/dist/esm/index-4a3076fc.js.map +1 -0
- package/dist/{kolibri/index-e9e31210.js → esm/index-a55b574c.js} +1 -1
- package/dist/esm/{index-e9e31210.js.map → index-a55b574c.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +1 -1
- package/dist/esm/kol-alert-wc.entry.js.map +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc.entry.js +1 -1
- package/dist/esm/kol-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading-wc.entry.js +1 -1
- package/dist/esm/kol-heading-wc.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js.map +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-input.entry.js +1 -1
- package/dist/esm/kol-input.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover-wc.entry.js +1 -1
- package/dist/esm/kol-popover-wc.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-span-wc.entry.js +1 -1
- package/dist/esm/kol-span-wc.entry.js.map +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-span.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js.map +1 -1
- package/dist/esm/kol-table-stateful.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +1 -1
- package/dist/esm/kol-table-stateless.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree-item-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree-item.entry.js +1 -1
- package/dist/esm/kol-tree-item.entry.js.map +1 -1
- package/dist/esm/kol-tree-wc.entry.js +1 -1
- package/dist/esm/kol-tree-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/label-e56ffdc6.js +4 -0
- package/dist/esm/label-e56ffdc6.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/open-deacfbd7.js +4 -0
- package/dist/esm/open-deacfbd7.js.map +1 -0
- package/dist/esm/prop.validators-29d576d2.js +4 -0
- package/dist/esm/prop.validators-29d576d2.js.map +1 -0
- package/dist/esm/reuse-b66836de.js +4 -0
- package/dist/esm/reuse-b66836de.js.map +1 -0
- package/dist/esm/rows-005ad248.js +4 -0
- package/dist/esm/rows-005ad248.js.map +1 -0
- package/dist/esm/show-34226103.js +4 -0
- package/dist/esm/show-34226103.js.map +1 -0
- package/dist/esm/suggestions-d97a6ab9.js +4 -0
- package/dist/esm/suggestions-d97a6ab9.js.map +1 -0
- package/dist/esm/tab-index-2cbc1ad1.js +4 -0
- package/dist/esm/tab-index-2cbc1ad1.js.map +1 -0
- package/dist/esm/table-data-foot-ed56b062.js +4 -0
- package/dist/esm/table-data-foot-ed56b062.js.map +1 -0
- package/dist/esm/table-render-function-835a18a0.js.map +1 -1
- package/dist/esm/{toaster-12097d83.js → toaster-18d16ce1.js} +1 -1
- package/dist/esm/{toaster-12097d83.js.map → toaster-18d16ce1.js.map} +1 -1
- package/dist/esm/{toaster-4eb33f18.js → toaster-b6d0fa6b.js} +1 -1
- package/dist/esm/{toaster-4eb33f18.js.map → toaster-b6d0fa6b.js.map} +1 -1
- package/dist/esm/tooltip-align-c13a7aa7.js +4 -0
- package/dist/esm/tooltip-align-c13a7aa7.js.map +1 -0
- package/dist/esm/validation-561836d9.js +4 -0
- package/dist/esm/validation-561836d9.js.map +1 -0
- package/dist/esm/validation-c2d11c8c.js +4 -0
- package/dist/esm/validation-c2d11c8c.js.map +1 -0
- package/dist/kolibri/access-key-04ca8172.js +4 -0
- package/dist/kolibri/access-key-04ca8172.js.map +1 -0
- package/dist/kolibri/align-fc528dec.js +4 -0
- package/dist/kolibri/align-fc528dec.js.map +1 -0
- package/dist/kolibri/{align-floating-elements-f7d913f4.js → align-floating-elements-0cd5dc51.js} +1 -1
- package/dist/kolibri/{align-floating-elements-f7d913f4.js.map → align-floating-elements-0cd5dc51.js.map} +1 -1
- package/dist/kolibri/alternative-button-link-role-97826181.js +4 -0
- package/dist/kolibri/alternative-button-link-role-97826181.js.map +1 -0
- package/dist/kolibri/app-globals-d78b8e64.js +4 -0
- package/dist/kolibri/app-globals-d78b8e64.js.map +1 -0
- package/dist/kolibri/associated.controller-b0ff2f30.js +4 -0
- package/dist/kolibri/associated.controller-b0ff2f30.js.map +1 -0
- package/dist/kolibri/color-5129ba78.js +4 -0
- package/dist/kolibri/color-5129ba78.js.map +1 -0
- package/dist/kolibri/controller-04329990.js +4 -0
- package/dist/{esm/controller-09ce054b.js.map → kolibri/controller-04329990.js.map} +1 -1
- package/dist/kolibri/controller-3340473e.js +4 -0
- package/dist/kolibri/controller-3340473e.js.map +1 -0
- package/dist/kolibri/controller-423fae71.js +4 -0
- package/dist/kolibri/controller-423fae71.js.map +1 -0
- package/dist/kolibri/controller-942cc80a.js +4 -0
- package/dist/kolibri/controller-942cc80a.js.map +1 -0
- package/dist/kolibri/controller-af9c691f.js +4 -0
- package/dist/kolibri/controller-af9c691f.js.map +1 -0
- package/dist/kolibri/controller-icon-b040c27e.js +4 -0
- package/dist/kolibri/controller-icon-b040c27e.js.map +1 -0
- package/dist/kolibri/custom-class-f88bc94b.js +4 -0
- package/dist/kolibri/custom-class-f88bc94b.js.map +1 -0
- package/dist/kolibri/dev.utils-1ca991a2.js +4 -0
- package/dist/kolibri/dev.utils-1ca991a2.js.map +1 -0
- package/dist/kolibri/dev.utils-37559a2c.js +4 -0
- package/dist/kolibri/dev.utils-37559a2c.js.map +1 -0
- package/dist/kolibri/devtools-a2ed4171.js +4 -0
- package/dist/kolibri/devtools-a2ed4171.js.map +1 -0
- package/dist/kolibri/disabled-fbc49ac0.js +4 -0
- package/dist/kolibri/disabled-fbc49ac0.js.map +1 -0
- package/dist/kolibri/form-field-msg-244f6083.js.map +1 -1
- package/dist/kolibri/has-closer-f9cf9bc4.js +4 -0
- package/dist/kolibri/has-closer-f9cf9bc4.js.map +1 -0
- package/dist/kolibri/hide-label-c461d8fe.js +4 -0
- package/dist/kolibri/hide-label-c461d8fe.js.map +1 -0
- package/dist/kolibri/href-7d17954a.js +4 -0
- package/dist/kolibri/href-7d17954a.js.map +1 -0
- package/dist/kolibri/{i18n-7bf2bd6f.js → i18n-37baa421.js} +1 -1
- package/dist/kolibri/{i18n-7bf2bd6f.js.map → i18n-37baa421.js.map} +1 -1
- package/dist/kolibri/icons-d2e01be4.js +4 -0
- package/dist/kolibri/icons-d2e01be4.js.map +1 -0
- package/dist/kolibri/image-source-36b5abe9.js +4 -0
- package/dist/kolibri/image-source-36b5abe9.js.map +1 -0
- package/dist/kolibri/index-4a3076fc.js +4 -0
- package/dist/kolibri/index-4a3076fc.js.map +1 -0
- package/dist/{esm/index-e9e31210.js → kolibri/index-a55b574c.js} +1 -1
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/index.esm.js.map +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading-wc.entry.js +1 -1
- package/dist/kolibri/kol-heading-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/label-e56ffdc6.js +4 -0
- package/dist/kolibri/label-e56ffdc6.js.map +1 -0
- package/dist/kolibri/open-deacfbd7.js +4 -0
- package/dist/kolibri/open-deacfbd7.js.map +1 -0
- package/dist/kolibri/prop.validators-29d576d2.js +4 -0
- package/dist/kolibri/prop.validators-29d576d2.js.map +1 -0
- package/dist/kolibri/reuse-b66836de.js +4 -0
- package/dist/kolibri/reuse-b66836de.js.map +1 -0
- package/dist/kolibri/rows-005ad248.js +4 -0
- package/dist/kolibri/rows-005ad248.js.map +1 -0
- package/dist/kolibri/show-34226103.js +4 -0
- package/dist/kolibri/show-34226103.js.map +1 -0
- package/dist/kolibri/suggestions-d97a6ab9.js +4 -0
- package/dist/kolibri/suggestions-d97a6ab9.js.map +1 -0
- package/dist/kolibri/tab-index-2cbc1ad1.js +4 -0
- package/dist/kolibri/tab-index-2cbc1ad1.js.map +1 -0
- package/dist/kolibri/table-data-foot-ed56b062.js +4 -0
- package/dist/kolibri/table-data-foot-ed56b062.js.map +1 -0
- package/dist/kolibri/table-render-function-835a18a0.js.map +1 -1
- package/dist/kolibri/{toaster-12097d83.js → toaster-18d16ce1.js} +1 -1
- package/dist/kolibri/toaster-18d16ce1.js.map +1 -0
- package/dist/kolibri/{toaster-4eb33f18.js → toaster-b6d0fa6b.js} +1 -1
- package/dist/kolibri/tooltip-align-c13a7aa7.js +4 -0
- package/dist/kolibri/tooltip-align-c13a7aa7.js.map +1 -0
- package/dist/kolibri/validation-561836d9.js +4 -0
- package/dist/kolibri/validation-561836d9.js.map +1 -0
- package/dist/kolibri/validation-c2d11c8c.js +4 -0
- package/dist/kolibri/validation-c2d11c8c.js.map +1 -0
- package/dist/types/components/@deprecated/input/controller-icon.d.ts +1 -1
- package/dist/types/components/@deprecated/input/controller.d.ts +1 -1
- package/dist/types/components/@deprecated/input/types-icon.d.ts +1 -1
- package/dist/types/components/@deprecated/input/types.d.ts +1 -1
- package/dist/types/components/@shared/form-field-msg.d.ts +1 -1
- package/dist/types/components/abbr/component.d.ts +1 -1
- package/dist/types/components/abbr/test/html.mock.d.ts +1 -1
- package/dist/types/components/accordion/component.d.ts +1 -1
- package/dist/types/components/accordion/test/html.mock.d.ts +1 -1
- package/dist/types/components/alert/component.d.ts +1 -1
- package/dist/types/components/alert/shadow.d.ts +1 -1
- package/dist/types/components/alert/test/html.mock.d.ts +1 -1
- package/dist/types/components/avatar/component.d.ts +1 -1
- package/dist/types/components/avatar/shadow.d.ts +1 -1
- package/dist/types/components/avatar/test/html.mock.d.ts +1 -1
- package/dist/types/components/badge/component.d.ts +1 -1
- package/dist/types/components/badge/test/html.mock.d.ts +1 -1
- package/dist/types/components/breadcrumb/component.d.ts +1 -1
- package/dist/types/components/breadcrumb/test/html.mock.d.ts +1 -1
- package/dist/types/components/button/component.d.ts +1 -1
- package/dist/types/components/button/shadow.d.ts +1 -1
- package/dist/types/components/button/test/html.mock.d.ts +1 -1
- package/dist/types/components/button-group/component.d.ts +1 -1
- package/dist/types/components/button-group/shadow.d.ts +1 -1
- package/dist/types/components/button-link/component.d.ts +1 -1
- package/dist/types/components/button-link/test/html.mock.d.ts +1 -1
- package/dist/types/components/card/component.d.ts +1 -1
- package/dist/types/components/card/test/html.mock.d.ts +1 -1
- package/dist/types/components/details/component.d.ts +2 -2
- package/dist/types/components/details/test/html.mock.d.ts +1 -1
- package/dist/types/components/form/component.d.ts +1 -1
- package/dist/types/components/form/test/html.mock.d.ts +1 -1
- package/dist/types/components/heading/component.d.ts +1 -1
- package/dist/types/components/heading/shadow.d.ts +1 -1
- package/dist/types/components/heading/test/html.mock.d.ts +1 -1
- package/dist/types/components/heading/validation.d.ts +1 -1
- package/dist/types/components/icon/component.d.ts +1 -1
- package/dist/types/components/icon/test/html.mock.d.ts +1 -1
- package/dist/types/components/image/shadow.d.ts +1 -1
- package/dist/types/components/image/test/html.mock.d.ts +1 -1
- package/dist/types/components/indented-text/component.d.ts +1 -1
- package/dist/types/components/indented-text/test/html.mock.d.ts +1 -1
- package/dist/types/components/input/component.d.ts +2 -2
- package/dist/types/components/input/controller.d.ts +1 -1
- package/dist/types/components/input/test/html.mock.d.ts +1 -1
- package/dist/types/components/input/types.d.ts +1 -1
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +1 -1
- package/dist/types/components/input-checkbox/component.d.ts +1 -1
- package/dist/types/components/input-checkbox/controller.d.ts +1 -1
- package/dist/types/components/input-checkbox/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-color/component.d.ts +1 -1
- package/dist/types/components/input-color/controller.d.ts +1 -1
- package/dist/types/components/input-color/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-date/component.d.ts +2 -2
- package/dist/types/components/input-date/controller.d.ts +1 -1
- package/dist/types/components/input-date/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-email/component.d.ts +1 -1
- package/dist/types/components/input-email/controller.d.ts +1 -1
- package/dist/types/components/input-email/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-file/component.d.ts +1 -1
- package/dist/types/components/input-file/controller.d.ts +1 -1
- package/dist/types/components/input-file/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-number/component.d.ts +1 -1
- package/dist/types/components/input-number/controller.d.ts +1 -1
- package/dist/types/components/input-number/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-password/component.d.ts +1 -1
- package/dist/types/components/input-password/controller.d.ts +1 -1
- package/dist/types/components/input-password/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-radio/component.d.ts +1 -1
- package/dist/types/components/input-radio/controller.d.ts +1 -1
- package/dist/types/components/input-radio/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-range/component.d.ts +1 -1
- package/dist/types/components/input-range/controller.d.ts +1 -1
- package/dist/types/components/input-range/test/html.mock.d.ts +1 -1
- package/dist/types/components/input-text/component.d.ts +1 -1
- package/dist/types/components/input-text/controller.d.ts +1 -1
- package/dist/types/components/input-text/test/html.mock.d.ts +1 -1
- package/dist/types/components/kolibri/component.d.ts +1 -1
- package/dist/types/components/link/component.d.ts +1 -1
- package/dist/types/components/link/shadow.d.ts +1 -1
- package/dist/types/components/link/test/html.mock.d.ts +1 -1
- package/dist/types/components/link-button/component.d.ts +1 -1
- package/dist/types/components/link-group/component.d.ts +1 -1
- package/dist/types/components/modal/component.d.ts +1 -1
- package/dist/types/components/nav/component.d.ts +1 -1
- package/dist/types/components/nav/validation.d.ts +1 -1
- package/dist/types/components/pagination/component.d.ts +1 -1
- package/dist/types/components/popover/component.d.ts +1 -1
- package/dist/types/components/popover/test/html.mock.d.ts +1 -1
- package/dist/types/components/progress/component.d.ts +1 -1
- package/dist/types/components/quote/shadow.d.ts +1 -1
- package/dist/types/components/quote/test/html.mock.d.ts +1 -1
- package/dist/types/components/select/component.d.ts +1 -1
- package/dist/types/components/select/controller.d.ts +1 -1
- package/dist/types/components/skip-nav/component.d.ts +1 -1
- package/dist/types/components/span/component.d.ts +1 -1
- package/dist/types/components/span/shadow.d.ts +1 -1
- package/dist/types/components/span/test/html.mock.d.ts +1 -1
- package/dist/types/components/spin/component.d.ts +1 -1
- package/dist/types/components/spin/test/html.mock.d.ts +1 -1
- package/dist/types/components/split-button/component.d.ts +1 -1
- package/dist/types/components/symbol/component.d.ts +1 -1
- package/dist/types/components/symbol/test/html.mock.d.ts +1 -1
- package/dist/types/components/table/component.d.ts +1 -1
- package/dist/types/components/table-stateful/component.d.ts +1 -1
- package/dist/types/components/table-stateless/component.d.ts +1 -1
- package/dist/types/components/table-stateless/shadow.d.ts +1 -1
- package/dist/types/components/tabs/component.d.ts +1 -1
- package/dist/types/components/textarea/component.d.ts +1 -1
- package/dist/types/components/textarea/controller.d.ts +1 -1
- package/dist/types/components/toaster/InternalToast.d.ts +1 -1
- package/dist/types/components/toaster/component.d.ts +1 -1
- package/dist/types/components/toaster/toaster.d.ts +1 -1
- package/dist/types/components/tooltip/component.d.ts +1 -1
- package/dist/types/components/tooltip/test/html.mock.d.ts +1 -1
- package/dist/types/components/tree/component.d.ts +1 -1
- package/dist/types/components/tree/shadow.d.ts +1 -1
- package/dist/types/components/tree-item/component.d.ts +1 -1
- package/dist/types/components/tree-item/shadow.d.ts +1 -1
- package/dist/types/components/version/component.d.ts +1 -1
- package/dist/types/components/version/test/html.mock.d.ts +1 -1
- package/dist/types/components.d.ts +2 -2
- package/dist/types/index.d.ts +3 -3
- package/dist/types/schema/components/abbr.d.ts +10 -0
- package/dist/types/schema/components/accordion.d.ts +18 -0
- package/dist/types/schema/components/alert.d.ts +23 -0
- package/dist/types/schema/components/avatar.d.ts +10 -0
- package/dist/types/schema/components/badge.d.ts +23 -0
- package/dist/types/schema/components/breadcrumb.d.ts +17 -0
- package/dist/types/schema/components/button-group.d.ts +9 -0
- package/dist/types/schema/components/button-link.d.ts +8 -0
- package/dist/types/schema/components/button.d.ts +15 -0
- package/dist/types/schema/components/card.d.ts +17 -0
- package/dist/types/schema/components/details.d.ts +16 -0
- package/dist/types/schema/components/form.d.ts +19 -0
- package/dist/types/schema/components/heading.d.ts +17 -0
- package/dist/types/schema/components/icon.d.ts +12 -0
- package/dist/types/schema/components/image.d.ts +21 -0
- package/dist/types/schema/components/indented-text.d.ts +9 -0
- package/dist/types/schema/components/index.d.ts +1 -0
- package/dist/types/schema/components/input-checkbox.d.ts +53 -0
- package/dist/types/schema/components/input-color.d.ts +37 -0
- package/dist/types/schema/components/input-date.d.ts +34 -0
- package/dist/types/schema/components/input-email.d.ts +44 -0
- package/dist/types/schema/components/input-file.d.ts +34 -0
- package/dist/types/schema/components/input-number.d.ts +33 -0
- package/dist/types/schema/components/input-password.d.ts +43 -0
- package/dist/types/schema/components/input-radio.d.ts +31 -0
- package/dist/types/schema/components/input-range.d.ts +39 -0
- package/dist/types/schema/components/input-text.d.ts +46 -0
- package/dist/types/schema/components/input.d.ts +16 -0
- package/dist/types/schema/components/kolibri.d.ts +21 -0
- package/dist/types/schema/components/link-button.d.ts +7 -0
- package/dist/types/schema/components/link-group.d.ts +22 -0
- package/dist/types/schema/components/link.d.ts +14 -0
- package/dist/types/schema/components/modal.d.ts +20 -0
- package/dist/types/schema/components/nav.d.ts +19 -0
- package/dist/types/schema/components/pagination.d.ts +41 -0
- package/dist/types/schema/components/popover.d.ts +12 -0
- package/dist/types/schema/components/progress.d.ts +22 -0
- package/dist/types/schema/components/quote.d.ts +19 -0
- package/dist/types/schema/components/select.d.ts +33 -0
- package/dist/types/schema/components/skip-nav.d.ts +16 -0
- package/dist/types/schema/components/span.d.ts +22 -0
- package/dist/types/schema/components/spin.d.ts +10 -0
- package/dist/types/schema/components/split-button.d.ts +13 -0
- package/dist/types/schema/components/symbol.d.ts +12 -0
- package/dist/types/schema/components/table.d.ts +56 -0
- package/dist/types/schema/components/tableStateless.d.ts +20 -0
- package/dist/types/schema/components/tabs.d.ts +35 -0
- package/dist/types/schema/components/textarea.d.ts +40 -0
- package/dist/types/schema/components/toaster.d.ts +33 -0
- package/dist/types/schema/components/tooltip.d.ts +10 -0
- package/dist/types/schema/components/tree-item.d.ts +12 -0
- package/dist/types/schema/components/tree.d.ts +10 -0
- package/dist/types/schema/components/version.d.ts +10 -0
- package/dist/types/schema/enums/events.d.ts +20 -0
- package/dist/types/schema/enums/index.d.ts +1 -0
- package/dist/types/schema/i18n-keys.d.ts +27 -0
- package/dist/types/schema/index.d.ts +7 -0
- package/dist/types/schema/props/access-key.d.ts +6 -0
- package/dist/types/schema/props/active.d.ts +7 -0
- package/dist/types/schema/props/adjust-height.d.ts +6 -0
- package/dist/types/schema/props/alert.d.ts +6 -0
- package/dist/types/schema/props/align.d.ts +12 -0
- package/dist/types/schema/props/alternative-button-link-role.d.ts +6 -0
- package/dist/types/schema/props/aria-controls.d.ts +7 -0
- package/dist/types/schema/props/aria-current-value.d.ts +8 -0
- package/dist/types/schema/props/aria-expanded.d.ts +7 -0
- package/dist/types/schema/props/aria-selected.d.ts +7 -0
- package/dist/types/schema/props/button-callbacks.d.ts +12 -0
- package/dist/types/schema/props/button-type.d.ts +8 -0
- package/dist/types/schema/props/button-variant.d.ts +8 -0
- package/dist/types/schema/props/checked.d.ts +6 -0
- package/dist/types/schema/props/collapsible.d.ts +6 -0
- package/dist/types/schema/props/color.d.ts +16 -0
- package/dist/types/schema/props/custom-class.d.ts +6 -0
- package/dist/types/schema/props/disabled.d.ts +6 -0
- package/dist/types/schema/props/download.d.ts +6 -0
- package/dist/types/schema/props/error-list.d.ts +9 -0
- package/dist/types/schema/props/has-closer.d.ts +6 -0
- package/dist/types/schema/props/has-compact-button.d.ts +7 -0
- package/dist/types/schema/props/has-counter.d.ts +6 -0
- package/dist/types/schema/props/has-icons-when-expanded.d.ts +6 -0
- package/dist/types/schema/props/heading-variant.d.ts +8 -0
- package/dist/types/schema/props/hide-error.d.ts +7 -0
- package/dist/types/schema/props/hide-label.d.ts +7 -0
- package/dist/types/schema/props/href.d.ts +8 -0
- package/dist/types/schema/props/icons.d.ts +11 -0
- package/dist/types/schema/props/id.d.ts +6 -0
- package/dist/types/schema/props/image-source.d.ts +7 -0
- package/dist/types/schema/props/indeterminate.d.ts +6 -0
- package/dist/types/schema/props/index.d.ts +1 -0
- package/dist/types/schema/props/label.d.ts +17 -0
- package/dist/types/schema/props/link-on-callbacks.d.ts +10 -0
- package/dist/types/schema/props/link-target.d.ts +6 -0
- package/dist/types/schema/props/loading.d.ts +5 -0
- package/dist/types/schema/props/max.d.ts +8 -0
- package/dist/types/schema/props/msg.d.ts +9 -0
- package/dist/types/schema/props/multiple.d.ts +6 -0
- package/dist/types/schema/props/name.d.ts +7 -0
- package/dist/types/schema/props/open.d.ts +7 -0
- package/dist/types/schema/props/options.d.ts +14 -0
- package/dist/types/schema/props/pagination-position.d.ts +8 -0
- package/dist/types/schema/props/read-only.d.ts +6 -0
- package/dist/types/schema/props/required.d.ts +7 -0
- package/dist/types/schema/props/rows.d.ts +6 -0
- package/dist/types/schema/props/show.d.ts +7 -0
- package/dist/types/schema/props/suggestions.d.ts +8 -0
- package/dist/types/schema/props/sync-value-by-selector.d.ts +4 -0
- package/dist/types/schema/props/table-callbacks.d.ts +15 -0
- package/dist/types/schema/props/table-data-foot.d.ts +8 -0
- package/dist/types/schema/props/table-data.d.ts +8 -0
- package/dist/types/schema/props/table-header-cells.d.ts +11 -0
- package/dist/types/schema/props/tooltip-align.d.ts +7 -0
- package/dist/types/schema/props/touched.d.ts +6 -0
- package/dist/types/schema/props/variant/spin.d.ts +8 -0
- package/dist/types/schema/tag-names.d.ts +54 -0
- package/dist/types/schema/types/button-link-text.d.ts +23 -0
- package/dist/types/schema/types/callbacks.d.ts +5 -0
- package/dist/types/schema/types/common.d.ts +1 -0
- package/dist/types/schema/types/icons.d.ts +19 -0
- package/dist/types/schema/types/index.d.ts +1 -0
- package/dist/types/schema/types/input/control/number.d.ts +27 -0
- package/dist/types/schema/types/input/control/text.d.ts +2 -0
- package/dist/types/schema/types/input/iso8601.d.ts +14 -0
- package/dist/types/schema/types/input/types.d.ts +32 -0
- package/dist/types/schema/types/modal.d.ts +3 -0
- package/dist/types/schema/types/orientation.d.ts +2 -0
- package/dist/types/schema/types/progress.d.ts +5 -0
- package/dist/types/schema/types/table.d.ts +17 -0
- package/dist/types/schema/types/unknown.d.ts +1 -0
- package/dist/types/schema/types/w3c.d.ts +1 -0
- package/dist/types/schema/utils/a11y.tipps.d.ts +13 -0
- package/dist/types/schema/utils/contrast/color-rgba.d.ts +1 -0
- package/dist/types/schema/utils/contrast/contrast.d.ts +13 -0
- package/dist/types/schema/utils/contrast/index.d.ts +1 -0
- package/dist/types/schema/utils/contrast/rgba-convert.d.ts +1 -0
- package/dist/types/schema/utils/dev.utils.d.ts +29 -0
- package/dist/types/schema/utils/index.d.ts +1 -0
- package/dist/types/schema/utils/prop.validators.d.ts +63 -0
- package/dist/types/schema/utils/reuse.d.ts +7 -0
- package/dist/types/schema/validators/alignment.d.ts +3 -0
- package/dist/types/schema/validators/common.d.ts +4 -0
- package/dist/types/schema/validators/index.d.ts +1 -0
- package/dist/types/schema/validators/options.d.ts +2 -0
- package/dist/types/schema/validators/tab-index.d.ts +2 -0
- package/dist/types/schema/validators/window.d.ts +0 -0
- package/dist/types/utils/align-floating-elements.d.ts +1 -1
- package/doc/input-checkbox.md +1 -1
- package/doc/input-color.md +1 -1
- package/doc/input-date.md +1 -1
- package/doc/input-email.md +1 -1
- package/doc/input-file.md +1 -1
- package/doc/input-number.md +1 -1
- package/doc/input-password.md +1 -1
- package/doc/input-radio.md +1 -1
- package/doc/input-range.md +1 -1
- package/doc/input-text.md +1 -1
- package/doc/select.md +1 -1
- package/doc/tabs.md +1 -1
- package/doc/textarea.md +1 -1
- package/doc/toaster.md +1 -1
- package/package.json +1 -1
- package/dist/cjs/app-globals-08227ea9.js +0 -4
- package/dist/cjs/app-globals-08227ea9.js.map +0 -1
- package/dist/cjs/associated.controller-0defb8ca.js +0 -4
- package/dist/cjs/associated.controller-0defb8ca.js.map +0 -1
- package/dist/cjs/controller-2a04b820.js +0 -4
- package/dist/cjs/controller-2a04b820.js.map +0 -1
- package/dist/cjs/controller-5d8d3f88.js +0 -4
- package/dist/cjs/controller-5d8d3f88.js.map +0 -1
- package/dist/cjs/controller-69d0b6e3.js +0 -4
- package/dist/cjs/controller-69d0b6e3.js.map +0 -1
- package/dist/cjs/controller-cb2152bf.js +0 -4
- package/dist/cjs/controller-cb2152bf.js.map +0 -1
- package/dist/cjs/controller-dc7f3a60.js +0 -4
- package/dist/cjs/controller-dc7f3a60.js.map +0 -1
- package/dist/cjs/controller-icon-e9a7c0dd.js +0 -4
- package/dist/cjs/controller-icon-e9a7c0dd.js.map +0 -1
- package/dist/cjs/dev.utils-1e67d391.js +0 -4
- package/dist/cjs/dev.utils-1e67d391.js.map +0 -1
- package/dist/cjs/devtools-23724a90.js +0 -4
- package/dist/cjs/devtools-23724a90.js.map +0 -1
- package/dist/cjs/index-26a11fc3.js +0 -4
- package/dist/cjs/index-26a11fc3.js.map +0 -1
- package/dist/cjs/validation-89c93141.js +0 -4
- package/dist/cjs/validation-89c93141.js.map +0 -1
- package/dist/cjs/validation-db50789a.js +0 -4
- package/dist/cjs/validation-db50789a.js.map +0 -1
- package/dist/components/index3.js +0 -4
- package/dist/components/index3.js.map +0 -1
- package/dist/esm/app-globals-a87698fc.js +0 -4
- package/dist/esm/app-globals-a87698fc.js.map +0 -1
- package/dist/esm/associated.controller-47f177a8.js +0 -4
- package/dist/esm/associated.controller-47f177a8.js.map +0 -1
- package/dist/esm/controller-06b047bd.js +0 -4
- package/dist/esm/controller-06b047bd.js.map +0 -1
- package/dist/esm/controller-09ce054b.js +0 -4
- package/dist/esm/controller-5207185b.js +0 -4
- package/dist/esm/controller-5207185b.js.map +0 -1
- package/dist/esm/controller-603b7d2b.js +0 -4
- package/dist/esm/controller-603b7d2b.js.map +0 -1
- package/dist/esm/controller-9c8cf4ce.js +0 -4
- package/dist/esm/controller-9c8cf4ce.js.map +0 -1
- package/dist/esm/controller-icon-23f9943c.js +0 -4
- package/dist/esm/controller-icon-23f9943c.js.map +0 -1
- package/dist/esm/dev.utils-ba0ad340.js +0 -4
- package/dist/esm/dev.utils-ba0ad340.js.map +0 -1
- package/dist/esm/devtools-8b54d55c.js +0 -4
- package/dist/esm/devtools-8b54d55c.js.map +0 -1
- package/dist/esm/index-44da6e7f.js +0 -4
- package/dist/esm/index-44da6e7f.js.map +0 -1
- package/dist/esm/validation-61bf6538.js +0 -4
- package/dist/esm/validation-61bf6538.js.map +0 -1
- package/dist/esm/validation-daa38230.js +0 -4
- package/dist/esm/validation-daa38230.js.map +0 -1
- package/dist/kolibri/app-globals-a87698fc.js +0 -4
- package/dist/kolibri/app-globals-a87698fc.js.map +0 -1
- package/dist/kolibri/associated.controller-47f177a8.js +0 -4
- package/dist/kolibri/associated.controller-47f177a8.js.map +0 -1
- package/dist/kolibri/controller-06b047bd.js +0 -4
- package/dist/kolibri/controller-06b047bd.js.map +0 -1
- package/dist/kolibri/controller-09ce054b.js +0 -4
- package/dist/kolibri/controller-09ce054b.js.map +0 -1
- package/dist/kolibri/controller-5207185b.js +0 -4
- package/dist/kolibri/controller-5207185b.js.map +0 -1
- package/dist/kolibri/controller-603b7d2b.js +0 -4
- package/dist/kolibri/controller-603b7d2b.js.map +0 -1
- package/dist/kolibri/controller-9c8cf4ce.js +0 -4
- package/dist/kolibri/controller-9c8cf4ce.js.map +0 -1
- package/dist/kolibri/controller-icon-23f9943c.js +0 -4
- package/dist/kolibri/controller-icon-23f9943c.js.map +0 -1
- package/dist/kolibri/dev.utils-ba0ad340.js +0 -4
- package/dist/kolibri/dev.utils-ba0ad340.js.map +0 -1
- package/dist/kolibri/devtools-8b54d55c.js +0 -4
- package/dist/kolibri/devtools-8b54d55c.js.map +0 -1
- package/dist/kolibri/index-44da6e7f.js +0 -4
- package/dist/kolibri/index-44da6e7f.js.map +0 -1
- package/dist/kolibri/toaster-12097d83.js.map +0 -1
- package/dist/kolibri/validation-61bf6538.js +0 -4
- package/dist/kolibri/validation-61bf6538.js.map +0 -1
- package/dist/kolibri/validation-daa38230.js +0 -4
- package/dist/kolibri/validation-daa38230.js.map +0 -1
- /package/dist/kolibri/{index-e9e31210.js.map → index-a55b574c.js.map} +0 -0
- /package/dist/kolibri/{toaster-4eb33f18.js.map → toaster-b6d0fa6b.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolNavDefaultStyle0","entryIsLink","entryProps","_href","entryIsButton","undefined","_a","_on","onClick","KolNav","this","handleToggleExpansionClick","children","state","_expandedChildren","includes","collapseChildren","expandChildren","linkList","props","h","class","deep","orientation","links","map","link","index","li","collapsible","hideLabel","_collapsible","_hasCompactButton","_hasIconsWhenExpanded","_hideLabel","_label","_links","_orientation","Object","assign","filter","searchChildren","entry","hasChildren","expanded","icons","_icons","KolLinkWcTag","KolButtonWcTag","event","value","_children","expandButton","_ariaExpanded","_disabled","active","_active","Array","isArray","length","Boolean","key","initializeExpandedChildren","handleBranch","branch","childBranch","forEach","render","hasCompactButton","devWarning","Host","nav","id","KolButtonTag","_ariaControls","translate","_tooltipAlign","_variant","validateCollapsible","validateHasCompactButton","validateHasIconsWhenExpanded","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","required","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","watchValidator","Set","defaultValue","componentWillLoad","disconnectedCallback"],"sources":["src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t:host > div {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t:not(.is-compact) nav {\n\t\twidth: 100%;\n\t}\n\n\t.list {\n\t\tdisplay: flex;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.list.vertical {\n\t\tflex-direction: column;\n\t}\n\n\t.entry {\n\t\tdisplay: flex;\n\t}\n\n\t.entry-item {\n\t\tflex-grow: 1;\n\t}\n}\n","import type {\n\tButtonOrLinkOrTextWithChildrenProps,\n\tButtonWithChildrenProps,\n\tCollapsiblePropType,\n\tHideLabelPropType,\n\tLabelPropType,\n\tLinkProps,\n\tLinkWithChildrenProps,\n\tNavAPI,\n\tNavStates,\n\tOrientation,\n\tStringified,\n} from '@public-ui/schema';\nimport {\n\ta11yHintLabelingLandmarks,\n\tdevHint,\n\tdevWarning,\n\tvalidateCollapsible,\n\tvalidateHasCompactButton,\n\tvalidateHasIconsWhenExpanded,\n\tvalidateHideLabel,\n\tvalidateLabel,\n\twatchValidator,\n} from '@public-ui/schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchNavLinks } from './validation';\nimport { KolButtonTag, KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type { StencilUnknown } from '@public-ui/schema';\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\nconst entryIsLink = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is LinkWithChildrenProps => {\n\treturn typeof (entryProps as LinkProps)._href === 'string';\n};\n\nconst entryIsButton = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is ButtonWithChildrenProps => {\n\treturn (entryProps as LinkProps)._href === undefined && typeof (entryProps as ButtonWithChildrenProps)._on?.onClick === 'function';\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements NavAPI {\n\tprivate expandChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: [...this.state._expandedChildren, children],\n\t\t};\n\t}\n\tprivate collapseChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: this.state._expandedChildren.filter((searchChildren) => searchChildren != children),\n\t\t};\n\t}\n\n\tprivate readonly handleToggleExpansionClick = (children?: ButtonOrLinkOrTextWithChildrenProps[]): void => {\n\t\tif (children) {\n\t\t\tif (this.state._expandedChildren.includes(children)) {\n\t\t\t\tthis.collapseChildren(children);\n\t\t\t} else {\n\t\t\t\tthis.expandChildren(children);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tentry: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\tconst icons =\n\t\t\tthis.state._hasIconsWhenExpanded || this.state._hideLabel\n\t\t\t\t? entry._icons || (this.state._hideLabel ? 'codicon codicon-symbol-method' : undefined)\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t{entryIsLink(entry) ? (\n\t\t\t\t\t<KolLinkWcTag class=\"entry-item\" {...entry} _hideLabel={hideLabel} _icons={icons} />\n\t\t\t\t) : (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"entry-item\"\n\t\t\t\t\t\t_label={entry._label}\n\t\t\t\t\t\t_hideLabel={hideLabel}\n\t\t\t\t\t\t_icons={icons}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: (event: MouseEvent, value: Stringified<StencilUnknown>) => {\n\t\t\t\t\t\t\t\tif (entryIsButton(entry) && typeof entry._on.onClick === 'function') {\n\t\t\t\t\t\t\t\t\tentry._on.onClick(event, value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.handleToggleExpansionClick(entry._children);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, entry as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.handleToggleExpansionClick(link._children) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = Boolean(link._children && this.state._expandedChildren.includes(link._children));\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, expanded)}\n\t\t\t\t{expanded && <this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate initializeExpandedChildren() {\n\t\t/**\n\t\t * Recursively process branches and expand branches which are active or have active children somewhere in the tree.\n\t\t * @param {ButtonOrLinkOrTextWithChildrenProps} branch\n\t\t * @return boolean - true indicates that the current branch or a child branch is active\n\t\t */\n\t\tconst handleBranch = (branch: ButtonOrLinkOrTextWithChildrenProps) => {\n\t\t\tif (branch._active) {\n\t\t\t\tif (branch._children) {\n\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} else if (branch._children) {\n\t\t\t\tfor (const childBranch of branch._children) {\n\t\t\t\t\tif (handleBranch(childBranch)) {\n\t\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t\tthis.state._links.forEach(handleBranch);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host class=\"kol-nav\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tnav: true,\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t'is-compact': this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n\t */\n\t@Prop() public _hasIconsWhenExpanded?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: NavStates = {\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hasIconsWhenExpanded: false,\n\t\t_hideLabel: false,\n\t\t_label: '', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_expandedChildren: [],\n\t};\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hasIconsWhenExpanded')\n\tpublic validateHasIconsWhenExpanded(value?: boolean): void {\n\t\tvalidateHasIconsWhenExpanded(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateHasIconsWhenExpanded(this._hasIconsWhenExpanded);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.initializeExpandedChildren();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","validateHasIconsWhenExpanded","defaultStyleCss","KolNavDefaultStyle0","entryIsLink","entryProps","_href","entryIsButton","undefined","_a","_on","onClick","KolNav","this","handleToggleExpansionClick","children","state","_expandedChildren","includes","collapseChildren","expandChildren","linkList","props","h","class","deep","orientation","links","map","link","index","li","collapsible","hideLabel","_collapsible","_hasCompactButton","_hasIconsWhenExpanded","_hideLabel","_label","_links","_orientation","Object","assign","filter","searchChildren","entry","hasChildren","expanded","icons","_icons","KolLinkWcTag","KolButtonWcTag","event","_children","expandButton","_ariaExpanded","_disabled","active","_active","Array","isArray","length","Boolean","key","initializeExpandedChildren","handleBranch","branch","childBranch","forEach","render","hasCompactButton","devWarning","Host","nav","id","KolButtonTag","_ariaControls","translate","_tooltipAlign","_variant","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","required","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","watchValidator","Set","defaultValue","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/collapsible.ts","src/schema/props/has-compact-button.ts","src/schema/props/has-icons-when-expanded.ts","src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\ntype HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasIconsWhenExpandedPropType = boolean;\n\n/**\n * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n */\nexport type PropHasIconsWhenExpanded = {\n\thasIconsWhenExpanded: HasIconsWhenExpandedPropType;\n};\n\n/* validator */\nexport const validateHasIconsWhenExpanded = (component: Generic.Element.Component, value?: HasIconsWhenExpandedPropType): void => {\n\twatchBoolean(component, '_hasIconsWhenExpanded', value);\n};\n","@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t:host > div {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t:not(.is-compact) nav {\n\t\twidth: 100%;\n\t}\n\n\t.list {\n\t\tdisplay: flex;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.list.vertical {\n\t\tflex-direction: column;\n\t}\n\n\t.entry {\n\t\tdisplay: flex;\n\t}\n\n\t.entry-item {\n\t\tflex-grow: 1;\n\t}\n}\n","import type {\n\tButtonOrLinkOrTextWithChildrenProps,\n\tButtonWithChildrenProps,\n\tCollapsiblePropType,\n\tHideLabelPropType,\n\tLabelPropType,\n\tLinkProps,\n\tLinkWithChildrenProps,\n\tNavAPI,\n\tNavStates,\n\tOrientation,\n\tStringified,\n} from '../../schema';\nimport {\n\ta11yHintLabelingLandmarks,\n\tdevHint,\n\tdevWarning,\n\tvalidateCollapsible,\n\tvalidateHasCompactButton,\n\tvalidateHasIconsWhenExpanded,\n\tvalidateHideLabel,\n\tvalidateLabel,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchNavLinks } from './validation';\nimport { KolButtonTag, KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type { StencilUnknown } from '../../schema';\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\nconst entryIsLink = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is LinkWithChildrenProps => {\n\treturn typeof (entryProps as LinkProps)._href === 'string';\n};\n\nconst entryIsButton = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is ButtonWithChildrenProps => {\n\treturn (entryProps as LinkProps)._href === undefined && typeof (entryProps as ButtonWithChildrenProps)._on?.onClick === 'function';\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements NavAPI {\n\tprivate expandChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: [...this.state._expandedChildren, children],\n\t\t};\n\t}\n\tprivate collapseChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: this.state._expandedChildren.filter((searchChildren) => searchChildren != children),\n\t\t};\n\t}\n\n\tprivate readonly handleToggleExpansionClick = (children?: ButtonOrLinkOrTextWithChildrenProps[]): void => {\n\t\tif (children) {\n\t\t\tif (this.state._expandedChildren.includes(children)) {\n\t\t\t\tthis.collapseChildren(children);\n\t\t\t} else {\n\t\t\t\tthis.expandChildren(children);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tentry: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\tconst icons =\n\t\t\tthis.state._hasIconsWhenExpanded || this.state._hideLabel\n\t\t\t\t? entry._icons || (this.state._hideLabel ? 'codicon codicon-symbol-method' : undefined)\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t{entryIsLink(entry) ? (\n\t\t\t\t\t<KolLinkWcTag class=\"entry-item\" {...entry} _hideLabel={hideLabel} _icons={icons} />\n\t\t\t\t) : (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"entry-item\"\n\t\t\t\t\t\t_label={entry._label}\n\t\t\t\t\t\t_hideLabel={hideLabel}\n\t\t\t\t\t\t_icons={icons}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: (event: MouseEvent, value: Stringified<StencilUnknown>) => {\n\t\t\t\t\t\t\t\tif (entryIsButton(entry) && typeof entry._on.onClick === 'function') {\n\t\t\t\t\t\t\t\t\tentry._on.onClick(event, value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.handleToggleExpansionClick(entry._children);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, entry as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.handleToggleExpansionClick(link._children) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = Boolean(link._children && this.state._expandedChildren.includes(link._children));\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, expanded)}\n\t\t\t\t{expanded && <this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate initializeExpandedChildren() {\n\t\t/**\n\t\t * Recursively process branches and expand branches which are active or have active children somewhere in the tree.\n\t\t * @param {ButtonOrLinkOrTextWithChildrenProps} branch\n\t\t * @return boolean - true indicates that the current branch or a child branch is active\n\t\t */\n\t\tconst handleBranch = (branch: ButtonOrLinkOrTextWithChildrenProps) => {\n\t\t\tif (branch._active) {\n\t\t\t\tif (branch._children) {\n\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} else if (branch._children) {\n\t\t\t\tfor (const childBranch of branch._children) {\n\t\t\t\t\tif (handleBranch(childBranch)) {\n\t\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t\tthis.state._links.forEach(handleBranch);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host class=\"kol-nav\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tnav: true,\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t'is-compact': this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n\t */\n\t@Prop() public _hasIconsWhenExpanded?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: NavStates = {\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hasIconsWhenExpanded: false,\n\t\t_hideLabel: false,\n\t\t_label: '', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_expandedChildren: [],\n\t};\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hasIconsWhenExpanded')\n\tpublic validateHasIconsWhenExpanded(value?: boolean): void {\n\t\tvalidateHasIconsWhenExpanded(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateHasIconsWhenExpanded(this._hasIconsWhenExpanded);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.initializeExpandedChildren();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as t,h as e,H as n}from"./index-3fbcceca.js";import{ag as i,a5 as s,ah as a,v as o,w as l,u as h,ai as r,a as d,r as c}from"./index-44da6e7f.js";import{t as p}from"./i18n-7bf2bd6f.js";import{n as u}from"./dev.utils-ba0ad340.js";import{r as f,a as b}from"./unique-nav-labels-62d9802d.js";import{o as g,c as m}from"./component-names-ed22f86e.js";import"./i18n-0c047df5.js";const _="@charset \"UTF-8\";\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n align-items: center;\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .separator:before {\n content: \"•••\";\n }\n}",y=_,v={left:"codicon codicon-debug-reverse-continue"},k={left:"codicon codicon-chevron-left"},w={right:"codicon codicon-chevron-right"},x={right:"codicon codicon-debug-continue"},z=class{constructor(e){t(this,e),this.nonce=u(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const n=setTimeout((()=>{clearTimeout(n),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const n=setTimeout((()=>{clearTimeout(n),"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,e)=>{let n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const i=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===n));n=void 0===t?i[0].value:t.value,e.set("_pageSize",n)}const a=e.has("_page")?e.get("_page"):this.state._page,s=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,a,e.get("_pageSize"),s)},this.syncPage=(t,e,n,a)=>{if(a>0){const s=this.calcCount(a,n);s>0&&(e>s?(t.set("_page",s),this.onChangePage(i,s)):e<1&&(t.set("_page",1),this.onChangePage(i,1)))}},this.beforePageSizeOptions=(t,e)=>{const n=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&n.push({label:p("kol-page-per-site",{placeholders:{entries:`${e}`}}),value:e});e.set("_pageSizeOptions",n),this.beforePageSize(n,e)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this.state={_boundaryCount:1,_label:p("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0}}render(){var t;let i=!1;const a=this.getCount(),s=Array.from(Array(a).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>a-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(i=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===i?(i=!1,e("li",{key:u()},e("span",{class:"separator","aria-hidden":"true"}))):null));return e(n,{class:"kol-pagination"},e("nav",{"aria-label":this.state._label},e("ul",{class:"navigation-list"},this.state._hasButtons.first&&e("li",null,e(m,{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:v,_hideLabel:!0,_label:p("kol-page-first"),_on:this.onGoToFirst,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&e("li",null,e(m,{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:k,_hideLabel:!0,_label:p("kol-page-back"),_on:this.onGoBackward,_tooltipAlign:this.state._tooltipAlign})),s,this.state._hasButtons.next&&e("li",null,e(m,{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:a<=this.state._page,_icons:w,_hideLabel:!0,_label:p("kol-page-next"),_on:this.onGoForward,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&e("li",null,e(m,{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:a<=this.state._page,_icons:x,_hideLabel:!0,_label:p("kol-page-last"),_on:this.onGoToEnd,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&e(g,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:p("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return e("li",{key:u()},e(m,{exportparts:"icon",_customClass:this.state._customClass,_label:"",_on:{onClick:e=>{this.onClick(e,t)}}},e("span",{slot:"expert"},e("span",{class:"visually-hidden"},p("kol-page"))," ",t)))}getSelectedPageButton(t){return e("li",{key:u()},e(m,{class:"selected",_customClass:this.state._customClass,_disabled:!0,_label:""},e("span",{slot:"expert"},e("span",{class:"visually-hidden"},p("kol-page"))," ",t)))}validateBoundaryCount(t){s(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){a(this,t)}validateLabel(t,e,n=!1){n||f(this.state._label),o(this,t),b(this.state._label)}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,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=c(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.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){s(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,i=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,t,n,i)}}})}validatePageSize(t){s(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){s(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){r(this,t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_page")?e.get("_page"):this.state._page,i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,n,i,t)}}})}validateTooltipAlign(t){d(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validatePage(this._page)}disconnectedCallback(){f(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"]}}};z.style={default:y};export{z as kol_pagination};
|
4
|
+
import{r as t,h as e,H as n}from"./index-3fbcceca.js";import{t as i}from"./i18n-37baa421.js";import{n as s}from"./dev.utils-37559a2c.js";import{r as o,a}from"./unique-nav-labels-62d9802d.js";import{o as l,c as r}from"./component-names-ed22f86e.js";import{S as h}from"./reuse-b66836de.js";import{v as d}from"./custom-class-f88bc94b.js";import{k as c,w as p,g as u,p as f}from"./prop.validators-29d576d2.js";import{v as b}from"./label-e56ffdc6.js";import{v as m}from"./tooltip-align-c13a7aa7.js";import"./i18n-0c047df5.js";import"./dev.utils-1ca991a2.js";import"./index-4a3076fc.js";import"./align-fc528dec.js";const g=(t,e,n)=>{c(t,"_max",e,n)},_="@charset \"UTF-8\";\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n align-items: center;\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .separator:before {\n content: \"•••\";\n }\n}",v=_,y={left:"codicon codicon-debug-reverse-continue"},k={left:"codicon codicon-chevron-left"},x={right:"codicon codicon-chevron-right"},w={right:"codicon codicon-debug-continue"},z=class{constructor(e){t(this,e),this.nonce=s(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const n=setTimeout((()=>{clearTimeout(n),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const n=setTimeout((()=>{clearTimeout(n),"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,e)=>{let n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const i=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===n));n=void 0===t?i[0].value:t.value,e.set("_pageSize",n)}const s=e.has("_page")?e.get("_page"):this.state._page,a=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,s,e.get("_pageSize"),a)},this.syncPage=(t,e,n,i)=>{if(i>0){const s=this.calcCount(i,n);s>0&&(e>s?(t.set("_page",s),this.onChangePage(h,s)):e<1&&(t.set("_page",1),this.onChangePage(h,1)))}},this.beforePageSizeOptions=(t,e)=>{const n=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&n.push({label:i("kol-page-per-site",{placeholders:{entries:`${e}`}}),value:e});e.set("_pageSizeOptions",n),this.beforePageSize(n,e)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this.state={_boundaryCount:1,_label:i("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0}}render(){var t;let a=!1;const o=this.getCount(),h=Array.from(Array(o).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>o-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,e("li",{key:s()},e("span",{class:"separator","aria-hidden":"true"}))):null));return e(n,{class:"kol-pagination"},e("nav",{"aria-label":this.state._label},e("ul",{class:"navigation-list"},this.state._hasButtons.first&&e("li",null,e(r,{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:y,_hideLabel:!0,_label:i("kol-page-first"),_on:this.onGoToFirst,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&e("li",null,e(r,{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:k,_hideLabel:!0,_label:i("kol-page-back"),_on:this.onGoBackward,_tooltipAlign:this.state._tooltipAlign})),h,this.state._hasButtons.next&&e("li",null,e(r,{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:x,_hideLabel:!0,_label:i("kol-page-next"),_on:this.onGoForward,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&e("li",null,e(r,{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:w,_hideLabel:!0,_label:i("kol-page-last"),_on:this.onGoToEnd,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&e(l,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:i("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return e("li",{key:s()},e(r,{exportparts:"icon",_customClass:this.state._customClass,_label:"",_on:{onClick:e=>{this.onClick(e,t)}}},e("span",{slot:"expert"},e("span",{class:"visually-hidden"},i("kol-page"))," ",t)))}getSelectedPageButton(t){return e("li",{key:s()},e(r,{class:"selected",_customClass:this.state._customClass,_disabled:!0,_label:""},e("span",{slot:"expert"},e("span",{class:"visually-hidden"},i("kol-page"))," ",t)))}validateBoundaryCount(t){c(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){d(this,t)}validateLabel(t,e,n=!1){n||o(this.state._label),b(this,t),a(this.state._label)}validateHasButtons(t){p(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=f(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.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){c(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,i=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,t,n,i)}}})}validatePageSize(t){c(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){u(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){c(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){g(this,t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_page")?e.get("_page"):this.state._page,i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,n,i,t)}}})}validateTooltipAlign(t){m(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validatePage(this._page)}disconnectedCallback(){o(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"]}}};z.style={default:v};export{z as kol_pagination};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolPaginationDefaultStyle0","leftDoubleArrowIcon","left","leftSingleArrow","rightSingleArrowIcon","right","rightDoubleArrowIcon","KolPagination","this","nonce","calcCount","total","pageSize","Math","ceil","getCount","state","_max","_pageSize","onClick","event","page","_on","onChangePage","timeout","setTimeout","clearTimeout","onChangePageSize","value","parseInt","onGoToFirst","onGoToEnd","onGoBackward","_page","onGoForward","beforePageSize","_nextValue","nextState","has","get","pageSizeOptions","_pageSizeOptions","Array","isArray","length","find","option","undefined","set","syncPage","count","STATE_CHANGE_EVENT","beforePageSizeOptions","nextValue","options","push","label","translate","placeholders","entries","_boundaryCount","_label","_hasButtons","first","last","next","previous","_siblingCount","render","ellipsis","pageButtons","from","keys","map","index","getSelectedPageButton","getUnselectedPageButton","h","key","class","Host","KolButtonWcTag","exportparts","_customClass","_disabled","_icons","_hideLabel","_tooltipAlign","_a","KolSelectTag","_id","_options","onChange","_value","slot","validateBoundaryCount","watchNumber","max","validateCustomClass","validateLabel","_oldValue","initial","removeNavLabel","addNavLabel","validateHasButtons","watchValidator","Set","hooks","beforePatch","parseJson","e","delete","Object","assign","validateOn","validatePage","validatePageSize","validatePageSizeOptions","watchJsonArrayString","validateSiblingCount","validateMax","validateTooltipAlign","componentWillLoad","disconnectedCallback"],"sources":["src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\talign-items: center;\n\t\tdisplay: grid;\n\t\tfont-size: rem(16);\n\t\tgap: rem(16);\n\t\tgrid-template-columns: 1fr auto;\n\t}\n\n\t.navigation-list {\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 0.5em;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.separator:before {\n\t\tcontent: '•••';\n\t}\n}\n","import type {\n\tCustomClassPropType,\n\tKoliBriPaginationButtonCallbacks,\n\tLabelPropType,\n\tMaxPropType,\n\tOption,\n\tPaginationAPI,\n\tPaginationHasButton,\n\tPaginationStates,\n\tStringified,\n\tTooltipAlignPropType,\n} from '@public-ui/schema';\nimport {\n\tparseJson,\n\tSTATE_CHANGE_EVENT,\n\tvalidateCustomClass,\n\tvalidateLabel,\n\tvalidateMax,\n\tvalidateTooltipAlign,\n\twatchJsonArrayString,\n\twatchNumber,\n\twatchValidator,\n} from '@public-ui/schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { nonce } from '../../utils/dev.utils';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { KolButtonWcTag, KolSelectTag } from '../../core/component-names';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements PaginationAPI {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class=\"separator\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_options={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max!: MaxPropType;\n\n\t@State() public state: PaginationStates = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag class=\"selected\" _customClass={this.state._customClass} _disabled={true} _label=\"\">\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\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('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["validateMax","component","value","options","watchNumber","defaultStyleCss","KolPaginationDefaultStyle0","leftDoubleArrowIcon","left","leftSingleArrow","rightSingleArrowIcon","right","rightDoubleArrowIcon","KolPagination","this","nonce","calcCount","total","pageSize","Math","ceil","getCount","state","_max","_pageSize","onClick","event","page","_on","onChangePage","timeout","setTimeout","clearTimeout","onChangePageSize","parseInt","onGoToFirst","onGoToEnd","onGoBackward","_page","onGoForward","beforePageSize","_nextValue","nextState","has","get","pageSizeOptions","_pageSizeOptions","Array","isArray","length","find","option","undefined","set","syncPage","count","STATE_CHANGE_EVENT","beforePageSizeOptions","nextValue","push","label","translate","placeholders","entries","_boundaryCount","_label","_hasButtons","first","last","next","previous","_siblingCount","render","ellipsis","pageButtons","from","keys","map","index","getSelectedPageButton","getUnselectedPageButton","h","key","class","Host","KolButtonWcTag","exportparts","_customClass","_disabled","_icons","_hideLabel","_tooltipAlign","_a","KolSelectTag","_id","_options","onChange","_value","slot","validateBoundaryCount","max","validateCustomClass","validateLabel","_oldValue","initial","removeNavLabel","addNavLabel","validateHasButtons","watchValidator","Set","hooks","beforePatch","parseJson","e","delete","Object","assign","validateOn","validatePage","validatePageSize","validatePageSizeOptions","watchJsonArrayString","validateSiblingCount","validateTooltipAlign","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/max.ts","src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchNumberOptions } from '../utils';\nimport { watchNumber } from '../utils';\n\nimport type { RowsPropType } from './rows';\n\n/* types */\nexport type MaxPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropMax = {\n\tmax: MaxPropType;\n};\n\n/* validator */\nexport const validateMax = (component: Generic.Element.Component, value?: RowsPropType, options?: WatchNumberOptions): void => {\n\twatchNumber(component, '_max', value, options);\n};\n","@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\talign-items: center;\n\t\tdisplay: grid;\n\t\tfont-size: rem(16);\n\t\tgap: rem(16);\n\t\tgrid-template-columns: 1fr auto;\n\t}\n\n\t.navigation-list {\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 0.5em;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.separator:before {\n\t\tcontent: '•••';\n\t}\n}\n","import type {\n\tCustomClassPropType,\n\tKoliBriPaginationButtonCallbacks,\n\tLabelPropType,\n\tMaxPropType,\n\tOption,\n\tPaginationAPI,\n\tPaginationHasButton,\n\tPaginationStates,\n\tStringified,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport {\n\tparseJson,\n\tSTATE_CHANGE_EVENT,\n\tvalidateCustomClass,\n\tvalidateLabel,\n\tvalidateMax,\n\tvalidateTooltipAlign,\n\twatchJsonArrayString,\n\twatchNumber,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { nonce } from '../../utils/dev.utils';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { KolButtonWcTag, KolSelectTag } from '../../core/component-names';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements PaginationAPI {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class=\"separator\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_options={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max!: MaxPropType;\n\n\t@State() public state: PaginationStates = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag class=\"selected\" _customClass={this.state._customClass} _disabled={true} _label=\"\">\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\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('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\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 n,h as e,H as t}from"./index-3fbcceca.js";import{
|
4
|
+
import{r as n,h as e,H as t}from"./index-3fbcceca.js";import{a as i}from"./align-floating-elements-0cd5dc51.js";import{g as o}from"./dev.utils-1ca991a2.js";import{a as s}from"./align-fc528dec.js";import{v as a}from"./show-34226103.js";import"./reuse-b66836de.js";import"./prop.validators-29d576d2.js";import"./index-4a3076fc.js";const l="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-popover {\n height: 0;\n position: absolute;\n }\n .kol-popover .popover {\n background-color: #fff;\n min-height: max-content;\n min-width: max-content;\n opacity: 0;\n position: absolute;\n }\n .kol-popover .show {\n animation: 0.3s ease-in forwards fadeInOpacity;\n }\n .kol-popover .disappear {\n animation: 0.3s ease-in backwards fadeInOpacity;\n }\n .kol-popover .arrow {\n background-color: inherit;\n height: var(--font-size);\n position: absolute;\n rotate: 0.125turn;\n width: var(--font-size);\n z-index: -1;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}",r=l,d=class{constructor(e){n(this,e),this.hidePopoverByEscape=e=>{"Escape"===e.key&&this.hidePopover()},this.hidePopoverByClickOutside=e=>{this.host&&!this.host.contains(e.target)&&this.hidePopover()},this.catchHostAndTriggerElement=e=>{e&&(this.host=e,this.triggerElement=e.previousElementSibling)},this.catchPopoverElement=e=>{this.popoverElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}async showPopover(){this.addListenersToBody(),this.triggerElement&&this.popoverElement&&(await i({align:this._align,referenceElement:this.triggerElement,arrowElement:this.arrowElement,floatingElement:this.popoverElement}),this.state=Object.assign(Object.assign({},this.state),{_visible:!0}))}hidePopover(){var e;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(e=this.triggerElement)||void 0===e||e.focus(),this.removeListenersToBody()}addListenersToBody(){var e;const n=o().body;n.addEventListener("keyup",this.hidePopoverByEscape),n.addEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.addEventListener("scroll",(()=>{this.showPopover()}),{passive:!0})}removeListenersToBody(){var e;const n=o().body;n.removeEventListener("keyup",this.hidePopoverByEscape),n.removeEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.removeEventListener("scroll",(()=>{this.showPopover()}))}render(){return e(t,{key:"300c5938b894d91a742353f79f6a96da6f4fc59f",ref:this.catchHostAndTriggerElement,class:"kol-popover-wc"},e("div",{key:"f1141877e7fe0cf9118e32012dcbaccf443d6067",class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},e("div",{key:"a4d43160414c7a0ed78edd1c7a04b88446c77e63",class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),e("slot",{key:"8a65a9097d526128e6b548133f98eb7578314944"})))}validateAlign(e){s(this,e)}validateShow(e){a(this,e),e&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};d.style=r;export{d as kol_popover_wc};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["styleCss","KolPopoverWcStyle0","KolPopover","this","hidePopoverByEscape","event","key","hidePopover","hidePopoverByClickOutside","host","contains","target","catchHostAndTriggerElement","element","triggerElement","previousElementSibling","catchPopoverElement","popoverElement","catchArrowElement","arrowElement","_align","_show","_visible","showPopover","addListenersToBody","alignFloatingElements","align","referenceElement","floatingElement","state","Object","assign","_a","focus","removeListenersToBody","body","getDocument","addEventListener","document","scrollingElement","passive","removeEventListener","render","h","Host","ref","class","popover","hidden","show","validateAlign","value","validateShow","componentWillLoad"],"sources":["src/components/popover/style.scss?tag=kol-popover-wc","src/components/popover/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t.kol-popover {\n\t\theight: 0;\n\t\tposition: absolute;\n\t}\n\n\t.kol-popover .popover {\n\t\tbackground-color: #fff;\n\t\tmin-height: max-content;\n\t\tmin-width: max-content;\n\t\topacity: 0;\n\t\tposition: absolute;\n\t}\n\n\t.kol-popover .show {\n\t\tanimation: 0.3s ease-in forwards fadeInOpacity;\n\t}\n\n\t.kol-popover .disappear {\n\t\tanimation: 0.3s ease-in backwards fadeInOpacity;\n\t}\n\n\t.kol-popover .arrow {\n\t\tbackground-color: inherit;\n\t\theight: var(--font-size);\n\t\tposition: absolute;\n\t\trotate: 0.125turn;\n\t\twidth: var(--font-size);\n\t\tz-index: -1;\n\t}\n\n\t@keyframes fadeInOpacity {\n\t\t0% {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t100% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n","import type { AlignPropType, PopoverAPI, PopoverStates, ShowPropType } from '
|
1
|
+
{"version":3,"names":["styleCss","KolPopoverWcStyle0","KolPopover","this","hidePopoverByEscape","event","key","hidePopover","hidePopoverByClickOutside","host","contains","target","catchHostAndTriggerElement","element","triggerElement","previousElementSibling","catchPopoverElement","popoverElement","catchArrowElement","arrowElement","_align","_show","_visible","showPopover","addListenersToBody","alignFloatingElements","align","referenceElement","floatingElement","state","Object","assign","_a","focus","removeListenersToBody","body","getDocument","addEventListener","document","scrollingElement","passive","removeEventListener","render","h","Host","ref","class","popover","hidden","show","validateAlign","value","validateShow","componentWillLoad"],"sources":["src/components/popover/style.scss?tag=kol-popover-wc","src/components/popover/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t.kol-popover {\n\t\theight: 0;\n\t\tposition: absolute;\n\t}\n\n\t.kol-popover .popover {\n\t\tbackground-color: #fff;\n\t\tmin-height: max-content;\n\t\tmin-width: max-content;\n\t\topacity: 0;\n\t\tposition: absolute;\n\t}\n\n\t.kol-popover .show {\n\t\tanimation: 0.3s ease-in forwards fadeInOpacity;\n\t}\n\n\t.kol-popover .disappear {\n\t\tanimation: 0.3s ease-in backwards fadeInOpacity;\n\t}\n\n\t.kol-popover .arrow {\n\t\tbackground-color: inherit;\n\t\theight: var(--font-size);\n\t\tposition: absolute;\n\t\trotate: 0.125turn;\n\t\twidth: var(--font-size);\n\t\tz-index: -1;\n\t}\n\n\t@keyframes fadeInOpacity {\n\t\t0% {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t100% {\n\t\t\topacity: 1;\n\t\t}\n\t}\n}\n","import type { AlignPropType, PopoverAPI, PopoverStates, ShowPropType } from '../../schema';\nimport { getDocument, validateAlign, validateShow } from '../../schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { alignFloatingElements } from '../../utils/align-floating-elements';\n\nimport type { JSX } from '@stencil/core';\n/**\n * @slot - Der Inhalt des Popover.\n */\n@Component({\n\ttag: 'kol-popover-wc',\n\tstyleUrl: './style.scss',\n\tshadow: false,\n})\nexport class KolPopover implements PopoverAPI {\n\tprivate arrowElement?: HTMLDivElement;\n\tprivate popoverElement?: HTMLDivElement;\n\tprivate triggerElement?: HTMLElement | null;\n\tprivate host?: HTMLElement;\n\n\tprivate async showPopover(): Promise<void> {\n\t\tthis.addListenersToBody();\n\n\t\tif (this.triggerElement && this.popoverElement) {\n\t\t\tawait alignFloatingElements({\n\t\t\t\talign: this._align,\n\t\t\t\treferenceElement: this.triggerElement,\n\t\t\t\tarrowElement: this.arrowElement,\n\t\t\t\tfloatingElement: this.popoverElement,\n\t\t\t});\n\t\t\tthis.state = { ...this.state, _visible: true };\n\t\t}\n\t}\n\tprivate hidePopover(): void {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_visible: false,\n\t\t};\n\t\tthis._show = false;\n\t\tthis.triggerElement?.focus();\n\t\tthis.removeListenersToBody();\n\t}\n\tprivate hidePopoverByEscape = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') this.hidePopover();\n\t};\n\tprivate hidePopoverByClickOutside = (event: MouseEvent): void => {\n\t\tif (this.host && !this.host.contains(event.target as HTMLElement)) {\n\t\t\tthis.hidePopover();\n\t\t}\n\t};\n\n\t/* EventListener functions */\n\tprivate addListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.addEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.addEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.addEventListener(\n\t\t\t'scroll',\n\t\t\t() => {\n\t\t\t\tvoid this.showPopover();\n\t\t\t},\n\t\t\t{ passive: true },\n\t\t);\n\t}\n\tprivate removeListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.removeEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.removeEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.removeEventListener('scroll', () => {\n\t\t\tvoid this.showPopover();\n\t\t});\n\t}\n\n\t/* catchElement functions */\n\tprivate catchHostAndTriggerElement = (element: HTMLElement | null): void => {\n\t\tif (element) {\n\t\t\tthis.host = element;\n\t\t\tthis.triggerElement = element.previousElementSibling as HTMLElement | null;\n\t\t}\n\t};\n\tprivate catchPopoverElement = (element?: HTMLDivElement): void => {\n\t\tthis.popoverElement = element;\n\t};\n\tprivate catchArrowElement = (element?: HTMLDivElement): void => {\n\t\tthis.arrowElement = element;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host ref={this.catchHostAndTriggerElement} class=\"kol-popover-wc\">\n\t\t\t\t<div class={{ popover: true, hidden: !this.state._show, show: this.state._visible }} ref={this.catchPopoverElement}>\n\t\t\t\t\t<div class={`arrow ${this.state._align}`} ref={this.catchArrowElement} />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the alignment of the tooltip, popover or tabs in relation to the element.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Makes the element show up.\n\t * @TODO: Change type back to `ShowPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _show?: boolean = false;\n\n\t@State() public state: PopoverStates = {\n\t\t_align: 'top',\n\t\t_show: false,\n\t\t_visible: false,\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType): void {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_show')\n\tpublic validateShow(value?: ShowPropType): void {\n\t\tvalidateShow(this, value);\n\t\tif (value) void this.showPopover();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateShow(this._show);\n\t}\n}\n"],"mappings":";;;yUAAA,MAAMA,EAAW,k0JACjB,MAAAC,EAAeD,E,MCcFE,EAAU,M,yBA4BdC,KAAAC,oBAAuBC,IAC9B,GAAIA,EAAMC,MAAQ,SAAUH,KAAKI,aAAa,EAEvCJ,KAAAK,0BAA6BH,IACpC,GAAIF,KAAKM,OAASN,KAAKM,KAAKC,SAASL,EAAMM,QAAwB,CAClER,KAAKI,a,GA2BCJ,KAAAS,2BAA8BC,IACrC,GAAIA,EAAS,CACZV,KAAKM,KAAOI,EACZV,KAAKW,eAAiBD,EAAQE,sB,GAGxBZ,KAAAa,oBAAuBH,IAC9BV,KAAKc,eAAiBJ,CAAO,EAEtBV,KAAAe,kBAAqBL,IAC5BV,KAAKgB,aAAeN,CAAO,E,YAiBY,M,WAMyB,M,WAE1B,CACtCO,OAAQ,MACRC,MAAO,MACPC,SAAU,M,CA5FH,iBAAMC,GACbpB,KAAKqB,qBAEL,GAAIrB,KAAKW,gBAAkBX,KAAKc,eAAgB,OACzCQ,EAAsB,CAC3BC,MAAOvB,KAAKiB,OACZO,iBAAkBxB,KAAKW,eACvBK,aAAchB,KAAKgB,aACnBS,gBAAiBzB,KAAKc,iBAEvBd,KAAK0B,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GAAQ5B,KAAK0B,OAAK,CAAEP,SAAU,M,EAGlC,WAAAf,G,MACPJ,KAAK0B,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACN5B,KAAK0B,OAAK,CACbP,SAAU,QAEXnB,KAAKkB,MAAQ,OACbW,EAAA7B,KAAKW,kBAAc,MAAAkB,SAAA,SAAAA,EAAEC,QACrB9B,KAAK+B,uB,CAYE,kBAAAV,G,MACP,MAAMW,EAAOC,IAAcD,KAC3BA,EAAKE,iBAAiB,QAASlC,KAAKC,qBACpC+B,EAAKE,iBAAiB,QAASlC,KAAKK,4BACpCwB,EAAAM,SAASC,oBAAgB,MAAAP,SAAA,SAAAA,EAAEK,iBAC1B,UACA,UACMlC,KAAKoB,aAAa,GAExB,CAAEiB,QAAS,M,CAGL,qBAAAN,G,MACP,MAAMC,EAAOC,IAAcD,KAC3BA,EAAKM,oBAAoB,QAAStC,KAAKC,qBACvC+B,EAAKM,oBAAoB,QAAStC,KAAKK,4BACvCwB,EAAAM,SAASC,oBAAgB,MAAAP,SAAA,SAAAA,EAAES,oBAAoB,UAAU,UACnDtC,KAAKoB,aAAa,G,CAkBlB,MAAAmB,GACN,OACCC,EAACC,EAAI,CAAAtC,IAAA,2CAACuC,IAAK1C,KAAKS,2BAA4BkC,MAAM,kBACjDH,EAAA,OAAArC,IAAA,2CAAKwC,MAAO,CAAEC,QAAS,KAAMC,QAAS7C,KAAK0B,MAAMR,MAAO4B,KAAM9C,KAAK0B,MAAMP,UAAYuB,IAAK1C,KAAKa,qBAC9F2B,EAAA,OAAArC,IAAA,2CAAKwC,MAAO,SAAS3C,KAAK0B,MAAMT,SAAUyB,IAAK1C,KAAKe,oBACpDyB,EAAA,QAAArC,IAAA,8C,CAwBG,aAAA4C,CAAcC,GACpBD,EAAc/C,KAAMgD,E,CAId,YAAAC,CAAaD,GACnBC,EAAajD,KAAMgD,GACnB,GAAIA,OAAYhD,KAAKoB,a,CAGf,iBAAA8B,GACNlD,KAAK+C,cAAc/C,KAAKiB,QACxBjB,KAAKiD,aAAajD,KAAKkB,M"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as n,h as e,H as t}from"./index-3fbcceca.js";import{v as i
|
4
|
+
import{r as n,h as e,H as t}from"./index-3fbcceca.js";import{v as i}from"./label-e56ffdc6.js";import{k as r,i as a,w as o}from"./prop.validators-29d576d2.js";import"./index-4a3076fc.js";import"./dev.utils-1ca991a2.js";var s;!function(e){e.bar="bar",e.cycle="cycle"}(s||(s={}));const l="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n progress {\n display: block;\n height: 0;\n overflow: hidden;\n width: 0;\n }\n .bar {\n width: 150px;\n }\n .bar .border {\n fill: transparent;\n stroke: black;\n }\n .bar .background {\n fill: lightgray;\n stroke: white;\n }\n .bar .progress {\n fill: #0075ff;\n stroke: transparent;\n transition: 250ms ease-in-out 50ms;\n }\n .cycle .background {\n fill: transparent;\n stroke: lightgray;\n }\n .cycle .border {\n fill: transparent;\n stroke: black;\n }\n .cycle .whitespace {\n fill: transparent;\n stroke: white;\n }\n .cycle .progress {\n fill: transparent;\n stroke: #0075ff;\n transform-origin: 50% 50%;\n transform: rotate(-90deg);\n transition: 250ms ease-in-out 50ms;\n }\n /* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion */\n @media (prefers-reduced-motion) {\n .progress {\n transition-duration: 0s;\n transition-delay: 0s;\n }\n }\n}",d=l,c=Object.keys(s),h=({state:n})=>{const t=n._label?"57%":"50%";return e("svg",{class:"cycle",width:"100",viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},e("circle",{class:"background",cx:"60",cy:"60",r:"54.5",fill:"currentColor",stroke:"currentColor","stroke-width":"8"}),e("circle",{class:"whitespace",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"3"}),e("circle",{class:"border",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),e("circle",{class:"whitespace",cx:"60",cy:"60",r:"51",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),e("circle",{class:"border",cx:"60",cy:"60",r:"50",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),e("circle",{class:"progress",fill:"currentColor",stroke:"currentColor","stroke-linecap":"round","stroke-dasharray":`${Math.round(n._value/n._max*342)}px 342px`,"stroke-width":"6",cx:"60",cy:"60",r:"54.5"}),n._label&&e("text",{"aria-hidden":"true",x:"50%",y:"43%","text-anchor":"middle",fill:"currentColor"},n._label),e("text",{"aria-hidden":"true",x:"50%",y:t,"text-anchor":"middle",fill:"currentColor"},n._value,n._unit))},u=({state:n})=>{const t="var(--kolibri-text-label-padding, 45px)",a=n._value/n._max*100;return e("div",{class:"bar"},n._label&&e("div",null,n._label),e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"12",overflow:"visible"},e("rect",{class:"background",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",style:{width:`calc(100% - 2px - ${t})`}}),e("rect",{class:"border",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"1",style:{width:`calc(100% - 2px - ${t})`}}),e("rect",{class:"progress",x:"2.5",y:"2.5",height:"7",rx:"3.5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",style:{width:`calc(${a}% - 5px - (${t} / 100 * ${a}))`}}),e("text",{"aria-hidden":"true","text-anchor":"end","dominant-baseline":"middle",fill:"currentColor",x:"100%",y:"50%"},n._value,n._unit)))},p=n=>{switch(n._variant){case"cycle":return e(h,{state:n});case"bar":return e(u,{state:n});default:throw new Error(`Progress variant ${n._variant} not implemented.`)}},b=class{constructor(e){n(this,e),this._label=void 0,this._max=void 0,this._unit="%",this._value=void 0,this._variant=void 0,this.state={_max:100,_unit:"%",_value:0,_variant:"bar",_liveValue:0}}render(){return e(t,{key:"1b2fd8a4d1aa5c22458d9bdfc9a4e5dd445fad4b",class:"kol-progress"},p(this.state),e("progress",{key:"7bae4af9ebda7668022a90cc52706b849618c03f","aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),e("span",{key:"c9195793cc06eac202d9e760d7613a7441492e0f","aria-live":"polite","aria-relevant":"removals text",class:"visually-hidden"},this.state._liveValue," von ",this.state._max," ",this.state._unit))}validateLabel(e){i(this,e)}validateMax(e){"number"!=typeof e&&(e=100),r(this,"_max",e,{required:!0})}validateUnit(e){a(this,"_unit",e)}validateValue(e){"number"!=typeof e&&(e=0),r(this,"_value",e,{required:!0})}validateVariant(e){o(this,"_variant",(e=>"string"==typeof e&&c.includes(e)),new Set(c),e)}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateUnit(this._unit),this.validateValue(this._value),this.validateVariant(this._variant),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"],_unit:["validateUnit"],_value:["validateValue"],_variant:["validateVariant"]}}};b.style={default:d};export{b as kol_progress};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolProgressDefaultStyle0","VALID_VARIANTS","Object","keys","KoliBriProgressVariantEnum","CycleSvg","state","fullCircle","textPositionTop","textPositionBottom","valueY","_label","h","class","width","viewBox","xmlns","cx","cy","r","fill","stroke","Math","round","_value","_max","x","y","_unit","BarSvg","textLabelPadding","percentage","height","overflow","rx","style","createProgressSVG","_variant","Error","KolProcess","_liveValue","render","Host","key","this","max","value","validateLabel","validateMax","watchNumber","required","validateUnit","watchString","validateValue","validateVariant","watchValidator","includes","Set","componentWillLoad","interval","setInterval","assign","disconnectedCallback","clearInterval"],"sources":["src/components/progress/style.scss?tag=kol-progress&mode=default&encapsulation=shadow","src/components/progress/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\tprogress {\n\t\tdisplay: block;\n\t\theight: 0;\n\t\toverflow: hidden;\n\t\twidth: 0;\n\t}\n\n\t.bar {\n\t\twidth: 150px;\n\n\t\t.border {\n\t\t\tfill: transparent;\n\t\t\tstroke: black;\n\t\t}\n\n\t\t.background {\n\t\t\tfill: lightgray;\n\t\t\tstroke: white;\n\t\t}\n\n\t\t.progress {\n\t\t\tfill: #0075ff;\n\t\t\tstroke: transparent;\n\t\t\ttransition: 250ms ease-in-out 50ms;\n\t\t}\n\t}\n\n\t.cycle .background {\n\t\tfill: transparent;\n\t\tstroke: lightgray;\n\t}\n\n\t.cycle .border {\n\t\tfill: transparent;\n\t\tstroke: black;\n\t}\n\n\t.cycle .whitespace {\n\t\tfill: transparent;\n\t\tstroke: white;\n\t}\n\n\t.cycle .progress {\n\t\tfill: transparent;\n\t\tstroke: #0075ff;\n\t\ttransform-origin: 50% 50%;\n\t\ttransform: rotate(-90deg);\n\t\ttransition: 250ms ease-in-out 50ms;\n\t}\n\n\t/* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion */\n\t@media (prefers-reduced-motion) {\n\t\t.progress {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t}\n\t}\n}\n","import type { KoliBriProgressVariantType, LabelPropType, ProgressAPI, ProgressStates } from '@public-ui/schema';\nimport { KoliBriProgressVariantEnum, validateLabel, watchNumber, watchString, watchValidator } from '@public-ui/schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport type { JSX } from '@stencil/core';\nconst VALID_VARIANTS = Object.keys(KoliBriProgressVariantEnum);\n\nconst CycleSvg = ({ state }: { state: ProgressStates }) => {\n\tconst fullCircle = 342;\n\tconst textPositionTop = '43%';\n\tconst textPositionBottom = '57%';\n\tconst valueY = state._label ? textPositionBottom : '50%';\n\n\treturn (\n\t\t<svg class=\"cycle\" width=\"100\" viewBox=\"0 0 120 120\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<circle class=\"background\" cx=\"60\" cy=\"60\" r=\"54.5\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"8\"></circle>\n\t\t\t<circle class=\"whitespace\" cx=\"60\" cy=\"60\" r=\"59\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"3\"></circle>\n\t\t\t<circle class=\"border\" cx=\"60\" cy=\"60\" r=\"59\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle class=\"whitespace\" cx=\"60\" cy=\"60\" r=\"51\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle class=\"border\" cx=\"60\" cy=\"60\" r=\"50\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle\n\t\t\t\tclass=\"progress\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\tstroke=\"currentColor\"\n\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\tstroke-dasharray={`${Math.round((state._value / state._max) * fullCircle)}px ${fullCircle}px`}\n\t\t\t\tstroke-width=\"6\"\n\t\t\t\tcx=\"60\"\n\t\t\t\tcy=\"60\"\n\t\t\t\tr=\"54.5\"\n\t\t\t></circle>\n\t\t\t{state._label && (\n\t\t\t\t<text aria-hidden=\"true\" x=\"50%\" y={textPositionTop} text-anchor=\"middle\" fill=\"currentColor\">\n\t\t\t\t\t{state._label}\n\t\t\t\t</text>\n\t\t\t)}\n\t\t\t<text aria-hidden=\"true\" x=\"50%\" y={valueY} text-anchor=\"middle\" fill=\"currentColor\">\n\t\t\t\t{state._value}\n\t\t\t\t{state._unit}\n\t\t\t</text>\n\t\t</svg>\n\t);\n};\n\nconst BarSvg = ({ state }: { state: ProgressStates }) => {\n\tconst textLabelPadding = 'var(--kolibri-text-label-padding, 45px)';\n\tconst percentage = 100 * (state._value / state._max);\n\n\treturn (\n\t\t<div class=\"bar\">\n\t\t\t{state._label && <div>{state._label}</div>}\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"12\" overflow=\"visible\">\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"background\"\n\t\t\t\t\tx=\"1\"\n\t\t\t\t\ty=\"1\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\trx=\"5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"3\"\n\t\t\t\t\tstyle={{ width: `calc(100% - 2px - ${textLabelPadding})` }}\n\t\t\t\t></rect>\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"border\"\n\t\t\t\t\tx=\"1\"\n\t\t\t\t\ty=\"1\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\trx=\"5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"1\"\n\t\t\t\t\tstyle={{ width: `calc(100% - 2px - ${textLabelPadding})` }}\n\t\t\t\t></rect>\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"progress\"\n\t\t\t\t\tx=\"2.5\"\n\t\t\t\t\ty=\"2.5\"\n\t\t\t\t\theight=\"7\"\n\t\t\t\t\trx=\"3.5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"3\"\n\t\t\t\t\tstyle={{ width: `calc(${percentage}% - 5px - (${textLabelPadding} / 100 * ${percentage}))` }}\n\t\t\t\t></rect>\n\t\t\t\t<text aria-hidden=\"true\" text-anchor=\"end\" dominant-baseline=\"middle\" fill=\"currentColor\" x=\"100%\" y=\"50%\">\n\t\t\t\t\t{state._value}\n\t\t\t\t\t{state._unit}\n\t\t\t\t</text>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nconst createProgressSVG = (state: ProgressStates): JSX.Element => {\n\tswitch (state._variant) {\n\t\tcase 'cycle':\n\t\t\treturn <CycleSvg state={state} />;\n\t\tcase 'bar':\n\t\t\treturn <BarSvg state={state} />;\n\t\tdefault:\n\t\t\tthrow new Error(`Progress variant ${state._variant} not implemented.`);\n\t}\n};\n\n@Component({\n\ttag: 'kol-progress',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolProcess implements ProgressAPI {\n\tprivate interval?: number;\n\n\t// https://dequeuniversity.com/library/aria/progress-bar-bounded\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host class=\"kol-progress\">\n\t\t\t\t{createProgressSVG(this.state)}\n\n\t\t\t\t{/* https://css-tricks.com/html5-progress-element/ */}\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\" class=\"visually-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 * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines at which value the progress display is completed.\n\t */\n\t@Prop() public _max!: number;\n\n\t/**\n\t * Defines the unit of the step values (not shown).\n\t */\n\t@Prop() public _unit?: string = '%';\n\n\t/**\n\t * Defines the progress.\n\t */\n\t@Prop() public _value!: number;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: KoliBriProgressVariantType;\n\n\t@State() public state: ProgressStates = {\n\t\t_max: 100,\n\t\t_unit: '%',\n\t\t_value: 0,\n\t\t_variant: 'bar',\n\t\t_liveValue: 0,\n\t};\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, 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('_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\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriProgressVariantType): void {\n\t\twatchValidator(this, '_variant', (value) => typeof value === 'string' && VALID_VARIANTS.includes(value), new Set(VALID_VARIANTS), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateUnit(this._unit);\n\t\tthis.validateValue(this._value);\n\t\tthis.validateVariant(this._variant);\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) as unknown as number;\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tclearInterval(this.interval);\n\t}\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["KoliBriProgressVariantEnum","defaultStyleCss","KolProgressDefaultStyle0","VALID_VARIANTS","Object","keys","CycleSvg","state","fullCircle","textPositionTop","textPositionBottom","valueY","_label","h","class","width","viewBox","xmlns","cx","cy","r","fill","stroke","Math","round","_value","_max","x","y","_unit","BarSvg","textLabelPadding","percentage","height","overflow","rx","style","createProgressSVG","_variant","Error","KolProcess","_liveValue","render","Host","key","this","max","value","validateLabel","validateMax","watchNumber","required","validateUnit","watchString","validateValue","validateVariant","watchValidator","includes","Set","componentWillLoad","interval","setInterval","assign","disconnectedCallback","clearInterval"],"sources":["src/schema/types/progress.ts","src/components/progress/style.scss?tag=kol-progress&mode=default&encapsulation=shadow","src/components/progress/component.tsx"],"sourcesContent":["export enum KoliBriProgressVariantEnum {\n\t'bar' = 'bar',\n\t'cycle' = 'cycle',\n}\n\nexport type KoliBriProgressVariantType = `${KoliBriProgressVariantEnum}`;\n","@import '../@shared/mixins';\n@import '../style';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\tprogress {\n\t\tdisplay: block;\n\t\theight: 0;\n\t\toverflow: hidden;\n\t\twidth: 0;\n\t}\n\n\t.bar {\n\t\twidth: 150px;\n\n\t\t.border {\n\t\t\tfill: transparent;\n\t\t\tstroke: black;\n\t\t}\n\n\t\t.background {\n\t\t\tfill: lightgray;\n\t\t\tstroke: white;\n\t\t}\n\n\t\t.progress {\n\t\t\tfill: #0075ff;\n\t\t\tstroke: transparent;\n\t\t\ttransition: 250ms ease-in-out 50ms;\n\t\t}\n\t}\n\n\t.cycle .background {\n\t\tfill: transparent;\n\t\tstroke: lightgray;\n\t}\n\n\t.cycle .border {\n\t\tfill: transparent;\n\t\tstroke: black;\n\t}\n\n\t.cycle .whitespace {\n\t\tfill: transparent;\n\t\tstroke: white;\n\t}\n\n\t.cycle .progress {\n\t\tfill: transparent;\n\t\tstroke: #0075ff;\n\t\ttransform-origin: 50% 50%;\n\t\ttransform: rotate(-90deg);\n\t\ttransition: 250ms ease-in-out 50ms;\n\t}\n\n\t/* https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion */\n\t@media (prefers-reduced-motion) {\n\t\t.progress {\n\t\t\ttransition-duration: 0s;\n\t\t\ttransition-delay: 0s;\n\t\t}\n\t}\n}\n","import type { KoliBriProgressVariantType, LabelPropType, ProgressAPI, ProgressStates } from '../../schema';\nimport { KoliBriProgressVariantEnum, validateLabel, watchNumber, watchString, watchValidator } from '../../schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport type { JSX } from '@stencil/core';\nconst VALID_VARIANTS = Object.keys(KoliBriProgressVariantEnum);\n\nconst CycleSvg = ({ state }: { state: ProgressStates }) => {\n\tconst fullCircle = 342;\n\tconst textPositionTop = '43%';\n\tconst textPositionBottom = '57%';\n\tconst valueY = state._label ? textPositionBottom : '50%';\n\n\treturn (\n\t\t<svg class=\"cycle\" width=\"100\" viewBox=\"0 0 120 120\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<circle class=\"background\" cx=\"60\" cy=\"60\" r=\"54.5\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"8\"></circle>\n\t\t\t<circle class=\"whitespace\" cx=\"60\" cy=\"60\" r=\"59\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"3\"></circle>\n\t\t\t<circle class=\"border\" cx=\"60\" cy=\"60\" r=\"59\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle class=\"whitespace\" cx=\"60\" cy=\"60\" r=\"51\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle class=\"border\" cx=\"60\" cy=\"60\" r=\"50\" fill=\"currentColor\" stroke=\"currentColor\" stroke-width=\"1\"></circle>\n\t\t\t<circle\n\t\t\t\tclass=\"progress\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\tstroke=\"currentColor\"\n\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\tstroke-dasharray={`${Math.round((state._value / state._max) * fullCircle)}px ${fullCircle}px`}\n\t\t\t\tstroke-width=\"6\"\n\t\t\t\tcx=\"60\"\n\t\t\t\tcy=\"60\"\n\t\t\t\tr=\"54.5\"\n\t\t\t></circle>\n\t\t\t{state._label && (\n\t\t\t\t<text aria-hidden=\"true\" x=\"50%\" y={textPositionTop} text-anchor=\"middle\" fill=\"currentColor\">\n\t\t\t\t\t{state._label}\n\t\t\t\t</text>\n\t\t\t)}\n\t\t\t<text aria-hidden=\"true\" x=\"50%\" y={valueY} text-anchor=\"middle\" fill=\"currentColor\">\n\t\t\t\t{state._value}\n\t\t\t\t{state._unit}\n\t\t\t</text>\n\t\t</svg>\n\t);\n};\n\nconst BarSvg = ({ state }: { state: ProgressStates }) => {\n\tconst textLabelPadding = 'var(--kolibri-text-label-padding, 45px)';\n\tconst percentage = 100 * (state._value / state._max);\n\n\treturn (\n\t\t<div class=\"bar\">\n\t\t\t{state._label && <div>{state._label}</div>}\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100%\" height=\"12\" overflow=\"visible\">\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"background\"\n\t\t\t\t\tx=\"1\"\n\t\t\t\t\ty=\"1\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\trx=\"5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"3\"\n\t\t\t\t\tstyle={{ width: `calc(100% - 2px - ${textLabelPadding})` }}\n\t\t\t\t></rect>\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"border\"\n\t\t\t\t\tx=\"1\"\n\t\t\t\t\ty=\"1\"\n\t\t\t\t\theight=\"10\"\n\t\t\t\t\trx=\"5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"1\"\n\t\t\t\t\tstyle={{ width: `calc(100% - 2px - ${textLabelPadding})` }}\n\t\t\t\t></rect>\n\t\t\t\t<rect\n\t\t\t\t\tclass=\"progress\"\n\t\t\t\t\tx=\"2.5\"\n\t\t\t\t\ty=\"2.5\"\n\t\t\t\t\theight=\"7\"\n\t\t\t\t\trx=\"3.5\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\tstroke-width=\"3\"\n\t\t\t\t\tstyle={{ width: `calc(${percentage}% - 5px - (${textLabelPadding} / 100 * ${percentage}))` }}\n\t\t\t\t></rect>\n\t\t\t\t<text aria-hidden=\"true\" text-anchor=\"end\" dominant-baseline=\"middle\" fill=\"currentColor\" x=\"100%\" y=\"50%\">\n\t\t\t\t\t{state._value}\n\t\t\t\t\t{state._unit}\n\t\t\t\t</text>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nconst createProgressSVG = (state: ProgressStates): JSX.Element => {\n\tswitch (state._variant) {\n\t\tcase 'cycle':\n\t\t\treturn <CycleSvg state={state} />;\n\t\tcase 'bar':\n\t\t\treturn <BarSvg state={state} />;\n\t\tdefault:\n\t\t\tthrow new Error(`Progress variant ${state._variant} not implemented.`);\n\t}\n};\n\n@Component({\n\ttag: 'kol-progress',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolProcess implements ProgressAPI {\n\tprivate interval?: number;\n\n\t// https://dequeuniversity.com/library/aria/progress-bar-bounded\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host class=\"kol-progress\">\n\t\t\t\t{createProgressSVG(this.state)}\n\n\t\t\t\t{/* https://css-tricks.com/html5-progress-element/ */}\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\" class=\"visually-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 * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines at which value the progress display is completed.\n\t */\n\t@Prop() public _max!: number;\n\n\t/**\n\t * Defines the unit of the step values (not shown).\n\t */\n\t@Prop() public _unit?: string = '%';\n\n\t/**\n\t * Defines the progress.\n\t */\n\t@Prop() public _value!: number;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: KoliBriProgressVariantType;\n\n\t@State() public state: ProgressStates = {\n\t\t_max: 100,\n\t\t_unit: '%',\n\t\t_value: 0,\n\t\t_variant: 'bar',\n\t\t_liveValue: 0,\n\t};\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, 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('_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\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriProgressVariantType): void {\n\t\twatchValidator(this, '_variant', (value) => typeof value === 'string' && VALID_VARIANTS.includes(value), new Set(VALID_VARIANTS), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateUnit(this._unit);\n\t\tthis.validateValue(this._value);\n\t\tthis.validateVariant(this._variant);\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) as unknown as number;\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tclearInterval(this.interval);\n\t}\n}\n"],"mappings":"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"}
|