@public-ui/components 1.7.5 → 1.7.6-rc.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 +8 -3
- package/dist/cjs/{a11y.tipps-c5387a76.js → a11y.tipps-511a20c0.js} +1 -1
- package/dist/cjs/{a11y.tipps-c5387a76.js.map → a11y.tipps-511a20c0.js.map} +1 -1
- package/dist/cjs/align-d899d1f6.js +4 -0
- package/dist/cjs/{align-82c5c7e6.js.map → align-d899d1f6.js.map} +1 -1
- package/dist/cjs/{alignment-1a7ee008.js → alignment-a2d567b4.js} +1 -1
- package/dist/cjs/{alignment-1a7ee008.js.map → alignment-a2d567b4.js.map} +1 -1
- package/dist/cjs/{app-globals-fb8b4444.js → app-globals-850ab8db.js} +1 -1
- package/dist/cjs/{app-globals-fb8b4444.js.map → app-globals-850ab8db.js.map} +1 -1
- package/dist/cjs/aria-current-9890abe4.js +4 -0
- package/dist/cjs/{aria-current-a6b40d0a.js.map → aria-current-9890abe4.js.map} +1 -1
- package/dist/cjs/{associated.controller-3a3616f9.js → associated.controller-a84cba63.js} +1 -1
- package/dist/cjs/{associated.controller-3a3616f9.js.map → associated.controller-a84cba63.js.map} +1 -1
- package/dist/cjs/{color-15d2ce6c.js → color-3b69a291.js} +1 -1
- package/dist/cjs/{color-15d2ce6c.js.map → color-3b69a291.js.map} +1 -1
- package/dist/cjs/{controller-462acf6c.js → controller-006e08a4.js} +1 -1
- package/dist/cjs/{controller-462acf6c.js.map → controller-006e08a4.js.map} +1 -1
- package/dist/cjs/{controller-0e5697e2.js → controller-0eed2d0a.js} +1 -1
- package/dist/cjs/{controller-0e5697e2.js.map → controller-0eed2d0a.js.map} +1 -1
- package/dist/cjs/controller-32fffcef.js +4 -0
- package/dist/cjs/{controller-2e53480f.js.map → controller-32fffcef.js.map} +1 -1
- package/dist/cjs/{controller-c1375efb.js → controller-74f7bed5.js} +1 -1
- package/dist/cjs/{controller-c1375efb.js.map → controller-74f7bed5.js.map} +1 -1
- package/dist/cjs/{controller-bc7d30fb.js → controller-dd5e25b1.js} +1 -1
- package/dist/cjs/{controller-bc7d30fb.js.map → controller-dd5e25b1.js.map} +1 -1
- package/dist/cjs/{controller-icon-b12193a9.js → controller-icon-a611545e.js} +1 -1
- package/dist/cjs/{controller-icon-b12193a9.js.map → controller-icon-a611545e.js.map} +1 -1
- package/dist/cjs/{custom-class-3ab4628f.js → custom-class-fbc34b29.js} +1 -1
- package/dist/cjs/{custom-class-3ab4628f.js.map → custom-class-fbc34b29.js.map} +1 -1
- package/dist/cjs/{dev.utils-2073dc09.js → dev.utils-a3719b3e.js} +1 -1
- package/dist/cjs/{dev.utils-2073dc09.js.map → dev.utils-a3719b3e.js.map} +1 -1
- package/dist/cjs/{devtools-b02532ad.js → devtools-907d4ff9.js} +1 -1
- package/dist/cjs/{devtools-b02532ad.js.map → devtools-907d4ff9.js.map} +1 -1
- package/dist/cjs/has-closer-5041fdbb.js +4 -0
- package/dist/cjs/{has-closer-5b5049c7.js.map → has-closer-5041fdbb.js.map} +1 -1
- package/dist/cjs/hide-label-52359bcc.js +4 -0
- package/dist/cjs/{hide-label-661c1bad.js.map → hide-label-52359bcc.js.map} +1 -1
- package/dist/cjs/{i18n-3dd524d2.js → i18n-587b015d.js} +1 -1
- package/dist/cjs/{i18n-3dd524d2.js.map → i18n-587b015d.js.map} +1 -1
- package/dist/cjs/{icons-c987957e.js → icons-976e1e5c.js} +1 -1
- package/dist/cjs/{icons-c987957e.js.map → icons-976e1e5c.js.map} +1 -1
- package/dist/cjs/image-source-31b17eca.js +4 -0
- package/dist/cjs/{image-source-b5a9c8f9.js.map → image-source-31b17eca.js.map} +1 -1
- package/dist/cjs/index-0d2cfb70.js +4 -0
- package/dist/cjs/index-0d2cfb70.js.map +1 -0
- package/dist/cjs/index-758f4a8c.js +4 -0
- package/dist/cjs/index-758f4a8c.js.map +1 -0
- package/dist/cjs/index-a0085191.js +5 -0
- package/dist/cjs/index-a0085191.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.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.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.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-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-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +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.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 +4 -0
- package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -0
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/{label-63f8275b.js → label-ae238590.js} +1 -1
- package/dist/cjs/{label-63f8275b.js.map → label-ae238590.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-8b727a85.js +4 -0
- package/dist/cjs/{open-bde18e22.js.map → open-8b727a85.js.map} +1 -1
- package/dist/cjs/{prop.validators-aa13f60a.js → prop.validators-810536ed.js} +1 -1
- package/dist/cjs/{prop.validators-aa13f60a.js.map → prop.validators-810536ed.js.map} +1 -1
- package/dist/cjs/rows-e362e9d4.js +4 -0
- package/dist/cjs/{rows-fc5f60d9.js.map → rows-e362e9d4.js.map} +1 -1
- package/dist/cjs/show-3f606fbf.js +4 -0
- package/dist/cjs/{show-f026dc23.js.map → show-3f606fbf.js.map} +1 -1
- package/dist/cjs/{suggestions-d04d1b81.js → suggestions-64ac25be.js} +1 -1
- package/dist/cjs/{suggestions-d04d1b81.js.map → suggestions-64ac25be.js.map} +1 -1
- package/dist/cjs/{tab-index-98bcc858.js → tab-index-83d00612.js} +1 -1
- package/dist/cjs/{tab-index-98bcc858.js.map → tab-index-83d00612.js.map} +1 -1
- package/dist/cjs/{tooltip-align-671c6a40.js → tooltip-align-615218fa.js} +1 -1
- package/dist/cjs/{tooltip-align-671c6a40.js.map → tooltip-align-615218fa.js.map} +1 -1
- package/dist/cjs/{validation-e91934ad.js → validation-a5877483.js} +1 -1
- package/dist/cjs/{validation-e91934ad.js.map → validation-a5877483.js.map} +1 -1
- package/dist/cjs/validation-c5d1ebc7.js +4 -0
- package/dist/cjs/{validation-43b5bf59.js.map → validation-c5d1ebc7.js.map} +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/component12.js +1 -1
- package/dist/components/component12.js.map +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component14.js.map +1 -1
- package/dist/components/component15.js +1 -1
- package/dist/components/component15.js.map +1 -1
- package/dist/components/component16.js +1 -1
- package/dist/components/component16.js.map +1 -1
- package/dist/components/component2.js +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/component8.js.map +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.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-avatar.js +1 -1
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-group.js +1 -1
- package/dist/components/kol-button-group.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-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-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-logo.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/{kol-popover.d.ts → kol-popover-wc.d.ts} +4 -4
- package/dist/components/kol-popover-wc.js +4 -0
- package/dist/components/kol-popover-wc.js.map +1 -0
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-span.js +1 -1
- package/dist/components/kol-span.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.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-toast.js +1 -1
- package/dist/components/kol-toast.js.map +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow.js +1 -1
- package/dist/components/shadow.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow2.js.map +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/shadow3.js.map +1 -1
- package/dist/esm/{a11y.tipps-54065212.js → a11y.tipps-804709ed.js} +1 -1
- package/dist/esm/{a11y.tipps-54065212.js.map → a11y.tipps-804709ed.js.map} +1 -1
- package/dist/esm/{align-a2401a24.js → align-0e99cc3b.js} +1 -1
- package/dist/esm/{align-a2401a24.js.map → align-0e99cc3b.js.map} +1 -1
- package/dist/esm/{alignment-2171a053.js → alignment-effd7416.js} +1 -1
- package/dist/esm/{alignment-2171a053.js.map → alignment-effd7416.js.map} +1 -1
- package/dist/esm/{app-globals-770cf469.js → app-globals-faf0bae3.js} +1 -1
- package/dist/esm/{app-globals-770cf469.js.map → app-globals-faf0bae3.js.map} +1 -1
- package/dist/esm/{aria-current-87734eb8.js → aria-current-10160ab2.js} +1 -1
- package/dist/esm/{aria-current-87734eb8.js.map → aria-current-10160ab2.js.map} +1 -1
- package/dist/esm/{associated.controller-a1ec4433.js → associated.controller-fdb7b5fd.js} +1 -1
- package/dist/esm/{associated.controller-a1ec4433.js.map → associated.controller-fdb7b5fd.js.map} +1 -1
- package/dist/esm/{color-9cbf6d52.js → color-ad663c35.js} +1 -1
- package/dist/esm/{color-9cbf6d52.js.map → color-ad663c35.js.map} +1 -1
- package/dist/esm/{controller-23b9e0a2.js → controller-1f17a764.js} +1 -1
- package/dist/esm/{controller-23b9e0a2.js.map → controller-1f17a764.js.map} +1 -1
- package/dist/esm/{controller-b84eace4.js → controller-3a7db3af.js} +1 -1
- package/dist/esm/{controller-b84eace4.js.map → controller-3a7db3af.js.map} +1 -1
- package/dist/esm/{controller-b4428245.js → controller-80cfae4b.js} +1 -1
- package/dist/esm/{controller-b4428245.js.map → controller-80cfae4b.js.map} +1 -1
- package/dist/esm/{controller-d80a67d0.js → controller-9bc0e5a3.js} +1 -1
- package/dist/esm/{controller-d80a67d0.js.map → controller-9bc0e5a3.js.map} +1 -1
- package/dist/esm/{controller-8aaf4af5.js → controller-f4895089.js} +1 -1
- package/dist/esm/{controller-8aaf4af5.js.map → controller-f4895089.js.map} +1 -1
- package/dist/esm/{controller-icon-ef27c916.js → controller-icon-d0dbedbe.js} +1 -1
- package/dist/esm/{controller-icon-ef27c916.js.map → controller-icon-d0dbedbe.js.map} +1 -1
- package/dist/esm/{custom-class-833c9c0b.js → custom-class-1ec79846.js} +1 -1
- package/dist/esm/{custom-class-833c9c0b.js.map → custom-class-1ec79846.js.map} +1 -1
- package/dist/esm/{dev.utils-ad367f40.js → dev.utils-89ea0d85.js} +1 -1
- package/dist/esm/{dev.utils-ad367f40.js.map → dev.utils-89ea0d85.js.map} +1 -1
- package/dist/esm/{devtools-73dc1f39.js → devtools-4b5eb4a4.js} +1 -1
- package/dist/esm/{devtools-73dc1f39.js.map → devtools-4b5eb4a4.js.map} +1 -1
- package/dist/esm/{has-closer-3f2a115a.js → has-closer-6e81759e.js} +1 -1
- package/dist/esm/{has-closer-3f2a115a.js.map → has-closer-6e81759e.js.map} +1 -1
- package/dist/esm/{hide-label-310fe1b8.js → hide-label-9229685b.js} +1 -1
- package/dist/esm/{hide-label-310fe1b8.js.map → hide-label-9229685b.js.map} +1 -1
- package/dist/esm/{i18n-ad401ed8.js → i18n-26e5959d.js} +1 -1
- package/dist/esm/{i18n-ad401ed8.js.map → i18n-26e5959d.js.map} +1 -1
- package/dist/esm/{icons-c28cff87.js → icons-336848af.js} +1 -1
- package/dist/esm/{icons-c28cff87.js.map → icons-336848af.js.map} +1 -1
- package/dist/esm/{image-source-3f04add1.js → image-source-80bc78a8.js} +1 -1
- package/dist/esm/{image-source-3f04add1.js.map → image-source-80bc78a8.js.map} +1 -1
- package/dist/esm/index-0bc40dc4.js +5 -0
- package/dist/esm/index-0bc40dc4.js.map +1 -0
- package/dist/esm/index-d56bfd0f.js +4 -0
- package/dist/esm/index-d56bfd0f.js.map +1 -0
- package/dist/esm/index-ec1baafd.js +4 -0
- package/dist/esm/index-ec1baafd.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc_3.entry.js +1 -1
- package/dist/esm/kol-alert.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.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.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js.map +1 -1
- package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
- package/dist/esm/kol-icon-icofont.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js.map +1 -1
- package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-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-group.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-input.entry.js +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.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 +4 -0
- package/dist/esm/kol-popover-wc.entry.js.map +1 -0
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-span-wc_2.entry.js +1 -1
- package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-span.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-toast.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/{label-57859a5a.js → label-708d4611.js} +1 -1
- package/dist/esm/{label-57859a5a.js.map → label-708d4611.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{open-29222e31.js → open-cd386fb2.js} +1 -1
- package/dist/esm/{open-29222e31.js.map → open-cd386fb2.js.map} +1 -1
- package/dist/esm/{prop.validators-251589c8.js → prop.validators-50c7d885.js} +1 -1
- package/dist/esm/{prop.validators-251589c8.js.map → prop.validators-50c7d885.js.map} +1 -1
- package/dist/esm/{rows-c8fb93ae.js → rows-eee702b3.js} +1 -1
- package/dist/esm/{rows-c8fb93ae.js.map → rows-eee702b3.js.map} +1 -1
- package/dist/esm/{show-6fddf77c.js → show-7588def9.js} +1 -1
- package/dist/esm/{show-6fddf77c.js.map → show-7588def9.js.map} +1 -1
- package/dist/esm/{suggestions-1e0fe6e9.js → suggestions-c70e1994.js} +1 -1
- package/dist/esm/{suggestions-1e0fe6e9.js.map → suggestions-c70e1994.js.map} +1 -1
- package/dist/esm/{tab-index-39708fff.js → tab-index-5dd7efc3.js} +1 -1
- package/dist/esm/{tab-index-39708fff.js.map → tab-index-5dd7efc3.js.map} +1 -1
- package/dist/esm/{tooltip-align-d0d73d60.js → tooltip-align-9f6e72c2.js} +1 -1
- package/dist/esm/{tooltip-align-d0d73d60.js.map → tooltip-align-9f6e72c2.js.map} +1 -1
- package/dist/esm/validation-1e5fdf52.js +4 -0
- package/dist/esm/{validation-74fe1552.js.map → validation-1e5fdf52.js.map} +1 -1
- package/dist/esm/{validation-3e123430.js → validation-eb20e4ad.js} +1 -1
- package/dist/esm/{validation-3e123430.js.map → validation-eb20e4ad.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-54065212.js → a11y.tipps-804709ed.js} +1 -1
- package/dist/kolibri/align-0e99cc3b.js +4 -0
- package/dist/kolibri/{alignment-2171a053.js → alignment-effd7416.js} +1 -1
- package/dist/kolibri/app-globals-faf0bae3.js +4 -0
- package/dist/kolibri/{aria-current-87734eb8.js → aria-current-10160ab2.js} +1 -1
- package/dist/kolibri/{associated.controller-a1ec4433.js → associated.controller-fdb7b5fd.js} +1 -1
- package/dist/kolibri/{color-9cbf6d52.js → color-ad663c35.js} +1 -1
- package/dist/kolibri/{controller-23b9e0a2.js → controller-1f17a764.js} +1 -1
- package/dist/kolibri/{controller-b84eace4.js → controller-3a7db3af.js} +1 -1
- package/dist/kolibri/{controller-b4428245.js → controller-80cfae4b.js} +1 -1
- package/dist/kolibri/controller-9bc0e5a3.js +4 -0
- package/dist/kolibri/{controller-d80a67d0.js.map → controller-9bc0e5a3.js.map} +1 -1
- package/dist/kolibri/controller-f4895089.js +4 -0
- package/dist/kolibri/{controller-8aaf4af5.js.map → controller-f4895089.js.map} +1 -1
- package/dist/kolibri/controller-icon-d0dbedbe.js +4 -0
- package/dist/kolibri/{custom-class-833c9c0b.js → custom-class-1ec79846.js} +1 -1
- package/dist/kolibri/{dev.utils-ad367f40.js → dev.utils-89ea0d85.js} +1 -1
- package/dist/kolibri/{dev.utils-ad367f40.js.map → dev.utils-89ea0d85.js.map} +1 -1
- package/dist/kolibri/{devtools-73dc1f39.js → devtools-4b5eb4a4.js} +1 -1
- package/dist/kolibri/has-closer-6e81759e.js +4 -0
- package/dist/kolibri/hide-label-9229685b.js +4 -0
- package/dist/kolibri/{i18n-ad401ed8.js → i18n-26e5959d.js} +1 -1
- package/dist/kolibri/{icons-c28cff87.js → icons-336848af.js} +1 -1
- package/dist/kolibri/image-source-80bc78a8.js +4 -0
- package/dist/kolibri/index-0bc40dc4.js +5 -0
- package/dist/kolibri/index-0bc40dc4.js.map +1 -0
- package/dist/kolibri/index-d56bfd0f.js +4 -0
- package/dist/kolibri/index-d56bfd0f.js.map +1 -0
- package/dist/kolibri/index-ec1baafd.js +4 -0
- package/dist/kolibri/index-ec1baafd.js.map +1 -0
- 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_3.entry.js +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.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.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.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-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.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 +4 -0
- package/dist/kolibri/kol-popover-wc.entry.js.map +1 -0
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-toast.entry.js +1 -1
- package/dist/kolibri/kol-toast.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/{label-57859a5a.js → label-708d4611.js} +1 -1
- package/dist/kolibri/open-cd386fb2.js +4 -0
- package/dist/kolibri/prop.validators-50c7d885.js +4 -0
- package/dist/kolibri/rows-eee702b3.js +4 -0
- package/dist/kolibri/show-7588def9.js +4 -0
- package/dist/kolibri/{suggestions-1e0fe6e9.js → suggestions-c70e1994.js} +1 -1
- package/dist/kolibri/{tab-index-39708fff.js → tab-index-5dd7efc3.js} +1 -1
- package/dist/kolibri/tooltip-align-9f6e72c2.js +4 -0
- package/dist/kolibri/validation-1e5fdf52.js +4 -0
- package/dist/kolibri/{validation-3e123430.js → validation-eb20e4ad.js} +1 -1
- package/dist/types/components/toaster/component.d.ts +2 -2
- package/dist/types/components/toaster/toaster.d.ts +2 -1
- package/dist/types/components.d.ts +11 -10
- package/dist/types/stencil-public-runtime.d.ts +21 -0
- package/dist/types/utils/prop.validators.d.ts +2 -2
- package/doc/toaster.md +19 -2
- package/package.json +1 -1
- package/vscode-custom-data.json +1 -1
- package/dist/cjs/align-82c5c7e6.js +0 -4
- package/dist/cjs/aria-current-a6b40d0a.js +0 -4
- package/dist/cjs/controller-2e53480f.js +0 -4
- package/dist/cjs/has-closer-5b5049c7.js +0 -4
- package/dist/cjs/hide-label-661c1bad.js +0 -4
- package/dist/cjs/image-source-b5a9c8f9.js +0 -4
- package/dist/cjs/index-2feae351.js +0 -5
- package/dist/cjs/index-2feae351.js.map +0 -1
- package/dist/cjs/index-82aca647.js +0 -4
- package/dist/cjs/index-82aca647.js.map +0 -1
- package/dist/cjs/index-f96a013d.js +0 -4
- package/dist/cjs/index-f96a013d.js.map +0 -1
- package/dist/cjs/kol-popover.cjs.entry.js +0 -4
- package/dist/cjs/kol-popover.cjs.entry.js.map +0 -1
- package/dist/cjs/open-bde18e22.js +0 -4
- package/dist/cjs/rows-fc5f60d9.js +0 -4
- package/dist/cjs/show-f026dc23.js +0 -4
- package/dist/cjs/validation-43b5bf59.js +0 -4
- package/dist/components/kol-popover.js +0 -4
- package/dist/components/kol-popover.js.map +0 -1
- package/dist/esm/index-23225963.js +0 -4
- package/dist/esm/index-23225963.js.map +0 -1
- package/dist/esm/index-3822b0c5.js +0 -4
- package/dist/esm/index-3822b0c5.js.map +0 -1
- package/dist/esm/index-536799d5.js +0 -5
- package/dist/esm/index-536799d5.js.map +0 -1
- package/dist/esm/kol-popover.entry.js +0 -4
- package/dist/esm/kol-popover.entry.js.map +0 -1
- package/dist/esm/validation-74fe1552.js +0 -4
- package/dist/kolibri/align-a2401a24.js +0 -4
- package/dist/kolibri/app-globals-770cf469.js +0 -4
- package/dist/kolibri/controller-8aaf4af5.js +0 -4
- package/dist/kolibri/controller-d80a67d0.js +0 -4
- package/dist/kolibri/controller-icon-ef27c916.js +0 -4
- package/dist/kolibri/has-closer-3f2a115a.js +0 -4
- package/dist/kolibri/hide-label-310fe1b8.js +0 -4
- package/dist/kolibri/image-source-3f04add1.js +0 -4
- package/dist/kolibri/index-23225963.js +0 -4
- package/dist/kolibri/index-23225963.js.map +0 -1
- package/dist/kolibri/index-3822b0c5.js +0 -4
- package/dist/kolibri/index-3822b0c5.js.map +0 -1
- package/dist/kolibri/index-536799d5.js +0 -5
- package/dist/kolibri/index-536799d5.js.map +0 -1
- package/dist/kolibri/kol-popover.entry.js +0 -4
- package/dist/kolibri/kol-popover.entry.js.map +0 -1
- package/dist/kolibri/open-29222e31.js +0 -4
- package/dist/kolibri/prop.validators-251589c8.js +0 -4
- package/dist/kolibri/rows-c8fb93ae.js +0 -4
- package/dist/kolibri/show-6fddf77c.js +0 -4
- package/dist/kolibri/tooltip-align-d0d73d60.js +0 -4
- package/dist/kolibri/validation-74fe1552.js +0 -4
- /package/dist/kolibri/{a11y.tipps-54065212.js.map → a11y.tipps-804709ed.js.map} +0 -0
- /package/dist/kolibri/{align-a2401a24.js.map → align-0e99cc3b.js.map} +0 -0
- /package/dist/kolibri/{alignment-2171a053.js.map → alignment-effd7416.js.map} +0 -0
- /package/dist/kolibri/{app-globals-770cf469.js.map → app-globals-faf0bae3.js.map} +0 -0
- /package/dist/kolibri/{aria-current-87734eb8.js.map → aria-current-10160ab2.js.map} +0 -0
- /package/dist/kolibri/{associated.controller-a1ec4433.js.map → associated.controller-fdb7b5fd.js.map} +0 -0
- /package/dist/kolibri/{color-9cbf6d52.js.map → color-ad663c35.js.map} +0 -0
- /package/dist/kolibri/{controller-23b9e0a2.js.map → controller-1f17a764.js.map} +0 -0
- /package/dist/kolibri/{controller-b84eace4.js.map → controller-3a7db3af.js.map} +0 -0
- /package/dist/kolibri/{controller-b4428245.js.map → controller-80cfae4b.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-ef27c916.js.map → controller-icon-d0dbedbe.js.map} +0 -0
- /package/dist/kolibri/{custom-class-833c9c0b.js.map → custom-class-1ec79846.js.map} +0 -0
- /package/dist/kolibri/{devtools-73dc1f39.js.map → devtools-4b5eb4a4.js.map} +0 -0
- /package/dist/kolibri/{has-closer-3f2a115a.js.map → has-closer-6e81759e.js.map} +0 -0
- /package/dist/kolibri/{hide-label-310fe1b8.js.map → hide-label-9229685b.js.map} +0 -0
- /package/dist/kolibri/{i18n-ad401ed8.js.map → i18n-26e5959d.js.map} +0 -0
- /package/dist/kolibri/{icons-c28cff87.js.map → icons-336848af.js.map} +0 -0
- /package/dist/kolibri/{image-source-3f04add1.js.map → image-source-80bc78a8.js.map} +0 -0
- /package/dist/kolibri/{label-57859a5a.js.map → label-708d4611.js.map} +0 -0
- /package/dist/kolibri/{open-29222e31.js.map → open-cd386fb2.js.map} +0 -0
- /package/dist/kolibri/{prop.validators-251589c8.js.map → prop.validators-50c7d885.js.map} +0 -0
- /package/dist/kolibri/{rows-c8fb93ae.js.map → rows-eee702b3.js.map} +0 -0
- /package/dist/kolibri/{show-6fddf77c.js.map → show-7588def9.js.map} +0 -0
- /package/dist/kolibri/{suggestions-1e0fe6e9.js.map → suggestions-c70e1994.js.map} +0 -0
- /package/dist/kolibri/{tab-index-39708fff.js.map → tab-index-5dd7efc3.js.map} +0 -0
- /package/dist/kolibri/{tooltip-align-d0d73d60.js.map → tooltip-align-9f6e72c2.js.map} +0 -0
- /package/dist/kolibri/{validation-74fe1552.js.map → validation-1e5fdf52.js.map} +0 -0
- /package/dist/kolibri/{validation-3e123430.js.map → validation-eb20e4ad.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolTabs","this","onCreateLabel","translate","showCreateTab","nextPossibleTabIndex","tabs","offset","step","length","_disabled","onKeyDown","event","timeout","setTimeout","clearTimeout","selectedIndex","key","state","_tabs","_selected","onSelect","onClickSelect","index","onMouseDown","preventDefault","stopPropagation","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","devHint","syncSelectedAndTabs","nextValue","nextState","_component","set","handleTabPanels","HTMLDivElement","i","children","div","document","createElement","setAttribute","_label","replace","slot","appendChild","_a","host","HTMLCollection","_b","_c","onCreate","_on","_align","renderButtonGroup","h","role","map","button","_icons","_icon","_hideLabel","_iconOnly","_tabIndex","_tooltipAlign","_variant","undefined","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","class","render","Host","ref","tabPanelsElement","validateAlign","value","validateAriaLabel","validateLabel","validateOn","featureHint","label","Log","debug","callback","setState","validateSelected","watchNumber","hooks","beforePatch","validateTabs","watchJsonArrayString","item","uiUxHintMillerscheZahl","validateTabsAlign","componentWillLoad","_tabsAlign","_ariaLabel","componentDidRender","removeAttribute","focus","selectedTimeout","koliBriQuerySelector"],"sources":["src/components/tabs/style.css?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/component.tsx"],"sourcesContent":["@import url(../style.css);\n@import url(../host-display-block.css);\nkol-button-group-wc {\n\tdisplay: inline-flex;\n\tflex-wrap: wrap;\n}\nkol-button-group-wc button {\n\tborder-bottom-color: transparent;\n\tborder-bottom-style: solid;\n\tdisplay: block;\n}\ndiv.grid,\ndiv[role='tabpanel'] {\n\theight: 100%;\n}\n:host > .tabs-align-right {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr auto;\n}\n:host > .tabs-align-right kol-button-group-wc {\n\tdisplay: grid;\n\torder: 2;\n}\n:host > .tabs-align-left {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr;\n}\n:host > .tabs-align-left kol-button-group-wc {\n\tdisplay: grid;\n\torder: 0;\n}\n:host > .tabs-align-bottom {\n\tdisplay: grid;\n\tgrid-template-rows: 1fr auto;\n}\n:host > .tabs-align-bottom kol-button-group-wc {\n\torder: 2;\n}\n:host > .tabs-align-bottom kol-button-group-wc > div {\n\tdisplay: flex;\n}\n:host > .tabs-align-bottom > kol-button-group-wc > div > div:first-child {\n\tmargin: 0 1em 0 0;\n}\n:host > .tabs-align-bottom > kol-button-group-wc > div > div {\n\tmargin: 0 1em;\n}\n:host > .tabs-align-top {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n}\n:host > .tabs-align-top kol-button-group-wc {\n\torder: 0;\n}\n:host > .tabs-align-top kol-button-group-wc > div {\n\tdisplay: flex;\n}\n:host > .tabs-align-top > kol-button-group-wc > div > div:first-child {\n\tmargin: 0 1em 0 0;\n}\n:host > .tabs-align-top > kol-button-group-wc > div > div {\n\tmargin: 0 1em;\n}\n:host > div {\n\tdisplay: grid;\n}\n:host > .tabs-align-left kol-button-group-wc,\n:host > .tabs-align-top kol-button-group-wc {\n\torder: 0;\n}\n:host > .tabs-align-bottom kol-button-group-wc,\n:host > .tabs-align-right kol-button-group-wc {\n\torder: 1;\n}\n:host > div.tabs-align-left kol-button-group-wc > div,\n:host > div.tabs-align-left kol-button-group-wc > div > div,\n:host > div.tabs-align-right kol-button-group-wc > div,\n:host > div.tabs-align-right kol-button-group-wc > div > div {\n\tdisplay: grid;\n}\n:host > div.tabs-align-left kol-button-group-wc > div > div kol-button-wc,\n:host > div.tabs-align-right kol-button-group-wc > div > div kol-button-wc {\n\twidth: 100%;\n}\n:host > div.tabs-align-bottom kol-button-group-wc div,\n:host > div.tabs-align-top kol-button-group-wc div {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { AlignPropType, validateAlign } from '../../types/props/align';\nimport { ButtonCallbacksPropType } from '../../types/props/button-callbacks';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, featureHint, uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { Log } from '../../utils/dev.utils';\nimport { koliBriQuerySelector, setState, watchJsonArrayString, watchNumber } from '../../utils/prop.validators';\nimport { API, KoliBriTabsCallbacks, States, TabButtonProps } from './types';\n\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements API {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate showCreateTab = false;\n\tprivate selectedTimeout?: ReturnType<typeof setTimeout>;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step: number): number => {\n\t\tif (step > 0) {\n\t\t\tif (offset + step < tabs.length) {\n\t\t\t\tif (tabs[offset + step]._disabled) {\n\t\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t\t}\n\t\t\t\treturn offset + step;\n\t\t\t}\n\t\t} else if (step < 0) {\n\t\t\tif (offset + step >= 0) {\n\t\t\t\tif (tabs[offset + step]._disabled) {\n\t\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step - 1);\n\t\t\t\t}\n\t\t\t\treturn offset + step;\n\t\t\t}\n\t\t}\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tlet selectedIndex: number | null = null;\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\tselectedIndex = this.nextPossibleTabIndex(this.state._tabs, this.state._selected, 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tselectedIndex = this.nextPossibleTabIndex(this.state._tabs, this.state._selected, -1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (selectedIndex !== null) {\n\t\t\t\tthis.onSelect(event, selectedIndex, true);\n\t\t\t}\n\t\t}, 250);\n\t};\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.onSelect(event, index, true);\n\t};\n\n\t// private readonly onClickClose = (event: Event, button: TabButtonProps, index: number) => {\n\t// \tevent.preventDefault();\n\t// \tevent.stopPropagation();\n\t// \tthis.onClose(button, event, index);\n\t// };\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t<kol-button-group-wc role=\"tablist\" aria-label={this.state._label} onKeyDown={this.onKeyDown}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons || button._icon}\n\t\t\t\t\t\t_hideLabel={button._hideLabel || button._iconOnly}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_variant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></kol-button-wc>\n\t\t\t\t))}\n\t\t\t\t{this.showCreateTab && (\n\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\tclass=\"create-button\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t></kol-button-wc>\n\t\t\t\t)}\n\t\t\t</kol-button-group-wc>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t\t}}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[`tabs-align-${this.state._align}`]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t\t<div ref={this.catchTabPanelHost}>{/* <slot /> */}</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the position of the tab captions.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t/**\n\t * Deprecated: Setzt die Position der Registrierkarten.\n\t * @deprecated Use _align.\n\t */\n\t@Prop() public _tabsAlign?: AlignPropType = 'top';\n\n\t@State() public state: States = {\n\t\t_align: 'top',\n\t\t_label: '…', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function' || typeof value.onCreate === 'object') {\n\t\t\t\tif (typeof value.onCreate === 'object') {\n\t\t\t\t\tif (typeof value.onCreate.label === 'string' && value.onCreate.label.length > 0) {\n\t\t\t\t\t\tthis.onCreateLabel = value.onCreate.label;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tLog.debug(\n\t\t\t\t\t\t\t`[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt.`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof value.onCreate.callback === 'function') {\n\t\t\t\t\t\tcallbacks.onCreate = value.onCreate.callback;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tLog.debug(\n\t\t\t\t\t\t\t`[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t\t}\n\t\t\t\tthis.showCreateTab = typeof callbacks.onCreate === 'function';\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\t@Watch('_tabsAlign')\n\tpublic validateTabsAlign(value?: AlignPropType): void {\n\t\tthis.validateAlign(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align || this._tabsAlign);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t}\n\n\tprivate readonly handleTabPanels = () => {\n\t\tif (this.tabPanelHost instanceof HTMLDivElement) {\n\t\t\tfor (let i = this.tabPanelHost.children.length; i < this.state._tabs.length; i++) {\n\t\t\t\tconst div = document.createElement('div');\n\t\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\t\tdiv.setAttribute('hidden', '');\n\t\t\t\tconst slot = document.createElement('slot');\n\t\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\t\tdiv.appendChild(slot);\n\t\t\t\tthis.tabPanelHost.appendChild(div);\n\t\t\t\tif (this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t// div.appendChild(this.host?.children[0]);\n\t\t\t\t\tthis.host?.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.handleTabPanels();\n\t\tif (this.tabPanelHost instanceof HTMLDivElement) {\n\t\t\tfor (let i = 0; i < this.tabPanelHost.children.length; i++) {\n\t\t\t\tif (i !== this.state._selected) {\n\t\t\t\t\tthis.tabPanelHost.children[i].setAttribute('hidden', '');\n\t\t\t\t} else {\n\t\t\t\t\tthis.tabPanelHost.children[i].removeAttribute('hidden');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number, focus = false): void {\n\t\tthis._selected = index;\n\t\tif (typeof this._on?.onSelect === 'function') {\n\t\t\tthis._on?.onSelect(event, index);\n\t\t}\n\t\tif (focus === true) {\n\t\t\t// TODO: prüfen, ob hier noch was offen ist\n\t\t\t// devHint('[KolTabs] Tab-Fokus-verschieben geht im Moment nicht.');\n\t\t\tthis.selectedTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(this.selectedTimeout);\n\t\t\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\t\t\tbutton?.focus();\n\t\t\t\t}\n\t\t\t}, 250);\n\t\t}\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (typeof this.state._on?.onCreate === 'function') {\n\t\t\tthis.state._on?.onCreate(event);\n\t\t}\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","KolTabs","this","onCreateLabel","translate","showCreateTab","nextPossibleTabIndex","tabs","offset","step","length","_disabled","onKeyDown","event","timeout","setTimeout","clearTimeout","selectedIndex","key","state","_tabs","_selected","onSelect","onClickSelect","index","onMouseDown","preventDefault","stopPropagation","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","devHint","syncSelectedAndTabs","nextValue","nextState","_component","set","handleTabPanels","HTMLDivElement","i","children","div","document","createElement","setAttribute","_label","replace","slot","appendChild","_a","host","HTMLCollection","_b","_c","onCreate","_on","_align","renderButtonGroup","h","role","map","button","_icons","_icon","_hideLabel","_iconOnly","_tabIndex","_tooltipAlign","_variant","undefined","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","class","render","Host","ref","tabPanelsElement","validateAlign","value","validateAriaLabel","validateLabel","validateOn","featureHint","label","Log","debug","callback","setState","validateSelected","watchNumber","hooks","beforePatch","validateTabs","watchJsonArrayString","item","uiUxHintMillerscheZahl","validateTabsAlign","componentWillLoad","_tabsAlign","_ariaLabel","componentDidRender","removeAttribute","focus","selectedTimeout","koliBriQuerySelector"],"sources":["src/components/tabs/style.css?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/component.tsx"],"sourcesContent":["@import url(../style.css);\n@import url(../host-display-block.css);\nkol-button-group-wc {\n\tdisplay: inline-flex;\n\tflex-wrap: wrap;\n}\nkol-button-group-wc button {\n\tborder-bottom-color: transparent;\n\tborder-bottom-style: solid;\n\tdisplay: block;\n}\ndiv.grid,\ndiv[role='tabpanel'] {\n\theight: 100%;\n}\n:host > .tabs-align-right {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr auto;\n}\n:host > .tabs-align-right kol-button-group-wc {\n\tdisplay: grid;\n\torder: 2;\n}\n:host > .tabs-align-left {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr;\n}\n:host > .tabs-align-left kol-button-group-wc {\n\tdisplay: grid;\n\torder: 0;\n}\n:host > .tabs-align-bottom {\n\tdisplay: grid;\n\tgrid-template-rows: 1fr auto;\n}\n:host > .tabs-align-bottom kol-button-group-wc {\n\torder: 2;\n}\n:host > .tabs-align-bottom kol-button-group-wc > div {\n\tdisplay: flex;\n}\n:host > .tabs-align-bottom > kol-button-group-wc > div > div:first-child {\n\tmargin: 0 1em 0 0;\n}\n:host > .tabs-align-bottom > kol-button-group-wc > div > div {\n\tmargin: 0 1em;\n}\n:host > .tabs-align-top {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n}\n:host > .tabs-align-top kol-button-group-wc {\n\torder: 0;\n}\n:host > .tabs-align-top kol-button-group-wc > div {\n\tdisplay: flex;\n}\n:host > .tabs-align-top > kol-button-group-wc > div > div:first-child {\n\tmargin: 0 1em 0 0;\n}\n:host > .tabs-align-top > kol-button-group-wc > div > div {\n\tmargin: 0 1em;\n}\n:host > div {\n\tdisplay: grid;\n}\n:host > .tabs-align-left kol-button-group-wc,\n:host > .tabs-align-top kol-button-group-wc {\n\torder: 0;\n}\n:host > .tabs-align-bottom kol-button-group-wc,\n:host > .tabs-align-right kol-button-group-wc {\n\torder: 1;\n}\n:host > div.tabs-align-left kol-button-group-wc > div,\n:host > div.tabs-align-left kol-button-group-wc > div > div,\n:host > div.tabs-align-right kol-button-group-wc > div,\n:host > div.tabs-align-right kol-button-group-wc > div > div {\n\tdisplay: grid;\n}\n:host > div.tabs-align-left kol-button-group-wc > div > div kol-button-wc,\n:host > div.tabs-align-right kol-button-group-wc > div > div kol-button-wc {\n\twidth: 100%;\n}\n:host > div.tabs-align-bottom kol-button-group-wc div,\n:host > div.tabs-align-top kol-button-group-wc div {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { AlignPropType, validateAlign } from '../../types/props/align';\nimport { ButtonCallbacksPropType } from '../../types/props/button-callbacks';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, featureHint, uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { Log } from '../../utils/dev.utils';\nimport { koliBriQuerySelector, setState, watchJsonArrayString, watchNumber } from '../../utils/prop.validators';\nimport { API, KoliBriTabsCallbacks, States, TabButtonProps } from './types';\n\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements API {\n\t@Element() private readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate showCreateTab = false;\n\tprivate selectedTimeout?: ReturnType<typeof setTimeout>;\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step: number): number => {\n\t\tif (step > 0) {\n\t\t\tif (offset + step < tabs.length) {\n\t\t\t\tif (tabs[offset + step]._disabled) {\n\t\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t\t}\n\t\t\t\treturn offset + step;\n\t\t\t}\n\t\t} else if (step < 0) {\n\t\t\tif (offset + step >= 0) {\n\t\t\t\tif (tabs[offset + step]._disabled) {\n\t\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step - 1);\n\t\t\t\t}\n\t\t\t\treturn offset + step;\n\t\t\t}\n\t\t}\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tlet selectedIndex: number | null = null;\n\t\t\tswitch (event.key) {\n\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\tselectedIndex = this.nextPossibleTabIndex(this.state._tabs, this.state._selected, 1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\tselectedIndex = this.nextPossibleTabIndex(this.state._tabs, this.state._selected, -1);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (selectedIndex !== null) {\n\t\t\t\tthis.onSelect(event, selectedIndex, true);\n\t\t\t}\n\t\t}, 250);\n\t};\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.onSelect(event, index, true);\n\t};\n\n\t// private readonly onClickClose = (event: Event, button: TabButtonProps, index: number) => {\n\t// \tevent.preventDefault();\n\t// \tevent.stopPropagation();\n\t// \tthis.onClose(button, event, index);\n\t// };\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t<kol-button-group-wc role=\"tablist\" aria-label={this.state._label} onKeyDown={this.onKeyDown}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons || button._icon}\n\t\t\t\t\t\t_hideLabel={button._hideLabel || button._iconOnly}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_variant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : undefined}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></kol-button-wc>\n\t\t\t\t))}\n\t\t\t\t{this.showCreateTab && (\n\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\tclass=\"create-button\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t></kol-button-wc>\n\t\t\t\t)}\n\t\t\t</kol-button-group-wc>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\tthis.tabPanelsElement = el as HTMLElement;\n\t\t\t\t\t}}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[`tabs-align-${this.state._align}`]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t\t<div ref={this.catchTabPanelHost}>{/* <slot /> */}</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the position of the tab captions.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t/**\n\t * Deprecated: Setzt die Position der Registrierkarten.\n\t * @deprecated Use _align.\n\t */\n\t@Prop() public _tabsAlign?: AlignPropType = 'top';\n\n\t@State() public state: States = {\n\t\t_align: 'top',\n\t\t_label: '…', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] Alle Tabs sind deaktiviert und somit kann kein Tab angezeigt werden.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function' || typeof value.onCreate === 'object') {\n\t\t\t\tif (typeof value.onCreate === 'object') {\n\t\t\t\t\tif (typeof value.onCreate.label === 'string' && value.onCreate.label.length > 0) {\n\t\t\t\t\t\tthis.onCreateLabel = value.onCreate.label;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tLog.debug(\n\t\t\t\t\t\t\t`[KolTabs] Der Label-Text für Neu in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} ist nicht korrekt gesetzt.`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (typeof value.onCreate.callback === 'function') {\n\t\t\t\t\t\tcallbacks.onCreate = value.onCreate.callback;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tLog.debug(\n\t\t\t\t\t\t\t`[KolTabs] Die onCreate-Callback-Funktion für Neu in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} ist nicht korrekt gesetzt.`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t\t}\n\t\t\t\tthis.showCreateTab = typeof callbacks.onCreate === 'function';\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\t@Watch('_tabsAlign')\n\tpublic validateTabsAlign(value?: AlignPropType): void {\n\t\tthis.validateAlign(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align || this._tabsAlign);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t}\n\n\tprivate readonly handleTabPanels = () => {\n\t\tif (this.tabPanelHost instanceof HTMLDivElement) {\n\t\t\tfor (let i = this.tabPanelHost.children.length; i < this.state._tabs.length; i++) {\n\t\t\t\tconst div = document.createElement('div');\n\t\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\t\tdiv.setAttribute('hidden', '');\n\t\t\t\tconst slot = document.createElement('slot');\n\t\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\t\tdiv.appendChild(slot);\n\t\t\t\tthis.tabPanelHost.appendChild(div);\n\t\t\t\tif (this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t// div.appendChild(this.host?.children[0]);\n\t\t\t\t\tthis.host?.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.handleTabPanels();\n\t\tif (this.tabPanelHost instanceof HTMLDivElement) {\n\t\t\tfor (let i = 0; i < this.tabPanelHost.children.length; i++) {\n\t\t\t\tif (i !== this.state._selected) {\n\t\t\t\t\tthis.tabPanelHost.children[i].setAttribute('hidden', '');\n\t\t\t\t} else {\n\t\t\t\t\tthis.tabPanelHost.children[i].removeAttribute('hidden');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number, focus = false): void {\n\t\tthis._selected = index;\n\t\tif (typeof this._on?.onSelect === 'function') {\n\t\t\tthis._on?.onSelect(event, index);\n\t\t}\n\t\tif (focus === true) {\n\t\t\t// TODO: prüfen, ob hier noch was offen ist\n\t\t\t// devHint('[KolTabs] Tab-Fokus-verschieben geht im Moment nicht.');\n\t\t\tthis.selectedTimeout = setTimeout(() => {\n\t\t\t\tclearTimeout(this.selectedTimeout);\n\t\t\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\t\t\tbutton?.focus();\n\t\t\t\t}\n\t\t\t}, 250);\n\t\t}\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (typeof this.state._on?.onCreate === 'function') {\n\t\t\tthis.state._on?.onCreate(event);\n\t\t}\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{h as t,H as e,r as i,g as a}from"./index-
|
|
4
|
+
import{h as t,H as e,r as i,g as a}from"./index-0bc40dc4.js";import{n as s}from"./dev.utils-89ea0d85.js";import{a as l,e as n,d as h,w as r,s as o}from"./prop.validators-50c7d885.js";import{a as d,s as p}from"./reuse-b3566e4c.js";import{I as u,v as c,g as f}from"./controller-f4895089.js";import{v}from"./rows-eee702b3.js";import{a as y}from"./a11y.tipps-804709ed.js";import"./index-d56bfd0f.js";import"./hide-label-9229685b.js";import"./label-708d4611.js";import"./events-2bb1065b.js";import"./tab-index-5dd7efc3.js";import"./associated.controller-fdb7b5fd.js";class m extends u{constructor(t,e,a){super(t,e,a),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&this.component._value.length>0&&(this.component.state._currentLength=this.component._value.length)},this.component=t}validateHasCounter(t){l(this.component,"_hasCounter",t,{hooks:{afterPatch:this.afterSyncCharCounter}})}validateHideError(t){c(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&y("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateMaxLength(t){n(this.component,"_maxLength",t,{hooks:{afterPatch:this.afterSyncCharCounter},min:0})}validatePlaceholder(t){h(this.component,"_placeholder",t)}validateReadOnly(t){l(this.component,"_readOnly",t)}validateResize(t){r(this.component,"_resize",(t=>"string"==typeof t&&("both"===t||"horizontal"===t||"none"===t||"vertical"===t)),new Set("String {both, horizontal, vertical, none}"),t)}validateRequired(t){l(this.component,"_required",t)}validateRows(t){v(this.component,t)}validateValue(t){h(this.component,"_value",t,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad(),this.validateHasCounter(this.component._hasCounter),this.validateHideError(this.component._hideError),this.validateMaxLength(this.component._maxLength),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateResize(this.component._resize),this.validateRequired(this.component._required),this.validateRows(this.component._rows),this.validateValue(this.component._value)}}const b=":host{--a11y-min-size:44px;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select,select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input .input-slot{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}kol-input.required .input-tooltip .span-label::after{content:'*'}.error.hidden{display:none}",_=t=>{t.style.overflow="hidden";const e=t.rows,a=t.clientHeight/e;t.rows=1;const i=Math.round(t.scrollHeight/a);return t.rows=e,i},g=class{render(){const{ariaDescribedBy:a}=f(this.state),i=p(this.state._label);return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{textarea:!0,"hide-label":!!this.state._hideLabel,"has-counter":!!this.state._hasCounter},_alert:this.state._alert,_currentLength:this.state._currentLength,_disabled:this.state._disabled,_error:this.state._error,_hideError:this.state._hideError,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:this.state._id,_label:this.state._label,_maxLength:this.state._maxLength,_readOnly:this.state._readOnly,_required:this.state._required,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},i?t("slot",null):this.state._label),t("div",{slot:"input"},t("textarea",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":a.length>0?a.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,maxlength:this.state._maxLength,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,rows:this.state._rows,placeholder:this.state._placeholder,spellcheck:"false"},this.controller.onFacade,{onKeyUp:this.onKeyUp,style:{resize:this.state._resize},value:this.state._value})))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,d(this.host,this.ref)},this.onKeyUp=()=>{this.ref instanceof HTMLTextAreaElement&&(o(this,"_currentLength",this.ref.value.length),this.state._adjustHeight&&(this._rows=_(this.ref)))},this._accessKey=void 0,this._adjustHeight=!1,this._alert=!0,this._disabled=!1,this._error=void 0,this._hasCounter=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._id=void 0,this._label=void 0,this._maxLength=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=!1,this._resize="vertical",this._required=!1,this._rows=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_adjustHeight:!1,_currentLength:0,_hasValue:!1,_hideError:!1,_id:`id-${s()}`,_label:"",_resize:"vertical"},this.controller=new m(this,"textarea",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAdjustHeight(t){this.controller.validateAdjustHeight(t)}validateAlert(t){this.controller.validateAlert(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHasCounter(t){this.controller.validateHasCounter(t)}validateHideError(t){this.controller.validateHideError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateResize(t){this.controller.validateResize(t)}validateRequired(t){this.controller.validateRequired(t)}validateRows(t){this.controller.validateRows(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_id:["validateId"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};g.style={default:b};export{g as kol_textarea};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextareaController","InputController","constructor","component","name","host","super","this","afterSyncCharCounter","_value","length","state","_currentLength","validateHasCounter","value","watchBoolean","hooks","afterPatch","validateHideError","_hideError","a11yHint","validateMaxLength","watchNumber","min","validatePlaceholder","watchString","validateReadOnly","validateResize","watchValidator","Set","validateRequired","validateRows","validateValue","setFormAssociatedValue","componentWillLoad","_hasCounter","_maxLength","_placeholder","_readOnly","_resize","_required","_rows","defaultStyleCss","increaseTextareaHeight","el","style","overflow","currentRows","rows","rowHeight","clientHeight","nextRows","Math","round","scrollHeight","KolTextarea","render","ariaDescribedBy","getRenderStates","hasExpertSlot","showExpertSlot","_label","h","Host","class","_hasValue","textarea","_hideLabel","_alert","_disabled","_error","_hint","_id","_tooltipAlign","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoCorrect","disabled","id","maxlength","_name","readOnly","required","placeholder","spellcheck","controller","onFacade","onKeyUp","resize","hostRef","propagateFocus","HTMLTextAreaElement","setState","_adjustHeight","nonce","validateAccessKey","validateAdjustHeight","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateLabel","validateName","validateOn","validateSyncValueBySelector","validateTabIndex","validateTouched","addValueChangeListener","v"],"sources":["src/components/textarea/controller.ts","src/components/textarea/style.css?tag=kol-textarea&mode=default&encapsulation=shadow","src/components/textarea/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { HasCounterPropType } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { RowsPropType, validateRows } from '../../types/props/rows';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputController } from '../@deprecated/input/controller';\nimport { CSSResize, Props, Watches } from './types';\n\nexport class TextareaController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string' && this.component._value.length > 0) {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t}\n\t};\n\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\twatchBoolean(this.component, '_hasCounter', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateResize(value?: CSSResize): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_resize',\n\t\t\t(value) => typeof value === 'string' && (value === 'both' || value === 'horizontal' || value === 'none' || value === 'vertical'),\n\t\t\tnew Set('String {both, horizontal, vertical, none}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tvalidateRows(this.component, value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateResize(this.component._resize);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateRows(this.component._rows);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n.error.hidden {\n\tdisplay: none;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { AdjustHeightPropType } from '../../types/props/adjust-height';\nimport { HasCounterPropType } from '../../types/props/has-counter';\nimport { HideErrorPropType } from '../../types/props/hide-error';\nimport { IdPropType } from '../../types/props/id';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { NamePropType } from '../../types/props/name';\nimport { RowsPropType } from '../../types/props/rows';\nimport { SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { TextareaController } from './controller';\nimport { API, CSSResize, States } from './types';\n\n/**\n * https://stackoverflow.com/questions/17772260/textarea-auto-height\n */\nconst increaseTextareaHeight = (el: HTMLTextAreaElement): number => {\n\tel.style.overflow = 'hidden'; // verhindert, dass ein Scrollbalken kurz angezeigt wird\n\tconst currentRows = el.rows;\n\tconst rowHeight = el.clientHeight / currentRows;\n\tel.rows = 1;\n\tconst nextRows = Math.round(el.scrollHeight / rowHeight);\n\tel.rows = currentRows;\n\treturn nextRows;\n};\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-textarea',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolTextarea implements API {\n\t@Element() private readonly host?: HTMLKolTextareaElement;\n\tprivate ref?: HTMLTextAreaElement;\n\n\tprivate readonly catchRef = (ref?: HTMLTextAreaElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\n\t\treturn (\n\t\t\t<Host class={{ 'has-value': this.state._hasValue }}>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{ textarea: true, 'hide-label': !!this.state._hideLabel, 'has-counter': !!this.state._hasCounter }}\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideError={this.state._hideError}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\trows={this.state._rows}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tresize: this.state._resize,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={this.state._value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: TextareaController;\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Adjusts the height of the element to its content.\n\t * @TODO: change back to AdjustHeightPropType after stencil #4663 has been resolved\n\t */\n\t@Prop() public _adjustHeight?: boolean = false;\n\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * @TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Defines the error message text.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Shows the character count on the lower border of the input.\n\t * @TODO: Change type back to `HasCounterPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCounter?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideErrorPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideError?: 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 hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the maximum number of input characters.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the input element read only.\n\t * @TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Defines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize)\n\t */\n\t@Prop() public _resize?: CSSResize = 'vertical';\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Defines how many rows of text should be visible at the same time.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _rows?: RowsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the input.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_adjustHeight: false,\n\t\t_currentLength: 0,\n\t\t_hasValue: false,\n\t\t_hideError: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: '', // ⚠ required\n\t\t_resize: 'vertical',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new TextareaController(this, 'textarea', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_adjustHeight')\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tthis.controller.validateAdjustHeight(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideError')\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tthis.controller.validateHideError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_resize')\n\tpublic validateResize(value?: CSSResize): void {\n\t\tthis.controller.validateResize(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tprivate readonly onKeyUp = () => {\n\t\tif (this.ref instanceof HTMLTextAreaElement) {\n\t\t\tsetState(this, '_currentLength', this.ref.value.length);\n\t\t\tif (this.state._adjustHeight) {\n\t\t\t\tthis._rows = increaseTextareaHeight(this.ref);\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["TextareaController","InputController","constructor","component","name","host","super","this","afterSyncCharCounter","_value","length","state","_currentLength","validateHasCounter","value","watchBoolean","hooks","afterPatch","validateHideError","_hideError","a11yHint","validateMaxLength","watchNumber","min","validatePlaceholder","watchString","validateReadOnly","validateResize","watchValidator","Set","validateRequired","validateRows","validateValue","setFormAssociatedValue","componentWillLoad","_hasCounter","_maxLength","_placeholder","_readOnly","_resize","_required","_rows","defaultStyleCss","increaseTextareaHeight","el","style","overflow","currentRows","rows","rowHeight","clientHeight","nextRows","Math","round","scrollHeight","KolTextarea","render","ariaDescribedBy","getRenderStates","hasExpertSlot","showExpertSlot","_label","h","Host","class","_hasValue","textarea","_hideLabel","_alert","_disabled","_error","_hint","_id","_tooltipAlign","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoCorrect","disabled","id","maxlength","_name","readOnly","required","placeholder","spellcheck","controller","onFacade","onKeyUp","resize","hostRef","propagateFocus","HTMLTextAreaElement","setState","_adjustHeight","nonce","validateAccessKey","validateAdjustHeight","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateLabel","validateName","validateOn","validateSyncValueBySelector","validateTabIndex","validateTouched","addValueChangeListener","v"],"sources":["src/components/textarea/controller.ts","src/components/textarea/style.css?tag=kol-textarea&mode=default&encapsulation=shadow","src/components/textarea/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { HasCounterPropType } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { RowsPropType, validateRows } from '../../types/props/rows';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputController } from '../@deprecated/input/controller';\nimport { CSSResize, Props, Watches } from './types';\n\nexport class TextareaController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string' && this.component._value.length > 0) {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t}\n\t};\n\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\twatchBoolean(this.component, '_hasCounter', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateResize(value?: CSSResize): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_resize',\n\t\t\t(value) => typeof value === 'string' && (value === 'both' || value === 'horizontal' || value === 'none' || value === 'vertical'),\n\t\t\tnew Set('String {both, horizontal, vertical, none}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tvalidateRows(this.component, value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateResize(this.component._resize);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateRows(this.component._rows);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n.error.hidden {\n\tdisplay: none;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { AdjustHeightPropType } from '../../types/props/adjust-height';\nimport { HasCounterPropType } from '../../types/props/has-counter';\nimport { HideErrorPropType } from '../../types/props/hide-error';\nimport { IdPropType } from '../../types/props/id';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { NamePropType } from '../../types/props/name';\nimport { RowsPropType } from '../../types/props/rows';\nimport { SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { TextareaController } from './controller';\nimport { API, CSSResize, States } from './types';\n\n/**\n * https://stackoverflow.com/questions/17772260/textarea-auto-height\n */\nconst increaseTextareaHeight = (el: HTMLTextAreaElement): number => {\n\tel.style.overflow = 'hidden'; // verhindert, dass ein Scrollbalken kurz angezeigt wird\n\tconst currentRows = el.rows;\n\tconst rowHeight = el.clientHeight / currentRows;\n\tel.rows = 1;\n\tconst nextRows = Math.round(el.scrollHeight / rowHeight);\n\tel.rows = currentRows;\n\treturn nextRows;\n};\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-textarea',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolTextarea implements API {\n\t@Element() private readonly host?: HTMLKolTextareaElement;\n\tprivate ref?: HTMLTextAreaElement;\n\n\tprivate readonly catchRef = (ref?: HTMLTextAreaElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\n\t\treturn (\n\t\t\t<Host class={{ 'has-value': this.state._hasValue }}>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{ textarea: true, 'hide-label': !!this.state._hideLabel, 'has-counter': !!this.state._hasCounter }}\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideError={this.state._hideError}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\trows={this.state._rows}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tresize: this.state._resize,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={this.state._value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: TextareaController;\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Adjusts the height of the element to its content.\n\t * @TODO: change back to AdjustHeightPropType after stencil #4663 has been resolved\n\t */\n\t@Prop() public _adjustHeight?: boolean = false;\n\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * @TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Defines the error message text.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Shows the character count on the lower border of the input.\n\t * @TODO: Change type back to `HasCounterPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCounter?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideErrorPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideError?: 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 hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the maximum number of input characters.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the input element read only.\n\t * @TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Defines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize)\n\t */\n\t@Prop() public _resize?: CSSResize = 'vertical';\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Defines how many rows of text should be visible at the same time.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _rows?: RowsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the input.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_adjustHeight: false,\n\t\t_currentLength: 0,\n\t\t_hasValue: false,\n\t\t_hideError: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: '', // ⚠ required\n\t\t_resize: 'vertical',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new TextareaController(this, 'textarea', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_adjustHeight')\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tthis.controller.validateAdjustHeight(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideError')\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tthis.controller.validateHideError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_resize')\n\tpublic validateResize(value?: CSSResize): void {\n\t\tthis.controller.validateResize(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tprivate readonly onKeyUp = () => {\n\t\tif (this.ref instanceof HTMLTextAreaElement) {\n\t\t\tsetState(this, '_currentLength', this.ref.value.length);\n\t\t\tif (this.state._adjustHeight) {\n\t\t\t\tthis._rows = increaseTextareaHeight(this.ref);\n\t\t\t}\n\t\t}\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{h as t,r as s,F as e}from"./index-
|
|
4
|
+
import{h as t,r as s,F as e}from"./index-0bc40dc4.js";import{a as o}from"./i18n-26e5959d.js";import{n as i}from"./dev.utils-89ea0d85.js";import"./index-ec1baafd.js";import"./index-d56bfd0f.js";import"./a11y.tipps-804709ed.js";import"./reuse-b3566e4c.js";const a=({toastState:s,onClose:e,key:a})=>t("div",{class:`toast ${s.status}`,key:a},t("kol-alert",{class:"alert",_alert:!0,_label:s.toast.label,_level:0,_hasCloser:!0,_type:s.toast.type,_variant:"card",_on:{onClose:e}},t("div",{ref:t=>{"function"==typeof s.toast.render&&t&&s.toast.render(t,{close:()=>e()})}},"string"==typeof s.toast.description?s.toast.description:null))),n="@layer kol-component {\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: fixed;\n\t\tz-index: 200;\n\t}\n\n\t.close-all {\n\t\talign-self: flex-end;\n\t}\n}\n",l=300,c=class{constructor(t){s(this,t),this.state={_toastStates:[]}}async enqueue(t){const s={toast:t,status:"adding",id:`toast-${i()}`};return this.state=Object.assign(Object.assign({},this.state),{_toastStates:[s,...this.state._toastStates]}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((t=>t.id===s.id?Object.assign(Object.assign({},t),{status:"settled"}):t))})}),l),()=>{this.handleClose(s)}}handleClose(t){this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((s=>(s.id===t.id&&(s.status="removing"),s)))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.filter((s=>s.id!==t.id))})}),l)}async closeAll(){this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((t=>Object.assign(Object.assign({},t),{status:"removing"})))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:[]})}),l)}render(){return t(e,null,this.state._toastStates.length>1&&t("kol-button",{_label:o("kol-toast-close-all"),class:"close-all",_on:{onClick:()=>{this.closeAll()}}}),this.state._toastStates.map((s=>t(a,{toastState:s,onClose:()=>this.handleClose(s),key:s.id}))))}};c.style={default:n};export{c as kol_toast_container};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InternalToast","toastState","onClose","key","handleRef","element","toast","render","close","h","class","status","_alert","_label","label","_level","_hasCloser","_type","type","_variant","_on","ref","description","defaultStyleCss","TRANSITION_TIMEOUT","KolToastContainer","_toastStates","enqueue","newToastState","id","nonce","this","state","Object","assign","setTimeout","map","localToastState","handleClose","filter","
|
|
1
|
+
{"version":3,"names":["InternalToast","toastState","onClose","key","handleRef","element","toast","render","close","h","class","status","_alert","_label","label","_level","_hasCloser","_type","type","_variant","_on","ref","description","defaultStyleCss","TRANSITION_TIMEOUT","KolToastContainer","_toastStates","enqueue","newToastState","id","nonce","this","state","Object","assign","setTimeout","map","localToastState","handleClose","filter","closeAll","Fragment","length","translate","onClick"],"sources":["src/components/toaster/InternalToast.tsx","src/components/toaster/style.css?tag=kol-toast-container&mode=default&encapsulation=shadow","src/components/toaster/component.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ToastState } from './types';\n\ntype Props = {\n\ttoastState: ToastState;\n\tonClose: () => void;\n\tkey: string;\n};\nexport const InternalToast = ({ toastState, onClose, key }: Props) => {\n\tconst handleRef = (element?: HTMLDivElement) => {\n\t\tif (typeof toastState.toast.render === 'function' && element) {\n\t\t\ttoastState.toast.render(element, { close: () => onClose() });\n\t\t}\n\t};\n\n\treturn (\n\t\t<div class={`toast ${toastState.status}`} key={key}>\n\t\t\t<kol-alert\n\t\t\t\tclass=\"alert\"\n\t\t\t\t_alert={true}\n\t\t\t\t_label={toastState.toast.label}\n\t\t\t\t_level={0}\n\t\t\t\t_hasCloser={true}\n\t\t\t\t_type={toastState.toast.type}\n\t\t\t\t_variant=\"card\"\n\t\t\t\t_on={{ onClose }}\n\t\t\t>\n\t\t\t\t<div ref={handleRef}>{typeof toastState.toast.description === 'string' ? toastState.toast.description : null}</div>\n\t\t\t</kol-alert>\n\t\t</div>\n\t);\n};\n","@layer kol-component {\n\t:host {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: fixed;\n\t\tz-index: 200;\n\t}\n\n\t.close-all {\n\t\talign-self: flex-end;\n\t}\n}\n","import { Component, Fragment, h, JSX, Method, State } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { nonce } from '../../utils/dev.utils';\nimport { API, States, Toast, ToastState } from './types';\nimport { InternalToast } from './InternalToast';\n\nconst TRANSITION_TIMEOUT = 300;\n\n@Component({\n\ttag: 'kol-toast-container',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolToastContainer implements API {\n\t@State() public state: States = {\n\t\t_toastStates: [],\n\t};\n\n\t// Stencil requires async function:\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\t@Method()\n\tpublic async enqueue(toast: Toast) {\n\t\tconst newToastState: ToastState = {\n\t\t\ttoast,\n\t\t\tstatus: 'adding',\n\t\t\tid: `toast-${nonce()}`,\n\t\t};\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_toastStates: [newToastState, ...this.state._toastStates],\n\t\t};\n\n\t\tsetTimeout(() => {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_toastStates: this.state._toastStates.map((localToastState) =>\n\t\t\t\t\tlocalToastState.id === newToastState.id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t...localToastState,\n\t\t\t\t\t\t\t\tstatus: 'settled',\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: localToastState\n\t\t\t\t),\n\t\t\t};\n\t\t}, TRANSITION_TIMEOUT);\n\n\t\treturn () => {\n\t\t\tthis.handleClose(newToastState);\n\t\t};\n\t}\n\n\tprivate handleClose(toastState: ToastState) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_toastStates: this.state._toastStates.map((localToastState) => {\n\t\t\t\tif (localToastState.id === toastState.id) {\n\t\t\t\t\tlocalToastState.status = 'removing';\n\t\t\t\t}\n\t\t\t\treturn localToastState;\n\t\t\t}),\n\t\t};\n\n\t\tsetTimeout(() => {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_toastStates: this.state._toastStates.filter((localToastState) => localToastState.id !== toastState.id),\n\t\t\t};\n\t\t}, TRANSITION_TIMEOUT);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\t@Method()\n\tpublic async closeAll() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_toastStates: this.state._toastStates.map((localToastState) => ({\n\t\t\t\t...localToastState,\n\t\t\t\tstatus: 'removing',\n\t\t\t})),\n\t\t};\n\n\t\tsetTimeout(() => {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_toastStates: [],\n\t\t\t};\n\t\t}, TRANSITION_TIMEOUT);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{this.state._toastStates.length > 1 && (\n\t\t\t\t\t<kol-button\n\t\t\t\t\t\t_label={translate('kol-toast-close-all')}\n\t\t\t\t\t\tclass=\"close-all\"\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\tvoid this.closeAll();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t></kol-button>\n\t\t\t\t)}\n\t\t\t\t{this.state._toastStates.map((toastState) => (\n\t\t\t\t\t<InternalToast toastState={toastState} onClose={() => this.handleClose(toastState)} key={toastState.id} />\n\t\t\t\t))}\n\t\t\t</Fragment>\n\t\t);\n\t}\n}\n"],"mappings":";;;8PAQO,MAAMA,EAAgB,EAAGC,aAAYC,UAASC,UACpD,MAAMC,EAAaC,IAClB,UAAWJ,EAAWK,MAAMC,SAAW,YAAcF,EAAS,CAC7DJ,EAAWK,MAAMC,OAAOF,EAAS,CAAEG,MAAO,IAAMN,K,GAIlD,OACCO,EAAA,OAAKC,MAAO,SAAST,EAAWU,SAAUR,IAAKA,GAC9CM,EAAA,aACCC,MAAM,QACNE,OAAQ,KACRC,OAAQZ,EAAWK,MAAMQ,MACzBC,OAAQ,EACRC,WAAY,KACZC,MAAOhB,EAAWK,MAAMY,KACxBC,SAAS,OACTC,IAAK,CAAElB,YAEPO,EAAA,OAAKY,IAAKjB,UAAmBH,EAAWK,MAAMgB,cAAgB,SAAWrB,EAAWK,MAAMgB,YAAc,OAEpG,EC7BR,MAAMC,EAAkB,0LCOxB,MAAMC,EAAqB,I,MASdC,EAAiB,M,oCACG,CAC/BC,aAAc,G,CAMR,aAAMC,CAAQrB,GACpB,MAAMsB,EAA4B,CACjCtB,QACAK,OAAQ,SACRkB,GAAI,SAASC,OAEdC,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAc,CAACE,KAAkBG,KAAKC,MAAMN,gBAG7CS,YAAW,KACVJ,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAcK,KAAKC,MAAMN,aAAaU,KAAKC,GAC1CA,EAAgBR,KAAOD,EAAcC,G,+BAE/BQ,GAAe,CAClB1B,OAAQ,YAER0B,KAEJ,GACCb,GAEH,MAAO,KACNO,KAAKO,YAAYV,EAAc,C,CAIzB,WAAAU,CAAYrC,GACnB8B,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAcK,KAAKC,MAAMN,aAAaU,KAAKC,IAC1C,GAAIA,EAAgBR,KAAO5B,EAAW4B,GAAI,CACzCQ,EAAgB1B,OAAS,U,CAE1B,OAAO0B,CAAe,MAIxBF,YAAW,KACVJ,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAcK,KAAKC,MAAMN,aAAaa,QAAQF,GAAoBA,EAAgBR,KAAO5B,EAAW4B,MACpG,GACCL,E,CAKG,cAAMgB,GACZT,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAcK,KAAKC,MAAMN,aAAaU,KAAKC,GAAeJ,OAAAC,OAAAD,OAAAC,OAAA,GACtDG,GAAe,CAClB1B,OAAQ,iBAIVwB,YAAW,KACVJ,KAAKC,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACNH,KAAKC,OAAK,CACbN,aAAc,IACd,GACCF,E,CAGG,MAAAjB,GACN,OACCE,EAACgC,EAAQ,KACPV,KAAKC,MAAMN,aAAagB,OAAS,GACjCjC,EAAA,cACCI,OAAQ8B,EAAU,uBAClBjC,MAAM,YACNU,IAAK,CACJwB,QAAS,UACHb,KAAKS,UAAU,KAKvBT,KAAKC,MAAMN,aAAaU,KAAKnC,GAC7BQ,EAACT,EAAa,CAACC,WAAYA,EAAYC,QAAS,IAAM6B,KAAKO,YAAYrC,GAAaE,IAAKF,EAAW4B,O"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,h as i,H as
|
|
4
|
+
import{r as t,h as i,H as e}from"./index-0bc40dc4.js";import{v as s}from"./has-closer-6e81759e.js";import{v as a}from"./label-708d4611.js";import{v as o}from"./show-7588def9.js";import{a as h,s as l,e as n,w as r}from"./prop.validators-50c7d885.js";import{w as d}from"./validation-eb20e4ad.js";import"./a11y.tipps-804709ed.js";import"./dev.utils-89ea0d85.js";import"./reuse-b3566e4c.js";import"./index-d56bfd0f.js";const p=":host{--a11y-min-size:44px;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}:host>div{background-color:#fff;height:0;left:0;position:fixed;top:0;width:100%;z-index:200}:host>div>kol-alert{display:block;margin:auto;max-width:750px}:host>div>kol-button-wc{display:block;margin:auto;position:relative;top:0;width:1em}",u=class{constructor(i){t(this,i),this.handleShowAndDuration=()=>{!0===this.state._show&&"number"==typeof this.state._showDuration&&this.state._showDuration>=0&&(clearTimeout(this.durationTimeout),this.durationTimeout=setTimeout((()=>{this.close()}),this.state._showDuration))},this.close=()=>{var t;this._show=!1,this.state=Object.assign(Object.assign({},this.state),{_show:!1}),void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClose:this.close},this._alert=!0,this._hasCloser=!1,this._heading="",this._label=void 0,this._level=1,this._on=void 0,this._show=!0,this._showDuration=1e4,this._type="default",this.state={_alert:!0,_level:1,_show:!0}}validateAlert(t){h(this,"_alert",t)}validateHasCloser(t){s(this,t)}validateHeading(t){this.validateLabel(t)}validateLabel(t){a(this,t)}validateLevel(t){d(this,t)}validateOn(t){"object"!=typeof t||"function"!=typeof(null==t?void 0:t.onClose)&&!0!==t.onClose||l(this,"_on",{onClose:t.onClose})}validateShow(t){o(this,t,{hooks:{afterPatch:this.handleShowAndDuration}})}validateShowDuration(t){n(this,"_showDuration",t,{hooks:{afterPatch:this.handleShowAndDuration}})}validateType(t){r(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateLabel(this._label||this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateShow(this._show),this.validateShowDuration(this._showDuration),this.validateType(this._type)}render(){return i(e,null,this.state._show&&i("div",null,i("kol-alert",{_alert:this.state._alert,_label:this.state._label,_level:this.state._level,_hasCloser:this.state._hasCloser,_type:this.state._type,_variant:"card",_on:this.on},i("slot",null))))}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_label:["validateLabel"],_level:["validateLevel"],_on:["validateOn"],_show:["validateShow"],_showDuration:["validateShowDuration"],_type:["validateType"]}}};u.style={default:p};export{u as kol_toast};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultStyleCss","KolToast","this","handleShowAndDuration","state","_show","_showDuration","clearTimeout","durationTimeout","setTimeout","close","Object","assign","_a","_on","onClose","undefined","Event","on","_alert","_level","validateAlert","value","watchBoolean","validateHasCloser","validateHeading","validateLabel","validateLevel","watchHeadingLevel","validateOn","setState","validateShow","hooks","afterPatch","validateShowDuration","watchNumber","validateType","watchValidator","Set","componentWillLoad","_hasCloser","_label","_heading","_type","render","h","Host","_variant"],"sources":["src/components/toast/style.css?tag=kol-toast&mode=default&encapsulation=shadow","src/components/toast/component.tsx"],"sourcesContent":["@import url(../style.css);\n@import url(../host-display-block.css);\n:host > div {\n\tbackground-color: #fff;\n\t/* needed for overlay situations */\n\theight: 0;\n\tleft: 0;\n\tposition: fixed;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 200;\n}\n:host > div > kol-alert {\n\tdisplay: block;\n\tmargin: auto;\n\tmax-width: 750px;\n}\n:host > div > kol-button-wc {\n\tdisplay: block;\n\tmargin: auto;\n\tposition: relative;\n\ttop: 0;\n\twidth: 1em;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { HeadingLevel } from '../../types/heading-level';\nimport { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { ShowPropType, validateShow } from '../../types/props/show';\nimport { KoliBriToastEventCallbacks } from '../../types/toast';\nimport { setState, watchBoolean, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { AlertType } from '../alert/types';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { API, States } from './types';\n\n/**\n * @slot - Der Inhalt der Meldung.\n * @deprecated - Use ToastService - see toaster\n */\n@Component({\n\ttag: 'kol-toast',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolToast implements API {\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = true;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Deprecated: Gibt die Beschriftung der Komponente an.\n\t * @deprecated Use _label.\n\t */\n\t@Prop() public _heading?: string = '';\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 H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Toasts an.\n\t */\n\t@Prop() public _on?: KoliBriToastEventCallbacks;\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 = true;\n\n\t/**\n\t * Gibt an, wie viele Millisekunden der Toast eingeblendet werden soll.\n\t */\n\t@Prop() public _showDuration?: number = 10000;\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t@State() public state: States = {\n\t\t_alert: true,\n\t\t_level: 1,\n\t\t_show: true,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriToastEventCallbacks): void {\n\t\tif (typeof value === 'object' && (typeof value?.onClose === 'function' || value.onClose === true)) {\n\t\t\tsetState<KoliBriToastEventCallbacks>(this, '_on', { onClose: value.onClose });\n\t\t}\n\t}\n\n\t@Watch('_show')\n\tpublic validateShow(value?: ShowPropType): void {\n\t\tvalidateShow(this, value, { hooks: { afterPatch: this.handleShowAndDuration } });\n\t}\n\n\t@Watch('_showDuration')\n\tpublic validateShowDuration(value?: number): void {\n\t\twatchNumber(this, '_showDuration', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleShowAndDuration,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateLabel(this._label || this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateShow(this._show);\n\t\tthis.validateShowDuration(this._showDuration);\n\t\tthis.validateType(this._type);\n\t}\n\n\tprivate durationTimeout?: number;\n\n\tprivate readonly handleShowAndDuration = () => {\n\t\tif (this.state._show === true && typeof this.state._showDuration === 'number' && this.state._showDuration >= 0) {\n\t\t\tclearTimeout(this.durationTimeout);\n\t\t\tthis.durationTimeout = setTimeout(() => {\n\t\t\t\tthis.close();\n\t\t\t}, this.state._showDuration) as unknown as number;\n\t\t}\n\t};\n\n\tprivate readonly close = () => {\n\t\tthis._show = false;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_show: false,\n\t\t};\n\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClose: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{this.state._show && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<kol-alert\n\t\t\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t\t\t_level={this.state._level}\n\t\t\t\t\t\t\t_hasCloser={this.state._hasCloser}\n\t\t\t\t\t\t\t_type={this.state._type}\n\t\t\t\t\t\t\t_variant=\"card\"\n\t\t\t\t\t\t\t// tabindex=\"0\"\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</kol-alert>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":";;;+ZAAA,MAAMA,EAAkB,
|
|
1
|
+
{"version":3,"names":["defaultStyleCss","KolToast","this","handleShowAndDuration","state","_show","_showDuration","clearTimeout","durationTimeout","setTimeout","close","Object","assign","_a","_on","onClose","undefined","Event","on","_alert","_level","validateAlert","value","watchBoolean","validateHasCloser","validateHeading","validateLabel","validateLevel","watchHeadingLevel","validateOn","setState","validateShow","hooks","afterPatch","validateShowDuration","watchNumber","validateType","watchValidator","Set","componentWillLoad","_hasCloser","_label","_heading","_type","render","h","Host","_variant"],"sources":["src/components/toast/style.css?tag=kol-toast&mode=default&encapsulation=shadow","src/components/toast/component.tsx"],"sourcesContent":["@import url(../style.css);\n@import url(../host-display-block.css);\n:host > div {\n\tbackground-color: #fff;\n\t/* needed for overlay situations */\n\theight: 0;\n\tleft: 0;\n\tposition: fixed;\n\ttop: 0;\n\twidth: 100%;\n\tz-index: 200;\n}\n:host > div > kol-alert {\n\tdisplay: block;\n\tmargin: auto;\n\tmax-width: 750px;\n}\n:host > div > kol-button-wc {\n\tdisplay: block;\n\tmargin: auto;\n\tposition: relative;\n\ttop: 0;\n\twidth: 1em;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { HeadingLevel } from '../../types/heading-level';\nimport { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { ShowPropType, validateShow } from '../../types/props/show';\nimport { KoliBriToastEventCallbacks } from '../../types/toast';\nimport { setState, watchBoolean, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { AlertType } from '../alert/types';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { API, States } from './types';\n\n/**\n * @slot - Der Inhalt der Meldung.\n * @deprecated - Use ToastService - see toaster\n */\n@Component({\n\ttag: 'kol-toast',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolToast implements API {\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = true;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Deprecated: Gibt die Beschriftung der Komponente an.\n\t * @deprecated Use _label.\n\t */\n\t@Prop() public _heading?: string = '';\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 H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Toasts an.\n\t */\n\t@Prop() public _on?: KoliBriToastEventCallbacks;\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 = true;\n\n\t/**\n\t * Gibt an, wie viele Millisekunden der Toast eingeblendet werden soll.\n\t */\n\t@Prop() public _showDuration?: number = 10000;\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t@State() public state: States = {\n\t\t_alert: true,\n\t\t_level: 1,\n\t\t_show: true,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriToastEventCallbacks): void {\n\t\tif (typeof value === 'object' && (typeof value?.onClose === 'function' || value.onClose === true)) {\n\t\t\tsetState<KoliBriToastEventCallbacks>(this, '_on', { onClose: value.onClose });\n\t\t}\n\t}\n\n\t@Watch('_show')\n\tpublic validateShow(value?: ShowPropType): void {\n\t\tvalidateShow(this, value, { hooks: { afterPatch: this.handleShowAndDuration } });\n\t}\n\n\t@Watch('_showDuration')\n\tpublic validateShowDuration(value?: number): void {\n\t\twatchNumber(this, '_showDuration', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleShowAndDuration,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateLabel(this._label || this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateShow(this._show);\n\t\tthis.validateShowDuration(this._showDuration);\n\t\tthis.validateType(this._type);\n\t}\n\n\tprivate durationTimeout?: number;\n\n\tprivate readonly handleShowAndDuration = () => {\n\t\tif (this.state._show === true && typeof this.state._showDuration === 'number' && this.state._showDuration >= 0) {\n\t\t\tclearTimeout(this.durationTimeout);\n\t\t\tthis.durationTimeout = setTimeout(() => {\n\t\t\t\tthis.close();\n\t\t\t}, this.state._showDuration) as unknown as number;\n\t\t}\n\t};\n\n\tprivate readonly close = () => {\n\t\tthis._show = false;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_show: false,\n\t\t};\n\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClose: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{this.state._show && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<kol-alert\n\t\t\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t\t\t_level={this.state._level}\n\t\t\t\t\t\t\t_hasCloser={this.state._hasCloser}\n\t\t\t\t\t\t\t_type={this.state._type}\n\t\t\t\t\t\t\t_variant=\"card\"\n\t\t\t\t\t\t\t// tabindex=\"0\"\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</kol-alert>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":";;;+ZAAA,MAAMA,EAAkB,m4B,MCuBXC,EAAQ,M,yBA6HHC,KAAAC,sBAAwB,KACxC,GAAID,KAAKE,MAAMC,QAAU,aAAeH,KAAKE,MAAME,gBAAkB,UAAYJ,KAAKE,MAAME,eAAiB,EAAG,CAC/GC,aAAaL,KAAKM,iBAClBN,KAAKM,gBAAkBC,YAAW,KACjCP,KAAKQ,OAAO,GACVR,KAAKE,MAAME,c,GAICJ,KAAAQ,MAAQ,K,MACxBR,KAAKG,MAAQ,MACbH,KAAKE,MAAKO,OAAAC,OAAAD,OAAAC,OAAA,GACNV,KAAKE,OAAK,CACbC,MAAO,QAGR,KAAIQ,EAAAX,KAAKY,OAAG,MAAAD,SAAA,SAAAA,EAAEE,WAAYC,UAAW,CACpCd,KAAKY,IAAIC,QAAQ,IAAIE,MAAM,S,GAIZf,KAAAgB,GAAK,CACrBH,QAASb,KAAKQ,O,YA/ImB,K,gBAMI,M,cAMH,G,kCAUI,E,8BAW0B,K,mBAKzB,I,WAKL,U,WAEH,CAC/BS,OAAQ,KACRC,OAAQ,EACRf,MAAO,K,CAID,aAAAgB,CAAcC,GACpBC,EAAarB,KAAM,SAAUoB,E,CAIvB,iBAAAE,CAAkBF,GACxBE,EAAkBtB,KAAMoB,E,CAIlB,eAAAG,CAAgBH,GACtBpB,KAAKwB,cAAcJ,E,CAIb,aAAAI,CAAcJ,GACpBI,EAAcxB,KAAMoB,E,CAId,aAAAK,CAAcL,GACpBM,EAAkB1B,KAAMoB,E,CAIlB,UAAAO,CAAWP,GACjB,UAAWA,IAAU,kBAAoBA,IAAK,MAALA,SAAK,SAALA,EAAOP,WAAY,YAAcO,EAAMP,UAAY,MAAO,CAClGe,EAAqC5B,KAAM,MAAO,CAAEa,QAASO,EAAMP,S,EAK9D,YAAAgB,CAAaT,GACnBS,EAAa7B,KAAMoB,EAAO,CAAEU,MAAO,CAAEC,WAAY/B,KAAKC,wB,CAIhD,oBAAA+B,CAAqBZ,GAC3Ba,EAAYjC,KAAM,gBAAiBoB,EAAO,CACzCU,MAAO,CACNC,WAAY/B,KAAKC,wB,CAMb,YAAAiC,CAAad,GACnBe,EACCnC,KACA,SACCoB,UAAiBA,IAAU,WAAaA,IAAU,WAAaA,IAAU,SAAWA,IAAU,QAAUA,IAAU,WAAaA,IAAU,YAC1I,IAAIgB,IAAI,0CACRhB,E,CAIK,iBAAAiB,GACNrC,KAAKmB,cAAcnB,KAAKiB,QACxBjB,KAAKsB,kBAAkBtB,KAAKsC,YAC5BtC,KAAKwB,cAAcxB,KAAKuC,QAAUvC,KAAKwC,UACvCxC,KAAKyB,cAAczB,KAAKkB,QACxBlB,KAAK2B,WAAW3B,KAAKY,KACrBZ,KAAK6B,aAAa7B,KAAKG,OACvBH,KAAKgC,qBAAqBhC,KAAKI,eAC/BJ,KAAKkC,aAAalC,KAAKyC,M,CA8BjB,MAAAC,GACN,OACCC,EAACC,EAAI,KACH5C,KAAKE,MAAMC,OACXwC,EAAA,WACCA,EAAA,aACC1B,OAAQjB,KAAKE,MAAMe,OACnBsB,OAAQvC,KAAKE,MAAMqC,OACnBrB,OAAQlB,KAAKE,MAAMgB,OACnBoB,WAAYtC,KAAKE,MAAMoC,WACvBG,MAAOzC,KAAKE,MAAMuC,MAClBI,SAAS,OAETjC,IAAKZ,KAAKgB,IAEV2B,EAAA,e"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as i,h as t}from"./index-
|
|
4
|
+
import{r as i,h as t}from"./index-0bc40dc4.js";import{v as e}from"./label-708d4611.js";import"./a11y.tipps-804709ed.js";import"./dev.utils-89ea0d85.js";import"./reuse-b3566e4c.js";import"./prop.validators-50c7d885.js";import"./index-d56bfd0f.js";var n;!function(e){e.Violett="#5f316e",e.Dunkelrot="#780f2d",e.Rot="#c0003c",e.Orange="#cd5038",e.Hellorange="#f7bb3d",e.Gelb="#f9e03a",e["Hellgrün"]="#c1ca31",e.Oliv="#597c39",e["Dunkelgrün"]="#005c45",e["Grün"]="#00854a",e["Türkis"]="#00818b",e.Hellblau="#80cdec",e.Blau="#0077b6",e.Petrol="#007194",e.Dunkelblau="#004b76",e.Dunkelgrau="#576164",e.Hellgrau="#bec5c9"}(n||(n={}));const o=":host{--a11y-min-size:44px;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}",a=class{constructor(e){i(this,e),this._label=void 0,this._version=void 0,this.state={_label:"0.0.0-alpha.0"}}render(){return t("kol-badge",{_color:n.Hellgrau,_icon:"codicon codicon-versions",_label:`v${this.state._label}`})}validateLabel(a){e(this,a)}validateVersion(e){this.validateLabel(e)}componentWillLoad(){this.validateLabel(this._label||this._version)}static get watchers(){return{_label:["validateLabel"],_version:["validateVersion"]}}};a.style={default:o};export{a as kol_version};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Farbspektrum","defaultStyleCss","KolVersion","_label","render","h","_color","Hellgrau","_icon","this","state","validateLabel","value","validateVersion","componentWillLoad","_version"],"sources":["src/enums/color.ts","src/components/version/style.css?tag=kol-version&mode=default&encapsulation=shadow","src/components/version/component.tsx"],"sourcesContent":["/**\n * @deprecated We will remove this enum in the next major release.\n */\nexport type FarbspektrumNames =\n\t| 'Violett'\n\t| 'Dunkelrot'\n\t| 'Rot'\n\t| 'Orange'\n\t| 'Hellorange'\n\t| 'Gelb'\n\t| 'Hellgrün'\n\t| 'Oliv'\n\t| 'Dunkelgrün'\n\t| 'Grün'\n\t| 'Türkis'\n\t| 'Hellblau'\n\t| 'Blau'\n\t| 'Petrol'\n\t| 'Dunkelblau'\n\t| 'Dunkelgrau'\n\t| 'Hellgrau';\n\n/**\n * @deprecated We will remove this enum in the next major release.\n */\nexport enum Farbspektrum {\n\t'Violett' = '#5f316e',\n\t'Dunkelrot' = '#780f2d',\n\t'Rot' = '#c0003c',\n\t'Orange' = '#cd5038',\n\t'Hellorange' = '#f7bb3d',\n\t'Gelb' = '#f9e03a',\n\t'Hellgrün' = '#c1ca31',\n\t'Oliv' = '#597c39',\n\t'Dunkelgrün' = '#005c45',\n\t'Grün' = '#00854a',\n\t'Türkis' = '#00818b',\n\t'Hellblau' = '#80cdec',\n\t'Blau' = '#0077b6',\n\t'Petrol' = '#007194',\n\t'Dunkelblau' = '#004b76',\n\t'Dunkelgrau' = '#576164',\n\t'Hellgrau' = '#bec5c9',\n}\n","@import url(../style.css);\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Farbspektrum } from '../../enums/color';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { API, States } from './types';\n\n@Component({\n\ttag: 'kol-version',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolVersion implements API {\n\tpublic render(): JSX.Element {\n\t\treturn <kol-badge _color={Farbspektrum.Hellgrau} _icon=\"codicon codicon-versions\" _label={`v${this.state._label}`} />;\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; // TODO: required in v2\n\n\t/**\n\t * Deprecated: Gibt die Versionsnummer als Text an.\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _version?: string;\n\n\t@State() public state: States = {\n\t\t_label: '0.0.0-alpha.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('_version')\n\tpublic validateVersion(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label || this._version);\n\t}\n}\n"],"mappings":";;;sPAyBA,IAAYA,GAAZ,SAAYA,GACXA,EAAA,qBACAA,EAAA,uBACAA,EAAA,iBACAA,EAAA,oBACAA,EAAA,wBACAA,EAAA,kBACAA,EAAA,sBACAA,EAAA,kBACAA,EAAA,wBACAA,EAAA,kBACAA,EAAA,oBACAA,EAAA,sBACAA,EAAA,kBACAA,EAAA,oBACAA,EAAA,wBACAA,EAAA,wBACAA,EAAA,qBACA,EAlBD,CAAYA,MAAY,KCzBxB,MAAMC,EAAkB,
|
|
1
|
+
{"version":3,"names":["Farbspektrum","defaultStyleCss","KolVersion","_label","render","h","_color","Hellgrau","_icon","this","state","validateLabel","value","validateVersion","componentWillLoad","_version"],"sources":["src/enums/color.ts","src/components/version/style.css?tag=kol-version&mode=default&encapsulation=shadow","src/components/version/component.tsx"],"sourcesContent":["/**\n * @deprecated We will remove this enum in the next major release.\n */\nexport type FarbspektrumNames =\n\t| 'Violett'\n\t| 'Dunkelrot'\n\t| 'Rot'\n\t| 'Orange'\n\t| 'Hellorange'\n\t| 'Gelb'\n\t| 'Hellgrün'\n\t| 'Oliv'\n\t| 'Dunkelgrün'\n\t| 'Grün'\n\t| 'Türkis'\n\t| 'Hellblau'\n\t| 'Blau'\n\t| 'Petrol'\n\t| 'Dunkelblau'\n\t| 'Dunkelgrau'\n\t| 'Hellgrau';\n\n/**\n * @deprecated We will remove this enum in the next major release.\n */\nexport enum Farbspektrum {\n\t'Violett' = '#5f316e',\n\t'Dunkelrot' = '#780f2d',\n\t'Rot' = '#c0003c',\n\t'Orange' = '#cd5038',\n\t'Hellorange' = '#f7bb3d',\n\t'Gelb' = '#f9e03a',\n\t'Hellgrün' = '#c1ca31',\n\t'Oliv' = '#597c39',\n\t'Dunkelgrün' = '#005c45',\n\t'Grün' = '#00854a',\n\t'Türkis' = '#00818b',\n\t'Hellblau' = '#80cdec',\n\t'Blau' = '#0077b6',\n\t'Petrol' = '#007194',\n\t'Dunkelblau' = '#004b76',\n\t'Dunkelgrau' = '#576164',\n\t'Hellgrau' = '#bec5c9',\n}\n","@import url(../style.css);\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Farbspektrum } from '../../enums/color';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { API, States } from './types';\n\n@Component({\n\ttag: 'kol-version',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolVersion implements API {\n\tpublic render(): JSX.Element {\n\t\treturn <kol-badge _color={Farbspektrum.Hellgrau} _icon=\"codicon codicon-versions\" _label={`v${this.state._label}`} />;\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; // TODO: required in v2\n\n\t/**\n\t * Deprecated: Gibt die Versionsnummer als Text an.\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _version?: string;\n\n\t@State() public state: States = {\n\t\t_label: '0.0.0-alpha.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('_version')\n\tpublic validateVersion(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label || this._version);\n\t}\n}\n"],"mappings":";;;sPAyBA,IAAYA,GAAZ,SAAYA,GACXA,EAAA,qBACAA,EAAA,uBACAA,EAAA,iBACAA,EAAA,oBACAA,EAAA,wBACAA,EAAA,kBACAA,EAAA,sBACAA,EAAA,kBACAA,EAAA,wBACAA,EAAA,kBACAA,EAAA,oBACAA,EAAA,sBACAA,EAAA,kBACAA,EAAA,oBACAA,EAAA,wBACAA,EAAA,wBACAA,EAAA,qBACA,EAlBD,CAAYA,MAAY,KCzBxB,MAAMC,EAAkB,ioB,MCaXC,EAAU,M,kFAgBU,CAC/BC,OAAQ,gB,CAhBF,MAAAC,GACN,OAAOC,EAAA,aAAWC,OAAQN,EAAaO,SAAUC,MAAM,2BAA2BL,OAAQ,IAAIM,KAAKC,MAAMP,U,CAmBnG,aAAAQ,CAAcC,GACpBD,EAAcF,KAAMG,E,CAId,eAAAC,CAAgBD,GACtBH,KAAKE,cAAcC,E,CAGb,iBAAAE,GACNL,KAAKE,cAAcF,KAAKN,QAAUM,KAAKM,S"}
|