@infineon/infineon-design-system-stencil 35.5.0--canary.1904.c3cb7254ae476891ebdb18f1579f66379ad24854.0 → 36.0.0--canary.1926.3b76d5defe8b9a743d9ec0dd5e6879c04e8055c0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ifx-accordion_2.cjs.entry.js +26 -33
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js +1 -7
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-badge.cjs.entry.js +1 -9
- package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js +4 -9
- package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js +1 -8
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js +1 -6
- package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card.cjs.entry.js +3 -8
- package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js +1 -6
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox.cjs.entry.js +3 -8
- package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-chip_3.cjs.entry.js +9 -17
- package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js +1 -6
- package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-date-picker.cjs.entry.js +2 -9
- package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js +1 -6
- package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-faq.cjs.entry.js +1 -1
- package/dist/cjs/ifx-file-upload.cjs.entry.js +2 -9
- package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-filter-accordion.cjs.entry.js +2 -2
- package/dist/cjs/ifx-filter-bar.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-search.cjs.entry.js +1 -1
- package/dist/cjs/ifx-filter-type-group.cjs.entry.js +1 -1
- package/dist/cjs/ifx-footer.cjs.entry.js +4 -9
- package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +1 -6
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +3 -36
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-indicator.cjs.entry.js +2 -7
- package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js +1 -9
- package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-list-entry.cjs.entry.js +1 -1
- package/dist/cjs/ifx-modal.cjs.entry.js +2 -9
- package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js +932 -0
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -0
- package/dist/cjs/ifx-navbar.cjs.entry.js +3 -5
- package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-notification.cjs.entry.js +2 -10
- package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js +1 -7
- package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js +1 -6
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button.cjs.entry.js +2 -7
- package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js +1 -6
- package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js +1 -9
- package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.cjs.entry.js +2 -9
- package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-select.cjs.entry.js +2 -7
- package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-set-filter.cjs.entry.js +19 -2
- package/dist/cjs/ifx-set-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar.cjs.entry.js +5 -7
- package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-slider.cjs.entry.js +3 -8
- package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-spinner_2.cjs.entry.js +6 -17
- package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js +1 -9
- package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-step.cjs.entry.js +4 -4
- package/dist/cjs/ifx-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-stepper.cjs.entry.js +2 -7
- package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js +1 -6
- package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tab.cjs.entry.js +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +5 -10
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tabs.cjs.entry.js +2 -7
- package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tag.cjs.entry.js +1 -9
- package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-templates-ui.cjs.entry.js +1 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js +1 -6
- package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tooltip.cjs.entry.js +4 -9
- package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view-item.cjs.entry.js +2 -2
- package/dist/cjs/ifx-tree-view.cjs.entry.js +1 -9
- package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/index-7f4df11a.js +14 -14
- package/dist/cjs/infineon-design-system-stencil.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.js +2 -8
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion/accordionItem.css +4 -0
- package/dist/collection/components/accordion/accordionItem.js +24 -24
- package/dist/collection/components/accordion/accordionItem.js.map +1 -1
- package/dist/collection/components/alert/alert.js +0 -6
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/badge/badge.js +1 -9
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -8
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.js +1 -6
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +3 -8
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +3 -8
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +1 -6
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/chip/chip.js +8 -13
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.js +1 -6
- package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +2 -9
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -6
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.js +2 -9
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/footer/footer.js +4 -9
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/footer/footer.stories.js +4 -4
- package/dist/collection/components/footer/footer.stories.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +3 -36
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -6
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/indicator/indicator.js +2 -7
- package/dist/collection/components/indicator/indicator.js.map +1 -1
- package/dist/collection/components/link/link.js +1 -9
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/modal/modal.js +2 -9
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.js +3 -5
- package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.js +5 -7
- package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/collection/components/notification/notification.js +2 -10
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -6
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +1 -7
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.js +2 -7
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -6
- package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.js +1 -6
- package/dist/collection/components/search-bar/search-bar.js.map +1 -1
- package/dist/collection/components/search-field/search-field.js +1 -9
- package/dist/collection/components/search-field/search-field.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +2 -9
- package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/collection/components/select/multi-select/interfaces.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect-option.css +112 -0
- package/dist/collection/components/select/multi-select/multiselect-option.js +505 -0
- package/dist/collection/components/select/multi-select/multiselect-option.js.map +1 -0
- package/dist/collection/components/select/multi-select/multiselect.css +56 -67
- package/dist/collection/components/select/multi-select/multiselect.js +678 -432
- package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.stories.js +439 -135
- package/dist/collection/components/select/multi-select/multiselect.stories.js.map +1 -1
- package/dist/collection/components/select/single-select/select.js +2 -7
- package/dist/collection/components/select/single-select/select.js.map +1 -1
- package/dist/collection/components/slider/slider.css +2 -2
- package/dist/collection/components/slider/slider.js +2 -7
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +2 -10
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/status/status.js +1 -9
- package/dist/collection/components/status/status.js.map +1 -1
- package/dist/collection/components/stepper/step/step.js +4 -4
- package/dist/collection/components/stepper/step/step.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +2 -7
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/switch/switch.js +1 -6
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/table-advanced-version/filter-bar/filter-bar.js +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-accordion/filter-accordion.js +2 -2
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-search/filter-search.js +1 -1
- package/dist/collection/components/table-advanced-version/filter-type-group/filter-type-group.js +1 -1
- package/dist/collection/components/table-advanced-version/list/list-entry/list-entry.js +1 -1
- package/dist/collection/components/table-advanced-version/set-filter/setFilter.js +19 -2
- package/dist/collection/components/table-advanced-version/set-filter/setFilter.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.js +5 -10
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.stories.js +2 -3
- package/dist/collection/components/table-advanced-version/table.stories.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.js +4 -9
- package/dist/collection/components/table-basic-version/table.js.map +1 -1
- package/dist/collection/components/tabs/tab.js +1 -1
- package/dist/collection/components/tabs/tabs.js +3 -7
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tag/tag.js +1 -9
- package/dist/collection/components/tag/tag.js.map +1 -1
- package/dist/collection/components/templates/template/template.js +1 -1
- package/dist/collection/components/templates/templates-ui/templates-ui.js +1 -1
- package/dist/collection/components/text-field/text-field.js +4 -9
- package/dist/collection/components/text-field/text-field.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +1 -6
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +4 -9
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view-item.js +2 -2
- package/dist/collection/components/tree-view/tree-view.js +1 -9
- package/dist/collection/components/tree-view/tree-view.js.map +1 -1
- package/dist/collection/stories/setup-and-installation/faq/faq.js +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-accordion.js +1 -1
- package/dist/components/ifx-alert.js +1 -1
- package/dist/components/ifx-badge.js +1 -9
- package/dist/components/ifx-badge.js.map +1 -1
- package/dist/components/ifx-basic-table.js +4 -9
- package/dist/components/ifx-basic-table.js.map +1 -1
- package/dist/components/ifx-breadcrumb-item-label.js +1 -1
- package/dist/components/ifx-breadcrumb.js +1 -8
- package/dist/components/ifx-breadcrumb.js.map +1 -1
- package/dist/components/ifx-button.js +1 -1
- package/dist/components/ifx-card.js +3 -8
- package/dist/components/ifx-card.js.map +1 -1
- package/dist/components/ifx-checkbox-group.js +2 -7
- package/dist/components/ifx-checkbox-group.js.map +1 -1
- package/dist/components/ifx-checkbox.js +1 -1
- package/dist/components/ifx-chip-item.js +1 -1
- package/dist/components/ifx-chip.js +1 -1
- package/dist/components/ifx-content-switcher.js +1 -6
- package/dist/components/ifx-content-switcher.js.map +1 -1
- package/dist/components/ifx-date-picker.js +3 -10
- package/dist/components/ifx-date-picker.js.map +1 -1
- package/dist/components/ifx-download.js +1 -1
- package/dist/components/ifx-dropdown-item.js +1 -1
- package/dist/components/ifx-dropdown-separator.js +29 -1
- package/dist/components/ifx-dropdown-separator.js.map +1 -1
- package/dist/components/ifx-dropdown-trigger-button.js +2 -2
- package/dist/components/ifx-dropdown.js +1 -6
- package/dist/components/ifx-dropdown.js.map +1 -1
- package/dist/components/ifx-faq.js +4 -4
- package/dist/components/ifx-file-upload.js +6 -13
- package/dist/components/ifx-file-upload.js.map +1 -1
- package/dist/components/ifx-filter-accordion.js +4 -4
- package/dist/components/ifx-filter-bar.js +3 -3
- package/dist/components/ifx-filter-search.js +3 -3
- package/dist/components/ifx-filter-type-group.js +1 -1
- package/dist/components/ifx-footer.js +4 -9
- package/dist/components/ifx-footer.js.map +1 -1
- package/dist/components/ifx-icon-button.js +1 -1
- package/dist/components/ifx-icon.js +1 -1
- package/dist/components/ifx-icons-preview.js +4 -4
- package/dist/components/ifx-indicator.js +1 -1
- package/dist/components/ifx-link.js +1 -1
- package/dist/components/ifx-list-entry.js +4 -4
- package/dist/components/ifx-list.js +2 -2
- package/dist/components/ifx-modal.js +4 -11
- package/dist/components/ifx-modal.js.map +1 -1
- package/dist/components/ifx-multiselect-option.d.ts +11 -0
- package/dist/components/ifx-multiselect-option.js +8 -0
- package/dist/components/ifx-multiselect-option.js.map +1 -0
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +2 -2
- package/dist/components/ifx-navbar.js +4 -6
- package/dist/components/ifx-navbar.js.map +1 -1
- package/dist/components/ifx-notification.js +1 -1
- package/dist/components/ifx-overview-table.js +3 -3
- package/dist/components/ifx-pagination.js +1 -1
- package/dist/components/ifx-progress-bar.js +1 -1
- package/dist/components/ifx-radio-button-group.js +2 -7
- package/dist/components/ifx-radio-button-group.js.map +1 -1
- package/dist/components/ifx-radio-button.js +1 -1
- package/dist/components/ifx-search-bar.js +3 -8
- package/dist/components/ifx-search-bar.js.map +1 -1
- package/dist/components/ifx-search-field.js +1 -1
- package/dist/components/ifx-segment.js +1 -1
- package/dist/components/ifx-segmented-control.js +3 -10
- package/dist/components/ifx-segmented-control.js.map +1 -1
- package/dist/components/ifx-select.js +1 -1
- package/dist/components/ifx-set-filter.js +35 -12
- package/dist/components/ifx-set-filter.js.map +1 -1
- package/dist/components/ifx-sidebar-item.js +2 -2
- package/dist/components/ifx-sidebar.js +5 -7
- package/dist/components/ifx-sidebar.js.map +1 -1
- package/dist/components/ifx-slider.js +4 -9
- package/dist/components/ifx-slider.js.map +1 -1
- package/dist/components/ifx-spinner.js +1 -1
- package/dist/components/ifx-status.js +1 -9
- package/dist/components/ifx-status.js.map +1 -1
- package/dist/components/ifx-step.js +5 -5
- package/dist/components/ifx-step.js.map +1 -1
- package/dist/components/ifx-stepper.js +2 -7
- package/dist/components/ifx-stepper.js.map +1 -1
- package/dist/components/ifx-switch.js +1 -6
- package/dist/components/ifx-switch.js.map +1 -1
- package/dist/components/ifx-tab.js +1 -1
- package/dist/components/ifx-table.js +14 -19
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/ifx-tabs.js +3 -8
- package/dist/components/ifx-tabs.js.map +1 -1
- package/dist/components/ifx-tag.js +2 -10
- package/dist/components/ifx-tag.js.map +1 -1
- package/dist/components/ifx-template.js +1 -1
- package/dist/components/ifx-templates-ui.js +9 -9
- package/dist/components/ifx-text-field.js +1 -1
- package/dist/components/ifx-textarea.js +1 -6
- package/dist/components/ifx-textarea.js.map +1 -1
- package/dist/components/ifx-tooltip.js +5 -10
- package/dist/components/ifx-tooltip.js.map +1 -1
- package/dist/components/ifx-tree-view-item.js +4 -4
- package/dist/components/ifx-tree-view.js +1 -9
- package/dist/components/ifx-tree-view.js.map +1 -1
- package/dist/components/p-09673a59.js +119 -0
- package/dist/components/p-09673a59.js.map +1 -0
- package/dist/components/{p-816b2612.js → p-17df0350.js} +2 -7
- package/dist/components/p-17df0350.js.map +1 -0
- package/dist/components/p-1bb40944.js +602 -0
- package/dist/components/p-1bb40944.js.map +1 -0
- package/dist/components/{p-e126ea6f.js → p-351949f1.js} +3 -11
- package/dist/components/p-351949f1.js.map +1 -0
- package/dist/components/{p-54b39a91.js → p-357107c5.js} +3 -8
- package/dist/components/p-357107c5.js.map +1 -0
- package/dist/components/p-3f51d740.js +432 -0
- package/dist/components/p-3f51d740.js.map +1 -0
- package/dist/components/{p-9ea9e274.js → p-53d4339c.js} +2 -10
- package/dist/components/p-53d4339c.js.map +1 -0
- package/dist/components/{p-6d95b3c1.js → p-5e9d3450.js} +2 -8
- package/dist/components/p-5e9d3450.js.map +1 -0
- package/dist/components/{p-465d3172.js → p-8a645052.js} +3 -11
- package/dist/components/p-8a645052.js.map +1 -0
- package/dist/components/{p-94da6823.js → p-9142f93b.js} +3 -8
- package/dist/components/p-9142f93b.js.map +1 -0
- package/dist/components/{p-4fc475c9.js → p-9a258534.js} +4 -37
- package/dist/components/p-9a258534.js.map +1 -0
- package/dist/components/{p-1ad917f9.js → p-9bdb8233.js} +4 -9
- package/dist/components/p-9bdb8233.js.map +1 -0
- package/dist/components/{p-830057b3.js → p-ba627b54.js} +2 -8
- package/dist/components/p-ba627b54.js.map +1 -0
- package/dist/components/{p-24382260.js → p-c90a8438.js} +6 -11
- package/dist/components/p-c90a8438.js.map +1 -0
- package/dist/components/{p-cf109552.js → p-cdac7da6.js} +5 -10
- package/dist/components/p-cdac7da6.js.map +1 -0
- package/dist/components/{p-8cb991f4.js → p-cf9adb93.js} +5 -13
- package/dist/components/p-cf9adb93.js.map +1 -0
- package/dist/components/{p-13578a85.js → p-dda8b55f.js} +7 -7
- package/dist/components/{p-13578a85.js.map → p-dda8b55f.js.map} +1 -1
- package/dist/components/{p-0905733d.js → p-e4c0ba88.js} +11 -16
- package/dist/components/p-e4c0ba88.js.map +1 -0
- package/dist/components/{p-cca71d97.js → p-ed739e86.js} +2 -9
- package/dist/components/p-ed739e86.js.map +1 -0
- package/dist/components/{p-0d6ca0f6.js → p-eebb75a8.js} +3 -8
- package/dist/components/p-eebb75a8.js.map +1 -0
- package/dist/components/{p-ee0f87ac.js → p-f38c3009.js} +3 -3
- package/dist/components/{p-ee0f87ac.js.map → p-f38c3009.js.map} +1 -1
- package/dist/components/{p-13126216.js → p-f5675de2.js} +5 -10
- package/dist/components/p-f5675de2.js.map +1 -0
- package/dist/esm/ifx-accordion_2.entry.js +26 -33
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-alert_2.entry.js +1 -7
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-badge.entry.js +2 -10
- package/dist/esm/ifx-badge.entry.js.map +1 -1
- package/dist/esm/ifx-basic-table.entry.js +4 -9
- package/dist/esm/ifx-basic-table.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js +1 -8
- package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ifx-button.entry.js +1 -6
- package/dist/esm/ifx-button.entry.js.map +1 -1
- package/dist/esm/ifx-card.entry.js +3 -8
- package/dist/esm/ifx-card.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js +1 -6
- package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox.entry.js +3 -8
- package/dist/esm/ifx-checkbox.entry.js.map +1 -1
- package/dist/esm/ifx-chip_3.entry.js +9 -17
- package/dist/esm/ifx-chip_3.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher.entry.js +1 -6
- package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
- package/dist/esm/ifx-date-picker.entry.js +2 -9
- package/dist/esm/ifx-date-picker.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown.entry.js +1 -6
- package/dist/esm/ifx-dropdown.entry.js.map +1 -1
- package/dist/esm/ifx-faq.entry.js +1 -1
- package/dist/esm/ifx-file-upload.entry.js +2 -9
- package/dist/esm/ifx-file-upload.entry.js.map +1 -1
- package/dist/esm/ifx-filter-accordion.entry.js +2 -2
- package/dist/esm/ifx-filter-bar.entry.js +1 -1
- package/dist/esm/ifx-filter-search.entry.js +1 -1
- package/dist/esm/ifx-filter-type-group.entry.js +1 -1
- package/dist/esm/ifx-footer.entry.js +4 -9
- package/dist/esm/ifx-footer.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +1 -6
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +4 -37
- package/dist/esm/ifx-icon.entry.js.map +1 -1
- package/dist/esm/ifx-indicator.entry.js +2 -7
- package/dist/esm/ifx-indicator.entry.js.map +1 -1
- package/dist/esm/ifx-link.entry.js +2 -10
- package/dist/esm/ifx-link.entry.js.map +1 -1
- package/dist/esm/ifx-list-entry.entry.js +1 -1
- package/dist/esm/ifx-modal.entry.js +2 -9
- package/dist/esm/ifx-modal.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect_2.entry.js +927 -0
- package/dist/esm/ifx-multiselect_2.entry.js.map +1 -0
- package/dist/esm/ifx-navbar.entry.js +3 -5
- package/dist/esm/ifx-navbar.entry.js.map +1 -1
- package/dist/esm/ifx-notification.entry.js +3 -11
- package/dist/esm/ifx-notification.entry.js.map +1 -1
- package/dist/esm/ifx-progress-bar.entry.js +2 -8
- package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js +1 -6
- package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button.entry.js +2 -7
- package/dist/esm/ifx-radio-button.entry.js.map +1 -1
- package/dist/esm/ifx-search-bar.entry.js +1 -6
- package/dist/esm/ifx-search-bar.entry.js.map +1 -1
- package/dist/esm/ifx-search-field.entry.js +2 -10
- package/dist/esm/ifx-search-field.entry.js.map +1 -1
- package/dist/esm/ifx-segmented-control.entry.js +2 -9
- package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
- package/dist/esm/ifx-select.entry.js +2 -7
- package/dist/esm/ifx-select.entry.js.map +1 -1
- package/dist/esm/ifx-set-filter.entry.js +19 -2
- package/dist/esm/ifx-set-filter.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar.entry.js +5 -7
- package/dist/esm/ifx-sidebar.entry.js.map +1 -1
- package/dist/esm/ifx-slider.entry.js +3 -8
- package/dist/esm/ifx-slider.entry.js.map +1 -1
- package/dist/esm/ifx-spinner_2.entry.js +7 -18
- package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
- package/dist/esm/ifx-status.entry.js +2 -10
- package/dist/esm/ifx-status.entry.js.map +1 -1
- package/dist/esm/ifx-step.entry.js +4 -4
- package/dist/esm/ifx-step.entry.js.map +1 -1
- package/dist/esm/ifx-stepper.entry.js +2 -7
- package/dist/esm/ifx-stepper.entry.js.map +1 -1
- package/dist/esm/ifx-switch.entry.js +1 -6
- package/dist/esm/ifx-switch.entry.js.map +1 -1
- package/dist/esm/ifx-tab.entry.js +1 -1
- package/dist/esm/ifx-table.entry.js +5 -10
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/ifx-tabs.entry.js +2 -7
- package/dist/esm/ifx-tabs.entry.js.map +1 -1
- package/dist/esm/ifx-tag.entry.js +2 -10
- package/dist/esm/ifx-tag.entry.js.map +1 -1
- package/dist/esm/ifx-templates-ui.entry.js +1 -1
- package/dist/esm/ifx-textarea.entry.js +1 -6
- package/dist/esm/ifx-textarea.entry.js.map +1 -1
- package/dist/esm/ifx-tooltip.entry.js +4 -9
- package/dist/esm/ifx-tooltip.entry.js.map +1 -1
- package/dist/esm/ifx-tree-view-item.entry.js +2 -2
- package/dist/esm/ifx-tree-view.entry.js +2 -10
- package/dist/esm/ifx-tree-view.entry.js.map +1 -1
- package/dist/esm/index-6c9eba32.js +14 -14
- package/dist/esm/infineon-design-system-stencil.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js.map +1 -1
- package/dist/infineon-design-system-stencil/p-02496917.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-02496917.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-f2bea855.entry.js → p-04d8ea38.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-87fbd617.entry.js → p-0c1c831c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-135110b2.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-135110b2.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-13c107bf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-13c107bf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-1bf2d4f8.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-1bf2d4f8.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-a9cfb70d.entry.js → p-36dcebde.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-0f096cf1.entry.js → p-3d037fa4.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4764665d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4764665d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4f82fcfd.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4f82fcfd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5e376887.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5e376887.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5f38cace.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5f38cace.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6250b9f6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6250b9f6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-babf3f2d.entry.js → p-6c2698a3.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-6c999b11.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6c999b11.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-9c28f35f.entry.js → p-6e7b0250.entry.js} +3 -3
- package/dist/infineon-design-system-stencil/p-6e7b0250.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-70f4fd1b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-70f4fd1b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-7619bd75.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7619bd75.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-76e0c34f.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-76e0c34f.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-6d99d01d.entry.js → p-7adee2dd.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-99faadcf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-99faadcf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a2a44fbe.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a356a82d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a356a82d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a80e321b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a80e321b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-2b38c405.entry.js → p-b7cb706f.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-2b38c405.entry.js.map → p-b7cb706f.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/p-b9c761d3.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b9c761d3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-7b7ac7fa.entry.js → p-c7e86c7c.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-d890b0de.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-d890b0de.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e571c002.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e72e5fb2.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e72e5fb2.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f9a7ae20.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f9a7ae20.entry.js.map +1 -0
- package/dist/types/components/accordion/accordion.d.ts +0 -1
- package/dist/types/components/accordion/accordionItem.d.ts +1 -2
- package/dist/types/components/alert/alert.d.ts +0 -1
- package/dist/types/components/badge/badge.d.ts +0 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -1
- package/dist/types/components/date-picker/date-picker.d.ts +0 -1
- package/dist/types/components/file-upload/file-upload.d.ts +0 -1
- package/dist/types/components/icon/infineonIconStencil.d.ts +0 -3
- package/dist/types/components/link/link.d.ts +0 -2
- package/dist/types/components/modal/modal.d.ts +0 -1
- package/dist/types/components/notification/notification.d.ts +0 -2
- package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/components/search-field/search-field.d.ts +0 -2
- package/dist/types/components/segmented-control/segmented-control.d.ts +0 -1
- package/dist/types/components/select/multi-select/interfaces.d.ts +1 -1
- package/dist/types/components/select/multi-select/multiselect-option.d.ts +36 -0
- package/dist/types/components/select/multi-select/multiselect.d.ts +38 -61
- package/dist/types/components/select/multi-select/multiselect.stories.d.ts +219 -30
- package/dist/types/components/spinner/spinner.d.ts +0 -2
- package/dist/types/components/status/status.d.ts +0 -2
- package/dist/types/components/tag/tag.d.ts +0 -2
- package/dist/types/components/tree-view/tree-view.d.ts +0 -2
- package/dist/types/components.d.ts +54 -8
- package/package.json +2 -2
- package/dist/cjs/dom-utils-2c4573c2.js +0 -20
- package/dist/cjs/dom-utils-2c4573c2.js.map +0 -1
- package/dist/cjs/ifx-multiselect.cjs.entry.js +0 -550
- package/dist/cjs/ifx-multiselect.cjs.entry.js.map +0 -1
- package/dist/cjs/tracking-f00364dc.js +0 -41
- package/dist/cjs/tracking-f00364dc.js.map +0 -1
- package/dist/collection/global/utils/dom-utils.js +0 -15
- package/dist/collection/global/utils/dom-utils.js.map +0 -1
- package/dist/collection/global/utils/tracking.js +0 -37
- package/dist/collection/global/utils/tracking.js.map +0 -1
- package/dist/components/p-0905733d.js.map +0 -1
- package/dist/components/p-0d6ca0f6.js.map +0 -1
- package/dist/components/p-13126216.js.map +0 -1
- package/dist/components/p-1ad917f9.js.map +0 -1
- package/dist/components/p-1ecafb97.js +0 -18
- package/dist/components/p-1ecafb97.js.map +0 -1
- package/dist/components/p-24382260.js.map +0 -1
- package/dist/components/p-347a1b14.js +0 -603
- package/dist/components/p-347a1b14.js.map +0 -1
- package/dist/components/p-465d3172.js.map +0 -1
- package/dist/components/p-4fc475c9.js.map +0 -1
- package/dist/components/p-54b39a91.js.map +0 -1
- package/dist/components/p-68016aea.js +0 -33
- package/dist/components/p-68016aea.js.map +0 -1
- package/dist/components/p-6d95b3c1.js.map +0 -1
- package/dist/components/p-6ecb6a6f.js +0 -39
- package/dist/components/p-6ecb6a6f.js.map +0 -1
- package/dist/components/p-816b2612.js.map +0 -1
- package/dist/components/p-830057b3.js.map +0 -1
- package/dist/components/p-8cb991f4.js.map +0 -1
- package/dist/components/p-94da6823.js.map +0 -1
- package/dist/components/p-9ea9e274.js.map +0 -1
- package/dist/components/p-cca71d97.js.map +0 -1
- package/dist/components/p-cf109552.js.map +0 -1
- package/dist/components/p-e126ea6f.js.map +0 -1
- package/dist/components/p-fe90e932.js +0 -119
- package/dist/components/p-fe90e932.js.map +0 -1
- package/dist/esm/dom-utils-1988cdf1.js +0 -18
- package/dist/esm/dom-utils-1988cdf1.js.map +0 -1
- package/dist/esm/ifx-multiselect.entry.js +0 -546
- package/dist/esm/ifx-multiselect.entry.js.map +0 -1
- package/dist/esm/tracking-a7efdbcd.js +0 -39
- package/dist/esm/tracking-a7efdbcd.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0c60ce87.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-14842bbb.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-14842bbb.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-19fcf1db.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1ecafb97.js +0 -2
- package/dist/infineon-design-system-stencil/p-1ecafb97.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1fd80576.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-1fd80576.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-227fa186.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-227fa186.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-26c73456.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-26c73456.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-296f215f.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-296f215f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-32b0dfda.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-34738a10.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-45ac2698.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-45ac2698.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-4eda4ef3.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-52420868.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-52420868.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5493e6f5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5a12d20a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-65255c40.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-65255c40.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-65e57b85.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-68423787.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-68423787.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js +0 -2
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-73d39ed6.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-76914839.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-76914839.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-796675ed.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-796675ed.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-79b7d7a2.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-82c59e6b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-82dd7e7d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-877e1d37.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-877e1d37.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-8a7bfe65.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-98532a0e.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-98532a0e.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9c28f35f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-a0006775.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-a0006775.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ac7db8d1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ae8110b7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-aeaa6d0b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b110d5d4.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b17a0e8c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-bb7b2a3c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c164c83b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c164c83b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c220733b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c220733b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c88876dc.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c88876dc.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e0978af0.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e0978af0.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ed869b07.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ed869b07.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-eeb59f76.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-f3f8d603.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-fb6a813b.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-fe22fc31.entry.js.map +0 -1
- package/dist/types/global/utils/dom-utils.d.ts +0 -1
- package/dist/types/global/utils/tracking.d.ts +0 -9
- /package/dist/infineon-design-system-stencil/{p-f2bea855.entry.js.map → p-04d8ea38.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-87fbd617.entry.js.map → p-0c1c831c.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-a9cfb70d.entry.js.map → p-36dcebde.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-0f096cf1.entry.js.map → p-3d037fa4.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-babf3f2d.entry.js.map → p-6c2698a3.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-6d99d01d.entry.js.map → p-7adee2dd.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-65e57b85.entry.js.map → p-a2a44fbe.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-7b7ac7fa.entry.js.map → p-c7e86c7c.entry.js.map} +0 -0
- /package/dist/infineon-design-system-stencil/{p-34738a10.entry.js.map → p-e571c002.entry.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"multiselect.stories.js","sourceRoot":"","sources":["../../../../src/components/select/multi-select/multiselect.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\n\nconst options = [\n {\n value: 'a',\n label: 'Option a',\n selected: false,\n },\n {\n value: 'b',\n label: 'Option b',\n selected: false,\n },\n {\n value: 'c',\n label: 'Option c',\n selected: false,\n children: [\n {\n value: 'z1',\n label: 'Option c1',\n selected: false,\n },\n {\n value: 'z2',\n label: 'Option c2',\n selected: false,\n },\n ],\n },\n];\n\nconst longOptions = [];\nfor (let i = 1; i <= 50; i++) {\n let children = undefined;\n if (i % 3 == 0) {\n children = [{\n \"value\": `${i}.1`,\n \"label\": `Option ${i}.1`,\n \"selected\": i % 2 == 0 ? true : false\n }, {\n \"value\": `${i}.2`,\n \"label\": `Option ${i}.2`,\n \"selected\": i % 4 == 0 ? true : false\n }];\n }\n longOptions.push({\n \"value\": i,\n \"label\": `Option ${i}`,\n \"selected\": i % 2 == 0 ? true : false,\n \"children\": children\n })\n}\n\nexport default {\n title: 'Components/Select/Multi Select',\n // tags: ['autodocs'],\n args: {\n name: 'multiselect',\n size: 'm',\n disabled: false,\n batchSize: 10,\n maxItemCount: 10,\n showSearch: true,\n showSelectAll: true,\n error: false,\n errorMessage: 'Some error',\n label: '',\n placeholder: 'Placeholder',\n showClearButton: true\n },\n argTypes: {\n size: {\n description: 'Size of the input field.',\n options: {\n 'small (36px)': 's',\n 'medium (40px)': 'm',\n },\n control: {\n type: 'radio',\n },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'medium (40px)',\n },\n type: {\n summary: '36px | 40px',\n },\n },\n },\n disabled: {\n description: 'Disable the input field.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n name: {\n description: `For a <*form*> element, the name attribute is used as a reference when the data is submitted.`,\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n batchSize: {\n description: 'Batch size used during lazy loading options.',\n control: {\n type: 'number',\n },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: '50',\n },\n type: {\n summary: 'number',\n },\n },\n },\n maxItemCount: {\n control: { type: 'number' },\n description: 'Number of maximum selectable items.',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'number'\n }\n }\n },\n showSearch: {\n description: 'Show a search input.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showSelectAll: {\n description: 'Show a checkbox to select all options.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showClearButton: {\n description: 'Shows the clear icon button.',\n control: 'boolean',\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: true\n }\n }\n },\n error: {\n description: 'Show error state.',\n options: [true, false],\n control: { type: 'radio' },\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n errorMessage: {\n control: 'text',\n description: 'Error message to display.',\n table: {\n category: 'ifx-multiselect props',\n defaultValue: {\n summary: 'Error',\n },\n type: {\n summary: 'string',\n },\n },\n },\n label: {\n description: 'Label over the input field.',\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n placeholder: {\n description: 'Label inside the input field.',\n control: 'text',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'string',\n },\n },\n },\n options: {\n description: 'Takes an array of objects in the following format.',\n table: {\n category: 'ifx-multiselect props',\n type: {\n summary: 'Details',\n detail: `'Array<{ value: string, label: string, selected: boolean, children?: Array<{ value: string, label: string, selected: boolean }> }>'`,\n },\n },\n },\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected or unselected.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when multiselect is opened.',\n table: {\n category: 'custom events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n\n }\n },\n};\n\nconst Template = args => {\n const template = `<ifx-multiselect \n name='${args.name}'\n options='${JSON.stringify(args.options)}' \n batch-size='${args.batchSize}'\n size='${args.size}'\n disabled='${args.disabled}'\n max-item-count='${args.maxItemCount}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n show-select-all='${args.showSelectAll}'\n show-clear-button='${args.showClearButton}'>\n</ifx-multiselect>`;\n\n setTimeout(() => {\n document.querySelector('ifx-multiselect').addEventListener('ifxSelect', action('ifxSelect'));\n document.querySelector('ifx-multiselect').addEventListener('ifxOpen', action('ifxOpen'));\n }, 0);\n\n return template;\n};\n\nexport const Default = Template.bind({});\nDefault.args = {\n options: options,\n};\n\nexport const WithLazyLoading = Template.bind({});\nWithLazyLoading.args = {\n options: longOptions,\n batchSize: 5,\n maxItemCount: undefined\n};\n"]}
|
1
|
+
{"version":3,"file":"multiselect.stories.js","sourceRoot":"","sources":["../../../../src/components/select/multi-select/multiselect.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { action } from '@storybook/addon-actions';\n\nexport default {\n title: 'Components/Select/Multi Select',\n parameters: {\n controls: {\n expanded: true,\n sort: 'alpha'\n }\n },\n args: {\n name: 'multiselect',\n disabled: false,\n showSearch: true,\n showSelectAll: true,\n showExpandCollapse: true,\n error: false,\n errorMessage: 'Some error',\n label: '',\n placeholder: 'Placeholder',\n showClearButton: true,\n noResultsMessage: 'No results found.',\n showNoResultsMessage: true,\n searchPlaceholder: 'Search',\n selectAllLabel: 'Select all',\n expandLabel: 'Expand',\n collapseLabel: 'Collapse',\n ariaLabel: 'Multi-select dropdown',\n ariaLabelledBy: '',\n ariaDescribedBy: '',\n ariaSearchLabel: 'Search options',\n ariaClearLabel: 'Clear all selections',\n ariaToggleLabel: 'Toggle dropdown',\n ariaSelectAllLabel: 'Select all options',\n ariaExpandAllLabel: 'Expand all categories',\n ariaCollapseAllLabel: 'Collapse all categories'\n },\n argTypes: {\n // Function\n disabled: {\n description: 'Disable the input field.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n name: {\n description: `For a <*form*> element, the name attribute is used as a reference when the data is submitted.`,\n control: 'text',\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'undefined',\n },\n type: {\n summary: 'string',\n },\n },\n },\n showSearch: {\n description: 'Show a search input.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showSelectAll: {\n description: 'Show a checkbox to select all options.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showExpandCollapse: {\n description: 'Show expand/collapse controls for nested options.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n showClearButton: {\n description: 'Shows the clear icon button.',\n control: 'boolean',\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n }\n },\n showNoResultsMessage: {\n description: 'Show/hide the no results message when search has no matches.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'true',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n error: {\n description: 'Show error state.',\n options: [true, false],\n control: { type: 'boolean' },\n table: {\n category: 'Function',\n defaultValue: {\n summary: 'false',\n },\n type: {\n summary: 'boolean',\n },\n },\n },\n\n // Label\n label: {\n description: 'Label over the input field.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: '\"\"',\n },\n type: {\n summary: 'string',\n },\n },\n },\n placeholder: {\n description: 'Label inside the input field.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: '\"\"',\n },\n type: {\n summary: 'string',\n },\n },\n },\n errorMessage: {\n control: 'text',\n description: 'Error message to display.',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'Error',\n },\n type: {\n summary: 'string',\n },\n },\n },\n noResultsMessage: {\n description: 'Custom message to display when search has no results.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'No results found.',\n },\n type: {\n summary: 'string',\n },\n },\n },\n searchPlaceholder: {\n description: 'Placeholder text for the search input field.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'Search',\n },\n type: {\n summary: 'string',\n },\n },\n },\n selectAllLabel: {\n description: 'Label text for the select all checkbox.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'Select all',\n },\n type: {\n summary: 'string',\n },\n },\n },\n expandLabel: {\n description: 'Label text for the expand all control.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'Expand',\n },\n type: {\n summary: 'string',\n },\n },\n },\n collapseLabel: {\n description: 'Label text for the collapse all control.',\n control: 'text',\n table: {\n category: 'Label',\n defaultValue: {\n summary: 'Collapse',\n },\n type: {\n summary: 'string',\n },\n },\n },\n\n // ARIA Labels\n ariaLabel: {\n description: 'ARIA label for the multiselect component.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Multi-select dropdown',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaLabelledBy: {\n description: 'ID of element that labels the multiselect.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: '\"\"',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaDescribedBy: {\n description: 'ID of element that describes the multiselect.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: '\"\"',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaSearchLabel: {\n description: 'ARIA label for the search input field.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Search options',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaClearLabel: {\n description: 'ARIA label for the clear all button.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Clear all selections',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaToggleLabel: {\n description: 'ARIA label for the dropdown toggle button.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Toggle dropdown',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaSelectAllLabel: {\n description: 'ARIA label for the select all checkbox.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Select all options',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaExpandAllLabel: {\n description: 'ARIA label for the expand all control.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Expand all categories',\n },\n type: {\n summary: 'string',\n },\n },\n },\n ariaCollapseAllLabel: {\n description: 'ARIA label for the collapse all control.',\n control: 'text',\n table: {\n category: 'ARIA Labels',\n defaultValue: {\n summary: 'Collapse all categories',\n },\n type: {\n summary: 'string',\n },\n },\n },\n\n // Custom Events\n ifxSelect: {\n action: 'ifxSelect',\n description: 'Custom event emitted when item is selected or unselected.',\n table: {\n category: 'Custom Events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxSelect={handleInput}\\nVue:@ifxSelect=\"handleInput\"\\nAngular:(ifxSelect)=\"handleInput()\"\\nVanillaJs:.addEventListener(\"ifxSelect\", (event) => {//handle input});',\n },\n },\n },\n ifxOpen: {\n action: 'ifxOpen',\n description: 'Custom event emitted when multiselect is opened.',\n table: {\n category: 'Custom Events',\n type: {\n summary: 'Framework integration',\n detail:\n 'React: onIfxOpen={handleChange}\\nVue:@ifxOpen=\"handleChange\"\\nAngular:(ifxOpen)=\"handleChange()\"\\nVanillaJs:.addEventListener(\"ifxOpen\", (event) => {//handle change});',\n },\n },\n }\n },\n};\n\nconst SlotBasedTemplate = args => {\n const template = `<ifx-multiselect\n name='${args.name}'\n disabled='${args.disabled}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n show-select-all='${args.showSelectAll}'\n show-expand-collapse='${args.showExpandCollapse}'\n show-clear-button='${args.showClearButton}'\n no-results-message='${args.noResultsMessage}'\n show-no-results-message='${args.showNoResultsMessage}'\n search-placeholder='${args.searchPlaceholder}'\n select-all-label='${args.selectAllLabel}'\n expand-label='${args.expandLabel}'\n collapse-label='${args.collapseLabel}'\n aria-label='${args.ariaLabel}'\n aria-labelled-by='${args.ariaLabelledBy}'\n aria-described-by='${args.ariaDescribedBy}'\n aria-search-label='${args.ariaSearchLabel}'\n aria-clear-label='${args.ariaClearLabel}'\n aria-toggle-label='${args.ariaToggleLabel}'\n aria-select-all-label='${args.ariaSelectAllLabel}'\n aria-expand-all-label='${args.ariaExpandAllLabel}'\n aria-collapse-all-label='${args.ariaCollapseAllLabel}'>\n\n <ifx-multiselect-option value=\"category-a\">\n Category A - Main Section\n\n <ifx-multiselect-option value=\"category-a-1\" slot=\"children\">\n Category A.1 - First Subsection\n <ifx-multiselect-option value=\"option-a-1-1\" slot=\"children\">Option A.1.1 - Basic Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-1-2\" selected slot=\"children\">Option A.1.2 - Preselected Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-1-3\" slot=\"children\">Option A.1.3 - Another Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"category-a-2\" slot=\"children\">\n Category A.2 - Second Subsection\n <ifx-multiselect-option value=\"option-a-2-1\" slot=\"children\">Option A.2.1 - Nested Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-2-2\" slot=\"children\">\n Option A.2.2 - Deep Nested Parent\n <ifx-multiselect-option value=\"option-a-2-2-1\" slot=\"children\">Option A.2.2.1 - Level 4 Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-2-2-2\" slot=\"children\">Option A.2.2.2 - Level 4 Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-2-2-3\" slot=\"children\">\n Option A.2.2.3 - Even Deeper\n <ifx-multiselect-option value=\"option-a-2-2-3-1\" slot=\"children\">Option A.2.2.3.1 - Level 5 Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-2-2-3-2\" slot=\"children\">Option A.2.2.3.2 - Level 5 Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n </ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-2-3\" slot=\"children\">Option A.2.3 - Final Nested</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"option-a-3\" slot=\"children\">Option A.3 - Direct Child</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-a-4\" slot=\"children\">Option A.4 - Another Direct Child</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"category-b\">\n Category B - Secondary Section\n\n <ifx-multiselect-option value=\"category-b-1\" slot=\"children\">\n Category B.1 - Mixed Content\n <ifx-multiselect-option value=\"option-b-1-1\" slot=\"children\">Option B.1.1 - Standard Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"category-b-1-2\" slot=\"children\">\n Category B.1.2 - Sub-Category\n <ifx-multiselect-option value=\"option-b-1-2-1\" slot=\"children\">Option B.1.2.1 - Nested Choice</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-b-1-2-2\" slot=\"children\">Option B.1.2.2 - Nested Choice</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-b-1-2-3\" slot=\"children\">Option B.1.2.3 - Nested Choice</ifx-multiselect-option>\n </ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-b-1-3\" slot=\"children\">Option B.1.3 - Standard Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"option-b-2\" slot=\"children\">Option B.2 - Standalone Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-b-3\" slot=\"children\">Option B.3 - Standalone Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"category-c\">\n Category C - Complex Structure\n\n <ifx-multiselect-option value=\"category-c-1\" slot=\"children\">\n Category C.1 - Multi-Level Group\n <ifx-multiselect-option value=\"category-c-1-1\" slot=\"children\">\n Category C.1.1 - Sub-Group Alpha\n <ifx-multiselect-option value=\"option-c-1-1-1\" slot=\"children\">Option C.1.1.1 - Alpha Item 1</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-c-1-1-2\" slot=\"children\">Option C.1.1.2 - Alpha Item 2</ifx-multiselect-option>\n </ifx-multiselect-option>\n <ifx-multiselect-option value=\"category-c-1-2\" slot=\"children\">\n Category C.1.2 - Sub-Group Beta\n <ifx-multiselect-option value=\"option-c-1-2-1\" slot=\"children\">Option C.1.2.1 - Beta Item 1</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-c-1-2-2\" slot=\"children\">Option C.1.2.2 - Beta Item 2</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-c-1-2-3\" slot=\"children\">Option C.1.2.3 - Beta Item 3</ifx-multiselect-option>\n </ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-c-1-3\" slot=\"children\">Option C.1.3 - Direct Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"category-c-2\" slot=\"children\">\n Category C.2 - Another Group\n <ifx-multiselect-option value=\"option-c-2-1\" slot=\"children\">Option C.2.1 - Group Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-c-2-2\" slot=\"children\">Option C.2.2 - Group Item</ifx-multiselect-option>\n </ifx-multiselect-option>\n </ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"option-d\">Option D - Top-Level Standalone</ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"option-e\">Option E - Top-Level Standalone</ifx-multiselect-option>\n\n <ifx-multiselect-option value=\"category-f\">\n Category F - Final Section\n\n <ifx-multiselect-option value=\"option-f-1\" slot=\"children\">Option F.1 - Simple Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-f-2\" slot=\"children\">Option F.2 - Simple Item</ifx-multiselect-option>\n <ifx-multiselect-option value=\"category-f-3\" slot=\"children\">\n Category F.3 - Last Group\n <ifx-multiselect-option value=\"option-f-3-1\" slot=\"children\">Option F.3.1 - Final Nested</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-f-3-2\" slot=\"children\">Option F.3.2 - Final Nested</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-f-3-3\" slot=\"children\">Option F.3.3 - Final Nested</ifx-multiselect-option>\n </ifx-multiselect-option>\n </ifx-multiselect-option>\n</ifx-multiselect>`;\n\n setTimeout(() => {\n document.querySelector('ifx-multiselect').addEventListener('ifxSelect', action('ifxSelect'));\n document.querySelector('ifx-multiselect').addEventListener('ifxOpen', action('ifxOpen'));\n }, 0);\n\n return template;\n};\n\nexport const Default = SlotBasedTemplate.bind({});\nDefault.args = {\n label: 'Generic Multi-Level Selection',\n placeholder: 'Select options...',\n};\nDefault.parameters = {\n docs: {\n description: {\n story: 'The multiselect component supports nested hierarchical options with search, select all, and expand/collapse functionality. Use slot-based syntax for defining options and their nested structure.'\n }\n }\n};\n\nconst FlatTemplate = args => {\n const template = `<ifx-multiselect\n name='${args.name}'\n disabled='${args.disabled}'\n error='${args.error}'\n error-message='${args.errorMessage}'\n label='${args.label}'\n placeholder='${args.placeholder}'\n show-search='${args.showSearch}'\n show-select-all='${args.showSelectAll}'\n show-expand-collapse='${args.showExpandCollapse}'\n show-clear-button='${args.showClearButton}'\n no-results-message='${args.noResultsMessage}'\n show-no-results-message='${args.showNoResultsMessage}'\n search-placeholder='${args.searchPlaceholder}'\n select-all-label='${args.selectAllLabel}'\n expand-label='${args.expandLabel}'\n collapse-label='${args.collapseLabel}'\n aria-label='${args.ariaLabel}'\n aria-labelled-by='${args.ariaLabelledBy}'\n aria-described-by='${args.ariaDescribedBy}'\n aria-search-label='${args.ariaSearchLabel}'\n aria-clear-label='${args.ariaClearLabel}'\n aria-toggle-label='${args.ariaToggleLabel}'\n aria-select-all-label='${args.ariaSelectAllLabel}'\n aria-expand-all-label='${args.ariaExpandAllLabel}'\n aria-collapse-all-label='${args.ariaCollapseAllLabel}'>\n\n <ifx-multiselect-option value=\"option-1\">Option 1</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-2\">Option 2</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-3\">Option 3</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-4\">Option 4</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-5\">Option 5</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-6\">Option 6</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-7\">Option 7</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-8\">Option 8</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-9\">Option 9</ifx-multiselect-option>\n <ifx-multiselect-option value=\"option-10\">Option 10</ifx-multiselect-option>\n</ifx-multiselect>`;\n\n setTimeout(() => {\n const multiselect = document.querySelectorAll('ifx-multiselect')[document.querySelectorAll('ifx-multiselect').length - 1];\n multiselect.addEventListener('ifxSelect', action('ifxSelect'));\n multiselect.addEventListener('ifxOpen', action('ifxOpen'));\n }, 0);\n\n return template;\n};\n\nexport const SingleLevel = FlatTemplate.bind({});\nSingleLevel.args = {\n label: 'Single Level Selection',\n placeholder: 'Select options...',\n};\nSingleLevel.parameters = {\n docs: {\n description: {\n story: 'A simple multiselect with single-level options - no nesting or hierarchical structure. Expand/Collapse controls are automatically hidden for single-level option lists.'\n }\n }\n};\n"]}
|
@@ -1,6 +1,4 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
|
-
import { trackComponent } from "../../../global/utils/tracking";
|
3
|
-
import { isNestedInIfxComponent } from "../../../global/utils/dom-utils";
|
4
2
|
import ChoicesJs from "choices.js";
|
5
3
|
import { filterObject, isDefined, isJSONParseable } from "./utils";
|
6
4
|
export class Choices {
|
@@ -165,9 +163,6 @@ export class Choices {
|
|
165
163
|
}
|
166
164
|
}
|
167
165
|
componentWillLoad() {
|
168
|
-
if (!isNestedInIfxComponent(this.root)) {
|
169
|
-
trackComponent('ifx-select');
|
170
|
-
}
|
171
166
|
this.handleCloseButton();
|
172
167
|
}
|
173
168
|
componentWillUpdate() {
|
@@ -224,9 +219,9 @@ export class Choices {
|
|
224
219
|
// destroy choices element to restore previous dom structure
|
225
220
|
// so vdom can replace the element correctly
|
226
221
|
this.destroy();
|
227
|
-
return (h("div", { key: '
|
222
|
+
return (h("div", { key: '415ab03274a43b27938e85260d32662ba9c2dc3f', class: `ifx-select-container` }, this.label ? (h("div", { class: "ifx-label-wrapper" }, h("span", null, this.label))) : null, h("div", { key: '6e4cd0304530b0e18133968e50bb04b104b458ab', class: `${choicesWrapperClass}
|
228
223
|
${this.disabled ? 'disabled' : ''}
|
229
|
-
${this.error ? 'error' : ''}`, onClick: this.disabled ? undefined : (e) => this.handleWrapperClick(e), onKeyDown: event => this.handleKeyDown(event) }, h("select", Object.assign({ key: '
|
224
|
+
${this.error ? 'error' : ''}`, onClick: this.disabled ? undefined : (e) => this.handleWrapperClick(e), onKeyDown: event => this.handleKeyDown(event) }, h("select", Object.assign({ key: '1f15e98f638ec00be6f406ef9951b71126132d09', class: 'single__select-input-field', disabled: this.disabled }, attributes, { "data-trigger": true, onChange: () => this.handleChange() }), this.createSelectOptions(this.options)), h("div", { key: '5668874c50848aac384c041c7fbe3249b5532472', class: 'single__select-icon-container' }, this.optionIsSelected && (h("div", { key: '36a37f2667bcec831e9ef58b433af2bd70918275', class: `ifx-choices__icon-wrapper-delete ${!this.showClearButton ? 'hide' : ''}` }, h("ifx-icon", { key: '968b92666985dbb3e0fbbf9002c2b14a9c94e48a', icon: "cremove16", onClick: () => this.clearSelection() }))), h("div", { key: '00228a6e4d06eb15b047239608dabcdc7784f78f', class: "ifx-choices__icon-wrapper-up" }, h("ifx-icon", { key: "icon-up", icon: "chevronup-16" })), h("div", { key: '77975b01eceb1e8f1c3ac3de98f9a62deb4021c5', class: "ifx-choices__icon-wrapper-down" }, h("ifx-icon", { key: "icon-down", icon: "chevron-down-16" })))), this.error ? (h("div", { class: "ifx-error-message-wrapper" }, h("span", null, this.errorMessage))) : null));
|
230
225
|
}
|
231
226
|
toggleDropdown() {
|
232
227
|
const div = this.root.querySelector('.ifx-choices__wrapper');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/select/single-select/select.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Method, Prop, Event, EventEmitter, State } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../../global/utils/dom-utils';\nimport { HTMLStencilElement, Listen, Watch } from '@stencil/core/internal';\nimport ChoicesJs from 'choices.js';\n\nimport {\n AjaxFn,\n ClassNames,\n FuseOptions,\n IChoicesProps,\n IChoicesMethods,\n ItemFilterFn,\n NoResultsTextFn,\n NoChoicesTextFn,\n AddItemTextFn,\n MaxItemTextFn,\n SortFn,\n OnInit,\n OnCreateTemplates,\n UniqueItemText,\n ValueCompareFunction,\n CustomAddItemText,\n} from './interfaces';\nimport { filterObject, isDefined, isJSONParseable } from './utils';\n\n@Component({\n tag: 'ifx-select',\n styleUrl: 'select.scss',\n // shadow: true, //with shadow dom enabled, styles to the external choicesJs library cant be applied.\n})\nexport class Choices implements IChoicesProps, IChoicesMethods {\n @Prop() public value: string;\n @Prop() public name: string;\n @Prop() public items: Array<any>;\n @Prop() public choices: Array<any> | string;\n @Prop() public renderChoiceLimit: number;\n @Prop() public maxItemCount: number;\n @Prop() public addItems: boolean;\n @Prop() public removeItems: boolean;\n @Prop() public removeItemButton: boolean;\n @Prop() public editItems: boolean;\n @Prop() public duplicateItemsAllowed: boolean;\n @Prop() public delimiter: string;\n @Prop() public paste: boolean;\n @Prop() public showSearch: boolean;\n @Prop() public searchChoices: boolean;\n @Prop() public searchFields: Array<string> | string;\n @Prop() public searchFloor: number;\n @Prop() public searchResultLimit: number;\n @Prop() public position: 'auto' | 'top' | 'bottom';\n @Prop() public resetScrollPosition: boolean;\n @Prop() public shouldSort: boolean;\n @Prop() public shouldSortItems: boolean;\n @Prop() public sorter: SortFn;\n @Prop() public placeholder: boolean | string;\n @Prop() public searchPlaceholderValue: string;\n @Prop() public prependValue: string;\n @Prop() public appendValue: string;\n @Prop() public renderSelectedChoices: 'always' | 'auto';\n @Prop() public loadingText: string;\n @Prop() public noResultsText: string | NoResultsTextFn;\n @Prop() public noChoicesText: string | NoChoicesTextFn;\n @Prop() public itemSelectText: '';\n @Prop() public addItemText: string | AddItemTextFn;\n @Prop() public maxItemText: string | MaxItemTextFn;\n @Prop() public uniqueItemText: UniqueItemText;\n @Prop() public classNames: ClassNames;\n @Prop() public fuseOptions: FuseOptions;\n @Prop() public addItemFilter: string | RegExp | ItemFilterFn;\n @Prop() public customAddItemText: CustomAddItemText;\n @Prop() public callbackOnInit: OnInit;\n @Prop() public callbackOnCreateTemplates: OnCreateTemplates;\n @Prop() public valueComparer: ValueCompareFunction;\n //custom ifx props\n @Prop() error: boolean = false;\n @Prop() errorMessage: string = 'Error';\n @Prop() label: string = '';\n @Prop() disabled: boolean = false;\n @Prop() placeholderValue: string = 'Placeholder';\n @Event() ifxSelect: EventEmitter<CustomEvent>;\n @Event() ifxInput: EventEmitter<CustomEvent>;\n @Prop({ mutable: true }) options: any[] | string;\n @Prop() size: string = 'medium (40px)';\n @State() selectedOption: any | null = null;\n @State() optionIsSelected: boolean = false;\n @Prop() showClearButton: boolean = true;\n\n private resizeObserver: ResizeObserver;\n private previousOptions: any[] = [];\n\n @Element() private readonly root: HTMLElement;\n private choice;\n private element;\n\n @Watch('disabled')\n watchDisabled(newValue: boolean) {\n if (newValue) {\n this.choice.disable();\n } else {\n this.choice.enable();\n }\n }\n\n @Method()\n async clearSelection() {\n this.clearInput()\n this.clearSelectField()\n this.setPreSelected(null);\n this.closeDropdown();\n this.optionIsSelected = false;\n }\n\n clearSelectField() { \n this.selectedOption = null;\n this.ifxSelect.emit(null);\n }\n\n @Method()\n async handleChange() {\n this.ifxSelect.emit(this.choice.getValue());\n this.selectedOption = this.choice.getValue(); //store the selected option to reflect it in the template function\n this.setPreSelected(this.selectedOption.value); //set previously selected items from the input array to false and the new selection to true\n this.closeDropdown();\n }\n\n @Method()\n public async highlightItem(item: HTMLElement, runEvent?: boolean) {\n this.choice.highlightItem(item, runEvent);\n\n return this;\n }\n\n @Method()\n public async unhighlightItem(item: HTMLElement) {\n this.choice.unhighlightItem(item);\n\n return this;\n }\n\n @Method()\n public async highlightAll() {\n this.choice.highlightAll();\n\n return this;\n }\n\n @Method()\n public async unhighlightAll() {\n this.choice.unhighlightAll();\n\n return this;\n }\n\n @Method()\n public async removeActiveItemsByValue(value: string) {\n this.choice.removeActiveItemsByValue(value);\n return this;\n }\n\n @Method()\n public async removeActiveItems(excludedId?: number) {\n this.choice.removeActiveItems(excludedId);\n\n return this;\n }\n\n @Method()\n public async removeHighlightedItems(runEvent?: boolean) {\n this.choice.removeHighlightedItems(runEvent);\n\n return this;\n }\n\n @Method()\n public async showDropdown(focusInput?: boolean) {\n this.choice.showDropdown(focusInput);\n return this;\n }\n\n @Method()\n public async hideDropdown(blurInput?: boolean) {\n this.choice.hideDropdown(blurInput);\n\n return this;\n }\n\n @Method()\n public async getValue(valueOnly?: boolean): Promise<string | Array<string>> {\n return this.choice.getValue(valueOnly);\n }\n\n @Method()\n public async setValue(args: Array<any>) {\n this.choice.setValue(args);\n\n return this;\n }\n\n @Method()\n public async setChoiceByValue(value: string | Array<string>) {\n this.choice.setChoiceByValue(value);\n\n return this;\n }\n\n @Method()\n public async setChoices(choices: any[] | string, value: string, label: string, replaceChoices?: boolean) {\n let listOfChoices;\n if (typeof choices === 'string') {\n try {\n if (!isJSONParseable(choices)) {\n //meaning the input string comes from storybook as a non valid json string to be displayed in a beautified version on storybook\n choices = choices\n .replace(/'/g, '\"')\n .replace(/\"false\"/g, 'false')\n .replace(/\"true\"/g, 'true');\n }\n listOfChoices = [...JSON.parse(choices)];\n } catch (err) {\n console.error('Failed to parse choices:', err);\n }\n } else if (Array.isArray(choices) || typeof choices === 'object') {\n listOfChoices = [...choices];\n } else {\n console.error('Unexpected value for choices:', this.options);\n }\n\n this.choice.setChoices(listOfChoices, value, label, replaceChoices);\n return this;\n }\n\n @Method()\n public async clearChoices() {\n this.choice.clearChoices();\n\n return this;\n }\n\n @Method()\n public async clearStore() {\n this.choice.clearStore();\n\n return this;\n }\n\n @Method()\n public async clearInput() {\n this.choice.clearInput();\n\n return this;\n }\n\n @Method()\n public async ajax(fn: AjaxFn) {\n this.choice.ajax(fn);\n\n return this;\n }\n\n @Method()\n async handleDeleteIcon() {\n const width = this.root.offsetWidth;\n const deleteIconWrapper = this.root.querySelector('.ifx-choices__icon-wrapper-delete');\n if(deleteIconWrapper) { \n if (width <= 180) {\n deleteIconWrapper.classList.add('hide')\n } else if(this.showClearButton) { \n deleteIconWrapper.classList.remove('hide')\n }\n }\n }\n\n\n handleCloseButton() { \n if(typeof this.options === 'string') { \n const optionsToArray = JSON.parse(this.options);\n const optionIsSelected = optionsToArray.find(option => option.selected === true)\n if(optionIsSelected) { \n this.optionIsSelected = true;\n } else { \n this.optionIsSelected = false;\n }\n } else if(this.options && Array.isArray(this.options)) { \n const optionIsSelected = this.options.find(option => option.selected === true)\n if(optionIsSelected) { \n this.optionIsSelected = true;\n } else { \n this.optionIsSelected = false;\n }\n }\n }\n\n protected componentWillLoad() {\n if(!isNestedInIfxComponent(this.root)) { \n trackComponent('ifx-select')\n }\n this.handleCloseButton()\n }\n\n protected componentWillUpdate() { \n this.handleCloseButton()\n this.previousOptions = [...this.options];\n const optionsAreEqual = this.isEqual(this.options, this.previousOptions);\n if (this.options && !optionsAreEqual) {\n this.clearSelectField();\n }\n }\n\n isEqual(a: any, b: any[]) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n\n addResizeObserver() { \n this.resizeObserver = new ResizeObserver(() => {\n this.handleDeleteIcon();\n });\n \n const componentWrapper = this.root.querySelector('.ifx-choices__wrapper');\n this.resizeObserver.observe(componentWrapper);\n }\n\n protected componentDidLoad() {\n this.init();\n this.addEventListenersToHandleCustomFocusAndActiveState();\n this.handleDeleteIcon();\n this.addResizeObserver()\n }\n\n protected componentDidUpdate() {\n this.init();\n this.handleDeleteIcon()\n }\n\n protected disconnectedCallback() {\n this.destroy();\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n private handleWrapperClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const isSearchInput = target.classList.contains('choices__input') || target.closest('.choices__input');\n const isDropdownItem = target.closest('.choices__list--dropdown .choices__item');\n \n // Only toggle dropdown if clicking on wrapper itself\n if (!isSearchInput && !isDropdownItem) {\n this.toggleDropdown();\n }\n }\n\n protected render(): any {\n const attributes = {\n 'data-selector': 'root',\n 'name': this.name || null,\n // 'remove-item-button': false,\n };\n const choicesWrapperClass = `ifx-choices__wrapper ${this.getSizeClass()}`;\n\n // destroy choices element to restore previous dom structure\n // so vdom can replace the element correctly\n this.destroy();\n\n return (\n <div class={`ifx-select-container`}>\n {this.label ? (\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div>\n ) : null}\n <div\n class={`${choicesWrapperClass} \n ${this.disabled ? 'disabled' : ''} \n ${this.error ? 'error' : ''}`}\n onClick={this.disabled ? undefined : (e) => this.handleWrapperClick(e)}\n onKeyDown={event => this.handleKeyDown(event)}\n >\n <select class='single__select-input-field' disabled = {this.disabled} {...attributes} data-trigger onChange={() => this.handleChange()}>\n {this.createSelectOptions(this.options)}\n </select>\n\n <div class='single__select-icon-container'>\n { this.optionIsSelected && (\n <div class={`ifx-choices__icon-wrapper-delete ${!this.showClearButton ? 'hide' : ''}`}>\n <ifx-icon icon=\"cRemove16\" onClick={() => this.clearSelection()}></ifx-icon>\n </div>\n )}\n <div class=\"ifx-choices__icon-wrapper-up\">\n <ifx-icon key=\"icon-up\" icon=\"chevron-up-16\"></ifx-icon>\n </div>\n <div class=\"ifx-choices__icon-wrapper-down\">\n <ifx-icon key=\"icon-down\" icon=\"chevron-down-16\"></ifx-icon>\n </div>\n </div>\n </div>\n {this.error ? (\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.errorMessage}</span>\n </div>\n ) : null}\n </div>\n );\n }\n\n toggleDropdown() {\n const div = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n if (div.classList.contains('active') || this.choice.dropdown.isActive) {\n this.hideDropdown();\n div.classList.remove('active');\n } else {\n this.choice.showDropdown();\n div.classList.add('active');\n }\n const choicesElement = this.root.querySelector('.choices');\n choicesElement.classList.add('is-focused'); // Add the 'is-focused' class, cause a click on the wrapper (and not the embedded select element) doesnt add this automatically to the choices instance\n }\n\n closeDropdown() {\n const ifxChoicesWrapper = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n ifxChoicesWrapper.classList.remove('active');\n }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const ifxChoicesContainer = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n\n if (!path.includes(this.root)) {\n ifxChoicesContainer.classList.remove('active');\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n const isSearchInput = (event.target as HTMLElement).classList.contains('choices__input');\n\n // If the event originated from the search input and the key is 'Space', do nothing.\n if (isSearchInput && event.code === 'Space') {\n return;\n }\n\n if (event.code === 'Enter' || (event.code === 'Space' && !isSearchInput)) {\n this.toggleDropdown();\n }\n\n // Only prevent default space behavior when it's not from the search input.\n if (event.code === 'Space' && !isSearchInput) {\n event.preventDefault(); // Prevent default page scrolling.\n }\n }\n\n getSizeClass() {\n return `${this.size}` === 's' ? 'small-select' : 'medium-select';\n }\n\n private init() {\n const props = {\n allowHTML: true,\n items: this.items,\n choices: this.choices,\n renderChoiceLimit: this.renderChoiceLimit,\n maxItemCount: this.maxItemCount,\n addItems: this.addItems,\n removeItems: this.removeItems,\n removeItemButton: this.removeItemButton,\n editItems: this.editItems,\n duplicateItemsAllowed: this.duplicateItemsAllowed,\n delimiter: this.delimiter,\n paste: this.paste,\n searchEnabled: this.showSearch,\n searchChoices: this.searchChoices,\n searchFields: this.searchFields,\n searchFloor: this.searchFloor,\n searchResultLimit: this.searchResultLimit,\n position: this.position,\n resetScrollPosition: this.resetScrollPosition,\n shouldSort: false, // choices/groups will appear in the order they were given.\n shouldSortItems: this.shouldSortItems,\n sorter: this.sorter,\n placeholder: this.placeholder,\n searchPlaceholderValue: this.searchPlaceholderValue,\n prependValue: this.prependValue,\n appendValue: this.appendValue,\n renderSelectedChoices: this.renderSelectedChoices,\n loadingText: this.loadingText,\n noResultsText: this.noResultsText,\n noChoicesText: this.noChoicesText,\n itemSelectText: this.itemSelectText,\n addItemText: this.addItemText,\n maxItemText: this.maxItemText,\n uniqueItemText: this.uniqueItemText,\n classNames: this.classNames,\n fuseOptions: this.fuseOptions,\n callbackOnInit: this.callbackOnInit,\n callbackOnCreateTemplates: this.callbackOnCreateTemplates,\n valueComparer: this.valueComparer,\n addItemFilter: this.addItemFilter,\n customAddItemText: this.customAddItemText,\n };\n\n const settings = filterObject(props, isDefined);\n\n //type check\n const element = this.root.querySelector('[data-selector=\"root\"]');\n if (element instanceof HTMLInputElement || element instanceof HTMLSelectElement) {\n // this.choice = new ChoicesJs(element, settings); //standard, without using custom templates\n const self = this; // save the context of this in a variable outside of the function to access it in the following\n\n this.choice = new ChoicesJs(\n element,\n Object.assign({}, settings, {\n callbackOnCreateTemplates: function (template) {\n return {\n //modifying the selected item template\n item: ({ classNames }, data) => {\n let removeButtonHTML = '';\n\n if (data.placeholder && !self.selectedOption?.value) {\n // For placeholders, use data-id=\"placeholder\"\n return template(`\n <div class=\"choices__placeholder\" data-item data-id=\"${data.id}\" data-value=\"${data.value}\" ${data.disabled ? 'aria-disabled=\"true\"' : ''}>\n ${data.label === undefined ? this.placeholderValue : data.label}\n ${removeButtonHTML}\n </div>\n `);\n } else {\n // For non-placeholder items, use the actual data ID\n return template(`\n <div class=\"${classNames.item} ${data.highlighted ? classNames.highlightedState : classNames.itemSelectable}\" \n data-item \n data-id=\"${self.selectedOption?.id !== undefined ? self.selectedOption?.id : self.choice.getValue().id}\" \n data-value=\"${self.selectedOption?.value !== undefined ? self.selectedOption?.value : self.choice.getValue().value}\" \n ${data.disabled ? 'aria-disabled=\"true\"' : ''}>\n <span>${self.selectedOption?.label !== undefined ? self.selectedOption?.label : self.choice.getValue().label}</span>\n <!-- Add your remove button here if needed -->\n </div>\n `);\n }\n },\n input: ({ classNames }) => {\n return template(`\n <input type=\"search\"\n class=\"${classNames.input} ${classNames.inputCloned} ${self.getSizeClass()}\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n role=\"textbox\"\n aria-autocomplete=\"list\"\n aria-label=\"${this.showSearch ? this.searchPlaceholderValue : ''}\" > \n `);\n },\n\n //modifying the template of each item in the options list\n choice: ({ classNames }, data) => {\n return template(`\n <div class=\"${classNames.item} ${classNames.itemChoice} ${self.getSizeClass()} \n ${data.selected || self.selectedOption?.value === data.value || self.getPreSelected(self)?.value === data.value ? 'selected' : ''} \n ${data.placeholder ? classNames.placeholder : ''} \n ${data.disabled ? classNames.itemDisabled : classNames.itemSelectable} \n role=\"${data.groupId && data.groupId > 0 ? 'treeitem' : 'option'}\"\n data-choice ${data.disabled ? 'data-choice-disabled aria-disabled=\"true\"' : 'data-choice-selectable'} data-id=\"${data.id}\"\n data-value=\"${data.value}\"\n data-select-text=\"${this.config.itemSelectText}\">\n <span>${data.label}</span>\n ${data.selected || self.selectedOption?.value === data.value || self.getPreSelected(self)?.value === data.value ? '<ifx-icon icon=\"check16\"></ifx-icon>' : ''}\n </div>\n `);\n },\n };\n },\n }),\n );\n\n //set select options\n this.setChoices(this.options, 'value', 'label', true);\n //set custom event listener to listen for search input\n self.addSearchEventListener(self, this.choice);\n } else {\n // handle the case when the element is neither an HTMLInputElement nor an HTMLSelectElement\n }\n }\n\n private addEventListenersToHandleCustomFocusAndActiveState() {\n const div = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n\n if (!div) {\n console.error('.ifx-choices__wrapper not found');\n return;\n }\n\n div.tabIndex = 0;\n\n div.addEventListener('focus', function () {\n if (!this.classList.contains('disabled')) {\n this.classList.add('focus');\n }\n });\n\n div.addEventListener('blur', function () {\n this.classList.remove('focus');\n });\n }\n\n private addSearchEventListener(self, choiceElement: ChoicesJs) {\n choiceElement.passedElement.element.addEventListener(\n 'search',\n function (event: CustomEvent) {\n self.ifxInput.emit(event.detail.value);\n },\n false,\n );\n return choiceElement;\n }\n\n private destroy() {\n if (this.element) {\n this.element = null;\n }\n\n if (this.choice) {\n this.choice.destroy();\n this.choice = null;\n }\n }\n\n //get selected values from input array\n private getPreSelected(self) {\n const optionsArray: any[] = Array.isArray(self.options) ? self.options : JSON.parse(self.options);\n return optionsArray.find(option => option.selected === true) || null;\n }\n\n //set previously marked as selected items in the input array to unselected and select new ones\n private setPreSelected(newValue) {\n const optionsArray: any[] = Array.isArray(this.options) ? this.options : JSON.parse(this.options);\n\n this.options = optionsArray.map(obj => {\n return {\n ...obj,\n selected: obj.value === newValue\n };\n });\n }\n\n //setting the value that gets displayed in the select at component start (either the value prop or a placeholder)\n private createSelectOptions(ifxOptions): Array<HTMLStencilElement> {\n if (this.value !== 'undefined' || this.selectedOption?.value !== '') {\n let options;\n if (isJSONParseable(ifxOptions)) {\n options = [...JSON.parse(ifxOptions)];\n } else if (Array.isArray(ifxOptions) || typeof ifxOptions === 'object') {\n options = [...ifxOptions];\n }\n const optionValueBasedOnAvailableOptions = options?.find(option => option.value === this.value || this.selectedOption?.value);\n\n if (optionValueBasedOnAvailableOptions) {\n return [<option value={optionValueBasedOnAvailableOptions.value}>{optionValueBasedOnAvailableOptions.label}</option>];\n }\n }\n\n // Assign a unique id for the placeholder\n return this.placeholder !== 'false' ? [<option value=\"\">{this.placeholderValue}</option>] : [<option value=\"\"></option>];\n }\n}"]}
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/components/select/single-select/select.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, Element, Method, Prop, Event, EventEmitter, State } from '@stencil/core';\nimport { HTMLStencilElement, Listen, Watch } from '@stencil/core/internal';\nimport ChoicesJs from 'choices.js';\n\nimport {\n AjaxFn,\n ClassNames,\n FuseOptions,\n IChoicesProps,\n IChoicesMethods,\n ItemFilterFn,\n NoResultsTextFn,\n NoChoicesTextFn,\n AddItemTextFn,\n MaxItemTextFn,\n SortFn,\n OnInit,\n OnCreateTemplates,\n UniqueItemText,\n ValueCompareFunction,\n CustomAddItemText,\n} from './interfaces';\nimport { filterObject, isDefined, isJSONParseable } from './utils';\n\n@Component({\n tag: 'ifx-select',\n styleUrl: 'select.scss',\n // shadow: true, //with shadow dom enabled, styles to the external choicesJs library cant be applied.\n})\nexport class Choices implements IChoicesProps, IChoicesMethods {\n @Prop() public value: string;\n @Prop() public name: string;\n @Prop() public items: Array<any>;\n @Prop() public choices: Array<any> | string;\n @Prop() public renderChoiceLimit: number;\n @Prop() public maxItemCount: number;\n @Prop() public addItems: boolean;\n @Prop() public removeItems: boolean;\n @Prop() public removeItemButton: boolean;\n @Prop() public editItems: boolean;\n @Prop() public duplicateItemsAllowed: boolean;\n @Prop() public delimiter: string;\n @Prop() public paste: boolean;\n @Prop() public showSearch: boolean;\n @Prop() public searchChoices: boolean;\n @Prop() public searchFields: Array<string> | string;\n @Prop() public searchFloor: number;\n @Prop() public searchResultLimit: number;\n @Prop() public position: 'auto' | 'top' | 'bottom';\n @Prop() public resetScrollPosition: boolean;\n @Prop() public shouldSort: boolean;\n @Prop() public shouldSortItems: boolean;\n @Prop() public sorter: SortFn;\n @Prop() public placeholder: boolean | string;\n @Prop() public searchPlaceholderValue: string;\n @Prop() public prependValue: string;\n @Prop() public appendValue: string;\n @Prop() public renderSelectedChoices: 'always' | 'auto';\n @Prop() public loadingText: string;\n @Prop() public noResultsText: string | NoResultsTextFn;\n @Prop() public noChoicesText: string | NoChoicesTextFn;\n @Prop() public itemSelectText: '';\n @Prop() public addItemText: string | AddItemTextFn;\n @Prop() public maxItemText: string | MaxItemTextFn;\n @Prop() public uniqueItemText: UniqueItemText;\n @Prop() public classNames: ClassNames;\n @Prop() public fuseOptions: FuseOptions;\n @Prop() public addItemFilter: string | RegExp | ItemFilterFn;\n @Prop() public customAddItemText: CustomAddItemText;\n @Prop() public callbackOnInit: OnInit;\n @Prop() public callbackOnCreateTemplates: OnCreateTemplates;\n @Prop() public valueComparer: ValueCompareFunction;\n //custom ifx props\n @Prop() error: boolean = false;\n @Prop() errorMessage: string = 'Error';\n @Prop() label: string = '';\n @Prop() disabled: boolean = false;\n @Prop() placeholderValue: string = 'Placeholder';\n @Event() ifxSelect: EventEmitter<CustomEvent>;\n @Event() ifxInput: EventEmitter<CustomEvent>;\n @Prop({ mutable: true }) options: any[] | string;\n @Prop() size: string = 'medium (40px)';\n @State() selectedOption: any | null = null;\n @State() optionIsSelected: boolean = false;\n @Prop() showClearButton: boolean = true;\n\n private resizeObserver: ResizeObserver;\n private previousOptions: any[] = [];\n\n @Element() private readonly root: HTMLElement;\n private choice;\n private element;\n\n @Watch('disabled')\n watchDisabled(newValue: boolean) {\n if (newValue) {\n this.choice.disable();\n } else {\n this.choice.enable();\n }\n }\n\n @Method()\n async clearSelection() {\n this.clearInput()\n this.clearSelectField()\n this.setPreSelected(null);\n this.closeDropdown();\n this.optionIsSelected = false;\n }\n\n clearSelectField() { \n this.selectedOption = null;\n this.ifxSelect.emit(null);\n }\n\n @Method()\n async handleChange() {\n this.ifxSelect.emit(this.choice.getValue());\n this.selectedOption = this.choice.getValue(); //store the selected option to reflect it in the template function\n this.setPreSelected(this.selectedOption.value); //set previously selected items from the input array to false and the new selection to true\n this.closeDropdown();\n }\n\n @Method()\n public async highlightItem(item: HTMLElement, runEvent?: boolean) {\n this.choice.highlightItem(item, runEvent);\n\n return this;\n }\n\n @Method()\n public async unhighlightItem(item: HTMLElement) {\n this.choice.unhighlightItem(item);\n\n return this;\n }\n\n @Method()\n public async highlightAll() {\n this.choice.highlightAll();\n\n return this;\n }\n\n @Method()\n public async unhighlightAll() {\n this.choice.unhighlightAll();\n\n return this;\n }\n\n @Method()\n public async removeActiveItemsByValue(value: string) {\n this.choice.removeActiveItemsByValue(value);\n return this;\n }\n\n @Method()\n public async removeActiveItems(excludedId?: number) {\n this.choice.removeActiveItems(excludedId);\n\n return this;\n }\n\n @Method()\n public async removeHighlightedItems(runEvent?: boolean) {\n this.choice.removeHighlightedItems(runEvent);\n\n return this;\n }\n\n @Method()\n public async showDropdown(focusInput?: boolean) {\n this.choice.showDropdown(focusInput);\n return this;\n }\n\n @Method()\n public async hideDropdown(blurInput?: boolean) {\n this.choice.hideDropdown(blurInput);\n\n return this;\n }\n\n @Method()\n public async getValue(valueOnly?: boolean): Promise<string | Array<string>> {\n return this.choice.getValue(valueOnly);\n }\n\n @Method()\n public async setValue(args: Array<any>) {\n this.choice.setValue(args);\n\n return this;\n }\n\n @Method()\n public async setChoiceByValue(value: string | Array<string>) {\n this.choice.setChoiceByValue(value);\n\n return this;\n }\n\n @Method()\n public async setChoices(choices: any[] | string, value: string, label: string, replaceChoices?: boolean) {\n let listOfChoices;\n if (typeof choices === 'string') {\n try {\n if (!isJSONParseable(choices)) {\n //meaning the input string comes from storybook as a non valid json string to be displayed in a beautified version on storybook\n choices = choices\n .replace(/'/g, '\"')\n .replace(/\"false\"/g, 'false')\n .replace(/\"true\"/g, 'true');\n }\n listOfChoices = [...JSON.parse(choices)];\n } catch (err) {\n console.error('Failed to parse choices:', err);\n }\n } else if (Array.isArray(choices) || typeof choices === 'object') {\n listOfChoices = [...choices];\n } else {\n console.error('Unexpected value for choices:', this.options);\n }\n\n this.choice.setChoices(listOfChoices, value, label, replaceChoices);\n return this;\n }\n\n @Method()\n public async clearChoices() {\n this.choice.clearChoices();\n\n return this;\n }\n\n @Method()\n public async clearStore() {\n this.choice.clearStore();\n\n return this;\n }\n\n @Method()\n public async clearInput() {\n this.choice.clearInput();\n\n return this;\n }\n\n @Method()\n public async ajax(fn: AjaxFn) {\n this.choice.ajax(fn);\n\n return this;\n }\n\n @Method()\n async handleDeleteIcon() {\n const width = this.root.offsetWidth;\n const deleteIconWrapper = this.root.querySelector('.ifx-choices__icon-wrapper-delete');\n if(deleteIconWrapper) { \n if (width <= 180) {\n deleteIconWrapper.classList.add('hide')\n } else if(this.showClearButton) { \n deleteIconWrapper.classList.remove('hide')\n }\n }\n }\n\n\n handleCloseButton() { \n if(typeof this.options === 'string') { \n const optionsToArray = JSON.parse(this.options);\n const optionIsSelected = optionsToArray.find(option => option.selected === true)\n if(optionIsSelected) { \n this.optionIsSelected = true;\n } else { \n this.optionIsSelected = false;\n }\n } else if(this.options && Array.isArray(this.options)) { \n const optionIsSelected = this.options.find(option => option.selected === true)\n if(optionIsSelected) { \n this.optionIsSelected = true;\n } else { \n this.optionIsSelected = false;\n }\n }\n }\n\n protected componentWillLoad() { \n this.handleCloseButton()\n }\n\n protected componentWillUpdate() { \n this.handleCloseButton()\n this.previousOptions = [...this.options];\n const optionsAreEqual = this.isEqual(this.options, this.previousOptions);\n if (this.options && !optionsAreEqual) {\n this.clearSelectField();\n }\n }\n\n isEqual(a: any, b: any[]) {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n\n addResizeObserver() { \n this.resizeObserver = new ResizeObserver(() => {\n this.handleDeleteIcon();\n });\n \n const componentWrapper = this.root.querySelector('.ifx-choices__wrapper');\n this.resizeObserver.observe(componentWrapper);\n }\n\n protected componentDidLoad() {\n this.init();\n this.addEventListenersToHandleCustomFocusAndActiveState();\n this.handleDeleteIcon();\n this.addResizeObserver()\n }\n\n protected componentDidUpdate() {\n this.init();\n this.handleDeleteIcon()\n }\n\n protected disconnectedCallback() {\n this.destroy();\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n private handleWrapperClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const isSearchInput = target.classList.contains('choices__input') || target.closest('.choices__input');\n const isDropdownItem = target.closest('.choices__list--dropdown .choices__item');\n \n // Only toggle dropdown if clicking on wrapper itself\n if (!isSearchInput && !isDropdownItem) {\n this.toggleDropdown();\n }\n }\n\n protected render(): any {\n const attributes = {\n 'data-selector': 'root',\n 'name': this.name || null,\n // 'remove-item-button': false,\n };\n const choicesWrapperClass = `ifx-choices__wrapper ${this.getSizeClass()}`;\n\n // destroy choices element to restore previous dom structure\n // so vdom can replace the element correctly\n this.destroy();\n\n return (\n <div class={`ifx-select-container`}>\n {this.label ? (\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div>\n ) : null}\n <div\n class={`${choicesWrapperClass} \n ${this.disabled ? 'disabled' : ''} \n ${this.error ? 'error' : ''}`}\n onClick={this.disabled ? undefined : (e) => this.handleWrapperClick(e)}\n onKeyDown={event => this.handleKeyDown(event)}\n >\n <select class='single__select-input-field' disabled = {this.disabled} {...attributes} data-trigger onChange={() => this.handleChange()}>\n {this.createSelectOptions(this.options)}\n </select>\n\n <div class='single__select-icon-container'>\n { this.optionIsSelected && (\n <div class={`ifx-choices__icon-wrapper-delete ${!this.showClearButton ? 'hide' : ''}`}>\n <ifx-icon icon=\"cremove16\" onClick={() => this.clearSelection()}></ifx-icon>\n </div>\n )}\n <div class=\"ifx-choices__icon-wrapper-up\">\n <ifx-icon key=\"icon-up\" icon=\"chevronup-16\"></ifx-icon>\n </div>\n <div class=\"ifx-choices__icon-wrapper-down\">\n <ifx-icon key=\"icon-down\" icon=\"chevron-down-16\"></ifx-icon>\n </div>\n </div>\n </div>\n {this.error ? (\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.errorMessage}</span>\n </div>\n ) : null}\n </div>\n );\n }\n\n toggleDropdown() {\n const div = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n if (div.classList.contains('active') || this.choice.dropdown.isActive) {\n this.hideDropdown();\n div.classList.remove('active');\n } else {\n this.choice.showDropdown();\n div.classList.add('active');\n }\n const choicesElement = this.root.querySelector('.choices');\n choicesElement.classList.add('is-focused'); // Add the 'is-focused' class, cause a click on the wrapper (and not the embedded select element) doesnt add this automatically to the choices instance\n }\n\n closeDropdown() {\n const ifxChoicesWrapper = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n ifxChoicesWrapper.classList.remove('active');\n }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const path = event.composedPath();\n const ifxChoicesContainer = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n\n if (!path.includes(this.root)) {\n ifxChoicesContainer.classList.remove('active');\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n\n const isSearchInput = (event.target as HTMLElement).classList.contains('choices__input');\n\n // If the event originated from the search input and the key is 'Space', do nothing.\n if (isSearchInput && event.code === 'Space') {\n return;\n }\n\n if (event.code === 'Enter' || (event.code === 'Space' && !isSearchInput)) {\n this.toggleDropdown();\n }\n\n // Only prevent default space behavior when it's not from the search input.\n if (event.code === 'Space' && !isSearchInput) {\n event.preventDefault(); // Prevent default page scrolling.\n }\n }\n\n getSizeClass() {\n return `${this.size}` === 's' ? 'small-select' : 'medium-select';\n }\n\n private init() {\n const props = {\n allowHTML: true,\n items: this.items,\n choices: this.choices,\n renderChoiceLimit: this.renderChoiceLimit,\n maxItemCount: this.maxItemCount,\n addItems: this.addItems,\n removeItems: this.removeItems,\n removeItemButton: this.removeItemButton,\n editItems: this.editItems,\n duplicateItemsAllowed: this.duplicateItemsAllowed,\n delimiter: this.delimiter,\n paste: this.paste,\n searchEnabled: this.showSearch,\n searchChoices: this.searchChoices,\n searchFields: this.searchFields,\n searchFloor: this.searchFloor,\n searchResultLimit: this.searchResultLimit,\n position: this.position,\n resetScrollPosition: this.resetScrollPosition,\n shouldSort: false, // choices/groups will appear in the order they were given.\n shouldSortItems: this.shouldSortItems,\n sorter: this.sorter,\n placeholder: this.placeholder,\n searchPlaceholderValue: this.searchPlaceholderValue,\n prependValue: this.prependValue,\n appendValue: this.appendValue,\n renderSelectedChoices: this.renderSelectedChoices,\n loadingText: this.loadingText,\n noResultsText: this.noResultsText,\n noChoicesText: this.noChoicesText,\n itemSelectText: this.itemSelectText,\n addItemText: this.addItemText,\n maxItemText: this.maxItemText,\n uniqueItemText: this.uniqueItemText,\n classNames: this.classNames,\n fuseOptions: this.fuseOptions,\n callbackOnInit: this.callbackOnInit,\n callbackOnCreateTemplates: this.callbackOnCreateTemplates,\n valueComparer: this.valueComparer,\n addItemFilter: this.addItemFilter,\n customAddItemText: this.customAddItemText,\n };\n\n const settings = filterObject(props, isDefined);\n\n //type check\n const element = this.root.querySelector('[data-selector=\"root\"]');\n if (element instanceof HTMLInputElement || element instanceof HTMLSelectElement) {\n // this.choice = new ChoicesJs(element, settings); //standard, without using custom templates\n const self = this; // save the context of this in a variable outside of the function to access it in the following\n\n this.choice = new ChoicesJs(\n element,\n Object.assign({}, settings, {\n callbackOnCreateTemplates: function (template) {\n return {\n //modifying the selected item template\n item: ({ classNames }, data) => {\n let removeButtonHTML = '';\n\n if (data.placeholder && !self.selectedOption?.value) {\n // For placeholders, use data-id=\"placeholder\"\n return template(`\n <div class=\"choices__placeholder\" data-item data-id=\"${data.id}\" data-value=\"${data.value}\" ${data.disabled ? 'aria-disabled=\"true\"' : ''}>\n ${data.label === undefined ? this.placeholderValue : data.label}\n ${removeButtonHTML}\n </div>\n `);\n } else {\n // For non-placeholder items, use the actual data ID\n return template(`\n <div class=\"${classNames.item} ${data.highlighted ? classNames.highlightedState : classNames.itemSelectable}\" \n data-item \n data-id=\"${self.selectedOption?.id !== undefined ? self.selectedOption?.id : self.choice.getValue().id}\" \n data-value=\"${self.selectedOption?.value !== undefined ? self.selectedOption?.value : self.choice.getValue().value}\" \n ${data.disabled ? 'aria-disabled=\"true\"' : ''}>\n <span>${self.selectedOption?.label !== undefined ? self.selectedOption?.label : self.choice.getValue().label}</span>\n <!-- Add your remove button here if needed -->\n </div>\n `);\n }\n },\n input: ({ classNames }) => {\n return template(`\n <input type=\"search\"\n class=\"${classNames.input} ${classNames.inputCloned} ${self.getSizeClass()}\"\n autocomplete=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n role=\"textbox\"\n aria-autocomplete=\"list\"\n aria-label=\"${this.showSearch ? this.searchPlaceholderValue : ''}\" > \n `);\n },\n\n //modifying the template of each item in the options list\n choice: ({ classNames }, data) => {\n return template(`\n <div class=\"${classNames.item} ${classNames.itemChoice} ${self.getSizeClass()} \n ${data.selected || self.selectedOption?.value === data.value || self.getPreSelected(self)?.value === data.value ? 'selected' : ''} \n ${data.placeholder ? classNames.placeholder : ''} \n ${data.disabled ? classNames.itemDisabled : classNames.itemSelectable} \n role=\"${data.groupId && data.groupId > 0 ? 'treeitem' : 'option'}\"\n data-choice ${data.disabled ? 'data-choice-disabled aria-disabled=\"true\"' : 'data-choice-selectable'} data-id=\"${data.id}\"\n data-value=\"${data.value}\"\n data-select-text=\"${this.config.itemSelectText}\">\n <span>${data.label}</span>\n ${data.selected || self.selectedOption?.value === data.value || self.getPreSelected(self)?.value === data.value ? '<ifx-icon icon=\"check16\"></ifx-icon>' : ''}\n </div>\n `);\n },\n };\n },\n }),\n );\n\n //set select options\n this.setChoices(this.options, 'value', 'label', true);\n //set custom event listener to listen for search input\n self.addSearchEventListener(self, this.choice);\n } else {\n // handle the case when the element is neither an HTMLInputElement nor an HTMLSelectElement\n }\n }\n\n private addEventListenersToHandleCustomFocusAndActiveState() {\n const div = this.root.querySelector('.ifx-choices__wrapper') as HTMLDivElement;\n\n if (!div) {\n console.error('.ifx-choices__wrapper not found');\n return;\n }\n\n div.tabIndex = 0;\n\n div.addEventListener('focus', function () {\n if (!this.classList.contains('disabled')) {\n this.classList.add('focus');\n }\n });\n\n div.addEventListener('blur', function () {\n this.classList.remove('focus');\n });\n }\n\n private addSearchEventListener(self, choiceElement: ChoicesJs) {\n choiceElement.passedElement.element.addEventListener(\n 'search',\n function (event: CustomEvent) {\n self.ifxInput.emit(event.detail.value);\n },\n false,\n );\n return choiceElement;\n }\n\n private destroy() {\n if (this.element) {\n this.element = null;\n }\n\n if (this.choice) {\n this.choice.destroy();\n this.choice = null;\n }\n }\n\n //get selected values from input array\n private getPreSelected(self) {\n const optionsArray: any[] = Array.isArray(self.options) ? self.options : JSON.parse(self.options);\n return optionsArray.find(option => option.selected === true) || null;\n }\n\n //set previously marked as selected items in the input array to unselected and select new ones\n private setPreSelected(newValue) {\n const optionsArray: any[] = Array.isArray(this.options) ? this.options : JSON.parse(this.options);\n\n this.options = optionsArray.map(obj => {\n return {\n ...obj,\n selected: obj.value === newValue\n };\n });\n }\n\n //setting the value that gets displayed in the select at component start (either the value prop or a placeholder)\n private createSelectOptions(ifxOptions): Array<HTMLStencilElement> {\n if (this.value !== 'undefined' || this.selectedOption?.value !== '') {\n let options;\n if (isJSONParseable(ifxOptions)) {\n options = [...JSON.parse(ifxOptions)];\n } else if (Array.isArray(ifxOptions) || typeof ifxOptions === 'object') {\n options = [...ifxOptions];\n }\n const optionValueBasedOnAvailableOptions = options?.find(option => option.value === this.value || this.selectedOption?.value);\n\n if (optionValueBasedOnAvailableOptions) {\n return [<option value={optionValueBasedOnAvailableOptions.value}>{optionValueBasedOnAvailableOptions.label}</option>];\n }\n }\n\n // Assign a unique id for the placeholder\n return this.placeholder !== 'false' ? [<option value=\"\">{this.placeholderValue}</option>] : [<option value=\"\"></option>];\n }\n}"]}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
}
|
4
4
|
|
5
5
|
:host {
|
6
|
-
display: block;
|
6
|
+
display: inline-block;
|
7
7
|
}
|
8
8
|
|
9
9
|
.left-icon,
|
@@ -86,7 +86,7 @@
|
|
86
86
|
}
|
87
87
|
.ifx-slider .range-slider__wrapper {
|
88
88
|
position: relative;
|
89
|
-
width:
|
89
|
+
width: 129px;
|
90
90
|
height: 4px;
|
91
91
|
display: flex;
|
92
92
|
align-items: center;
|
@@ -1,6 +1,4 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
|
-
import { trackComponent } from "../../global/utils/tracking";
|
3
|
-
import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
|
4
2
|
export class IfxSlider {
|
5
3
|
constructor() {
|
6
4
|
this.min = 0;
|
@@ -118,9 +116,6 @@ export class IfxSlider {
|
|
118
116
|
}
|
119
117
|
}
|
120
118
|
componentWillLoad() {
|
121
|
-
if (!isNestedInIfxComponent(this.el)) {
|
122
|
-
trackComponent('ifx-slider');
|
123
|
-
}
|
124
119
|
if (this.value === undefined) {
|
125
120
|
this.internalValue = (this.max - this.min) / 2;
|
126
121
|
}
|
@@ -141,10 +136,10 @@ export class IfxSlider {
|
|
141
136
|
this.updateValuePercent();
|
142
137
|
}
|
143
138
|
render() {
|
144
|
-
return (h("div", { key: '
|
139
|
+
return (h("div", { key: '97ae32c0d395883ccffeebf7e27dcde936de167d', class: "ifx-slider" }, this.leftText && (h("span", { key: 'd541ed03b41682a194949e8439e2aefe4db36400', class: `left-text` }, this.leftText)), this.leftIcon && (h("ifx-icon", { key: 'e565af9950993a072354bc8b1361d8090261af75', icon: this.leftIcon, class: `left-icon${this.disabled ? ' disabled' : ''}` })), (this.type !== 'double') ?
|
145
140
|
h("input", { type: "range", min: this.min, max: this.max, step: this.step, value: this.internalValue, disabled: this.disabled, ref: (el) => (this.inputRef = el), onInput: (event) => this.handleInputChange(event), "aria-label": 'a slider', "aria-value": this.value, "aria-disabled": this.disabled })
|
146
141
|
:
|
147
|
-
h("div", { class: 'range-slider__wrapper', "aria-label": 'a range slider', "aria-value": this.value, "aria-disabled": this.disabled }, h("input", { id: 'min-slider', type: 'range', min: this.min, max: this.max, step: this.step, value: this.internalMinValue, disabled: this.disabled, ref: (el) => (this.minInputRef = el), onInput: (event) => this.handleInputChangeOfRangeSlider(event), onMouseUp: (event) => this.handleOnMouseLeaveOfRangeSlider(event) }), h("input", { id: 'max-slider', type: 'range', min: this.min, max: this.max, step: this.step, value: this.internalMaxValue, disabled: this.disabled, ref: (el) => (this.maxInputRef = el), onInput: (event) => this.handleInputChangeOfRangeSlider(event), onMouseUp: (event) => this.handleOnMouseLeaveOfRangeSlider(event) })), this.rightIcon && (h("ifx-icon", { key: '
|
142
|
+
h("div", { class: 'range-slider__wrapper', "aria-label": 'a range slider', "aria-value": this.value, "aria-disabled": this.disabled }, h("input", { id: 'min-slider', type: 'range', min: this.min, max: this.max, step: this.step, value: this.internalMinValue, disabled: this.disabled, ref: (el) => (this.minInputRef = el), onInput: (event) => this.handleInputChangeOfRangeSlider(event), onMouseUp: (event) => this.handleOnMouseLeaveOfRangeSlider(event) }), h("input", { id: 'max-slider', type: 'range', min: this.min, max: this.max, step: this.step, value: this.internalMaxValue, disabled: this.disabled, ref: (el) => (this.maxInputRef = el), onInput: (event) => this.handleInputChangeOfRangeSlider(event), onMouseUp: (event) => this.handleOnMouseLeaveOfRangeSlider(event) })), this.rightIcon && (h("ifx-icon", { key: 'b099473f107ab6c185d011d799aa6abea6185f1e', icon: this.rightIcon, class: `right-icon${this.disabled ? ' disabled' : ''}` })), this.rightText && (h("span", { key: '0c7547c5eec63c9639f144bdeb88bba2f26f7550', class: `right-text${this.disabled ? ' disabled' : ''}` }, this.rightText)), this.showPercentage && (this.type !== "double") && (h("span", { key: 'dc1feddf17d1ff25e663ddfd8fbd029ba83a7ebd', class: `percentage-display${this.disabled ? ' disabled' : ''}` }, this.percentage, "%"))));
|
148
143
|
}
|
149
144
|
static get is() { return "ifx-slider"; }
|
150
145
|
static get encapsulation() { return "shadow"; }
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/components/slider/slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter, State, Watch, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\n\n@Component({\n tag: 'ifx-slider',\n styleUrl: 'slider.scss',\n shadow: true,\n})\nexport class IfxSlider {\n @Prop() min: number = 0;\n @Prop() max: number = 100;\n @Prop() step: number = 1;\n @Prop() value: number;\n @Prop() minValueHandle: number;\n @Prop() maxValueHandle: number;\n @Prop() disabled: boolean = false;\n @Prop() showPercentage: boolean = false;\n @Prop() leftIcon: string;\n @Prop() rightIcon: string;\n @Prop() leftText: string;\n @Prop() rightText: string;\n @Prop() type: 'single' | 'double' = 'single';\n @State() internalValue: number = 0;\n @State() percentage: number = 0;\n @State() internalMinValue: number = 0;\n @State() internalMaxValue: number = 100;\n @Event() ifxChange: EventEmitter;\n\n @Element() el;\n\n private inputRef: HTMLInputElement;\n private minInputRef: HTMLInputElement;\n private maxInputRef: HTMLInputElement;\n \n @Watch('value')\n valueChanged(newValue: number) {\n this.internalValue = newValue;\n this.updateValuePercent();\n }\n\n @Watch('minValueHandle')\n minValueChanged(newValue: number) {\n this.internalMinValue = newValue;\n this.updateValuePercent();\n }\n \n @Watch('maxValueHandle')\n maxValueChanged(newValue: number) {\n this.internalMaxValue = newValue;\n this.updateValuePercent();\n }\n\n getRangeSliderWrapper() {\n const rangeSliderWrapper = this.el.shadowRoot.querySelector('.range-slider__wrapper');\n return rangeSliderWrapper;\n }\n\n handleInputChangeOfRangeSlider(event: Event) {\n const target = event.target as HTMLInputElement;\n if(parseFloat(this.maxInputRef.value) - parseFloat(this.minInputRef.value) <= 0) {\n if(target.id === 'max-slider') {\n this.maxInputRef.value = this.minInputRef.value;\n }else{\n this.minInputRef.value = this.maxInputRef.value;\n }\n }\n if(target.id === 'max-slider') {\n this.internalMaxValue = parseFloat(this.maxInputRef.value);\n } else {\n this.internalMinValue = parseFloat(this.minInputRef.value);\n }\n this.ifxChange.emit({minVal: this.internalMinValue, maxVal: this.internalMaxValue});\n this.updateValuePercent();\n this.updateZIndexIfRangeSlider(target.id)\n }\n \n handleOnMouseLeaveOfRangeSlider(event: Event) {\n const target = event.target as HTMLInputElement;\n const sliderWrapper = this.getRangeSliderWrapper();\n if(target.id === 'max-slider') {\n sliderWrapper.insertBefore(this.maxInputRef, this.minInputRef);\n } else {\n sliderWrapper.insertBefore(this.minInputRef, this.maxInputRef);\n }\n }\n\n calculatePercentageValue() {\n const num = (this.internalValue - this.min) * 1.0;\n const den = this.max - this.min;\n this.percentage = +parseFloat(String((num/den)*100)).toFixed(2);\n }\n\n handleInputChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.internalValue = parseFloat(target.value);\n this.ifxChange.emit(this.internalValue);\n this.calculatePercentageValue();\n this.updateValuePercent();\n }\n\n private roundToValidStep(value: number) {\n const relativeValue = value - this.min;\n const remainder = relativeValue % this.step;\n if (remainder >= this.step / 2) {\n return this.min + relativeValue + (this.step - remainder);\n } else {\n return this.min + relativeValue - remainder;\n }\n }\n\n updateValuePercent() {\n const den = this.max - this.min;\n if(this.type === 'double'){\n if (this.minInputRef) {\n const num = (this.roundToValidStep(this.internalMinValue) - this.min) * 1.0;\n const minPercent = (num/den) * 100;\n this.minInputRef.parentElement.style.setProperty('--min-value-percent', `${minPercent}%`);\n }\n\n if (this.maxInputRef) {\n const num = (this.roundToValidStep(this.internalMaxValue) - this.min) * 1.0;\n const maxPercent = (num/den) * 100;\n this.maxInputRef.parentElement.style.setProperty('--max-value-percent', `${maxPercent}%`);\n }\n\n } else {\n\n if (this.inputRef) {\n const num = (this.roundToValidStep(this.internalValue) - this.min) * 1.0;\n const den = this.max - this.min;\n const percentage = (num/den) * 100;\n this.inputRef.style.setProperty('--value-percent', `${percentage}%`);\n }\n\n }\n } \n \n // Ensures that the last used slider thumb stays on top of the other thumb in order to handle correct overlapping \n // if min and max thumbs take the same value.\n updateZIndexIfRangeSlider(targetId: string = '') {\n if (targetId === 'max-slider') {\n this.minInputRef.style.zIndex = '1';\n this.maxInputRef.style.zIndex = '2';\n } else {\n this.minInputRef.style.zIndex = '2';\n this.maxInputRef.style.zIndex = '1';\n }\n }\n\n componentWillLoad() {\n if(!isNestedInIfxComponent(this.el)) { \n trackComponent('ifx-slider')\n }\n if(this.value === undefined) {\n this.internalValue = (this.max-this.min) / 2;\n } else {\n this.internalValue = Math.max(this.min, Math.min(this.max, this.value));\n }\n\n this.calculatePercentageValue();\n\n if(this.minValueHandle !== undefined) this.internalMinValue = this.minValueHandle;\n else this.internalMinValue = this.min;\n if(this.maxValueHandle !== undefined) this.internalMaxValue = this.maxValueHandle;\n else this.internalMaxValue = this.max;\n }\n\n componentDidLoad() {\n this.updateValuePercent();\n\n }\n\n\n render() {\n return (\n <div class=\"ifx-slider\">\n {this.leftText && (\n <span class={`left-text`}>\n {this.leftText}\n </span>\n )}\n {this.leftIcon && (\n <ifx-icon icon={this.leftIcon} class={`left-icon${this.disabled ? ' disabled' : ''}`} />\n )}\n {\n (this.type !== 'double') ?\n <input\n type=\"range\"\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalValue}\n disabled={this.disabled}\n ref={(el) => (this.inputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChange(event)}\n aria-label='a slider'\n aria-value={this.value}\n aria-disabled={this.disabled}\n /> \n :\n <div class = 'range-slider__wrapper' aria-label='a range slider' aria-value={this.value} aria-disabled={this.disabled} >\n <input \n id='min-slider'\n type='range'\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalMinValue}\n disabled={this.disabled}\n ref={(el) => (this.minInputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChangeOfRangeSlider(event)}\n onMouseUp={(event) => this.handleOnMouseLeaveOfRangeSlider(event)}\n />\n <input \n id='max-slider'\n type='range'\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalMaxValue}\n disabled={this.disabled}\n ref={(el) => (this.maxInputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChangeOfRangeSlider(event)}\n onMouseUp={(event) => this.handleOnMouseLeaveOfRangeSlider(event)}\n />\n\n </div>\n }\n {this.rightIcon && (\n <ifx-icon icon={this.rightIcon} class={`right-icon${this.disabled ? ' disabled' : ''}`} />\n )}\n {this.rightText && (\n <span class={`right-text${this.disabled ? ' disabled' : ''}`}>\n {this.rightText}\n </span>\n )}\n\n {this.showPercentage && (this.type !== \"double\") && (\n <span\n class={`percentage-display${this.disabled ? ' disabled' : ''}`}\n >\n {this.percentage}%\n </span>\n )}\n </div>\n );\n }\n}"]}
|
1
|
+
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../src/components/slider/slider.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter, State, Watch, Element } from '@stencil/core';\n \n\n@Component({\n tag: 'ifx-slider',\n styleUrl: 'slider.scss',\n shadow: true,\n})\nexport class IfxSlider {\n @Prop() min: number = 0;\n @Prop() max: number = 100;\n @Prop() step: number = 1;\n @Prop() value: number;\n @Prop() minValueHandle: number;\n @Prop() maxValueHandle: number;\n @Prop() disabled: boolean = false;\n @Prop() showPercentage: boolean = false;\n @Prop() leftIcon: string;\n @Prop() rightIcon: string;\n @Prop() leftText: string;\n @Prop() rightText: string;\n @Prop() type: 'single' | 'double' = 'single';\n @State() internalValue: number = 0;\n @State() percentage: number = 0;\n @State() internalMinValue: number = 0;\n @State() internalMaxValue: number = 100;\n @Event() ifxChange: EventEmitter;\n\n @Element() el;\n\n private inputRef: HTMLInputElement;\n private minInputRef: HTMLInputElement;\n private maxInputRef: HTMLInputElement;\n \n @Watch('value')\n valueChanged(newValue: number) {\n this.internalValue = newValue;\n this.updateValuePercent();\n }\n\n @Watch('minValueHandle')\n minValueChanged(newValue: number) {\n this.internalMinValue = newValue;\n this.updateValuePercent();\n }\n \n @Watch('maxValueHandle')\n maxValueChanged(newValue: number) {\n this.internalMaxValue = newValue;\n this.updateValuePercent();\n }\n\n getRangeSliderWrapper() {\n const rangeSliderWrapper = this.el.shadowRoot.querySelector('.range-slider__wrapper');\n return rangeSliderWrapper;\n }\n\n handleInputChangeOfRangeSlider(event: Event) {\n const target = event.target as HTMLInputElement;\n if(parseFloat(this.maxInputRef.value) - parseFloat(this.minInputRef.value) <= 0) {\n if(target.id === 'max-slider') {\n this.maxInputRef.value = this.minInputRef.value;\n }else{\n this.minInputRef.value = this.maxInputRef.value;\n }\n }\n if(target.id === 'max-slider') {\n this.internalMaxValue = parseFloat(this.maxInputRef.value);\n } else {\n this.internalMinValue = parseFloat(this.minInputRef.value);\n }\n this.ifxChange.emit({minVal: this.internalMinValue, maxVal: this.internalMaxValue});\n this.updateValuePercent();\n this.updateZIndexIfRangeSlider(target.id)\n }\n \n handleOnMouseLeaveOfRangeSlider(event: Event) {\n const target = event.target as HTMLInputElement;\n const sliderWrapper = this.getRangeSliderWrapper();\n if(target.id === 'max-slider') {\n sliderWrapper.insertBefore(this.maxInputRef, this.minInputRef);\n } else {\n sliderWrapper.insertBefore(this.minInputRef, this.maxInputRef);\n }\n }\n\n calculatePercentageValue() {\n const num = (this.internalValue - this.min) * 1.0;\n const den = this.max - this.min;\n this.percentage = +parseFloat(String((num/den)*100)).toFixed(2);\n }\n\n handleInputChange(event: Event) {\n const target = event.target as HTMLInputElement;\n this.internalValue = parseFloat(target.value);\n this.ifxChange.emit(this.internalValue);\n this.calculatePercentageValue();\n this.updateValuePercent();\n }\n\n private roundToValidStep(value: number) {\n const relativeValue = value - this.min;\n const remainder = relativeValue % this.step;\n if (remainder >= this.step / 2) {\n return this.min + relativeValue + (this.step - remainder);\n } else {\n return this.min + relativeValue - remainder;\n }\n }\n\n updateValuePercent() {\n const den = this.max - this.min;\n if(this.type === 'double'){\n if (this.minInputRef) {\n const num = (this.roundToValidStep(this.internalMinValue) - this.min) * 1.0;\n const minPercent = (num/den) * 100;\n this.minInputRef.parentElement.style.setProperty('--min-value-percent', `${minPercent}%`);\n }\n\n if (this.maxInputRef) {\n const num = (this.roundToValidStep(this.internalMaxValue) - this.min) * 1.0;\n const maxPercent = (num/den) * 100;\n this.maxInputRef.parentElement.style.setProperty('--max-value-percent', `${maxPercent}%`);\n }\n\n } else {\n\n if (this.inputRef) {\n const num = (this.roundToValidStep(this.internalValue) - this.min) * 1.0;\n const den = this.max - this.min;\n const percentage = (num/den) * 100;\n this.inputRef.style.setProperty('--value-percent', `${percentage}%`);\n }\n\n }\n } \n \n // Ensures that the last used slider thumb stays on top of the other thumb in order to handle correct overlapping \n // if min and max thumbs take the same value.\n updateZIndexIfRangeSlider(targetId: string = '') {\n if (targetId === 'max-slider') {\n this.minInputRef.style.zIndex = '1';\n this.maxInputRef.style.zIndex = '2';\n } else {\n this.minInputRef.style.zIndex = '2';\n this.maxInputRef.style.zIndex = '1';\n }\n }\n\n componentWillLoad() {\n if(this.value === undefined) {\n this.internalValue = (this.max-this.min) / 2;\n } else {\n this.internalValue = Math.max(this.min, Math.min(this.max, this.value));\n }\n\n this.calculatePercentageValue();\n\n if(this.minValueHandle !== undefined) this.internalMinValue = this.minValueHandle;\n else this.internalMinValue = this.min;\n if(this.maxValueHandle !== undefined) this.internalMaxValue = this.maxValueHandle;\n else this.internalMaxValue = this.max;\n }\n\n componentDidLoad() {\n this.updateValuePercent();\n\n }\n\n\n render() {\n return (\n <div class=\"ifx-slider\">\n {this.leftText && (\n <span class={`left-text`}>\n {this.leftText}\n </span>\n )}\n {this.leftIcon && (\n <ifx-icon icon={this.leftIcon} class={`left-icon${this.disabled ? ' disabled' : ''}`} />\n )}\n {\n (this.type !== 'double') ?\n <input\n type=\"range\"\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalValue}\n disabled={this.disabled}\n ref={(el) => (this.inputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChange(event)}\n aria-label='a slider'\n aria-value={this.value}\n aria-disabled={this.disabled}\n /> \n :\n <div class = 'range-slider__wrapper' aria-label='a range slider' aria-value={this.value} aria-disabled={this.disabled} >\n <input \n id='min-slider'\n type='range'\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalMinValue}\n disabled={this.disabled}\n ref={(el) => (this.minInputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChangeOfRangeSlider(event)}\n onMouseUp={(event) => this.handleOnMouseLeaveOfRangeSlider(event)}\n />\n <input \n id='max-slider'\n type='range'\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalMaxValue}\n disabled={this.disabled}\n ref={(el) => (this.maxInputRef = el as HTMLInputElement)}\n onInput={(event) => this.handleInputChangeOfRangeSlider(event)}\n onMouseUp={(event) => this.handleOnMouseLeaveOfRangeSlider(event)}\n />\n\n </div>\n }\n {this.rightIcon && (\n <ifx-icon icon={this.rightIcon} class={`right-icon${this.disabled ? ' disabled' : ''}`} />\n )}\n {this.rightText && (\n <span class={`right-text${this.disabled ? ' disabled' : ''}`}>\n {this.rightText}\n </span>\n )}\n\n {this.showPercentage && (this.type !== \"double\") && (\n <span\n class={`percentage-display${this.disabled ? ' disabled' : ''}`}\n >\n {this.percentage}%\n </span>\n )}\n </div>\n );\n }\n}"]}
|
@@ -1,19 +1,12 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
|
-
import { trackComponent } from "../../global/utils/tracking";
|
3
|
-
import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
|
4
2
|
import classNames from "classnames";
|
5
3
|
export class Spinner {
|
6
4
|
constructor() {
|
7
5
|
this.inverted = false;
|
8
6
|
}
|
9
|
-
componentWillLoad() {
|
10
|
-
if (!isNestedInIfxComponent(this.el)) {
|
11
|
-
trackComponent('ifx-spinner');
|
12
|
-
}
|
13
|
-
}
|
14
7
|
render() {
|
15
|
-
return (h("div", { key: '
|
16
|
-
&& h("div", { key: '
|
8
|
+
return (h("div", { key: 'dbd9f1efc8af31527d84f06a76f5b369a1af68d3', "aria-label": "spinner indicating a loading process", class: this.getClassNames() }, h("div", { key: '3413dcef4de8dc7c424843a2f189b622cc960d1f', class: `${this.variant !== 'brand' ? 'border' : ""} ${this.inverted ? 'inverted' : ""}` }), this.variant === 'brand'
|
9
|
+
&& h("div", { key: '406820f5f72eca93eea768a7ff4aecbed6e19e57', class: `semiconductor ${this.inverted ? 'inverted' : ""} ${this.getSizeClass()}` }, h("svg", { key: '8981e71bbbc1c7a38f7830aeb4adac766884e090', width: '40', height: '40', viewBox: "0 0 40 40", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("g", { key: '9972a1ccbbfa766394e27e0770899b77e6077212', id: "spinner/conductor" }, h("path", { key: 'bb7a6618998fcebde6401cfcaae64a6b1c77cdd9', id: "Vector", d: "M38.75 18.75C39.4375 18.75 40 19.3125 40 20C40 20.6875 39.4409 21.25 38.75 21.25H35V26.25H38.75C39.4375 26.25 40 26.8125 40 27.5C40 28.1875 39.4409 28.75 38.75 28.75H35V30C35 32.7617 32.7617 35 30 35H28.75V38.75C28.75 39.4409 28.1875 40 27.5 40C26.8125 40 26.25 39.4409 26.25 38.75V35H21.25V38.75C21.25 39.4409 20.6875 40 20 40C19.3125 40 18.75 39.4409 18.75 38.75V35H13.75V38.75C13.75 39.4409 13.1875 40 12.5 40C11.8125 40 11.25 39.4409 11.25 38.75V35H10C7.23828 35 5 32.7617 5 30V28.75H1.25C0.559062 28.75 0 28.1875 0 27.5C0 26.8125 0.559062 26.25 1.25 26.25H5V21.25H1.25C0.559062 21.25 0 20.6875 0 20C0 19.3125 0.559062 18.75 1.25 18.75H5V13.75H1.25C0.559062 13.75 0 13.1875 0 12.5C0 11.8125 0.559062 11.25 1.25 11.25H5V10C5 7.23828 7.23828 5 10 5H11.25V1.25C11.25 0.5625 11.8125 0 12.5 0C13.1875 0 13.75 0.559063 13.75 1.25V5H18.75V1.25C18.75 0.559063 19.3091 0 20 0C20.6909 0 21.25 0.559063 21.25 1.25V5H26.25V1.25C26.25 0.559063 26.8091 0 27.5 0C28.1909 0 28.75 0.559063 28.75 1.25V5H30C32.7617 5 35 7.23828 35 10V11.25H38.75C39.4409 11.25 40 11.8091 40 12.5C40 13.1909 39.4409 13.75 38.75 13.75H35V18.75H38.75ZM32.5 10C32.5 8.62188 31.3781 7.5 30 7.5H10C8.62187 7.5 7.5 8.62188 7.5 10V30C7.5 31.3781 8.62187 32.5 10 32.5H30C31.3781 32.5 32.5 31.3781 32.5 30V10Z" }))))));
|
17
10
|
}
|
18
11
|
getSizeClass() {
|
19
12
|
return `${this.size}` === "s"
|
@@ -97,6 +90,5 @@ export class Spinner {
|
|
97
90
|
}
|
98
91
|
};
|
99
92
|
}
|
100
|
-
static get elementRef() { return "el"; }
|
101
93
|
}
|
102
94
|
//# sourceMappingURL=spinner.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/components/spinner/spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,UAAU,MAAM,YAAY,CAAC;AAQpC,MAAM,OAAO,OAAO;IALpB;QAQU,aAAQ,GAAY,KAAK,CAAC;KA+BnC;IA5BC,MAAM;QACJ,OAAO,CACL,0EAAgB,sCAAsC,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;YAChF,4DAAK,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GAAQ;YACnG,IAAI,CAAC,OAAO,KAAK,OAAO;mBACpB,4DAAK,KAAK,EAAE,iBAAiB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBACtF,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;wBAC5F,0DAAG,EAAE,EAAC,mBAAmB;4BACvB,6DAAM,EAAE,EAAC,QAAQ,EAAC,CAAC,EAAC,svCAAsvC,GAAG,CAC3wC,CACA,CACF,CACJ,CACP,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG;YAC3B,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED,aAAa;QACX,OAAO,UAAU,CACf,SAAS,EACT,IAAI,CAAC,IAAI,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE,EAAE,CAC9C,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\nimport classNames from 'classnames';\n \n\n@Component({\n tag: 'ifx-spinner',\n styleUrl: 'spinner.scss',\n shadow: true,\n})\nexport class Spinner {\n @Prop() size: string;\n @Prop() variant: string;\n @Prop() inverted: boolean = false;\n\n\n render() {\n return (\n <div aria-label=\"spinner indicating a loading process\" class={this.getClassNames()}>\n <div class={`${this.variant !== 'brand' ? 'border' : \"\"} ${this.inverted ? 'inverted' : \"\"}`}></div>\n {this.variant === 'brand'\n && <div class={`semiconductor ${this.inverted ? 'inverted' : \"\"} ${this.getSizeClass()}`}>\n <svg width='40' height='40' viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"spinner/conductor\">\n <path id=\"Vector\" d=\"M38.75 18.75C39.4375 18.75 40 19.3125 40 20C40 20.6875 39.4409 21.25 38.75 21.25H35V26.25H38.75C39.4375 26.25 40 26.8125 40 27.5C40 28.1875 39.4409 28.75 38.75 28.75H35V30C35 32.7617 32.7617 35 30 35H28.75V38.75C28.75 39.4409 28.1875 40 27.5 40C26.8125 40 26.25 39.4409 26.25 38.75V35H21.25V38.75C21.25 39.4409 20.6875 40 20 40C19.3125 40 18.75 39.4409 18.75 38.75V35H13.75V38.75C13.75 39.4409 13.1875 40 12.5 40C11.8125 40 11.25 39.4409 11.25 38.75V35H10C7.23828 35 5 32.7617 5 30V28.75H1.25C0.559062 28.75 0 28.1875 0 27.5C0 26.8125 0.559062 26.25 1.25 26.25H5V21.25H1.25C0.559062 21.25 0 20.6875 0 20C0 19.3125 0.559062 18.75 1.25 18.75H5V13.75H1.25C0.559062 13.75 0 13.1875 0 12.5C0 11.8125 0.559062 11.25 1.25 11.25H5V10C5 7.23828 7.23828 5 10 5H11.25V1.25C11.25 0.5625 11.8125 0 12.5 0C13.1875 0 13.75 0.559063 13.75 1.25V5H18.75V1.25C18.75 0.559063 19.3091 0 20 0C20.6909 0 21.25 0.559063 21.25 1.25V5H26.25V1.25C26.25 0.559063 26.8091 0 27.5 0C28.1909 0 28.75 0.559063 28.75 1.25V5H30C32.7617 5 35 7.23828 35 10V11.25H38.75C39.4409 11.25 40 11.8091 40 12.5C40 13.1909 39.4409 13.75 38.75 13.75H35V18.75H38.75ZM32.5 10C32.5 8.62188 31.3781 7.5 30 7.5H10C8.62187 7.5 7.5 8.62188 7.5 10V30C7.5 31.3781 8.62187 32.5 10 32.5H30C31.3781 32.5 32.5 31.3781 32.5 30V10Z\" />\n </g>\n </svg>\n </div>}\n </div>\n );\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"s\"\n : \"\";\n }\n\n getClassNames() {\n return classNames(\n 'spinner',\n this.size && `spinner ${this.getSizeClass()}`\n );\n }\n}\n"]}
|
@@ -1,21 +1,14 @@
|
|
1
1
|
import { h } from "@stencil/core";
|
2
|
-
import { trackComponent } from "../../global/utils/tracking";
|
3
|
-
import { isNestedInIfxComponent } from "../../global/utils/dom-utils";
|
4
2
|
export class Status {
|
5
3
|
constructor() {
|
6
4
|
this.border = false;
|
7
5
|
this.color = 'orange-500';
|
8
6
|
}
|
9
|
-
componentWillLoad() {
|
10
|
-
if (!isNestedInIfxComponent(this.el)) {
|
11
|
-
trackComponent('ifx-status');
|
12
|
-
}
|
13
|
-
}
|
14
7
|
render() {
|
15
8
|
var _a;
|
16
9
|
const effectiveColor = ((_a = this.color) === null || _a === void 0 ? void 0 : _a.trim()) ? this.color : 'orange-500';
|
17
10
|
const containerClass = this.border ? `container border-${effectiveColor}` : 'container no-border';
|
18
|
-
return (h("div", { key: '
|
11
|
+
return (h("div", { key: '258d1b9b221271e5f50c95a23907832a53e72b3a', "aria-label": "a status indicator", "aria-value": this.label, class: containerClass }, h("span", { key: 'e5c33959aca78f2ab2f8a4e5257a09bd0d335782', class: `dot ${effectiveColor}` }), h("p", { key: '1667d55b7781dc1cb163dde91ff7689798b617ae', class: "text" }, this.label)));
|
19
12
|
}
|
20
13
|
static get is() { return "ifx-status"; }
|
21
14
|
static get encapsulation() { return "shadow"; }
|
@@ -92,6 +85,5 @@ export class Status {
|
|
92
85
|
}
|
93
86
|
};
|
94
87
|
}
|
95
|
-
static get elementRef() { return "el"; }
|
96
88
|
}
|
97
89
|
//# sourceMappingURL=status.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/components/status/status.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/components/status/status.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AASnD,MAAM,OAAO,MAAM;IANnB;QAQU,WAAM,GAAY,KAAK,CAAC;QACxB,UAAK,GAAW,YAAY,CAAC;KActC;IAXC,MAAM;;QACJ,MAAM,cAAc,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAElG,OAAO,CACL,0EAAgB,oBAAoB,gBAAa,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc;YAChF,6DAAM,KAAK,EAAE,OAAO,cAAc,EAAE,GAAS;YAC7C,0DAAG,KAAK,EAAC,MAAM,IAAE,IAAI,CAAC,KAAK,CAAK,CAC5B,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n \n\n@Component({\n tag: 'ifx-status',\n styleUrl: 'status.scss',\n shadow: true\n})\n\nexport class Status {\n @Prop() label: string;\n @Prop() border: boolean = false;\n @Prop() color: string = 'orange-500';\n\n\n render() {\n const effectiveColor = this.color?.trim() ? this.color : 'orange-500';\n const containerClass = this.border ? `container border-${effectiveColor}` : 'container no-border';\n\n return (\n <div aria-label=\"a status indicator\" aria-value={this.label} class={containerClass}>\n <span class={`dot ${effectiveColor}`}></span>\n <p class=\"text\">{this.label}</p>\n </div>\n );\n }\n}"]}
|