@infineon/infineon-design-system-stencil 35.4.3--canary.1935.5a72dcb40558a8813d95215c02b19960db8e29a1.0 → 35.4.3--canary.1904.8657c5c6c65b2559e0e95772a2affef4166bfc47.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 +5 -1
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js +2 -0
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-badge.cjs.entry.js +5 -1
- package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js +3 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js +5 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js +3 -1
- package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card.cjs.entry.js +5 -3
- package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox.cjs.entry.js +5 -3
- package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-chip_3.cjs.entry.js +12 -9
- package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js +3 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-date-picker.cjs.entry.js +4 -2
- package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js +3 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-file-upload.cjs.entry.js +6 -2
- package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-footer.cjs.entry.js +6 -4
- package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +3 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +3 -1
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-indicator.cjs.entry.js +4 -2
- package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js +5 -1
- package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-modal.cjs.entry.js +6 -2
- package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-multiselect.cjs.entry.js +2 -0
- package/dist/cjs/ifx-multiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar.cjs.entry.js +5 -3
- package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-notification.cjs.entry.js +6 -2
- package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js +3 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js +3 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button.cjs.entry.js +4 -2
- package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js +3 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js +5 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.cjs.entry.js +6 -2
- package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-select.cjs.entry.js +4 -2
- package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar.cjs.entry.js +7 -5
- package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-slider.cjs.entry.js +4 -2
- package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-spinner_2.cjs.entry.js +11 -6
- package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js +5 -1
- package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-stepper.cjs.entry.js +4 -2
- package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js +3 -1
- package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +4 -2
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tabs.cjs.entry.js +4 -2
- package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tag.cjs.entry.js +5 -1
- package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js +3 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tooltip.cjs.entry.js +6 -4
- package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view.cjs.entry.js +5 -1
- package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
- package/dist/cjs/tracking-f00364dc.js +41 -0
- package/dist/cjs/tracking-f00364dc.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +5 -1
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.js +2 -0
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/badge/badge.js +5 -1
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +5 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.js +3 -1
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +5 -3
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +5 -3
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +3 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/chip/chip.js +10 -8
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.js +3 -1
- package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +4 -2
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +3 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.js +6 -2
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/footer/footer.js +6 -4
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +3 -1
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +3 -1
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/indicator/indicator.js +4 -2
- package/dist/collection/components/indicator/indicator.js.map +1 -1
- package/dist/collection/components/link/link.js +5 -1
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/modal/modal.js +6 -2
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.js +5 -3
- package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.js +7 -5
- package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/collection/components/notification/notification.js +6 -2
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +3 -1
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +3 -1
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.js +4 -2
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +3 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.js +3 -1
- package/dist/collection/components/search-bar/search-bar.js.map +1 -1
- package/dist/collection/components/search-field/search-field.js +5 -1
- package/dist/collection/components/search-field/search-field.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +6 -2
- package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.js +2 -0
- package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
- package/dist/collection/components/select/single-select/select.js +4 -2
- package/dist/collection/components/select/single-select/select.js.map +1 -1
- package/dist/collection/components/slider/slider.js +4 -2
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +6 -2
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/status/status.js +5 -1
- package/dist/collection/components/status/status.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +4 -2
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/switch/switch.js +3 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.js +4 -2
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.js +3 -1
- package/dist/collection/components/table-basic-version/table.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +4 -3
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tag/tag.js +5 -1
- package/dist/collection/components/tag/tag.js.map +1 -1
- package/dist/collection/components/text-field/text-field.js +6 -4
- package/dist/collection/components/text-field/text-field.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +3 -1
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +6 -4
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view.js +5 -1
- package/dist/collection/components/tree-view/tree-view.js.map +1 -1
- package/dist/collection/global/utils/tracking.js +37 -0
- package/dist/collection/global/utils/tracking.js.map +1 -0
- 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 +5 -1
- package/dist/components/ifx-badge.js.map +1 -1
- package/dist/components/ifx-basic-table.js +3 -1
- 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 +5 -1
- package/dist/components/ifx-breadcrumb.js.map +1 -1
- package/dist/components/ifx-button.js +1 -1
- package/dist/components/ifx-card.js +5 -3
- package/dist/components/ifx-card.js.map +1 -1
- package/dist/components/ifx-checkbox-group.js +4 -2
- package/dist/components/ifx-checkbox-group.js.map +1 -1
- package/dist/components/ifx-checkbox.js +1 -1
- package/dist/components/ifx-chip-item.js +1 -1
- package/dist/components/ifx-chip.js +1 -1
- package/dist/components/ifx-content-switcher.js +3 -1
- package/dist/components/ifx-content-switcher.js.map +1 -1
- package/dist/components/ifx-date-picker.js +5 -3
- 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-trigger-button.js +2 -2
- package/dist/components/ifx-dropdown.js +3 -1
- package/dist/components/ifx-dropdown.js.map +1 -1
- package/dist/components/ifx-faq.js +3 -3
- package/dist/components/ifx-file-upload.js +10 -6
- package/dist/components/ifx-file-upload.js.map +1 -1
- package/dist/components/ifx-filter-accordion.js +2 -2
- package/dist/components/ifx-filter-bar.js +2 -2
- package/dist/components/ifx-filter-search.js +2 -2
- package/dist/components/ifx-footer.js +6 -4
- package/dist/components/ifx-footer.js.map +1 -1
- package/dist/components/ifx-icon-button.js +1 -1
- package/dist/components/ifx-icon.js +1 -1
- package/dist/components/ifx-icons-preview.js +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 +3 -3
- package/dist/components/ifx-list.js +2 -2
- package/dist/components/ifx-modal.js +8 -4
- package/dist/components/ifx-modal.js.map +1 -1
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +2 -2
- package/dist/components/ifx-navbar.js +6 -4
- package/dist/components/ifx-navbar.js.map +1 -1
- package/dist/components/ifx-notification.js +1 -1
- package/dist/components/ifx-overview-table.js +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 +4 -2
- package/dist/components/ifx-radio-button-group.js.map +1 -1
- package/dist/components/ifx-radio-button.js +1 -1
- package/dist/components/ifx-search-bar.js +5 -3
- package/dist/components/ifx-search-bar.js.map +1 -1
- package/dist/components/ifx-search-field.js +1 -1
- package/dist/components/ifx-segment.js +1 -1
- package/dist/components/ifx-segmented-control.js +7 -3
- package/dist/components/ifx-segmented-control.js.map +1 -1
- package/dist/components/ifx-select.js +1 -1
- package/dist/components/ifx-set-filter.js +5 -5
- package/dist/components/ifx-sidebar-item.js +2 -2
- package/dist/components/ifx-sidebar.js +7 -5
- package/dist/components/ifx-sidebar.js.map +1 -1
- package/dist/components/ifx-slider.js +5 -3
- package/dist/components/ifx-slider.js.map +1 -1
- package/dist/components/ifx-spinner.js +1 -1
- package/dist/components/ifx-status.js +5 -1
- package/dist/components/ifx-status.js.map +1 -1
- package/dist/components/ifx-step.js +1 -1
- package/dist/components/ifx-stepper.js +4 -2
- package/dist/components/ifx-stepper.js.map +1 -1
- package/dist/components/ifx-switch.js +3 -1
- package/dist/components/ifx-switch.js.map +1 -1
- package/dist/components/ifx-table.js +13 -11
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/ifx-tabs.js +5 -3
- package/dist/components/ifx-tabs.js.map +1 -1
- package/dist/components/ifx-tag.js +6 -2
- package/dist/components/ifx-tag.js.map +1 -1
- package/dist/components/ifx-template.js +1 -1
- package/dist/components/ifx-templates-ui.js +8 -8
- package/dist/components/ifx-text-field.js +1 -1
- package/dist/components/ifx-textarea.js +3 -1
- package/dist/components/ifx-textarea.js.map +1 -1
- package/dist/components/ifx-tooltip.js +7 -5
- package/dist/components/ifx-tooltip.js.map +1 -1
- package/dist/components/ifx-tree-view-item.js +2 -2
- package/dist/components/ifx-tree-view.js +5 -1
- package/dist/components/ifx-tree-view.js.map +1 -1
- package/dist/components/{p-b6b0d09b.js → p-0d4738b9.js} +7 -5
- package/dist/components/p-0d4738b9.js.map +1 -0
- package/dist/components/{p-b293963f.js → p-0f321b2c.js} +13 -11
- package/dist/components/p-0f321b2c.js.map +1 -0
- package/dist/components/{p-e68ff1c7.js → p-10e2cc5b.js} +6 -6
- package/dist/components/{p-e68ff1c7.js.map → p-10e2cc5b.js.map} +1 -1
- package/dist/components/{p-a4922416.js → p-206cca4c.js} +7 -3
- package/dist/components/p-206cca4c.js.map +1 -0
- package/dist/components/{p-afd6d4f5.js → p-4c6715e5.js} +7 -3
- package/dist/components/p-4c6715e5.js.map +1 -0
- package/dist/components/{p-17df0350.js → p-62a0b59e.js} +4 -2
- package/dist/components/p-62a0b59e.js.map +1 -0
- package/dist/components/p-6ecb6a6f.js +39 -0
- package/dist/components/p-6ecb6a6f.js.map +1 -0
- package/dist/components/{p-20d6a006.js → p-78fc7f65.js} +9 -5
- package/dist/components/p-78fc7f65.js.map +1 -0
- package/dist/components/{p-8713a366.js → p-83a8f960.js} +6 -4
- package/dist/components/p-83a8f960.js.map +1 -0
- package/dist/components/{p-f2f58eb1.js → p-87513b98.js} +5 -3
- package/dist/components/p-87513b98.js.map +1 -0
- package/dist/components/{p-ed739e86.js → p-8d078774.js} +6 -2
- package/dist/components/p-8d078774.js.map +1 -0
- package/dist/components/{p-12e75dad.js → p-a068fe64.js} +4 -2
- package/dist/components/p-a068fe64.js.map +1 -0
- package/dist/components/{p-5c96860f.js → p-a9ad5c02.js} +2 -2
- package/dist/components/{p-5c96860f.js.map → p-a9ad5c02.js.map} +1 -1
- package/dist/components/{p-5e9d3450.js → p-ac35091f.js} +4 -2
- package/dist/components/p-ac35091f.js.map +1 -0
- package/dist/components/{p-80006961.js → p-b0bb3c89.js} +5 -3
- package/dist/components/p-b0bb3c89.js.map +1 -0
- package/dist/components/{p-ca125a72.js → p-cda8eae3.js} +7 -5
- package/dist/components/p-cda8eae3.js.map +1 -0
- package/dist/components/{p-53d4339c.js → p-d593f6d2.js} +6 -2
- package/dist/components/p-d593f6d2.js.map +1 -0
- package/dist/components/{p-357107c5.js → p-e10320d8.js} +5 -3
- package/dist/components/p-e10320d8.js.map +1 -0
- package/dist/components/{p-6c0ec65a.js → p-e160456e.js} +4 -2
- package/dist/components/p-e160456e.js.map +1 -0
- package/dist/components/{p-36e092f8.js → p-f0d66c29.js} +8 -6
- package/dist/components/p-f0d66c29.js.map +1 -0
- package/dist/components/{p-9142f93b.js → p-f94be895.js} +5 -3
- package/dist/components/p-f94be895.js.map +1 -0
- package/dist/components/{p-2a500ed7.js → p-fc0e442f.js} +3 -3
- package/dist/components/{p-2a500ed7.js.map → p-fc0e442f.js.map} +1 -1
- package/dist/esm/ifx-accordion_2.entry.js +5 -1
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-alert_2.entry.js +2 -0
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-badge.entry.js +5 -1
- package/dist/esm/ifx-badge.entry.js.map +1 -1
- package/dist/esm/ifx-basic-table.entry.js +3 -1
- package/dist/esm/ifx-basic-table.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js +5 -1
- package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ifx-button.entry.js +3 -1
- package/dist/esm/ifx-button.entry.js.map +1 -1
- package/dist/esm/ifx-card.entry.js +5 -3
- package/dist/esm/ifx-card.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js +3 -1
- package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox.entry.js +5 -3
- package/dist/esm/ifx-checkbox.entry.js.map +1 -1
- package/dist/esm/ifx-chip_3.entry.js +12 -9
- package/dist/esm/ifx-chip_3.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher.entry.js +3 -1
- package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
- package/dist/esm/ifx-date-picker.entry.js +4 -2
- package/dist/esm/ifx-date-picker.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown.entry.js +3 -1
- package/dist/esm/ifx-dropdown.entry.js.map +1 -1
- package/dist/esm/ifx-file-upload.entry.js +6 -2
- package/dist/esm/ifx-file-upload.entry.js.map +1 -1
- package/dist/esm/ifx-footer.entry.js +6 -4
- package/dist/esm/ifx-footer.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +3 -1
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +3 -1
- package/dist/esm/ifx-icon.entry.js.map +1 -1
- package/dist/esm/ifx-indicator.entry.js +4 -2
- package/dist/esm/ifx-indicator.entry.js.map +1 -1
- package/dist/esm/ifx-link.entry.js +5 -1
- package/dist/esm/ifx-link.entry.js.map +1 -1
- package/dist/esm/ifx-modal.entry.js +6 -2
- package/dist/esm/ifx-modal.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect.entry.js +2 -0
- package/dist/esm/ifx-multiselect.entry.js.map +1 -1
- package/dist/esm/ifx-navbar.entry.js +5 -3
- package/dist/esm/ifx-navbar.entry.js.map +1 -1
- package/dist/esm/ifx-notification.entry.js +6 -2
- package/dist/esm/ifx-notification.entry.js.map +1 -1
- package/dist/esm/ifx-progress-bar.entry.js +3 -1
- package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js +3 -1
- package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button.entry.js +4 -2
- package/dist/esm/ifx-radio-button.entry.js.map +1 -1
- package/dist/esm/ifx-search-bar.entry.js +3 -1
- package/dist/esm/ifx-search-bar.entry.js.map +1 -1
- package/dist/esm/ifx-search-field.entry.js +5 -1
- package/dist/esm/ifx-search-field.entry.js.map +1 -1
- package/dist/esm/ifx-segmented-control.entry.js +6 -2
- package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
- package/dist/esm/ifx-select.entry.js +4 -2
- package/dist/esm/ifx-select.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar.entry.js +7 -5
- package/dist/esm/ifx-sidebar.entry.js.map +1 -1
- package/dist/esm/ifx-slider.entry.js +4 -2
- package/dist/esm/ifx-slider.entry.js.map +1 -1
- package/dist/esm/ifx-spinner_2.entry.js +11 -6
- package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
- package/dist/esm/ifx-status.entry.js +5 -1
- package/dist/esm/ifx-status.entry.js.map +1 -1
- package/dist/esm/ifx-stepper.entry.js +4 -2
- package/dist/esm/ifx-stepper.entry.js.map +1 -1
- package/dist/esm/ifx-switch.entry.js +3 -1
- package/dist/esm/ifx-switch.entry.js.map +1 -1
- package/dist/esm/ifx-table.entry.js +4 -2
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/ifx-tabs.entry.js +4 -2
- package/dist/esm/ifx-tabs.entry.js.map +1 -1
- package/dist/esm/ifx-tag.entry.js +5 -1
- package/dist/esm/ifx-tag.entry.js.map +1 -1
- package/dist/esm/ifx-textarea.entry.js +3 -1
- package/dist/esm/ifx-textarea.entry.js.map +1 -1
- package/dist/esm/ifx-tooltip.entry.js +6 -4
- package/dist/esm/ifx-tooltip.entry.js.map +1 -1
- package/dist/esm/ifx-tree-view.entry.js +5 -1
- package/dist/esm/ifx-tree-view.entry.js.map +1 -1
- package/dist/esm/tracking-a7efdbcd.js +39 -0
- package/dist/esm/tracking-a7efdbcd.js.map +1 -0
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/p-026d4323.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-026d4323.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-0e685b5b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-0e685b5b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-12a501e3.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-12a501e3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-1363c580.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-1363c580.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-205793c9.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-205793c9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2566033e.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2566033e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2c8b12b9.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2c8b12b9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2d1be753.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2d1be753.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-4d248380.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-4d248380.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-5eb7dab8.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5eb7dab8.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-63bf2478.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-63bf2478.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6a187c4e.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6a187c4e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6d72ad32.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js +2 -0
- package/dist/infineon-design-system-stencil/p-6ecb6a6f.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-799b8bb9.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-799b8bb9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-7bca15ee.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7bca15ee.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-7e194576.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7e194576.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-7fe71cfa.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7fe71cfa.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-826998aa.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-826998aa.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-842c3339.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-842c3339.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-86705978.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-86705978.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-909de452.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-909de452.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-9f053ec8.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9f053ec8.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a6ebc263.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a6ebc263.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-a99d544a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-a99d544a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-aa4c2124.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-aa4c2124.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-aaa6770d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-aaa6770d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-acd4055d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-acd4055d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b16ccb2a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b16ccb2a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-bc23eb8a.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-bc23eb8a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-7440ea9d.entry.js → p-bd243655.entry.js} +3 -3
- package/dist/infineon-design-system-stencil/p-bd243655.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-bd779c6c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-bd779c6c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-c12aac5f.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-c12aac5f.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-c8e4dfde.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-c8e4dfde.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-db1d53bf.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-db1d53bf.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e5018880.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e531d0b1.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-e531d0b1.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ea537283.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ea537283.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-eae13f8c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-eae13f8c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f3e01216.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f3e01216.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f4a7e01f.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f4a7e01f.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f5a3ef41.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f5a3ef41.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ffb0173c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ffb0173c.entry.js.map +1 -0
- package/dist/types/components/accordion/accordion.d.ts +1 -0
- package/dist/types/components/badge/badge.d.ts +1 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -0
- package/dist/types/components/file-upload/file-upload.d.ts +1 -0
- package/dist/types/components/link/link.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +1 -0
- package/dist/types/components/notification/notification.d.ts +1 -0
- package/dist/types/components/search-field/search-field.d.ts +1 -0
- package/dist/types/components/segmented-control/segmented-control.d.ts +1 -0
- package/dist/types/components/spinner/spinner.d.ts +1 -0
- package/dist/types/components/status/status.d.ts +1 -0
- package/dist/types/components/tag/tag.d.ts +1 -0
- package/dist/types/components/tree-view/tree-view.d.ts +1 -0
- package/dist/types/global/utils/tracking.d.ts +9 -0
- package/package.json +1 -1
- package/dist/components/p-12e75dad.js.map +0 -1
- package/dist/components/p-17df0350.js.map +0 -1
- package/dist/components/p-20d6a006.js.map +0 -1
- package/dist/components/p-357107c5.js.map +0 -1
- package/dist/components/p-36e092f8.js.map +0 -1
- package/dist/components/p-53d4339c.js.map +0 -1
- package/dist/components/p-5e9d3450.js.map +0 -1
- package/dist/components/p-6c0ec65a.js.map +0 -1
- package/dist/components/p-80006961.js.map +0 -1
- package/dist/components/p-8713a366.js.map +0 -1
- package/dist/components/p-9142f93b.js.map +0 -1
- package/dist/components/p-a4922416.js.map +0 -1
- package/dist/components/p-afd6d4f5.js.map +0 -1
- package/dist/components/p-b293963f.js.map +0 -1
- package/dist/components/p-b6b0d09b.js.map +0 -1
- package/dist/components/p-ca125a72.js.map +0 -1
- package/dist/components/p-ed739e86.js.map +0 -1
- package/dist/components/p-f2f58eb1.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-061bfdb1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-06bfabcf.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-06bfabcf.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0d3e5a0d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0d3e5a0d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-1048ee19.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-1048ee19.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-142878ee.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-142878ee.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-17f3f2f5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-2006c7a0.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-292cff35.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-2d89c5e0.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-33a4fd0a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-37d6c639.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-3d23deba.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-3ff96710.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-47a3e831.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-487d2155.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-49252616.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-49252616.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-5b5c144f.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-5b5c144f.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-676fb63a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-676fb63a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-6790d912.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-6bdca580.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-702a48f8.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-702a48f8.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-741ee6fd.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-7440ea9d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-74bee1c8.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-74bee1c8.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-885adc48.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-885adc48.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9149a20a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-9149a20a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-959285a7.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-959285a7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-9fc0f50d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-aadd1a9d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-acf0f4ed.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-acf0f4ed.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ad1ec9d6.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b637c44c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b637c44c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b73a5f18.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c2791360.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c2791360.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c5a785d7.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c5a785d7.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-c84ef603.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-dd28f3a1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e98d2280.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e98d2280.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ecc17497.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ecc17497.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ef6d0dc6.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f25f014d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-f25f014d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-f338fb85.entry.js.map +0 -1
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as a,h as t}from"./p-b7a462e5.js";import{t as s}from"./p-6ecb6a6f.js";const l=':host{display:block}.tree-view{font-family:var(--ifx-font-family, sans-serif);font-size:14px;color:var(--ifx-color-text, #1a1a1a);display:flex;flex-wrap:wrap;flex-direction:column;overflow-x:auto;overflow-y:hidden}.tree-view__label{font:600 1.125rem/1.625rem "Source Sans 3";margin-bottom:8px}';const i=l;const r=class{constructor(t){e(this,t);this.ifxTreeViewExpandAllChange=a(this,"ifxTreeViewExpandAllChange",7);this.ifxTreeViewDisableAllChange=a(this,"ifxTreeViewDisableAllChange",7);this.disableAllItems=false;this.expandAllItems=false;this.handleSlotRef=e=>{if(e){if(this.disableAllItems){e.setAttribute("data-disable-all-items","true")}else{e.removeAttribute("data-disable-all-items")}if(this.expandAllItems){e.setAttribute("data-expand-all-items","true")}else{e.removeAttribute("data-expand-all-items")}}}}handleExpandAllItemsChange(e){this.ifxTreeViewExpandAllChange.emit(e)}handleDisableAllItemsChange(e){this.ifxTreeViewDisableAllChange.emit(e)}componentWillLoad(){s("ifx-tree-view")}render(){return t("div",{key:"455c50c19e0831504261c6e819ed0e297d3570f8",class:`tree-view ${this.disableAllItems?" tree-view--disabled":""}`,role:"tree","aria-label":this.ariaLabel},this.label&&this.label.trim()!==""&&t("div",{key:"d0fcbd3013c39a5919fd7b6b0083bd104153effa",class:"tree-view__label"},this.label),t("slot",{key:"a0bb8c28c26107ba3f0dcb26f6cab79ef3d959f4",ref:this.handleSlotRef}))}static get watchers(){return{expandAllItems:["handleExpandAllItemsChange"],disableAllItems:["handleDisableAllItemsChange"]}}};r.style=i;export{r as ifx_tree_view};
|
2
|
+
//# sourceMappingURL=p-bd779c6c.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["treeViewCss","IfxTreeViewStyle0","TreeView","constructor","hostRef","this","disableAllItems","expandAllItems","handleSlotRef","el","setAttribute","removeAttribute","handleExpandAllItemsChange","newValue","ifxTreeViewExpandAllChange","emit","handleDisableAllItemsChange","ifxTreeViewDisableAllChange","componentWillLoad","trackComponent","render","h","key","class","role","ariaLabel","label","trim","ref"],"sources":["src/components/tree-view/tree-view.scss?tag=ifx-tree-view&encapsulation=shadow","src/components/tree-view/tree-view.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: block;\n}\n\n.tree-view {\n font-family: var(--ifx-font-family, sans-serif);\n font-size: 14px;\n color: var(--ifx-color-text, #1a1a1a);\n\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n overflow-x: auto;\n overflow-y: hidden;\n\n &__label {\n font: tokens.$ifxHeadingHeading06;\n margin-bottom: tokens.$ifxSpace100;\n }\n}\n","import { Component, h, Prop, Event, EventEmitter, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\n\n@Component({\n tag: 'ifx-tree-view',\n styleUrl: 'tree-view.scss',\n shadow: true,\n})\nexport class TreeView {\n @Prop() label?: string;\n @Prop() disableAllItems: boolean = false;\n @Prop() expandAllItems: boolean = false;\n @Prop() ariaLabel: string | null;\n\n @Event() ifxTreeViewExpandAllChange: EventEmitter<boolean>;\n @Event() ifxTreeViewDisableAllChange: EventEmitter<boolean>;\n\n @Watch('expandAllItems')\n handleExpandAllItemsChange(newValue: boolean) {\n this.ifxTreeViewExpandAllChange.emit(newValue);\n }\n\n @Watch('disableAllItems')\n handleDisableAllItemsChange(newValue: boolean) {\n this.ifxTreeViewDisableAllChange.emit(newValue);\n }\n\n private handleSlotRef = (el: HTMLSlotElement | null) => {\n if (el) {\n if (this.disableAllItems) {\n el.setAttribute('data-disable-all-items', 'true');\n } else {\n el.removeAttribute('data-disable-all-items');\n }\n if (this.expandAllItems) {\n el.setAttribute('data-expand-all-items', 'true');\n } else {\n el.removeAttribute('data-expand-all-items');\n }\n }\n };\n\n componentWillLoad() { \n trackComponent('ifx-tree-view')\n }\n\n render() {\n return (\n <div\n class={`tree-view ${this.disableAllItems ? ' tree-view--disabled' : ''}`}\n role=\"tree\"\n aria-label={this.ariaLabel}\n >\n {this.label && this.label.trim() !== '' && <div class=\"tree-view__label\">{this.label}</div>}\n <slot ref={this.handleSlotRef}></slot>\n </div>\n );\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAc,wSACpB,MAAAC,EAAeD,E,MCOFE,EAAQ,MALrB,WAAAC,CAAAC,G,0JAOUC,KAAAC,gBAA2B,MAC3BD,KAAAE,eAA0B,MAgB1BF,KAAAG,cAAiBC,IACvB,GAAIA,EAAI,CACN,GAAIJ,KAAKC,gBAAiB,CACxBG,EAAGC,aAAa,yBAA0B,O,KACrC,CACLD,EAAGE,gBAAgB,yB,CAErB,GAAIN,KAAKE,eAAgB,CACvBE,EAAGC,aAAa,wBAAyB,O,KACpC,CACLD,EAAGE,gBAAgB,wB,IAnBzB,0BAAAC,CAA2BC,GACzBR,KAAKS,2BAA2BC,KAAKF,E,CAIvC,2BAAAG,CAA4BH,GAC1BR,KAAKY,4BAA4BF,KAAKF,E,CAkBxC,iBAAAK,GACEC,EAAe,gB,CAGjB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO,aAAalB,KAAKC,gBAAkB,uBAAyB,KACpEkB,KAAK,OAAM,aACCnB,KAAKoB,WAEhBpB,KAAKqB,OAASrB,KAAKqB,MAAMC,SAAW,IAAMN,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAoBlB,KAAKqB,OAC/EL,EAAA,QAAAC,IAAA,2CAAMM,IAAKvB,KAAKG,gB","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";import{t as a}from"./p-6ecb6a6f.js";function s(e,t,o,n=20,i=0){const a=[];if(i>=n){return a}const d=e=>{const a=e.assignedNodes().filter((e=>e.nodeType===1));if(a.length>0){const e=a[0].parentElement;return s(e,t,o,n,i+1)}return[]};const r=Array.from(e.children||[]);for(const e of r){if(t(e)){continue}if(o(e)){a.push(e)}if(e.shadowRoot!=null){a.push(...s(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){a.push(...d(e))}else{a.push(...s(e,t,o,n,i+1))}}return a}function d(e){return e.hasAttribute("hidden")||e.hasAttribute("aria-hidden")&&e.getAttribute("aria-hidden")!=="false"||e.style.display===`none`||e.style.opacity===`0`||e.style.visibility===`hidden`||e.style.visibility===`collapse`}function r(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function c(e){if(e.getAttribute("tabindex")==="-1"||d(e)||r(e)){return false}return e.hasAttribute("tabindex")||(e instanceof HTMLAnchorElement||e instanceof HTMLAreaElement)&&e.hasAttribute("href")||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLIFrameElement}function l(e,t,o){const n=e.animate(t,Object.assign(Object.assign({},o),{fill:"both"}));n.addEventListener("finish",(()=>{n.commitStyles();n.cancel()}));return n}const h={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const f={fadeIn:[Object.assign(Object.assign({offset:0},h),{opacity:0}),Object.assign(Object.assign({offset:1},h),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},h),{opacity:1}),Object.assign(Object.assign({offset:1},h),{opacity:0})]};const b=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:block}.modal-container{display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1060;overflow-y:auto;font-family:var(--ifx-font-family)}.modal-container.open{display:flex}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#1D1D1D;opacity:0.5;z-index:0}.modal-content-container{position:absolute;display:flex;justify-content:center;width:90%;min-height:218px;background-color:#fff;border-radius:0;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);box-sizing:border-box;align-items:stretch}.modal-content-container.no-overflow{overflow:hidden}.modal-content-container.no-overflow .modal-body{overflow-y:auto}@media screen and (min-width: 768px){.modal-content-container{width:540px;min-height:132px}.modal-content-container.m,.modal-content-container.l,.modal-content-container.s{width:90%}}@media screen and (min-width: 1024px){.modal-content-container.s{width:47vw}.modal-content-container.m{width:63vw}.modal-content-container.l{width:80%}}.modal-content{display:flex;flex-direction:column;width:100%;max-height:90vh}.modal-icon-container{display:flex;align-items:center;justify-content:center;width:32px;background-color:#0A8276;align-self:stretch}.modal-icon-container.danger{background-color:#CD002F}.modal-icon-container ifx-icon{color:#FFFFFF}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;min-height:76px;max-height:105px;box-sizing:border-box;border-radius:1px 1px 0px 0px;border-bottom:1px solid #EEEDED}.modal-caption{max-height:56px;display:-webkit-box;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.modal-header h2{margin:0;font-weight:600;font-size:1.25rem;line-height:28px}.modal-header button{background:none;border:none;font-size:1.5em;padding:0;cursor:pointer}.modal-close-button{align-self:flex-start;margin-right:-8px}.modal-body{padding:16px 24px;min-height:56px;box-sizing:border-box;flex:1}.modal-footer.buttons-present ::slotted(*){display:flex;justify-content:flex-end;gap:16px;padding:16px 24px 32px 16px}.modal-border{display:flex;align-items:center;justify-content:center;width:100%;font-size:1.5em;flex-grow:1}.modal-border.primary{background-color:#0A8276}.modal-border.secondary{background-color:#575352}.modal-border.danger{background-color:#CD002F}.modal-border.success{background-color:#4CA460}.modal-border.warning{background-color:#E16B25}.modal-border.orange{background-color:#E16B25}.modal-border.ocean{background-color:#0A8276}.modal-border.grey{background-color:#575352}.modal-border.grey-200{background-color:#EEEDED}.modal-border.red{background-color:#CD002F}.modal-border.green{background-color:#4CA460}.modal-border.berry{background-color:#9C216E}';const m=b;const u=class{constructor(o){e(this,o);this.ifxOpen=t(this,"ifxOpen",7);this.ifxClose=t(this,"ifxClose",7);this.opened=false;this.showModal=this.opened||false;this.caption="Modal Title";this.closeOnOverlayClick=true;this.variant="default";this.size="s";this.alertIcon="";this.okButtonLabel="OK";this.cancelButtonLabel="Cancel";this.slotButtonsPresent=false;this.showCloseButton=true;this.focusableElements=[];this.handleTopFocus=()=>{this.attemptFocus(this.getLastFocusableElement())};this.handleBottomFocus=()=>{this.attemptFocus(this.getFirstFocusableElement())};this.handleKeypress=e=>{if(!this.showModal){return}if(e.key==="Escape"){this.doBeforeClose("ESCAPE_KEY")}}}componentWillLoad(){a("ifx-modal")}componentDidLoad(){this.focusableElements=s(this.hostElement.shadowRoot,(e=>d(e)||e.matches("[data-focus-trap-edge]")),c)}componentWillRender(){if(this.showModal){this.handleComponentOverflow()}}handleComponentOverflow(){const e=this.hostElement.shadowRoot.querySelector(".modal-content-container");if(this.showModal&&this.isModalContentContainerHeightReachedViewport()){e.classList.add("no-overflow")}else if(e===null||e===void 0?void 0:e.classList.contains("no-overflow")){e===null||e===void 0?void 0:e.classList.remove("no-overflow")}}getFirstFocusableElement(){return this.focusableElements[0]}getLastFocusableElement(){return this.focusableElements[this.focusableElements.length-1]}attemptFocus(e){if(e==null){setTimeout((()=>{this.closeButton.focus()}));return}setTimeout((()=>{e.focus()}),0)}open(){this.showModal=true;try{const e=l(this.modalContainer,f.fadeIn,{duration:200});e.addEventListener("finish",(()=>{setTimeout((()=>{var e,t;(e=this.getLastFocusableElement())===null||e===void 0?void 0:e.focus();(t=this.getLastFocusableElement())===null||t===void 0?void 0:t.blur()}),0);this.ifxOpen.emit()}));this.hostElement.addEventListener("keydown",this.handleKeypress)}catch(e){this.ifxOpen.emit()}}close(){try{const e=l(this.modalContainer,f.fadeOut,{duration:200});e.addEventListener("finish",(()=>{this.showModal=false;this.ifxClose.emit()}));this.hostElement.removeEventListener("keydown",this.handleKeypress)}catch(e){this.showModal=false;this.ifxClose.emit()}}doBeforeClose(e){const t=[];t.push(e);const o=t.some((e=>e.defaultPrevented));if(!o){this.opened=false}}openedChanged(e){if(e===true){this.open()}else{this.close()}}handleOverlayClick(){if(this.closeOnOverlayClick){this.doBeforeClose("BACKDROP")}}handleContentUpdate(e){const t=e.target;const o=t.assignedNodes();if(o.length>0){o.forEach((e=>{if(e.observer){e.observer.disconnect();delete e.observer}const t=new MutationObserver(((e,t)=>{for(let t of e){if(t.type==="childList"){if(this.showModal){this.handleComponentOverflow()}}}}));t.observe(e,{attributes:true,childList:true,subtree:true});e.observer=t}))}}handleButtonsSlotChange(e){var t;if(((t=e.currentTarget.assignedElements()[0])===null||t===void 0?void 0:t.childElementCount)>0){this.slotButtonsPresent=true}else{this.slotButtonsPresent=false}}isModalContentContainerHeightReachedViewport(){return new Promise((e=>{setTimeout((()=>{const t=this.hostElement.shadowRoot.querySelector(".modal-content");const o=t.offsetHeight;const n=window.innerHeight;e(o>=n*.9)}),100)}))}render(){const e=this.variant!=="default";return o(n,{key:"626fa4938673d3f391822d5a1185e4624a304f37"},o("div",{key:"62dc3352da6e19d1c8001319f5383968b88916f3",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"047bc13f3bab5b3b3a31cecf16780dc51551853a",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"acb87187f010e0a0452ecf1893a0fddd39d1d61d","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"168fa0a69262f58b539ef37485037c5c42736744",class:`modal-content-container ${this.size}`,role:"dialog","aria-modal":"true","aria-label":this.caption},e?o("div",{class:`modal-icon-container ${this.variant==="alert-brand"?"":"danger"}`},this.alertIcon?o("ifx-icon",{icon:this.alertIcon}):null):null,o("div",{key:"000f36bedc412a3c5743378c8d6b954bc4ba4adb",class:"modal-content"},o("div",{key:"dc0edddd16237eb702cdb759e43b5dc31138b2a3",class:"modal-header"},o("h2",{key:"f064f1a717eb1227cbc5cf87c4219921e06f357d",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"2d7e69a849bd5c079ca7d6c207e9e109e9ba38cc",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"97ea7be5990e26353d5d0c06d4c91b67dcc39da3",class:"modal-body"},o("slot",{key:"8903401607519aa2fe851eb87605d9e7c719701d",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"408f0e612dbfe3345964eaf94038ef95c2e18905",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"8b68793e1cb95ab8ac44e817dcbc098c6f386914",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"6ada1825e120f06e2291a1563b99428aaee21429","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};u.style=m;export{u as ifx_modal};
|
2
|
+
//# sourceMappingURL=p-c12aac5f.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["queryShadowRoot","root","skipNode","isMatch","maxDepth","depth","matches","traverseSlot","$slot","assignedNodes","filter","node","nodeType","length","$slotParent","parentElement","children","Array","from","$child","push","shadowRoot","tagName","isHidden","$elem","hasAttribute","getAttribute","style","display","opacity","visibility","isDisabled","isFocusable","HTMLAnchorElement","HTMLAreaElement","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","HTMLIFrameElement","animationTo","element","keyframes","options","animated","animate","Object","assign","fill","addEventListener","commitStyles","cancel","keyframeDefaults","easing","KEYFRAMES","fadeIn","offset","fadeOut","modalCss","IfxModalStyle0","IfxModal","constructor","hostRef","this","opened","showModal","caption","closeOnOverlayClick","variant","size","alertIcon","okButtonLabel","cancelButtonLabel","slotButtonsPresent","showCloseButton","focusableElements","handleTopFocus","attemptFocus","getLastFocusableElement","handleBottomFocus","getFirstFocusableElement","handleKeypress","event","key","doBeforeClose","componentWillLoad","trackComponent","componentDidLoad","hostElement","el","componentWillRender","handleComponentOverflow","modalContentContainer","querySelector","isModalContentContainerHeightReachedViewport","classList","add","contains","remove","setTimeout","closeButton","focus","open","anim","modalContainer","duration","_a","_b","blur","ifxOpen","emit","err","close","ifxClose","removeEventListener","trigger","triggers","prevented","some","defaultPrevented","openedChanged","newValue","handleOverlayClick","handleContentUpdate","e","slotElement","target","nodes","forEach","observer","disconnect","MutationObserver","mutationsList","_","mutation","type","observe","attributes","childList","subtree","handleButtonsSlotChange","currentTarget","assignedElements","childElementCount","Promise","resolve","modalContent","modalContentHeight","offsetHeight","viewportHeight","window","innerHeight","render","isAlertVariant","h","Host","ref","class","onClick","onFocus","tabindex","role","icon","name","onSlotchange"],"sources":["src/global/utils/focus-trap.ts","src/global/utils/animation.ts","src/components/modal/modal.scss?tag=ifx-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/**\n * Copy/pasted from https://github.com/andreasbm/focus-trap\n */\n\n/**\n * Traverses the slots of the open shadowroots and returns all children matching the query.\n * We need to traverse each child-depth one at a time because if an element should be skipped\n * (for example because it is hidden) we need to skip all of it's children. If we use querySelectorAll(\"*\")\n * the information of whether the children is within a hidden parent is lost.\n * @param {ShadowRoot | HTMLElement} root\n * @param skipNode\n * @param isMatch\n * @param {number} maxDepth\n * @param {number} depth\n * @returns {HTMLElement[]}\n */\nexport function queryShadowRoot(\n root: ShadowRoot | HTMLElement,\n skipNode: ($elem: HTMLElement) => boolean,\n isMatch: ($elem: HTMLElement) => boolean,\n maxDepth: number = 20,\n depth: number = 0\n): HTMLElement[] {\n const matches: HTMLElement[] = [];\n\n // If the depth is above the max depth, abort the searching here.\n if (depth >= maxDepth) {\n return matches;\n }\n\n // Traverses a slot element\n const traverseSlot = ($slot: HTMLSlotElement) => {\n // Only check nodes that are of the type Node.ELEMENT_NODE\n // Read more here https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const assignedNodes = $slot\n .assignedNodes()\n .filter((node) => node.nodeType === 1);\n if (assignedNodes.length > 0) {\n const $slotParent = assignedNodes[0].parentElement!;\n return queryShadowRoot(\n $slotParent,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n );\n }\n\n return [];\n };\n\n // Go through each child and continue the traversing if necessary\n // Even though the typing says that children can't be undefined, Edge 15 sometimes gives an undefined value.\n // Therefore we fallback to an empty array if it is undefined.\n const children = Array.from(root.children || []) as HTMLElement[];\n for (const $child of children) {\n // Check if the element and its descendants should be skipped\n if (skipNode($child)) {\n // console.log('-- SKIP', $child);\n continue;\n }\n\n // console.log('$child', $child);\n\n // If the element matches we always add it\n if (isMatch($child)) {\n matches.push($child);\n }\n\n if ($child.shadowRoot != null) {\n // If the element has a shadow root we need to traverse it\n matches.push(\n ...queryShadowRoot(\n $child.shadowRoot,\n skipNode,\n isMatch,\n maxDepth,\n depth + 1\n )\n );\n } else if ($child.tagName === 'SLOT') {\n // If the child is a slot we need to traverse each assigned node\n matches.push(...traverseSlot($child as HTMLSlotElement));\n } else {\n // Traverse the children of the element\n matches.push(\n ...queryShadowRoot($child, skipNode, isMatch, maxDepth, depth + 1)\n );\n }\n }\n\n return matches;\n}\n\n/**\n * Returns whether the element is hidden.\n * @param $elem\n */\nexport function isHidden($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('hidden') ||\n ($elem.hasAttribute('aria-hidden') &&\n $elem.getAttribute('aria-hidden') !== 'false') ||\n // A quick and dirty way to check whether the element is hidden.\n // For a more fine-grained check we could use \"window.getComputedStyle\" but we don't because of bad performance.\n // If the element has visibility set to \"hidden\" or \"collapse\", display set to \"none\" or opacity set to \"0\" through CSS\n // we won't be able to catch it here. We accept it due to the huge performance benefits.\n $elem.style.display === `none` ||\n $elem.style.opacity === `0` ||\n $elem.style.visibility === `hidden` ||\n $elem.style.visibility === `collapse`\n );\n\n // If offsetParent is null we can assume that the element is hidden\n // https://stackoverflow.com/questions/306305/what-would-make-offsetparent-null\n // || $elem.offsetParent == null;\n}\n\n/**\n * Returns whether the element is disabled.\n * @param $elem\n */\nexport function isDisabled($elem: HTMLElement): boolean {\n return (\n $elem.hasAttribute('disabled') ||\n ($elem.hasAttribute('aria-disabled') &&\n $elem.getAttribute('aria-disabled') !== 'false')\n );\n}\n\n/**\n * Determines whether an element is focusable.\n * Read more here: https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus/1600194#1600194\n * Or here: https://stackoverflow.com/questions/18261595/how-to-check-if-a-dom-element-is-focusable\n * @param $elem\n */\nexport function isFocusable($elem: HTMLElement): boolean {\n // Discard elements that are removed from the tab order.\n if (\n $elem.getAttribute('tabindex') === '-1' ||\n isHidden($elem) ||\n isDisabled($elem)\n ) {\n return false;\n }\n\n return (\n // At this point we know that the element can have focus (eg. won't be -1) if the tabindex attribute exists\n $elem.hasAttribute('tabindex') ||\n // Anchor tags or area tags with a href set\n (($elem instanceof HTMLAnchorElement || $elem instanceof HTMLAreaElement) &&\n $elem.hasAttribute('href')) ||\n // Form elements which are not disabled\n $elem instanceof HTMLButtonElement ||\n $elem instanceof HTMLInputElement ||\n $elem instanceof HTMLTextAreaElement ||\n $elem instanceof HTMLSelectElement ||\n // IFrames\n $elem instanceof HTMLIFrameElement\n );\n}","export function animationTo(\n element: HTMLElement,\n keyframes: Keyframe | Keyframe[],\n options?: KeyframeAnimationOptions\n) {\n const animated = element.animate(keyframes, { ...options, fill: 'both' });\n animated.addEventListener('finish', () => {\n // @ts-ignore\n animated.commitStyles();\n animated.cancel();\n });\n\n return animated;\n}\n\nconst keyframeDefaults = {\n easing: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n};\n\nexport const KEYFRAMES = {\n fadeIn: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 0,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 1,\n },\n ],\n fadeOut: [\n {\n offset: 0,\n ...keyframeDefaults,\n opacity: 1,\n },\n {\n offset: 1,\n ...keyframeDefaults,\n opacity: 0,\n },\n ],\n};","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: block;\n}\n\n.modal-container {\n display: none;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 1060;\n overflow-y: auto;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.modal-container.open {\n display: flex;\n}\n\n.modal-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: tokens.$ifxColorBaseBlack;\n opacity: 0.5;\n z-index: 0;\n}\n\n.modal-content-container {\n position: absolute;\n display: flex;\n justify-content: center;\n width: 90%;\n min-height: 218px;\n background-color: #fff;\n border-radius: tokens.$ifxBorderRadiusNone;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n \n //overflow: hidden;\n\n box-sizing: border-box;\n align-items: stretch;\n}\n\n.modal-content-container {\n &.no-overflow { \n overflow: hidden;\n & .modal-body { \n overflow-y: auto;\n }\n }\n}\n\n/* Add desktop size here */\n@media screen and (min-width: 768px) {\n .modal-content-container {\n width: 540px;\n min-height: 132px;\n\n &.m,\n &.l,\n &.s {\n width: 90%;\n }\n }\n}\n\n@media screen and (min-width: 1024px) {\n .modal-content-container {\n\n &.s {\n width: 47vw;\n }\n\n &.m {\n width: 63vw;\n }\n\n &.l {\n width: 80%;\n }\n }\n}\n\n.modal-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-height: 90vh;\n}\n\n.modal-icon-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n background-color: tokens.$ifxColorOcean500;\n align-self: stretch;\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n & ifx-icon {\n color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 24px;\n min-height: 76px;\n max-height: 105px;\n box-sizing: border-box;\n border-radius: 1px 1px 0px 0px;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.modal-caption {\n max-height: 56px;\n display: -webkit-box;\n overflow: hidden;\n white-space: pre-wrap;\n word-wrap: break-word;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n}\n\n.modal-header h2 {\n margin: 0;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeXl;\n line-height: 28px;\n}\n\n.modal-header button {\n background: none;\n border: none;\n font-size: 1.5em;\n padding: 0;\n cursor: pointer;\n}\n\n.modal-close-button {\n align-self: flex-start;\n margin-right: -8px;\n}\n\n.modal-body {\n padding: 16px 24px;\n min-height: 56px;\n box-sizing: border-box;\n flex: 1;\n \n //overflow-y: auto;\n}\n\n.modal-footer.buttons-present ::slotted(*){\n display: flex;\n justify-content: flex-end;\n gap: 16px;\n padding: 16px 24px 32px 16px\n}\n\n.modal-border {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n font-size: 1.5em;\n flex-grow: 1;\n\n &.primary {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.secondary {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.danger {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.success {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.warning {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.orange {\n background-color: tokens.$ifxColorOrange500;\n }\n\n &.ocean {\n background-color: tokens.$ifxColorOcean500;\n }\n\n &.grey {\n background-color: tokens.$ifxColorEngineering500;\n }\n\n &.grey-200 {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &.red {\n background-color: tokens.$ifxColorRed500;\n }\n\n &.green {\n background-color: tokens.$ifxColorGreen500;\n }\n\n &.berry {\n background-color: tokens.$ifxColorBerry500;\n }\n}","import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() closeOnOverlayClick: boolean = true;\n\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n\n @Prop() variant: 'default' | 'alert-brand' | 'alert-danger' = 'default';\n \n @Prop() size: 's' | 'm' | 'l' = 's';\n\n @Prop() alertIcon: string = '';\n @Prop() okButtonLabel: string = 'OK';\n @Prop() cancelButtonLabel: string = 'Cancel';\n @Element() hostElement: HTMLElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLButtonElement | HTMLIfxIconButtonElement;\n\n componentWillLoad() { \n trackComponent('ifx-modal')\n }\n\n componentDidLoad() {\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n }\n\n componentWillRender() { \n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n\n handleComponentOverflow() { \n const modalContentContainer = this.hostElement.shadowRoot.querySelector('.modal-content-container');\n if (this.showModal && this.isModalContentContainerHeightReachedViewport()) {\n modalContentContainer.classList.add('no-overflow')\n } else if(modalContentContainer?.classList.contains('no-overflow')) { \n modalContentContainer?.classList.remove('no-overflow')\n }\n }\n\n getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => { //wait until DOM is fully loaded\n this.closeButton.focus();\n },);\n return;\n }\n\n setTimeout(() => { //wait until DOM is fully loaded\n element.focus();\n }, 0);\n }\n\n open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n // Setting focus on last item and removing immediately\n // so, on tab press first element is focused\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.ifxOpen.emit();\n });\n\n this.hostElement.addEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.ifxOpen.emit();\n }\n }\n\n close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.ifxClose.emit();\n });\n this.hostElement.removeEventListener('keydown', this.handleKeypress);\n } catch (err) {\n this.showModal = false;\n this.ifxClose.emit();\n }\n }\n\n handleKeypress = (event: KeyboardEvent) => {\n if (!this.showModal) {\n return;\n }\n if (event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some((event) => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue) {\n if (newValue === true) {\n this.open();\n } else {\n this.close()\n }\n }\n\n handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP')\n }\n }\n\n handleContentUpdate(e) {\n const slotElement = e.target;\n const nodes = slotElement.assignedNodes();\n if(nodes.length > 0) {\n nodes.forEach(node => {\n if (node.observer) {\n node.observer.disconnect();\n delete node.observer;\n }\n const observer = new MutationObserver((mutationsList, _) => {\n for(let mutation of mutationsList) {\n if (mutation.type === 'childList') {\n if(this.showModal) { \n this.handleComponentOverflow();\n }\n }\n }\n });\n observer.observe(node, { attributes: true, childList: true, subtree: true });\n node.observer = observer;\n });\n } \n }\n\n handleButtonsSlotChange(e) {\n if(e.currentTarget.assignedElements()[0]?.childElementCount > 0) {\n this.slotButtonsPresent = true;\n }else{\n this.slotButtonsPresent = false;\n }\n }\n\n isModalContentContainerHeightReachedViewport() {\n //Adding timeout for proper height detection on Edge browser\n return new Promise(resolve => {\n setTimeout(() => {\n const modalContent = this.hostElement.shadowRoot.querySelector('.modal-content') as HTMLElement;\n const modalContentHeight = modalContent.offsetHeight;\n const viewportHeight = window.innerHeight;\n resolve(modalContentHeight >= viewportHeight * 0.9);\n }, 100);\n });\n}\n\n\n render() {\n const isAlertVariant = this.variant !== 'default';\n return (\n <Host>\n <div\n ref={(el) => (this.modalContainer = el)}\n class={`modal-container ${this.showModal ? 'open' : ''}`}\n >\n <div\n class=\"modal-overlay\"\n onClick={() => this.handleOverlayClick()}\n ></div>\n <div\n data-focus-trap-edge\n onFocus={this.handleTopFocus}\n tabindex=\"0\"\n ></div>\n <div\n class={`modal-content-container ${this.size}`}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={this.caption}>\n {isAlertVariant ? (\n <div class={`modal-icon-container ${this.variant === 'alert-brand' ? '' : 'danger'}`}>\n {this.alertIcon ? <ifx-icon icon={this.alertIcon} /> : null}\n </div>\n ) : null}\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-caption\">{this.caption}</h2>\n { \n this.showCloseButton && \n <ifx-icon-button class = 'modal-close-button' ref={(el) => (this.closeButton = el)} icon=\"cross-16\" variant=\"tertiary\" onClick={() => this.doBeforeClose('CLOSE_BUTTON') }>\n </ifx-icon-button>\n }\n </div>\n <div class=\"modal-body\">\n <slot name=\"content\" onSlotchange={(e) => this.handleContentUpdate(e)} />\n </div>\n <div class={`modal-footer ${this.slotButtonsPresent ? 'buttons-present' : ''}`}>\n <slot name=\"buttons\" onSlotchange={(e)=>this.handleButtonsSlotChange(e)}>\n </slot>\n </div>\n </div>\n </div>\n <div\n data-focus-trap-edge\n onFocus={this.handleBottomFocus}\n tabindex=\"0\"\n ></div>\n </div>\n </Host>\n\n );\n }\n}"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,h as i,g as n}from"./p-b7a462e5.js";import{t as r}from"./p-6ecb6a6f.js";const t=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.indicator__container .dot__wrapper{display:flex;width:8px;height:8px;justify-content:center;align-items:center;flex-shrink:0;border-radius:50%;background-color:#0A8276}.indicator__container .number__container{height:16px;display:inline-flex;padding:0;min-width:16px;justify-content:center;align-items:center;border-radius:100px;background-color:#0A8276}.indicator__container .number__container .number__wrapper{padding:0 4px;color:#FFFFFF;text-align:center;font-size:0.875rem;font-style:normal;font-weight:600;line-height:16px}.indicator__container .number__container.inverted{background-color:#FFFFFF}.indicator__container .number__container.inverted .number__wrapper{color:#0A8276}';const a=t;const c=class{constructor(i){e(this,i);this.inverted=false;this.variant="number";this.number=0}handleNumber(){this.filteredNumber=!isNaN(this.number)&&this.number>99?"99+":this.number}componentWillLoad(){this.handleNumber();r("ifx-indicator")}componentWillUpdate(){this.handleNumber()}render(){return i("div",{key:"0b81153c4087ab36c753595e2cee59ac3ff5c8ec","aria-label":this.ariaLabel,class:"indicator__container"},this.variant==="number"&&i("div",{key:"e2c3cb995ef75258f19de816e3cac7ba6153f82a",class:`number__container ${this.inverted?"inverted":""}`},i("div",{key:"2873b61cb9bfac65810e64f4a81ff5b7ecfbc1e2",class:"number__wrapper"},this.filteredNumber)),this.variant==="dot"&&i("div",{key:"8fdc2e31b39d174ea306ba46b7e47b90cc4a5c6f",class:"dot__wrapper"}))}get el(){return n(this)}};c.style=a;export{c as ifx_indicator};
|
2
|
+
//# sourceMappingURL=p-c8e4dfde.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["indicatorCss","IfxIndicatorStyle0","Indicator","constructor","hostRef","this","inverted","variant","number","handleNumber","filteredNumber","isNaN","componentWillLoad","trackComponent","componentWillUpdate","render","h","key","ariaLabel","class"],"sources":["src/components/indicator/indicator.scss?tag=ifx-indicator&encapsulation=shadow","src/components/indicator/indicator.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.indicator__container { \n & .dot__wrapper { \n display: flex;\n width: 8px;\n height: 8px;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n border-radius: 50%;\n background-color: tokens.$ifxColorOcean500;\n }\n\n & .number__container {\n height: 16px;\n display: inline-flex;\n padding: 0; \n min-width: 16px; \n justify-content: center;\n align-items: center;\n border-radius: 100px;\n background-color: tokens.$ifxColorOcean500;\n\n & .number__wrapper {\n padding: 0 4px;\n color: tokens.$ifxColorBaseWhite;\n text-align: center;\n font-size: tokens.$ifxFontSizeS;\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n line-height: 16px;\n }\n\n &.inverted {\n background-color: tokens.$ifxColorBaseWhite;\n\n & .number__wrapper {\n color: tokens.$ifxColorOcean500;\n }\n }\n }\n}\n\n\n","import { Component, h, Prop, Element, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \n\n@Component({\n tag: 'ifx-indicator',\n styleUrl: 'indicator.scss',\n shadow: true\n})\nexport class Indicator {\n @Element() el;\n @State() filteredNumber: string | number;\n @Prop() inverted: boolean = false;\n @Prop() ariaLabel: string | null;\n @Prop() variant: string = 'number'\n @Prop() number: number = 0;\n\n handleNumber() {\n this.filteredNumber = !isNaN(this.number) && this.number > 99 ? '99+' : this.number;\n }\n\n componentWillLoad() { \n this.handleNumber()\n trackComponent('ifx-indicator')\n }\n\n componentWillUpdate() {\n this.handleNumber()\n }\n\n render() {\n return (\n <div aria-label={this.ariaLabel} class='indicator__container'>\n {this.variant === 'number' && \n <div class={`number__container ${this.inverted ? 'inverted' : \"\"}`}>\n <div class=\"number__wrapper\">\n {this.filteredNumber}\n </div> \n </div>}\n {this.variant === 'dot' && <div class=\"dot__wrapper\"></div>}\n </div>\n );\n }\n}"],"mappings":"sFAAA,MAAMA,EAAe,swBACrB,MAAAC,EAAeD,E,MCOFE,EAAS,MALtB,WAAAC,CAAAC,G,UAQUC,KAAAC,SAAoB,MAEpBD,KAAAE,QAAkB,SAClBF,KAAAG,OAAiB,C,CAEzB,YAAAC,GACEJ,KAAKK,gBAAkBC,MAAMN,KAAKG,SAAWH,KAAKG,OAAS,GAAK,MAAQH,KAAKG,M,CAG/E,iBAAAI,GACEP,KAAKI,eACLI,EAAe,gB,CAGjB,mBAAAC,GACET,KAAKI,c,CAGP,MAAAM,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAiBZ,KAAKa,UAAWC,MAAM,wBACrCd,KAAKE,UAAY,UAClBS,EAAA,OAAAC,IAAA,2CAAKE,MAAO,qBAAqBd,KAAKC,SAAW,WAAa,MAC3DU,EAAA,OAAAC,IAAA,2CAAKE,MAAM,mBACRd,KAAKK,iBAGVL,KAAKE,UAAY,OAASS,EAAA,OAAAC,IAAA,2CAAKE,MAAM,iB","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as s,g as h}from"./p-b7a462e5.js";import{t as e}from"./p-6ecb6a6f.js";import{c as a}from"./p-e459974a.js";const n=":host{display:inline-block}";const l=n;const o=class{constructor(s){t(this,s);this.ifxOpen=i(this,"ifxOpen",7);this.ifxClose=i(this,"ifxClose",7);this.ifxDropdown=i(this,"ifxDropdown",7);this.placement="bottom-start";this.defaultOpen=false;this.internalIsOpen=false;this.noAppendToBody=false;this.noCloseOnOutsideClick=false;this.noCloseOnMenuClick=false}componentWillLoad(){this.updateSlotContent();this.watchHandlerIsOpen(this.defaultOpen,this.internalIsOpen);e("ifx-dropdown")}watchHandlerIsOpen(t,i){if(t!==i&&t!==this.internalIsOpen){if(t){this.openDropdown()}else{this.closeDropdown()}}}watchHandlerDisabled(t){if(this.trigger){this.trigger.disabled=t}}watchHandlerSlot(){this.updateSlotContent()}updateSlotContent(){this.trigger=this.el.querySelector("ifx-dropdown-trigger-button, ifx-dropdown-trigger");if(this.trigger){this.trigger.disabled=this.disabled;this.trigger.removeEventListener("click",this.triggerClickHandler.bind(this));this.trigger.addEventListener("click",this.triggerClickHandler.bind(this))}if(!this.noAppendToBody){if(this.menu){this.menu.remove()}this.menu=this.el.querySelector("ifx-dropdown-menu");document.body.append(this.menu)}else{this.menu=this.el.querySelector("ifx-dropdown-menu")}this.menu.removeEventListener("click",this.menuClickHandler.bind(this));this.menu.addEventListener("click",this.menuClickHandler.bind(this))}menuClickHandler(){if(!this.noCloseOnMenuClick){this.closeDropdown()}}triggerClickHandler(){if(!this.internalIsOpen){this.openDropdown()}else{this.closeDropdown()}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}if(this.menu){this.menu.remove()}}async isOpen(){return this.internalIsOpen}async closeDropdown(){if(this.internalIsOpen){this.internalIsOpen=false;this.trigger.isOpen=false;this.menu.isOpen=false;this.ifxClose.emit()}if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}async openDropdown(){if(!this.internalIsOpen&&!this.disabled){this.internalIsOpen=true;this.trigger.isOpen=true;this.menu.isOpen=true;this.popperInstance=a(this.el,this.menu,{placement:this.placement});this.ifxOpen.emit()}}handleOutsideClick(t){const i=t.target;if(!this.noCloseOnOutsideClick&&!this.el.contains(i)&&!this.menu.contains(i)){this.closeDropdown()}}render(){return s("div",{key:"5972ba6e8fcae4b914576e4ac6d6c15c2de6149c","aria-label":"dropdown menu",class:"dropdown"},s("slot",{key:"351c44458d0814f70a34b5cf9a76b5ebd4e195e6"}))}get el(){return h(this)}static get watchers(){return{defaultOpen:["watchHandlerIsOpen"],disabled:["watchHandlerDisabled"]}}};o.style=l;export{o as ifx_dropdown};
|
2
|
+
//# sourceMappingURL=p-db1d53bf.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["dropdownCss","IfxDropdownStyle0","Dropdown","constructor","hostRef","this","placement","defaultOpen","internalIsOpen","noAppendToBody","noCloseOnOutsideClick","noCloseOnMenuClick","componentWillLoad","updateSlotContent","watchHandlerIsOpen","trackComponent","newValue","oldValue","openDropdown","closeDropdown","watchHandlerDisabled","trigger","disabled","watchHandlerSlot","el","querySelector","removeEventListener","triggerClickHandler","bind","addEventListener","menu","remove","document","body","append","menuClickHandler","disconnectedCallback","popperInstance","destroy","isOpen","ifxClose","emit","createPopper","ifxOpen","handleOutsideClick","event","target","contains","render","h","key","class"],"sources":["src/components/dropdown/dropdown.scss?tag=ifx-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n}","//dropdown.tsx\nimport { Component, Prop, h, Element, Listen, Method, Watch, State, EventEmitter, Event } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport { createPopper } from '@popperjs/core';\n \n\nimport { IOpenable } from './IOpenable';\n\nexport type Placement =\n | 'auto'\n | 'auto-start'\n | 'auto-end'\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n@Component({\n tag: 'ifx-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true\n})\n\nexport class Dropdown {\n @Prop() placement: Placement = 'bottom-start';\n\n // isOpen prop\n @Prop() defaultOpen: boolean = false;\n // internal state for isOpen prop\n @State() internalIsOpen: boolean = false;\n\n // isOpen prop\n @Prop() noAppendToBody: boolean = false;\n\n // Custom events for opening and closing dropdown\n @Event() ifxOpen: EventEmitter;\n @Event() ifxClose: EventEmitter;\n @Event() ifxDropdown: EventEmitter;\n\n // determine if dropdown is disabled\n @Prop() disabled: boolean;\n\n @Prop() noCloseOnOutsideClick: boolean = false;\n @Prop() noCloseOnMenuClick: boolean = false;\n\n // Reference to host element\n @Element() el;\n // Dropdown trigger and menu\n @State() trigger: HTMLElement;\n @State() menu: HTMLElement\n // Popper instance for positioning\n popperInstance: any;\n\n\n\n componentWillLoad() {\n //maybe not needed\n this.updateSlotContent();\n this.watchHandlerIsOpen(this.defaultOpen, this.internalIsOpen);\n trackComponent('ifx-dropdown')\n }\n\n\n\n @Watch('defaultOpen')\n watchHandlerIsOpen(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue && newValue !== this.internalIsOpen) {\n if (newValue) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n }\n\n @Watch('disabled')\n watchHandlerDisabled(newValue: boolean) {\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = newValue;\n }\n }\n\n\n @Listen('slotchange')\n watchHandlerSlot() {\n this.updateSlotContent();\n }\n\n\n\n // handling assignment of trigger and menu\n updateSlotContent() {\n // Get dropdown trigger. name has to start with ifx-dropdown-trigger\n this.trigger = this.el.querySelector('ifx-dropdown-trigger-button, ifx-dropdown-trigger');\n if (this.trigger) {\n (this.trigger as undefined as HTMLIfxDropdownTriggerButtonElement).disabled = this.disabled;\n this.trigger.removeEventListener('click', this.triggerClickHandler.bind(this));\n this.trigger.addEventListener('click', this.triggerClickHandler.bind(this));\n }\n // Remove menu if exists from body\n if (!this.noAppendToBody) {\n if (this.menu) {\n this.menu.remove();\n }\n // Get new menu and add to body\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n // event handler for closing dropdown on menu click\n document.body.append(this.menu);\n } else {\n this.menu = this.el.querySelector('ifx-dropdown-menu');\n\n }\n this.menu.removeEventListener('click', this.menuClickHandler.bind(this));\n this.menu.addEventListener('click', this.menuClickHandler.bind(this));\n\n }\n\n menuClickHandler() {\n if (!this.noCloseOnMenuClick) {\n this.closeDropdown();\n }\n }\n\n triggerClickHandler() {\n if (!this.internalIsOpen) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n disconnectedCallback() {\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n // Remove menu if exists\n if (this.menu) {\n this.menu.remove();\n }\n }\n\n @Method()\n async isOpen() {\n return this.internalIsOpen;\n }\n\n @Method()\n async closeDropdown() {\n if (this.internalIsOpen) {\n this.internalIsOpen = false;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = false;\n (this.menu as unknown as IOpenable).isOpen = false;\n // Emit close event\n this.ifxClose.emit();\n }\n // Destroy popper instance if exists\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n @Method()\n async openDropdown() {\n if (!this.internalIsOpen && !this.disabled) {\n this.internalIsOpen = true;\n // sets isOpen prop on trigger and menu\n (this.trigger as unknown as IOpenable).isOpen = true;\n (this.menu as unknown as IOpenable).isOpen = true;\n // Create popper instance for positioning\n this.popperInstance = createPopper(\n this.el,\n this.menu,\n { placement: this.placement });\n\n this.ifxOpen.emit();\n }\n }\n\n //emitted by and listening to it from the dropdown menu right now\n // @Listen('ifxDropdownMenu')\n // handleDropdownMenuEvents(event: CustomEvent) {\n // this.ifxDropdown.emit(event.detail)\n // console.log('Selected item received in higher-level parent:');\n // }\n\n @Listen('mousedown', { target: 'document' })\n handleOutsideClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n // Close dropdown if outside click\n if (!this.noCloseOnOutsideClick && !this.el.contains(target) && !this.menu.contains(target)) {\n this.closeDropdown();\n }\n }\n\n render() {\n return (\n <div aria-label='dropdown menu' class='dropdown'>\n <slot />\n </div>\n )\n }\n}"],"mappings":"iIAAA,MAAMA,EAAc,8BACpB,MAAAC,EAAeD,E,MC8BFE,EAAQ,MANrB,WAAAC,CAAAC,G,uHAOUC,KAAAC,UAAuB,eAGvBD,KAAAE,YAAuB,MAEtBF,KAAAG,eAA0B,MAG3BH,KAAAI,eAA0B,MAU1BJ,KAAAK,sBAAiC,MACjCL,KAAAM,mBAA8B,K,CAYtC,iBAAAC,GAEEP,KAAKQ,oBACLR,KAAKS,mBAAmBT,KAAKE,YAAaF,KAAKG,gBAC/CO,EAAe,e,CAMjB,kBAAAD,CAAmBE,EAAmBC,GACpC,GAAID,IAAaC,GAAYD,IAAaX,KAAKG,eAAgB,CAC7D,GAAIQ,EAAU,CACZX,KAAKa,c,KACA,CACLb,KAAKc,e,GAMX,oBAAAC,CAAqBJ,GACnB,GAAIX,KAAKgB,QAAS,CACfhB,KAAKgB,QAA6DC,SAAWN,C,EAMlF,gBAAAO,GACElB,KAAKQ,mB,CAMP,iBAAAA,GAEER,KAAKgB,QAAUhB,KAAKmB,GAAGC,cAAc,qDACrC,GAAIpB,KAAKgB,QAAS,CACfhB,KAAKgB,QAA6DC,SAAWjB,KAAKiB,SACnFjB,KAAKgB,QAAQK,oBAAoB,QAASrB,KAAKsB,oBAAoBC,KAAKvB,OACxEA,KAAKgB,QAAQQ,iBAAiB,QAASxB,KAAKsB,oBAAoBC,KAAKvB,M,CAGvE,IAAKA,KAAKI,eAAgB,CACxB,GAAIJ,KAAKyB,KAAM,CACbzB,KAAKyB,KAAKC,Q,CAGZ1B,KAAKyB,KAAOzB,KAAKmB,GAAGC,cAAc,qBAGlCO,SAASC,KAAKC,OAAO7B,KAAKyB,K,KACrB,CACLzB,KAAKyB,KAAOzB,KAAKmB,GAAGC,cAAc,oB,CAGpCpB,KAAKyB,KAAKJ,oBAAoB,QAASrB,KAAK8B,iBAAiBP,KAAKvB,OAClEA,KAAKyB,KAAKD,iBAAiB,QAASxB,KAAK8B,iBAAiBP,KAAKvB,M,CAIjE,gBAAA8B,GACE,IAAK9B,KAAKM,mBAAoB,CAC5BN,KAAKc,e,EAIT,mBAAAQ,GACE,IAAKtB,KAAKG,eAAgB,CACxBH,KAAKa,c,KACA,CACLb,KAAKc,e,EAIT,oBAAAiB,GAEE,GAAI/B,KAAKgC,eAAgB,CACvBhC,KAAKgC,eAAeC,UACpBjC,KAAKgC,eAAiB,I,CAGxB,GAAIhC,KAAKyB,KAAM,CACbzB,KAAKyB,KAAKC,Q,EAKd,YAAMQ,GACJ,OAAOlC,KAAKG,c,CAId,mBAAMW,GACJ,GAAId,KAAKG,eAAgB,CACvBH,KAAKG,eAAiB,MAErBH,KAAKgB,QAAiCkB,OAAS,MAC/ClC,KAAKyB,KAA8BS,OAAS,MAE7ClC,KAAKmC,SAASC,M,CAGhB,GAAIpC,KAAKgC,eAAgB,CACvBhC,KAAKgC,eAAeC,UACpBjC,KAAKgC,eAAiB,I,EAK1B,kBAAMnB,GACJ,IAAKb,KAAKG,iBAAmBH,KAAKiB,SAAU,CAC1CjB,KAAKG,eAAiB,KAErBH,KAAKgB,QAAiCkB,OAAS,KAC/ClC,KAAKyB,KAA8BS,OAAS,KAE7ClC,KAAKgC,eAAiBK,EACpBrC,KAAKmB,GACLnB,KAAKyB,KACL,CAAExB,UAAWD,KAAKC,YAEpBD,KAAKsC,QAAQF,M,EAYjB,kBAAAG,CAAmBC,GACjB,MAAMC,EAASD,EAAMC,OAErB,IAAKzC,KAAKK,wBAA0BL,KAAKmB,GAAGuB,SAASD,KAAYzC,KAAKyB,KAAKiB,SAASD,GAAS,CAC3FzC,KAAKc,e,EAIT,MAAA6B,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,gBAAgBC,MAAM,YACpCF,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,h as i,g as t}from"./p-b7a462e5.js";import{t as a}from"./p-6ecb6a6f.js";const r=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{height:100%;display:inline-flex}.sidebar__container{box-sizing:border-box;display:inline-flex;flex-direction:column;align-items:flex-start;padding:0px;background-color:#FFFFFF;border-right:1px solid #EEEDED;width:264px;height:100%;font-family:var(--ifx-font-family)}.sidebar__container .sidebar__top-container{display:flex;flex-direction:column;align-items:center;padding:0px;flex:1 1 auto;order:0;z-index:0;width:100%;overflow-y:auto}.sidebar__container .sidebar__top-container .sidebar__nav-bar{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;background-color:#FFFFFF;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0px;gap:16px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0px;flex:none;order:0;flex-grow:0}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-img svg{width:91px;height:40px}.sidebar__container .sidebar__top-container .sidebar__nav-bar .sidebar__nav-bar-logo .sidebar__nav-bar-logo-text{font-style:normal;font-weight:600;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__top-container .sidebar__nav-container{scrollbar-gutter:stable;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:12px 32px;flex:1 1 auto;order:1;width:100%}.sidebar__container .sidebar__top-container .sidebar__nav-container ::slotted(*){width:100%}.sidebar__container .sidebar__footer-container{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0px 32px;flex:none;order:1;align-self:stretch;flex-grow:1;z-index:1}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper{display:flex;flex-direction:column;align-items:flex-start;padding:24px 0px;gap:16px;border-top:1px solid #EEEDED;flex:none;order:0;flex-grow:0;width:100%}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links{display:flex;align-items:flex-start;padding:0px;gap:12px;flex:none;order:0;align-self:stretch;flex-grow:0;flex-wrap:wrap}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a{font:400 0.875rem/1.25rem "Source Sans 3";display:flex;text-decoration:none;align-items:center;color:#1D1D1D;flex:none;flex-grow:0}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:hover{color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-top-links a:focus{outline:none;color:#08665C}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links{display:flex;flex-direction:column;align-items:center}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span{font:400 0.875rem/1.25rem "Source Sans 3";text-decoration:none;color:#575352;flex:none;order:1;flex-grow:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}.sidebar__container .sidebar__footer-container .sidebar__footer-wrapper .sidebar__footer-wrapper-bottom-links span:hover{cursor:initial}';const s=r;const o="active";const n="active-section";const d=".sidebar__nav-item";const c=class{constructor(i){e(this,i);this.applicationName="";this.initialCollapse=true;this.showFooter=true;this.showHeader=true;this.termsOfUse="#";this.imprint="#";this.privacyPolicy="#";this.target="_blank";this.currentYear=(new Date).getFullYear();this.copyrightText="© 1999 - "+this.currentYear+" Infineon Technologies AG";this.internalTermsofUse="";this.internalImprint="";this.internalPrivacyPolicy="";this.internalShowFooter=true;this.activeItem=null}expandActiveItems(){const e=async i=>{if(await i.isItemExpandable()!==true){if(i.active)return 1;return 0}let t=0;const a=this.getSidebarMenuItems(i);for(let i=0;i<a.length;i++){t=Math.max(t,await e(a[i]))}if(t>0){if(t==1){i.expandMenu(false)}else{i.expandMenu(true)}}return t?t+1:0};const i=this.getSidebarMenuItems(this.el);for(let t=0;t<i.length;t++){e(i[t])}}adjustTopBorder(){const e=this.el.children;if(!e.length)return;if(e[0].tagName==="IFX-SIDEBAR-TITLE"){e[0].shadowRoot.querySelector(".sidebar__title").classList.add("no-top-border")}if(e[0].tagName==="IFX-SIDEBAR-ITEM"&&e[0].shadowRoot.querySelector("div > a").classList.contains("header__section")){e[0].shadowRoot.querySelector("div > a").classList.add("no-top-border")}const i=this.el.querySelectorAll("ifx-sidebar-title");i.forEach((e=>{const i=e.nextElementSibling;if(i&&i.tagName==="IFX-SIDEBAR-ITEM"&&i.shadowRoot.querySelector("div > a").classList.contains("header__section")){i.shadowRoot.querySelector("div > a").classList.add("no-top-border")}}))}async addPaddingToTheLastItem(e){const i=this.getSidebarMenuItems(e);for(let e=0;e<i.length;e++){const t=i[e];const a=this.getNavItem(t.shadowRoot);const r=await t.isItemExpandable();if(r){this.addPaddingToTheLastItem(t)}if(e===i.length-1){this.handleClassList(a,"add","extra-padding__bottom")}}}async adjustItemsPadding(){const e=this.el.children;if(e.length===0)return;if(e[0].tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const i=e[0].isItemExpandable();if(i){this.addPaddingToTheLastItem(e[0])}}for(let i=1;i<e.length;i++){const t=e[i];const a=e[i-1];const r=this.getNavItem(a.shadowRoot);if(t.tagName.toUpperCase()==="IFX-SIDEBAR-TITLE"){if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}}else if(t.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"){const e=this.getNavItem(t.shadowRoot);if(a.tagName.toUpperCase()==="IFX-SIDEBAR-ITEM"&&r&&!this.handleClassList(r,"contains","header__section")&&this.handleClassList(e,"contains","header__section")){this.handleClassList(r,"add","extra-padding__bottom")}const i=await t.isItemExpandable();if(i){this.addPaddingToTheLastItem(t)}}}}componentDidLoad(){this.adjustTopBorder();this.setInitialActiveItem();if(!this.initialCollapse){this.expandActiveItems()}this.adjustItemsPadding();this.applyActiveSectionToParent(this.el)}getSidebarMenuItems(e=this.el){var i;const t=e.querySelectorAll("ifx-sidebar-item");if(t.length===0){return(i=e.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll("ifx-sidebar-item")}return t}setInitialActiveItem(){const e=i=>{const t=this.getSidebarMenuItems(i);let a=false;t===null||t===void 0?void 0:t.forEach((i=>{if(this.isActive(i)&&!a){a=true;this.handleBorderIndicatorDisplacement(i)}else if(this.isActive(i)&&a){i.setAttribute("active","false")}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)){e(i.shadowRoot)}}))};const i=this.getSidebarMenuItems(this.el);i.forEach(e)}handleClassList(e,i,t){e.classList[i](t);if(i==="contains"){return e.classList.contains(t)}}getActiveItemSection(e){return this.getNavItem(e.shadowRoot)}getNavItem(e){return e===null||e===void 0?void 0:e.querySelector(".sidebar__nav-item")}hasChildren(e){return(e===null||e===void 0?void 0:e.querySelector(".item__arrow-wrapper"))!==null?true:false}handleBorderIndicatorDisplacement(e){const i=t=>{const a=this.isActive(t)||t===e;if(a){const e=this.getActiveItemSection(t);const i=this.hasChildren(e);if(i){this.handleClassList(e,"add","active-section")}}const r=this.getSidebarMenuItems(t);r.forEach(i)};const t=this.getSidebarMenuItems(this.el);t.forEach(i)}removeActiveClassesRecursively(){const e=i=>{const t=this.querySidebarItems(i);t.forEach((i=>{const t=i.shadowRoot.querySelector(d);t.classList.remove(n);t.classList.remove(o);if(i.getAttribute("active")){i.setAttribute("active","false")}e(i.shadowRoot)}))};e(this.el);if(this.activeItem){this.activeItem.setAttribute("active","false")}this.activeItem=null}hasActiveChild(e){const i=this.getSidebarMenuItems(e);if(i){for(let e of i){if(this.isActive(e)){return true}else if(this.hasChildren(e.shadowRoot)){if(this.hasActiveChild(e.shadowRoot)){return true}}}}return false}handleSidebarItemInteraction(e){const i=e.detail;if(!this.hasChildren(i.shadowRoot)||this.hasActiveChild(i.shadowRoot)){this.handleBorderIndicatorDisplacement(i)}if(this.hasChildren(i.shadowRoot)&&!this.hasActiveChild(i.shadowRoot)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}if(this.hasChildren(i.shadowRoot)&&this.isOpen(i.shadowRoot)&&this.containsActiveSection(i)){const e=this.getActiveItemSection(i);this.handleClassList(e,"remove","active-section")}}isOpen(e){return this.getNavItem(e).classList.contains("open")?true:false}containsActiveSection(e){const i=this.getSidebarMenuItems(e);for(let e of i){if(this.getNavItem(e.shadowRoot).classList.contains("active-section")||this.hasChildren(e.shadowRoot)&&this.containsActiveSection(e.shadowRoot)){this.handleClassList(e,"add","active-section");return true}}return false}applyActiveSectionToParent(e){const i=this.getSidebarMenuItems(e);i===null||i===void 0?void 0:i.forEach((e=>{if(this.hasActiveChild(e.shadowRoot)){const i=this.getActiveItemSection(e);this.handleClassList(i,"add","active-section")}this.applyActiveSectionToParent(e.shadowRoot)}))}querySidebarItems(e){return e.querySelectorAll("ifx-sidebar-item")}isActive(e){const i=e.getAttribute("active");const t=i==="true";return t}handleSidebarItemActivated(e){this.removeActiveClassesRecursively();this.activeItem=e.detail;this.activeItem.setAttribute("active","true");const i=this.getNavItem(e.detail.parentElement.parentElement.parentElement);if(i){this.handleClassList(i,"add","active-section")}}componentWillLoad(){a("ifx-sidebar");this.internalTermsofUse=this.termsOfUse.trim();this.internalPrivacyPolicy=this.privacyPolicy.trim();this.internalImprint=this.imprint.trim();this.internalShowFooter=this.showFooter;if(this.internalShowFooter&&!this.internalImprint&&!this.internalPrivacyPolicy&&!this.internalTermsofUse&&!this.copyrightText){this.internalShowFooter=false}}render(){return i("div",{key:"5c85dbd234af8527e7d81630f918a9d1f0660278","aria-label":"a navigation sidebar","aria-value":this.applicationName,class:"sidebar__container"},i("div",{key:"a1857081307205cd8e4f7c6a919537eda805a409",class:"sidebar__top-container"},this.showHeader&&i("div",{key:"47a6f17202b0ac8cb68bfd25ee98157aef1a8008",class:"sidebar__nav-bar"},i("div",{key:"295cd8a6076516ee1971caf19785eafca4731d08",class:"sidebar__nav-bar-logo"},i("div",{key:"6a74787769f88c3b6fa24970ff9d1fca2116d67f",class:"sidebar__nav-bar-logo-img"},i("svg",{key:"16be7a7d1f00ff1c0d4fceacfc79d4126195c1e1",width:"91",height:"40",viewBox:"0 0 91 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("g",{key:"0b8d235604c555c6e6816bb52fa2a5abbbdd11b5","clip-path":"url(#clip0_2396_2480)"},i("path",{key:"3c6c9b0fdac53553ab345f0ec8ebcd5b882b5327",d:"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z",fill:"#005DA9"}),i("path",{key:"5b649ff335b05379eff3255594009d1689e10d0c",d:"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z",fill:"#E30034"})),i("defs",{key:"cdddf7e41a98bd6c42f21c932375c03ddffe1978"},i("clipPath",{key:"4126cf1519f0eca310b60f97c3ae3b7fbe88b29b",id:"clip0_2396_2480"},i("rect",{key:"97f015f24d1130d7e11d7d4ad34244c97da58f6b",width:"91",height:"40",fill:"white"}))))," "),i("div",{key:"9ccddff07a2ff7b647f371bfbdf3983e0c184527",class:"sidebar__nav-bar-logo-text"},this.applicationName))),i("div",{key:"7fec340c45c54cb69531101b23727d4bdfb69a2e",class:"sidebar__nav-container"},i("slot",{key:"834e630aca654dafe2b5110b48e9e88f05a0b01a"}))),this.internalShowFooter&&i("div",{key:"2cf8d40886a70ffba5430c27df44115c7ad99ac9",class:"sidebar__footer-container"},i("div",{key:"1a3d50611b08bca2f04f66123403b15398d3a9cf",class:"sidebar__footer-wrapper"},(this.internalTermsofUse||this.internalImprint||this.internalPrivacyPolicy)&&i("div",{key:"d71ebe4fb7c74e37be2196687a3305c7f5dac79b",class:"sidebar__footer-wrapper-top-links"},this.internalTermsofUse!==""&&i("a",{key:"bbd606eb515361237e9b4a6c228b268104d771f9",target:this.target,href:this.internalTermsofUse},"Terms of use"),this.internalImprint!==""&&i("a",{key:"36dcca84a31cef56c3e887c18d3ce03e9f776872",target:this.target,href:this.internalImprint},"Imprint"),this.internalPrivacyPolicy!==""&&i("a",{key:"282f6b23069a0da7eec39c5769aa7cd2cad16d26",target:this.target,href:this.internalPrivacyPolicy},"Privacy policy")),this.copyrightText&&i("div",{key:"883fddb2f2de443cd35bd763d57d347a52f7b9f8",class:"sidebar__footer-wrapper-bottom-links"},i("span",{key:"3ff9907df87bda6d691aa80c2c937ffd33cac75f"},this.copyrightText)))))}get el(){return t(this)}};c.style=s;export{c as ifx_sidebar};
|
2
|
+
//# sourceMappingURL=p-e5018880.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["sidebarCss","IfxSidebarStyle0","ACTIVE","ACTIVE_SECTION","SIDEBAR_ITEM","Sidebar","constructor","hostRef","this","applicationName","initialCollapse","showFooter","showHeader","termsOfUse","imprint","privacyPolicy","target","currentYear","Date","getFullYear","copyrightText","internalTermsofUse","internalImprint","internalPrivacyPolicy","internalShowFooter","activeItem","expandActiveItems","expandRecursively","async","parent","isItemExpandable","active","currRes","children","getSidebarMenuItems","i","length","Math","max","expandMenu","topLevelItems","el","adjustTopBorder","tagName","shadowRoot","querySelector","classList","add","contains","allIfxTitles","querySelectorAll","forEach","element","nextSibling","nextElementSibling","addPaddingToTheLastItem","sidebarItem","sidebarChildItems","childItem","childNavItem","getNavItem","isChildItemExpandable","handleClassList","adjustItemsPadding","sidebarItems","toUpperCase","isFirstSidebarItemExpandable","previousSidebarItem","previousSidebarNavItem","sidebarNavItem","isSidebarItemExpandable","componentDidLoad","setInitialActiveItem","applyActiveSectionToParent","_a","handleItem","firstActiveFoundInGroup","item","isActive","handleBorderIndicatorDisplacement","setAttribute","hasChildren","hasActiveChild","clickedItemSection","getActiveItemSection","isOpen","containsActiveSection","type","className","clickedItem","activeMenuItemSection","isMenu","removeActiveClassesRecursively","removeClasses","root","querySidebarItems","child","remove","getAttribute","menuItem","handleSidebarItemInteraction","event","detail","subMenus","menu","menuItemSection","iteratedComponent","activeAttributeValue","handleSidebarItemActivated","parentElement","componentWillLoad","trackComponent","trim","render","h","key","class","width","height","viewBox","fill","xmlns","d","id","href"],"sources":["src/components/navigation/sidebar/sidebar.scss?tag=ifx-sidebar&encapsulation=shadow","src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n:host {\n height: 100%;\n display: inline-flex;\n}\n\n.sidebar__container {\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n background-color: tokens.$ifxColorBaseWhite;\n border-right: 1px solid #EEEDED;\n width: 264px;\n height: 100%;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n & .sidebar__top-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 0px;\n flex: 1 1 auto;\n order: 0;\n z-index: 0;\n width: 100%;\n overflow-y: auto;\n\n //max-height: 440px;\n //overflow-y: auto;\n\n & .sidebar__nav-bar {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n background-color: tokens.$ifxColorBaseWhite;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n & .sidebar__nav-bar-logo {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n padding: 0px;\n gap: tokens.$ifxSpace200;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & .sidebar__nav-bar-logo-img {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n padding: 0px;\n flex: none;\n order: 0;\n flex-grow: 0;\n\n & svg {\n width: 91px;\n height: tokens.$ifxSize500;\n }\n }\n\n & .sidebar__nav-bar-logo-text {\n font-style: normal;\n font-weight: tokens.$ifxFontWeightSemibold;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n display: flex;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n }\n }\n }\n\n & .sidebar__nav-container {\n scrollbar-gutter: stable;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 12px 32px;\n flex: 1 1 auto;\n order: 1;\n width: 100%;\n // overflow-y: auto;\n\n & ::slotted(*) {\n width: 100%;\n }\n }\n }\n\n & .sidebar__footer-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: center;\n padding: 0px 32px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 1;\n z-index: 1;\n\n & .sidebar__footer-wrapper {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 24px 0px;\n gap: tokens.$ifxSpace200;\n border-top: 1px solid #EEEDED;\n flex: none;\n order: 0;\n flex-grow: 0;\n width: 100%;\n\n\n & .sidebar__footer-wrapper-top-links {\n display: flex;\n align-items: flex-start;\n padding: 0px;\n gap: 12px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n flex-wrap: wrap;\n\n & a {\n font: tokens.$ifxBodyBody04;\n display: flex;\n text-decoration: none;\n align-items: center;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n flex-grow: 0;\n\n &:hover {\n color: #08665C;\n }\n\n &:focus {\n outline: none;\n color: #08665C;\n }\n }\n }\n\n & .sidebar__footer-wrapper-bottom-links {\n display: flex;\n flex-direction: column;\n align-items: center;\n\n & span {\n font: tokens.$ifxBodyBody04;\n text-decoration: none;\n color: tokens.$ifxColorEngineering500;\n flex: none;\n order: 1;\n flex-grow: 0;\n white-space: pre-wrap;\n word-wrap: break-word; \n overflow-wrap: anywhere;\n\n &:hover {\n cursor: initial;\n }\n }\n }\n }\n }\n}","import { Component, h, Element, Prop, State, Listen } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking';\n\nconst ACTIVE = 'active';\nconst ACTIVE_SECTION = 'active-section';\nconst SIDEBAR_ITEM = '.sidebar__nav-item';\n\n@Component({\n tag: 'ifx-sidebar',\n styleUrl: 'sidebar.scss',\n shadow: true\n})\n\nexport class Sidebar {\n @Element() el;\n @Prop() applicationName: string = ''\n @Prop() initialCollapse: boolean = true\n @Prop() showFooter: boolean = true\n @Prop() showHeader: boolean = true;\n @Prop() termsOfUse: string = \"#\"\n @Prop() imprint: string = \"#\"\n @Prop() privacyPolicy: string = \"#\"\n @Prop() target: string = \"_blank\"\n @State() currentYear: number = new Date().getFullYear()\n @Prop() copyrightText: string = '© 1999 - ' + this.currentYear + ' Infineon Technologies AG'\n @State() internalTermsofUse: string = \"\"\n @State() internalImprint: string = \"\"\n @State() internalPrivacyPolicy: string = \"\"\n @State() internalShowFooter: boolean = true\n\n @State() activeItem: HTMLElement | null = null;\n\n expandActiveItems(){\n const expandRecursively = async (parent) => {\n if(await parent.isItemExpandable() !== true){\n if(parent.active) return 1;\n return 0;\n }\n let currRes = 0;\n const children = this.getSidebarMenuItems(parent);\n for(let i = 0; i < children.length; i++){\n currRes = Math.max(currRes, await expandRecursively(children[i]));\n }\n if(currRes > 0){\n if(currRes == 1){\n parent.expandMenu(false);\n }else{\n parent.expandMenu(true);\n }\n }\n\n return (currRes ? currRes+1 : 0);\n }\n\n const topLevelItems = this.getSidebarMenuItems(this.el);\n for(let i = 0; i < topLevelItems.length; i++){\n expandRecursively(topLevelItems[i])\n }\n }\n\n adjustTopBorder() {\n const children = this.el.children;\n if(!children.length) return;\n if(children[0].tagName === 'IFX-SIDEBAR-TITLE'){\n children[0].shadowRoot.querySelector('.sidebar__title').classList.add('no-top-border')\n }\n \n if(children[0].tagName === 'IFX-SIDEBAR-ITEM' && children[0].shadowRoot.querySelector('div > a').classList.contains('header__section')){\n children[0].shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n\n const allIfxTitles = this.el.querySelectorAll('ifx-sidebar-title');\n allIfxTitles.forEach(element => {\n const nextSibling = element.nextElementSibling;\n if(nextSibling && nextSibling.tagName === 'IFX-SIDEBAR-ITEM' && nextSibling.shadowRoot.querySelector('div > a').classList.contains('header__section')){\n nextSibling.shadowRoot.querySelector('div > a').classList.add('no-top-border')\n }\n });\n }\n\n async addPaddingToTheLastItem(sidebarItem) {\n const sidebarChildItems = this.getSidebarMenuItems(sidebarItem)\n\n for(let i = 0; i < sidebarChildItems.length; i++){\n\n const childItem = sidebarChildItems[i];\n const childNavItem = this.getNavItem(childItem.shadowRoot);\n const isChildItemExpandable = await childItem.isItemExpandable();\n\n if(isChildItemExpandable) {\n this.addPaddingToTheLastItem(childItem);\n }\n\n if(i === sidebarChildItems.length-1){\n this.handleClassList(childNavItem, 'add', 'extra-padding__bottom');\n }\n }\n }\n\n async adjustItemsPadding() {\n const sidebarItems = this.el.children;\n\n if(sidebarItems.length === 0) return;\n\n // Processing first item\n if(sidebarItems[0].tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n const isFirstSidebarItemExpandable = sidebarItems[0].isItemExpandable();\n if(isFirstSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItems[0]);\n }\n }\n\n // Processing remaining items\n for(let i = 1; i < sidebarItems.length; i++){\n\n const sidebarItem = sidebarItems[i];\n const previousSidebarItem = sidebarItems[i-1];\n const previousSidebarNavItem = this.getNavItem(previousSidebarItem.shadowRoot);\n\n if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-TITLE') {\n \n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n } else if(sidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM') {\n\n const sidebarNavItem = this.getNavItem(sidebarItem.shadowRoot);\n\n if(previousSidebarItem.tagName.toUpperCase() === 'IFX-SIDEBAR-ITEM' && previousSidebarNavItem && !this.handleClassList(previousSidebarNavItem, 'contains', 'header__section') && this.handleClassList(sidebarNavItem, 'contains', 'header__section')) {\n this.handleClassList(previousSidebarNavItem, 'add', 'extra-padding__bottom');\n }\n\n const isSidebarItemExpandable = await sidebarItem.isItemExpandable();\n\n if(isSidebarItemExpandable) {\n this.addPaddingToTheLastItem(sidebarItem);\n }\n }\n }\n\n }\n \n componentDidLoad() {\n this.adjustTopBorder();\n this.setInitialActiveItem();\n if(!this.initialCollapse){\n this.expandActiveItems();\n }\n this.adjustItemsPadding();\n this.applyActiveSectionToParent(this.el);\n }\n\n getSidebarMenuItems(el = this.el) {\n const sidebarItems = el.querySelectorAll('ifx-sidebar-item');\n if (sidebarItems.length === 0) {\n return el.shadowRoot?.querySelectorAll('ifx-sidebar-item');\n }\n return sidebarItems;\n }\n\n setInitialActiveItem() {\n const handleItem = (parent) => {\n const children = this.getSidebarMenuItems(parent);\n let firstActiveFoundInGroup = false;\n\n children?.forEach(item => {\n // If the item is active and it's the first active one in its group\n if (this.isActive(item) && !firstActiveFoundInGroup) {\n firstActiveFoundInGroup = true;\n this.handleBorderIndicatorDisplacement(item);\n }\n // If the item is active but it's not the first one in its group\n else if (this.isActive(item) && firstActiveFoundInGroup) {\n item.setAttribute('active', 'false'); // Set the 'active' attribute to 'false'\n }\n\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(item.shadowRoot) && !this.hasActiveChild(item.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(item.shadowRoot) && this.isOpen(item.shadowRoot) && this.containsActiveSection(item)) {\n const clickedItemSection = this.getActiveItemSection(item);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // Recursive call for child items\n if (this.hasChildren(item.shadowRoot)) {\n handleItem(item.shadowRoot);\n }\n });\n }\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n handleClassList(el, type, className) {\n el.classList[type](className)\n if (type === 'contains') {\n return el.classList.contains(className)\n }\n }\n\n\n getActiveItemSection(item) {\n return this.getNavItem(item.shadowRoot);\n }\n\n\n getNavItem(el) {\n return el?.querySelector('.sidebar__nav-item')\n }\n\n hasChildren(el) {\n return el?.querySelector('.item__arrow-wrapper') !== null ? true : false;\n }\n\n\n handleBorderIndicatorDisplacement(clickedItem) {\n // Recursive function to handle each item\n const handleItem = (item) => {\n // Check if current item is active or the one that was clicked\n const isActive = this.isActive(item) || item === clickedItem;\n\n if (isActive) {\n const activeMenuItemSection = this.getActiveItemSection(item);\n const isMenu = this.hasChildren(activeMenuItemSection);\n\n if (isMenu) {\n this.handleClassList(activeMenuItemSection, 'add', 'active-section');\n }\n }\n\n // Recursive call for child items\n const children = this.getSidebarMenuItems(item);\n children.forEach(handleItem);\n };\n\n // Start with the top-level items\n const topLevelItems = this.getSidebarMenuItems(this.el);\n topLevelItems.forEach(handleItem);\n }\n\n\n removeActiveClassesRecursively() {\n const removeClasses = (root) => {\n const children = this.querySidebarItems(root);\n children.forEach((child) => {\n const sidebarItem = child.shadowRoot.querySelector(SIDEBAR_ITEM);\n sidebarItem.classList.remove(ACTIVE_SECTION);\n sidebarItem.classList.remove(ACTIVE);\n if (child.getAttribute('active')) {\n child.setAttribute('active', 'false');\n }\n removeClasses(child.shadowRoot);\n });\n }\n removeClasses(this.el);\n if (this.activeItem) {\n this.activeItem.setAttribute('active', 'false');\n }\n this.activeItem = null;\n }\n\n hasActiveChild(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n if (children) {\n for (let child of children) {\n // If the child item is active\n if (this.isActive(child)) {\n return true;\n }\n // If the child item has children, recurse into them\n else if (this.hasChildren(child.shadowRoot)) {\n if (this.hasActiveChild(child.shadowRoot)) {\n return true;\n }\n }\n }\n }\n return false;\n }\n\n\n @Listen('ifxSidebarMenu')\n handleSidebarItemInteraction(event: CustomEvent) {\n // This method can be used to handle the ifxSidebarMenu event\n // Get the element that triggered the event\n const clickedItem = event.detail;\n\n // If the clicked item is not a menu OR is a menu that has an active child\n if (!this.hasChildren(clickedItem.shadowRoot) || this.hasActiveChild(clickedItem.shadowRoot)) {\n this.handleBorderIndicatorDisplacement(clickedItem);\n }\n\n // If the clicked item is a menu and doesn't have any active children\n if (this.hasChildren(clickedItem.shadowRoot) && !this.hasActiveChild(clickedItem.shadowRoot)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n\n // If clickedItem is an opened menu and it contains another menu with 'active-section'\n if (this.hasChildren(clickedItem.shadowRoot) && this.isOpen(clickedItem.shadowRoot) && this.containsActiveSection(clickedItem)) {\n const clickedItemSection = this.getActiveItemSection(clickedItem);\n this.handleClassList(clickedItemSection, 'remove', 'active-section');\n }\n }\n\n isOpen(menuItem) {\n return this.getNavItem(menuItem).classList.contains('open') ? true : false;\n }\n\n containsActiveSection(menuItem) {\n const children = this.getSidebarMenuItems(menuItem);\n for (let child of children) {\n if (this.getNavItem(child.shadowRoot).classList.contains('active-section') || (this.hasChildren(child.shadowRoot) && this.containsActiveSection(child.shadowRoot))) {\n this.handleClassList(child, 'add', 'active-section')\n return true;\n }\n }\n return false;\n }\n\n applyActiveSectionToParent(el) {\n // Get all submenus of the given element\n const subMenus = this.getSidebarMenuItems(el);\n\n subMenus?.forEach(menu => {\n // If this submenu has an active child, add active-section class to it\n if (this.hasActiveChild(menu.shadowRoot)) {\n const menuItemSection = this.getActiveItemSection(menu);\n this.handleClassList(menuItemSection, 'add', 'active-section');\n }\n\n // Apply to submenu's children\n this.applyActiveSectionToParent(menu.shadowRoot);\n });\n }\n\n\n\n querySidebarItems(el) {\n return el.querySelectorAll('ifx-sidebar-item')\n }\n\n isActive(iteratedComponent) {\n const activeAttributeValue = iteratedComponent.getAttribute('active');\n const isActive = activeAttributeValue === 'true';\n return isActive;\n }\n\n @Listen('ifxSidebarNavigationItem')\n handleSidebarItemActivated(event: CustomEvent) {\n\n this.removeActiveClassesRecursively();\n\n this.activeItem = event.detail;\n this.activeItem.setAttribute('active', 'true');\n\n // Get the parent element of the activated item\n const parent = this.getNavItem(event.detail.parentElement.parentElement.parentElement);\n if (parent) {\n this.handleClassList(parent, 'add', 'active-section');\n }\n }\n\n componentWillLoad() {\n trackComponent('ifx-sidebar')\n this.internalTermsofUse = this.termsOfUse.trim();\n this.internalPrivacyPolicy = this.privacyPolicy.trim();\n this.internalImprint = this.imprint.trim();\n this.internalShowFooter = this.showFooter;\n if(this.internalShowFooter && !this.internalImprint && !this.internalPrivacyPolicy && !this.internalTermsofUse && !this.copyrightText){\n this.internalShowFooter = false;\n }\n }\n \n render() {\n return (\n <div aria-label=\"a navigation sidebar\" aria-value={this.applicationName} class='sidebar__container'>\n <div class='sidebar__top-container'>\n {\n this.showHeader && \n <div class=\"sidebar__nav-bar\">\n <div class=\"sidebar__nav-bar-logo\">\n <div class='sidebar__nav-bar-logo-img'>\n <svg width=\"91\" height=\"40\" viewBox=\"0 0 91 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_2396_2480)\">\n <path d=\"M67.691 26.7766C71.0884 26.7766 72.1461 23.1841 72.1461 19.8802C72.1461 15.4536 70.2871 13.1441 67.691 13.1441C64.4219 13.1441 63.2681 16.7367 63.3001 19.9443C63.3322 23.1199 64.2296 26.7766 67.691 26.7766ZM66.0244 19.8481C66.0244 18.533 66.0244 15.4536 67.691 15.4536C69.4859 15.4536 69.4218 18.5009 69.4218 19.9123C69.4218 21.2595 69.4218 24.5313 67.7551 24.5313C65.9603 24.4992 66.0244 21.2274 66.0244 19.8481ZM57.8195 26.7766C59.1976 26.7766 60.3835 26.2313 61.5053 25.0445L60.5117 23.1841C59.7425 24.018 58.9733 24.4671 58.0438 24.4671C57.2746 24.4671 56.6336 24.018 56.249 23.2482C55.9285 22.5746 55.8644 21.8048 55.8644 20.9708V20.7142H61.6335V20.1368C61.6335 17.282 61.2809 15.7102 60.3835 14.5234C59.7104 13.6253 58.7169 13.1441 57.499 13.1441C56.2169 13.1441 55.1593 13.7215 54.39 14.8442C53.5567 16.0631 53.2042 17.699 53.2042 19.9443C53.1721 24.2426 54.8708 26.7766 57.8195 26.7766ZM57.531 15.2612C58.172 15.2612 58.5566 15.614 58.813 16.1914C59.0053 16.7046 59.1015 17.5707 59.1015 18.5971H55.8644C55.8964 16.3197 56.3772 15.2612 57.531 15.2612ZM74.2614 26.4559H76.7614V16.8329C77.3703 16.0952 78.0754 15.6782 78.5882 15.6782C78.9087 15.6782 79.2292 15.7423 79.4215 15.9989C79.6138 16.2876 79.71 16.7046 79.71 17.699V26.4559H82.21V16.5442C82.21 15.6782 82.1138 14.8121 81.601 14.1706C81.1523 13.5932 80.4472 13.2404 79.5497 13.2404C78.3959 13.2404 77.2101 13.914 76.569 14.6838C76.537 14.0102 76.3126 13.3687 76.2485 13.1441L73.9089 13.7536C74.0371 14.4593 74.2294 15.3253 74.2294 16.8971V26.4559H74.2614ZM45.2236 14.6838C45.1915 14.0102 44.9672 13.3687 44.9031 13.1441L42.5634 13.7536C42.6916 14.4593 42.8839 15.3253 42.8839 16.8971V26.4238H45.3838V16.8008C45.9928 16.0631 46.6979 15.6461 47.2107 15.6461C47.5312 15.6461 47.8517 15.7102 48.044 15.9669C48.2363 16.2555 48.3325 16.6725 48.3325 17.6669V26.4238H50.8324V16.5442C50.8324 15.6782 50.7363 14.8121 50.2235 14.1706C49.7748 13.5932 49.0696 13.2404 48.1722 13.2404C47.0505 13.2404 45.8646 13.914 45.2236 14.6838ZM14.6473 9.07042C16.1216 9.07042 17.3075 7.88359 17.3075 6.40807C17.3075 4.93256 16.1216 3.74573 14.6473 3.74573C13.173 3.74573 11.9871 4.93256 11.9871 6.40807C11.9871 7.88359 13.173 9.07042 14.6473 9.07042ZM26.9227 26.4559V16.5442C26.9227 15.6782 26.8265 14.8121 26.3137 14.1706C25.865 13.5932 25.1599 13.2404 24.2625 13.2404C23.1087 13.2404 21.9228 13.914 21.2818 14.6838C21.2497 14.0102 21.0254 13.3687 20.9613 13.1441L18.6536 13.7857C18.7818 14.4913 18.9741 15.3574 18.9741 16.9291V26.4559H21.4741V16.8329C22.0831 16.0952 22.7882 15.6782 23.301 15.6782C23.6215 15.6782 23.942 15.7423 24.1343 15.9989C24.3266 16.2876 24.4227 16.7046 24.4227 17.699V26.4559H26.9227ZM38.4289 8.36474C37.4994 8.36474 36.7622 9.10249 36.7622 10.0327C36.7622 10.9629 37.4994 11.7007 38.3968 11.7007C39.3263 11.7007 40.0634 10.9629 40.0634 10.0327C40.0634 9.10249 39.3263 8.36474 38.4289 8.36474ZM13.4614 26.4559H15.9614V10.8346L13.4614 11.1554V26.4559ZM33.8777 9.90441C34.3264 9.90441 34.7751 10.0648 35.0635 10.2893L35.7687 8.33266C35.0956 7.85151 34.3584 7.62698 33.429 7.62698C32.788 7.62698 32.1149 7.78736 31.5059 8.26851C30.897 8.78173 30.256 9.80818 30.256 11.7328C30.256 12.5667 30.288 13.4328 30.288 13.4328H29.4226V15.6461H30.288V26.4238H32.8521V15.6782H34.743L35.2238 13.4649H32.8841V11.4762C32.8841 10.5139 33.2687 9.90441 33.8777 9.90441ZM37.1468 26.4559H39.6788V13.2404L37.1468 13.5611V26.4559Z\" fill=\"#005DA9\" />\n <path d=\"M77.0816 33.5126C68.6203 36.0146 58.3321 37.1052 48.2682 37.1052C22.7239 37.1052 6.24986 29.5993 5.09604 19.6877C4.67938 15.9668 7.59599 12.3422 12.4677 9.26285C11.6023 8.62132 11.0575 7.59488 11.0254 6.44012C3.97427 10.161 0 15.0366 0 19.9764C0 30.9145 19.5188 40.1525 48.5246 39.7676C58.6205 39.6393 67.0498 38.1958 74.6778 35.6939C83.7482 32.7428 89.4532 28.5087 90.8313 26.6483C89.1968 28.1238 85.3186 31.0748 77.0816 33.5126ZM23.2687 4.38723C24.9674 3.80985 27.3712 3.0721 27.3712 3.0721C34.1339 1.21166 41.6017 0.121063 48.5566 0.185215C40.544 -0.295931 33.2365 0.185215 26.8584 1.33997C26.8584 1.33997 24.743 1.69281 22.4675 2.27018C22.4675 2.27018 21.3777 2.55887 20.7047 2.75133C20.0316 2.94379 19.1021 3.2004 19.1021 3.2004C18.4611 3.39286 17.8201 3.6174 17.1791 3.84193C17.8201 4.48346 18.2047 5.31745 18.2368 6.27974C19.3586 5.76652 21.5059 4.99668 23.2687 4.38723Z\" fill=\"#E30034\" />\n </g>\n <defs>\n <clipPath id=\"clip0_2396_2480\">\n <rect width=\"91\" height=\"40\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg> </div>\n <div class='sidebar__nav-bar-logo-text'>{this.applicationName}</div>\n </div>\n </div>\n }\n <div class=\"sidebar__nav-container\">\n <slot />\n </div>\n </div>\n\n {\n this.internalShowFooter &&\n <div class='sidebar__footer-container'>\n <div class=\"sidebar__footer-wrapper\">\n {\n (this.internalTermsofUse || this.internalImprint || this.internalPrivacyPolicy) &&\n <div class='sidebar__footer-wrapper-top-links'>\n {\n this.internalTermsofUse !== '' && <a target={this.target} href={this.internalTermsofUse}>Terms of use</a>\n }\n {\n this.internalImprint !== '' && <a target={this.target} href={this.internalImprint}>Imprint</a>\n }\n {\n this.internalPrivacyPolicy !== '' && <a target={this.target} href={this.internalPrivacyPolicy}>Privacy policy</a>\n }\n </div>\n }\n \n {\n this.copyrightText &&\n <div class='sidebar__footer-wrapper-bottom-links'>\n <span>{this.copyrightText}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,h as a,g as r}from"./p-b7a462e5.js";import{t}from"./p-6ecb6a6f.js";const o=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:flex}.breadcrumb{list-style:none;padding:0px;margin:0px;display:flex;flex-direction:row;font-family:var(--ifx-font-family);font-size:0.875rem;align-items:flex-start}';const n=o;const i=class{constructor(a){e(this,a)}componentWillLoad(){t("ifx-breadcrumb")}componentDidLoad(){const e=this.el.shadowRoot.firstChild;this.validateBreadcrumbItemStructure(e)}validateBreadcrumbItemStructure(e){if(!e){console.error("element not found");return}const a=e.querySelector("slot");if(a){const e=a.assignedNodes();for(let a=0;a<e.length;a++){const r=e[a];if(r.nodeName==="IFX-BREADCRUMB-ITEM"){const e=r;const a=e.querySelector("ifx-breadcrumb-item-label");const t=e.querySelector("ifx-dropdown-menu");if(a.hasAttribute("href")&&t){throw new Error("ifx-breadcrumb-item cannot have both a href and a dropdown menu.")}}}}}render(){return a("nav",{key:"3e40c1ae29fd4be9d7f181507c8a7ba272ce4db5","aria-label":"Page navigation breadcrumb"},a("ol",{key:"bf74766901ae98f07ba2bfa4d445ad7d4d5f4f00",class:"breadcrumb"},a("slot",{key:"a1c2ec13b00dd8d9c006f33f6057e353350d4488"})))}get el(){return r(this)}};i.style=n;export{i as ifx_breadcrumb};
|
2
|
+
//# sourceMappingURL=p-e531d0b1.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["breadcrumbCss","IfxBreadcrumbStyle0","Breadcrumb","componentWillLoad","trackComponent","componentDidLoad","element","this","el","shadowRoot","firstChild","validateBreadcrumbItemStructure","console","error","slot","querySelector","assignedNodes","i","length","node","nodeName","breadcrumbItem","breadcrumbItemLabel","breadcrumbDropdown","hasAttribute","Error","render","h","key","class"],"sources":["src/components/breadcrumb/breadcrumb.scss?tag=ifx-breadcrumb&encapsulation=shadow","src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.breadcrumb {\n list-style: none;\n padding: 0px;\n margin: 0px;\n display: flex;\n flex-direction: row;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n font-size: tokens.$ifxFontSizeS;\n align-items: flex-start;\n //gap: tokens.$ifxSpace200; //this is where the gap comes from\n\n}\n\n// .separator {\n// color: tokens.$ifxColorEngineering300;\n// margin: 0 16px;\n// }","import { Component, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\n\n@Component({\n tag: 'ifx-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n shadow: true\n})\nexport class Breadcrumb {\n @Element() el;\n\n componentWillLoad() { \n trackComponent('ifx-breadcrumb')\n }\n\n componentDidLoad() {\n const element = this.el.shadowRoot.firstChild;\n this.validateBreadcrumbItemStructure(element);\n }\n\n private validateBreadcrumbItemStructure(element: HTMLElement) {\n if (!element) {\n console.error('element not found');\n return;\n }\n \n const slot = element.querySelector('slot');\n if(slot) { \n const assignedNodes = slot.assignedNodes();\n \n for (let i = 0; i < assignedNodes.length; i++) {\n const node = assignedNodes[i];\n if (node.nodeName === 'IFX-BREADCRUMB-ITEM') {\n const breadcrumbItem = node as HTMLIfxBreadcrumbItemElement;\n const breadcrumbItemLabel = breadcrumbItem.querySelector('ifx-breadcrumb-item-label');\n const breadcrumbDropdown = breadcrumbItem.querySelector('ifx-dropdown-menu');\n if (breadcrumbItemLabel.hasAttribute('href') && breadcrumbDropdown) {\n throw new Error('ifx-breadcrumb-item cannot have both a href and a dropdown menu.');\n }\n }\n }\n }\n }\n\n render() {\n return (\n <nav aria-label=\"Page navigation breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot />\n </ol>\n </nav>\n );\n }\n}\n"],"mappings":"iFAAA,MAAMA,EAAgB,mPACtB,MAAAC,EAAeD,E,MCOFE,EAAU,M,yBAGrB,iBAAAC,GACEC,EAAe,iB,CAGjB,gBAAAC,GACE,MAAMC,EAAUC,KAAKC,GAAGC,WAAWC,WACnCH,KAAKI,gCAAgCL,E,CAG/B,+BAAAK,CAAgCL,GACtC,IAAKA,EAAS,CACZM,QAAQC,MAAM,qBACd,M,CAGF,MAAMC,EAAOR,EAAQS,cAAc,QACnC,GAAGD,EAAM,CACP,MAAME,EAAgBF,EAAKE,gBAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAcE,OAAQD,IAAK,CAC7C,MAAME,EAAOH,EAAcC,GAC3B,GAAIE,EAAKC,WAAa,sBAAuB,CAC3C,MAAMC,EAAiBF,EACvB,MAAMG,EAAsBD,EAAeN,cAAc,6BACzD,MAAMQ,EAAqBF,EAAeN,cAAc,qBACxD,GAAIO,EAAoBE,aAAa,SAAWD,EAAoB,CAClE,MAAM,IAAIE,MAAM,mE,KAO1B,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,8BACdD,EAAA,MAAAC,IAAA,2CAAIC,MAAM,cACRF,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as e,g as s}from"./p-b7a462e5.js";import{t as o}from"./p-6ecb6a6f.js";const n=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.ifx-multiselect-container{position:relative;box-sizing:border-box;font-family:var(--ifx-font-family)}.ifx-multiselect-container.small-select{height:36px}.ifx-multiselect-container.medium-select{height:40px}.ifx-multiselect-container:hover{cursor:pointer}.ifx-multiselect-container .ifx-label-wrapper{font-size:1rem;line-height:1.5rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-error-message-wrapper{color:#CD002F;font-size:0.75rem;line-height:1rem;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.ifx-multiselect-container .ifx-multiselect-wrapper{background-color:#FFFFFF;box-sizing:border-box;position:relative;display:flex;align-items:center;border:1px solid #8D8786;border-radius:1px;width:100%;font-weight:400;font-style:normal}.ifx-multiselect-container .ifx-multiselect-wrapper.small-select{height:36px;padding:8px 12px;font-size:0.875rem;line-height:1.25rem}.ifx-multiselect-container .ifx-multiselect-wrapper.medium-select{height:40px;padding:8px 16px;font-size:1rem;line-height:1.5rem}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible{outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active){outline:none}.ifx-multiselect-container .ifx-multiselect-wrapper:focus-visible:not(.active):not(:active)::before{content:"";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:50%;left:50%;transform:translate(-50%, -50%);border:2px solid #0A8276;border-radius:2px}.ifx-multiselect-container .ifx-multiselect-wrapper.disabled{background:#EEEDED;color:#575352;border-color:#575352;cursor:default;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ifx-multiselect-container .ifx-multiselect-wrapper.error{border-color:#CD002F}.ifx-multiselect-container .ifx-multiselect-wrapper:hover:not(.focus,:focus){border-color:#575352}.ifx-multiselect-container .ifx-multiselect-wrapper.active{border-color:#0A8276 !important}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-up{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.active .icon-wrapper-down{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-up{display:none}.ifx-multiselect-container .ifx-multiselect-wrapper .icon-wrapper-down{display:flex;align-items:center;justify-content:center;padding-left:8px}.ifx-multiselect-container .ifx-multiselect-wrapper.is-flipped .ifx-multiselect-dropdown-menu{top:auto;bottom:100%}.ifx-multiselect-container .ifx-multiselect-input{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ifx-multiselect-container .ifx-multiselect-input.placeholder{opacity:0.5}.ifx-multiselect-container .ifx-multiselect-icon-container{margin-left:auto;align-items:center;display:flex}.ifx-multiselect-container .ifx-clear-button{display:flex}.ifx-multiselect-container .ifx-clear-button.hide{display:none}.ifx-multiselect-container .ifx-multiselect-dropdown-menu{position:absolute;top:100%;left:0;width:100%;margin-top:2px;background-color:#fff;box-shadow:0px 6px 9px 0px rgba(29, 29, 29, 0.1);max-height:300px;overflow-y:auto;z-index:1000}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input{position:sticky;top:0;left:0;z-index:1;width:100%;padding:8px 16px;font-size:1rem;line-height:1.5rem;font-style:normal;font-weight:400;box-sizing:border-box;background-color:#FFFFFF;border:none;border-bottom:1px solid #8D8786}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input:focus{outline:none;border:1px solid #0A8276}.ifx-multiselect-container .ifx-multiselect-dropdown-menu .search-input::placeholder{color:#999}.ifx-multiselect-container .option{position:relative;padding:8px 16px;gap:8px;align-items:center;display:flex;font-style:normal;font-weight:400}.ifx-multiselect-container .option.small-select{font-size:0.875rem;line-height:1.25rem}.ifx-multiselect-container .option.medium-select{font-size:1rem;line-height:1.5rem}.ifx-multiselect-container .option:hover{background-color:#EEEDED}.ifx-multiselect-container .option:focus:not(.disabled){background-color:#BFBBBB;outline:none}.ifx-multiselect-container .option.is-highlighted{background-color:#EEEDED}.ifx-multiselect-container .option.sub-option{padding-left:30px;}.ifx-multiselect-container .option.disabled:hover{cursor:default}.ifx-multiselect-container .option label{cursor:inherit}.select-all-wrapper{padding-top:8px}';const l=n;function r(t,i){let e;return function s(...o){const n=()=>{clearTimeout(e);t(...o)};clearTimeout(e);e=setTimeout(n,i)}}const c=class{constructor(e){t(this,e);this.ifxSelect=i(this,"ifxSelect",7);this.ifxOpen=i(this,"ifxOpen",7);if(e.$hostElement$["s-ei"]){this.internals=e.$hostElement$["s-ei"]}else{this.internals=e.$hostElement$.attachInternals();e.$hostElement$["s-ei"]=this.internals}this.batchSize=50;this.size="medium (40px)";this.disabled=false;this.error=false;this.internalError=false;this.errorMessage="Error";this.label="";this.persistentSelectedOptions=[];this.placeholder="";this.dropdownOpen=false;this.currentIndex=0;this.isLoading=false;this.loadedOptions=[];this.filteredOptions=[];this.showSearch=true;this.showSelectAll=true;this.showClearButton=true;this.optionCount=0;this.optionsProcessed=false;this.handleSearch=r((t=>{const i=t.value.toLowerCase();if(i===""){this.filteredOptions=this.loadedOptions}else{this.filteredOptions=this.loadedOptions.filter((t=>{const e=t.label.toLowerCase().includes(i);if(t.children){const s=t.children.some((t=>t.label.toLowerCase().includes(i)));return e||s}return e}))}}),300);this.handleDocumentClick=t=>{const i=t.composedPath();if(!i.includes(this.dropdownElement)){this.dropdownOpen=false;document.removeEventListener("click",this.handleDocumentClick);this.filteredOptions=this.loadedOptions;this.ifxOpen.emit(this.dropdownOpen)}}}updateOptions(){this.loadedOptions=[];this.filteredOptions=[];this.optionCount=0;this.optionsProcessed=false;this.persistentSelectedOptions=[];this.loadInitialOptions()}async loadInitialOptions(){this.isLoading=true;this.internalError=this.error;this.internalErrorMessage=this.errorMessage;this.loadedOptions=await this.fetchOptions(0,this.batchSize);this.isLoading=false}async fetchMoreOptions(){this.isLoading=true;const t=await this.fetchOptions(this.loadedOptions.length,this.batchSize);this.loadedOptions=[...this.loadedOptions,...t];this.isLoading=false}handleScroll(t){const i=t.target;const e=Math.floor((i.scrollHeight-i.clientHeight)/2);if(i.scrollTop>=e){this.fetchMoreOptions()}}async fetchOptions(t,i){let e=[];if(typeof this.options==="string"){try{e=JSON.parse(this.options)}catch(t){console.error("Failed to parse options:",t)}}else if(Array.isArray(this.options)){e=this.options}else{console.error("Unexpected value for options:",this.options)}if(!this.optionsProcessed){this.optionCount=this.countOptions(e);const t=this.collectSelectedOptions(e);const i=t.filter((t=>!this.persistentSelectedOptions.some((i=>i.value==t.value))));this.persistentSelectedOptions=[...this.persistentSelectedOptions,...i];this.optionsProcessed=true}const s=e.slice(t,t+i);return s}collectSelectedOptions(t){let i=[];for(const e of t){if(e.selected){if(e.children&&e.children.length>0){i=i.concat(this.collectLeafOptions(e.children))}else{if(!i.some((t=>t.value===e.value))){i.push(e)}}}else{if(e.children&&e.children.length>0){i=i.concat(this.collectSelectedOptions(e.children))}}}return i}collectLeafOptions(t){let i=[];for(const e of t){if(e.children&&e.children.length>0){i=i.concat(this.collectLeafOptions(e.children))}else{i.push(e)}}return i}countOptions(t){let i=0;for(const e of t){if(e.children&&e.children.length>=0){i+=this.countOptions(e.children)}else{i++}}return i}componentDidLoad(){setTimeout((()=>{this.positionDropdown()}),500)}componentWillLoad(){o("ifx-multiselect");this.loadInitialOptions();this.filteredOptions=[...this.loadedOptions]}updateInternalError(){this.internalError=this.error}updateInternalErrorMessage(){this.internalErrorMessage=this.errorMessage}loadedOptionsChanged(){this.filteredOptions=[...this.loadedOptions]}onSelectionChange(t,i){const e=new FormData;t.forEach((t=>e.append(this.name,t.value)));this.internals.setFormValue(e)}handleOptionClick(t){this.internalError=false;if(!t.selected&&this.isSelectionLimitReached(t)){t.checkboxRef.toggleCheckedState(false);this.internalError=true;this.internalErrorMessage="Please consider the maximum number of items to choose from";return}this.updateSelection(t);this.ifxSelect.emit(this.persistentSelectedOptions)}isSelectionLimitReached(t){let i=t.children?t.children.length:1;return this.maxItemCount&&this.persistentSelectedOptions.length+i>this.maxItemCount&&!this.persistentSelectedOptions.some((i=>i.value===t.value))}updateSelection(t){const i=this.persistentSelectedOptions.some((i=>i.value===t.value));if(t.children&&t.children.length>0){this.handleParentOptionClick(t)}else{this.handleChildOptionClick(t,i)}}async selectAll(){const t=await this.fetchOptions(0,this.optionCount);this.selectAllRecursive(t);this.ifxSelect.emit(this.persistentSelectedOptions)}selectAllRecursive(t){for(const i of t){if(i.children&&i.children.length>0){this.selectAllRecursive(i.children)}else{if(!this.persistentSelectedOptions.some((t=>t.value===i.value))){i.selected=true;this.persistentSelectedOptions=[...this.persistentSelectedOptions,i];this.optionCount=this.countOptions(this.persistentSelectedOptions)}}}}handleParentOptionClick(t){const i=t.children.every((t=>this.persistentSelectedOptions.some((i=>i.value===t.value))));if(i){this.persistentSelectedOptions=[...this.persistentSelectedOptions.filter((i=>!t.children.some((t=>t.value===i.value))))];t.selected=false;t.children.forEach((t=>{t.selected=false}))}else{const i=[...t.children.filter((t=>!this.persistentSelectedOptions.some((i=>i.value===t.value))))];t.selected=true;t.children.forEach((t=>{t.selected=true}));this.persistentSelectedOptions=[...this.persistentSelectedOptions,...i]}}handleChildOptionClick(t,i){if(i){this.persistentSelectedOptions=[...this.persistentSelectedOptions.filter((i=>i.value!==t.value))];t.selected=false}else{this.persistentSelectedOptions=[...this.persistentSelectedOptions,t];t.selected=true}this.updateParentSelectedState()}updateParentSelectedState(){this.loadedOptions.forEach((t=>{var i;if(((i=t.children)===null||i===void 0?void 0:i.length)>0){if(t.children.every((t=>t.selected===true)))t.selected=true;else{t.selected=false;if(this.isOptionIndeterminate(t)){t.indeterminate=true}else{t.indeterminate=false}}}}))}getSizeClass(){return`${this.size}`==="s"?"small-select":"medium-select"}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;setTimeout((()=>{if(this.dropdownOpen){document.addEventListener("click",this.handleDocumentClick)}this.ifxOpen.emit(this.dropdownOpen)}),0)}waitForElement(t,i,e=50){let s=0;function o(){requestAnimationFrame((()=>{const n=t();if(n.length>0||s>e){i(n)}else{s++;o()}}))}o()}handleKeyDown(t){if(this.disabled)return;const i=this.dropdownElement.querySelectorAll(".option");switch(t.code){case"Enter":this.toggleDropdown();this.waitForElement((()=>this.dropdownElement.querySelectorAll(".option")),(t=>{this.updateHighlightedOption(t)}));break;case"Space":this.toggleDropdown();this.waitForElement((()=>this.dropdownElement.querySelectorAll(".option")),(t=>{this.updateHighlightedOption(t)}));break;case"ArrowDown":this.handleArrowDown(i);if(this.dropdownOpen){this.updateHighlightedOption(i)}break;case"ArrowUp":this.handleArrowUp(i);if(this.dropdownOpen){this.updateHighlightedOption(i)}break}}handleWrapperClick(t){this.positionDropdown();if(t.currentTarget===t.target){this.toggleDropdown()}}clearSelection(){this.persistentSelectedOptions=[];this.ifxSelect.emit(this.persistentSelectedOptions)}positionDropdown(){var t;const i=(t=this.el.shadowRoot.querySelector(".ifx-multiselect-wrapper"))===null||t===void 0?void 0:t.getBoundingClientRect();const e=window.innerHeight-i.bottom;const s=i.top;if(s>e&&i.height>e||i.bottom>window.innerHeight){this.dropdownFlipped=true}else{this.dropdownFlipped=false}}updateHighlightedOption(t){t.forEach((t=>t.classList.remove("is-highlighted")));if(this.currentIndex>=0&&this.currentIndex<t.length){t[this.currentIndex].classList.add("is-highlighted");t[this.currentIndex].focus()}}handleArrowDown(t){if(this.currentIndex<t.length-1){this.currentIndex++}else{this.currentIndex=0}}handleArrowUp(t){if(this.currentIndex>0){this.currentIndex--}else{this.currentIndex=t.length-1}}handleOptionKeyDown(t,i){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")t.stopPropagation();if(t.key==="Enter"||t.key===" "){this.handleOptionClick(i)}}renderOption(t,i){var s;const o=this.isOptionIndeterminate(t);const n=t.children?o||this.isOptionSelected(t):this.persistentSelectedOptions.some((i=>i.value===t.value));const l=!n&&this.maxItemCount&&this.persistentSelectedOptions.length>=this.maxItemCount;const r=`checkbox-${t.value}-${i}`;return e("div",{class:"option-wrapper"},e("div",{class:`option ${n?"selected":""} ${l?"disabled":""} \n ${this.getSizeClass()}`,"data-value":t.value,onKeyDown:i=>!l&&this.handleOptionKeyDown(i,t),onClick:()=>!l&&this.handleOptionClick(t),tabindex:"0",role:`${((s=t.children)===null||s===void 0?void 0:s.length)>0?"treeitem":"option"}`},e("ifx-checkbox",{tabIndex:-1,ref:i=>t.checkboxRef=i,id:r,size:"s",checked:o?false:n,indeterminate:o,disabled:l}),e("label",{htmlFor:r,onClick:t=>t.stopPropagation()},t.label)),t.children&&t.children.map(((t,e)=>this.renderSubOption(t,`${i}-${e}`))))}isOptionSelected(t){if(!t.children)return false;return t.children.every((t=>this.persistentSelectedOptions.some((i=>i.value===t.value))))}isOptionIndeterminate(t){if(!t.children)return false;const i=t.children.filter((t=>this.persistentSelectedOptions.some((i=>i.value===t.value)))).length;return i>0&&i<t.children.length}findInOptions(t,i){for(const e of t){if(e.value===i){return e}if(e.children){const t=this.findInOptions(e.children,i);if(t){return t}}}return null}renderSubOption(t,i){var s;const o=this.persistentSelectedOptions.some((i=>i.value===t.value));const n=!o&&this.maxItemCount&&this.persistentSelectedOptions.length>=this.maxItemCount;const l=`checkbox-${t.value}-${i}`;return e("div",{class:`option sub-option ${o?"selected":""} ${this.getSizeClass()} ${n?"disabled":""}`,"data-value":t.value,role:`${((s=t.children)===null||s===void 0?void 0:s.length)>0?"option":"treeitem"}`,onKeyDown:i=>!n&&this.handleOptionKeyDown(i,t),onClick:()=>!n&&this.handleOptionClick(t),tabindex:"0"},e("ifx-checkbox",{tabIndex:-1,ref:i=>t.checkboxRef=i,id:l,size:"s",checked:o,disabled:n}),e("label",{htmlFor:l,onClick:t=>t.stopPropagation()},t.label))}renderSelectAll(){const t=this.persistentSelectedOptions.length===this.optionCount;const i=this.persistentSelectedOptions.length===0;const s=this.optionCount>0&&!i&&!t;const o=this;function n(){if(t){o.clearSelection()}else{o.selectAll()}}function l(t){if(t.key!=="ArrowUp"&&t.key!=="ArrowDown")t.stopPropagation();if(t.key==="Enter"||t.key===" "){n()}}return e("div",{class:"select-all-wrapper"},e("div",{class:`option ${this.getSizeClass()}`,tabindex:"0",onKeyDown:t=>l(t),onClick:n},e("ifx-checkbox",{tabIndex:-1,id:"selectAll",checked:t,indeterminate:s,size:"s"}),e("label",{htmlFor:"selectAll"},"Select all")),e("ifx-dropdown-separator",null))}render(){const t=this.persistentSelectedOptions.filter((t=>{const i=this.persistentSelectedOptions.some((i=>i.children&&i.children.some((i=>i.value===t.value))&&i.selected));return!i})).map((t=>t.label)).join(", ");return e("div",{class:`ifx-multiselect-container`,ref:t=>this.dropdownElement=t},this.label?e("div",{class:"ifx-label-wrapper"},e("span",null,this.label)):null,e("div",{class:`ifx-multiselect-wrapper \n ${this.getSizeClass()} \n ${this.dropdownOpen?"active":""} \n ${this.dropdownFlipped?"is-flipped":""}\n ${this.internalError?"error":""}\n ${this.disabled?"disabled":""}`,tabindex:"0",onClick:this.disabled?undefined:t=>this.handleWrapperClick(t),onKeyDown:this.disabled?undefined:t=>this.handleKeyDown(t)},e("div",{class:`ifx-multiselect-input \n ${this.persistentSelectedOptions.length===0?"placeholder":""}\n `,onClick:this.disabled?undefined:()=>this.toggleDropdown()},this.persistentSelectedOptions.length>0?t:this.placeholder),this.dropdownOpen&&e("div",{class:"ifx-multiselect-dropdown-menu",onScroll:t=>this.handleScroll(t)},this.showSearch&&e("input",{type:"text",role:"textbox",class:"search-input",onKeyDown:t=>{t.stopPropagation()},onInput:t=>this.handleSearch(t.target),placeholder:"Search..."}),this.showSelectAll&&this.renderSelectAll(),this.filteredOptions.map(((t,i)=>this.renderOption(t,i))),this.isLoading&&e("div",null,"Loading more options...")),e("div",{class:"ifx-multiselect-icon-container"},this.persistentSelectedOptions.length>0&&e("div",{class:`ifx-clear-button ${!this.showClearButton?"hide":""}`,onClick:this.disabled?undefined:()=>this.clearSelection()},e("ifx-icon",{icon:"cRemove16"})),e("div",{class:"icon-wrapper-up",onClick:this.disabled?undefined:()=>this.toggleDropdown()},e("ifx-icon",{key:"icon-up",icon:"chevron-up-16"})),e("div",{class:"icon-wrapper-down",onClick:this.disabled?undefined:()=>this.toggleDropdown()},e("ifx-icon",{key:"icon-down",icon:"chevron-down-16"})))),this.internalError?e("div",{class:"ifx-error-message-wrapper"},e("span",null,this.internalErrorMessage)):null)}static get formAssociated(){return true}get el(){return s(this)}static get watchers(){return{options:["updateOptions"],error:["updateInternalError"],errorMessage:["updateInternalErrorMessage"],loadedOptions:["loadedOptionsChanged"],persistentSelectedOptions:["onSelectionChange"]}}};c.globalZIndex=1e3;c.style=l;export{c as ifx_multiselect};
|
2
|
+
//# sourceMappingURL=p-ea537283.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["multiselectCss","IfxMultiselectStyle0","debounce","func","wait","timeout","executedFunction","args","later","clearTimeout","setTimeout","Multiselect","constructor","hostRef","this","batchSize","size","disabled","error","internalError","errorMessage","label","persistentSelectedOptions","placeholder","dropdownOpen","currentIndex","isLoading","loadedOptions","filteredOptions","showSearch","showSelectAll","showClearButton","optionCount","optionsProcessed","handleSearch","targetElement","searchTerm","value","toLowerCase","filter","option","matchesSearchTerm","includes","children","childrenMatch","some","child","handleDocumentClick","event","path","composedPath","dropdownElement","document","removeEventListener","ifxOpen","emit","updateOptions","loadInitialOptions","internalErrorMessage","fetchOptions","fetchMoreOptions","moreOptions","length","handleScroll","element","target","halfwayPoint","Math","floor","scrollHeight","clientHeight","scrollTop","startIndex","count","allOptions","options","JSON","parse","err","console","Array","isArray","countOptions","initiallySelected","collectSelectedOptions","initallySelectedNotInState","init","opt","slicedOptions","slice","selectedOptions","selected","concat","collectLeafOptions","existingOption","push","leafOptions","componentDidLoad","positionDropdown","componentWillLoad","trackComponent","updateInternalError","updateInternalErrorMessage","loadedOptionsChanged","onSelectionChange","newValue","_","formData","FormData","forEach","append","name","internals","setFormValue","handleOptionClick","isSelectionLimitReached","checkboxRef","toggleCheckedState","updateSelection","ifxSelect","newOptionsLength","maxItemCount","selectedOption","wasSelected","handleParentOptionClick","handleChildOptionClick","selectAll","selectAllRecursive","allChildrenSelected","every","newChildren","childOption","updateParentSelectedState","_a","isOptionIndeterminate","indeterminate","getSizeClass","toggleDropdown","addEventListener","waitForElement","querySelectorFunc","callback","maxTries","tries","request","requestAnimationFrame","elements","handleKeyDown","querySelectorAll","code","updateHighlightedOption","handleArrowDown","handleArrowUp","handleWrapperClick","currentTarget","clearSelection","wrapperRect","el","shadowRoot","querySelector","getBoundingClientRect","spaceBelow","window","innerHeight","bottom","spaceAbove","top","height","dropdownFlipped","classList","remove","add","focus","handleOptionKeyDown","e","key","stopPropagation","renderOption","index","isIndeterminate","isSelected","isOptionSelected","disableCheckbox","uniqueId","h","class","onKeyDown","onClick","tabindex","role","tabIndex","ref","id","checked","htmlFor","map","childIndex","renderSubOption","persistentOption","selectedChildren","findInOptions","foundInChildren","renderSelectAll","allSelected","noneSelected","that","toggleSelectAll","handleSelectAllKeydown","render","selectedOptionsLabels","isChildSelectedWithParent","parentOption","join","undefined","onScroll","type","onInput","icon","globalZIndex"],"sources":["src/components/select/multi-select/multiselect.scss?tag=ifx-multiselect&encapsulation=shadow","src/components/select/multi-select/multiselect.tsx"],"sourcesContent":["// @import '~choices.js/public/assets/styles/choices.css';\n@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../../global/font.scss\";\n\n.ifx-multiselect-container {\n position: relative;\n box-sizing: border-box;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &.small-select {\n height: 36px;\n }\n\n &.medium-select {\n height: 40px;\n }\n\n &:hover {\n cursor: pointer;\n }\n\n\n .ifx-label-wrapper {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-error-message-wrapper {\n color: #CD002F;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n white-space: pre-wrap;\n word-wrap: break-word;\n overflow-wrap: anywhere;\n max-width: 100%;\n }\n\n .ifx-multiselect-wrapper {\n background-color: tokens.$ifxColorBaseWhite;\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n width: 100%;\n font-weight: 400;\n font-style: normal;\n\n\n &.small-select {\n height: 36px;\n padding: 8px 12px;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n height: 40px;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:focus-visible:not(.active):not(:active) {\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border: 2px solid tokens.$ifxColorOcean500;\n border-radius: 2px;\n\n }\n }\n\n &.disabled {\n background: tokens.$ifxColorEngineering200;\n color: #575352;\n border-color: #575352;\n cursor: default;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n }\n\n &.error {\n border-color: #CD002F;\n }\n\n &:hover:not(.focus, :focus) {\n border-color: tokens.$ifxColorEngineering500;\n }\n\n &.active {\n border-color: tokens.$ifxColorOcean500 !important; // Active border color\n\n & .icon-wrapper-up {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n & .icon-wrapper-down {\n display: none\n }\n }\n\n\n & .icon-wrapper-up {\n display: none;\n }\n\n & .icon-wrapper-down {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: tokens.$ifxSpace100;\n }\n\n &.is-flipped {\n .ifx-multiselect-dropdown-menu {\n top: auto;\n bottom: 100%;\n }\n }\n }\n\n .ifx-multiselect-input {\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &.placeholder {\n opacity: 0.5;\n }\n\n }\n\n\n .ifx-multiselect-icon-container {\n margin-left: auto;\n align-items: center;\n display: flex;\n }\n\n .ifx-clear-button {\n display: flex;\n &.hide { \n display: none;\n }\n }\n\n .ifx-multiselect-dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n margin-top: 2px;\n background-color: #fff;\n box-shadow: 0px 6px 9px 0px rgba(29, 29, 29, 0.10);\n max-height: 300px;\n /* Adjust based on your design */\n overflow-y: auto;\n z-index: 1000; \n\n .search-input {\n position: sticky;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n padding: 8px 16px;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n font-style: normal;\n font-weight: 400;\n box-sizing: border-box;\n background-color: tokens.$ifxColorBaseWhite;\n border: none;\n border-bottom: 1px solid tokens.$ifxColorEngineering400;\n\n &:focus {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n // Optional: Placeholder style\n &::placeholder {\n color: #999;\n }\n }\n }\n\n .option {\n position: relative;\n padding: 8px 16px;\n gap: 8px;\n align-items: center;\n display: flex;\n font-style: normal;\n font-weight: 400;\n\n &.small-select {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n &.medium-select {\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n }\n\n &:hover {\n background-color: tokens.$ifxColorEngineering200;\n }\n\n &:focus:not(.disabled) {\n background-color: tokens.$ifxColorEngineering300;\n outline: none;\n }\n\n &.is-highlighted {\n background-color: tokens.$ifxColorEngineering200;\n ;\n }\n\n &.sub-option {\n padding-left: 30px;\n /* or however much indentation you want */\n }\n\n &.disabled {\n &:hover {\n cursor: default;\n }\n }\n\n label {\n cursor: inherit;\n }\n }\n\n\n\n}\n\n.select-all-wrapper {\n padding-top: 8px;\n}","import { Component, Prop, State, Event, EventEmitter, Element, h, Watch, AttachInternals } from '@stencil/core';\nimport { trackComponent } from '../../../global/utils/tracking'; \nimport { Option } from './interfaces';\n\n// Debounce function\nfunction debounce(func, wait) {\n let timeout;\n return function executedFunction(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n};\n\n@Component({\n tag: 'ifx-multiselect',\n styleUrl: 'multiselect.scss',\n shadow: true,\n formAssociated: true\n})\n\n\n\nexport class Multiselect {\n\n @Prop() name: string;\n @Prop() options: any[] | string;\n @Prop() batchSize: number = 50;\n @Prop() size: string = 'medium (40px)';\n @Prop() disabled: boolean = false;\n @Prop() error: boolean = false;\n @State() internalError: boolean = false;\n @Prop() errorMessage: string = \"Error\";\n @State() internalErrorMessage: string;\n @Prop() label: string = \"\";\n @State() persistentSelectedOptions: Option[] = [];\n @Prop() placeholder: string = \"\";\n @State() dropdownOpen = false;\n @State() dropdownFlipped: boolean;\n @Prop() maxItemCount: number;\n static globalZIndex = 1000; // This will be shared among all instances of the component.\n private currentIndex: number = 0; //needed for option selection using keyboard\n @State() isLoading: boolean = false;\n @State() loadedOptions: Option[] = [];\n @State() filteredOptions: Option[] = [];\n @Prop() showSearch: boolean = true;\n @Prop() showSelectAll: boolean = true;\n @Prop() showClearButton: boolean = true;\n @State() optionCount: number = 0; // number of all options (leaves of the tree)\n @State() optionsProcessed: boolean = false; // flag whether options have already been counted, intial selections saved\n\n\n @Event() ifxSelect: EventEmitter;\n @Event() ifxOpen: EventEmitter;\n\n @Element() el: HTMLElement;\n dropdownElement!: HTMLElement;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('options')\n updateOptions() { \n this.loadedOptions = [];\n this.filteredOptions = [];\n this.optionCount = 0;\n this.optionsProcessed = false;\n this.persistentSelectedOptions = [];\n\n this.loadInitialOptions();\n }\n\n\n async loadInitialOptions() {\n this.isLoading = true;\n this.internalError = this.error;\n this.internalErrorMessage = this.errorMessage;\n // Load the first batch of options (e.g., first 20)\n this.loadedOptions = await this.fetchOptions(0, this.batchSize);\n this.isLoading = false;\n }\n\n async fetchMoreOptions() {\n this.isLoading = true;\n const moreOptions = await this.fetchOptions(this.loadedOptions.length, this.batchSize);\n this.loadedOptions = [...this.loadedOptions, ...moreOptions];\n this.isLoading = false;\n }\n\n\n handleScroll(event: UIEvent) {\n const element = event.target as HTMLElement;\n const halfwayPoint = Math.floor((element.scrollHeight - element.clientHeight) / 2); //loading more options when the user has scrolled halfway through the current list\n\n if (element.scrollTop >= halfwayPoint) {\n this.fetchMoreOptions();\n }\n }\n\n\n\n\n async fetchOptions(startIndex: number, count: number): Promise<Option[]> {\n let allOptions: Option[] = [];\n\n // Parse options if it's a string, or use directly if it's an array\n if (typeof this.options === 'string') {\n try {\n allOptions = JSON.parse(this.options);\n \n } catch (err) {\n console.error('Failed to parse options:', err);\n }\n } else if (Array.isArray(this.options)) {\n allOptions = this.options;\n } else {\n console.error('Unexpected value for options:', this.options);\n }\n\n if (!this.optionsProcessed) {\n this.optionCount = this.countOptions(allOptions);\n const initiallySelected = this.collectSelectedOptions(allOptions);\n const initallySelectedNotInState = initiallySelected.filter(init => !this.persistentSelectedOptions.some(opt => opt.value == init.value));\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...initallySelectedNotInState];\n this.optionsProcessed = true;\n }\n // Slice the options array based on startIndex and count\n const slicedOptions = allOptions.slice(startIndex, startIndex + count);\n return slicedOptions;\n }\n\n /**\n * Collects and returns all options that are selected.\n * When the parent is selected, then the value of the children will be overriden with selected as well.\n * It will only collect the leaves of the tree.\n * \n * @param options A list of options.\n * @returns A list with all selected options\n */\n private collectSelectedOptions(options: Option[]): Option[] {\n let selectedOptions: Option[] = [];\n \n for (const option of options) {\n if (option.selected) {\n if (option.children && option.children.length > 0) {\n // if parent is selected, then select all child options\n selectedOptions = selectedOptions.concat(this.collectLeafOptions(option.children));\n } else {\n if (!selectedOptions.some(existingOption => existingOption.value === option.value)) {\n selectedOptions.push(option);\n }\n }\n } else {\n if (option.children && option.children.length > 0) {\n selectedOptions = selectedOptions.concat(this.collectSelectedOptions(option.children));\n }\n }\n }\n\n return selectedOptions;\n }\n\n /**\n * Collects all leaf children options.\n * \n * @param option A list with all leaf-children.\n */\n private collectLeafOptions(children: Option[]): Option[] {\n let leafOptions = [];\n \n for (const child of children) {\n if (child.children && child.children.length > 0) {\n leafOptions = leafOptions.concat(this.collectLeafOptions(child.children));\n } else {\n leafOptions.push(child);\n }\n } \n return leafOptions;\n }\n\n /**\n * Count the number of options. Only counts the leaves of the options tree.\n */\n countOptions(options: Option[]): number {\n let count = 0;\n for (const option of options) {\n if (option.children && option.children.length >= 0) {\n count += this.countOptions(option.children);\n } else {\n count++;\n }\n }\n return count;\n }\n\n\n handleSearch = debounce((targetElement: HTMLInputElement) => {\n const searchTerm = targetElement.value.toLowerCase();\n if (searchTerm === '') {\n this.filteredOptions = this.loadedOptions;\n } else {\n this.filteredOptions = this.loadedOptions.filter(option => {\n const matchesSearchTerm = option.label.toLowerCase().includes(searchTerm);\n if (option.children) {\n const childrenMatch = option.children.some(child => {\n return child.label.toLowerCase().includes(searchTerm);\n });\n return matchesSearchTerm || childrenMatch;\n }\n return matchesSearchTerm;\n });\n }\n }, 300);\n\n componentDidLoad() {\n setTimeout(() => {\n this.positionDropdown();\n }, 500);\n\n // setInterval(this.handleScroll, 5000); // Runs every 5 seconds (5000 milliseconds)\n }\n\n componentWillLoad() {\n trackComponent('ifx-multiselect')\n this.loadInitialOptions();\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('error')\n updateInternalError() {\n this.internalError = this.error;\n }\n\n @Watch('errorMessage')\n updateInternalErrorMessage() {\n this.internalErrorMessage = this.errorMessage;\n }\n\n @Watch('loadedOptions')\n loadedOptionsChanged() {\n this.filteredOptions = [...this.loadedOptions];\n }\n\n @Watch('persistentSelectedOptions')\n onSelectionChange(newValue: Option[], _: Option[]) {\n const formData = new FormData();\n newValue.forEach(option => formData.append(this.name, option.value));\n this.internals.setFormValue(formData);\n }\n\n handleOptionClick(option: Option) {\n this.internalError = false;\n\n if (!option.selected && this.isSelectionLimitReached(option)) {\n option.checkboxRef.toggleCheckedState(false)\n this.internalError = true;\n this.internalErrorMessage = \"Please consider the maximum number of items to choose from\";\n return;\n }\n \n this.updateSelection(option);\n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n\n isSelectionLimitReached(option: Option): boolean {\n let newOptionsLength = option.children ? option.children.length : 1;\n return this.maxItemCount && this.persistentSelectedOptions.length + newOptionsLength > this.maxItemCount &&\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value)\n }\n\n updateSelection(option: Option) {\n const wasSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n\n if (option.children && option.children.length > 0) {\n this.handleParentOptionClick(option);\n } else {\n this.handleChildOptionClick(option, wasSelected);\n }\n }\n\n async selectAll() {\n const allOptions = await this.fetchOptions(0, this.optionCount);\n this.selectAllRecursive(allOptions);\n \n this.ifxSelect.emit(this.persistentSelectedOptions);\n }\n\n private selectAllRecursive(options: Option[]) {\n for (const opt of options) {\n if (opt.children && opt.children.length > 0) {\n this.selectAllRecursive(opt.children);\n } else {\n if (!this.persistentSelectedOptions.some((some) => some.value === opt.value )) {\n opt.selected = true;\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, opt];\n this.optionCount = this.countOptions( this.persistentSelectedOptions)\n }\n }\n }\n\n }\n\n handleParentOptionClick(option: Option) {\n const allChildrenSelected = option.children.every(child =>\n this.persistentSelectedOptions.some(selectedOption => selectedOption.value === child.value)\n );\n\n if (allChildrenSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(\n selectedOption => !option.children.some(child => child.value === selectedOption.value)\n )];\n\n option.selected = false;\n option.children.forEach(child => {\n child.selected = false;\n })\n\n } else {\n const newChildren = [...option.children.filter(childOption =>\n !this.persistentSelectedOptions.some(selectedOption => selectedOption.value === childOption.value)\n )];\n option.selected = true;\n option.children.forEach(child => {\n child.selected = true;\n })\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, ...newChildren];\n }\n }\n\n handleChildOptionClick(option: Option, wasSelected: boolean) {\n if (wasSelected) {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions.filter(selectedOption => selectedOption.value !== option.value)];\n option.selected = false;\n } else {\n this.persistentSelectedOptions = [...this.persistentSelectedOptions, option];\n option.selected = true;\n }\n this.updateParentSelectedState();\n }\n\n updateParentSelectedState() {\n this.loadedOptions.forEach(option => {\n if(option.children?.length > 0) {\n if(option.children.every(child => child.selected === true)) option.selected = true;\n else {\n option.selected = false;\n if(this.isOptionIndeterminate(option)) {\n option.indeterminate = true;\n }else{\n option.indeterminate = false;\n }\n }\n }\n });\n }\n\n\n\n handleDocumentClick = (event: Event) => {\n const path = event.composedPath();\n if (!path.includes(this.dropdownElement)) {\n this.dropdownOpen = false;\n document.removeEventListener('click', this.handleDocumentClick);\n this.filteredOptions = this.loadedOptions;\n // Dispatch the ifxMultiselectIsOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"small-select\"\n : \"medium-select\";\n }\n\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n setTimeout(() => {\n if (this.dropdownOpen) {\n document.addEventListener('click', this.handleDocumentClick);\n }\n // Dispatch the ifxOpen event\n this.ifxOpen.emit(this.dropdownOpen);\n }, 0);\n }\n\n\n waitForElement(querySelectorFunc: Function, callback: Function, maxTries = 50) {\n let tries = 0;\n function request() {\n requestAnimationFrame(() => {\n const elements = querySelectorFunc();\n if (elements.length > 0 || tries > maxTries) {\n callback(elements);\n } else {\n tries++;\n request();\n }\n });\n }\n request();\n }\n\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return; // If it's disabled, don't do anything.\n\n const options = this.dropdownElement.querySelectorAll('.option');\n \n switch (event.code) {\n case 'Enter':\n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'Space': \n this.toggleDropdown();\n // Wait a bit for the dropdown to finish rendering\n this.waitForElement(() => {\n return this.dropdownElement.querySelectorAll('.option');\n }, (options) => {\n this.updateHighlightedOption(options);\n });\n break;\n case 'ArrowDown':\n this.handleArrowDown(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n case 'ArrowUp':\n this.handleArrowUp(options);\n if (this.dropdownOpen) {\n this.updateHighlightedOption(options);\n }\n break;\n }\n }\n\n handleWrapperClick(event: MouseEvent) {\n // This is your existing logic for positioning the dropdown\n this.positionDropdown();\n\n // Check if the event target is the wrapper itself and not a child element.\n if (event.currentTarget === event.target) {\n this.toggleDropdown();\n }\n }\n\n clearSelection() {\n this.persistentSelectedOptions = [];\n this.ifxSelect.emit(this.persistentSelectedOptions); // if you want to emit empty selection after clearing\n }\n\n positionDropdown() {\n const wrapperRect = this.el.shadowRoot.querySelector('.ifx-multiselect-wrapper')?.getBoundingClientRect();\n const spaceBelow = window.innerHeight - wrapperRect.bottom;\n const spaceAbove = wrapperRect.top;\n\n // If there's more space above than below the trigger and the dropdown doesn't fit below\n if ((spaceAbove > spaceBelow && wrapperRect.height > spaceBelow) || (wrapperRect.bottom > window.innerHeight)) {\n this.dropdownFlipped = true;\n } else {\n this.dropdownFlipped = false;\n }\n }\n\n\n\n // Helper function to update highlighted option based on currentIndex\n private updateHighlightedOption(options: NodeList) {\n // Clear all highlights\n options.forEach((option: Element) => option.classList.remove('is-highlighted'));\n\n // Apply highlight to the current option\n if (this.currentIndex >= 0 && this.currentIndex < options.length) {\n (options[this.currentIndex] as Element).classList.add('is-highlighted');\n (options[this.currentIndex] as HTMLElement).focus();\n }\n }\n\n // Helper function to handle arrow down navigation\n private handleArrowDown(options: NodeList) {\n if (this.currentIndex < options.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0; // Wrap to the beginning.\n }\n }\n\n // Helper function to handle arrow up navigation\n private handleArrowUp(options: NodeList) {\n if (this.currentIndex > 0) {\n this.currentIndex--;\n } else {\n this.currentIndex = options.length - 1; // Wrap to the end.\n }\n }\n \n handleOptionKeyDown(e: KeyboardEvent, option: Option) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n this.handleOptionClick(option);\n }\n }\n\n renderOption(option: Option, index: number) {\n const isIndeterminate = this.isOptionIndeterminate(option);\n const isSelected = option.children ? isIndeterminate || this.isOptionSelected(option) : this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`; // Generate a unique ID using the index\n \n return (\n <div class=\"option-wrapper\">\n <div class={`option ${isSelected ? 'selected' : ''} ${disableCheckbox ? 'disabled' : ''} \n ${this.getSizeClass()}`}\n data-value={option.value}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\"\n role={`${option.children?.length > 0 ? \"treeitem\" : \"option\"}`}>\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isIndeterminate ? false : isSelected} indeterminate={isIndeterminate} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n {option.children && option.children.map((child, childIndex) => this.renderSubOption(child, `${index}-${childIndex}`))}\n </div>\n );\n }\n\n isOptionSelected(option: Option): boolean {\n if (!option.children) return false;\n\n return option.children.every(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n );\n }\n\n\n isOptionIndeterminate(option: Option): boolean {\n if (!option.children) return false;\n\n const selectedChildren = option.children.filter(child =>\n this.persistentSelectedOptions.some(persistentOption => persistentOption.value === child.value)\n ).length;\n\n return selectedChildren > 0 && selectedChildren < option.children.length;\n }\n\n\n findInOptions(options: Option[], searchTerm: string): Option | null {\n for (const option of options) {\n if (option.value === searchTerm) {\n return option;\n }\n if (option.children) {\n const foundInChildren = this.findInOptions(option.children, searchTerm);\n if (foundInChildren) {\n return foundInChildren;\n }\n }\n }\n return null;\n }\n\n\n renderSubOption(option: Option, index: string) {\n const isSelected = this.persistentSelectedOptions.some(selectedOption => selectedOption.value === option.value);\n const disableCheckbox = !isSelected && this.maxItemCount && this.persistentSelectedOptions.length >= this.maxItemCount;\n const uniqueId = `checkbox-${option.value}-${index}`;\n\n return (\n <div class={`option sub-option ${isSelected ? 'selected' : ''} ${this.getSizeClass()} ${disableCheckbox ? 'disabled' : ''}`}\n data-value={option.value}\n role={`${option.children?.length > 0 ? \"option\" : \"treeitem\"}`}\n onKeyDown={(e) => !disableCheckbox && this.handleOptionKeyDown(e, option)}\n onClick={() => !disableCheckbox && this.handleOptionClick(option)}\n tabindex=\"0\">\n <ifx-checkbox tabIndex={-1} ref={(el) => option.checkboxRef = el} id={uniqueId} size=\"s\" checked={isSelected} disabled={disableCheckbox}></ifx-checkbox>\n <label htmlFor={uniqueId} onClick={(e) => e.stopPropagation()}>{option.label}</label>\n </div>\n );\n }\n\n private renderSelectAll() {\n const allSelected = this.persistentSelectedOptions.length === this.optionCount;\n const noneSelected = this.persistentSelectedOptions.length === 0;\n const indeterminate = this.optionCount > 0 && !noneSelected && !allSelected;\n\n const that = this;\n function toggleSelectAll() {\n if (allSelected) {\n that.clearSelection();\n } else {\n that.selectAll();\n }\n }\n\n function handleSelectAllKeydown(e: KeyboardEvent) {\n if(e.key !== 'ArrowUp' && e.key !== 'ArrowDown') e.stopPropagation();\n if(e.key === 'Enter' || e.key === ' ') {\n toggleSelectAll();\n }\n }\n\n return <div class=\"select-all-wrapper\">\n <div class={`option ${this.getSizeClass()}`} tabindex='0' onKeyDown={(e) => handleSelectAllKeydown(e)} onClick={toggleSelectAll}>\n <ifx-checkbox tabIndex={-1} id='selectAll' checked={allSelected} indeterminate={indeterminate} size=\"s\"></ifx-checkbox>\n <label htmlFor='selectAll'>Select all</label>\n </div>\n <ifx-dropdown-separator></ifx-dropdown-separator>\n </div>;\n }\n\n\n render() {\n // Create a label for the selected options\n const selectedOptionsLabels = this.persistentSelectedOptions\n .filter(option => {\n // check if option is a child and its parent is selected\n const isChildSelectedWithParent = this.persistentSelectedOptions.some(parentOption =>\n parentOption.children &&\n parentOption.children.some(child => child.value === option.value) &&\n parentOption.selected\n );\n return !isChildSelectedWithParent;\n })\n .map(option => option.label)\n .join(', ');\n\n return (\n <div class={`ifx-multiselect-container`} ref={el => this.dropdownElement = el as HTMLElement}>\n {\n this.label ?\n <div class=\"ifx-label-wrapper\">\n <span>{this.label}</span>\n </div> : null\n }\n <div class={`ifx-multiselect-wrapper \n ${this.getSizeClass()} \n ${this.dropdownOpen ? 'active' : ''} \n ${this.dropdownFlipped ? 'is-flipped' : ''}\n ${this.internalError ? 'error' : \"\"}\n ${this.disabled ? 'disabled' : \"\"}`}\n tabindex=\"0\"\n onClick={this.disabled ? undefined : (event) => this.handleWrapperClick(event)}\n onKeyDown={this.disabled ? undefined : (event) => this.handleKeyDown(event)} >\n <div class={`ifx-multiselect-input \n ${this.persistentSelectedOptions.length === 0 ? 'placeholder' : \"\"}\n `}\n onClick={this.disabled ? undefined : () => this.toggleDropdown()}\n >\n {this.persistentSelectedOptions.length > 0 ? selectedOptionsLabels : this.placeholder}\n </div>\n {this.dropdownOpen && (\n <div class=\"ifx-multiselect-dropdown-menu\"\n onScroll={(event) => this.handleScroll(event)}>\n {this.showSearch && <input type=\"text\" role=\"textbox\" class=\"search-input\" onKeyDown={(e) => { e.stopPropagation() }} onInput={(event) => this.handleSearch(event.target)} placeholder=\"Search...\"></input>}\n {this.showSelectAll && this.renderSelectAll()}\n {this.filteredOptions.map((option, index) => this.renderOption(option, index))}\n {this.isLoading && <div>Loading more options...</div>}\n </div>\n )}\n <div class='ifx-multiselect-icon-container'>\n\n {/* Clear Button - will show only if there's a selection */}\n {this.persistentSelectedOptions.length > 0 && ( \n <div class={`ifx-clear-button ${!this.showClearButton ? 'hide' : ''}`} onClick={this.disabled ? undefined : () => this.clearSelection()}>\n <ifx-icon icon=\"cRemove16\"></ifx-icon>\n </div>\n )}\n <div class=\"icon-wrapper-up\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-up'\n icon='chevron-up-16'></ifx-icon>\n </div>\n <div class=\"icon-wrapper-down\" onClick={this.disabled ? undefined : () => this.toggleDropdown()}>\n <ifx-icon\n key='icon-down'\n icon='chevron-down-16'></ifx-icon>\n </div>\n </div>\n\n </div>\n {\n this.internalError ?\n <div class=\"ifx-error-message-wrapper\">\n <span>{this.internalErrorMessage}</span>\n </div> : null\n }\n </div>\n );\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as i,h as o,a as t}from"./p-b7a462e5.js";import{t as f}from"./p-6ecb6a6f.js";const n=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.ifx-notification__wrapper{display:flex;flex-direction:row;align-items:center;padding:8px 16px;background-color:#FFFFFF;font-family:var(--ifx-font-family);color:#1D1D1D;border:1px solid #EEEDED}.ifx-notification__wrapper.ifx-notification__wrapper--success{border-left:4px solid #4CA460}.ifx-notification__wrapper.ifx-notification__wrapper--success .ifx-notification__icon{color:#4CA460}.ifx-notification__wrapper.ifx-notification__wrapper--locked{border-left:4px solid #E16B25}.ifx-notification__wrapper.ifx-notification__wrapper--locked .ifx-notification__icon{color:#E16B25}.ifx-notification__wrapper.ifx-notification__wrapper--error{border-left:4px solid #CD002F}.ifx-notification__wrapper.ifx-notification__wrapper--error .ifx-notification__icon{color:#CD002F}.ifx-notification__wrapper.ifx-notification__wrapper--neutral{border-left:4px solid #0A8276}.ifx-notification__wrapper.ifx-notification__wrapper--neutral .ifx-notification__icon{color:#0A8276}.ifx-notification__wrapper .ifx-notification__icon{margin-right:8px;display:flex;align-self:center}.ifx-notification__wrapper .ifx-notification__body{display:flex;flex-direction:row;flex-grow:1;font-size:0.875rem}.ifx-notification__wrapper .ifx-notification__body .ifx-notification__slot{flex-grow:1;display:inline-flex;align-items:center}.ifx-notification__wrapper .ifx-notification__link{font-size:0.875rem}@media (max-width: 576px){.ifx-notification__wrapper .ifx-notification__icon{align-self:flex-start}.ifx-notification__wrapper .ifx-notification__body{flex-direction:column}.ifx-notification__wrapper .ifx-notification__link{margin-top:8px}}';const e=n;const a=class{constructor(o){i(this,o);this.variant="success";this.linkTarget="_blank"}componentWillLoad(){f("ifx-notification")}getClassName(){switch(this.variant){case"success":return"ifx-notification__wrapper--success";case"locked":return"ifx-notification__wrapper--locked";case"error":return"ifx-notification__wrapper--error";case"neutral":return"ifx-notification__wrapper--neutral";default:return"ifx-notification__wrapper--success"}}render(){return o(t,{key:"e9031e1641a115ff3c23b9bba59d20f82e43e187"},o("div",{key:"6e4e3d196b0f224c46221e09bd8a955dc00c00c6",class:"ifx-notification__wrapper "+this.getClassName()},o("div",{key:"84ca7f2e0bdb3e95ce080743069860ecc8db77b8",class:"ifx-notification__icon"},o("ifx-icon",{key:"66fe9f6f1730398db15db5c5212b16572b7e4d91",icon:this.icon})),o("div",{key:"c39e3c9f4050552937a0b1cafbed54089909b908",class:"ifx-notification__body"},o("div",{key:"58b9cfe0b0e03f6e1186d5f6676b8cb2574daf44",class:"ifx-notification__slot"},o("slot",{key:"eaea2d61beb01dba6a270b3e1faecfe03ec37d5f"})),this.linkText&&this.linkHref&&o("div",{key:"aa1941c875065c257257f539b2cb7c6dadad632f",class:"ifx-notification__link"},o("ifx-link",{key:"8fb78c246fbc7b8db3b143e1c046543beb7983f8",href:this.linkHref,target:this.linkTarget},this.linkText,o("ifx-icon",{key:"1fee547e5476e9bc3140985fc957181fe877441b",icon:"arrow-right-16"}))))))}};a.style=e;export{a as ifx_notification};
|
2
|
+
//# sourceMappingURL=p-eae13f8c.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["notificationCss","IfxNotificationStyle0","Notification","constructor","hostRef","this","variant","linkTarget","componentWillLoad","trackComponent","getClassName","render","h","Host","key","class","icon","linkText","linkHref","href","target"],"sources":["src/components/notification/notification.scss?tag=ifx-notification&encapsulation=shadow","src/components/notification/notification.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n.ifx-notification__wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n\n background-color: tokens.$ifxColorBaseWhite;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n color: tokens.$ifxColorBaseBlack;\n\n border: tokens.$ifxBorderWidth12 solid tokens.$ifxColorEngineering200;\n\n &.ifx-notification__wrapper--success {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorGreen500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorGreen500;\n }\n }\n\n &.ifx-notification__wrapper--locked {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorOrange500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorOrange500;\n }\n }\n\n &.ifx-notification__wrapper--error {\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorRed500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorRed500;\n }\n }\n\n &.ifx-notification__wrapper--neutral{\n border-left: tokens.$ifxBorderWidth50 solid tokens.$ifxColorOcean500;\n\n & .ifx-notification__icon {\n color: tokens.$ifxColorOcean500;\n }\n }\n\n & .ifx-notification__icon {\n margin-right: tokens.$ifxSpace100;\n display: flex;\n align-self: center;\n }\n\n & .ifx-notification__body {\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n font-size: tokens.$ifxFontSizeS;\n\n & .ifx-notification__slot {\n flex-grow: 1;\n display: inline-flex;\n align-items: center;\n }\n }\n\n & .ifx-notification__link {\n font-size: tokens.$ifxFontSizeS;\n }\n\n @media (max-width: tokens.$ifxBreakpointXs) {\n & .ifx-notification__icon {\n align-self: flex-start;\n }\n\n & .ifx-notification__body {\n flex-direction: column;\n }\n\n & .ifx-notification__link {\n margin-top: tokens.$ifxSpace100;\n }\n }\n}","import { Component, h, Host, Prop } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\n \nexport type NotificationVariant = 'success' | 'locked' | 'error' | 'neutral';\n\n@Component({\n tag: 'ifx-notification',\n styleUrl: 'notification.scss',\n shadow: true\n})\nexport class Notification {\n @Prop() icon: string;\n @Prop() variant: NotificationVariant = 'success';\n @Prop() linkText: string; \n @Prop() linkHref: string;\n @Prop() linkTarget: string = '_blank';\n\n componentWillLoad() { \n trackComponent('ifx-notification')\n }\n\n private getClassName(): string {\n switch (this.variant) {\n case 'success':\n return 'ifx-notification__wrapper--success';\n case 'locked':\n return 'ifx-notification__wrapper--locked';\n case 'error':\n return 'ifx-notification__wrapper--error';\n case 'neutral':\n return 'ifx-notification__wrapper--neutral';\n default:\n return 'ifx-notification__wrapper--success';\n }\n }\n\n render() {\n return (\n <Host>\n <div class={\"ifx-notification__wrapper \" + this.getClassName()}>\n <div class=\"ifx-notification__icon\">\n <ifx-icon icon={this.icon}></ifx-icon>\n </div>\n <div class=\"ifx-notification__body\">\n <div class=\"ifx-notification__slot\">\n <slot/>\n </div>\n { this.linkText && this.linkHref && \n <div class=\"ifx-notification__link\">\n <ifx-link href={this.linkHref} target={this.linkTarget}>\n {this.linkText}<ifx-icon icon=\"arrow-right-16\">\n </ifx-icon>\n </ifx-link>\n </div>\n }\n </div>\n </div>\n </Host>\n );\n }\n}"],"mappings":"sFAAA,MAAMA,EAAkB,ooDACxB,MAAAC,EAAeD,E,MCSFE,EAAY,MALzB,WAAAC,CAAAC,G,UAOUC,KAAAC,QAA+B,UAG/BD,KAAAE,WAAqB,Q,CAE7B,iBAAAC,GACEC,EAAe,mB,CAGT,YAAAC,GACN,OAAQL,KAAKC,SACX,IAAK,UACH,MAAO,qCACT,IAAK,SACH,MAAO,oCACT,IAAK,QACH,MAAO,mCACT,IAAK,UACH,MAAO,qCACT,QACE,MAAO,qC,CAIb,MAAAK,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAO,6BAA+BV,KAAKK,gBAC9CE,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,YAAAE,IAAA,2CAAUE,KAAMX,KAAKW,QAEvBJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,QAAAE,IAAA,8CAEAT,KAAKY,UAAYZ,KAAKa,UACxBN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,0BACTH,EAAA,YAAAE,IAAA,2CAAUK,KAAMd,KAAKa,SAAUE,OAAQf,KAAKE,YACzCF,KAAKY,SAASL,EAAA,YAAAE,IAAA,2CAAUE,KAAK,uB","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,h as i}from"./p-b7a462e5.js";import{t}from"./p-6ecb6a6f.js";import{c as n}from"./p-5cdc6210.js";const l=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:inline-flex}.link{display:inline-flex;align-items:center;font-weight:400;font-size:1rem;text-decoration:none;color:#0A8276;gap:8px;line-height:1.6;font-family:var(--ifx-font-family)}.link:hover{cursor:pointer}.link:focus{outline-width:2px;outline-style:solid;outline-color:#0A8276;outline-offset:4px;border-radius:3px}.link.bold{font-weight:600}.link.bold:hover{text-decoration:underline}.link.bold:active{color:#08665C;font-style:normal;font-weight:600;text-decoration:underline}.link.underlined{text-decoration:underline;text-decoration-color:#0A8276;color:#1D1D1D;text-underline-offset:8px}.link.underlined:hover{color:#0A8276}.link.underlined:active{color:#0A8276}.link.underlined:disabled,.link.underlined.disabled{text-decoration-color:#BFBBBB}.link.title{text-decoration:none;font-weight:600;color:#1D1D1D}.link.title:hover{color:#0A8276}.link.title:active{color:#08665C}.link.menu{font-weight:400;font-style:normal;line-height:26px;color:#1D1D1D}.link.menu:hover{color:#0A8276}.link.menu:active{color:#08665C}.link.small{font-size:0.875rem}.link.medium{font-size:1rem}.link.large{font-size:1.125rem}.link.extraLarge{font-size:1.25rem}.link.underline{text-decoration:underline}.link:disabled,.link.disabled{color:#BFBBBB;cursor:default;pointer-events:none}';const o=l;const r=class{constructor(i){e(this,i);this.href=undefined;this.target="_self";this.variant="bold";this.disabled=false;this.internalHref="";this.internalTarget="";this.internalVariant=""}setInternalStates(){if(this.href){this.internalHref=this.href.trim()}else{this.internalHref=undefined}this.internalTarget=this.target.trim();this.internalVariant=this.variant.trim().toLowerCase()}componentWillRender(){this.setInternalStates()}handleKeyDown(e){if(this.disabled){e.preventDefault()}else if(e.key==="Enter"){e.preventDefault()}}componentWillLoad(){t("ifx-link")}render(){return i("a",{key:"f4d92f6db4e493012426ee9f166abf4ec4936b1b",role:"link","aria-label":this.ariaLabel,"aria-disabled":this.disabled||!this.internalHref,href:this.disabled?undefined:this.internalHref,download:this.download,target:this.internalTarget,class:this.linkClassNames()},i("slot",{key:"4a1504a55f658cebc4be7866146dc5992f49f30a"}))}getSizeClass(){const e=this.size==="s"?"small":null;const i=this.size==="m"?"medium":null;const t=this.size==="l"?"large":null;const n=this.size==="xl"?"extraLarge":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n&&this.internalVariant==="underlined"){return"large"}else if(n&&this.internalVariant!=="underlined"){return n}else return""}getVariantClass(){const e=this.internalVariant==="bold"?"bold":null;const i=this.internalVariant==="title"?"title":null;const t=this.internalVariant==="underlined"?"underlined":null;const n=this.internalVariant==="menu"?"menu":null;if(e){return e}else if(i){return i}else if(t){return t}else if(n){return n}else return e}linkClassNames(){return n("link","primary",this.getVariantClass(),this.getSizeClass(),this.disabled?"disabled":"")}};r.style=o;export{r as ifx_link};
|
2
|
+
//# sourceMappingURL=p-f3e01216.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["linkCss","IfxLinkStyle0","Link","constructor","hostRef","this","href","undefined","target","variant","disabled","internalHref","internalTarget","internalVariant","setInternalStates","trim","toLowerCase","componentWillRender","handleKeyDown","event","preventDefault","key","componentWillLoad","trackComponent","render","h","role","ariaLabel","download","class","linkClassNames","getSizeClass","small","size","medium","large","extraLarge","getVariantClass","bold","title","underlined","menu","classNames"],"sources":["src/components/link/link.scss?tag=ifx-link&encapsulation=shadow","src/components/link/link.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n text-decoration: none;\n color: tokens.$ifxColorOcean500;\n gap: tokens.$ifxSpace100;\n line-height: 1.6;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover { \n cursor: pointer;\n }\n\n &:focus {\n outline-width: 2px;\n outline-style: solid;\n outline-color: #0A8276;\n outline-offset: 4px;\n border-radius: 3px;\n }\n\n &.bold {\n font-weight: tokens.$ifxFontWeightSemibold;\n\n &:hover {\n text-decoration: underline;\n }\n\n &:active {\n color: #08665C;\n font-style: normal;\n font-weight: 600;\n text-decoration: underline;\n }\n\n }\n\n &.underlined {\n text-decoration: underline;\n text-decoration-color: tokens.$ifxColorOcean500;\n color: #1D1D1D;\n text-underline-offset: 8px;\n \n &:hover {\n color: tokens.$ifxColorOcean500;;\n }\n \n &:active {\n color: #0A8276;\n }\n\n &:disabled,\n &.disabled {\n text-decoration-color: tokens.$ifxColorEngineering300;\n }\n }\n\n &.title {\n text-decoration: none;\n font-weight: tokens.$ifxFontWeightSemibold;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.menu {\n font-weight: 400;\n font-style: normal;\n line-height: 26px;\n color: #1D1D1D;\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active {\n color: #08665C;\n }\n }\n\n &.small {\n font-size: tokens.$ifxFontSizeS;\n }\n\n &.medium {\n font-size: tokens.$ifxFontSizeM;\n }\n\n &.large {\n font-size: tokens.$ifxFontSizeL;\n }\n\n &.extraLarge {\n font-size: tokens.$ifxFontSizeXl;\n }\n\n &.underline {\n text-decoration: underline;\n }\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n cursor: default;\n pointer-events: none;\n }\n\n}","import { Component, Prop, h, State } from \"@stencil/core\";\nimport { trackComponent } from '../../global/utils/tracking';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-link',\n styleUrl: 'link.scss',\n shadow: true\n})\n\nexport class Link {\n @Prop() href: string = undefined;\n @Prop() target: string = '_self';\n @Prop() variant: string = 'bold';\n @Prop() size: string;\n @Prop() disabled: boolean = false;\n @Prop() download: string;\n @Prop() ariaLabel: string | null;\n @State() internalHref: string ='';\n @State() internalTarget: string = '';\n @State() internalVariant: string = '';\n\n setInternalStates() {\n if(this.href){\n this.internalHref = this.href.trim();\n }else{\n this.internalHref = undefined;\n }\n this.internalTarget = this.target.trim();\n this.internalVariant = this.variant.trim().toLowerCase();\n }\n\n componentWillRender(){\n this.setInternalStates();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) {\n event.preventDefault();\n } else if (event.key === 'Enter') {\n event.preventDefault();\n }\n }\n\n componentWillLoad() { \n trackComponent('ifx-link')\n }\n\n render() {\n return (\n <a\n role=\"link\"\n aria-label={this.ariaLabel}\n aria-disabled={this.disabled || !this.internalHref}\n href={this.disabled ? undefined : this.internalHref}\n download={this.download}\n target={this.internalTarget}\n class={this.linkClassNames()}>\n <slot></slot>\n </a>)\n }\n\n getSizeClass() {\n const small = this.size === 's' ? 'small' : null;\n const medium = this.size === 'm' ? 'medium' : null;\n const large = this.size === 'l' ? 'large' : null;\n const extraLarge = this.size === 'xl' ? 'extraLarge' : null;\n\n if (small) {\n return small;\n } else if (medium) {\n return medium;\n } else if (large) {\n return large;\n } else if (extraLarge && this.internalVariant === 'underlined') {\n return 'large';\n } else if (extraLarge && this.internalVariant !== 'underlined') {\n return extraLarge;\n } else return \"\";\n }\n\n getVariantClass() {\n const bold = this.internalVariant === 'bold' ? 'bold' : null;\n const title = this.internalVariant === 'title' ? 'title' : null;\n const underlined = this.internalVariant === 'underlined' ? 'underlined' : null;\n const menu = this.internalVariant === 'menu' ? 'menu' : null;\n\n if (bold) {\n return bold\n } else if (title) {\n return title;\n } else if (underlined) {\n return underlined;\n } else if (menu) {\n return menu;\n } else return bold;\n }\n\n linkClassNames() {\n return classNames(\n 'link',\n 'primary',\n this.getVariantClass(),\n this.getSizeClass(),\n this.disabled ? 'disabled' : '',\n );\n }\n}"],"mappings":"8GAAA,MAAMA,EAAU,6zCAChB,MAAAC,EAAeD,E,MCSFE,EAAI,MANjB,WAAAC,CAAAC,G,UAOUC,KAAAC,KAAeC,UACfF,KAAAG,OAAiB,QACjBH,KAAAI,QAAkB,OAElBJ,KAAAK,SAAoB,MAGnBL,KAAAM,aAAsB,GACtBN,KAAAO,eAAyB,GACzBP,KAAAQ,gBAA0B,E,CAEnC,iBAAAC,GACE,GAAGT,KAAKC,KAAK,CACXD,KAAKM,aAAeN,KAAKC,KAAKS,M,KAC3B,CACHV,KAAKM,aAAeJ,S,CAEtBF,KAAKO,eAAiBP,KAAKG,OAAOO,OAClCV,KAAKQ,gBAAkBR,KAAKI,QAAQM,OAAOC,a,CAG7C,mBAAAC,GACEZ,KAAKS,mB,CAGP,aAAAI,CAAcC,GACZ,GAAId,KAAKK,SAAU,CACjBS,EAAMC,gB,MACD,GAAID,EAAME,MAAQ,QAAS,CAChCF,EAAMC,gB,EAIV,iBAAAE,GACEC,EAAe,W,CAGjB,MAAAC,GACE,OACEC,EAAA,KAAAJ,IAAA,2CACEK,KAAK,OAAM,aACCrB,KAAKsB,UAAS,gBACXtB,KAAKK,WAAaL,KAAKM,aACtCL,KAAMD,KAAKK,SAAWH,UAAYF,KAAKM,aACvCiB,SAAUvB,KAAKuB,SACfpB,OAAQH,KAAKO,eACbiB,MAAOxB,KAAKyB,kBACZL,EAAA,QAAAJ,IAAA,6C,CAIN,YAAAU,GACE,MAAMC,EAAQ3B,KAAK4B,OAAS,IAAM,QAAU,KAC5C,MAAMC,EAAS7B,KAAK4B,OAAS,IAAM,SAAW,KAC9C,MAAME,EAAQ9B,KAAK4B,OAAS,IAAM,QAAU,KAC5C,MAAMG,EAAa/B,KAAK4B,OAAS,KAAO,aAAe,KAEvD,GAAID,EAAO,CACT,OAAOA,C,MACF,GAAIE,EAAQ,CACjB,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,GAAc/B,KAAKQ,kBAAoB,aAAc,CAC9D,MAAO,O,MACF,GAAIuB,GAAc/B,KAAKQ,kBAAoB,aAAc,CAC9D,OAAOuB,C,MACF,MAAO,E,CAGhB,eAAAC,GACE,MAAMC,EAAOjC,KAAKQ,kBAAoB,OAAS,OAAS,KACxD,MAAM0B,EAAQlC,KAAKQ,kBAAoB,QAAU,QAAU,KAC3D,MAAM2B,EAAanC,KAAKQ,kBAAoB,aAAe,aAAe,KAC1E,MAAM4B,EAAOpC,KAAKQ,kBAAoB,OAAS,OAAS,KAExD,GAAIyB,EAAM,CACR,OAAOA,C,MACF,GAAIC,EAAO,CAChB,OAAOA,C,MACF,GAAIC,EAAY,CACrB,OAAOA,C,MACF,GAAIC,EAAM,CACf,OAAOA,C,MACF,OAAOH,C,CAGhB,cAAAR,GACE,OAAOY,EACL,OACA,UACArC,KAAKgC,kBACLhC,KAAK0B,eACL1B,KAAKK,SAAW,WAAa,G","ignoreList":[]}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as e,h as s,g as i}from"./p-b7a462e5.js";import{t as r}from"./p-6ecb6a6f.js";const a=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}.stepper{display:flex;align-items:center}.stepper.compact{align-items:center;gap:8px}.stepper.compact.compact-right{flex-direction:row-reverse;text-align:left}.stepper.compact .stepper-wrapper{width:unset;flex-direction:column}.stepper.vertical{height:100%}.stepper.vertical .stepper-wrapper{flex-direction:column;width:unset;height:100%}.stepper-wrapper{display:flex;flex-direction:row;width:100%}.stepper-wrapper ::slotted(*){display:flex;flex:1;justify-content:flex-start}.stepper-progress{display:flex;justify-content:center;align-items:center;font:600 0.875rem/1.25rem "Source Sans 3";min-width:56px;height:56px;border-radius:9999px;background:conic-gradient(#0A8276 var(--pb, 0%), #8D8786 0)}.stepper-progress .progress-detail{display:flex;justify-content:center;align-items:center;text-align:center;width:48px;height:48px;border-radius:9999px;background:white}';const p=a;const c=class{constructor(s){t(this,s);this.ifxChange=e(this,"ifxChange",7);this.activeStep=1;this.indicatorPosition="left";this.showStepNumber=false;this.variant="default";this.shouldEmitEvent=true;this.emittedByClick=false}onStepChange(t){const e=this.getSteps();const s=e[t.detail.previousActiveStep-1];if(s&&!s.complete){s.setAttribute("error","true")}}handleActiveStep(t,e){const s=this.getSteps();if(!this.shouldEmitEvent){this.shouldEmitEvent=true;return}if(s[t-1]){if(!s[t-1].disabled){this.emitIfxChange(t,e)}else{if(t<e){let i=t;this.shouldEmitEvent=false;while(i>=1&&s[i-1].disabled)i--;if(i<1){this.activeStep=e}else{this.emitIfxChange(i,e);this.activeStep=i}}else{let i=t;this.shouldEmitEvent=false;while(i<=this.stepsCount&&s[i-1].disabled)i++;if(i>this.stepsCount){this.activeStep=e}else{this.emitIfxChange(i,e);this.activeStep=i}}}}}emitIfxChange(t,e){this.ifxChange.emit({activeStep:t,previousActiveStep:e,totalSteps:this.stepsCount,emittedByClick:this.emittedByClick});this.emittedByClick=false}getSteps(){const t=this.el.querySelectorAll("ifx-step");return t}addStepIdsToStepsAndCountSteps(){const t=this.getSteps();t[t.length-1].lastStep=true;for(let e=0;e<t.length;e++){t[e].stepId=e+1}this.stepsCount=t.length}setActiveStep(t,e=false){this.emittedByClick=e;this.activeStep=t}setStepsBeforeActiveToComplete(){const t=this.getSteps();t.forEach(((t,e)=>{if(e+1<this.activeStep)t.complete=true}))}syncIfxSteps(){const t=this.getSteps();for(let e=0;e<t.length;e++){const s={activeStep:this.activeStep,indicatorPosition:this.indicatorPosition!=="right"?"left":"right",showStepNumber:this.showStepNumber,variant:this.variant!=="compact"&&this.variant!=="vertical"?"default":this.variant,setActiveStep:this.setActiveStep.bind(this)};t[e].stepperState=s}}setInitialActiveStep(){this.activeStep=Math.max(1,Math.min(this.stepsCount+(this.variant!=="compact"?1:0),this.activeStep))}componentWillLoad(){r("ifx-stepper");this.addStepIdsToStepsAndCountSteps();this.setInitialActiveStep();this.setStepsBeforeActiveToComplete()}componentDidLoad(){this.syncIfxSteps()}componentWillUpdate(){this.syncIfxSteps()}render(){return s("div",{key:"3aa387cbb7d71af5515150dea7a94f33a56522b2","aria-label":"a stepper",role:"navigation",class:`stepper ${this.variant!=="compact"&&this.variant!=="vertical"?"default":this.variant} ${this.variant==="compact"?"compact-"+this.indicatorPosition:""}`},this.variant==="compact"&&s("div",{key:"44d8f0a5c4141f351b13e034582070d5a974e43c",class:"stepper-progress"},s("div",{key:"6aeac4f6af4f249e1ccbc8fc3a0ab96b439571a5",class:"progress-detail"},`${Math.min(this.activeStep,this.stepsCount)} of ${this.stepsCount}`)),s("div",{key:"3f265f8064e70ee3fc33083e9750fc64cd7c7d76",class:`stepper-wrapper`},s("slot",{key:"ca0a81b461b5012533b0ac830ea6943c7909eb45"})))}componentDidRender(){if(this.variant=="compact"){const t=this.el.shadowRoot.querySelector(".stepper-progress");t.style.setProperty("--pb",`${this.activeStep/this.stepsCount*100}%`)}}get el(){return i(this)}static get watchers(){return{activeStep:["handleActiveStep"]}}};c.style=p;export{c as ifx_stepper};
|
2
|
+
//# sourceMappingURL=p-f4a7e01f.entry.js.map
|