@infineon/infineon-design-system-stencil 37.4.1--canary.1962.bd8632192f8848270a8b0c53af90a64a5796bf0e.0 → 37.4.1--canary.1723.20aa14de714201b254aaf31a0daf8258349d096d.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/framework-detection-78986016.js +93 -0
- package/dist/cjs/framework-detection-78986016.js.map +1 -0
- package/dist/cjs/ifx-accordion_2.cjs.entry.js +4 -4
- package/dist/cjs/ifx-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-alert_2.cjs.entry.js +2 -4
- package/dist/cjs/ifx-alert_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-badge.cjs.entry.js +4 -4
- package/dist/cjs/ifx-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-basic-table.cjs.entry.js +7 -7
- package/dist/cjs/ifx-basic-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js +6 -4
- package/dist/cjs/ifx-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-button.cjs.entry.js +3 -5
- package/dist/cjs/ifx-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-card.cjs.entry.js +5 -7
- package/dist/cjs/ifx-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js +3 -5
- package/dist/cjs/ifx-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-checkbox.cjs.entry.js +5 -7
- package/dist/cjs/ifx-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-chip_3.cjs.entry.js +16 -18
- package/dist/cjs/ifx-chip_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-content-switcher.cjs.entry.js +3 -5
- package/dist/cjs/ifx-content-switcher.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-date-picker.cjs.entry.js +7 -5
- package/dist/cjs/ifx-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-dropdown.cjs.entry.js +3 -5
- package/dist/cjs/ifx-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-file-upload.cjs.entry.js +7 -5
- package/dist/cjs/ifx-file-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-footer.cjs.entry.js +6 -8
- package/dist/cjs/ifx-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon-button.cjs.entry.js +3 -5
- package/dist/cjs/ifx-icon-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-icon.cjs.entry.js +3 -5
- package/dist/cjs/ifx-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-indicator.cjs.entry.js +4 -6
- package/dist/cjs/ifx-indicator.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-link.cjs.entry.js +4 -4
- package/dist/cjs/ifx-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-modal.cjs.entry.js +7 -5
- package/dist/cjs/ifx-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js +6 -6
- package/dist/cjs/ifx-multiselect_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-navbar.cjs.entry.js +7 -7
- package/dist/cjs/ifx-navbar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-notification.cjs.entry.js +5 -5
- package/dist/cjs/ifx-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-progress-bar.cjs.entry.js +4 -6
- package/dist/cjs/ifx-progress-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js +4 -6
- package/dist/cjs/ifx-radio-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-radio-button.cjs.entry.js +7 -9
- package/dist/cjs/ifx-radio-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-bar.cjs.entry.js +5 -7
- package/dist/cjs/ifx-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-search-field.cjs.entry.js +4 -4
- package/dist/cjs/ifx-search-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-segmented-control.cjs.entry.js +7 -5
- package/dist/cjs/ifx-segmented-control.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-select.cjs.entry.js +8 -8
- package/dist/cjs/ifx-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-sidebar.cjs.entry.js +9 -9
- package/dist/cjs/ifx-sidebar.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-slider.cjs.entry.js +8 -8
- package/dist/cjs/ifx-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-spinner_2.cjs.entry.js +11 -13
- package/dist/cjs/ifx-spinner_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-status.cjs.entry.js +4 -4
- package/dist/cjs/ifx-status.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-stepper.cjs.entry.js +8 -8
- package/dist/cjs/ifx-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-switch.cjs.entry.js +7 -7
- package/dist/cjs/ifx-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-table.cjs.entry.js +8 -8
- package/dist/cjs/ifx-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tabs.cjs.entry.js +8 -8
- package/dist/cjs/ifx-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tag.cjs.entry.js +4 -4
- package/dist/cjs/ifx-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-textarea.cjs.entry.js +4 -6
- package/dist/cjs/ifx-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tooltip.cjs.entry.js +10 -10
- package/dist/cjs/ifx-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ifx-tree-view.cjs.entry.js +4 -4
- package/dist/cjs/ifx-tree-view.cjs.entry.js.map +1 -1
- package/dist/collection/components/accordion/accordion.js +3 -3
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/alert/alert.js +1 -3
- package/dist/collection/components/alert/alert.js.map +1 -1
- package/dist/collection/components/badge/badge.js +3 -3
- package/dist/collection/components/badge/badge.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +5 -3
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/button.js +2 -4
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.js +4 -6
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +4 -6
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/checkbox-group/checkbox-group.js +2 -4
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/collection/components/chip/chip.js +9 -11
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/content-switcher/content-switcher.js +2 -4
- package/dist/collection/components/content-switcher/content-switcher.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +6 -4
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +2 -4
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/file-upload/file-upload.js +6 -4
- package/dist/collection/components/file-upload/file-upload.js.map +1 -1
- package/dist/collection/components/footer/footer.js +5 -7
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/icon/infineonIconStencil.js +2 -4
- package/dist/collection/components/icon/infineonIconStencil.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +2 -4
- package/dist/collection/components/icon-button/icon-button.js.map +1 -1
- package/dist/collection/components/indicator/indicator.js +3 -5
- package/dist/collection/components/indicator/indicator.js.map +1 -1
- package/dist/collection/components/link/link.js +3 -3
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/modal/modal.js +6 -4
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/navigation/navbar/navbar.js +6 -6
- package/dist/collection/components/navigation/navbar/navbar.js.map +1 -1
- package/dist/collection/components/navigation/sidebar/sidebar.js +8 -8
- package/dist/collection/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/collection/components/notification/notification.js +4 -4
- package/dist/collection/components/notification/notification.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +6 -6
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/progress-bar/progress-bar.js +3 -5
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/collection/components/radio-button/radio-button.js +6 -8
- package/dist/collection/components/radio-button/radio-button.js.map +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +3 -5
- package/dist/collection/components/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/collection/components/search-bar/search-bar.js +4 -6
- package/dist/collection/components/search-bar/search-bar.js.map +1 -1
- package/dist/collection/components/search-field/search-field.js +3 -3
- package/dist/collection/components/search-field/search-field.js.map +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +6 -4
- package/dist/collection/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/collection/components/select/multi-select/multiselect.js +5 -5
- package/dist/collection/components/select/multi-select/multiselect.js.map +1 -1
- package/dist/collection/components/select/single-select/select.js +7 -7
- package/dist/collection/components/select/single-select/select.js.map +1 -1
- package/dist/collection/components/slider/slider.js +7 -7
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +4 -4
- package/dist/collection/components/spinner/spinner.js.map +1 -1
- package/dist/collection/components/status/status.js +3 -3
- package/dist/collection/components/status/status.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +7 -7
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/switch/switch.js +6 -6
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/table-advanced-version/table.js +7 -7
- package/dist/collection/components/table-advanced-version/table.js.map +1 -1
- package/dist/collection/components/table-basic-version/table.js +6 -6
- package/dist/collection/components/table-basic-version/table.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +7 -7
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tag/tag.js +3 -3
- package/dist/collection/components/tag/tag.js.map +1 -1
- package/dist/collection/components/text-field/text-field.js +6 -8
- package/dist/collection/components/text-field/text-field.js.map +1 -1
- package/dist/collection/components/textarea/textarea.js +3 -5
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +9 -9
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree-view/tree-view.js +3 -3
- package/dist/collection/components/tree-view/tree-view.js.map +1 -1
- package/dist/collection/global/utils/framework-detection.js +33 -58
- package/dist/collection/global/utils/framework-detection.js.map +1 -1
- package/dist/collection/global/utils/tracking.js +3 -19
- package/dist/collection/global/utils/tracking.js.map +1 -1
- package/dist/components/ifx-accordion-item.js +1 -1
- package/dist/components/ifx-accordion.js +1 -1
- package/dist/components/ifx-alert.js +1 -1
- package/dist/components/ifx-badge.js +4 -4
- package/dist/components/ifx-badge.js.map +1 -1
- package/dist/components/ifx-basic-table.js +7 -7
- package/dist/components/ifx-basic-table.js.map +1 -1
- package/dist/components/ifx-breadcrumb-item-label.js +1 -1
- package/dist/components/ifx-breadcrumb.js +6 -4
- package/dist/components/ifx-breadcrumb.js.map +1 -1
- package/dist/components/ifx-button.js +1 -1
- package/dist/components/ifx-card.js +5 -7
- package/dist/components/ifx-card.js.map +1 -1
- package/dist/components/ifx-checkbox-group.js +4 -6
- 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 -5
- package/dist/components/ifx-content-switcher.js.map +1 -1
- package/dist/components/ifx-date-picker.js +8 -6
- 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 -5
- package/dist/components/ifx-dropdown.js.map +1 -1
- package/dist/components/ifx-faq.js +3 -3
- package/dist/components/ifx-file-upload.js +11 -9
- 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 -8
- 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 +9 -7
- package/dist/components/ifx-modal.js.map +1 -1
- package/dist/components/ifx-multiselect-option.js +1 -1
- package/dist/components/ifx-multiselect.js +1 -1
- package/dist/components/ifx-navbar-item.js +2 -2
- package/dist/components/ifx-navbar.js +8 -8
- 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 +5 -7
- package/dist/components/ifx-radio-button-group.js.map +1 -1
- package/dist/components/ifx-radio-button.js +1 -1
- package/dist/components/ifx-search-bar.js +7 -9
- 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 +8 -6
- package/dist/components/ifx-segmented-control.js.map +1 -1
- package/dist/components/ifx-select.js +1 -1
- package/dist/components/ifx-set-filter.js +7 -7
- package/dist/components/ifx-sidebar-item.js +2 -2
- package/dist/components/ifx-sidebar.js +9 -9
- package/dist/components/ifx-sidebar.js.map +1 -1
- package/dist/components/ifx-slider.js +9 -9
- package/dist/components/ifx-slider.js.map +1 -1
- package/dist/components/ifx-spinner.js +1 -1
- package/dist/components/ifx-status.js +4 -4
- package/dist/components/ifx-status.js.map +1 -1
- package/dist/components/ifx-step.js +1 -1
- package/dist/components/ifx-stepper.js +8 -8
- package/dist/components/ifx-stepper.js.map +1 -1
- package/dist/components/ifx-switch.js +7 -7
- package/dist/components/ifx-switch.js.map +1 -1
- package/dist/components/ifx-table.js +17 -17
- package/dist/components/ifx-table.js.map +1 -1
- package/dist/components/ifx-tabs.js +9 -9
- package/dist/components/ifx-tabs.js.map +1 -1
- package/dist/components/ifx-tag.js +5 -5
- 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 +4 -6
- package/dist/components/ifx-textarea.js.map +1 -1
- package/dist/components/ifx-tooltip.js +11 -11
- 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 +4 -4
- package/dist/components/ifx-tree-view.js.map +1 -1
- package/dist/components/{p-ab494b83.js → p-29a39b8c.js} +5 -5
- package/dist/components/p-29a39b8c.js.map +1 -0
- package/dist/components/{p-00337208.js → p-2ddcc02e.js} +10 -10
- package/dist/components/p-2ddcc02e.js.map +1 -0
- package/dist/components/{p-5ddf54f9.js → p-353138d9.js} +11 -11
- package/dist/components/p-353138d9.js.map +1 -0
- package/dist/components/{p-6504f099.js → p-39116717.js} +4 -6
- package/dist/components/p-39116717.js.map +1 -0
- package/dist/components/{p-369c7803.js → p-45c73d0e.js} +8 -8
- package/dist/components/p-45c73d0e.js.map +1 -0
- package/dist/components/{p-e28b6d6d.js → p-4c62f9ef.js} +6 -6
- package/dist/components/p-4c62f9ef.js.map +1 -0
- package/dist/components/{p-bd7f1b75.js → p-554fc743.js} +5 -7
- package/dist/components/p-554fc743.js.map +1 -0
- package/dist/components/{p-b84aa364.js → p-58b34e7f.js} +2 -2
- package/dist/components/{p-b84aa364.js.map → p-58b34e7f.js.map} +1 -1
- package/dist/components/{p-c16130fb.js → p-63e4dfb7.js} +9 -11
- package/dist/components/p-63e4dfb7.js.map +1 -0
- package/dist/components/{p-7bec8c81.js → p-65c39c71.js} +3 -3
- package/dist/components/{p-7bec8c81.js.map → p-65c39c71.js.map} +1 -1
- package/dist/components/{p-8024c1f6.js → p-6f1114a1.js} +10 -10
- package/dist/components/p-6f1114a1.js.map +1 -0
- package/dist/components/{p-30c00f58.js → p-80bd74d1.js} +5 -5
- package/dist/components/p-80bd74d1.js.map +1 -0
- package/dist/components/{p-d845bc51.js → p-88385a57.js} +5 -7
- package/dist/components/p-88385a57.js.map +1 -0
- package/dist/components/{p-be7c30b7.js → p-9bc468b4.js} +6 -6
- package/dist/components/{p-be7c30b7.js.map → p-9bc468b4.js.map} +1 -1
- package/dist/components/{p-19f7e10a.js → p-af53698c.js} +7 -9
- package/dist/components/p-af53698c.js.map +1 -0
- package/dist/components/{p-8a7696b0.js → p-b695e1f1.js} +4 -6
- package/dist/components/p-b695e1f1.js.map +1 -0
- package/dist/components/{p-6f5bd53d.js → p-bb9b541f.js} +5 -7
- package/dist/components/p-bb9b541f.js.map +1 -0
- package/dist/components/{p-7568f4d4.js → p-bfd161fb.js} +8 -10
- package/dist/components/p-bfd161fb.js.map +1 -0
- package/dist/components/{p-87455224.js → p-d1692201.js} +3 -3
- package/dist/components/{p-87455224.js.map → p-d1692201.js.map} +1 -1
- package/dist/components/{p-e27cd696.js → p-e7f270c1.js} +4 -6
- package/dist/components/p-e7f270c1.js.map +1 -0
- package/dist/components/p-e8504e6b.js +90 -0
- package/dist/components/p-e8504e6b.js.map +1 -0
- package/dist/components/{p-c070f22c.js → p-ecd4fa31.js} +13 -15
- package/dist/components/p-ecd4fa31.js.map +1 -0
- package/dist/components/{p-45aa49f0.js → p-ed0f491c.js} +6 -6
- package/dist/components/p-ed0f491c.js.map +1 -0
- package/dist/esm/framework-detection-198a17af.js +90 -0
- package/dist/esm/framework-detection-198a17af.js.map +1 -0
- package/dist/esm/ifx-accordion_2.entry.js +4 -4
- package/dist/esm/ifx-accordion_2.entry.js.map +1 -1
- package/dist/esm/ifx-alert_2.entry.js +2 -4
- package/dist/esm/ifx-alert_2.entry.js.map +1 -1
- package/dist/esm/ifx-badge.entry.js +4 -4
- package/dist/esm/ifx-badge.entry.js.map +1 -1
- package/dist/esm/ifx-basic-table.entry.js +7 -7
- package/dist/esm/ifx-basic-table.entry.js.map +1 -1
- package/dist/esm/ifx-breadcrumb.entry.js +6 -4
- package/dist/esm/ifx-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ifx-button.entry.js +3 -5
- package/dist/esm/ifx-button.entry.js.map +1 -1
- package/dist/esm/ifx-card.entry.js +5 -7
- package/dist/esm/ifx-card.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox-group.entry.js +3 -5
- package/dist/esm/ifx-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ifx-checkbox.entry.js +5 -7
- package/dist/esm/ifx-checkbox.entry.js.map +1 -1
- package/dist/esm/ifx-chip_3.entry.js +16 -18
- package/dist/esm/ifx-chip_3.entry.js.map +1 -1
- package/dist/esm/ifx-content-switcher.entry.js +3 -5
- package/dist/esm/ifx-content-switcher.entry.js.map +1 -1
- package/dist/esm/ifx-date-picker.entry.js +7 -5
- package/dist/esm/ifx-date-picker.entry.js.map +1 -1
- package/dist/esm/ifx-dropdown.entry.js +3 -5
- package/dist/esm/ifx-dropdown.entry.js.map +1 -1
- package/dist/esm/ifx-file-upload.entry.js +7 -5
- package/dist/esm/ifx-file-upload.entry.js.map +1 -1
- package/dist/esm/ifx-footer.entry.js +6 -8
- package/dist/esm/ifx-footer.entry.js.map +1 -1
- package/dist/esm/ifx-icon-button.entry.js +3 -5
- package/dist/esm/ifx-icon-button.entry.js.map +1 -1
- package/dist/esm/ifx-icon.entry.js +3 -5
- package/dist/esm/ifx-icon.entry.js.map +1 -1
- package/dist/esm/ifx-indicator.entry.js +4 -6
- package/dist/esm/ifx-indicator.entry.js.map +1 -1
- package/dist/esm/ifx-link.entry.js +4 -4
- package/dist/esm/ifx-link.entry.js.map +1 -1
- package/dist/esm/ifx-modal.entry.js +7 -5
- package/dist/esm/ifx-modal.entry.js.map +1 -1
- package/dist/esm/ifx-multiselect_2.entry.js +6 -6
- package/dist/esm/ifx-multiselect_2.entry.js.map +1 -1
- package/dist/esm/ifx-navbar.entry.js +7 -7
- package/dist/esm/ifx-navbar.entry.js.map +1 -1
- package/dist/esm/ifx-notification.entry.js +5 -5
- package/dist/esm/ifx-notification.entry.js.map +1 -1
- package/dist/esm/ifx-progress-bar.entry.js +4 -6
- package/dist/esm/ifx-progress-bar.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button-group.entry.js +4 -6
- package/dist/esm/ifx-radio-button-group.entry.js.map +1 -1
- package/dist/esm/ifx-radio-button.entry.js +7 -9
- package/dist/esm/ifx-radio-button.entry.js.map +1 -1
- package/dist/esm/ifx-search-bar.entry.js +5 -7
- package/dist/esm/ifx-search-bar.entry.js.map +1 -1
- package/dist/esm/ifx-search-field.entry.js +4 -4
- package/dist/esm/ifx-search-field.entry.js.map +1 -1
- package/dist/esm/ifx-segmented-control.entry.js +7 -5
- package/dist/esm/ifx-segmented-control.entry.js.map +1 -1
- package/dist/esm/ifx-select.entry.js +8 -8
- package/dist/esm/ifx-select.entry.js.map +1 -1
- package/dist/esm/ifx-sidebar.entry.js +9 -9
- package/dist/esm/ifx-sidebar.entry.js.map +1 -1
- package/dist/esm/ifx-slider.entry.js +8 -8
- package/dist/esm/ifx-slider.entry.js.map +1 -1
- package/dist/esm/ifx-spinner_2.entry.js +11 -13
- package/dist/esm/ifx-spinner_2.entry.js.map +1 -1
- package/dist/esm/ifx-status.entry.js +4 -4
- package/dist/esm/ifx-status.entry.js.map +1 -1
- package/dist/esm/ifx-stepper.entry.js +8 -8
- package/dist/esm/ifx-stepper.entry.js.map +1 -1
- package/dist/esm/ifx-switch.entry.js +7 -7
- package/dist/esm/ifx-switch.entry.js.map +1 -1
- package/dist/esm/ifx-table.entry.js +8 -8
- package/dist/esm/ifx-table.entry.js.map +1 -1
- package/dist/esm/ifx-tabs.entry.js +8 -8
- package/dist/esm/ifx-tabs.entry.js.map +1 -1
- package/dist/esm/ifx-tag.entry.js +4 -4
- package/dist/esm/ifx-tag.entry.js.map +1 -1
- package/dist/esm/ifx-textarea.entry.js +4 -6
- package/dist/esm/ifx-textarea.entry.js.map +1 -1
- package/dist/esm/ifx-tooltip.entry.js +10 -10
- package/dist/esm/ifx-tooltip.entry.js.map +1 -1
- package/dist/esm/ifx-tree-view.entry.js +4 -4
- package/dist/esm/ifx-tree-view.entry.js.map +1 -1
- package/dist/infineon-design-system-stencil/infineon-design-system-stencil.esm.js +1 -1
- package/dist/infineon-design-system-stencil/{p-11a06a8e.entry.js → p-0b4463ab.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-0b4463ab.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-0feebdea.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-0feebdea.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-ddfa1876.entry.js → p-13ae34b7.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-13ae34b7.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-218c8275.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-218c8275.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-24fa4b84.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-7305d359.entry.js → p-29f36497.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-29f36497.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2a4642d0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-2b6fa7ea.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-40be6362.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-40be6362.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-df32c417.entry.js → p-431d50b8.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-431d50b8.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-0c05bf99.entry.js → p-44a61708.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-0c05bf99.entry.js.map → p-44a61708.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/p-47e35811.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-47e35811.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-486f1f73.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-486f1f73.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-e64414a5.entry.js → p-507107be.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-507107be.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-572179e4.entry.js → p-51a70ef9.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-572179e4.entry.js.map → p-51a70ef9.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/{p-878f0323.entry.js → p-5976c2b0.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-5976c2b0.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-6802e12b.entry.js → p-5c2386f1.entry.js} +3 -3
- package/dist/infineon-design-system-stencil/{p-6802e12b.entry.js.map → p-5c2386f1.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/p-5f433868.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-5f433868.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-3b2e9bba.entry.js → p-61ddb367.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-61ddb367.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-6417bc5b.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-b2dec2b5.entry.js → p-7097e349.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-7097e349.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-74190965.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-74190965.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-8b8688ea.entry.js → p-754c7267.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-754c7267.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-cfdbbfea.entry.js → p-77cbcda1.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/{p-cfdbbfea.entry.js.map → p-77cbcda1.entry.js.map} +1 -1
- package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-7f9e8260.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-816d8d89.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-816d8d89.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-eeebdafe.entry.js → p-89b4ee40.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-89b4ee40.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-df61f325.entry.js → p-8f3c079e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-8f3c079e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-97c37974.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-97c37974.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-9e9f166d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-874a9210.entry.js → p-9f4f024a.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-9f4f024a.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-fc76536a.entry.js → p-a1d02e8e.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-a1d02e8e.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b1f276a9.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b51937f3.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b51937f3.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-b7c74d53.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-bb8d7729.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-8a242736.entry.js → p-bba99322.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-bba99322.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-bc216f6d.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/{p-342cbc7c.entry.js → p-c3acb336.entry.js} +2 -2
- package/dist/infineon-design-system-stencil/p-c3acb336.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-d448d22c.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-d448d22c.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-e8504e6b.js +2 -0
- package/dist/infineon-design-system-stencil/p-e8504e6b.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-ef7802f4.entry.js.map +1 -0
- package/dist/infineon-design-system-stencil/p-f47071d5.entry.js +2 -0
- package/dist/infineon-design-system-stencil/p-f47071d5.entry.js.map +1 -0
- package/dist/types/components/accordion/accordion.d.ts +1 -1
- package/dist/types/components/alert/alert.d.ts +0 -1
- package/dist/types/components/badge/badge.d.ts +1 -1
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
- package/dist/types/components/button/button.d.ts +0 -1
- package/dist/types/components/card/card.d.ts +0 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -1
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -1
- package/dist/types/components/chip/chip.d.ts +0 -1
- package/dist/types/components/content-switcher/content-switcher.d.ts +0 -1
- package/dist/types/components/date-picker/date-picker.d.ts +2 -1
- package/dist/types/components/dropdown/dropdown.d.ts +0 -1
- package/dist/types/components/file-upload/file-upload.d.ts +2 -1
- package/dist/types/components/footer/footer.d.ts +0 -1
- package/dist/types/components/icon/infineonIconStencil.d.ts +0 -1
- package/dist/types/components/icon-button/icon-button.d.ts +0 -1
- package/dist/types/components/indicator/indicator.d.ts +0 -1
- package/dist/types/components/link/link.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +2 -1
- package/dist/types/components/navigation/navbar/navbar.d.ts +1 -1
- package/dist/types/components/navigation/sidebar/sidebar.d.ts +1 -1
- package/dist/types/components/notification/notification.d.ts +1 -1
- package/dist/types/components/pagination/pagination.d.ts +1 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
- package/dist/types/components/radio-button/radio-button.d.ts +0 -1
- package/dist/types/components/radio-button-group/radio-button-group.d.ts +0 -1
- package/dist/types/components/search-bar/search-bar.d.ts +0 -1
- package/dist/types/components/search-field/search-field.d.ts +1 -1
- package/dist/types/components/segmented-control/segmented-control.d.ts +2 -1
- package/dist/types/components/select/multi-select/multiselect.d.ts +1 -1
- package/dist/types/components/select/single-select/select.d.ts +1 -1
- package/dist/types/components/slider/slider.d.ts +1 -1
- package/dist/types/components/spinner/spinner.d.ts +1 -1
- package/dist/types/components/status/status.d.ts +1 -1
- package/dist/types/components/stepper/stepper.d.ts +1 -1
- package/dist/types/components/switch/switch.d.ts +1 -1
- package/dist/types/components/table-advanced-version/table.d.ts +1 -1
- package/dist/types/components/table-basic-version/table.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +1 -1
- package/dist/types/components/tag/tag.d.ts +1 -1
- package/dist/types/components/text-field/text-field.d.ts +0 -1
- package/dist/types/components/textarea/textarea.d.ts +0 -1
- package/dist/types/components/tooltip/tooltip.d.ts +1 -1
- package/dist/types/components/tree-view/tree-view.d.ts +1 -1
- package/dist/types/global/utils/framework-detection.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/framework-detection-743932a3.js +0 -148
- package/dist/cjs/framework-detection-743932a3.js.map +0 -1
- package/dist/collection/global/utils/dom-ready.js +0 -15
- package/dist/collection/global/utils/dom-ready.js.map +0 -1
- package/dist/components/p-00337208.js.map +0 -1
- package/dist/components/p-19f7e10a.js.map +0 -1
- package/dist/components/p-30c00f58.js.map +0 -1
- package/dist/components/p-369c7803.js.map +0 -1
- package/dist/components/p-45aa49f0.js.map +0 -1
- package/dist/components/p-4d6cad33.js +0 -145
- package/dist/components/p-4d6cad33.js.map +0 -1
- package/dist/components/p-5ddf54f9.js.map +0 -1
- package/dist/components/p-6504f099.js.map +0 -1
- package/dist/components/p-6f5bd53d.js.map +0 -1
- package/dist/components/p-7568f4d4.js.map +0 -1
- package/dist/components/p-8024c1f6.js.map +0 -1
- package/dist/components/p-8a7696b0.js.map +0 -1
- package/dist/components/p-ab494b83.js.map +0 -1
- package/dist/components/p-bd7f1b75.js.map +0 -1
- package/dist/components/p-c070f22c.js.map +0 -1
- package/dist/components/p-c16130fb.js.map +0 -1
- package/dist/components/p-d845bc51.js.map +0 -1
- package/dist/components/p-e27cd696.js.map +0 -1
- package/dist/components/p-e28b6d6d.js.map +0 -1
- package/dist/esm/framework-detection-33c31a6d.js +0 -145
- package/dist/esm/framework-detection-33c31a6d.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-035c607d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-035c607d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-035d6c73.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-035d6c73.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0641415a.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0641415a.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-07f01391.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-07f01391.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0a7f91aa.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0a7f91aa.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-0ebfdc05.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-0ebfdc05.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-11a06a8e.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-17065b26.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-17065b26.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-203ac1ec.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-203ac1ec.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-342cbc7c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-3b2e9bba.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4784d899.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-4784d899.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4af9a89d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-4af9a89d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4d6cad33.js +0 -2
- package/dist/infineon-design-system-stencil/p-4d6cad33.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-4f252031.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-4f252031.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-7305d359.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-82a5fc4d.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-82a5fc4d.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-83527ae9.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-83527ae9.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-874a9210.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-878f0323.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8a242736.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8b8688ea.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-8d02311e.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-8d02311e.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-9010b4a1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-9010b4a1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-aa39a0b1.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-aa39a0b1.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b2dec2b5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-b5c64f31.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-b5c64f31.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ddfa1876.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-df32c417.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-df61f325.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e0dd18fe.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e0dd18fe.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e64414a5.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-e80f64bf.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-e80f64bf.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-eaa2ec9c.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-eaa2ec9c.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-edd1fc75.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-edd1fc75.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-eeebdafe.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-ef78ebda.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-ef78ebda.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-f7ac9179.entry.js +0 -2
- package/dist/infineon-design-system-stencil/p-f7ac9179.entry.js.map +0 -1
- package/dist/infineon-design-system-stencil/p-fc76536a.entry.js.map +0 -1
- package/dist/types/global/utils/dom-ready.d.ts +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["isTestEnvironment","process","env","initializeTracking","window","btnt","t","r","_kk","n","pp","btntConfig","domain","withCookies","maxBatchSize","z","btntQueue","push","createElement","getElementsByTagName","parentNode","async","src","insertBefore","document","trackComponent","componentName","environment","skipEnvironments","includes","event_name","component_name","waitForDOMReady","Promise","resolve","readyState","onReady","removeEventListener","addEventListener","frameworkCache","detectFramework","win","doc","isJest","isStorybook","location","search","href","__STORYBOOK_ENV__","isLocalhost","hostname","React","ReactDOM","ng","getAllAngularRootElements","Vue","__VUE__","reactRoot","querySelector","rootContainers","Array","from","querySelectorAll","hasReactRoot","some","container","keys","Object","key","startsWith","e"],"sources":["src/global/utils/tracking.ts","src/global/utils/dom-ready.ts","src/global/utils/framework-detection.ts"],"sourcesContent":["declare global {\n interface Window {\n btntConfig?: any;\n btntQueue?: any[];\n btnt?: (data: object) => void;\n }\n}\n\nconst isTestEnvironment = typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV === 'test';\n\nfunction initializeTracking() {\n if (isTestEnvironment) {\n if (!window.btnt) { \n window.btnt = () => { };\n }\n return;\n }\n\n (function (t, r, _kk, n, pp) {\n if (typeof window.btntConfig !== \"object\") {\n window.btntConfig = {\n domain: \"https://ssgtm.infineon.com\",\n withCookies: true,\n maxBatchSize: 10\n };\n }\n\n if (window[\"btnt\"]) return;\n\n window[\"btnt\"] = function (z) {\n if (typeof z !== \"object\") {\n z = {};\n }\n if (typeof window.btntQueue !== \"object\") {\n window.btntQueue = [];\n }\n window.btntQueue.push(z);\n };\n\n n = t.createElement(r);\n\n // Add safety check for test environments\n pp = t.getElementsByTagName(r)[0];\n if (pp && pp.parentNode) {\n n.async = 1;\n n.src = window.btntConfig.domain + \"/btnt.js\";\n pp.parentNode.insertBefore(n, pp);\n }\n })(document, \"script\");\n}\n\nexport function trackComponent(componentName: string, environment: string) {\n const skipEnvironments = ['jest', 'localhost', 'error'];\n if (skipEnvironments.includes(environment)) {\n return;\n }\n\n if (!window.btnt) initializeTracking();\n\n window.btnt({\n event_name: \"component_initialized\",\n component_name: componentName,\n environment: environment\n });\n}\n\nexport default trackComponent;","export const waitForDOMReady = (): Promise<void> => {\n return new Promise((resolve) => {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n resolve();\n } else {\n const onReady = () => {\n resolve();\n document.removeEventListener('DOMContentLoaded', onReady);\n };\n document.addEventListener('DOMContentLoaded', onReady);\n }\n });\n};","let frameworkCache: string | null = null;\nimport { waitForDOMReady } from './dom-ready';\n\nexport const detectFramework = async (): Promise<string> => {\n if (frameworkCache) return frameworkCache;\n \n if (typeof window === 'undefined' || typeof document === 'undefined') {\n frameworkCache = 'non-browser';\n return frameworkCache;\n }\n\n const win = window as any;\n const doc = document;\n\n const isJest = typeof process !== 'undefined' && \n process.env && \n process.env.NODE_ENV === 'test';\n if (isJest) {\n frameworkCache = 'jest';\n return frameworkCache;\n }\n\n const isStorybook = win.location.search.includes('viewMode') || \n win.location.href.includes('viewMode') ||\n win.__STORYBOOK_ENV__;\n \n if (isStorybook) {\n frameworkCache = 'Storybook';\n return frameworkCache;\n }\n\n const isLocalhost = ['localhost', '127.0.0.1'].includes(win.location.hostname);\n if (isLocalhost) {\n frameworkCache = 'localhost';\n return frameworkCache;\n }\n\n try {\n\n if (win.React || win.ReactDOM) {\n frameworkCache = 'React';\n return frameworkCache;\n }\n \n if (win.ng || win.getAllAngularRootElements) {\n frameworkCache = 'Angular';\n return frameworkCache;\n }\n \n if (win.Vue || win.__VUE__) {\n frameworkCache = 'Vue';\n return frameworkCache;\n }\n\n await waitForDOMReady();\n\n const reactRoot = doc.querySelector('[data-reactroot], [data-reactid]');\n if (reactRoot) {\n frameworkCache = 'React';\n return frameworkCache;\n }\n \n const rootContainers = Array.from(doc.querySelectorAll('body > div'));\n const hasReactRoot = rootContainers.some(container => {\n const keys = Object.keys(container);\n return keys.some(key => key.startsWith('__reactContainer'));\n });\n \n if (hasReactRoot) {\n frameworkCache = 'React';\n return frameworkCache;\n }\n \n if (doc.querySelector('[ng-version], [ng-app]')) {\n frameworkCache = 'Angular';\n return frameworkCache;\n }\n \n if (doc.querySelector('[data-v-app]')) {\n frameworkCache = 'Vue';\n return frameworkCache;\n }\n\n frameworkCache = 'Vanilla';\n return frameworkCache;\n } catch (e) {\n frameworkCache = 'error';\n return frameworkCache;\n }\n};"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,h as i,g as t}from"./p-b7a462e5.js";import{d as a,t as r}from"./p-4d6cad33.js";const s=':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 o=s;const n="active";const d="active-section";const c=".sidebar__nav-item";const f=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)}}}}async componentDidLoad(){const e=a();r("ifx-sidebar",await e);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(c);t.classList.remove(d);t.classList.remove(n);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(){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:"0fe5d422a546622aa26db9b1226df2a54b96a236","aria-label":"a navigation sidebar","aria-value":this.applicationName,class:"sidebar__container"},i("div",{key:"a577fbe4c0546f25f8b8c1897826e2142277f1ec",class:"sidebar__top-container"},this.showHeader&&i("div",{key:"533ff0c75847db879528e71978bb9ac5476235e5",class:"sidebar__nav-bar"},i("div",{key:"f43be9be25d4127b5eba3fdcaa1db7190345de7a",class:"sidebar__nav-bar-logo"},i("div",{key:"b48adc63e857dc464133fcd31362a542b4006e18",class:"sidebar__nav-bar-logo-img"},i("svg",{key:"4ce462e8c6139988b04c717bbfab95b49286bab5",width:"91",height:"40",viewBox:"0 0 91 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("g",{key:"e1d14da69ad87fa699d0e41a0c873cc132a38ac0","clip-path":"url(#clip0_2396_2480)"},i("path",{key:"65d2aec3de0715bf3a4ad90509edb5c609c0e5fc",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:"be897cbb63057264f8af4ecd867ffc5c7698841e",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:"c3a098fb17dfe210b3bdbb4b74030ac51c2be0c1"},i("clipPath",{key:"568680bb710c10dd2bd5bc978d1d750f5b3cf450",id:"clip0_2396_2480"},i("rect",{key:"b7d3f10dc015e370d4120606ac3b3b8ddee85b1d",width:"91",height:"40",fill:"white"}))))," "),i("div",{key:"c47c6d38ce9208282fb62bbe260a865d088eb8df",class:"sidebar__nav-bar-logo-text"},this.applicationName))),i("div",{key:"84a37c7a32e38e26d10ce5e6251b74cc550cd408",class:"sidebar__nav-container"},i("slot",{key:"86099814955382e0c16750d353ae036e048a3a02"}))),this.internalShowFooter&&i("div",{key:"56681c63f857b5358453fb5a8bd7c54d7f15e0b8",class:"sidebar__footer-container"},i("div",{key:"71f2d53466f5882eaaed3c0c5f82a66bf6f1edeb",class:"sidebar__footer-wrapper"},(this.internalTermsofUse||this.internalImprint||this.internalPrivacyPolicy)&&i("div",{key:"24100a1ec0313ee56b8932f795d9bd164bee17c9",class:"sidebar__footer-wrapper-top-links"},this.internalTermsofUse!==""&&i("a",{key:"39a86f979687b071483aad8b6d08b43ecdbc58b9",target:this.target,href:this.internalTermsofUse},"Terms of use"),this.internalImprint!==""&&i("a",{key:"90b8f8a15f352b57e946d3c9d39b252c1df7d67c",target:this.target,href:this.internalImprint},"Imprint"),this.internalPrivacyPolicy!==""&&i("a",{key:"c2570326e6e6880a3acc80aa9a1db35ab94eb310",target:this.target,href:this.internalPrivacyPolicy},"Privacy policy")),this.copyrightText&&i("div",{key:"f154b9b419a501be7caa59ee324bdb8b78ffe0a3",class:"sidebar__footer-wrapper-bottom-links"},i("span",{key:"a9cf20032225fdde33d6c58983a688f7408250a7"},this.copyrightText)))))}get el(){return t(this)}};f.style=o;export{f as ifx_sidebar};
|
2
|
-
//# sourceMappingURL=p-4f252031.entry.js.map
|
@@ -1 +0,0 @@
|
|
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","framework","detectFramework","trackComponent","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","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';\nimport { detectFramework } from '../../../global/utils/framework-detection';\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 async componentDidLoad() {\n const framework = detectFramework();\n trackComponent('ifx-sidebar', await framework)\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 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":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["ButtonCellRenderer","init","params","this","createButton","getGui","eGui","refresh","updateButton","config","data","button","options","colDef","cellRendererParams","document","createElement","eButton","hasRequiredKeys","setButtonAttributes","appendChild","attachEventListener","innerHTML","detachEventListener","setAttribute","disabled","toString","variant","theme","type","size","fullWidth","target","href","textContent","text","eventListener","event","onButtonClick","addEventListener","removeEventListener","CustomNoRowsOverlay","noRowsMessageFunc","_params","CustomLoadingOverlay","tableCss","IfxTableStyle0","Table","constructor","hostRef","currentPage","rowData","colData","filterOptions","currentFilters","allRowData","rowHeight","tableHeight","pagination","paginationPageSize","filterOrientation","showSidebarFilters","matchingResultsCount","showLoading","originalRowData","handleChipChange","name","currentSelection","previousSelection","detail","updatedFilters","Object","assign","length","customEvent","CustomEvent","filterName","bubbles","composed","host","dispatchEvent","filterValues","map","selection","value","applyAllFilters","updateTableView","onButtonRendererOptionsChanged","getColData","gridApi","setColumnDefs","toggleSidebarFilters","updateFilterOptions","col","field","Set","row","handleSidebarFilterChange","filterGroups","forEach","filterGroup","filterGroupName","selectedItems","item","label","handleTopbarFilterChange","filters","filter","filterInfo","selectedValues","toLowerCase","textFilterMatched","property","hasOwnProperty","rowValue","String","some","filterValue","startsWith","includesUndefined","includes","startIndex","endIndex","visibleRowData","slice","setGridOption","clearAllFilters","onBtShowLoading","showLoadingOverlay","componentWillLoad","uniqueKey","Math","floor","random","getRowData","gridOptions","headerHeight","defaultColDef","resizable","suppressDragLeaveHidesColumns","enableCellTextSelection","onFirstDataRendered","bind","columnDefs","loadingOverlayComponent","noRowsOverlayComponent","noRowsOverlayComponentParams","icons","sortAscending","sortDescending","sortUnSort","rowDragManaged","dndSource","animateRows","componentDidRender","componentDidLoad","container","isNestedInIfxComponent","framework","detectFramework","trackComponent","createGrid","sizeColumnsToFit","defaultMinWidth","paginationElement","shadowRoot","querySelector","handlePageChange","sidebarFilterElements","querySelectorAll","sidebarFilterElement","topbarFilterElements","topbarFilterElement","componentWillUnmount","sidebarFilters","sidebarFilter","topbarFilters","topbarFilter","isJSONParseable","str","JSON","parse","e","rows","undefined","Array","isArray","console","error","cols","buttonColumn","find","column","cellRenderer","valueFormatter","buttonRendererOptions","api","handleResetButtonClick","resetEvent","window","disconnectedCallback","resetButton","getTableClassNames","classNames","render","style","height","filterClass","h","Host","key","class","onClick","icon","keys","isMultiSelect","placeholder","readOnly","selected","id","ref","el","total","hasButtonCol","onDragOver","dragSupported","dataTransfer","dropEffect","preventDefault","onDrop","jsonData","getData","eJsonRow","classList","add","innerText","eJsonDisplay"],"sources":["src/components/table-advanced-version/buttonCellRenderer.ts","src/components/table-advanced-version/customNoRowsOverlay.ts","src/components/table-advanced-version/customLoadingOverlay.ts","src/components/table-advanced-version/table.scss?tag=ifx-table&encapsulation=shadow","src/components/table-advanced-version/table.tsx"],"sourcesContent":["import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport { ButtonInterface } from './interfaces';\n\nexport class ButtonCellRenderer implements ICellRendererComp {\n eGui!: HTMLDivElement;\n eButton!: HTMLElement; // Change to a generic HTMLElement to accommodate custom elements\n eventListener!: (event: Event) => void;\n\n init(params: ICellRendererParams) {\n this.createButton(params);\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(params: ICellRendererParams) {\n this.updateButton(params);\n return true;\n }\n\n private createButton(params: ICellRendererParams) {\n const config = params.data.button;\n const options = params.colDef.cellRendererParams || {};\n \n this.eGui = document.createElement('div');\n this.eButton = document.createElement('ifx-button') as HTMLElement;\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.eGui.appendChild(this.eButton);\n this.attachEventListener(options, params);\n } else {\n this.eGui.innerHTML = `<span>${config}</span>`;\n }\n }\n\n private updateButton(params: ICellRendererParams) {\n const config = params.data.button;\n const options = params.colDef.cellRendererParams || {};\n \n if (this.hasRequiredKeys(config)) {\n this.setButtonAttributes(config);\n this.detachEventListener();\n this.attachEventListener(options, params);\n } else {\n this.eGui.innerHTML = `<span>${config}</span>`;\n }\n }\n\n private setButtonAttributes(config: ButtonInterface) {\n this.eButton.setAttribute('disabled', config.disabled.toString());\n this.eButton.setAttribute('variant', config.variant);\n this.eButton.setAttribute('theme', config.theme);\n this.eButton.setAttribute('type', config.type);\n this.eButton.setAttribute('size', config.size);\n this.eButton.setAttribute('full-width', config.fullWidth.toString());\n this.eButton.setAttribute('target', config.target);\n this.eButton.setAttribute('href', config.href);\n this.eButton.textContent = config.text;\n }\n\n private attachEventListener(options: any, params: ICellRendererParams) {\n this.eventListener = (event: Event) => {\n if (options.onButtonClick) {\n options.onButtonClick(params, event);\n }\n };\n this.eButton.addEventListener('click', this.eventListener);\n }\n\n private detachEventListener() {\n if (this.eventListener) {\n this.eButton.removeEventListener('click', this.eventListener);\n }\n }\n\n private hasRequiredKeys(config: ButtonInterface): boolean {\n return config && config.text !== '' && config.variant !== '' && config.size !== '' && config.type !== '';\n }\n}\n","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomNoRowsOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(params: ICellRendererParams & { noRowsMessageFunc: () => string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <div role=\"presentation\" class=\"ag-overlay-loading-center\" >\n ${params.noRowsMessageFunc()}\n </div>\n `;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomLoadingOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(_params: ICellRendererParams & { loadingMessage: string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `<div class=\"ag-overlay-loading-center\" role=\"presentation\">\n<ifx-spinner></ifx-spinner>\n </div>`;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n@import \"~ag-grid-community/styles/ag-grid.css\";\n\n.zebra { \n & .ag-row-odd { \n background-color: tokens.$ifxColorEngineering100!important;\n }\n\n & .ag-row { \n border-bottom: none!important;\n }\n}\n\n.ag-header-viewport { \n background-color: tokens.$ifxColorEngineering200!important;\n}\n\n\n.table-container {\n display: block;\n}\n\n.sidebar-btn {\n margin-bottom: 24px;\n}\n\n.sidebar-container {\n margin-right: 24px;\n}\n\n.sidebar-layout {\n display: flex;\n flex-direction: row;\n}\n\n.topbar-layout {\n display: flex;\n flex-direction: column;\n}\n\n.table-pagination-wrapper {\n display: flex;\n flex-direction: column;\n align-items: stretch; // stretches items to fill the container horizontally\n width: 100%; // ensures the wrapper takes up the full width of its parent\n}\n\n#table-wrapper {\n flex: 1; // allows the table to take up the remaining space\n padding-bottom: tokens.$ifxSpace100;\n}\n\n\n.table-wrapper .ag-root-wrapper-body {\n height: auto !important;\n min-height: 100px !important;\n min-width: 100px;\n}\n\n.filter-chips { \n display:flex;\n gap:tokens.$ifxSpace100;\n margin-bottom: 12px;\n}\n\n.filter-chips > ifx-button { // ifx-button with icon and text has a paddingof 16 px. This is to remove the padding to align with the filter-chips container definition\n margin-left: -8px;\n}\n\n.set-filter-wrapper-sidebar {\n display: flex;\n flex-direction: column;\n margin-bottom: tokens.$ifxSpace100;\n}\n\n.set-filter-wrapper-topbar {\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n margin-bottom: tokens.$ifxSpace100;\n background: tokens.$ifxColorEngineering100;\n padding-top: 32px;\n padding-bottom: 32px;\n gap: 24px;\n }\n\n\n.ifx-ag-grid {\n display: grid;\n height: 100%;\n width: 100%;\n min-width: 100px;\n //padding-bottom: tokens.$ifxSpace100;\n}\n\n\n.ifx-ag-grid .ag-header-cell::after {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n}\n\n.ifx-ag-grid .ag-header-cell:focus {\n outline: none !important;\n}\n\n.ifx-ag-grid *:not(.ag-header-cell):focus {\n outline: none;\n}\n\n\n.ifx-ag-grid .ag-header-cell:not(:last-child)::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px; \n width: 1px;\n background-color: tokens.$ifxColorEngineering300; \n}\n\n\n.ag-overlay-loading-center {\n border: none;\n background: none;\n border-radius: none;\n box-shadow: none;\n}\n\n\n.ag-root-wrapper {\n border: 1px solid tokens.$ifxColorEngineering200;\n}\n\n\n\n.ag-header {\n background-color: tokens.$ifxColorEngineering100;\n border-bottom: none;\n\n &.ag-header-active {\n outline: none !important;\n border-color: #0A8276 !important;\n }\n}\n\n.ag-header-cell {\n padding-left: 16px;\n padding-right: 16px;\n gap: 4px;\n}\n\n\n.ag-header-cell-focus {\n border: none !important;\n outline: none !important;\n}\n\n.ag-header-cell-text {\n font-size: 13px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.ag-row-focus {\n background-color: inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n.ag-row-hover {\n background-color: tokens.$ifxColorBaseWhite !important; //inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n\n.ag-cell-focus {\n border: none !important;\n outline: none !important;\n background-color: inherit !important;\n}\n\n\n\n.ag-row {\n background-color: tokens.$ifxColorBaseWhite;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n z-index: 1; //ensure the stacking order when used inside js frameworks\n}\n\n.ag-row-odd {\n background-color: tokens.$ifxColorBaseWhite;\n}\n\n.ag-cell {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n align-items: center;\n\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: 0px;\n vertical-align: bottom;\n line-height: 12px;\n}\n\n.ag-sort-indicator-container .ag-sort-order { \n display: none;\n}\n\n.unsort-icon-custom-color {\n color: tokens.$ifxColorEngineering400;\n}\n\n\n// Table with set filters in sidebar orientation\n\n\n.filters-title {\n font-size: 24px;\n font-weight: 600;\n}\n\n\n.matching-results-container {\n display: flex;\n gap: 4px;\n font-size: 14px;\n}\n\n.matching-results-count {\n font-weight: 600;\n}\n\n.matching-results-text {\n font-weight: 400;\n}","import { Component, h, Host, Method, Element, Prop, State, Listen, Watch } from '@stencil/core';\nimport classNames from 'classnames';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { ButtonCellRenderer } from './buttonCellRenderer';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\n\n\n@Component({\n tag: 'ifx-table',\n styleUrl: 'table.scss',\n shadow: true\n})\nexport class Table {\n gridOptions: GridOptions;\n gridApi: GridApi;\n @State() currentPage: number = 1;\n @Prop() cols: any;\n @Prop() rows: any;\n @Prop() buttonRendererOptions?: { onButtonClick?: (params: any, event: Event) => void;}; \n @State() rowData: any[] = [];\n @State() colData: any[] = [];\n @State() filterOptions: { [key: string]: string[] } = {};\n @State() currentFilters = {};\n @State() uniqueKey: string;\n allRowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() pagination: boolean = true;\n @Prop() paginationPageSize: number = 10;\n @Prop() filterOrientation: string = 'sidebar'; // topbar / none\n @State() showSidebarFilters: boolean = true;\n @State() matchingResultsCount: number = 0;\n @Prop() variant: string = 'default'\n\n @Prop() showLoading: boolean = false;\n private container: HTMLDivElement;\n @Element() host: HTMLElement;\n originalRowData: any[] = [];\n\n @Listen('ifxChange')\n handleChipChange(event: CustomEvent<{ previousSelection: Array<any>, currentSelection: Array<any>, name: string }>) {\n const { name, currentSelection, previousSelection } = event.detail;\n if(currentSelection && previousSelection) { \n // Clone the current filters state\n const updatedFilters = { ...this.currentFilters };\n \n if (currentSelection.length === 0) {\n // If there are no selections for this filter, delete the filter\n delete updatedFilters[name];\n \n // Emit event with specific filter name\n const customEvent = new CustomEvent('ifxUpdateSidebarFilter', { detail: { filterName: name }, bubbles: true, composed: true });\n this.host.dispatchEvent(customEvent);\n } else {\n // Otherwise, update the filter values with the current selection\n updatedFilters[name].filterValues = currentSelection.map(selection => selection.value);\n }\n \n // Update the component's filters\n this.currentFilters = updatedFilters;\n \n // Ensure table data is updated\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n this.updateTableView();\n }\n }\n\n @Watch('buttonRendererOptions')\n onButtonRendererOptionsChanged() {\n this.colData = this.getColData(); // Re-fetch column data to apply new renderer options\n if (this.gridApi) {\n this.gridApi.setColumnDefs(this.colData); // Update column definitions in the grid API\n }\n }\n\n toggleSidebarFilters() {\n this.showSidebarFilters = !this.showSidebarFilters;\n }\n\n updateFilterOptions() {\n const options = {};\n for (let col of this.colData) {\n options[col.field] = [...new Set(this.rowData.map(row => row[col.field]))];\n }\n this.filterOptions = options;\n }\n\n handleSidebarFilterChange(event: CustomEvent) {\n const filterGroups = event.detail;\n const updatedFilters = {};\n\n filterGroups.forEach(filterGroup => {\n const filterName = filterGroup.filterGroupName;\n let filterValues;\n let type;\n\n if (filterGroup.selectedItems && filterGroup.selectedItems.length > 0) {\n filterValues = filterGroup.selectedItems.map(item => item.label);\n type = 'multi-select';\n } else if (filterGroup.value) {\n filterValues = [filterGroup.value];\n type = 'text';\n } else {\n filterValues = [];\n }\n\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n updatedFilters[filterName] = { filterValues, type };\n }\n });\n\n this.allRowData = this.applyAllFilters(this.originalRowData, updatedFilters);\n this.updateTableView();\n this.currentFilters = updatedFilters;\n }\n\n\n handleTopbarFilterChange(event: CustomEvent) {\n const filters = event.detail;\n\n // Start by resetting the filter conditions to a blank object\n this.currentFilters = {};\n\n // Loop through each filter group provided in the event detail\n filters.forEach(filter => {\n const filterName = filter.filterName;\n let filterValues;\n\n let type = filter.type;\n\n if (type === 'text') {\n // Search/Text filter\n filterValues = filter.filterValues\n } else {\n // Multi-select/Single-Select\n filterValues = filter.filterValues.map(item => item.label);\n }\n\n // If there are no filter values, or the filter is a text filter with an empty value, remove the filter\n if (!(filterValues.length === 0 || (filterValues.length === 1 && type === 'text' && filterValues[0] === ''))) {\n // Add or update the filter in the currentFilters object\n this.currentFilters[filterName] = { filterValues, type };\n }\n });\n\n\n // Now that the currentFilters object has been updated, apply all filters to the data\n this.allRowData = this.applyAllFilters(this.originalRowData, this.currentFilters);\n\n // After filtering, update the table view with the new filtered data\n this.updateTableView();\n }\n\n\n applyAllFilters(data, filters) {\n return data.filter(row => {\n for (const filterName in filters) {\n const filterInfo = filters[filterName];\n let selectedValues = (filterInfo.filterValues || []).map(value => {\n if (typeof value === 'string') {\n return value.toLowerCase();\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n return value.toString();\n }\n return '';\n });\n\n // For text filters, check if row values start with any of the selectedValues\n if (filterInfo.type === 'text') {\n let textFilterMatched = false;\n for (let property in row) {\n if (row.hasOwnProperty(property)) {\n let rowValue = row[property] != null ? String(row[property]).toLowerCase() : '';\n if (selectedValues.some(filterValue => rowValue.startsWith(filterValue))) {\n textFilterMatched = true;\n break;\n }\n }\n }\n if (!textFilterMatched) return false;\n }\n // For multi-select filters, this remains unchanged\n else if (filterInfo.type === 'multi-select') {\n let rowValue = row[filterName] != null ? String(row[filterName]).toLowerCase() : '';\n // Check if 'undefined' is a selected value and include rows with empty values in that case\n let includesUndefined = selectedValues.includes('undefined');\n if (!selectedValues.includes(rowValue) && !(includesUndefined && rowValue === '')) {\n return false;\n }\n }\n }\n return true;\n });\n }\n\n\n\n updateTableView() {\n // Calculate the slice of data to display based on pagination\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n\n // Update the row data in the table\n this.rowData = visibleRowData;\n this.gridApi.setGridOption('rowData', this.rowData);\n\n // Update matching results count\n this.matchingResultsCount = this.allRowData.length;\n }\n\n\n clearAllFilters() {\n this.currentFilters = {};\n this.allRowData = [...this.originalRowData];\n }\n\n\n @Method()\n async onBtShowLoading() {\n this.gridApi.showLoadingOverlay();\n }\n\n componentWillLoad() {\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.rowData = this.getRowData();\n this.colData = this.getColData();\n this.updateFilterOptions();\n\n this.gridOptions = {\n\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n defaultColDef: {\n resizable: true,\n },\n suppressDragLeaveHidesColumns: true,\n enableCellTextSelection: true,\n onFirstDataRendered: this.onFirstDataRendered.bind(this),\n columnDefs: this.colData,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () =>\n 'No rows found' //at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>'\n },\n rowDragManaged: this.colData.some(col => col.dndSource === true) ? true : false,\n animateRows: this.colData.some(col => col.dndSource === true) ? true : false,\n };\n\n }\n\n componentDidRender() {\n if (this.gridApi) {\n this.gridApi.setGridOption('columnDefs', this.colData);\n }\n }\n\n async componentDidLoad() {\n if (this.container) {\n if(!isNestedInIfxComponent(this.host)) { \n const framework = detectFramework();\n trackComponent('ifx-table', await framework)\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.colData);\n this.gridApi.setGridOption('rowData', this.rowData);\n\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.addEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilterElements = this.host.querySelectorAll('ifx-filter-type-group');\n // Add an event listener to each SetFilter component\n sidebarFilterElements.forEach(sidebarFilterElement => {\n sidebarFilterElement.addEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilterElements = this.host.querySelectorAll('ifx-filter-bar');\n // Add an event listener to each SetFilter component\n topbarFilterElements.forEach(topbarFilterElement => {\n topbarFilterElement.addEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n }\n }\n\n componentWillUnmount() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange.bind(this));\n }\n }\n const sidebarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n sidebarFilters.forEach(sidebarFilter => {\n sidebarFilter.removeEventListener('ifxSidebarFilterChange', this.handleSidebarFilterChange.bind(this));\n });\n const topbarFilters = this.host.shadowRoot.querySelectorAll('ifx-filter-type-group');\n // Remove the event listener from each SetFilter component\n topbarFilters.forEach(topbarFilter => {\n topbarFilter.removeEventListener('ifxTopbarFilterChange', this.handleTopbarFilterChange.bind(this));\n });\n }\n\n handlePageChange(event) {\n this.currentPage = event.detail.currentPage;\n const startIndex = (this.currentPage - 1) * this.paginationPageSize;\n const endIndex = startIndex + this.paginationPageSize;\n const visibleRowData = this.allRowData.slice(startIndex, endIndex);\n // Update the data in the grid\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', visibleRowData);\n }\n }\n\n isJSONParseable(str) {\n try {\n JSON.parse(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n\n getRowData() {\n let rows: any[] = [];\n if (this.rows === undefined || this.rows === null) {\n return rows;\n }\n \n if (this.isJSONParseable(this.rows)) {\n rows = [...JSON.parse(this.rows)];\n }\n else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = [...this.rows];\n }\n else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n this.allRowData = rows;\n this.originalRowData = [...rows]; // Deep copy the original data\n this.matchingResultsCount = this.allRowData.length;\n\n return rows.slice(0, this.paginationPageSize);\n }\n\n\n getColData() {\n let cols: any[] = [];\n if (this.cols === undefined || this.cols === null) {\n return cols;\n }\n \n if (this.isJSONParseable(this.cols)) {\n cols = [...JSON.parse(this.cols)];\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = [...this.cols];\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n \n const buttonColumn = cols.find(column => column.field === 'button');\n if (buttonColumn) {\n buttonColumn.cellRenderer = ButtonCellRenderer;\n buttonColumn.valueFormatter = params => params.value.text;\n \n // No JSON.parse needed now\n if (this.buttonRendererOptions && typeof this.buttonRendererOptions === 'object') {\n if (this.buttonRendererOptions.onButtonClick) {\n buttonColumn.cellRendererParams = {\n onButtonClick: this.buttonRendererOptions.onButtonClick\n };\n }\n }\n }\n \n return cols;\n }\n \n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n handleResetButtonClick() {\n const resetEvent = new CustomEvent('ifxResetFiltersEvent', { bubbles: true, composed: true });\n window.dispatchEvent(resetEvent); // Dispatch from the window object\n\n this.clearAllFilters();\n this.updateTableView(); // Update table view with the original data\n }\n\n\n disconnectedCallback() {\n if (this.pagination) {\n const paginationElement = this.host.shadowRoot.querySelector('ifx-pagination');\n if (paginationElement) {\n paginationElement.removeEventListener('ifxPageChange', this.handlePageChange);\n }\n }\n\n const resetButton = this.host.shadowRoot.querySelector('#reset-filters-button');\n if (resetButton) {\n resetButton.removeEventListener('click', this.handleResetButtonClick.bind(this));\n }\n }\n\n\n\n getTableClassNames() {\n return classNames(\n this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body',\n 'table-wrapper',\n );\n }\n\n\n render() {\n let style = {};\n if (this.tableHeight !== 'auto') {\n style = {\n 'height': this.tableHeight\n };\n }\n const filterClass = this.filterOrientation === 'topbar' ? 'topbar-layout' : 'sidebar-layout';\n return (\n <Host>\n <div class=\"table-container\">\n {this.filterOrientation === 'sidebar' && (\n <div class=\"sidebar-btn\">\n <ifx-button\n type=\"button\"\n disabled={false}\n variant=\"secondary\"\n size=\"m\"\n target=\"_blank\"\n theme=\"default\"\n full-width=\"false\"\n onClick={() => this.toggleSidebarFilters()}\n >\n <ifx-icon icon=\"cross-16\"></ifx-icon>{this.showSidebarFilters ? 'Hide Filters' : 'Show Filters'}\n </ifx-button>\n </div>\n )}\n\n <div class={filterClass}>\n {this.filterOrientation === 'sidebar' && this.showSidebarFilters && (\n <div class=\"sidebar-container\">\n <div class=\"filters-title-container\">\n <span class=\"filters-title\">Filters</span>\n </div>\n <div class=\"set-filter-wrapper-sidebar\">\n {(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (\n <slot name=\"sidebar-filter\"></slot>\n )}\n </div>\n </div>\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'sidebar' && (\n <div class=\"set-filter-wrapper-topbar\">\n {(this.filterOrientation !== 'sidebar' || this.showSidebarFilters) && (\n <slot name=\"topbar-filter\"></slot>\n )}\n </div>\n )}\n\n <div class=\"table-pagination-wrapper\">\n <div class=\"filter-chips\">\n {this.filterOrientation !== 'none' && this.filterOrientation !== 'topbar' && this.showSidebarFilters && (\n Object.keys(this.currentFilters).map(name => {\n const filter = this.currentFilters[name];\n const filterValues = filter.filterValues;\n const isMultiSelect = filter.type !== 'text';\n\n return filterValues.length > 0 ? (\n <ifx-chip\n placeholder={name}\n size=\"large\"\n variant={isMultiSelect ? \"multi\" : \"single\"}\n readOnly={true}\n value={filterValues} // Ensure value prop is set\n key={name}\n >\n {filterValues.map(filterValue => (\n <ifx-chip-item value={filterValue} selected={true} key={filterValue}>\n {filterValue}\n </ifx-chip-item>\n ))}\n </ifx-chip>\n ) : null;\n })\n )}\n\n {this.filterOrientation !== 'none' && this.filterOrientation === 'sidebar' && this.showSidebarFilters && Object.keys(this.currentFilters).length > 0 && (\n <ifx-button type=\"button\" disabled={false} variant=\"tertiary\" size=\"m\" target=\"_blank\" theme=\"default\" full-width=\"false\" onClick={() => this.handleResetButtonClick()}\n >\n <ifx-icon icon=\"curved-arrow-left-16\"></ifx-icon>Reset all\n </ifx-button>\n )}\n </div>\n\n {this.filterOrientation !== 'none' && (\n <div class=\"matching-results-container\">\n <span class=\"matching-results-count\">\n {this.matchingResultsCount}\n </span>\n <span class=\"matching-results-text\">\n matching results\n </span>\n </div>\n )}\n\n <div id=\"table-wrapper\" class={this.getTableClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : \"\"}`} style={style} ref={(el) => this.container = el}>\n </div>\n </div>\n {this.pagination ? <ifx-pagination total={this.allRowData.length} current-page={this.currentPage} items-per-page='[{\"value\":\"ten\",\"label\":\"10\",\"selected\":true}, {\"value\":\"Twenty\",\"label\":\"20\",\"selected\":false}, {\"value\":\"Thirty\",\"label\":\"30\",\"selected\":false}]'></ifx-pagination> : null}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n\n hasButtonCol(): boolean {\n return this.getColData().some(column => column.field === 'button');\n }\n\n onDragOver(event) {\n var dragSupported = event.dataTransfer.length;\n\n if (dragSupported) {\n event.dataTransfer.dropEffect = 'move';\n }\n\n event.preventDefault();\n }\n\n onDrop(event) {\n var jsonData = event.dataTransfer.getData('application/json');\n\n var eJsonRow = document.createElement('div');\n eJsonRow.classList.add('json-row');\n eJsonRow.innerText = jsonData;\n\n var eJsonDisplay = document.querySelector('#eJsonDisplay');\n\n eJsonDisplay.appendChild(eJsonRow);\n event.preventDefault();\n }\n\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as e,g as i,c as r}from"./p-b7a462e5.js";import{d as n,t as o}from"./p-4d6cad33.js";import{i as s}from"./p-1ecafb97.js";import{c as a}from"./p-5cdc6210.js";const p=":host{display:inline-block}.spinner{position:relative;width:40px;height:40px}.spinner.s{width:24px;height:24px}.border{box-sizing:border-box;position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#0A8276;border-left-color:#0A8276;border-right-color:#0A8276;border-top-left-radius:1px;border-top-right-radius:1px;border-radius:50%;animation:spin 2s linear infinite}.border.inverted{border-top-color:#FFFFFF;border-left-color:#FFFFFF;border-right-color:#FFFFFF}.semiconductor{width:100%;height:100%;animation:spin 2s linear infinite}.semiconductor svg{fill:#0A8276}.semiconductor.inverted svg{fill:#FFFFFF}.semiconductor.s svg{width:24px;height:24px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";const l=p;const c=class{constructor(e){t(this,e);this.inverted=false}async componentDidLoad(){if(!s(this.el)){const t=n();o("ifx-spinner",await t)}}render(){return e("div",{key:"491961e58b6b28f7031ef6adb38660f078e2c4d9","aria-label":"spinner indicating a loading process",class:this.getClassNames()},e("div",{key:"ee758e13b668f5cd9c36a9485d284b988fb24795",class:`${this.variant!=="brand"?"border":""} ${this.inverted?"inverted":""}`}),this.variant==="brand"&&e("div",{key:"690d0fb55c5f090e09dd246cee925ea5cbe84f9b",class:`semiconductor ${this.inverted?"inverted":""} ${this.getSizeClass()}`},e("svg",{key:"79dfa55b93899e5e3b4217d973fe97e68f6ba49a",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("g",{key:"dfd76b1a802ba42df1becfae9a0196b60603e1c6",id:"spinner/conductor"},e("path",{key:"90bf53982e95d93273cea18d746ea83ae1f58066",id:"Vector",d:"M38.75 18.75C39.4375 18.75 40 19.3125 40 20C40 20.6875 39.4409 21.25 38.75 21.25H35V26.25H38.75C39.4375 26.25 40 26.8125 40 27.5C40 28.1875 39.4409 28.75 38.75 28.75H35V30C35 32.7617 32.7617 35 30 35H28.75V38.75C28.75 39.4409 28.1875 40 27.5 40C26.8125 40 26.25 39.4409 26.25 38.75V35H21.25V38.75C21.25 39.4409 20.6875 40 20 40C19.3125 40 18.75 39.4409 18.75 38.75V35H13.75V38.75C13.75 39.4409 13.1875 40 12.5 40C11.8125 40 11.25 39.4409 11.25 38.75V35H10C7.23828 35 5 32.7617 5 30V28.75H1.25C0.559062 28.75 0 28.1875 0 27.5C0 26.8125 0.559062 26.25 1.25 26.25H5V21.25H1.25C0.559062 21.25 0 20.6875 0 20C0 19.3125 0.559062 18.75 1.25 18.75H5V13.75H1.25C0.559062 13.75 0 13.1875 0 12.5C0 11.8125 0.559062 11.25 1.25 11.25H5V10C5 7.23828 7.23828 5 10 5H11.25V1.25C11.25 0.5625 11.8125 0 12.5 0C13.1875 0 13.75 0.559063 13.75 1.25V5H18.75V1.25C18.75 0.559063 19.3091 0 20 0C20.6909 0 21.25 0.559063 21.25 1.25V5H26.25V1.25C26.25 0.559063 26.8091 0 27.5 0C28.1909 0 28.75 0.559063 28.75 1.25V5H30C32.7617 5 35 7.23828 35 10V11.25H38.75C39.4409 11.25 40 11.8091 40 12.5C40 13.1909 39.4409 13.75 38.75 13.75H35V18.75H38.75ZM32.5 10C32.5 8.62188 31.3781 7.5 30 7.5H10C8.62187 7.5 7.5 8.62188 7.5 10V30C7.5 31.3781 8.62187 32.5 10 32.5H30C31.3781 32.5 32.5 31.3781 32.5 30V10Z"})))))}getSizeClass(){return`${this.size}`==="s"?"s":""}getClassNames(){return a("spinner",this.size&&`spinner ${this.getSizeClass()}`)}get el(){return i(this)}};c.style=l;const d=':root{--ifx-font-family:"Source Sans 3", "Arial, sans-serif"}:host{display:flex}.textInput__container{display:flex;flex-direction:column;align-items:flex-start;padding:0px;width:100%;flex:none;order:0;align-self:stretch;flex-grow:0;font-family:var(--ifx-font-family)}.textInput__container.disabled .textInput__top-wrapper label{color:#575352}.textInput__container.disabled .textInput__bottom-wrapper input{border:1px solid #575352;background-color:#EEEDED}.textInput__container.disabled .textInput__bottom-wrapper input::placeholder{font-size:0.875rem;color:#575352}.textInput__container .textInput__top-wrapper{display:flex;flex-direction:row;align-items:flex-start;padding:0px;gap:4px;flex:none;order:0;align-self:stretch;flex-grow:0}.textInput__container .textInput__top-wrapper label{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;display:flex;align-items:center;color:#1D1D1D;flex:none;order:0;flex-grow:0}.textInput__container .textInput__top-wrapper label .optional-required{margin-left:4px}.textInput__container .textInput__top-wrapper label .optional{margin-left:4px}.textInput__container .textInput__top-wrapper label .required{margin-left:4px}.textInput__container .textInput__top-wrapper label .required.error{color:#CD002F}.textInput__container .input-container{position:relative;display:flex;align-items:center;width:100%}.textInput__container .textInput__bottom-wrapper{flex-grow:1;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0px;gap:4px;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper input{width:100%;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;padding:8px 16px;gap:8px;height:40px;background-color:#FFFFFF;color:#1D1D1D;font-family:var(--ifx-font-family);font-size:1rem;line-height:1.5rem;border:1px solid #8D8786;border-radius:1px;flex:none;order:0;align-self:stretch;flex-grow:0;text-overflow:ellipsis}.textInput__container .textInput__bottom-wrapper input.input-s{height:36px;font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.input-s::placeholder{font-size:0.875rem;line-height:1.25rem}.textInput__container .textInput__bottom-wrapper input.icon{padding-left:40px}.textInput__container .textInput__bottom-wrapper input.error{border:1px solid #CD002F}.textInput__container .textInput__bottom-wrapper input.error:focus{outline:none}.textInput__container .textInput__bottom-wrapper input.success{border:1px solid #4CA460}.textInput__container .textInput__bottom-wrapper input.success:focus{outline:none}.textInput__container .textInput__bottom-wrapper input:focus:not(.error,.success){outline:none;border:1px solid #0A8276}.textInput__container .textInput__bottom-wrapper input:hover:not(:disabled,:focus,.error,.success){border:1px solid #575352}.textInput__container .textInput__bottom-wrapper input::placeholder{font-style:normal;font-weight:400;font-size:1rem;line-height:1.5rem;color:#8D8786;flex:none;order:1;flex-grow:1}.textInput__container .textInput__bottom-wrapper .input-icon{position:absolute;top:50%;transform:translateY(-50%);left:16px;transition:0.3s;color:#8D8786}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption{font-style:normal;font-weight:400;font-size:0.75rem;line-height:1rem;letter-spacing:0.2px;color:#1D1D1D;flex:none;order:1;align-self:stretch;flex-grow:0}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.error{color:#CD002F}.textInput__container .textInput__bottom-wrapper .textInput__bottom-wrapper-caption.disabled{color:#575352}.textInput__container .delete-icon{position:absolute;right:16px}.textInput__container .delete-icon :hover{cursor:pointer}';const f=d;const h=class{constructor(e){t(this,e);this.ifxInput=r(this,"ifxInput",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.placeholder="Placeholder";this.value="";this.error=false;this.label="";this.icon="";this.caption="";this.size="m";this.required=false;this.optional=false;this.success=false;this.disabled=false;this.showDeleteIcon=false;this.autocomplete="on";this.type="text";this.internalId="text-field"}valueWatcher(t){if(t!==this.inputElement.value){this.inputElement.value=t}}async reset(){this.value="";this.inputElement.value=""}handleDeleteContent(){this.reset();this.ifxInput.emit(this.value)}handleInput(){const t=this.inputElement.value;this.value=t;this.internals.setFormValue(t);this.ifxInput.emit(this.value)}handleTypeProp(){this.internalType=this.type==="text"||this.type==="password"?this.type:"text"}formResetCallback(){this.internals.setValidity({});this.internals.setFormValue("")}componentWillLoad(){this.handleTypeProp()}async componentDidLoad(){if(!s(this.el)){const t=n();o("ifx-text-field",await t)}}render(){return e("div",{key:"a1a791d34651ec8730e2bf22cc5cee00a31a2fe1","aria-label":"a text field for user input","aria-value":this.value,"aria-disabled":this.disabled,class:`textInput__container ${this.disabled?"disabled":""}`},e("div",{key:"3292d42833b893180b20004ac737f6eb0a35a597",class:"textInput__top-wrapper"},e("label",{key:"501b3ee4e4dc6fc77f27aa15c3c2a0e651f0bd46",htmlFor:this.internalId},e("slot",{key:"f5ed741edfec81477081e637fc4ddc91e4c3ea33"}),this.optional&&this.required?e("span",{class:"optional-required"},"(optional) *"):this.optional?e("span",{class:"optional"},"(optional)"):this.required?e("span",{class:`required ${this.error?"error":""}`},"*"):null)),e("div",{key:"de64c03a946f67819b852651fa0ce25794665b52",class:"textInput__bottom-wrapper"},e("div",{key:"357e7f12d0295ab0b8908361c955cf93cf3150ab",class:"input-container"},this.icon&&e("ifx-icon",{key:"075064b23c293f407585716575aaabc1430ff1ab",class:"input-icon",icon:this.icon}),e("input",{key:"3e287bf7ce34d5ba8fb2676e2ccc119ad92ae177",ref:t=>this.inputElement=t,disabled:this.disabled,autocomplete:this.autocomplete,type:this.internalType,id:this.internalId,value:this.value,onInput:()=>this.handleInput(),placeholder:this.placeholder,maxlength:this.maxlength,class:`${this.icon?"icon":""}\n ${this.error?"error":""} \n ${this.size==="s"?"input-s":""}\n ${this.success?"success":""}`}),this.showDeleteIcon&&this.value&&e("ifx-icon",{key:"a1651bb96f79860a1e409e78fb3b2a031fe55b2d",class:"delete-icon",icon:"cRemove16",onClick:()=>this.handleDeleteContent()})),this.caption&&!this.error&&e("div",{key:"2a9da68228cec89376babc9276a287228dc9d593",class:`textInput__bottom-wrapper-caption ${this.disabled} ? disabled : ""`},this.caption),this.error&&e("div",{key:"7057aa1d1f5cef589197360c000f543caff8a2eb",class:"textInput__bottom-wrapper-caption error"},this.caption)))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{value:["valueWatcher"]}}};h.style=f;export{c as ifx_spinner,h as ifx_text_field};
|
2
|
-
//# sourceMappingURL=p-82a5fc4d.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["spinnerCss","IfxSpinnerStyle0","Spinner","constructor","hostRef","this","inverted","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","key","class","getClassNames","variant","getSizeClass","width","height","viewBox","fill","xmlns","id","d","size","classNames","textFieldCss","IfxTextFieldStyle0","TextField","placeholder","value","error","label","icon","caption","required","optional","success","disabled","showDeleteIcon","autocomplete","type","internalId","valueWatcher","newValue","inputElement","reset","handleDeleteContent","ifxInput","emit","handleInput","query","internals","setFormValue","handleTypeProp","internalType","formResetCallback","setValidity","componentWillLoad","htmlFor","ref","onInput","maxlength","onClick"],"sources":["src/components/spinner/spinner.scss?tag=ifx-spinner&encapsulation=shadow","src/components/spinner/spinner.tsx","src/components/text-field/text-field.scss?tag=ifx-text-field&encapsulation=shadow","src/components/text-field/text-field.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-block;\n\n}\n\n.spinner {\n position: relative;\n width: tokens.$ifxSize500;\n height: tokens.$ifxSize500;\n\n}\n\n.spinner.s {\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n}\n\n.border {\n box-sizing: border-box;\n position: absolute;\n width: 100%;\n height: 100%;\n border: 4px solid transparent;\n border-top-color: tokens.$ifxColorOcean500;\n border-left-color: tokens.$ifxColorOcean500;\n border-right-color: tokens.$ifxColorOcean500;\n border-top-left-radius: 1px;\n border-top-right-radius: 1px;\n border-radius: 50%;\n animation: spin 2s linear infinite;\n\n &.inverted {\n border-top-color: tokens.$ifxColorBaseWhite;\n border-left-color: tokens.$ifxColorBaseWhite;\n border-right-color: tokens.$ifxColorBaseWhite;\n }\n}\n\n.semiconductor {\n width: 100%;\n height: 100%;\n animation: spin 2s linear infinite;\n\n & svg {\n fill: tokens.$ifxColorOcean500;\n }\n\n &.inverted {\n & svg {\n fill: tokens.$ifxColorBaseWhite;\n }\n }\n\n &.s {\n & svg {\n width: tokens.$ifxSize300;\n height: tokens.$ifxSize300;\n }\n }\n}\n\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}","import { Component, h, Prop, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n \n@Component({\n tag: 'ifx-spinner',\n styleUrl: 'spinner.scss',\n shadow: true,\n})\nexport class Spinner {\n @Element() el;\n @Prop() size: string;\n @Prop() variant: string;\n @Prop() inverted: boolean = false;\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-spinner', await framework)\n }\n }\n\n render() {\n return (\n <div aria-label=\"spinner indicating a loading process\" class={this.getClassNames()}>\n <div class={`${this.variant !== 'brand' ? 'border' : \"\"} ${this.inverted ? 'inverted' : \"\"}`}></div>\n {this.variant === 'brand'\n && <div class={`semiconductor ${this.inverted ? 'inverted' : \"\"} ${this.getSizeClass()}`}>\n <svg width='40' height='40' viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"spinner/conductor\">\n <path id=\"Vector\" d=\"M38.75 18.75C39.4375 18.75 40 19.3125 40 20C40 20.6875 39.4409 21.25 38.75 21.25H35V26.25H38.75C39.4375 26.25 40 26.8125 40 27.5C40 28.1875 39.4409 28.75 38.75 28.75H35V30C35 32.7617 32.7617 35 30 35H28.75V38.75C28.75 39.4409 28.1875 40 27.5 40C26.8125 40 26.25 39.4409 26.25 38.75V35H21.25V38.75C21.25 39.4409 20.6875 40 20 40C19.3125 40 18.75 39.4409 18.75 38.75V35H13.75V38.75C13.75 39.4409 13.1875 40 12.5 40C11.8125 40 11.25 39.4409 11.25 38.75V35H10C7.23828 35 5 32.7617 5 30V28.75H1.25C0.559062 28.75 0 28.1875 0 27.5C0 26.8125 0.559062 26.25 1.25 26.25H5V21.25H1.25C0.559062 21.25 0 20.6875 0 20C0 19.3125 0.559062 18.75 1.25 18.75H5V13.75H1.25C0.559062 13.75 0 13.1875 0 12.5C0 11.8125 0.559062 11.25 1.25 11.25H5V10C5 7.23828 7.23828 5 10 5H11.25V1.25C11.25 0.5625 11.8125 0 12.5 0C13.1875 0 13.75 0.559063 13.75 1.25V5H18.75V1.25C18.75 0.559063 19.3091 0 20 0C20.6909 0 21.25 0.559063 21.25 1.25V5H26.25V1.25C26.25 0.559063 26.8091 0 27.5 0C28.1909 0 28.75 0.559063 28.75 1.25V5H30C32.7617 5 35 7.23828 35 10V11.25H38.75C39.4409 11.25 40 11.8091 40 12.5C40 13.1909 39.4409 13.75 38.75 13.75H35V18.75H38.75ZM32.5 10C32.5 8.62188 31.3781 7.5 30 7.5H10C8.62187 7.5 7.5 8.62188 7.5 10V30C7.5 31.3781 8.62187 32.5 10 32.5H30C31.3781 32.5 32.5 31.3781 32.5 30V10Z\" />\n </g>\n </svg>\n </div>}\n </div>\n );\n }\n\n getSizeClass() {\n return `${this.size}` === \"s\"\n ? \"s\"\n : \"\";\n }\n\n getClassNames() {\n return classNames(\n 'spinner',\n this.size && `spinner ${this.getSizeClass()}`\n );\n }\n}\n","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: flex;\n}\n\n.textInput__container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n width: 100%;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n\n &.disabled {\n & .textInput__top-wrapper {\n & label {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n & .textInput__bottom-wrapper {\n input {\n border: 1px solid tokens.$ifxColorEngineering500;\n background-color: tokens.$ifxColorEngineering200;\n\n &::placeholder {\n font-size: tokens.$ifxFontSizeS;\n color: tokens.$ifxColorEngineering500;\n }\n }\n }\n }\n\n & .textInput__top-wrapper {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0px;\n gap: 4px;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n\n & label {\n font-style: normal;\n font-weight: 400;\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: 0;\n flex-grow: 0;\n\n & .optional-required {\n margin-left: 4px;\n }\n\n & .optional {\n margin-left: 4px;\n }\n\n & .required {\n margin-left: 4px;\n \n &.error {\n color: #CD002F;\n }\n }\n }\n }\n\n .input-container {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n }\n\n\n & .textInput__bottom-wrapper {\n flex-grow: 1;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding: 0px;\n gap: 4px;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n\n & input {\n width: 100%;\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: tokens.$ifxSpace100 tokens.$ifxSpace200;\n gap: tokens.$ifxSpace100;\n height: tokens.$ifxSize500;\n background-color: tokens.$ifxColorBaseWhite;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n border: 1px solid tokens.$ifxColorEngineering400;\n border-radius: tokens.$ifxBorderRadius12;\n flex: none;\n order: 0;\n align-self: stretch;\n flex-grow: 0;\n text-overflow: ellipsis;\n\n &.input-s {\n height: tokens.$ifxSize450;\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n\n &::placeholder {\n font-size: tokens.$ifxFontSizeS;\n line-height: tokens.$ifxLineHeightS;\n }\n\n }\n\n &.icon {\n padding-left: tokens.$ifxSpace500;\n }\n\n &.error {\n border: 1px solid #CD002F;\n\n &:focus {\n outline: none;\n }\n }\n\n &.success {\n border: 1px solid #4CA460;\n\n &:focus {\n outline: none;\n }\n }\n\n\n &:focus:not(.error, .success) {\n outline: none;\n border: 1px solid tokens.$ifxColorOcean500;\n }\n\n &:hover:not(:disabled, :focus, .error, .success) {\n border: 1px solid tokens.$ifxColorEngineering500;\n }\n\n &::placeholder {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeM;\n line-height: tokens.$ifxLineHeightM;\n color: #8D8786;\n flex: none;\n order: 1;\n flex-grow: 1;\n }\n }\n\n & .input-icon {\n // Position the icon within the icon container\n // Adjust the positioning as needed\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: tokens.$ifxSpace200;\n /* Adjust this value to control the icon's left offset */\n transition: .3s;\n color: tokens.$ifxColorEngineering400;\n }\n\n & .textInput__bottom-wrapper-caption {\n font-style: normal;\n font-weight: 400;\n font-size: tokens.$ifxFontSizeXs;\n line-height: tokens.$ifxLineHeightXs;\n letter-spacing: 0.2px;\n color: tokens.$ifxColorBaseBlack;\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n\n &.error {\n color: #CD002F;\n\n }\n\n &.disabled {\n color: tokens.$ifxColorEngineering500;\n }\n }\n\n \n }\n .delete-icon {\n position: absolute;\n right: tokens.$ifxSpace200;\n\n :hover {\n cursor: pointer;\n }\n }\n}","import { Component, h, Event, Element, Prop, EventEmitter, Watch, Method, AttachInternals, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-text-field',\n styleUrl: 'text-field.scss',\n shadow: true,\n formAssociated: true\n})\n\nexport class TextField {\n private inputElement: HTMLInputElement;\n @Element() el;\n @Prop() placeholder: string = \"Placeholder\"\n @Prop({ mutable: true }) value: string = '';\n @Prop() error: boolean = false;\n @Prop() label: string = \"\";\n @Prop() icon: string = \"\";\n @Prop() caption: string = \"\";\n @Prop() size: string = 'm';\n @Prop() required: boolean = false;\n @Prop() optional: boolean = false;\n @Prop() success: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() maxlength?: number;\n @Prop() showDeleteIcon: boolean = false;\n @Prop() autocomplete: string = 'on'\n @Prop() type: 'text' | 'password' = 'text';\n @Prop() internalId: string = \"text-field\"\n @State() internalType: string;\n @Event() ifxInput: EventEmitter<String>;\n // @Prop({ reflect: true })\n // resetOnSubmit: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n\n @Watch('value')\n valueWatcher(newValue: string) {\n if (newValue !== this.inputElement.value) {\n this.inputElement.value = newValue;\n }\n }\n\n @Method()\n async reset() {\n this.value = '';\n this.inputElement.value = '';\n }\n\n handleDeleteContent() {\n this.reset();\n this.ifxInput.emit(this.value);\n }\n\n handleInput() {\n const query = this.inputElement.value;\n this.value = query; // update the value property when input changes\n this.internals.setFormValue(query) // update form value\n this.ifxInput.emit(this.value);\n }\n\n handleTypeProp() { \n this.internalType = this.type === 'text' || this.type === 'password' ? this.type : 'text'\n }\n\n formResetCallback() {\n this.internals.setValidity({});\n this.internals.setFormValue(\"\");\n }\n\n componentWillLoad() { \n this.handleTypeProp()\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-text-field', await framework)\n }\n }\n\n render() {\n return (\n <div aria-label=\"a text field for user input\" aria-value={this.value} aria-disabled={this.disabled} class={`textInput__container ${this.disabled ? 'disabled' : \"\"}`}>\n <div class=\"textInput__top-wrapper\">\n <label htmlFor={this.internalId}>\n <slot></slot>\n {this.optional && this.required ? (\n <span class=\"optional-required\">(optional) *</span>\n ) : this.optional ? (\n <span class=\"optional\">(optional)</span>\n ) : this.required ? (\n <span class={`required ${this.error ? 'error' : \"\"}`}>*</span>\n ) : null}\n </label>\n </div>\n\n <div class=\"textInput__bottom-wrapper\">\n <div class=\"input-container\">\n {this.icon && (\n <ifx-icon class='input-icon' icon={this.icon} />\n )}\n <input\n ref={(el) => (this.inputElement = el)}\n disabled={this.disabled}\n autocomplete={this.autocomplete}\n type={this.internalType}\n id={this.internalId}\n value={this.value}\n onInput={() => this.handleInput()}\n placeholder={this.placeholder}\n maxlength={this.maxlength}\n class={\n `${this.icon ? 'icon' : \"\"}\n ${this.error ? 'error' : \"\"} \n ${this.size === \"s\" ? \"input-s\" : \"\"}\n ${this.success ? \"success\" : \"\"}`} />\n\n { (this.showDeleteIcon && this.value) && (\n <ifx-icon class=\"delete-icon\" icon=\"cRemove16\" onClick={() => this.handleDeleteContent()}></ifx-icon> \n )}\n </div>\n {this.caption && !this.error &&\n <div class={`textInput__bottom-wrapper-caption ${this.disabled} ? disabled : \"\"`}>\n {this.caption}\n </div>}\n {this.error &&\n <div class=\"textInput__bottom-wrapper-caption error\">\n {this.caption}\n </div>}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,c as t,h as o,a as n,g as i}from"./p-b7a462e5.js";import{d as a,t as s}from"./p-4d6cad33.js";import{i as d}from"./p-1ecafb97.js";function r(e,t,o,n=20,i=0){const a=[];if(i>=n){return a}const s=e=>{const a=e.assignedNodes().filter((e=>e.nodeType===1));if(a.length>0){const e=a[0].parentElement;return r(e,t,o,n,i+1)}return[]};const d=Array.from(e.children||[]);for(const e of d){if(t(e)){continue}if(o(e)){a.push(e)}if(e.shadowRoot!=null){a.push(...r(e.shadowRoot,t,o,n,i+1))}else if(e.tagName==="SLOT"){a.push(...s(e))}else{a.push(...r(e,t,o,n,i+1))}}return a}function c(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 l(e){return e.hasAttribute("disabled")||e.hasAttribute("aria-disabled")&&e.getAttribute("aria-disabled")!=="false"}function f(e){if(e.getAttribute("tabindex")==="-1"||c(e)||l(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 h(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 b={easing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)"};const m={fadeIn:[Object.assign(Object.assign({offset:0},b),{opacity:0}),Object.assign(Object.assign({offset:1},b),{opacity:1})],fadeOut:[Object.assign(Object.assign({offset:0},b),{opacity:1}),Object.assign(Object.assign({offset:1},b),{opacity:0})]};const u=':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 p=u;const g=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")}}}async componentDidLoad(){if(!d(this.hostElement)){const e=a();s("ifx-modal",await e)}this.focusableElements=r(this.hostElement.shadowRoot,(e=>c(e)||e.matches("[data-focus-trap-edge]")),f)}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=h(this.modalContainer,m.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=h(this.modalContainer,m.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:"0d573f93f0188f8255994ebd1f4355d0007d081e"},o("div",{key:"2909db24603f28a307a3d2f88b9df3f1cc496ef3",ref:e=>this.modalContainer=e,class:`modal-container ${this.showModal?"open":""}`},o("div",{key:"bc8994163ac10cc94fbf553bee4590e75cd94c9f",class:"modal-overlay",onClick:()=>this.handleOverlayClick()}),o("div",{key:"4c978da70c5de23b0f05396a29a8a7d77a998fac","data-focus-trap-edge":true,onFocus:this.handleTopFocus,tabindex:"0"}),o("div",{key:"45d00c0226bfaf81f076e9fe99c967b10a24f6e5",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:"3db82f776b5ea0551a28b941a14812ddddf99a60",class:"modal-content"},o("div",{key:"f471b0e9429d3ee696a5921b201fe582ca5d94b5",class:"modal-header"},o("h2",{key:"5ea3807496762c5c99f5c8ee86f3d13b5a96b3b2",class:"modal-caption"},this.caption),this.showCloseButton&&o("ifx-icon-button",{key:"f725cab8121fa8caf5f3d61925d521a8935864d6",class:"modal-close-button",ref:e=>this.closeButton=e,icon:"cross-16",variant:"tertiary",onClick:()=>this.doBeforeClose("CLOSE_BUTTON")})),o("div",{key:"7c05913f69feb6ea5e7cc6957f1e051bd0dc1278",class:"modal-body"},o("slot",{key:"674d48b6361b1eece2bb4efd337d8ff1543e3c12",name:"content",onSlotchange:e=>this.handleContentUpdate(e)})),o("div",{key:"13680bcdc4115d945653aa606fda3f6d80cfa94f",class:`modal-footer ${this.slotButtonsPresent?"buttons-present":""}`},o("slot",{key:"de1f6c2c4ad5f3d36b68d825ba914784b271a6c6",name:"buttons",onSlotchange:e=>this.handleButtonsSlotChange(e)})))),o("div",{key:"373cf96a9d6a8783440bbff74fcd60d02f8884cc","data-focus-trap-edge":true,onFocus:this.handleBottomFocus,tabindex:"0"})))}get hostElement(){return i(this)}static get watchers(){return{opened:["openedChanged"]}}};g.style=p;export{g as ifx_modal};
|
2
|
-
//# sourceMappingURL=p-83527ae9.entry.js.map
|
@@ -1 +0,0 @@
|
|
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","componentDidLoad","isNestedInIfxComponent","hostElement","framework","detectFramework","trackComponent","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 { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { queryShadowRoot, isHidden, isFocusable } from '../../global/utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '../../global/utils/animation';\n \ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n@Component({\n tag: 'ifx-modal',\n styleUrl: 'modal.scss',\n shadow: true\n})\nexport class IfxModal {\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n @State() showModal: boolean = this.opened || false;\n\n @Prop() caption: string = 'Modal Title';\n @Prop() 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 async componentDidLoad() {\n if(!isNestedInIfxComponent(this.hostElement)) { \n const framework = detectFramework();\n trackComponent('ifx-modal', await framework)\n }\n // Query all focusable elements and store them in `focusableElements`.\n // Needed for the \"focus trap\" functionality.\n this.focusableElements = queryShadowRoot(\n this.hostElement.shadowRoot,\n (el) => isHidden(el) || el.matches('[data-focus-trap-edge]'),\n isFocusable\n );\n }\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":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["iconButtonCss","IfxIconButtonStyle0","IconButton","constructor","hostRef","this","target","shape","handleClick","event","disabled","stopImmediatePropagation","updateIcon","newIcon","internalIcon","setFocus","focusableElement","focus","componentWillLoad","icon","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","trackComponent","render","h","Host","key","ariaLabel","href","ref","class","getClassNames","undefined","rel","type","getVariantClass","variant","getSizeClass","size","classNames"],"sources":["src/components/icon-button/icon-button.scss?tag=ifx-icon-button&encapsulation=shadow","src/components/icon-button/icon-button.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n\n:host {\n display: inline-flex;\n}\n\n.btn {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: tokens.$ifxSize500;\n padding: 8px;\n gap: tokens.$ifxSpace100;\n color: tokens.$ifxColorBaseWhite;\n flex-direction: row;\n font-weight: tokens.$ifxFontWeightSemibold;\n border-radius: tokens.$ifxBorderRadius12;\n line-height: tokens.$ifxLineHeightM;\n outline: none;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n text-decoration: none;\n user-select: none;\n border: 1px solid rgba(0, 0, 0, 0);\n font-size: tokens.$ifxFontSizeM;\n transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;\n}\n\n.btn:not(.disabled) {\n cursor: pointer;\n}\n\n.btn-primary {\n color: tokens.$ifxColorBaseWhite;\n background-color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorBaseWhite;\n pointer-events: none;\n\n }\n}\n\n\n.btn-secondary {\n color: tokens.$ifxColorOcean500;\n background-color: tokens.$ifxColorBaseWhite;\n border-color: tokens.$ifxColorOcean500;\n\n &:disabled,\n &.disabled {\n background-color: tokens.$ifxColorBaseWhite;\n border: 1px solid tokens.$ifxColorEngineering300;\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n\n }\n}\n\n.btn-tertiary {\n background-color: transparent;\n color: tokens.$ifxColorBaseBlack;\n\n &:disabled,\n &.disabled {\n color: tokens.$ifxColorEngineering300;\n pointer-events: none;\n }\n}\n\n\n.btn {\n\n &.icon-button {\n min-width: initial;\n min-height: initial;\n width: tokens.$ifxSize500;\n height: tokens.$ifxSize500;\n padding: 0;\n justify-content: center;\n\n &.btn-round {\n border-radius: 100px;\n }\n\n &.btn-square {\n border-radius: tokens.$ifxBorderRadius12;\n }\n\n &.btn-s {\n width: tokens.$ifxSize400;\n height: tokens.$ifxSize400;\n padding: 8px;\n }\n\n\n &.btn-l {\n width: tokens.$ifxSize600;\n height: tokens.$ifxSize600;\n padding: 8px;\n }\n }\n\n &.btn-primary:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n\n &.btn-secondary:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n box-shadow: 0 0 0 2px tokens.$ifxColorBaseWhite, 0 0 0 4px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n background-color: tokens.$ifxColorOcean600;\n border-color: tokens.$ifxColorOcean600;\n color: tokens.$ifxColorBaseWhite;\n }\n\n &:active,\n &.active {\n background-color: tokens.$ifxColorOcean700;\n border-color: tokens.$ifxColorOcean700;\n }\n }\n\n &.btn-tertiary:not(:disabled, .disabled) {\n &:focus:not(:active, .active) {\n outline: none;\n color: tokens.$ifxColorBaseBlack;\n box-shadow: 0 0 0 0px tokens.$ifxColorBaseWhite, 0 0 0 2px tokens.$ifxColorOcean500;\n }\n\n &:hover {\n color: tokens.$ifxColorOcean500;\n }\n\n &:active,\n &.active {\n color: tokens.$ifxColorOcean600;\n }\n }\n}","import { Component, Prop, h, Host, Method, Element, Listen, Watch, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\n\nexport class IconButton {\n @Prop() variant: 'primary' | 'secondary' | 'tertiary';\n @Prop() size: string;\n @Prop() disabled: boolean;\n @Prop() icon: string;\n @Prop() href: string;\n @Prop() target: string = '_self';\n @Prop() shape: string = 'round';\n @Prop() ariaLabel: string | null;\n @State() internalIcon: string;\n @Element() el;\n\n private focusableElement: HTMLElement;\n \n @Listen('click', { capture: true })\n handleClick(event: Event) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Watch('icon')\n updateIcon(newIcon: string) { \n this.internalIcon = newIcon;\n }\n\n @Method()\n async setFocus() {\n this.focusableElement.focus();\n }\n\n componentWillLoad() {\n if (this.shape === '') {\n this.shape = 'round';\n }\n this.internalIcon = this.icon;\n }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-icon-button', await framework)\n }\n }\n\n render() {\n return (\n <Host \n aria-disabled={this.disabled}\n aria-label={this.ariaLabel}> \n {this.href ? (\n <a\n ref={(el) => (this.focusableElement = el)}\n class={this.getClassNames()}\n href={!this.disabled ? this.href : undefined} \n target={this.target}\n rel={this.target === '_blank' ? 'noopener noreferrer' : undefined}\n >\n <ifx-icon icon={this.internalIcon}></ifx-icon>\n </a>\n ) : (\n <button\n class={this.getClassNames()}\n type=\"button\"\n disabled={this.disabled}\n >\n <ifx-icon icon={this.internalIcon}></ifx-icon>\n </button>\n )}\n </Host>\n );\n }\n\n getVariantClass() {\n return `${this.variant}` === \"secondary\"\n ? `secondary`\n : `${this.variant}` === 'tertiary'\n ? `tertiary`\n : `primary`;\n }\n\n getSizeClass() {\n if (`${this.size}` === \"xs\") {\n return \"xs\"\n }\n else if (`${this.size}` === \"s\") {\n return \"s\"\n }\n else if (`${this.size}` === \"l\") {\n return \"l\"\n }\n else return \"\";\n }\n\n getClassNames() {\n return classNames(\n 'btn icon-button',\n `btn-${this.shape}`,\n this.size && `btn-${this.getSizeClass()}`,\n `btn-${this.getVariantClass()}`,\n this.disabled ? 'disabled' : ''\n );\n }\n}"],"mappings":"4KAAA,MAAMA,EAAgB,y4EACtB,MAAAC,EAAeD,E,MCWFE,EAAU,MANvB,WAAAC,CAAAC,G,UAYUC,KAAAC,OAAiB,QACjBD,KAAAE,MAAgB,O,CAQxB,WAAAC,CAAYC,GACV,GAAIJ,KAAKK,SAAU,CACjBD,EAAME,0B,EAKV,UAAAC,CAAWC,GACTR,KAAKS,aAAeD,C,CAItB,cAAME,GACJV,KAAKW,iBAAiBC,O,CAGxB,iBAAAC,GACE,GAAIb,KAAKE,QAAU,GAAI,CACrBF,KAAKE,MAAQ,O,CAEfF,KAAKS,aAAeT,KAAKc,I,CAG3B,sBAAMC,GACJ,IAAIC,EAAuBhB,KAAKiB,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,wBAAyBF,E,EAI5C,MAAAG,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2DACYxB,KAAKK,SAAQ,aAChBL,KAAKyB,WAChBzB,KAAK0B,KACJJ,EAAA,KACEK,IAAMV,GAAQjB,KAAKW,iBAAmBM,EACtCW,MAAO5B,KAAK6B,gBACZH,MAAO1B,KAAKK,SAAWL,KAAK0B,KAAOI,UACnC7B,OAAQD,KAAKC,OACb8B,IAAK/B,KAAKC,SAAW,SAAW,sBAAwB6B,WAExDR,EAAA,YAAUR,KAAMd,KAAKS,gBAGvBa,EAAA,UACEM,MAAO5B,KAAK6B,gBACZG,KAAK,SACL3B,SAAUL,KAAKK,UAEfiB,EAAA,YAAUR,KAAMd,KAAKS,gB,CAO/B,eAAAwB,GACE,MAAO,GAAGjC,KAAKkC,YAAc,YACzB,YACA,GAAGlC,KAAKkC,YAAc,WACpB,WACA,S,CAGR,YAAAC,GACE,GAAI,GAAGnC,KAAKoC,SAAW,KAAM,CAC3B,MAAO,I,MAEJ,GAAI,GAAGpC,KAAKoC,SAAW,IAAK,CAC/B,MAAO,G,MAEJ,GAAI,GAAGpC,KAAKoC,SAAW,IAAK,CAC/B,MAAO,G,MAEJ,MAAO,E,CAGd,aAAAP,GACE,OAAOQ,EACL,kBACA,OAAOrC,KAAKE,QACZF,KAAKoC,MAAQ,OAAOpC,KAAKmC,iBACzB,OAAOnC,KAAKiC,oBACZjC,KAAKK,SAAW,WAAa,G","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["CustomNoRowsOverlay","init","params","this","eGui","document","createElement","innerHTML","noRowsMessageFunc","getGui","refresh","_params","CustomLoadingOverlay","tableCss","IfxBasicTableStyle0","Table","constructor","hostRef","columnDefs","rowData","rowHeight","tableHeight","variant","gridInitialized","componentWillLoad","uniqueKey","Math","floor","random","setColsAndRows","setGridOptions","gridOptions","headerHeight","defaultColDef","resizable","suppressCellFocus","enableCellTextSelection","suppressDragLeaveHidesColumns","suppressRowHoverHighlight","onFirstDataRendered","loadingOverlayComponent","noRowsOverlayComponent","noRowsOverlayComponentParams","Date","toLocaleTimeString","icons","sortAscending","sortDescending","sortUnSort","rowDragManaged","some","col","dndSource","animateRows","rows","cols","JSON","parse","err","console","error","Array","isArray","getRowData","getColData","api","sizeColumnsToFit","componentWillUpdate","gridApi","setGridOption","componentDidLoad","container","isNestedInIfxComponent","host","framework","detectFramework","trackComponent","createGrid","defaultMinWidth","getClassNames","classNames","getTableStyle","height","render","h","Host","key","id","class","style","ref","el"],"sources":["src/components/table-basic-version/customNoRowsOverlay.ts","src/components/table-basic-version/customLoadingOverlay.ts","src/components/table-basic-version/table.scss?tag=ifx-basic-table","src/components/table-basic-version/table.tsx"],"sourcesContent":["import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomNoRowsOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(params: ICellRendererParams & { noRowsMessageFunc: () => string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `\n <div role=\"presentation\" class=\"ag-overlay-loading-center\" >\n ${params.noRowsMessageFunc()}\n </div>\n `;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","import { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\n\nexport class CustomLoadingOverlay implements ICellRendererComp {\n eGui!: HTMLElement;\n\n init(_params: ICellRendererParams & { loadingMessage: string }) {\n this.eGui = document.createElement('div');\n this.eGui.innerHTML = `<div class=\"ag-overlay-loading-center\" role=\"presentation\">\n<ifx-spinner></ifx-spinner>\n </div>`;\n }\n\n getGui() {\n return this.eGui;\n }\n\n refresh(_params: ICellRendererParams): boolean {\n return false;\n }\n}","@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n@import \"~ag-grid-community/styles/ag-grid.css\";\n// @import \"~ag-grid-community/styles/ag-theme-alpine.css\";\n\n// :host {\n// --table-height: '200px';\n// /* Default value */\n// } ag-ltr .ag-header-cell-resize\n\n.zebra { \n & .ag-row-odd { \n background-color: tokens.$ifxColorEngineering100!important;\n }\n\n & .ag-row { \n border-bottom: none!important;\n }\n}\n\n.ag-header-viewport { \n background-color: tokens.$ifxColorEngineering200!important;\n}\n\n.table-wrapper .ag-root-wrapper-body {\n height: auto !important;\n min-height: 100px !important;\n min-width: 100px;\n}\n\n.ifx-ag-grid {\n display: grid;\n height: 100%;\n width: 100%;\n min-width: 100px;\n padding-bottom: tokens.$ifxSpace100;\n}\n\n\n.ifx-ag-grid .ag-header-cell::after {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n}\n\n.ifx-ag-grid .ag-header-cell:focus {\n outline: none !important;\n}\n\n.ifx-ag-grid *:not(.ag-header-cell):focus {\n outline: none;\n}\n\n.ifx-ag-grid .ag-header-cell:not(:last-child)::before {\n content: '';\n position: absolute;\n right: 0;\n top: calc(50% - 12px);\n height: 24px; \n width: 1px;\n background-color: tokens.$ifxColorEngineering300; \n}\n\n.ag-overlay-loading-center {\n border: none;\n background: none;\n border-radius: none;\n box-shadow: none;\n}\n\n\n.ag-root-wrapper {\n border: 1px solid tokens.$ifxColorEngineering200;\n}\n\n.ag-header {\n background-color: tokens.$ifxColorEngineering100;\n border-bottom: none;\n\n &.ag-header-active {\n outline: none !important;\n border-color: #0A8276 !important;\n }\n}\n\n.ag-header-cell {\n padding-left: 16px;\n padding-right: 16px;\n gap: 4px;\n}\n\n\n.ag-header-cell-focus {\n border: none !important;\n outline: none !important;\n}\n\n.ag-header-cell-text {\n font-size: 13px;\n font-style: normal;\n font-weight: 600;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n}\n\n.ag-row-focus {\n background-color: inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n.ag-row-hover {\n background-color: tokens.$ifxColorBaseWhite !important; //inherit !important;\n /* Reset the hover color to the row's original color */\n}\n\n\n.ag-cell-focus {\n border: none !important;\n outline: none !important;\n background-color: inherit !important;\n}\n\n\n\n.ag-row {\n background-color: tokens.$ifxColorBaseWhite;\n border-bottom: 1px solid tokens.$ifxColorEngineering200;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n z-index: 1; //ensure the stacking order when used inside js frameworks\n}\n\n.ag-row-odd {\n background-color: tokens.$ifxColorBaseWhite;\n}\n\n.ag-cell {\n display: flex;\n padding-left: 16px;\n padding-right: 16px;\n align-items: center;\n\n}\n\n.ag-ltr .ag-sort-indicator-icon {\n padding-left: 0px;\n vertical-align: bottom;\n line-height: 12px;\n}\n\n.unsort-icon-custom-color {\n color: tokens.$ifxColorEngineering400;\n}","import { Component, h, Element, Host, Prop, State } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking';\nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\nimport { createGrid, FirstDataRenderedEvent, GridApi, GridOptions } from 'ag-grid-community';\nimport { CustomNoRowsOverlay } from './customNoRowsOverlay';\nimport { CustomLoadingOverlay } from './customLoadingOverlay';\nimport classNames from 'classnames';\n\n@Component({\n tag: 'ifx-basic-table',\n styleUrl: 'table.scss',\n shadow: false // only works with shadowdom off because we are using an external library\n})\nexport class Table {\n @State() gridOptions: GridOptions;\n @Prop() cols: any[] | string;\n @Prop() rows: any[] | string;\n @State() columnDefs: any[] = [];\n @State() rowData: any[] = [];\n @Prop() rowHeight: string = 'default';\n @Prop() tableHeight: string = 'auto';\n @Prop() variant: string = 'default'\n @State() uniqueKey: string;\n @Element() host: HTMLElement;\n \n private container: HTMLDivElement;\n private gridApi: GridApi; \n private gridInitialized = false;\n\n componentWillLoad() {\n this.uniqueKey = `unique-${Math.floor(Math.random() * 1000000)}`;\n this.setColsAndRows(); //needed?\n this.setGridOptions();\n }\n\n setGridOptions() {\n this.gridOptions = {\n rowHeight: this.rowHeight === 'default' ? 40 : 32,\n headerHeight: 40,\n defaultColDef: {\n resizable: true,\n },\n suppressCellFocus: true,\n enableCellTextSelection: true,\n suppressDragLeaveHidesColumns: true,\n suppressRowHoverHighlight: true,\n onFirstDataRendered: this.onFirstDataRendered,\n columnDefs: this.columnDefs,\n rowData: this.rowData,\n loadingOverlayComponent: CustomLoadingOverlay,\n noRowsOverlayComponent: CustomNoRowsOverlay,\n noRowsOverlayComponentParams: {\n noRowsMessageFunc: () =>\n 'No rows found at: ' + new Date().toLocaleTimeString(),\n },\n icons: {\n sortAscending: '<ifx-icon icon=\"arrow-triangle-up-16\"></ifx-icon>',\n sortDescending: '<ifx-icon icon=\"arrow-triangle-down-16\"></ifx-icon>',\n sortUnSort: '<a class=\"unsort-icon-custom-color\"><ifx-icon icon=\"arrow-triangle-vertikal-16\"></ifx-icon></a>',\n },\n rowDragManaged: this.columnDefs.some((col) => col.dndSource === true) ? true : false,\n animateRows: this.columnDefs.some((col) => col.dndSource === true) ? true : false,\n };\n }\n\n setColsAndRows() {\n if (typeof this.rows === 'string' && typeof this.cols === 'string') {\n try {\n if(this.cols) {\n this.columnDefs = JSON.parse(this.cols);\n }\n if(this.rows) {\n this.rowData = JSON.parse(this.rows);\n }\n } catch (err) {\n console.error('Failed to parse input:', err);\n }\n } else if ((Array.isArray(this.rows) || typeof this.rows === 'object') && (Array.isArray(this.cols) || typeof this.cols === 'object')) {\n this.columnDefs = this.cols;\n this.rowData = this.rows;\n } else {\n console.error('Unexpected value for cols and rows:', this.rows, this.cols);\n }\n }\n\n getRowData() {\n let rows: any[] = [];\n if (typeof this.rows === 'string') {\n try {\n if(this.rows) {\n rows = JSON.parse(this.rows);\n }\n } catch (err) {\n console.error('Failed to parse input:', err);\n }\n } else if (Array.isArray(this.rows) || typeof this.rows === 'object') {\n rows = this.rows;\n } else {\n console.error('Unexpected value for rows: ', this.rows);\n }\n\n return rows;\n }\n\n getColData() {\n let cols: any[] = [];\n\n if (typeof this.cols === 'string') {\n try {\n if(this.cols) { \n cols = JSON.parse(this.cols);\n }\n } catch (err) {\n console.error('Failed to parse input:', err);\n }\n } else if (Array.isArray(this.cols) || typeof this.cols === 'object') {\n cols = this.cols;\n } else {\n console.error('Unexpected value for cols: ', this.cols);\n }\n return cols;\n }\n\n onFirstDataRendered(params: FirstDataRenderedEvent) {\n params.api.sizeColumnsToFit();\n }\n\n componentWillUpdate() {\n this.setColsAndRows();\n this.gridOptions.columnDefs = this.columnDefs;\n this.gridOptions.rowData = this.rowData;\n if (this.gridApi) {\n this.gridApi.setGridOption('rowData', this.rowData);\n this.gridApi.setGridOption('columnDefs', this.columnDefs);\n }\n }\n\n async componentDidLoad() {\n if (this.container && !this.gridInitialized) {\n if(!isNestedInIfxComponent(this.host)) { \n const framework = detectFramework();\n trackComponent('ifx-basic-table', await framework)\n }\n this.gridApi = createGrid(this.container, this.gridOptions);\n if (this.gridApi) {\n this.gridApi.sizeColumnsToFit({\n defaultMinWidth: 100,\n });\n this.gridApi.setGridOption('columnDefs', this.getColData());\n this.gridApi.setGridOption('rowData', this.getRowData());\n this.gridInitialized = true; \n }\n }\n }\n\n getClassNames() {\n return classNames(\n this.tableHeight === 'auto' && 'table-wrapper ag-root-wrapper-body',\n 'table-wrapper',\n );\n }\n\n getTableStyle() {\n if (this.tableHeight !== 'auto') {\n return {\n height: this.tableHeight,\n };\n }\n return {};\n }\n\n render() {\n return (\n <Host>\n <div id=\"table-wrapper\" class={this.getClassNames()}>\n <div id={`ifxTable-${this.uniqueKey}`} class={`ifx-ag-grid ${this.variant === 'zebra' ? 'zebra' : \"\"}`} style={this.getTableStyle()} ref={(el) => (this.container = el)}></div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["tagCss","IfxTagStyle0","Tag","componentDidLoad","isNestedInIfxComponent","this","el","framework","detectFramework","trackComponent","render","h","key","class","icon","href"],"sources":["src/components/tag/tag.scss?tag=ifx-tag&encapsulation=shadow","src/components/tag/tag.tsx"],"sourcesContent":["@use \"~@infineon/design-system-tokens/dist/tokens\";\n@use \"../../global/font.scss\";\n\n:host {\n display: inline-flex;\n}\n\n.container {\n display: inline-flex;\n align-items: center;\n padding: tokens.$ifxSpace50 tokens.$ifxSpace200;\n border: 1px solid tokens.$ifxColorEngineering300;\n border-radius: tokens.$ifxBorderRadiusRound;\n background-color: tokens.$ifxColorBaseWhite;\n gap: tokens.$ifxSpace100;\n font-family: var(--ifx-font-family); // tokens.$ifxFontFamilyBody;\n\n\n\n &:hover {\n cursor: pointer;\n border-color: tokens.$ifxColorEngineering400;\n }\n\n &:active,\n &.active {\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n &:focus:not(:active, .active) {\n outline: none;\n border-color: tokens.$ifxColorBaseBlack;\n }\n\n .label-wrapper {\n text-decoration: none;\n\n .label {\n margin: 0;\n font-weight: tokens.$ifxFontWeightRegular;\n font-size: tokens.$ifxFontSizeM;\n line-height: 20px;\n color: tokens.$ifxColorBaseBlack;\n }\n }\n}","import { Component, Prop, h, Element } from '@stencil/core';\nimport { trackComponent } from '../../global/utils/tracking'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\n\n@Component({\n tag: 'ifx-tag',\n styleUrl: 'tag.scss',\n shadow: true\n})\nexport class Tag {\n @Element() el: HTMLElement;\n @Prop() icon: string;\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-tag', await framework)\n }\n }\n\n render() {\n return (\n <div aria-label=\"a tag\" class=\"container\">\n {this.icon && (\n <ifx-icon icon={this.icon}></ifx-icon>)}\n <a href=\"javascript:void(null);\" class=\"label-wrapper\" >\n <p class=\"label\">\n <slot />\n </p>\n </a>\n </div>\n\n );\n }\n}"],"mappings":"iIAAA,MAAMA,EAAS,4lBACf,MAAAC,EAAeD,E,MCSFE,EAAG,M,yBAId,sBAAMC,GACJ,IAAIC,EAAuBC,KAAKC,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,gBAAiBF,E,EAIpC,MAAAG,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAgB,QAAQC,MAAM,aAC3BR,KAAKS,MACJH,EAAA,YAAAC,IAAA,2CAAUE,KAAMT,KAAKS,OACvBH,EAAA,KAAAC,IAAA,2CAAGG,KAAK,yBAAyBF,MAAM,iBACrCF,EAAA,KAAAC,IAAA,2CAAGC,MAAM,SACPF,EAAA,QAAAC,IAAA,+C","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["indicatorCss","IfxIndicatorStyle0","Indicator","constructor","hostRef","this","inverted","variant","number","handleNumber","filteredNumber","isNaN","componentWillLoad","componentDidLoad","isNestedInIfxComponent","el","framework","detectFramework","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'; \nimport { isNestedInIfxComponent } from '../../global/utils/dom-utils';\nimport { detectFramework } from '../../global/utils/framework-detection';\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 }\n\n async componentDidLoad() { \n if(!isNestedInIfxComponent(this.el)) { \n const framework = detectFramework();\n trackComponent('ifx-indicator', await framework)\n }\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":"iIAAA,MAAMA,EAAe,swBACrB,MAAAC,EAAeD,E,MCSFE,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,c,CAGP,sBAAMI,GACJ,IAAIC,EAAuBT,KAAKU,IAAK,CACnC,MAAMC,EAAYC,IAClBC,EAAe,sBAAuBF,E,EAI1C,mBAAAG,GACEd,KAAKI,c,CAGP,MAAAW,GACE,OACEC,EAAA,OAAAC,IAAA,wDAAiBjB,KAAKkB,UAAWC,MAAM,wBACrCnB,KAAKE,UAAY,UAClBc,EAAA,OAAAC,IAAA,2CAAKE,MAAO,qBAAqBnB,KAAKC,SAAW,WAAa,MAC3De,EAAA,OAAAC,IAAA,2CAAKE,MAAM,mBACRnB,KAAKK,iBAGVL,KAAKE,UAAY,OAASc,EAAA,OAAAC,IAAA,2CAAKE,MAAM,iB","ignoreList":[]}
|