@infineon/infineon-design-system-stencil 39.4.4-canary.0 → 39.5.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/LICENSE +21 -21
- package/README.md +452 -452
- package/dist/cjs/dom-utils-dykhxr-_.js.map +1 -1
- package/dist/cjs/framework-detection-C_6nNXcS.js.map +1 -1
- package/dist/cjs/ifx-accordion.ifx-accordion-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-action-list-item.cjs.entry.js +1 -1
- package/dist/cjs/ifx-action-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-action-list-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-action-list.cjs.entry.js +1 -1
- package/dist/cjs/ifx-action-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-action-list.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-alert.ifx-template.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js +7 -7
- package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js +1 -1
- package/dist/cjs/ifx-breadcrumb-item-label.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb-item-label.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/ifx-breadcrumb-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card-headline.cjs.entry.js +1 -1
- package/dist/cjs/ifx-card-headline.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card-headline.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card-image.cjs.entry.js +1 -1
- package/dist/cjs/ifx-card-image.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card-image.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card-links.cjs.entry.js +1 -1
- package/dist/cjs/ifx-card-links.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card-links.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card-overline.cjs.entry.js +1 -1
- package/dist/cjs/ifx-card-overline.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card-overline.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card-text.cjs.entry.js +1 -1
- package/dist/cjs/ifx-card-text.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card-text.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-card.cjs.entry.js +5 -5
- package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-chip.ifx-chip-item.ifx-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-chip_3.cjs.entry.js +15 -15
- package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher-item.cjs.entry.js +1 -1
- package/dist/cjs/ifx-content-switcher-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -2
- package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-date-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-download.cjs.entry.js +2 -2
- package/dist/cjs/ifx-download.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-download.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/ifx-dropdown-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-header.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/ifx-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-menu.cjs.entry.js +4 -4
- package/dist/cjs/ifx-dropdown-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-separator.cjs.entry.js +1 -1
- package/dist/cjs/ifx-dropdown-separator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-separator.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js +2 -2
- package/dist/cjs/ifx-dropdown-trigger-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-trigger-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js +1 -1
- package/dist/cjs/ifx-dropdown-trigger.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown-trigger.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
- package/dist/cjs/ifx-faq.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-faq.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -2
- package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-file-upload.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ifx-filter-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-search.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-search.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-type-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-type-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-footer-column.cjs.entry.js +1 -1
- package/dist/cjs/ifx-footer-column.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-footer-column.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-footer.cjs.entry.js +4 -4
- package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-footer.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-icons-preview.cjs.entry.js +1 -1
- package/dist/cjs/ifx-icons-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icons-preview.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-indicator.cjs.entry.js +2 -2
- package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-indicator.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-link.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
- package/dist/cjs/ifx-list-entry.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-list-entry.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-list.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-modal.cjs.entry.js +2 -2
- package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-multiselect.ifx-multiselect-option.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js +14 -14
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar-item.cjs.entry.js +5 -5
- package/dist/cjs/ifx-navbar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-navbar-profile.cjs.entry.js +6 -6
- package/dist/cjs/ifx-navbar-profile.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar-profile.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-navbar.cjs.entry.js +3 -3
- package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-notification.cjs.entry.js +2 -2
- package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-notification.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-overview-table.cjs.entry.js +1 -1
- package/dist/cjs/ifx-overview-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-overview-table.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-radio-button.cjs.entry.js +10 -10
- package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-bar.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js +2 -2
- package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-field.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-segment.cjs.entry.js +1 -1
- package/dist/cjs/ifx-segment.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segment.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -2
- package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-select.cjs.entry.js +38 -38
- package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-select.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-set-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-set-filter.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-sidebar-item.cjs.entry.js +5 -5
- package/dist/cjs/ifx-sidebar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-sidebar-title.cjs.entry.js +1 -1
- package/dist/cjs/ifx-sidebar-title.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar-title.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -5
- package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-slider.cjs.entry.js +2 -2
- package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-slider.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-spinner.ifx-text-field.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-spinner_2.cjs.entry.js +7 -7
- package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-step.cjs.entry.js +11 -11
- package/dist/cjs/ifx-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-step.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-stepper.cjs.entry.js +2 -2
- package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-stepper.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-switch.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
- package/dist/cjs/ifx-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tab.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +143 -48
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-table.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-tabs.cjs.entry.js +2 -2
- package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
- package/dist/cjs/ifx-templates-ui.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-templates-ui.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
- package/dist/cjs/ifx-tree-view-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -1
- package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view.entry.cjs.js.map +1 -1
- 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 +6 -6
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion/accordion.stories.js +14 -14
- package/dist/collection/components/accordion/accordion.stories.js.map +1 -1
- package/dist/collection/components/accordion/accordionItem.js +1 -1
- package/dist/collection/components/accordion/accordionItem.js.map +1 -1
- package/dist/collection/components/action-list/action-list-item.js +2 -2
- package/dist/collection/components/action-list/action-list-item.js.map +1 -1
- package/dist/collection/components/action-list/action-list.js +1 -1
- package/dist/collection/components/action-list/action-list.js.map +1 -1
- package/dist/collection/components/action-list/action-list.stories.js +175 -175
- package/dist/collection/components/action-list/action-list.stories.js.map +1 -1
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/alert/alert.stories.js +5 -5
- package/dist/collection/components/alert/alert.stories.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item-label.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item-label.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js +24 -24
- package/dist/collection/components/breadcrumb/breadcrumb.stories.js.map +1 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/button/button.stories.js +2 -2
- package/dist/collection/components/button/button.stories.js.map +1 -1
- package/dist/collection/components/card/card-headline/card-headline.js +1 -1
- package/dist/collection/components/card/card-headline/card-headline.js.map +1 -1
- package/dist/collection/components/card/card-image/card-image.js +1 -1
- package/dist/collection/components/card/card-image/card-image.js.map +1 -1
- package/dist/collection/components/card/card-links/card-links.js +1 -1
- package/dist/collection/components/card/card-links/card-links.js.map +1 -1
- package/dist/collection/components/card/card-overline/card-overline.js +1 -1
- package/dist/collection/components/card/card-overline/card-overline.js.map +1 -1
- package/dist/collection/components/card/card-text/card-text.js +1 -1
- package/dist/collection/components/card/card-text/card-text.js.map +1 -1
- package/dist/collection/components/card/card.js +5 -5
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card/card.stories.js +50 -50
- package/dist/collection/components/card/card.stories.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +6 -6
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.stories.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.stories.js +3 -3
- package/dist/collection/components/checkbox-group/checkbox-group.stories.js.map +1 -1
- package/dist/collection/components/chip/chip-item/chip-item.js +2 -2
- package/dist/collection/components/chip/chip-item/chip-item.js.map +1 -1
- package/dist/collection/components/chip/chip.js +12 -12
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/chip/chip.stories.js +16 -16
- package/dist/collection/components/chip/chip.stories.js.map +1 -1
- package/dist/collection/components/chip/interfaces.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher-item.js +1 -1
- package/dist/collection/components/content-switcher/content-switcher-item.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.js +2 -2
- package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.stories.js +2 -2
- package/dist/collection/components/content-switcher/content-switcher.stories.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +2 -2
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.stories.js.map +1 -1
- package/dist/collection/components/download/download.js +2 -2
- package/dist/collection/components/download/download.js.map +1 -1
- package/dist/collection/components/download/download.stories.js.map +1 -1
- package/dist/collection/components/dropdown/IOpenable.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown/dropdown-header/dropdown-header.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js +1 -1
- package/dist/collection/components/dropdown/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js +4 -4
- package/dist/collection/components/dropdown/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js +1 -1
- package/dist/collection/components/dropdown/dropdown-seperator/dropdown-separator.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js +1 -1
- package/dist/collection/components/dropdown/dropdown-trigger/dropdown-trigger.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js +2 -2
- package/dist/collection/components/dropdown/dropdown-trigger-button/dropdown-trigger-button.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +2 -2
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.stories.js +90 -90
- package/dist/collection/components/dropdown/dropdown.stories.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.js +2 -2
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.stories.js.map +1 -1
- package/dist/collection/components/footer/footer-column.js +1 -1
- package/dist/collection/components/footer/footer-column.js.map +1 -1
- package/dist/collection/components/footer/footer.js +4 -4
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/footer/footer.stories.js +89 -89
- package/dist/collection/components/footer/footer.stories.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.stories.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.stories.js +1 -1
- package/dist/collection/components/icon-button/icon-button.stories.js.map +1 -1
- package/dist/collection/components/icons-preview/icons-preview.js +1 -1
- package/dist/collection/components/icons-preview/icons-preview.js.map +1 -1
- package/dist/collection/components/icons-preview/icons-preview.stories.js.map +1 -1
- package/dist/collection/components/indicator/indicator.js +2 -2
- package/dist/collection/components/indicator/indicator.js.map +1 -1
- package/dist/collection/components/indicator/indicator.stories.js.map +1 -1
- package/dist/collection/components/link/link.js +1 -1
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/link/link.stories.js +5 -5
- package/dist/collection/components/link/link.stories.js.map +1 -1
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal/modal.stories.js +2 -2
- package/dist/collection/components/modal/modal.stories.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar-item.js +5 -5
- package/dist/collection/components/navigation/navbar/navbar-item.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar-profile.js +6 -6
- package/dist/collection/components/navigation/navbar/navbar-profile.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.js +3 -3
- package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.stories.js +51 -51
- package/dist/collection/components/navigation/navbar/navbar.stories.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar-item.js +5 -5
- package/dist/collection/components/navigation/sidebar/sidebar-item.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar-title.js +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar-title.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.js +5 -5
- package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.stories.js +117 -117
- package/dist/collection/components/navigation/sidebar/sidebar.stories.js.map +1 -1
- package/dist/collection/components/notification/notification.js +3 -3
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/notification/notification.stories.js +7 -7
- package/dist/collection/components/notification/notification.stories.js.map +1 -1
- package/dist/collection/components/overview-table/overview-table.js +1 -1
- package/dist/collection/components/overview-table/overview-table.js.map +1 -1
- package/dist/collection/components/overview-table/overview-table.stories.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/pagination/pagination.stories.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.stories.js +6 -6
- package/dist/collection/components/progress-bar/progress-bar.stories.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.js +10 -10
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.stories.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.stories.js +3 -3
- package/dist/collection/components/radio-button-group/radio-button-group.stories.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.js +1 -1
- package/dist/collection/components/search-bar/search-bar.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.stories.js.map +1 -1
- package/dist/collection/components/search-field/search-field.js +4 -4
- package/dist/collection/components/search-field/search-field.js.map +1 -1
- package/dist/collection/components/search-field/search-field.stories.js.map +1 -1
- package/dist/collection/components/segmented-control/segment/segment.js +1 -1
- package/dist/collection/components/segmented-control/segment/segment.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +2 -2
- package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.stories.js +14 -14
- package/dist/collection/components/segmented-control/segmented-control.stories.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.js +4 -4
- package/dist/collection/components/select/multi-select/multiselect-option.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.js +10 -10
- package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.stories.js +156 -156
- package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
- package/dist/collection/components/select/single-select/interfaces.js.map +1 -1
- package/dist/collection/components/select/single-select/select.js +38 -38
- package/dist/collection/components/select/single-select/select.js.map +1 -1
- package/dist/collection/components/select/single-select/select.stories.js +13 -13
- package/dist/collection/components/select/single-select/select.stories.js.map +1 -1
- package/dist/collection/components/select/single-select/utils.js.map +1 -1
- package/dist/collection/components/slider/slider.js +2 -2
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/slider/slider.stories.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +2 -2
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/spinner/spinner.stories.js.map +1 -1
- package/dist/collection/components/status/status.js +1 -1
- package/dist/collection/components/status/status.js.map +1 -1
- package/dist/collection/components/status/status.stories.js.map +1 -1
- package/dist/collection/components/stepper/interfaces.js.map +1 -1
- package/dist/collection/components/stepper/step/step.js +12 -12
- package/dist/collection/components/stepper/step/step.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +2 -2
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/stepper/stepper.stories.js +13 -13
- package/dist/collection/components/stepper/stepper.stories.js.map +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/switch/switch.stories.js.map +1 -1
- package/dist/collection/components/table-advanced-version/buttonCellRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/checkboxCellRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/checkboxHeaderRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/customLoadingOverlay.js +2 -2
- package/dist/collection/components/table-advanced-version/customLoadingOverlay.js.map +1 -1
- package/dist/collection/components/table-advanced-version/customNoRowsOverlay.js +4 -4
- package/dist/collection/components/table-advanced-version/customNoRowsOverlay.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-bar/filter-bar.js.map +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-accordion/filter-accordion.js.map +1 -1
- 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-search/filter-search.js.map +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/filter-type-group/filter-type-group.js.map +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.stories.js +17 -17
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.stories.js.map +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/utils.js.map +1 -1
- package/dist/collection/components/table-advanced-version/iconButtonCellRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/interfaces.js.map +1 -1
- package/dist/collection/components/table-advanced-version/linkCellRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
- package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js.map +1 -1
- package/dist/collection/components/table-advanced-version/list/list.js.map +1 -1
- package/dist/collection/components/table-advanced-version/list/list.stories.js.map +1 -1
- package/dist/collection/components/table-advanced-version/set-filter/setFilter.js.map +1 -1
- package/dist/collection/components/table-advanced-version/statusCellRenderer.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.js +139 -43
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.stories.js +84 -84
- package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
- package/dist/collection/components/table-basic-version/customLoadingOverlay.js +2 -2
- package/dist/collection/components/table-basic-version/customLoadingOverlay.js.map +1 -1
- package/dist/collection/components/table-basic-version/customNoRowsOverlay.js +4 -4
- package/dist/collection/components/table-basic-version/customNoRowsOverlay.js.map +1 -1
- package/dist/collection/components/table-basic-version/interfaces.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.js +1 -1
- package/dist/collection/components/table-basic-version/table.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.stories.js +6 -6
- package/dist/collection/components/table-basic-version/table.stories.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +1 -1
- package/dist/collection/components/tabs/tab.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +2 -2
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tabs/tabs.stories.js +4 -4
- package/dist/collection/components/tabs/tabs.stories.js.map +1 -1
- package/dist/collection/components/templates/template/template.js +1 -1
- package/dist/collection/components/templates/template/template.js.map +1 -1
- package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
- package/dist/collection/components/templates/templates-ui/templates-ui.js.map +1 -1
- package/dist/collection/components/text-field/text-field.js +5 -5
- package/dist/collection/components/text-field/text-field.js.map +1 -1
- package/dist/collection/components/text-field/text-field.stories.js +1 -1
- package/dist/collection/components/text-field/text-field.stories.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/textarea/textarea.stories.js +23 -23
- package/dist/collection/components/textarea/textarea.stories.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +4 -4
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.stories.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view-item.js +5 -5
- package/dist/collection/components/tree-view/tree-view-item.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/tree-view/tree-view.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view.stories.js +76 -76
- package/dist/collection/components/tree-view/tree-view.stories.js.map +1 -1
- package/dist/collection/global/font-import.js.map +1 -1
- package/dist/collection/global/utils/animation.js.map +1 -1
- package/dist/collection/global/utils/dom-ready.js.map +1 -1
- package/dist/collection/global/utils/dom-utils.js.map +1 -1
- package/dist/collection/global/utils/focus-trap.js.map +1 -1
- package/dist/collection/global/utils/framework-detection.js.map +1 -1
- package/dist/collection/global/utils/tracking.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
- package/dist/collection/stories/setup-and-installation/faq/faq.js.map +1 -1
- package/dist/collection/test-setup.js.map +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-accordion.js +1 -1
- package/dist/components/ifx-action-list-item.js +1 -1
- package/dist/components/ifx-action-list-item.js.map +1 -1
- package/dist/components/ifx-action-list.js +1 -1
- package/dist/components/ifx-action-list.js.map +1 -1
- package/dist/components/ifx-alert.js +1 -1
- package/dist/components/ifx-basic-table.js +7 -7
- package/dist/components/ifx-basic-table.js.map +1 -1
- package/dist/components/ifx-breadcrumb-item-label.js +2 -2
- package/dist/components/ifx-breadcrumb-item-label.js.map +1 -1
- package/dist/components/ifx-breadcrumb-item.js +1 -1
- package/dist/components/ifx-breadcrumb-item.js.map +1 -1
- package/dist/components/ifx-breadcrumb.js +1 -1
- package/dist/components/ifx-breadcrumb.js.map +1 -1
- package/dist/components/ifx-button.js +1 -1
- package/dist/components/ifx-card-headline.js +1 -1
- package/dist/components/ifx-card-headline.js.map +1 -1
- package/dist/components/ifx-card-image.js +1 -1
- package/dist/components/ifx-card-image.js.map +1 -1
- package/dist/components/ifx-card-links.js +1 -1
- package/dist/components/ifx-card-links.js.map +1 -1
- package/dist/components/ifx-card-overline.js +1 -1
- package/dist/components/ifx-card-overline.js.map +1 -1
- package/dist/components/ifx-card-text.js +1 -1
- package/dist/components/ifx-card-text.js.map +1 -1
- package/dist/components/ifx-card.js +5 -5
- package/dist/components/ifx-card.js.map +1 -1
- package/dist/components/ifx-checkbox-group.js +2 -2
- 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-item.js +1 -1
- package/dist/components/ifx-content-switcher-item.js.map +1 -1
- package/dist/components/ifx-content-switcher.js +1 -1
- package/dist/components/ifx-content-switcher.js.map +1 -1
- package/dist/components/ifx-date-picker.js +3 -3
- package/dist/components/ifx-date-picker.js.map +1 -1
- package/dist/components/ifx-download.js +3 -3
- package/dist/components/ifx-download.js.map +1 -1
- package/dist/components/ifx-dropdown-header.js +1 -1
- package/dist/components/ifx-dropdown-header.js.map +1 -1
- package/dist/components/ifx-dropdown-item.js +2 -2
- package/dist/components/ifx-dropdown-item.js.map +1 -1
- package/dist/components/ifx-dropdown-menu.js +4 -4
- package/dist/components/ifx-dropdown-menu.js.map +1 -1
- package/dist/components/ifx-dropdown-separator.js +1 -1
- package/dist/components/ifx-dropdown-separator.js.map +1 -1
- package/dist/components/ifx-dropdown-trigger-button.js +4 -4
- package/dist/components/ifx-dropdown-trigger-button.js.map +1 -1
- package/dist/components/ifx-dropdown-trigger.js +1 -1
- package/dist/components/ifx-dropdown-trigger.js.map +1 -1
- package/dist/components/ifx-dropdown.js +1 -1
- package/dist/components/ifx-dropdown.js.map +1 -1
- package/dist/components/ifx-faq.js +4 -4
- package/dist/components/ifx-faq.js.map +1 -1
- package/dist/components/ifx-file-upload.js +6 -6
- package/dist/components/ifx-file-upload.js.map +1 -1
- package/dist/components/ifx-filter-accordion.js +4 -4
- package/dist/components/ifx-filter-accordion.js.map +1 -1
- package/dist/components/ifx-filter-bar.js +3 -3
- package/dist/components/ifx-filter-bar.js.map +1 -1
- package/dist/components/ifx-filter-search.js +3 -3
- package/dist/components/ifx-filter-search.js.map +1 -1
- package/dist/components/ifx-filter-type-group.js +1 -1
- package/dist/components/ifx-filter-type-group.js.map +1 -1
- package/dist/components/ifx-footer-column.js +1 -1
- package/dist/components/ifx-footer-column.js.map +1 -1
- package/dist/components/ifx-footer.js +4 -4
- 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 +5 -5
- package/dist/components/ifx-icons-preview.js.map +1 -1
- 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-entry.js.map +1 -1
- package/dist/components/ifx-list.js +2 -2
- package/dist/components/ifx-list.js.map +1 -1
- package/dist/components/ifx-modal.js +4 -4
- package/dist/components/ifx-modal.js.map +1 -1
- package/dist/components/ifx-multiselect-option.js +1 -1
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +7 -7
- package/dist/components/ifx-navbar-item.js.map +1 -1
- package/dist/components/ifx-navbar-profile.js +6 -6
- package/dist/components/ifx-navbar-profile.js.map +1 -1
- package/dist/components/ifx-navbar.js +4 -4
- package/dist/components/ifx-navbar.js.map +1 -1
- package/dist/components/ifx-notification.js +1 -1
- package/dist/components/ifx-overview-table.js +4 -4
- package/dist/components/ifx-overview-table.js.map +1 -1
- 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 -2
- 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 -3
- 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 +2 -2
- package/dist/components/ifx-segment.js.map +1 -1
- package/dist/components/ifx-segmented-control.js +3 -3
- 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 +7 -7
- package/dist/components/ifx-set-filter.js.map +1 -1
- package/dist/components/ifx-sidebar-item.js +7 -7
- package/dist/components/ifx-sidebar-item.js.map +1 -1
- package/dist/components/ifx-sidebar-title.js +1 -1
- package/dist/components/ifx-sidebar-title.js.map +1 -1
- package/dist/components/ifx-sidebar.js +6 -6
- package/dist/components/ifx-sidebar.js.map +1 -1
- package/dist/components/ifx-slider.js +3 -3
- package/dist/components/ifx-slider.js.map +1 -1
- package/dist/components/ifx-spinner.js +1 -1
- package/dist/components/ifx-status.js +1 -1
- package/dist/components/ifx-status.js.map +1 -1
- package/dist/components/ifx-step.js +12 -12
- package/dist/components/ifx-step.js.map +1 -1
- package/dist/components/ifx-stepper.js +2 -2
- package/dist/components/ifx-stepper.js.map +1 -1
- package/dist/components/ifx-switch.js +1 -1
- package/dist/components/ifx-switch.js.map +1 -1
- package/dist/components/ifx-tab.js +1 -1
- package/dist/components/ifx-tab.js.map +1 -1
- package/dist/components/ifx-table.js +153 -57
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/ifx-tabs.js +4 -4
- package/dist/components/ifx-tabs.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-templates-ui.js.map +1 -1
- package/dist/components/ifx-text-field.js +1 -1
- package/dist/components/ifx-textarea.js +2 -2
- package/dist/components/ifx-textarea.js.map +1 -1
- package/dist/components/ifx-tooltip.js +5 -5
- 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-item.js.map +1 -1
- package/dist/components/ifx-tree-view.js +1 -1
- package/dist/components/ifx-tree-view.js.map +1 -1
- package/dist/components/{p-BVontUD4.js → p-4wfkxGlJ.js} +6 -6
- package/dist/components/p-4wfkxGlJ.js.map +1 -0
- package/dist/components/{p-UJUcpUZI.js → p-BG0cmSVP.js} +6 -6
- package/dist/components/p-BG0cmSVP.js.map +1 -0
- package/dist/components/{p-DcAKq8Jr.js → p-BGgzlGhs.js} +12 -12
- package/dist/components/p-BGgzlGhs.js.map +1 -0
- package/dist/components/{p-B61ip_5M.js → p-BQj9WQQe.js} +9 -9
- package/dist/components/p-BQj9WQQe.js.map +1 -0
- package/dist/components/{p-B8O27fA1.js → p-BR9GBwm3.js} +3 -3
- package/dist/components/p-BR9GBwm3.js.map +1 -0
- package/dist/components/{p-rP_UHrBl.js → p-BxahGQyq.js} +4 -4
- package/dist/components/p-BxahGQyq.js.map +1 -0
- package/dist/components/{p-BODyHBnq.js → p-C12r4j5b.js} +3 -3
- package/dist/components/p-C12r4j5b.js.map +1 -0
- package/dist/components/{p-D3I_SqHt.js → p-CRSbKJxa.js} +5 -5
- package/dist/components/p-CRSbKJxa.js.map +1 -0
- package/dist/components/{p-B5v9D54X.js → p-CcGE_f9F.js} +15 -15
- package/dist/components/p-CcGE_f9F.js.map +1 -0
- package/dist/components/{p-TR-rcXLt.js → p-CnXEcTdH.js} +3 -3
- package/dist/components/p-CnXEcTdH.js.map +1 -0
- package/dist/components/{p-DzvIkH4S.js → p-DFInpODO.js} +8 -8
- package/dist/components/p-DFInpODO.js.map +1 -0
- package/dist/components/{p-C0oKAW62.js → p-DHLzWSzN.js} +41 -41
- package/dist/components/p-DHLzWSzN.js.map +1 -0
- package/dist/components/{p-sukt4tRE.js → p-DNZFFt4T.js} +16 -16
- package/dist/components/p-DNZFFt4T.js.map +1 -0
- package/dist/components/{p-y82FFfi8.js → p-DRqwZrk0.js} +4 -4
- package/dist/components/p-DRqwZrk0.js.map +1 -0
- package/dist/components/{p-BNfoBOb0.js → p-DdOsLLJc.js} +4 -4
- package/dist/components/p-DdOsLLJc.js.map +1 -0
- package/dist/components/{p-BnjY2AJX.js → p-DhNY6ZGA.js} +3 -3
- package/dist/components/{p-BnjY2AJX.js.map → p-DhNY6ZGA.js.map} +1 -1
- package/dist/components/{p-ncBPrnzY.js → p-Djr4amRx.js} +8 -8
- package/dist/components/p-Djr4amRx.js.map +1 -0
- package/dist/components/{p-BpoV3zpc.js → p-F-WOWp_H.js} +4 -4
- package/dist/components/p-F-WOWp_H.js.map +1 -0
- package/dist/components/{p-DrBheHJU.js → p-R79iWjuc.js} +3 -3
- package/dist/components/p-R79iWjuc.js.map +1 -0
- package/dist/components/{p-CIgjv3WT.js → p-RF9z92mE.js} +3 -3
- package/dist/components/p-RF9z92mE.js.map +1 -0
- package/dist/components/p-bqYaVeZb.js.map +1 -1
- package/dist/components/{p-DfhZt04W.js → p-esRQWwdS.js} +8 -8
- package/dist/components/p-esRQWwdS.js.map +1 -0
- package/dist/components/{p-T-OkJYup.js → p-v3vmQuAS.js} +6 -6
- package/dist/components/p-v3vmQuAS.js.map +1 -0
- package/dist/esm/dom-utils-Bw2fh5LT.js.map +1 -1
- package/dist/esm/framework-detection-DcmcuUOA.js.map +1 -1
- package/dist/esm/ifx-accordion.ifx-accordion-item.entry.js.map +1 -1
- package/dist/esm/ifx-accordion_2.entry.js +2 -2
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-action-list-item.entry.js +1 -1
- package/dist/esm/ifx-action-list-item.entry.js.map +1 -1
- package/dist/esm/ifx-action-list.entry.js +1 -1
- package/dist/esm/ifx-action-list.entry.js.map +1 -1
- package/dist/esm/ifx-alert.ifx-template.entry.js.map +1 -1
- package/dist/esm/ifx-alert_2.entry.js +1 -1
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-basic-table.entry.js +7 -7
- package/dist/esm/ifx-basic-table.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb-item-label.entry.js +1 -1
- package/dist/esm/ifx-breadcrumb-item-label.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb-item.entry.js +1 -1
- package/dist/esm/ifx-breadcrumb-item.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ifx-button.entry.js +1 -1
- package/dist/esm/ifx-button.entry.js.map +1 -1
- package/dist/esm/ifx-card-headline.entry.js +1 -1
- package/dist/esm/ifx-card-headline.entry.js.map +1 -1
- package/dist/esm/ifx-card-image.entry.js +1 -1
- package/dist/esm/ifx-card-image.entry.js.map +1 -1
- package/dist/esm/ifx-card-links.entry.js +1 -1
- package/dist/esm/ifx-card-links.entry.js.map +1 -1
- package/dist/esm/ifx-card-overline.entry.js +1 -1
- package/dist/esm/ifx-card-overline.entry.js.map +1 -1
- package/dist/esm/ifx-card-text.entry.js +1 -1
- package/dist/esm/ifx-card-text.entry.js.map +1 -1
- package/dist/esm/ifx-card.entry.js +5 -5
- package/dist/esm/ifx-card.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox.entry.js +6 -6
- package/dist/esm/ifx-checkbox.entry.js.map +1 -1
- package/dist/esm/ifx-chip.ifx-chip-item.ifx-pagination.entry.js.map +1 -1
- package/dist/esm/ifx-chip_3.entry.js +15 -15
- package/dist/esm/ifx-chip_3.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher-item.entry.js +1 -1
- package/dist/esm/ifx-content-switcher-item.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher.entry.js +1 -1
- package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
- package/dist/esm/ifx-date-picker.entry.js +2 -2
- package/dist/esm/ifx-date-picker.entry.js.map +1 -1
- package/dist/esm/ifx-download.entry.js +2 -2
- package/dist/esm/ifx-download.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-header.entry.js +1 -1
- package/dist/esm/ifx-dropdown-header.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-item.entry.js +1 -1
- package/dist/esm/ifx-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-menu.entry.js +4 -4
- package/dist/esm/ifx-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-separator.entry.js +1 -1
- package/dist/esm/ifx-dropdown-separator.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-trigger-button.entry.js +2 -2
- package/dist/esm/ifx-dropdown-trigger-button.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown-trigger.entry.js +1 -1
- package/dist/esm/ifx-dropdown-trigger.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown.entry.js +1 -1
- package/dist/esm/ifx-dropdown.entry.js.map +1 -1
- package/dist/esm/ifx-faq.entry.js +1 -1
- package/dist/esm/ifx-faq.entry.js.map +1 -1
- package/dist/esm/ifx-file-upload.entry.js +2 -2
- 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-accordion.entry.js.map +1 -1
- package/dist/esm/ifx-filter-bar.entry.js +1 -1
- package/dist/esm/ifx-filter-bar.entry.js.map +1 -1
- package/dist/esm/ifx-filter-search.entry.js +1 -1
- package/dist/esm/ifx-filter-search.entry.js.map +1 -1
- package/dist/esm/ifx-filter-type-group.entry.js +1 -1
- package/dist/esm/ifx-filter-type-group.entry.js.map +1 -1
- package/dist/esm/ifx-footer-column.entry.js +1 -1
- package/dist/esm/ifx-footer-column.entry.js.map +1 -1
- package/dist/esm/ifx-footer.entry.js +4 -4
- package/dist/esm/ifx-footer.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +1 -1
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +1 -1
- package/dist/esm/ifx-icon.entry.js.map +1 -1
- package/dist/esm/ifx-icons-preview.entry.js +1 -1
- package/dist/esm/ifx-icons-preview.entry.js.map +1 -1
- package/dist/esm/ifx-indicator.entry.js +2 -2
- package/dist/esm/ifx-indicator.entry.js.map +1 -1
- package/dist/esm/ifx-link.entry.js +1 -1
- package/dist/esm/ifx-link.entry.js.map +1 -1
- package/dist/esm/ifx-list-entry.entry.js +1 -1
- package/dist/esm/ifx-list-entry.entry.js.map +1 -1
- package/dist/esm/ifx-list.entry.js.map +1 -1
- package/dist/esm/ifx-modal.entry.js +2 -2
- package/dist/esm/ifx-modal.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect.ifx-multiselect-option.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect_2.entry.js +14 -14
- package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
- package/dist/esm/ifx-navbar-item.entry.js +5 -5
- package/dist/esm/ifx-navbar-item.entry.js.map +1 -1
- package/dist/esm/ifx-navbar-profile.entry.js +6 -6
- package/dist/esm/ifx-navbar-profile.entry.js.map +1 -1
- package/dist/esm/ifx-navbar.entry.js +3 -3
- package/dist/esm/ifx-navbar.entry.js.map +1 -1
- package/dist/esm/ifx-notification.entry.js +2 -2
- package/dist/esm/ifx-notification.entry.js.map +1 -1
- package/dist/esm/ifx-overview-table.entry.js +1 -1
- package/dist/esm/ifx-overview-table.entry.js.map +1 -1
- package/dist/esm/ifx-progress-bar.entry.js +1 -1
- package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button.entry.js +10 -10
- package/dist/esm/ifx-radio-button.entry.js.map +1 -1
- package/dist/esm/ifx-search-bar.entry.js +1 -1
- package/dist/esm/ifx-search-bar.entry.js.map +1 -1
- package/dist/esm/ifx-search-field.entry.js +2 -2
- package/dist/esm/ifx-search-field.entry.js.map +1 -1
- package/dist/esm/ifx-segment.entry.js +1 -1
- package/dist/esm/ifx-segment.entry.js.map +1 -1
- package/dist/esm/ifx-segmented-control.entry.js +2 -2
- package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
- package/dist/esm/ifx-select.entry.js +38 -38
- package/dist/esm/ifx-select.entry.js.map +1 -1
- package/dist/esm/ifx-set-filter.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar-item.entry.js +5 -5
- package/dist/esm/ifx-sidebar-item.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar-title.entry.js +1 -1
- package/dist/esm/ifx-sidebar-title.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar.entry.js +5 -5
- package/dist/esm/ifx-sidebar.entry.js.map +1 -1
- package/dist/esm/ifx-slider.entry.js +2 -2
- package/dist/esm/ifx-slider.entry.js.map +1 -1
- package/dist/esm/ifx-spinner.ifx-text-field.entry.js.map +1 -1
- package/dist/esm/ifx-spinner_2.entry.js +7 -7
- package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
- package/dist/esm/ifx-status.entry.js +1 -1
- package/dist/esm/ifx-status.entry.js.map +1 -1
- package/dist/esm/ifx-step.entry.js +11 -11
- package/dist/esm/ifx-step.entry.js.map +1 -1
- package/dist/esm/ifx-stepper.entry.js +2 -2
- package/dist/esm/ifx-stepper.entry.js.map +1 -1
- package/dist/esm/ifx-switch.entry.js +1 -1
- package/dist/esm/ifx-switch.entry.js.map +1 -1
- package/dist/esm/ifx-tab.entry.js +1 -1
- package/dist/esm/ifx-tab.entry.js.map +1 -1
- package/dist/esm/ifx-table.entry.js +143 -48
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/ifx-tabs.entry.js +2 -2
- package/dist/esm/ifx-tabs.entry.js.map +1 -1
- package/dist/esm/ifx-templates-ui.entry.js +1 -1
- package/dist/esm/ifx-templates-ui.entry.js.map +1 -1
- package/dist/esm/ifx-textarea.entry.js +2 -2
- package/dist/esm/ifx-textarea.entry.js.map +1 -1
- package/dist/esm/ifx-tooltip.entry.js +4 -4
- 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-item.entry.js.map +1 -1
- package/dist/esm/ifx-tree-view.entry.js +1 -1
- package/dist/esm/ifx-tree-view.entry.js.map +1 -1
- package/dist/esm/infineon-design-system-stencil.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/infineon-design-system-stencil/ifx-accordion.ifx-accordion-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-action-list-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-action-list.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-alert.ifx-template.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-basic-table.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-breadcrumb-item-label.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-breadcrumb-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-breadcrumb.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-button.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card-headline.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card-image.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card-links.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card-overline.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card-text.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-card.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-checkbox-group.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-checkbox.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-chip.ifx-chip-item.ifx-pagination.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-content-switcher-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-content-switcher.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-date-picker.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-download.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-header.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-menu.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-separator.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-trigger-button.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown-trigger.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-dropdown.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-faq.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-file-upload.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-filter-accordion.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-filter-bar.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-filter-search.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-filter-type-group.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-footer-column.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-footer.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-icon-button.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-icon.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-icons-preview.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-indicator.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-link.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-list-entry.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-list.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-modal.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-multiselect.ifx-multiselect-option.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-navbar-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-navbar-profile.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-navbar.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-notification.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-overview-table.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-progress-bar.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-radio-button-group.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-radio-button.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-search-bar.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-search-field.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-segment.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-segmented-control.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-select.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-set-filter.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-sidebar-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-sidebar-title.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-sidebar.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-slider.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-spinner.ifx-text-field.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-status.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-step.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-stepper.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-switch.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-tab.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-table.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-tabs.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-templates-ui.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-textarea.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-tooltip.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-tree-view-item.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/ifx-tree-view.entry.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/{p-6c41a04b.entry.js → p-05f66dcb.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-05f66dcb.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-edda61ad.entry.js → p-060845fd.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-060845fd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-fd3e81ea.entry.js → p-06d2f85b.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-06d2f85b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-56c892b7.entry.js → p-0929589d.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-0929589d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-a3feab7d.entry.js → p-0be8f0c9.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-0be8f0c9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-99700497.entry.js → p-0fb9f42b.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-0fb9f42b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-52c43df7.entry.js → p-116c853e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-116c853e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9469fe88.entry.js → p-169f26ae.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-169f26ae.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-5e6dc7d8.entry.js → p-1c1b1a1f.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-1c1b1a1f.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-1d494424.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-1d494424.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-c8a488bb.entry.js → p-22e9960d.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-22e9960d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-e6254813.entry.js → p-2503d869.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-2503d869.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-80672b31.entry.js → p-273907cb.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-273907cb.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-210b1849.entry.js → p-2813423a.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-2813423a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-694aa84a.entry.js → p-2b4b2b06.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-2b4b2b06.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-18c6d719.entry.js → p-2e172019.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-2e172019.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-307e6a72.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-307e6a72.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-0f35aeb6.entry.js → p-35d2266a.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-35d2266a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-57f89e06.entry.js → p-380368ca.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-380368ca.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-2d3e3eea.entry.js → p-39561a49.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-39561a49.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-cc748b24.entry.js → p-39e3ee45.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-39e3ee45.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-501cf224.entry.js → p-3d77ef02.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-3d77ef02.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-3eeacac9.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3eeacac9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-4a0ae909.entry.js → p-45dad0d1.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-45dad0d1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4669e01f.entry.js.map +1 -1
- package/dist/infineon-design-system-stencil/{p-30af152b.entry.js → p-4da5a2a5.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-4da5a2a5.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-db796fec.entry.js → p-4fba0543.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-4fba0543.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5367db9d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5367db9d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-58dd6f5c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-58dd6f5c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-961940f9.entry.js → p-5b571505.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-5b571505.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-af2c2c1f.entry.js → p-5e3d0ff0.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-5e3d0ff0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-5e2e0f37.entry.js → p-5fb3eb8b.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-5fb3eb8b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-3ffb4e39.entry.js → p-6a07106e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-6a07106e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-b2e514e5.entry.js → p-6e115707.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-6e115707.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6eb6af05.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6eb6af05.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-ee8900a5.entry.js → p-744c1c8e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-744c1c8e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-760cfc7e.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-760cfc7e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-228e8272.entry.js → p-8a58c2be.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-8a58c2be.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-e8a60f3b.entry.js → p-8ceb2ccc.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-8ceb2ccc.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-92ee6f73.entry.js.map +1 -1
- package/dist/infineon-design-system-stencil/p-94dfe026.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-94dfe026.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-7cf9f8a3.entry.js → p-9517d1b0.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-9517d1b0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-81289e5f.entry.js → p-97b2ac42.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-97b2ac42.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9f1ec0af.entry.js → p-9b06df76.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-9b06df76.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-9ba730bb.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9ba730bb.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-e66a51e4.entry.js → p-9deaa65e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-9deaa65e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-Bw2fh5LT.js.map +1 -1
- package/dist/infineon-design-system-stencil/p-DcmcuUOA.js.map +1 -1
- package/dist/infineon-design-system-stencil/{p-5251b206.entry.js → p-a4dd2fe1.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-a4dd2fe1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-08316f9f.entry.js → p-a85754a5.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-08316f9f.entry.js.map → p-a85754a5.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/{p-f6b4c091.entry.js → p-ab326703.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ab326703.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-01754b50.entry.js → p-b7672947.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-b7672947.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-27a7a852.entry.js → p-bd8c6834.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-bd8c6834.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-beaba918.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-beaba918.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-e8f801be.entry.js → p-c578a728.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-c578a728.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-c896414e.entry.js → p-c6826c1e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-c6826c1e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-0b0f2040.entry.js → p-ca312cbb.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ca312cbb.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-962821bc.entry.js → p-ca870353.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ca870353.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-4b41a66f.entry.js → p-ce799b3d.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ce799b3d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-acd3359f.entry.js → p-d267f6d2.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-d267f6d2.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-eb0e4967.entry.js → p-d2b076fe.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-d2b076fe.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-d4373c36.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-d4373c36.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-c6013ced.entry.js → p-d65a334c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-d65a334c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-dac7d817.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-dac7d817.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-252e292d.entry.js → p-dbc6ae20.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-dbc6ae20.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9a3be43a.entry.js → p-dcd0af23.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-dcd0af23.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-ac371faa.entry.js → p-e3c11b6c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-e3c11b6c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e6c4c4cf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e6c4c4cf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-f2bcdd91.entry.js → p-e78ffc43.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-e78ffc43.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-4b8ff4cb.entry.js → p-e7c656cd.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-e7c656cd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-f3b42bba.entry.js → p-edbfa46e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-edbfa46e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-72a516f9.entry.js → p-ee04eb6e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ee04eb6e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-f1c5b005.entry.js → p-f06b0ae3.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-f06b0ae3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-a423e08f.entry.js → p-f1ba768a.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-f1ba768a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-8f90cc75.entry.js → p-f2c8c7a6.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-f2c8c7a6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-5b7a11f2.entry.js → p-fb92000d.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-fb92000d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-fc359efa.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-fc359efa.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-8cc6cd75.entry.js → p-fcae5dc1.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-fcae5dc1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-a8632f44.entry.js → p-ff4cc197.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-ff4cc197.entry.js.map +1 -0
- package/dist/types/components/checkbox/checkbox.d.ts +1 -1
- package/dist/types/components/link/link.d.ts +1 -1
- package/dist/types/components/navigation/navbar/navbar-item.d.ts +1 -1
- package/dist/types/components/select/single-select/types/choices.d.ts +2 -2
- package/dist/types/components/table-advanced-version/list/list.d.ts +1 -1
- package/dist/types/components/table-advanced-version/table.d.ts +1 -0
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/global.d.ts +3 -3
- package/dist/types/loader.d.ts +1 -1
- package/package.json +111 -111
- package/dist/components/p-B5v9D54X.js.map +0 -1
- package/dist/components/p-B61ip_5M.js.map +0 -1
- package/dist/components/p-B8O27fA1.js.map +0 -1
- package/dist/components/p-BNfoBOb0.js.map +0 -1
- package/dist/components/p-BODyHBnq.js.map +0 -1
- package/dist/components/p-BVontUD4.js.map +0 -1
- package/dist/components/p-BpoV3zpc.js.map +0 -1
- package/dist/components/p-C0oKAW62.js.map +0 -1
- package/dist/components/p-CIgjv3WT.js.map +0 -1
- package/dist/components/p-D3I_SqHt.js.map +0 -1
- package/dist/components/p-DcAKq8Jr.js.map +0 -1
- package/dist/components/p-DfhZt04W.js.map +0 -1
- package/dist/components/p-DrBheHJU.js.map +0 -1
- package/dist/components/p-DzvIkH4S.js.map +0 -1
- package/dist/components/p-T-OkJYup.js.map +0 -1
- package/dist/components/p-TR-rcXLt.js.map +0 -1
- package/dist/components/p-UJUcpUZI.js.map +0 -1
- package/dist/components/p-ncBPrnzY.js.map +0 -1
- package/dist/components/p-rP_UHrBl.js.map +0 -1
- package/dist/components/p-sukt4tRE.js.map +0 -1
- package/dist/components/p-y82FFfi8.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-01754b50.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0b0f2040.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0f35aeb6.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-18c6d719.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-210b1849.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-228e8272.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-252e292d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-27a7a852.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-2d3e3eea.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-30af152b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-356425ec.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-356425ec.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-3ffb4e39.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-46b370da.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-46b370da.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4a0ae909.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4b41a66f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4b8ff4cb.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-501cf224.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5251b206.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-52b7ca57.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-52b7ca57.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-52c43df7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-56c892b7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-57f89e06.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5b7a11f2.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5e2e0f37.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5e6dc7d8.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5e7e0b40.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5e7e0b40.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5f28de7f.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5f28de7f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-694aa84a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6c41a04b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-72a516f9.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-7cf9f8a3.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-80672b31.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-81289e5f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8872ee5c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-8872ee5c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8cc6cd75.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8f90cc75.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9469fe88.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-961940f9.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-962821bc.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-99700497.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9a3be43a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9f1ec0af.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9f51c51a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-9f51c51a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-a3feab7d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-a423e08f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-a8632f44.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-aa79ab02.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-aa79ab02.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ac371faa.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-acd3359f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-af2c2c1f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b2e514e5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b83f33e2.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b83f33e2.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c5d6762c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c5d6762c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c6013ced.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c896414e.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c8a488bb.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-cc748b24.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-d1be48d9.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-d1be48d9.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-da112045.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-da112045.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-db796fec.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e6254813.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e66a51e4.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e759a91a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e759a91a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e8a60f3b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e8f801be.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e9381c81.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e9381c81.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-eb0e4967.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-edda61ad.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ee8900a5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f1c5b005.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f2bcdd91.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f3b42bba.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f6b4c091.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fd3e81ea.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifx-modal.entry.esm.js","sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\r\n * Copy/pasted from https://github.com/andreasbm/focus-trap\r\n */\r\n\r\n/**\r\n * Traverses the slots of the open shadowroots and returns all children matching the query.\r\n * We need to traverse each child-depth one at a time because if an element should be skipped\r\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\r\n * the information of whether the children is within a hidden parent is lost.\r\n * @param {ShadowRoot | HTMLElement} root\r\n * @param skipNode\r\n * @param isMatch\r\n * @param {number} maxDepth\r\n * @param {number} depth\r\n * @returns {HTMLElement[]}\r\n */\r\nexport function queryShadowRoot(\r\n root: ShadowRoot | HTMLElement,\r\n skipNode: ($elem: HTMLElement) => boolean,\r\n isMatch: ($elem: HTMLElement) => boolean,\r\n maxDepth: number = 20,\r\n depth: number = 0\r\n): HTMLElement[] {\r\n const matches: HTMLElement[] = [];\r\n\r\n // If the depth is above the max depth, abort the searching here.\r\n if (depth >= maxDepth) {\r\n return matches;\r\n }\r\n\r\n // Traverses a slot element\r\n const traverseSlot = ($slot: HTMLSlotElement) => {\r\n // Only check nodes that are of the type Node.ELEMENT_NODE\r\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\r\n const assignedNodes = $slot\r\n .assignedNodes()\r\n .filter((node) => node.nodeType === 1);\r\n if (assignedNodes.length > 0) {\r\n const $slotParent = assignedNodes[0].parentElement!;\r\n return queryShadowRoot(\r\n $slotParent,\r\n skipNode,\r\n isMatch,\r\n maxDepth,\r\n depth + 1\r\n );\r\n }\r\n\r\n return [];\r\n };\r\n\r\n // Go through each child and continue the traversing if necessary\r\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\r\n // Therefore we fallback to an empty array if it is undefined.\r\n const children = Array.from(root.children || []) as HTMLElement[];\r\n for (const $child of children) {\r\n // Check if the element and its descendants should be skipped\r\n if (skipNode($child)) {\r\n // console.log('-- SKIP', $child);\r\n continue;\r\n }\r\n\r\n // console.log('$child', $child);\r\n\r\n // If the element matches we always add it\r\n if (isMatch($child)) {\r\n matches.push($child);\r\n }\r\n\r\n if ($child.shadowRoot != null) {\r\n // If the element has a shadow root we need to traverse it\r\n matches.push(\r\n ...queryShadowRoot(\r\n $child.shadowRoot,\r\n skipNode,\r\n isMatch,\r\n maxDepth,\r\n depth + 1\r\n )\r\n );\r\n } else if ($child.tagName === 'SLOT') {\r\n // If the child is a slot we need to traverse each assigned node\r\n matches.push(...traverseSlot($child as HTMLSlotElement));\r\n } else {\r\n // Traverse the children of the element\r\n matches.push(\r\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\r\n );\r\n }\r\n }\r\n\r\n return matches;\r\n}\r\n\r\n/**\r\n * Returns whether the element is hidden.\r\n * @param $elem\r\n */\r\nexport function isHidden($elem: HTMLElement): boolean {\r\n return (\r\n $elem.hasAttribute('hidden') ||\r\n ($elem.hasAttribute('aria-hidden') &&\r\n $elem.getAttribute('aria-hidden') !== 'false') ||\r\n // A quick and dirty way to check whether the element is hidden.\r\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\r\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\r\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\r\n $elem.style.display === `none` ||\r\n $elem.style.opacity === `0` ||\r\n $elem.style.visibility === `hidden` ||\r\n $elem.style.visibility === `collapse`\r\n );\r\n\r\n // If offsetParent is null we can assume that the element is hidden\r\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\r\n // || $elem.offsetParent == null;\r\n}\r\n\r\n/**\r\n * Returns whether the element is disabled.\r\n * @param $elem\r\n */\r\nexport function isDisabled($elem: HTMLElement): boolean {\r\n return (\r\n $elem.hasAttribute('disabled') ||\r\n ($elem.hasAttribute('aria-disabled') &&\r\n $elem.getAttribute('aria-disabled') !== 'false')\r\n );\r\n}\r\n\r\n/**\r\n * Determines whether an element is focusable.\r\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\r\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\r\n * @param $elem\r\n */\r\nexport function isFocusable($elem: HTMLElement): boolean {\r\n // Discard elements that are removed from the tab order.\r\n if (\r\n $elem.getAttribute('tabindex') === '-1' ||\r\n isHidden($elem) ||\r\n isDisabled($elem)\r\n ) {\r\n return false;\r\n }\r\n\r\n return (\r\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\r\n $elem.hasAttribute('tabindex') ||\r\n // Anchor tags or area tags with a href set\r\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\r\n $elem.hasAttribute('href')) ||\r\n // Form elements which are not disabled\r\n $elem instanceof HTMLButtonElement ||\r\n $elem instanceof HTMLInputElement ||\r\n $elem instanceof HTMLTextAreaElement ||\r\n $elem instanceof HTMLSelectElement ||\r\n // IFrames\r\n $elem instanceof HTMLIFrameElement\r\n );\r\n}","export function animationTo(\r\n element: HTMLElement,\r\n keyframes: Keyframe | Keyframe[],\r\n options?: KeyframeAnimationOptions\r\n) {\r\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\r\n animated.addEventListener('finish', () => {\r\n // @ts-ignore\r\n animated.commitStyles();\r\n animated.cancel();\r\n });\r\n\r\n return animated;\r\n}\r\n\r\nconst keyframeDefaults = {\r\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\r\n};\r\n\r\nexport const KEYFRAMES = {\r\n fadeIn: [\r\n {\r\n offset: 0,\r\n ...keyframeDefaults,\r\n opacity: 0,\r\n },\r\n {\r\n offset: 1,\r\n ...keyframeDefaults,\r\n opacity: 1,\r\n },\r\n ],\r\n fadeOut: [\r\n {\r\n offset: 0,\r\n ...keyframeDefaults,\r\n opacity: 1,\r\n },\r\n {\r\n offset: 1,\r\n ...keyframeDefaults,\r\n opacity: 0,\r\n },\r\n ],\r\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\r\n@use \"../../global/font.scss\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.modal-container {\r\n display: none;\r\n justify-content: center;\r\n align-items: center;\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1060;\r\n overflow-y: auto;\r\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\r\n\r\n\r\n\r\n}\r\n\r\n.modal-container.open {\r\n display: flex;\r\n}\r\n\r\n.modal-overlay {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: tokens.$ifxColorBaseBlack;\r\n opacity: 0.5;\r\n z-index: 0;\r\n}\r\n\r\n.modal-content-container {\r\n position: absolute;\r\n display: flex;\r\n justify-content: center;\r\n width: 90%;\r\n min-height: 218px;\r\n background-color: #fff;\r\n border-radius: tokens.$ifxBorderRadiusNone;\r\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\r\n \r\n //overflow: hidden;\r\n\r\n box-sizing: border-box;\r\n align-items: stretch;\r\n}\r\n\r\n.modal-content-container {\r\n &.no-overflow { \r\n overflow: hidden;\r\n & .modal-body { \r\n overflow-y: auto;\r\n }\r\n }\r\n}\r\n\r\n/* Add desktop size here */\r\n@media screen and (min-width: 768px) {\r\n .modal-content-container {\r\n width: 540px;\r\n min-height: 132px;\r\n\r\n &.m,\r\n &.l,\r\n &.s {\r\n width: 90%;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (min-width: 1024px) {\r\n .modal-content-container {\r\n\r\n &.s {\r\n width: 47vw;\r\n }\r\n\r\n &.m {\r\n width: 63vw;\r\n }\r\n\r\n &.l {\r\n width: 80%;\r\n }\r\n }\r\n}\r\n\r\n.modal-content {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n max-height: 90vh;\r\n}\r\n\r\n.modal-icon-container {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 32px;\r\n background-color: tokens.$ifxColorOcean500;\r\n align-self: stretch;\r\n\r\n &.danger {\r\n background-color: tokens.$ifxColorRed500;\r\n }\r\n\r\n & ifx-icon {\r\n color: tokens.$ifxColorBaseWhite;\r\n }\r\n}\r\n\r\n.modal-header {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n padding: 24px;\r\n min-height: 76px;\r\n max-height: 105px;\r\n box-sizing: border-box;\r\n border-radius: 1px 1px 0px 0px;\r\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\r\n}\r\n\r\n.modal-caption {\r\n max-height: 56px;\r\n display: -webkit-box;\r\n overflow: hidden;\r\n white-space: pre-wrap;\r\n word-wrap: break-word;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical; \r\n}\r\n\r\n.modal-header h2 {\r\n margin: 0;\r\n font-weight: tokens.$ifxFontWeightSemibold;\r\n font-size: tokens.$ifxFontSizeXl;\r\n line-height: 28px;\r\n}\r\n\r\n.modal-header button {\r\n background: none;\r\n border: none;\r\n font-size: 1.5em;\r\n padding: 0;\r\n cursor: pointer;\r\n}\r\n\r\n.modal-close-button {\r\n align-self: flex-start;\r\n margin-right: -8px;\r\n}\r\n\r\n.modal-body {\r\n padding: 16px 24px;\r\n min-height: 56px;\r\n box-sizing: border-box;\r\n flex: 1;\r\n \r\n //overflow-y: auto;\r\n}\r\n\r\n.modal-footer.buttons-present ::slotted(*){\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: 16px;\r\n padding: 16px 24px 32px 16px\r\n}\r\n\r\n.modal-border {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n font-size: 1.5em;\r\n flex-grow: 1;\r\n\r\n &.primary {\r\n background-color: tokens.$ifxColorOcean500;\r\n }\r\n\r\n &.secondary {\r\n background-color: tokens.$ifxColorEngineering500;\r\n }\r\n\r\n &.danger {\r\n background-color: tokens.$ifxColorRed500;\r\n }\r\n\r\n &.success {\r\n background-color: tokens.$ifxColorGreen500;\r\n }\r\n\r\n &.warning {\r\n background-color: tokens.$ifxColorOrange500;\r\n }\r\n\r\n &.orange {\r\n background-color: tokens.$ifxColorOrange500;\r\n }\r\n\r\n &.ocean {\r\n background-color: tokens.$ifxColorOcean500;\r\n }\r\n\r\n &.grey {\r\n background-color: tokens.$ifxColorEngineering500;\r\n }\r\n\r\n &.grey-200 {\r\n background-color: tokens.$ifxColorEngineering200;\r\n }\r\n\r\n &.red {\r\n background-color: tokens.$ifxColorRed500;\r\n }\r\n\r\n &.green {\r\n background-color: tokens.$ifxColorGreen500;\r\n }\r\n\r\n &.berry {\r\n background-color: tokens.$ifxColorBerry500;\r\n }\r\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\r\nimport { trackComponent } from '../../global/utils/tracking';\r\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\r\nimport { detectFramework } from '../../global/utils/framework-detection';\r\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\r\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\r\n \r\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\r\n\r\nexport interface BeforeCloseEventDetail {\r\n trigger: CloseEventTrigger;\r\n}\r\n@Component({\r\n tag: 'ifx-modal',\r\n styleUrl: 'modal.scss',\r\n shadow: true\r\n})\r\nexport class IfxModal {\r\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\r\n @State() showModal: boolean = this.opened || false;\r\n\r\n @Prop() caption: string = 'Modal Title';\r\n @Prop() captionAriaLabel: string | null;\r\n\r\n @Prop() closeOnOverlayClick: boolean = true;\r\n\r\n @Event() ifxOpen: EventEmitter;\r\n @Event() ifxClose: EventEmitter;\r\n\r\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\r\n\r\n @Prop() size: 's' | 'm' | 'l' = 's';\r\n\r\n @Prop() alertIcon: string = '';\r\n @Prop() okButtonLabel: string = 'OK';\r\n @Prop() cancelButtonLabel: string = 'Cancel';\r\n @Prop() closeButtonAriaLabel: string | null;\r\n\r\n @Element() hostElement: HTMLElement;\r\n\r\n @State() slotButtonsPresent: boolean = false;\r\n\r\n @Prop() showCloseButton: boolean = true;\r\n\r\n private modalContainer: HTMLElement;\r\n private focusableElements: HTMLElement[] = [];\r\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\r\n private resizeTimeout: ReturnType<typeof setTimeout>;\r\n\r\n handleResize = () => {\r\n clearTimeout(this.resizeTimeout);\r\n this.resizeTimeout = setTimeout(() => {\r\n if (this.showModal) {\r\n this.handleComponentOverflow();\r\n }\r\n }, 100);\r\n};\r\n\r\n async componentDidLoad() {\r\n if(!isNestedInIfxComponent(this.hostElement)) { \r\n const framework = detectFramework();\r\n trackComponent('ifx-modal', await framework)\r\n }\r\n // Query all focusable elements and store them in `focusableElements`.\r\n // Needed for the \"focus trap\" functionality.\r\n this.focusableElements = queryShadowRoot(\r\n this.hostElement.shadowRoot,\r\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\r\n isFocusable\r\n );\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n\r\n disconnectedCallback() {\r\n window.removeEventListener('resize', this.handleResize);\r\n}\r\n\r\n componentWillRender() { \r\n if(this.showModal) { \r\n this.handleComponentOverflow();\r\n }\r\n }\r\n\r\n async handleComponentOverflow() { \r\n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\r\n if (this.showModal && await this.isModalContentContainerHeightReachedViewport()) {\r\n modalContentContainer.classList.add('no-overflow')\r\n } else if (modalContentContainer?.classList.contains('no-overflow')) {\r\n modalContentContainer?.classList.remove('no-overflow')\r\n }\r\n }\r\n\r\n getFirstFocusableElement(): HTMLElement | null {\r\n return this.focusableElements[0];\r\n }\r\n\r\n getLastFocusableElement(): HTMLElement | null {\r\n return this.focusableElements[this.focusableElements.length - 1];\r\n }\r\n\r\n handleTopFocus = () => {\r\n this.attemptFocus(this.getLastFocusableElement());\r\n };\r\n\r\n handleBottomFocus = () => {\r\n this.attemptFocus(this.getFirstFocusableElement());\r\n };\r\n\r\n attemptFocus(element: HTMLElement | null) {\r\n if (element == null) {\r\n setTimeout(() => { //wait until DOM is fully loaded\r\n this.closeButton.focus();\r\n },);\r\n return;\r\n }\r\n\r\n setTimeout(() => { //wait until DOM is fully loaded\r\n element.focus();\r\n }, 0);\r\n }\r\n\r\n open() {\r\n this.showModal = true;\r\n try {\r\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\r\n duration: 200,\r\n });\r\n anim.addEventListener('finish', () => {\r\n // Setting focus on last item and removing immediately\r\n // so, on tab press first element is focused\r\n setTimeout(() => {\r\n this.getLastFocusableElement()?.focus();\r\n this.getLastFocusableElement()?.blur();\r\n }, 0);\r\n\r\n this.ifxOpen.emit();\r\n });\r\n\r\n this.hostElement.addEventListener('keydown', this.handleKeypress);\r\n } catch (err) {\r\n this.ifxOpen.emit();\r\n }\r\n }\r\n\r\n close() {\r\n try {\r\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\r\n duration: 200,\r\n });\r\n anim.addEventListener('finish', () => {\r\n this.showModal = false;\r\n this.ifxClose.emit();\r\n });\r\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\r\n } catch (err) {\r\n this.showModal = false;\r\n this.ifxClose.emit();\r\n }\r\n }\r\n\r\n handleKeypress = (event: KeyboardEvent) => {\r\n if (!this.showModal) {\r\n return;\r\n }\r\n if (event.key === 'Escape') {\r\n this.doBeforeClose('ESCAPE_KEY');\r\n }\r\n };\r\n\r\n doBeforeClose(trigger: CloseEventTrigger) {\r\n const triggers = [];\r\n triggers.push(trigger);\r\n const prevented = triggers.some((event) => event.defaultPrevented);\r\n if (!prevented) {\r\n this.opened = false;\r\n }\r\n }\r\n\r\n @Watch('opened')\r\n openedChanged(newValue) {\r\n if (newValue === true) {\r\n this.open();\r\n } else {\r\n this.close()\r\n }\r\n }\r\n\r\n handleOverlayClick() {\r\n if (this.closeOnOverlayClick) {\r\n this.doBeforeClose('BACKDROP')\r\n }\r\n }\r\n\r\n handleContentUpdate(e) {\r\n const slotElement = e.target;\r\n const nodes = slotElement.assignedNodes();\r\n if (nodes.length > 0) {\r\n nodes.forEach(node => {\r\n if (node.observer) {\r\n node.observer.disconnect();\r\n delete node.observer;\r\n }\r\n const observer = new MutationObserver((mutationsList, _) => {\r\n for (let mutation of mutationsList) {\r\n if (mutation.type === 'childList') {\r\n if (this.showModal) {\r\n this.handleComponentOverflow();\r\n }\r\n }\r\n }\r\n });\r\n observer.observe(node, { attributes: true, childList: true, subtree: true });\r\n node.observer = observer;\r\n });\r\n }\r\n }\r\n\r\n handleButtonsSlotChange(e) {\r\n if (e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\r\n this.slotButtonsPresent = true;\r\n } else {\r\n this.slotButtonsPresent = false;\r\n }\r\n }\r\n\r\n isModalContentContainerHeightReachedViewport() {\r\n //Adding timeout for proper height detection on Edge browser\r\n return new Promise(resolve => {\r\n setTimeout(() => {\r\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\r\n const modalContentHeight = modalContent.offsetHeight;\r\n const viewportHeight = window.innerHeight;\r\n const extraMarginForEdgeBrowser = 3;\r\n resolve(modalContentHeight + extraMarginForEdgeBrowser >= viewportHeight * 0.9);\r\n }, 100);\r\n });\r\n}\r\n\r\n\r\n render() {\r\n const isAlertVariant = this.variant !== 'default';\r\n return (\r\n <Host>\r\n <div\r\n ref={(el) => (this.modalContainer = el)}\r\n class={`modal-container ${this.showModal ? 'open' : ''}`}\r\n >\r\n <div\r\n class=\"modal-overlay\"\r\n onClick={() => this.handleOverlayClick()}\r\n ></div>\r\n <div\r\n data-focus-trap-edge\r\n onFocus={this.handleTopFocus}\r\n tabindex=\"0\"\r\n ></div>\r\n <div\r\n class={`modal-content-container ${this.size}`}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={this.captionAriaLabel}>\r\n {isAlertVariant ? (\r\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\r\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\r\n </div>\r\n ) : null}\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h2 class=\"modal-caption\">{this.caption}</h2>\r\n {\r\n this.showCloseButton &&\r\n <ifx-icon-button class='modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}>\r\n </ifx-icon-button>\r\n }\r\n </div>\r\n <div class=\"modal-body\">\r\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\r\n </div>\r\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\r\n <slot name=\"buttons\" onSlotchange={(e) => this.handleButtonsSlotChange(e)}>\r\n </slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n data-focus-trap-edge\r\n onFocus={this.handleBottomFocus}\r\n tabindex=\"0\"\r\n ></div>\r\n </div>\r\n </Host>\r\n\r\n );\r\n }\r\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifx-modal.entry.esm.js","sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n \n //overflow: hidden;\n\n box-sizing: border-box;\n align-items: stretch;\n}\n\n.modal-content-container {\n &.no-overflow { \n overflow: hidden;\n & .modal-body { \n overflow-y: auto;\n }\n }\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n \n //overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() captionAriaLabel: string | null;\n\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n\n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Prop() closeButtonAriaLabel: string | null;\n\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n private resizeTimeout: ReturnType<typeof setTimeout>;\n\n handleResize = () => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = setTimeout(() => {\n if (this.showModal) {\n this.handleComponentOverflow();\n }\n }, 100);\n};\n\n async componentDidLoad() {\n if(!isNestedInIfxComponent(this.hostElement)) { \n const framework = detectFramework();\n trackComponent('ifx-modal', await framework)\n }\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n window.addEventListener('resize', this.handleResize);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.handleResize);\n}\n\n componentWillRender() { \n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n\n async handleComponentOverflow() { \n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\n if (this.showModal && await this.isModalContentContainerHeightReachedViewport()) {\n modalContentContainer.classList.add('no-overflow')\n } else if (modalContentContainer?.classList.contains('no-overflow')) {\n modalContentContainer?.classList.remove('no-overflow')\n }\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n }\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n handleContentUpdate(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n if (nodes.length > 0) {\n nodes.forEach(node => {\n if (node.observer) {\n node.observer.disconnect();\n delete node.observer;\n }\n const observer = new MutationObserver((mutationsList, _) => {\n for (let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if (this.showModal) {\n this.handleComponentOverflow();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n node.observer = observer;\n });\n }\n }\n\n handleButtonsSlotChange(e) {\n if (e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n } else {\n this.slotButtonsPresent = false;\n }\n }\n\n isModalContentContainerHeightReachedViewport() {\n //Adding timeout for proper height detection on Edge browser\n return new Promise(resolve => {\n setTimeout(() => {\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\n const modalContentHeight = modalContent.offsetHeight;\n const viewportHeight = window.innerHeight;\n const extraMarginForEdgeBrowser = 3;\n resolve(modalContentHeight + extraMarginForEdgeBrowser >= viewportHeight * 0.9);\n }, 100);\n });\n}\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.captionAriaLabel}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n {\n this.showCloseButton &&\n <ifx-icon-button class='modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e) => this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"names":[],"mappings":"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"}
|
package/dist/infineon-design-system-stencil/ifx-multiselect.ifx-multiselect-option.entry.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifx-multiselect.ifx-multiselect-option.entry.esm.js","sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx","src/components/select/multi-select/multiselect-option.scss?tag=ifx-multiselect-option&encapsulation=shadow","src/components/select/multi-select/multiselect-option.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\r\n@use '~@infineon/design-system-tokens/dist/tokens';\r\n@use '../../../global/font.scss';\r\n\r\n.ifx-multiselect-container {\r\n position: relative;\r\n box-sizing: border-box;\r\n font-family: var(--ifx-font-family);\r\n \r\n\r\n &.disabled {\r\n & .ifx-label-wrapper {\r\n color: tokens.$ifxColorEngineering300;\r\n }\r\n\r\n & .ifx-multiselect-wrapper {\r\n background: tokens.$ifxColorEngineering300;\r\n color: tokens.$ifxColorBaseWhite;\r\n border-color: tokens.$ifxColorEngineering300;\r\n cursor: default;\r\n -webkit-user-select: none;\r\n -ms-user-select: none;\r\n user-select: none;\r\n }\r\n }\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n .ifx-label-wrapper {\r\n font-size: tokens.$ifxFontSizeM;\r\n line-height: tokens.$ifxLineHeightM;\r\n white-space: pre-wrap;\r\n word-wrap: break-word;\r\n overflow-wrap: anywhere;\r\n max-width: 100%;\r\n\r\n & .required {\r\n margin-left: 4px;\r\n\r\n &.error {\r\n color: #CD002F;\r\n }\r\n }\r\n }\r\n\r\n .multi__select-caption {\r\n font-style: normal;\r\n font-weight: tokens.$ifxFontWeightRegular;\r\n font-size: tokens.$ifxFontSizeXs;\r\n line-height: tokens.$ifxLineHeightXs;\r\n color: tokens.$ifxColorBaseBlack;\r\n flex: none;\r\n order: 1;\r\n align-self: stretch;\r\n flex-grow: 0;\r\n\r\n &.error {\r\n color: tokens.$ifxColorRed500;\r\n }\r\n\r\n &.disabled {\r\n color: tokens.$ifxColorEngineering300;\r\n }\r\n }\r\n\r\n .ifx-multiselect-wrapper {\r\n background-color: tokens.$ifxColorBaseWhite;\r\n box-sizing: border-box;\r\n display: flex;\r\n align-items: center;\r\n border: 1px solid tokens.$ifxColorEngineering400;\r\n border-radius: tokens.$ifxBorderRadius12;\r\n width: 100%;\r\n font-weight: 400;\r\n font-style: normal;\r\n height: 40px;\r\n line-height: 24px;\r\n padding: 8px 16px;\r\n font-size: tokens.$ifxFontSizeM;\r\n line-height: tokens.$ifxLineHeightM;\r\n\r\n &:focus-visible {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible:not(.active):not(:active) {\r\n outline: none;\r\n\r\n &::before {\r\n content: '';\r\n position: absolute;\r\n width: calc(100% + 4px);\r\n height: calc(100% + 4px);\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n border: 2px solid tokens.$ifxColorOcean500;\r\n border-radius: 2px;\r\n }\r\n }\r\n\r\n &.error {\r\n border-color: tokens.$ifxColorRed500;\r\n }\r\n\r\n &.active {\r\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\r\n\r\n & .icon-wrapper-up {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding-left: tokens.$ifxSpace100;\r\n }\r\n\r\n & .icon-wrapper-down {\r\n display: none;\r\n }\r\n }\r\n\r\n & .icon-wrapper-up {\r\n display: none;\r\n }\r\n\r\n & .icon-wrapper-down {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding-left: tokens.$ifxSpace100;\r\n }\r\n\r\n &.is-flipped {\r\n .ifx-multiselect-dropdown-menu {\r\n top: auto;\r\n bottom: 100%;\r\n }\r\n }\r\n }\r\n\r\n .ifx-multiselect-input {\r\n flex-grow: 1;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n\r\n &.placeholder {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n .ifx-multiselect-icon-container {\r\n margin-left: auto;\r\n display: flex;\r\n align-items: center;\r\n gap: tokens.$ifxSpace100;\r\n\r\n .ifx-multiselect-icon-container {\r\n display: flex;\r\n }\r\n\r\n .icon-wrapper {\r\n display: flex;\r\n align-items: center;\r\n transition: transform 0.2s ease-in-out;\r\n }\r\n\r\n .icon-wrapper--open {\r\n transform: rotate(180deg);\r\n }\r\n }\r\n\r\n .ifx-clear-button {\r\n display: flex;\r\n align-items: center;\r\n\r\n &.hide {\r\n display: none;\r\n }\r\n }\r\n\r\n .ifx-multiselect-dropdown-menu {\r\n box-sizing: border-box;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n width: 100%;\r\n margin-top: tokens.$ifxSpace50;\r\n border: 1px solid tokens.$ifxColorEngineering200;\r\n background-color: tokens.$ifxColorBaseWhite;\r\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\r\n max-height: 300px;\r\n z-index: 1000;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n &:not(.disabled) .ifx-multiselect-wrapper:hover:not(.focus, :focus) {\r\n border-color: tokens.$ifxColorEngineering500;\r\n }\r\n}\r\n\r\n.ifx-multiselect-dropdown-functions {\r\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\r\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\r\n flex-shrink: 0;\r\n}\r\n\r\n.ifx-multiselect-dropdown-search {\r\n margin-bottom: tokens.$ifxSpace150;\r\n}\r\n\r\n.ifx-multiselect-dropdown-controls {\r\n display: flex;\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n gap: tokens.$ifxSpace100;\r\n\r\n .select-all-wrapper {\r\n display: flex;\r\n }\r\n\r\n .expand-collapse-controls {\r\n display: flex;\r\n gap: tokens.$ifxSpace150;\r\n }\r\n\r\n .control-item {\r\n font-size: tokens.$ifxFontSizeS;\r\n line-height: tokens.$ifxLineHeightS;\r\n\r\n &:hover {\r\n color: tokens.$ifxColorOcean500;\r\n }\r\n\r\n &:active {\r\n color: tokens.$ifxColorOcean600;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: 2px solid tokens.$ifxColorOcean500;\r\n outline-offset: 2px;\r\n border-radius: tokens.$ifxBorderRadius12;\r\n }\r\n }\r\n}\r\n\r\n.ifx-multiselect-options {\r\n flex: 1;\r\n overflow-y: auto;\r\n padding-top: tokens.$ifxSpace150;\r\n padding-bottom: tokens.$ifxSpace150;\r\n\r\n &.show-no-results {\r\n .ifx-multiselect-no-results {\r\n display: block;\r\n }\r\n }\r\n}\r\n\r\n.ifx-multiselect-no-results {\r\n padding-left: tokens.$ifxSpace200;\r\n padding-right: tokens.$ifxSpace200;\r\n display: none;\r\n}\r\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals, Method } from '@stencil/core';\r\nimport { trackComponent } from '../../../global/utils/tracking';\r\nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\r\nimport { detectFramework } from '../../../global/utils/framework-detection';\r\nimport { Option } from './interfaces';\r\n\r\nfunction debounce(func, wait) {\r\n let timeout;\r\n return function executedFunction(...args) {\r\n const later = () => {\r\n clearTimeout(timeout);\r\n func(...args);\r\n };\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n}\r\n\r\n@Component({\r\n tag: 'ifx-multiselect',\r\n styleUrl: 'multiselect.scss',\r\n shadow: true,\r\n // formAssociated: true\r\n})\r\nexport class Multiselect {\r\n @Prop() name: string;\r\n @Prop() disabled: boolean = false;\r\n @Prop() required: boolean = false;\r\n @Prop() error: boolean = false;\r\n @Prop() caption: string = '';\r\n @Prop() label: string = '';\r\n @Prop() placeholder: string = '';\r\n @Prop() showSearch: boolean = true;\r\n @Prop() showSelectAll: boolean = true;\r\n @Prop() showClearButton: boolean = true;\r\n @Prop() showExpandCollapse: boolean = true;\r\n @Prop() noResultsMessage: string = 'No results found.';\r\n @Prop() showNoResultsMessage: boolean = true;\r\n @Prop() searchPlaceholder: string = 'Search';\r\n @Prop() selectAllLabel: string = 'Select all';\r\n @Prop() expandLabel: string = 'Expand';\r\n @Prop() collapseLabel: string = 'Collapse';\r\n @Prop() ariaMultiSelectLabel: string = 'Multi-select dropdown';\r\n @Prop() ariaMultiSelectLabelledBy: string = '';\r\n @Prop() ariaMultiSelectDescribedBy: string = '';\r\n @Prop() ariaSearchLabel: string = 'Search options';\r\n @Prop() ariaClearLabel: string = 'Clear all selections';\r\n @Prop() ariaToggleLabel: string = 'Toggle dropdown';\r\n @Prop() ariaSelectAllLabel: string = 'Select all options';\r\n @Prop() ariaExpandAllLabel: string = 'Expand all categories';\r\n @Prop() ariaCollapseAllLabel: string = 'Collapse all categories';\r\n\r\n @State() internalError: boolean = false;\r\n @State() persistentSelectedOptions: Option[] = [];\r\n @State() dropdownOpen = false;\r\n @State() dropdownFlipped: boolean;\r\n @State() searchTerm: string = '';\r\n\r\n @Event() ifxSelect: EventEmitter;\r\n @Event() ifxOpen: EventEmitter;\r\n\r\n @Element() el: HTMLElement;\r\n dropdownElement!: HTMLElement;\r\n\r\n @AttachInternals() internals: ElementInternals;\r\n private parseChildOptions(): Option[] {\r\n const options: Option[] = [];\r\n const childElements = Array.from(this.el.children);\r\n\r\n childElements.forEach((child, index) => {\r\n if (child.tagName === 'IFX-MULTISELECT-OPTION') {\r\n const option = this.parseOptionElement(child as HTMLElement, index);\r\n if (option) {\r\n options.push(option);\r\n }\r\n }\r\n });\r\n\r\n return options;\r\n }\r\n\r\n private parseOptionElement(element: HTMLElement, index: number): Option | null {\r\n const value = element.getAttribute('value') || `option-${index}`;\r\n const selected = element.hasAttribute('selected');\r\n const disabled = element.hasAttribute('disabled');\r\n const indeterminate = element.hasAttribute('indeterminate');\r\n\r\n const option: Option = {\r\n value,\r\n selected,\r\n disabled,\r\n indeterminate,\r\n };\r\n\r\n const nestedOptions = Array.from(element.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\r\n .map((child, childIndex) => this.parseOptionElement(child as HTMLElement, childIndex))\r\n .filter(opt => opt !== null) as Option[];\r\n\r\n if (nestedOptions.length > 0) {\r\n option.children = nestedOptions;\r\n }\r\n\r\n return option;\r\n }\r\n\r\n loadInitialOptions() {\r\n this.internalError = this.error;\r\n const allOptions = this.parseChildOptions();\r\n const initiallySelected = this.collectSelectedOptions(allOptions);\r\n const initiallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\r\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];\r\n }\r\n\r\n private collectSelectedOptions(options: Option[]): Option[] {\r\n let selectedOptions: Option[] = [];\r\n\r\n for (const option of options) {\r\n if (option.selected) {\r\n if (option.children && option.children.length > 0) {\r\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\r\n } else {\r\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\r\n selectedOptions.push(option);\r\n }\r\n }\r\n } else {\r\n if (option.children && option.children.length > 0) {\r\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\r\n }\r\n }\r\n }\r\n\r\n return selectedOptions;\r\n }\r\n\r\n private collectLeafOptions(children: Option[]): Option[] {\r\n let leafOptions = [];\r\n\r\n for (const child of children) {\r\n if (child.children && child.children.length > 0) {\r\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\r\n } else {\r\n leafOptions.push(child);\r\n }\r\n }\r\n return leafOptions;\r\n }\r\n\r\n handleSearch = debounce((targetElement: HTMLInputElement) => {\r\n const searchTerm = targetElement.value.toLowerCase();\r\n const isSearchActive = searchTerm !== '';\r\n\r\n this.searchTerm = searchTerm;\r\n\r\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\r\n if (wrapper) {\r\n if (isSearchActive) {\r\n wrapper.classList.remove('active');\r\n } else {\r\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field');\r\n const searchFieldHasFocus = searchField && searchField.matches(':focus-within');\r\n if (!searchFieldHasFocus) {\r\n wrapper.classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\r\n if (optionsContainer) {\r\n if (isSearchActive) {\r\n optionsContainer.classList.add('has-search-filter');\r\n } else {\r\n optionsContainer.classList.remove('has-search-filter');\r\n }\r\n }\r\n\r\n requestAnimationFrame(() => {\r\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\r\n allOptions.forEach(option => {\r\n const searchEvent = new CustomEvent('ifx-search-filter', {\r\n detail: { searchTerm, isActive: isSearchActive },\r\n });\r\n option.dispatchEvent(searchEvent);\r\n });\r\n\r\n if (isSearchActive) {\r\n setTimeout(() => {\r\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\r\n let visibleCount = 0;\r\n\r\n allOptions.forEach(option => {\r\n const style = window.getComputedStyle(option);\r\n const rect = option.getBoundingClientRect();\r\n\r\n if (style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0' && rect.height > 0) {\r\n visibleCount++;\r\n }\r\n });\r\n\r\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\r\n if (optionsContainer) {\r\n if (visibleCount === 0) {\r\n optionsContainer.classList.add('show-no-results');\r\n } else {\r\n optionsContainer.classList.remove('show-no-results');\r\n }\r\n }\r\n }, 200);\r\n } else {\r\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\r\n if (optionsContainer) {\r\n optionsContainer.classList.remove('show-no-results');\r\n }\r\n }\r\n });\r\n }, 150);\r\n\r\n private handleSearchFocus(hasFocus: boolean) {\r\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\r\n if (wrapper) {\r\n if (hasFocus || this.searchTerm !== '') {\r\n wrapper.classList.remove('active');\r\n } else {\r\n wrapper.classList.add('active');\r\n }\r\n }\r\n }\r\n\r\n positionDropdown() {\r\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\r\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\r\n const spaceAbove = wrapperRect.top;\r\n\r\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || wrapperRect.bottom > window.innerHeight) {\r\n this.dropdownFlipped = true;\r\n } else {\r\n this.dropdownFlipped = false;\r\n }\r\n }\r\n\r\n //private pendingSelectionUpdate = false;\r\n public updateSlotBasedSelections(emitEvent: boolean = false) {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n const selectedLeafOptions: Option[] = [];\r\n\r\n allOptionElements.forEach((optionEl: any) => {\r\n const instance = optionEl['__stencil_instance'];\r\n if (instance && instance.selected && !instance.hasChildren) {\r\n selectedLeafOptions.push({\r\n value: instance.value,\r\n selected: true,\r\n disabled: instance.disabled,\r\n label: instance.getTextContent() || instance.value,\r\n });\r\n }\r\n });\r\n\r\n this.persistentSelectedOptions = selectedLeafOptions;\r\n\r\n if (emitEvent) {\r\n this.ifxSelect.emit(this.persistentSelectedOptions);\r\n }\r\n }\r\n\r\n private updateInitialParentStates() {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n const optionsByDepth = Array.from(allOptionElements)\r\n .map(el => ({\r\n element: el,\r\n instance: (el as any)['__stencil_instance'],\r\n depth: parseInt(el.getAttribute('data-level') || '0'),\r\n }))\r\n .filter(item => item.instance)\r\n .sort((a, b) => b.depth - a.depth);\r\n\r\n optionsByDepth.forEach(({ instance }) => {\r\n if (instance.hasChildren) {\r\n this.updateParentState(instance);\r\n }\r\n });\r\n }\r\n\r\n private updateParentState(parentInstance: any) {\r\n const directChildren = Array.from(parentInstance.el.children as HTMLCollection)\r\n .filter((child: Element) => child.tagName === 'IFX-MULTISELECT-OPTION')\r\n .map(child => (child as any)['__stencil_instance'])\r\n .filter(instance => instance !== null);\r\n\r\n const selectedCount = directChildren.filter(child => child.selected).length;\r\n const indeterminateCount = directChildren.filter(child => child.indeterminate).length;\r\n const totalCount = directChildren.length;\r\n\r\n if (selectedCount === totalCount && indeterminateCount === 0) {\r\n parentInstance.selected = true;\r\n parentInstance.indeterminate = false;\r\n } else if (selectedCount === 0 && indeterminateCount === 0) {\r\n parentInstance.selected = false;\r\n parentInstance.indeterminate = false;\r\n } else {\r\n parentInstance.selected = false;\r\n parentInstance.indeterminate = true;\r\n }\r\n }\r\n\r\n async componentDidLoad() {\r\n if (!isNestedInIfxComponent(this.el)) {\r\n const framework = detectFramework();\r\n trackComponent('ifx-multiselect', await framework);\r\n }\r\n setTimeout(() => {\r\n this.positionDropdown();\r\n }, 500);\r\n\r\n this.el.addEventListener('ifx-option-changed', (event: CustomEvent) => {\r\n const optionInstance = (event.target as any)?.__stencil_instance;\r\n if (optionInstance && !optionInstance.hasChildren) {\r\n this.updateSlotBasedSelections(true);\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n this.updateSlotBasedSelections(false);\r\n this.updateInitialParentStates();\r\n }, 100);\r\n }\r\n\r\n componentWillLoad() {\r\n this.loadInitialOptions();\r\n }\r\n\r\n @Watch('error')\r\n updateInternalError() {\r\n this.internalError = this.error;\r\n }\r\n\r\n @Watch('persistentSelectedOptions')\r\n onSelectionChange(newValue: Option[], _: Option[]) {\r\n const formData = new FormData();\r\n newValue.forEach(option => formData.append(this.name, option.value));\r\n //this.internals.setFormValue(formData);\r\n }\r\n collapseAll() {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n allOptionElements.forEach((optionEl: any) => {\r\n const instance = optionEl['__stencil_instance'];\r\n if (instance && instance.hasChildren) {\r\n instance.isExpanded = false;\r\n }\r\n });\r\n }\r\n\r\n expandAll() {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n allOptionElements.forEach((optionEl: any) => {\r\n const instance = optionEl['__stencil_instance'];\r\n if (instance && instance.hasChildren) {\r\n instance.isExpanded = true;\r\n }\r\n });\r\n }\r\n\r\n selectAll() {\r\n this.resetSearch();\r\n\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n\r\n allOptionElements.forEach((optionEl: any) => {\r\n const instance = optionEl['__stencil_instance'];\r\n if (instance) {\r\n if (instance.hasChildren) {\r\n instance.isExpanded = true;\r\n } else {\r\n instance.selected = true;\r\n }\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n this.updateInitialParentStates();\r\n this.updateSlotBasedSelections(false);\r\n this.ifxSelect.emit(this.persistentSelectedOptions);\r\n }, 0);\r\n }\r\n\r\n @Method()\r\n async clearSelection() {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n allOptionElements.forEach((optionEl: any) => {\r\n const instance = optionEl['__stencil_instance'];\r\n if (instance) {\r\n instance.selected = false;\r\n instance.indeterminate = false;\r\n if (instance.hasChildren) {\r\n instance.isExpanded = false;\r\n }\r\n }\r\n });\r\n\r\n this.persistentSelectedOptions = [];\r\n\r\n setTimeout(() => {\r\n this.updateSlotBasedSelections(false);\r\n this.ifxSelect.emit(this.persistentSelectedOptions);\r\n }, 0);\r\n }\r\n\r\n handleDocumentClick = (event: Event) => {\r\n const path = event.composedPath();\r\n if (!path.includes(this.dropdownElement)) {\r\n this.dropdownOpen = false;\r\n document.removeEventListener('click', this.handleDocumentClick);\r\n this.resetSearch();\r\n this.ifxOpen.emit(this.dropdownOpen);\r\n }\r\n };\r\n\r\n toggleDropdown() {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n setTimeout(() => {\r\n if (this.dropdownOpen) {\r\n document.addEventListener('click', this.handleDocumentClick);\r\n } else {\r\n this.resetSearch();\r\n }\r\n this.ifxOpen.emit(this.dropdownOpen);\r\n }, 0);\r\n }\r\n\r\n private resetSearch() {\r\n this.searchTerm = '';\r\n\r\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field') as any;\r\n if (searchField) {\r\n searchField.value = '';\r\n }\r\n\r\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\r\n if (optionsContainer) {\r\n optionsContainer.classList.remove('has-search-filter');\r\n }\r\n\r\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\r\n allOptions.forEach(option => {\r\n const searchEvent = new CustomEvent('ifx-search-filter', {\r\n detail: { searchTerm: '', isActive: false },\r\n });\r\n option.dispatchEvent(searchEvent);\r\n });\r\n }\r\n\r\n handleWrapperClick(event: MouseEvent) {\r\n this.positionDropdown();\r\n\r\n if (event.currentTarget === event.target) {\r\n this.toggleDropdown();\r\n }\r\n }\r\n\r\n handleKeyDown(event: KeyboardEvent) {\r\n if (this.disabled) return;\r\n\r\n // If dropdown is closed, only allow opening\r\n if (!this.dropdownOpen) {\r\n switch (event.code) {\r\n case 'Enter':\r\n case 'Space':\r\n case 'ArrowDown':\r\n event.preventDefault();\r\n this.toggleDropdown();\r\n break;\r\n }\r\n return;\r\n }\r\n\r\n // Dropdown is open - handle navigation and controls\r\n switch (event.code) {\r\n case 'Escape':\r\n event.preventDefault();\r\n this.toggleDropdown();\r\n break;\r\n case 'Enter':\r\n case 'Space':\r\n // Don't close dropdown when pressing space/enter in controls area\r\n const target = event.target as HTMLElement;\r\n if (!target.closest('.ifx-multiselect-dropdown-functions')) {\r\n event.preventDefault();\r\n this.toggleDropdown();\r\n }\r\n break;\r\n case 'ArrowDown':\r\n case 'ArrowUp':\r\n // Focus first/last option for navigation\r\n event.preventDefault();\r\n this.focusFirstOption();\r\n break;\r\n }\r\n }\r\n\r\n private focusFirstOption() {\r\n const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');\r\n if (firstOption) {\r\n const labelElement = firstOption.shadowRoot?.querySelector('.option-label') as HTMLElement;\r\n labelElement?.focus();\r\n }\r\n }\r\n\r\n private renderSelectAll() {\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n const leafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren);\r\n const selectedLeafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren && el.selected);\r\n\r\n const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;\r\n\r\n const toggleSelectAll = (event?: Event) => {\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n if (allSelected) {\r\n this.clearSelection();\r\n } else {\r\n this.selectAll();\r\n }\r\n };\r\n\r\n return (\r\n <div class=\"select-all-wrapper\">\r\n <ifx-checkbox\r\n id=\"selectAll\"\r\n checked={allSelected}\r\n size=\"s\"\r\n aria-label={this.ariaSelectAllLabel}\r\n onClick={toggleSelectAll}\r\n onKeyDown={e => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n toggleSelectAll(e);\r\n }\r\n }}\r\n >\r\n {this.selectAllLabel}\r\n </ifx-checkbox>\r\n </div>\r\n );\r\n }\r\n\r\n private renderNoResultsMessage() {\r\n return (\r\n <div class=\"ifx-multiselect-no-results\">\r\n <div class=\"no-results-content\">\r\n <span class=\"no-results-text\">{this.noResultsMessage}</span>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n const selectedOptionsLabels = this.persistentSelectedOptions.map(option => (option as any).label || option.value).join(', ');\r\n\r\n const hasSelections = this.persistentSelectedOptions.length > 0;\r\n\r\n let isFlatMultiselect = false;\r\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\r\n if (allOptionElements.length > 0) {\r\n isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);\r\n }\r\n\r\n return (\r\n <div class={`ifx-multiselect-container ${this.disabled && !this.error ? 'disabled' : ''}`} ref={el => (this.dropdownElement = el as HTMLElement)}>\r\n {\r\n <div class=\"ifx-label-wrapper\">\r\n {this.label && (\r\n <span class=\"wrapper-label\">\r\n <span>{this.label}</span>\r\n {this.required && <span class={`required ${this.error ? 'error' : ''}`}>*</span>}\r\n </span>\r\n )}\r\n </div>\r\n }\r\n <div\r\n class={`ifx-multiselect-wrapper\r\n ${this.dropdownOpen ? 'active' : ''}\r\n ${this.dropdownFlipped ? 'is-flipped' : ''}\r\n ${this.internalError ? 'error' : ''}\r\n ${this.disabled && !this.error ? 'disabled' : ''}`}\r\n role=\"combobox\"\r\n aria-label={this.ariaMultiSelectLabel}\r\n aria-labelledby={this.ariaMultiSelectLabelledBy || undefined}\r\n aria-describedby={this.ariaMultiSelectDescribedBy || undefined}\r\n aria-expanded={this.dropdownOpen}\r\n aria-haspopup=\"listbox\"\r\n aria-disabled={this.disabled && !this.error}\r\n tabindex=\"0\"\r\n onClick={this.disabled && !this.error ? undefined : event => this.handleWrapperClick(event)}\r\n onKeyDown={this.disabled && !this.error ? undefined : event => this.handleKeyDown(event)}\r\n >\r\n <div\r\n class={`ifx-multiselect-input\r\n ${hasSelections ? '' : 'placeholder'}\r\n `}\r\n onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}\r\n >\r\n {hasSelections ? selectedOptionsLabels : this.placeholder}\r\n </div>\r\n {this.dropdownOpen && (\r\n <div class=\"ifx-multiselect-dropdown-menu\">\r\n {(this.showSearch || this.showSelectAll || (this.showExpandCollapse && !isFlatMultiselect)) && (\r\n <div class=\"ifx-multiselect-dropdown-functions\" onClick={e => e.stopPropagation()}>\r\n {this.showSearch && (\r\n <div class=\"ifx-multiselect-dropdown-search\">\r\n <ifx-search-field\r\n class=\"search-input\"\r\n placeholder={this.searchPlaceholder}\r\n size=\"s\"\r\n show-delete-icon=\"true\"\r\n aria-label={this.ariaSearchLabel}\r\n onKeyDown={e => {\r\n e.stopPropagation();\r\n }}\r\n onIfxInput={event => this.handleSearch(event.target)}\r\n onFocus={() => this.handleSearchFocus(true)}\r\n onBlur={() => this.handleSearchFocus(false)}\r\n ></ifx-search-field>\r\n </div>\r\n )}\r\n\r\n <div class=\"ifx-multiselect-dropdown-controls\">\r\n {this.showSelectAll && this.renderSelectAll()}\r\n {this.showExpandCollapse && !isFlatMultiselect && (\r\n <div class=\"expand-collapse-controls\">\r\n <span\r\n class=\"control-item\"\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label={this.ariaExpandAllLabel}\r\n onClick={e => {\r\n e.stopPropagation();\r\n this.expandAll();\r\n }}\r\n onKeyDown={e => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.expandAll();\r\n }\r\n }}\r\n >\r\n {this.expandLabel}\r\n </span>\r\n <span\r\n class=\"control-item\"\r\n role=\"button\"\r\n tabIndex={0}\r\n aria-label={this.ariaCollapseAllLabel}\r\n onClick={e => {\r\n e.stopPropagation();\r\n this.collapseAll();\r\n }}\r\n onKeyDown={e => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.collapseAll();\r\n }\r\n }}\r\n >\r\n {this.collapseLabel}\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n\r\n <div class=\"ifx-multiselect-options\" role=\"listbox\" aria-multiselectable=\"true\">\r\n <slot />\r\n {this.searchTerm && this.showNoResultsMessage && this.renderNoResultsMessage()}\r\n </div>\r\n </div>\r\n )}\r\n <div class=\"ifx-multiselect-icon-container\">\r\n {/* Clear Button - will show only if there's a selection */}\r\n {this.persistentSelectedOptions.length > 0 && (\r\n <div class={`ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`} onClick={this.disabled && !this.error ? undefined : () => this.clearSelection()}>\r\n <ifx-icon icon=\"cRemove16\"></ifx-icon>\r\n </div>\r\n )}\r\n <div class=\"icon-wrapper-up\" onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}>\r\n <ifx-icon key=\"icon-up\" icon=\"chevron-up-16\"></ifx-icon>\r\n </div>\r\n <div class=\"icon-wrapper-down\" onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}>\r\n <ifx-icon key=\"icon-down\" icon=\"chevron-down-16\"></ifx-icon>\r\n </div>\r\n </div>\r\n </div>\r\n {this.caption && <div class={`multi__select-caption ${this.error ? 'error' : ''} ${this.disabled && !this.error ? 'disabled' : ''}`}>{this.caption}</div>}\r\n </div>\r\n );\r\n }\r\n}\r\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\r\n\r\n:host {\r\n display: block;\r\n width: 100%;\r\n}\r\n\r\n.option {\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n cursor: pointer;\r\n list-style: none;\r\n\r\n &.option--expanded {\r\n position: relative;\r\n }\r\n\r\n &.option--has-children {\r\n position: relative;\r\n\r\n .option-item > .chevron-wrapper {\r\n display: flex;\r\n }\r\n }\r\n\r\n &--disabled {\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n color: tokens.$ifxColorEngineering300;\r\n }\r\n\r\n &--selected {\r\n // Additional styles for selected state if needed\r\n // .option-item {\r\n // background: red;\r\n // }\r\n }\r\n\r\n &.search-hidden {\r\n display: none !important;\r\n }\r\n\r\n &.search-match {\r\n .option-item {\r\n .option-label {\r\n .search-highlight {\r\n font-weight: bold;\r\n // color: tokens.$ifxColorOcean400;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.option-item {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n white-space: nowrap;\r\n min-height: tokens.$ifxSize250;\r\n padding: tokens.$ifxSize50 tokens.$ifxSpace200;\r\n background-color: tokens.$ifxColorBaseWhite;\r\n transition: background-color 0.2s ease-in-out;\r\n\r\n &:hover {\r\n background-color: tokens.$ifxColorEngineering100;\r\n }\r\n\r\n .option--disabled & {\r\n &:hover {\r\n background-color: transparent;\r\n }\r\n }\r\n}\r\n\r\n.option-children {\r\n display: block;\r\n}\r\n\r\n.chevron-wrapper {\r\n display: none;\r\n align-items: center;\r\n justify-content: center;\r\n margin-right: tokens.$ifxSpace100;\r\n width: tokens.$ifxSize250;\r\n height: tokens.$ifxSize250;\r\n flex-shrink: 0;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: 2px solid tokens.$ifxColorOcean500;\r\n outline-offset: 2px;\r\n border-radius: tokens.$ifxBorderRadius12;\r\n }\r\n\r\n .option--has-children & {\r\n display: flex;\r\n }\r\n\r\n .chevron {\r\n transition: transform 0.2s ease-in-out;\r\n color: tokens.$ifxColorEngineering600;\r\n\r\n &.chevron--expanded {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &.chevron--collapsed {\r\n transform: rotate(0deg);\r\n }\r\n }\r\n}\r\n\r\n.checkbox-wrapper {\r\n display: flex;\r\n align-items: center;\r\n margin-right: tokens.$ifxSpace100;\r\n flex-shrink: 0;\r\n}\r\n\r\n.option-label {\r\n flex-grow: 1;\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n padding: tokens.$ifxSpace25 0;\r\n font-size: tokens.$ifxFontSizeS;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: 2px solid tokens.$ifxColorOcean500;\r\n outline-offset: 2px;\r\n border-radius: tokens.$ifxBorderRadius12;\r\n }\r\n\r\n .option--disabled & {\r\n cursor: not-allowed;\r\n color: tokens.$ifxColorEngineering300;\r\n }\r\n}\r\n","import { Component, Prop, Element, h, Host, State, Listen } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'ifx-multiselect-option',\r\n styleUrl: 'multiselect-option.scss',\r\n shadow: true,\r\n})\r\nexport class MultiselectOption {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() value: string;\r\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\r\n @Prop({ reflect: true, mutable: true }) disabled: boolean = false;\r\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false;\r\n\r\n @State() private isExpanded: boolean = false;\r\n @State() private hasChildren: boolean = false;\r\n @State() private depth: number = 0;\r\n @State() private searchTerm: string = '';\r\n @State() private isSearchActive: boolean = false;\r\n @State() private isSearchDisabled: boolean = false;\r\n\r\n componentWillLoad() {\r\n this.hasChildren = this.el.children.length > 0;\r\n this.depth = this.calculateDepth();\r\n\r\n this.el.setAttribute('data-level', this.depth.toString());\r\n\r\n if (this.hasChildren) {\r\n const hasSelectedChildren = this.hasAnySelectedChildren();\r\n if (hasSelectedChildren) {\r\n this.isExpanded = true;\r\n }\r\n }\r\n }\r\n\r\n componentDidLoad() {\r\n (this.el as any)['__stencil_instance'] = this;\r\n this.notifyMultiselect();\r\n this.el.addEventListener('ifx-search-filter', this.handleSearchFilter);\r\n }\r\n\r\n componentWillUpdate() { \r\n this.notifyMultiselect();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.el.removeEventListener('ifx-search-filter', this.handleSearchFilter);\r\n }\r\n\r\n private handleSearchFilter = (event: CustomEvent) => {\r\n const { searchTerm, isActive } = event.detail;\r\n this.searchTerm = searchTerm.toLowerCase();\r\n this.isSearchActive = isActive;\r\n\r\n requestAnimationFrame(() => {\r\n this.updateSearchClasses();\r\n });\r\n }\r\n\r\n private updateSearchClasses() {\r\n const optionDiv = this.el.shadowRoot?.querySelector('.option');\r\n if (!optionDiv) return;\r\n\r\n if (!this.isSearchActive) {\r\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\r\n this.removeHighlighting();\r\n this.isSearchDisabled = false;\r\n return;\r\n }\r\n\r\n const textContent = this.getTextContent().toLowerCase();\r\n const matchesSearch = textContent.includes(this.searchTerm);\r\n const hasMatchingParent = this.hasMatchingParent();\r\n\r\n requestAnimationFrame(() => {\r\n const hasMatchingChildren = this.hasMatchingChildren();\r\n\r\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\r\n this.isSearchDisabled = false;\r\n\r\n if (matchesSearch && !this.hasChildren) {\r\n optionDiv.classList.add('search-match');\r\n this.highlightSearchTerm();\r\n } else if (matchesSearch && this.hasChildren) {\r\n optionDiv.classList.add('search-match');\r\n this.highlightSearchTerm();\r\n this.isExpanded = true;\r\n } else if (!matchesSearch && this.hasChildren && hasMatchingChildren) {\r\n optionDiv.classList.add('search-parent');\r\n this.removeHighlighting();\r\n this.isExpanded = true;\r\n this.isSearchDisabled = true;\r\n } else if (hasMatchingParent) {\r\n optionDiv.classList.add('search-match');\r\n this.removeHighlighting();\r\n } else {\r\n optionDiv.classList.add('search-hidden');\r\n this.removeHighlighting();\r\n }\r\n });\r\n }\r\n\r\n private highlightSearchTerm() {\r\n if (!this.searchTerm) return;\r\n\r\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\r\n if (!labelElement) return;\r\n\r\n const slotElement = labelElement.querySelector('slot');\r\n if (!slotElement) return;\r\n\r\n this.removeHighlighting();\r\n\r\n const originalText = this.getTextContent();\r\n const searchTermLower = this.searchTerm.toLowerCase();\r\n const originalTextLower = originalText.toLowerCase();\r\n\r\n if (!originalTextLower.includes(searchTermLower)) return;\r\n\r\n const searchIndex = originalTextLower.indexOf(searchTermLower);\r\n\r\n if (searchIndex === -1) return;\r\n\r\n const beforeMatch = originalText.substring(0, searchIndex);\r\n const matchText = originalText.substring(searchIndex, searchIndex + searchTermLower.length);\r\n const afterMatch = originalText.substring(searchIndex + searchTermLower.length);\r\n\r\n const highlightedContent = document.createElement('span');\r\n highlightedContent.className = 'highlighted-text';\r\n\r\n if (beforeMatch) {\r\n highlightedContent.appendChild(document.createTextNode(beforeMatch));\r\n }\r\n\r\n const boldElement = document.createElement('strong');\r\n boldElement.className = 'search-highlight';\r\n boldElement.textContent = matchText;\r\n highlightedContent.appendChild(boldElement);\r\n\r\n if (afterMatch) {\r\n highlightedContent.appendChild(document.createTextNode(afterMatch));\r\n }\r\n\r\n labelElement.setAttribute('data-original-content', 'true');\r\n slotElement.style.display = 'none';\r\n labelElement.appendChild(highlightedContent);\r\n }\r\n\r\n private removeHighlighting() {\r\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\r\n if (!labelElement) return;\r\n\r\n const slotElement = labelElement.querySelector('slot');\r\n const highlightedElement = labelElement.querySelector('.highlighted-text');\r\n\r\n if (highlightedElement) {\r\n labelElement.removeChild(highlightedElement);\r\n }\r\n\r\n if (slotElement) {\r\n slotElement.style.display = '';\r\n }\r\n\r\n labelElement.removeAttribute('data-original-content');\r\n }\r\n\r\n private getTextContent(): string {\r\n let text = '';\r\n Array.from(this.el.childNodes).forEach(node => {\r\n if (node.nodeType === Node.TEXT_NODE) {\r\n text += node.textContent?.trim() || '';\r\n }\r\n });\r\n return text || this.value || '';\r\n }\r\n\r\n private hasMatchingChildren(): boolean {\r\n if (!this.hasChildren) return false;\r\n\r\n const childOptions = Array.from(this.el.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\r\n\r\n return childOptions.some(child => {\r\n const childInstance = (child as any)['__stencil_instance'];\r\n if (!childInstance) return false;\r\n\r\n const childText = childInstance.getTextContent().toLowerCase();\r\n const childMatches = childText.includes(this.searchTerm);\r\n const grandChildrenMatch = childInstance.hasMatchingChildren();\r\n\r\n return childMatches || grandChildrenMatch;\r\n });\r\n }\r\n\r\n private hasMatchingParent(): boolean {\r\n let parent = this.el.parentElement;\r\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\r\n const parentInstance = (parent as any)['__stencil_instance'];\r\n if (parentInstance) {\r\n const parentText = parentInstance.getTextContent().toLowerCase();\r\n if (parentText.includes(this.searchTerm)) {\r\n return true;\r\n }\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return false;\r\n }\r\n\r\n private calculateDepth(): number {\r\n let depth = 0;\r\n let parent = this.el.parentElement;\r\n while (parent && parent.tagName !== 'IFX-MULTISELECT') {\r\n if (parent.tagName === 'IFX-MULTISELECT-OPTION') {\r\n depth++;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n return depth;\r\n }\r\n\r\n @Listen('click')\r\n handleClick(event: Event) {\r\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\r\n\r\n event.stopPropagation();\r\n\r\n if (event.type === 'click' && (event.target as HTMLElement).closest('.chevron-wrapper')) {\r\n this.toggleExpansion();\r\n return;\r\n }\r\n\r\n let newSelectedState: boolean;\r\n\r\n if (this.indeterminate) {\r\n newSelectedState = true;\r\n } else {\r\n newSelectedState = !this.selected;\r\n }\r\n\r\n this.selected = newSelectedState;\r\n this.indeterminate = false;\r\n\r\n if (this.hasChildren) {\r\n this.isExpanded = newSelectedState;\r\n\r\n requestAnimationFrame(() => {\r\n this.selectAllChildren(newSelectedState);\r\n this.expandAllChildren(newSelectedState);\r\n });\r\n }\r\n\r\n this.updateParentStates();\r\n this.notifyMultiselect();\r\n }\r\n\r\n @Listen('keydown')\r\n handleKeyDown(event: KeyboardEvent) {\r\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\r\n\r\n const target = event.target as HTMLElement;\r\n\r\n if (target.closest('.chevron-wrapper') || target.closest('.checkbox-wrapper')) {\r\n return;\r\n }\r\n\r\n if (event.key !== 'ArrowUp' && event.key !== 'ArrowDown') {\r\n event.stopPropagation();\r\n }\r\n\r\n if (event.key === 'ArrowRight' && this.hasChildren) {\r\n this.isExpanded = true;\r\n }\r\n\r\n if (event.key === 'ArrowLeft' && this.hasChildren) {\r\n this.isExpanded = false;\r\n }\r\n }\r\n\r\n private notifyMultiselect() {\r\n const updateEvent = new CustomEvent('ifx-option-changed', {\r\n bubbles: true,\r\n detail: {\r\n value: this.value,\r\n selected: this.selected,\r\n indeterminate: this.indeterminate\r\n }\r\n });\r\n this.el.dispatchEvent(updateEvent);\r\n }\r\n\r\n private selectAllChildren(selected: boolean) {\r\n const directChildren = Array.from(this.el.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\r\n\r\n directChildren.forEach((child: any) => {\r\n const childInstance = child['__stencil_instance'];\r\n if (childInstance) {\r\n childInstance.selected = selected;\r\n childInstance.indeterminate = false;\r\n\r\n if (childInstance.hasChildren) {\r\n childInstance.isExpanded = selected;\r\n childInstance.selectAllChildren(selected);\r\n }\r\n childInstance.notifyMultiselect?.();\r\n }\r\n });\r\n }\r\n\r\n private expandAllChildren(expanded: boolean) {\r\n const directChildren = Array.from(this.el.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\r\n\r\n directChildren.forEach((child: any) => {\r\n const childInstance = child['__stencil_instance'];\r\n if (childInstance && childInstance.hasChildren) {\r\n childInstance.isExpanded = expanded;\r\n childInstance.expandAllChildren(expanded);\r\n }\r\n });\r\n }\r\n\r\n private updateParentStates() {\r\n let parent = this.el.parentElement;\r\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\r\n const parentInstance = (parent as any)['__stencil_instance'];\r\n if (!parentInstance) {\r\n parent = parent.parentElement;\r\n continue;\r\n }\r\n\r\n const siblings = Array.from(parent.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\r\n .map(child => (child as any)['__stencil_instance'])\r\n .filter(instance => instance !== null);\r\n\r\n const selectedCount = siblings.filter(sibling => sibling.selected).length;\r\n const indeterminateCount = siblings.filter(sibling => sibling.indeterminate).length;\r\n const totalCount = siblings.length;\r\n\r\n if (selectedCount === totalCount && indeterminateCount === 0) {\r\n parentInstance.selected = true;\r\n parentInstance.indeterminate = false;\r\n } else if (selectedCount === 0 && indeterminateCount === 0) {\r\n parentInstance.selected = false;\r\n parentInstance.indeterminate = false;\r\n } else {\r\n parentInstance.selected = false;\r\n parentInstance.indeterminate = true;\r\n }\r\n\r\n parentInstance.notifyMultiselect?.();\r\n parent = parent.parentElement;\r\n }\r\n }\r\n\r\n private toggleExpansion() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n private handleCheckboxClick = (event: Event) => {\r\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\r\n\r\n event.stopPropagation();\r\n\r\n let newSelectedState: boolean;\r\n\r\n if (this.indeterminate) {\r\n newSelectedState = true;\r\n } else {\r\n newSelectedState = !this.selected;\r\n }\r\n\r\n this.selected = newSelectedState;\r\n this.indeterminate = false;\r\n\r\n if (this.hasChildren) {\r\n this.isExpanded = newSelectedState;\r\n\r\n requestAnimationFrame(() => {\r\n this.selectAllChildren(newSelectedState);\r\n this.expandAllChildren(newSelectedState);\r\n });\r\n }\r\n\r\n this.updateParentStates();\r\n this.notifyMultiselect();\r\n }\r\n\r\n private handleHeaderClick = (event: Event) => {\r\n event.stopPropagation();\r\n if (!this.disabled && !(this.isSearchActive && this.isSearchDisabled)) {\r\n this.handleClick(event);\r\n }\r\n }\r\n\r\n private hasAnySelectedChildren(): boolean {\r\n const childOptions = Array.from(this.el.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\r\n\r\n return childOptions.some(child => {\r\n const hasSelected = child.hasAttribute('selected');\r\n const hasSelectedDescendants = this.checkForSelectedDescendants(child);\r\n\r\n return hasSelected || hasSelectedDescendants;\r\n });\r\n }\r\n\r\n private checkForSelectedDescendants(element: HTMLElement): boolean {\r\n const nestedOptions = Array.from(element.children)\r\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\r\n\r\n return nestedOptions.some(nestedChild => {\r\n const isSelected = nestedChild.hasAttribute('selected');\r\n const hasSelectedNested = this.checkForSelectedDescendants(nestedChild);\r\n\r\n return isSelected || hasSelectedNested;\r\n });\r\n }\r\n\r\n render() {\r\n let isFlatMultiselect = false;\r\n const parentMultiselect = this.el.closest('ifx-multiselect');\r\n if (parentMultiselect) {\r\n const allOptions = Array.from(parentMultiselect.querySelectorAll('ifx-multiselect-option'));\r\n isFlatMultiselect = allOptions.every(option => option.children.length === 0);\r\n }\r\n\r\n const basePadding = this.depth * 28 + 16;\r\n const additionalPadding = this.hasChildren ? 0 : 28;\r\n let totalPadding = basePadding + additionalPadding;\r\n\r\n const optionItemStyle = isFlatMultiselect ? undefined : { paddingLeft: `${totalPadding}px` };\r\n\r\n return (\r\n <Host>\r\n <div\r\n class={{\r\n 'option': true,\r\n 'option--has-children': this.hasChildren,\r\n 'option--expanded': this.isExpanded,\r\n 'option--disabled': this.disabled,\r\n 'option--selected': this.selected,\r\n }}\r\n role=\"option\"\r\n aria-expanded={this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined}\r\n aria-selected={this.selected ? 'true' : 'false'}\r\n aria-disabled={this.disabled ? 'true' : 'false'}\r\n data-level={this.depth}\r\n data-value={this.value}\r\n >\r\n <div\r\n class=\"option-item\"\r\n style={optionItemStyle}\r\n >\r\n <div\r\n class=\"chevron-wrapper\"\r\n tabIndex={this.hasChildren ? 0 : -1}\r\n role={this.hasChildren ? \"button\" : undefined}\r\n aria-label={this.hasChildren ? (this.isExpanded ? \"Collapse\" : \"Expand\") : undefined}\r\n onClick={(e) => { e.stopPropagation(); this.toggleExpansion(); }}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.toggleExpansion();\r\n }\r\n }}\r\n >\r\n {this.hasChildren && (\r\n <ifx-icon\r\n class={`chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`}\r\n icon=\"chevron-right-16\"\r\n />\r\n )}\r\n </div>\r\n\r\n <div class=\"checkbox-wrapper\" onClick={(e) => e.stopPropagation()}>\r\n <ifx-checkbox\r\n size='s'\r\n checked={(this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected)}\r\n indeterminate={(this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate}\r\n onClick={this.handleCheckboxClick}\r\n disabled={this.disabled || (this.isSearchActive && this.isSearchDisabled)}\r\n onKeyDown={(e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.handleCheckboxClick(e);\r\n }\r\n }}\r\n />\r\n </div>\r\n\r\n <div\r\n class=\"option-label\"\r\n onClick={this.handleHeaderClick}\r\n tabIndex={-1}\r\n >\r\n <slot/>\r\n </div>\r\n </div>\r\n\r\n {this.isExpanded && <div class=\"option-children\"><slot name=\"children\"/></div>}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifx-multiselect.ifx-multiselect-option.entry.esm.js","sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx","src/components/select/multi-select/multiselect-option.scss?tag=ifx-multiselect-option&encapsulation=shadow","src/components/select/multi-select/multiselect-option.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use '~@infineon/design-system-tokens/dist/tokens';\n@use '../../../global/font.scss';\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family);\n \n\n &.disabled {\n & .ifx-label-wrapper {\n color: tokens.$ifxColorEngineering300;\n }\n\n & .ifx-multiselect-wrapper {\n background: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorEngineering300;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n\n & .required {\n margin-left: 4px;\n\n &.error {\n color: #CD002F;\n }\n }\n }\n\n .multi__select-caption {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n\n &.error {\n color: tokens.$ifxColorRed500;\n }\n\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n }\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n height: 40px;\n line-height: 24px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n }\n }\n\n &.error {\n border-color: tokens.$ifxColorRed500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none;\n }\n }\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n }\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n display: flex;\n align-items: center;\n gap: tokens.$ifxSpace100;\n\n .ifx-multiselect-icon-container {\n display: flex;\n }\n\n .icon-wrapper {\n display: flex;\n align-items: center;\n transition: transform 0.2s ease-in-out;\n }\n\n .icon-wrapper--open {\n transform: rotate(180deg);\n }\n }\n\n .ifx-clear-button {\n display: flex;\n align-items: center;\n\n &.hide {\n display: none;\n }\n }\n\n .ifx-multiselect-dropdown-menu {\n box-sizing: border-box;\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: tokens.$ifxSpace50;\n border: 1px solid tokens.$ifxColorEngineering200;\n background-color: tokens.$ifxColorBaseWhite;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.1);\n max-height: 300px;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n }\n\n &:not(.disabled) .ifx-multiselect-wrapper:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n}\n\n.ifx-multiselect-dropdown-functions {\n padding: tokens.$ifxSpace150 tokens.$ifxSpace200;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n flex-shrink: 0;\n}\n\n.ifx-multiselect-dropdown-search {\n margin-bottom: tokens.$ifxSpace150;\n}\n\n.ifx-multiselect-dropdown-controls {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: tokens.$ifxSpace100;\n\n .select-all-wrapper {\n display: flex;\n }\n\n .expand-collapse-controls {\n display: flex;\n gap: tokens.$ifxSpace150;\n }\n\n .control-item {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: tokens.$ifxColorOcean600;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n }\n}\n\n.ifx-multiselect-options {\n flex: 1;\n overflow-y: auto;\n padding-top: tokens.$ifxSpace150;\n padding-bottom: tokens.$ifxSpace150;\n\n &.show-no-results {\n .ifx-multiselect-no-results {\n display: block;\n }\n }\n}\n\n.ifx-multiselect-no-results {\n padding-left: tokens.$ifxSpace200;\n padding-right: tokens.$ifxSpace200;\n display: none;\n}\n","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals, Method } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\nimport { detectFramework } from '../../../global/utils/framework-detection';\nimport { Option } from './interfaces';\n\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n // formAssociated: true\n})\nexport class Multiselect {\n @Prop() name: string;\n @Prop() disabled: boolean = false;\n @Prop() required: boolean = false;\n @Prop() error: boolean = false;\n @Prop() caption: string = '';\n @Prop() label: string = '';\n @Prop() placeholder: string = '';\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @Prop() showClearButton: boolean = true;\n @Prop() showExpandCollapse: boolean = true;\n @Prop() noResultsMessage: string = 'No results found.';\n @Prop() showNoResultsMessage: boolean = true;\n @Prop() searchPlaceholder: string = 'Search';\n @Prop() selectAllLabel: string = 'Select all';\n @Prop() expandLabel: string = 'Expand';\n @Prop() collapseLabel: string = 'Collapse';\n @Prop() ariaMultiSelectLabel: string = 'Multi-select dropdown';\n @Prop() ariaMultiSelectLabelledBy: string = '';\n @Prop() ariaMultiSelectDescribedBy: string = '';\n @Prop() ariaSearchLabel: string = 'Search options';\n @Prop() ariaClearLabel: string = 'Clear all selections';\n @Prop() ariaToggleLabel: string = 'Toggle dropdown';\n @Prop() ariaSelectAllLabel: string = 'Select all options';\n @Prop() ariaExpandAllLabel: string = 'Expand all categories';\n @Prop() ariaCollapseAllLabel: string = 'Collapse all categories';\n\n @State() internalError: boolean = false;\n @State() persistentSelectedOptions: Option[] = [];\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @State() searchTerm: string = '';\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n private parseChildOptions(): Option[] {\n const options: Option[] = [];\n const childElements = Array.from(this.el.children);\n\n childElements.forEach((child, index) => {\n if (child.tagName === 'IFX-MULTISELECT-OPTION') {\n const option = this.parseOptionElement(child as HTMLElement, index);\n if (option) {\n options.push(option);\n }\n }\n });\n\n return options;\n }\n\n private parseOptionElement(element: HTMLElement, index: number): Option | null {\n const value = element.getAttribute('value') || `option-${index}`;\n const selected = element.hasAttribute('selected');\n const disabled = element.hasAttribute('disabled');\n const indeterminate = element.hasAttribute('indeterminate');\n\n const option: Option = {\n value,\n selected,\n disabled,\n indeterminate,\n };\n\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map((child, childIndex) => this.parseOptionElement(child as HTMLElement, childIndex))\n .filter(opt => opt !== null) as Option[];\n\n if (nestedOptions.length > 0) {\n option.children = nestedOptions;\n }\n\n return option;\n }\n\n loadInitialOptions() {\n this.internalError = this.error;\n const allOptions = this.parseChildOptions();\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initiallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initiallySelectedNotInState];\n }\n\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n\n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\n selectedOptions.push(option);\n }\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n\n return selectedOptions;\n }\n\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n\n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n }\n return leafOptions;\n }\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n const isSearchActive = searchTerm !== '';\n\n this.searchTerm = searchTerm;\n\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (isSearchActive) {\n wrapper.classList.remove('active');\n } else {\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field');\n const searchFieldHasFocus = searchField && searchField.matches(':focus-within');\n if (!searchFieldHasFocus) {\n wrapper.classList.add('active');\n }\n }\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (isSearchActive) {\n optionsContainer.classList.add('has-search-filter');\n } else {\n optionsContainer.classList.remove('has-search-filter');\n }\n }\n\n requestAnimationFrame(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm, isActive: isSearchActive },\n });\n option.dispatchEvent(searchEvent);\n });\n\n if (isSearchActive) {\n setTimeout(() => {\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n let visibleCount = 0;\n\n allOptions.forEach(option => {\n const style = window.getComputedStyle(option);\n const rect = option.getBoundingClientRect();\n\n if (style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0' && rect.height > 0) {\n visibleCount++;\n }\n });\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n if (visibleCount === 0) {\n optionsContainer.classList.add('show-no-results');\n } else {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n }, 200);\n } else {\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('show-no-results');\n }\n }\n });\n }, 150);\n\n private handleSearchFocus(hasFocus: boolean) {\n const wrapper = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper');\n if (wrapper) {\n if (hasFocus || this.searchTerm !== '') {\n wrapper.classList.remove('active');\n } else {\n wrapper.classList.add('active');\n }\n }\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || wrapperRect.bottom > window.innerHeight) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n //private pendingSelectionUpdate = false;\n public updateSlotBasedSelections(emitEvent: boolean = false) {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const selectedLeafOptions: Option[] = [];\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.selected && !instance.hasChildren) {\n selectedLeafOptions.push({\n value: instance.value,\n selected: true,\n disabled: instance.disabled,\n label: instance.getTextContent() || instance.value,\n });\n }\n });\n\n this.persistentSelectedOptions = selectedLeafOptions;\n\n if (emitEvent) {\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n }\n\n private updateInitialParentStates() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const optionsByDepth = Array.from(allOptionElements)\n .map(el => ({\n element: el,\n instance: (el as any)['__stencil_instance'],\n depth: parseInt(el.getAttribute('data-level') || '0'),\n }))\n .filter(item => item.instance)\n .sort((a, b) => b.depth - a.depth);\n\n optionsByDepth.forEach(({ instance }) => {\n if (instance.hasChildren) {\n this.updateParentState(instance);\n }\n });\n }\n\n private updateParentState(parentInstance: any) {\n const directChildren = Array.from(parentInstance.el.children as HTMLCollection)\n .filter((child: Element) => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = directChildren.filter(child => child.selected).length;\n const indeterminateCount = directChildren.filter(child => child.indeterminate).length;\n const totalCount = directChildren.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n }\n\n async componentDidLoad() {\n if (!isNestedInIfxComponent(this.el)) {\n const framework = detectFramework();\n trackComponent('ifx-multiselect', await framework);\n }\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n this.el.addEventListener('ifx-option-changed', (event: CustomEvent) => {\n const optionInstance = (event.target as any)?.__stencil_instance;\n if (optionInstance && !optionInstance.hasChildren) {\n this.updateSlotBasedSelections(true);\n }\n });\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.updateInitialParentStates();\n }, 100);\n }\n\n componentWillLoad() {\n this.loadInitialOptions();\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n //this.internals.setFormValue(formData);\n }\n collapseAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = false;\n }\n });\n }\n\n expandAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance && instance.hasChildren) {\n instance.isExpanded = true;\n }\n });\n }\n\n selectAll() {\n this.resetSearch();\n\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n if (instance.hasChildren) {\n instance.isExpanded = true;\n } else {\n instance.selected = true;\n }\n }\n });\n\n setTimeout(() => {\n this.updateInitialParentStates();\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n @Method()\n async clearSelection() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n allOptionElements.forEach((optionEl: any) => {\n const instance = optionEl['__stencil_instance'];\n if (instance) {\n instance.selected = false;\n instance.indeterminate = false;\n if (instance.hasChildren) {\n instance.isExpanded = false;\n }\n }\n });\n\n this.persistentSelectedOptions = [];\n\n setTimeout(() => {\n this.updateSlotBasedSelections(false);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }, 0);\n }\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n this.resetSearch();\n this.ifxOpen.emit(this.dropdownOpen);\n }\n };\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n } else {\n this.resetSearch();\n }\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n private resetSearch() {\n this.searchTerm = '';\n\n const searchField = this.el.shadowRoot.querySelector('ifx-search-field') as any;\n if (searchField) {\n searchField.value = '';\n }\n\n const optionsContainer = this.el.shadowRoot.querySelector('.ifx-multiselect-options');\n if (optionsContainer) {\n optionsContainer.classList.remove('has-search-filter');\n }\n\n const allOptions = this.el.querySelectorAll('ifx-multiselect-option');\n allOptions.forEach(option => {\n const searchEvent = new CustomEvent('ifx-search-filter', {\n detail: { searchTerm: '', isActive: false },\n });\n option.dispatchEvent(searchEvent);\n });\n }\n\n handleWrapperClick(event: MouseEvent) {\n this.positionDropdown();\n\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n // If dropdown is closed, only allow opening\n if (!this.dropdownOpen) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n case 'ArrowDown':\n event.preventDefault();\n this.toggleDropdown();\n break;\n }\n return;\n }\n\n // Dropdown is open - handle navigation and controls\n switch (event.code) {\n case 'Escape':\n event.preventDefault();\n this.toggleDropdown();\n break;\n case 'Enter':\n case 'Space':\n // Don't close dropdown when pressing space/enter in controls area\n const target = event.target as HTMLElement;\n if (!target.closest('.ifx-multiselect-dropdown-functions')) {\n event.preventDefault();\n this.toggleDropdown();\n }\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n // Focus first/last option for navigation\n event.preventDefault();\n this.focusFirstOption();\n break;\n }\n }\n\n private focusFirstOption() {\n const firstOption = this.el.querySelector('ifx-multiselect-option:not(.search-hidden)');\n if (firstOption) {\n const labelElement = firstOption.shadowRoot?.querySelector('.option-label') as HTMLElement;\n labelElement?.focus();\n }\n }\n\n private renderSelectAll() {\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n const leafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren);\n const selectedLeafOptions = Array.from(allOptionElements).filter((el: any) => !el.hasChildren && el.selected);\n\n const allSelected = leafOptions.length > 0 && selectedLeafOptions.length === leafOptions.length;\n\n const toggleSelectAll = (event?: Event) => {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (allSelected) {\n this.clearSelection();\n } else {\n this.selectAll();\n }\n };\n\n return (\n <div class=\"select-all-wrapper\">\n <ifx-checkbox\n id=\"selectAll\"\n checked={allSelected}\n size=\"s\"\n aria-label={this.ariaSelectAllLabel}\n onClick={toggleSelectAll}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n toggleSelectAll(e);\n }\n }}\n >\n {this.selectAllLabel}\n </ifx-checkbox>\n </div>\n );\n }\n\n private renderNoResultsMessage() {\n return (\n <div class=\"ifx-multiselect-no-results\">\n <div class=\"no-results-content\">\n <span class=\"no-results-text\">{this.noResultsMessage}</span>\n </div>\n </div>\n );\n }\n\n render() {\n const selectedOptionsLabels = this.persistentSelectedOptions.map(option => (option as any).label || option.value).join(', ');\n\n const hasSelections = this.persistentSelectedOptions.length > 0;\n\n let isFlatMultiselect = false;\n const allOptionElements = this.el.querySelectorAll('ifx-multiselect-option');\n if (allOptionElements.length > 0) {\n isFlatMultiselect = Array.from(allOptionElements).every(option => option.children.length === 0);\n }\n\n return (\n <div class={`ifx-multiselect-container ${this.disabled && !this.error ? 'disabled' : ''}`} ref={el => (this.dropdownElement = el as HTMLElement)}>\n {\n <div class=\"ifx-label-wrapper\">\n {this.label && (\n <span class=\"wrapper-label\">\n <span>{this.label}</span>\n {this.required && <span class={`required ${this.error ? 'error' : ''}`}>*</span>}\n </span>\n )}\n </div>\n }\n <div\n class={`ifx-multiselect-wrapper\n ${this.dropdownOpen ? 'active' : ''}\n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : ''}\n ${this.disabled && !this.error ? 'disabled' : ''}`}\n role=\"combobox\"\n aria-label={this.ariaMultiSelectLabel}\n aria-labelledby={this.ariaMultiSelectLabelledBy || undefined}\n aria-describedby={this.ariaMultiSelectDescribedBy || undefined}\n aria-expanded={this.dropdownOpen}\n aria-haspopup=\"listbox\"\n aria-disabled={this.disabled && !this.error}\n tabindex=\"0\"\n onClick={this.disabled && !this.error ? undefined : event => this.handleWrapperClick(event)}\n onKeyDown={this.disabled && !this.error ? undefined : event => this.handleKeyDown(event)}\n >\n <div\n class={`ifx-multiselect-input\n ${hasSelections ? '' : 'placeholder'}\n `}\n onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}\n >\n {hasSelections ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\">\n {(this.showSearch || this.showSelectAll || (this.showExpandCollapse && !isFlatMultiselect)) && (\n <div class=\"ifx-multiselect-dropdown-functions\" onClick={e => e.stopPropagation()}>\n {this.showSearch && (\n <div class=\"ifx-multiselect-dropdown-search\">\n <ifx-search-field\n class=\"search-input\"\n placeholder={this.searchPlaceholder}\n size=\"s\"\n show-delete-icon=\"true\"\n aria-label={this.ariaSearchLabel}\n onKeyDown={e => {\n e.stopPropagation();\n }}\n onIfxInput={event => this.handleSearch(event.target)}\n onFocus={() => this.handleSearchFocus(true)}\n onBlur={() => this.handleSearchFocus(false)}\n ></ifx-search-field>\n </div>\n )}\n\n <div class=\"ifx-multiselect-dropdown-controls\">\n {this.showSelectAll && this.renderSelectAll()}\n {this.showExpandCollapse && !isFlatMultiselect && (\n <div class=\"expand-collapse-controls\">\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaExpandAllLabel}\n onClick={e => {\n e.stopPropagation();\n this.expandAll();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.expandAll();\n }\n }}\n >\n {this.expandLabel}\n </span>\n <span\n class=\"control-item\"\n role=\"button\"\n tabIndex={0}\n aria-label={this.ariaCollapseAllLabel}\n onClick={e => {\n e.stopPropagation();\n this.collapseAll();\n }}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.collapseAll();\n }\n }}\n >\n {this.collapseLabel}\n </span>\n </div>\n )}\n </div>\n </div>\n )}\n\n <div class=\"ifx-multiselect-options\" role=\"listbox\" aria-multiselectable=\"true\">\n <slot />\n {this.searchTerm && this.showNoResultsMessage && this.renderNoResultsMessage()}\n </div>\n </div>\n )}\n <div class=\"ifx-multiselect-icon-container\">\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && (\n <div class={`ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`} onClick={this.disabled && !this.error ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cRemove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}>\n <ifx-icon key=\"icon-up\" icon=\"chevron-up-16\"></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled && !this.error ? undefined : () => this.toggleDropdown()}>\n <ifx-icon key=\"icon-down\" icon=\"chevron-down-16\"></ifx-icon>\n </div>\n </div>\n </div>\n {this.caption && <div class={`multi__select-caption ${this.error ? 'error' : ''} ${this.disabled && !this.error ? 'disabled' : ''}`}>{this.caption}</div>}\n </div>\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n width: 100%;\n}\n\n.option {\n display: flex;\n flex-direction: column;\n position: relative;\n cursor: pointer;\n list-style: none;\n\n &.option--expanded {\n position: relative;\n }\n\n &.option--has-children {\n position: relative;\n\n .option-item > .chevron-wrapper {\n display: flex;\n }\n }\n\n &--disabled {\n cursor: not-allowed;\n pointer-events: none;\n color: tokens.$ifxColorEngineering300;\n }\n\n &--selected {\n // Additional styles for selected state if needed\n // .option-item {\n // background: red;\n // }\n }\n\n &.search-hidden {\n display: none !important;\n }\n\n &.search-match {\n .option-item {\n .option-label {\n .search-highlight {\n font-weight: bold;\n // color: tokens.$ifxColorOcean400;\n }\n }\n }\n }\n}\n\n.option-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n white-space: nowrap;\n min-height: tokens.$ifxSize250;\n padding: tokens.$ifxSize50 tokens.$ifxSpace200;\n background-color: tokens.$ifxColorBaseWhite;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: tokens.$ifxColorEngineering100;\n }\n\n .option--disabled & {\n &:hover {\n background-color: transparent;\n }\n }\n}\n\n.option-children {\n display: block;\n}\n\n.chevron-wrapper {\n display: none;\n align-items: center;\n justify-content: center;\n margin-right: tokens.$ifxSpace100;\n width: tokens.$ifxSize250;\n height: tokens.$ifxSize250;\n flex-shrink: 0;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--has-children & {\n display: flex;\n }\n\n .chevron {\n transition: transform 0.2s ease-in-out;\n color: tokens.$ifxColorEngineering600;\n\n &.chevron--expanded {\n transform: rotate(90deg);\n }\n\n &.chevron--collapsed {\n transform: rotate(0deg);\n }\n }\n}\n\n.checkbox-wrapper {\n display: flex;\n align-items: center;\n margin-right: tokens.$ifxSpace100;\n flex-shrink: 0;\n}\n\n.option-label {\n flex-grow: 1;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: tokens.$ifxSpace25 0;\n font-size: tokens.$ifxFontSizeS;\n\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n outline: 2px solid tokens.$ifxColorOcean500;\n outline-offset: 2px;\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n .option--disabled & {\n cursor: not-allowed;\n color: tokens.$ifxColorEngineering300;\n }\n}\n","import { Component, Prop, Element, h, Host, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'ifx-multiselect-option',\n styleUrl: 'multiselect-option.scss',\n shadow: true,\n})\nexport class MultiselectOption {\n @Element() el: HTMLElement;\n\n @Prop() value: string;\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n @Prop({ reflect: true, mutable: true }) disabled: boolean = false;\n @Prop({ reflect: true, mutable: true }) indeterminate: boolean = false;\n\n @State() private isExpanded: boolean = false;\n @State() private hasChildren: boolean = false;\n @State() private depth: number = 0;\n @State() private searchTerm: string = '';\n @State() private isSearchActive: boolean = false;\n @State() private isSearchDisabled: boolean = false;\n\n componentWillLoad() {\n this.hasChildren = this.el.children.length > 0;\n this.depth = this.calculateDepth();\n\n this.el.setAttribute('data-level', this.depth.toString());\n\n if (this.hasChildren) {\n const hasSelectedChildren = this.hasAnySelectedChildren();\n if (hasSelectedChildren) {\n this.isExpanded = true;\n }\n }\n }\n\n componentDidLoad() {\n (this.el as any)['__stencil_instance'] = this;\n this.notifyMultiselect();\n this.el.addEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n componentWillUpdate() { \n this.notifyMultiselect();\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('ifx-search-filter', this.handleSearchFilter);\n }\n\n private handleSearchFilter = (event: CustomEvent) => {\n const { searchTerm, isActive } = event.detail;\n this.searchTerm = searchTerm.toLowerCase();\n this.isSearchActive = isActive;\n\n requestAnimationFrame(() => {\n this.updateSearchClasses();\n });\n }\n\n private updateSearchClasses() {\n const optionDiv = this.el.shadowRoot?.querySelector('.option');\n if (!optionDiv) return;\n\n if (!this.isSearchActive) {\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.removeHighlighting();\n this.isSearchDisabled = false;\n return;\n }\n\n const textContent = this.getTextContent().toLowerCase();\n const matchesSearch = textContent.includes(this.searchTerm);\n const hasMatchingParent = this.hasMatchingParent();\n\n requestAnimationFrame(() => {\n const hasMatchingChildren = this.hasMatchingChildren();\n\n optionDiv.classList.remove('search-hidden', 'search-parent', 'search-match');\n this.isSearchDisabled = false;\n\n if (matchesSearch && !this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n } else if (matchesSearch && this.hasChildren) {\n optionDiv.classList.add('search-match');\n this.highlightSearchTerm();\n this.isExpanded = true;\n } else if (!matchesSearch && this.hasChildren && hasMatchingChildren) {\n optionDiv.classList.add('search-parent');\n this.removeHighlighting();\n this.isExpanded = true;\n this.isSearchDisabled = true;\n } else if (hasMatchingParent) {\n optionDiv.classList.add('search-match');\n this.removeHighlighting();\n } else {\n optionDiv.classList.add('search-hidden');\n this.removeHighlighting();\n }\n });\n }\n\n private highlightSearchTerm() {\n if (!this.searchTerm) return;\n\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n if (!slotElement) return;\n\n this.removeHighlighting();\n\n const originalText = this.getTextContent();\n const searchTermLower = this.searchTerm.toLowerCase();\n const originalTextLower = originalText.toLowerCase();\n\n if (!originalTextLower.includes(searchTermLower)) return;\n\n const searchIndex = originalTextLower.indexOf(searchTermLower);\n\n if (searchIndex === -1) return;\n\n const beforeMatch = originalText.substring(0, searchIndex);\n const matchText = originalText.substring(searchIndex, searchIndex + searchTermLower.length);\n const afterMatch = originalText.substring(searchIndex + searchTermLower.length);\n\n const highlightedContent = document.createElement('span');\n highlightedContent.className = 'highlighted-text';\n\n if (beforeMatch) {\n highlightedContent.appendChild(document.createTextNode(beforeMatch));\n }\n\n const boldElement = document.createElement('strong');\n boldElement.className = 'search-highlight';\n boldElement.textContent = matchText;\n highlightedContent.appendChild(boldElement);\n\n if (afterMatch) {\n highlightedContent.appendChild(document.createTextNode(afterMatch));\n }\n\n labelElement.setAttribute('data-original-content', 'true');\n slotElement.style.display = 'none';\n labelElement.appendChild(highlightedContent);\n }\n\n private removeHighlighting() {\n const labelElement = this.el.shadowRoot?.querySelector('.option-label');\n if (!labelElement) return;\n\n const slotElement = labelElement.querySelector('slot');\n const highlightedElement = labelElement.querySelector('.highlighted-text');\n\n if (highlightedElement) {\n labelElement.removeChild(highlightedElement);\n }\n\n if (slotElement) {\n slotElement.style.display = '';\n }\n\n labelElement.removeAttribute('data-original-content');\n }\n\n private getTextContent(): string {\n let text = '';\n Array.from(this.el.childNodes).forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent?.trim() || '';\n }\n });\n return text || this.value || '';\n }\n\n private hasMatchingChildren(): boolean {\n if (!this.hasChildren) return false;\n\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const childInstance = (child as any)['__stencil_instance'];\n if (!childInstance) return false;\n\n const childText = childInstance.getTextContent().toLowerCase();\n const childMatches = childText.includes(this.searchTerm);\n const grandChildrenMatch = childInstance.hasMatchingChildren();\n\n return childMatches || grandChildrenMatch;\n });\n }\n\n private hasMatchingParent(): boolean {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (parentInstance) {\n const parentText = parentInstance.getTextContent().toLowerCase();\n if (parentText.includes(this.searchTerm)) {\n return true;\n }\n }\n parent = parent.parentElement;\n }\n return false;\n }\n\n private calculateDepth(): number {\n let depth = 0;\n let parent = this.el.parentElement;\n while (parent && parent.tagName !== 'IFX-MULTISELECT') {\n if (parent.tagName === 'IFX-MULTISELECT-OPTION') {\n depth++;\n }\n parent = parent.parentElement;\n }\n return depth;\n }\n\n @Listen('click')\n handleClick(event: Event) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n if (event.type === 'click' && (event.target as HTMLElement).closest('.chevron-wrapper')) {\n this.toggleExpansion();\n return;\n }\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n @Listen('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n const target = event.target as HTMLElement;\n\n if (target.closest('.chevron-wrapper') || target.closest('.checkbox-wrapper')) {\n return;\n }\n\n if (event.key !== 'ArrowUp' && event.key !== 'ArrowDown') {\n event.stopPropagation();\n }\n\n if (event.key === 'ArrowRight' && this.hasChildren) {\n this.isExpanded = true;\n }\n\n if (event.key === 'ArrowLeft' && this.hasChildren) {\n this.isExpanded = false;\n }\n }\n\n private notifyMultiselect() {\n const updateEvent = new CustomEvent('ifx-option-changed', {\n bubbles: true,\n detail: {\n value: this.value,\n selected: this.selected,\n indeterminate: this.indeterminate\n }\n });\n this.el.dispatchEvent(updateEvent);\n }\n\n private selectAllChildren(selected: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance) {\n childInstance.selected = selected;\n childInstance.indeterminate = false;\n\n if (childInstance.hasChildren) {\n childInstance.isExpanded = selected;\n childInstance.selectAllChildren(selected);\n }\n childInstance.notifyMultiselect?.();\n }\n });\n }\n\n private expandAllChildren(expanded: boolean) {\n const directChildren = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as any[];\n\n directChildren.forEach((child: any) => {\n const childInstance = child['__stencil_instance'];\n if (childInstance && childInstance.hasChildren) {\n childInstance.isExpanded = expanded;\n childInstance.expandAllChildren(expanded);\n }\n });\n }\n\n private updateParentStates() {\n let parent = this.el.parentElement;\n while (parent && parent.tagName === 'IFX-MULTISELECT-OPTION') {\n const parentInstance = (parent as any)['__stencil_instance'];\n if (!parentInstance) {\n parent = parent.parentElement;\n continue;\n }\n\n const siblings = Array.from(parent.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION')\n .map(child => (child as any)['__stencil_instance'])\n .filter(instance => instance !== null);\n\n const selectedCount = siblings.filter(sibling => sibling.selected).length;\n const indeterminateCount = siblings.filter(sibling => sibling.indeterminate).length;\n const totalCount = siblings.length;\n\n if (selectedCount === totalCount && indeterminateCount === 0) {\n parentInstance.selected = true;\n parentInstance.indeterminate = false;\n } else if (selectedCount === 0 && indeterminateCount === 0) {\n parentInstance.selected = false;\n parentInstance.indeterminate = false;\n } else {\n parentInstance.selected = false;\n parentInstance.indeterminate = true;\n }\n\n parentInstance.notifyMultiselect?.();\n parent = parent.parentElement;\n }\n }\n\n private toggleExpansion() {\n this.isExpanded = !this.isExpanded;\n }\n\n private handleCheckboxClick = (event: Event) => {\n if (this.disabled || (this.isSearchActive && this.isSearchDisabled)) return;\n\n event.stopPropagation();\n\n let newSelectedState: boolean;\n\n if (this.indeterminate) {\n newSelectedState = true;\n } else {\n newSelectedState = !this.selected;\n }\n\n this.selected = newSelectedState;\n this.indeterminate = false;\n\n if (this.hasChildren) {\n this.isExpanded = newSelectedState;\n\n requestAnimationFrame(() => {\n this.selectAllChildren(newSelectedState);\n this.expandAllChildren(newSelectedState);\n });\n }\n\n this.updateParentStates();\n this.notifyMultiselect();\n }\n\n private handleHeaderClick = (event: Event) => {\n event.stopPropagation();\n if (!this.disabled && !(this.isSearchActive && this.isSearchDisabled)) {\n this.handleClick(event);\n }\n }\n\n private hasAnySelectedChildren(): boolean {\n const childOptions = Array.from(this.el.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return childOptions.some(child => {\n const hasSelected = child.hasAttribute('selected');\n const hasSelectedDescendants = this.checkForSelectedDescendants(child);\n\n return hasSelected || hasSelectedDescendants;\n });\n }\n\n private checkForSelectedDescendants(element: HTMLElement): boolean {\n const nestedOptions = Array.from(element.children)\n .filter(child => child.tagName === 'IFX-MULTISELECT-OPTION') as HTMLElement[];\n\n return nestedOptions.some(nestedChild => {\n const isSelected = nestedChild.hasAttribute('selected');\n const hasSelectedNested = this.checkForSelectedDescendants(nestedChild);\n\n return isSelected || hasSelectedNested;\n });\n }\n\n render() {\n let isFlatMultiselect = false;\n const parentMultiselect = this.el.closest('ifx-multiselect');\n if (parentMultiselect) {\n const allOptions = Array.from(parentMultiselect.querySelectorAll('ifx-multiselect-option'));\n isFlatMultiselect = allOptions.every(option => option.children.length === 0);\n }\n\n const basePadding = this.depth * 28 + 16;\n const additionalPadding = this.hasChildren ? 0 : 28;\n let totalPadding = basePadding + additionalPadding;\n\n const optionItemStyle = isFlatMultiselect ? undefined : { paddingLeft: `${totalPadding}px` };\n\n return (\n <Host>\n <div\n class={{\n 'option': true,\n 'option--has-children': this.hasChildren,\n 'option--expanded': this.isExpanded,\n 'option--disabled': this.disabled,\n 'option--selected': this.selected,\n }}\n role=\"option\"\n aria-expanded={this.hasChildren ? (this.isExpanded ? 'true' : 'false') : undefined}\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n data-level={this.depth}\n data-value={this.value}\n >\n <div\n class=\"option-item\"\n style={optionItemStyle}\n >\n <div\n class=\"chevron-wrapper\"\n tabIndex={this.hasChildren ? 0 : -1}\n role={this.hasChildren ? \"button\" : undefined}\n aria-label={this.hasChildren ? (this.isExpanded ? \"Collapse\" : \"Expand\") : undefined}\n onClick={(e) => { e.stopPropagation(); this.toggleExpansion(); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.toggleExpansion();\n }\n }}\n >\n {this.hasChildren && (\n <ifx-icon\n class={`chevron ${this.isExpanded ? 'chevron--expanded' : 'chevron--collapsed'}`}\n icon=\"chevron-right-16\"\n />\n )}\n </div>\n\n <div class=\"checkbox-wrapper\" onClick={(e) => e.stopPropagation()}>\n <ifx-checkbox\n size='s'\n checked={(this.isSearchActive && this.isSearchDisabled) ? false : (this.indeterminate ? false : this.selected)}\n indeterminate={(this.isSearchActive && this.isSearchDisabled) ? false : this.indeterminate}\n onClick={this.handleCheckboxClick}\n disabled={this.disabled || (this.isSearchActive && this.isSearchDisabled)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n this.handleCheckboxClick(e);\n }\n }}\n />\n </div>\n\n <div\n class=\"option-label\"\n onClick={this.handleHeaderClick}\n tabIndex={-1}\n >\n <slot/>\n </div>\n </div>\n\n {this.isExpanded && <div class=\"option-children\"><slot name=\"children\"/></div>}\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|