@siemens/ix 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/a11y.js +1 -1
- package/components/a11y.js.map +1 -1
- package/components/application-header.js +37 -7
- package/components/application-header.js.map +1 -1
- package/components/card-accordion.js +1 -1
- package/components/card-accordion.js.map +1 -1
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/card.js +3 -3
- package/components/card.js.map +1 -1
- package/components/col.js.map +1 -1
- package/components/context.js +1 -1
- package/components/context.js.map +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-controller.js +140 -0
- package/components/dropdown-controller.js.map +1 -0
- package/components/dropdown-item.js +4 -4
- package/components/dropdown-item.js.map +1 -1
- package/components/dropdown.js +5 -141
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/floating-ui.dom.esm.js +533 -60
- package/components/floating-ui.dom.esm.js.map +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-context-menu.js.map +1 -1
- package/components/group-item.js +2 -2
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/components/ix-action-card.js +1 -1
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +1 -1
- package/components/ix-application.js +2 -2
- package/components/ix-application.js.map +1 -1
- package/components/ix-basic-navigation.js +2 -2
- package/components/ix-basic-navigation.js.map +1 -1
- package/components/ix-blind.js.map +1 -1
- package/components/ix-breadcrumb.js +2 -2
- package/components/ix-card-list.js +6 -6
- package/components/ix-card-list.js.map +1 -1
- package/components/ix-category-filter.js +8 -4
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-chip.js +4 -4
- package/components/ix-chip.js.map +1 -1
- package/components/ix-content.js +3 -3
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-drawer.js +2 -2
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-event-list-item.js +4 -4
- package/components/ix-event-list.js +2 -2
- package/components/ix-expanding-search.js +4 -4
- package/components/ix-flip-tile-content.js +1 -1
- package/components/ix-flip-tile.js +4 -4
- package/components/ix-form-field.js +1 -1
- package/components/ix-group.js +58 -38
- package/components/ix-group.js.map +1 -1
- package/components/ix-icon-toggle-button.js +1 -1
- package/components/ix-input-group.js +1 -1
- package/components/ix-key-value-list.js +1 -1
- package/components/ix-kpi.js +3 -3
- package/components/ix-kpi.js.map +1 -1
- package/components/ix-link-button.js +3 -3
- package/components/ix-map-navigation.js +3 -3
- package/components/ix-map-navigation.js.map +1 -1
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +5 -5
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu.js +12 -12
- package/components/ix-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +2 -2
- package/components/ix-modal-footer.js.map +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +1 -1
- package/components/ix-modal.js.map +1 -1
- package/components/ix-pagination.js +2 -2
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js.map +1 -1
- package/components/ix-pill.js +4 -4
- package/components/ix-pill.js.map +1 -1
- package/components/ix-playground-internal.js +1 -1
- package/components/ix-playground-internal.js.map +1 -1
- package/components/ix-push-card.js +1 -1
- package/components/ix-push-card.js.map +1 -1
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-tile.js +4 -4
- package/components/ix-tile.js.map +1 -1
- package/components/ix-toast-container.js.map +1 -1
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +2 -2
- package/components/ix-tree.js +21 -7
- package/components/ix-tree.js.map +1 -1
- package/components/ix-upload.js +3 -3
- package/components/ix-upload.js.map +1 -1
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-step.js.map +1 -1
- package/components/ix-workflow-steps.js +1 -1
- package/components/ix-workflow-steps.js.map +1 -1
- package/components/layout-grid.js +2 -2
- package/components/layout-grid.js.map +1 -1
- package/components/listener.js +1 -1
- package/components/listener.js.map +1 -1
- package/components/logical-filter-operator.js +1 -1
- package/components/logical-filter-operator.js.map +1 -1
- package/components/map-navigation-overlay.js +2 -2
- package/components/menu-avatar-item.js +1 -1
- package/components/menu-expand-icon.js +1 -1
- package/components/menu-expand-icon.js.map +1 -1
- package/components/menu-item.js +14 -14
- package/components/menu-item.js.map +1 -1
- package/components/modal-content.js +1 -1
- package/components/modal-content.js.map +1 -1
- package/components/modal-header.js +1 -1
- package/components/modal-header.js.map +1 -1
- package/components/row.js +1 -1
- package/components/row.js.map +1 -1
- package/components/select-item.js +1 -1
- package/components/select.js +27 -30
- package/components/select.js.map +1 -1
- package/components/shadow-dom.js +1 -1
- package/components/shadow-dom.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tabs.js +2 -2
- package/components/tabs.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/toast.js.map +1 -1
- package/components/tooltip.js +22 -20
- package/components/tooltip.js.map +1 -1
- package/components/tree-item.js +8 -8
- package/components/tree-item.js.map +1 -1
- package/dist/cjs/{a11y-d3ce56d1.js → a11y-eba397e8.js} +2 -2
- package/dist/cjs/{a11y-d3ce56d1.js.map → a11y-eba397e8.js.map} +1 -1
- package/dist/cjs/{context-98f4a0b3.js → context-938f7470.js} +2 -2
- package/dist/cjs/{context-98f4a0b3.js.map → context-938f7470.js.map} +1 -1
- package/dist/cjs/dropdown-controller-5ef3d018.js +144 -0
- package/dist/cjs/dropdown-controller-5ef3d018.js.map +1 -0
- package/dist/cjs/{floating-ui.dom.esm-94b4d17c.js → floating-ui.dom.esm-9dde6cd6.js} +534 -60
- package/dist/cjs/floating-ui.dom.esm-9dde6cd6.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +34 -8
- package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +4 -4
- package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
- package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +9 -5
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +4 -4
- package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
- package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +4 -4
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-divider.cjs.entry.js +1 -1
- package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +18 -154
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
- package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group.cjs.entry.js +57 -39
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
- package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
- package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-item.cjs.entry.js +13 -13
- package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +13 -13
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +3 -3
- package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +4 -4
- package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +28 -31
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +2 -2
- package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +2 -2
- package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ix-tooltip.cjs.entry.js +23 -21
- package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +8 -8
- package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree.cjs.entry.js +21 -7
- package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +3 -3
- package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/{listener-bc3e7c0c.js → listener-a124ed49.js} +2 -2
- package/dist/cjs/{listener-bc3e7c0c.js.map → listener-a124ed49.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{logical-filter-operator-5564322e.js → logical-filter-operator-4917393f.js} +2 -2
- package/dist/cjs/{logical-filter-operator-5564322e.js.map → logical-filter-operator-4917393f.js.map} +1 -1
- package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
- package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/collection/components/action-card/action-card.js +6 -3
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/application/application.css +26 -6
- package/dist/collection/components/application/application.js +1 -1
- package/dist/collection/components/application/application.js.map +1 -1
- package/dist/collection/components/application-header/application-header.css +9 -7
- package/dist/collection/components/application-header/application-header.js +77 -5
- package/dist/collection/components/application-header/application-header.js.map +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
- package/dist/collection/components/blind/blind.css +1 -1
- package/dist/collection/components/blind/blind.js +2 -2
- package/dist/collection/components/blind/blind.js.map +1 -1
- package/dist/collection/components/blind/test/blind.ct.js +1 -1
- package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/card/card.css +3 -3
- package/dist/collection/components/card/card.js +7 -4
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card-accordion/card-accordion.css +4 -4
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.css +6 -0
- package/dist/collection/components/card-list/card-list.js +5 -5
- package/dist/collection/components/card-list/card-list.js.map +1 -1
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.js +18 -13
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
- package/dist/collection/components/category-filter/test/category-filter.ct.js +52 -0
- package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -0
- package/dist/collection/components/chip/chip.css +2 -2
- package/dist/collection/components/chip/chip.js +5 -5
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/col/col.css +1 -1
- package/dist/collection/components/col/col.js +1 -1
- package/dist/collection/components/col/col.js.map +1 -1
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.js +2 -2
- package/dist/collection/components/dropdown/dropdown.js +2 -2
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +3 -3
- package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/event-list/event-list.js +2 -2
- package/dist/collection/components/event-list-item/event-list-item.js +4 -4
- package/dist/collection/components/expanding-search/expanding-search.js +4 -4
- package/dist/collection/components/filter-chip/filter-chip.js +1 -1
- package/dist/collection/components/flip-tile/flip-tile.js +4 -4
- package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
- package/dist/collection/components/form-field/form-field.js +1 -1
- package/dist/collection/components/grid/layout-grid.css +1 -1
- package/dist/collection/components/grid/layout-grid.js +3 -3
- package/dist/collection/components/grid/layout-grid.js.map +1 -1
- package/dist/collection/components/group/group-context-menu.css +1 -1
- package/dist/collection/components/group/group-context-menu.js +2 -2
- package/dist/collection/components/group/group-context-menu.js.map +1 -1
- package/dist/collection/components/group/group.css +3 -2
- package/dist/collection/components/group/group.js +68 -38
- package/dist/collection/components/group/group.js.map +1 -1
- package/dist/collection/components/group/test/group.ct.js +34 -4
- package/dist/collection/components/group/test/group.ct.js.map +1 -1
- package/dist/collection/components/group-item/group-item.js +2 -2
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
- package/dist/collection/components/input-group/input-group.js +1 -1
- package/dist/collection/components/key-value-list/key-value-list.js +1 -1
- package/dist/collection/components/kpi/kpi.css +1 -1
- package/dist/collection/components/kpi/kpi.js +4 -4
- package/dist/collection/components/kpi/kpi.js.map +1 -1
- package/dist/collection/components/link-button/link-button.js +3 -3
- package/dist/collection/components/map-navigation/map-navigation.css +3 -3
- package/dist/collection/components/map-navigation/map-navigation.js +2 -2
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
- package/dist/collection/components/menu/menu-expand-icon.css +1 -1
- package/dist/collection/components/menu/menu-expand-icon.js +3 -3
- package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
- package/dist/collection/components/menu/menu.css +4 -3
- package/dist/collection/components/menu/menu.js +12 -12
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu/test/menu.ct.js +1 -1
- package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
- package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
- package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
- package/dist/collection/components/menu-category/menu-category.js +5 -5
- package/dist/collection/components/menu-item/menu-item.js +24 -21
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +18 -8
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal/test/modal.ct.js +1 -1
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/modal-content/modal-content.css +1 -1
- package/dist/collection/components/modal-content/modal-content.js +1 -1
- package/dist/collection/components/modal-footer/modal-footer.css +1 -0
- package/dist/collection/components/modal-footer/modal-footer.js +1 -1
- package/dist/collection/components/modal-header/modal-header.js +2 -2
- package/dist/collection/components/modal-header/modal-header.js.map +1 -1
- package/dist/collection/components/modal-loading/modal-loading.js +1 -1
- package/dist/collection/components/pagination/pagination.js +2 -2
- package/dist/collection/components/pane/pane.css +1 -1
- package/dist/collection/components/pane/pane.js +1 -1
- package/dist/collection/components/pane/pane.js.map +1 -1
- package/dist/collection/components/pane/test/panes.ct.js +1 -1
- package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
- package/dist/collection/components/pane-layout/pane-layout.js +1 -1
- package/dist/collection/components/pill/pill.css +2 -2
- package/dist/collection/components/pill/pill.js +5 -5
- package/dist/collection/components/pill/pill.js.map +1 -1
- package/dist/collection/components/playground/example-modal.js +1 -1
- package/dist/collection/components/playground/playground.js +2 -2
- package/dist/collection/components/playground/playground.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +9 -6
- package/dist/collection/components/push-card/push-card.js.map +1 -1
- package/dist/collection/components/row/row.css +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/row/row.js.map +1 -1
- package/dist/collection/components/select/select.js +27 -30
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +44 -0
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +1 -1
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button-item/split-button-item.js +1 -1
- package/dist/collection/components/tabs/tabs.css +1 -1
- package/dist/collection/components/tabs/tabs.js +3 -3
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tile/tile.css +1 -1
- package/dist/collection/components/tile/tile.js +5 -5
- package/dist/collection/components/tile/tile.js.map +1 -1
- package/dist/collection/components/toast/styles/toast-container.css +1 -1
- package/dist/collection/components/toast/toast-container.js +1 -1
- package/dist/collection/components/toast/toast-container.js.map +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.css +1 -1
- package/dist/collection/components/toast/toast.js +3 -3
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/toggle/toggle.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -5
- package/dist/collection/components/tooltip/tooltip.js +22 -20
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree/test/tree.ct.js +37 -1
- package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
- package/dist/collection/components/tree/tree-model.js.map +1 -1
- package/dist/collection/components/tree/tree.css +1 -1
- package/dist/collection/components/tree/tree.js +26 -11
- package/dist/collection/components/tree/tree.js.map +1 -1
- package/dist/collection/components/tree-item/tree-item.css +9 -0
- package/dist/collection/components/tree-item/tree-item.js +13 -12
- package/dist/collection/components/tree-item/tree-item.js.map +1 -1
- package/dist/collection/components/upload/upload.js +4 -4
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/components/utils/condition-checks.js +1 -1
- package/dist/collection/components/utils/condition-checks.js.map +1 -1
- package/dist/collection/components/utils/context.js +1 -1
- package/dist/collection/components/utils/context.js.map +1 -1
- package/dist/collection/components/utils/listener.js +1 -1
- package/dist/collection/components/utils/listener.js.map +1 -1
- package/dist/collection/components/utils/notification-color.js.map +1 -1
- package/dist/collection/components/utils/shadow-dom.js +1 -1
- package/dist/collection/components/utils/shadow-dom.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.css +1 -1
- package/dist/collection/components/workflow-step/workflow-step.js +4 -4
- package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +2 -2
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.css +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.js +2 -2
- package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/tests/application-header/application-header.e2e.js +9 -0
- package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
- package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
- package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
- package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
- package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
- package/dist/collection/tests/group/group.e2e.js +12 -3
- package/dist/collection/tests/group/group.e2e.js.map +1 -1
- package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
- package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
- package/dist/collection/tests/tree/tree.e2e.js +12 -0
- package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
- package/dist/esm/{a11y-d5444a76.js → a11y-2e34777f.js} +2 -2
- package/dist/esm/{a11y-d5444a76.js.map → a11y-2e34777f.js.map} +1 -1
- package/dist/esm/{context-c9078420.js → context-82a1ccf8.js} +2 -2
- package/dist/esm/{context-c9078420.js.map → context-82a1ccf8.js.map} +1 -1
- package/dist/esm/dropdown-controller-95bd6750.js +140 -0
- package/dist/esm/dropdown-controller-95bd6750.js.map +1 -0
- package/dist/esm/{floating-ui.dom.esm-6e7c098f.js → floating-ui.dom.esm-d4ad786a.js} +534 -61
- package/dist/esm/floating-ui.dom.esm-d4ad786a.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application-header.entry.js +35 -9
- package/dist/esm/ix-application-header.entry.js.map +1 -1
- package/dist/esm/ix-application-sidebar.entry.js +1 -1
- package/dist/esm/ix-application-switch-modal.entry.js +1 -1
- package/dist/esm/ix-application.entry.js +4 -4
- package/dist/esm/ix-application.entry.js.map +1 -1
- package/dist/esm/ix-avatar_2.entry.js +2 -2
- package/dist/esm/ix-basic-navigation.entry.js +3 -3
- package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
- package/dist/esm/ix-blind.entry.js +1 -1
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +1 -1
- package/dist/esm/ix-breadcrumb.entry.js +3 -3
- package/dist/esm/ix-card-accordion_2.entry.js +2 -2
- package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
- package/dist/esm/ix-card-list.entry.js +6 -6
- package/dist/esm/ix-card-list.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +4 -4
- package/dist/esm/ix-card_2.entry.js.map +1 -1
- package/dist/esm/ix-category-filter.entry.js +9 -5
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-chip.entry.js +4 -4
- package/dist/esm/ix-chip.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +4 -4
- package/dist/esm/ix-col_4.entry.js.map +1 -1
- package/dist/esm/ix-content.entry.js +4 -4
- package/dist/esm/ix-css-grid-item.entry.js +1 -1
- package/dist/esm/ix-divider.entry.js +1 -1
- package/dist/esm/ix-drawer.entry.js +2 -2
- package/dist/esm/ix-dropdown-header.entry.js +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +4 -140
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +5 -5
- package/dist/esm/ix-event-list.entry.js +2 -2
- package/dist/esm/ix-expanding-search.entry.js +4 -4
- package/dist/esm/ix-filter-chip_2.entry.js +2 -2
- package/dist/esm/ix-flip-tile-content.entry.js +1 -1
- package/dist/esm/ix-flip-tile.entry.js +4 -4
- package/dist/esm/ix-form-field.entry.js +1 -1
- package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
- package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
- package/dist/esm/ix-group.entry.js +57 -39
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +2 -2
- package/dist/esm/ix-icon-toggle-button.entry.js +2 -2
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-key-value-list.entry.js +1 -1
- package/dist/esm/ix-kpi.entry.js +3 -3
- package/dist/esm/ix-kpi.entry.js.map +1 -1
- package/dist/esm/ix-link-button.entry.js +3 -3
- package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
- package/dist/esm/ix-map-navigation.entry.js +4 -4
- package/dist/esm/ix-map-navigation.entry.js.map +1 -1
- package/dist/esm/ix-menu-about-item.entry.js +1 -1
- package/dist/esm/ix-menu-about-news.entry.js +4 -4
- package/dist/esm/ix-menu-avatar.entry.js +3 -3
- package/dist/esm/ix-menu-category.entry.js +6 -6
- package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
- package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
- package/dist/esm/ix-menu-item.entry.js +14 -14
- package/dist/esm/ix-menu-item.entry.js.map +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +1 -1
- package/dist/esm/ix-menu.entry.js +13 -13
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +3 -3
- package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
- package/dist/esm/ix-modal-example.entry.js +1 -1
- package/dist/esm/ix-modal-footer.entry.js +2 -2
- package/dist/esm/ix-modal-footer.entry.js.map +1 -1
- package/dist/esm/ix-modal-loading.entry.js +1 -1
- package/dist/esm/ix-modal.entry.js +3 -3
- package/dist/esm/ix-modal.entry.js.map +1 -1
- package/dist/esm/ix-pagination.entry.js +3 -3
- package/dist/esm/ix-pane-layout.entry.js +1 -1
- package/dist/esm/ix-pane.entry.js.map +1 -1
- package/dist/esm/ix-pill.entry.js +4 -4
- package/dist/esm/ix-pill.entry.js.map +1 -1
- package/dist/esm/ix-playground-internal.entry.js +1 -1
- package/dist/esm/ix-playground-internal.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +1 -1
- package/dist/esm/ix-push-card.entry.js.map +1 -1
- package/dist/esm/ix-select.entry.js +28 -31
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +2 -2
- package/dist/esm/ix-split-button-item.entry.js +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +2 -2
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +4 -4
- package/dist/esm/ix-tile.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +2 -2
- package/dist/esm/ix-toast.entry.js.map +1 -1
- package/dist/esm/ix-toggle-button.entry.js +3 -3
- package/dist/esm/ix-toggle.entry.js +3 -3
- package/dist/esm/ix-tooltip.entry.js +23 -21
- package/dist/esm/ix-tooltip.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +8 -8
- package/dist/esm/ix-tree-item.entry.js.map +1 -1
- package/dist/esm/ix-tree.entry.js +21 -7
- package/dist/esm/ix-tree.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +3 -3
- package/dist/esm/ix-upload.entry.js.map +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js.map +1 -1
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
- package/dist/esm/{listener-4f3baab5.js → listener-2c562054.js} +2 -2
- package/dist/esm/{listener-4f3baab5.js.map → listener-2c562054.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{logical-filter-operator-f6701df5.js → logical-filter-operator-d793d1c3.js} +2 -2
- package/dist/esm/{logical-filter-operator-f6701df5.js.map → logical-filter-operator-d793d1c3.js.map} +1 -1
- package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
- package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/p-04af3853.entry.js +2 -0
- package/dist/siemens-ix/{p-4df0cdd7.entry.js → p-04ec538b.entry.js} +2 -2
- package/dist/siemens-ix/{p-68644ee1.entry.js → p-05dc6b2d.entry.js} +2 -2
- package/dist/siemens-ix/{p-68644ee1.entry.js.map → p-05dc6b2d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-af099ca4.entry.js → p-0632731e.entry.js} +2 -2
- package/dist/siemens-ix/{p-6af4415c.entry.js → p-085d5ec2.entry.js} +2 -2
- package/dist/siemens-ix/{p-6af4415c.entry.js.map → p-085d5ec2.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-0d2a6886.entry.js → p-091b036d.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js → p-0ef97555.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js.map → p-0ef97555.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-2946fd70.entry.js → p-0fafba48.entry.js} +2 -2
- package/dist/siemens-ix/{p-7076210b.entry.js → p-1483f65d.entry.js} +2 -2
- package/dist/siemens-ix/{p-4f8ac3bf.js → p-157b1b28.js} +1 -1
- package/dist/siemens-ix/{p-4f8ac3bf.js.map → p-157b1b28.js.map} +1 -1
- package/dist/siemens-ix/p-15f44099.entry.js +2 -0
- package/dist/siemens-ix/{p-87e692d9.entry.js.map → p-15f44099.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-2908cacd.entry.js → p-17a8aab2.entry.js} +2 -2
- package/dist/siemens-ix/{p-2908cacd.entry.js.map → p-17a8aab2.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-c1968b80.entry.js → p-1bd98772.entry.js} +2 -2
- package/dist/siemens-ix/p-1c3a0b1f.js +2 -0
- package/dist/siemens-ix/p-1c3a0b1f.js.map +1 -0
- package/dist/siemens-ix/{p-8629db91.entry.js → p-25f1749c.entry.js} +2 -2
- package/dist/siemens-ix/{p-5696bb62.entry.js → p-306269ae.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde7eb80.entry.js → p-33a7a26d.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde7eb80.entry.js.map → p-33a7a26d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-712e0ee0.js → p-345e1c73.js} +1 -1
- package/dist/siemens-ix/{p-712e0ee0.js.map → p-345e1c73.js.map} +1 -1
- package/dist/siemens-ix/p-35fff1e6.entry.js +2 -0
- package/dist/siemens-ix/{p-9ebc4fc3.entry.js → p-37229f30.entry.js} +2 -2
- package/dist/siemens-ix/{p-9ebc4fc3.entry.js.map → p-37229f30.entry.js.map} +1 -1
- package/dist/siemens-ix/p-3dc1294b.entry.js +2 -0
- package/dist/siemens-ix/{p-e9a3f58a.entry.js.map → p-3dc1294b.entry.js.map} +1 -1
- package/dist/siemens-ix/p-3f59a3c3.entry.js +2 -0
- package/dist/siemens-ix/p-3f59a3c3.entry.js.map +1 -0
- package/dist/siemens-ix/p-411f51c5.entry.js +2 -0
- package/dist/siemens-ix/{p-f78246bd.entry.js → p-44a27b29.entry.js} +2 -2
- package/dist/siemens-ix/{p-d03df401.entry.js → p-49d3fc15.entry.js} +2 -2
- package/dist/siemens-ix/{p-25ee1b62.js → p-4ac31849.js} +1 -1
- package/dist/siemens-ix/{p-25ee1b62.js.map → p-4ac31849.js.map} +1 -1
- package/dist/siemens-ix/{p-dbe8f5e6.entry.js → p-4e547dd3.entry.js} +2 -2
- package/dist/siemens-ix/{p-dbe8f5e6.entry.js.map → p-4e547dd3.entry.js.map} +1 -1
- package/dist/siemens-ix/p-5099c070.entry.js +2 -0
- package/dist/siemens-ix/p-5099c070.entry.js.map +1 -0
- package/dist/siemens-ix/{p-fc5814df.entry.js → p-5351225b.entry.js} +2 -2
- package/dist/siemens-ix/p-5351225b.entry.js.map +1 -0
- package/dist/siemens-ix/p-5aa0b93c.entry.js.map +1 -1
- package/dist/siemens-ix/{p-113cc793.entry.js → p-5af99eaa.entry.js} +2 -2
- package/dist/siemens-ix/{p-e30ed20a.entry.js → p-62b089b6.entry.js} +2 -2
- package/dist/siemens-ix/{p-e30ed20a.entry.js.map → p-62b089b6.entry.js.map} +1 -1
- package/dist/siemens-ix/p-63f0755e.entry.js +2 -0
- package/dist/siemens-ix/{p-14a41c8c.entry.js → p-6618b2db.entry.js} +2 -2
- package/dist/siemens-ix/{p-0653a145.entry.js → p-67f44540.entry.js} +2 -2
- package/dist/siemens-ix/{p-15b3c17e.entry.js → p-6e4c9e3d.entry.js} +2 -2
- package/dist/siemens-ix/{p-15b3c17e.entry.js.map → p-6e4c9e3d.entry.js.map} +1 -1
- package/dist/siemens-ix/p-7402f42a.entry.js +2 -0
- package/dist/siemens-ix/p-7402f42a.entry.js.map +1 -0
- package/dist/siemens-ix/{p-53352bfb.entry.js → p-77273517.entry.js} +2 -2
- package/dist/siemens-ix/{p-882a0233.entry.js → p-78ac2ff1.entry.js} +2 -2
- package/dist/siemens-ix/p-7947ef3d.entry.js +2 -0
- package/dist/siemens-ix/{p-fb47546b.entry.js → p-7c2f34f0.entry.js} +2 -2
- package/dist/siemens-ix/p-82d33168.entry.js +2 -0
- package/dist/siemens-ix/p-82f9d976.entry.js +2 -0
- package/dist/siemens-ix/p-82f9d976.entry.js.map +1 -0
- package/dist/siemens-ix/{p-85423643.entry.js → p-86bbc005.entry.js} +2 -2
- package/dist/siemens-ix/p-86bbc005.entry.js.map +1 -0
- package/dist/siemens-ix/p-86fd5922.entry.js +2 -0
- package/dist/siemens-ix/p-86fd5922.entry.js.map +1 -0
- package/dist/siemens-ix/p-89e48bea.entry.js +2 -0
- package/dist/siemens-ix/p-89e48bea.entry.js.map +1 -0
- package/dist/siemens-ix/{p-052340f9.entry.js → p-8acc09aa.entry.js} +2 -2
- package/dist/siemens-ix/{p-6fd7ecd0.entry.js → p-9079f6c8.entry.js} +2 -2
- package/dist/siemens-ix/p-928209e1.entry.js +2 -0
- package/dist/siemens-ix/p-928209e1.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e8d3cf35.entry.js → p-958c5970.entry.js} +2 -2
- package/dist/siemens-ix/{p-e8d3cf35.entry.js.map → p-958c5970.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-16b923e9.entry.js → p-9bdda7ff.entry.js} +2 -2
- package/dist/siemens-ix/p-a08efce0.entry.js +2 -0
- package/dist/siemens-ix/p-a08efce0.entry.js.map +1 -0
- package/dist/siemens-ix/p-a4755205.entry.js +2 -0
- package/dist/siemens-ix/p-a4755205.entry.js.map +1 -0
- package/dist/siemens-ix/{p-2c4c03d4.entry.js → p-aa814811.entry.js} +2 -2
- package/dist/siemens-ix/{p-7c36d3fa.js → p-accec846.js} +1 -1
- package/dist/siemens-ix/{p-7c36d3fa.js.map → p-accec846.js.map} +1 -1
- package/dist/siemens-ix/{p-8d599677.entry.js → p-adee6045.entry.js} +2 -2
- package/dist/siemens-ix/{p-8d599677.entry.js.map → p-adee6045.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-d95cbd1f.entry.js → p-ae31be0d.entry.js} +2 -2
- package/dist/siemens-ix/{p-d95cbd1f.entry.js.map → p-ae31be0d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-feac09bc.entry.js → p-ba24e694.entry.js} +2 -2
- package/dist/siemens-ix/p-ba6e955a.js +2 -0
- package/dist/siemens-ix/p-ba6e955a.js.map +1 -0
- package/dist/siemens-ix/p-c022d6cc.entry.js +2 -0
- package/dist/siemens-ix/{p-eb6268a6.entry.js.map → p-c022d6cc.entry.js.map} +1 -1
- package/dist/siemens-ix/p-c05a98c8.entry.js +2 -0
- package/dist/siemens-ix/{p-71315e2e.entry.js → p-c072ddb5.entry.js} +2 -2
- package/dist/siemens-ix/p-c1fe9f3d.entry.js +2 -0
- package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +1 -0
- package/dist/siemens-ix/p-c33cee36.entry.js.map +1 -1
- package/dist/siemens-ix/{p-0b4e398e.entry.js → p-c62966f8.entry.js} +2 -2
- package/dist/siemens-ix/{p-0b4e398e.entry.js.map → p-c62966f8.entry.js.map} +1 -1
- package/dist/siemens-ix/p-c7280736.entry.js +2 -0
- package/dist/siemens-ix/{p-0f7ef743.entry.js.map → p-c7280736.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-8d0758c1.entry.js → p-c7e58e9e.entry.js} +2 -2
- package/dist/siemens-ix/{p-4430117a.entry.js → p-c81c4b9d.entry.js} +2 -2
- package/dist/siemens-ix/{p-d950c3a8.entry.js → p-cc65617d.entry.js} +2 -2
- package/dist/siemens-ix/{p-1a122c76.entry.js → p-d300b332.entry.js} +2 -2
- package/dist/siemens-ix/p-d6fc0727.entry.js +2 -0
- package/dist/siemens-ix/p-d6fc0727.entry.js.map +1 -0
- package/dist/siemens-ix/p-df370362.entry.js +2 -0
- package/dist/siemens-ix/p-df370362.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5f25e7fd.entry.js → p-e0d03d67.entry.js} +2 -2
- package/dist/siemens-ix/{p-5f25e7fd.entry.js.map → p-e0d03d67.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-ff1ac5b3.entry.js → p-e14384df.entry.js} +2 -2
- package/dist/siemens-ix/{p-fb2b78f7.entry.js → p-e35805d0.entry.js} +2 -2
- package/dist/siemens-ix/p-e35805d0.entry.js.map +1 -0
- package/dist/siemens-ix/{p-0c8a98cd.js → p-e948bcb0.js} +1 -1
- package/dist/siemens-ix/{p-0c8a98cd.js.map → p-e948bcb0.js.map} +1 -1
- package/dist/siemens-ix/{p-5b135f6b.entry.js → p-e95a5a97.entry.js} +2 -2
- package/dist/siemens-ix/{p-5b135f6b.entry.js.map → p-e95a5a97.entry.js.map} +1 -1
- package/dist/siemens-ix/p-ed7e76a3.entry.js +2 -0
- package/dist/siemens-ix/p-ed7e76a3.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bea7c748.entry.js → p-ee96d1eb.entry.js} +2 -2
- package/dist/siemens-ix/p-f001ecc1.entry.js +2 -0
- package/dist/siemens-ix/p-f001ecc1.entry.js.map +1 -0
- package/dist/siemens-ix/p-f06b21f9.entry.js +2 -0
- package/dist/siemens-ix/p-f06b21f9.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bc2c74c5.entry.js → p-fd5bee44.entry.js} +2 -2
- package/dist/siemens-ix/p-fefd5743.entry.js +2 -0
- package/dist/siemens-ix/p-fefd5743.entry.js.map +1 -0
- package/dist/siemens-ix/{p-dcb3e5be.entry.js → p-ffa856df.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +5 -1
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/types/components/action-card/action-card.d.ts +1 -0
- package/dist/types/components/application-header/application-header.d.ts +18 -0
- package/dist/types/components/basic-navigation/basic-navigation.d.ts +2 -1
- package/dist/types/components/card/card.d.ts +2 -1
- package/dist/types/components/category-filter/category-filter.d.ts +9 -9
- package/dist/types/components/category-filter/test/category-filter.ct.d.ts +1 -0
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +4 -2
- package/dist/types/components/menu-item/menu-item.d.ts +6 -5
- package/dist/types/components/push-card/push-card.d.ts +4 -3
- package/dist/types/components/tooltip/tooltip.d.ts +2 -3
- package/dist/types/components/tree/tree.d.ts +1 -1
- package/dist/types/components/tree-item/tree-item.d.ts +3 -3
- package/dist/types/components.d.ts +67 -29
- package/dist/types/index.d.ts +1 -0
- package/hydrate/index.js +872 -338
- package/package.json +3 -2
- package/scss/_core.scss +5 -0
- package/dist/cjs/floating-ui.dom.esm-94b4d17c.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
- package/dist/siemens-ix/p-0b4e3779.entry.js +0 -2
- package/dist/siemens-ix/p-0b4e3779.entry.js.map +0 -1
- package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
- package/dist/siemens-ix/p-1cff59db.entry.js +0 -2
- package/dist/siemens-ix/p-1cff59db.entry.js.map +0 -1
- package/dist/siemens-ix/p-1f4b8463.entry.js +0 -2
- package/dist/siemens-ix/p-1f4b8463.entry.js.map +0 -1
- package/dist/siemens-ix/p-2ec7f841.entry.js +0 -2
- package/dist/siemens-ix/p-2ec7f841.entry.js.map +0 -1
- package/dist/siemens-ix/p-309ac3ad.entry.js +0 -2
- package/dist/siemens-ix/p-309ac3ad.entry.js.map +0 -1
- package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
- package/dist/siemens-ix/p-44db3646.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js.map +0 -1
- package/dist/siemens-ix/p-52857629.entry.js +0 -2
- package/dist/siemens-ix/p-52857629.entry.js.map +0 -1
- package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
- package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
- package/dist/siemens-ix/p-7bfd6cd2.entry.js +0 -2
- package/dist/siemens-ix/p-7bfd6cd2.entry.js.map +0 -1
- package/dist/siemens-ix/p-7faa148f.entry.js +0 -2
- package/dist/siemens-ix/p-85423643.entry.js.map +0 -1
- package/dist/siemens-ix/p-87e692d9.entry.js +0 -2
- package/dist/siemens-ix/p-92a18c10.entry.js +0 -2
- package/dist/siemens-ix/p-a0a44a2b.entry.js +0 -2
- package/dist/siemens-ix/p-a0a44a2b.entry.js.map +0 -1
- package/dist/siemens-ix/p-b3b23af7.entry.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js.map +0 -1
- package/dist/siemens-ix/p-c1222581.entry.js +0 -2
- package/dist/siemens-ix/p-d331216f.entry.js +0 -2
- package/dist/siemens-ix/p-d331216f.entry.js.map +0 -1
- package/dist/siemens-ix/p-d8790ff5.entry.js +0 -2
- package/dist/siemens-ix/p-d8790ff5.entry.js.map +0 -1
- package/dist/siemens-ix/p-d998415f.entry.js +0 -2
- package/dist/siemens-ix/p-d998415f.entry.js.map +0 -1
- package/dist/siemens-ix/p-e9a3f58a.entry.js +0 -2
- package/dist/siemens-ix/p-eb6268a6.entry.js +0 -2
- package/dist/siemens-ix/p-ebb277f0.entry.js +0 -2
- package/dist/siemens-ix/p-ebb277f0.entry.js.map +0 -1
- package/dist/siemens-ix/p-f318140c.entry.js +0 -2
- package/dist/siemens-ix/p-f318140c.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb2b78f7.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb4c79c6.entry.js +0 -2
- package/dist/siemens-ix/p-fc5814df.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-fb4c79c6.entry.js.map → p-04af3853.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4df0cdd7.entry.js.map → p-04ec538b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af099ca4.entry.js.map → p-0632731e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0d2a6886.entry.js.map → p-091b036d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2946fd70.entry.js.map → p-0fafba48.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7076210b.entry.js.map → p-1483f65d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1968b80.entry.js.map → p-1bd98772.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8629db91.entry.js.map → p-25f1749c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5696bb62.entry.js.map → p-306269ae.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b3b23af7.entry.js.map → p-35fff1e6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-92a18c10.entry.js.map → p-411f51c5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f78246bd.entry.js.map → p-44a27b29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d03df401.entry.js.map → p-49d3fc15.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-113cc793.entry.js.map → p-5af99eaa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1222581.entry.js.map → p-63f0755e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-14a41c8c.entry.js.map → p-6618b2db.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0653a145.entry.js.map → p-67f44540.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-53352bfb.entry.js.map → p-77273517.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-882a0233.entry.js.map → p-78ac2ff1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32375ddb.entry.js.map → p-7947ef3d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fb47546b.entry.js.map → p-7c2f34f0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7faa148f.entry.js.map → p-82d33168.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-052340f9.entry.js.map → p-8acc09aa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6fd7ecd0.entry.js.map → p-9079f6c8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-16b923e9.entry.js.map → p-9bdda7ff.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2c4c03d4.entry.js.map → p-aa814811.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-feac09bc.entry.js.map → p-ba24e694.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-44db3646.entry.js.map → p-c05a98c8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-71315e2e.entry.js.map → p-c072ddb5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8d0758c1.entry.js.map → p-c7e58e9e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4430117a.entry.js.map → p-c81c4b9d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d950c3a8.entry.js.map → p-cc65617d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1a122c76.entry.js.map → p-d300b332.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ff1ac5b3.entry.js.map → p-e14384df.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bea7c748.entry.js.map → p-ee96d1eb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bc2c74c5.entry.js.map → p-fd5bee44.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dcb3e5be.entry.js.map → p-ffa856df.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-list.e2e.js","sourceRoot":"","sources":["../../../src/tests/card-list/card-list.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"card-list.e2e.js","sourceRoot":"","sources":["../../../src/tests/card-list/card-list.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,cAAc,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC/C,cAAc,CAAC,oCAAoC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtE,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,CACJ,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAClE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CACJ,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAClE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACpD,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CACJ,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAClE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,sBAAsB,EAAE,CAAC;QACpD,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,CACJ,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAClE,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest, viewPorts } from '@utils/test';\n\nregressionTest.describe('card-list: basic', () => {\n regressionTest('should not have visual regressions', async ({ page }) => {\n await page.goto('card-list/basic');\n await page.waitForTimeout(1000);\n\n expect(\n await page.screenshot({ fullPage: true, animations: 'disabled' })\n ).toMatchSnapshot();\n });\n\n regressionTest('should show ellipsis label', async ({ page }) => {\n await page.goto('card-list/long-label');\n await page.waitForTimeout(1000);\n await page.setViewportSize(viewPorts.sm);\n expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot();\n });\n\n regressionTest('should hide show all button', async ({ page }) => {\n await page.goto('card-list/hide-show-all');\n await page.waitForTimeout(1000);\n expect(\n await page.screenshot({ fullPage: true, animations: 'disabled' })\n ).toMatchSnapshot();\n });\n\n regressionTest('layout scrolling', async ({ page }) => {\n await page.goto('card-list/layout-scroll');\n await page.waitForTimeout(1000);\n expect(\n await page.screenshot({ fullPage: true, animations: 'disabled' })\n ).toMatchSnapshot();\n });\n\n regressionTest('layout scrolling end', async ({ page }) => {\n await page.goto('card-list/layout-scroll');\n\n await page.locator('#end').scrollIntoViewIfNeeded();\n await page.waitForTimeout(1000);\n expect(\n await page.screenshot({ fullPage: true, animations: 'disabled' })\n ).toMatchSnapshot();\n });\n});\n"]}
|
|
@@ -15,6 +15,12 @@ regressionTest.describe('dropdown', () => {
|
|
|
15
15
|
await page.waitForSelector('.dropdown-menu.show');
|
|
16
16
|
await expect(page).toHaveScreenshot();
|
|
17
17
|
});
|
|
18
|
+
regressionTest('checked', async ({ page }) => {
|
|
19
|
+
await page.goto('dropdown/checked');
|
|
20
|
+
await page.locator('ix-button').click();
|
|
21
|
+
await page.waitForSelector('.dropdown-menu.show');
|
|
22
|
+
await expect(page).toHaveScreenshot();
|
|
23
|
+
});
|
|
18
24
|
regressionTest('overflow', async ({ page }) => {
|
|
19
25
|
await page.goto('dropdown/overflow');
|
|
20
26
|
const menuHandle = await page.waitForSelector('.dropdown-menu.show');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.e2e.js","sourceRoot":"","sources":["../../../src/tests/dropdown/dropdown.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('dropdown', () => {\n regressionTest('basic', async ({ page }) => {\n await page.goto('dropdown/basic');\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('overflow', async ({ page }) => {\n await page.goto('dropdown/overflow');\n\n const menuHandle = await page.waitForSelector('.dropdown-menu.show');\n\n page.evaluate((menuElement) => {\n menuElement.scrollTop = 9999;\n menuElement.classList.add('__SCROLLED__');\n }, menuHandle);\n\n await page.waitForSelector('.dropdown-menu.show.__SCROLLED__');\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('disabled', async ({ page }) => {\n await page.goto('dropdown/disabled');\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('handle multiple', async ({ page }) => {\n await page.goto('dropdown/multiple');\n\n await page.locator('#trigger-a').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await page.locator('#trigger-b').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('zoom', async ({ page }) => {\n await page.goto('dropdown/basic');\n\n // Set the zoom\n await page.setViewportSize({ width: 1280, height: 720 });\n await page.evaluate(() => {\n (document.body.style as any).zoom = '110%';\n });\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown.e2e.js","sourceRoot":"","sources":["../../../src/tests/dropdown/dropdown.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('dropdown', () => {\n regressionTest('basic', async ({ page }) => {\n await page.goto('dropdown/basic');\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('checked', async ({ page }) => {\n await page.goto('dropdown/checked');\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('overflow', async ({ page }) => {\n await page.goto('dropdown/overflow');\n\n const menuHandle = await page.waitForSelector('.dropdown-menu.show');\n\n page.evaluate((menuElement) => {\n menuElement.scrollTop = 9999;\n menuElement.classList.add('__SCROLLED__');\n }, menuHandle);\n\n await page.waitForSelector('.dropdown-menu.show.__SCROLLED__');\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('disabled', async ({ page }) => {\n await page.goto('dropdown/disabled');\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('handle multiple', async ({ page }) => {\n await page.goto('dropdown/multiple');\n\n await page.locator('#trigger-a').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await page.locator('#trigger-b').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n\n regressionTest('zoom', async ({ page }) => {\n await page.goto('dropdown/basic');\n\n // Set the zoom\n await page.setViewportSize({ width: 1280, height: 720 });\n await page.evaluate(() => {\n (document.body.style as any).zoom = '110%';\n });\n\n await page.locator('ix-button').click();\n await page.waitForSelector('.dropdown-menu.show');\n\n await expect(page).toHaveScreenshot();\n });\n});\n"]}
|
|
@@ -32,9 +32,18 @@ regressionTest.describe('group', () => {
|
|
|
32
32
|
});
|
|
33
33
|
regressionTest('item selected', async ({ page }) => {
|
|
34
34
|
await page.goto('group/basic');
|
|
35
|
-
await page.
|
|
36
|
-
await page.locator('text=Example text 1').
|
|
37
|
-
await page.locator('text=Example text 2').
|
|
35
|
+
await page.getByTestId('expand-collapsed-icon').click();
|
|
36
|
+
await page.locator('text=Example text 1').click();
|
|
37
|
+
await page.locator('text=Example text 2').hover();
|
|
38
|
+
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
regressionTest('adapt-width', async ({ page }) => {
|
|
41
|
+
await page.goto('group/adapt-width');
|
|
42
|
+
const children = await page.locator('ix-group').all();
|
|
43
|
+
for (const child of children) {
|
|
44
|
+
const groupExpand = child.getByTestId('expand-collapsed-icon');
|
|
45
|
+
await groupExpand.click();
|
|
46
|
+
}
|
|
38
47
|
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
39
48
|
});
|
|
40
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.e2e.js","sourceRoot":"","sources":["../../../src/tests/group/group.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACpC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACrD,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"group.e2e.js","sourceRoot":"","sources":["../../../src/tests/group/group.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('group', () => {\n regressionTest('basic', async ({ page }) => {\n await page.goto('group/basic');\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('with context menu', async ({ page }) => {\n await page.goto('group/context-menu');\n await page.locator('ix-icon-button').click();\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('selected', async ({ page }) => {\n await page.goto('group/basic');\n await page.click(\"[id='group']\");\n await page.hover(\"[id='group']\");\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('header overflow', async ({ page }) => {\n await page.goto('group/overflow');\n await page.click(\"[id='group']\");\n await page.hover(\"[id='group']\");\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('item selected', async ({ page }) => {\n await page.goto('group/basic');\n await page.getByTestId('expand-collapsed-icon').click();\n await page.locator('text=Example text 1').click();\n await page.locator('text=Example text 2').hover();\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('adapt-width', async ({ page }) => {\n await page.goto('group/adapt-width');\n const children = await page.locator('ix-group').all();\n for (const child of children) {\n const groupExpand = child.getByTestId('expand-collapsed-icon');\n await groupExpand.click();\n }\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n"]}
|
|
@@ -45,6 +45,28 @@ regressionTest.describe('tooltip', () => {
|
|
|
45
45
|
maxDiffPixelRatio: 0.01,
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
|
+
regressionTest('placement near viewport edge', async ({ page }) => {
|
|
49
|
+
await page.goto('tooltip/placement-on-edge');
|
|
50
|
+
const tooltips = [
|
|
51
|
+
'myTooltip-left',
|
|
52
|
+
'myTooltip-right',
|
|
53
|
+
'myTooltip-top',
|
|
54
|
+
'myTooltip-bottom',
|
|
55
|
+
];
|
|
56
|
+
for (const tooltip of tooltips) {
|
|
57
|
+
const tooltipTriggerHandler = await page.waitForSelector(`[data-tooltip="${tooltip}"]`);
|
|
58
|
+
await tooltipTriggerHandler.hover();
|
|
59
|
+
await page.waitForTimeout(500);
|
|
60
|
+
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
regressionTest('global style not bleeding into tooltip', async ({ page }) => {
|
|
64
|
+
await page.goto('tooltip/overlapping-styles');
|
|
65
|
+
const tooltipTriggerHandler = await page.waitForSelector('#test');
|
|
66
|
+
await tooltipTriggerHandler.hover();
|
|
67
|
+
await page.waitForTimeout(500);
|
|
68
|
+
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
69
|
+
});
|
|
48
70
|
test('tooltip position top', async ({ mount, page }) => {
|
|
49
71
|
await mount(`
|
|
50
72
|
<div style="padding: 10rem">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.e2e.js","sourceRoot":"","sources":["../../../src/tests/tooltip/tooltip.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest, test } from '@utils/test';\n\nregressionTest.describe('tooltip', () => {\n regressionTest('Long Text long words', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test1\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('Short', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test2\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('Long text short words', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test3\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('fallback placement', async ({ page }) => {\n await page.goto('tooltip/placement-fallback');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test3\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n test('tooltip position top', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"top\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position right', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"right\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position bottom', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"bottom\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position left', async ({ mount, page }) => {\n await mount(`\n <div style=\"width: 10rem; height: 10rem\">\n <ix-button id=\"trigger\" style=\"position: absolute; left: 20rem; top: 10rem;\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"left\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n\nregressionTest.describe('tooltip delay', () => {\n ['top', 'right', 'bottom', 'left'].forEach((placement) => {\n test(`tooltip placement ${placement} with delay`, async ({\n mount,\n page,\n }) => {\n const testDelayToShowTooltip = 1100;\n await mount(`\n <div style=\"margin: 20rem\">\n <ix-button>Long text</ix-button>\n <ix-tooltip\n for=\"ix-button\"\n title-content=\"Test\"\n showDelay=\"1000\"\n placement=\"${placement}\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam\n </ix-tooltip>\n </div>\n `);\n\n const tooltipTrigger = page.locator('ix-button');\n await tooltipTrigger.hover();\n\n await page.waitForTimeout(testDelayToShowTooltip);\n\n expect(await page.screenshot()).toMatchSnapshot();\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"tooltip.e2e.js","sourceRoot":"","sources":["../../../src/tests/tooltip/tooltip.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnD,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACtC,cAAc,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CACtD,wBAAwB,CACzB,CAAC;QAEF,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAChE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CACtD,wBAAwB,CACzB,CAAC;QAEF,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAChE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzD,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CACtD,wBAAwB,CACzB,CAAC;QAEF,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAChE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE9C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CACtD,wBAAwB,CACzB,CAAC;QAEF,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAChE,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,8BAA8B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG;YACf,gBAAgB;YAChB,iBAAiB;YACjB,eAAe;YACf,kBAAkB;SACnB,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CACtD,kBAAkB,OAAO,IAAI,CAC9B,CAAC;YAEF,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,wCAAwC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE9C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAElE,MAAM,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACrD,MAAM,KAAK,CAAC;;;;;;;KAOX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACvD,MAAM,KAAK,CAAC;;;;;;;KAOX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACxD,MAAM,KAAK,CAAC;;;;;;;KAOX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACtD,MAAM,KAAK,CAAC;;;;;;;KAOX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC5C,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACvD,IAAI,CAAC,qBAAqB,SAAS,aAAa,EAAE,KAAK,EAAE,EACvD,KAAK,EACL,IAAI,GACL,EAAE,EAAE;YACH,MAAM,sBAAsB,GAAG,IAAI,CAAC;YACpC,MAAM,KAAK,CAAC;;;;;;;uBAOK,SAAS;;;;;;OAMzB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;YAE7B,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YAElD,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest, test } from '@utils/test';\n\nregressionTest.describe('tooltip', () => {\n regressionTest('Long Text long words', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test1\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('Short', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test2\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('Long text short words', async ({ page }) => {\n await page.goto('tooltip/basic');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test3\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('fallback placement', async ({ page }) => {\n await page.goto('tooltip/placement-fallback');\n\n const tooltipTriggerHandler = await page.waitForSelector(\n '[data-tooltip=\"Test3\"]'\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot({\n maxDiffPixelRatio: 0.01,\n });\n });\n\n regressionTest('placement near viewport edge', async ({ page }) => {\n await page.goto('tooltip/placement-on-edge');\n\n const tooltips = [\n 'myTooltip-left',\n 'myTooltip-right',\n 'myTooltip-top',\n 'myTooltip-bottom',\n ];\n\n for (const tooltip of tooltips) {\n const tooltipTriggerHandler = await page.waitForSelector(\n `[data-tooltip=\"${tooltip}\"]`\n );\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n }\n });\n\n regressionTest('global style not bleeding into tooltip', async ({ page }) => {\n await page.goto('tooltip/overlapping-styles');\n\n const tooltipTriggerHandler = await page.waitForSelector('#test');\n\n await tooltipTriggerHandler.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position top', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"top\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position right', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"right\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position bottom', async ({ mount, page }) => {\n await mount(`\n <div style=\"padding: 10rem\">\n <ix-button id=\"trigger\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"bottom\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n test('tooltip position left', async ({ mount, page }) => {\n await mount(`\n <div style=\"width: 10rem; height: 10rem\">\n <ix-button id=\"trigger\" style=\"position: absolute; left: 20rem; top: 10rem;\">Trigger</ix-button>\n <ix-tooltip for=\"#trigger\" placement=\"left\">\n Tooltip content 123 123\n </ix-tooltip>\n </div>\n `);\n\n const trigger = await page.waitForSelector('#trigger');\n await trigger.hover();\n await page.waitForTimeout(500);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n\nregressionTest.describe('tooltip delay', () => {\n ['top', 'right', 'bottom', 'left'].forEach((placement) => {\n test(`tooltip placement ${placement} with delay`, async ({\n mount,\n page,\n }) => {\n const testDelayToShowTooltip = 1100;\n await mount(`\n <div style=\"margin: 20rem\">\n <ix-button>Long text</ix-button>\n <ix-tooltip\n for=\"ix-button\"\n title-content=\"Test\"\n showDelay=\"1000\"\n placement=\"${placement}\"\n >\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam\n </ix-tooltip>\n </div>\n `);\n\n const tooltipTrigger = page.locator('ix-button');\n await tooltipTrigger.hover();\n\n await page.waitForTimeout(testDelayToShowTooltip);\n\n expect(await page.screenshot()).toMatchSnapshot();\n });\n });\n});\n"]}
|
|
@@ -49,5 +49,17 @@ regressionTest.describe('tree', () => {
|
|
|
49
49
|
}, treeViewportHandle);
|
|
50
50
|
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
51
51
|
});
|
|
52
|
+
regressionTest('item overflow', async ({ page }) => {
|
|
53
|
+
await page.goto('tree/overflow');
|
|
54
|
+
page.setViewportSize({ width: 100, height: 100 });
|
|
55
|
+
const treeViewportHandle = await page.waitForSelector('ix-tree');
|
|
56
|
+
await page.evaluate((tree) => {
|
|
57
|
+
const model = tree.model;
|
|
58
|
+
model['sample-child-1'].data.name =
|
|
59
|
+
'This is a very long text that should overflow';
|
|
60
|
+
tree.model = Object.assign({}, model);
|
|
61
|
+
}, treeViewportHandle);
|
|
62
|
+
expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();
|
|
63
|
+
});
|
|
52
64
|
});
|
|
53
65
|
//# sourceMappingURL=tree.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.e2e.js","sourceRoot":"","sources":["../../../src/tests/tree/tree.e2e.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACnC,cAAc,CAAC,4BAA4B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,KAAK,CAAC,YAAY,CAAC,GAAG;gBACpB,EAAE,EAAE,YAAY;gBAChB,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;aAC7B,CAAC;YAEF,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5C,IAAI,CAAC,KAAK,qBAAQ,KAAK,CAAE,CAAC;QAC5B,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEvB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,EAAE;YACnC,YAAY,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,CAAC;QACpC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEvB,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,EAAE;YACnC,YAAY,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEvB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,KAAK,CAAC,iBAAiB,CAAC,GAAG;gBACzB,EAAE,EAAE,iBAAiB;gBACrB,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;aAClC,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CACxD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,iBAAiB,CACjC,CAAC;YAEF,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEzE,IAAI,CAAC,KAAK,qBAAQ,KAAK,CAAE,CAAC;QAC5B,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEvB,MAAM,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('tree', () => {\n regressionTest('should append item to tree', async ({ page }) => {\n await page.goto('tree/basic');\n\n const treeViewportHandle = await page.waitForSelector('ix-tree');\n\n await page.evaluate((tree) => {\n const model = tree.model;\n\n model['last-child'] = {\n id: 'last-child',\n children: [],\n hasChildren: false,\n data: { name: 'last-child' },\n };\n\n model['sample'].children.push('last-child');\n\n tree.model = { ...model };\n }, treeViewportHandle);\n\n await page.waitForTimeout(500);\n\n await page.evaluate((treeViewport) => {\n treeViewport.scrollTop = 32 * 999;\n }, treeViewportHandle);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('should keep scroll state', async ({ page }) => {\n await page.goto('tree/basic');\n\n const treeViewportHandle = await page.waitForSelector('ix-tree');\n\n await page.evaluate((treeViewport) => {\n treeViewport.scrollTop = 32 * 50;\n }, treeViewportHandle);\n\n await page.evaluate((tree) => {\n const model = tree.model;\n\n model['insert-below-50'] = {\n id: 'insert-below-50',\n children: [],\n hasChildren: false,\n data: { name: 'insert-below-50' },\n };\n\n const indexOfItem50 = tree.model.sample.children.findIndex(\n (id) => id === 'sample-child-50'\n );\n\n model['sample'].children.splice(indexOfItem50 + 1, 0, 'insert-below-50');\n\n tree.model = { ...model };\n }, treeViewportHandle);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"tree.e2e.js","sourceRoot":"","sources":["../../../src/tests/tree/tree.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { expect } from '@playwright/test';\nimport { regressionTest } from '@utils/test';\n\nregressionTest.describe('tree', () => {\n regressionTest('should append item to tree', async ({ page }) => {\n await page.goto('tree/basic');\n\n const treeViewportHandle = await page.waitForSelector('ix-tree');\n\n await page.evaluate((tree) => {\n const model = tree.model;\n\n model['last-child'] = {\n id: 'last-child',\n children: [],\n hasChildren: false,\n data: { name: 'last-child' },\n };\n\n model['sample'].children.push('last-child');\n\n tree.model = { ...model };\n }, treeViewportHandle);\n\n await page.waitForTimeout(500);\n\n await page.evaluate((treeViewport) => {\n treeViewport.scrollTop = 32 * 999;\n }, treeViewportHandle);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('should keep scroll state', async ({ page }) => {\n await page.goto('tree/basic');\n\n const treeViewportHandle = await page.waitForSelector('ix-tree');\n\n await page.evaluate((treeViewport) => {\n treeViewport.scrollTop = 32 * 50;\n }, treeViewportHandle);\n\n await page.evaluate((tree) => {\n const model = tree.model;\n\n model['insert-below-50'] = {\n id: 'insert-below-50',\n children: [],\n hasChildren: false,\n data: { name: 'insert-below-50' },\n };\n\n const indexOfItem50 = tree.model.sample.children.findIndex(\n (id) => id === 'sample-child-50'\n );\n\n model['sample'].children.splice(indexOfItem50 + 1, 0, 'insert-below-50');\n\n tree.model = { ...model };\n }, treeViewportHandle);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n\n regressionTest('item overflow', async ({ page }) => {\n await page.goto('tree/overflow');\n\n page.setViewportSize({ width: 100, height: 100 });\n\n const treeViewportHandle = await page.waitForSelector('ix-tree');\n\n await page.evaluate((tree) => {\n const model = tree.model;\n\n model['sample-child-1'].data.name =\n 'This is a very long text that should overflow';\n\n tree.model = { ...model };\n }, treeViewportHandle);\n\n expect(await page.screenshot({ fullPage: true })).toMatchSnapshot();\n });\n});\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* SPDX-FileCopyrightText:
|
|
2
|
+
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
3
3
|
*
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*
|
|
@@ -139,4 +139,4 @@ const a11yAttributes = [
|
|
|
139
139
|
|
|
140
140
|
export { a11yBoolean as a, a11yHostAttributes as b, getFallbackLabelFromIconName as g };
|
|
141
141
|
|
|
142
|
-
//# sourceMappingURL=a11y-
|
|
142
|
+
//# sourceMappingURL=a11y-2e34777f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"a11y-
|
|
1
|
+
{"file":"a11y-2e34777f.js","mappings":"AAAA;;;;;;;;AAQO,MAAM,SAAS,GAAG,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IAED,IAAI,GAAQ,CAAC;IAEb,IAAI;QACF,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC/D,CAAC,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC9C,CAAC;;AClCD;;;;;;;;MAWa,WAAW,GAAG,CAAC,KAAc,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,EAAE;AAE1E,MAAM,4BAA4B,GAAG,CAAC,SAAiB;IACrD,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK;SACnB,GAAG,CAAC,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,aAAa,CAAC;KACtB,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;MAEW,4BAA4B,GAAG,CAAC,QAAgB;IAC3D,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;QAC1B,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,KAAK,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,KAAK,CAAC;AACf,EAAE;MAEW,kBAAkB,GAAG,CAChC,WAAwB,EACxB,mBAAwC,EAAE;IAE1C,MAAM,eAAe,GAAwB,EAAE,CAAC;IAChD,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI;QAC1B,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtD,eAAe,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACvD,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,EAAE;AA4DF,MAAM,cAAc,GAAwB;IAC1C,MAAM;IACN,uBAAuB;IACvB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,6BAA6B;IAC7B,WAAW;IACX,cAAc;IACd,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,sBAAsB;IACtB,eAAe;IACf,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,cAAc;IACd,WAAW;IACX,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;CACjB;;;;","names":[],"sources":["src/components/utils/condition-checks.ts","src/components/utils/a11y.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nexport const isHttpUrl = (link: string) => {\n if (!link) {\n return false;\n }\n\n let url: URL;\n\n try {\n url = new URL(link);\n } catch (e) {\n return false;\n }\n\n return url.protocol === 'http:' || url.protocol === 'https:';\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { isHttpUrl, isSvgDataUrl } from './condition-checks';\n\nexport const a11yBoolean = (value: boolean) => (value ? 'true' : 'false');\n\nconst kebabCaseToUpperCaseSentence = (kebabCase: string) => {\n const withoutFilledSuffix = kebabCase.replace('-filled', '');\n const words = withoutFilledSuffix.split('-');\n const sentence = words\n .map((word) => {\n const trimWord = word.trim();\n const digitLessWord = trimWord.replace(/\\d+/g, '');\n\n if (digitLessWord.length === 0) {\n return trimWord;\n }\n\n return digitLessWord;\n })\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n\n return sentence;\n};\n\nexport const getFallbackLabelFromIconName = (iconName: string) => {\n if (!iconName) {\n return 'Unknown';\n }\n\n if (isHttpUrl(iconName)) {\n return 'Unknown';\n }\n\n if (isSvgDataUrl(iconName)) {\n return 'Unknown';\n }\n\n const label = kebabCaseToUpperCaseSentence(iconName);\n\n if (label.length === 0) {\n return 'Unknown';\n }\n\n return label;\n};\n\nexport const a11yHostAttributes = (\n hostElement: HTMLElement,\n ignoreAttributes: A11yAttributeName[] = []\n): Record<A11yAttributeName, any> => {\n const attributeObject: Record<string, any> = {};\n a11yAttributes.forEach((attr) => {\n if (hostElement.hasAttribute(attr)) {\n const value = hostElement.getAttribute(attr);\n if (value !== null && !ignoreAttributes.includes(attr)) {\n attributeObject[attr] = hostElement.getAttribute(attr);\n hostElement.removeAttribute(attr);\n }\n }\n });\n\n return attributeObject;\n};\n\ntype PartialRecord<K extends keyof any, T> = {\n [P in K]?: T;\n};\nexport type A11yAttributes = PartialRecord<A11yAttributeName, any>;\n\nexport type A11yAttributeName =\n | 'role'\n | 'aria-activedescendant'\n | 'aria-atomic'\n | 'aria-autocomplete'\n | 'aria-braillelabel'\n | 'aria-brailleroledescription'\n | 'aria-busy'\n | 'aria-checked'\n | 'aria-colcount'\n | 'aria-colindex'\n | 'aria-colindextext'\n | 'aria-colspan'\n | 'aria-controls'\n | 'aria-current'\n | 'aria-describedby'\n | 'aria-description'\n | 'aria-details'\n | 'aria-disabled'\n | 'aria-errormessage'\n | 'aria-expanded'\n | 'aria-flowto'\n | 'aria-haspopup'\n | 'aria-hidden'\n | 'aria-invalid'\n | 'aria-keyshortcuts'\n | 'aria-label'\n | 'aria-labelledby'\n | 'aria-level'\n | 'aria-live'\n | 'aria-multiline'\n | 'aria-multiselectable'\n | 'aria-orientation'\n | 'aria-owns'\n | 'aria-placeholder'\n | 'aria-posinset'\n | 'aria-pressed'\n | 'aria-readonly'\n | 'aria-relevant'\n | 'aria-required'\n | 'aria-roledescription'\n | 'aria-rowcount'\n | 'aria-rowindex'\n | 'aria-rowindextext'\n | 'aria-rowspan'\n | 'aria-selected'\n | 'aria-setsize'\n | 'aria-sort'\n | 'aria-valuemax'\n | 'aria-valuemin'\n | 'aria-valuenow'\n | 'aria-valuetext';\n\nconst a11yAttributes: A11yAttributeName[] = [\n 'role',\n 'aria-activedescendant',\n 'aria-atomic',\n 'aria-autocomplete',\n 'aria-braillelabel',\n 'aria-brailleroledescription',\n 'aria-busy',\n 'aria-checked',\n 'aria-colcount',\n 'aria-colindex',\n 'aria-colindextext',\n 'aria-colspan',\n 'aria-controls',\n 'aria-current',\n 'aria-describedby',\n 'aria-description',\n 'aria-details',\n 'aria-disabled',\n 'aria-errormessage',\n 'aria-expanded',\n 'aria-flowto',\n 'aria-haspopup',\n 'aria-hidden',\n 'aria-invalid',\n 'aria-keyshortcuts',\n 'aria-label',\n 'aria-labelledby',\n 'aria-level',\n 'aria-live',\n 'aria-multiline',\n 'aria-multiselectable',\n 'aria-orientation',\n 'aria-owns',\n 'aria-placeholder',\n 'aria-posinset',\n 'aria-pressed',\n 'aria-readonly',\n 'aria-relevant',\n 'aria-required',\n 'aria-roledescription',\n 'aria-rowcount',\n 'aria-rowindex',\n 'aria-rowindextext',\n 'aria-rowspan',\n 'aria-selected',\n 'aria-setsize',\n 'aria-sort',\n 'aria-valuemax',\n 'aria-valuemin',\n 'aria-valuenow',\n 'aria-valuetext',\n];\n"],"version":3}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { T as TypedEvent } from './typed-event-ad6484c5.js';
|
|
2
2
|
|
|
3
3
|
/*
|
|
4
|
-
* SPDX-FileCopyrightText:
|
|
4
|
+
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
5
5
|
*
|
|
6
6
|
* SPDX-License-Identifier: MIT
|
|
7
7
|
*
|
|
@@ -98,4 +98,4 @@ const ApplicationLayoutContext = createContext('application-layout-context', {
|
|
|
98
98
|
|
|
99
99
|
export { ApplicationLayoutContext as A, useContextConsumer as a, closestIxMenu as c, useContextProvider as u };
|
|
100
100
|
|
|
101
|
-
//# sourceMappingURL=context-
|
|
101
|
+
//# sourceMappingURL=context-82a1ccf8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"context-
|
|
1
|
+
{"file":"context-82a1ccf8.js","mappings":";;AAAA;;;;;;;;AA+BA;;;SAGgB,aAAa,CAC3B,IAAY,EACZ,YAAgB;IAEhB,OAAO;QACL,IAAI;QACJ,YAAY;KACb,CAAC;AACJ,CAAC;AAWD;;;;;;;;;;MAUa,YAAuC,SAAQ,KAAK;IAC/D,YACkB,OAAU,EACV,QAAyC,EACzC,SAAmB;QAEnC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAJ5C,YAAO,GAAP,OAAO,CAAG;QACV,aAAQ,GAAR,QAAQ,CAAiC;QACzC,cAAS,GAAT,SAAS,CAAU;KAGpC;CACF;SAgBe,kBAAkB,CAIhC,WAAc,EACd,OAAU,EACV,iBAGS,EACT,SAAmB;IAEnB,IAAI,YAAwB,CAAC;IAC7B,WAAW,CAAC,aAAa,CACvB,IAAI,YAAY,CACd,OAAO,EACP,CAAC,GAAG,EAAE,KAAK;QACT,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,YAAY,GAAG,KAAK,CAAC;KACtB,EACD,SAAS,CACV,CACF,CAAC;IAEF,OAAO;QACL,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;SAChB;KACF,CAAC;AACJ,CAAC;SAKe,kBAAkB,CAKhC,WAAc,EACd,OAAU,EACV,cAA+B;IAE/B,MAAM,cAAc,GAAG,IAAI,UAAU,EAAmB,CAAC;IACzD,MAAM,aAAa,GAAG,IAAI,UAAU,EAAkB,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEzD,WAAW,CAAC,gBAAgB,CAC1B,iBAAiB,EACjB,CAAC,mBAAoC;QACnC,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,IAAI,MAAK,OAAO,CAAC,IAAI,EAAE;YACtD,OAAO;SACR;QAED,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAEtC,IAAI,mBAAmB,CAAC,SAAS,EAAE;YACjC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SACnC;QACD,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEzC,IAAI,cAAc,EAAE;YAClB,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE;gBAC3C,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;aACtC,CAAC,CAAC;SACJ;KACF,CACF,CAAC;IAEF,aAAa,CAAC,EAAE,CAAC,CAAC,OAAuB;QACvC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KACjB,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE;YAClB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACpB,CAAC,CACH,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,CAAC,OAAuB;YAC5B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;KACF,CAAC;AACJ;;AC1KA;;;;;;;;MAWa,aAAa,GAAG,CAAC,OAAgB;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,OAAO,WAAW,CAAC;AACrB,EAAE;MAuBW,wBAAwB,GAAG,aAAa,CAKlD,4BAA4B,EAAE;IAC/B,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,KAAK;CACf;;;;","names":[],"sources":["src/components/utils/context.ts","src/components/utils/application-layout/context.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { TypedEvent } from './typed-event';\n\n/**\n * A Context object defines an optional initial value for a Context, as well as a name identifier for debugging purposes.\n */\nexport type Context<T> = {\n name: string;\n initialValue?: T;\n};\n\n/**\n * An unknown context type\n */\nexport type UnknownContext = Context<unknown>;\n\n/**\n * A helper type which can extract a Context value type from a Context type\n */\nexport type ContextType<T extends UnknownContext> = T extends Context<infer Y>\n ? Y\n : never;\n\n/**\n * A function which creates a Context value object\n */\nexport function createContext<T>(\n name: string,\n initialValue?: T\n): Readonly<Context<T>> {\n return {\n name,\n initialValue,\n };\n}\n\n/**\n * A callback which is provided by a context requester and is called with the value satisfying the request.\n * This callback can be called multiple times by context providers as the requested value is changed.\n */\nexport type ContextCallback<ValueType> = (\n value: ValueType,\n unsubscribe?: () => void\n) => void;\n\n/**\n * An event fired by a context requester to signal it desires a named context.\n *\n * A provider should inspect the `context` property of the event to determine if it has a value that can\n * satisfy the request, calling the `callback` with the requested value if so.\n *\n * If the requested context event contains a truthy `subscribe` value, then a provider can call the callback\n * multiple times if the value is changed, if this is the case the provider should pass an `unsubscribe`\n * function to the callback which requesters can invoke to indicate they no longer wish to receive these updates.\n */\nexport class ContextEvent<T extends UnknownContext> extends Event {\n public constructor(\n public readonly context: T,\n public readonly callback: ContextCallback<ContextType<T>>,\n public readonly subscribe?: boolean\n ) {\n super('context-request', { bubbles: true, composed: true });\n }\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n /**\n * A 'context-request' event can be emitted by any element which desires\n * a context value to be injected by an external provider.\n */\n 'context-request': ContextEvent<UnknownContext>;\n }\n}\n\nexport type ContextConsumerSubscription = {\n unsubscribe: () => void;\n};\n\nexport function useContextConsumer<\n T extends HTMLElement,\n C extends UnknownContext,\n>(\n hostElement: T,\n context: C,\n onContextReceived: (\n context: ContextType<C>,\n unsubscribe?: () => void\n ) => void,\n subscribe?: boolean\n): ContextConsumerSubscription {\n let _unsubscribe: () => void;\n hostElement.dispatchEvent(\n new ContextEvent(\n context,\n (ctx, unSub) => {\n onContextReceived(ctx, unSub);\n _unsubscribe = unSub;\n },\n subscribe\n )\n );\n\n return {\n unsubscribe: () => {\n _unsubscribe();\n },\n };\n}\nexport type ContextProvider<C extends Context<{}> = Context<any>> = {\n emit: (context: ContextType<C>) => void;\n};\n\nexport function useContextProvider<\n X extends {},\n C extends Context<X>,\n T extends HTMLElement = HTMLElement,\n>(\n hostElement: T,\n context: C,\n contextPayload?: ContextType<C>\n): ContextProvider<C> {\n const requestContext = new TypedEvent<ContextEvent<C>>();\n const updateContext = new TypedEvent<ContextType<C>>();\n\n const requests = new Set<ContextEvent<UnknownContext>>();\n\n hostElement.addEventListener(\n 'context-request',\n (requestContextEvent: ContextEvent<C>) => {\n if (requestContextEvent?.context.name !== context.name) {\n return;\n }\n\n requestContextEvent.stopPropagation();\n\n if (requestContextEvent.subscribe) {\n requests.add(requestContextEvent);\n }\n requestContext.emit(requestContextEvent);\n\n if (contextPayload) {\n requestContextEvent.callback(contextPayload, () => {\n requests.delete(requestContextEvent);\n });\n }\n }\n );\n\n updateContext.on((context: ContextType<C>) => {\n requests.forEach((r) =>\n r.callback(context, () => {\n requests.delete(r);\n })\n );\n });\n\n return {\n emit: (context: ContextType<C>) => {\n updateContext.emit(context);\n },\n };\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { createContext } from '../context';\n\nexport const closestIxMenu = (element: Element) => {\n const menuElement = element.closest('ix-menu');\n return menuElement;\n};\n\nexport type AppSwitchConfigurationTarget =\n | '_self'\n | '_blank'\n | '_parent'\n | '_top'\n | (string & {});\n\nexport type AppSwitchConfiguration = {\n currentAppId: string;\n apps: {\n id: string;\n name: string;\n description: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n iconSrc: string;\n }[];\n i18nAppSwitch?: string;\n i18nLoadingApps?: string;\n};\n\nexport const ApplicationLayoutContext = createContext<{\n hideHeader: boolean;\n host: 'basic-navigation' | 'map-navigation' | null;\n appSwitchConfig?: AppSwitchConfiguration;\n sidebar?: boolean;\n}>('application-layout-context', {\n hideHeader: false,\n host: null,\n sidebar: false,\n});\n"],"version":3}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2024 Siemens AG
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
function hasDropdownItemWrapperImplemented(item) {
|
|
10
|
+
return (item &&
|
|
11
|
+
item.getDropdownItemElement !== undefined &&
|
|
12
|
+
typeof item.getDropdownItemElement === 'function');
|
|
13
|
+
}
|
|
14
|
+
class DropdownController {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.dropdowns = new Map();
|
|
17
|
+
this.submenuIds = {};
|
|
18
|
+
this.isWindowListenerActive = false;
|
|
19
|
+
}
|
|
20
|
+
connected(dropdown) {
|
|
21
|
+
if (!this.isWindowListenerActive) {
|
|
22
|
+
this.addOverlayListeners();
|
|
23
|
+
}
|
|
24
|
+
this.dropdowns.set(dropdown.getId(), dropdown);
|
|
25
|
+
if (dropdown.discoverAllSubmenus) {
|
|
26
|
+
this.discoverSubmenus();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
disconnected(dropdown) {
|
|
30
|
+
this.dropdowns.delete(dropdown.getId());
|
|
31
|
+
}
|
|
32
|
+
discoverSubmenus() {
|
|
33
|
+
this.dropdowns.forEach((dropdown) => {
|
|
34
|
+
dropdown.discoverSubmenu();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
present(dropdown) {
|
|
38
|
+
if (!dropdown.isPresent() && dropdown.willPresent()) {
|
|
39
|
+
this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();
|
|
40
|
+
dropdown.present();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
dismissChildren(uid) {
|
|
44
|
+
const childIds = this.submenuIds[uid] || [];
|
|
45
|
+
for (const id of childIds) {
|
|
46
|
+
this.dismiss(this.dropdowns.get(id));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
dismiss(dropdown) {
|
|
50
|
+
if (dropdown.isPresent() && dropdown.willDismiss()) {
|
|
51
|
+
this.dismissChildren(dropdown.getId());
|
|
52
|
+
dropdown.dismiss();
|
|
53
|
+
delete this.submenuIds[dropdown.getId()];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
dismissAll(ignoreBehaviorForIds = [], ignoreRelatedDropdowns = false) {
|
|
57
|
+
this.dropdowns.forEach((dropdown) => {
|
|
58
|
+
const preventClosing = dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;
|
|
59
|
+
const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());
|
|
60
|
+
const path = this.buildComposedPath(dropdown.getId(), new Set());
|
|
61
|
+
if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {
|
|
62
|
+
let skipRelatedDropdown = false;
|
|
63
|
+
ignoreBehaviorForIds.forEach((id) => {
|
|
64
|
+
if (path.has(id)) {
|
|
65
|
+
skipRelatedDropdown = true;
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
if (!skipRelatedDropdown) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (!shouldIgnore && preventClosing) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.dismiss(dropdown);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
dismissOthers(uid) {
|
|
80
|
+
let path = this.buildComposedPath(uid, new Set());
|
|
81
|
+
path.add(uid);
|
|
82
|
+
this.dropdowns.forEach((dropdown) => {
|
|
83
|
+
if (dropdown.closeBehavior !== 'inside' &&
|
|
84
|
+
dropdown.closeBehavior !== false &&
|
|
85
|
+
!path.has(dropdown.getId())) {
|
|
86
|
+
this.dismiss(dropdown);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
pathIncludesTrigger(eventTargets) {
|
|
91
|
+
for (let eventTarget of eventTargets) {
|
|
92
|
+
if (eventTarget instanceof HTMLElement) {
|
|
93
|
+
if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {
|
|
94
|
+
return eventTarget;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
pathIncludesDropdown(eventTargets) {
|
|
101
|
+
return !!eventTargets.find((element) => element.tagName === 'IX-DROPDOWN');
|
|
102
|
+
}
|
|
103
|
+
buildComposedPath(id, path) {
|
|
104
|
+
if (this.submenuIds[id]) {
|
|
105
|
+
path.add(id);
|
|
106
|
+
}
|
|
107
|
+
for (const ruleKey of Object.keys(this.submenuIds)) {
|
|
108
|
+
if (this.submenuIds[ruleKey].includes(id)) {
|
|
109
|
+
this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return path;
|
|
113
|
+
}
|
|
114
|
+
addOverlayListeners() {
|
|
115
|
+
this.isWindowListenerActive = true;
|
|
116
|
+
window.addEventListener('click', (event) => {
|
|
117
|
+
const hasTrigger = this.pathIncludesTrigger(event.composedPath());
|
|
118
|
+
const hasDropdown = this.pathIncludesDropdown(event.composedPath());
|
|
119
|
+
if (!hasTrigger && !hasDropdown) {
|
|
120
|
+
this.dismissAll();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
window.addEventListener('keydown', (event) => {
|
|
124
|
+
if (event.key === 'Escape') {
|
|
125
|
+
this.dismissAll([...this.dropdowns.keys()]);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const addDisposableEventListener = (element, eventType, callback) => {
|
|
131
|
+
element.addEventListener(eventType, callback);
|
|
132
|
+
return () => {
|
|
133
|
+
element.removeEventListener(eventType, callback);
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
const dropdownController = new DropdownController();
|
|
137
|
+
|
|
138
|
+
export { addDisposableEventListener as a, dropdownController as d, hasDropdownItemWrapperImplemented as h };
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=dropdown-controller-95bd6750.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"dropdown-controller-95bd6750.js","mappings":"AAAA;;;;;;;;SA8BgB,iCAAiC,CAC/C,IAAa;IAEb,QACE,IAAI;QACH,IAA4B,CAAC,sBAAsB,KAAK,SAAS;QAClE,OAAQ,IAA4B,CAAC,sBAAsB,KAAK,UAAU,EAC1E;AACJ,CAAC;AAQD,MAAM,kBAAkB;IAAxB;QACU,cAAS,GAAmC,IAAI,GAAG,EAGxD,CAAC;QACI,eAAU,GAAe,EAAE,CAAC;QAE5B,2BAAsB,GAAG,KAAK,CAAC;KAgJxC;IA9IC,SAAS,CAAC,QAA2B;QACnC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAI,QAAQ,CAAC,mBAAmB,EAAE;YAChC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;KACF;IAED,YAAY,CAAC,QAA2B;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;KACzC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ;YAC9B,QAAQ,CAAC,eAAe,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ;IAED,OAAO,CAAC,QAA2B;QACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;YACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACrE,QAAQ,CAAC,OAAO,EAAE,CAAC;SACpB;KACF;IAED,eAAe,CAAC,GAAW;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SACtC;KACF;IAED,OAAO,CAAC,QAA2B;QACjC,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;YAClD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1C;KACF;IAED,UAAU,CACR,uBAAiC,EAAE,EACnC,sBAAsB,GAAG,KAAK;QAE9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ;YAC9B,MAAM,cAAc,GAClB,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC;YAE1E,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;YAEzE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,EAAE;gBAC7D,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAEhC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE;oBAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBAChB,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,OAAO;qBACR;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,mBAAmB,EAAE;oBACxB,OAAO;iBACR;aACF;YAED,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE;gBACnC,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACxB,CAAC,CAAC;KACJ;IAED,aAAa,CAAC,GAAW;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ;YAC9B,IACE,QAAQ,CAAC,aAAa,KAAK,QAAQ;gBACnC,QAAQ,CAAC,aAAa,KAAK,KAAK;gBAChC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAC3B;gBACA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACxB;SACF,CAAC,CAAC;KACJ;IAED,mBAAmB,CAAC,YAA2B;QAC7C,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;YACpC,IAAI,WAAW,YAAY,WAAW,EAAE;gBACtC,IAAI,WAAW,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE;oBACxD,OAAO,WAAW,CAAC;iBACpB;aACF;SACF;QAED,OAAO;KACR;IAEO,oBAAoB,CAAC,YAA2B;QACtD,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CACxB,CAAC,OAAoB,KAAK,OAAO,CAAC,OAAO,KAAK,aAAa,CAC5D,CAAC;KACH;IAEO,iBAAiB,CAAC,EAAU,EAAE,IAAiB;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACd;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBACzC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aACvE;SACF;QAED,OAAO,IAAI,CAAC;KACb;IAEO,mBAAmB;QACzB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAmB;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YAEpE,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;gBAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAoB;YACtD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;aAC7C;SACF,CAAC,CAAC;KACJ;CACF;MAEY,0BAA0B,GAAG,CACxC,OAAoC,EACpC,SAAiB,EACjB,QAA4C;IAE5C,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAClD,CAAC;AACJ,EAAE;MAgBW,kBAAkB,GAAG,IAAI,kBAAkB;;;;","names":[],"sources":["src/components/dropdown/dropdown-controller.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\n"],"version":3}
|