@infineon/infineon-design-system-stencil 36.1.1--canary.1935.4c802385604f5b96d3f68ddec57be22228530228.0 → 37.0.0--canary.1926.338d775337ca6e8ab9ca7c217342b19b4ebca19e.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 +1 -8
- 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 +1 -6
- 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 +1 -31
- 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 +929 -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 +2 -7
- 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-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 +2 -7
- 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/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/icon/infineonIconStencil.js +1 -31
- 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 +60 -65
- package/dist/collection/components/select/multi-select/multiselect.js +675 -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.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/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 +2 -7
- 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 +1 -6
- 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 +1 -6
- 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 +3 -8
- 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-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 +11 -16
- 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-9b236210.js → p-030c9f43.js} +7 -7
- package/dist/components/{p-9b236210.js.map → p-030c9f43.js.map} +1 -1
- package/dist/components/{p-b1ca5daf.js → p-0c449780.js} +3 -8
- package/dist/components/p-0c449780.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-331ca3f3.js → p-186dacc8.js} +5 -10
- package/dist/components/p-186dacc8.js.map +1 -0
- package/dist/components/p-320bce19.js +432 -0
- package/dist/components/p-320bce19.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-c6e5f94d.js → p-38396fe7.js} +3 -11
- package/dist/components/p-38396fe7.js.map +1 -0
- package/dist/components/{p-b4630d0d.js → p-526e05ad.js} +6 -11
- package/dist/components/p-526e05ad.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-ab4beff7.js → p-6d12f845.js} +5 -13
- package/dist/components/p-6d12f845.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-927d5fd1.js → p-a8d0ef73.js} +11 -16
- package/dist/components/p-a8d0ef73.js.map +1 -0
- package/dist/components/p-a9d3e6d2.js +599 -0
- package/dist/components/p-a9d3e6d2.js.map +1 -0
- package/dist/components/{p-f9815000.js → p-b0039ef1.js} +2 -8
- package/dist/components/p-b0039ef1.js.map +1 -0
- package/dist/components/{p-0e4632d4.js → p-bb4de57d.js} +2 -32
- package/dist/components/p-bb4de57d.js.map +1 -0
- package/dist/components/{p-be3268af.js → p-c3c4dfdd.js} +5 -10
- package/dist/components/p-c3c4dfdd.js.map +1 -0
- package/dist/components/{p-940ee336.js → p-cd913238.js} +3 -3
- package/dist/components/{p-940ee336.js.map → p-cd913238.js.map} +1 -1
- package/dist/components/{p-39859c18.js → p-cec3c56f.js} +4 -9
- package/dist/components/p-cec3c56f.js.map +1 -0
- package/dist/components/{p-0590639e.js → p-d1790232.js} +2 -2
- package/dist/components/{p-0590639e.js.map → p-d1790232.js.map} +1 -1
- package/dist/components/{p-cca71d97.js → p-ed739e86.js} +2 -9
- package/dist/components/p-ed739e86.js.map +1 -0
- package/dist/esm/ifx-accordion_2.entry.js +1 -8
- 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 +1 -6
- 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 +2 -32
- 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 +924 -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 +2 -7
- 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-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 +2 -7
- 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-76914839.entry.js → p-0d3e5a0d.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-0d3e5a0d.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-2b38c405.entry.js → p-18a81f5f.entry.js} +2 -2
- 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-25204a1e.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-25204a1e.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-2e7d87ed.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2e7d87ed.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-4d9a4329.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4d9a4329.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5285ca40.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5285ca40.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5b5c144f.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5b5c144f.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-65fe2246.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-65fe2246.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-676fb63a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-676fb63a.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-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-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-9149a20a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9149a20a.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-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-ad7b58c3.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ad7b58c3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9c28f35f.entry.js → p-b6dd2ac0.entry.js} +3 -3
- package/dist/infineon-design-system-stencil/p-b6dd2ac0.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-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-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/types/components/accordion/accordion.d.ts +0 -1
- 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 +39 -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 +1 -1
- 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-0e4632d4.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-331ca3f3.js.map +0 -1
- package/dist/components/p-39859c18.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-927d5fd1.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-ab4beff7.js.map +0 -1
- package/dist/components/p-b1ca5daf.js.map +0 -1
- package/dist/components/p-b4630d0d.js.map +0 -1
- package/dist/components/p-be3268af.js.map +0 -1
- package/dist/components/p-c6e5f94d.js.map +0 -1
- package/dist/components/p-cca71d97.js.map +0 -1
- package/dist/components/p-df486632.js +0 -603
- package/dist/components/p-df486632.js.map +0 -1
- package/dist/components/p-e126ea6f.js.map +0 -1
- package/dist/components/p-f9815000.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-14525860.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-14525860.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.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-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-2b38c405.entry.js.map → p-18a81f5f.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,160 @@ 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.ariaMultiSelectLabel = "Multi-select dropdown";
|
31
|
+
this.ariaMultiSelectLabelledBy = "";
|
32
|
+
this.ariaMultiSelectDescribedBy = "";
|
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
|
-
|
107
|
+
}
|
108
|
+
});
|
109
|
+
}, 150);
|
110
|
+
this.pendingSelectionUpdate = false;
|
56
111
|
this.handleDocumentClick = (event) => {
|
57
112
|
const path = event.composedPath();
|
58
113
|
if (!path.includes(this.dropdownElement)) {
|
59
114
|
this.dropdownOpen = false;
|
60
115
|
document.removeEventListener('click', this.handleDocumentClick);
|
61
|
-
this.
|
62
|
-
// Dispatch the ifxMultiselectIsOpen event
|
116
|
+
this.resetSearch();
|
63
117
|
this.ifxOpen.emit(this.dropdownOpen);
|
64
118
|
}
|
65
119
|
};
|
66
120
|
}
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
121
|
+
parseChildOptions() {
|
122
|
+
const options = [];
|
123
|
+
const childElements = Array.from(this.el.children);
|
124
|
+
childElements.forEach((child, index) => {
|
125
|
+
if (child.tagName === 'IFX-MULTISELECT-OPTION') {
|
126
|
+
const option = this.parseOptionElement(child, index);
|
127
|
+
if (option) {
|
128
|
+
options.push(option);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
});
|
132
|
+
return options;
|
133
|
+
}
|
134
|
+
parseOptionElement(element, index) {
|
135
|
+
const value = element.getAttribute('value') || `option-${index}`;
|
136
|
+
const selected = element.hasAttribute('selected');
|
137
|
+
const disabled = element.hasAttribute('disabled');
|
138
|
+
const indeterminate = element.hasAttribute('indeterminate');
|
139
|
+
const option = {
|
140
|
+
value,
|
141
|
+
selected,
|
142
|
+
disabled,
|
143
|
+
indeterminate
|
144
|
+
};
|
145
|
+
const nestedOptions = Array.from(element.children)
|
146
|
+
.filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')
|
147
|
+
.map((child, childIndex) => this.parseOptionElement(child, childIndex))
|
148
|
+
.filter(opt => opt !== null);
|
149
|
+
if (nestedOptions.length > 0) {
|
150
|
+
option.children = nestedOptions;
|
151
|
+
}
|
152
|
+
return option;
|
74
153
|
}
|
75
|
-
|
76
|
-
this.isLoading = true;
|
154
|
+
loadInitialOptions() {
|
77
155
|
this.internalError = this.error;
|
78
156
|
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
|
-
}
|
157
|
+
const allOptions = this.parseChildOptions();
|
158
|
+
const initiallySelected = this.collectSelectedOptions(allOptions);
|
159
|
+
const initiallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));
|
160
|
+
this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];
|
95
161
|
}
|
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
162
|
collectSelectedOptions(options) {
|
133
163
|
let selectedOptions = [];
|
134
164
|
for (const option of options) {
|
135
165
|
if (option.selected) {
|
136
166
|
if (option.children && option.children.length > 0) {
|
137
|
-
// if parent is selected, then select all child options
|
138
167
|
selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));
|
139
168
|
}
|
140
169
|
else {
|
@@ -151,11 +180,6 @@ export class Multiselect {
|
|
151
180
|
}
|
152
181
|
return selectedOptions;
|
153
182
|
}
|
154
|
-
/**
|
155
|
-
* Collects all leaf children options.
|
156
|
-
*
|
157
|
-
* @param option A list with all leaf-children.
|
158
|
-
*/
|
159
183
|
collectLeafOptions(children) {
|
160
184
|
let leafOptions = [];
|
161
185
|
for (const child of children) {
|
@@ -168,33 +192,106 @@ export class Multiselect {
|
|
168
192
|
}
|
169
193
|
return leafOptions;
|
170
194
|
}
|
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);
|
195
|
+
handleSearchFocus(hasFocus) {
|
196
|
+
const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');
|
197
|
+
if (wrapper) {
|
198
|
+
if (hasFocus || this.searchTerm !== '') {
|
199
|
+
wrapper.classList.remove('active');
|
179
200
|
}
|
180
201
|
else {
|
181
|
-
|
202
|
+
wrapper.classList.add('active');
|
203
|
+
}
|
204
|
+
}
|
205
|
+
}
|
206
|
+
positionDropdown() {
|
207
|
+
var _a;
|
208
|
+
const wrapperRect = (_a = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
|
209
|
+
const spaceBelow = window.innerHeight - wrapperRect.bottom;
|
210
|
+
const spaceAbove = wrapperRect.top;
|
211
|
+
if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {
|
212
|
+
this.dropdownFlipped = true;
|
213
|
+
}
|
214
|
+
else {
|
215
|
+
this.dropdownFlipped = false;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
updateSlotBasedSelections(emitEvent = false) {
|
219
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
220
|
+
const selectedLeafOptions = [];
|
221
|
+
allOptionElements.forEach((optionEl) => {
|
222
|
+
const instance = optionEl['__stencil_instance'];
|
223
|
+
if (instance && instance.selected && !instance.hasChildren) {
|
224
|
+
selectedLeafOptions.push({
|
225
|
+
value: instance.value,
|
226
|
+
selected: true,
|
227
|
+
disabled: instance.disabled
|
228
|
+
});
|
182
229
|
}
|
230
|
+
});
|
231
|
+
this.persistentSelectedOptions = selectedLeafOptions;
|
232
|
+
if (emitEvent) {
|
233
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
234
|
+
}
|
235
|
+
}
|
236
|
+
updateInitialParentStates() {
|
237
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
238
|
+
const optionsByDepth = Array.from(allOptionElements)
|
239
|
+
.map(el => ({
|
240
|
+
element: el,
|
241
|
+
instance: el['__stencil_instance'],
|
242
|
+
depth: parseInt(el.getAttribute('data-level') || '0')
|
243
|
+
}))
|
244
|
+
.filter(item => item.instance)
|
245
|
+
.sort((a, b) => b.depth - a.depth);
|
246
|
+
optionsByDepth.forEach(({ instance }) => {
|
247
|
+
if (instance.hasChildren) {
|
248
|
+
this.updateParentState(instance);
|
249
|
+
}
|
250
|
+
});
|
251
|
+
}
|
252
|
+
updateParentState(parentInstance) {
|
253
|
+
const directChildren = Array.from(parentInstance.el.children)
|
254
|
+
.filter((child) => child.tagName === 'IFX-MULTISELECT-OPTION')
|
255
|
+
.map(child => child['__stencil_instance'])
|
256
|
+
.filter(instance => instance !== null);
|
257
|
+
const selectedCount = directChildren.filter(child => child.selected).length;
|
258
|
+
const indeterminateCount = directChildren.filter(child => child.indeterminate).length;
|
259
|
+
const totalCount = directChildren.length;
|
260
|
+
if (selectedCount === totalCount && indeterminateCount === 0) {
|
261
|
+
parentInstance.selected = true;
|
262
|
+
parentInstance.indeterminate = false;
|
263
|
+
}
|
264
|
+
else if (selectedCount === 0 && indeterminateCount === 0) {
|
265
|
+
parentInstance.selected = false;
|
266
|
+
parentInstance.indeterminate = false;
|
267
|
+
}
|
268
|
+
else {
|
269
|
+
parentInstance.selected = false;
|
270
|
+
parentInstance.indeterminate = true;
|
183
271
|
}
|
184
|
-
return count;
|
185
272
|
}
|
186
273
|
componentDidLoad() {
|
187
274
|
setTimeout(() => {
|
188
275
|
this.positionDropdown();
|
189
276
|
}, 500);
|
190
|
-
|
277
|
+
this.el.addEventListener('ifx-option-changed', () => {
|
278
|
+
if (!this.pendingSelectionUpdate) {
|
279
|
+
this.pendingSelectionUpdate = true;
|
280
|
+
requestAnimationFrame(() => {
|
281
|
+
this.updateSlotBasedSelections(true);
|
282
|
+
setTimeout(() => {
|
283
|
+
this.pendingSelectionUpdate = false;
|
284
|
+
}, 0);
|
285
|
+
});
|
286
|
+
}
|
287
|
+
});
|
288
|
+
setTimeout(() => {
|
289
|
+
this.updateSlotBasedSelections(false);
|
290
|
+
this.updateInitialParentStates();
|
291
|
+
}, 100);
|
191
292
|
}
|
192
293
|
componentWillLoad() {
|
193
|
-
if (!isNestedInIfxComponent(this.el)) {
|
194
|
-
trackComponent('ifx-multiselect');
|
195
|
-
}
|
196
294
|
this.loadInitialOptions();
|
197
|
-
this.filteredOptions = [...this.loadedOptions];
|
198
295
|
}
|
199
296
|
updateInternalError() {
|
200
297
|
this.internalError = this.error;
|
@@ -202,109 +299,66 @@ export class Multiselect {
|
|
202
299
|
updateInternalErrorMessage() {
|
203
300
|
this.internalErrorMessage = this.errorMessage;
|
204
301
|
}
|
205
|
-
loadedOptionsChanged() {
|
206
|
-
this.filteredOptions = [...this.loadedOptions];
|
207
|
-
}
|
208
302
|
onSelectionChange(newValue, _) {
|
209
303
|
const formData = new FormData();
|
210
304
|
newValue.forEach(option => formData.append(this.name, option.value));
|
211
305
|
this.internals.setFormValue(formData);
|
212
306
|
}
|
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);
|
307
|
+
collapseAll() {
|
308
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
309
|
+
allOptionElements.forEach((optionEl) => {
|
310
|
+
const instance = optionEl['__stencil_instance'];
|
311
|
+
if (instance && instance.hasChildren) {
|
312
|
+
instance.isExpanded = false;
|
247
313
|
}
|
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
|
-
}
|
314
|
+
});
|
274
315
|
}
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
}
|
284
|
-
this.updateParentSelectedState();
|
316
|
+
expandAll() {
|
317
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
318
|
+
allOptionElements.forEach((optionEl) => {
|
319
|
+
const instance = optionEl['__stencil_instance'];
|
320
|
+
if (instance && instance.hasChildren) {
|
321
|
+
instance.isExpanded = true;
|
322
|
+
}
|
323
|
+
});
|
285
324
|
}
|
286
|
-
|
287
|
-
this.
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
325
|
+
selectAll() {
|
326
|
+
this.resetSearch();
|
327
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
328
|
+
allOptionElements.forEach((optionEl) => {
|
329
|
+
const instance = optionEl['__stencil_instance'];
|
330
|
+
if (instance) {
|
331
|
+
if (instance.hasChildren) {
|
332
|
+
instance.isExpanded = true;
|
333
|
+
}
|
292
334
|
else {
|
293
|
-
|
294
|
-
if (this.isOptionIndeterminate(option)) {
|
295
|
-
option.indeterminate = true;
|
296
|
-
}
|
297
|
-
else {
|
298
|
-
option.indeterminate = false;
|
299
|
-
}
|
335
|
+
instance.selected = true;
|
300
336
|
}
|
301
337
|
}
|
302
338
|
});
|
339
|
+
setTimeout(() => {
|
340
|
+
this.updateInitialParentStates();
|
341
|
+
this.updateSlotBasedSelections(false);
|
342
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
343
|
+
}, 0);
|
303
344
|
}
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
345
|
+
async clearSelection() {
|
346
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
347
|
+
allOptionElements.forEach((optionEl) => {
|
348
|
+
const instance = optionEl['__stencil_instance'];
|
349
|
+
if (instance) {
|
350
|
+
instance.selected = false;
|
351
|
+
instance.indeterminate = false;
|
352
|
+
if (instance.hasChildren) {
|
353
|
+
instance.isExpanded = false;
|
354
|
+
}
|
355
|
+
}
|
356
|
+
});
|
357
|
+
this.persistentSelectedOptions = [];
|
358
|
+
setTimeout(() => {
|
359
|
+
this.updateSlotBasedSelections(false);
|
360
|
+
this.ifxSelect.emit(this.persistentSelectedOptions);
|
361
|
+
}, 0);
|
308
362
|
}
|
309
363
|
toggleDropdown() {
|
310
364
|
this.dropdownOpen = !this.dropdownOpen;
|
@@ -312,207 +366,144 @@ export class Multiselect {
|
|
312
366
|
if (this.dropdownOpen) {
|
313
367
|
document.addEventListener('click', this.handleDocumentClick);
|
314
368
|
}
|
315
|
-
|
369
|
+
else {
|
370
|
+
this.resetSearch();
|
371
|
+
}
|
316
372
|
this.ifxOpen.emit(this.dropdownOpen);
|
317
373
|
}, 0);
|
318
374
|
}
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
375
|
+
resetSearch() {
|
376
|
+
this.searchTerm = '';
|
377
|
+
const searchField = this.el.shadowRoot.querySelector('ifx-search-field');
|
378
|
+
if (searchField) {
|
379
|
+
searchField.value = '';
|
380
|
+
}
|
381
|
+
const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');
|
382
|
+
if (optionsContainer) {
|
383
|
+
optionsContainer.classList.remove('has-search-filter');
|
384
|
+
}
|
385
|
+
const allOptions = this.el.querySelectorAll('ifx-multiselect-option');
|
386
|
+
allOptions.forEach(option => {
|
387
|
+
const searchEvent = new CustomEvent('ifx-search-filter', {
|
388
|
+
detail: { searchTerm: '', isActive: false }
|
331
389
|
});
|
390
|
+
option.dispatchEvent(searchEvent);
|
391
|
+
});
|
392
|
+
}
|
393
|
+
handleWrapperClick(event) {
|
394
|
+
this.positionDropdown();
|
395
|
+
if (event.currentTarget === event.target) {
|
396
|
+
this.toggleDropdown();
|
332
397
|
}
|
333
|
-
request();
|
334
398
|
}
|
335
399
|
handleKeyDown(event) {
|
336
400
|
if (this.disabled)
|
337
|
-
return;
|
338
|
-
|
401
|
+
return;
|
402
|
+
// If dropdown is closed, only allow opening
|
403
|
+
if (!this.dropdownOpen) {
|
404
|
+
switch (event.code) {
|
405
|
+
case 'Enter':
|
406
|
+
case 'Space':
|
407
|
+
case 'ArrowDown':
|
408
|
+
event.preventDefault();
|
409
|
+
this.toggleDropdown();
|
410
|
+
break;
|
411
|
+
}
|
412
|
+
return;
|
413
|
+
}
|
414
|
+
// Dropdown is open - handle navigation and controls
|
339
415
|
switch (event.code) {
|
340
|
-
case '
|
416
|
+
case 'Escape':
|
417
|
+
event.preventDefault();
|
341
418
|
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
419
|
break;
|
420
|
+
case 'Enter':
|
349
421
|
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);
|
422
|
+
// Don't close dropdown when pressing space/enter in controls area
|
423
|
+
const target = event.target;
|
424
|
+
if (!target.closest('.ifx-multiselect-dropdown-functions')) {
|
425
|
+
event.preventDefault();
|
426
|
+
this.toggleDropdown();
|
362
427
|
}
|
363
428
|
break;
|
429
|
+
case 'ArrowDown':
|
364
430
|
case 'ArrowUp':
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
}
|
431
|
+
// Focus first/last option for navigation
|
432
|
+
event.preventDefault();
|
433
|
+
this.focusFirstOption();
|
369
434
|
break;
|
370
435
|
}
|
371
436
|
}
|
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) {
|
437
|
+
focusFirstOption() {
|
433
438
|
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
|
-
}
|
439
|
+
const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');
|
440
|
+
if (firstOption) {
|
441
|
+
const labelElement = (_a = firstOption.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.option-label');
|
442
|
+
labelElement === null || labelElement === void 0 ? void 0 : labelElement.focus();
|
463
443
|
}
|
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
444
|
}
|
473
445
|
renderSelectAll() {
|
474
|
-
const
|
475
|
-
const
|
476
|
-
const
|
477
|
-
const
|
478
|
-
|
446
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
447
|
+
const leafOptions = Array.from(allOptionElements).filter((el) => !el.hasChildren);
|
448
|
+
const selectedLeafOptions = Array.from(allOptionElements).filter((el) => !el.hasChildren && el.selected);
|
449
|
+
const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;
|
450
|
+
const toggleSelectAll = (event) => {
|
451
|
+
if (event) {
|
452
|
+
event.preventDefault();
|
453
|
+
event.stopPropagation();
|
454
|
+
}
|
479
455
|
if (allSelected) {
|
480
|
-
|
456
|
+
this.clearSelection();
|
481
457
|
}
|
482
458
|
else {
|
483
|
-
|
484
|
-
}
|
485
|
-
}
|
486
|
-
function handleSelectAllKeydown(e) {
|
487
|
-
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
488
|
-
e.stopPropagation();
|
489
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
490
|
-
toggleSelectAll();
|
459
|
+
this.selectAll();
|
491
460
|
}
|
492
|
-
}
|
493
|
-
return h("div", { class: "select-all-wrapper" }, h("
|
461
|
+
};
|
462
|
+
return (h("div", { class: "select-all-wrapper" }, h("ifx-checkbox", { id: 'selectAll', checked: allSelected, size: "s", "aria-label": this.ariaSelectAllLabel, onClick: toggleSelectAll, onKeyDown: (e) => {
|
463
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
464
|
+
e.preventDefault();
|
465
|
+
e.stopPropagation();
|
466
|
+
toggleSelectAll(e);
|
467
|
+
}
|
468
|
+
} }, this.selectAllLabel)));
|
469
|
+
}
|
470
|
+
renderNoResultsMessage() {
|
471
|
+
return (h("div", { class: "ifx-multiselect-no-results" }, h("div", { class: "no-results-content" }, h("span", { class: "no-results-text" }, this.noResultsMessage))));
|
494
472
|
}
|
495
473
|
render() {
|
496
|
-
// Create a label for the selected options
|
497
474
|
const selectedOptionsLabels = this.persistentSelectedOptions
|
498
|
-
.
|
499
|
-
|
500
|
-
const
|
501
|
-
|
502
|
-
parentOption.selected);
|
503
|
-
return !isChildSelectedWithParent;
|
475
|
+
.map((option) => {
|
476
|
+
var _a;
|
477
|
+
const optionElement = this.el.querySelector(`ifx-multiselect-option[value="${option.value}"]`);
|
478
|
+
return ((_a = optionElement === null || optionElement === void 0 ? void 0 : optionElement.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || option.value;
|
504
479
|
})
|
505
|
-
.map(option => option.label)
|
506
480
|
.join(', ');
|
481
|
+
const hasSelections = this.persistentSelectedOptions.length > 0;
|
482
|
+
let isFlatMultiselect = false;
|
483
|
+
const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');
|
484
|
+
if (allOptionElements.length > 0) {
|
485
|
+
isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);
|
486
|
+
}
|
507
487
|
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' : ''}
|
488
|
+
h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label)) : null, h("div", { class: `ifx-multiselect-wrapper
|
489
|
+
${this.dropdownOpen ? 'active' : ''}
|
511
490
|
${this.dropdownFlipped ? 'is-flipped' : ''}
|
512
491
|
${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() },
|
492
|
+
${this.disabled ? 'disabled' : ""}`, role: "combobox", "aria-label": this.ariaMultiSelectLabel, "aria-labelledby": this.ariaMultiSelectLabelledBy || undefined, "aria-describedby": this.ariaMultiSelectDescribedBy || 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
|
493
|
+
${hasSelections ? '' : 'placeholder'}
|
494
|
+
`, 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) => {
|
495
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
496
|
+
e.preventDefault();
|
497
|
+
e.stopPropagation();
|
498
|
+
this.expandAll();
|
499
|
+
}
|
500
|
+
} }, this.expandLabel), h("span", { class: "control-item", role: "button", tabIndex: 0, "aria-label": this.ariaCollapseAllLabel, onClick: (e) => { e.stopPropagation(); this.collapseAll(); }, onKeyDown: (e) => {
|
501
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
502
|
+
e.preventDefault();
|
503
|
+
e.stopPropagation();
|
504
|
+
this.collapseAll();
|
505
|
+
}
|
506
|
+
} }, 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' }, this.persistentSelectedOptions.length > 0 && (h("div", { class: `ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`, onClick: this.disabled ? undefined : () => this.clearSelection() }, h("ifx-icon", { icon: "cRemove16" }))), h("div", { class: "icon-wrapper-up", onClick: this.disabled ? undefined : () => this.toggleDropdown() }, h("ifx-icon", { key: 'icon-up', icon: 'chevron-up-16' })), h("div", { class: "icon-wrapper-down", onClick: this.disabled ? undefined : () => this.toggleDropdown() }, h("ifx-icon", { key: 'icon-down', icon: 'chevron-down-16' })))), this.internalError ?
|
516
507
|
h("div", { class: "ifx-error-message-wrapper" }, h("span", null, this.internalErrorMessage)) : null));
|
517
508
|
}
|
518
509
|
static get is() { return "ifx-multiselect"; }
|
@@ -549,12 +540,52 @@ export class Multiselect {
|
|
549
540
|
"attribute": "name",
|
550
541
|
"reflect": false
|
551
542
|
},
|
552
|
-
"
|
543
|
+
"disabled": {
|
544
|
+
"type": "boolean",
|
545
|
+
"mutable": false,
|
546
|
+
"complexType": {
|
547
|
+
"original": "boolean",
|
548
|
+
"resolved": "boolean",
|
549
|
+
"references": {}
|
550
|
+
},
|
551
|
+
"required": false,
|
552
|
+
"optional": false,
|
553
|
+
"docs": {
|
554
|
+
"tags": [],
|
555
|
+
"text": ""
|
556
|
+
},
|
557
|
+
"getter": false,
|
558
|
+
"setter": false,
|
559
|
+
"attribute": "disabled",
|
560
|
+
"reflect": false,
|
561
|
+
"defaultValue": "false"
|
562
|
+
},
|
563
|
+
"error": {
|
564
|
+
"type": "boolean",
|
565
|
+
"mutable": false,
|
566
|
+
"complexType": {
|
567
|
+
"original": "boolean",
|
568
|
+
"resolved": "boolean",
|
569
|
+
"references": {}
|
570
|
+
},
|
571
|
+
"required": false,
|
572
|
+
"optional": false,
|
573
|
+
"docs": {
|
574
|
+
"tags": [],
|
575
|
+
"text": ""
|
576
|
+
},
|
577
|
+
"getter": false,
|
578
|
+
"setter": false,
|
579
|
+
"attribute": "error",
|
580
|
+
"reflect": false,
|
581
|
+
"defaultValue": "false"
|
582
|
+
},
|
583
|
+
"errorMessage": {
|
553
584
|
"type": "string",
|
554
585
|
"mutable": false,
|
555
586
|
"complexType": {
|
556
|
-
"original": "
|
557
|
-
"resolved": "
|
587
|
+
"original": "string",
|
588
|
+
"resolved": "string",
|
558
589
|
"references": {}
|
559
590
|
},
|
560
591
|
"required": false,
|
@@ -565,15 +596,16 @@ export class Multiselect {
|
|
565
596
|
},
|
566
597
|
"getter": false,
|
567
598
|
"setter": false,
|
568
|
-
"attribute": "
|
569
|
-
"reflect": false
|
599
|
+
"attribute": "error-message",
|
600
|
+
"reflect": false,
|
601
|
+
"defaultValue": "\"Error\""
|
570
602
|
},
|
571
|
-
"
|
572
|
-
"type": "
|
603
|
+
"label": {
|
604
|
+
"type": "string",
|
573
605
|
"mutable": false,
|
574
606
|
"complexType": {
|
575
|
-
"original": "
|
576
|
-
"resolved": "
|
607
|
+
"original": "string",
|
608
|
+
"resolved": "string",
|
577
609
|
"references": {}
|
578
610
|
},
|
579
611
|
"required": false,
|
@@ -584,11 +616,11 @@ export class Multiselect {
|
|
584
616
|
},
|
585
617
|
"getter": false,
|
586
618
|
"setter": false,
|
587
|
-
"attribute": "
|
619
|
+
"attribute": "label",
|
588
620
|
"reflect": false,
|
589
|
-
"defaultValue": "
|
621
|
+
"defaultValue": "\"\""
|
590
622
|
},
|
591
|
-
"
|
623
|
+
"placeholder": {
|
592
624
|
"type": "string",
|
593
625
|
"mutable": false,
|
594
626
|
"complexType": {
|
@@ -604,11 +636,11 @@ export class Multiselect {
|
|
604
636
|
},
|
605
637
|
"getter": false,
|
606
638
|
"setter": false,
|
607
|
-
"attribute": "
|
639
|
+
"attribute": "placeholder",
|
608
640
|
"reflect": false,
|
609
|
-
"defaultValue": "
|
641
|
+
"defaultValue": "\"\""
|
610
642
|
},
|
611
|
-
"
|
643
|
+
"showSearch": {
|
612
644
|
"type": "boolean",
|
613
645
|
"mutable": false,
|
614
646
|
"complexType": {
|
@@ -624,11 +656,11 @@ export class Multiselect {
|
|
624
656
|
},
|
625
657
|
"getter": false,
|
626
658
|
"setter": false,
|
627
|
-
"attribute": "
|
659
|
+
"attribute": "show-search",
|
628
660
|
"reflect": false,
|
629
|
-
"defaultValue": "
|
661
|
+
"defaultValue": "true"
|
630
662
|
},
|
631
|
-
"
|
663
|
+
"showSelectAll": {
|
632
664
|
"type": "boolean",
|
633
665
|
"mutable": false,
|
634
666
|
"complexType": {
|
@@ -644,11 +676,51 @@ export class Multiselect {
|
|
644
676
|
},
|
645
677
|
"getter": false,
|
646
678
|
"setter": false,
|
647
|
-
"attribute": "
|
679
|
+
"attribute": "show-select-all",
|
648
680
|
"reflect": false,
|
649
|
-
"defaultValue": "
|
681
|
+
"defaultValue": "true"
|
650
682
|
},
|
651
|
-
"
|
683
|
+
"showClearButton": {
|
684
|
+
"type": "boolean",
|
685
|
+
"mutable": false,
|
686
|
+
"complexType": {
|
687
|
+
"original": "boolean",
|
688
|
+
"resolved": "boolean",
|
689
|
+
"references": {}
|
690
|
+
},
|
691
|
+
"required": false,
|
692
|
+
"optional": false,
|
693
|
+
"docs": {
|
694
|
+
"tags": [],
|
695
|
+
"text": ""
|
696
|
+
},
|
697
|
+
"getter": false,
|
698
|
+
"setter": false,
|
699
|
+
"attribute": "show-clear-button",
|
700
|
+
"reflect": false,
|
701
|
+
"defaultValue": "true"
|
702
|
+
},
|
703
|
+
"showExpandCollapse": {
|
704
|
+
"type": "boolean",
|
705
|
+
"mutable": false,
|
706
|
+
"complexType": {
|
707
|
+
"original": "boolean",
|
708
|
+
"resolved": "boolean",
|
709
|
+
"references": {}
|
710
|
+
},
|
711
|
+
"required": false,
|
712
|
+
"optional": false,
|
713
|
+
"docs": {
|
714
|
+
"tags": [],
|
715
|
+
"text": ""
|
716
|
+
},
|
717
|
+
"getter": false,
|
718
|
+
"setter": false,
|
719
|
+
"attribute": "show-expand-collapse",
|
720
|
+
"reflect": false,
|
721
|
+
"defaultValue": "true"
|
722
|
+
},
|
723
|
+
"noResultsMessage": {
|
652
724
|
"type": "string",
|
653
725
|
"mutable": false,
|
654
726
|
"complexType": {
|
@@ -664,11 +736,31 @@ export class Multiselect {
|
|
664
736
|
},
|
665
737
|
"getter": false,
|
666
738
|
"setter": false,
|
667
|
-
"attribute": "
|
739
|
+
"attribute": "no-results-message",
|
668
740
|
"reflect": false,
|
669
|
-
"defaultValue": "\"
|
741
|
+
"defaultValue": "\"No results found.\""
|
670
742
|
},
|
671
|
-
"
|
743
|
+
"showNoResultsMessage": {
|
744
|
+
"type": "boolean",
|
745
|
+
"mutable": false,
|
746
|
+
"complexType": {
|
747
|
+
"original": "boolean",
|
748
|
+
"resolved": "boolean",
|
749
|
+
"references": {}
|
750
|
+
},
|
751
|
+
"required": false,
|
752
|
+
"optional": false,
|
753
|
+
"docs": {
|
754
|
+
"tags": [],
|
755
|
+
"text": ""
|
756
|
+
},
|
757
|
+
"getter": false,
|
758
|
+
"setter": false,
|
759
|
+
"attribute": "show-no-results-message",
|
760
|
+
"reflect": false,
|
761
|
+
"defaultValue": "true"
|
762
|
+
},
|
763
|
+
"searchPlaceholder": {
|
672
764
|
"type": "string",
|
673
765
|
"mutable": false,
|
674
766
|
"complexType": {
|
@@ -684,11 +776,111 @@ export class Multiselect {
|
|
684
776
|
},
|
685
777
|
"getter": false,
|
686
778
|
"setter": false,
|
687
|
-
"attribute": "
|
779
|
+
"attribute": "search-placeholder",
|
780
|
+
"reflect": false,
|
781
|
+
"defaultValue": "\"Search\""
|
782
|
+
},
|
783
|
+
"selectAllLabel": {
|
784
|
+
"type": "string",
|
785
|
+
"mutable": false,
|
786
|
+
"complexType": {
|
787
|
+
"original": "string",
|
788
|
+
"resolved": "string",
|
789
|
+
"references": {}
|
790
|
+
},
|
791
|
+
"required": false,
|
792
|
+
"optional": false,
|
793
|
+
"docs": {
|
794
|
+
"tags": [],
|
795
|
+
"text": ""
|
796
|
+
},
|
797
|
+
"getter": false,
|
798
|
+
"setter": false,
|
799
|
+
"attribute": "select-all-label",
|
800
|
+
"reflect": false,
|
801
|
+
"defaultValue": "\"Select all\""
|
802
|
+
},
|
803
|
+
"expandLabel": {
|
804
|
+
"type": "string",
|
805
|
+
"mutable": false,
|
806
|
+
"complexType": {
|
807
|
+
"original": "string",
|
808
|
+
"resolved": "string",
|
809
|
+
"references": {}
|
810
|
+
},
|
811
|
+
"required": false,
|
812
|
+
"optional": false,
|
813
|
+
"docs": {
|
814
|
+
"tags": [],
|
815
|
+
"text": ""
|
816
|
+
},
|
817
|
+
"getter": false,
|
818
|
+
"setter": false,
|
819
|
+
"attribute": "expand-label",
|
820
|
+
"reflect": false,
|
821
|
+
"defaultValue": "\"Expand\""
|
822
|
+
},
|
823
|
+
"collapseLabel": {
|
824
|
+
"type": "string",
|
825
|
+
"mutable": false,
|
826
|
+
"complexType": {
|
827
|
+
"original": "string",
|
828
|
+
"resolved": "string",
|
829
|
+
"references": {}
|
830
|
+
},
|
831
|
+
"required": false,
|
832
|
+
"optional": false,
|
833
|
+
"docs": {
|
834
|
+
"tags": [],
|
835
|
+
"text": ""
|
836
|
+
},
|
837
|
+
"getter": false,
|
838
|
+
"setter": false,
|
839
|
+
"attribute": "collapse-label",
|
840
|
+
"reflect": false,
|
841
|
+
"defaultValue": "\"Collapse\""
|
842
|
+
},
|
843
|
+
"ariaMultiSelectLabel": {
|
844
|
+
"type": "string",
|
845
|
+
"mutable": false,
|
846
|
+
"complexType": {
|
847
|
+
"original": "string",
|
848
|
+
"resolved": "string",
|
849
|
+
"references": {}
|
850
|
+
},
|
851
|
+
"required": false,
|
852
|
+
"optional": false,
|
853
|
+
"docs": {
|
854
|
+
"tags": [],
|
855
|
+
"text": ""
|
856
|
+
},
|
857
|
+
"getter": false,
|
858
|
+
"setter": false,
|
859
|
+
"attribute": "aria-multi-select-label",
|
860
|
+
"reflect": false,
|
861
|
+
"defaultValue": "\"Multi-select dropdown\""
|
862
|
+
},
|
863
|
+
"ariaMultiSelectLabelledBy": {
|
864
|
+
"type": "string",
|
865
|
+
"mutable": false,
|
866
|
+
"complexType": {
|
867
|
+
"original": "string",
|
868
|
+
"resolved": "string",
|
869
|
+
"references": {}
|
870
|
+
},
|
871
|
+
"required": false,
|
872
|
+
"optional": false,
|
873
|
+
"docs": {
|
874
|
+
"tags": [],
|
875
|
+
"text": ""
|
876
|
+
},
|
877
|
+
"getter": false,
|
878
|
+
"setter": false,
|
879
|
+
"attribute": "aria-multi-select-labelled-by",
|
688
880
|
"reflect": false,
|
689
881
|
"defaultValue": "\"\""
|
690
882
|
},
|
691
|
-
"
|
883
|
+
"ariaMultiSelectDescribedBy": {
|
692
884
|
"type": "string",
|
693
885
|
"mutable": false,
|
694
886
|
"complexType": {
|
@@ -704,16 +896,16 @@ export class Multiselect {
|
|
704
896
|
},
|
705
897
|
"getter": false,
|
706
898
|
"setter": false,
|
707
|
-
"attribute": "
|
899
|
+
"attribute": "aria-multi-select-described-by",
|
708
900
|
"reflect": false,
|
709
901
|
"defaultValue": "\"\""
|
710
902
|
},
|
711
|
-
"
|
712
|
-
"type": "
|
903
|
+
"ariaSearchLabel": {
|
904
|
+
"type": "string",
|
713
905
|
"mutable": false,
|
714
906
|
"complexType": {
|
715
|
-
"original": "
|
716
|
-
"resolved": "
|
907
|
+
"original": "string",
|
908
|
+
"resolved": "string",
|
717
909
|
"references": {}
|
718
910
|
},
|
719
911
|
"required": false,
|
@@ -724,15 +916,16 @@ export class Multiselect {
|
|
724
916
|
},
|
725
917
|
"getter": false,
|
726
918
|
"setter": false,
|
727
|
-
"attribute": "
|
728
|
-
"reflect": false
|
919
|
+
"attribute": "aria-search-label",
|
920
|
+
"reflect": false,
|
921
|
+
"defaultValue": "\"Search options\""
|
729
922
|
},
|
730
|
-
"
|
731
|
-
"type": "
|
923
|
+
"ariaClearLabel": {
|
924
|
+
"type": "string",
|
732
925
|
"mutable": false,
|
733
926
|
"complexType": {
|
734
|
-
"original": "
|
735
|
-
"resolved": "
|
927
|
+
"original": "string",
|
928
|
+
"resolved": "string",
|
736
929
|
"references": {}
|
737
930
|
},
|
738
931
|
"required": false,
|
@@ -743,16 +936,16 @@ export class Multiselect {
|
|
743
936
|
},
|
744
937
|
"getter": false,
|
745
938
|
"setter": false,
|
746
|
-
"attribute": "
|
939
|
+
"attribute": "aria-clear-label",
|
747
940
|
"reflect": false,
|
748
|
-
"defaultValue": "
|
941
|
+
"defaultValue": "\"Clear all selections\""
|
749
942
|
},
|
750
|
-
"
|
751
|
-
"type": "
|
943
|
+
"ariaToggleLabel": {
|
944
|
+
"type": "string",
|
752
945
|
"mutable": false,
|
753
946
|
"complexType": {
|
754
|
-
"original": "
|
755
|
-
"resolved": "
|
947
|
+
"original": "string",
|
948
|
+
"resolved": "string",
|
756
949
|
"references": {}
|
757
950
|
},
|
758
951
|
"required": false,
|
@@ -763,16 +956,16 @@ export class Multiselect {
|
|
763
956
|
},
|
764
957
|
"getter": false,
|
765
958
|
"setter": false,
|
766
|
-
"attribute": "
|
959
|
+
"attribute": "aria-toggle-label",
|
767
960
|
"reflect": false,
|
768
|
-
"defaultValue": "
|
961
|
+
"defaultValue": "\"Toggle dropdown\""
|
769
962
|
},
|
770
|
-
"
|
771
|
-
"type": "
|
963
|
+
"ariaSelectAllLabel": {
|
964
|
+
"type": "string",
|
772
965
|
"mutable": false,
|
773
966
|
"complexType": {
|
774
|
-
"original": "
|
775
|
-
"resolved": "
|
967
|
+
"original": "string",
|
968
|
+
"resolved": "string",
|
776
969
|
"references": {}
|
777
970
|
},
|
778
971
|
"required": false,
|
@@ -783,9 +976,49 @@ export class Multiselect {
|
|
783
976
|
},
|
784
977
|
"getter": false,
|
785
978
|
"setter": false,
|
786
|
-
"attribute": "
|
979
|
+
"attribute": "aria-select-all-label",
|
787
980
|
"reflect": false,
|
788
|
-
"defaultValue": "
|
981
|
+
"defaultValue": "\"Select all options\""
|
982
|
+
},
|
983
|
+
"ariaExpandAllLabel": {
|
984
|
+
"type": "string",
|
985
|
+
"mutable": false,
|
986
|
+
"complexType": {
|
987
|
+
"original": "string",
|
988
|
+
"resolved": "string",
|
989
|
+
"references": {}
|
990
|
+
},
|
991
|
+
"required": false,
|
992
|
+
"optional": false,
|
993
|
+
"docs": {
|
994
|
+
"tags": [],
|
995
|
+
"text": ""
|
996
|
+
},
|
997
|
+
"getter": false,
|
998
|
+
"setter": false,
|
999
|
+
"attribute": "aria-expand-all-label",
|
1000
|
+
"reflect": false,
|
1001
|
+
"defaultValue": "\"Expand all categories\""
|
1002
|
+
},
|
1003
|
+
"ariaCollapseAllLabel": {
|
1004
|
+
"type": "string",
|
1005
|
+
"mutable": false,
|
1006
|
+
"complexType": {
|
1007
|
+
"original": "string",
|
1008
|
+
"resolved": "string",
|
1009
|
+
"references": {}
|
1010
|
+
},
|
1011
|
+
"required": false,
|
1012
|
+
"optional": false,
|
1013
|
+
"docs": {
|
1014
|
+
"tags": [],
|
1015
|
+
"text": ""
|
1016
|
+
},
|
1017
|
+
"getter": false,
|
1018
|
+
"setter": false,
|
1019
|
+
"attribute": "aria-collapse-all-label",
|
1020
|
+
"reflect": false,
|
1021
|
+
"defaultValue": "\"Collapse all categories\""
|
789
1022
|
}
|
790
1023
|
};
|
791
1024
|
}
|
@@ -796,11 +1029,7 @@ export class Multiselect {
|
|
796
1029
|
"persistentSelectedOptions": {},
|
797
1030
|
"dropdownOpen": {},
|
798
1031
|
"dropdownFlipped": {},
|
799
|
-
"
|
800
|
-
"loadedOptions": {},
|
801
|
-
"filteredOptions": {},
|
802
|
-
"optionCount": {},
|
803
|
-
"optionsProcessed": {}
|
1032
|
+
"searchTerm": {}
|
804
1033
|
};
|
805
1034
|
}
|
806
1035
|
static get events() {
|
@@ -836,20 +1065,35 @@ export class Multiselect {
|
|
836
1065
|
}
|
837
1066
|
}];
|
838
1067
|
}
|
1068
|
+
static get methods() {
|
1069
|
+
return {
|
1070
|
+
"clearSelection": {
|
1071
|
+
"complexType": {
|
1072
|
+
"signature": "() => Promise<void>",
|
1073
|
+
"parameters": [],
|
1074
|
+
"references": {
|
1075
|
+
"Promise": {
|
1076
|
+
"location": "global",
|
1077
|
+
"id": "global::Promise"
|
1078
|
+
}
|
1079
|
+
},
|
1080
|
+
"return": "Promise<void>"
|
1081
|
+
},
|
1082
|
+
"docs": {
|
1083
|
+
"text": "",
|
1084
|
+
"tags": []
|
1085
|
+
}
|
1086
|
+
}
|
1087
|
+
};
|
1088
|
+
}
|
839
1089
|
static get elementRef() { return "el"; }
|
840
1090
|
static get watchers() {
|
841
1091
|
return [{
|
842
|
-
"propName": "options",
|
843
|
-
"methodName": "updateOptions"
|
844
|
-
}, {
|
845
1092
|
"propName": "error",
|
846
1093
|
"methodName": "updateInternalError"
|
847
1094
|
}, {
|
848
1095
|
"propName": "errorMessage",
|
849
1096
|
"methodName": "updateInternalErrorMessage"
|
850
|
-
}, {
|
851
|
-
"propName": "loadedOptions",
|
852
|
-
"methodName": "loadedOptionsChanged"
|
853
1097
|
}, {
|
854
1098
|
"propName": "persistentSelectedOptions",
|
855
1099
|
"methodName": "onSelectionChange"
|
@@ -857,5 +1101,4 @@ export class Multiselect {
|
|
857
1101
|
}
|
858
1102
|
static get attachInternalsMemberName() { return "internals"; }
|
859
1103
|
}
|
860
|
-
Multiselect.globalZIndex = 1000; // This will be shared among all instances of the component.
|
861
1104
|
//# sourceMappingURL=multiselect.js.map
|