@public-ui/components 4.1.3 → 4.1.4-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/kolicons/kolicons.eot +0 -0
- package/assets/kolicons/kolicons.ttf +0 -0
- package/assets/kolicons/kolicons.woff +0 -0
- package/assets/kolicons/kolicons.woff2 +0 -0
- package/assets/kolicons/style.css +6 -6
- package/custom-elements.json +12 -10
- package/dist/cjs/{Alert-CKKLYGqx.js → Alert-Cz8hF1Zp.js} +1 -1
- package/dist/cjs/{Alert-CKKLYGqx.js.map → Alert-Cz8hF1Zp.js.map} +1 -1
- package/dist/cjs/{Collapsible-DSvCmqFl.js → Collapsible-ntgaXnYl.js} +1 -1
- package/dist/cjs/{Collapsible-DSvCmqFl.js.map → Collapsible-ntgaXnYl.js.map} +1 -1
- package/dist/cjs/{CustomSuggestionsOptionsGroup-B9Zwh9Oc.js → CustomSuggestionsOptionsGroup-CeNOKGiP.js} +1 -1
- package/dist/cjs/{CustomSuggestionsOptionsGroup-B9Zwh9Oc.js.map → CustomSuggestionsOptionsGroup-CeNOKGiP.js.map} +1 -1
- package/dist/cjs/{FieldControlStateWrapper-BnvW4xjf.js → FieldControlStateWrapper-24WCI7Wu.js} +1 -1
- package/dist/cjs/{FieldControlStateWrapper-BnvW4xjf.js.map → FieldControlStateWrapper-24WCI7Wu.js.map} +1 -1
- package/dist/cjs/{FormFieldStateWrapper-02bKzB9b.js → FormFieldStateWrapper-CHj8xCox.js} +1 -1
- package/dist/cjs/{FormFieldStateWrapper-02bKzB9b.js.map → FormFieldStateWrapper-CHj8xCox.js.map} +1 -1
- package/dist/cjs/{Heading-KuyrNAWM.js → Heading-ZeA7jYKQ.js} +1 -1
- package/dist/cjs/{Heading-KuyrNAWM.js.map → Heading-ZeA7jYKQ.js.map} +1 -1
- package/dist/cjs/{Input-Dsivn3oW.js → Input-DEfyGC4b.js} +1 -1
- package/dist/cjs/{Input-Dsivn3oW.js.map → Input-DEfyGC4b.js.map} +1 -1
- package/dist/cjs/{InputStateWrapper-BOEgGnfY.js → InputStateWrapper-D7ky_stK.js} +1 -1
- package/dist/cjs/{InputStateWrapper-BOEgGnfY.js.map → InputStateWrapper-D7ky_stK.js.map} +1 -1
- package/dist/cjs/{app-globals-DXbgzFKT.js → app-globals-C4K7-73F.js} +1 -1
- package/dist/cjs/{app-globals-DXbgzFKT.js.map → app-globals-C4K7-73F.js.map} +1 -1
- package/dist/cjs/component-6sHxfcnM.js +4 -0
- package/dist/cjs/{component-vVFDYe2s.js.map → component-6sHxfcnM.js.map} +1 -1
- package/dist/cjs/{component-C3oxe5kE.js → component-DeoFooWq.js} +1 -1
- package/dist/cjs/{component-C3oxe5kE.js.map → component-DeoFooWq.js.map} +1 -1
- package/dist/cjs/{component-cUozPgXd.js → component-HM8p2KEJ.js} +1 -1
- package/dist/cjs/{component-cUozPgXd.js.map → component-HM8p2KEJ.js.map} +1 -1
- package/dist/cjs/{controller-D5e1COvL.js → controller-BSG6IOzZ.js} +1 -1
- package/dist/cjs/{controller-D5e1COvL.js.map → controller-BSG6IOzZ.js.map} +1 -1
- package/dist/cjs/{controller-Cn_BXfiK.js → controller-Cif3yYuW.js} +1 -1
- package/dist/cjs/{controller-Cn_BXfiK.js.map → controller-Cif3yYuW.js.map} +1 -1
- package/dist/cjs/{controller-CV5bY7gk.js → controller-X0jJMcJW.js} +1 -1
- package/dist/cjs/{controller-CV5bY7gk.js.map → controller-X0jJMcJW.js.map} +1 -1
- package/dist/cjs/{controller-icon-CfAKmiMf.js → controller-icon-Cam_5Fs2.js} +1 -1
- package/dist/cjs/{controller-icon-CfAKmiMf.js.map → controller-icon-Cam_5Fs2.js.map} +1 -1
- package/dist/cjs/{controller-CjT6F2SA.js → controller-uIa6no_S.js} +1 -1
- package/dist/cjs/{controller-CjT6F2SA.js.map → controller-uIa6no_S.js.map} +1 -1
- package/dist/cjs/{dev.utils-BoUTGNyr.js → dev.utils-BaspkCBu.js} +1 -1
- package/dist/cjs/{dev.utils-BoUTGNyr.js.map → dev.utils-BaspkCBu.js.map} +1 -1
- package/dist/cjs/{devtools-nqp1ItfA.js → devtools-B80EAfxR.js} +1 -1
- package/dist/cjs/{devtools-nqp1ItfA.js.map → devtools-B80EAfxR.js.map} +1 -1
- package/dist/cjs/index-BTV_8HQr.js +4 -0
- package/dist/cjs/index-BTV_8HQr.js.map +1 -0
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-card-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-click-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-dialog-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-dialog.cjs.entry.js +1 -1
- package/dist/cjs/kol-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kol-drawer.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.entry.cjs.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-image.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-meter.cjs.entry.js +1 -1
- package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-pagination-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-popover-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.entry.cjs.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/value-number-clamped-L3sRZ5Mt.js +4 -0
- package/dist/cjs/value-number-clamped-L3sRZ5Mt.js.map +1 -0
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-alert.js +1 -1
- package/dist/components/kol-alert.js.map +1 -1
- package/dist/components/kol-avatar.js +1 -1
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-badge.js +1 -1
- package/dist/components/kol-badge.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-button.js +1 -1
- package/dist/components/kol-button.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-combobox.js +1 -1
- package/dist/components/kol-combobox.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-dialog.js +1 -1
- package/dist/components/kol-dialog.js.map +1 -1
- package/dist/components/kol-drawer.js +1 -1
- package/dist/components/kol-drawer.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-form.js.map +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-image.js +1 -1
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +1 -1
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link.js +1 -1
- package/dist/components/kol-link.js.map +1 -1
- package/dist/components/kol-meter.js +1 -1
- package/dist/components/kol-meter.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-pagination.js.map +1 -1
- package/dist/components/kol-popover-button.js +1 -1
- package/dist/components/kol-popover-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-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-single-select.js +1 -1
- package/dist/components/kol-single-select.js.map +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-table-stateful.js +1 -1
- package/dist/components/kol-table-stateful.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +1 -1
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-table-stateless.js +1 -1
- package/dist/components/kol-table-stateless.js.map +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +1 -1
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-toolbar.js +1 -1
- package/dist/components/kol-toolbar.js.map +1 -1
- package/dist/components/kol-tree-item.js +1 -1
- package/dist/components/kol-tree-item.js.map +1 -1
- package/dist/components/kol-tree.js +1 -1
- package/dist/components/kol-tree.js.map +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/value-number-clamped.js +4 -0
- package/dist/components/value-number-clamped.js.map +1 -0
- package/dist/esm/{Alert-Cz3oclef.js → Alert-CNbBKPGN.js} +1 -1
- package/dist/esm/{Alert-Cz3oclef.js.map → Alert-CNbBKPGN.js.map} +1 -1
- package/dist/esm/{Collapsible-Dud93VK6.js → Collapsible-BPzPZuCM.js} +1 -1
- package/dist/esm/{Collapsible-Dud93VK6.js.map → Collapsible-BPzPZuCM.js.map} +1 -1
- package/dist/esm/{CustomSuggestionsOptionsGroup-DChluZ38.js → CustomSuggestionsOptionsGroup-B1gvir2y.js} +1 -1
- package/dist/{kolibri/CustomSuggestionsOptionsGroup-DChluZ38.js.map → esm/CustomSuggestionsOptionsGroup-B1gvir2y.js.map} +1 -1
- package/dist/esm/{FieldControlStateWrapper--n2Qrl3k.js → FieldControlStateWrapper-DbW1YqmM.js} +1 -1
- package/dist/{kolibri/FieldControlStateWrapper--n2Qrl3k.js.map → esm/FieldControlStateWrapper-DbW1YqmM.js.map} +1 -1
- package/dist/esm/{FormFieldStateWrapper-BVrH-o65.js → FormFieldStateWrapper-CWC_T2V6.js} +1 -1
- package/dist/{kolibri/FormFieldStateWrapper-BVrH-o65.js.map → esm/FormFieldStateWrapper-CWC_T2V6.js.map} +1 -1
- package/dist/esm/{Heading-D23yWoVT.js → Heading-BrSxbA87.js} +1 -1
- package/dist/{kolibri/Heading-D23yWoVT.js.map → esm/Heading-BrSxbA87.js.map} +1 -1
- package/dist/esm/Input-ClFdRiF1.js +4 -0
- package/dist/{kolibri/Input-DJW_wGXE.js.map → esm/Input-ClFdRiF1.js.map} +1 -1
- package/dist/esm/{InputStateWrapper-C1ruP5X2.js → InputStateWrapper-BKS2iOfy.js} +1 -1
- package/dist/esm/{InputStateWrapper-C1ruP5X2.js.map → InputStateWrapper-BKS2iOfy.js.map} +1 -1
- package/dist/esm/{app-globals-BR-uY4cv.js → app-globals-C6Irh5ZH.js} +1 -1
- package/dist/esm/{app-globals-BR-uY4cv.js.map → app-globals-C6Irh5ZH.js.map} +1 -1
- package/dist/esm/{component-sn_z4L8i.js → component-Bn_ahKfK.js} +1 -1
- package/dist/esm/{component-sn_z4L8i.js.map → component-Bn_ahKfK.js.map} +1 -1
- package/dist/esm/component-OtHwqg1I.js +4 -0
- package/dist/esm/{component-_Y75jltB.js.map → component-OtHwqg1I.js.map} +1 -1
- package/dist/esm/{component-uWorUZss.js → component-sZ20spQ6.js} +1 -1
- package/dist/esm/{component-uWorUZss.js.map → component-sZ20spQ6.js.map} +1 -1
- package/dist/esm/{controller-D8VbW1PO.js → controller-Bq5rujy2.js} +1 -1
- package/dist/esm/{controller-D8VbW1PO.js.map → controller-Bq5rujy2.js.map} +1 -1
- package/dist/esm/{controller-BhIDd4zH.js → controller-Cf3CGZT-.js} +1 -1
- package/dist/esm/{controller-BhIDd4zH.js.map → controller-Cf3CGZT-.js.map} +1 -1
- package/dist/esm/{controller-CaEPKcFQ.js → controller-CqJX1McJ.js} +1 -1
- package/dist/{kolibri/controller-CaEPKcFQ.js.map → esm/controller-CqJX1McJ.js.map} +1 -1
- package/dist/esm/{controller-QShPjHaQ.js → controller-DBUYvuDB.js} +1 -1
- package/dist/{kolibri/controller-QShPjHaQ.js.map → esm/controller-DBUYvuDB.js.map} +1 -1
- package/dist/esm/{controller-BSBX_tuT.js → controller-Gobc7mv-.js} +1 -1
- package/dist/esm/{controller-BSBX_tuT.js.map → controller-Gobc7mv-.js.map} +1 -1
- package/dist/esm/{controller-icon-aCgHTEpC.js → controller-icon-CcvojG6N.js} +1 -1
- package/dist/esm/{controller-icon-aCgHTEpC.js.map → controller-icon-CcvojG6N.js.map} +1 -1
- package/dist/esm/{dev.utils-BKmnA1fy.js → dev.utils-UUgQWQxj.js} +1 -1
- package/dist/esm/{dev.utils-BKmnA1fy.js.map → dev.utils-UUgQWQxj.js.map} +1 -1
- package/dist/esm/{devtools-DBrT-ILi.js → devtools-CpN8MIei.js} +1 -1
- package/dist/{kolibri/devtools-DBrT-ILi.js.map → esm/devtools-CpN8MIei.js.map} +1 -1
- package/dist/esm/index-Bc-dkuUs.js +4 -0
- package/dist/esm/index-Bc-dkuUs.js.map +1 -0
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc.entry.js +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card-wc.entry.js +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-click-button.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-dialog-wc.entry.js +1 -1
- package/dist/esm/kol-dialog.entry.js +1 -1
- package/dist/esm/kol-dialog.entry.js.map +1 -1
- package/dist/esm/kol-drawer.entry.js +1 -1
- package/dist/esm/kol-drawer.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-meter.entry.js +1 -1
- package/dist/esm/kol-meter.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination-wc.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover-button-wc.entry.js +1 -1
- package/dist/esm/kol-popover-button.entry.js +1 -1
- package/dist/esm/kol-popover-button.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select-wc.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +1 -1
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skeleton.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +1 -1
- package/dist/esm/kol-table-stateless.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-toolbar.entry.js +1 -1
- package/dist/esm/kol-toolbar.entry.js.map +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item.entry.js +1 -1
- package/dist/esm/kol-tree-item.entry.js.map +1 -1
- package/dist/esm/kol-tree-wc.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/{label-BEOW9ltS.js → label-DK7sT-k5.js} +1 -1
- package/dist/esm/{label-BEOW9ltS.js.map → label-DK7sT-k5.js.map} +1 -1
- package/dist/esm/{level-Bwrb_jzT.js → level-C9aFQZkd.js} +1 -1
- package/dist/esm/{level-Bwrb_jzT.js.map → level-C9aFQZkd.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{normalizers-DnkJhVYZ.js → normalizers-C14RETgU.js} +1 -1
- package/dist/{kolibri/normalizers-DnkJhVYZ.js.map → esm/normalizers-C14RETgU.js.map} +1 -1
- package/dist/esm/{src-D1LGDerl.js → src-5egLLGof.js} +1 -1
- package/dist/esm/{src-D1LGDerl.js.map → src-5egLLGof.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{validation-BytKl095.js → validation-CH4ZrnXs.js} +1 -1
- package/dist/esm/{validation-BytKl095.js.map → validation-CH4ZrnXs.js.map} +1 -1
- package/dist/esm/value-number-clamped-_HbNn448.js +4 -0
- package/dist/esm/value-number-clamped-_HbNn448.js.map +1 -0
- package/dist/esm/{variant-quote-CHD0qMkY.js → variant-quote-DI6q8gPw.js} +1 -1
- package/dist/esm/{variant-quote-CHD0qMkY.js.map → variant-quote-DI6q8gPw.js.map} +1 -1
- package/dist/kolibri/{Alert-Cz3oclef.js → Alert-CNbBKPGN.js} +1 -1
- package/dist/kolibri/{Alert-Cz3oclef.js.map → Alert-CNbBKPGN.js.map} +1 -1
- package/dist/kolibri/{Collapsible-Dud93VK6.js → Collapsible-BPzPZuCM.js} +1 -1
- package/dist/kolibri/{Collapsible-Dud93VK6.js.map → Collapsible-BPzPZuCM.js.map} +1 -1
- package/dist/kolibri/{CustomSuggestionsOptionsGroup-DChluZ38.js → CustomSuggestionsOptionsGroup-B1gvir2y.js} +1 -1
- package/dist/{esm/CustomSuggestionsOptionsGroup-DChluZ38.js.map → kolibri/CustomSuggestionsOptionsGroup-B1gvir2y.js.map} +1 -1
- package/dist/kolibri/FieldControlStateWrapper-DbW1YqmM.js +4 -0
- package/dist/{esm/FieldControlStateWrapper--n2Qrl3k.js.map → kolibri/FieldControlStateWrapper-DbW1YqmM.js.map} +1 -1
- package/dist/kolibri/FormFieldStateWrapper-CWC_T2V6.js +4 -0
- package/dist/{esm/FormFieldStateWrapper-BVrH-o65.js.map → kolibri/FormFieldStateWrapper-CWC_T2V6.js.map} +1 -1
- package/dist/kolibri/{Heading-D23yWoVT.js → Heading-BrSxbA87.js} +1 -1
- package/dist/{esm/Heading-D23yWoVT.js.map → kolibri/Heading-BrSxbA87.js.map} +1 -1
- package/dist/kolibri/{Input-DJW_wGXE.js → Input-ClFdRiF1.js} +1 -1
- package/dist/{esm/Input-DJW_wGXE.js.map → kolibri/Input-ClFdRiF1.js.map} +1 -1
- package/dist/kolibri/InputStateWrapper-BKS2iOfy.js +4 -0
- package/dist/kolibri/{InputStateWrapper-C1ruP5X2.js.map → InputStateWrapper-BKS2iOfy.js.map} +1 -1
- package/dist/kolibri/app-globals-C6Irh5ZH.js +4 -0
- package/dist/kolibri/{app-globals-BR-uY4cv.js.map → app-globals-C6Irh5ZH.js.map} +1 -1
- package/dist/kolibri/{component-sn_z4L8i.js → component-Bn_ahKfK.js} +1 -1
- package/dist/kolibri/{component-sn_z4L8i.js.map → component-Bn_ahKfK.js.map} +1 -1
- package/dist/kolibri/component-OtHwqg1I.js +4 -0
- package/dist/kolibri/{component-_Y75jltB.js.map → component-OtHwqg1I.js.map} +1 -1
- package/dist/kolibri/component-sZ20spQ6.js +4 -0
- package/dist/kolibri/{component-uWorUZss.js.map → component-sZ20spQ6.js.map} +1 -1
- package/dist/kolibri/controller-Bq5rujy2.js +4 -0
- package/dist/kolibri/{controller-D8VbW1PO.js.map → controller-Bq5rujy2.js.map} +1 -1
- package/dist/kolibri/{controller-BhIDd4zH.js → controller-Cf3CGZT-.js} +1 -1
- package/dist/kolibri/{controller-BhIDd4zH.js.map → controller-Cf3CGZT-.js.map} +1 -1
- package/dist/kolibri/{controller-CaEPKcFQ.js → controller-CqJX1McJ.js} +1 -1
- package/dist/{esm/controller-CaEPKcFQ.js.map → kolibri/controller-CqJX1McJ.js.map} +1 -1
- package/dist/kolibri/{controller-QShPjHaQ.js → controller-DBUYvuDB.js} +1 -1
- package/dist/{esm/controller-QShPjHaQ.js.map → kolibri/controller-DBUYvuDB.js.map} +1 -1
- package/dist/kolibri/{controller-BSBX_tuT.js → controller-Gobc7mv-.js} +1 -1
- package/dist/kolibri/{controller-BSBX_tuT.js.map → controller-Gobc7mv-.js.map} +1 -1
- package/dist/kolibri/controller-icon-CcvojG6N.js +4 -0
- package/dist/kolibri/{controller-icon-aCgHTEpC.js.map → controller-icon-CcvojG6N.js.map} +1 -1
- package/dist/kolibri/{dev.utils-BKmnA1fy.js → dev.utils-UUgQWQxj.js} +1 -1
- package/dist/kolibri/{dev.utils-BKmnA1fy.js.map → dev.utils-UUgQWQxj.js.map} +1 -1
- package/dist/kolibri/{devtools-DBrT-ILi.js → devtools-CpN8MIei.js} +1 -1
- package/dist/{esm/devtools-DBrT-ILi.js.map → kolibri/devtools-CpN8MIei.js.map} +1 -1
- package/dist/kolibri/{index-B7tv7olz.js → index-Bc-dkuUs.js} +1 -1
- package/dist/kolibri/index-Bc-dkuUs.js.map +1 -0
- package/dist/kolibri/kol-abbr.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card-wc.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-click-button.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-dialog.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.js.map +1 -1
- package/dist/kolibri/kol-drawer.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-drawer.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.esm.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-meter.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-meter.entry.js +1 -1
- package/dist/kolibri/kol-meter.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select-wc.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skeleton.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.esm.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.esm.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/{label-BEOW9ltS.js → label-DK7sT-k5.js} +1 -1
- package/dist/kolibri/{label-BEOW9ltS.js.map → label-DK7sT-k5.js.map} +1 -1
- package/dist/kolibri/{level-Bwrb_jzT.js → level-C9aFQZkd.js} +1 -1
- package/dist/kolibri/{level-Bwrb_jzT.js.map → level-C9aFQZkd.js.map} +1 -1
- package/dist/kolibri/{normalizers-DnkJhVYZ.js → normalizers-C14RETgU.js} +1 -1
- package/dist/{esm/normalizers-DnkJhVYZ.js.map → kolibri/normalizers-C14RETgU.js.map} +1 -1
- package/dist/kolibri/src-5egLLGof.js +4 -0
- package/dist/kolibri/{src-D1LGDerl.js.map → src-5egLLGof.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/validation-CH4ZrnXs.js +4 -0
- package/dist/kolibri/{validation-BytKl095.js.map → validation-CH4ZrnXs.js.map} +1 -1
- package/dist/kolibri/value-number-clamped-_HbNn448.js +4 -0
- package/dist/kolibri/value-number-clamped-_HbNn448.js.map +1 -0
- package/dist/kolibri/variant-quote-DI6q8gPw.js +4 -0
- package/dist/kolibri/{variant-quote-CHD0qMkY.js.map → variant-quote-DI6q8gPw.js.map} +1 -1
- package/dist/types/components/meter/component.d.ts +1 -1
- package/dist/types/components/table-stateless/component.d.ts +1 -0
- package/dist/types/components.d.ts +20 -16
- package/doc/meter.md +11 -11
- package/package.json +9 -9
- package/vscode-custom-data.json +7 -7
- package/dist/cjs/component-vVFDYe2s.js +0 -4
- package/dist/cjs/index-BiQK_MbU.js +0 -4
- package/dist/cjs/index-BiQK_MbU.js.map +0 -1
- package/dist/cjs/unit--BgFwr6T.js +0 -4
- package/dist/cjs/unit--BgFwr6T.js.map +0 -1
- package/dist/components/unit.js +0 -4
- package/dist/components/unit.js.map +0 -1
- package/dist/esm/Input-DJW_wGXE.js +0 -4
- package/dist/esm/component-_Y75jltB.js +0 -4
- package/dist/esm/index-B7tv7olz.js +0 -4
- package/dist/esm/index-B7tv7olz.js.map +0 -1
- package/dist/esm/unit-eRQuaHYy.js +0 -4
- package/dist/esm/unit-eRQuaHYy.js.map +0 -1
- package/dist/kolibri/FieldControlStateWrapper--n2Qrl3k.js +0 -4
- package/dist/kolibri/FormFieldStateWrapper-BVrH-o65.js +0 -4
- package/dist/kolibri/InputStateWrapper-C1ruP5X2.js +0 -4
- package/dist/kolibri/app-globals-BR-uY4cv.js +0 -4
- package/dist/kolibri/component-_Y75jltB.js +0 -4
- package/dist/kolibri/component-uWorUZss.js +0 -4
- package/dist/kolibri/controller-D8VbW1PO.js +0 -4
- package/dist/kolibri/controller-icon-aCgHTEpC.js +0 -4
- package/dist/kolibri/index-B7tv7olz.js.map +0 -1
- package/dist/kolibri/src-D1LGDerl.js +0 -4
- package/dist/kolibri/unit-eRQuaHYy.js +0 -4
- package/dist/kolibri/unit-eRQuaHYy.js.map +0 -1
- package/dist/kolibri/validation-BytKl095.js +0 -4
- package/dist/kolibri/variant-quote-CHD0qMkY.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{_ as __rest}from"./tslib.es6-CxX45GIN.js";import{h}from"./index-Bc-dkuUs.js";import{b as bem}from"./bem-registry-Bux_TllX.js";import{c as clsx}from"./clsx-COFh-Vc8.js";const iconBem=bem.forBlock("kol-icon"),BEM_CLASS_ICON=iconBem(),BEM_CLASS_ICON__ICON=iconBem("icon"),IconFC=s=>{var{class:o,icons:i,label:e}=s,c=__rest(s,["class","icons","label"]);const r=(null==e?void 0:e.length)>0;return h("i",Object.assign({},c,{"aria-hidden":r?void 0:"true","aria-label":r?e:void 0,class:clsx(BEM_CLASS_ICON,BEM_CLASS_ICON__ICON,i,o),role:r?"img":"presentation"}))};export{IconFC as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-OtHwqg1I.js","sources":["src/internal/functional-components/icon/component.tsx"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { IconApi } from './api';\n\nconst iconBem = bem.forBlock('kol-icon');\nconst BEM_CLASS_ICON = iconBem();\nconst BEM_CLASS_ICON__ICON = iconBem('icon');\n\nexport const IconFC: FC<FunctionalComponentProps<IconApi>> = ({ class: classNames, icons, label, ...htmlAttributes }) => {\n\t// label should be trimmed by normalization in controller\n\tconst hasAriaLabel = label?.length > 0;\n\treturn (\n\t\t<i\n\t\t\t{...htmlAttributes}\n\t\t\t/**\n\t\t\t * Die Auszeichnung `aria-hidden` ist eigentlich nicht erforderlich, da die aktuellen\n\t\t\t * Screenreader, wie NVDA und JAWS, es auch ohne `aria-hidden` nicht vorlesen.\n\t\t\t *\n\t\t\t * Referenz: https://www.w3.org/TR/wai-aria/states_and_properties#aria-hidden\n\t\t\t */\n\t\t\taria-hidden={hasAriaLabel ? undefined : 'true'}\n\t\t\taria-label={hasAriaLabel ? label : undefined}\n\t\t\tclass={clsx(BEM_CLASS_ICON, BEM_CLASS_ICON__ICON, icons, classNames)}\n\t\t\trole={hasAriaLabel ? 'img' : 'presentation'}\n\t\t/>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;AACxC,MAAM,cAAc,GAAG,OAAO,EAAE;AAChC,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;AAE/B,MAAA,MAAM,GAA0C,CAAC,EAAsD,KAAI;IAA1D,IAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAA,GAAA,EAAqB,EAAhB,cAAc,GAApD,MAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAsD,CAAF;IAEjH,MAAM,YAAY,GAAG,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,MAAM,IAAG,CAAC;AACtC,IAAA,QACC,yBACK,cAAc,EAAA,EAAA,aAAA,EAOL,YAAY,GAAG,SAAS,GAAG,MAAM,EAAA,YAAA,EAClC,YAAY,GAAG,KAAK,GAAG,SAAS,EAC5C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,CAAC,EACpE,IAAI,EAAE,YAAY,GAAG,KAAK,GAAG,cAAc,EAC1C,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{h}from"./index-
|
|
4
|
+
import{h}from"./index-Bc-dkuUs.js";import{S as SpanFC}from"./component-Bn_ahKfK.js";const TooltipFC=({label:o,badgeText:t,id:l,refFloating:i})=>h("div",{class:"kol-tooltip__floating",hidden:0===o.length,ref:i},h("div",{class:"kol-tooltip__arrow"}),h(SpanFC,{class:"kol-tooltip__content",id:l||void 0,badgeText:t,label:o}));export{TooltipFC as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-
|
|
1
|
+
{"version":3,"file":"component-sZ20spQ6.js","sources":["src/internal/functional-components/tooltip/component.tsx"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport type { TooltipAlignPropType } from '../../../schema';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { SpanFC } from '../span/component';\nimport type { TooltipApi } from './api';\n\ntype TooltipFCProps = Pick<FunctionalComponentProps<TooltipApi>, 'label'> & {\n\tbadgeText?: string;\n\tid?: string;\n\talign?: TooltipAlignPropType;\n\trefFloating: (el?: HTMLDivElement) => void;\n};\n\nexport const TooltipFC: FC<TooltipFCProps> = ({ label, badgeText, id, refFloating }) => {\n\treturn (\n\t\t<div class=\"kol-tooltip__floating\" hidden={label.length === 0} ref={refFloating}>\n\t\t\t<div class=\"kol-tooltip__arrow\" />\n\t\t\t<SpanFC class=\"kol-tooltip__content\" id={id || undefined} badgeText={badgeText} label={label} />\n\t\t</div>\n\t);\n};\n"],"names":[],"mappings":";;;;;;AAeO,MAAM,SAAS,GAAuB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAI;AACtF,IAAA,QACC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,uBAAuB,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAA,EAC9E,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,oBAAoB,EAAG,CAAA,EAClC,CAAC,CAAA,MAAM,IAAC,KAAK,EAAC,sBAAsB,EAAC,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAA,CAAI,CAC3F;AAER;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{h}from"./index-
|
|
4
|
+
import{h}from"./index-Bc-dkuUs.js";import{b as bem}from"./bem-registry-Bux_TllX.js";import"./common-BqV6Zb30.js";import{l as labelProp}from"./label-DK7sT-k5.js";import"./variant-quote-DI6q8gPw.js";import{B as BaseController}from"./base-controller-CXhqh4cR.js";const clickButtonBem=bem.forBlock("kol-click-button"),BEM_CLASS_CLICK_BUTTON=clickButtonBem(),BEM_CLASS_CLICK_BUTTON__LABEL=clickButtonBem("label"),ClickButtonFC=({label:t,handleClick:o,refButton:l})=>h("button",{class:BEM_CLASS_CLICK_BUTTON,ref:l,onClick:o,onKeyDown:t=>t.preventDefault()},h("span",{class:BEM_CLASS_CLICK_BUTTON__LABEL},t)),clickButtonPropsConfig={required:[labelProp]};class ClickButtonController extends BaseController{constructor(t){super(t,clickButtonPropsConfig),this.handleClick=()=>{console.log(this,this.buttonRef,"button clicked")},this.setButtonRef=t=>{this.buttonRef=t}}componentWillLoad(t){const{label:o}=t;this.watchLabel(o)}watchLabel(t){labelProp.apply(t,t=>{this.setRenderProp("label",t)})}focus(){var t;null===(t=this.buttonRef)||void 0===t||t.focus()}}export{ClickButtonFC as C,ClickButtonController as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-
|
|
1
|
+
{"version":3,"file":"controller-Bq5rujy2.js","sources":["src/internal/functional-components/click-button/component.tsx","src/internal/functional-components/click-button/api.tsx","src/internal/functional-components/click-button/controller.ts"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { ClickButtonApi } from './api';\n\nconst clickButtonBem = bem.forBlock('kol-click-button');\nconst BEM_CLASS_CLICK_BUTTON = clickButtonBem();\nconst BEM_CLASS_CLICK_BUTTON__LABEL = clickButtonBem('label');\n\nexport const ClickButtonFC: FC<FunctionalComponentProps<ClickButtonApi>> = ({ label, handleClick, refButton }) => (\n\t<button class={BEM_CLASS_CLICK_BUTTON} ref={refButton} onClick={handleClick} onKeyDown={(event) => event.preventDefault()}>\n\t\t<span class={BEM_CLASS_CLICK_BUTTON__LABEL}>{label}</span>\n\t</button>\n);\n","import { labelProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const clickButtonPropsConfig = {\n\trequired: [labelProp],\n} as const satisfies PropsConfigShape;\n\nexport type ClickButtonApi = ApiFromConfig<\n\ttypeof clickButtonPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\tclick: () => void;\n\t\t};\n\t\tMethods: {\n\t\t\tfocus: () => void;\n\t\t};\n\t\tRefs: {\n\t\t\tbutton: HTMLButtonElement;\n\t\t};\n\t}\n>;\n","import { labelProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { ClickButtonApi } from './api';\nimport { clickButtonPropsConfig } from './api';\n\nexport class ClickButtonController extends BaseController<ClickButtonApi> implements ControllerInterface<ClickButtonApi> {\n\tprivate buttonRef?: HTMLButtonElement;\n\n\tpublic constructor(stateAccess: StateAccess<ClickButtonApi>) {\n\t\tsuper(stateAccess, clickButtonPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<ClickButtonApi>): void {\n\t\tconst { label } = props;\n\t\tthis.watchLabel(label);\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic handleClick = (): void => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(this, this.buttonRef, 'button clicked');\n\t};\n\n\tpublic focus(): void {\n\t\tthis.buttonRef?.focus();\n\t}\n\n\tpublic setButtonRef = (element?: HTMLButtonElement): void => {\n\t\tthis.buttonRef = element;\n\t};\n}\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;AACvD,MAAM,sBAAsB,GAAG,cAAc,EAAE;AAC/C,MAAM,6BAA6B,GAAG,cAAc,CAAC,OAAO,CAAC;AAEtD,MAAM,aAAa,GAAiD,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAC5G,cAAQ,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,cAAc,EAAE,EAAA,EACxH,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,6BAA6B,EAAA,EAAG,KAAK,CAAQ,CAClD;;ACXH,MAAM,sBAAsB,GAAG;IACrC,QAAQ,EAAE,CAAC,SAAS,CAAC;CACe;;ACC/B,MAAO,qBAAsB,SAAQ,cAA8B,CAAA;AAGxE,IAAA,WAAA,CAAmB,WAAwC,EAAA;AAC1D,QAAA,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC;AAcpC,QAAA,IAAW,CAAA,WAAA,GAAG,MAAW;YAE/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;AACpD,SAAC;AAMM,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,OAA2B,KAAU;AAC3D,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO;AACzB,SAAC;;AAtBM,IAAA,iBAAiB,CAAC,KAAyC,EAAA;AACjE,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AAGhB,IAAA,UAAU,CAAC,KAAc,EAAA;QAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/B,SAAC,CAAC;;IAQI,KAAK,GAAA;;QACX,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;;AAMxB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{a as alignFloatingElements,b as autoUpdate}from"./align-floating-elements-58sFZOrL.js";import{x as getDocument}from"./common-BqV6Zb30.js";import{t as tooltipClosed,a as tooltipOpened}from"./tooltip-open-tracking-D3tCiiGP.js";import{c as createPropDefinition,n as normalizeString}from"./normalizers-
|
|
4
|
+
import{a as alignFloatingElements,b as autoUpdate}from"./align-floating-elements-58sFZOrL.js";import{x as getDocument}from"./common-BqV6Zb30.js";import{t as tooltipClosed,a as tooltipOpened}from"./tooltip-open-tracking-D3tCiiGP.js";import{c as createPropDefinition,n as normalizeString}from"./normalizers-C14RETgU.js";import{a as alignPropTypeOptions}from"./align-D3Z54kEL.js";import{l as labelProp}from"./label-DK7sT-k5.js";import"./variant-quote-DI6q8gPw.js";import{B as BaseController}from"./base-controller-CXhqh4cR.js";const VISIBLE_OVERLAYS=new Set;function showOverlay(t){VISIBLE_OVERLAYS.forEach(t=>{t.style.setProperty("z-index","999")}),VISIBLE_OVERLAYS.add(t),t.style.setProperty("z-index","1000")}function hideOverlay(t){if(VISIBLE_OVERLAYS.delete(t),VISIBLE_OVERLAYS.size>0){const t=Array.from(VISIBLE_OVERLAYS).pop();t&&t.style.setProperty("z-index","1000")}}const alignProp=createPropDefinition("align","top",t=>{const e=normalizeString(t);if(alignPropTypeOptions.includes(e))return e;throw new Error(`Invalid align value: ${e}`)},t=>alignPropTypeOptions.includes(t)),badgeTextProp=createPropDefinition("badgeText","",normalizeString),idProp=createPropDefinition("id","",normalizeString),tooltipPropsConfig={required:[labelProp],optional:[alignProp,badgeTextProp,idProp]};class TooltipController extends BaseController{constructor(t){super(t,tooltipPropsConfig),this.hasFocusIn=!1,this.hasMouseIn=!1,this.isHiddenForCurrentVisit=!1,this.setTooltipElementRef=t=>{this.tooltipElement=t,this.tooltipElement&&this.addListeners(this.tooltipElement)},this.hideTooltipByEscape=t=>{"Escape"===t.key&&this.hideTooltip()},this.handleMouseEnter=()=>{const t=this.isNewVisit();this.hasMouseIn=!0,t&&(this.isHiddenForCurrentVisit=!1),this.showOrHideTooltip()},this.handleMouseLeave=()=>{this.hasMouseIn=!1,this.resetHideFlag(),this.showOrHideTooltip()},this.handleFocusIn=()=>{const t=this.isNewVisit();this.hasFocusIn=!0,t&&(this.isHiddenForCurrentVisit=!1),this.showOrHideTooltip()},this.handleFocusOut=()=>{this.hasFocusIn=!1,this.resetHideFlag(),this.showOrHideTooltip()}}componentWillLoad(t){this.watchLabel(t.label),this.watchAlign(t.align),this.watchBadgeText(t.badgeText),this.watchId(t.id)}watchLabel(t){labelProp.apply(t,t=>{this.setRenderProp("label",t)})}watchAlign(t){alignProp.apply(t,t=>{this.setRenderProp("align",t)})}watchBadgeText(t){badgeTextProp.apply(t,t=>{this.setRenderProp("badgeText",t)})}watchId(t){idProp.apply(t,t=>{this.setRenderProp("id",t)})}initContext(t){this.previousSibling=t}syncListeners(t,e,i=!1){t&&this.removeListeners(t),e&&(i&&(this.previousSibling=e),this.addListeners(e))}handleEventListeners(t){const e=t.previousElementSibling;this.syncListeners(this.previousSibling,e,!0)}hideTooltip(){this.isHiddenForCurrentVisit=!0,this.tooltipElement&&(hideOverlay(this.tooltipElement),tooltipClosed(),this.tooltipElement.classList.remove("show"),this.tooltipElement.classList.add("hide"),this.cleanupAutoPositioning&&(this.cleanupAutoPositioning(),this.cleanupAutoPositioning=void 0)),getDocument().removeEventListener("keyup",this.hideTooltipByEscape)}destroy(){clearTimeout(this.overFocusTimeout),this.previousSibling&&(this.removeListeners(this.previousSibling),this.previousSibling=void 0),this.tooltipElement&&this.removeListeners(this.tooltipElement),this.cleanupAutoPositioning&&(this.cleanupAutoPositioning(),this.cleanupAutoPositioning=void 0),getDocument().removeEventListener("keyup",this.hideTooltipByEscape)}isNewVisit(){return!this.hasMouseIn&&!this.hasFocusIn}resetHideFlag(){this.isNewVisit()&&(this.isHiddenForCurrentVisit=!1)}async alignTooltip(){this.tooltipElement&&this.previousSibling&&await alignFloatingElements({align:this.getRenderProp("align"),arrowElement:this.tooltipElement.querySelector(".kol-tooltip__arrow"),floatingElement:this.tooltipElement,referenceElement:this.previousSibling})}showTooltip(){if(!this.isHiddenForCurrentVisit&&this.previousSibling&&this.tooltipElement){showOverlay(this.tooltipElement),tooltipOpened(),this.tooltipElement.classList.remove("hide"),this.tooltipElement.classList.add("show"),this.tooltipElement.style.setProperty("display","block"),getDocument().addEventListener("keyup",this.hideTooltipByEscape,{once:!0});const t=this.previousSibling,e=this.tooltipElement;this.cleanupAutoPositioning=autoUpdate(t,e,()=>{this.alignTooltip()})}}showOrHideTooltip(){clearTimeout(this.overFocusTimeout),this.overFocusTimeout=setTimeout(()=>{this.hasMouseIn||this.hasFocusIn?this.showTooltip():this.hideTooltip()},300)}addListeners(t){t.addEventListener("mouseover",this.handleMouseEnter),t.addEventListener("mouseout",this.handleMouseLeave),t.addEventListener("focusin",this.handleFocusIn),t.addEventListener("focusout",this.handleFocusOut)}removeListeners(t){t.removeEventListener("mouseover",this.handleMouseEnter),t.removeEventListener("mouseout",this.handleMouseLeave),t.removeEventListener("focusin",this.handleFocusIn),t.removeEventListener("focusout",this.handleFocusOut)}}export{TooltipController as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-BhIDd4zH.js","sources":["src/utils/overlay.ts","src/internal/props/align.ts","src/internal/props/badge-text.ts","src/internal/props/id.ts","src/internal/functional-components/tooltip/api.tsx","src/internal/functional-components/tooltip/controller.ts"],"sourcesContent":["/**\n * This file contains the functions used to manage the visible overlays.\n */\n\n/**\n * This set contains all the visible overlays.\n */\nconst VISIBLE_OVERLAYS: Set<HTMLElement> = new Set();\n\n/**\n * This function is used to add an overlay to the visible overlay list.\n * All overlays in the list will have a z-index of 999, except the last\n * one, which will have a z-index of 1000.\n *\n * @param overlay Get the overlay element reference\n */\nexport function showOverlay(overlay: HTMLElement): void {\n\tVISIBLE_OVERLAYS.forEach((visibleOverlay) => {\n\t\tvisibleOverlay.style.setProperty('z-index', '999');\n\t});\n\tVISIBLE_OVERLAYS.add(overlay);\n\toverlay.style.setProperty('z-index', '1000');\n}\n\n/**\n * This function is used to remove an overlay from the visible overlay list.\n * All overlays in the list will have a z-index of 999, except the last\n * one, which will have a z-index of 1000.\n *\n * @param overlay Get the overlay element reference\n */\nexport function hideOverlay(overlay: HTMLElement): void {\n\tVISIBLE_OVERLAYS.delete(overlay);\n\tif (VISIBLE_OVERLAYS.size > 0) {\n\t\tconst last = Array.from(VISIBLE_OVERLAYS).pop();\n\t\tif (last) {\n\t\t\tlast.style.setProperty('z-index', '1000');\n\t\t}\n\t}\n}\n","import type { AlignPropType } from '../../schema';\nimport { alignPropTypeOptions } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Align prop for positioning floating elements\n *\n * Description:\n * Controls the alignment of floating elements (tooltips, popovers, tabs) relative to their\n * reference element. The alignment affects how the floating element is positioned and which\n * side the arrow points from.\n *\n * Valid values: 'top' | 'right' | 'bottom' | 'left'\n * Default: 'top'\n *\n * Accessibility:\n * - Alignment should be chosen to ensure floating content is visible and does not obscure\n * important content for users with low vision or screen magnification\n */\nexport type AlignProp = SimpleProp<'align', AlignPropType>;\n\nexport const alignProp = createPropDefinition<AlignProp>(\n\t'align',\n\t'top',\n\t(value) => {\n\t\tconst str = normalizeString(value);\n\t\tif ((alignPropTypeOptions as readonly string[]).includes(str)) {\n\t\t\treturn str as AlignPropType;\n\t\t}\n\t\tthrow new Error(`Invalid align value: ${str}`);\n\t},\n\t(v) => (alignPropTypeOptions as readonly string[]).includes(v),\n);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Badge Text prop for highlighting text in labels\n *\n * Description:\n * Specifies text to be underlined and highlighted as a badge within the label.\n * This is useful for highlighting keyboard shortcuts or other important text portions.\n *\n * Usage:\n * - Default: empty string (no badge highlighting)\n * - When set: the specified text will be underlined in the label\n * - Case-sensitive matching (tries uppercase/lowercase variations if exact match not found)\n *\n * Accessibility:\n * - Underlined text must have sufficient contrast (WCAG 1.4.11)\n * - Badge text should complement, not replace, other text alternatives\n */\nexport type BadgeTextProp = SimpleProp<'badgeText', string>;\nexport const badgeTextProp = createPropDefinition<BadgeTextProp>('badgeText', '', normalizeString);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\nexport type IdProp = SimpleProp<'id', string>;\n\nexport const idProp = createPropDefinition<IdProp>('id', '', normalizeString);\n","import { alignProp, badgeTextProp, idProp, labelProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const tooltipPropsConfig = {\n\trequired: [labelProp],\n\toptional: [alignProp, badgeTextProp, idProp],\n} as const satisfies PropsConfigShape;\n\nexport type TooltipApi = ApiFromConfig<\n\ttypeof tooltipPropsConfig,\n\t{\n\t\tMethods: {\n\t\t\thideTooltip: () => void;\n\t\t};\n\t}\n>;\n","import { autoUpdate } from '@floating-ui/dom';\nimport { getDocument } from '../../../schema';\nimport { alignFloatingElements } from '../../../utils/align-floating-elements';\nimport { hideOverlay, showOverlay } from '../../../utils/overlay';\nimport { tooltipClosed, tooltipOpened } from '../../../utils/tooltip-open-tracking';\nimport { alignProp, badgeTextProp, idProp, labelProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { TooltipApi } from './api';\nimport { tooltipPropsConfig } from './api';\n\nexport class TooltipController extends BaseController<TooltipApi> implements ControllerInterface<TooltipApi> {\n\tprivate previousSibling?: HTMLElement;\n\tprivate tooltipElement?: HTMLElement;\n\n\tprivate hasFocusIn = false;\n\tprivate hasMouseIn = false;\n\tprivate isHiddenForCurrentVisit = false;\n\tprivate overFocusTimeout?: ReturnType<typeof setTimeout>;\n\tprivate cleanupAutoPositioning?: () => void;\n\n\tpublic constructor(stateAccess: StateAccess<TooltipApi>) {\n\t\tsuper(stateAccess, tooltipPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<TooltipApi>): void {\n\t\tthis.watchLabel(props.label);\n\t\tthis.watchAlign(props.align);\n\t\tthis.watchBadgeText(props.badgeText);\n\t\tthis.watchId(props.id);\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic watchAlign(value?: string): void {\n\t\talignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('align', v);\n\t\t});\n\t}\n\n\tpublic watchBadgeText(value?: string): void {\n\t\tbadgeTextProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('badgeText', v);\n\t\t});\n\t}\n\n\tpublic watchId(value?: string): void {\n\t\tidProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('id', v);\n\t\t});\n\t}\n\n\tpublic initContext(previousSibling: HTMLElement | undefined): void {\n\t\tthis.previousSibling = previousSibling;\n\t}\n\n\tpublic syncListeners(last?: HTMLElement | null, next?: HTMLElement | null, replacePreviousSibling = false): void {\n\t\tif (last) {\n\t\t\tthis.removeListeners(last);\n\t\t}\n\t\tif (next) {\n\t\t\tif (replacePreviousSibling) {\n\t\t\t\tthis.previousSibling = next;\n\t\t\t}\n\t\t\tthis.addListeners(next);\n\t\t}\n\t}\n\n\tpublic handleEventListeners(host: HTMLElement): void {\n\t\tconst nextSibling = host.previousElementSibling as HTMLElement | null;\n\t\tthis.syncListeners(this.previousSibling, nextSibling, true);\n\t}\n\n\tpublic hideTooltip(): void {\n\t\tthis.isHiddenForCurrentVisit = true;\n\n\t\tif (this.tooltipElement) {\n\t\t\thideOverlay(this.tooltipElement);\n\t\t\ttooltipClosed();\n\t\t\tthis.tooltipElement.classList.remove('show');\n\t\t\tthis.tooltipElement.classList.add('hide');\n\n\t\t\tif (this.cleanupAutoPositioning) {\n\t\t\t\tthis.cleanupAutoPositioning();\n\t\t\t\tthis.cleanupAutoPositioning = undefined;\n\t\t\t}\n\t\t}\n\t\tgetDocument().removeEventListener('keyup', this.hideTooltipByEscape);\n\t}\n\n\tpublic setTooltipElementRef = (el?: HTMLElement): void => {\n\t\tthis.tooltipElement = el;\n\t\tif (this.tooltipElement) {\n\t\t\tthis.addListeners(this.tooltipElement);\n\t\t}\n\t};\n\n\tpublic destroy(): void {\n\t\tclearTimeout(this.overFocusTimeout);\n\n\t\tif (this.previousSibling) {\n\t\t\tthis.removeListeners(this.previousSibling);\n\t\t\tthis.previousSibling = undefined;\n\t\t}\n\t\tif (this.tooltipElement) {\n\t\t\tthis.removeListeners(this.tooltipElement);\n\t\t}\n\t\tif (this.cleanupAutoPositioning) {\n\t\t\tthis.cleanupAutoPositioning();\n\t\t\tthis.cleanupAutoPositioning = undefined;\n\t\t}\n\t\tgetDocument().removeEventListener('keyup', this.hideTooltipByEscape);\n\t}\n\n\tprivate isNewVisit(): boolean {\n\t\treturn !this.hasMouseIn && !this.hasFocusIn;\n\t}\n\n\tprivate resetHideFlag(): void {\n\t\tif (this.isNewVisit()) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t}\n\n\tprivate async alignTooltip(): Promise<void> {\n\t\tif (this.tooltipElement && this.previousSibling) {\n\t\t\tawait alignFloatingElements({\n\t\t\t\talign: this.getRenderProp('align'),\n\t\t\t\tarrowElement: this.tooltipElement.querySelector('.kol-tooltip__arrow') as HTMLElement,\n\t\t\t\tfloatingElement: this.tooltipElement,\n\t\t\t\treferenceElement: this.previousSibling,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate showTooltip(): void {\n\t\tif (this.isHiddenForCurrentVisit) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.previousSibling && this.tooltipElement) {\n\t\t\tshowOverlay(this.tooltipElement);\n\t\t\ttooltipOpened();\n\t\t\tthis.tooltipElement.classList.remove('hide');\n\t\t\tthis.tooltipElement.classList.add('show');\n\t\t\tthis.tooltipElement.style.setProperty('display', 'block');\n\t\t\tgetDocument().addEventListener('keyup', this.hideTooltipByEscape, { once: true });\n\n\t\t\tconst target = this.previousSibling;\n\t\t\tconst tooltipEl = this.tooltipElement;\n\t\t\tthis.cleanupAutoPositioning = autoUpdate(target, tooltipEl, () => {\n\t\t\t\tvoid this.alignTooltip();\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate showOrHideTooltip(): void {\n\t\tclearTimeout(this.overFocusTimeout);\n\t\tthis.overFocusTimeout = setTimeout(() => {\n\t\t\tif (this.hasMouseIn || this.hasFocusIn) {\n\t\t\t\tthis.showTooltip();\n\t\t\t} else {\n\t\t\t\tthis.hideTooltip();\n\t\t\t}\n\t\t}, 300);\n\t}\n\n\tprivate hideTooltipByEscape = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') {\n\t\t\tthis.hideTooltip();\n\t\t}\n\t};\n\n\tprivate handleMouseEnter = (): void => {\n\t\tconst isNewVisit = this.isNewVisit();\n\t\tthis.hasMouseIn = true;\n\t\tif (isNewVisit) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleMouseLeave = (): void => {\n\t\tthis.hasMouseIn = false;\n\t\tthis.resetHideFlag();\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleFocusIn = (): void => {\n\t\tconst isNewVisit = this.isNewVisit();\n\t\tthis.hasFocusIn = true;\n\t\tif (isNewVisit) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleFocusOut = (): void => {\n\t\tthis.hasFocusIn = false;\n\t\tthis.resetHideFlag();\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate addListeners(el: HTMLElement): void {\n\t\tel.addEventListener('mouseover', this.handleMouseEnter);\n\t\tel.addEventListener('mouseout', this.handleMouseLeave);\n\t\tel.addEventListener('focusin', this.handleFocusIn);\n\t\tel.addEventListener('focusout', this.handleFocusOut);\n\t}\n\n\tprivate removeListeners(el: HTMLElement): void {\n\t\tel.removeEventListener('mouseover', this.handleMouseEnter);\n\t\tel.removeEventListener('mouseout', this.handleMouseLeave);\n\t\tel.removeEventListener('focusin', this.handleFocusIn);\n\t\tel.removeEventListener('focusout', this.handleFocusOut);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-Cf3CGZT-.js","sources":["src/utils/overlay.ts","src/internal/props/align.ts","src/internal/props/badge-text.ts","src/internal/props/id.ts","src/internal/functional-components/tooltip/api.tsx","src/internal/functional-components/tooltip/controller.ts"],"sourcesContent":["/**\n * This file contains the functions used to manage the visible overlays.\n */\n\n/**\n * This set contains all the visible overlays.\n */\nconst VISIBLE_OVERLAYS: Set<HTMLElement> = new Set();\n\n/**\n * This function is used to add an overlay to the visible overlay list.\n * All overlays in the list will have a z-index of 999, except the last\n * one, which will have a z-index of 1000.\n *\n * @param overlay Get the overlay element reference\n */\nexport function showOverlay(overlay: HTMLElement): void {\n\tVISIBLE_OVERLAYS.forEach((visibleOverlay) => {\n\t\tvisibleOverlay.style.setProperty('z-index', '999');\n\t});\n\tVISIBLE_OVERLAYS.add(overlay);\n\toverlay.style.setProperty('z-index', '1000');\n}\n\n/**\n * This function is used to remove an overlay from the visible overlay list.\n * All overlays in the list will have a z-index of 999, except the last\n * one, which will have a z-index of 1000.\n *\n * @param overlay Get the overlay element reference\n */\nexport function hideOverlay(overlay: HTMLElement): void {\n\tVISIBLE_OVERLAYS.delete(overlay);\n\tif (VISIBLE_OVERLAYS.size > 0) {\n\t\tconst last = Array.from(VISIBLE_OVERLAYS).pop();\n\t\tif (last) {\n\t\t\tlast.style.setProperty('z-index', '1000');\n\t\t}\n\t}\n}\n","import type { AlignPropType } from '../../schema';\nimport { alignPropTypeOptions } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Align prop for positioning floating elements\n *\n * Description:\n * Controls the alignment of floating elements (tooltips, popovers, tabs) relative to their\n * reference element. The alignment affects how the floating element is positioned and which\n * side the arrow points from.\n *\n * Valid values: 'top' | 'right' | 'bottom' | 'left'\n * Default: 'top'\n *\n * Accessibility:\n * - Alignment should be chosen to ensure floating content is visible and does not obscure\n * important content for users with low vision or screen magnification\n */\nexport type AlignProp = SimpleProp<'align', AlignPropType>;\n\nexport const alignProp = createPropDefinition<AlignProp>(\n\t'align',\n\t'top',\n\t(value) => {\n\t\tconst str = normalizeString(value);\n\t\tif ((alignPropTypeOptions as readonly string[]).includes(str)) {\n\t\t\treturn str as AlignPropType;\n\t\t}\n\t\tthrow new Error(`Invalid align value: ${str}`);\n\t},\n\t(v) => (alignPropTypeOptions as readonly string[]).includes(v),\n);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Badge Text prop for highlighting text in labels\n *\n * Description:\n * Specifies text to be underlined and highlighted as a badge within the label.\n * This is useful for highlighting keyboard shortcuts or other important text portions.\n *\n * Usage:\n * - Default: empty string (no badge highlighting)\n * - When set: the specified text will be underlined in the label\n * - Case-sensitive matching (tries uppercase/lowercase variations if exact match not found)\n *\n * Accessibility:\n * - Underlined text must have sufficient contrast (WCAG 1.4.11)\n * - Badge text should complement, not replace, other text alternatives\n */\nexport type BadgeTextProp = SimpleProp<'badgeText', string>;\nexport const badgeTextProp = createPropDefinition<BadgeTextProp>('badgeText', '', normalizeString);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\nexport type IdProp = SimpleProp<'id', string>;\n\nexport const idProp = createPropDefinition<IdProp>('id', '', normalizeString);\n","import { alignProp, badgeTextProp, idProp, labelProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const tooltipPropsConfig = {\n\trequired: [labelProp],\n\toptional: [alignProp, badgeTextProp, idProp],\n} as const satisfies PropsConfigShape;\n\nexport type TooltipApi = ApiFromConfig<\n\ttypeof tooltipPropsConfig,\n\t{\n\t\tMethods: {\n\t\t\thideTooltip: () => void;\n\t\t};\n\t}\n>;\n","import { autoUpdate } from '@floating-ui/dom';\nimport { getDocument } from '../../../schema';\nimport { alignFloatingElements } from '../../../utils/align-floating-elements';\nimport { hideOverlay, showOverlay } from '../../../utils/overlay';\nimport { tooltipClosed, tooltipOpened } from '../../../utils/tooltip-open-tracking';\nimport { alignProp, badgeTextProp, idProp, labelProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { TooltipApi } from './api';\nimport { tooltipPropsConfig } from './api';\n\nexport class TooltipController extends BaseController<TooltipApi> implements ControllerInterface<TooltipApi> {\n\tprivate previousSibling?: HTMLElement;\n\tprivate tooltipElement?: HTMLElement;\n\n\tprivate hasFocusIn = false;\n\tprivate hasMouseIn = false;\n\tprivate isHiddenForCurrentVisit = false;\n\tprivate overFocusTimeout?: ReturnType<typeof setTimeout>;\n\tprivate cleanupAutoPositioning?: () => void;\n\n\tpublic constructor(stateAccess: StateAccess<TooltipApi>) {\n\t\tsuper(stateAccess, tooltipPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<TooltipApi>): void {\n\t\tthis.watchLabel(props.label);\n\t\tthis.watchAlign(props.align);\n\t\tthis.watchBadgeText(props.badgeText);\n\t\tthis.watchId(props.id);\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic watchAlign(value?: string): void {\n\t\talignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('align', v);\n\t\t});\n\t}\n\n\tpublic watchBadgeText(value?: string): void {\n\t\tbadgeTextProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('badgeText', v);\n\t\t});\n\t}\n\n\tpublic watchId(value?: string): void {\n\t\tidProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('id', v);\n\t\t});\n\t}\n\n\tpublic initContext(previousSibling: HTMLElement | undefined): void {\n\t\tthis.previousSibling = previousSibling;\n\t}\n\n\tpublic syncListeners(last?: HTMLElement | null, next?: HTMLElement | null, replacePreviousSibling = false): void {\n\t\tif (last) {\n\t\t\tthis.removeListeners(last);\n\t\t}\n\t\tif (next) {\n\t\t\tif (replacePreviousSibling) {\n\t\t\t\tthis.previousSibling = next;\n\t\t\t}\n\t\t\tthis.addListeners(next);\n\t\t}\n\t}\n\n\tpublic handleEventListeners(host: HTMLElement): void {\n\t\tconst nextSibling = host.previousElementSibling as HTMLElement | null;\n\t\tthis.syncListeners(this.previousSibling, nextSibling, true);\n\t}\n\n\tpublic hideTooltip(): void {\n\t\tthis.isHiddenForCurrentVisit = true;\n\n\t\tif (this.tooltipElement) {\n\t\t\thideOverlay(this.tooltipElement);\n\t\t\ttooltipClosed();\n\t\t\tthis.tooltipElement.classList.remove('show');\n\t\t\tthis.tooltipElement.classList.add('hide');\n\n\t\t\tif (this.cleanupAutoPositioning) {\n\t\t\t\tthis.cleanupAutoPositioning();\n\t\t\t\tthis.cleanupAutoPositioning = undefined;\n\t\t\t}\n\t\t}\n\t\tgetDocument().removeEventListener('keyup', this.hideTooltipByEscape);\n\t}\n\n\tpublic setTooltipElementRef = (el?: HTMLElement): void => {\n\t\tthis.tooltipElement = el;\n\t\tif (this.tooltipElement) {\n\t\t\tthis.addListeners(this.tooltipElement);\n\t\t}\n\t};\n\n\tpublic destroy(): void {\n\t\tclearTimeout(this.overFocusTimeout);\n\n\t\tif (this.previousSibling) {\n\t\t\tthis.removeListeners(this.previousSibling);\n\t\t\tthis.previousSibling = undefined;\n\t\t}\n\t\tif (this.tooltipElement) {\n\t\t\tthis.removeListeners(this.tooltipElement);\n\t\t}\n\t\tif (this.cleanupAutoPositioning) {\n\t\t\tthis.cleanupAutoPositioning();\n\t\t\tthis.cleanupAutoPositioning = undefined;\n\t\t}\n\t\tgetDocument().removeEventListener('keyup', this.hideTooltipByEscape);\n\t}\n\n\tprivate isNewVisit(): boolean {\n\t\treturn !this.hasMouseIn && !this.hasFocusIn;\n\t}\n\n\tprivate resetHideFlag(): void {\n\t\tif (this.isNewVisit()) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t}\n\n\tprivate async alignTooltip(): Promise<void> {\n\t\tif (this.tooltipElement && this.previousSibling) {\n\t\t\tawait alignFloatingElements({\n\t\t\t\talign: this.getRenderProp('align'),\n\t\t\t\tarrowElement: this.tooltipElement.querySelector('.kol-tooltip__arrow') as HTMLElement,\n\t\t\t\tfloatingElement: this.tooltipElement,\n\t\t\t\treferenceElement: this.previousSibling,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate showTooltip(): void {\n\t\tif (this.isHiddenForCurrentVisit) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.previousSibling && this.tooltipElement) {\n\t\t\tshowOverlay(this.tooltipElement);\n\t\t\ttooltipOpened();\n\t\t\tthis.tooltipElement.classList.remove('hide');\n\t\t\tthis.tooltipElement.classList.add('show');\n\t\t\tthis.tooltipElement.style.setProperty('display', 'block');\n\t\t\tgetDocument().addEventListener('keyup', this.hideTooltipByEscape, { once: true });\n\n\t\t\tconst target = this.previousSibling;\n\t\t\tconst tooltipEl = this.tooltipElement;\n\t\t\tthis.cleanupAutoPositioning = autoUpdate(target, tooltipEl, () => {\n\t\t\t\tvoid this.alignTooltip();\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate showOrHideTooltip(): void {\n\t\tclearTimeout(this.overFocusTimeout);\n\t\tthis.overFocusTimeout = setTimeout(() => {\n\t\t\tif (this.hasMouseIn || this.hasFocusIn) {\n\t\t\t\tthis.showTooltip();\n\t\t\t} else {\n\t\t\t\tthis.hideTooltip();\n\t\t\t}\n\t\t}, 300);\n\t}\n\n\tprivate hideTooltipByEscape = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') {\n\t\t\tthis.hideTooltip();\n\t\t}\n\t};\n\n\tprivate handleMouseEnter = (): void => {\n\t\tconst isNewVisit = this.isNewVisit();\n\t\tthis.hasMouseIn = true;\n\t\tif (isNewVisit) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleMouseLeave = (): void => {\n\t\tthis.hasMouseIn = false;\n\t\tthis.resetHideFlag();\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleFocusIn = (): void => {\n\t\tconst isNewVisit = this.isNewVisit();\n\t\tthis.hasFocusIn = true;\n\t\tif (isNewVisit) {\n\t\t\tthis.isHiddenForCurrentVisit = false;\n\t\t}\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate handleFocusOut = (): void => {\n\t\tthis.hasFocusIn = false;\n\t\tthis.resetHideFlag();\n\t\tthis.showOrHideTooltip();\n\t};\n\n\tprivate addListeners(el: HTMLElement): void {\n\t\tel.addEventListener('mouseover', this.handleMouseEnter);\n\t\tel.addEventListener('mouseout', this.handleMouseLeave);\n\t\tel.addEventListener('focusin', this.handleFocusIn);\n\t\tel.addEventListener('focusout', this.handleFocusOut);\n\t}\n\n\tprivate removeListeners(el: HTMLElement): void {\n\t\tel.removeEventListener('mouseover', this.handleMouseEnter);\n\t\tel.removeEventListener('mouseout', this.handleMouseLeave);\n\t\tel.removeEventListener('focusin', this.handleFocusIn);\n\t\tel.removeEventListener('focusout', this.handleFocusOut);\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAOA,MAAM,gBAAgB,GAAqB,IAAI,GAAG,EAAE;AAS9C,SAAU,WAAW,CAAC,OAAoB,EAAA;AAC/C,IAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;QAC3C,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC;AACnD,KAAC,CAAC;AACF,IAAA,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;AAC7C;AASM,SAAU,WAAW,CAAC,OAAoB,EAAA;AAC/C,IAAA,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC;AAChC,IAAA,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE;QAC/C,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC;;;AAG5C;;AChBO,MAAM,SAAS,GAAG,oBAAoB,CAC5C,OAAO,EACP,KAAK,EACL,CAAC,KAAK,KAAI;AACT,IAAA,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC;AAClC,IAAA,IAAK,oBAA0C,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC9D,QAAA,OAAO,GAAoB;;AAE5B,IAAA,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAA,CAAE,CAAC;AAC/C,CAAC,EACD,CAAC,CAAC,KAAM,oBAA0C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9D;;ACbM,MAAM,aAAa,GAAG,oBAAoB,CAAgB,WAAW,EAAE,EAAE,EAAE,eAAe,CAAC;;ACf3F,MAAM,MAAM,GAAG,oBAAoB,CAAS,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC;;ACHtE,MAAM,kBAAkB,GAAG;IACjC,QAAQ,EAAE,CAAC,SAAS,CAAC;AACrB,IAAA,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;CACR;;ACK/B,MAAO,iBAAkB,SAAQ,cAA0B,CAAA;AAUhE,IAAA,WAAA,CAAmB,WAAoC,EAAA;AACtD,QAAA,KAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC;AAP/B,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK;AAClB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK;AAClB,QAAA,IAAuB,CAAA,uBAAA,GAAG,KAAK;AA6EhC,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,EAAgB,KAAU;AACxD,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACxB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC;;AAExC,SAAC;AAuEO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,KAAoB,KAAU;AAC5D,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC3B,IAAI,CAAC,WAAW,EAAE;;AAEpB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAW;AACrC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACtB,IAAI,UAAU,EAAE;AACf,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;;YAErC,IAAI,CAAC,iBAAiB,EAAE;AACzB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAW;AACrC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,iBAAiB,EAAE;AACzB,SAAC;AAEO,QAAA,IAAa,CAAA,aAAA,GAAG,MAAW;AAClC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACtB,IAAI,UAAU,EAAE;AACf,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;;YAErC,IAAI,CAAC,iBAAiB,EAAE;AACzB,SAAC;AAEO,QAAA,IAAc,CAAA,cAAA,GAAG,MAAW;AACnC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACvB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,iBAAiB,EAAE;AACzB,SAAC;;AAnLM,IAAA,iBAAiB,CAAC,KAAqC,EAAA;AAC7D,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;;AAGhB,IAAA,UAAU,CAAC,KAAc,EAAA;QAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/B,SAAC,CAAC;;AAGI,IAAA,UAAU,CAAC,KAAc,EAAA;QAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAC5B,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;AAC/B,SAAC,CAAC;;AAGI,IAAA,cAAc,CAAC,KAAc,EAAA;QACnC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AAChC,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;AACnC,SAAC,CAAC;;AAGI,IAAA,OAAO,CAAC,KAAc,EAAA;QAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAI;AACzB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5B,SAAC,CAAC;;AAGI,IAAA,WAAW,CAAC,eAAwC,EAAA;AAC1D,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;;AAGhC,IAAA,aAAa,CAAC,IAAyB,EAAE,IAAyB,EAAE,sBAAsB,GAAG,KAAK,EAAA;QACxG,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;;QAE3B,IAAI,IAAI,EAAE;YACT,IAAI,sBAAsB,EAAE;AAC3B,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;;AAE5B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;AAIlB,IAAA,oBAAoB,CAAC,IAAiB,EAAA;AAC5C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,sBAA4C;QACrE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,IAAI,CAAC;;IAGrD,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AAEnC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;AAChC,YAAA,aAAa,EAAE;YACf,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;AAEzC,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;gBAChC,IAAI,CAAC,sBAAsB,EAAE;AAC7B,gBAAA,IAAI,CAAC,sBAAsB,GAAG,SAAS;;;QAGzC,WAAW,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;;IAU9D,OAAO,GAAA;AACb,QAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAEnC,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACzB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC;AAC1C,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS;;AAEjC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;;AAE1C,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,GAAG,SAAS;;QAExC,WAAW,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;;IAG7D,UAAU,GAAA;QACjB,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU;;IAGpC,aAAa,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;;;AAI9B,IAAA,MAAM,YAAY,GAAA;QACzB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;AAChD,YAAA,MAAM,qBAAqB,CAAC;AAC3B,gBAAA,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBAClC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,qBAAqB,CAAgB;gBACrF,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,gBAAgB,EAAE,IAAI,CAAC,eAAe;AACtC,aAAA,CAAC;;;IAII,WAAW,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YACjC;;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE;AAChD,YAAA,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;AAChC,YAAA,aAAa,EAAE;YACf,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;AACzD,YAAA,WAAW,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEjF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe;AACnC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc;YACrC,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,MAAK;AAChE,gBAAA,KAAK,IAAI,CAAC,YAAY,EAAE;AACzB,aAAC,CAAC;;;IAII,iBAAiB,GAAA;AACxB,QAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACnC,QAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAK;YACvC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE;gBACvC,IAAI,CAAC,WAAW,EAAE;;iBACZ;gBACN,IAAI,CAAC,WAAW,EAAE;;SAEnB,EAAE,GAAG,CAAC;;AAuCA,IAAA,YAAY,CAAC,EAAe,EAAA;QACnC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACvD,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtD,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QAClD,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;;AAG7C,IAAA,eAAe,CAAC,EAAe,EAAA;QACtC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC1D,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACzD,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;QACrD,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC;;AAExD;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{l as a11yHint,G as watchJsonArrayString,s as setState}from"./common-BqV6Zb30.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label-vxVEH2gH.js";import{v as validateRequired}from"./required-C9Xj8kw2.js";import{v as validateOrientation}from"./orientation-D3LRVMo1.js";import{I as InputController}from"./FormFieldStateWrapper-
|
|
4
|
+
import{l as a11yHint,G as watchJsonArrayString,s as setState}from"./common-BqV6Zb30.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label-vxVEH2gH.js";import{v as validateRequired}from"./required-C9Xj8kw2.js";import{v as validateOrientation}from"./orientation-D3LRVMo1.js";import{I as InputController}from"./FormFieldStateWrapper-CWC_T2V6.js";const 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(`A differing Aria-Label (${t.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`),!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,a={})=>{watchJsonArrayString(t,"_options",t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0,e,void 0,a)},validateOptionsWithOptgroup=(t,e,a={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,a)},fillKeyOptionMap=(t,e,a="")=>{e.forEach((e,o)=>{const i=`${a}-${o}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,i):t.set(i,e))})};class InputCheckboxRadioController extends InputController{constructor(t,e,a){super(t,e,a),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,a){super(t,e,a),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.afterPatchOptions=(t,e,a,o)=>{"_value"===o&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,e)=>{const a=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(a)&&a.length>0){this.keyOptionMap.clear();const t=a.map(t=>{var e;return"object"==typeof t&&null!==t&&"string"==typeof t.label?Object.assign(Object.assign({},t),{value:null!==(e=t.value)&&void 0!==e?e:t.label}):t});fillKeyOptionMap(this.keyOptionMap,t)}},this.component=t}validateOrientation(t){validateOrientation(this.component,t,"vertical")}validateOptions(t){validateOptions(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions})}componentWillLoad(){super.componentWillLoad(),this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,validateOptions as b,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-CaEPKcFQ.js","sources":["src/schema/validators/options.ts","src/schema/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\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(`A differing Aria-Label (${option.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`);\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 type { Optgroup, Option, RadioOption, StencilUnknown } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { watchJsonArrayString } from '../utils';\nimport { validateInputSelectOptions } from '../validators';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<StencilUnknown>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<StencilUnknown> | Optgroup<StencilUnknown>)[]>;\nexport type RadioOptionsPropType = Stringified<RadioOption<StencilUnknown>[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\nexport type PropRadioOptions = {\n\toptions: RadioOptionsPropType;\n};\n\n/**\n * Options the user can choose from.\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<StencilUnknown>) => 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 type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOptionsPropType,\n\tPropLabelWithExpertSlot,\n\tRadioOption,\n\tRequiredPropType,\n\tSelectOption,\n\tStencilUnknown,\n} from '../../schema';\nimport { setState, validateOptions, validateRequired } from '../../schema';\n\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\nimport { InputController } from '../@deprecated/input/controller';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, RadioOption<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 RadioOption<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\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?: RequiredPropType): 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 InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate readonly keyOptionMap = new Map<string, RadioOption<StencilUnknown>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): RadioOption<StencilUnknown> | undefined => this.keyOptionMap.get(key);\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this.component, value, 'vertical');\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\n\t\t\tconst normalizedOptions = options.map((option: RadioOption<StencilUnknown> | string) => {\n\t\t\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\tvalue: option.value ?? option.label,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn option;\n\t\t\t});\n\n\t\t\tfillKeyOptionMap(this.keyOptionMap, normalizedOptions as SelectOption<StencilUnknown>[]);\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\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: StencilUnknown): void {\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\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"],"names":[],"mappings":";;;;;;;;;AAIO,MAAM,0BAA0B,GAAG,CAAI,MAAuB,KAAa;IACjF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAClD,QAAA,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAChE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI;YAC1C,MAAM,CAAC,KAAK,GAAG,CAAG,EAAA,MAAM,CAAC,KAAK,CAAE,CAAA,CAAC,IAAI,EAAE;YACvC,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;AACrG,gBAAA,QAAQ,CAAC,CAA2B,wBAAA,EAAA,MAAM,CAAC,KAAK,CAAA,+FAAA,CAAiG,CAAC;;YAEnJ,IAAI,KAAK,CAAC,OAAO,CAAE,MAAsB,CAAC,OAAO,CAAC,EAAE;gBACnD,QACE,MAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;AAC7C,oBAAA,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,KAAK;AAClD,iBAAC,CAAC,KAAK,SAAS;;AAGlB,YAAA,OAAO,IAAI;;AACL,aAAA,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC5C,YAAA,OAAO,IAAI;;;AAGb,IAAA,OAAO,KAAK;AACb,CAAC;;ACSM,MAAM,eAAe,GAAG,CAAC,SAAoC,EAAE,KAAkC,EAAE,OAAA,GAAwB,EAAE,KAAU;AAC7I,IAAA,oBAAoB,CACnB,SAAS,EACT,UAAU,EACV,CAAC,IAA4B,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EACtI,KAAK,EACL,SAAS,EACT,OAAO,CACP;AACF;AAEO,MAAM,2BAA2B,GAAG,CAC1C,SAAoC,EACpC,KAA8C,EAC9C,OAAA,GAAwB,EAAE,KACvB;AACH,IAAA,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,0BAA0B,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC;AACnG;;AChCO,MAAM,gBAAgB,GAAG,CAAI,YAAyC,EAAE,OAA0B,EAAE,MAAM,GAAG,EAAE,KAAU;IAC/H,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;AACjC,QAAA,MAAM,GAAG,GAAG,CAAA,EAAG,MAAM,CAAI,CAAA,EAAA,KAAK,EAAE;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACjH,IAAI,KAAK,CAAC,OAAO,CAAE,MAAsB,CAAC,OAAO,CAAC,EAAE;gBACnD,gBAAgB,CAAC,YAAY,EAAG,MAAsB,CAAC,OAAO,EAAE,GAAG,CAAC;;iBAC9D;AACN,gBAAA,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAwB,CAAC;;;AAGlD,KAAC,CAAC;AACH;AASM,MAAO,4BAA6B,SAAQ,eAAe,CAAA;AAGhE,IAAA,WAAA,CAAmB,SAA8D,EAAE,IAAY,EAAE,IAAkB,EAAA;AAClH,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAGpB,IAAA,gBAAgB,CAAC,KAAwB,EAAA;AAC/C,QAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;IAGjC,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;AAEhD;AAEK,MAAO,oBAAqB,SAAQ,4BAA4B,CAAA;AAIrE,IAAA,WAAA,CAAmB,SAAsD,EAAE,IAAY,EAAE,IAAkB,EAAA;AAC1G,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AAHZ,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,GAAG,EAAuC;AAO9D,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,GAAW,KAA8C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AAElG,QAAA,IAAiB,CAAA,iBAAA,GAAG,CAAC,KAAc,EAAE,MAA+B,EAAE,UAAqC,EAAE,GAAW,KAAU;AACpJ,YAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;AACrB,gBAAA,IAAI,CAAC,sBAAsB,CAAC,KAAe,CAAC;;AAE9C,SAAC;QAMkB,IAAA,CAAA,kBAAkB,GAAG,CAAC,MAAe,EAAE,SAA+B,KAAU;YAClG,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ;AACrG,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBAEzB,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAA4C,KAAI;;AACtF,oBAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;AACtF,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,MAAM,CAAA,EAAA,EACT,KAAK,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,MAAM,CAAC,KAAK,EAClC,CAAA;;AAEH,oBAAA,OAAO,MAAM;AACd,iBAAC,CAAC;AAEF,gBAAA,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAmD,CAAC;;AAE1F,SAAC;AAhCA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAWpB,IAAA,mBAAmB,CAAC,KAA2B,EAAA;QACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC;;AAsBhD,IAAA,eAAe,CAAC,KAAuB,EAAA;AAC7C,QAAA,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;AACtC,YAAA,KAAK,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,iBAAiB;gBAClC,WAAW,EAAE,IAAI,CAAC,kBAAkB;AACpC,aAAA;AACD,SAAA,CAAC;;AAGI,IAAA,aAAa,CAAC,KAAsB,EAAA;AAC1C,QAAA,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,KAAK,CAAC,CAAC,CAAoB,GAAG,KAAK;QACnE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzC,UAAU,EAAE,IAAI,CAAC,iBAAiB;YAClC,WAAW,EAAE,IAAI,CAAC,kBAAkB;AACpC,SAAA,CAAC;;IAGI,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;AAE1C;;;;"}
|
|
1
|
+
{"version":3,"file":"controller-CqJX1McJ.js","sources":["src/schema/validators/options.ts","src/schema/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\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(`A differing Aria-Label (${option.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`);\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 type { Optgroup, Option, RadioOption, StencilUnknown } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { watchJsonArrayString } from '../utils';\nimport { validateInputSelectOptions } from '../validators';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<StencilUnknown>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<StencilUnknown> | Optgroup<StencilUnknown>)[]>;\nexport type RadioOptionsPropType = Stringified<RadioOption<StencilUnknown>[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\nexport type PropRadioOptions = {\n\toptions: RadioOptionsPropType;\n};\n\n/**\n * Options the user can choose from.\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<StencilUnknown>) => 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 type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOptionsPropType,\n\tPropLabelWithExpertSlot,\n\tRadioOption,\n\tRequiredPropType,\n\tSelectOption,\n\tStencilUnknown,\n} from '../../schema';\nimport { setState, validateOptions, validateRequired } from '../../schema';\n\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\nimport { InputController } from '../@deprecated/input/controller';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, RadioOption<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 RadioOption<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\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?: RequiredPropType): 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 InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate readonly keyOptionMap = new Map<string, RadioOption<StencilUnknown>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): RadioOption<StencilUnknown> | undefined => this.keyOptionMap.get(key);\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this.component, value, 'vertical');\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\n\t\t\tconst normalizedOptions = options.map((option: RadioOption<StencilUnknown> | string) => {\n\t\t\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\tvalue: option.value ?? option.label,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn option;\n\t\t\t});\n\n\t\t\tfillKeyOptionMap(this.keyOptionMap, normalizedOptions as SelectOption<StencilUnknown>[]);\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\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: StencilUnknown): void {\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\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"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{b as watchValidator}from"./common-BqV6Zb30.js";import{v as validateSpellCheck}from"./spell-check-Y1ApnP_M.js";import{v as validateSuggestions}from"./suggestions-D5cst2OI.js";import{I as InputPasswordController}from"./controller-
|
|
4
|
+
import{b as watchValidator}from"./common-BqV6Zb30.js";import{v as validateSpellCheck}from"./spell-check-Y1ApnP_M.js";import{v as validateSuggestions}from"./suggestions-D5cst2OI.js";import{I as InputPasswordController}from"./controller-Gobc7mv-.js";const inputTextTypeOptions=["text","search","url","tel"],isInputTextTypePropType=t=>"string"==typeof t&&inputTextTypeOptions.includes(t),validateTypeInputText=(t,e)=>{watchValidator(t,"_type",isInputTextTypePropType,new Set(inputTextTypeOptions),e)};class InputTextEmailController extends InputPasswordController{constructor(t,e,o){super(t,e,o),this.component=t}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,e,o){super(t,e,o),this.hasError=!1,this.component=t}validateSpellCheck(t){validateSpellCheck(this.component,t)}validateType(t){validateTypeInputText(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSpellCheck(this.component._spellCheck),this.validateType(this.component._type)}}export{InputTextEmailController as I,InputTextController as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-
|
|
1
|
+
{"version":3,"file":"controller-DBUYvuDB.js","sources":["src/schema/props/type-input-text.ts","src/components/input-text/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../utils';\n\nexport const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextTypePropType = (typeof inputTextTypeOptions)[number];\n\n/**\n * Defines the type of the input-text component.\n */\nexport type PropTypeInputText = {\n\ttype: InputTextTypePropType;\n};\n\nconst isInputTextTypePropType = (value: unknown): value is InputTextTypePropType => {\n\treturn typeof value === 'string' && inputTextTypeOptions.includes(value as InputTextTypePropType);\n};\n\nexport const validateTypeInputText = (component: Generic.Element.Component, value?: InputTextTypePropType): void => {\n\twatchValidator(component, '_type', isInputTextTypePropType, new Set(inputTextTypeOptions), value);\n};\n","import type {\n\tInputTextProps,\n\tInputTextTypePropType,\n\tInputTextWatches,\n\tPropLabelWithExpertSlot,\n\tPropSuggestions,\n\tSpellCheckPropType,\n\tSuggestionsPropType,\n} from '../../schema';\nimport { validateSpellCheck, validateSuggestions, validateTypeInputText } from '../../schema';\n\nimport { InputPasswordController } from '../input-password/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = PropSuggestions;\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 validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tvalidateSpellCheck(this.component, value);\n\t}\n\n\tpublic validateType(value?: InputTextTypePropType): void {\n\t\tvalidateTypeInputText(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSpellCheck(this.component._spellCheck);\n\t\tthis.validateType(this.component._type);\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAIO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;AAU7E,MAAM,uBAAuB,GAAG,CAAC,KAAc,KAAoC;IAClF,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAA8B,CAAC;AAClG,CAAC;AAEM,MAAM,qBAAqB,GAAG,CAAC,SAAoC,EAAE,KAA6B,KAAU;AAClH,IAAA,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;AAClG,CAAC;;ACAK,MAAO,wBAAyB,SAAQ,uBAAuB,CAAA;AAGpE,IAAA,WAAA,CAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB,EAAA;AAC9G,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAGpB,IAAA,mBAAmB,CAAC,KAA2B,EAAA;AACrD,QAAA,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;IAGpC,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;AAEtD;AAEK,MAAO,mBAAoB,SAAQ,wBAAwB,CAAA;AAKhE,IAAA,WAAA,CAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB,EAAA;AACzG,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;AAHtB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAItB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAGpB,IAAA,kBAAkB,CAAC,KAA0B,EAAA;AACnD,QAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGnC,IAAA,YAAY,CAAC,KAA6B,EAAA;AAChD,QAAA,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;IAGtC,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;AAExC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{g as watchString,b as watchValidator}from"./common-BqV6Zb30.js";import{v as validateAutoComplete}from"./auto-complete-DmusaKxg.js";import{a as validateHasCounter,v as validateMaxLengthBehavior,b as validateMaxLength}from"./max-length-behavior-DMw3rhwa.js";import{v as validatePlaceholder}from"./placeholder-BuBUMNhW.js";import{v as validateReadOnly}from"./read-only-DnkXqxgk.js";import{v as validateRequired}from"./required-C9Xj8kw2.js";import{I as InputIconController}from"./controller-icon-
|
|
4
|
+
import{g as watchString,b as watchValidator}from"./common-BqV6Zb30.js";import{v as validateAutoComplete}from"./auto-complete-DmusaKxg.js";import{a as validateHasCounter,v as validateMaxLengthBehavior,b as validateMaxLength}from"./max-length-behavior-DMw3rhwa.js";import{v as validatePlaceholder}from"./placeholder-BuBUMNhW.js";import{v as validateReadOnly}from"./read-only-DnkXqxgk.js";import{v as validateRequired}from"./required-C9Xj8kw2.js";import{I as InputIconController}from"./controller-icon-CcvojG6N.js";const validatePattern=(t,a,e={})=>{watchString(t,"_pattern",a,e)},PasswordVariantPropTypeOptions=["default","visibility-toggle"],validatePasswordVariant=(t,a)=>{watchValidator(t,"_variant",t=>"string"==typeof t&&PasswordVariantPropTypeOptions.includes(t),new Set(PasswordVariantPropTypeOptions),a)};class InputPasswordController extends InputIconController{constructor(t,a,e){super(t,a,e),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&(this.component.state._currentLength=this.component._value.length,this.updateCurrentLengthDebounced(this.component._value.length))},this.component=t}validateAutoComplete(t){validateAutoComplete(this.component,t)}validateHasCounter(t){validateHasCounter(this.component,t)}validateMaxLengthBehavior(t){validateMaxLengthBehavior(this.component,t)}validateVariant(t){validatePasswordVariant(this.component,t)}validateMaxLength(t){validateMaxLength(this.component,t,{hooks:{afterPatch:this.afterSyncCharCounter}})}validatePattern(t){validatePattern(this.component,t)}validatePlaceholder(t){validatePlaceholder(this.component,t)}validateReadOnly(t){validateReadOnly(this.component,t)}validateRequired(t){validateRequired(this.component,t)}validateValue(t){watchString(this.component,"_value",t,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLengthBehavior(this.component._maxLengthBehavior),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),this.validateVariant(this.component._variant)}}export{InputPasswordController as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-
|
|
1
|
+
{"version":3,"file":"controller-Gobc7mv-.js","sources":["src/schema/props/pattern.ts","src/schema/props/variant/password-variant.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\nimport type { WatchStringOptions } from '../utils';\nimport { watchString } from '../utils';\n\nexport type PatternPropType = string;\n\n/**\n * Defines a validation pattern for the input field.\n */\nexport type PropPattern = {\n\tpattern: PatternPropType;\n};\n\nexport const validatePattern = (component: Generic.Element.Component, value?: PatternPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_pattern', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\nconst PasswordVariantPropTypeOptions = ['default', 'visibility-toggle'] as const;\nexport type PasswordVariantPropType = (typeof PasswordVariantPropTypeOptions)[number];\n\n/**\n * Defines the different variants for displaying the password input.\n */\nexport type PropPasswordVariant = {\n\tvariant: PasswordVariantPropType;\n};\n\n/* validator */\nexport const validatePasswordVariant = (component: Generic.Element.Component, value?: PasswordVariantPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_variant',\n\t\t(value) => typeof value === 'string' && PasswordVariantPropTypeOptions.includes(value),\n\t\tnew Set(PasswordVariantPropTypeOptions),\n\t\tvalue,\n\t);\n};\n","import type {\n\tAutoCompletePropType,\n\tHasCounterPropType,\n\tInputPasswordProps,\n\tInputPasswordWatches,\n\tMaxLengthBehaviorPropType,\n\tPlaceholderPropType,\n\tReadOnlyPropType,\n\tRequiredPropType,\n} from '../../schema';\nimport { validateHasCounter, validateMaxLength, validatePattern, validatePlaceholder, validateReadOnly, validateRequired, watchString } from '../../schema';\nimport { validateAutoComplete } from '../../schema/props/auto-complete';\nimport { validateMaxLengthBehavior } from '../../schema/props/max-length-behavior';\nimport type { PasswordVariantPropType } from '../../schema/props/variant/password-variant';\nimport { validatePasswordVariant } from '../../schema/props/variant/password-variant';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class InputPasswordController extends InputIconController implements InputPasswordWatches {\n\tprotected readonly component: Generic.Element.Component & InputPasswordProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputPasswordProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string') {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t\tthis.updateCurrentLengthDebounced(this.component._value.length);\n\t\t}\n\t};\n\n\tpublic validateAutoComplete(value?: AutoCompletePropType): void {\n\t\tvalidateAutoComplete(this.component, value);\n\t}\n\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tvalidateMaxLengthBehavior(this.component, value);\n\t}\n\n\tpublic validateVariant(value?: PasswordVariantPropType): void {\n\t\tvalidatePasswordVariant(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\tvalidateMaxLength(this.component, value, {\n\t\t\thooks: { afterPatch: this.afterSyncCharCounter },\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\tvalidatePattern(this.component, value);\n\t}\n\n\tpublic validatePlaceholder(value?: PlaceholderPropType): void {\n\t\tvalidatePlaceholder(this.component, value);\n\t}\n\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tvalidateReadOnly(this.component, value);\n\t}\n\n\tpublic validateRequired(value?: RequiredPropType): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\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.validateMaxLengthBehavior(this.component._maxLengthBehavior);\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\tthis.validateVariant(this.component._variant);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{h}from"./index-
|
|
4
|
+
import{h}from"./index-Bc-dkuUs.js";import{_ as __rest}from"./tslib.es6-CxX45GIN.js";import{I as IconFC}from"./component-OtHwqg1I.js";import{b as KolButtonWcTag}from"./component-names-Dy77vq43.js";import{b as watchValidator}from"./common-BqV6Zb30.js";import{i as isMsgDefinedAndInputTouched,g as getMsgType,I as InputController}from"./FormFieldStateWrapper-CWC_T2V6.js";import{c as clsx}from"./clsx-COFh-Vc8.js";import{i as isString}from"./component-Bn_ahKfK.js";import{i as isObject}from"./_Uint8Array-kJHDjtoP.js";import{v as validateIcons}from"./icons-CqQ9plmY.js";const KolButtonFc=n=>{const{label:t,icons:o,hideLabel:s,disabled:e,onClick:i}=n,r=__rest(n,["label","icons","hideLabel","disabled","onClick"]);return h(KolButtonWcTag,Object.assign({_label:t,_disabled:e,_icons:o,_hideLabel:s,_on:{onClick:i}},r))},KolIconButtonFc=n=>{const{componentName:t="button",label:o,icon:s,onClick:e}=n,i=__rest(n,["componentName","label","icon","onClick"]);return h("button"===t?KolButtonFc:IconFC,Object.assign({label:o||"",hideLabel:!0,icons:`${s}`,onClick:e},i))},InputAdornment=(n,t)=>{var{position:o="start",class:s}=n,e=__rest(n,["position","class"]);const i="kol-input-container__adornment",r=`${i}--${o}`;return h("div",Object.assign({class:clsx(i,r,s)},e),t)};function hasItems(n){return!!n&&(Array.isArray(n)?n.length>0:Boolean(n))}const Container=(n,t)=>{var{class:o}=n,s=__rest(n,["class"]);return h("div",Object.assign({class:clsx("kol-input-container__container",o)},s),t)},KolInputContainerFc=(n,t)=>{const{class:o,startAdornment:s,endAdornment:e,disabled:i,msg:r,touched:a,containerProps:c,startAdornmentProps:l,endAdornmentProps:u}=n,p=__rest(n,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),d={"kol-input-container--disabled":i,[`kol-input-container--${getMsgType(r)}`]:isMsgDefinedAndInputTouched(r,a)},m=Object.assign({class:clsx("kol-input-container",d,o)},p);return hasItems(s)||hasItems(e)?h("div",Object.assign({},m),h(InputAdornment,Object.assign({},l,{position:"start"}),s),h(Container,Object.assign({},c),t),h(InputAdornment,Object.assign({},u,{position:"end"}),e)):h("div",Object.assign({},m),h(Container,Object.assign({},c),t))};function getInputContainerProps(n){let t,o;return"_icons"in n&&(t=n._icons),"_smartButton"in n&&(o=n._smartButton),{icons:t,smartButton:o,disabled:n._disabled,msg:n._msg,touched:n._touched}}const InputContainerStateWrapperFc=({state:n,startAdornment:t,endAdornment:o},s)=>{var e,i;const{icons:r,smartButton:a,disabled:c,msg:l,touched:u}=getInputContainerProps(n);let p=null==r?void 0:r.left;isString(p)&&(p={icon:p});let d=null==r?void 0:r.right;isString(d)&&(d={icon:d});const m=[],b=[];return t&&(Array.isArray(t)?m.push(...t):m.push(t)),p&&(isObject(p)?m.push(h(IconFC,{class:"kol-input-container__icon",icons:p.icon,label:null!==(e=p.label)&&void 0!==e?e:"",style:p.style})):m.push(h(IconFC,{class:"kol-input-container__icon",icons:p,label:""}))),isObject(a)&&b.push(h(KolIconButtonFc,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},a,{hideLabel:!0,disabled:c}))),d&&(isObject(d)?b.push(h(IconFC,{class:"kol-input-container__icon",icons:d.icon,label:null!==(i=d.label)&&void 0!==i?i:"",style:d.style})):b.push(h(IconFC,{class:"kol-input-container__icon",icons:d,label:""}))),o&&(Array.isArray(o)?b.push(...o):b.push(o)),h(KolInputContainerFc,{disabled:c,msg:l,touched:u,startAdornment:m,endAdornment:b},s)};class InputIconController extends InputController{constructor(n,t,o){super(n,t,o),this.numberStringRegex=/^\d+(\.\d+)?$/,this.parseToNumber=n=>"number"==typeof n?isNaN(n)?null:n:this.isNumberString(n)?parseFloat(n):null,this.validateNumber=(n,t)=>watchValidator(this.component,n,n=>null==n||"number"==typeof n||"string"==typeof n&&this.numberStringRegex.test(n),new Set(["number","NumberString"]),t,{hooks:{beforePatch:(t,o)=>{(null==o?void 0:o.has(n))&&(null==o||o.set(n,this.parseToNumber(t)))}}}),this.component=n}validateIcons(n){validateIcons(this.component,n)}isNumberString(n){return"string"==typeof n&&this.numberStringRegex.test(n)}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons)}}export{InputIconController as I,KolIconButtonFc as K,InputContainerStateWrapperFc as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-icon-aCgHTEpC.js","sources":["src/functional-components/Button/Button.tsx","src/functional-components/IconButton/IconButton.tsx","src/functional-components/InputAdornment/InputAdornment.tsx","src/functional-components/InputContainer/InputContainer.tsx","src/functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper.tsx","src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport type { OptionalButtonProps, RequiredButtonProps } from '../../schema';\n\nexport type ButtonProps = Partial<RequiredButtonProps & OptionalButtonProps> & {\n\tlabel: string;\n\tclass?: string;\n\tonClick?: (event: MouseEvent) => void;\n};\n\nconst KolButtonFc: FC<ButtonProps> = (props) => {\n\tconst { label, icons, hideLabel, disabled, onClick, ...other } = props;\n\n\treturn <KolButtonWcTag _label={label} _disabled={disabled} _icons={icons} _hideLabel={hideLabel} _on={{ onClick }} {...other} />;\n};\n\nexport default KolButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport type { ButtonVariantPropType } from '../../schema';\nimport KolButtonFc, { type ButtonProps } from '../Button';\n\ntype IconType = {\n\tcomponentName: 'icon';\n\ticon?: string;\n\tclass?: string;\n\tlabel?: string;\n\tstyle?: { [key: string]: string };\n\tonClick?: (event: MouseEvent) => void;\n};\n\ntype ButtonType = Partial<Omit<ButtonProps, 'icons'>> & {\n\tcomponentName: 'button';\n\ticon?: string;\n\tlabel?: string;\n\tclass?: string;\n\tbuttonVariant?: ButtonVariantPropType;\n\n\tonClick?: (event: MouseEvent) => void;\n};\n\nexport type IconButtonProps = IconType | ButtonType;\n\n/**\n * `KolIconButtonFc` is a functional component that renders either a Button or an Icon based on the provided props.\n *\n * Depending on the value of the `componentName` prop, either a Button (`KolButtonFc`) or an Icon (`IconFC`) is rendered.\n * Both components support optional `icon` props for displaying an icon and an optional `onClick` handler for user interactions.\n *\n * This component combines the flexibility of rendering either a button with an optional label or a simple icon, while ensuring that unnecessary props for the selected element are not passed.\n *\n * Supported props:\n * - `componentName`: Specifies whether a 'button' or 'icon' should be rendered. Default is 'button'.\n * - `label`: An optional label, which is only shown for Buttons.\n * - `icon`: The Codicon or other font classname used for the icon display.\n * - `class`: Optional CSS class for additional styling customization.\n * - `buttonVariant`: Variant for the button component.\n * - `onClick`: Optional click handler for user interactions.\n *\n * Example usage:\n * ```tsx\n * <KolIconButtonFc componentName=\"button\" label=\"Submit\" icon=\"kolicon-check\" onClick={handleClick} />\n * <KolIconButtonFc componentName=\"icon\" icon=\"alert\" onClick={handleClick} />\n * ```\n *\n * @param {IconButtonProps} props - The properties that customize the component, including the selection of the component type (Button or Icon) and other specific attributes.\n * @returns {JSX.Element} - The rendered JSX element (Button or Icon).\n */\nconst KolIconButtonFc: FC<IconButtonProps> = (props) => {\n\tconst { componentName = 'button', label, icon, onClick, ...other } = props;\n\tconst Component = componentName === 'button' ? KolButtonFc : IconFC;\n\n\treturn <Component label={label || ''} hideLabel icons={`${icon}`} onClick={onClick} {...other} />;\n};\n\nexport default KolIconButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from '../../utils/clsx';\n\nexport type InputAdornmentProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tposition?: 'start' | 'end';\n};\n\nconst InputAdornment: FC<InputAdornmentProps> = ({ position = 'start', class: className, ...other }, children) => {\n\tconst rootClassName = `kol-input-container__adornment`;\n\tconst positionClassName = `${rootClassName}--${position}`;\n\n\treturn (\n\t\t<div class={clsx(rootClassName, positionClassName, className)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport default InputAdornment;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../schema';\nimport clsx from '../../utils/clsx';\nimport InputAdornment from '../InputAdornment';\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputContainerProps = JSXBase.HTMLAttributes & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n\n\tcontainerProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tstartAdornmentProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tendAdornmentProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n};\n\nfunction hasItems(items?: InputAdornmentType): boolean {\n\tif (!items) {\n\t\treturn false;\n\t}\n\n\treturn Array.isArray(items) ? items.length > 0 : Boolean(items);\n}\n\nconst Container: FC<JSXBase.HTMLAttributes<HTMLDivElement>> = ({ class: className, ...other }, children) => {\n\treturn (\n\t\t<div class={clsx('kol-input-container__container', className)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nconst KolInputContainerFc: FC<InputContainerProps> = (props, children) => {\n\tconst { class: classNames, startAdornment, endAdornment, disabled, msg, touched, containerProps, startAdornmentProps, endAdornmentProps, ...other } = props;\n\tconst stateCssClasses = {\n\t\t['kol-input-container--disabled']: disabled,\n\t\t[`kol-input-container--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),\n\t};\n\n\tconst baseProps: JSXBase.HTMLAttributes<HTMLDivElement> = {\n\t\tclass: clsx('kol-input-container', stateCssClasses, classNames),\n\t\t...other,\n\t};\n\n\tif (!hasItems(startAdornment) && !hasItems(endAdornment)) {\n\t\treturn (\n\t\t\t<div {...baseProps}>\n\t\t\t\t<Container {...containerProps}>{children}</Container>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div {...baseProps}>\n\t\t\t<InputAdornment {...startAdornmentProps} position=\"start\">\n\t\t\t\t{startAdornment}\n\t\t\t</InputAdornment>\n\t\t\t<Container {...containerProps}>{children}</Container>\n\t\t\t<InputAdornment {...endAdornmentProps} position=\"end\">\n\t\t\t\t{endAdornment}\n\t\t\t</InputAdornment>\n\t\t</div>\n\t);\n};\n\nexport default KolInputContainerFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport {\n\ttype IconOrIconClass,\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InternalButtonProps,\n\ttype KoliBriHorizontalIcons,\n\ttype MsgPropType,\n\ttype SelectStates,\n\ttype Stringified,\n\ttype TextareaStates,\n} from '../../schema';\n\nimport { isObject, isString } from 'lodash-es';\nimport KolIconButtonFc from '../../functional-components/IconButton';\nimport KolInputContainerFc, { type InputContainerProps } from '../../functional-components/InputContainer';\nimport { IconFC } from '../../internal/functional-components/icon/component';\n\ntype InputState =\n\t| TextareaStates\n\t| SelectStates\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates;\n\nexport type InputContainerStateWrapperProps = Partial<InputContainerProps> & {\n\tstate: InputState;\n};\n\nfunction getInputContainerProps(state: InputState): {\n\ticons?: KoliBriHorizontalIcons;\n\tsmartButton?: InternalButtonProps;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n} {\n\tlet icons: KoliBriHorizontalIcons | undefined = undefined;\n\tlet smartButton: InternalButtonProps | undefined;\n\n\tif ('_icons' in state) {\n\t\ticons = state._icons;\n\t}\n\n\tif ('_smartButton' in state) {\n\t\tsmartButton = state._smartButton;\n\t}\n\n\treturn {\n\t\ticons,\n\t\tsmartButton,\n\t\tdisabled: state._disabled,\n\t\tmsg: state._msg,\n\t\ttouched: state._touched,\n\t};\n}\n\nconst InputContainerStateWrapperFc: FC<InputContainerStateWrapperProps> = (\n\t{ state, startAdornment: defaultStartAdornment, endAdornment: defaultEndAdornment },\n\tchildren,\n) => {\n\tconst { icons, smartButton, disabled, msg, touched } = getInputContainerProps(state);\n\n\tlet leftIconProps: IconOrIconClass | undefined = icons?.left;\n\tif (isString(leftIconProps)) {\n\t\tleftIconProps = { icon: leftIconProps };\n\t}\n\n\tlet rightIconProps: IconOrIconClass | undefined = icons?.right;\n\tif (isString(rightIconProps)) {\n\t\trightIconProps = { icon: rightIconProps };\n\t}\n\n\tconst startAdornment = [];\n\tconst endAdornment = [];\n\n\tif (defaultStartAdornment) {\n\t\tif (Array.isArray(defaultStartAdornment)) {\n\t\t\tstartAdornment.push(...defaultStartAdornment);\n\t\t} else {\n\t\t\tstartAdornment.push(defaultStartAdornment);\n\t\t}\n\t}\n\n\tif (leftIconProps) {\n\t\tif (isObject(leftIconProps)) {\n\t\t\tstartAdornment.push(\n\t\t\t\t<IconFC class=\"kol-input-container__icon\" icons={leftIconProps.icon} label={leftIconProps.label ?? ''} style={leftIconProps.style} />,\n\t\t\t);\n\t\t} else {\n\t\t\tstartAdornment.push(<IconFC class=\"kol-input-container__icon\" icons={leftIconProps} label=\"\" />);\n\t\t}\n\t}\n\n\tif (isObject(smartButton)) {\n\t\tendAdornment.push(\n\t\t\t<KolIconButtonFc componentName=\"button\" class=\"kol-input-container__smart-button\" {...smartButton} hideLabel={true} disabled={disabled} />,\n\t\t);\n\t}\n\n\tif (rightIconProps) {\n\t\tif (isObject(rightIconProps)) {\n\t\t\tendAdornment.push(\n\t\t\t\t<IconFC class=\"kol-input-container__icon\" icons={rightIconProps.icon} label={rightIconProps.label ?? ''} style={rightIconProps.style} />,\n\t\t\t);\n\t\t} else {\n\t\t\tendAdornment.push(<IconFC class=\"kol-input-container__icon\" icons={rightIconProps} label=\"\" />);\n\t\t}\n\t}\n\n\tif (defaultEndAdornment) {\n\t\tif (Array.isArray(defaultEndAdornment)) {\n\t\t\tendAdornment.push(...defaultEndAdornment);\n\t\t} else {\n\t\t\tendAdornment.push(defaultEndAdornment);\n\t\t}\n\t}\n\n\treturn (\n\t\t<KolInputContainerFc disabled={disabled} msg={msg} touched={touched} startAdornment={startAdornment} endAdornment={endAdornment}>\n\t\t\t{children}\n\t\t</KolInputContainerFc>\n\t);\n};\n\nexport default InputContainerStateWrapperFc;\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { IconsHorizontalPropType, NumberString } from '../../../schema';\nimport { validateIcons, watchValidator } from '../../../schema';\n\nimport { InputController } from './controller';\n\nimport type { Props, Watches } from './types-icon';\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate readonly numberStringRegex = /^\\d+(\\.\\d+)?$/; // https://regex101.com/r/mET6Tx/1\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 validateIcons(value?: IconsHorizontalPropType): void {\n\t\tvalidateIcons(this.component, value);\n\t}\n\n\tpublic isNumberString(value: unknown): value is NumberString {\n\t\treturn typeof value === 'string' && this.numberStringRegex.test(value);\n\t}\n\n\tprotected readonly parseToNumber = (value?: number | NumberString | null): number | null => {\n\t\tif (typeof value === 'number') {\n\t\t\treturn isNaN(value) ? null : value;\n\t\t}\n\t\tif (this.isNumberString(value)) {\n\t\t\treturn parseFloat(value);\n\t\t}\n\t\treturn null;\n\t};\n\n\tprotected readonly validateNumber = (propName: string, value?: number | NumberString | null) => {\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean =>\n\t\t\t\tvalue === undefined || value === null || typeof value === 'number' || (typeof value === 'string' && this.numberStringRegex.test(value)),\n\t\t\tnew Set(['number', 'NumberString']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (value: unknown, nextState) => {\n\t\t\t\t\t\tif (nextState?.has(propName)) {\n\t\t\t\t\t\t\tnextState?.set(propName, this.parseToNumber(value as number | NumberString | null));\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t};\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-icon-CcvojG6N.js","sources":["src/functional-components/Button/Button.tsx","src/functional-components/IconButton/IconButton.tsx","src/functional-components/InputAdornment/InputAdornment.tsx","src/functional-components/InputContainer/InputContainer.tsx","src/functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper.tsx","src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport type { OptionalButtonProps, RequiredButtonProps } from '../../schema';\n\nexport type ButtonProps = Partial<RequiredButtonProps & OptionalButtonProps> & {\n\tlabel: string;\n\tclass?: string;\n\tonClick?: (event: MouseEvent) => void;\n};\n\nconst KolButtonFc: FC<ButtonProps> = (props) => {\n\tconst { label, icons, hideLabel, disabled, onClick, ...other } = props;\n\n\treturn <KolButtonWcTag _label={label} _disabled={disabled} _icons={icons} _hideLabel={hideLabel} _on={{ onClick }} {...other} />;\n};\n\nexport default KolButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport type { ButtonVariantPropType } from '../../schema';\nimport KolButtonFc, { type ButtonProps } from '../Button';\n\ntype IconType = {\n\tcomponentName: 'icon';\n\ticon?: string;\n\tclass?: string;\n\tlabel?: string;\n\tstyle?: { [key: string]: string };\n\tonClick?: (event: MouseEvent) => void;\n};\n\ntype ButtonType = Partial<Omit<ButtonProps, 'icons'>> & {\n\tcomponentName: 'button';\n\ticon?: string;\n\tlabel?: string;\n\tclass?: string;\n\tbuttonVariant?: ButtonVariantPropType;\n\n\tonClick?: (event: MouseEvent) => void;\n};\n\nexport type IconButtonProps = IconType | ButtonType;\n\n/**\n * `KolIconButtonFc` is a functional component that renders either a Button or an Icon based on the provided props.\n *\n * Depending on the value of the `componentName` prop, either a Button (`KolButtonFc`) or an Icon (`IconFC`) is rendered.\n * Both components support optional `icon` props for displaying an icon and an optional `onClick` handler for user interactions.\n *\n * This component combines the flexibility of rendering either a button with an optional label or a simple icon, while ensuring that unnecessary props for the selected element are not passed.\n *\n * Supported props:\n * - `componentName`: Specifies whether a 'button' or 'icon' should be rendered. Default is 'button'.\n * - `label`: An optional label, which is only shown for Buttons.\n * - `icon`: The Codicon or other font classname used for the icon display.\n * - `class`: Optional CSS class for additional styling customization.\n * - `buttonVariant`: Variant for the button component.\n * - `onClick`: Optional click handler for user interactions.\n *\n * Example usage:\n * ```tsx\n * <KolIconButtonFc componentName=\"button\" label=\"Submit\" icon=\"kolicon-check\" onClick={handleClick} />\n * <KolIconButtonFc componentName=\"icon\" icon=\"alert\" onClick={handleClick} />\n * ```\n *\n * @param {IconButtonProps} props - The properties that customize the component, including the selection of the component type (Button or Icon) and other specific attributes.\n * @returns {JSX.Element} - The rendered JSX element (Button or Icon).\n */\nconst KolIconButtonFc: FC<IconButtonProps> = (props) => {\n\tconst { componentName = 'button', label, icon, onClick, ...other } = props;\n\tconst Component = componentName === 'button' ? KolButtonFc : IconFC;\n\n\treturn <Component label={label || ''} hideLabel icons={`${icon}`} onClick={onClick} {...other} />;\n};\n\nexport default KolIconButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from '../../utils/clsx';\n\nexport type InputAdornmentProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tposition?: 'start' | 'end';\n};\n\nconst InputAdornment: FC<InputAdornmentProps> = ({ position = 'start', class: className, ...other }, children) => {\n\tconst rootClassName = `kol-input-container__adornment`;\n\tconst positionClassName = `${rootClassName}--${position}`;\n\n\treturn (\n\t\t<div class={clsx(rootClassName, positionClassName, className)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nexport default InputAdornment;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../schema';\nimport clsx from '../../utils/clsx';\nimport InputAdornment from '../InputAdornment';\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputContainerProps = JSXBase.HTMLAttributes & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n\n\tcontainerProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tstartAdornmentProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tendAdornmentProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n};\n\nfunction hasItems(items?: InputAdornmentType): boolean {\n\tif (!items) {\n\t\treturn false;\n\t}\n\n\treturn Array.isArray(items) ? items.length > 0 : Boolean(items);\n}\n\nconst Container: FC<JSXBase.HTMLAttributes<HTMLDivElement>> = ({ class: className, ...other }, children) => {\n\treturn (\n\t\t<div class={clsx('kol-input-container__container', className)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nconst KolInputContainerFc: FC<InputContainerProps> = (props, children) => {\n\tconst { class: classNames, startAdornment, endAdornment, disabled, msg, touched, containerProps, startAdornmentProps, endAdornmentProps, ...other } = props;\n\tconst stateCssClasses = {\n\t\t['kol-input-container--disabled']: disabled,\n\t\t[`kol-input-container--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),\n\t};\n\n\tconst baseProps: JSXBase.HTMLAttributes<HTMLDivElement> = {\n\t\tclass: clsx('kol-input-container', stateCssClasses, classNames),\n\t\t...other,\n\t};\n\n\tif (!hasItems(startAdornment) && !hasItems(endAdornment)) {\n\t\treturn (\n\t\t\t<div {...baseProps}>\n\t\t\t\t<Container {...containerProps}>{children}</Container>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div {...baseProps}>\n\t\t\t<InputAdornment {...startAdornmentProps} position=\"start\">\n\t\t\t\t{startAdornment}\n\t\t\t</InputAdornment>\n\t\t\t<Container {...containerProps}>{children}</Container>\n\t\t\t<InputAdornment {...endAdornmentProps} position=\"end\">\n\t\t\t\t{endAdornment}\n\t\t\t</InputAdornment>\n\t\t</div>\n\t);\n};\n\nexport default KolInputContainerFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport {\n\ttype IconOrIconClass,\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InternalButtonProps,\n\ttype KoliBriHorizontalIcons,\n\ttype MsgPropType,\n\ttype SelectStates,\n\ttype Stringified,\n\ttype TextareaStates,\n} from '../../schema';\n\nimport { isObject, isString } from 'lodash-es';\nimport KolIconButtonFc from '../../functional-components/IconButton';\nimport KolInputContainerFc, { type InputContainerProps } from '../../functional-components/InputContainer';\nimport { IconFC } from '../../internal/functional-components/icon/component';\n\ntype InputState =\n\t| TextareaStates\n\t| SelectStates\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates;\n\nexport type InputContainerStateWrapperProps = Partial<InputContainerProps> & {\n\tstate: InputState;\n};\n\nfunction getInputContainerProps(state: InputState): {\n\ticons?: KoliBriHorizontalIcons;\n\tsmartButton?: InternalButtonProps;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n} {\n\tlet icons: KoliBriHorizontalIcons | undefined = undefined;\n\tlet smartButton: InternalButtonProps | undefined;\n\n\tif ('_icons' in state) {\n\t\ticons = state._icons;\n\t}\n\n\tif ('_smartButton' in state) {\n\t\tsmartButton = state._smartButton;\n\t}\n\n\treturn {\n\t\ticons,\n\t\tsmartButton,\n\t\tdisabled: state._disabled,\n\t\tmsg: state._msg,\n\t\ttouched: state._touched,\n\t};\n}\n\nconst InputContainerStateWrapperFc: FC<InputContainerStateWrapperProps> = (\n\t{ state, startAdornment: defaultStartAdornment, endAdornment: defaultEndAdornment },\n\tchildren,\n) => {\n\tconst { icons, smartButton, disabled, msg, touched } = getInputContainerProps(state);\n\n\tlet leftIconProps: IconOrIconClass | undefined = icons?.left;\n\tif (isString(leftIconProps)) {\n\t\tleftIconProps = { icon: leftIconProps };\n\t}\n\n\tlet rightIconProps: IconOrIconClass | undefined = icons?.right;\n\tif (isString(rightIconProps)) {\n\t\trightIconProps = { icon: rightIconProps };\n\t}\n\n\tconst startAdornment = [];\n\tconst endAdornment = [];\n\n\tif (defaultStartAdornment) {\n\t\tif (Array.isArray(defaultStartAdornment)) {\n\t\t\tstartAdornment.push(...defaultStartAdornment);\n\t\t} else {\n\t\t\tstartAdornment.push(defaultStartAdornment);\n\t\t}\n\t}\n\n\tif (leftIconProps) {\n\t\tif (isObject(leftIconProps)) {\n\t\t\tstartAdornment.push(\n\t\t\t\t<IconFC class=\"kol-input-container__icon\" icons={leftIconProps.icon} label={leftIconProps.label ?? ''} style={leftIconProps.style} />,\n\t\t\t);\n\t\t} else {\n\t\t\tstartAdornment.push(<IconFC class=\"kol-input-container__icon\" icons={leftIconProps} label=\"\" />);\n\t\t}\n\t}\n\n\tif (isObject(smartButton)) {\n\t\tendAdornment.push(\n\t\t\t<KolIconButtonFc componentName=\"button\" class=\"kol-input-container__smart-button\" {...smartButton} hideLabel={true} disabled={disabled} />,\n\t\t);\n\t}\n\n\tif (rightIconProps) {\n\t\tif (isObject(rightIconProps)) {\n\t\t\tendAdornment.push(\n\t\t\t\t<IconFC class=\"kol-input-container__icon\" icons={rightIconProps.icon} label={rightIconProps.label ?? ''} style={rightIconProps.style} />,\n\t\t\t);\n\t\t} else {\n\t\t\tendAdornment.push(<IconFC class=\"kol-input-container__icon\" icons={rightIconProps} label=\"\" />);\n\t\t}\n\t}\n\n\tif (defaultEndAdornment) {\n\t\tif (Array.isArray(defaultEndAdornment)) {\n\t\t\tendAdornment.push(...defaultEndAdornment);\n\t\t} else {\n\t\t\tendAdornment.push(defaultEndAdornment);\n\t\t}\n\t}\n\n\treturn (\n\t\t<KolInputContainerFc disabled={disabled} msg={msg} touched={touched} startAdornment={startAdornment} endAdornment={endAdornment}>\n\t\t\t{children}\n\t\t</KolInputContainerFc>\n\t);\n};\n\nexport default InputContainerStateWrapperFc;\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { IconsHorizontalPropType, NumberString } from '../../../schema';\nimport { validateIcons, watchValidator } from '../../../schema';\n\nimport { InputController } from './controller';\n\nimport type { Props, Watches } from './types-icon';\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate readonly numberStringRegex = /^\\d+(\\.\\d+)?$/; // https://regex101.com/r/mET6Tx/1\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 validateIcons(value?: IconsHorizontalPropType): void {\n\t\tvalidateIcons(this.component, value);\n\t}\n\n\tpublic isNumberString(value: unknown): value is NumberString {\n\t\treturn typeof value === 'string' && this.numberStringRegex.test(value);\n\t}\n\n\tprotected readonly parseToNumber = (value?: number | NumberString | null): number | null => {\n\t\tif (typeof value === 'number') {\n\t\t\treturn isNaN(value) ? null : value;\n\t\t}\n\t\tif (this.isNumberString(value)) {\n\t\t\treturn parseFloat(value);\n\t\t}\n\t\treturn null;\n\t};\n\n\tprotected readonly validateNumber = (propName: string, value?: number | NumberString | null) => {\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean =>\n\t\t\t\tvalue === undefined || value === null || typeof value === 'number' || (typeof value === 'string' && this.numberStringRegex.test(value)),\n\t\t\tnew Set(['number', 'NumberString']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (value: unknown, nextState) => {\n\t\t\t\t\t\tif (nextState?.has(propName)) {\n\t\t\t\t\t\t\tnextState?.set(propName, this.parseToNumber(value as number | NumberString | null));\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t};\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{L as Log,x as getDocument,B as setExperimentalMode,C as setColorContrastAnalysis,D as getWindow,z as isTestMode}from"./common-BqV6Zb30.js";import{E as Env}from"./index-
|
|
4
|
+
import{L as Log,x as getDocument,B as setExperimentalMode,C as setColorContrastAnalysis,D as getWindow,z as isTestMode}from"./common-BqV6Zb30.js";import{E as Env}from"./index-Bc-dkuUs.js";const initMeta=()=>{try{const e=getDocument();if(!e||"function"!=typeof e.querySelector)return;const t=e.querySelector('meta[name="kolibri"]');if(t&&t.hasAttribute("content")){const e=t.getAttribute("content");"string"==typeof e&&(setExperimentalMode(e.includes("experimental-mode=true")),setColorContrastAnalysis(e.includes("color-contrast-analysis=true")))}}catch(e){}},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{initMeta(),Log.debug(`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \`--' | |) /_ ,--.--. \`--'\n| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n| |\\ \\ | '-' | | | | | | '--' / | | | |\n\`--' \`--´ \`---´ \`--' \`--' \`------´ \`--' \`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | ${Env.kolibriVersion}\n\t`,{forceLog:!0})},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);isTestMode()&&(nonce=()=>"nonce");export{initKoliBri as i,nonce as n,renderDevAdvice as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.utils-
|
|
1
|
+
{"version":3,"file":"dev.utils-UUgQWQxj.js","sources":["src/utils/dev.utils.ts"],"sourcesContent":["import { Log, getDocument, isTestMode, setColorContrastAnalysis, setExperimentalMode } from '../schema';\n\nimport { Env } from '@stencil/core';\nimport { getWindow } from '../schema';\n\nconst initMeta = (): void => {\n\ttry {\n\t\tconst document = getDocument();\n\t\tif (!document || typeof document.querySelector !== 'function') {\n\t\t\treturn; // Skip meta initialization if document is not available\n\t\t}\n\n\t\tconst meta = document.querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tconst content = meta.getAttribute('content');\n\t\t\tif (typeof content === 'string') {\n\t\t\t\tsetExperimentalMode(content.includes('experimental-mode=true'));\n\t\t\t\tsetColorContrastAnalysis(content.includes('color-contrast-analysis=true'));\n\t\t\t}\n\t\t}\n\t} catch {\n\t\t// Ignore meta initialization errors in test/SSR environments\n\t}\n};\n\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nexport { getKoliBri };\n\nexport const initKoliBri = (): void => {\n\tinitMeta();\n\tLog.debug(\n\t\t`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | ${Env.kolibriVersion}\n\t`,\n\t\t{\n\t\t\tforceLog: true,\n\t\t},\n\t);\n};\n\nexport const renderDevAdvice = (): void => {\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(getKoliBri(), 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\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`,\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (isTestMode()) {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,QAAQ,GAAG,MAAW;AAC3B,IAAA,IAAI;AACH,QAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;QAC9B,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,UAAU,EAAE;YAC9D;;QAGD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC;QAC3D,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5C,YAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAChC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAC/D,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;;;;IAG3E,OAAA,EAAA,EAAM;;AAGT,CAAC;AAED,MAAM,UAAU,GAAG,MAA8B;AAChD,IAAA,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO;AACjC,IAAA,IAAI,OAAO,KAAK,SAAS,EAAE;QAC1B,OAAO,GAAG,EAAE;AACZ,QAAA,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;AAC7C,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,SAAA,CAAC;;AAEH,IAAA,OAAO,OAAO;AACf,CAAC;AAIM,MAAM,WAAW,GAAG,MAAW;AACrC,IAAA,QAAQ,EAAE;IACV,GAAG,CAAC,KAAK,CACR;;;;;;AAMmE,mEAAA,EAAA,GAAG,CAAC,cAAc;EACrF,EACA;AACC,QAAA,QAAQ,EAAE,IAAI;AACd,KAAA,CACD;AACF;AAEO,MAAM,eAAe,GAAG,MAAW;AACzC,IAAA,IAAI,UAAU,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE;AACtC,QAAA,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE;AAClD,YAAA,GAAG,EAAE,YAAA;AACJ,gBAAA,OAAO,IAAI;aACX;AACD,SAAA,CAAC;QACF,GAAG,CAAC,KAAK,CACR;;;;;AAKF,CAAA,CACE;;AAEH;AAEI,IAAA,KAAK,GAAG,MAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;AAE1E,IAAI,UAAU,EAAE,EAAE;AACjB,IAAA,KAAK,GAAG,MAAc,OAAO;AAC9B;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{V as isDevMode,L as Log,x as getDocument,D as getWindow,W as koliBriA11yColorContrast,Q as koliBriQuerySelector,X as koliBriQuerySelectorAll,Y as koliBriQuerySelectorColors,Z as KoliBriUtils,p as parseJson,_ as stringifyJson,I as getExperimentalMode,$ as getColorContrastAnalysis}from"./common-BqV6Zb30.js";import{i as initKoliBri,r as renderDevAdvice}from"./dev.utils-
|
|
4
|
+
import{V as isDevMode,L as Log,x as getDocument,D as getWindow,W as koliBriA11yColorContrast,Q as koliBriQuerySelector,X as koliBriQuerySelectorAll,Y as koliBriQuerySelectorColors,Z as KoliBriUtils,p as parseJson,_ as stringifyJson,I as getExperimentalMode,$ as getColorContrastAnalysis}from"./common-BqV6Zb30.js";import{i as initKoliBri,r as renderDevAdvice}from"./dev.utils-UUgQWQxj.js";import"./index-Bc-dkuUs.js";const getKoliBri=()=>{let o=getWindow().KoliBri;return void 0===o&&(o={},Object.defineProperty(getWindow(),"KoliBri",{value:o,writable:!1})),o};function prototypeKoliBri(o,t){try{Object.defineProperty(getKoliBri(),o,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,t)=>Log.debug(`${o} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),isDevMode()&&(renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",function(){return KoliBriUtils}),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson),metaModeLog("Development mode",isDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),setTimeout(()=>{try{const o=getDocument(),t=null==o?void 0:o.body;if(o&&t&&"function"==typeof o.createElement){const e=o.createElement("svg");e.setAttribute("aria-label","KoliBri-DevTools"),e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("role","toolbar"),e.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),e.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',t.appendChild(e)}}catch(o){Log.debug(["Could not initialize DevTools UI (likely in SSR/test environment):",o])}},100),getColorContrastAnalysis())){const o=setTimeout(()=>{clearTimeout(o);try{const o=getDocument(),t=null==o?void 0:o.body;o&&t&&"function"==typeof o.createElement&&setInterval(()=>{KoliBriUtils.queryHtmlElementColors(o.createElement("div"),koliBriA11yColorContrast(t),!1,!1)},1e4)}catch(o){Log.debug(["Could not initialize color contrast analysis:",o])}},2500)}};export{initialize};
|