@public-ui/components 1.6.0-rc.21 → 1.6.0-rc.22
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 +33 -9
- package/dist/cjs/{a11y.tipps-b6c69152.js → a11y.tipps-29f0cafa.js} +1 -1
- package/dist/cjs/{a11y.tipps-b6c69152.js.map → a11y.tipps-29f0cafa.js.map} +1 -1
- package/dist/cjs/{align-cddf5d25.js → align-e1ae85d7.js} +1 -1
- package/dist/cjs/{align-cddf5d25.js.map → align-e1ae85d7.js.map} +1 -1
- package/dist/cjs/{app-globals-feb1b3c4.js → app-globals-195a2a91.js} +1 -1
- package/dist/cjs/{app-globals-feb1b3c4.js.map → app-globals-195a2a91.js.map} +1 -1
- package/dist/cjs/{aria-current-3a6c3799.js → aria-current-23e7f209.js} +1 -1
- package/dist/cjs/{aria-current-3a6c3799.js.map → aria-current-23e7f209.js.map} +1 -1
- package/dist/cjs/aria-selected-373eb055.js +4 -0
- package/dist/cjs/{aria-selected-3951e1df.js.map → aria-selected-373eb055.js.map} +1 -1
- package/dist/cjs/associated.controller-97ca9eca.js +4 -0
- package/dist/cjs/associated.controller-97ca9eca.js.map +1 -0
- package/dist/cjs/button-link-e2d7ef9a.js +4 -0
- package/dist/cjs/button-link-e2d7ef9a.js.map +1 -0
- package/dist/cjs/{color-1f2c934b.js → color-d577ac0a.js} +1 -1
- package/dist/cjs/{color-1f2c934b.js.map → color-d577ac0a.js.map} +1 -1
- package/dist/cjs/controller-1b143ed7.js +4 -0
- package/dist/cjs/{controller-39ffcc0a.js.map → controller-1b143ed7.js.map} +1 -1
- package/dist/cjs/{controller-71b8adda.js → controller-2cec3621.js} +1 -1
- package/dist/cjs/{controller-71b8adda.js.map → controller-2cec3621.js.map} +1 -1
- package/dist/cjs/{controller-489fdcc0.js → controller-97320bd7.js} +1 -1
- package/dist/cjs/{controller-489fdcc0.js.map → controller-97320bd7.js.map} +1 -1
- package/dist/cjs/{controller-8e5cfc47.js → controller-b8229ca6.js} +1 -1
- package/dist/cjs/{controller-8e5cfc47.js.map → controller-b8229ca6.js.map} +1 -1
- package/dist/cjs/{controller-402687c8.js → controller-ba73b764.js} +1 -1
- package/dist/cjs/{controller-402687c8.js.map → controller-ba73b764.js.map} +1 -1
- package/dist/cjs/controller-f7d39413.js +4 -0
- package/dist/cjs/controller-f7d39413.js.map +1 -0
- package/dist/cjs/{controller-icon-c201c7d5.js → controller-icon-c41c5270.js} +1 -1
- package/dist/cjs/{controller-icon-c201c7d5.js.map → controller-icon-c41c5270.js.map} +1 -1
- package/dist/cjs/{dev.utils-5f0e00ab.js → dev.utils-321ffc6a.js} +1 -1
- package/dist/cjs/{dev.utils-5f0e00ab.js.map → dev.utils-321ffc6a.js.map} +1 -1
- package/dist/cjs/{devtools-cc92674a.js → devtools-76c34bd7.js} +1 -1
- package/dist/cjs/{devtools-cc92674a.js.map → devtools-76c34bd7.js.map} +1 -1
- package/dist/cjs/{disabled-38b96861.js → disabled-b7ede754.js} +1 -1
- package/dist/cjs/{disabled-38b96861.js.map → disabled-b7ede754.js.map} +1 -1
- package/dist/cjs/has-closer-2ae25325.js +4 -0
- package/dist/cjs/has-closer-2ae25325.js.map +1 -0
- package/dist/cjs/hide-label-6f7141bf.js +4 -0
- package/dist/cjs/{hide-label-847476f3.js.map → hide-label-6f7141bf.js.map} +1 -1
- package/dist/cjs/{i18n-65c01ca1.js → i18n-0cf2b0b5.js} +1 -1
- package/dist/cjs/{i18n-65c01ca1.js.map → i18n-0cf2b0b5.js.map} +1 -1
- package/dist/cjs/{icon-ff2d91d2.js → icon-3aeefaaa.js} +1 -1
- package/dist/cjs/{icon-ff2d91d2.js.map → icon-3aeefaaa.js.map} +1 -1
- package/dist/cjs/image-source-21f4dce9.js +4 -0
- package/dist/cjs/{image-source-cf475786.js.map → image-source-21f4dce9.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_2.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-form.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-input-adapter-leanup.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +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-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +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-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/{label-81c2b4d8.js → label-3298a541.js} +1 -1
- package/dist/cjs/{label-81c2b4d8.js.map → label-3298a541.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{prop.validators-f5b2df4a.js → prop.validators-e30f7e43.js} +1 -1
- package/dist/cjs/{prop.validators-f5b2df4a.js.map → prop.validators-e30f7e43.js.map} +1 -1
- package/dist/cjs/rows-aaaf2861.js +4 -0
- package/dist/cjs/{rows-9ba1be1b.js.map → rows-aaaf2861.js.map} +1 -1
- package/dist/cjs/show-ccaf9fcc.js +4 -0
- package/dist/cjs/{show-fc77c66d.js.map → show-ccaf9fcc.js.map} +1 -1
- package/dist/cjs/suggestions-cb2c4edc.js +4 -0
- package/dist/cjs/{suggestions-aaab103a.js.map → suggestions-cb2c4edc.js.map} +1 -1
- package/dist/cjs/{tab-index-65890b01.js → tab-index-b47a42c0.js} +1 -1
- package/dist/cjs/{tab-index-65890b01.js.map → tab-index-b47a42c0.js.map} +1 -1
- package/dist/cjs/validation-91444c75.js +4 -0
- package/dist/cjs/{validation-f547a58e.js.map → validation-91444c75.js.map} +1 -1
- package/dist/cjs/{validation-e8f9410c.js → validation-9a52f85a.js} +1 -1
- package/dist/cjs/{validation-e8f9410c.js.map → validation-9a52f85a.js.map} +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component16.js +1 -1
- package/dist/components/component16.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component5.js.map +1 -1
- package/dist/components/component6.js +1 -1
- package/dist/components/component6.js.map +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/has-closer.js +4 -0
- package/dist/components/has-closer.js.map +1 -0
- 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-input-checkbox.js +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-nav.js +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-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/kol-toast.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/shadow3.js.map +1 -1
- package/dist/esm/{a11y.tipps-5aaa4b49.js → a11y.tipps-821939d5.js} +1 -1
- package/dist/esm/{a11y.tipps-5aaa4b49.js.map → a11y.tipps-821939d5.js.map} +1 -1
- package/dist/esm/{align-46b557d8.js → align-e9fb20f3.js} +1 -1
- package/dist/esm/{align-46b557d8.js.map → align-e9fb20f3.js.map} +1 -1
- package/dist/esm/app-globals-850b7823.js +4 -0
- package/dist/esm/{app-globals-8544fc2e.js.map → app-globals-850b7823.js.map} +1 -1
- package/dist/esm/{aria-current-8612e789.js → aria-current-37a9a3f1.js} +1 -1
- package/dist/esm/{aria-current-8612e789.js.map → aria-current-37a9a3f1.js.map} +1 -1
- package/dist/esm/{aria-selected-207d2ea4.js → aria-selected-0386e515.js} +1 -1
- package/dist/esm/{aria-selected-207d2ea4.js.map → aria-selected-0386e515.js.map} +1 -1
- package/dist/esm/associated.controller-3e40ba0b.js +4 -0
- package/dist/esm/associated.controller-3e40ba0b.js.map +1 -0
- package/dist/esm/{button-link-9942db79.js → button-link-6120340d.js} +1 -1
- package/dist/esm/button-link-6120340d.js.map +1 -0
- package/dist/esm/{color-a7490f10.js → color-f4345d8c.js} +1 -1
- package/dist/esm/{color-a7490f10.js.map → color-f4345d8c.js.map} +1 -1
- package/dist/esm/{controller-fc8c559f.js → controller-3a980b61.js} +1 -1
- package/dist/esm/{controller-fc8c559f.js.map → controller-3a980b61.js.map} +1 -1
- package/dist/esm/{controller-5f60dd72.js → controller-68f2cdb6.js} +1 -1
- package/dist/esm/{controller-5f60dd72.js.map → controller-68f2cdb6.js.map} +1 -1
- package/dist/esm/controller-6f322c76.js +4 -0
- package/dist/esm/controller-6f322c76.js.map +1 -0
- package/dist/esm/{controller-80b38097.js → controller-a49613e3.js} +1 -1
- package/dist/esm/{controller-80b38097.js.map → controller-a49613e3.js.map} +1 -1
- package/dist/esm/{controller-1c487267.js → controller-b764d8af.js} +1 -1
- package/dist/esm/{controller-1c487267.js.map → controller-b764d8af.js.map} +1 -1
- package/dist/esm/{controller-069ae0d1.js → controller-efa536a1.js} +1 -1
- package/dist/esm/{controller-069ae0d1.js.map → controller-efa536a1.js.map} +1 -1
- package/dist/esm/{controller-icon-bdcafd14.js → controller-icon-3babfd57.js} +1 -1
- package/dist/esm/{controller-icon-bdcafd14.js.map → controller-icon-3babfd57.js.map} +1 -1
- package/dist/esm/{dev.utils-465c4239.js → dev.utils-a47b8ff2.js} +1 -1
- package/dist/esm/{dev.utils-465c4239.js.map → dev.utils-a47b8ff2.js.map} +1 -1
- package/dist/esm/{devtools-1313f714.js → devtools-5e004f63.js} +1 -1
- package/dist/esm/{devtools-1313f714.js.map → devtools-5e004f63.js.map} +1 -1
- package/dist/esm/{disabled-5bc12dcc.js → disabled-5ede917f.js} +1 -1
- package/dist/esm/{disabled-5bc12dcc.js.map → disabled-5ede917f.js.map} +1 -1
- package/dist/esm/{has-closer-4c62df54.js → has-closer-86755c14.js} +1 -1
- package/dist/esm/has-closer-86755c14.js.map +1 -0
- package/dist/esm/{hide-label-00f5fca6.js → hide-label-718f4d6f.js} +1 -1
- package/dist/esm/{hide-label-00f5fca6.js.map → hide-label-718f4d6f.js.map} +1 -1
- package/dist/esm/{i18n-3e70fd9b.js → i18n-f8299375.js} +1 -1
- package/dist/esm/{i18n-3e70fd9b.js.map → i18n-f8299375.js.map} +1 -1
- package/dist/esm/{icon-a7f1237b.js → icon-01c8c999.js} +1 -1
- package/dist/esm/{icon-a7f1237b.js.map → icon-01c8c999.js.map} +1 -1
- package/dist/esm/{image-source-f4078f95.js → image-source-d19a1378.js} +1 -1
- package/dist/esm/{image-source-f4078f95.js.map → image-source-d19a1378.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc_2.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc_2.entry.js +1 -1
- package/dist/esm/kol-button-wc_2.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-form.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-input-adapter-leanup.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-radio-group.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-popover.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +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-span-wc.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +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-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/{label-e3523fd1.js → label-7743754d.js} +1 -1
- package/dist/esm/{label-e3523fd1.js.map → label-7743754d.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{prop.validators-05d07b50.js → prop.validators-6a2ec81f.js} +1 -1
- package/dist/esm/{prop.validators-05d07b50.js.map → prop.validators-6a2ec81f.js.map} +1 -1
- package/dist/esm/{rows-d1f8df71.js → rows-ee52c8a7.js} +1 -1
- package/dist/esm/{rows-d1f8df71.js.map → rows-ee52c8a7.js.map} +1 -1
- package/dist/esm/{show-25c06c08.js → show-ca4f53ef.js} +1 -1
- package/dist/esm/{show-25c06c08.js.map → show-ca4f53ef.js.map} +1 -1
- package/dist/esm/{suggestions-16a1bf61.js → suggestions-c770bce0.js} +1 -1
- package/dist/esm/{suggestions-16a1bf61.js.map → suggestions-c770bce0.js.map} +1 -1
- package/dist/esm/{tab-index-fcb7ecac.js → tab-index-cbaa8f9d.js} +1 -1
- package/dist/esm/{tab-index-fcb7ecac.js.map → tab-index-cbaa8f9d.js.map} +1 -1
- package/dist/esm/validation-a02a4280.js +4 -0
- package/dist/esm/{validation-82792e37.js.map → validation-a02a4280.js.map} +1 -1
- package/dist/esm/{validation-77718ded.js → validation-e0ef3555.js} +1 -1
- package/dist/esm/{validation-77718ded.js.map → validation-e0ef3555.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-5aaa4b49.js → a11y.tipps-821939d5.js} +1 -1
- package/dist/kolibri/{align-46b557d8.js → align-e9fb20f3.js} +1 -1
- package/dist/kolibri/{app-globals-8544fc2e.js → app-globals-850b7823.js} +1 -1
- package/dist/kolibri/aria-current-37a9a3f1.js +4 -0
- package/dist/kolibri/aria-selected-0386e515.js +4 -0
- package/dist/kolibri/associated.controller-3e40ba0b.js +4 -0
- package/dist/kolibri/associated.controller-3e40ba0b.js.map +1 -0
- package/dist/kolibri/button-link-6120340d.js +4 -0
- package/dist/kolibri/button-link-6120340d.js.map +1 -0
- package/dist/kolibri/{color-a7490f10.js → color-f4345d8c.js} +1 -1
- package/dist/kolibri/{controller-fc8c559f.js → controller-3a980b61.js} +1 -1
- package/dist/kolibri/{controller-5f60dd72.js → controller-68f2cdb6.js} +1 -1
- package/dist/kolibri/controller-6f322c76.js +4 -0
- package/dist/kolibri/controller-6f322c76.js.map +1 -0
- package/dist/kolibri/{controller-80b38097.js → controller-a49613e3.js} +1 -1
- package/dist/kolibri/{controller-1c487267.js → controller-b764d8af.js} +1 -1
- package/dist/kolibri/{controller-069ae0d1.js → controller-efa536a1.js} +1 -1
- package/dist/kolibri/controller-icon-3babfd57.js +4 -0
- package/dist/kolibri/{dev.utils-465c4239.js → dev.utils-a47b8ff2.js} +1 -1
- package/dist/kolibri/{dev.utils-465c4239.js.map → dev.utils-a47b8ff2.js.map} +1 -1
- package/dist/kolibri/{devtools-1313f714.js → devtools-5e004f63.js} +1 -1
- package/dist/kolibri/{disabled-5bc12dcc.js → disabled-5ede917f.js} +1 -1
- package/dist/kolibri/has-closer-86755c14.js +4 -0
- package/dist/kolibri/has-closer-86755c14.js.map +1 -0
- package/dist/kolibri/hide-label-718f4d6f.js +4 -0
- package/dist/kolibri/{i18n-3e70fd9b.js → i18n-f8299375.js} +1 -1
- package/dist/kolibri/{icon-a7f1237b.js → icon-01c8c999.js} +1 -1
- package/dist/kolibri/image-source-d19a1378.js +4 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_2.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-form.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-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-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +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-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +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-tabs.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/label-7743754d.js +4 -0
- package/dist/kolibri/{prop.validators-05d07b50.js → prop.validators-6a2ec81f.js} +1 -1
- package/dist/kolibri/rows-ee52c8a7.js +4 -0
- package/dist/kolibri/show-ca4f53ef.js +4 -0
- package/dist/kolibri/{suggestions-16a1bf61.js → suggestions-c770bce0.js} +1 -1
- package/dist/kolibri/tab-index-cbaa8f9d.js +4 -0
- package/dist/kolibri/{tab-index-fcb7ecac.js.map → tab-index-cbaa8f9d.js.map} +1 -1
- package/dist/kolibri/validation-a02a4280.js +4 -0
- package/dist/kolibri/validation-e0ef3555.js +4 -0
- package/dist/types/components/@deprecated/input/controller.d.ts +0 -1
- package/dist/types/components/@deprecated/input/types.d.ts +0 -1
- package/dist/types/components/button/component.d.ts +6 -0
- package/dist/types/components/button/shadow.d.ts +2 -0
- package/dist/types/components/button-link/component.d.ts +2 -0
- package/dist/types/components/card/component.d.ts +9 -1
- package/dist/types/components/card/types.d.ts +7 -1
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +26 -0
- package/dist/types/components/input-adapter-leanup/controller.d.ts +2 -11
- package/dist/types/components/input-adapter-leanup/types.d.ts +0 -1
- package/dist/types/components/split-button/component.d.ts +2 -0
- package/dist/types/components/textarea/component.d.ts +1 -1
- package/dist/types/components.d.ts +68 -0
- package/dist/types/types/button-link.d.ts +6 -6
- package/dist/types/types/props/has-closer.d.ts +2 -1
- package/dist/types/types/props/name.d.ts +8 -0
- package/dist/types/utils/events.d.ts +2 -1
- package/doc/badge.md +8 -8
- package/doc/button-link.md +1 -0
- package/doc/button.md +1 -0
- package/doc/card.md +15 -7
- package/doc/input-color.md +21 -21
- package/doc/input-date.md +27 -27
- package/doc/input-email.md +29 -29
- package/doc/input-file.md +21 -21
- package/doc/input-number.md +28 -28
- package/doc/input-password.md +26 -26
- package/doc/input-text.md +29 -29
- package/doc/split-button.md +1 -0
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +16 -0
- package/dist/cjs/aria-selected-3951e1df.js +0 -4
- package/dist/cjs/button-link-31b32833.js +0 -4
- package/dist/cjs/button-link-31b32833.js.map +0 -1
- package/dist/cjs/controller-292ec4c4.js +0 -4
- package/dist/cjs/controller-292ec4c4.js.map +0 -1
- package/dist/cjs/controller-39ffcc0a.js +0 -4
- package/dist/cjs/events-b49161e2.js +0 -4
- package/dist/cjs/events-b49161e2.js.map +0 -1
- package/dist/cjs/has-closer-0d182990.js +0 -4
- package/dist/cjs/has-closer-0d182990.js.map +0 -1
- package/dist/cjs/hide-label-847476f3.js +0 -4
- package/dist/cjs/image-source-cf475786.js +0 -4
- package/dist/cjs/rows-9ba1be1b.js +0 -4
- package/dist/cjs/show-fc77c66d.js +0 -4
- package/dist/cjs/suggestions-aaab103a.js +0 -4
- package/dist/cjs/validation-f547a58e.js +0 -4
- package/dist/esm/app-globals-8544fc2e.js +0 -4
- package/dist/esm/button-link-9942db79.js.map +0 -1
- package/dist/esm/controller-e464a0e5.js +0 -4
- package/dist/esm/controller-e464a0e5.js.map +0 -1
- package/dist/esm/events-3762d15f.js +0 -4
- package/dist/esm/events-3762d15f.js.map +0 -1
- package/dist/esm/has-closer-4c62df54.js.map +0 -1
- package/dist/esm/validation-82792e37.js +0 -4
- package/dist/kolibri/aria-current-8612e789.js +0 -4
- package/dist/kolibri/aria-selected-207d2ea4.js +0 -4
- package/dist/kolibri/button-link-9942db79.js +0 -4
- package/dist/kolibri/button-link-9942db79.js.map +0 -1
- package/dist/kolibri/controller-e464a0e5.js +0 -4
- package/dist/kolibri/controller-e464a0e5.js.map +0 -1
- package/dist/kolibri/controller-icon-bdcafd14.js +0 -4
- package/dist/kolibri/events-3762d15f.js +0 -4
- package/dist/kolibri/events-3762d15f.js.map +0 -1
- package/dist/kolibri/has-closer-4c62df54.js +0 -4
- package/dist/kolibri/has-closer-4c62df54.js.map +0 -1
- package/dist/kolibri/hide-label-00f5fca6.js +0 -4
- package/dist/kolibri/image-source-f4078f95.js +0 -4
- package/dist/kolibri/label-e3523fd1.js +0 -4
- package/dist/kolibri/rows-d1f8df71.js +0 -4
- package/dist/kolibri/show-25c06c08.js +0 -4
- package/dist/kolibri/tab-index-fcb7ecac.js +0 -4
- package/dist/kolibri/validation-77718ded.js +0 -4
- package/dist/kolibri/validation-82792e37.js +0 -4
- /package/dist/kolibri/{a11y.tipps-5aaa4b49.js.map → a11y.tipps-821939d5.js.map} +0 -0
- /package/dist/kolibri/{align-46b557d8.js.map → align-e9fb20f3.js.map} +0 -0
- /package/dist/kolibri/{app-globals-8544fc2e.js.map → app-globals-850b7823.js.map} +0 -0
- /package/dist/kolibri/{aria-current-8612e789.js.map → aria-current-37a9a3f1.js.map} +0 -0
- /package/dist/kolibri/{aria-selected-207d2ea4.js.map → aria-selected-0386e515.js.map} +0 -0
- /package/dist/kolibri/{color-a7490f10.js.map → color-f4345d8c.js.map} +0 -0
- /package/dist/kolibri/{controller-fc8c559f.js.map → controller-3a980b61.js.map} +0 -0
- /package/dist/kolibri/{controller-5f60dd72.js.map → controller-68f2cdb6.js.map} +0 -0
- /package/dist/kolibri/{controller-80b38097.js.map → controller-a49613e3.js.map} +0 -0
- /package/dist/kolibri/{controller-1c487267.js.map → controller-b764d8af.js.map} +0 -0
- /package/dist/kolibri/{controller-069ae0d1.js.map → controller-efa536a1.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-bdcafd14.js.map → controller-icon-3babfd57.js.map} +0 -0
- /package/dist/kolibri/{devtools-1313f714.js.map → devtools-5e004f63.js.map} +0 -0
- /package/dist/kolibri/{disabled-5bc12dcc.js.map → disabled-5ede917f.js.map} +0 -0
- /package/dist/kolibri/{hide-label-00f5fca6.js.map → hide-label-718f4d6f.js.map} +0 -0
- /package/dist/kolibri/{i18n-3e70fd9b.js.map → i18n-f8299375.js.map} +0 -0
- /package/dist/kolibri/{icon-a7f1237b.js.map → icon-01c8c999.js.map} +0 -0
- /package/dist/kolibri/{image-source-f4078f95.js.map → image-source-d19a1378.js.map} +0 -0
- /package/dist/kolibri/{label-e3523fd1.js.map → label-7743754d.js.map} +0 -0
- /package/dist/kolibri/{prop.validators-05d07b50.js.map → prop.validators-6a2ec81f.js.map} +0 -0
- /package/dist/kolibri/{rows-d1f8df71.js.map → rows-ee52c8a7.js.map} +0 -0
- /package/dist/kolibri/{show-25c06c08.js.map → show-ca4f53ef.js.map} +0 -0
- /package/dist/kolibri/{suggestions-16a1bf61.js.map → suggestions-c770bce0.js.map} +0 -0
- /package/dist/kolibri/{validation-82792e37.js.map → validation-a02a4280.js.map} +0 -0
- /package/dist/kolibri/{validation-77718ded.js.map → validation-e0ef3555.js.map} +0 -0
package/package.json
CHANGED
package/vscode-custom-data.json
CHANGED
|
@@ -363,6 +363,10 @@
|
|
|
363
363
|
"name": "_label",
|
|
364
364
|
"description": "Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.)."
|
|
365
365
|
},
|
|
366
|
+
{
|
|
367
|
+
"name": "_name",
|
|
368
|
+
"description": "Gibt den technischen Namen des Eingabefeldes an."
|
|
369
|
+
},
|
|
366
370
|
{
|
|
367
371
|
"name": "_role",
|
|
368
372
|
"description": "Gibt die Rolle des primären Elements in der Komponente an.",
|
|
@@ -536,6 +540,10 @@
|
|
|
536
540
|
"name": "_label",
|
|
537
541
|
"description": "Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.)."
|
|
538
542
|
},
|
|
543
|
+
{
|
|
544
|
+
"name": "_name",
|
|
545
|
+
"description": "Gibt den technischen Namen des Eingabefeldes an."
|
|
546
|
+
},
|
|
539
547
|
{
|
|
540
548
|
"name": "_role",
|
|
541
549
|
"description": "Gibt die Rolle des primären Elements in der Komponente an.",
|
|
@@ -601,6 +609,10 @@
|
|
|
601
609
|
"value": "Um einzelne Bereiche Ihrer Webseite optisch hervorzuheben, bietet sich die **Card**-Komponente an. Mit ihrer Hilfe können Sie Ihre Inhalte sehr einfach strukturieren.\n\nDie **Card**-Komponente besteht aus einem **_Titel-Bereich_**, einem **_Inhalts-Bereich_** und einem **_Fuß-Bereich_**.\n\nDer **Titel-Bereich** wird in einer größeren Schrift dargestellt. Der **Inhalts-Bereich** ist optisch durch eine horizontale Trennlinie unterhalb des Titel-Bereichs abgetrennt und wird in der Standardschrift ausgegeben.\nDer **Fuß-Bereich** wird optional durch das Attribut **`_has-footer`** aktiviert und stellt dann Platz für weitere Inhalte, z.B. eine **Button**-Komponente bereit. Der Fuß-Bereich ist optisch durch eine horizontale Trennlinie vom Inhalts-Bereich abgetrennt."
|
|
602
610
|
},
|
|
603
611
|
"attributes": [
|
|
612
|
+
{
|
|
613
|
+
"name": "_has-closer",
|
|
614
|
+
"description": "Defines whether the card has a close button."
|
|
615
|
+
},
|
|
604
616
|
{
|
|
605
617
|
"name": "_has-footer",
|
|
606
618
|
"description": "Macht den Footerbereich der Card sichtbar."
|
|
@@ -13859,6 +13871,10 @@
|
|
|
13859
13871
|
"name": "_label",
|
|
13860
13872
|
"description": "Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.)."
|
|
13861
13873
|
},
|
|
13874
|
+
{
|
|
13875
|
+
"name": "_name",
|
|
13876
|
+
"description": "Gibt den technischen Namen des Eingabefeldes an."
|
|
13877
|
+
},
|
|
13862
13878
|
{
|
|
13863
13879
|
"name": "_role",
|
|
13864
13880
|
"description": "Gibt die Rolle des primären Elements in der Komponente an.",
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";const prop_validators=require("./prop.validators-f5b2df4a.js"),watchTooltipAlignment=(t,o,a)=>{prop_validators.watchValidator(t,o,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["Alignment {top, right, buttom, left}"]),a,{defaultValue:"top"})};exports.watchTooltipAlignment=watchTooltipAlignment;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"button-link-31b32833.js","mappings":";;;;;;;MAsPa,qBAAqB,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAa;EAC1GA,8BAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EACzF,IAAI,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,EACjD,KAAK,EACL;IACC,YAAY,EAAE,KAAK;GACnB,CACD,CAAC;AACH;;;;","names":["watchValidator"],"sources":["src/types/button-link.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Events } from '../enums/events';\nimport { watchValidator } from '../utils/prop.validators';\nimport { EventCallback, EventValueOrEventCallback } from './callbacks';\nimport { Stringified } from './common';\nimport { KoliBriAllIcon, KoliBriIconProp } from './icon';\nimport { Align } from './props/align';\nimport { PropAriaControls } from './props/aria-controls';\nimport { PropAriaCurrent, PropListenAriaCurrent } from './props/aria-current';\nimport { PropAriaExpanded } from './props/aria-expanded';\nimport { PropAriaLabel } from './props/aria-label';\nimport { PropAriaSelected } from './props/aria-selected';\nimport { PropDisabled } from './props/disabled';\nimport { PropDownload } from './props/download';\nimport { PropHideLabel } from './props/hide-label';\nimport { PropHref } from './props/href';\nimport { PropLabelWithExpertSlot } from './props/label';\nimport { PropStealth } from './props/stealth';\nimport { StencilUnknown } from './unknown';\n\nexport type AlternativButtonLinkRole = 'button' | 'link' | 'tab';\n\n/**\n * https://twitter.com/housecor/status/1541037184622403584?t=HoUiOAZEcXFeuDl-VWAEZg\n * https://mui.com/material-ui/react-link/#accessibility\n * https://mui.com/material-ui/react-button/#text-button\n */\ntype OptionalButtonAndLinkProps = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\ticon: Stringified<KoliBriIconProp>;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropAriaLabel &\n\tPropHideLabel;\n\ntype RequiredButtonAndLinkStates = {\n\ticon: KoliBriAllIcon;\n};\ntype OptionalButtonAndLinkStates = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropHideLabel;\n\n/**\n * Button\n * TODO: 'tertiary' instead of 'normal'\n */\nexport type KoliBriButtonType = 'button' | 'reset' | 'submit';\nexport type KoliBriButtonVariant = 'primary' | 'secondary' | 'normal' | 'tertiary' | 'danger' | 'ghost' | 'custom';\n\nexport type KoliBriButtonCallbacks<T> = {\n\t[Events.onClick]?: EventValueOrEventCallback<MouseEvent, T>;\n\t[Events.onMouseDown]?: EventCallback<MouseEvent>;\n};\n\nexport type KoliBriButtonVariantPropState = {\n\tvariant: KoliBriButtonVariant;\n};\nexport type KoliBriButtonCustomClassPropState = {\n\tcustomClass: string;\n};\n\n/**\n * API ButtonLink\n */\nexport type RequiredButtonLinkProps = unknown;\nexport type OptionalButtonLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated Zweck?!\n\t */\n\taccessKey: string;\n\tdisabled: boolean;\n\tid: string;\n\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\ttype: KoliBriButtonType;\n\tvalue: Stringified<StencilUnknown>;\n} & PropLabelWithExpertSlot;\n// type ButtonLinkProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\ntype RequiredButtonLinkStates = RequiredButtonAndLinkStates &\n\tPropLabelWithExpertSlot &\n\tKoliBriButtonVariantPropState & {\n\t\ttype: KoliBriButtonType;\n\t};\ntype OptionalButtonLinkStates = OptionalButtonAndLinkStates &\n\tKoliBriButtonCustomClassPropState & {\n\t\t/**\n\t\t * @deprecated Zweck?!\n\t\t */\n\t\taccessKey: string;\n\t\tdisabled: boolean;\n\t\tid: string;\n\t\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\t\tvalue: StencilUnknown;\n\t};\n// type ButtonLinkStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/**\n * API Button\n */\nexport type RequiredButtonProps = RequiredButtonLinkProps & PropLabelWithExpertSlot;\nexport type OptionalButtonProps = OptionalButtonLinkProps &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonVariantPropState &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\nexport type RequiredButtonStates = RequiredButtonLinkStates & KoliBriButtonVariantPropState & PropLabelWithExpertSlot;\nexport type OptionalButtonStates = OptionalButtonLinkStates &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/* LINK */\n\n/**\n * @deprecated Link should not use the on-click event. Use a button instead.\n */\nexport type LinkOnCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n// https://www.w3schools.com/tags/att_a_target.asp\nexport type LinkTarget = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * @deprecated Will be removed in next major release.\n */\nexport type LinkUseCase = 'text' | 'image' | 'nav';\n\n/**\n * API Link\n */\ntype RequiredLinkProps = PropHref;\ntype OptionalLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropLabelWithExpertSlot &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkProps = Generic.Element.Members<RequiredLinkProps, OptionalLinkProps>;\n\ntype RequiredLinkStates = RequiredButtonAndLinkStates & PropHref & PropLabelWithExpertSlot;\ntype OptionalLinkStates = OptionalButtonAndLinkStates & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkStates = Generic.Element.Members<RequiredLinkStates, OptionalLinkStates>;\nexport type KoliBriLinkAPI = Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates>;\n\n/**\n * API LinkButton\n */\n// type RequiredLinkButtonProps = RequiredLinkProps;\n// type OptionalLinkButtonProps = OptionalLinkProps & KoliBriButtonVariantPropState & KoliBriButtonCustomClassPropState;\n// type LinkButtonProps = Generic.Element.Members<RequiredLinkButtonProps, OptionalLinkButtonProps>;\n\n// type RequiredLinkButtonStates = KoliBriButtonVariantPropState;\n// type OptionalLinkButtonStates = KoliBriButtonCustomClassPropState;\n// type LinkButtonStates = Generic.Element.Members<RequiredLinkButtonStates, OptionalLinkButtonStates>;\n\nexport const watchTooltipAlignment = (component: Generic.Element.Component, propName: string, value?: Align): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'top' || value === 'right' || value === 'bottom' || value === 'left',\n\t\tnew Set(['Alignment {top, right, buttom, left}']),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'top',\n\t\t}\n\t);\n};\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";const prop_validators=require("./prop.validators-f5b2df4a.js"),label=require("./label-81c2b4d8.js"),a11y_tipps=require("./a11y.tipps-b6c69152.js"),events=require("./events-b49161e2.js"),tabIndex=require("./tab-index-65890b01.js"),dev_utils=require("./dev.utils-5f0e00ab.js"),getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,i=[];return!0===e&&i.push(`${t._id}-error`),!0===o&&i.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:i}},validateAdjustHeight=(t,e)=>{prop_validators.watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{prop_validators.watchBoolean(t,"_touched",e)},EXPERIMENTAL_MODE=dev_utils.getExperimentalMode();class ControlledInputController{constructor(t,e,o){var i,n;if(this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||a11y_tipps.devHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const i=this.tryToStringifyValue(t);this.syncValue(t,i,this.formAssociated),this.syncValue(t,i,this.syncToOwnInput)},this.component=t,this.name=e,this.host=o,EXPERIMENTAL_MODE){switch(null===(i=this.host)||void 0===i||i.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(n=this.host)||void 0===n||n.appendChild(this.formAssociated)}}setAttribute(t,e,o){if(EXPERIMENTAL_MODE)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return a11y_tipps.devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateAlert(t){prop_validators.watchBoolean(this.component,"_alert",t)}validateSyncValueBySelector(t){if(EXPERIMENTAL_MODE&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){prop_validators.watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){prop_validators.watchBoolean(this.component,"_disabled",t),!0===t&&a11y_tipps.a11yHintDisabled()}validateError(t){prop_validators.watchString(this.component,"_error",t)}validateHideLabel(t){prop_validators.watchBoolean(this.component,"_hideLabel",t)}validateHint(t){prop_validators.watchString(this.component,"_hint",t)}validateId(t){prop_validators.watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||a11y_tipps.devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){label.validateLabelWithExpertSlot(this.component,t)}validateName(t){prop_validators.watchString(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&a11y_tipps.devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&prop_validators.setState(this.component,"_on",t)}validateSmartButton(t){prop_validators.objectObjectHandler(t,(()=>{try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.setState(this.component,"_smartButton",t)}))}validateTabIndex(t){tabIndex.validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)?this.component._on.onBlur(t):(console.log("dispatchKoliBriEvent",this.host,"blur"),this.host&&events.dispatchKoliBriEvent(this.host,"blur"))}onChange(t){var e;t.preventDefault(),t.stopPropagation();const o=t.target.value;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)?this.component._on.onChange(t,o):(console.log("dispatchKoliBriEvent",this.host,"change",o),this.host&&events.dispatchKoliBriEvent(this.host,"change",o))}onClick(t){var e;t.preventDefault(),t.stopPropagation(),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)?this.component._on.onClick(t):(console.log("dispatchKoliBriEvent",this.host,"click"),this.host&&events.dispatchKoliBriEvent(this.host,"click"))}onFocus(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)?this.component._on.onFocus(t):(console.log("dispatchKoliBriEvent",this.host,"focus"),this.host&&events.dispatchKoliBriEvent(this.host,"focus"))}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}exports.InputController=InputController,exports.getRenderStates=getRenderStates;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"controller-292ec4c4.js","mappings":"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","names":["watchBoolean","getExperimentalMode","devHint","devWarning","watchString","a11yHintDisabled","validateLabelWithExpertSlot","setState","objectObjectHandler","parseJson","validateTabIndex","dispatchKoliBriEvent"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { dispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'blur');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'blur');\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'change', value);\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'change', value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'click');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'click');\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'focus');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'focus');\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";const a11y_tipps=require("./a11y.tipps-b6c69152.js"),dev_utils=require("./dev.utils-5f0e00ab.js"),prop_validators=require("./prop.validators-f5b2df4a.js"),searchFormElement=e=>{for(dev_utils.getExperimentalMode()&&(a11y_tipps.devHint("↓ Search form element start."),console.log(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&"KOL-FORM"!==e.tagName;)e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null,dev_utils.getExperimentalMode()&&console.log(e);return dev_utils.getExperimentalMode()&&a11y_tipps.devHint("↑ Search form element finished."),e},propagateResetEventToForm=(e={})=>{var t,o;const r=searchFormElement(e.form);if(r instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===r.tagName)prop_validators.setEventTarget(e,r),r.dispatchEvent(e);else if("KOL-FORM"===r.tagName){prop_validators.setEventTarget(e,prop_validators.KoliBriDevHelper.querySelector("form",r));const a=r;"function"==typeof(null===(t=a._on)||void 0===t?void 0:t.onReset)&&(null===(o=a._on)||void 0===o||o.onReset(e))}}},propagateSubmitEventToForm=(e={})=>{var t,o;const r=searchFormElement(e.form);if(r instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:r});if("FORM"===r.tagName)prop_validators.setEventTarget(e,r),r.dispatchEvent(e);else if("KOL-FORM"===r.tagName){prop_validators.setEventTarget(e,prop_validators.KoliBriDevHelper.querySelector("form",r));const a=r;"function"==typeof(null===(t=a._on)||void 0===t?void 0:t.onSubmit)&&(null===(o=a._on)||void 0===o||o.onSubmit(e))}}};exports.propagateResetEventToForm=propagateResetEventToForm,exports.propagateSubmitEventToForm=propagateSubmitEventToForm;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";function createKoliBriEvent(t,e){const i=new CustomEvent(`kol-${t}`,{bubbles:!0,cancelable:!0,composed:!0,detail:e});return console.log("createKoliBriEvent",t,e,"=>",i),i}function dispatchKoliBriEvent(t,e,i){const o=t.dispatchEvent(createKoliBriEvent(e,i));return console.log("dispatchKoliBriEvent",t,e,i,"=>",o),o}exports.dispatchKoliBriEvent=dispatchKoliBriEvent;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"events-b49161e2.js","mappings":";;;;;AAAA,SAAS,kBAAkB,CAAI,IAAY,EAAE,MAAS;EACrD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;IAC5C,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;GACd,CAAC,CAAC;EACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;EAC7D,OAAO,KAAK,CAAC;AACd,CAAC;SAEe,oBAAoB,CAAI,MAAmB,EAAE,IAAY,EAAE,MAAU;EACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;EACxE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;EAC1E,OAAO,QAAQ,CAAC;AACjB;;;;","names":[],"sources":["src/utils/events.ts"],"sourcesContent":["function createKoliBriEvent<T>(type: string, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\tconsole.log('createKoliBriEvent', type, detail, '=>', event);\n\treturn event;\n}\n\nexport function dispatchKoliBriEvent<T>(target: EventTarget, type: string, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\tconsole.log('dispatchKoliBriEvent', target, type, detail, '=>', dispatch);\n\treturn dispatch;\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"has-closer-0d182990.js","mappings":";;;;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtFA,4BAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":["watchBoolean"],"sources":["src/types/props/has-closer.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n */\nexport type PropHasCloser = {\n\thasCloser: boolean;\n};\n\n/* validator */\nexport const validateHasCloser = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCloser', value);\n};\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";const prop_validators=require("./prop.validators-f5b2df4a.js"),validateSuggestions=(s,t)=>{prop_validators.watchJsonArrayString(s,"_suggestions",(s=>"string"==typeof s||"number"==typeof s),t)};exports.validateSuggestions=validateSuggestions;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
"use strict";const a11y_tipps=require("./a11y.tipps-b6c69152.js"),prop_validators=require("./prop.validators-f5b2df4a.js"),watchNavLinks=(t,s,a)=>{prop_validators.watchJsonArrayString(s,"_links",(t=>"object"==typeof t&&("string"==typeof t._href||"string"==typeof t._label)),a),a11y_tipps.uiUxHintMillerscheZahl(t,s.state._links.length)};exports.watchNavLinks=watchNavLinks;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{a as setMode}from"./index-2c046ff1.js";import{r as register}from"./index-d8ac1088.js";import{L as Log}from"./dev.utils-465c4239.js";import{s as setThemeStyle,g as getThemeDetails}from"./index-37b5cbcf.js";const appGlobalScript=async()=>{setMode((e=>(e.shadowRoot instanceof ShadowRoot&&setThemeStyle(e,getThemeDetails(e)),"default"))),await register([],[]),import("./devtools-1313f714.js").then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{Log.error(e)}))},globalScripts=appGlobalScript;export{globalScripts as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"button-link-9942db79.js","mappings":";;;;;MAsPa,qBAAqB,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAa;EAC1G,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,EACzF,IAAI,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,EACjD,KAAK,EACL;IACC,YAAY,EAAE,KAAK;GACnB,CACD,CAAC;AACH;;;;","names":[],"sources":["src/types/button-link.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Events } from '../enums/events';\nimport { watchValidator } from '../utils/prop.validators';\nimport { EventCallback, EventValueOrEventCallback } from './callbacks';\nimport { Stringified } from './common';\nimport { KoliBriAllIcon, KoliBriIconProp } from './icon';\nimport { Align } from './props/align';\nimport { PropAriaControls } from './props/aria-controls';\nimport { PropAriaCurrent, PropListenAriaCurrent } from './props/aria-current';\nimport { PropAriaExpanded } from './props/aria-expanded';\nimport { PropAriaLabel } from './props/aria-label';\nimport { PropAriaSelected } from './props/aria-selected';\nimport { PropDisabled } from './props/disabled';\nimport { PropDownload } from './props/download';\nimport { PropHideLabel } from './props/hide-label';\nimport { PropHref } from './props/href';\nimport { PropLabelWithExpertSlot } from './props/label';\nimport { PropStealth } from './props/stealth';\nimport { StencilUnknown } from './unknown';\n\nexport type AlternativButtonLinkRole = 'button' | 'link' | 'tab';\n\n/**\n * https://twitter.com/housecor/status/1541037184622403584?t=HoUiOAZEcXFeuDl-VWAEZg\n * https://mui.com/material-ui/react-link/#accessibility\n * https://mui.com/material-ui/react-button/#text-button\n */\ntype OptionalButtonAndLinkProps = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\ticon: Stringified<KoliBriIconProp>;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropAriaLabel &\n\tPropHideLabel;\n\ntype RequiredButtonAndLinkStates = {\n\ticon: KoliBriAllIcon;\n};\ntype OptionalButtonAndLinkStates = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropHideLabel;\n\n/**\n * Button\n * TODO: 'tertiary' instead of 'normal'\n */\nexport type KoliBriButtonType = 'button' | 'reset' | 'submit';\nexport type KoliBriButtonVariant = 'primary' | 'secondary' | 'normal' | 'tertiary' | 'danger' | 'ghost' | 'custom';\n\nexport type KoliBriButtonCallbacks<T> = {\n\t[Events.onClick]?: EventValueOrEventCallback<MouseEvent, T>;\n\t[Events.onMouseDown]?: EventCallback<MouseEvent>;\n};\n\nexport type KoliBriButtonVariantPropState = {\n\tvariant: KoliBriButtonVariant;\n};\nexport type KoliBriButtonCustomClassPropState = {\n\tcustomClass: string;\n};\n\n/**\n * API ButtonLink\n */\nexport type RequiredButtonLinkProps = unknown;\nexport type OptionalButtonLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated Zweck?!\n\t */\n\taccessKey: string;\n\tdisabled: boolean;\n\tid: string;\n\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\ttype: KoliBriButtonType;\n\tvalue: Stringified<StencilUnknown>;\n} & PropLabelWithExpertSlot;\n// type ButtonLinkProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\ntype RequiredButtonLinkStates = RequiredButtonAndLinkStates &\n\tPropLabelWithExpertSlot &\n\tKoliBriButtonVariantPropState & {\n\t\ttype: KoliBriButtonType;\n\t};\ntype OptionalButtonLinkStates = OptionalButtonAndLinkStates &\n\tKoliBriButtonCustomClassPropState & {\n\t\t/**\n\t\t * @deprecated Zweck?!\n\t\t */\n\t\taccessKey: string;\n\t\tdisabled: boolean;\n\t\tid: string;\n\t\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\t\tvalue: StencilUnknown;\n\t};\n// type ButtonLinkStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/**\n * API Button\n */\nexport type RequiredButtonProps = RequiredButtonLinkProps & PropLabelWithExpertSlot;\nexport type OptionalButtonProps = OptionalButtonLinkProps &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonVariantPropState &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\nexport type RequiredButtonStates = RequiredButtonLinkStates & KoliBriButtonVariantPropState & PropLabelWithExpertSlot;\nexport type OptionalButtonStates = OptionalButtonLinkStates &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/* LINK */\n\n/**\n * @deprecated Link should not use the on-click event. Use a button instead.\n */\nexport type LinkOnCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n// https://www.w3schools.com/tags/att_a_target.asp\nexport type LinkTarget = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * @deprecated Will be removed in next major release.\n */\nexport type LinkUseCase = 'text' | 'image' | 'nav';\n\n/**\n * API Link\n */\ntype RequiredLinkProps = PropHref;\ntype OptionalLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropLabelWithExpertSlot &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkProps = Generic.Element.Members<RequiredLinkProps, OptionalLinkProps>;\n\ntype RequiredLinkStates = RequiredButtonAndLinkStates & PropHref & PropLabelWithExpertSlot;\ntype OptionalLinkStates = OptionalButtonAndLinkStates & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkStates = Generic.Element.Members<RequiredLinkStates, OptionalLinkStates>;\nexport type KoliBriLinkAPI = Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates>;\n\n/**\n * API LinkButton\n */\n// type RequiredLinkButtonProps = RequiredLinkProps;\n// type OptionalLinkButtonProps = OptionalLinkProps & KoliBriButtonVariantPropState & KoliBriButtonCustomClassPropState;\n// type LinkButtonProps = Generic.Element.Members<RequiredLinkButtonProps, OptionalLinkButtonProps>;\n\n// type RequiredLinkButtonStates = KoliBriButtonVariantPropState;\n// type OptionalLinkButtonStates = KoliBriButtonCustomClassPropState;\n// type LinkButtonStates = Generic.Element.Members<RequiredLinkButtonStates, OptionalLinkButtonStates>;\n\nexport const watchTooltipAlignment = (component: Generic.Element.Component, propName: string, value?: Align): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'top' || value === 'right' || value === 'bottom' || value === 'left',\n\t\tnew Set(['Alignment {top, right, buttom, left}']),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'top',\n\t\t}\n\t);\n};\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{a as watchBoolean,d as watchString,s as setState,o as objectObjectHandler,p as parseJson}from"./prop.validators-05d07b50.js";import{a as validateLabelWithExpertSlot}from"./label-e3523fd1.js";import{d as devHint,g as devWarning,h as a11yHintDisabled}from"./a11y.tipps-5aaa4b49.js";import{d as dispatchKoliBriEvent}from"./events-3762d15f.js";import{v as validateTabIndex}from"./tab-index-fcb7ecac.js";import{b as getExperimentalMode}from"./dev.utils-465c4239.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,i=[];return!0===e&&i.push(`${t._id}-error`),!0===o&&i.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:i}},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)},EXPERIMENTAL_MODE=getExperimentalMode();class ControlledInputController{constructor(t,e,o){var i,n;if(this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||devHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const i=this.tryToStringifyValue(t);this.syncValue(t,i,this.formAssociated),this.syncValue(t,i,this.syncToOwnInput)},this.component=t,this.name=e,this.host=o,EXPERIMENTAL_MODE){switch(null===(i=this.host)||void 0===i||i.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(n=this.host)||void 0===n||n.appendChild(this.formAssociated)}}setAttribute(t,e,o){if(EXPERIMENTAL_MODE)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateSyncValueBySelector(t){if(EXPERIMENTAL_MODE&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){watchBoolean(this.component,"_hideLabel",t)}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t)}validateName(t){watchString(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)?this.component._on.onBlur(t):(console.log("dispatchKoliBriEvent",this.host,"blur"),this.host&&dispatchKoliBriEvent(this.host,"blur"))}onChange(t){var e;t.preventDefault(),t.stopPropagation();const o=t.target.value;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)?this.component._on.onChange(t,o):(console.log("dispatchKoliBriEvent",this.host,"change",o),this.host&&dispatchKoliBriEvent(this.host,"change",o))}onClick(t){var e;t.preventDefault(),t.stopPropagation(),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)?this.component._on.onClick(t):(console.log("dispatchKoliBriEvent",this.host,"click"),this.host&&dispatchKoliBriEvent(this.host,"click"))}onFocus(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)?this.component._on.onFocus(t):(console.log("dispatchKoliBriEvent",this.host,"focus"),this.host&&dispatchKoliBriEvent(this.host,"focus"))}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"controller-e464a0e5.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { dispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'blur');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'blur');\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'change', value);\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'change', value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'click');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'click');\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'focus');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'focus');\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
function createKoliBriEvent(e,t){const o=new CustomEvent(`kol-${e}`,{bubbles:!0,cancelable:!0,composed:!0,detail:t});return console.log("createKoliBriEvent",e,t,"=>",o),o}function dispatchKoliBriEvent(e,t,o){const n=e.dispatchEvent(createKoliBriEvent(t,o));return console.log("dispatchKoliBriEvent",e,t,o,"=>",n),n}export{dispatchKoliBriEvent as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"events-3762d15f.js","mappings":";;;AAAA,SAAS,kBAAkB,CAAI,IAAY,EAAE,MAAS;EACrD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;IAC5C,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;GACd,CAAC,CAAC;EACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;EAC7D,OAAO,KAAK,CAAC;AACd,CAAC;SAEe,oBAAoB,CAAI,MAAmB,EAAE,IAAY,EAAE,MAAU;EACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;EACxE,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;EAC1E,OAAO,QAAQ,CAAC;AACjB;;;;","names":[],"sources":["src/utils/events.ts"],"sourcesContent":["function createKoliBriEvent<T>(type: string, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\tconsole.log('createKoliBriEvent', type, detail, '=>', event);\n\treturn event;\n}\n\nexport function dispatchKoliBriEvent<T>(target: EventTarget, type: string, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\tconsole.log('dispatchKoliBriEvent', target, type, detail, '=>', dispatch);\n\treturn dispatch;\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"has-closer-4c62df54.js","mappings":";;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtF,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":[],"sources":["src/types/props/has-closer.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n */\nexport type PropHasCloser = {\n\thasCloser: boolean;\n};\n\n/* validator */\nexport const validateHasCloser = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCloser', value);\n};\n"],"version":3}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{c as uiUxHintMillerscheZahl}from"./a11y.tipps-5aaa4b49.js";import{c as watchJsonArrayString}from"./prop.validators-05d07b50.js";const watchNavLinks=(t,a,s)=>{watchJsonArrayString(a,"_links",(t=>"object"==typeof t&&("string"==typeof t._href||"string"==typeof t._label)),s),uiUxHintMillerscheZahl(t,a.state._links.length)};export{watchNavLinks as w};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{d as a,w as t}from"./prop.validators-05d07b50.js";const o=(t,e)=>{a(t,"_ariaControls",e)},e=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,t)=>{e(a,"_ariaCurrent",t)},r=(a,t)=>{e(a,"_listenAriaCurrent",t)};export{s as a,r as b,o as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["watchTooltipAlignment","component","propName","value","watchValidator","Set","defaultValue"],"sources":["src/types/button-link.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Events } from '../enums/events';\nimport { watchValidator } from '../utils/prop.validators';\nimport { EventCallback, EventValueOrEventCallback } from './callbacks';\nimport { Stringified } from './common';\nimport { KoliBriAllIcon, KoliBriIconProp } from './icon';\nimport { Align } from './props/align';\nimport { PropAriaControls } from './props/aria-controls';\nimport { PropAriaCurrent, PropListenAriaCurrent } from './props/aria-current';\nimport { PropAriaExpanded } from './props/aria-expanded';\nimport { PropAriaLabel } from './props/aria-label';\nimport { PropAriaSelected } from './props/aria-selected';\nimport { PropDisabled } from './props/disabled';\nimport { PropDownload } from './props/download';\nimport { PropHideLabel } from './props/hide-label';\nimport { PropHref } from './props/href';\nimport { PropLabelWithExpertSlot } from './props/label';\nimport { PropStealth } from './props/stealth';\nimport { StencilUnknown } from './unknown';\n\nexport type AlternativButtonLinkRole = 'button' | 'link' | 'tab';\n\n/**\n * https://twitter.com/housecor/status/1541037184622403584?t=HoUiOAZEcXFeuDl-VWAEZg\n * https://mui.com/material-ui/react-link/#accessibility\n * https://mui.com/material-ui/react-button/#text-button\n */\ntype OptionalButtonAndLinkProps = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\ticon: Stringified<KoliBriIconProp>;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropAriaLabel &\n\tPropHideLabel;\n\ntype RequiredButtonAndLinkStates = {\n\ticon: KoliBriAllIcon;\n};\ntype OptionalButtonAndLinkStates = {\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaControls: string;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaExpanded: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tariaSelected: boolean;\n\t/**\n\t * @deprecated Will be removed for all link components.\n\t */\n\tdisabled: boolean;\n\t/**\n\t * @deprecated\n\t */\n\ticonAlign: Align;\n\t/**\n\t * @deprecated\n\t */\n\ticonOnly: boolean;\n\trole: AlternativButtonLinkRole;\n\ttabIndex: number;\n\ttooltipAlign: Align;\n} & PropAriaCurrent &\n\tPropHideLabel;\n\n/**\n * Button\n * TODO: 'tertiary' instead of 'normal'\n */\nexport type KoliBriButtonType = 'button' | 'reset' | 'submit';\nexport type KoliBriButtonVariant = 'primary' | 'secondary' | 'normal' | 'tertiary' | 'danger' | 'ghost' | 'custom';\n\nexport type KoliBriButtonCallbacks<T> = {\n\t[Events.onClick]?: EventValueOrEventCallback<MouseEvent, T>;\n\t[Events.onMouseDown]?: EventCallback<MouseEvent>;\n};\n\nexport type KoliBriButtonVariantPropState = {\n\tvariant: KoliBriButtonVariant;\n};\nexport type KoliBriButtonCustomClassPropState = {\n\tcustomClass: string;\n};\n\n/**\n * API ButtonLink\n */\nexport type RequiredButtonLinkProps = unknown;\nexport type OptionalButtonLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated Zweck?!\n\t */\n\taccessKey: string;\n\tdisabled: boolean;\n\tid: string;\n\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\ttype: KoliBriButtonType;\n\tvalue: Stringified<StencilUnknown>;\n} & PropLabelWithExpertSlot;\n// type ButtonLinkProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\ntype RequiredButtonLinkStates = RequiredButtonAndLinkStates &\n\tPropLabelWithExpertSlot &\n\tKoliBriButtonVariantPropState & {\n\t\ttype: KoliBriButtonType;\n\t};\ntype OptionalButtonLinkStates = OptionalButtonAndLinkStates &\n\tKoliBriButtonCustomClassPropState & {\n\t\t/**\n\t\t * @deprecated Zweck?!\n\t\t */\n\t\taccessKey: string;\n\t\tdisabled: boolean;\n\t\tid: string;\n\t\ton: KoliBriButtonCallbacks<StencilUnknown>;\n\t\tvalue: StencilUnknown;\n\t};\n// type ButtonLinkStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/**\n * API Button\n */\nexport type RequiredButtonProps = RequiredButtonLinkProps & PropLabelWithExpertSlot;\nexport type OptionalButtonProps = OptionalButtonLinkProps &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonVariantPropState &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonProps = Generic.Element.Members<RequiredButtonProps, OptionalButtonProps>;\n\nexport type RequiredButtonStates = RequiredButtonLinkStates & KoliBriButtonVariantPropState & PropLabelWithExpertSlot;\nexport type OptionalButtonStates = OptionalButtonLinkStates &\n\tPropAriaControls &\n\tPropAriaExpanded &\n\tPropAriaSelected &\n\tPropDisabled &\n\tKoliBriButtonCustomClassPropState;\nexport type ButtonStates = Generic.Element.Members<RequiredButtonStates, OptionalButtonStates>;\n\n/* LINK */\n\n/**\n * @deprecated Link should not use the on-click event. Use a button instead.\n */\nexport type LinkOnCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n// https://www.w3schools.com/tags/att_a_target.asp\nexport type LinkTarget = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * @deprecated Will be removed in next major release.\n */\nexport type LinkUseCase = 'text' | 'image' | 'nav';\n\n/**\n * API Link\n */\ntype RequiredLinkProps = PropHref;\ntype OptionalLinkProps = OptionalButtonAndLinkProps & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropLabelWithExpertSlot &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkProps = Generic.Element.Members<RequiredLinkProps, OptionalLinkProps>;\n\ntype RequiredLinkStates = RequiredButtonAndLinkStates & PropHref & PropLabelWithExpertSlot;\ntype OptionalLinkStates = OptionalButtonAndLinkStates & {\n\t/**\n\t * @deprecated We use the on-click event only on buttons styled as link.\n\t */\n\ton: LinkOnCallbacks;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tselector: string;\n\ttarget: LinkTarget;\n\ttargetDescription: string;\n\t/**\n\t * @deprecated Das Styling sollte stets über CSS erfolgen.\n\t */\n\tuseCase: LinkUseCase;\n} & PropDownload &\n\tPropListenAriaCurrent &\n\tPropStealth;\nexport type LinkStates = Generic.Element.Members<RequiredLinkStates, OptionalLinkStates>;\nexport type KoliBriLinkAPI = Generic.Element.ComponentApi<RequiredLinkProps, OptionalLinkProps, RequiredLinkStates, OptionalLinkStates>;\n\n/**\n * API LinkButton\n */\n// type RequiredLinkButtonProps = RequiredLinkProps;\n// type OptionalLinkButtonProps = OptionalLinkProps & KoliBriButtonVariantPropState & KoliBriButtonCustomClassPropState;\n// type LinkButtonProps = Generic.Element.Members<RequiredLinkButtonProps, OptionalLinkButtonProps>;\n\n// type RequiredLinkButtonStates = KoliBriButtonVariantPropState;\n// type OptionalLinkButtonStates = KoliBriButtonCustomClassPropState;\n// type LinkButtonStates = Generic.Element.Members<RequiredLinkButtonStates, OptionalLinkButtonStates>;\n\nexport const watchTooltipAlignment = (component: Generic.Element.Component, propName: string, value?: Align): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'top' || value === 'right' || value === 'bottom' || value === 'left',\n\t\tnew Set(['Alignment {top, right, buttom, left}']),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'top',\n\t\t}\n\t);\n};\n"],"mappings":";;;wDAsPaA,EAAwB,CAACC,EAAsCC,EAAkBC,KAC7FC,EACCH,EACAC,GACCC,GAAUA,IAAU,OAASA,IAAU,SAAWA,IAAU,UAAYA,IAAU,QACnF,IAAIE,IAAI,CAAC,yCACTF,EACA,CACCG,aAAc,OAEf,S"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{a as t,d as i,s as e,o as s,p as a}from"./prop.validators-05d07b50.js";import{a as h}from"./label-e3523fd1.js";import{d as n,g as o,h as r}from"./a11y.tipps-5aaa4b49.js";import{d as l}from"./events-3762d15f.js";import{v as d}from"./tab-index-fcb7ecac.js";import{b as c}from"./dev.utils-465c4239.js";const u=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,i=[];return!0===e&&i.push(`${t._id}-error`),!0===o&&i.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:i}},f=(e,o)=>{t(e,"_adjustHeight",o)},v=(e,o)=>{t(e,"_touched",o)},p=c();class m{constructor(t,e,o){var i,s;if(this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||n(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const i=this.tryToStringifyValue(t);this.syncValue(t,i,this.formAssociated),this.syncValue(t,i,this.syncToOwnInput)},this.component=t,this.name=e,this.host=o,p){switch(null===(i=this.host)||void 0===i||i.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(s=this.host)||void 0===s||s.appendChild(this.formAssociated)}}setAttribute(t,e,o){if(p)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return o(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateAlert(e){t(this.component,"_alert",e)}validateSyncValueBySelector(t){if(p&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){v(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class y extends m{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){f(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideLabel(e){t(this.component,"_hideLabel",e)}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||n("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){h(this.component,t)}validateName(t){i(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&n("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&e(this.component,"_on",t)}validateSmartButton(t){s(t,(()=>{try{t=a(t)}catch(t){}e(this.component,"_smartButton",t)}))}validateTabIndex(t){d(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)?this.component._on.onBlur(t):(console.log("dispatchKoliBriEvent",this.host,"blur"),this.host&&l(this.host,"blur"))}onChange(t){var e;t.preventDefault(),t.stopPropagation();const o=t.target.value;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)?this.component._on.onChange(t,o):(console.log("dispatchKoliBriEvent",this.host,"change",o),this.host&&l(this.host,"change",o))}onClick(t){var e;t.preventDefault(),t.stopPropagation(),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)?this.component._on.onClick(t):(console.log("dispatchKoliBriEvent",this.host,"click"),this.host&&l(this.host,"click"))}onFocus(t){var e;t.preventDefault(),t.stopPropagation(),this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)?this.component._on.onFocus(t):(console.log("dispatchKoliBriEvent",this.host,"focus"),this.host&&l(this.host,"focus"))}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{y as I,u as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","EXPERIMENTAL_MODE","getExperimentalMode","ControlledInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","validateAlert","validateSyncValueBySelector","input","querySelector","componentWillLoad","_alert","_syncValueBySelector","InputController","super","hideLabel","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","validateHint","validateId","hooks","afterPatch","minLength","validateLabel","validateLabelWithExpertSlot","validateName","_name","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","validateTabIndex","_accessKey","_adjustHeight","_disabled","_hideLabel","_label","_smartButton","_on","_tabIndex","event","preventDefault","stopPropagation","console","log","dispatchKoliBriEvent","target","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { dispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'blur');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'blur');\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'change', value);\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'change', value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'click');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'click');\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t} else {\n\t\t\tconsole.log('dispatchKoliBriEvent', this.host, 'focus');\n\t\t\tthis.host && dispatchKoliBriEvent(this.host, 'focus');\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{i as o}from"./icon-a7f1237b.js";import{o as t,p as s,w as i}from"./prop.validators-05d07b50.js";import{i as r}from"./reuse-c2156413.js";import{I as e}from"./controller-e464a0e5.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class a extends e{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(e){t(e,(()=>{try{e=s(e)}catch(o){}i(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(r(t.left,1)||o(t.left)||r(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),e,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{a as I};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
function e(e,t){const o=new CustomEvent(`kol-${e}`,{bubbles:!0,cancelable:!0,composed:!0,detail:t});return console.log("createKoliBriEvent",e,t,"=>",o),o}function t(t,o,n){const c=t.dispatchEvent(e(o,n));return console.log("dispatchKoliBriEvent",t,o,n,"=>",c),c}export{t as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createKoliBriEvent","type","detail","event","CustomEvent","bubbles","cancelable","composed","console","log","dispatchKoliBriEvent","target","dispatch","dispatchEvent"],"sources":["src/utils/events.ts"],"sourcesContent":["function createKoliBriEvent<T>(type: string, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\tconsole.log('createKoliBriEvent', type, detail, '=>', event);\n\treturn event;\n}\n\nexport function dispatchKoliBriEvent<T>(target: EventTarget, type: string, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\tconsole.log('dispatchKoliBriEvent', target, type, detail, '=>', dispatch);\n\treturn dispatch;\n}\n"],"mappings":";;;AAAA,SAASA,EAAsBC,EAAcC,GAC5C,MAAMC,EAAQ,IAAIC,YAAY,OAAOH,IAAQ,CAC5CI,QAAS,KACTC,WAAY,KACZC,SAAU,KACVL,OAAQA,IAETM,QAAQC,IAAI,qBAAsBR,EAAMC,EAAQ,KAAMC,GACtD,OAAOA,CACR,C,SAEgBO,EAAwBC,EAAqBV,EAAcC,GAC1E,MAAMU,EAAWD,EAAOE,cAAcb,EAAmBC,EAAMC,IAC/DM,QAAQC,IAAI,uBAAwBE,EAAQV,EAAMC,EAAQ,KAAMU,GAChE,OAAOA,CACR,Q"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["validateHasCloser","component","value","watchBoolean"],"sources":["src/types/props/has-closer.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n */\nexport type PropHasCloser = {\n\thasCloser: boolean;\n};\n\n/* validator */\nexport const validateHasCloser = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCloser', value);\n};\n"],"mappings":";;;wDAgBaA,EAAoB,CAACC,EAAsCC,KACvEC,EAAaF,EAAW,aAAcC,EAAM,S"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
|
3
|
-
*/
|
|
4
|
-
import{a as t,u as a}from"./a11y.tipps-5aaa4b49.js";import{w as o}from"./prop.validators-05d07b50.js";const e=/[a-zA-Z0-9äöüÄÖÜß]/g,s=/^\d+$/;function n(t){var a;return"string"==typeof t&&(null===(a=t.match(e))||void 0===a?void 0:a.length)||0}function r(t,a=1){return n(t)>=a}function i(t){return s.test(t)}function l(o){var e;return{hooks:{afterPatch:(e,n,s,l)=>{var c,f;"function"==typeof(null===(c=o.hooks)||void 0===c?void 0:c.afterPatch)&&(null===(f=o.hooks)||void 0===f||f.afterPatch(e,n,s,l)),"string"==typeof e&&!1===r(e,3)&&!1===i(e)&&t(`The heading or label ("${e}") is not accessible. A label should consist of at least three readable characters.`),"string"==typeof e&&e.length>80&&a("A heading or label should not be longer than 80 characters.")},beforePatch:null===(e=o.hooks)||void 0===e?void 0:e.beforePatch}}}const f=new Set(["string"]),c=(t,a,e={})=>{o(t,"_label",(t=>"string"==typeof t),f,a,l(e))},d=new Set(["string","false"]),u=(t,a,e={})=>{""!==a&&"false"!==a||(a=!1),o(t,"_label",(t=>!1===t||"string"==typeof t),d,a,l(e))};export{u as a,i as c,r as h,c as v};
|