@public-ui/components 3.0.4-rc.2 → 3.0.5-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +1 -1
- package/dist/cjs/{Alert-Cn__GHrm.js → Alert-C3vof8gc.js} +1 -1
- package/dist/cjs/{Alert-Cn__GHrm.js.map → Alert-C3vof8gc.js.map} +1 -1
- package/dist/cjs/{Collapsible-DWSzDd1Q.js → Collapsible-BwQQh0mz.js} +1 -1
- package/dist/cjs/{Collapsible-DWSzDd1Q.js.map → Collapsible-BwQQh0mz.js.map} +1 -1
- package/dist/cjs/{CustomSuggestionsToggle-BOZ7gyXg.js → CustomSuggestionsToggle-B-bTmnBQ.js} +1 -1
- package/dist/cjs/{CustomSuggestionsToggle-BOZ7gyXg.js.map → CustomSuggestionsToggle-B-bTmnBQ.js.map} +1 -1
- package/dist/cjs/{FieldControlStateWrapper-BeahuAj_.js → FieldControlStateWrapper-Cmlj42uN.js} +1 -1
- package/dist/cjs/{FieldControlStateWrapper-BeahuAj_.js.map → FieldControlStateWrapper-Cmlj42uN.js.map} +1 -1
- package/dist/cjs/{FormFieldStateWrapper-CxVodEer.js → FormFieldStateWrapper-B3KooWZ3.js} +1 -1
- package/dist/cjs/{FormFieldStateWrapper-CxVodEer.js.map → FormFieldStateWrapper-B3KooWZ3.js.map} +1 -1
- package/dist/cjs/{Heading-Bc6J6UAU.js → Heading-BXbctWBt.js} +1 -1
- package/dist/{kolibri/Heading-Bx4SwJcX.js.map → cjs/Heading-BXbctWBt.js.map} +1 -1
- package/dist/cjs/{Icon-Dg77uirk.js → Icon-ttrOpSx4.js} +1 -1
- package/dist/cjs/{Icon-Dg77uirk.js.map → Icon-ttrOpSx4.js.map} +1 -1
- package/dist/cjs/Input-jk9vBtZy.js +4 -0
- package/dist/cjs/{Input-CPvmrua5.js.map → Input-jk9vBtZy.js.map} +1 -1
- package/dist/cjs/{InputStateWrapper-By2JfkJ_.js → InputStateWrapper-BUpZkpZ4.js} +1 -1
- package/dist/cjs/{InputStateWrapper-By2JfkJ_.js.map → InputStateWrapper-BUpZkpZ4.js.map} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-BbxT_Yo-.js → InternalUnderlinedBadgeText-B9JCUpQ0.js} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-BbxT_Yo-.js.map → InternalUnderlinedBadgeText-B9JCUpQ0.js.map} +1 -1
- package/dist/cjs/{Span-MNppCFVc.js → Span-B82DoaCk.js} +1 -1
- package/dist/cjs/{Span-MNppCFVc.js.map → Span-B82DoaCk.js.map} +1 -1
- package/dist/cjs/{app-globals-C8rtNS_J.js → app-globals-BBL5j1Pg.js} +1 -1
- package/dist/cjs/{app-globals-C8rtNS_J.js.map → app-globals-BBL5j1Pg.js.map} +1 -1
- package/dist/cjs/{associated.controller-DliVZLxU.js → associated.controller-DCjDhSZx.js} +1 -1
- package/dist/cjs/{associated.controller-DliVZLxU.js.map → associated.controller-DCjDhSZx.js.map} +1 -1
- package/dist/cjs/bootstrap-CtGLo8kW.js +4 -0
- package/dist/cjs/bootstrap-CtGLo8kW.js.map +1 -0
- package/dist/cjs/{controller-sflaowcD.js → controller-Ck-2hdGT.js} +1 -1
- package/dist/cjs/{controller-sflaowcD.js.map → controller-Ck-2hdGT.js.map} +1 -1
- package/dist/cjs/{controller-Clj3g7Ir.js → controller-CspoQhj4.js} +1 -1
- package/dist/cjs/{controller-Clj3g7Ir.js.map → controller-CspoQhj4.js.map} +1 -1
- package/dist/cjs/{controller-DVUhQuWI.js → controller-VVml6XNp.js} +1 -1
- package/dist/cjs/{controller-DVUhQuWI.js.map → controller-VVml6XNp.js.map} +1 -1
- package/dist/cjs/{controller-icon-BsFjV1Wt.js → controller-icon-5A-2C49Q.js} +1 -1
- package/dist/cjs/{controller-icon-BsFjV1Wt.js.map → controller-icon-5A-2C49Q.js.map} +1 -1
- package/dist/cjs/{dev.utils-B6gnx5E0.js → dev.utils-BmcUr5ps.js} +1 -1
- package/dist/cjs/{dev.utils-B6gnx5E0.js.map → dev.utils-BmcUr5ps.js.map} +1 -1
- package/dist/cjs/{devtools-DrXKZZc4.js → devtools-D1oXS0lZ.js} +1 -1
- package/dist/cjs/{devtools-DrXKZZc4.js.map → devtools-D1oXS0lZ.js.map} +1 -1
- package/dist/cjs/{index-DNUwdCyW.js → index-DZ4EBybr.js} +1 -1
- package/dist/cjs/{index-DNUwdCyW.js.map → index-DZ4EBybr.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +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-combobox.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +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-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +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-popover-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +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-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/components/Heading.js.map +1 -1
- package/dist/components/bootstrap.js +1 -1
- package/dist/components/bootstrap.js.map +1 -1
- package/dist/esm/{Alert-CSRc8Vlr.js → Alert-C9KodDn-.js} +1 -1
- package/dist/{kolibri/Alert-CSRc8Vlr.js.map → esm/Alert-C9KodDn-.js.map} +1 -1
- package/dist/esm/{Collapsible--TI2kjff.js → Collapsible-DFegUHMu.js} +1 -1
- package/dist/esm/{Collapsible--TI2kjff.js.map → Collapsible-DFegUHMu.js.map} +1 -1
- package/dist/esm/{CustomSuggestionsToggle-uDye4Uns.js → CustomSuggestionsToggle-YLF12END.js} +1 -1
- package/dist/{kolibri/CustomSuggestionsToggle-uDye4Uns.js.map → esm/CustomSuggestionsToggle-YLF12END.js.map} +1 -1
- package/dist/esm/{FieldControlStateWrapper-CsCnsDKf.js → FieldControlStateWrapper-DlhKEQYv.js} +1 -1
- package/dist/{kolibri/FieldControlStateWrapper-CsCnsDKf.js.map → esm/FieldControlStateWrapper-DlhKEQYv.js.map} +1 -1
- package/dist/esm/{FormFieldStateWrapper-JzdOEGUS.js → FormFieldStateWrapper-CGvaBC47.js} +1 -1
- package/dist/{kolibri/FormFieldStateWrapper-JzdOEGUS.js.map → esm/FormFieldStateWrapper-CGvaBC47.js.map} +1 -1
- package/dist/esm/{Heading-Bx4SwJcX.js → Heading-BPYmDTUk.js} +1 -1
- package/dist/{cjs/Heading-Bc6J6UAU.js.map → esm/Heading-BPYmDTUk.js.map} +1 -1
- package/dist/esm/Icon-CPJLro7v.js +4 -0
- package/dist/esm/{Icon-B4HuRse0.js.map → Icon-CPJLro7v.js.map} +1 -1
- package/dist/esm/Input-DjC4bpJ5.js +4 -0
- package/dist/{kolibri/Input-Bfru3WQI.js.map → esm/Input-DjC4bpJ5.js.map} +1 -1
- package/dist/esm/{InputStateWrapper-DHAUSNAA.js → InputStateWrapper-C2VyGe6a.js} +1 -1
- package/dist/esm/{InputStateWrapper-DHAUSNAA.js.map → InputStateWrapper-C2VyGe6a.js.map} +1 -1
- package/dist/esm/InternalUnderlinedBadgeText-Cx9AyLre.js +4 -0
- package/dist/esm/{InternalUnderlinedBadgeText-uelJXiTq.js.map → InternalUnderlinedBadgeText-Cx9AyLre.js.map} +1 -1
- package/dist/esm/{Span-BRnL3F2G.js → Span-BebyS5Q1.js} +1 -1
- package/dist/esm/{Span-BRnL3F2G.js.map → Span-BebyS5Q1.js.map} +1 -1
- package/dist/esm/{app-globals-DHfxkIVm.js → app-globals-CESfn_CS.js} +1 -1
- package/dist/esm/{app-globals-DHfxkIVm.js.map → app-globals-CESfn_CS.js.map} +1 -1
- package/dist/esm/{associated.controller-BBBKf7S0.js → associated.controller-BVXWSO2G.js} +1 -1
- package/dist/esm/{associated.controller-BBBKf7S0.js.map → associated.controller-BVXWSO2G.js.map} +1 -1
- package/dist/esm/bootstrap-YDZ8Qb_h.js +4 -0
- package/dist/esm/bootstrap-YDZ8Qb_h.js.map +1 -0
- package/dist/esm/{controller-DzWd1W_P.js → controller-BhAbvioO.js} +1 -1
- package/dist/esm/{controller-DzWd1W_P.js.map → controller-BhAbvioO.js.map} +1 -1
- package/dist/esm/{controller-DYOqWrFp.js → controller-DOh6Y7if.js} +1 -1
- package/dist/esm/{controller-DYOqWrFp.js.map → controller-DOh6Y7if.js.map} +1 -1
- package/dist/esm/{controller-B3yN4MUJ.js → controller-DR6tEetQ.js} +1 -1
- package/dist/esm/{controller-B3yN4MUJ.js.map → controller-DR6tEetQ.js.map} +1 -1
- package/dist/esm/{controller-icon-BQ1Jj9uA.js → controller-icon-Dak8u7ck.js} +1 -1
- package/dist/{kolibri/controller-icon-BQ1Jj9uA.js.map → esm/controller-icon-Dak8u7ck.js.map} +1 -1
- package/dist/esm/{dev.utils-C5gRSnou.js → dev.utils-CMSYtmAz.js} +1 -1
- package/dist/esm/{dev.utils-C5gRSnou.js.map → dev.utils-CMSYtmAz.js.map} +1 -1
- package/dist/esm/{devtools-o8Bbxfop.js → devtools-CDwLKwYR.js} +1 -1
- package/dist/esm/{devtools-o8Bbxfop.js.map → devtools-CDwLKwYR.js.map} +1 -1
- package/dist/esm/{index-DeYD98_2.js → index-BRWth_lT.js} +1 -1
- package/dist/esm/{index-DeYD98_2.js.map → index-BRWth_lT.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-wc.entry.js +1 -1
- package/dist/esm/kol-button.entry.js +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-combobox.entry.js +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-drawer.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +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-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +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-popover-button-wc.entry.js +1 -1
- package/dist/esm/kol-popover-button.entry.js +1 -1
- package/dist/esm/kol-popover-wc.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-single-select.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateless.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toolbar.entry.js +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-wc.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/kolibri/{Alert-CSRc8Vlr.js → Alert-C9KodDn-.js} +1 -1
- package/dist/{esm/Alert-CSRc8Vlr.js.map → kolibri/Alert-C9KodDn-.js.map} +1 -1
- package/dist/kolibri/{Collapsible--TI2kjff.js → Collapsible-DFegUHMu.js} +1 -1
- package/dist/kolibri/{Collapsible--TI2kjff.js.map → Collapsible-DFegUHMu.js.map} +1 -1
- package/dist/kolibri/{CustomSuggestionsToggle-uDye4Uns.js → CustomSuggestionsToggle-YLF12END.js} +1 -1
- package/dist/{esm/CustomSuggestionsToggle-uDye4Uns.js.map → kolibri/CustomSuggestionsToggle-YLF12END.js.map} +1 -1
- package/dist/kolibri/FieldControlStateWrapper-DlhKEQYv.js +4 -0
- package/dist/{esm/FieldControlStateWrapper-CsCnsDKf.js.map → kolibri/FieldControlStateWrapper-DlhKEQYv.js.map} +1 -1
- package/dist/kolibri/{FormFieldStateWrapper-JzdOEGUS.js → FormFieldStateWrapper-CGvaBC47.js} +1 -1
- package/dist/{esm/FormFieldStateWrapper-JzdOEGUS.js.map → kolibri/FormFieldStateWrapper-CGvaBC47.js.map} +1 -1
- package/dist/kolibri/{Heading-Bx4SwJcX.js → Heading-BPYmDTUk.js} +1 -1
- package/dist/{esm/Heading-Bx4SwJcX.js.map → kolibri/Heading-BPYmDTUk.js.map} +1 -1
- package/dist/kolibri/Icon-CPJLro7v.js +4 -0
- package/dist/kolibri/{Icon-B4HuRse0.js.map → Icon-CPJLro7v.js.map} +1 -1
- package/dist/kolibri/Input-DjC4bpJ5.js +4 -0
- package/dist/{esm/Input-Bfru3WQI.js.map → kolibri/Input-DjC4bpJ5.js.map} +1 -1
- package/dist/kolibri/{InputStateWrapper-DHAUSNAA.js → InputStateWrapper-C2VyGe6a.js} +1 -1
- package/dist/kolibri/{InputStateWrapper-DHAUSNAA.js.map → InputStateWrapper-C2VyGe6a.js.map} +1 -1
- package/dist/kolibri/{InternalUnderlinedBadgeText-uelJXiTq.js → InternalUnderlinedBadgeText-Cx9AyLre.js} +1 -1
- package/dist/kolibri/{InternalUnderlinedBadgeText-uelJXiTq.js.map → InternalUnderlinedBadgeText-Cx9AyLre.js.map} +1 -1
- package/dist/kolibri/{Span-BRnL3F2G.js → Span-BebyS5Q1.js} +1 -1
- package/dist/kolibri/{Span-BRnL3F2G.js.map → Span-BebyS5Q1.js.map} +1 -1
- package/dist/kolibri/{app-globals-DHfxkIVm.js → app-globals-CESfn_CS.js} +1 -1
- package/dist/kolibri/{app-globals-DHfxkIVm.js.map → app-globals-CESfn_CS.js.map} +1 -1
- package/dist/kolibri/{associated.controller-BBBKf7S0.js → associated.controller-BVXWSO2G.js} +1 -1
- package/dist/kolibri/{associated.controller-BBBKf7S0.js.map → associated.controller-BVXWSO2G.js.map} +1 -1
- package/dist/kolibri/bootstrap-YDZ8Qb_h.js +4 -0
- package/dist/kolibri/bootstrap-YDZ8Qb_h.js.map +1 -0
- package/dist/kolibri/{controller-DzWd1W_P.js → controller-BhAbvioO.js} +1 -1
- package/dist/kolibri/{controller-DzWd1W_P.js.map → controller-BhAbvioO.js.map} +1 -1
- package/dist/kolibri/{controller-DYOqWrFp.js → controller-DOh6Y7if.js} +1 -1
- package/dist/kolibri/{controller-DYOqWrFp.js.map → controller-DOh6Y7if.js.map} +1 -1
- package/dist/kolibri/{controller-B3yN4MUJ.js → controller-DR6tEetQ.js} +1 -1
- package/dist/kolibri/{controller-B3yN4MUJ.js.map → controller-DR6tEetQ.js.map} +1 -1
- package/dist/kolibri/{controller-icon-BQ1Jj9uA.js → controller-icon-Dak8u7ck.js} +1 -1
- package/dist/{esm/controller-icon-BQ1Jj9uA.js.map → kolibri/controller-icon-Dak8u7ck.js.map} +1 -1
- package/dist/kolibri/{dev.utils-C5gRSnou.js → dev.utils-CMSYtmAz.js} +1 -1
- package/dist/kolibri/{dev.utils-C5gRSnou.js.map → dev.utils-CMSYtmAz.js.map} +1 -1
- package/dist/kolibri/{devtools-o8Bbxfop.js → devtools-CDwLKwYR.js} +1 -1
- package/dist/kolibri/{devtools-o8Bbxfop.js.map → devtools-CDwLKwYR.js.map} +1 -1
- package/dist/kolibri/{index-DeYD98_2.js → index-BRWth_lT.js} +1 -1
- package/dist/kolibri/{index-DeYD98_2.js.map → index-BRWth_lT.js.map} +1 -1
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-card-wc.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +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.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/types/functional-components/Heading/Heading.d.ts +2 -1
- package/package.json +1 -1
- package/dist/cjs/Input-CPvmrua5.js +0 -4
- package/dist/cjs/bootstrap-CKtJWjuP.js +0 -4
- package/dist/cjs/bootstrap-CKtJWjuP.js.map +0 -1
- package/dist/esm/Icon-B4HuRse0.js +0 -4
- package/dist/esm/Input-Bfru3WQI.js +0 -4
- package/dist/esm/InternalUnderlinedBadgeText-uelJXiTq.js +0 -4
- package/dist/esm/bootstrap-B_0ftOOI.js +0 -4
- package/dist/esm/bootstrap-B_0ftOOI.js.map +0 -1
- package/dist/kolibri/FieldControlStateWrapper-CsCnsDKf.js +0 -4
- package/dist/kolibri/Icon-B4HuRse0.js +0 -4
- package/dist/kolibri/Input-Bfru3WQI.js +0 -4
- package/dist/kolibri/bootstrap-B_0ftOOI.js +0 -4
- package/dist/kolibri/bootstrap-B_0ftOOI.js.map +0 -1
package/dist/kolibri/{InputStateWrapper-DHAUSNAA.js.map → InputStateWrapper-C2VyGe6a.js.map}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InputStateWrapper-
|
1
|
+
{"version":3,"file":"InputStateWrapper-C2VyGe6a.js","sources":["src/functional-components/Suggestions/Suggestions.tsx","src/functional-component-wrappers/InputStateWrapper/InputStateWrapper.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../schema';\n\nexport type SuggestionsProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\nconst SuggestionsFc: FC<SuggestionsProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={`${id}-list`} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\nexport default SuggestionsFc;\n","import type { VNode } from '@stencil/core';\nimport { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolInputFc, { type InputProps } from '../../functional-components/inputs/Input';\n\nimport {\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InputCheckboxStates,\n\ttype InputRadioStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\nimport { getRenderStates } from '../_helpers/getRenderStates';\nimport SuggestionsFc from '../../functional-components/Suggestions';\n\ntype InputState =\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates\n\t| InputCheckboxStates\n\t| InputRadioStates;\n\nexport type InputStateWrapperProps = Partial<InputProps> & {\n\tstate: InputState;\n\tcustomSuggestions?: boolean;\n};\n\n/**\n * @param state\n * @param other\n * @param customSuggestions - Set to true when a custom implementation for _suggestions is provided. Omits the native datalist.\n */\nfunction getInputProps(state: InputState, other: Partial<InputProps>, customSuggestions?: boolean): InputProps {\n\tconst renderStates = getRenderStates(state);\n\tconst ariaDescribedBy = [...renderStates.ariaDescribedBy, ...(other.ariaDescribedBy ?? [])];\n\n\tconst props: InputProps = {\n\t\tid: state._id,\n\t\thideLabel: state._hideLabel,\n\t\tlabel: state._label,\n\t\tdisabled: state._disabled,\n\t\tname: state._name,\n\t};\n\n\tif ('_accessKey' in state) props.accessKey = state._accessKey;\n\tif ('_type' in state) props.type = state._type;\n\tif ('_value' in state) props.value = state._value as string | number | string[];\n\tif ('_required' in state) props.required = state._required;\n\tif ('_maxLength' in state && '_maxLengthBehavior' in state && state._maxLengthBehavior === 'hard') props.maxlength = state._maxLength;\n\tif ('_placeholder' in state) props.placeholder = state._placeholder;\n\tif ('_autoComplete' in state) props.autoComplete = state._autoComplete;\n\tif ('_spellCheck' in state) props.spellcheck = state._spellCheck;\n\tif ('_pattern' in state) props.pattern = state._pattern;\n\tif ('_readOnly' in state) props.readonly = state._readOnly;\n\tif ('_min' in state) props.min = state._min;\n\tif ('_max' in state) props.max = state._max;\n\tif ('_step' in state) props.step = state._step;\n\tif ('_multiple' in state) props.multiple = state._multiple;\n\tif ('_checked' in state) props.checked = state._checked;\n\tif ('_indeterminate' in state) props.indeterminate = state._indeterminate;\n\tif ('_touched' in state) props.touched = state._touched;\n\tif ('_msg' in state) props.msg = convertMsgToInternMsg(state._msg);\n\n\tif ('_suggestions' in state && !customSuggestions) {\n\t\tconst hasSuggestions = Array.isArray(state._suggestions) && state._suggestions.length > 0;\n\t\tif (hasSuggestions) {\n\t\t\tprops.suggestions = (<SuggestionsFc id={state._id} suggestions={state._suggestions} />) as VNode;\n\t\t}\n\t}\n\n\treturn {\n\t\t...props,\n\t\t...other,\n\t\tariaDescribedBy,\n\t};\n}\n\nconst InputStateWrapper: FC<InputStateWrapperProps> = ({ state, customSuggestions, ...other }) => {\n\treturn <KolInputFc {...getInputProps(state, other, customSuggestions)} />;\n};\n\nexport default InputStateWrapper;\n"],"names":["KolInputFc"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{a as t,b as n,c as
|
4
|
+
import{a as t,b as n,c as l}from"./isObject-DvSELytj.js";import{h as r,F as s}from"./index-BRWth_lT.js";var e="[object String]";function a(s){return"string"==typeof s||!n(s)&&t(s)&&l(s)==e}const i=({badgeText:t,label:e})=>{const l=t;let[n,...a]=e.split(l);return 0===a.length&&(t=l.toUpperCase(),[n,...a]=e.split(l)),0===a.length&&(t=l.toLowerCase(),[n,...a]=e.split(l)),r(s,null,n,a.length?r(s,null,r("u",null,t),a.join(l)):null)};export{i as K,a as i};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InternalUnderlinedBadgeText-
|
1
|
+
{"version":3,"file":"InternalUnderlinedBadgeText-Cx9AyLre.js","sources":["../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isString.js","src/functional-components/InternalUnderlinedBadgeText/InternalUnderlinedBadgeText.tsx"],"sourcesContent":["import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { BadgeTextPropType } from '../../schema';\n\ntype InternalUnderlinedBadgeTextProps = {\n\tbadgeText: BadgeTextPropType;\n\tlabel: string;\n};\n\nconst KolInternalUnderlinedBadgeTextFc: FC<InternalUnderlinedBadgeTextProps> = ({ badgeText, label }) => {\n\t/* Prefer capitalization as defined in the badge Text, try uppercase/lowercase when there's no match. */\n\tconst badgeTextAsString: string = badgeText;\n\tlet [first, ...rest] = label.split(badgeTextAsString);\n\tif (rest.length === 0) {\n\t\tbadgeText = badgeTextAsString.toUpperCase();\n\t\t[first, ...rest] = label.split(badgeTextAsString);\n\t}\n\tif (rest.length === 0) {\n\t\tbadgeText = badgeTextAsString.toLowerCase();\n\t\t[first, ...rest] = label.split(badgeTextAsString);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{first}\n\t\t\t{rest.length ? (\n\t\t\t\t<>\n\t\t\t\t\t<u>{badgeText}</u>\n\t\t\t\t\t{rest.join(badgeTextAsString)}\n\t\t\t\t</>\n\t\t\t) : null}\n\t\t</>\n\t);\n};\n\nexport default KolInternalUnderlinedBadgeTextFc;\n"],"names":[],"mappings":";;;;;;AAIA;AACA,IAAI,SAAS,GAAG,iBAAiB;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,OAAO,OAAO,KAAK,IAAI,QAAQ;AACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AAC9E;;ACnBM,MAAA,gCAAgC,GAAyC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAI;IAEvG,MAAM,iBAAiB,GAAW,SAAS;AAC3C,IAAA,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;AACrD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE;AAC3C,QAAA,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;;AAElD,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE;AAC3C,QAAA,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;;AAElD,IAAA,QACC,CAAA,CAAA,QAAA,EAAA,IAAA;QACE,KAAK;AACL,QAAA,IAAI,CAAC,MAAM,IACX,CAAA,CAAA,QAAA,EAAA,IAAA;AACC,YAAA,CAAA,CAAA,GAAA,EAAA,IAAA,EAAI,SAAS,CAAK;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAC3B,IACA,IAAI,CACN;AAEL;;;;","x_google_ignoreList":[0]}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{_ as l}from"./Heading-
|
4
|
+
import{_ as l}from"./Heading-BPYmDTUk.js";import{h as e,F as a}from"./index-BRWth_lT.js";import{c as s}from"./clsx-eK3rPvPS.js";import{K as n}from"./Icon-CPJLro7v.js";import"./common-zXZUsQ7l.js";import{s as t}from"./reuse-CX4AQDkS.js";import{m as o}from"./markdown-BJ3cxn6B.js";import{i as r,K as i}from"./InternalUnderlinedBadgeText-Cx9AyLre.js";import{i as c}from"./isObject-DvSELytj.js";const d=a=>{const{class:l,style:o,label:t,icon:r}=a;return e(n,{class:s("icon",l),style:o,label:t||"",icons:r})},b=({label:a,hideLabel:l,allowMarkdown:n,badgeText:t})=>{if(l||!r(a))return null;const c="kol-span__label";return n?e("span",{class:s(c,"md"),innerHTML:o(a)}):e("span",{class:s(c)},t?e(i,{label:a,badgeText:t}):a)},m=({hideLabel:s,label:l,badgeText:n,allowMarkdown:o},i)=>{const c=!t(l);return e(a,null,c&&e(b,{label:l,hideLabel:s,badgeText:n,allowMarkdown:o}),e("span",{"aria-hidden":c?"true":void 0,class:"kol-span__label",hidden:c},i),r(n)&&n.length>0&&e("kbd",{class:"badge-text-hint","aria-hidden":"true"},n))},p=(a,n)=>{const{class:o,label:t,hideLabel:i=!1,badgeText:b,allowMarkdown:p,icons:g}=a,h=l(a,["class","label","hideLabel","badgeText","allowMarkdown","icons"]);let j=null,k=null,u=null,x=null;return c(g)?(j=g.top,k=g.left,u=g.right,x=g.bottom):r(g)&&(k={icon:g}),e("span",Object.assign({class:s("kol-span",{"kol-span--hide-label":i},o)},h),c(j)&&e(d,Object.assign({class:"top"},j)),e("span",{class:"kol-span__container"},c(k)&&e(d,Object.assign({class:"left"},k)),e(m,{label:t,hideLabel:i,allowMarkdown:p,badgeText:b},n),c(u)&&e(d,Object.assign({class:"right"},u))),c(x)&&e(d,Object.assign({class:"bottom"},x)))};export{p as K};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Span-
|
1
|
+
{"version":3,"file":"Span-BebyS5Q1.js","sources":["src/functional-components/Span/IconHelper.tsx","src/functional-components/Span/LabelHelper.tsx","src/functional-components/Span/SpanCoreHelper.tsx","src/functional-components/Span/Span.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport type { KoliBriCustomIcon } from '../../schema';\nimport KolIconFc from '../Icon';\n\nconst IconHelper: FC<KoliBriCustomIcon & { class?: string }> = (props) => {\n\tconst { class: classNames, style, label, icon } = props;\n\n\treturn <KolIconFc class={clsx('icon', classNames)} style={style} label={label || ''} icons={icon} />;\n};\n\nexport default IconHelper;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\nimport { isString } from 'lodash-es';\n\nimport { md } from '../../utils/markdown';\nimport KolInternalUnderlinedBadgeTextFc from '../InternalUnderlinedBadgeText';\n\nconst LabelHelper: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = ({\n\tlabel,\n\thideLabel,\n\tallowMarkdown,\n\tbadgeText,\n}) => {\n\tif (hideLabel || !isString(label)) {\n\t\treturn null;\n\t}\n\n\tconst defaultClasses = 'kol-span__label';\n\n\tif (allowMarkdown) {\n\t\treturn <span class={clsx(defaultClasses, 'md')} innerHTML={md(label)} />;\n\t}\n\n\tif (badgeText) {\n\t\treturn (\n\t\t\t<span class={clsx(defaultClasses)}>\n\t\t\t\t<KolInternalUnderlinedBadgeTextFc label={label} badgeText={badgeText} />\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span class={clsx(defaultClasses)}>{label}</span>;\n};\n\nexport default LabelHelper;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport { isString } from 'lodash-es';\n\nimport { showExpertSlot } from '../../schema';\nimport LabelHelper from './LabelHelper';\n\nconst KolSpanCoreHelperFc: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = (\n\t{ hideLabel, label, badgeText, allowMarkdown },\n\tchildren,\n) => {\n\tconst hideExpertSlot = !showExpertSlot(label);\n\n\treturn (\n\t\t<>\n\t\t\t{hideExpertSlot && <LabelHelper label={label} hideLabel={hideLabel} badgeText={badgeText} allowMarkdown={allowMarkdown} />}\n\t\t\t<span aria-hidden={hideExpertSlot ? 'true' : undefined} class=\"kol-span__label\" hidden={hideExpertSlot}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t\t{isString(badgeText) && badgeText.length > 0 && (\n\t\t\t\t<kbd class=\"badge-text-hint\" aria-hidden=\"true\">\n\t\t\t\t\t{badgeText}\n\t\t\t\t</kbd>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default KolSpanCoreHelperFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { isString, isObject } from 'lodash-es';\n\nimport { type BadgeTextPropType, type HideLabelPropType, type IconOrIconClass, type KoliBriIconsProp, type LabelWithExpertSlotPropType } from '../../schema';\n\nimport IconHelper from './IconHelper';\nimport SpanCoreHelper from './SpanCoreHelper';\n\ntype IconType = IconOrIconClass | undefined | null;\n\nexport type SpanProps = JSXBase.HTMLAttributes<HTMLSpanElement> & {\n\tlabel: LabelWithExpertSlotPropType;\n\tbadgeText?: BadgeTextPropType;\n\tallowMarkdown?: boolean;\n\ticons?: KoliBriIconsProp;\n\thideLabel?: HideLabelPropType;\n};\n\nconst KolSpanFc: FC<SpanProps> = (props, children) => {\n\tconst { class: classNames, label, hideLabel = false, badgeText, allowMarkdown, icons, ...other } = props;\n\tlet topIconProps: IconType = null;\n\tlet leftIconProps: IconType = null;\n\tlet rightIconProps: IconType = null;\n\tlet bottomIconProps: IconType = null;\n\n\tif (isObject(icons)) {\n\t\ttopIconProps = icons.top;\n\t\tleftIconProps = icons.left;\n\t\trightIconProps = icons.right;\n\t\tbottomIconProps = icons.bottom;\n\t} else if (isString(icons)) {\n\t\tleftIconProps = {\n\t\t\ticon: icons,\n\t\t};\n\t}\n\n\treturn (\n\t\t<span class={clsx('kol-span', { 'kol-span--hide-label': hideLabel }, classNames)} {...other}>\n\t\t\t{isObject(topIconProps) && <IconHelper class=\"top\" {...topIconProps} />}\n\t\t\t<span class=\"kol-span__container\">\n\t\t\t\t{isObject(leftIconProps) && <IconHelper class=\"left\" {...leftIconProps} />}\n\t\t\t\t<SpanCoreHelper label={label} hideLabel={hideLabel} allowMarkdown={allowMarkdown} badgeText={badgeText}>\n\t\t\t\t\t{children}\n\t\t\t\t</SpanCoreHelper>\n\t\t\t\t{isObject(rightIconProps) && <IconHelper class=\"right\" {...rightIconProps} />}\n\t\t\t</span>\n\t\t\t{isObject(bottomIconProps) && <IconHelper class=\"bottom\" {...bottomIconProps} />}\n\t\t</span>\n\t);\n};\n\nexport default KolSpanFc;\n"],"names":["SpanCoreHelper"],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{L as o,n as t,b as s}from"./common-zXZUsQ7l.js";import{a}from"./index-
|
4
|
+
import{L as o,n as t,b as s}from"./common-zXZUsQ7l.js";import{a}from"./index-BRWth_lT.js";var n=()=>{a(o=>{try{o.shadowRoot instanceof ShadowRoot&&t(o,s(o))}catch(o){}return"default"}),import("./devtools-CDwLKwYR.js").then(o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()}).catch(t=>{o.error(t)})};const r=n;export{r as g};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"app-globals-
|
1
|
+
{"version":3,"file":"app-globals-CESfn_CS.js","sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\n\nimport { Log } from '../schema';\nimport { setMode } from '@stencil/core';\n\nexport default () => {\n\tsetMode((elm) => {\n\t\ttry {\n\t\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t\treturn 'default';\n\t});\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \"\";\n"],"names":["setThemeStyle","getThemeDetails"],"mappings":";;;;;;AAKA,sBAAe,MAAK;AACnB,IAAA,OAAO,CAAC,CAAC,GAAG,KAAI;AACf,QAAA,IAAI;AACH,YAAA,IAAI,GAAG,CAAC,UAAU,YAAY,UAAU,EAAE;gBACzCA,EAAa,CAAC,GAAG,EAAEC,CAAe,CAAC,GAAG,CAAC,CAAC;;;QAExC,OAAO,KAAK,EAAE;;AAOhB,QAAA,OAAO,SAAS;AACjB,KAAC,CAAC;IAEF,OAAO,wBAAY;AACjB,SAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;AAClB,QAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;YACnG,QAAQ,CAAC,UAAU,EAAE;;AAEvB,KAAC;AACA,SAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AAChB,QAAA,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;AACjB,KAAC,CAAC;AACJ,CAAC;;AC7BW,MAAC,aAAa,GAAG;;;;"}
|
package/dist/kolibri/{associated.controller-BBBKf7S0.js → associated.controller-BVXWSO2G.js}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{e as t,J as e,j as i,u as s}from"./common-zXZUsQ7l.js";import{g as o}from"./bootstrap-
|
4
|
+
import{e as t,J as e,j as i,u as s}from"./common-zXZUsQ7l.js";import{g as o}from"./bootstrap-YDZ8Qb_h.js";const a=(e,s,i)=>{t(e,"_name",s,i)},n=t=>"KOL-BUTTON"===t||"KOL-COMBOBOX"===t||"KOL-INPUT-CHECKBOX"===t||"KOL-INPUT-COLOR"===t||"KOL-INPUT-DATE"===t||"KOL-INPUT-EMAIL"===t||"KOL-INPUT-FILE"===t||"KOL-INPUT-NUMBER"===t||"KOL-INPUT-PASSWORD"===t||"KOL-INPUT-RADIO"===t||"KOL-INPUT-RANGE"===t||"KOL-INPUT-TEXT"===t||"KOL-SELECT"===t||"KOL-SINGLE-SELECT"===t||"KOL-TEXTAREA"===t;class l{constructor(t,s,a){var r,l,c,u;if(this.experimentalMode=e(),this.setFormAssociatedValue=t=>{var e;const s=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==s&&""!==s||i(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);const o=this.tryToStringifyValue(t);this.syncValue(t,o,this.formAssociated),this.syncValue(t,o,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(a),this.type=s,(null===(r=o())||void 0===r?void 0:r.reflectInputValues)&&n(null===(l=this.host)||void 0===l?void 0:l.tagName)&&t._name){switch(null===(c=this.host)||void 0===c||c.querySelectorAll("input,select,textarea").forEach(t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)}),this.type){case"button":case"color":case"date":case"email":case"file":case"number":case"password":case"radio":case"range":case"text":this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type",this.type);break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(u=this.host)||void 0===u||u.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,s){if(this.experimentalMode)try{if("boolean"!=typeof(s="object"==typeof s&&null!==s?JSON.stringify(s):s)&&"number"!=typeof s&&"string"!=typeof s)throw new Error("Invalid value type: "+typeof s);null==e||e.setAttribute(t,`${s}`)}catch(s){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return s(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,s){if(s)switch(this.type){case"file":s.files=t;break;case"select":s.querySelectorAll("option").forEach(t=>{s.removeChild(t)}),Array.isArray(t)&&t.forEach(t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),s.appendChild(t)}});break;case"radio":"string"==typeof e&&(s.setAttribute("value",e),s.setAttribute("checked",""),s.value=e);break;default:"string"==typeof e?(s.setAttribute("value",e),s.value=e):(s.removeAttribute("value"),s.value="")}}validateName(t){a(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&i("A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.")}validateSyncValueBySelector(t){if(this.experimentalMode&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}export{l as A};
|
package/dist/kolibri/{associated.controller-BBBKf7S0.js.map → associated.controller-BVXWSO2G.js.map}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"associated.controller-BBBKf7S0.js","sources":["src/schema/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchStringOptions } from '../utils';\nimport { watchString } from '../utils';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import type { NamePropType, PropSyncValueBySelector, StencilUnknown, SyncValueBySelectorPropType } from '../../schema';\nimport { devHint, devWarning, getExperimentalMode, validateName } from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { getOptions } from '../../core/bootstrap';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\ntype HTMLInputFileElement = HTMLInputElement & {\n\tfiles: FileList;\n};\n\nconst isAssociatedTagName = (name?: string): boolean =>\n\tname === 'KOL-BUTTON' ||\n\tname === 'KOL-COMBOBOX' ||\n\tname === 'KOL-INPUT-CHECKBOX' ||\n\tname === 'KOL-INPUT-COLOR' ||\n\tname === 'KOL-INPUT-DATE' ||\n\tname === 'KOL-INPUT-EMAIL' ||\n\tname === 'KOL-INPUT-FILE' ||\n\tname === 'KOL-INPUT-NUMBER' ||\n\tname === 'KOL-INPUT-PASSWORD' ||\n\tname === 'KOL-INPUT-RADIO' ||\n\tname === 'KOL-INPUT-RANGE' ||\n\tname === 'KOL-INPUT-TEXT' ||\n\tname === 'KOL-SELECT' ||\n\tname === 'KOL-SINGLE-SELECT' ||\n\tname === 'KOL-TEXTAREA';\n\nexport class AssociatedInputController implements Watches {\n\tprivate readonly experimentalMode = getExperimentalMode();\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly type: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, type: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.type = type;\n\n\t\tif (getOptions()?.reflectInputValues && isAssociatedTagName(this.host?.tagName) && component._name) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'button':\n\t\t\t\tcase 'color':\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'email':\n\t\t\t\tcase 'file':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'range':\n\t\t\t\tcase 'text':\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', this.type);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'checkbox': // Checkbox uses default case\n\t\t\t\tcase 'single-select': // SingleSelect uses default case\n\t\t\t\tcase 'combobox': // Combobox uses default case\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (this.experimentalMode) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'file':\n\t\t\t\t\t(associatedElement as HTMLInputFileElement).files = rawValue as FileList;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'radio':\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.setAttribute('checked', '');\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.`,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (this.experimentalMode && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"associated.controller-BVXWSO2G.js","sources":["src/schema/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchStringOptions } from '../utils';\nimport { watchString } from '../utils';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import type { NamePropType, PropSyncValueBySelector, StencilUnknown, SyncValueBySelectorPropType } from '../../schema';\nimport { devHint, devWarning, getExperimentalMode, validateName } from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { getOptions } from '../../core/bootstrap';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\ntype HTMLInputFileElement = HTMLInputElement & {\n\tfiles: FileList;\n};\n\nconst isAssociatedTagName = (name?: string): boolean =>\n\tname === 'KOL-BUTTON' ||\n\tname === 'KOL-COMBOBOX' ||\n\tname === 'KOL-INPUT-CHECKBOX' ||\n\tname === 'KOL-INPUT-COLOR' ||\n\tname === 'KOL-INPUT-DATE' ||\n\tname === 'KOL-INPUT-EMAIL' ||\n\tname === 'KOL-INPUT-FILE' ||\n\tname === 'KOL-INPUT-NUMBER' ||\n\tname === 'KOL-INPUT-PASSWORD' ||\n\tname === 'KOL-INPUT-RADIO' ||\n\tname === 'KOL-INPUT-RANGE' ||\n\tname === 'KOL-INPUT-TEXT' ||\n\tname === 'KOL-SELECT' ||\n\tname === 'KOL-SINGLE-SELECT' ||\n\tname === 'KOL-TEXTAREA';\n\nexport class AssociatedInputController implements Watches {\n\tprivate readonly experimentalMode = getExperimentalMode();\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly type: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, type: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.type = type;\n\n\t\tif (getOptions()?.reflectInputValues && isAssociatedTagName(this.host?.tagName) && component._name) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'button':\n\t\t\t\tcase 'color':\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'email':\n\t\t\t\tcase 'file':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'range':\n\t\t\t\tcase 'text':\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', this.type);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'checkbox': // Checkbox uses default case\n\t\t\t\tcase 'single-select': // SingleSelect uses default case\n\t\t\t\tcase 'combobox': // Combobox uses default case\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (this.experimentalMode) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'file':\n\t\t\t\t\t(associatedElement as HTMLInputFileElement).files = rawValue as FileList;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'radio':\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.setAttribute('checked', '');\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.`,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (this.experimentalMode && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAgBO,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB,EAAE,OAA4B,KAAU;IAC9H,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;AAChD,CAAC;;ACDD,MAAM,mBAAmB,GAAG,CAAC,IAAa,KACzC,IAAI,KAAK,YAAY;AACrB,IAAA,IAAI,KAAK,cAAc;AACvB,IAAA,IAAI,KAAK,oBAAoB;AAC7B,IAAA,IAAI,KAAK,iBAAiB;AAC1B,IAAA,IAAI,KAAK,gBAAgB;AACzB,IAAA,IAAI,KAAK,iBAAiB;AAC1B,IAAA,IAAI,KAAK,gBAAgB;AACzB,IAAA,IAAI,KAAK,kBAAkB;AAC3B,IAAA,IAAI,KAAK,oBAAoB;AAC7B,IAAA,IAAI,KAAK,iBAAiB;AAC1B,IAAA,IAAI,KAAK,iBAAiB;AAC1B,IAAA,IAAI,KAAK,gBAAgB;AACzB,IAAA,IAAI,KAAK,YAAY;AACrB,IAAA,IAAI,KAAK,mBAAmB;IAC5B,IAAI,KAAK,cAAc;MAEX,yBAAyB,CAAA;AAUrC,IAAA,WAAA,CAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB,EAAA;;QAThF,IAAgB,CAAA,gBAAA,GAAG,mBAAmB,EAAE;AAwGzC,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,QAAwB,KAAI;;YACrE,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,YAAY,CAAC,MAAM,CAAC;YACtD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;AACjC,gBAAA,OAAO,CAAC,CAAoB,iBAAA,EAAA,IAAI,CAAC,IAAI,CAAA,sFAAA,CAAwF,CAAC;;YAE/H,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;AACxD,SAAC;AAtGA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;AAC7C,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAEhB,IAAI,CAAA,MAAA,UAAU,EAAE,0CAAE,kBAAkB,KAAI,mBAAmB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE;AACnG,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,uBAAuB,CAAA,CAAE,OAAO,CAAC,CAAC,EAAE,KAAI;;gBACnE,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,WAAW,CAAC,EAAE,CAAC;AAC3B,aAAC,CAAC;AACF,YAAA,QAAQ,IAAI,CAAC,IAAI;AAChB,gBAAA,KAAK,QAAQ;AACb,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,MAAM;AACX,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,MAAM;AACX,gBAAA,KAAK,QAAQ;AACb,gBAAA,KAAK,UAAU;AACf,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,OAAO;AACZ,gBAAA,KAAK,MAAM;oBACV,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;oBACrD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;oBACnD;AACD,gBAAA,KAAK,QAAQ;oBACZ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;oBACtD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;oBAChD;AACD,gBAAA,KAAK,UAAU;oBACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;oBACxD;AACD,gBAAA,KAAK,UAAU;AACf,gBAAA,KAAK,eAAe;AACpB,gBAAA,KAAK,UAAU;AACf,gBAAA;oBACC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;oBACrD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;;YAEpD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC5D,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9C,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;;;AAQrC,IAAA,sBAAsB,CAAC,IAAkB,EAAA;AAChD,QAAA,OAAO,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,UAAU,MAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;YAC3D,IAAI,GAAG,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,UAAyB;AACtC,YAAA,IAAK,IAA8B,CAAC,IAAI,EAAE;AACzC,gBAAA,IAAI,GAAI,IAA8B,CAAC,IAAmB;;;AAG5D,QAAA,OAAO,IAAI;;AAGF,IAAA,YAAY,CAAC,aAAqB,EAAE,OAAqB,EAAE,KAAiC,EAAA;AACrG,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,IAAI;gBACH,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK;AACnF,gBAAA,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACzF,oBAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,YAAY,CAAC,aAAa,EAAE,CAAA,EAAG,KAAe,CAAA,CAAE,CAAC;;qBACpD;oBACN,MAAM,IAAI,KAAK,CAAC,CAAA,oBAAA,EAAuB,OAAO,KAAK,CAAA,CAAE,CAAC;;;YAEtD,OAAO,CAAC,EAAE;gBACX,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,eAAe,CAAC,aAAa,CAAC;;;;AAclC,IAAA,mBAAmB,CAAC,KAAqB,EAAA;AAChD,QAAA,IAAI;AACH,YAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE;;QACtJ,OAAO,CAAC,EAAE;AACX,YAAA,UAAU,CAAC,CAAA,mDAAA,EAAsD,CAAW,CAAA,CAAE,CAAC;AAC/E,YAAA,OAAO,EAAE;;;AAmBH,IAAA,SAAS,CAChB,QAAwB,EACxB,QAAuB,EACvB,iBAAkG,EAAA;QAElG,IAAI,iBAAiB,EAAE;AACtB,YAAA,QAAQ,IAAI,CAAC,IAAI;AAChB,gBAAA,KAAK,MAAM;AACT,oBAAA,iBAA0C,CAAC,KAAK,GAAG,QAAoB;oBACxE;AACD,gBAAA,KAAK,QAAQ;oBACX,iBAAuC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACjF,wBAAA,iBAAuC,CAAC,WAAW,CAAC,EAAE,CAAC;AACzD,qBAAC,CAAC;AACF,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC5B,wBAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,KAAI;4BACjC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAsB,CAAC;AACrE,4BAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gCACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,gCAAA,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC;AAC1C,gCAAA,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;AAClC,gCAAA,iBAAuC,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE9D,yBAAC,CAAC;;oBAEH;AACD,gBAAA,KAAK,OAAO;AACX,oBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACjC,wBAAA,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;AACjD,wBAAA,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;AAC7C,wBAAA,iBAAiB,CAAC,KAAK,GAAG,QAAQ;;oBAEnC;AACD,gBAAA;AACC,oBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACjC,wBAAA,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;AACjD,wBAAA,iBAAiB,CAAC,KAAK,GAAG,QAAQ;;yBAC5B;AACN,wBAAA,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC;AAC1C,wBAAA,iBAAiB,CAAC,KAAK,GAAG,EAAE;;;;;AAM1B,IAAA,YAAY,CAAC,KAAoB,EAAA;AACvC,QAAA,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;AACnC,YAAA,KAAK,EAAE;gBACN,UAAU,EAAE,MAAK;AAChB,oBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAe,CAAC;iBACpF;AACD,aAAA;AACD,SAAA,CAAC;AACF,QAAA,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YACjC,OAAO,CACN,CAAuK,qKAAA,CAAA,CACvK;;;AAII,IAAA,2BAA2B,CAAC,KAAmC,EAAA;QACrE,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAA+D;YACzG,IAAI,KAAK,EAAwC;AAChD,gBAAA,IAAI,CAAC,cAAc,GAAG,KAAK;;;;IAKvB,iBAAiB,GAAA;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACvC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;;AAEtE;;;;"}
|
@@ -0,0 +1,4 @@
|
|
1
|
+
/*!
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
3
|
+
*/
|
4
|
+
import{v as o,V as n,L as i}from"./common-zXZUsQ7l.js";import{s}from"./component-names-CkE54Ym7.js";import{i as e}from"./i18n-ZF6JbdVP.js";let t,d=!1;const l=async(a,r,l)=>{var m,v;const u="undefined"!=typeof process&&process.env?"production":void 0;o((null==l?void 0:l.environment)||u||"production"),e(null!==(v=null===(m=null==l?void 0:l.translation)||void 0===m?void 0:m.name)&&void 0!==v?v:"de",null==l?void 0:l.translations),(null==l?void 0:l.transformTagName)&&s(null==l?void 0:l.transformTagName);const c=await n(a,r,l);return d=!0,t=l,i.info("Development mode active - Enhanced debugging features available"),c},a=l,v=()=>d,r=()=>t;export{l as b,r as g,v as i,a as r};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bootstrap-YDZ8Qb_h.js","sources":["src/core/bootstrap.ts"],"sourcesContent":["import type { Generic, LoaderCallback, RegisterOptions } from 'adopted-style-sheets';\nimport { register as coreRegister } from 'adopted-style-sheets';\nimport type { Mode } from '../schema';\nimport { Log, setRuntimeMode } from '../schema';\nimport { setCustomTagNames } from './component-names';\nimport { initializeI18n } from './i18n';\n\ntype KoliBriOptions = RegisterOptions & {\n\t/**\n\t * The environment in which the application is running.\n\t */\n\tenvironment?: Mode;\n\t/**\n\t * This option allows you to transform the component tag names.\n\t */\n\ttransformTagName?: (tagName: string) => string;\n\n\t/**\n\t * When enabled, all input fields will reflect their current value to the host element, making it accessible outside the shadow DOM.\n\t */\n\treflectInputValues?: boolean;\n};\n\nlet initialized = false;\nlet options: KoliBriOptions | undefined;\n\nexport const bootstrap = async (\n\tthemes:\n\t\t| Generic.Theming.RegisterPatch<string, string, string>\n\t\t| Generic.Theming.RegisterPatch<string, string, string>[]\n\t\t| Set<Generic.Theming.RegisterPatch<string, string, string>>,\n\tloaders: LoaderCallback | LoaderCallback[] | Set<LoaderCallback>,\n\tkoliBriOptions?: KoliBriOptions,\n): Promise<void[]> => {\n\tconst nodeEnv = typeof process !== 'undefined' && process.env ? (process.env.NODE_ENV as Mode) : undefined;\n\tsetRuntimeMode(koliBriOptions?.environment || nodeEnv || 'production');\n\n\tinitializeI18n(koliBriOptions?.translation?.name ?? 'de', koliBriOptions?.translations);\n\tif (koliBriOptions?.transformTagName) {\n\t\tsetCustomTagNames(koliBriOptions?.transformTagName);\n\t}\n\tconst coreRegisterReturnValue = await coreRegister(themes, loaders, koliBriOptions);\n\tinitialized = true;\n\toptions = koliBriOptions;\n\n\t// Only log development message when actually in development mode\n\tLog.info('Development mode active - Enhanced debugging features available');\n\n\treturn coreRegisterReturnValue;\n};\n\nexport const register = bootstrap;\nexport const isInitialized = () => initialized;\nexport const getOptions = () => options;\n"],"names":["coreRegister"],"mappings":";;;;;;;AAuBA,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,OAAmC;AAEhC,MAAM,SAAS,GAAG,OACxB,MAG6D,EAC7D,OAAgE,EAChE,cAA+B,KACX;;IACpB,MAAM,OAAO,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,GAAI,YAA6B,GAAG,SAAS;AAC1G,IAAA,cAAc,CAAC,CAAA,cAAc,KAAA,IAAA,IAAd,cAAc,KAAd,MAAA,GAAA,MAAA,GAAA,cAAc,CAAE,WAAW,KAAI,OAAO,IAAI,YAAY,CAAC;IAEtE,cAAc,CAAC,MAAA,CAAA,EAAA,GAAA,cAAc,aAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,IAAI,EAAE,cAAc,KAAd,IAAA,IAAA,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAC;IACvF,IAAI,cAAc,aAAd,cAAc,KAAA,MAAA,GAAA,MAAA,GAAd,cAAc,CAAE,gBAAgB,EAAE;QACrC,iBAAiB,CAAC,cAAc,KAAd,IAAA,IAAA,cAAc,uBAAd,cAAc,CAAE,gBAAgB,CAAC;;IAEpD,MAAM,uBAAuB,GAAG,MAAMA,CAAY,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC;IACnF,WAAW,GAAG,IAAI;IAClB,OAAO,GAAG,cAAc;AAGxB,IAAA,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC;AAE3E,IAAA,OAAO,uBAAuB;AAC/B;AAEO,MAAM,QAAQ,GAAG;MACX,aAAa,GAAG,MAAM;MACtB,UAAU,GAAG,MAAM;;;;"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{e as t,w as s}from"./common-zXZUsQ7l.js";import{v as i}from"./auto-complete-QkT4jBSK.js";import{a,v as h,b as e}from"./max-length-behavior-DCUK2Rvw.js";import{v as o}from"./placeholder-CKKvVrmb.js";import{v as r}from"./read-only-D2aPahKx.js";import{v as l}from"./required-DZ-b_DWV.js";import{I as n}from"./controller-icon-
|
4
|
+
import{e as t,w as s}from"./common-zXZUsQ7l.js";import{v as i}from"./auto-complete-QkT4jBSK.js";import{a,v as h,b as e}from"./max-length-behavior-DCUK2Rvw.js";import{v as o}from"./placeholder-CKKvVrmb.js";import{v as r}from"./read-only-D2aPahKx.js";import{v as l}from"./required-DZ-b_DWV.js";import{I as n}from"./controller-icon-Dak8u7ck.js";const v=(e,a,o={})=>{t(e,"_pattern",a,o)},m=["default","visibility-toggle"],d=(t,e)=>{s(t,"_variant",t=>"string"==typeof t&&m.includes(t),new Set(m),e)};class p extends n{constructor(t,e,a){super(t,e,a),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){i(this.component,t)}validateHasCounter(t){a(this.component,t)}validateMaxLengthBehavior(t){h(this.component,t)}validateVariant(t){d(this.component,t)}validateMaxLength(t){e(this.component,t,{hooks:{afterPatch:this.afterSyncCharCounter}})}validatePattern(t){v(this.component,t)}validatePlaceholder(t){o(this.component,t)}validateReadOnly(t){r(this.component,t)}validateRequired(t){l(this.component,t)}validateValue(e){t(this.component,"_value",e,{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{p as I};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller-
|
1
|
+
{"version":3,"file":"controller-BhAbvioO.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, validatePlaceholder, validateReadOnly, validateRequired, validatePattern, 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":";;;;;;;;;;;AAaO,MAAM,eAAe,GAAG,CAAC,SAAoC,EAAE,KAAuB,EAAE,OAAA,GAA8B,EAAE,KAAU;IACxI,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;AACnD,CAAC;;ACXD,MAAM,8BAA8B,GAAG,CAAC,SAAS,EAAE,mBAAmB,CAAU;AAWzE,MAAM,uBAAuB,GAAG,CAAC,SAAoC,EAAE,KAA+B,KAAU;AACtH,IAAA,cAAc,CACb,SAAS,EACT,UAAU,EACV,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtF,IAAI,GAAG,CAAC,8BAA8B,CAAC,EACvC,KAAK,CACL;AACF,CAAC;;ACHK,MAAO,uBAAwB,SAAQ,mBAAmB,CAAA;AAG/D,IAAA,WAAA,CAAmB,SAAyD,EAAE,IAAY,EAAE,IAAkB,EAAA;AAC7G,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QAInB,IAAoB,CAAA,oBAAA,GAAG,MAAK;YACrC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE;AAC9C,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;gBAClE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;;AAEjE,SAAC;AARA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAUpB,IAAA,oBAAoB,CAAC,KAA4B,EAAA;AACvD,QAAA,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGrC,IAAA,kBAAkB,CAAC,KAA0B,EAAA;AACnD,QAAA,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGnC,IAAA,yBAAyB,CAAC,KAAiC,EAAA;AACjE,QAAA,yBAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAG1C,IAAA,eAAe,CAAC,KAA+B,EAAA;AACrD,QAAA,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGxC,IAAA,iBAAiB,CAAC,KAAc,EAAA;AACtC,QAAA,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;AACxC,YAAA,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAChD,SAAA,CAAC;;AAGI,IAAA,eAAe,CAAC,KAAc,EAAA;AACpC,QAAA,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGhC,IAAA,mBAAmB,CAAC,KAA2B,EAAA;AACrD,QAAA,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGpC,IAAA,gBAAgB,CAAC,KAAwB,EAAA;AAC/C,QAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGjC,IAAA,gBAAgB,CAAC,KAAwB,EAAA;AAC/C,QAAA,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAGjC,IAAA,aAAa,CAAC,KAAc,EAAA;QAClC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC5C,YAAA,KAAK,EAAE;gBACN,UAAU,EAAE,IAAI,CAAC,oBAAoB;AACrC,aAAA;AACD,SAAA,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAgB,CAAC;;IAG5D,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACjE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;;AAE9C;;;;"}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{t,H as s,s as e}from"./common-zXZUsQ7l.js";import{b as i,c as r}from"./label-DGzuU0HV.js";import{v as
|
4
|
+
import{t,H as s,s as e}from"./common-zXZUsQ7l.js";import{b as i,c as r}from"./label-DGzuU0HV.js";import{v as a}from"./required-DZ-b_DWV.js";import{I as o}from"./FormFieldStateWrapper-CGvaBC47.js";import{v as n}from"./orientation-DdsLYtB3.js";const f=e=>{if("object"==typeof e&&null!==e){if("string"==typeof e.label&&e.label.length>0)return e.disabled=!0===e.disabled,e.label=`${e.label}`.trim(),!1===i(e.label,3)&&!1===r(e.label)&&t(`A differing Aria-Label (${e.label}) is inaccessible. A differing Aria-Label should consist of at least three readable characters.`),!Array.isArray(e.options)||void 0===e.options.find(t=>!1===f(t));if("number"==typeof e.label)return!0}return!1},l=(t,e,o={})=>{s(t,"_options",t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0,e,void 0,o)},h=(t,e,o={})=>{s(t,"_options",f,e,void 0,o)},c=(t,e,o="")=>{e.forEach((e,a)=>{const i=`${o}-${a}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?c(t,e.options,i):t.set(i,e))})};class u extends o{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){a(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class p extends u{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.afterPatchOptions=(t,e,o,a)=>{"_value"===a&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear();const t=o.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});c(this.keyOptionMap,t)}},this.component=t}validateOrientation(t){n(this.component,t,"vertical")}validateOptions(t){l(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=Array.isArray(t)?t[0]:t,e(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{u as I,p as a,l as b,c as f,h as v};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller-DYOqWrFp.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 { RadioOption, Optgroup, Option, 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, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<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 { InputController } from '../@deprecated/input/controller';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\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
|
+
{"version":3,"file":"controller-DOh6Y7if.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 { RadioOption, Optgroup, Option, 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, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<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 { InputController } from '../@deprecated/input/controller';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\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{w as s}from"./common-zXZUsQ7l.js";import{v as t}from"./spell-check-Chr2J8Ox.js";import{v as e}from"./suggestions-dPkxw3RQ.js";import{I as o}from"./controller-
|
4
|
+
import{w as s}from"./common-zXZUsQ7l.js";import{v as t}from"./spell-check-Chr2J8Ox.js";import{v as e}from"./suggestions-dPkxw3RQ.js";import{I as o}from"./controller-BhAbvioO.js";const i=["text","search","url","tel"],r=t=>"string"==typeof t&&i.includes(t),a=(t,o)=>{s(t,"_type",r,new Set(i),o)};class l extends o{constructor(t,o,s){super(t,o,s),this.component=t}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class c extends l{constructor(t,o,s){super(t,o,s),this.hasError=!1,this.component=t}validateSpellCheck(o){t(this.component,o)}validateType(t){a(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSpellCheck(this.component._spellCheck),this.validateType(this.component._type)}}export{l as I,c as a};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller-
|
1
|
+
{"version":3,"file":"controller-DR6tEetQ.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 = {\n\tid: string;\n} & 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;;ACEK,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;QAHtB,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{h as n}from"./index-
|
4
|
+
import{h as n}from"./index-BRWth_lT.js";import{w as t}from"./common-zXZUsQ7l.js";import{c as o,a as e,I as s}from"./FormFieldStateWrapper-CGvaBC47.js";import{_ as i}from"./Heading-BPYmDTUk.js";import{c as r}from"./clsx-eK3rPvPS.js";import{d as c}from"./component-names-CkE54Ym7.js";import{K as a}from"./Icon-CPJLro7v.js";import{i as l}from"./InternalUnderlinedBadgeText-Cx9AyLre.js";import{i as d}from"./isObject-DvSELytj.js";import{v as m}from"./icons-CH_AgdgO.js";const u=(t,s)=>{var{position:o="start",class:e}=t,a=i(t,["position","class"]);const c="kol-input-container__adornment",l=`${c}--${o}`;return n("div",Object.assign({class:r(c,l,e)},a),s)};function b(n){return!!n&&(Array.isArray(n)?n.length>0:Boolean(n))}const p=(t,s)=>{var{class:o}=t,e=i(t,["class"]);return n("div",Object.assign({class:r("kol-input-container__container",o)},e),s)},f=(t,s)=>{const{class:e,startAdornment:a,endAdornment:c,disabled:l,msg:d,touched:m,containerProps:h,startAdornmentProps:g,endAdornmentProps:j}=t,_=i(t,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),f=o(d,m),v={"kol-input-container--disabled":l,[`kol-input-container--${(null==d?void 0:d.type)||"error"}`]:f},k=Object.assign({class:r("kol-input-container",v,e)},_);return b(a)||b(c)?n("div",Object.assign({},k),n(u,Object.assign({},g,{position:"start"}),a),n(p,Object.assign({},h),s),n(u,Object.assign({},j,{position:"end"}),c)):n("div",Object.assign({},k),n(p,Object.assign({},h),s))},j=t=>{const{label:s,icons:o,hideLabel:e,disabled:r,onClick:a}=t,l=i(t,["label","icons","hideLabel","disabled","onClick"]);return n(c,Object.assign({_label:s,_disabled:r,_icons:o,_hideLabel:e,_on:{onClick:a}},l))},h=t=>{const{componentName:s="button",label:o,icon:e,onClick:r}=t,c=i(t,["componentName","label","icon","onClick"]);return n("button"===s?j:a,Object.assign({label:o||"",hideLabel:!0,icons:`codicon codicon-${e}`,onClick:r},c))};function v(n){let t,s;return"_icons"in n&&(t=n._icons),"_smartButton"in n&&(s=n._smartButton),{icons:t,smartButton:s,disabled:n._disabled,msg:e(n._msg),touched:n._touched}}const _=({state:t,endAdornment:s},o)=>{const{icons:e,smartButton:i,disabled:r,msg:a,touched:c}=v(t);let m=null==e?void 0:e.left;l(m)&&(m={icon:m});let u=null==e?void 0:e.right;l(u)&&(u={icon:u});const p=[],b=[];return s&&(Array.isArray(s)?b.push(...s):b.push(s)),m&&p.push(n(h,Object.assign({componentName:"icon",class:"kol-input-container__icon"},d(m)?m:{}))),d(i)&&b.push(n(h,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},i,{hideLabel:!0,disabled:r}))),u&&b.push(n(h,Object.assign({componentName:"icon",class:"kol-input-container__icon"},d(u)?u:{}))),n(f,{disabled:r,msg:a,touched:c,startAdornment:p,endAdornment:b},o)};class k extends s{constructor(n,s,o){super(n,s,o),this.numberStringRegex=/^\d+(\.\d+)?$/,this.parseToNumber=n=>"number"==typeof n?isNaN(n)?null:n:this.isNumberString(n)?parseFloat(n):null,this.validateNumber=(n,s)=>t(this.component,n,n=>null==n||"number"==typeof n||"string"==typeof n&&this.numberStringRegex.test(n),new Set(["number","NumberString"]),s,{hooks:{beforePatch:(t,s)=>{(null==s?void 0:s.has(n))&&(null==s||s.set(n,this.parseToNumber(t)))}}}),this.component=n}validateIcons(n){m(this.component,n)}isNumberString(n){return"string"==typeof n&&this.numberStringRegex.test(n)}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons)}}export{k as I,h as K,_ as a};
|
package/dist/{esm/controller-icon-BQ1Jj9uA.js.map → kolibri/controller-icon-Dak8u7ck.js.map}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller-icon-BQ1Jj9uA.js","sources":["src/functional-components/InputAdornment/InputAdornment.tsx","src/functional-components/InputContainer/InputContainer.tsx","src/functional-components/Button/Button.tsx","src/functional-components/IconButton/IconButton.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 type { JSXBase } from '@stencil/core/internal';\nimport clsx from '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 clsx from 'clsx';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport InputAdornment from '../InputAdornment';\nimport { checkHasMsg, type InternMsgPropType } from '../../schema';\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputContainerProps = JSXBase.HTMLAttributes & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\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 showMsg = checkHasMsg(msg, touched);\n\n\tconst stateCssClasses = {\n\t\t['kol-input-container--disabled']: disabled,\n\t\t[`kol-input-container--${msg?.type || 'error'}`]: showMsg,\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 { KolButtonWcTag } from '../../core/component-names';\nimport type { InternalButtonProps } from '../../schema';\n\nexport type ButtonProps = Partial<InternalButtonProps> & {\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 KolButtonFc, { type ButtonProps } from '../Button';\nimport KolIconFc, { type IconProps } from '../Icon';\nimport type { ButtonVariantPropType } from '../../schema';\n\ntype IconType = Partial<Omit<IconProps, 'icons'>> & {\n\tcomponentName: 'icon';\n\ticon?: string;\n\tclass?: string;\n\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 (`KolIconFc`) 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 name of the icon (e.g., \"home\", \"edit\") or the Codicon class 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=\"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 : KolIconFc;\n\n\treturn <Component label={label || ''} hideLabel icons={`codicon codicon-${icon}`} onClick={onClick} {...other} />;\n};\n\nexport default KolIconButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { InternMsgPropType } from '../../schema';\nimport {\n\ttype ButtonProps,\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 KoliBriHorizontalIcons,\n\ttype TextareaStates,\n\ttype SelectStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\n\nimport KolInputContainerFc, { type InputContainerProps } from '../../functional-components/InputContainer';\nimport KolIconButtonFc from '../../functional-components/IconButton';\nimport { isObject, isString } from 'lodash-es';\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?: ButtonProps;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\n\ttouched?: boolean;\n} {\n\tlet icons: KoliBriHorizontalIcons | undefined = undefined;\n\tlet smartButton: ButtonProps | 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: convertMsgToInternMsg(state._msg),\n\t\ttouched: state._touched,\n\t};\n}\n\nconst InputContainerStateWrapperFc: FC<InputContainerStateWrapperProps> = ({ state, endAdornment: defaultEndAdornment }, children) => {\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 (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\tif (leftIconProps) {\n\t\tstartAdornment.push(<KolIconButtonFc componentName=\"icon\" class=\"kol-input-container__icon\" {...(isObject(leftIconProps) ? leftIconProps : {})} />);\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\tendAdornment.push(<KolIconButtonFc componentName=\"icon\" class=\"kol-input-container__icon\" {...(isObject(rightIconProps) ? rightIconProps : {})} />);\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 { watchValidator } from '../../../schema';\nimport { validateIcons } 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":";;;;;;;;;;;;;;AAQA,MAAM,cAAc,GAA4B,CAAC,EAAkD,EAAE,QAAQ,KAAI;AAAhE,IAAA,IAAA,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAA,GAAA,EAAY,EAAP,KAAK,GAAhD,MAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAkD,CAAF;IAChG,MAAM,aAAa,GAAG,CAAA,8BAAA,CAAgC;AACtD,IAAA,MAAM,iBAAiB,GAAG,CAAA,EAAG,aAAa,CAAK,EAAA,EAAA,QAAQ,EAAE;AAEzD,IAAA,QACC,CAAK,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAM,EAAA,KAAK,GACtE,QAAQ,CACJ;AAER,CAAC;;ACGD,SAAS,QAAQ,CAAC,KAA0B,EAAA;IAC3C,IAAI,CAAC,KAAK,EAAE;AACX,QAAA,OAAO,KAAK;;IAGb,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAChE;AAEA,MAAM,SAAS,GAA+C,CAAC,EAA8B,EAAE,QAAQ,KAAI;QAA5C,EAAE,KAAK,EAAE,SAAS,EAAA,GAAA,EAAY,EAAP,KAAK,GAAA,MAAA,CAAA,EAAA,EAA5B,SAA8B,CAAF;AAC1F,IAAA,QACC,CAAK,CAAA,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,gCAAgC,EAAE,SAAS,CAAC,IAAM,KAAK,CAAA,EACtE,QAAQ,CACJ;AAER,CAAC;AAED,MAAM,mBAAmB,GAA4B,CAAC,KAAK,EAAE,QAAQ,KAAI;AACxE,IAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAe,GAAA,KAAK,EAAf,KAAK,GAAK,MAAA,CAAA,KAAK,EAArJ,CAAA,OAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,KAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,mBAAA,CAA6I,CAAQ;IAC3J,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;AAEzC,IAAA,MAAM,eAAe,GAAG;QACvB,CAAC,+BAA+B,GAAG,QAAQ;AAC3C,QAAA,CAAC,CAAwB,qBAAA,EAAA,CAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAH,MAAA,GAAA,MAAA,GAAA,GAAG,CAAE,IAAI,KAAI,OAAO,CAAE,CAAA,GAAG,OAAO;KACzD;AAED,IAAA,MAAM,SAAS,GAAA,MAAA,CAAA,MAAA,CAAA,EACd,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,eAAe,EAAE,UAAU,CAAC,EAC5D,EAAA,KAAK,CACR;AAED,IAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACzD,QACC,2BAAS,SAAS,CAAA;YACjB,CAAC,CAAA,SAAS,oBAAK,cAAc,CAAA,EAAG,QAAQ,CAAa,CAChD;;IAIR,QACC,2BAAS,SAAS,CAAA;QACjB,CAAC,CAAA,cAAc,oBAAK,mBAAmB,EAAA,EAAE,QAAQ,EAAC,OAAO,EACvD,CAAA,EAAA,cAAc,CACC;AACjB,QAAA,CAAA,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,cAAc,CAAA,EAAG,QAAQ,CAAa;AACrD,QAAA,CAAA,CAAC,cAAc,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,iBAAiB,EAAA,EAAE,QAAQ,EAAC,KAAK,EAAA,CAAA,EACnD,YAAY,CACG,CACZ;AAER,CAAC;;AC3DD,MAAM,WAAW,GAAoB,CAAC,KAAK,KAAI;AAC9C,IAAA,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAe,GAAA,KAAK,EAAf,KAAK,GAAA,MAAA,CAAK,KAAK,EAAhE,CAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAwD,CAAQ;IAEtE,OAAO,CAAA,CAAC,cAAc,EAAA,MAAA,CAAA,MAAA,CAAA,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAA,EAAM,KAAK,CAAA,CAAI;AACjI,CAAC;;ACoCD,MAAM,eAAe,GAAwB,CAAC,KAAK,KAAI;AACtD,IAAA,MAAM,EAAE,aAAa,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAe,GAAA,KAAK,EAAf,KAAK,GAAA,MAAA,CAAK,KAAK,EAApE,CAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAA4D,CAAQ;AAC1E,IAAA,MAAM,SAAS,GAAG,aAAa,KAAK,QAAQ,GAAG,WAAW,GAAG,SAAS;IAEtE,OAAO,CAAA,CAAC,SAAS,EAAC,MAAA,CAAA,MAAA,CAAA,EAAA,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,SAAS,EAAA,IAAA,EAAC,KAAK,EAAE,CAAA,gBAAA,EAAmB,IAAI,CAAA,CAAE,EAAE,OAAO,EAAE,OAAO,EAAA,EAAM,KAAK,CAAA,CAAI;AAClH;;AClBA,SAAS,sBAAsB,CAAC,KAAiB,EAAA;IAOhD,IAAI,KAAK,GAAuC,SAAS;AACzD,IAAA,IAAI,WAAoC;AAExC,IAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;AACtB,QAAA,KAAK,GAAG,KAAK,CAAC,MAAM;;AAGrB,IAAA,IAAI,cAAc,IAAI,KAAK,EAAE;AAC5B,QAAA,WAAW,GAAG,KAAK,CAAC,YAAY;;IAGjC,OAAO;QACN,KAAK;QACL,WAAW;QACX,QAAQ,EAAE,KAAK,CAAC,SAAS;AACzB,QAAA,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC;QACtC,OAAO,EAAE,KAAK,CAAC,QAAQ;KACvB;AACF;AAEA,MAAM,4BAA4B,GAAwC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,QAAQ,KAAI;AACpI,IAAA,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC;IAEpF,IAAI,aAAa,GAAgC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,IAAI;AAC5D,IAAA,IAAI,QAAQ,CAAC,aAAa,CAAC,EAAE;AAC5B,QAAA,aAAa,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;;IAGxC,IAAI,cAAc,GAAgC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,MAAA,GAAA,KAAK,CAAE,KAAK;AAC9D,IAAA,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC7B,QAAA,cAAc,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE;;IAG1C,MAAM,cAAc,GAAG,EAAE;IACzB,MAAM,YAAY,GAAG,EAAE;IAEvB,IAAI,mBAAmB,EAAE;AACxB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;AACvC,YAAA,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC;;aACnC;AACN,YAAA,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;IAIxC,IAAI,aAAa,EAAE;AAClB,QAAA,cAAc,CAAC,IAAI,CAAC,CAAA,CAAC,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAC,aAAa,EAAC,MAAM,EAAC,KAAK,EAAC,2BAA2B,EAAK,GAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,EAAE,EAAC,CAAI,CAAC;;AAGpJ,IAAA,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC1B,YAAY,CAAC,IAAI,CAChB,CAAC,CAAA,eAAe,kBAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,mCAAmC,EAAK,EAAA,WAAW,EAAE,EAAA,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAI,CAAA,CAAA,CAC1I;;IAGF,IAAI,cAAc,EAAE;AACnB,QAAA,YAAY,CAAC,IAAI,CAAC,CAAA,CAAC,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,EAAC,aAAa,EAAC,MAAM,EAAC,KAAK,EAAC,2BAA2B,EAAK,GAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,EAAE,EAAC,CAAI,CAAC;;IAGpJ,QACC,CAAC,CAAA,mBAAmB,EAAC,EAAA,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAC7H,EAAA,QAAQ,CACY;AAExB;;ACjGM,MAAO,mBAAoB,SAAQ,eAAe,CAAA;AAIvD,IAAA,WAAA,CAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB,EAAA;AAChG,QAAA,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QAHZ,IAAiB,CAAA,iBAAA,GAAG,eAAe;AAejC,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoC,KAAmB;AAC1F,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC9B,gBAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;;AAEnC,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAC/B,gBAAA,OAAO,UAAU,CAAC,KAAK,CAAC;;AAEzB,YAAA,OAAO,IAAI;AACZ,SAAC;AAEkB,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,QAAgB,EAAE,KAAoC,KAAI;YAC9F,OAAO,cAAc,CACpB,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,CAAC,KAAK,KACL,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACxI,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,EACnC,KAAK,EACL;AACC,gBAAA,KAAK,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,KAAc,EAAE,SAAS,KAAI;wBAC1C,IAAI,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,MAAA,GAAA,MAAA,GAAA,SAAS,CAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;AAC7B,4BAAA,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,KAAqC,CAAC,CAAC;;qBAEpF;AACD,iBAAA;AACD,aAAA,CACD;AACF,SAAC;AAvCA,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;AAGpB,IAAA,aAAa,CAAC,KAA+B,EAAA;AACnD,QAAA,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;;AAG9B,IAAA,cAAc,CAAC,KAAc,EAAA;AACnC,QAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;;IAiChE,iBAAiB,GAAA;QACvB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;AAE1C;;;;"}
|
1
|
+
{"version":3,"file":"controller-icon-Dak8u7ck.js","sources":["src/functional-components/InputAdornment/InputAdornment.tsx","src/functional-components/InputContainer/InputContainer.tsx","src/functional-components/Button/Button.tsx","src/functional-components/IconButton/IconButton.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 type { JSXBase } from '@stencil/core/internal';\nimport clsx from '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 clsx from 'clsx';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport InputAdornment from '../InputAdornment';\nimport { checkHasMsg, type InternMsgPropType } from '../../schema';\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputContainerProps = JSXBase.HTMLAttributes & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\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 showMsg = checkHasMsg(msg, touched);\n\n\tconst stateCssClasses = {\n\t\t['kol-input-container--disabled']: disabled,\n\t\t[`kol-input-container--${msg?.type || 'error'}`]: showMsg,\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 { KolButtonWcTag } from '../../core/component-names';\nimport type { InternalButtonProps } from '../../schema';\n\nexport type ButtonProps = Partial<InternalButtonProps> & {\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 KolButtonFc, { type ButtonProps } from '../Button';\nimport KolIconFc, { type IconProps } from '../Icon';\nimport type { ButtonVariantPropType } from '../../schema';\n\ntype IconType = Partial<Omit<IconProps, 'icons'>> & {\n\tcomponentName: 'icon';\n\ticon?: string;\n\tclass?: string;\n\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 (`KolIconFc`) 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 name of the icon (e.g., \"home\", \"edit\") or the Codicon class 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=\"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 : KolIconFc;\n\n\treturn <Component label={label || ''} hideLabel icons={`codicon codicon-${icon}`} onClick={onClick} {...other} />;\n};\n\nexport default KolIconButtonFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { InternMsgPropType } from '../../schema';\nimport {\n\ttype ButtonProps,\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 KoliBriHorizontalIcons,\n\ttype TextareaStates,\n\ttype SelectStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\n\nimport KolInputContainerFc, { type InputContainerProps } from '../../functional-components/InputContainer';\nimport KolIconButtonFc from '../../functional-components/IconButton';\nimport { isObject, isString } from 'lodash-es';\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?: ButtonProps;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\n\ttouched?: boolean;\n} {\n\tlet icons: KoliBriHorizontalIcons | undefined = undefined;\n\tlet smartButton: ButtonProps | 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: convertMsgToInternMsg(state._msg),\n\t\ttouched: state._touched,\n\t};\n}\n\nconst InputContainerStateWrapperFc: FC<InputContainerStateWrapperProps> = ({ state, endAdornment: defaultEndAdornment }, children) => {\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 (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\tif (leftIconProps) {\n\t\tstartAdornment.push(<KolIconButtonFc componentName=\"icon\" class=\"kol-input-container__icon\" {...(isObject(leftIconProps) ? leftIconProps : {})} />);\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\tendAdornment.push(<KolIconButtonFc componentName=\"icon\" class=\"kol-input-container__icon\" {...(isObject(rightIconProps) ? rightIconProps : {})} />);\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 { watchValidator } from '../../../schema';\nimport { validateIcons } 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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"}
|