@infineon/infineon-design-system-stencil 35.5.0--canary.1904.c3cb7254ae476891ebdb18f1579f66379ad24854.0 → 36.0.0--canary.1926.3b76d5defe8b9a743d9ec0dd5e6879c04e8055c0.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/dist/cjs/ifx-accordion_2.cjs.entry.js +26 -33
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -7
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-badge.cjs.entry.js +1 -9
- package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js +4 -9
- package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -8
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js +1 -6
- package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card.cjs.entry.js +3 -8
- package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -6
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox.cjs.entry.js +3 -8
- package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-chip_3.cjs.entry.js +9 -17
- package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -6
- package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -9
- package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -6
- package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
- package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -9
- package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
- package/dist/cjs/ifx-footer.cjs.entry.js +4 -9
- package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -6
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +3 -36
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-indicator.cjs.entry.js +2 -7
- package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js +1 -9
- package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
- package/dist/cjs/ifx-modal.cjs.entry.js +2 -9
- package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js +932 -0
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ifx-navbar.cjs.entry.js +3 -5
- package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-notification.cjs.entry.js +2 -10
- package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -7
- package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -6
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -7
- package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -6
- package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js +1 -9
- package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -9
- package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-select.cjs.entry.js +2 -7
- package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-set-filter.cjs.entry.js +19 -2
- package/dist/cjs/ifx-set-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -7
- package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-slider.cjs.entry.js +3 -8
- package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-spinner_2.cjs.entry.js +6 -17
- package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js +1 -9
- package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-step.cjs.entry.js +4 -4
- package/dist/cjs/ifx-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-stepper.cjs.entry.js +2 -7
- package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js +1 -6
- package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +5 -10
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tabs.cjs.entry.js +2 -7
- package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tag.cjs.entry.js +1 -9
- package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js +1 -6
- package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -9
- package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
- package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -9
- package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/index-7f4df11a.js +14 -14
- package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.js +2 -8
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion/accordionItem.css +4 -0
- package/dist/collection/components/accordion/accordionItem.js +24 -24
- package/dist/collection/components/accordion/accordionItem.js.map +1 -1
- package/dist/collection/components/alert/alert.js +0 -6
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/badge/badge.js +1 -9
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.js +1 -6
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +3 -8
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +3 -8
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +1 -6
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/chip/chip.js +8 -13
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.js +1 -6
- package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +2 -9
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -6
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.js +2 -9
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/footer/footer.js +4 -9
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/footer/footer.stories.js +4 -4
- package/dist/collection/components/footer/footer.stories.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +3 -36
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -6
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/indicator/indicator.js +2 -7
- package/dist/collection/components/indicator/indicator.js.map +1 -1
- package/dist/collection/components/link/link.js +1 -9
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/modal/modal.js +2 -9
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.js +3 -5
- package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.js +5 -7
- package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/collection/components/notification/notification.js +2 -10
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -6
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -7
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.js +2 -7
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -6
- package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.js +1 -6
- package/dist/collection/components/search-bar/search-bar.js.map +1 -1
- package/dist/collection/components/search-field/search-field.js +1 -9
- package/dist/collection/components/search-field/search-field.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +2 -9
- package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/collection/components/select/multi-select/interfaces.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect-option.css +112 -0
- package/dist/collection/components/select/multi-select/multiselect-option.js +505 -0
- package/dist/collection/components/select/multi-select/multiselect-option.js.map +1 -0
- package/dist/collection/components/select/multi-select/multiselect.css +56 -67
- package/dist/collection/components/select/multi-select/multiselect.js +678 -432
- package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.stories.js +439 -135
- package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
- package/dist/collection/components/select/single-select/select.js +2 -7
- package/dist/collection/components/select/single-select/select.js.map +1 -1
- package/dist/collection/components/slider/slider.css +2 -2
- package/dist/collection/components/slider/slider.js +2 -7
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +2 -10
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/status/status.js +1 -9
- package/dist/collection/components/status/status.js.map +1 -1
- package/dist/collection/components/stepper/step/step.js +4 -4
- package/dist/collection/components/stepper/step/step.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +2 -7
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/switch/switch.js +1 -6
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
- package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
- package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +19 -2
- package/dist/collection/components/table-advanced-version/set-filter/setFilter.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.js +5 -10
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.stories.js +2 -3
- package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.js +4 -9
- package/dist/collection/components/table-basic-version/table.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +1 -1
- package/dist/collection/components/tabs/tabs.js +3 -7
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tag/tag.js +1 -9
- package/dist/collection/components/tag/tag.js.map +1 -1
- package/dist/collection/components/templates/template/template.js +1 -1
- package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
- package/dist/collection/components/text-field/text-field.js +4 -9
- package/dist/collection/components/text-field/text-field.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -6
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +4 -9
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view-item.js +2 -2
- package/dist/collection/components/tree-view/tree-view.js +1 -9
- package/dist/collection/components/tree-view/tree-view.js.map +1 -1
- package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-accordion.js +1 -1
- package/dist/components/ifx-alert.js +1 -1
- package/dist/components/ifx-badge.js +1 -9
- package/dist/components/ifx-badge.js.map +1 -1
- package/dist/components/ifx-basic-table.js +4 -9
- package/dist/components/ifx-basic-table.js.map +1 -1
- package/dist/components/ifx-breadcrumb-item-label.js +1 -1
- package/dist/components/ifx-breadcrumb.js +1 -8
- package/dist/components/ifx-breadcrumb.js.map +1 -1
- package/dist/components/ifx-button.js +1 -1
- package/dist/components/ifx-card.js +3 -8
- package/dist/components/ifx-card.js.map +1 -1
- package/dist/components/ifx-checkbox-group.js +2 -7
- package/dist/components/ifx-checkbox-group.js.map +1 -1
- package/dist/components/ifx-checkbox.js +1 -1
- package/dist/components/ifx-chip-item.js +1 -1
- package/dist/components/ifx-chip.js +1 -1
- package/dist/components/ifx-content-switcher.js +1 -6
- package/dist/components/ifx-content-switcher.js.map +1 -1
- package/dist/components/ifx-date-picker.js +3 -10
- package/dist/components/ifx-date-picker.js.map +1 -1
- package/dist/components/ifx-download.js +1 -1
- package/dist/components/ifx-dropdown-item.js +1 -1
- package/dist/components/ifx-dropdown-separator.js +29 -1
- package/dist/components/ifx-dropdown-separator.js.map +1 -1
- package/dist/components/ifx-dropdown-trigger-button.js +2 -2
- package/dist/components/ifx-dropdown.js +1 -6
- package/dist/components/ifx-dropdown.js.map +1 -1
- package/dist/components/ifx-faq.js +4 -4
- package/dist/components/ifx-file-upload.js +6 -13
- package/dist/components/ifx-file-upload.js.map +1 -1
- package/dist/components/ifx-filter-accordion.js +4 -4
- package/dist/components/ifx-filter-bar.js +3 -3
- package/dist/components/ifx-filter-search.js +3 -3
- package/dist/components/ifx-filter-type-group.js +1 -1
- package/dist/components/ifx-footer.js +4 -9
- package/dist/components/ifx-footer.js.map +1 -1
- package/dist/components/ifx-icon-button.js +1 -1
- package/dist/components/ifx-icon.js +1 -1
- package/dist/components/ifx-icons-preview.js +4 -4
- package/dist/components/ifx-indicator.js +1 -1
- package/dist/components/ifx-link.js +1 -1
- package/dist/components/ifx-list-entry.js +4 -4
- package/dist/components/ifx-list.js +2 -2
- package/dist/components/ifx-modal.js +4 -11
- package/dist/components/ifx-modal.js.map +1 -1
- package/dist/components/ifx-multiselect-option.d.ts +11 -0
- package/dist/components/ifx-multiselect-option.js +8 -0
- package/dist/components/ifx-multiselect-option.js.map +1 -0
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +2 -2
- package/dist/components/ifx-navbar.js +4 -6
- package/dist/components/ifx-navbar.js.map +1 -1
- package/dist/components/ifx-notification.js +1 -1
- package/dist/components/ifx-overview-table.js +3 -3
- package/dist/components/ifx-pagination.js +1 -1
- package/dist/components/ifx-progress-bar.js +1 -1
- package/dist/components/ifx-radio-button-group.js +2 -7
- package/dist/components/ifx-radio-button-group.js.map +1 -1
- package/dist/components/ifx-radio-button.js +1 -1
- package/dist/components/ifx-search-bar.js +3 -8
- package/dist/components/ifx-search-bar.js.map +1 -1
- package/dist/components/ifx-search-field.js +1 -1
- package/dist/components/ifx-segment.js +1 -1
- package/dist/components/ifx-segmented-control.js +3 -10
- package/dist/components/ifx-segmented-control.js.map +1 -1
- package/dist/components/ifx-select.js +1 -1
- package/dist/components/ifx-set-filter.js +35 -12
- package/dist/components/ifx-set-filter.js.map +1 -1
- package/dist/components/ifx-sidebar-item.js +2 -2
- package/dist/components/ifx-sidebar.js +5 -7
- package/dist/components/ifx-sidebar.js.map +1 -1
- package/dist/components/ifx-slider.js +4 -9
- package/dist/components/ifx-slider.js.map +1 -1
- package/dist/components/ifx-spinner.js +1 -1
- package/dist/components/ifx-status.js +1 -9
- package/dist/components/ifx-status.js.map +1 -1
- package/dist/components/ifx-step.js +5 -5
- package/dist/components/ifx-step.js.map +1 -1
- package/dist/components/ifx-stepper.js +2 -7
- package/dist/components/ifx-stepper.js.map +1 -1
- package/dist/components/ifx-switch.js +1 -6
- package/dist/components/ifx-switch.js.map +1 -1
- package/dist/components/ifx-tab.js +1 -1
- package/dist/components/ifx-table.js +14 -19
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/ifx-tabs.js +3 -8
- package/dist/components/ifx-tabs.js.map +1 -1
- package/dist/components/ifx-tag.js +2 -10
- package/dist/components/ifx-tag.js.map +1 -1
- package/dist/components/ifx-template.js +1 -1
- package/dist/components/ifx-templates-ui.js +9 -9
- package/dist/components/ifx-text-field.js +1 -1
- package/dist/components/ifx-textarea.js +1 -6
- package/dist/components/ifx-textarea.js.map +1 -1
- package/dist/components/ifx-tooltip.js +5 -10
- package/dist/components/ifx-tooltip.js.map +1 -1
- package/dist/components/ifx-tree-view-item.js +4 -4
- package/dist/components/ifx-tree-view.js +1 -9
- package/dist/components/ifx-tree-view.js.map +1 -1
- package/dist/components/p-09673a59.js +119 -0
- package/dist/components/p-09673a59.js.map +1 -0
- package/dist/components/{p-816b2612.js → p-17df0350.js} +2 -7
- package/dist/components/p-17df0350.js.map +1 -0
- package/dist/components/p-1bb40944.js +602 -0
- package/dist/components/p-1bb40944.js.map +1 -0
- package/dist/components/{p-e126ea6f.js → p-351949f1.js} +3 -11
- package/dist/components/p-351949f1.js.map +1 -0
- package/dist/components/{p-54b39a91.js → p-357107c5.js} +3 -8
- package/dist/components/p-357107c5.js.map +1 -0
- package/dist/components/p-3f51d740.js +432 -0
- package/dist/components/p-3f51d740.js.map +1 -0
- package/dist/components/{p-9ea9e274.js → p-53d4339c.js} +2 -10
- package/dist/components/p-53d4339c.js.map +1 -0
- package/dist/components/{p-6d95b3c1.js → p-5e9d3450.js} +2 -8
- package/dist/components/p-5e9d3450.js.map +1 -0
- package/dist/components/{p-465d3172.js → p-8a645052.js} +3 -11
- package/dist/components/p-8a645052.js.map +1 -0
- package/dist/components/{p-94da6823.js → p-9142f93b.js} +3 -8
- package/dist/components/p-9142f93b.js.map +1 -0
- package/dist/components/{p-4fc475c9.js → p-9a258534.js} +4 -37
- package/dist/components/p-9a258534.js.map +1 -0
- package/dist/components/{p-1ad917f9.js → p-9bdb8233.js} +4 -9
- package/dist/components/p-9bdb8233.js.map +1 -0
- package/dist/components/{p-830057b3.js → p-ba627b54.js} +2 -8
- package/dist/components/p-ba627b54.js.map +1 -0
- package/dist/components/{p-24382260.js → p-c90a8438.js} +6 -11
- package/dist/components/p-c90a8438.js.map +1 -0
- package/dist/components/{p-cf109552.js → p-cdac7da6.js} +5 -10
- package/dist/components/p-cdac7da6.js.map +1 -0
- package/dist/components/{p-8cb991f4.js → p-cf9adb93.js} +5 -13
- package/dist/components/p-cf9adb93.js.map +1 -0
- package/dist/components/{p-13578a85.js → p-dda8b55f.js} +7 -7
- package/dist/components/{p-13578a85.js.map → p-dda8b55f.js.map} +1 -1
- package/dist/components/{p-0905733d.js → p-e4c0ba88.js} +11 -16
- package/dist/components/p-e4c0ba88.js.map +1 -0
- package/dist/components/{p-cca71d97.js → p-ed739e86.js} +2 -9
- package/dist/components/p-ed739e86.js.map +1 -0
- package/dist/components/{p-0d6ca0f6.js → p-eebb75a8.js} +3 -8
- package/dist/components/p-eebb75a8.js.map +1 -0
- package/dist/components/{p-ee0f87ac.js → p-f38c3009.js} +3 -3
- package/dist/components/{p-ee0f87ac.js.map → p-f38c3009.js.map} +1 -1
- package/dist/components/{p-13126216.js → p-f5675de2.js} +5 -10
- package/dist/components/p-f5675de2.js.map +1 -0
- package/dist/esm/ifx-accordion_2.entry.js +26 -33
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-alert_2.entry.js +1 -7
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-badge.entry.js +2 -10
- package/dist/esm/ifx-badge.entry.js.map +1 -1
- package/dist/esm/ifx-basic-table.entry.js +4 -9
- package/dist/esm/ifx-basic-table.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js +1 -8
- package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ifx-button.entry.js +1 -6
- package/dist/esm/ifx-button.entry.js.map +1 -1
- package/dist/esm/ifx-card.entry.js +3 -8
- package/dist/esm/ifx-card.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js +1 -6
- package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox.entry.js +3 -8
- package/dist/esm/ifx-checkbox.entry.js.map +1 -1
- package/dist/esm/ifx-chip_3.entry.js +9 -17
- package/dist/esm/ifx-chip_3.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher.entry.js +1 -6
- package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
- package/dist/esm/ifx-date-picker.entry.js +2 -9
- package/dist/esm/ifx-date-picker.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown.entry.js +1 -6
- package/dist/esm/ifx-dropdown.entry.js.map +1 -1
- package/dist/esm/ifx-faq.entry.js +1 -1
- package/dist/esm/ifx-file-upload.entry.js +2 -9
- package/dist/esm/ifx-file-upload.entry.js.map +1 -1
- package/dist/esm/ifx-filter-accordion.entry.js +2 -2
- package/dist/esm/ifx-filter-bar.entry.js +1 -1
- package/dist/esm/ifx-filter-search.entry.js +1 -1
- package/dist/esm/ifx-filter-type-group.entry.js +1 -1
- package/dist/esm/ifx-footer.entry.js +4 -9
- package/dist/esm/ifx-footer.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +1 -6
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +4 -37
- package/dist/esm/ifx-icon.entry.js.map +1 -1
- package/dist/esm/ifx-indicator.entry.js +2 -7
- package/dist/esm/ifx-indicator.entry.js.map +1 -1
- package/dist/esm/ifx-link.entry.js +2 -10
- package/dist/esm/ifx-link.entry.js.map +1 -1
- package/dist/esm/ifx-list-entry.entry.js +1 -1
- package/dist/esm/ifx-modal.entry.js +2 -9
- package/dist/esm/ifx-modal.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect_2.entry.js +927 -0
- package/dist/esm/ifx-multiselect_2.entry.js.map +1 -0
- package/dist/esm/ifx-navbar.entry.js +3 -5
- package/dist/esm/ifx-navbar.entry.js.map +1 -1
- package/dist/esm/ifx-notification.entry.js +3 -11
- package/dist/esm/ifx-notification.entry.js.map +1 -1
- package/dist/esm/ifx-progress-bar.entry.js +2 -8
- package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js +1 -6
- package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button.entry.js +2 -7
- package/dist/esm/ifx-radio-button.entry.js.map +1 -1
- package/dist/esm/ifx-search-bar.entry.js +1 -6
- package/dist/esm/ifx-search-bar.entry.js.map +1 -1
- package/dist/esm/ifx-search-field.entry.js +2 -10
- package/dist/esm/ifx-search-field.entry.js.map +1 -1
- package/dist/esm/ifx-segmented-control.entry.js +2 -9
- package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
- package/dist/esm/ifx-select.entry.js +2 -7
- package/dist/esm/ifx-select.entry.js.map +1 -1
- package/dist/esm/ifx-set-filter.entry.js +19 -2
- package/dist/esm/ifx-set-filter.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar.entry.js +5 -7
- package/dist/esm/ifx-sidebar.entry.js.map +1 -1
- package/dist/esm/ifx-slider.entry.js +3 -8
- package/dist/esm/ifx-slider.entry.js.map +1 -1
- package/dist/esm/ifx-spinner_2.entry.js +7 -18
- package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
- package/dist/esm/ifx-status.entry.js +2 -10
- package/dist/esm/ifx-status.entry.js.map +1 -1
- package/dist/esm/ifx-step.entry.js +4 -4
- package/dist/esm/ifx-step.entry.js.map +1 -1
- package/dist/esm/ifx-stepper.entry.js +2 -7
- package/dist/esm/ifx-stepper.entry.js.map +1 -1
- package/dist/esm/ifx-switch.entry.js +1 -6
- package/dist/esm/ifx-switch.entry.js.map +1 -1
- package/dist/esm/ifx-tab.entry.js +1 -1
- package/dist/esm/ifx-table.entry.js +5 -10
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/ifx-tabs.entry.js +2 -7
- package/dist/esm/ifx-tabs.entry.js.map +1 -1
- package/dist/esm/ifx-tag.entry.js +2 -10
- package/dist/esm/ifx-tag.entry.js.map +1 -1
- package/dist/esm/ifx-templates-ui.entry.js +1 -1
- package/dist/esm/ifx-textarea.entry.js +1 -6
- package/dist/esm/ifx-textarea.entry.js.map +1 -1
- package/dist/esm/ifx-tooltip.entry.js +4 -9
- package/dist/esm/ifx-tooltip.entry.js.map +1 -1
- package/dist/esm/ifx-tree-view-item.entry.js +2 -2
- package/dist/esm/ifx-tree-view.entry.js +2 -10
- package/dist/esm/ifx-tree-view.entry.js.map +1 -1
- package/dist/esm/index-6c9eba32.js +14 -14
- package/dist/esm/infineon-design-system-stencil.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/p-02496917.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-02496917.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-f2bea855.entry.js → p-04d8ea38.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-87fbd617.entry.js → p-0c1c831c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-135110b2.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-135110b2.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-13c107bf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-13c107bf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-1bf2d4f8.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-1bf2d4f8.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-a9cfb70d.entry.js → p-36dcebde.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-0f096cf1.entry.js → p-3d037fa4.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4764665d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4764665d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4f82fcfd.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4f82fcfd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5e376887.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5e376887.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5f38cace.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5f38cace.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6250b9f6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6250b9f6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-babf3f2d.entry.js → p-6c2698a3.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-6c999b11.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6c999b11.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9c28f35f.entry.js → p-6e7b0250.entry.js} +3 -3
- package/dist/infineon-design-system-stencil/p-6e7b0250.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-70f4fd1b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-70f4fd1b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-7619bd75.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7619bd75.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-76e0c34f.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-76e0c34f.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-6d99d01d.entry.js → p-7adee2dd.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-99faadcf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-99faadcf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a2a44fbe.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a356a82d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a356a82d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a80e321b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a80e321b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-2b38c405.entry.js → p-b7cb706f.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-2b38c405.entry.js.map → p-b7cb706f.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/p-b9c761d3.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b9c761d3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-7b7ac7fa.entry.js → p-c7e86c7c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-d890b0de.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-d890b0de.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e571c002.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e72e5fb2.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e72e5fb2.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f9a7ae20.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f9a7ae20.entry.js.map +1 -0
- package/dist/types/components/accordion/accordion.d.ts +0 -1
- package/dist/types/components/accordion/accordionItem.d.ts +1 -2
- package/dist/types/components/alert/alert.d.ts +0 -1
- package/dist/types/components/badge/badge.d.ts +0 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -1
- package/dist/types/components/date-picker/date-picker.d.ts +0 -1
- package/dist/types/components/file-upload/file-upload.d.ts +0 -1
- package/dist/types/components/icon/infineonIconStencil.d.ts +0 -3
- package/dist/types/components/link/link.d.ts +0 -2
- package/dist/types/components/modal/modal.d.ts +0 -1
- package/dist/types/components/notification/notification.d.ts +0 -2
- package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/components/search-field/search-field.d.ts +0 -2
- package/dist/types/components/segmented-control/segmented-control.d.ts +0 -1
- package/dist/types/components/select/multi-select/interfaces.d.ts +1 -1
- package/dist/types/components/select/multi-select/multiselect-option.d.ts +36 -0
- package/dist/types/components/select/multi-select/multiselect.d.ts +38 -61
- package/dist/types/components/select/multi-select/multiselect.stories.d.ts +219 -30
- package/dist/types/components/spinner/spinner.d.ts +0 -2
- package/dist/types/components/status/status.d.ts +0 -2
- package/dist/types/components/tag/tag.d.ts +0 -2
- package/dist/types/components/tree-view/tree-view.d.ts +0 -2
- package/dist/types/components.d.ts +54 -8
- package/package.json +2 -2
- package/dist/cjs/dom-utils-2c4573c2.js +0 -20
- package/dist/cjs/dom-utils-2c4573c2.js.map +0 -1
- package/dist/cjs/ifx-multiselect.cjs.entry.js +0 -550
- package/dist/cjs/ifx-multiselect.cjs.entry.js.map +0 -1
- package/dist/cjs/tracking-f00364dc.js +0 -41
- package/dist/cjs/tracking-f00364dc.js.map +0 -1
- package/dist/collection/global/utils/dom-utils.js +0 -15
- package/dist/collection/global/utils/dom-utils.js.map +0 -1
- package/dist/collection/global/utils/tracking.js +0 -37
- package/dist/collection/global/utils/tracking.js.map +0 -1
- package/dist/components/p-0905733d.js.map +0 -1
- package/dist/components/p-0d6ca0f6.js.map +0 -1
- package/dist/components/p-13126216.js.map +0 -1
- package/dist/components/p-1ad917f9.js.map +0 -1
- package/dist/components/p-1ecafb97.js +0 -18
- package/dist/components/p-1ecafb97.js.map +0 -1
- package/dist/components/p-24382260.js.map +0 -1
- package/dist/components/p-347a1b14.js +0 -603
- package/dist/components/p-347a1b14.js.map +0 -1
- package/dist/components/p-465d3172.js.map +0 -1
- package/dist/components/p-4fc475c9.js.map +0 -1
- package/dist/components/p-54b39a91.js.map +0 -1
- package/dist/components/p-68016aea.js +0 -33
- package/dist/components/p-68016aea.js.map +0 -1
- package/dist/components/p-6d95b3c1.js.map +0 -1
- package/dist/components/p-6ecb6a6f.js +0 -39
- package/dist/components/p-6ecb6a6f.js.map +0 -1
- package/dist/components/p-816b2612.js.map +0 -1
- package/dist/components/p-830057b3.js.map +0 -1
- package/dist/components/p-8cb991f4.js.map +0 -1
- package/dist/components/p-94da6823.js.map +0 -1
- package/dist/components/p-9ea9e274.js.map +0 -1
- package/dist/components/p-cca71d97.js.map +0 -1
- package/dist/components/p-cf109552.js.map +0 -1
- package/dist/components/p-e126ea6f.js.map +0 -1
- package/dist/components/p-fe90e932.js +0 -119
- package/dist/components/p-fe90e932.js.map +0 -1
- package/dist/esm/dom-utils-1988cdf1.js +0 -18
- package/dist/esm/dom-utils-1988cdf1.js.map +0 -1
- package/dist/esm/ifx-multiselect.entry.js +0 -546
- package/dist/esm/ifx-multiselect.entry.js.map +0 -1
- package/dist/esm/tracking-a7efdbcd.js +0 -39
- package/dist/esm/tracking-a7efdbcd.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-14842bbb.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-14842bbb.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1ecafb97.js +0 -2
- package/dist/infineon-design-system-stencil/p-1ecafb97.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1fd80576.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-1fd80576.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-227fa186.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-227fa186.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-26c73456.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-26c73456.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-296f215f.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-296f215f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-34738a10.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-45ac2698.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-45ac2698.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-52420868.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-52420868.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-65255c40.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-65255c40.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-65e57b85.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-68423787.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-68423787.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js +0 -2
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-76914839.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-76914839.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-796675ed.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-796675ed.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-877e1d37.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-877e1d37.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-98532a0e.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-98532a0e.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9c28f35f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-a0006775.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-a0006775.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c164c83b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c164c83b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c220733b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c220733b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c88876dc.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c88876dc.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e0978af0.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e0978af0.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ed869b07.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ed869b07.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js.map +0 -1
- package/dist/types/global/utils/dom-utils.d.ts +0 -1
- package/dist/types/global/utils/tracking.d.ts +0 -9
- /package/dist/infineon-design-system-stencil/{p-f2bea855.entry.js.map → p-04d8ea38.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-87fbd617.entry.js.map → p-0c1c831c.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-a9cfb70d.entry.js.map → p-36dcebde.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-0f096cf1.entry.js.map → p-3d037fa4.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-babf3f2d.entry.js.map → p-6c2698a3.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-6d99d01d.entry.js.map → p-7adee2dd.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-65e57b85.entry.js.map → p-a2a44fbe.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-7b7ac7fa.entry.js.map → p-c7e86c7c.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-34738a10.entry.js.map → p-e571c002.entry.js.map} +0 -0
@@ -1,7 +1,4 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
|
-
import { trackComponent } from "../../../global/utils/tracking";
|
3
|
-
import { isNestedInIfxComponent } from "../../../global/utils/dom-utils";
|
4
|
-
// Debounce function
|
5
2
|
function debounce(func, wait) {
|
6
3
|
let timeout;
|
7
4
|
return function executedFunction(...args) {
|
@@ -13,128 +10,159 @@ function debounce(func, wait) {
|
|
13
10
|
timeout = setTimeout(later, wait);
|
14
11
|
};
|
15
12
|
}
|
16
|
-
;
|
17
13
|
export class Multiselect {
|
18
14
|
constructor() {
|
19
|
-
this.batchSize = 50;
|
20
|
-
this.size = 'medium (40px)';
|
21
15
|
this.disabled = false;
|
22
16
|
this.error = false;
|
23
|
-
this.internalError = false;
|
24
17
|
this.errorMessage = "Error";
|
25
18
|
this.label = "";
|
26
|
-
this.persistentSelectedOptions = [];
|
27
19
|
this.placeholder = "";
|
28
|
-
this.dropdownOpen = false;
|
29
|
-
this.currentIndex = 0; //needed for option selection using keyboard
|
30
|
-
this.isLoading = false;
|
31
|
-
this.loadedOptions = [];
|
32
|
-
this.filteredOptions = [];
|
33
20
|
this.showSearch = true;
|
34
21
|
this.showSelectAll = true;
|
35
22
|
this.showClearButton = true;
|
36
|
-
this.
|
37
|
-
this.
|
23
|
+
this.showExpandCollapse = true;
|
24
|
+
this.noResultsMessage = "No results found.";
|
25
|
+
this.showNoResultsMessage = true;
|
26
|
+
this.searchPlaceholder = "Search";
|
27
|
+
this.selectAllLabel = "Select all";
|
28
|
+
this.expandLabel = "Expand";
|
29
|
+
this.collapseLabel = "Collapse";
|
30
|
+
this.ariaLabel = "Multi-select dropdown";
|
31
|
+
this.ariaLabelledBy = "";
|
32
|
+
this.ariaDescribedBy = "";
|
33
|
+
this.ariaSearchLabel = "Search options";
|
34
|
+
this.ariaClearLabel = "Clear all selections";
|
35
|
+
this.ariaToggleLabel = "Toggle dropdown";
|
36
|
+
this.ariaSelectAllLabel = "Select all options";
|
37
|
+
this.ariaExpandAllLabel = "Expand all categories";
|
38
|
+
this.ariaCollapseAllLabel = "Collapse all categories";
|
39
|
+
this.internalError = false;
|
40
|
+
this.persistentSelectedOptions = [];
|
41
|
+
this.dropdownOpen = false;
|
42
|
+
this.searchTerm = '';
|
38
43
|
this.handleSearch = debounce((targetElement) => {
|
39
44
|
const searchTerm = targetElement.value.toLowerCase();
|
40
|
-
|
41
|
-
|
45
|
+
const isSearchActive = searchTerm !== '';
|
46
|
+
this.searchTerm = searchTerm;
|
47
|
+
const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');
|
48
|
+
if (wrapper) {
|
49
|
+
if (isSearchActive) {
|
50
|
+
wrapper.classList.remove('active');
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
const searchField = this.el.shadowRoot.querySelector('ifx-search-field');
|
54
|
+
const searchFieldHasFocus = searchField && searchField.matches(':focus-within');
|
55
|
+
if (!searchFieldHasFocus) {
|
56
|
+
wrapper.classList.add('active');
|
57
|
+
}
|
58
|
+
}
|
42
59
|
}
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
60
|
+
const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');
|
61
|
+
if (optionsContainer) {
|
62
|
+
if (isSearchActive) {
|
63
|
+
optionsContainer.classList.add('has-search-filter');
|
64
|
+
}
|
65
|
+
else {
|
66
|
+
optionsContainer.classList.remove('has-search-filter');
|
67
|
+
}
|
68
|
+
}
|
69
|
+
requestAnimationFrame(() => {
|
70
|
+
const allOptions = this.el.querySelectorAll('ifx-multiselect-option');
|
71
|
+
allOptions.forEach(option => {
|
72
|
+
const searchEvent = new CustomEvent('ifx-search-filter', {
|
73
|
+
detail: { searchTerm, isActive: isSearchActive }
|
74
|
+
});
|
75
|
+
option.dispatchEvent(searchEvent);
|
76
|
+
});
|
77
|
+
if (isSearchActive) {
|
78
|
+
setTimeout(() => {
|
79
|
+
const allOptions = this.el.querySelectorAll('ifx-multiselect-option');
|
80
|
+
let visibleCount = 0;
|
81
|
+
allOptions.forEach(option => {
|
82
|
+
const style = window.getComputedStyle(option);
|
83
|
+
const rect = option.getBoundingClientRect();
|
84
|
+
if (style.display !== 'none' &&
|
85
|
+
style.visibility !== 'hidden' &&
|
86
|
+
style.opacity !== '0' &&
|
87
|
+
rect.height > 0) {
|
88
|
+
visibleCount++;
|
89
|
+
}
|
49
90
|
});
|
50
|
-
|
91
|
+
const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');
|
92
|
+
if (optionsContainer) {
|
93
|
+
if (visibleCount === 0) {
|
94
|
+
optionsContainer.classList.add('show-no-results');
|
95
|
+
}
|
96
|
+
else {
|
97
|
+
optionsContainer.classList.remove('show-no-results');
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}, 200);
|
101
|
+
}
|
102
|
+
else {
|
103
|
+
const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');
|
104
|
+
if (optionsContainer) {
|
105
|
+
optionsContainer.classList.remove('show-no-results');
|
51
106
|
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
}, 300);
|
107
|
+
}
|
108
|
+
});
|
109
|
+
}, 150);
|
56
110
|
this.handleDocumentClick = (event) => {
|
57
111
|
const path = event.composedPath();
|
58
112
|
if (!path.includes(this.dropdownElement)) {
|
59
113
|
this.dropdownOpen = false;
|
60
114
|
document.removeEventListener('click', this.handleDocumentClick);
|
61
|
-
this.
|
62
|
-
// Dispatch the ifxMultiselectIsOpen event
|
115
|
+
this.resetSearch();
|
63
116
|
this.ifxOpen.emit(this.dropdownOpen);
|
64
117
|
}
|
65
118
|
};
|
66
119
|
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
120
|
+
parseChildOptions() {
|
121
|
+
const options = [];
|
122
|
+
const childElements = Array.from(this.el.children);
|
123
|
+
childElements.forEach((child, index) => {
|
124
|
+
if (child.tagName === 'IFX-MULTISELECT-OPTION') {
|
125
|
+
const option = this.parseOptionElement(child, index);
|
126
|
+
if (option) {
|
127
|
+
options.push(option);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
});
|
131
|
+
return options;
|
132
|
+
}
|
133
|
+
parseOptionElement(element, index) {
|
134
|
+
const value = element.getAttribute('value') || `option-${index}`;
|
135
|
+
const selected = element.hasAttribute('selected');
|
136
|
+
const disabled = element.hasAttribute('disabled');
|
137
|
+
const indeterminate = element.hasAttribute('indeterminate');
|
138
|
+
const option = {
|
139
|
+
value,
|
140
|
+
selected,
|
141
|
+
disabled,
|
142
|
+
indeterminate
|
143
|
+
};
|
144
|
+
const nestedOptions = Array.from(element.children)
|
145
|
+
.filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')
|
146
|
+
.map((child, childIndex) => this.parseOptionElement(child, childIndex))
|
147
|
+
.filter(opt => opt !== null);
|
148
|
+
if (nestedOptions.length > 0) {
|
149
|
+
option.children = nestedOptions;
|
150
|
+
}
|
151
|
+
return option;
|
74
152
|
}
|
75
|
-
|
76
|
-
this.isLoading = true;
|
153
|
+
loadInitialOptions() {
|
77
154
|
this.internalError = this.error;
|
78
155
|
this.internalErrorMessage = this.errorMessage;
|
79
|
-
|
80
|
-
|
81
|
-
this.
|
82
|
-
|
83
|
-
async fetchMoreOptions() {
|
84
|
-
this.isLoading = true;
|
85
|
-
const moreOptions = await this.fetchOptions(this.loadedOptions.length, this.batchSize);
|
86
|
-
this.loadedOptions = [...this.loadedOptions, ...moreOptions];
|
87
|
-
this.isLoading = false;
|
88
|
-
}
|
89
|
-
handleScroll(event) {
|
90
|
-
const element = event.target;
|
91
|
-
const halfwayPoint = Math.floor((element.scrollHeight - element.clientHeight) / 2); //loading more options when the user has scrolled halfway through the current list
|
92
|
-
if (element.scrollTop >= halfwayPoint) {
|
93
|
-
this.fetchMoreOptions();
|
94
|
-
}
|
156
|
+
const allOptions = this.parseChildOptions();
|
157
|
+
const initiallySelected = this.collectSelectedOptions(allOptions);
|
158
|
+
const initiallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));
|
159
|
+
this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];
|
95
160
|
}
|
96
|
-
async fetchOptions(startIndex, count) {
|
97
|
-
let allOptions = [];
|
98
|
-
// Parse options if it's a string, or use directly if it's an array
|
99
|
-
if (typeof this.options === 'string') {
|
100
|
-
try {
|
101
|
-
allOptions = JSON.parse(this.options);
|
102
|
-
}
|
103
|
-
catch (err) {
|
104
|
-
console.error('Failed to parse options:', err);
|
105
|
-
}
|
106
|
-
}
|
107
|
-
else if (Array.isArray(this.options)) {
|
108
|
-
allOptions = this.options;
|
109
|
-
}
|
110
|
-
else {
|
111
|
-
console.error('Unexpected value for options:', this.options);
|
112
|
-
}
|
113
|
-
if (!this.optionsProcessed) {
|
114
|
-
this.optionCount = this.countOptions(allOptions);
|
115
|
-
const initiallySelected = this.collectSelectedOptions(allOptions);
|
116
|
-
const initallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));
|
117
|
-
this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initallySelectedNotInState];
|
118
|
-
this.optionsProcessed = true;
|
119
|
-
}
|
120
|
-
// Slice the options array based on startIndex and count
|
121
|
-
const slicedOptions = allOptions.slice(startIndex, startIndex + count);
|
122
|
-
return slicedOptions;
|
123
|
-
}
|
124
|
-
/**
|
125
|
-
* Collects and returns all options that are selected.
|
126
|
-
* When the parent is selected, then the value of the children will be overriden with selected as well.
|
127
|
-
* It will only collect the leaves of the tree.
|
128
|
-
*
|
129
|
-
* @param options A list of options.
|
130
|
-
* @returns A list with all selected options
|
131
|
-
*/
|
132
161
|
collectSelectedOptions(options) {
|
133
162
|
let selectedOptions = [];
|
134
163
|
for (const option of options) {
|
135
164
|
if (option.selected) {
|
136
165
|
if (option.children && option.children.length > 0) {
|
137
|
-
// if parent is selected, then select all child options
|
138
166
|
selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));
|
139
167
|
}
|
140
168
|
else {
|
@@ -151,11 +179,6 @@ export class Multiselect {
|
|
151
179
|
}
|
152
180
|
return selectedOptions;
|
153
181
|
}
|
154
|
-
/**
|
155
|
-
* Collects all leaf children options.
|
156
|
-
*
|
157
|
-
* @param option A list with all leaf-children.
|
158
|
-
*/
|
159
182
|
collectLeafOptions(children) {
|
160
183
|
let leafOptions = [];
|
161
184
|
for (const child of children) {
|
@@ -168,33 +191,100 @@ export class Multiselect {
|
|
168
191
|
}
|
169
192
|
return leafOptions;
|
170
193
|
}
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
for (const option of options) {
|
177
|
-
if (option.children && option.children.length >= 0) {
|
178
|
-
count += this.countOptions(option.children);
|
194
|
+
handleSearchFocus(hasFocus) {
|
195
|
+
const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');
|
196
|
+
if (wrapper) {
|
197
|
+
if (hasFocus || this.searchTerm !== '') {
|
198
|
+
wrapper.classList.remove('active');
|
179
199
|
}
|
180
200
|
else {
|
181
|
-
|
201
|
+
wrapper.classList.add('active');
|
202
|
+
}
|
203
|
+
}
|
204
|
+
}
|
205
|
+
positionDropdown() {
|
206
|
+
var _a;
|
207
|
+
const wrapperRect = (_a = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
208
|
+
const spaceBelow = window.innerHeight - wrapperRect.bottom;
|
209
|
+
const spaceAbove = wrapperRect.top;
|
210
|
+
if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {
|
211
|
+
this.dropdownFlipped = true;
|
212
|
+
}
|
213
|
+
else {
|
214
|
+
this.dropdownFlipped = false;
|
215
|
+
}
|
216
|
+
}
|
217
|
+
updateSlotBasedSelections(emitEvent = false) {
|
218
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
219
|
+
const selectedLeafOptions = [];
|
220
|
+
allOptionElements.forEach((optionEl) => {
|
221
|
+
const instance = optionEl['__stencil_instance'];
|
222
|
+
if (instance && instance.selected && !instance.hasChildren) {
|
223
|
+
selectedLeafOptions.push({
|
224
|
+
value: instance.value,
|
225
|
+
selected: true,
|
226
|
+
disabled: instance.disabled
|
227
|
+
});
|
228
|
+
}
|
229
|
+
});
|
230
|
+
this.persistentSelectedOptions = selectedLeafOptions;
|
231
|
+
if (emitEvent) {
|
232
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
233
|
+
}
|
234
|
+
}
|
235
|
+
updateInitialParentStates() {
|
236
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
237
|
+
const optionsByDepth = Array.from(allOptionElements)
|
238
|
+
.map(el => ({
|
239
|
+
element: el,
|
240
|
+
instance: el['__stencil_instance'],
|
241
|
+
depth: parseInt(el.getAttribute('data-level') || '0')
|
242
|
+
}))
|
243
|
+
.filter(item => item.instance)
|
244
|
+
.sort((a, b) => b.depth - a.depth);
|
245
|
+
optionsByDepth.forEach(({ instance }) => {
|
246
|
+
if (instance.hasChildren) {
|
247
|
+
this.updateParentState(instance);
|
182
248
|
}
|
249
|
+
});
|
250
|
+
}
|
251
|
+
updateParentState(parentInstance) {
|
252
|
+
const directChildren = Array.from(parentInstance.el.children)
|
253
|
+
.filter((child) => child.tagName === 'IFX-MULTISELECT-OPTION')
|
254
|
+
.map(child => child['__stencil_instance'])
|
255
|
+
.filter(instance => instance !== null);
|
256
|
+
const selectedCount = directChildren.filter(child => child.selected).length;
|
257
|
+
const indeterminateCount = directChildren.filter(child => child.indeterminate).length;
|
258
|
+
const totalCount = directChildren.length;
|
259
|
+
if (selectedCount === totalCount && indeterminateCount === 0) {
|
260
|
+
parentInstance.selected = true;
|
261
|
+
parentInstance.indeterminate = false;
|
262
|
+
}
|
263
|
+
else if (selectedCount === 0 && indeterminateCount === 0) {
|
264
|
+
parentInstance.selected = false;
|
265
|
+
parentInstance.indeterminate = false;
|
266
|
+
}
|
267
|
+
else {
|
268
|
+
parentInstance.selected = false;
|
269
|
+
parentInstance.indeterminate = true;
|
183
270
|
}
|
184
|
-
return count;
|
185
271
|
}
|
186
272
|
componentDidLoad() {
|
187
273
|
setTimeout(() => {
|
188
274
|
this.positionDropdown();
|
189
275
|
}, 500);
|
190
|
-
|
276
|
+
this.el.addEventListener('ifx-option-changed', () => {
|
277
|
+
requestAnimationFrame(() => {
|
278
|
+
this.updateSlotBasedSelections(true);
|
279
|
+
});
|
280
|
+
});
|
281
|
+
setTimeout(() => {
|
282
|
+
this.updateSlotBasedSelections(false);
|
283
|
+
this.updateInitialParentStates();
|
284
|
+
}, 100);
|
191
285
|
}
|
192
286
|
componentWillLoad() {
|
193
|
-
if (!isNestedInIfxComponent(this.el)) {
|
194
|
-
trackComponent('ifx-multiselect');
|
195
|
-
}
|
196
287
|
this.loadInitialOptions();
|
197
|
-
this.filteredOptions = [...this.loadedOptions];
|
198
288
|
}
|
199
289
|
updateInternalError() {
|
200
290
|
this.internalError = this.error;
|
@@ -202,109 +292,66 @@ export class Multiselect {
|
|
202
292
|
updateInternalErrorMessage() {
|
203
293
|
this.internalErrorMessage = this.errorMessage;
|
204
294
|
}
|
205
|
-
loadedOptionsChanged() {
|
206
|
-
this.filteredOptions = [...this.loadedOptions];
|
207
|
-
}
|
208
295
|
onSelectionChange(newValue, _) {
|
209
296
|
const formData = new FormData();
|
210
297
|
newValue.forEach(option => formData.append(this.name, option.value));
|
211
298
|
this.internals.setFormValue(formData);
|
212
299
|
}
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
return;
|
220
|
-
}
|
221
|
-
this.updateSelection(option);
|
222
|
-
this.ifxSelect.emit(this.persistentSelectedOptions);
|
223
|
-
}
|
224
|
-
isSelectionLimitReached(option) {
|
225
|
-
let newOptionsLength = option.children ? option.children.length : 1;
|
226
|
-
return this.maxItemCount && this.persistentSelectedOptions.length + newOptionsLength > this.maxItemCount &&
|
227
|
-
!this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);
|
228
|
-
}
|
229
|
-
updateSelection(option) {
|
230
|
-
const wasSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);
|
231
|
-
if (option.children && option.children.length > 0) {
|
232
|
-
this.handleParentOptionClick(option);
|
233
|
-
}
|
234
|
-
else {
|
235
|
-
this.handleChildOptionClick(option, wasSelected);
|
236
|
-
}
|
237
|
-
}
|
238
|
-
async selectAll() {
|
239
|
-
const allOptions = await this.fetchOptions(0, this.optionCount);
|
240
|
-
this.selectAllRecursive(allOptions);
|
241
|
-
this.ifxSelect.emit(this.persistentSelectedOptions);
|
242
|
-
}
|
243
|
-
selectAllRecursive(options) {
|
244
|
-
for (const opt of options) {
|
245
|
-
if (opt.children && opt.children.length > 0) {
|
246
|
-
this.selectAllRecursive(opt.children);
|
300
|
+
collapseAll() {
|
301
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
302
|
+
allOptionElements.forEach((optionEl) => {
|
303
|
+
const instance = optionEl['__stencil_instance'];
|
304
|
+
if (instance && instance.hasChildren) {
|
305
|
+
instance.isExpanded = false;
|
247
306
|
}
|
248
|
-
|
249
|
-
if (!this.persistentSelectedOptions.some((some) => some.value === opt.value)) {
|
250
|
-
opt.selected = true;
|
251
|
-
this.persistentSelectedOptions = [...this.persistentSelectedOptions, opt];
|
252
|
-
this.optionCount = this.countOptions(this.persistentSelectedOptions);
|
253
|
-
}
|
254
|
-
}
|
255
|
-
}
|
256
|
-
}
|
257
|
-
handleParentOptionClick(option) {
|
258
|
-
const allChildrenSelected = option.children.every(child => this.persistentSelectedOptions.some(selectedOption => selectedOption.value === child.value));
|
259
|
-
if (allChildrenSelected) {
|
260
|
-
this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(selectedOption => !option.children.some(child => child.value === selectedOption.value))];
|
261
|
-
option.selected = false;
|
262
|
-
option.children.forEach(child => {
|
263
|
-
child.selected = false;
|
264
|
-
});
|
265
|
-
}
|
266
|
-
else {
|
267
|
-
const newChildren = [...option.children.filter(childOption => !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === childOption.value))];
|
268
|
-
option.selected = true;
|
269
|
-
option.children.forEach(child => {
|
270
|
-
child.selected = true;
|
271
|
-
});
|
272
|
-
this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...newChildren];
|
273
|
-
}
|
307
|
+
});
|
274
308
|
}
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
}
|
284
|
-
this.updateParentSelectedState();
|
309
|
+
expandAll() {
|
310
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
311
|
+
allOptionElements.forEach((optionEl) => {
|
312
|
+
const instance = optionEl['__stencil_instance'];
|
313
|
+
if (instance && instance.hasChildren) {
|
314
|
+
instance.isExpanded = true;
|
315
|
+
}
|
316
|
+
});
|
285
317
|
}
|
286
|
-
|
287
|
-
this.
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
318
|
+
selectAll() {
|
319
|
+
this.resetSearch();
|
320
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
321
|
+
allOptionElements.forEach((optionEl) => {
|
322
|
+
const instance = optionEl['__stencil_instance'];
|
323
|
+
if (instance) {
|
324
|
+
if (instance.hasChildren) {
|
325
|
+
instance.isExpanded = true;
|
326
|
+
}
|
292
327
|
else {
|
293
|
-
|
294
|
-
if (this.isOptionIndeterminate(option)) {
|
295
|
-
option.indeterminate = true;
|
296
|
-
}
|
297
|
-
else {
|
298
|
-
option.indeterminate = false;
|
299
|
-
}
|
328
|
+
instance.selected = true;
|
300
329
|
}
|
301
330
|
}
|
302
331
|
});
|
332
|
+
setTimeout(() => {
|
333
|
+
this.updateInitialParentStates();
|
334
|
+
this.updateSlotBasedSelections(false);
|
335
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
336
|
+
}, 0);
|
303
337
|
}
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
338
|
+
async clearSelection() {
|
339
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
340
|
+
allOptionElements.forEach((optionEl) => {
|
341
|
+
const instance = optionEl['__stencil_instance'];
|
342
|
+
if (instance) {
|
343
|
+
instance.selected = false;
|
344
|
+
instance.indeterminate = false;
|
345
|
+
if (instance.hasChildren) {
|
346
|
+
instance.isExpanded = false;
|
347
|
+
}
|
348
|
+
}
|
349
|
+
});
|
350
|
+
this.persistentSelectedOptions = [];
|
351
|
+
setTimeout(() => {
|
352
|
+
this.updateSlotBasedSelections(false);
|
353
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
354
|
+
}, 0);
|
308
355
|
}
|
309
356
|
toggleDropdown() {
|
310
357
|
this.dropdownOpen = !this.dropdownOpen;
|
@@ -312,207 +359,154 @@ export class Multiselect {
|
|
312
359
|
if (this.dropdownOpen) {
|
313
360
|
document.addEventListener('click', this.handleDocumentClick);
|
314
361
|
}
|
315
|
-
|
362
|
+
else {
|
363
|
+
this.resetSearch();
|
364
|
+
}
|
316
365
|
this.ifxOpen.emit(this.dropdownOpen);
|
317
366
|
}, 0);
|
318
367
|
}
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
368
|
+
resetSearch() {
|
369
|
+
this.searchTerm = '';
|
370
|
+
const searchField = this.el.shadowRoot.querySelector('ifx-search-field');
|
371
|
+
if (searchField) {
|
372
|
+
searchField.value = '';
|
373
|
+
}
|
374
|
+
const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');
|
375
|
+
if (optionsContainer) {
|
376
|
+
optionsContainer.classList.remove('has-search-filter');
|
377
|
+
}
|
378
|
+
const allOptions = this.el.querySelectorAll('ifx-multiselect-option');
|
379
|
+
allOptions.forEach(option => {
|
380
|
+
const searchEvent = new CustomEvent('ifx-search-filter', {
|
381
|
+
detail: { searchTerm: '', isActive: false }
|
331
382
|
});
|
383
|
+
option.dispatchEvent(searchEvent);
|
384
|
+
});
|
385
|
+
}
|
386
|
+
handleWrapperClick(event) {
|
387
|
+
this.positionDropdown();
|
388
|
+
if (event.currentTarget === event.target) {
|
389
|
+
this.toggleDropdown();
|
332
390
|
}
|
333
|
-
request();
|
334
391
|
}
|
335
392
|
handleKeyDown(event) {
|
336
393
|
if (this.disabled)
|
337
|
-
return;
|
338
|
-
|
394
|
+
return;
|
395
|
+
// If dropdown is closed, only allow opening
|
396
|
+
if (!this.dropdownOpen) {
|
397
|
+
switch (event.code) {
|
398
|
+
case 'Enter':
|
399
|
+
case 'Space':
|
400
|
+
case 'ArrowDown':
|
401
|
+
event.preventDefault();
|
402
|
+
this.toggleDropdown();
|
403
|
+
break;
|
404
|
+
}
|
405
|
+
return;
|
406
|
+
}
|
407
|
+
// Dropdown is open - handle navigation and controls
|
339
408
|
switch (event.code) {
|
340
|
-
case '
|
409
|
+
case 'Escape':
|
410
|
+
event.preventDefault();
|
341
411
|
this.toggleDropdown();
|
342
|
-
// Wait a bit for the dropdown to finish rendering
|
343
|
-
this.waitForElement(() => {
|
344
|
-
return this.dropdownElement.querySelectorAll('.option');
|
345
|
-
}, (options) => {
|
346
|
-
this.updateHighlightedOption(options);
|
347
|
-
});
|
348
412
|
break;
|
413
|
+
case 'Enter':
|
349
414
|
case 'Space':
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
this.updateHighlightedOption(options);
|
356
|
-
});
|
357
|
-
break;
|
358
|
-
case 'ArrowDown':
|
359
|
-
this.handleArrowDown(options);
|
360
|
-
if (this.dropdownOpen) {
|
361
|
-
this.updateHighlightedOption(options);
|
415
|
+
// Don't close dropdown when pressing space/enter in controls area
|
416
|
+
const target = event.target;
|
417
|
+
if (!target.closest('.ifx-multiselect-dropdown-functions')) {
|
418
|
+
event.preventDefault();
|
419
|
+
this.toggleDropdown();
|
362
420
|
}
|
363
421
|
break;
|
422
|
+
case 'ArrowDown':
|
364
423
|
case 'ArrowUp':
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
}
|
424
|
+
// Focus first/last option for navigation
|
425
|
+
event.preventDefault();
|
426
|
+
this.focusFirstOption();
|
369
427
|
break;
|
370
428
|
}
|
371
429
|
}
|
372
|
-
|
373
|
-
// This is your existing logic for positioning the dropdown
|
374
|
-
this.positionDropdown();
|
375
|
-
// Check if the event target is the wrapper itself and not a child element.
|
376
|
-
if (event.currentTarget === event.target) {
|
377
|
-
this.toggleDropdown();
|
378
|
-
}
|
379
|
-
}
|
380
|
-
clearSelection() {
|
381
|
-
this.persistentSelectedOptions = [];
|
382
|
-
this.ifxSelect.emit(this.persistentSelectedOptions); // if you want to emit empty selection after clearing
|
383
|
-
}
|
384
|
-
positionDropdown() {
|
385
|
-
var _a;
|
386
|
-
const wrapperRect = (_a = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
387
|
-
const spaceBelow = window.innerHeight - wrapperRect.bottom;
|
388
|
-
const spaceAbove = wrapperRect.top;
|
389
|
-
// If there's more space above than below the trigger and the dropdown doesn't fit below
|
390
|
-
if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {
|
391
|
-
this.dropdownFlipped = true;
|
392
|
-
}
|
393
|
-
else {
|
394
|
-
this.dropdownFlipped = false;
|
395
|
-
}
|
396
|
-
}
|
397
|
-
// Helper function to update highlighted option based on currentIndex
|
398
|
-
updateHighlightedOption(options) {
|
399
|
-
// Clear all highlights
|
400
|
-
options.forEach((option) => option.classList.remove('is-highlighted'));
|
401
|
-
// Apply highlight to the current option
|
402
|
-
if (this.currentIndex >= 0 && this.currentIndex < options.length) {
|
403
|
-
options[this.currentIndex].classList.add('is-highlighted');
|
404
|
-
options[this.currentIndex].focus();
|
405
|
-
}
|
406
|
-
}
|
407
|
-
// Helper function to handle arrow down navigation
|
408
|
-
handleArrowDown(options) {
|
409
|
-
if (this.currentIndex < options.length - 1) {
|
410
|
-
this.currentIndex++;
|
411
|
-
}
|
412
|
-
else {
|
413
|
-
this.currentIndex = 0; // Wrap to the beginning.
|
414
|
-
}
|
415
|
-
}
|
416
|
-
// Helper function to handle arrow up navigation
|
417
|
-
handleArrowUp(options) {
|
418
|
-
if (this.currentIndex > 0) {
|
419
|
-
this.currentIndex--;
|
420
|
-
}
|
421
|
-
else {
|
422
|
-
this.currentIndex = options.length - 1; // Wrap to the end.
|
423
|
-
}
|
424
|
-
}
|
425
|
-
handleOptionKeyDown(e, option) {
|
426
|
-
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
427
|
-
e.stopPropagation();
|
428
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
429
|
-
this.handleOptionClick(option);
|
430
|
-
}
|
431
|
-
}
|
432
|
-
renderOption(option, index) {
|
430
|
+
focusFirstOption() {
|
433
431
|
var _a;
|
434
|
-
const
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
return (h("div", { class: "option-wrapper" }, h("div", { class: `option ${isSelected ? 'selected' : ''} ${disableCheckbox ? 'disabled' : ''}
|
439
|
-
${this.getSizeClass()}`, "data-value": option.value, onKeyDown: (e) => !disableCheckbox && this.handleOptionKeyDown(e, option), onClick: () => !disableCheckbox && this.handleOptionClick(option), tabindex: "0", role: `${((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "treeitem" : "option"}` }, h("ifx-checkbox", { tabIndex: -1, ref: (el) => option.checkboxRef = el, id: uniqueId, size: "s", checked: isIndeterminate ? false : isSelected, indeterminate: isIndeterminate, disabled: disableCheckbox }), h("label", { htmlFor: uniqueId, onClick: (e) => e.stopPropagation() }, option.label)), option.children && option.children.map((child, childIndex) => this.renderSubOption(child, `${index}-${childIndex}`))));
|
440
|
-
}
|
441
|
-
isOptionSelected(option) {
|
442
|
-
if (!option.children)
|
443
|
-
return false;
|
444
|
-
return option.children.every(child => this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value));
|
445
|
-
}
|
446
|
-
isOptionIndeterminate(option) {
|
447
|
-
if (!option.children)
|
448
|
-
return false;
|
449
|
-
const selectedChildren = option.children.filter(child => this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)).length;
|
450
|
-
return selectedChildren > 0 && selectedChildren < option.children.length;
|
451
|
-
}
|
452
|
-
findInOptions(options, searchTerm) {
|
453
|
-
for (const option of options) {
|
454
|
-
if (option.value === searchTerm) {
|
455
|
-
return option;
|
456
|
-
}
|
457
|
-
if (option.children) {
|
458
|
-
const foundInChildren = this.findInOptions(option.children, searchTerm);
|
459
|
-
if (foundInChildren) {
|
460
|
-
return foundInChildren;
|
461
|
-
}
|
462
|
-
}
|
432
|
+
const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');
|
433
|
+
if (firstOption) {
|
434
|
+
const labelElement = (_a = firstOption.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.option-label');
|
435
|
+
labelElement === null || labelElement === void 0 ? void 0 : labelElement.focus();
|
463
436
|
}
|
464
|
-
return null;
|
465
|
-
}
|
466
|
-
renderSubOption(option, index) {
|
467
|
-
var _a;
|
468
|
-
const isSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);
|
469
|
-
const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;
|
470
|
-
const uniqueId = `checkbox-${option.value}-${index}`;
|
471
|
-
return (h("div", { class: `option sub-option ${isSelected ? 'selected' : ''} ${this.getSizeClass()} ${disableCheckbox ? 'disabled' : ''}`, "data-value": option.value, role: `${((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "option" : "treeitem"}`, onKeyDown: (e) => !disableCheckbox && this.handleOptionKeyDown(e, option), onClick: () => !disableCheckbox && this.handleOptionClick(option), tabindex: "0" }, h("ifx-checkbox", { tabIndex: -1, ref: (el) => option.checkboxRef = el, id: uniqueId, size: "s", checked: isSelected, disabled: disableCheckbox }), h("label", { htmlFor: uniqueId, onClick: (e) => e.stopPropagation() }, option.label)));
|
472
437
|
}
|
473
438
|
renderSelectAll() {
|
474
|
-
const
|
475
|
-
const
|
476
|
-
const
|
477
|
-
const
|
478
|
-
|
439
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
440
|
+
const leafOptions = Array.from(allOptionElements).filter((el) => !el.hasChildren);
|
441
|
+
const selectedLeafOptions = Array.from(allOptionElements).filter((el) => !el.hasChildren && el.selected);
|
442
|
+
const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;
|
443
|
+
const toggleSelectAll = (event) => {
|
444
|
+
if (event) {
|
445
|
+
event.preventDefault();
|
446
|
+
event.stopPropagation();
|
447
|
+
}
|
479
448
|
if (allSelected) {
|
480
|
-
|
449
|
+
this.clearSelection();
|
481
450
|
}
|
482
451
|
else {
|
483
|
-
|
452
|
+
this.selectAll();
|
484
453
|
}
|
485
|
-
}
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
454
|
+
};
|
455
|
+
return (h("div", { class: "select-all-wrapper" }, h("ifx-checkbox", { id: 'selectAll', checked: allSelected, size: "s", "aria-label": this.ariaSelectAllLabel, onClick: toggleSelectAll, onKeyDown: (e) => {
|
456
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
457
|
+
e.preventDefault();
|
458
|
+
e.stopPropagation();
|
459
|
+
toggleSelectAll(e);
|
460
|
+
}
|
461
|
+
} }, this.selectAllLabel)));
|
462
|
+
}
|
463
|
+
renderNoResultsMessage() {
|
464
|
+
return (h("div", { class: "ifx-multiselect-no-results" }, h("div", { class: "no-results-content" }, h("span", { class: "no-results-text" }, this.noResultsMessage))));
|
494
465
|
}
|
495
466
|
render() {
|
496
|
-
// Create a label for the selected options
|
497
467
|
const selectedOptionsLabels = this.persistentSelectedOptions
|
498
|
-
.
|
499
|
-
|
500
|
-
const
|
501
|
-
|
502
|
-
parentOption.selected);
|
503
|
-
return !isChildSelectedWithParent;
|
468
|
+
.map((option) => {
|
469
|
+
var _a;
|
470
|
+
const optionElement = this.el.querySelector(`ifx-multiselect-option[value="${option.value}"]`);
|
471
|
+
return ((_a = optionElement === null || optionElement === void 0 ? void 0 : optionElement.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;
|
504
472
|
})
|
505
|
-
.map(option => option.label)
|
506
473
|
.join(', ');
|
474
|
+
const hasSelections = this.persistentSelectedOptions.length > 0;
|
475
|
+
let isFlatMultiselect = false;
|
476
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
477
|
+
if (allOptionElements.length > 0) {
|
478
|
+
isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);
|
479
|
+
}
|
507
480
|
return (h("div", { class: `ifx-multiselect-container`, ref: el => this.dropdownElement = el }, this.label ?
|
508
|
-
h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label)) : null, h("div", { class: `ifx-multiselect-wrapper
|
509
|
-
${this.
|
510
|
-
${this.dropdownOpen ? 'active' : ''}
|
481
|
+
h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label)) : null, h("div", { class: `ifx-multiselect-wrapper
|
482
|
+
${this.dropdownOpen ? 'active' : ''}
|
511
483
|
${this.dropdownFlipped ? 'is-flipped' : ''}
|
512
484
|
${this.internalError ? 'error' : ""}
|
513
|
-
${this.disabled ? 'disabled' : ""}`, tabindex: "0", onClick: this.disabled ? undefined : (event) => this.handleWrapperClick(event), onKeyDown: this.disabled ? undefined : (event) => this.handleKeyDown(event) }, h("div", { class: `ifx-multiselect-input
|
514
|
-
${
|
515
|
-
`, onClick: this.disabled ? undefined : () => this.toggleDropdown() },
|
485
|
+
${this.disabled ? 'disabled' : ""}`, role: "combobox", "aria-label": this.ariaLabel, "aria-labelledby": this.ariaLabelledBy || undefined, "aria-describedby": this.ariaDescribedBy || undefined, "aria-expanded": this.dropdownOpen, "aria-haspopup": "listbox", "aria-disabled": this.disabled, tabindex: "0", onClick: this.disabled ? undefined : (event) => this.handleWrapperClick(event), onKeyDown: this.disabled ? undefined : (event) => this.handleKeyDown(event) }, h("div", { class: `ifx-multiselect-input
|
486
|
+
${hasSelections ? '' : 'placeholder'}
|
487
|
+
`, onClick: this.disabled ? undefined : () => this.toggleDropdown() }, hasSelections ? selectedOptionsLabels : this.placeholder), this.dropdownOpen && (h("div", { class: "ifx-multiselect-dropdown-menu" }, (this.showSearch || this.showSelectAll || (this.showExpandCollapse && !isFlatMultiselect)) && (h("div", { class: "ifx-multiselect-dropdown-functions", onClick: (e) => e.stopPropagation() }, this.showSearch && (h("div", { class: "ifx-multiselect-dropdown-search" }, h("ifx-search-field", { class: "search-input", placeholder: this.searchPlaceholder, size: "s", "show-delete-icon": "true", "aria-label": this.ariaSearchLabel, onKeyDown: (e) => { e.stopPropagation(); }, onIfxInput: (event) => this.handleSearch(event.target), onFocus: () => this.handleSearchFocus(true), onBlur: () => this.handleSearchFocus(false) }))), h("div", { class: "ifx-multiselect-dropdown-controls" }, this.showSelectAll && this.renderSelectAll(), this.showExpandCollapse && !isFlatMultiselect && (h("div", { class: "expand-collapse-controls" }, h("span", { class: "control-item", role: "button", tabIndex: 0, "aria-label": this.ariaExpandAllLabel, onClick: (e) => { e.stopPropagation(); this.expandAll(); }, onKeyDown: (e) => {
|
488
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
489
|
+
e.preventDefault();
|
490
|
+
e.stopPropagation();
|
491
|
+
this.expandAll();
|
492
|
+
}
|
493
|
+
} }, this.expandLabel), h("span", { class: "control-item", role: "button", tabIndex: 0, "aria-label": this.ariaCollapseAllLabel, onClick: (e) => { e.stopPropagation(); this.collapseAll(); }, onKeyDown: (e) => {
|
494
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
495
|
+
e.preventDefault();
|
496
|
+
e.stopPropagation();
|
497
|
+
this.collapseAll();
|
498
|
+
}
|
499
|
+
} }, this.collapseLabel)))))), h("div", { class: "ifx-multiselect-options", role: "listbox", "aria-multiselectable": "true" }, h("slot", null), this.searchTerm && this.showNoResultsMessage && this.renderNoResultsMessage()))), h("div", { class: 'ifx-multiselect-icon-container' }, hasSelections && (h("div", { class: `ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`, "aria-label": this.ariaClearLabel, role: "button", tabIndex: 0, onClick: this.disabled ? undefined : (e) => { e.stopPropagation(); this.clearSelection(); }, onKeyDown: this.disabled ? undefined : (e) => {
|
500
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
501
|
+
e.stopPropagation();
|
502
|
+
this.clearSelection();
|
503
|
+
}
|
504
|
+
} }, h("ifx-icon", { icon: "c-remove-16", key: "clear-icon" }))), h("div", { class: `icon-wrapper ${this.dropdownOpen ? 'icon-wrapper--open' : 'icon-wrapper--closed'}`, "aria-label": this.ariaToggleLabel, role: "button", tabIndex: 0, onClick: this.disabled ? undefined : (e) => { e.stopPropagation(); this.toggleDropdown(); }, onKeyDown: this.disabled ? undefined : (e) => {
|
505
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
506
|
+
e.stopPropagation();
|
507
|
+
this.toggleDropdown();
|
508
|
+
}
|
509
|
+
} }, h("ifx-icon", { icon: 'chevron-down-16', key: "chevron-icon" })))), this.internalError ?
|
516
510
|
h("div", { class: "ifx-error-message-wrapper" }, h("span", null, this.internalErrorMessage)) : null));
|
517
511
|
}
|
518
512
|
static get is() { return "ifx-multiselect"; }
|
@@ -549,12 +543,52 @@ export class Multiselect {
|
|
549
543
|
"attribute": "name",
|
550
544
|
"reflect": false
|
551
545
|
},
|
552
|
-
"
|
546
|
+
"disabled": {
|
547
|
+
"type": "boolean",
|
548
|
+
"mutable": false,
|
549
|
+
"complexType": {
|
550
|
+
"original": "boolean",
|
551
|
+
"resolved": "boolean",
|
552
|
+
"references": {}
|
553
|
+
},
|
554
|
+
"required": false,
|
555
|
+
"optional": false,
|
556
|
+
"docs": {
|
557
|
+
"tags": [],
|
558
|
+
"text": ""
|
559
|
+
},
|
560
|
+
"getter": false,
|
561
|
+
"setter": false,
|
562
|
+
"attribute": "disabled",
|
563
|
+
"reflect": false,
|
564
|
+
"defaultValue": "false"
|
565
|
+
},
|
566
|
+
"error": {
|
567
|
+
"type": "boolean",
|
568
|
+
"mutable": false,
|
569
|
+
"complexType": {
|
570
|
+
"original": "boolean",
|
571
|
+
"resolved": "boolean",
|
572
|
+
"references": {}
|
573
|
+
},
|
574
|
+
"required": false,
|
575
|
+
"optional": false,
|
576
|
+
"docs": {
|
577
|
+
"tags": [],
|
578
|
+
"text": ""
|
579
|
+
},
|
580
|
+
"getter": false,
|
581
|
+
"setter": false,
|
582
|
+
"attribute": "error",
|
583
|
+
"reflect": false,
|
584
|
+
"defaultValue": "false"
|
585
|
+
},
|
586
|
+
"errorMessage": {
|
553
587
|
"type": "string",
|
554
588
|
"mutable": false,
|
555
589
|
"complexType": {
|
556
|
-
"original": "
|
557
|
-
"resolved": "
|
590
|
+
"original": "string",
|
591
|
+
"resolved": "string",
|
558
592
|
"references": {}
|
559
593
|
},
|
560
594
|
"required": false,
|
@@ -565,15 +599,16 @@ export class Multiselect {
|
|
565
599
|
},
|
566
600
|
"getter": false,
|
567
601
|
"setter": false,
|
568
|
-
"attribute": "
|
569
|
-
"reflect": false
|
602
|
+
"attribute": "error-message",
|
603
|
+
"reflect": false,
|
604
|
+
"defaultValue": "\"Error\""
|
570
605
|
},
|
571
|
-
"
|
572
|
-
"type": "
|
606
|
+
"label": {
|
607
|
+
"type": "string",
|
573
608
|
"mutable": false,
|
574
609
|
"complexType": {
|
575
|
-
"original": "
|
576
|
-
"resolved": "
|
610
|
+
"original": "string",
|
611
|
+
"resolved": "string",
|
577
612
|
"references": {}
|
578
613
|
},
|
579
614
|
"required": false,
|
@@ -584,11 +619,11 @@ export class Multiselect {
|
|
584
619
|
},
|
585
620
|
"getter": false,
|
586
621
|
"setter": false,
|
587
|
-
"attribute": "
|
622
|
+
"attribute": "label",
|
588
623
|
"reflect": false,
|
589
|
-
"defaultValue": "
|
624
|
+
"defaultValue": "\"\""
|
590
625
|
},
|
591
|
-
"
|
626
|
+
"placeholder": {
|
592
627
|
"type": "string",
|
593
628
|
"mutable": false,
|
594
629
|
"complexType": {
|
@@ -604,11 +639,11 @@ export class Multiselect {
|
|
604
639
|
},
|
605
640
|
"getter": false,
|
606
641
|
"setter": false,
|
607
|
-
"attribute": "
|
642
|
+
"attribute": "placeholder",
|
608
643
|
"reflect": false,
|
609
|
-
"defaultValue": "
|
644
|
+
"defaultValue": "\"\""
|
610
645
|
},
|
611
|
-
"
|
646
|
+
"showSearch": {
|
612
647
|
"type": "boolean",
|
613
648
|
"mutable": false,
|
614
649
|
"complexType": {
|
@@ -624,11 +659,11 @@ export class Multiselect {
|
|
624
659
|
},
|
625
660
|
"getter": false,
|
626
661
|
"setter": false,
|
627
|
-
"attribute": "
|
662
|
+
"attribute": "show-search",
|
628
663
|
"reflect": false,
|
629
|
-
"defaultValue": "
|
664
|
+
"defaultValue": "true"
|
630
665
|
},
|
631
|
-
"
|
666
|
+
"showSelectAll": {
|
632
667
|
"type": "boolean",
|
633
668
|
"mutable": false,
|
634
669
|
"complexType": {
|
@@ -644,11 +679,51 @@ export class Multiselect {
|
|
644
679
|
},
|
645
680
|
"getter": false,
|
646
681
|
"setter": false,
|
647
|
-
"attribute": "
|
682
|
+
"attribute": "show-select-all",
|
648
683
|
"reflect": false,
|
649
|
-
"defaultValue": "
|
684
|
+
"defaultValue": "true"
|
650
685
|
},
|
651
|
-
"
|
686
|
+
"showClearButton": {
|
687
|
+
"type": "boolean",
|
688
|
+
"mutable": false,
|
689
|
+
"complexType": {
|
690
|
+
"original": "boolean",
|
691
|
+
"resolved": "boolean",
|
692
|
+
"references": {}
|
693
|
+
},
|
694
|
+
"required": false,
|
695
|
+
"optional": false,
|
696
|
+
"docs": {
|
697
|
+
"tags": [],
|
698
|
+
"text": ""
|
699
|
+
},
|
700
|
+
"getter": false,
|
701
|
+
"setter": false,
|
702
|
+
"attribute": "show-clear-button",
|
703
|
+
"reflect": false,
|
704
|
+
"defaultValue": "true"
|
705
|
+
},
|
706
|
+
"showExpandCollapse": {
|
707
|
+
"type": "boolean",
|
708
|
+
"mutable": false,
|
709
|
+
"complexType": {
|
710
|
+
"original": "boolean",
|
711
|
+
"resolved": "boolean",
|
712
|
+
"references": {}
|
713
|
+
},
|
714
|
+
"required": false,
|
715
|
+
"optional": false,
|
716
|
+
"docs": {
|
717
|
+
"tags": [],
|
718
|
+
"text": ""
|
719
|
+
},
|
720
|
+
"getter": false,
|
721
|
+
"setter": false,
|
722
|
+
"attribute": "show-expand-collapse",
|
723
|
+
"reflect": false,
|
724
|
+
"defaultValue": "true"
|
725
|
+
},
|
726
|
+
"noResultsMessage": {
|
652
727
|
"type": "string",
|
653
728
|
"mutable": false,
|
654
729
|
"complexType": {
|
@@ -664,11 +739,31 @@ export class Multiselect {
|
|
664
739
|
},
|
665
740
|
"getter": false,
|
666
741
|
"setter": false,
|
667
|
-
"attribute": "
|
742
|
+
"attribute": "no-results-message",
|
668
743
|
"reflect": false,
|
669
|
-
"defaultValue": "\"
|
744
|
+
"defaultValue": "\"No results found.\""
|
670
745
|
},
|
671
|
-
"
|
746
|
+
"showNoResultsMessage": {
|
747
|
+
"type": "boolean",
|
748
|
+
"mutable": false,
|
749
|
+
"complexType": {
|
750
|
+
"original": "boolean",
|
751
|
+
"resolved": "boolean",
|
752
|
+
"references": {}
|
753
|
+
},
|
754
|
+
"required": false,
|
755
|
+
"optional": false,
|
756
|
+
"docs": {
|
757
|
+
"tags": [],
|
758
|
+
"text": ""
|
759
|
+
},
|
760
|
+
"getter": false,
|
761
|
+
"setter": false,
|
762
|
+
"attribute": "show-no-results-message",
|
763
|
+
"reflect": false,
|
764
|
+
"defaultValue": "true"
|
765
|
+
},
|
766
|
+
"searchPlaceholder": {
|
672
767
|
"type": "string",
|
673
768
|
"mutable": false,
|
674
769
|
"complexType": {
|
@@ -684,11 +779,111 @@ export class Multiselect {
|
|
684
779
|
},
|
685
780
|
"getter": false,
|
686
781
|
"setter": false,
|
687
|
-
"attribute": "
|
782
|
+
"attribute": "search-placeholder",
|
783
|
+
"reflect": false,
|
784
|
+
"defaultValue": "\"Search\""
|
785
|
+
},
|
786
|
+
"selectAllLabel": {
|
787
|
+
"type": "string",
|
788
|
+
"mutable": false,
|
789
|
+
"complexType": {
|
790
|
+
"original": "string",
|
791
|
+
"resolved": "string",
|
792
|
+
"references": {}
|
793
|
+
},
|
794
|
+
"required": false,
|
795
|
+
"optional": false,
|
796
|
+
"docs": {
|
797
|
+
"tags": [],
|
798
|
+
"text": ""
|
799
|
+
},
|
800
|
+
"getter": false,
|
801
|
+
"setter": false,
|
802
|
+
"attribute": "select-all-label",
|
803
|
+
"reflect": false,
|
804
|
+
"defaultValue": "\"Select all\""
|
805
|
+
},
|
806
|
+
"expandLabel": {
|
807
|
+
"type": "string",
|
808
|
+
"mutable": false,
|
809
|
+
"complexType": {
|
810
|
+
"original": "string",
|
811
|
+
"resolved": "string",
|
812
|
+
"references": {}
|
813
|
+
},
|
814
|
+
"required": false,
|
815
|
+
"optional": false,
|
816
|
+
"docs": {
|
817
|
+
"tags": [],
|
818
|
+
"text": ""
|
819
|
+
},
|
820
|
+
"getter": false,
|
821
|
+
"setter": false,
|
822
|
+
"attribute": "expand-label",
|
823
|
+
"reflect": false,
|
824
|
+
"defaultValue": "\"Expand\""
|
825
|
+
},
|
826
|
+
"collapseLabel": {
|
827
|
+
"type": "string",
|
828
|
+
"mutable": false,
|
829
|
+
"complexType": {
|
830
|
+
"original": "string",
|
831
|
+
"resolved": "string",
|
832
|
+
"references": {}
|
833
|
+
},
|
834
|
+
"required": false,
|
835
|
+
"optional": false,
|
836
|
+
"docs": {
|
837
|
+
"tags": [],
|
838
|
+
"text": ""
|
839
|
+
},
|
840
|
+
"getter": false,
|
841
|
+
"setter": false,
|
842
|
+
"attribute": "collapse-label",
|
843
|
+
"reflect": false,
|
844
|
+
"defaultValue": "\"Collapse\""
|
845
|
+
},
|
846
|
+
"ariaLabel": {
|
847
|
+
"type": "string",
|
848
|
+
"mutable": false,
|
849
|
+
"complexType": {
|
850
|
+
"original": "string",
|
851
|
+
"resolved": "string",
|
852
|
+
"references": {}
|
853
|
+
},
|
854
|
+
"required": false,
|
855
|
+
"optional": false,
|
856
|
+
"docs": {
|
857
|
+
"tags": [],
|
858
|
+
"text": ""
|
859
|
+
},
|
860
|
+
"getter": false,
|
861
|
+
"setter": false,
|
862
|
+
"attribute": "aria-label",
|
863
|
+
"reflect": false,
|
864
|
+
"defaultValue": "\"Multi-select dropdown\""
|
865
|
+
},
|
866
|
+
"ariaLabelledBy": {
|
867
|
+
"type": "string",
|
868
|
+
"mutable": false,
|
869
|
+
"complexType": {
|
870
|
+
"original": "string",
|
871
|
+
"resolved": "string",
|
872
|
+
"references": {}
|
873
|
+
},
|
874
|
+
"required": false,
|
875
|
+
"optional": false,
|
876
|
+
"docs": {
|
877
|
+
"tags": [],
|
878
|
+
"text": ""
|
879
|
+
},
|
880
|
+
"getter": false,
|
881
|
+
"setter": false,
|
882
|
+
"attribute": "aria-labelled-by",
|
688
883
|
"reflect": false,
|
689
884
|
"defaultValue": "\"\""
|
690
885
|
},
|
691
|
-
"
|
886
|
+
"ariaDescribedBy": {
|
692
887
|
"type": "string",
|
693
888
|
"mutable": false,
|
694
889
|
"complexType": {
|
@@ -704,16 +899,16 @@ export class Multiselect {
|
|
704
899
|
},
|
705
900
|
"getter": false,
|
706
901
|
"setter": false,
|
707
|
-
"attribute": "
|
902
|
+
"attribute": "aria-described-by",
|
708
903
|
"reflect": false,
|
709
904
|
"defaultValue": "\"\""
|
710
905
|
},
|
711
|
-
"
|
712
|
-
"type": "
|
906
|
+
"ariaSearchLabel": {
|
907
|
+
"type": "string",
|
713
908
|
"mutable": false,
|
714
909
|
"complexType": {
|
715
|
-
"original": "
|
716
|
-
"resolved": "
|
910
|
+
"original": "string",
|
911
|
+
"resolved": "string",
|
717
912
|
"references": {}
|
718
913
|
},
|
719
914
|
"required": false,
|
@@ -724,15 +919,16 @@ export class Multiselect {
|
|
724
919
|
},
|
725
920
|
"getter": false,
|
726
921
|
"setter": false,
|
727
|
-
"attribute": "
|
728
|
-
"reflect": false
|
922
|
+
"attribute": "aria-search-label",
|
923
|
+
"reflect": false,
|
924
|
+
"defaultValue": "\"Search options\""
|
729
925
|
},
|
730
|
-
"
|
731
|
-
"type": "
|
926
|
+
"ariaClearLabel": {
|
927
|
+
"type": "string",
|
732
928
|
"mutable": false,
|
733
929
|
"complexType": {
|
734
|
-
"original": "
|
735
|
-
"resolved": "
|
930
|
+
"original": "string",
|
931
|
+
"resolved": "string",
|
736
932
|
"references": {}
|
737
933
|
},
|
738
934
|
"required": false,
|
@@ -743,16 +939,16 @@ export class Multiselect {
|
|
743
939
|
},
|
744
940
|
"getter": false,
|
745
941
|
"setter": false,
|
746
|
-
"attribute": "
|
942
|
+
"attribute": "aria-clear-label",
|
747
943
|
"reflect": false,
|
748
|
-
"defaultValue": "
|
944
|
+
"defaultValue": "\"Clear all selections\""
|
749
945
|
},
|
750
|
-
"
|
751
|
-
"type": "
|
946
|
+
"ariaToggleLabel": {
|
947
|
+
"type": "string",
|
752
948
|
"mutable": false,
|
753
949
|
"complexType": {
|
754
|
-
"original": "
|
755
|
-
"resolved": "
|
950
|
+
"original": "string",
|
951
|
+
"resolved": "string",
|
756
952
|
"references": {}
|
757
953
|
},
|
758
954
|
"required": false,
|
@@ -763,16 +959,16 @@ export class Multiselect {
|
|
763
959
|
},
|
764
960
|
"getter": false,
|
765
961
|
"setter": false,
|
766
|
-
"attribute": "
|
962
|
+
"attribute": "aria-toggle-label",
|
767
963
|
"reflect": false,
|
768
|
-
"defaultValue": "
|
964
|
+
"defaultValue": "\"Toggle dropdown\""
|
769
965
|
},
|
770
|
-
"
|
771
|
-
"type": "
|
966
|
+
"ariaSelectAllLabel": {
|
967
|
+
"type": "string",
|
772
968
|
"mutable": false,
|
773
969
|
"complexType": {
|
774
|
-
"original": "
|
775
|
-
"resolved": "
|
970
|
+
"original": "string",
|
971
|
+
"resolved": "string",
|
776
972
|
"references": {}
|
777
973
|
},
|
778
974
|
"required": false,
|
@@ -783,9 +979,49 @@ export class Multiselect {
|
|
783
979
|
},
|
784
980
|
"getter": false,
|
785
981
|
"setter": false,
|
786
|
-
"attribute": "
|
982
|
+
"attribute": "aria-select-all-label",
|
787
983
|
"reflect": false,
|
788
|
-
"defaultValue": "
|
984
|
+
"defaultValue": "\"Select all options\""
|
985
|
+
},
|
986
|
+
"ariaExpandAllLabel": {
|
987
|
+
"type": "string",
|
988
|
+
"mutable": false,
|
989
|
+
"complexType": {
|
990
|
+
"original": "string",
|
991
|
+
"resolved": "string",
|
992
|
+
"references": {}
|
993
|
+
},
|
994
|
+
"required": false,
|
995
|
+
"optional": false,
|
996
|
+
"docs": {
|
997
|
+
"tags": [],
|
998
|
+
"text": ""
|
999
|
+
},
|
1000
|
+
"getter": false,
|
1001
|
+
"setter": false,
|
1002
|
+
"attribute": "aria-expand-all-label",
|
1003
|
+
"reflect": false,
|
1004
|
+
"defaultValue": "\"Expand all categories\""
|
1005
|
+
},
|
1006
|
+
"ariaCollapseAllLabel": {
|
1007
|
+
"type": "string",
|
1008
|
+
"mutable": false,
|
1009
|
+
"complexType": {
|
1010
|
+
"original": "string",
|
1011
|
+
"resolved": "string",
|
1012
|
+
"references": {}
|
1013
|
+
},
|
1014
|
+
"required": false,
|
1015
|
+
"optional": false,
|
1016
|
+
"docs": {
|
1017
|
+
"tags": [],
|
1018
|
+
"text": ""
|
1019
|
+
},
|
1020
|
+
"getter": false,
|
1021
|
+
"setter": false,
|
1022
|
+
"attribute": "aria-collapse-all-label",
|
1023
|
+
"reflect": false,
|
1024
|
+
"defaultValue": "\"Collapse all categories\""
|
789
1025
|
}
|
790
1026
|
};
|
791
1027
|
}
|
@@ -796,11 +1032,7 @@ export class Multiselect {
|
|
796
1032
|
"persistentSelectedOptions": {},
|
797
1033
|
"dropdownOpen": {},
|
798
1034
|
"dropdownFlipped": {},
|
799
|
-
"
|
800
|
-
"loadedOptions": {},
|
801
|
-
"filteredOptions": {},
|
802
|
-
"optionCount": {},
|
803
|
-
"optionsProcessed": {}
|
1035
|
+
"searchTerm": {}
|
804
1036
|
};
|
805
1037
|
}
|
806
1038
|
static get events() {
|
@@ -836,20 +1068,35 @@ export class Multiselect {
|
|
836
1068
|
}
|
837
1069
|
}];
|
838
1070
|
}
|
1071
|
+
static get methods() {
|
1072
|
+
return {
|
1073
|
+
"clearSelection": {
|
1074
|
+
"complexType": {
|
1075
|
+
"signature": "() => Promise<void>",
|
1076
|
+
"parameters": [],
|
1077
|
+
"references": {
|
1078
|
+
"Promise": {
|
1079
|
+
"location": "global",
|
1080
|
+
"id": "global::Promise"
|
1081
|
+
}
|
1082
|
+
},
|
1083
|
+
"return": "Promise<void>"
|
1084
|
+
},
|
1085
|
+
"docs": {
|
1086
|
+
"text": "",
|
1087
|
+
"tags": []
|
1088
|
+
}
|
1089
|
+
}
|
1090
|
+
};
|
1091
|
+
}
|
839
1092
|
static get elementRef() { return "el"; }
|
840
1093
|
static get watchers() {
|
841
1094
|
return [{
|
842
|
-
"propName": "options",
|
843
|
-
"methodName": "updateOptions"
|
844
|
-
}, {
|
845
1095
|
"propName": "error",
|
846
1096
|
"methodName": "updateInternalError"
|
847
1097
|
}, {
|
848
1098
|
"propName": "errorMessage",
|
849
1099
|
"methodName": "updateInternalErrorMessage"
|
850
|
-
}, {
|
851
|
-
"propName": "loadedOptions",
|
852
|
-
"methodName": "loadedOptionsChanged"
|
853
1100
|
}, {
|
854
1101
|
"propName": "persistentSelectedOptions",
|
855
1102
|
"methodName": "onSelectionChange"
|
@@ -857,5 +1104,4 @@ export class Multiselect {
|
|
857
1104
|
}
|
858
1105
|
static get attachInternalsMemberName() { return "internals"; }
|
859
1106
|
}
|
860
|
-
Multiselect.globalZIndex = 1000; // This will be shared among all instances of the component.
|
861
1107
|
//# sourceMappingURL=multiselect.js.map
|