@siemens/ix 0.0.0-20240419081748 → 0.0.0-20240508065324
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/dropdown.js +112 -9
- package/components/dropdown.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 +3 -3
- package/components/group-item.js.map +1 -1
- package/components/ix-category-filter.js +34 -10
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-event-list-item.js +5 -4
- package/components/ix-event-list-item.js.map +1 -1
- package/components/ix-event-list.js +26 -25
- package/components/ix-event-list.js.map +1 -1
- package/components/ix-form-field.js +1 -1
- package/components/ix-form-field.js.map +1 -1
- package/components/ix-group.js +16 -9
- 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-link-button.js +3 -3
- package/components/ix-map-navigation.js +2 -2
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-about.js +1 -1
- package/components/ix-menu-about.js.map +1 -1
- 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 +11 -11
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-pagination.js +2 -2
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pill.js +4 -4
- package/components/ix-playground-internal.js +1 -1
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-tile.js +4 -4
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +2 -2
- package/components/ix-tree.js +1 -1
- package/components/ix-upload.js +3 -3
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-steps.js +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-item.js +2 -2
- package/components/modal-content.js +1 -1
- package/components/modal-header.js +1 -1
- package/components/row.js +1 -1
- package/components/select-item.js +9 -1
- package/components/select-item.js.map +1 -1
- package/components/select.js +161 -42
- package/components/select.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tabs.js +2 -2
- package/components/time-picker.js +1 -1
- package/components/time-picker.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/tooltip.js +2 -2
- package/components/tree-item.js +4 -4
- package/dist/cjs/focus-9c8ffbb0.js +65 -0
- package/dist/cjs/focus-9c8ffbb0.js.map +1 -0
- package/dist/cjs/ix-avatar_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +33 -10
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +52 -8
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -4
- package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list.cjs.entry.js +26 -25
- package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +8 -1
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
- package/dist/cjs/ix-form-field.cjs.entry.js.map +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 +13 -7
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
- 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-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 +2 -2
- 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-about.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +11 -11
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
- package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +4 -4
- package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +159 -39
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- 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-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +2 -2
- package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ix-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/ix-tree-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-tree.cjs.entry.js +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +3 -3
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/collection/components/category-filter/category-filter.css +60 -24
- package/dist/collection/components/category-filter/category-filter.js +58 -9
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +52 -8
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/test/dropdown.ct.js +42 -0
- package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
- package/dist/collection/components/event-list/event-list.js +26 -25
- package/dist/collection/components/event-list/event-list.js.map +1 -1
- package/dist/collection/components/event-list/test/event-list.ct.js +61 -0
- package/dist/collection/components/event-list/test/event-list.ct.js.map +1 -0
- package/dist/collection/components/event-list/test/event-list.spec.js +0 -47
- package/dist/collection/components/event-list/test/event-list.spec.js.map +1 -1
- package/dist/collection/components/event-list-item/event-list-item.js +5 -4
- package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
- package/dist/collection/components/form-field/form-field.css +30 -12
- package/dist/collection/components/group/group-context-menu.css +3 -0
- package/dist/collection/components/group/group.js +16 -9
- package/dist/collection/components/group/group.js.map +1 -1
- package/dist/collection/components/group/test/group.ct.js +47 -0
- package/dist/collection/components/group/test/group.ct.js.map +1 -0
- package/dist/collection/components/group-item/group-item.css +9 -4
- 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.js +3 -3
- package/dist/collection/components/link-button/link-button.js +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.js +1 -1
- package/dist/collection/components/menu/menu.js +11 -11
- package/dist/collection/components/menu-about/menu-about.js +2 -2
- package/dist/collection/components/menu-about/menu-about.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 +2 -2
- 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-content/modal-content.js +1 -1
- package/dist/collection/components/modal-footer/modal-footer.js +1 -1
- package/dist/collection/components/modal-header/modal-header.js +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-layout/pane-layout.js +1 -1
- package/dist/collection/components/pill/pill.js +4 -4
- package/dist/collection/components/playground/example-modal.js +1 -1
- package/dist/collection/components/playground/playground.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/select/select.css +27 -9
- package/dist/collection/components/select/select.js +159 -38
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +342 -0
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +32 -1
- package/dist/collection/components/select-item/select-item.js.map +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.js +2 -2
- package/dist/collection/components/tile/tile.js +4 -4
- package/dist/collection/components/time-picker/time-picker.css +30 -12
- package/dist/collection/components/toast/toast.js +2 -2
- 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.js +2 -2
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +4 -4
- package/dist/collection/components/upload/upload.js +3 -3
- package/dist/collection/components/utils/focus.js +60 -0
- package/dist/collection/components/utils/focus.js.map +1 -0
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.js +3 -3
- package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
- package/dist/collection/tests/category-filter/category-filter.e2e.js +30 -0
- package/dist/collection/tests/category-filter/category-filter.e2e.js.map +1 -1
- package/dist/collection/tests/select/select.e2e.js +21 -0
- package/dist/collection/tests/select/select.e2e.js.map +1 -1
- package/dist/esm/focus-d4d3abaf.js +63 -0
- package/dist/esm/focus-d4d3abaf.js.map +1 -0
- package/dist/esm/ix-avatar_2.entry.js +1 -1
- package/dist/esm/ix-category-filter.entry.js +33 -10
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +52 -8
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +5 -4
- package/dist/esm/ix-event-list-item.entry.js.map +1 -1
- package/dist/esm/ix-event-list.entry.js +26 -25
- package/dist/esm/ix-event-list.entry.js.map +1 -1
- package/dist/esm/ix-filter-chip_2.entry.js +8 -1
- package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
- package/dist/esm/ix-form-field.entry.js +1 -1
- package/dist/esm/ix-form-field.entry.js.map +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 +14 -8
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +1 -1
- package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
- package/dist/esm/ix-input-group.entry.js +1 -1
- package/dist/esm/ix-key-value-list.entry.js +1 -1
- package/dist/esm/ix-kpi.entry.js +3 -3
- 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 +2 -2
- 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-about.entry.js +1 -1
- package/dist/esm/ix-menu-about.entry.js.map +1 -1
- package/dist/esm/ix-menu-avatar.entry.js +2 -2
- package/dist/esm/ix-menu-category.entry.js +5 -5
- package/dist/esm/ix-menu-expand-icon.entry.js +1 -1
- package/dist/esm/ix-menu-item.entry.js +2 -2
- package/dist/esm/ix-menu-settings-item.entry.js +1 -1
- package/dist/esm/ix-menu.entry.js +11 -11
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +2 -2
- package/dist/esm/ix-modal-example.entry.js +1 -1
- package/dist/esm/ix-modal-footer.entry.js +1 -1
- package/dist/esm/ix-modal-loading.entry.js +1 -1
- package/dist/esm/ix-pagination.entry.js +2 -2
- package/dist/esm/ix-pane-layout.entry.js +1 -1
- package/dist/esm/ix-pill.entry.js +4 -4
- package/dist/esm/ix-playground-internal.entry.js +1 -1
- package/dist/esm/ix-select.entry.js +159 -39
- package/dist/esm/ix-select.entry.js.map +1 -1
- 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-tile.entry.js +4 -4
- package/dist/esm/ix-time-picker.entry.js +1 -1
- package/dist/esm/ix-time-picker.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +2 -2
- package/dist/esm/ix-toggle-button.entry.js +2 -2
- package/dist/esm/ix-toggle.entry.js +2 -2
- package/dist/esm/ix-tooltip.entry.js +2 -2
- package/dist/esm/ix-tree-item.entry.js +4 -4
- package/dist/esm/ix-tree.entry.js +1 -1
- package/dist/esm/ix-upload.entry.js +3 -3
- package/dist/esm/ix-validation-tooltip.entry.js +2 -2
- package/dist/esm/ix-workflow-step.entry.js +3 -3
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/playwright-ct.config.js +1 -1
- package/dist/playwright-ct.config.js.map +1 -1
- package/dist/siemens-ix/{p-d2ee87ae.entry.js → p-0a1bfcfc.entry.js} +2 -2
- package/dist/siemens-ix/{p-ca838b5c.entry.js → p-0b7741b7.entry.js} +2 -2
- package/dist/siemens-ix/{p-9c03b231.entry.js → p-114bb49b.entry.js} +2 -2
- package/dist/siemens-ix/{p-c2f6aaae.entry.js → p-262026ab.entry.js} +2 -2
- package/dist/siemens-ix/{p-d48a746d.entry.js → p-29b0bef3.entry.js} +2 -2
- package/dist/siemens-ix/{p-f2856faf.entry.js → p-30e8a26a.entry.js} +2 -2
- package/dist/siemens-ix/{p-1450ba99.entry.js → p-3b8e4fe5.entry.js} +2 -2
- package/dist/siemens-ix/{p-96615442.entry.js → p-418959d3.entry.js} +2 -2
- package/dist/siemens-ix/{p-96615442.entry.js.map → p-418959d3.entry.js.map} +1 -1
- package/dist/siemens-ix/p-4290098e.entry.js +2 -0
- package/dist/siemens-ix/{p-cb1c0d63.entry.js.map → p-4290098e.entry.js.map} +1 -1
- package/dist/siemens-ix/p-43a58a77.entry.js +2 -0
- package/dist/siemens-ix/{p-7289b0be.entry.js.map → p-43a58a77.entry.js.map} +1 -1
- package/dist/siemens-ix/p-4fd11865.entry.js +2 -0
- package/dist/siemens-ix/p-56bbdae4.entry.js +2 -0
- package/dist/siemens-ix/{p-0d268489.entry.js → p-5f08da2c.entry.js} +2 -2
- package/dist/siemens-ix/{p-26789c86.entry.js → p-601cfc6a.entry.js} +2 -2
- package/dist/siemens-ix/p-64c895ac.entry.js +2 -0
- package/dist/siemens-ix/p-64c895ac.entry.js.map +1 -0
- package/dist/siemens-ix/p-678d821f.entry.js +2 -0
- package/dist/siemens-ix/{p-b1ec7f32.entry.js → p-6ea6396e.entry.js} +2 -2
- package/dist/siemens-ix/{p-7c1fd9a0.entry.js → p-6eb4eefc.entry.js} +2 -2
- package/dist/siemens-ix/{p-af46164c.entry.js → p-784fe260.entry.js} +2 -2
- package/dist/siemens-ix/{p-9fcf9dcd.entry.js → p-8d161202.entry.js} +2 -2
- package/dist/siemens-ix/{p-d77fa665.entry.js → p-90c55341.entry.js} +2 -2
- package/dist/siemens-ix/p-90c55341.entry.js.map +1 -0
- package/dist/siemens-ix/p-96d2d21f.entry.js +2 -0
- package/dist/siemens-ix/p-96d2d21f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c5762d6c.entry.js → p-9dabe2f7.entry.js} +2 -2
- package/dist/siemens-ix/p-a039faa9.entry.js +2 -0
- package/dist/siemens-ix/p-a039faa9.entry.js.map +1 -0
- package/dist/siemens-ix/p-a35d02ea.entry.js +2 -0
- package/dist/siemens-ix/{p-31cc5367.entry.js → p-a3ad98bc.entry.js} +2 -2
- package/dist/siemens-ix/p-a6fbea5b.entry.js +2 -0
- package/dist/siemens-ix/p-a6fbea5b.entry.js.map +1 -0
- package/dist/siemens-ix/p-a9d1ab94.entry.js +2 -0
- package/dist/siemens-ix/{p-080653aa.entry.js.map → p-a9d1ab94.entry.js.map} +1 -1
- package/dist/siemens-ix/p-aa58d9d7.entry.js +2 -0
- package/dist/siemens-ix/p-aa58d9d7.entry.js.map +1 -0
- package/dist/siemens-ix/p-abb29515.entry.js +2 -0
- package/dist/siemens-ix/p-abb29515.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f6635bfc.entry.js → p-ac1d46d6.entry.js} +2 -2
- package/dist/siemens-ix/p-add5b76c.entry.js +2 -0
- package/dist/siemens-ix/{p-33e903e1.entry.js.map → p-add5b76c.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-d76ee9ff.entry.js → p-af74fc62.entry.js} +2 -2
- package/dist/siemens-ix/{p-32fa185a.entry.js → p-b02fd2c5.entry.js} +2 -2
- package/dist/siemens-ix/p-b32c2183.entry.js +2 -0
- package/dist/siemens-ix/{p-d0cf522c.entry.js.map → p-b32c2183.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-6f056fc6.entry.js → p-bc5d33ce.entry.js} +2 -2
- package/dist/siemens-ix/{p-f17e4cce.entry.js → p-bd310180.entry.js} +2 -2
- package/dist/siemens-ix/p-c09553f3.js +2 -0
- package/dist/siemens-ix/p-c09553f3.js.map +1 -0
- package/dist/siemens-ix/{p-c89a070a.entry.js → p-c29aff68.entry.js} +2 -2
- package/dist/siemens-ix/{p-30f449bc.entry.js → p-ca65a043.entry.js} +2 -2
- package/dist/siemens-ix/{p-4bbae41b.entry.js → p-cbbe9dee.entry.js} +2 -2
- package/dist/siemens-ix/p-ccf1bd22.entry.js +2 -0
- package/dist/siemens-ix/{p-47017ce7.entry.js → p-d08cbeaf.entry.js} +2 -2
- package/dist/siemens-ix/p-d600ea55.entry.js +2 -0
- package/dist/siemens-ix/p-d600ea55.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1255e76b.entry.js → p-d6a094cf.entry.js} +2 -2
- package/dist/siemens-ix/{p-3e4e3b23.entry.js → p-dbf234e5.entry.js} +2 -2
- package/dist/siemens-ix/{p-177f9a5c.entry.js → p-e2464e13.entry.js} +2 -2
- package/dist/siemens-ix/{p-d9d5389b.entry.js → p-e678bfc5.entry.js} +2 -2
- package/dist/siemens-ix/{p-c8e0563a.entry.js → p-ec741c06.entry.js} +2 -2
- package/dist/siemens-ix/{p-ca658a19.entry.js → p-ed2ec72f.entry.js} +2 -2
- package/dist/siemens-ix/{p-d9370972.entry.js → p-f2a81e70.entry.js} +2 -2
- package/dist/siemens-ix/{p-1ad7fd83.entry.js → p-fe273de4.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +30 -12
- 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/category-filter/category-filter.d.ts +10 -0
- package/dist/types/components/dropdown/dropdown.d.ts +7 -1
- package/dist/types/components/event-list/test/event-list.ct.d.ts +1 -0
- package/dist/types/components/group/group.d.ts +1 -0
- package/dist/types/components/group/test/group.ct.d.ts +1 -0
- package/dist/types/components/menu-about/menu-about.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +15 -3
- package/dist/types/components/select-item/select-item.d.ts +5 -1
- package/dist/types/components/utils/focus.d.ts +10 -0
- package/dist/types/components.d.ts +15 -2
- package/package.json +1 -1
- package/scss/components/form/_input.scss +11 -8
- package/dist/siemens-ix/p-080653aa.entry.js +0 -2
- package/dist/siemens-ix/p-08bedeaa.entry.js +0 -2
- package/dist/siemens-ix/p-2a9673f3.entry.js +0 -2
- package/dist/siemens-ix/p-2a9673f3.entry.js.map +0 -1
- package/dist/siemens-ix/p-33e903e1.entry.js +0 -2
- package/dist/siemens-ix/p-37e4df76.entry.js +0 -2
- package/dist/siemens-ix/p-37e4df76.entry.js.map +0 -1
- package/dist/siemens-ix/p-7289b0be.entry.js +0 -2
- package/dist/siemens-ix/p-7b5ed355.entry.js +0 -2
- package/dist/siemens-ix/p-87fe9d5f.entry.js +0 -2
- package/dist/siemens-ix/p-87fe9d5f.entry.js.map +0 -1
- package/dist/siemens-ix/p-8a06a632.entry.js +0 -2
- package/dist/siemens-ix/p-96f2c71a.entry.js +0 -2
- package/dist/siemens-ix/p-96f2c71a.entry.js.map +0 -1
- package/dist/siemens-ix/p-9fd3ae7f.entry.js +0 -2
- package/dist/siemens-ix/p-a93df5f2.entry.js +0 -2
- package/dist/siemens-ix/p-a93df5f2.entry.js.map +0 -1
- package/dist/siemens-ix/p-ab446f83.entry.js +0 -2
- package/dist/siemens-ix/p-ab446f83.entry.js.map +0 -1
- package/dist/siemens-ix/p-b78fd38b.entry.js +0 -2
- package/dist/siemens-ix/p-b78fd38b.entry.js.map +0 -1
- package/dist/siemens-ix/p-c49701a0.entry.js +0 -2
- package/dist/siemens-ix/p-cb1c0d63.entry.js +0 -2
- package/dist/siemens-ix/p-d0cf522c.entry.js +0 -2
- package/dist/siemens-ix/p-d77fa665.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-d2ee87ae.entry.js.map → p-0a1bfcfc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ca838b5c.entry.js.map → p-0b7741b7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9c03b231.entry.js.map → p-114bb49b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c2f6aaae.entry.js.map → p-262026ab.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d48a746d.entry.js.map → p-29b0bef3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f2856faf.entry.js.map → p-30e8a26a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1450ba99.entry.js.map → p-3b8e4fe5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c49701a0.entry.js.map → p-4fd11865.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9fd3ae7f.entry.js.map → p-56bbdae4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0d268489.entry.js.map → p-5f08da2c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-26789c86.entry.js.map → p-601cfc6a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7b5ed355.entry.js.map → p-678d821f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b1ec7f32.entry.js.map → p-6ea6396e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7c1fd9a0.entry.js.map → p-6eb4eefc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af46164c.entry.js.map → p-784fe260.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9fcf9dcd.entry.js.map → p-8d161202.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c5762d6c.entry.js.map → p-9dabe2f7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-08bedeaa.entry.js.map → p-a35d02ea.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-31cc5367.entry.js.map → p-a3ad98bc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f6635bfc.entry.js.map → p-ac1d46d6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d76ee9ff.entry.js.map → p-af74fc62.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32fa185a.entry.js.map → p-b02fd2c5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6f056fc6.entry.js.map → p-bc5d33ce.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f17e4cce.entry.js.map → p-bd310180.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c89a070a.entry.js.map → p-c29aff68.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-30f449bc.entry.js.map → p-ca65a043.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4bbae41b.entry.js.map → p-cbbe9dee.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8a06a632.entry.js.map → p-ccf1bd22.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-47017ce7.entry.js.map → p-d08cbeaf.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1255e76b.entry.js.map → p-d6a094cf.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3e4e3b23.entry.js.map → p-dbf234e5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-177f9a5c.entry.js.map → p-e2464e13.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d9d5389b.entry.js.map → p-e678bfc5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c8e0563a.entry.js.map → p-ec741c06.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ca658a19.entry.js.map → p-ed2ec72f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d9370972.entry.js.map → p-f2a81e70.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1ad7fd83.entry.js.map → p-fe273de4.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.ct.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/test/dropdown.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\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\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 */\nimport { ElementHandle, expect, Locator, Page } from '@playwright/test';\nimport { test, viewPorts } from '@utils/test';\n\nconst html = String.raw;\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-split-button label=\"Test 1\">\n <ix-dropdown-item>Test 1</ix-dropdown-item>\n </ix-split-button>\n\n <ix-split-button label=\"Test 2\">\n <ix-dropdown-item>Test 1</ix-dropdown-item>\n </ix-split-button>\n\n <ix-group header=\"Title\" sub-header=\"Subtitle\">\n <ix-dropdown slot=\"dropdown\">\n <ix-dropdown-item label=\"Item 1\" icon=\"pin\" />\n <ix-dropdown-item label=\"Item 2\" icon=\"star\" />\n <ix-dropdown-item label=\"Item 3\" icon=\"heart\" />\n <ix-dropdown-item label=\"Item 4\" icon=\"cogwheel\" />\n </ix-dropdown>\n </ix-group>\n\n <ix-group header=\"Title\" sub-header=\"Subtitle\">\n <ix-dropdown slot=\"dropdown\">\n <ix-dropdown-item label=\"Item 1\" icon=\"pin\" />\n <ix-dropdown-item label=\"Item 2\" icon=\"star\" />\n <ix-dropdown-item label=\"Item 3\" icon=\"heart\" />\n <ix-dropdown-item label=\"Item 4\" icon=\"cogwheel\" />\n </ix-dropdown>\n </ix-group>\n `);\n\n const sb1 = page.locator('ix-split-button').nth(0);\n const sb2 = page.locator('ix-split-button').nth(1);\n\n const g1 = page.locator('ix-group').nth(0);\n const g2 = page.locator('ix-group').nth(1);\n\n const sb1Dropdown = sb1.locator('ix-dropdown');\n const sb2Dropdown = sb2.locator('ix-dropdown');\n const g1Dropdown = g1.locator('ix-dropdown');\n const g2Dropdown = g2.locator('ix-dropdown');\n\n await sb1.locator('ix-icon-button').first().click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 0\n );\n\n await sb2.locator('ix-icon-button').first().click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 1\n );\n\n await g2.locator('ix-icon-button').click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 3\n );\n});\n\nfunction expectToBeVisible(elements: Locator[], index: number) {\n return Promise.all(\n elements.map(async (element, i) => {\n let ef = expect(element);\n if (i !== index) {\n ef = ef.not;\n }\n await ef.toBeVisible();\n })\n );\n}\n\ntest('trigger toggles', async ({ mount, page }) => {\n await mount(`<ix-button id=\"trigger\">Open</ix-button>\n <ix-dropdown trigger=\"trigger\" trigger-toggles=\"true\">\n <ix-dropdown-item label=\"Item 1\"></ix-dropdown-item>\n <ix-dropdown-item label=\"Item 2\"></ix-dropdown-item>\n </ix-dropdown>\n `);\n\n await page.locator('ix-button').click();\n const dropdown = page.locator('.dropdown-menu');\n await expect(dropdown).toHaveClass(/show/);\n await expect(dropdown).toBeVisible();\n\n await page.locator('ix-button').click();\n const after = page.locator('.dropdown-menu');\n await expect(after).not.toHaveClass(/show/);\n await expect(dropdown).not.toBeVisible();\n});\n\ntest.describe('Close behavior', () => {\n function mountDropdown(\n mount: (selector: string) => Promise<ElementHandle<HTMLElement>>,\n config: {\n closeBehavior: string | boolean;\n }\n ) {\n const closeBehavior = config.closeBehavior\n ? `close-behavior=\"${config.closeBehavior}\"`\n : '';\n\n return mount(`\n <ix-button id=\"level-1\">Trigger</ix-button>\n <ix-dropdown id=\"dropdown-level-1\" trigger=\"level-1\" ${closeBehavior}>\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item>Item 3</ix-dropdown-item>\n </ix-dropdown>\n `);\n }\n\n let triggerButton: Locator;\n let dropdownLevel1: Locator;\n\n let dropdownLevel1_Item1: Locator;\n\n function setupTest(page: Page) {\n triggerButton = page.locator('#level-1');\n dropdownLevel1 = page.locator('#dropdown-level-1');\n\n dropdownLevel1_Item1 = dropdownLevel1\n .locator('ix-dropdown-item')\n .getByText('Item 1');\n }\n\n test(' = both', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'both',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).not.toBeVisible();\n });\n\n test(' = inside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'inside',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).not.toBeVisible();\n });\n\n test(' = outside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'outside',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).toBeVisible();\n });\n\n test(' = false', async ({ mount, page }) => {\n await mountDropdown(mount, {\n // Disable close behavior\n closeBehavior: false,\n });\n\n // Have to be provided via javascript, otherwise the component parse the value as a string.\n await page\n .locator('ix-dropdown')\n .evaluate((dropdown: any) => (dropdown.closeBehavior = false));\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click({\n force: true,\n });\n await expect(dropdownLevel1).toBeVisible();\n });\n});\n\ntest.describe('Nested dropdowns 1/3', () => {\n function mountDropdown(\n mount: (selector: string) => Promise<ElementHandle<HTMLElement>>,\n config?: {\n closeBehavior: string | boolean;\n }\n ) {\n return mount(html`\n <ix-button id=\"trigger-dropdown-1\">Trigger 1</ix-button>\n <ix-dropdown\n close-behavior=\"${config?.closeBehavior ?? 'both'}\"\n id=\"dropdown-1\"\n trigger=\"trigger-dropdown-1\"\n >\n <ix-dropdown-item id=\"trigger-dropdown-2\">Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-3\">Item 3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-2\" id=\"dropdown-2\">\n <ix-dropdown-item>Item 1.1</ix-dropdown-item>\n <ix-dropdown-item>Item 1.2</ix-dropdown-item>\n <ix-dropdown-item>Item 1.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-3\" id=\"dropdown-3\">\n <ix-dropdown-item>Item 3.1</ix-dropdown-item>\n <ix-dropdown-item>Item 3.2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-4\">Item 3.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-4\" id=\"dropdown-4\">\n <ix-dropdown-item>Item 3.3.1</ix-dropdown-item>\n <ix-dropdown-item>Item 3.3.2</ix-dropdown-item>\n <ix-dropdown-item>Item 3.3.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-button id=\"trigger-dropdown-5\">Trigger 5</ix-button>\n <ix-dropdown id=\"dropdown-5\" trigger=\"trigger-dropdown-5\">\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-6\">Item 3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown id=\"dropdown-6\" trigger=\"trigger-dropdown-6\">\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item>Item 3</ix-dropdown-item>\n </ix-dropdown>\n `);\n }\n\n let triggerDropdown1: Locator;\n let triggerDropdown2: Locator;\n let triggerDropdown3: Locator;\n let triggerDropdown4: Locator;\n let triggerDropdown5: Locator;\n\n let dropdown1: Locator;\n let dropdown2: Locator;\n let dropdown3: Locator;\n let dropdown4: Locator;\n let dropdown5: Locator;\n\n function setupTest(page: Page) {\n triggerDropdown1 = page.locator('#trigger-dropdown-1');\n triggerDropdown2 = page.locator('#trigger-dropdown-2');\n triggerDropdown3 = page.locator('#trigger-dropdown-3');\n triggerDropdown4 = page.locator('#trigger-dropdown-4');\n triggerDropdown5 = page.locator('#trigger-dropdown-5');\n\n dropdown1 = page.locator('#dropdown-1');\n dropdown2 = page.locator('#dropdown-2');\n dropdown3 = page.locator('#dropdown-3');\n dropdown4 = page.locator('#dropdown-4');\n dropdown5 = page.locator('#dropdown-5');\n }\n\n test('close neighbor sub menu', async ({ mount, page }) => {\n await mountDropdown(mount);\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown5.click();\n await expect(dropdown5).toBeVisible();\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n });\n\n test('close assigned submenu', async ({ mount, page }) => {\n await mountDropdown(mount);\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test.describe('close by Escape with close behavior', () => {\n test(' = both', async ({ mount, page }) => {\n await mountDropdown(mount);\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = inside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'inside',\n });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = outside', async ({ mount, page }) => {\n await mountDropdown(mount, { closeBehavior: 'outside' });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = false', async ({ mount, page }) => {\n await mountDropdown(mount, { closeBehavior: false });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n });\n});\n\ntest.describe('nested dropdown 2/3', () => {\n const button1Text = 'Triggerbutton1';\n const button2Text = 'Triggerbutton2';\n\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <button id=\"trigger1\">${button1Text}</button>\n <ix-dropdown trigger=\"trigger1\">\n <button id=\"trigger2\">${button2Text}</button>\n <ix-dropdown trigger=\"trigger2\">\n <ix-dropdown-item label=\"Item 1\"></ix-dropdown-item>\n </ix-dropdown>\n </ix-dropdown>\n `);\n });\n\n test('can open nested dropdown', async ({ page }) => {\n await page.getByText(button1Text).click();\n await page.getByText(button2Text).click();\n const nestedDropdownItem = page.locator('ix-dropdown-item');\n\n await expect(nestedDropdownItem).toHaveClass(/hydrated/);\n });\n});\n\ntest.describe('nested dropdown 3/3', () => {\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <ix-button id=\"trigger-dropdown-1\">Trigger 1</ix-button>\n <ix-dropdown id=\"dropdown-1\" close-behavior=\"outside\" trigger=\"trigger-dropdown-1\">\n <ix-dropdown-item id=\"trigger-dropdown-2\">Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-2\" id=\"dropdown-2\" close-behavior=\"inside\">\n <ix-dropdown-item>Item 1.1</ix-dropdown-item>\n <ix-dropdown-item>Item 1.2</ix-dropdown-item>\n <ix-dropdown-item>Item 1.3</ix-dropdown-item>\n </ix-dropdown>\n `);\n });\n\n test('close child on parent dismiss', async ({ page }) => {\n const triggerDropdown1 = page.locator('#trigger-dropdown-1');\n const triggerDropdown2 = page.locator('#trigger-dropdown-2');\n\n const dropdown1 = page.locator('#dropdown-1');\n const dropdown2 = page.locator('#dropdown-2');\n\n await triggerDropdown1.click();\n await triggerDropdown2.click();\n await triggerDropdown1.click();\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n });\n});\n\ntest('Nested dropdowns within application-header', async ({ mount, page }) => {\n await mount(html`\n <ix-application-header>\n <ix-dropdown-button label=\"Trigger\">\n <ix-dropdown-item label=\"MainItem 1\"></ix-dropdown-item>\n <ix-dropdown-item label=\"MainItem 2\"></ix-dropdown-item>\n <ix-dropdown-item label=\"MainItem 3\" id=\"submenu-01\"></ix-dropdown-item>\n </ix-dropdown-button>\n </ix-application-header>\n <ix-dropdown id=\"submenu\" trigger=\"submenu-01\">\n <ix-dropdown-item>SubMenuItem 1</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 2</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 3</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 4</ix-dropdown-item>\n </ix-dropdown>\n `);\n await page.setViewportSize(viewPorts.sm);\n await page.waitForTimeout(500);\n\n const header = page.locator('ix-application-header');\n await expect(header).toBeVisible();\n\n const overflowTrigger = header.getByRole('button', { name: 'More Menu' });\n await overflowTrigger.click();\n\n const dropdownButton = header.locator('ix-dropdown-button');\n await dropdownButton.locator('ix-button').click();\n\n const dropdownOfDropdownButton = dropdownButton.locator('ix-dropdown');\n await expect(dropdownOfDropdownButton).toBeVisible();\n\n const submenuTrigger = page\n .locator('ix-dropdown-item')\n .getByText('MainItem 3');\n await expect(submenuTrigger).toBeVisible();\n await submenuTrigger.click();\n\n const submenuDropdown = page.locator('#submenu');\n\n await expect(submenuDropdown).toBeVisible();\n\n const subMenuItem = submenuDropdown\n .locator('ix-dropdown-item')\n .getByText('SubMenuItem 3');\n\n await subMenuItem.click();\n\n await expect(submenuDropdown).not.toBeVisible();\n await expect(dropdownOfDropdownButton).not.toBeVisible();\n});\n\ntest.describe('resolve during element connect', () => {\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <ix-button id=\"trigger\">Open</ix-button>\n <ix-dropdown trigger=\"trigger\">\n <ix-dropdown-item label=\"Item 1\" icon=\"print\"></ix-dropdown-item>\n <ix-dropdown-item label=\"Item 2\"></ix-dropdown-item>\n <ix-dropdown-item>Custom</ix-dropdown-item>\n </ix-dropdown>\n `);\n });\n\n test('attach and detach from dom', async ({ page }) => {\n await page.evaluate(() => {\n const dropdown = document.querySelector('ix-dropdown');\n const mount = document.querySelector('#mount');\n mount.removeChild(dropdown);\n mount.append(dropdown);\n });\n\n const dropdown = page.locator('ix-dropdown');\n await page.locator('ix-button').first().click();\n\n await expect(dropdown).toBeVisible();\n });\n\n test('add element within runtime', async ({ page }) => {\n await page.evaluate(async () => {\n const divElement = document.createElement('div');\n const mount = document.querySelector('#mount');\n mount.appendChild(divElement);\n });\n\n const dropdown = page.locator('ix-dropdown');\n await page.locator('ix-button').first().click();\n\n await expect(dropdown).toBeVisible();\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown.ct.js","sourceRoot":"","sources":["../../../../../src/components/dropdown/test/dropdown.ct.ts"],"names":[],"mappings":"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","sourcesContent":["/*\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\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 */\nimport { ElementHandle, expect, Locator, Page } from '@playwright/test';\nimport { test, viewPorts } from '@utils/test';\n\nconst html = String.raw;\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-split-button label=\"Test 1\">\n <ix-dropdown-item>Test 1</ix-dropdown-item>\n </ix-split-button>\n\n <ix-split-button label=\"Test 2\">\n <ix-dropdown-item>Test 1</ix-dropdown-item>\n </ix-split-button>\n\n <ix-group header=\"Title\" sub-header=\"Subtitle\">\n <ix-dropdown slot=\"dropdown\">\n <ix-dropdown-item label=\"Item 1\" icon=\"pin\" />\n <ix-dropdown-item label=\"Item 2\" icon=\"star\" />\n <ix-dropdown-item label=\"Item 3\" icon=\"heart\" />\n <ix-dropdown-item label=\"Item 4\" icon=\"cogwheel\" />\n </ix-dropdown>\n </ix-group>\n\n <ix-group header=\"Title\" sub-header=\"Subtitle\">\n <ix-dropdown slot=\"dropdown\">\n <ix-dropdown-item label=\"Item 1\" icon=\"pin\" />\n <ix-dropdown-item label=\"Item 2\" icon=\"star\" />\n <ix-dropdown-item label=\"Item 3\" icon=\"heart\" />\n <ix-dropdown-item label=\"Item 4\" icon=\"cogwheel\" />\n </ix-dropdown>\n </ix-group>\n `);\n\n const sb1 = page.locator('ix-split-button').nth(0);\n const sb2 = page.locator('ix-split-button').nth(1);\n\n const g1 = page.locator('ix-group').nth(0);\n const g2 = page.locator('ix-group').nth(1);\n\n const sb1Dropdown = sb1.locator('ix-dropdown');\n const sb2Dropdown = sb2.locator('ix-dropdown');\n const g1Dropdown = g1.locator('ix-dropdown');\n const g2Dropdown = g2.locator('ix-dropdown');\n\n await sb1.locator('ix-icon-button').first().click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 0\n );\n\n await sb2.locator('ix-icon-button').first().click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 1\n );\n\n await g2.locator('ix-icon-button').click();\n\n await expectToBeVisible(\n [sb1Dropdown, sb2Dropdown, g1Dropdown, g2Dropdown],\n 3\n );\n});\n\nfunction expectToBeVisible(elements: Locator[], index: number) {\n return Promise.all(\n elements.map(async (element, i) => {\n let ef = expect(element);\n if (i !== index) {\n ef = ef.not;\n }\n await ef.toBeVisible();\n })\n );\n}\n\ntest('trigger toggles', async ({ mount, page }) => {\n await mount(`<ix-button id=\"trigger\">Open</ix-button>\n <ix-dropdown trigger=\"trigger\" trigger-toggles=\"true\">\n <ix-dropdown-item label=\"Item 1\"></ix-dropdown-item>\n <ix-dropdown-item label=\"Item 2\"></ix-dropdown-item>\n </ix-dropdown>\n `);\n\n await page.locator('ix-button').click();\n const dropdown = page.locator('.dropdown-menu');\n await expect(dropdown).toHaveClass(/show/);\n await expect(dropdown).toBeVisible();\n\n await page.locator('ix-button').click();\n const after = page.locator('.dropdown-menu');\n await expect(after).not.toHaveClass(/show/);\n await expect(dropdown).not.toBeVisible();\n});\n\ntest.describe('Close behavior', () => {\n function mountDropdown(\n mount: (selector: string) => Promise<ElementHandle<HTMLElement>>,\n config: {\n closeBehavior: string | boolean;\n }\n ) {\n const closeBehavior = config.closeBehavior\n ? `close-behavior=\"${config.closeBehavior}\"`\n : '';\n\n return mount(`\n <ix-button id=\"level-1\">Trigger</ix-button>\n <ix-dropdown id=\"dropdown-level-1\" trigger=\"level-1\" ${closeBehavior}>\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item>Item 3</ix-dropdown-item>\n </ix-dropdown>\n `);\n }\n\n let triggerButton: Locator;\n let dropdownLevel1: Locator;\n\n let dropdownLevel1_Item1: Locator;\n\n function setupTest(page: Page) {\n triggerButton = page.locator('#level-1');\n dropdownLevel1 = page.locator('#dropdown-level-1');\n\n dropdownLevel1_Item1 = dropdownLevel1\n .locator('ix-dropdown-item')\n .getByText('Item 1');\n }\n\n test(' = both', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'both',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).not.toBeVisible();\n });\n\n test(' = inside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'inside',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).not.toBeVisible();\n });\n\n test(' = outside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'outside',\n });\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click();\n await expect(dropdownLevel1).toBeVisible();\n });\n\n test(' = false', async ({ mount, page }) => {\n await mountDropdown(mount, {\n // Disable close behavior\n closeBehavior: false,\n });\n\n // Have to be provided via javascript, otherwise the component parse the value as a string.\n await page\n .locator('ix-dropdown')\n .evaluate((dropdown: any) => (dropdown.closeBehavior = false));\n\n setupTest(page);\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await page.mouse.click(400, 200);\n await expect(dropdownLevel1).toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).not.toBeVisible();\n\n await triggerButton.click();\n await expect(dropdownLevel1).toBeVisible();\n\n await dropdownLevel1_Item1.click({\n force: true,\n });\n await expect(dropdownLevel1).toBeVisible();\n });\n});\n\ntest.describe('Nested dropdowns 1/3', () => {\n function mountDropdown(\n mount: (selector: string) => Promise<ElementHandle<HTMLElement>>,\n config?: {\n closeBehavior: string | boolean;\n }\n ) {\n return mount(html`\n <ix-button id=\"trigger-dropdown-1\">Trigger 1</ix-button>\n <ix-dropdown\n close-behavior=\"${config?.closeBehavior ?? 'both'}\"\n id=\"dropdown-1\"\n trigger=\"trigger-dropdown-1\"\n >\n <ix-dropdown-item id=\"trigger-dropdown-2\">Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-3\">Item 3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-2\" id=\"dropdown-2\">\n <ix-dropdown-item>Item 1.1</ix-dropdown-item>\n <ix-dropdown-item>Item 1.2</ix-dropdown-item>\n <ix-dropdown-item>Item 1.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-3\" id=\"dropdown-3\">\n <ix-dropdown-item>Item 3.1</ix-dropdown-item>\n <ix-dropdown-item>Item 3.2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-4\">Item 3.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-4\" id=\"dropdown-4\">\n <ix-dropdown-item>Item 3.3.1</ix-dropdown-item>\n <ix-dropdown-item>Item 3.3.2</ix-dropdown-item>\n <ix-dropdown-item>Item 3.3.3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-button id=\"trigger-dropdown-5\">Trigger 5</ix-button>\n <ix-dropdown id=\"dropdown-5\" trigger=\"trigger-dropdown-5\">\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item id=\"trigger-dropdown-6\">Item 3</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown id=\"dropdown-6\" trigger=\"trigger-dropdown-6\">\n <ix-dropdown-item>Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n <ix-dropdown-item>Item 3</ix-dropdown-item>\n </ix-dropdown>\n `);\n }\n\n let triggerDropdown1: Locator;\n let triggerDropdown2: Locator;\n let triggerDropdown3: Locator;\n let triggerDropdown4: Locator;\n let triggerDropdown5: Locator;\n\n let dropdown1: Locator;\n let dropdown2: Locator;\n let dropdown3: Locator;\n let dropdown4: Locator;\n let dropdown5: Locator;\n\n function setupTest(page: Page) {\n triggerDropdown1 = page.locator('#trigger-dropdown-1');\n triggerDropdown2 = page.locator('#trigger-dropdown-2');\n triggerDropdown3 = page.locator('#trigger-dropdown-3');\n triggerDropdown4 = page.locator('#trigger-dropdown-4');\n triggerDropdown5 = page.locator('#trigger-dropdown-5');\n\n dropdown1 = page.locator('#dropdown-1');\n dropdown2 = page.locator('#dropdown-2');\n dropdown3 = page.locator('#dropdown-3');\n dropdown4 = page.locator('#dropdown-4');\n dropdown5 = page.locator('#dropdown-5');\n }\n\n test('close neighbor sub menu', async ({ mount, page }) => {\n await mountDropdown(mount);\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown5.click();\n await expect(dropdown5).toBeVisible();\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n });\n\n test('close assigned submenu', async ({ mount, page }) => {\n await mountDropdown(mount);\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test.describe('close by Escape with close behavior', () => {\n test(' = both', async ({ mount, page }) => {\n await mountDropdown(mount);\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = inside', async ({ mount, page }) => {\n await mountDropdown(mount, {\n closeBehavior: 'inside',\n });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = outside', async ({ mount, page }) => {\n await mountDropdown(mount, { closeBehavior: 'outside' });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n\n test(' = false', async ({ mount, page }) => {\n await mountDropdown(mount, { closeBehavior: false });\n\n setupTest(page);\n\n await triggerDropdown1.click();\n await expect(dropdown1).toBeVisible();\n\n await triggerDropdown2.click();\n await expect(dropdown2).toBeVisible();\n\n await triggerDropdown3.click();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).toBeVisible();\n\n await triggerDropdown4.click();\n await expect(dropdown4).toBeVisible();\n\n await page.keyboard.press('Escape');\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n await expect(dropdown3).not.toBeVisible();\n await expect(dropdown4).not.toBeVisible();\n });\n });\n});\n\ntest.describe('nested dropdown 2/3', () => {\n const button1Text = 'Triggerbutton1';\n const button2Text = 'Triggerbutton2';\n\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <button id=\"trigger1\">${button1Text}</button>\n <ix-dropdown trigger=\"trigger1\">\n <button id=\"trigger2\">${button2Text}</button>\n <ix-dropdown trigger=\"trigger2\">\n <ix-dropdown-item label=\"Item 1\"></ix-dropdown-item>\n </ix-dropdown>\n </ix-dropdown>\n `);\n });\n\n test('can open nested dropdown', async ({ page }) => {\n await page.getByText(button1Text).click();\n await page.getByText(button2Text).click();\n const nestedDropdownItem = page.locator('ix-dropdown-item');\n\n await expect(nestedDropdownItem).toHaveClass(/hydrated/);\n });\n});\n\ntest.describe('nested dropdown 3/3', () => {\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <ix-button id=\"trigger-dropdown-1\">Trigger 1</ix-button>\n <ix-dropdown id=\"dropdown-1\" close-behavior=\"outside\" trigger=\"trigger-dropdown-1\">\n <ix-dropdown-item id=\"trigger-dropdown-2\">Item 1</ix-dropdown-item>\n <ix-dropdown-item>Item 2</ix-dropdown-item>\n </ix-dropdown>\n\n <ix-dropdown trigger=\"trigger-dropdown-2\" id=\"dropdown-2\" close-behavior=\"inside\">\n <ix-dropdown-item>Item 1.1</ix-dropdown-item>\n <ix-dropdown-item>Item 1.2</ix-dropdown-item>\n <ix-dropdown-item>Item 1.3</ix-dropdown-item>\n </ix-dropdown>\n `);\n });\n\n test('close child on parent dismiss', async ({ page }) => {\n const triggerDropdown1 = page.locator('#trigger-dropdown-1');\n const triggerDropdown2 = page.locator('#trigger-dropdown-2');\n\n const dropdown1 = page.locator('#dropdown-1');\n const dropdown2 = page.locator('#dropdown-2');\n\n await triggerDropdown1.click();\n await triggerDropdown2.click();\n await triggerDropdown1.click();\n\n await expect(dropdown1).not.toBeVisible();\n await expect(dropdown2).not.toBeVisible();\n });\n});\n\ntest('Nested dropdowns within application-header', async ({ mount, page }) => {\n await mount(html`\n <ix-application-header>\n <ix-dropdown-button label=\"Trigger\">\n <ix-dropdown-item label=\"MainItem 1\"></ix-dropdown-item>\n <ix-dropdown-item label=\"MainItem 2\"></ix-dropdown-item>\n <ix-dropdown-item label=\"MainItem 3\" id=\"submenu-01\"></ix-dropdown-item>\n </ix-dropdown-button>\n </ix-application-header>\n <ix-dropdown id=\"submenu\" trigger=\"submenu-01\">\n <ix-dropdown-item>SubMenuItem 1</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 2</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 3</ix-dropdown-item>\n <ix-dropdown-item>SubMenuItem 4</ix-dropdown-item>\n </ix-dropdown>\n `);\n await page.setViewportSize(viewPorts.sm);\n await page.waitForTimeout(500);\n\n const header = page.locator('ix-application-header');\n await expect(header).toBeVisible();\n\n const overflowTrigger = header.getByRole('button', { name: 'More Menu' });\n await overflowTrigger.click();\n\n const dropdownButton = header.locator('ix-dropdown-button');\n await dropdownButton.locator('ix-button').click();\n\n const dropdownOfDropdownButton = dropdownButton.locator('ix-dropdown');\n await expect(dropdownOfDropdownButton).toBeVisible();\n\n const submenuTrigger = page\n .locator('ix-dropdown-item')\n .getByText('MainItem 3');\n await expect(submenuTrigger).toBeVisible();\n await submenuTrigger.click();\n\n const submenuDropdown = page.locator('#submenu');\n\n await expect(submenuDropdown).toBeVisible();\n\n const subMenuItem = submenuDropdown\n .locator('ix-dropdown-item')\n .getByText('SubMenuItem 3');\n\n await subMenuItem.click();\n\n await expect(submenuDropdown).not.toBeVisible();\n await expect(dropdownOfDropdownButton).not.toBeVisible();\n});\n\ntest.describe('resolve during element connect', () => {\n test.beforeEach(async ({ mount }) => {\n await mount(`\n <ix-button id=\"trigger\">Open</ix-button>\n <ix-dropdown trigger=\"trigger\">\n <ix-dropdown-item label=\"Item 1\" icon=\"print\"></ix-dropdown-item>\n <ix-dropdown-item label=\"Item 2\"></ix-dropdown-item>\n <ix-dropdown-item>Custom</ix-dropdown-item>\n </ix-dropdown>\n `);\n });\n\n test('attach and detach from dom', async ({ page }) => {\n await page.evaluate(() => {\n const dropdown = document.querySelector('ix-dropdown');\n const mount = document.querySelector('#mount');\n mount.removeChild(dropdown);\n mount.append(dropdown);\n });\n\n const dropdown = page.locator('ix-dropdown');\n await page.locator('ix-button').first().click();\n\n await expect(dropdown).toBeVisible();\n });\n\n test('add element within runtime', async ({ page }) => {\n await page.evaluate(async () => {\n const divElement = document.createElement('div');\n const mount = document.querySelector('#mount');\n mount.appendChild(divElement);\n });\n\n const dropdown = page.locator('ix-dropdown');\n await page.locator('ix-button').first().click();\n\n await expect(dropdown).toBeVisible();\n });\n});\n\ntest.describe('A11y', () => {\n test.describe('Keyboard navigation', () => {\n test.beforeEach(async ({ page, mount }) => {\n await mount(`\n <ix-button id=\"trigger\">Open</ix-button>\n <ix-dropdown trigger=\"trigger\">\n <ix-dropdown-item label=\"Item 1\" icon=\"print\"></ix-dropdown-item>\n <ix-dropdown-item label=\"Item 2\"></ix-dropdown-item>\n <ix-dropdown-item>Custom</ix-dropdown-item>\n </ix-dropdown>\n `);\n\n await page.locator('#trigger').click();\n });\n\n test.describe('ArrowDown', () => {\n test('trigger -> first item', async ({ page }) => {\n await page.keyboard.press('ArrowDown');\n await page.waitForTimeout(100);\n const item = await page.locator('ix-dropdown-item').first();\n await expect(item).toBeFocused();\n });\n\n test('first item -> second item', async ({ page }) => {\n await page.keyboard.press('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.press('ArrowDown');\n await page.waitForTimeout(100);\n const item = await page.locator('ix-dropdown-item').nth(1);\n await expect(item).toBeFocused();\n });\n });\n\n test.describe('ArrowUp', () => {\n test('second item -> fist item', async ({ page }) => {\n await page.keyboard.press('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.press('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.press('ArrowUp');\n const item = await page.locator('ix-dropdown-item').first();\n await expect(item).toBeFocused();\n });\n });\n });\n});\n"]}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { h, Host } from "@stencil/core";
|
|
10
10
|
import { createMutationObserver } from "../utils/mutation-observer";
|
|
11
11
|
import { convertToRemString } from "../utils/rwd.util";
|
|
12
|
+
import anime from "animejs";
|
|
12
13
|
export class EventList {
|
|
13
14
|
constructor() {
|
|
14
15
|
this.mutationObserver = createMutationObserver(this.onMutation.bind(this));
|
|
@@ -57,20 +58,21 @@ export class EventList {
|
|
|
57
58
|
item.style.setProperty('--event-list-item-height', height);
|
|
58
59
|
}
|
|
59
60
|
triggerFadeOut() {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
if (!this.animated) {
|
|
63
|
+
resolve();
|
|
64
|
+
}
|
|
65
|
+
const keyframes = [{ opacity: 1, easing: 'easeInSine' }, { opacity: 0 }];
|
|
66
|
+
const listElement = this.hostElement.shadowRoot.querySelector('ul');
|
|
67
|
+
anime({
|
|
68
|
+
targets: listElement,
|
|
69
|
+
opacity: keyframes,
|
|
70
|
+
duration: EventList.fadeOutDuration,
|
|
71
|
+
complete: () => {
|
|
72
|
+
resolve();
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
});
|
|
74
76
|
}
|
|
75
77
|
triggerFadeIn() {
|
|
76
78
|
if (!this.animated) {
|
|
@@ -80,16 +82,15 @@ export class EventList {
|
|
|
80
82
|
listItems.forEach((e, i) => {
|
|
81
83
|
const delay = i * 80;
|
|
82
84
|
const offset = delay / (delay + EventList.fadeInDuration);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{ opacity: 1 },
|
|
87
|
-
];
|
|
88
|
-
const options = {
|
|
85
|
+
anime({
|
|
86
|
+
targets: e,
|
|
87
|
+
offset: offset,
|
|
89
88
|
duration: EventList.fadeInDuration + delay,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
opacity: [0, 1],
|
|
90
|
+
easing: 'easeInOutSine',
|
|
91
|
+
delay: delay,
|
|
92
|
+
autoplay: true,
|
|
93
|
+
});
|
|
93
94
|
});
|
|
94
95
|
}
|
|
95
96
|
handleChevron(chevron) {
|
|
@@ -104,11 +105,11 @@ export class EventList {
|
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
107
|
render() {
|
|
107
|
-
return (h(Host, { key: '
|
|
108
|
+
return (h(Host, { key: 'd24b72d6682a8bbd5c115814d9e6894f97f5517b', class: {
|
|
108
109
|
'item-size-s': this.itemHeight === 'S',
|
|
109
110
|
'item-size-l': this.itemHeight === 'L',
|
|
110
111
|
compact: this.compact,
|
|
111
|
-
} }, h("ul", { key: '
|
|
112
|
+
} }, h("ul", { key: '1a1e8b938a2182c6578b7a60fab2cd2f63d54180' }, h("slot", { key: 'c9a9f3c9e06c039c9afa1e954d1bf77c1cda5122' }))));
|
|
112
113
|
}
|
|
113
114
|
static get is() { return "ix-event-list"; }
|
|
114
115
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-list.js","sourceRoot":"","sources":["../../../../src/components/event-list/event-list.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-list.js","sourceRoot":"","sources":["../../../../src/components/event-list/event-list.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\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 { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { convertToRemString } from '../utils/rwd.util';\nimport anime from 'animejs';\n\n@Component({\n tag: 'ix-event-list',\n styleUrl: 'event-list.scss',\n shadow: true,\n})\nexport class EventList {\n private readonly mutationObserver = createMutationObserver(\n this.onMutation.bind(this)\n );\n\n private static readonly fadeOutDuration = 50;\n private static readonly fadeInDuration = 150;\n\n @Element() hostElement!: HTMLIxEventListElement;\n\n /**\n * Determines the height of list items.\n * This can either be one of two predefined sizes ('S' or 'L') or an absolute pixel value.\n * In case a number is supplied it will get converted to rem internally.\n * Defaults to 'S'.\n */\n @Prop() itemHeight: 'S' | 'L' | number = 'S';\n\n /**\n * Make event-list items more compact\n */\n @Prop() compact = false;\n\n /**\n * Animate state change transitions. Defaults to 'true'.\n */\n @Prop() animated = true;\n\n /**\n * Display a chevron icon in list items. Defaults to 'false'\n */\n @Prop() chevron: boolean;\n\n @Watch('chevron')\n watchChevron(chevron: boolean | undefined) {\n this.handleChevron(chevron);\n }\n\n componentDidLoad() {\n if (this.animated) {\n this.triggerFadeIn();\n }\n\n if (!Number.isNaN(Number(this.itemHeight))) {\n const height = convertToRemString(this.itemHeight as number);\n this.hostElement\n .querySelectorAll('ix-event-list-item')\n .forEach((item) => {\n this.setCustomHeight(item as HTMLElement, height);\n });\n }\n\n this.handleChevron(this.chevron);\n\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n }\n\n private onMutation(mutationRecords: Array<MutationRecord>) {\n this.triggerFadeOut().then(() => {\n if (typeof this.itemHeight === 'number') {\n const height = convertToRemString(this.itemHeight);\n\n mutationRecords\n .filter((mutation) => mutation.type === 'childList')\n .forEach((mutation) =>\n mutation.addedNodes.forEach((item) => {\n const itemHtml = item as HTMLElement;\n\n this.setCustomHeight(itemHtml, height);\n })\n );\n }\n\n this.handleChevron(this.chevron);\n\n this.triggerFadeIn();\n });\n }\n\n private setCustomHeight(item: HTMLElement, height: string) {\n item.style.setProperty('--event-list-item-height', height);\n }\n\n private triggerFadeOut(): Promise<void> {\n return new Promise((resolve) => {\n if (!this.animated) {\n resolve();\n }\n\n const keyframes = [{ opacity: 1, easing: 'easeInSine' }, { opacity: 0 }];\n\n const listElement = this.hostElement.shadowRoot.querySelector('ul');\n\n anime({\n targets: listElement,\n opacity: keyframes,\n duration: EventList.fadeOutDuration,\n complete: () => {\n resolve();\n },\n });\n });\n }\n\n private triggerFadeIn() {\n if (!this.animated) {\n return;\n }\n\n const listItems = this.hostElement.querySelectorAll('ix-event-list-item');\n listItems.forEach((e, i) => {\n const delay = i * 80;\n const offset = delay / (delay + EventList.fadeInDuration);\n anime({\n targets: e,\n offset: offset,\n duration: EventList.fadeInDuration + delay,\n opacity: [0, 1],\n easing: 'easeInOutSine',\n delay: delay,\n autoplay: true,\n });\n });\n }\n\n private handleChevron(chevron: boolean | undefined): void {\n const listItems = this.hostElement.querySelectorAll('ix-event-list-item');\n\n listItems.forEach((e) => {\n if (chevron) {\n e.setAttribute('chevron', 'true');\n } else if (chevron !== undefined) {\n e.removeAttribute('chevron');\n }\n });\n }\n\n render() {\n return (\n <Host\n class={{\n 'item-size-s': this.itemHeight === 'S',\n 'item-size-l': this.itemHeight === 'L',\n compact: this.compact,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* SPDX-FileCopyrightText: 2023 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
|
+
/*
|
|
10
|
+
* SPDX-FileCopyrightText: 2023 Siemens AG
|
|
11
|
+
*
|
|
12
|
+
* SPDX-License-Identifier: MIT
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the MIT license found in the
|
|
15
|
+
* LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/
|
|
17
|
+
import "jest";
|
|
18
|
+
import { test } from "../../../tests/utils/test/index";
|
|
19
|
+
import { expect } from "@playwright/test";
|
|
20
|
+
test('renders', async ({ mount, page }) => {
|
|
21
|
+
await mount(`
|
|
22
|
+
<ix-event-list>
|
|
23
|
+
<ix-event-list-item color="color-primary">Text 1</ix-event-list-item>
|
|
24
|
+
<ix-event-list-item color="color-primary">Text 2</ix-event-list-item>
|
|
25
|
+
<ix-event-list-item color="color-primary">Text 3</ix-event-list-item>
|
|
26
|
+
<ix-event-list-item color="color-primary">Text 4</ix-event-list-item>
|
|
27
|
+
</ix-event-list>
|
|
28
|
+
`);
|
|
29
|
+
const eventList = page.locator('ix-event-list');
|
|
30
|
+
await expect(eventList).toHaveClass(/hydrated/);
|
|
31
|
+
});
|
|
32
|
+
test('check if items still clickable', async ({ mount, page }) => {
|
|
33
|
+
await mount(`
|
|
34
|
+
<ix-event-list>
|
|
35
|
+
<ix-event-list-item color="color-primary" selected>Text 1</ix-event-list-item>
|
|
36
|
+
<ix-event-list-item color="color-primary">Text 2</ix-event-list-item>
|
|
37
|
+
<ix-event-list-item color="color-primary">Text 3</ix-event-list-item>
|
|
38
|
+
<ix-event-list-item color="color-primary">Text 4</ix-event-list-item>
|
|
39
|
+
</ix-event-list>
|
|
40
|
+
`);
|
|
41
|
+
await page.waitForTimeout(500);
|
|
42
|
+
const firstEventListItem = page.locator('ix-event-list-item').first();
|
|
43
|
+
const secondEventListItem = page.locator('ix-event-list-item').nth(1);
|
|
44
|
+
const thirdEventListItem = page.locator('ix-event-list-item').last();
|
|
45
|
+
const clickCountHandle = await page.evaluateHandle(() => {
|
|
46
|
+
return { count: 0 };
|
|
47
|
+
});
|
|
48
|
+
await firstEventListItem.evaluate((eventListItem, clickCountHandle) => {
|
|
49
|
+
eventListItem.addEventListener('click', () => {
|
|
50
|
+
clickCountHandle.count++;
|
|
51
|
+
});
|
|
52
|
+
}, clickCountHandle);
|
|
53
|
+
await firstEventListItem.click();
|
|
54
|
+
await secondEventListItem.click();
|
|
55
|
+
await thirdEventListItem.click();
|
|
56
|
+
//Check if still clickable
|
|
57
|
+
await firstEventListItem.click();
|
|
58
|
+
expect((await clickCountHandle.jsonValue()).count).toBe(2);
|
|
59
|
+
clickCountHandle.dispose();
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=event-list.ct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-list.ct.js","sourceRoot":"","sources":["../../../../../src/components/event-list/test/event-list.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,OAAO,MAAM,CAAC;AACd,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,MAAM,KAAK,CAAC;;;;;;;GAOX,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IAC/D,MAAM,KAAK,CAAC;;;;;;;GAOX,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;IAErE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QACtD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE;QACpE,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3C,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAErB,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACjC,MAAM,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAClC,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAEjC,0BAA0B;IAC1B,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACjC,MAAM,CAAC,CAAC,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3D,gBAAgB,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC","sourcesContent":["/*\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\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 */\nimport 'jest';\nimport { test } from '@utils/test';\nimport { expect } from '@playwright/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-event-list>\n <ix-event-list-item color=\"color-primary\">Text 1</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 2</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 3</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 4</ix-event-list-item>\n </ix-event-list>\n `);\n\n const eventList = page.locator('ix-event-list');\n await expect(eventList).toHaveClass(/hydrated/);\n});\n\ntest('check if items still clickable', async ({ mount, page }) => {\n await mount(`\n <ix-event-list>\n <ix-event-list-item color=\"color-primary\" selected>Text 1</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 2</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 3</ix-event-list-item>\n <ix-event-list-item color=\"color-primary\">Text 4</ix-event-list-item>\n </ix-event-list>\n `);\n\n await page.waitForTimeout(500);\n const firstEventListItem = page.locator('ix-event-list-item').first();\n const secondEventListItem = page.locator('ix-event-list-item').nth(1);\n const thirdEventListItem = page.locator('ix-event-list-item').last();\n\n const clickCountHandle = await page.evaluateHandle(() => {\n return { count: 0 };\n });\n\n await firstEventListItem.evaluate((eventListItem, clickCountHandle) => {\n eventListItem.addEventListener('click', () => {\n clickCountHandle.count++;\n });\n }, clickCountHandle);\n\n await firstEventListItem.click();\n await secondEventListItem.click();\n await thirdEventListItem.click();\n\n //Check if still clickable\n await firstEventListItem.click();\n expect((await clickCountHandle.jsonValue()).count).toBe(2);\n\n clickCountHandle.dispose();\n});\n"]}
|
|
@@ -61,52 +61,5 @@ describe('event-list', () => {
|
|
|
61
61
|
</ix-event-list>
|
|
62
62
|
`);
|
|
63
63
|
});
|
|
64
|
-
it('animated', async () => {
|
|
65
|
-
const page = await newSpecPage({
|
|
66
|
-
components: [EventList],
|
|
67
|
-
html: '<div></div>',
|
|
68
|
-
});
|
|
69
|
-
const eventList = page.doc.createElement('ix-event-list');
|
|
70
|
-
const eventListItem = page.doc.createElement('ix-event-list-item');
|
|
71
|
-
eventListItem.animate = jest.fn();
|
|
72
|
-
eventList.appendChild(eventListItem);
|
|
73
|
-
page.root.appendChild(eventList);
|
|
74
|
-
await page.waitForChanges();
|
|
75
|
-
expect(eventListItem.animate).toHaveBeenCalled();
|
|
76
|
-
expect(page.root).toEqualHtml(`
|
|
77
|
-
<ix-event-list class="item-size-s">
|
|
78
|
-
<mock:shadow-root>
|
|
79
|
-
<ul>
|
|
80
|
-
<slot></slot>
|
|
81
|
-
</ul>
|
|
82
|
-
</mock:shadow-root>
|
|
83
|
-
<ix-event-list-item></ix-event-list-item>
|
|
84
|
-
</ix-event-list>
|
|
85
|
-
`);
|
|
86
|
-
});
|
|
87
|
-
it('not animated', async () => {
|
|
88
|
-
const page = await newSpecPage({
|
|
89
|
-
components: [EventList],
|
|
90
|
-
html: '<div></div>',
|
|
91
|
-
});
|
|
92
|
-
const eventList = page.doc.createElement('ix-event-list');
|
|
93
|
-
eventList.animated = false;
|
|
94
|
-
const eventListItem = page.doc.createElement('ix-event-list-item');
|
|
95
|
-
eventListItem.animate = jest.fn();
|
|
96
|
-
eventList.appendChild(eventListItem);
|
|
97
|
-
page.root.appendChild(eventList);
|
|
98
|
-
await page.waitForChanges();
|
|
99
|
-
expect(eventListItem.animate).not.toHaveBeenCalled();
|
|
100
|
-
expect(page.root).toEqualHtml(`
|
|
101
|
-
<ix-event-list class="item-size-s">
|
|
102
|
-
<mock:shadow-root>
|
|
103
|
-
<ul>
|
|
104
|
-
<slot></slot>
|
|
105
|
-
</ul>
|
|
106
|
-
</mock:shadow-root>
|
|
107
|
-
<ix-event-list-item></ix-event-list-item>
|
|
108
|
-
</ix-event-list>
|
|
109
|
-
`);
|
|
110
|
-
});
|
|
111
64
|
});
|
|
112
65
|
//# sourceMappingURL=event-list.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-list.spec.js","sourceRoot":"","sources":["../../../../../src/components/event-list/test/event-list.spec.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY;AACZ,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAE3C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,YAAY;QACZ,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SACnB,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE;;;;OAIL;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;KAS7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE;;;;OAIL;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CACtC,eAAe,CACU,CAAC;QAE5B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;KAS7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-list.spec.js","sourceRoot":"","sources":["../../../../../src/components/event-list/test/event-list.spec.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY;AACZ,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAE3C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACd,YAAY;QACZ,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;SACnB,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE;;;;OAIL;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;KAS7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,IAAI,EAAE;;;;OAIL;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CACtC,eAAe,CACU,CAAC;QAE5B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAEzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;KAS7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/*\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 { newSpecPage } from '@stencil/core/testing';\n//@ts-ignore\nimport { createMutationObserver } from '../../utils/mutation-observer';\nimport { EventList } from '../event-list';\n\njest.mock('../../utils/mutation-observer');\n\ndescribe('event-list', () => {\n beforeEach(() => {\n //@ts-ignore\n createMutationObserver = jest.fn(() => ({\n observe: jest.fn(),\n }));\n });\n\n it('renders', async () => {\n const page = await newSpecPage({\n components: [EventList],\n html: `\n <ix-event-list>\n <ix-event-list-item />\n </ix-event-list>\n `,\n });\n expect(page.root).toEqualHtml(`\n <ix-event-list class=\"item-size-s\">\n <mock:shadow-root>\n <ul>\n <slot></slot>\n </ul>\n </mock:shadow-root>\n <ix-event-list-item></ix-event-list-item>\n </ix-event-list>\n `);\n });\n\n it('compact', async () => {\n const page = await newSpecPage({\n components: [EventList],\n html: `\n <ix-event-list>\n <ix-event-list-item />\n </ix-event-list>\n `,\n });\n\n const eventList = page.doc.querySelector(\n 'ix-event-list'\n ) as HTMLIxEventListElement;\n\n eventList.compact = true;\n\n await page.waitForChanges();\n\n expect(page.root).toEqualHtml(`\n <ix-event-list class=\"compact item-size-s\">\n <mock:shadow-root>\n <ul>\n <slot></slot>\n </ul>\n </mock:shadow-root>\n <ix-event-list-item></ix-event-list-item>\n </ix-event-list>\n `);\n });\n});\n"]}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
9
|
import { h, Host, } from "@stencil/core";
|
|
10
|
+
import { a11yBoolean } from "../utils/a11y";
|
|
10
11
|
export class EventListItem {
|
|
11
12
|
constructor() {
|
|
12
13
|
this.color = undefined;
|
|
@@ -28,16 +29,16 @@ export class EventListItem {
|
|
|
28
29
|
? `var(${this.color})`
|
|
29
30
|
: `var(--theme-${this.color})`;
|
|
30
31
|
}
|
|
31
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: '886fd04038ed9b7ae7e9137b2e939ce5a391889b', class: {
|
|
32
33
|
disabled: this.disabled,
|
|
33
|
-
} }, h("
|
|
34
|
+
} }, h("li", { key: 'abcf0a5109a0a267482a21cf5daf0aa1190b14df', "aria-disabled": a11yBoolean(this.disabled), class: {
|
|
34
35
|
'event-list-item': true,
|
|
35
36
|
selected: this.selected,
|
|
36
37
|
disabled: this.disabled,
|
|
37
|
-
} }, h("div", { key: '
|
|
38
|
+
} }, h("div", { key: '80965a6f06a8e06e7fd4eb3c7e18a42cfb1fe68d', class: `indicator ${!((_c = this.itemColor) !== null && _c !== void 0 ? _c : this.color) ? 'indicator-empty' : ''}`, style: {
|
|
38
39
|
'background-color': ((_d = this.itemColor) !== null && _d !== void 0 ? _d : this.color) ? color : 'inherit',
|
|
39
40
|
opacity: `${this.disabled ? 0.4 : 1}`,
|
|
40
|
-
} }), h("div", { key: '
|
|
41
|
+
} }), h("div", { key: '1848fb6081def3209f3089713c1fee3e5f10379f', class: "event-list-item-container" }, h("div", { key: '93938c03d5576c5ecc35006b1620ff5170e37fb7', class: "event-content" }, h("slot", { key: 'e35b7858bf2766e1e546e850b037bf98880083fc' })), this.chevron && (h("ix-icon", { name: 'chevron-right', size: "16", class: "chevron-icon" }))))));
|
|
41
42
|
}
|
|
42
43
|
static get is() { return "ix-event-list-item"; }
|
|
43
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-list-item.js","sourceRoot":"","sources":["../../../../src/components/event-list-item/event-list-item.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,GACL,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"event-list-item.js","sourceRoot":"","sources":["../../../../src/components/event-list-item/event-list-item.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,MAAM,OAAO,aAAa;;;;;;;;IA2CxB,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,MAAM;;QACJ,IAAI,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,SAAS,CAAC;YAC/C,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,GAAG;YAC1B,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,GAAG,CAAC;QAErC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,CAAC,SAAS,CAAC;gBACvC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,GAAG;gBACtB,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,GAAG,CAAC;QACnC,CAAC;QAED,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YAED,4EACiB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzC,KAAK,EAAE;oBACL,iBAAiB,EAAE,IAAI;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;gBAED,4DACE,KAAK,EAAE,aACL,CAAC,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EACxD,EAAE,EACF,KAAK,EAAE;wBACL,kBAAkB,EAChB,CAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;wBAClD,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;qBACtC,GACI;gBAEP,4DAAK,KAAK,EAAC,2BAA2B;oBACpC,4DAAK,KAAK,EAAC,eAAe;wBACxB,8DAAa,CACT;oBACL,IAAI,CAAC,OAAO,IAAI,CACf,eACE,IAAI,EAAE,eAAe,EACrB,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,cAAc,GACX,CACZ,CACG,CACH,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\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 {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\nimport { a11yBoolean } from '../utils/a11y';\n\n@Component({\n tag: 'ix-event-list-item',\n styleUrl: 'event-list-item.scss',\n shadow: true,\n})\nexport class EventListItem {\n /**\n * Color of the status indicator.\n * You can find a list of all available colors in our documentation.\n * Example values are `--theme-color-alarm` or `color-alarm`\n *\n * @link https://ix.siemens.io/docs/theming/colors/\n *\n * @deprecated since 2.1.0 use `item-color`\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() color: string;\n\n /**\n * Color of the status indicator.\n * You can find a list of all available colors in our documentation.\n * Example values are `--theme-color-alarm` or `color-alarm`\n *\n * @link https://ix.siemens.io/docs/theming/colors/\n */\n @Prop() itemColor: string;\n\n /**\n * Show event list item as selected\n */\n @Prop() selected: boolean;\n\n /**\n * Disable event list item\n */\n @Prop() disabled: boolean;\n\n /**\n * Show chevron on right side of the event list item\n */\n @Prop() chevron: boolean;\n\n /**\n * Event list item click\n */\n @Event() itemClick: EventEmitter;\n\n @Listen('click', { passive: true })\n handleItemClick() {\n this.itemClick.emit();\n }\n\n render() {\n let color = this.itemColor?.startsWith('--theme')\n ? `var(${this.itemColor})`\n : `var(--theme-${this.itemColor})`;\n\n if (this.color) {\n color = this.color?.startsWith('--theme')\n ? `var(${this.color})`\n : `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n }}\n >\n <li\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n 'event-list-item': true,\n selected: this.selected,\n disabled: this.disabled,\n }}\n >\n <div\n class={`indicator ${\n !(this.itemColor ?? this.color) ? 'indicator-empty' : ''\n }`}\n style={{\n 'background-color':\n this.itemColor ?? this.color ? color : 'inherit',\n opacity: `${this.disabled ? 0.4 : 1}`,\n }}\n ></div>\n\n <div class=\"event-list-item-container\">\n <div class=\"event-content\">\n <slot></slot>\n </div>\n {this.chevron && (\n <ix-icon\n name={'chevron-right'}\n size=\"16\"\n class=\"chevron-icon\"\n ></ix-icon>\n )}\n </div>\n </li>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -43,7 +43,7 @@ label.label-alignment-left {
|
|
|
43
43
|
padding: 6px 0px;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
input
|
|
46
|
+
input {
|
|
47
47
|
font-feature-settings: "clig" off, "liga" off;
|
|
48
48
|
font-family: Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;
|
|
49
49
|
font-style: normal;
|
|
@@ -65,9 +65,18 @@ input, input:-webkit-autofill {
|
|
|
65
65
|
box-shadow: var(--theme-input--box-shadow);
|
|
66
66
|
}
|
|
67
67
|
input:-webkit-autofill {
|
|
68
|
-
-webkit-box-shadow: 0 0 0 1000px var(--theme-
|
|
69
|
-
-webkit-text-fill-color: var(--theme-input--color) !important;
|
|
70
|
-
|
|
68
|
+
-webkit-box-shadow: 0 0 0 1000px var(--theme-color-component-info) inset !important;
|
|
69
|
+
-webkit-text-fill-color: var(--theme-input--color--autofill) !important;
|
|
70
|
+
background-color: var(--theme-input--background--autofill) !important;
|
|
71
|
+
border: var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color--autofill) !important;
|
|
72
|
+
color: var(--theme-input--color--autofill) !important;
|
|
73
|
+
}
|
|
74
|
+
input:-webkit-autofill, input:autofill {
|
|
75
|
+
-webkit-box-shadow: 0 0 0 1000px var(--theme-color-component-info) inset !important;
|
|
76
|
+
-webkit-text-fill-color: var(--theme-input--color--autofill) !important;
|
|
77
|
+
background-color: var(--theme-input--background--autofill) !important;
|
|
78
|
+
border: var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color--autofill) !important;
|
|
79
|
+
color: var(--theme-input--color--autofill) !important;
|
|
71
80
|
}
|
|
72
81
|
input::-moz-placeholder {
|
|
73
82
|
color: var(--theme-input-hint--color);
|
|
@@ -76,13 +85,13 @@ input::placeholder {
|
|
|
76
85
|
color: var(--theme-input-hint--color);
|
|
77
86
|
}
|
|
78
87
|
input.hover, input:hover {
|
|
79
|
-
border-color: var(--theme-input--border-color--hover);
|
|
88
|
+
border-color: var(--theme-input--border-color--hover) !important;
|
|
80
89
|
background-color: var(--theme-input--background--hover);
|
|
81
90
|
}
|
|
82
91
|
input.focus, input:focus {
|
|
83
92
|
outline: 1px solid var(--theme-color-focus-bdr);
|
|
84
93
|
outline-offset: var(--theme-input--focus--outline-offset);
|
|
85
|
-
border-color: var(--theme-input--border-color--focus);
|
|
94
|
+
border-color: var(--theme-input--border-color--focus) !important;
|
|
86
95
|
}
|
|
87
96
|
input:-moz-read-only {
|
|
88
97
|
box-shadow: none;
|
|
@@ -135,7 +144,7 @@ textarea {
|
|
|
135
144
|
height: 3.25rem;
|
|
136
145
|
padding: 0.375rem 1.25rem 0.375rem 0.5rem;
|
|
137
146
|
}
|
|
138
|
-
textarea
|
|
147
|
+
textarea {
|
|
139
148
|
font-feature-settings: "clig" off, "liga" off;
|
|
140
149
|
font-family: Siemens Sans, Siemens Sans, Arial, Helvetica, sans-serif;
|
|
141
150
|
font-style: normal;
|
|
@@ -157,9 +166,18 @@ textarea, textarea:-webkit-autofill {
|
|
|
157
166
|
box-shadow: var(--theme-input--box-shadow);
|
|
158
167
|
}
|
|
159
168
|
textarea:-webkit-autofill {
|
|
160
|
-
-webkit-box-shadow: 0 0 0 1000px var(--theme-
|
|
161
|
-
-webkit-text-fill-color: var(--theme-input--color) !important;
|
|
162
|
-
|
|
169
|
+
-webkit-box-shadow: 0 0 0 1000px var(--theme-color-component-info) inset !important;
|
|
170
|
+
-webkit-text-fill-color: var(--theme-input--color--autofill) !important;
|
|
171
|
+
background-color: var(--theme-input--background--autofill) !important;
|
|
172
|
+
border: var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color--autofill) !important;
|
|
173
|
+
color: var(--theme-input--color--autofill) !important;
|
|
174
|
+
}
|
|
175
|
+
textarea:-webkit-autofill, textarea:autofill {
|
|
176
|
+
-webkit-box-shadow: 0 0 0 1000px var(--theme-color-component-info) inset !important;
|
|
177
|
+
-webkit-text-fill-color: var(--theme-input--color--autofill) !important;
|
|
178
|
+
background-color: var(--theme-input--background--autofill) !important;
|
|
179
|
+
border: var(--theme-input--border-thickness, 1px) solid var(--theme-input--border-color--autofill) !important;
|
|
180
|
+
color: var(--theme-input--color--autofill) !important;
|
|
163
181
|
}
|
|
164
182
|
textarea::-moz-placeholder {
|
|
165
183
|
color: var(--theme-input-hint--color);
|
|
@@ -168,13 +186,13 @@ textarea::placeholder {
|
|
|
168
186
|
color: var(--theme-input-hint--color);
|
|
169
187
|
}
|
|
170
188
|
textarea.hover, textarea:hover {
|
|
171
|
-
border-color: var(--theme-input--border-color--hover);
|
|
189
|
+
border-color: var(--theme-input--border-color--hover) !important;
|
|
172
190
|
background-color: var(--theme-input--background--hover);
|
|
173
191
|
}
|
|
174
192
|
textarea.focus, textarea:focus {
|
|
175
193
|
outline: 1px solid var(--theme-color-focus-bdr);
|
|
176
194
|
outline-offset: var(--theme-input--focus--outline-offset);
|
|
177
|
-
border-color: var(--theme-input--border-color--focus);
|
|
195
|
+
border-color: var(--theme-input--border-color--focus) !important;
|
|
178
196
|
}
|
|
179
197
|
textarea:-moz-read-only {
|
|
180
198
|
box-shadow: none;
|