@public-ui/components 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1 -15
- package/dist/cjs/{a11y.tipps-bde4c917.js → a11y.tipps-a9c5bee3.js} +1 -1
- package/dist/cjs/{a11y.tipps-bde4c917.js.map → a11y.tipps-a9c5bee3.js.map} +1 -1
- package/dist/cjs/access-key-41cf20c4.js +4 -0
- package/dist/cjs/{access-key-0cc8c925.js.map → access-key-41cf20c4.js.map} +1 -1
- package/dist/cjs/{alignment-ed625336.js → alignment-33970e77.js} +1 -1
- package/dist/cjs/{alignment-ed625336.js.map → alignment-33970e77.js.map} +1 -1
- package/dist/cjs/alternative-button-link-role-85dd7d3a.js +4 -0
- package/dist/cjs/{alternative-button-link-role-d4424d08.js.map → alternative-button-link-role-85dd7d3a.js.map} +1 -1
- package/dist/cjs/{app-globals-0b0132d3.js → app-globals-99df1ec2.js} +1 -1
- package/dist/cjs/{app-globals-0b0132d3.js.map → app-globals-99df1ec2.js.map} +1 -1
- package/dist/cjs/{associated.controller-b24b75d0.js → associated.controller-476bc975.js} +1 -1
- package/dist/cjs/{associated.controller-b24b75d0.js.map → associated.controller-476bc975.js.map} +1 -1
- package/dist/cjs/{color-7a4690e4.js → color-9547694e.js} +1 -1
- package/dist/cjs/{color-7a4690e4.js.map → color-9547694e.js.map} +1 -1
- package/dist/cjs/{controller-2d5e8b0b.js → controller-aad33907.js} +1 -1
- package/dist/cjs/{controller-2d5e8b0b.js.map → controller-aad33907.js.map} +1 -1
- package/dist/cjs/{controller-924d172b.js → controller-b2299d8a.js} +1 -1
- package/dist/cjs/{controller-924d172b.js.map → controller-b2299d8a.js.map} +1 -1
- package/dist/cjs/{controller-e36ad432.js → controller-cbff0599.js} +1 -1
- package/dist/cjs/{controller-e36ad432.js.map → controller-cbff0599.js.map} +1 -1
- package/dist/cjs/{controller-0ccb739c.js → controller-d0ce6c05.js} +1 -1
- package/dist/cjs/{controller-0ccb739c.js.map → controller-d0ce6c05.js.map} +1 -1
- package/dist/cjs/{controller-3c7a8401.js → controller-fe8411e5.js} +1 -1
- package/dist/cjs/{controller-3c7a8401.js.map → controller-fe8411e5.js.map} +1 -1
- package/dist/cjs/{controller-icon-71e37377.js → controller-icon-ecb716a5.js} +1 -1
- package/dist/cjs/{controller-icon-71e37377.js.map → controller-icon-ecb716a5.js.map} +1 -1
- package/dist/cjs/custom-class-80a19309.js +4 -0
- package/dist/cjs/{custom-class-00d4c432.js.map → custom-class-80a19309.js.map} +1 -1
- package/dist/cjs/{dev.utils-a6b6f115.js → dev.utils-4be23d2e.js} +1 -1
- package/dist/cjs/{dev.utils-a6b6f115.js.map → dev.utils-4be23d2e.js.map} +1 -1
- package/dist/cjs/{devtools-5d316ec1.js → devtools-f550a928.js} +1 -1
- package/dist/cjs/{devtools-5d316ec1.js.map → devtools-f550a928.js.map} +1 -1
- package/dist/cjs/has-closer-fcae7da6.js +4 -0
- package/dist/cjs/{has-closer-135c8b18.js.map → has-closer-fcae7da6.js.map} +1 -1
- package/dist/cjs/hide-label-b7ee1c01.js +4 -0
- package/dist/cjs/{hide-label-869c662f.js.map → hide-label-b7ee1c01.js.map} +1 -1
- package/dist/cjs/i18n-8fb14ebf.js +4 -0
- package/dist/cjs/i18n-8fb14ebf.js.map +1 -0
- package/dist/cjs/{icons-cd5e767b.js → icons-5cf7c0e6.js} +1 -1
- package/dist/cjs/{icons-cd5e767b.js.map → icons-5cf7c0e6.js.map} +1 -1
- package/dist/cjs/image-source-8aa35f38.js +4 -0
- package/dist/cjs/{image-source-4b6e0c0e.js.map → image-source-8aa35f38.js.map} +1 -1
- package/dist/cjs/{index-e779e8b0.js → index-2f27254e.js} +1 -1
- package/dist/cjs/index-2f27254e.js.map +1 -0
- 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-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js.map +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-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.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-input.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-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-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-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/{label-a5fa1288.js → label-945b341f.js} +1 -1
- package/dist/cjs/{label-a5fa1288.js.map → label-945b341f.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-882be22c.js +4 -0
- package/dist/cjs/{open-ca19e687.js.map → open-882be22c.js.map} +1 -1
- package/dist/cjs/{prop.validators-03eee51d.js → prop.validators-461024d1.js} +1 -1
- package/dist/cjs/{prop.validators-03eee51d.js.map → prop.validators-461024d1.js.map} +1 -1
- package/dist/cjs/rows-ad9a160c.js +4 -0
- package/dist/cjs/{rows-7e3a7f8b.js.map → rows-ad9a160c.js.map} +1 -1
- package/dist/cjs/show-9f618ffc.js +4 -0
- package/dist/cjs/{show-48f559f5.js.map → show-9f618ffc.js.map} +1 -1
- package/dist/cjs/suggestions-9885b2f9.js +4 -0
- package/dist/cjs/{suggestions-2d56c664.js.map → suggestions-9885b2f9.js.map} +1 -1
- package/dist/cjs/{tab-index-3943c150.js → tab-index-5ab3d038.js} +1 -1
- package/dist/cjs/{tab-index-3943c150.js.map → tab-index-5ab3d038.js.map} +1 -1
- package/dist/cjs/{tooltip-align-d904bd68.js → tooltip-align-a996d985.js} +1 -1
- package/dist/cjs/{tooltip-align-d904bd68.js.map → tooltip-align-a996d985.js.map} +1 -1
- package/dist/cjs/{validation-a0c362ef.js → validation-045dfb7f.js} +1 -1
- package/dist/cjs/{validation-a0c362ef.js.map → validation-045dfb7f.js.map} +1 -1
- package/dist/cjs/{validation-c3b2105a.js → validation-91e840dd.js} +1 -1
- package/dist/cjs/{validation-c3b2105a.js.map → validation-91e840dd.js.map} +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/component9.js.map +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-form.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.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/shadow2.js.map +1 -1
- package/dist/esm/{a11y.tipps-f14bff66.js → a11y.tipps-2a54fd3e.js} +1 -1
- package/dist/esm/{a11y.tipps-f14bff66.js.map → a11y.tipps-2a54fd3e.js.map} +1 -1
- package/dist/esm/{access-key-d9d3ed1b.js → access-key-65ff36eb.js} +1 -1
- package/dist/esm/{access-key-d9d3ed1b.js.map → access-key-65ff36eb.js.map} +1 -1
- package/dist/esm/{alignment-3d2d9391.js → alignment-3ca6c7b4.js} +1 -1
- package/dist/esm/{alignment-3d2d9391.js.map → alignment-3ca6c7b4.js.map} +1 -1
- package/dist/esm/alternative-button-link-role-03c7dc90.js +4 -0
- package/dist/esm/{alternative-button-link-role-30b77bb6.js.map → alternative-button-link-role-03c7dc90.js.map} +1 -1
- package/dist/esm/app-globals-b4b6e633.js +4 -0
- package/dist/esm/{app-globals-b8186895.js.map → app-globals-b4b6e633.js.map} +1 -1
- package/dist/esm/{associated.controller-e642039e.js → associated.controller-4abb0353.js} +1 -1
- package/dist/esm/{associated.controller-e642039e.js.map → associated.controller-4abb0353.js.map} +1 -1
- package/dist/esm/{color-d4c99af3.js → color-2aa7218a.js} +1 -1
- package/dist/esm/{color-d4c99af3.js.map → color-2aa7218a.js.map} +1 -1
- package/dist/esm/{controller-8698d9f4.js → controller-34abd025.js} +1 -1
- package/dist/esm/{controller-8698d9f4.js.map → controller-34abd025.js.map} +1 -1
- package/dist/esm/{controller-9df5563d.js → controller-7cdc3635.js} +1 -1
- package/dist/esm/{controller-9df5563d.js.map → controller-7cdc3635.js.map} +1 -1
- package/dist/esm/{controller-3577ccfd.js → controller-b209b2d8.js} +1 -1
- package/dist/esm/{controller-3577ccfd.js.map → controller-b209b2d8.js.map} +1 -1
- package/dist/esm/{controller-7d1c3e92.js → controller-d02635bf.js} +1 -1
- package/dist/esm/{controller-7d1c3e92.js.map → controller-d02635bf.js.map} +1 -1
- package/dist/esm/{controller-b2e189a7.js → controller-fe294c60.js} +1 -1
- package/dist/esm/{controller-b2e189a7.js.map → controller-fe294c60.js.map} +1 -1
- package/dist/esm/{controller-icon-508a2cb1.js → controller-icon-5be90e84.js} +1 -1
- package/dist/esm/{controller-icon-508a2cb1.js.map → controller-icon-5be90e84.js.map} +1 -1
- package/dist/esm/custom-class-c7f11511.js +4 -0
- package/dist/esm/{custom-class-6cd3b804.js.map → custom-class-c7f11511.js.map} +1 -1
- package/dist/esm/{dev.utils-889226ab.js → dev.utils-a1ddacb2.js} +1 -1
- package/dist/esm/{dev.utils-889226ab.js.map → dev.utils-a1ddacb2.js.map} +1 -1
- package/dist/esm/{devtools-cc168b70.js → devtools-f30e7098.js} +1 -1
- package/dist/esm/{devtools-cc168b70.js.map → devtools-f30e7098.js.map} +1 -1
- package/dist/esm/{has-closer-0601d93e.js → has-closer-213e1f60.js} +1 -1
- package/dist/esm/{has-closer-0601d93e.js.map → has-closer-213e1f60.js.map} +1 -1
- package/dist/esm/{hide-label-6593df3f.js → hide-label-12ff810a.js} +1 -1
- package/dist/esm/{hide-label-6593df3f.js.map → hide-label-12ff810a.js.map} +1 -1
- package/dist/esm/i18n-565c326b.js +4 -0
- package/dist/esm/i18n-565c326b.js.map +1 -0
- package/dist/esm/{icons-44b68720.js → icons-5c4d2e57.js} +1 -1
- package/dist/esm/{icons-44b68720.js.map → icons-5c4d2e57.js.map} +1 -1
- package/dist/esm/{image-source-4b04e9f2.js → image-source-fc1918e2.js} +1 -1
- package/dist/esm/{image-source-4b04e9f2.js.map → image-source-fc1918e2.js.map} +1 -1
- package/dist/esm/{index-12eec578.js → index-b99a7aa5.js} +1 -1
- package/dist/esm/index-b99a7aa5.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc_2.entry.js +1 -1
- package/dist/esm/kol-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-wc_2.entry.js +1 -1
- package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +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-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.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-input.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-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-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-wc.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-span-wc.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/{label-8258848f.js → label-5f92bb62.js} +1 -1
- package/dist/esm/{label-8258848f.js.map → label-5f92bb62.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{open-329b7907.js → open-215a7ce8.js} +1 -1
- package/dist/esm/{open-329b7907.js.map → open-215a7ce8.js.map} +1 -1
- package/dist/esm/{prop.validators-c12923a5.js → prop.validators-c9100bb0.js} +1 -1
- package/dist/esm/{prop.validators-c12923a5.js.map → prop.validators-c9100bb0.js.map} +1 -1
- package/dist/esm/{rows-14d6fb92.js → rows-5e4dff0c.js} +1 -1
- package/dist/esm/{rows-14d6fb92.js.map → rows-5e4dff0c.js.map} +1 -1
- package/dist/esm/{show-9a06c90e.js → show-509c0941.js} +1 -1
- package/dist/esm/{show-9a06c90e.js.map → show-509c0941.js.map} +1 -1
- package/dist/esm/{suggestions-dc12a293.js → suggestions-9923bbe2.js} +1 -1
- package/dist/esm/{suggestions-dc12a293.js.map → suggestions-9923bbe2.js.map} +1 -1
- package/dist/esm/{tab-index-9e8a3c00.js → tab-index-4eba9292.js} +1 -1
- package/dist/esm/{tab-index-9e8a3c00.js.map → tab-index-4eba9292.js.map} +1 -1
- package/dist/esm/{tooltip-align-a3d27a89.js → tooltip-align-36b445e5.js} +1 -1
- package/dist/esm/{tooltip-align-a3d27a89.js.map → tooltip-align-36b445e5.js.map} +1 -1
- package/dist/esm/{validation-3c0b31d7.js → validation-406b3d9a.js} +1 -1
- package/dist/esm/{validation-3c0b31d7.js.map → validation-406b3d9a.js.map} +1 -1
- package/dist/esm/validation-7eedde02.js +4 -0
- package/dist/esm/{validation-17e52787.js.map → validation-7eedde02.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-f14bff66.js → a11y.tipps-2a54fd3e.js} +1 -1
- package/dist/kolibri/access-key-65ff36eb.js +4 -0
- package/dist/kolibri/alignment-3ca6c7b4.js +4 -0
- package/dist/kolibri/alternative-button-link-role-03c7dc90.js +4 -0
- package/dist/kolibri/app-globals-b4b6e633.js +4 -0
- package/dist/kolibri/{app-globals-b8186895.js.map → app-globals-b4b6e633.js.map} +1 -1
- package/dist/kolibri/{associated.controller-e642039e.js → associated.controller-4abb0353.js} +1 -1
- package/dist/kolibri/{color-d4c99af3.js → color-2aa7218a.js} +1 -1
- package/dist/kolibri/{controller-8698d9f4.js → controller-34abd025.js} +1 -1
- package/dist/kolibri/{controller-9df5563d.js → controller-7cdc3635.js} +1 -1
- package/dist/kolibri/{controller-3577ccfd.js → controller-b209b2d8.js} +1 -1
- package/dist/kolibri/{controller-7d1c3e92.js → controller-d02635bf.js} +1 -1
- package/dist/kolibri/{controller-b2e189a7.js → controller-fe294c60.js} +1 -1
- package/dist/kolibri/controller-icon-5be90e84.js +4 -0
- package/dist/kolibri/custom-class-c7f11511.js +4 -0
- package/dist/kolibri/{dev.utils-889226ab.js → dev.utils-a1ddacb2.js} +1 -1
- package/dist/kolibri/{dev.utils-889226ab.js.map → dev.utils-a1ddacb2.js.map} +1 -1
- package/dist/kolibri/{devtools-cc168b70.js → devtools-f30e7098.js} +1 -1
- package/dist/kolibri/has-closer-213e1f60.js +4 -0
- package/dist/kolibri/{has-closer-0601d93e.js.map → has-closer-213e1f60.js.map} +1 -1
- package/dist/kolibri/hide-label-12ff810a.js +4 -0
- package/dist/kolibri/i18n-565c326b.js +4 -0
- package/dist/kolibri/i18n-565c326b.js.map +1 -0
- package/dist/kolibri/{icons-44b68720.js → icons-5c4d2e57.js} +1 -1
- package/dist/kolibri/image-source-fc1918e2.js +4 -0
- package/dist/kolibri/{index-12eec578.js → index-b99a7aa5.js} +1 -1
- package/dist/kolibri/index-b99a7aa5.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-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-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +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-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.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-wc.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/{label-8258848f.js → label-5f92bb62.js} +1 -1
- package/dist/kolibri/open-215a7ce8.js +4 -0
- package/dist/kolibri/{prop.validators-c12923a5.js → prop.validators-c9100bb0.js} +1 -1
- package/dist/kolibri/rows-5e4dff0c.js +4 -0
- package/dist/kolibri/show-509c0941.js +4 -0
- package/dist/kolibri/{suggestions-dc12a293.js → suggestions-9923bbe2.js} +1 -1
- package/dist/kolibri/{tab-index-9e8a3c00.js → tab-index-4eba9292.js} +1 -1
- package/dist/kolibri/tooltip-align-36b445e5.js +4 -0
- package/dist/kolibri/{validation-3c0b31d7.js → validation-406b3d9a.js} +1 -1
- package/dist/kolibri/validation-7eedde02.js +4 -0
- package/dist/types/components/form/component.d.ts +4 -0
- package/dist/types/components/form/types.d.ts +2 -1
- package/dist/types/components/link/component.d.ts +0 -2
- package/dist/types/components/link/shadow.d.ts +0 -1
- package/dist/types/components/link/types.d.ts +0 -1
- package/dist/types/components/link-button/component.d.ts +0 -1
- package/dist/types/components/table/component.d.ts +0 -1
- package/dist/types/components.d.ts +10 -24
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/locales/de.d.ts +2 -8
- package/dist/types/locales/en.d.ts +2 -8
- package/dist/types/types/button-link-text.d.ts +0 -1
- package/dist/types/types/props/error-list.d.ts +9 -0
- package/doc/abbr.md +1 -1
- package/doc/accordion.md +1 -1
- package/doc/alert.md +1 -1
- package/doc/avatar.md +1 -1
- package/doc/badge.md +1 -1
- package/doc/breadcrumb.md +1 -1
- package/doc/button-group.md +1 -1
- package/doc/button-link.md +1 -1
- package/doc/button.md +1 -1
- package/doc/card.md +1 -1
- package/doc/details.md +1 -1
- package/doc/form.md +22 -5
- package/doc/heading.md +1 -1
- package/doc/icon.md +1 -1
- package/doc/indented-text.md +1 -1
- package/doc/input-checkbox.md +1 -1
- package/doc/input-color.md +1 -1
- package/doc/input-date.md +1 -1
- package/doc/input-email.md +1 -1
- package/doc/input-file.md +1 -1
- package/doc/input-number.md +1 -1
- package/doc/input-password.md +1 -1
- package/doc/input-radio.md +1 -1
- package/doc/input-range.md +1 -1
- package/doc/input-text.md +1 -1
- package/doc/link-button.md +17 -18
- package/doc/link-group.md +1 -1
- package/doc/link.md +17 -16
- package/doc/nav.md +1 -1
- package/doc/pagination.md +1 -1
- package/doc/quote.md +1 -1
- package/doc/select.md +1 -1
- package/doc/skip-nav.md +1 -1
- package/doc/span.md +1 -1
- package/doc/split-button.md +1 -1
- package/doc/table.md +3 -1
- package/doc/tabs.md +1 -1
- package/doc/textarea.md +1 -1
- package/doc/toaster.md +1 -1
- package/doc/tooltip.md +1 -1
- package/doc/version.md +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +0 -8
- package/dist/cjs/access-key-0cc8c925.js +0 -4
- package/dist/cjs/alternative-button-link-role-d4424d08.js +0 -4
- package/dist/cjs/custom-class-00d4c432.js +0 -4
- package/dist/cjs/has-closer-135c8b18.js +0 -4
- package/dist/cjs/hide-label-869c662f.js +0 -4
- package/dist/cjs/i18n-3094a3c4.js +0 -4
- package/dist/cjs/i18n-3094a3c4.js.map +0 -1
- package/dist/cjs/image-source-4b6e0c0e.js +0 -4
- package/dist/cjs/index-e779e8b0.js.map +0 -1
- package/dist/cjs/open-ca19e687.js +0 -4
- package/dist/cjs/rows-7e3a7f8b.js +0 -4
- package/dist/cjs/show-48f559f5.js +0 -4
- package/dist/cjs/suggestions-2d56c664.js +0 -4
- package/dist/esm/alternative-button-link-role-30b77bb6.js +0 -4
- package/dist/esm/app-globals-b8186895.js +0 -4
- package/dist/esm/custom-class-6cd3b804.js +0 -4
- package/dist/esm/i18n-9a4c8edc.js +0 -4
- package/dist/esm/i18n-9a4c8edc.js.map +0 -1
- package/dist/esm/index-12eec578.js.map +0 -1
- package/dist/esm/validation-17e52787.js +0 -4
- package/dist/kolibri/access-key-d9d3ed1b.js +0 -4
- package/dist/kolibri/alignment-3d2d9391.js +0 -4
- package/dist/kolibri/alternative-button-link-role-30b77bb6.js +0 -4
- package/dist/kolibri/app-globals-b8186895.js +0 -4
- package/dist/kolibri/controller-icon-508a2cb1.js +0 -4
- package/dist/kolibri/custom-class-6cd3b804.js +0 -4
- package/dist/kolibri/has-closer-0601d93e.js +0 -4
- package/dist/kolibri/hide-label-6593df3f.js +0 -4
- package/dist/kolibri/i18n-9a4c8edc.js +0 -4
- package/dist/kolibri/i18n-9a4c8edc.js.map +0 -1
- package/dist/kolibri/image-source-4b04e9f2.js +0 -4
- package/dist/kolibri/index-12eec578.js.map +0 -1
- package/dist/kolibri/open-329b7907.js +0 -4
- package/dist/kolibri/rows-14d6fb92.js +0 -4
- package/dist/kolibri/show-9a06c90e.js +0 -4
- package/dist/kolibri/tooltip-align-a3d27a89.js +0 -4
- package/dist/kolibri/validation-17e52787.js +0 -4
- /package/dist/kolibri/{a11y.tipps-f14bff66.js.map → a11y.tipps-2a54fd3e.js.map} +0 -0
- /package/dist/kolibri/{access-key-d9d3ed1b.js.map → access-key-65ff36eb.js.map} +0 -0
- /package/dist/kolibri/{alignment-3d2d9391.js.map → alignment-3ca6c7b4.js.map} +0 -0
- /package/dist/kolibri/{alternative-button-link-role-30b77bb6.js.map → alternative-button-link-role-03c7dc90.js.map} +0 -0
- /package/dist/kolibri/{associated.controller-e642039e.js.map → associated.controller-4abb0353.js.map} +0 -0
- /package/dist/kolibri/{color-d4c99af3.js.map → color-2aa7218a.js.map} +0 -0
- /package/dist/kolibri/{controller-8698d9f4.js.map → controller-34abd025.js.map} +0 -0
- /package/dist/kolibri/{controller-9df5563d.js.map → controller-7cdc3635.js.map} +0 -0
- /package/dist/kolibri/{controller-3577ccfd.js.map → controller-b209b2d8.js.map} +0 -0
- /package/dist/kolibri/{controller-7d1c3e92.js.map → controller-d02635bf.js.map} +0 -0
- /package/dist/kolibri/{controller-b2e189a7.js.map → controller-fe294c60.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-508a2cb1.js.map → controller-icon-5be90e84.js.map} +0 -0
- /package/dist/kolibri/{custom-class-6cd3b804.js.map → custom-class-c7f11511.js.map} +0 -0
- /package/dist/kolibri/{devtools-cc168b70.js.map → devtools-f30e7098.js.map} +0 -0
- /package/dist/kolibri/{hide-label-6593df3f.js.map → hide-label-12ff810a.js.map} +0 -0
- /package/dist/kolibri/{icons-44b68720.js.map → icons-5c4d2e57.js.map} +0 -0
- /package/dist/kolibri/{image-source-4b04e9f2.js.map → image-source-fc1918e2.js.map} +0 -0
- /package/dist/kolibri/{label-8258848f.js.map → label-5f92bb62.js.map} +0 -0
- /package/dist/kolibri/{open-329b7907.js.map → open-215a7ce8.js.map} +0 -0
- /package/dist/kolibri/{prop.validators-c12923a5.js.map → prop.validators-c9100bb0.js.map} +0 -0
- /package/dist/kolibri/{rows-14d6fb92.js.map → rows-5e4dff0c.js.map} +0 -0
- /package/dist/kolibri/{show-9a06c90e.js.map → show-509c0941.js.map} +0 -0
- /package/dist/kolibri/{suggestions-dc12a293.js.map → suggestions-9923bbe2.js.map} +0 -0
- /package/dist/kolibri/{tab-index-9e8a3c00.js.map → tab-index-4eba9292.js.map} +0 -0
- /package/dist/kolibri/{tooltip-align-a3d27a89.js.map → tooltip-align-36b445e5.js.map} +0 -0
- /package/dist/kolibri/{validation-3c0b31d7.js.map → validation-406b3d9a.js.map} +0 -0
- /package/dist/kolibri/{validation-17e52787.js.map → validation-7eedde02.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-
|
1
|
+
{"file":"controller-34abd025.js","mappings":";;;;;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;;MCiBhE,wBAAyB,SAAQ,uBAAuB;IAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;QAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,mBAAmB,CAAC,KAA2B;QACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC3C;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;KACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;IAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;QACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAHvB,aAAQ,GAAG,KAAK,CAAC;QAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,YAAY,CAAC,KAAqB;QACxC,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrF,IAAI,GAAG,CAAC,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvD,KAAK,CACL,CAAC;KACF;IAEM,kBAAkB,CAAC,KAAe;QACxC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC1C;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;KACpD;;;;;","names":[],"sources":["src/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import type { Generic } from 'adopted-style-sheets';\nimport { InputTextType, inputTextTypeOptions } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{c as watchJsonArrayString,a as watchBoolean,w as watchValidator,m as mapString2Unknown,s as setState}from"./prop.validators-
|
4
|
+
import{c as watchJsonArrayString,a as watchBoolean,w as watchValidator,m as mapString2Unknown,s as setState}from"./prop.validators-c9100bb0.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label-5f92bb62.js";import{a as a11yHint}from"./a11y.tipps-2a54fd3e.js";import{S as STATE_CHANGE_EVENT}from"./reuse-d79ab469.js";import{I as InputController}from"./controller-b209b2d8.js";const orientationOptions=["horizontal","vertical"],validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===hasEnoughReadableChars(t.label,3)&&!1===containsOnlyNumbers(t.label)&&a11yHint(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,o={})=>{watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,o)},validateOptionsWithOptgroup=(t,e,o={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,o)},validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,a):t.set(a,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-9df5563d.js","mappings":"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","names":[],"sources":["src/types/orientation.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["export const orientationOptions = ['horizontal', 'vertical'] as const;\nexport type Orientation = (typeof orientationOptions)[number];\n","import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation, orientationOptions } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\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 readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
|
1
|
+
{"file":"controller-7cdc3635.js","mappings":"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","names":[],"sources":["src/types/orientation.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["export const orientationOptions = ['horizontal', 'vertical'] as const;\nexport type Orientation = (typeof orientationOptions)[number];\n","import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation, orientationOptions } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\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 readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{a as watchBoolean,d as watchString,s as setState,o as objectObjectHandler,p as parseJson}from"./prop.validators-
|
4
|
+
import{a as watchBoolean,d as watchString,s as setState,o as objectObjectHandler,p as parseJson}from"./prop.validators-c9100bb0.js";import{v as validateHideLabel}from"./hide-label-12ff810a.js";import{a as validateLabelWithExpertSlot}from"./label-5f92bb62.js";import{e as a11yHintDisabled,a as a11yHint,d as devHint}from"./a11y.tipps-2a54fd3e.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events-fa760b68.js";import{v as validateTabIndex}from"./tab-index-4eba9292.js";import{A as AssociatedInputController}from"./associated.controller-4abb0353.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)},validateHideError=(t,e,o)=>{watchBoolean(t,"_hideError",e,o)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),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)}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}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)}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.validateHideError(this.component._hideError),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-3577ccfd.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/hide-error.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\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?: TouchedPropType;\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 type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean, WatchBooleanOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HideErrorPropType = boolean;\n\n/**\n * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n */\nexport type PropHideError = {\n\thideError: HideErrorPropType;\n};\n\n/* validator */\nexport const validateHideError = (component: Generic.Element.Component, value?: HideErrorPropType, options?: WatchBooleanOptions): void => {\n\twatchBoolean(component, '_hideError', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { HideErrorPropType, validateHideError } from '../../../types/props/hide-error';\nimport { validateHideLabel } from '../../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { Props as ButtonProps } from '../../button/types';\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\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?: AdjustHeightPropType): 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 validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\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 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.validateHideError(this.component._hideError);\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.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\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\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}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\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
|
+
{"file":"controller-b209b2d8.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/hide-error.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\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?: TouchedPropType;\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 type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean, WatchBooleanOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HideErrorPropType = boolean;\n\n/**\n * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n */\nexport type PropHideError = {\n\thideError: HideErrorPropType;\n};\n\n/* validator */\nexport const validateHideError = (component: Generic.Element.Component, value?: HideErrorPropType, options?: WatchBooleanOptions): void => {\n\twatchBoolean(component, '_hideError', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { HideErrorPropType, validateHideError } from '../../../types/props/hide-error';\nimport { validateHideLabel } from '../../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { Props as ButtonProps } from '../../button/types';\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\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?: AdjustHeightPropType): 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 validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\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 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.validateHideError(this.component._hideError);\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.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\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\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}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\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 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{a as watchBoolean,w as watchValidator,e as watchNumber,d as watchString}from"./prop.validators-
|
4
|
+
import{a as watchBoolean,w as watchValidator,e as watchNumber,d as watchString}from"./prop.validators-c9100bb0.js";import{I as InputIconController}from"./controller-icon-5be90e84.js";const validateHasCounter=(t,e)=>{watchBoolean(t,"_hasCounter",e)};class InputPasswordController extends InputIconController{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){watchValidator(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}validateMaxLength(t){watchNumber(this.component,"_maxLength",t,{min:0})}validatePattern(t){watchString(this.component,"_pattern",t)}validatePlaceholder(t){watchString(this.component,"_placeholder",t)}validateReadOnly(t){watchBoolean(this.component,"_readOnly",t)}validateRequired(t){watchBoolean(this.component,"_required",t)}validateValue(t){watchString(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{InputPasswordController as I,validateHasCounter as v};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-
|
1
|
+
{"file":"controller-d02635bf.js","mappings":"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","names":[],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type HasCounterPropType = boolean;\n\n/**\n * Shows the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: HasCounterPropType;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: HasCounterPropType): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\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 validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\t/**\n\t\t * Beim Screenreader NVDA wird der Placeholder mit\n\t\t * vorgelesen. Somit kann es vorkommen, dass das\n\t\t * Label und der Placeholder vorgelesen werden.\n\t\t *\n\t\t * Aufgrund dessen, dass das Label immer vorgelesen\n\t\t * werden muss, kann das zusätzliche Vorlesen des\n\t\t * Placeholders störend sein.\n\t\t *\n\t\t * Damit beim Fokussieren das \"doppelte\" vorlesen\n\t\t * vermieden werden kann, wird der Placeholder für\n\t\t * den fokussierten Feldstatus entfernt.\n\t\t *\n\t\t * Hinweis: Für alle Nutzenden müssen die all dar-\n\t\t * gestellten Inhalte, also auch der Place-\n\t\t * holder, gleichermaßen zugänglich sein.\n\t\t * Das oben beschriebene Handling erfüllt\n\t\t * diese Anforderung nicht.\n\t\t */\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: this.placeholderCache,\n\t\t};\n\t\tthis.placeholderCache = undefined;\n\t\tsuper.onBlur(event);\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.placeholderCache = this.component.state._placeholder as string;\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: undefined,\n\t\t};\n\t\tsuper.onFocus(event);\n\t}\n}\n"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{d as devHint}from"./a11y.tipps-
|
4
|
+
import{d as devHint}from"./a11y.tipps-2a54fd3e.js";import{d as getExperimentalMode}from"./dev.utils-a1ddacb2.js";import{f as setEventTarget,K as KoliBriDevHelper}from"./prop.validators-c9100bb0.js";const searchFormElement=e=>{for(getExperimentalMode()&&(devHint("↓ Search form element start."),console.log(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&"KOL-FORM"!==e.tagName;){try{e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null}catch(e){}getExperimentalMode()&&(console.log(e),devHint("↑ Search form element finished."))}return e},propagateResetEventToForm=(e={})=>{var t,o;const n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===n.tagName)setEventTarget(e,n),n.dispatchEvent(e);else if("KOL-FORM"===n.tagName){setEventTarget(e,KoliBriDevHelper.querySelector("form",n));const a=n;"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 n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:n});if("FORM"===n.tagName)setEventTarget(e,n),n.dispatchEvent(e),n.submit();else if("KOL-FORM"===n.tagName){setEventTarget(e,KoliBriDevHelper.querySelector("form",n));const a=n;"function"==typeof(null===(t=a._on)||void 0===t?void 0:t.onSubmit)&&(null===(o=a._on)||void 0===o||o.onSubmit(e))}}};export{propagateResetEventToForm as a,propagateSubmitEventToForm as p};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-
|
1
|
+
{"file":"controller-fe294c60.js","mappings":"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","names":[],"sources":["src/components/form/controller.ts"],"sourcesContent":["import { devHint } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { KoliBriDevHelper, setEventTarget } from '../../utils/prop.validators';\nimport { Props } from './types';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tconsole.log(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== 'KOL-FORM') {\n\t\ttry {\n\t\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\t\tel = el.parentElement;\n\t\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\t\tel = el.parentNode.host;\n\t\t\t} else {\n\t\t\t\tel = null;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t\tif (getExperimentalMode()) {\n\t\t\tconsole.log(el);\n\t\t\tdevHint(`↑ Search form element finished.`);\n\t\t}\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as Props;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t\t(form as HTMLFormElement).submit();\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as Props;\n\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t}\n\t\t}\n\t}\n};\n"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{i as isIcon}from"./icons-
|
4
|
+
import{i as isIcon}from"./icons-5c4d2e57.js";import{o as objectObjectHandler,p as parseJson,w as watchValidator}from"./prop.validators-c9100bb0.js";import{i as isString}from"./reuse-d79ab469.js";import{I as InputController}from"./controller-b209b2d8.js";const beforePatchIcons=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icons",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icons",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcons},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{InputIconController as I};
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"controller-icon-
|
1
|
+
{"file":"controller-icon-5be90e84.js","mappings":";;;;;;;;AAUA,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,SAA+B;IACxE,MAAM,KAAK,GAAG,KAA+B,CAAC;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;YAC7B,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAe,EAAE,CAAC;SAC9C;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAC5B,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC;SAC5C;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC/B;AACF,CAAC,CAAC;MAEW,mBAAoB,SAAQ,eAAe;IAGvD,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;QAChG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,YAAY,CAAC,KAA2C;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC1B;IAEM,aAAa,CAAC,KAA2C;QAC/D,mBAAmB,CAAC,KAAK,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAyB,KAAe,CAAC,CAAC;aAE3D;YAAC,OAAO,CAAC,EAAE;aAEX;YACD,cAAc,CACb,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,CAAC,KAAK;gBACL,QACC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChJ;aACF,EACD,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAClC,KAAK,EACL;gBACC,KAAK,EAAE;oBACN,WAAW,EAAE,gBAAgB;iBAC7B;gBACD,QAAQ,EAAE,IAAI;aACd,CACD,CAAC;SACF,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAClE;;;;;","names":[],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcons } from '../../../types/icons';\nimport { isIcon } from '../../../types/props/icons';\nimport { objectObjectHandler, parseJson, watchValidator } from '../../../utils/prop.validators';\nimport { isString } from '../../../utils/validator';\nimport { InputController } from './controller';\nimport { Props, Watches } from './types-icon';\n\nconst beforePatchIcons = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icons = value as KoliBriHorizontalIcons;\n\tif (typeof icons === 'object' && icons !== null) {\n\t\tif (isString(icons.right, 1)) {\n\t\t\ticons.right = { icon: icons.right as string };\n\t\t}\n\t\tif (isString(icons.left, 1)) {\n\t\t\ticons.left = { icon: icons.left as string };\n\t\t}\n\t\tnextState.set('_icons', icons);\n\t}\n};\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcons>(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\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icons',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcons,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons || this.component._icon);\n\t}\n}\n"],"version":3}
|
@@ -1 +1 @@
|
|
1
|
-
{"file":"custom-class-
|
1
|
+
{"file":"custom-class-c7f11511.js","mappings":";;;;;MAea,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B;IACpG,WAAW,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,SAAS;KACvB,CAAC,CAAC;AACJ;;;;","names":[],"sources":["src/types/props/custom-class.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\nexport type CustomClassPropType = string;\n\n/**\n * Defines the custom class attribute.\n */\nexport type PropCustomClass = {\n\tcustomClass: CustomClassPropType;\n};\n\n/* validator */\nexport const validateCustomClass = (component: Generic.Element.Component, value?: CustomClassPropType): void => {\n\twatchString(component, '_customClass', value, {\n\t\tdefaultValue: undefined,\n\t});\n};\n"],"version":3}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{p as processEnv}from"./reuse-d79ab469.js";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return commonjsRequire()}},o.exports),o.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var loglevel=createCommonjsModule((function(e){var t,o;t=commonjsGlobal,o=function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function l(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(t,o){for(var l=0;l<n.length;l++){var i=n[l];this[i]=l<t?e:this.methodFactory(i,t,o)}this.log=this.debug}function r(e,o,n){return function(){typeof console!==t&&(s.call(this,o,n),this[e].apply(this,arguments))}}function a(n,s,a){return function(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&o?i:void 0!==console[n]?l(console,n):void 0!==console.log?l(console,"log"):e)}(n)||r.apply(this,arguments)}function c(e,o,l){var i,r=this;o=null==o?"WARN":o;var c="loglevel";function d(){var e;if(typeof window!==t&&c){try{e=window.localStorage[c]}catch(e){}if(typeof e===t)try{var o=window.document.cookie,n=o.indexOf(encodeURIComponent(c)+"=");-1!==n&&(e=/^([^;]+)/.exec(o.slice(n))[1])}catch(e){}return void 0===r.levels[e]&&(e=void 0),e}}"string"==typeof e?c+=":"+e:"symbol"==typeof e&&(c=void 0),r.name=e,r.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},r.methodFactory=l||a,r.getLevel=function(){return i},r.setLevel=function(o,l){if("string"==typeof o&&void 0!==r.levels[o.toUpperCase()]&&(o=r.levels[o.toUpperCase()]),!("number"==typeof o&&o>=0&&o<=r.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(i=o,!1!==l&&function(e){var o=(n[e]||"silent").toUpperCase();if(typeof window!==t&&c){try{return void(window.localStorage[c]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"="+o+";"}catch(e){}}}(o),s.call(r,o,e),typeof console===t&&o<r.levels.SILENT)return"No console available for logging"},r.setDefaultLevel=function(e){o=e,d()||r.setLevel(e,!1)},r.resetLevel=function(){r.setLevel(o,!1),function(){if(typeof window!==t&&c){try{return void window.localStorage.removeItem(c)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},r.enableAll=function(e){r.setLevel(r.levels.TRACE,e)},r.disableAll=function(e){r.setLevel(r.levels.SILENT,e)};var h=d();null==h&&(h=o),r.setLevel(h,!1)}var d=new c,h={};d.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=h[e];return t||(t=h[e]=new c(e,d.getLevel(),d.methodFactory)),t};var u=typeof window!==t?window.log:void 0;return d.noConflict=function(){return typeof window!==t&&window.log===d&&(window.log=u),d},d.getLoggers=function(){return h},d.default=d,d},e.exports?e.exports=o():t.log=o()}));const o="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};let p=!0,T=!1;const D=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,I=e=>"string"==typeof e&&D.test(e),g=e=>{if(!1===I(e))throw new Error(`[Theming] The theme identifier "${"string"==typeof e?e:""}" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},A=(e,t,n,l)=>{(l=l??{}).append=l.append??!1,g(e),!0===p&&!1===T&&(T=!0,loglevel.warn(`[Theming] The theme process is locked. This means that the theme "${e}" should not be patched.\n\n\timport { register } from 'adopted-style-sheets';\n\timport { defineCustomElements } from '...';\n\timport { THEME } from '...';\n\n\tregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\t// run your app or website\n\t})\n\t.catch(console.warn);`)),("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&("object"!=typeof o.A11yUi.Themes||null===o.A11yUi.Themes)&&(o.A11yUi.Themes={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&("object"!=typeof o.A11yUi.Themes[e]||null===o.A11yUi.Themes[e])&&(o.A11yUi.Themes[e]={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&"object"==typeof o.A11yUi.Themes[e]&&null!==o.A11yUi.Themes[e]&&(l.append&&"string"==typeof o.A11yUi.Themes[e][t]?o.A11yUi.Themes[e][t]+=n:o.A11yUi.Themes[e][t]=n)},b=(e,t,o)=>(g(e),"object"==typeof t&&null!==t&&Object.getOwnPropertyNames(t).forEach((n=>{const l=t[n];"string"==typeof l&&l.length>0&&A(e,n,l,o)})),e),U=e=>{if(e instanceof HTMLElement){if("string"==typeof e.dataset.theme)return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return U(t)}}return null},E=(e={})=>"false"!==e.themeEncroachCss&&"true"!==e.themeReset&&{mode:"after"===e.themeEncroachCssMode||"before"===e.themeEncroachCssMode?e.themeEncroachCssMode:"before"},w=()=>"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Theme&&null!==o.A11yUi.Theme&&"boolean"==typeof o.A11yUi.Theme.cache&&"object"==typeof o.A11yUi.Theme.encroachCss&&null!==o.A11yUi.Theme.encroachCss&&"string"==typeof o.A11yUi.Theme.encroachCss.mode&&"string"==typeof o.A11yUi.Theme.name,z=()=>!("object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Theme&&null!==o.A11yUi.Theme&&"default"===o.A11yUi.Theme.name),S=e=>{if(w())return o.A11yUi.Theme;{const t={cache:!0,encroachCss:E(),loglevel:"silent",name:null},o=U(e);return o instanceof HTMLElement&&(t.cache="false"!==o.dataset.themeCache,t.encroachCss=E(o.dataset),t.loglevel="debug"===o.dataset.themeLoglevel?o.dataset.themeLoglevel:"silent",t.name=o.dataset.theme||null),t}},Y=(e,t)=>({cache:!1!==t.cache,detect:"auto"===t.detect?"auto":"fixed",encroachCss:!1!==t.encroachCss&&("object"!=typeof t.encroachCss||null==t.encroachCss||"after"!==t.encroachCss.mode&&"before"!==t.encroachCss.mode?{mode:"before"}:t.encroachCss),loglevel:"debug"===t.loglevel?t.loglevel:"silent",name:"string"==typeof t.name?t.name:e}),k=(e,t)=>{!1===w()&&z()&&"object"==typeof t&&null!==t&&("fixed"===(t=Y(e,t)).detect?(null===t.name&&"string"==typeof e&&(t.name=e),e===t.name&&(("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={}),o.A11yUi.Theme=t,loglevel.info(`[Theming] Theme "${e}" was set as default theme.`))):loglevel.warn("[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode."))};let j=!1;const _=(e,t,o={})=>{!1===j&&(j=!0,p=!1),"function"==typeof e?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach((e=>{"function"==typeof e&&1===e.length?k(e(b),{cache:o.theme?.cache,detect:o.theme?.detect,encroachCss:o.theme?.encroachCss,name:o.theme?.name}):loglevel.error("[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.")})),p=!0,"function"==typeof t?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const n=[];return t.forEach((e=>{const t=e();t instanceof Promise&&n.push(t)})),Promise.all(n)},c=new Map,C=[],v=new Set,h=new Map,B=/--[^;]+/g,G=/:/;("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={CSS_STYLE_CACHE:h,HYDRATED_HISTORY:C,STYLING_TASK_QUEUE:c});const K=(e,t)=>{let o=t.match(B);if(Array.isArray(o)){o=o.filter((e=>G.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t)}v.add(e)},d=(e,t)=>"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&"object"==typeof o.A11yUi.Themes[e]&&null!==o.A11yUi.Themes[e]&&"string"==typeof o.A11yUi.Themes[e][t]?o.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",q=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t)}},F=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t)})),e.adoptedStyleSheets=o}catch{t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild)}))}},Q=(e,t,o)=>{if(!1!==o){const n=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let l;try{l=[...Array.from(e.adoptedStyleSheets)]}catch{l=[]}"before"===o?.mode?(n.reverse().forEach((e=>t.unshift(e.innerHTML))),l.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(n.forEach((e=>t.push(e.innerHTML))),l.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))))}},L=(e,t,o)=>{const n=t.name||"default";let l;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");l=e.shadowRoot}catch{l=e}if(h.get(n)?.has(e.tagName))M(e,l,h.get(n)?.get(e.tagName),o);else{const i=d(n,"PROPERTIES"),s=d(n,"GLOBAL"),r=d(n,e.tagName);!1===v.has(n)&&K(n,s);const a=[i,s,r];Q(l,a,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,a),!0===t.cache&&(!1===h.has(n)&&h.set(n,new Map),h.get(n)?.set(e.tagName,a)),M(e,l,a,o)}},M=(e,t,o,n)=>{q(t),F(t,o),e.style.display=n},$=e=>{"debug"===e.loglevel&&C.push({timestamp:Date.now(),numberOfTasks:c.size})},J=(e,t)=>{c.set(e,{styleDisplay:e.style.display?`${e.style.display}`:null,themeDetails:t})},V=(e,t)=>{J(e,t),$(t)},W=e=>{c.delete(e)},O=(e,t)=>{W(e),$(t)},R=e=>{const t=setTimeout((()=>{if(clearTimeout(t),c.has(e)&&e.classList.contains("hydrated")){const{styleDisplay:t,themeDetails:o}=c.get(e);L(e,o,t),O(e,o)}else R(e)}),25)},X=e=>{for(const t of e)if(c.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=c.get(t.target);L(t.target,o,e),O(t.target,o)}},Z={attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1};let f;try{f=new MutationObserver(X)}catch{f=null}const ee=(e,t)=>{V(e,t),f?f.observe(e,Z):R(e),e.style.display="none"};class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){try{if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}catch(e){}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const initMeta=()=>{if(null===DEV_MODE&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{if(void 0===getKoliBri().Modal){const e=new ModalService;Object.defineProperty(getKoliBri(),"Modal",{get:function(){return e}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.2\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{A,Log as L,S,_,getDocument as a,b,configKoliBri as c,getExperimentalMode as d,ee as e,createCommonjsModule as f,getKoliBri as g,getDevMode as h,initKoliBri as i,getColorContrastAnalysis as j,nonce as n,renderDevAdvice as r};
|
4
|
+
import{p as processEnv}from"./reuse-d79ab469.js";var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function createCommonjsModule(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return commonjsRequire()}},o.exports),o.exports}function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var loglevel=createCommonjsModule((function(e){var t,o;t=commonjsGlobal,o=function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function l(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(t,o){for(var l=0;l<n.length;l++){var i=n[l];this[i]=l<t?e:this.methodFactory(i,t,o)}this.log=this.debug}function r(e,o,n){return function(){typeof console!==t&&(s.call(this,o,n),this[e].apply(this,arguments))}}function a(n,s,a){return function(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&o?i:void 0!==console[n]?l(console,n):void 0!==console.log?l(console,"log"):e)}(n)||r.apply(this,arguments)}function c(e,o,l){var i,r=this;o=null==o?"WARN":o;var c="loglevel";function d(){var e;if(typeof window!==t&&c){try{e=window.localStorage[c]}catch(e){}if(typeof e===t)try{var o=window.document.cookie,n=o.indexOf(encodeURIComponent(c)+"=");-1!==n&&(e=/^([^;]+)/.exec(o.slice(n))[1])}catch(e){}return void 0===r.levels[e]&&(e=void 0),e}}"string"==typeof e?c+=":"+e:"symbol"==typeof e&&(c=void 0),r.name=e,r.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},r.methodFactory=l||a,r.getLevel=function(){return i},r.setLevel=function(o,l){if("string"==typeof o&&void 0!==r.levels[o.toUpperCase()]&&(o=r.levels[o.toUpperCase()]),!("number"==typeof o&&o>=0&&o<=r.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(i=o,!1!==l&&function(e){var o=(n[e]||"silent").toUpperCase();if(typeof window!==t&&c){try{return void(window.localStorage[c]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"="+o+";"}catch(e){}}}(o),s.call(r,o,e),typeof console===t&&o<r.levels.SILENT)return"No console available for logging"},r.setDefaultLevel=function(e){o=e,d()||r.setLevel(e,!1)},r.resetLevel=function(){r.setLevel(o,!1),function(){if(typeof window!==t&&c){try{return void window.localStorage.removeItem(c)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},r.enableAll=function(e){r.setLevel(r.levels.TRACE,e)},r.disableAll=function(e){r.setLevel(r.levels.SILENT,e)};var h=d();null==h&&(h=o),r.setLevel(h,!1)}var d=new c,h={};d.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=h[e];return t||(t=h[e]=new c(e,d.getLevel(),d.methodFactory)),t};var u=typeof window!==t?window.log:void 0;return d.noConflict=function(){return typeof window!==t&&window.log===d&&(window.log=u),d},d.getLoggers=function(){return h},d.default=d,d},e.exports?e.exports=o():t.log=o()}));const o="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};let p=!0,T=!1;const D=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,I=e=>"string"==typeof e&&D.test(e),g=e=>{if(!1===I(e))throw new Error(`[Theming] The theme identifier "${"string"==typeof e?e:""}" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},A=(e,t,n,l)=>{(l=l??{}).append=l.append??!1,g(e),!0===p&&!1===T&&(T=!0,loglevel.warn(`[Theming] The theme process is locked. This means that the theme "${e}" should not be patched.\n\n\timport { register } from 'adopted-style-sheets';\n\timport { defineCustomElements } from '...';\n\timport { THEME } from '...';\n\n\tregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\t// run your app or website\n\t})\n\t.catch(console.warn);`)),("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&("object"!=typeof o.A11yUi.Themes||null===o.A11yUi.Themes)&&(o.A11yUi.Themes={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&("object"!=typeof o.A11yUi.Themes[e]||null===o.A11yUi.Themes[e])&&(o.A11yUi.Themes[e]={}),"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&"object"==typeof o.A11yUi.Themes[e]&&null!==o.A11yUi.Themes[e]&&(l.append&&"string"==typeof o.A11yUi.Themes[e][t]?o.A11yUi.Themes[e][t]+=n:o.A11yUi.Themes[e][t]=n)},b=(e,t,o)=>(g(e),"object"==typeof t&&null!==t&&Object.getOwnPropertyNames(t).forEach((n=>{const l=t[n];"string"==typeof l&&l.length>0&&A(e,n,l,o)})),e),U=e=>{if(e instanceof HTMLElement){if("string"==typeof e.dataset.theme)return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return U(t)}}return null},E=(e={})=>"false"!==e.themeEncroachCss&&"true"!==e.themeReset&&{mode:"after"===e.themeEncroachCssMode||"before"===e.themeEncroachCssMode?e.themeEncroachCssMode:"before"},w=()=>"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Theme&&null!==o.A11yUi.Theme&&"boolean"==typeof o.A11yUi.Theme.cache&&"object"==typeof o.A11yUi.Theme.encroachCss&&null!==o.A11yUi.Theme.encroachCss&&"string"==typeof o.A11yUi.Theme.encroachCss.mode&&"string"==typeof o.A11yUi.Theme.name,z=()=>!("object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Theme&&null!==o.A11yUi.Theme&&"default"===o.A11yUi.Theme.name),S=e=>{if(w())return o.A11yUi.Theme;{const t={cache:!0,encroachCss:E(),loglevel:"silent",name:null},o=U(e);return o instanceof HTMLElement&&(t.cache="false"!==o.dataset.themeCache,t.encroachCss=E(o.dataset),t.loglevel="debug"===o.dataset.themeLoglevel?o.dataset.themeLoglevel:"silent",t.name=o.dataset.theme||null),t}},Y=(e,t)=>({cache:!1!==t.cache,detect:"auto"===t.detect?"auto":"fixed",encroachCss:!1!==t.encroachCss&&("object"!=typeof t.encroachCss||null==t.encroachCss||"after"!==t.encroachCss.mode&&"before"!==t.encroachCss.mode?{mode:"before"}:t.encroachCss),loglevel:"debug"===t.loglevel?t.loglevel:"silent",name:"string"==typeof t.name?t.name:e}),k=(e,t)=>{!1===w()&&z()&&"object"==typeof t&&null!==t&&("fixed"===(t=Y(e,t)).detect?(null===t.name&&"string"==typeof e&&(t.name=e),e===t.name&&(("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={}),o.A11yUi.Theme=t,loglevel.info(`[Theming] Theme "${e}" was set as default theme.`))):loglevel.warn("[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode."))};let j=!1;const _=(e,t,o={})=>{!1===j&&(j=!0,p=!1),"function"==typeof e?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach((e=>{"function"==typeof e&&1===e.length?k(e(b),{cache:o.theme?.cache,detect:o.theme?.detect,encroachCss:o.theme?.encroachCss,name:o.theme?.name}):loglevel.error("[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.")})),p=!0,"function"==typeof t?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const n=[];return t.forEach((e=>{const t=e();t instanceof Promise&&n.push(t)})),Promise.all(n)},c=new Map,C=[],v=new Set,h=new Map,B=/--[^;]+/g,G=/:/;("object"!=typeof o.A11yUi||null===o.A11yUi)&&(o.A11yUi={CSS_STYLE_CACHE:h,HYDRATED_HISTORY:C,STYLING_TASK_QUEUE:c});const K=(e,t)=>{let o=t.match(B);if(Array.isArray(o)){o=o.filter((e=>G.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t)}v.add(e)},d=(e,t)=>"object"==typeof o.A11yUi&&null!==o.A11yUi&&"object"==typeof o.A11yUi.Themes&&null!==o.A11yUi.Themes&&"object"==typeof o.A11yUi.Themes[e]&&null!==o.A11yUi.Themes[e]&&"string"==typeof o.A11yUi.Themes[e][t]?o.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",q=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t)}},F=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t)})),e.adoptedStyleSheets=o}catch{t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild)}))}},Q=(e,t,o)=>{if(!1!==o){const n=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let l;try{l=[...Array.from(e.adoptedStyleSheets)]}catch{l=[]}"before"===o?.mode?(n.reverse().forEach((e=>t.unshift(e.innerHTML))),l.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(n.forEach((e=>t.push(e.innerHTML))),l.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))))}},L=(e,t,o)=>{const n=t.name||"default";let l;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");l=e.shadowRoot}catch{l=e}if(h.get(n)?.has(e.tagName))M(e,l,h.get(n)?.get(e.tagName),o);else{const i=d(n,"PROPERTIES"),s=d(n,"GLOBAL"),r=d(n,e.tagName);!1===v.has(n)&&K(n,s);const a=[i,s,r];Q(l,a,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,a),!0===t.cache&&(!1===h.has(n)&&h.set(n,new Map),h.get(n)?.set(e.tagName,a)),M(e,l,a,o)}},M=(e,t,o,n)=>{q(t),F(t,o),e.style.display=n},$=e=>{"debug"===e.loglevel&&C.push({timestamp:Date.now(),numberOfTasks:c.size})},J=(e,t)=>{c.set(e,{styleDisplay:e.style.display?`${e.style.display}`:null,themeDetails:t})},V=(e,t)=>{J(e,t),$(t)},W=e=>{c.delete(e)},O=(e,t)=>{W(e),$(t)},R=e=>{const t=setTimeout((()=>{if(clearTimeout(t),c.has(e)&&e.classList.contains("hydrated")){const{styleDisplay:t,themeDetails:o}=c.get(e);L(e,o,t),O(e,o)}else R(e)}),25)},X=e=>{for(const t of e)if(c.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=c.get(t.target);L(t.target,o,e),O(t.target,o)}},Z={attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1};let f;try{f=new MutationObserver(X)}catch{f=null}const ee=(e,t)=>{V(e,t),f?f.observe(e,Z):R(e),e.style.display="none"};class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){try{if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}catch(e){}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const initMeta=()=>{if(null===DEV_MODE&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{if(void 0===getKoliBri().Modal){const e=new ModalService;Object.defineProperty(getKoliBri(),"Modal",{get:function(){return e}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.3\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{A,Log as L,S,_,getDocument as a,b,configKoliBri as c,getExperimentalMode as d,ee as e,createCommonjsModule as f,getKoliBri as g,getDevMode as h,initKoliBri as i,getColorContrastAnalysis as j,nonce as n,renderDevAdvice as r};
|