@siemens/ix 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/application-header.js +3 -3
- package/components/application-header.js.map +1 -1
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/date-picker.js +4 -4
- package/components/date-time-card.js +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-item.js +3 -3
- package/components/dropdown.js +5 -2
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-item.js +2 -2
- package/components/icon-button.js +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +1 -1
- package/components/ix-application-switch-modal.js.map +1 -1
- package/components/ix-application.js +3 -3
- package/components/ix-basic-navigation.js +2 -2
- package/components/ix-breadcrumb.js +2 -2
- package/components/ix-card-list.js +4 -4
- package/components/ix-category-filter.js +3 -3
- package/components/ix-chip.js +4 -4
- package/components/ix-content.js +3 -3
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-date-dropdown.js +3 -3
- package/components/ix-date-dropdown.js.map +1 -1
- package/components/ix-datetime-picker.js +1 -1
- package/components/ix-drawer.js +2 -2
- package/components/ix-dropdown-button.js +2 -2
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-empty-state.js +1 -1
- package/components/ix-empty-state.js.map +1 -1
- package/components/ix-event-list-item.js +4 -4
- package/components/ix-event-list-item.js.map +1 -1
- package/components/ix-event-list.js +2 -2
- package/components/ix-expanding-search.js +4 -4
- package/components/ix-flip-tile-content.js +1 -1
- package/components/ix-flip-tile.js +4 -4
- package/components/ix-form-field.js +1 -1
- package/components/ix-group.js +8 -8
- 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-key-value.js +1 -1
- package/components/ix-key-value.js.map +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-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-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +3 -3
- package/components/ix-pagination.js +2 -2
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js +6 -6
- package/components/ix-pill.js +4 -4
- package/components/ix-playground-internal.js +1 -1
- package/components/ix-push-card.js +1 -1
- package/components/ix-slider.js +6 -6
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-split-button.js +1 -1
- package/components/ix-tile.js +4 -4
- package/components/ix-toast-container.js +2 -2
- 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/layout-grid.js +2 -2
- 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 +3 -3
- package/components/menu-item.js.map +1 -1
- package/components/menu-tabs-fc.js +1 -1
- 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 +1 -1
- package/components/select.js +33 -17
- package/components/select.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tab-item.js +3 -3
- package/components/tab-item.js.map +1 -1
- package/components/tabs.js +2 -2
- package/components/time-picker.js +3 -3
- package/components/toast.js +2 -2
- package/components/tooltip.js +2 -2
- package/components/tree-item.js +4 -4
- package/dist/cjs/{base-button-bf6a6f0c.js → base-button-3735b8c2.js} +2 -2
- package/dist/cjs/{base-button-bf6a6f0c.js.map → base-button-3735b8c2.js.map} +1 -1
- package/dist/cjs/{base-icon-button-e95a232c.js → base-icon-button-44c72bc8.js} +3 -3
- package/dist/cjs/{base-icon-button-e95a232c.js.map → base-icon-button-44c72bc8.js.map} +1 -1
- package/dist/cjs/index-529f21c1.js +2122 -0
- package/dist/cjs/index-529f21c1.js.map +1 -0
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +4 -4
- package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +4 -4
- package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-blind.cjs.entry.js +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ix-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-list.cjs.entry.js +5 -5
- package/dist/cjs/ix-card_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-category-filter.cjs.entry.js +5 -5
- package/dist/cjs/ix-chip.cjs.entry.js +5 -5
- package/dist/cjs/ix-col_4.cjs.entry.js +9 -9
- package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +4 -4
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +4 -4
- package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-time-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
- package/dist/cjs/ix-divider.cjs.entry.js +2 -2
- package/dist/cjs/ix-drawer.cjs.entry.js +3 -3
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown.cjs.entry.js +6 -3
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list.cjs.entry.js +3 -3
- package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
- package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
- package/dist/cjs/ix-form-field.cjs.entry.js +2 -2
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-group.cjs.entry.js +9 -9
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
- package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
- package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
- package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu.cjs.entry.js +12 -12
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal.cjs.entry.js +5 -5
- package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
- package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
- package/dist/cjs/ix-pane.cjs.entry.js +7 -7
- package/dist/cjs/ix-pill.cjs.entry.js +5 -5
- package/dist/cjs/ix-playground-internal.cjs.entry.js +2 -2
- package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-select.cjs.entry.js +35 -19
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +8 -8
- package/dist/cjs/ix-split-button-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +6 -6
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +5 -5
- package/dist/cjs/ix-time-picker.cjs.entry.js +4 -4
- package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
- package/dist/cjs/ix-toast.cjs.entry.js +3 -3
- package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ix-tooltip.cjs.entry.js +4 -4
- package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-tree.cjs.entry.js +2 -2
- package/dist/cjs/ix-typography.cjs.entry.js +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +4 -4
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
- package/dist/cjs/{listener-86a645ec.js → listener-bc3e7c0c.js} +2 -2
- package/dist/cjs/{listener-86a645ec.js.map → listener-bc3e7c0c.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{menu-tabs-fc-a06afb9a.js → menu-tabs-fc-df53f176.js} +3 -3
- package/dist/cjs/{menu-tabs-fc-a06afb9a.js.map → menu-tabs-fc-df53f176.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +9 -9
- package/dist/cjs/siemens-ix.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/application/application.js +3 -3
- package/dist/collection/components/application-header/application-header.js +3 -3
- package/dist/collection/components/application-header/application-header.js.map +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js.map +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.js +4 -4
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.js +3 -3
- package/dist/collection/components/chip/chip.js +4 -4
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/date-dropdown/date-dropdown.js +3 -3
- package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +4 -4
- package/dist/collection/components/date-time-card/date-time-card.js +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.js +2 -2
- package/dist/collection/components/dropdown/dropdown.js +5 -2
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js +28 -0
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +2 -2
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/empty-state/empty-state.js +1 -1
- package/dist/collection/components/empty-state/empty-state.js.map +1 -1
- package/dist/collection/components/event-list/event-list.js +2 -2
- package/dist/collection/components/event-list-item/event-list-item.js +4 -4
- package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
- package/dist/collection/components/expanding-search/expanding-search.js +4 -4
- package/dist/collection/components/filter-chip/filter-chip.js +1 -1
- package/dist/collection/components/flip-tile/flip-tile.js +4 -4
- package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
- package/dist/collection/components/form-field/form-field.js +1 -1
- package/dist/collection/components/grid/layout-grid.js +2 -2
- package/dist/collection/components/group/group-context-menu.js +1 -1
- package/dist/collection/components/group/group.js +8 -8
- package/dist/collection/components/group-item/group-item.js +2 -2
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- 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/key-value.js +1 -1
- package/dist/collection/components/key-value/key-value.js.map +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/menu.js.map +1 -1
- package/dist/collection/components/menu-about/menu-about.js +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 +3 -3
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/menu-settings/menu-settings.js +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/modal/modal.js +3 -3
- 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/pane.js +6 -6
- 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/push-card/push-card.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/select/select.js +33 -17
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +107 -36
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +1 -1
- package/dist/collection/components/slider/slider.js +6 -6
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button/split-button.js +1 -1
- package/dist/collection/components/split-button-item/split-button-item.js +1 -1
- package/dist/collection/components/tab-item/tab-item.js +4 -4
- package/dist/collection/components/tab-item/tab-item.js.map +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.js +3 -3
- package/dist/collection/components/toast/toast-container.js +2 -2
- 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/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/esm/{base-button-a1f04cd1.js → base-button-1b40b11d.js} +2 -2
- package/dist/esm/{base-button-a1f04cd1.js.map → base-button-1b40b11d.js.map} +1 -1
- package/dist/esm/{base-icon-button-368f0241.js → base-icon-button-bc1dabe0.js} +3 -3
- package/dist/esm/{base-icon-button-368f0241.js.map → base-icon-button-bc1dabe0.js.map} +1 -1
- package/dist/esm/index-5429f20b.js +2090 -0
- package/dist/esm/index-5429f20b.js.map +1 -0
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-application-header.entry.js +4 -4
- package/dist/esm/ix-application-header.entry.js.map +1 -1
- package/dist/esm/ix-application-sidebar.entry.js +2 -2
- package/dist/esm/ix-application-switch-modal.entry.js +2 -2
- package/dist/esm/ix-application-switch-modal.entry.js.map +1 -1
- package/dist/esm/ix-application.entry.js +4 -4
- package/dist/esm/ix-avatar_2.entry.js +3 -3
- package/dist/esm/ix-basic-navigation.entry.js +3 -3
- package/dist/esm/ix-blind.entry.js +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
- package/dist/esm/ix-breadcrumb.entry.js +3 -3
- package/dist/esm/ix-button.entry.js +2 -2
- package/dist/esm/ix-card-accordion_2.entry.js +2 -2
- package/dist/esm/ix-card-list.entry.js +5 -5
- package/dist/esm/ix-card_2.entry.js +2 -2
- package/dist/esm/ix-category-filter.entry.js +5 -5
- package/dist/esm/ix-chip.entry.js +5 -5
- package/dist/esm/ix-col_4.entry.js +9 -9
- package/dist/esm/ix-content-header.entry.js +1 -1
- package/dist/esm/ix-content.entry.js +4 -4
- package/dist/esm/ix-css-grid-item.entry.js +2 -2
- package/dist/esm/ix-css-grid.entry.js +1 -1
- package/dist/esm/ix-date-dropdown.entry.js +4 -4
- package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-date-time-card.entry.js +2 -2
- package/dist/esm/ix-datetime-picker.entry.js +2 -2
- package/dist/esm/ix-divider.entry.js +2 -2
- package/dist/esm/ix-drawer.entry.js +3 -3
- package/dist/esm/ix-dropdown-button.entry.js +3 -3
- package/dist/esm/ix-dropdown-header.entry.js +2 -2
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
- package/dist/esm/ix-dropdown.entry.js +6 -3
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-empty-state.entry.js +2 -2
- package/dist/esm/ix-empty-state.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +5 -5
- package/dist/esm/ix-event-list-item.entry.js.map +1 -1
- package/dist/esm/ix-event-list.entry.js +3 -3
- package/dist/esm/ix-expanding-search.entry.js +5 -5
- package/dist/esm/ix-filter-chip_2.entry.js +3 -3
- package/dist/esm/ix-flip-tile-content.entry.js +2 -2
- package/dist/esm/ix-flip-tile.entry.js +5 -5
- package/dist/esm/ix-form-field.entry.js +2 -2
- package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
- package/dist/esm/ix-group.entry.js +9 -9
- package/dist/esm/ix-icon-button_2.entry.js +5 -5
- package/dist/esm/ix-icon-toggle-button.entry.js +4 -4
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-key-value-list.entry.js +2 -2
- package/dist/esm/ix-key-value.entry.js +2 -2
- package/dist/esm/ix-key-value.entry.js.map +1 -1
- package/dist/esm/ix-kpi.entry.js +4 -4
- package/dist/esm/ix-link-button.entry.js +4 -4
- package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
- package/dist/esm/ix-map-navigation.entry.js +3 -3
- package/dist/esm/ix-menu-about-item.entry.js +2 -2
- package/dist/esm/ix-menu-about-news.entry.js +5 -5
- package/dist/esm/ix-menu-about.entry.js +3 -3
- package/dist/esm/ix-menu-avatar.entry.js +3 -3
- package/dist/esm/ix-menu-category.entry.js +6 -6
- package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
- package/dist/esm/ix-menu-item.entry.js +4 -4
- package/dist/esm/ix-menu-item.entry.js.map +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +2 -2
- package/dist/esm/ix-menu-settings.entry.js +2 -2
- package/dist/esm/ix-menu.entry.js +12 -12
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +2 -2
- package/dist/esm/ix-modal-content_2.entry.js +3 -3
- package/dist/esm/ix-modal-example.entry.js +2 -2
- package/dist/esm/ix-modal-footer.entry.js +2 -2
- package/dist/esm/ix-modal-loading.entry.js +2 -2
- package/dist/esm/ix-modal.entry.js +5 -5
- package/dist/esm/ix-pagination.entry.js +4 -4
- package/dist/esm/ix-pane-layout.entry.js +2 -2
- package/dist/esm/ix-pane.entry.js +7 -7
- package/dist/esm/ix-pill.entry.js +5 -5
- package/dist/esm/ix-playground-internal.entry.js +2 -2
- package/dist/esm/ix-push-card.entry.js +2 -2
- package/dist/esm/ix-select.entry.js +35 -19
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +8 -8
- package/dist/esm/ix-split-button-item.entry.js +2 -2
- package/dist/esm/ix-split-button.entry.js +2 -2
- package/dist/esm/ix-tab-item_2.entry.js +6 -6
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +5 -5
- package/dist/esm/ix-time-picker.entry.js +4 -4
- package/dist/esm/ix-toast-container.entry.js +3 -3
- package/dist/esm/ix-toast.entry.js +3 -3
- package/dist/esm/ix-toggle-button.entry.js +4 -4
- package/dist/esm/ix-toggle.entry.js +3 -3
- package/dist/esm/ix-tooltip.entry.js +4 -4
- package/dist/esm/ix-tree-item.entry.js +5 -5
- package/dist/esm/ix-tree.entry.js +2 -2
- package/dist/esm/ix-typography.entry.js +1 -1
- package/dist/esm/ix-upload.entry.js +4 -4
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +4 -4
- package/dist/esm/ix-workflow-steps.entry.js +2 -2
- package/dist/esm/{listener-2d09646e.js → listener-4f3baab5.js} +2 -2
- package/dist/esm/{listener-2d09646e.js.map → listener-4f3baab5.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{menu-tabs-fc-60ff0221.js → menu-tabs-fc-d9a7dd06.js} +3 -3
- package/dist/esm/{menu-tabs-fc-60ff0221.js.map → menu-tabs-fc-d9a7dd06.js.map} +1 -1
- package/dist/esm/siemens-ix.js +10 -10
- package/dist/esm/siemens-ix.js.map +1 -1
- package/dist/siemens-ix/{p-fbb851f3.entry.js → p-052340f9.entry.js} +2 -2
- package/dist/siemens-ix/{p-064172e5.entry.js → p-0653a145.entry.js} +2 -2
- package/dist/siemens-ix/{p-064172e5.entry.js.map → p-0653a145.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-193f7439.entry.js → p-0b4e398e.entry.js} +2 -2
- package/dist/siemens-ix/{p-d6cef0ad.js → p-0c8a98cd.js} +2 -2
- package/dist/siemens-ix/p-0d2a6886.entry.js +2 -0
- package/dist/siemens-ix/{p-8d836d6f.entry.js → p-0f7ef743.entry.js} +2 -2
- package/dist/siemens-ix/{p-d4fdbc68.entry.js → p-112069ca.entry.js} +2 -2
- package/dist/siemens-ix/p-112069ca.entry.js.map +1 -0
- package/dist/siemens-ix/{p-d57ab230.entry.js → p-113cc793.entry.js} +2 -2
- package/dist/siemens-ix/{p-442f750a.entry.js → p-14a41c8c.entry.js} +2 -2
- package/dist/siemens-ix/{p-5231ebe9.entry.js → p-15b3c17e.entry.js} +2 -2
- package/dist/siemens-ix/p-16b923e9.entry.js +2 -0
- package/dist/siemens-ix/{p-d6690de0.entry.js → p-1a122c76.entry.js} +2 -2
- package/dist/siemens-ix/{p-072cb3c7.entry.js → p-1cff59db.entry.js} +2 -2
- package/dist/siemens-ix/{p-719a3a11.js → p-1d581190.js} +2 -2
- package/dist/siemens-ix/{p-c50cdde4.js → p-1db6be55.js} +2 -2
- package/dist/siemens-ix/{p-8c126c50.entry.js → p-1f4b8463.entry.js} +2 -2
- package/dist/siemens-ix/{p-a419c1a8.entry.js → p-24a8737a.entry.js} +2 -2
- package/dist/siemens-ix/{p-7a337fdb.entry.js → p-2908cacd.entry.js} +2 -2
- package/dist/siemens-ix/{p-9ad52791.entry.js → p-2946fd70.entry.js} +2 -2
- package/dist/siemens-ix/{p-e14472c8.entry.js → p-29df2e29.entry.js} +2 -2
- package/dist/siemens-ix/{p-d80c0aff.entry.js → p-2c4c03d4.entry.js} +2 -2
- package/dist/siemens-ix/{p-e42a3069.entry.js → p-2ebfd4fd.entry.js} +2 -2
- package/dist/siemens-ix/{p-5f364337.entry.js → p-2ec7f841.entry.js} +2 -2
- package/dist/siemens-ix/{p-5f364337.entry.js.map → p-2ec7f841.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-f7b91326.entry.js → p-309ac3ad.entry.js} +2 -2
- package/dist/siemens-ix/{p-a55105d1.entry.js → p-315f070d.entry.js} +2 -2
- package/dist/siemens-ix/p-32375ddb.entry.js +2 -0
- package/dist/siemens-ix/p-32d4ed3b.entry.js +2 -0
- package/dist/siemens-ix/{p-1befce78.entry.js → p-427676f4.entry.js} +2 -2
- package/dist/siemens-ix/{p-34891297.entry.js → p-4344ba99.entry.js} +2 -2
- package/dist/siemens-ix/{p-34891297.entry.js.map → p-4344ba99.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-da9e539d.entry.js → p-4430117a.entry.js} +2 -2
- package/dist/siemens-ix/{p-da9e539d.entry.js.map → p-4430117a.entry.js.map} +1 -1
- package/dist/siemens-ix/p-44db3646.entry.js +2 -0
- package/dist/siemens-ix/{p-47e3439b.entry.js → p-453fa360.entry.js} +2 -2
- package/dist/siemens-ix/p-4b3facea.entry.js +2 -0
- package/dist/siemens-ix/{p-d72cb8db.entry.js → p-52857629.entry.js} +2 -2
- package/dist/siemens-ix/p-52857629.entry.js.map +1 -0
- package/dist/siemens-ix/{p-ef378dca.entry.js → p-53352bfb.entry.js} +2 -2
- package/dist/siemens-ix/{p-880526bf.entry.js → p-5696bb62.entry.js} +2 -2
- package/dist/siemens-ix/{p-7cffddcf.entry.js → p-5aa0b93c.entry.js} +2 -2
- package/dist/siemens-ix/{p-e5bdd91f.entry.js → p-5c673ae9.entry.js} +2 -2
- package/dist/siemens-ix/{p-ec0662b9.entry.js → p-5f25e7fd.entry.js} +2 -2
- package/dist/siemens-ix/{p-f74280b3.entry.js → p-60c16878.entry.js} +2 -2
- package/dist/siemens-ix/{p-ddd91a5b.entry.js → p-6227e62b.entry.js} +2 -2
- package/dist/siemens-ix/p-68532fa2.js +2 -0
- package/dist/siemens-ix/{p-13141e58.entry.js → p-68644ee1.entry.js} +2 -2
- package/dist/siemens-ix/{p-b4dfda02.entry.js → p-6af4415c.entry.js} +2 -2
- package/dist/siemens-ix/{p-b7a104cd.entry.js → p-6b928634.entry.js} +2 -2
- package/dist/siemens-ix/{p-b7a104cd.entry.js.map → p-6b928634.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-075ec277.entry.js → p-6fd7ecd0.entry.js} +2 -2
- package/dist/siemens-ix/{p-fd68d6ed.entry.js → p-7076210b.entry.js} +2 -2
- package/dist/siemens-ix/{p-8345c55f.entry.js → p-713828ed.entry.js} +2 -2
- package/dist/siemens-ix/{p-e66fb590.entry.js → p-7750e187.entry.js} +2 -2
- package/dist/siemens-ix/{p-42157ecd.entry.js → p-7bfd6cd2.entry.js} +2 -2
- package/dist/siemens-ix/p-7faa148f.entry.js +2 -0
- package/dist/siemens-ix/{p-4cb9cc30.entry.js → p-85423643.entry.js} +2 -2
- package/dist/siemens-ix/{p-29be2b67.entry.js → p-8629db91.entry.js} +2 -2
- package/dist/siemens-ix/p-87e692d9.entry.js +2 -0
- package/dist/siemens-ix/p-882a0233.entry.js +2 -0
- package/dist/siemens-ix/{p-c62d3f80.entry.js → p-8d0758c1.entry.js} +2 -2
- package/dist/siemens-ix/{p-6f006293.entry.js → p-8d599677.entry.js} +2 -2
- package/dist/siemens-ix/{p-4ca27bd7.entry.js → p-90440046.entry.js} +2 -2
- package/dist/siemens-ix/p-92a18c10.entry.js +2 -0
- package/dist/siemens-ix/{p-955fa8ca.entry.js → p-96a3a750.entry.js} +2 -2
- package/dist/siemens-ix/{p-3de94029.entry.js → p-9ebc4fc3.entry.js} +2 -2
- package/dist/siemens-ix/{p-ed693de7.entry.js → p-a0138163.entry.js} +2 -2
- package/dist/siemens-ix/{p-ed693de7.entry.js.map → p-a0138163.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-de186f5c.entry.js → p-a536adcb.entry.js} +2 -2
- package/dist/siemens-ix/{p-5bd709a5.entry.js → p-a8d291fa.entry.js} +2 -2
- package/dist/siemens-ix/{p-5bd709a5.entry.js.map → p-a8d291fa.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-bbacfd34.entry.js → p-ae7a7af4.entry.js} +2 -2
- package/dist/siemens-ix/{p-ed8e1d4f.entry.js → p-af099ca4.entry.js} +2 -2
- package/dist/siemens-ix/p-b3b23af7.entry.js +2 -0
- package/dist/siemens-ix/{p-37c9f425.entry.js → p-b4ce366d.entry.js} +2 -2
- package/dist/siemens-ix/{p-a73efc31.entry.js → p-b663ca16.entry.js} +2 -2
- package/dist/siemens-ix/{p-42d156d6.entry.js → p-b804b8c5.entry.js} +2 -2
- package/dist/siemens-ix/{p-42d156d6.entry.js.map → p-b804b8c5.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-b1c8c6f1.entry.js → p-bea7c748.entry.js} +2 -2
- package/dist/siemens-ix/{p-65a19457.entry.js → p-bf14c60b.entry.js} +2 -2
- package/dist/siemens-ix/p-c1222581.entry.js +2 -0
- package/dist/siemens-ix/{p-a0be36ad.entry.js → p-c1968b80.entry.js} +2 -2
- package/dist/siemens-ix/{p-b7fa2c5a.entry.js → p-c389de85.entry.js} +2 -2
- package/dist/siemens-ix/{p-36f903fb.entry.js → p-c55db6c7.entry.js} +2 -2
- package/dist/siemens-ix/{p-bc49e7ff.entry.js → p-d03df401.entry.js} +2 -2
- package/dist/siemens-ix/{p-dddd4a76.entry.js → p-d14024d3.entry.js} +2 -2
- package/dist/siemens-ix/{p-822fcb6c.entry.js → p-d1f49940.entry.js} +2 -2
- package/dist/siemens-ix/{p-06cba04a.entry.js → p-d95cbd1f.entry.js} +2 -2
- package/dist/siemens-ix/{p-127f6463.entry.js → p-d998415f.entry.js} +2 -2
- package/dist/siemens-ix/p-dcb3e5be.entry.js +2 -0
- package/dist/siemens-ix/{p-f237ec25.entry.js.map → p-dcb3e5be.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-73b070cc.entry.js → p-e30ed20a.entry.js} +2 -2
- package/dist/siemens-ix/{p-d6d48f1d.entry.js → p-e8d3cf35.entry.js} +2 -2
- package/dist/siemens-ix/p-e9a3f58a.entry.js +2 -0
- package/dist/siemens-ix/{p-ea0c0738.entry.js.map → p-e9a3f58a.entry.js.map} +1 -1
- package/dist/siemens-ix/p-eb6268a6.entry.js +2 -0
- package/dist/siemens-ix/{p-010d6f32.entry.js.map → p-eb6268a6.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-c6234df9.entry.js → p-ebb277f0.entry.js} +2 -2
- package/dist/siemens-ix/{p-8b3cb8c0.entry.js → p-f07110c6.entry.js} +2 -2
- package/dist/siemens-ix/{p-0f8a55ee.entry.js → p-f78246bd.entry.js} +2 -2
- package/dist/siemens-ix/p-f87cd962.js +3 -0
- package/dist/siemens-ix/p-f87cd962.js.map +1 -0
- package/dist/siemens-ix/{p-c6902b79.entry.js → p-fa53933d.entry.js} +2 -2
- package/dist/siemens-ix/{p-c6902b79.entry.js.map → p-fa53933d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-07f815fa.entry.js → p-fb2b78f7.entry.js} +2 -2
- package/dist/siemens-ix/{p-644433de.entry.js → p-fb47546b.entry.js} +2 -2
- package/dist/siemens-ix/p-fb4c79c6.entry.js +2 -0
- package/dist/siemens-ix/{p-45139de2.entry.js → p-feac09bc.entry.js} +2 -2
- package/dist/siemens-ix/{p-733c69fa.entry.js → p-ff1ac5b3.entry.js} +2 -2
- 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/tab-item/tab-item.d.ts +1 -1
- package/dist/types/components.d.ts +1 -1
- package/hydrate/index.d.ts +1 -1
- package/hydrate/index.js +38463 -32324
- package/package.json +2 -2
- package/dist/cjs/index-2d325c82.js +0 -2967
- package/dist/cjs/index-2d325c82.js.map +0 -1
- package/dist/esm/index-06024ae7.js +0 -2935
- package/dist/esm/index-06024ae7.js.map +0 -1
- package/dist/siemens-ix/p-010d6f32.entry.js +0 -2
- package/dist/siemens-ix/p-31af865e.entry.js +0 -2
- package/dist/siemens-ix/p-5c367ce7.entry.js +0 -2
- package/dist/siemens-ix/p-6a4545be.entry.js +0 -2
- package/dist/siemens-ix/p-6c368289.entry.js +0 -2
- package/dist/siemens-ix/p-77b15444.entry.js +0 -2
- package/dist/siemens-ix/p-7cb1dcf0.entry.js +0 -2
- package/dist/siemens-ix/p-867ce59b.entry.js +0 -2
- package/dist/siemens-ix/p-9d0c9f9f.entry.js +0 -2
- package/dist/siemens-ix/p-a61b35a8.entry.js +0 -2
- package/dist/siemens-ix/p-ac552df3.js +0 -3
- package/dist/siemens-ix/p-ac552df3.js.map +0 -1
- package/dist/siemens-ix/p-af2ee1e2.entry.js +0 -2
- package/dist/siemens-ix/p-b331622d.entry.js +0 -2
- package/dist/siemens-ix/p-ba68b58c.entry.js +0 -2
- package/dist/siemens-ix/p-d4fdbc68.entry.js.map +0 -1
- package/dist/siemens-ix/p-d6116286.entry.js +0 -2
- package/dist/siemens-ix/p-d72cb8db.entry.js.map +0 -1
- package/dist/siemens-ix/p-ea0c0738.entry.js +0 -2
- package/dist/siemens-ix/p-f237ec25.entry.js +0 -2
- package/dist/siemens-ix/p-fa3283ea.js +0 -2
- /package/dist/siemens-ix/{p-fbb851f3.entry.js.map → p-052340f9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-193f7439.entry.js.map → p-0b4e398e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d6cef0ad.js.map → p-0c8a98cd.js.map} +0 -0
- /package/dist/siemens-ix/{p-867ce59b.entry.js.map → p-0d2a6886.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8d836d6f.entry.js.map → p-0f7ef743.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d57ab230.entry.js.map → p-113cc793.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-442f750a.entry.js.map → p-14a41c8c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5231ebe9.entry.js.map → p-15b3c17e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7cb1dcf0.entry.js.map → p-16b923e9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d6690de0.entry.js.map → p-1a122c76.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-072cb3c7.entry.js.map → p-1cff59db.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-719a3a11.js.map → p-1d581190.js.map} +0 -0
- /package/dist/siemens-ix/{p-c50cdde4.js.map → p-1db6be55.js.map} +0 -0
- /package/dist/siemens-ix/{p-8c126c50.entry.js.map → p-1f4b8463.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a419c1a8.entry.js.map → p-24a8737a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7a337fdb.entry.js.map → p-2908cacd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9ad52791.entry.js.map → p-2946fd70.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e14472c8.entry.js.map → p-29df2e29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d80c0aff.entry.js.map → p-2c4c03d4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e42a3069.entry.js.map → p-2ebfd4fd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f7b91326.entry.js.map → p-309ac3ad.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a55105d1.entry.js.map → p-315f070d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a61b35a8.entry.js.map → p-32375ddb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b331622d.entry.js.map → p-32d4ed3b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1befce78.entry.js.map → p-427676f4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af2ee1e2.entry.js.map → p-44db3646.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-47e3439b.entry.js.map → p-453fa360.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9d0c9f9f.entry.js.map → p-4b3facea.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ef378dca.entry.js.map → p-53352bfb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-880526bf.entry.js.map → p-5696bb62.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7cffddcf.entry.js.map → p-5aa0b93c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e5bdd91f.entry.js.map → p-5c673ae9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ec0662b9.entry.js.map → p-5f25e7fd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f74280b3.entry.js.map → p-60c16878.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ddd91a5b.entry.js.map → p-6227e62b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fa3283ea.js.map → p-68532fa2.js.map} +0 -0
- /package/dist/siemens-ix/{p-13141e58.entry.js.map → p-68644ee1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b4dfda02.entry.js.map → p-6af4415c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-075ec277.entry.js.map → p-6fd7ecd0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fd68d6ed.entry.js.map → p-7076210b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8345c55f.entry.js.map → p-713828ed.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e66fb590.entry.js.map → p-7750e187.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-42157ecd.entry.js.map → p-7bfd6cd2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ba68b58c.entry.js.map → p-7faa148f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4cb9cc30.entry.js.map → p-85423643.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-29be2b67.entry.js.map → p-8629db91.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6a4545be.entry.js.map → p-87e692d9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-31af865e.entry.js.map → p-882a0233.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c62d3f80.entry.js.map → p-8d0758c1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6f006293.entry.js.map → p-8d599677.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4ca27bd7.entry.js.map → p-90440046.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d6116286.entry.js.map → p-92a18c10.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-955fa8ca.entry.js.map → p-96a3a750.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3de94029.entry.js.map → p-9ebc4fc3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-de186f5c.entry.js.map → p-a536adcb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bbacfd34.entry.js.map → p-ae7a7af4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ed8e1d4f.entry.js.map → p-af099ca4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5c367ce7.entry.js.map → p-b3b23af7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-37c9f425.entry.js.map → p-b4ce366d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a73efc31.entry.js.map → p-b663ca16.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b1c8c6f1.entry.js.map → p-bea7c748.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-65a19457.entry.js.map → p-bf14c60b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6c368289.entry.js.map → p-c1222581.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a0be36ad.entry.js.map → p-c1968b80.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b7fa2c5a.entry.js.map → p-c389de85.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-36f903fb.entry.js.map → p-c55db6c7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bc49e7ff.entry.js.map → p-d03df401.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dddd4a76.entry.js.map → p-d14024d3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-822fcb6c.entry.js.map → p-d1f49940.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-06cba04a.entry.js.map → p-d95cbd1f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-127f6463.entry.js.map → p-d998415f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-73b070cc.entry.js.map → p-e30ed20a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d6d48f1d.entry.js.map → p-e8d3cf35.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c6234df9.entry.js.map → p-ebb277f0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8b3cb8c0.entry.js.map → p-f07110c6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0f8a55ee.entry.js.map → p-f78246bd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-07f815fa.entry.js.map → p-fb2b78f7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-644433de.entry.js.map → p-fb47546b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-77b15444.entry.js.map → p-fb4c79c6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-45139de2.entry.js.map → p-feac09bc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-733c69fa.entry.js.map → p-ff1ac5b3.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hasDropdownItemWrapperImplemented","item","getDropdownItemElement","undefined","DropdownController","constructor","this","dropdowns","Map","submenuIds","isWindowListenerActive","connected","dropdown","addOverlayListeners","set","getId","discoverAllSubmenus","discoverSubmenus","disconnected","delete","forEach","discoverSubmenu","present","isPresent","willPresent","getAssignedSubmenuIds","dismissChildren","uid","childIds","id","dismiss","get","willDismiss","dismissAll","ignoreBehaviorForIds","ignoreRelatedDropdowns","preventClosing","closeBehavior","shouldIgnore","includes","path","buildComposedPath","Set","length","skipRelatedDropdown","has","dismissOthers","add","pathIncludesTrigger","eventTargets","eventTarget","HTMLElement","hasAttribute","pathIncludesDropdown","find","element","tagName","ruleKey","Object","keys","key","window","addEventListener","event","hasTrigger","composedPath","hasDropdown","addDisposableEventListener","eventType","callback","removeEventListener","dropdownController","dropdownCss","IxDropdownStyle0","sequenceId","Dropdown","autoUpdateCleanup","localUId","assignedSubmenu","focusDropdownItemBind","focusDropdownItem","bind","itemObserver","MutationObserver","arrowFocusController","items","dropdownItems","connectedCallback","trigger","registerListener","cacheSubmenuId","stopImmediatePropagation","preventDefault","detail","indexOf","push","disconnectedCallback","disposeClickListener","disposeKeyListener","show","defaultPrevented","showChanged","emit","Array","from","hostElement","querySelectorAll","slotElement","shadowRoot","querySelector","addEventListenersFor","_a","call","_b","toggleController","triggerElement","_c","setAttribute","dispatchEvent","CustomEvent","bubbles","composed","cancelable","registerKeyListener","document","activeElement","setTimeout","resolveElement","el","findElement","checkForSubmenuAnchor","dropdownItem","isSubMenu","style","zIndex","Promise","resolve","selector","observer","disconnect","observe","body","childList","subtree","changedShow","newShow","anchorElement","anchor","applyDropdownPosition","ArrowFocusController","dropdownRef","changedTrigger","newTriggerValue","isAnchorSubmenu","closest","isSubmenu","positionConfig","strategy","positioningStrategy","middleware","suppressAutomaticPlacement","flip","fallbackStrategy","placement","inline","shift","offset","autoUpdate","async","computeResponse","computePosition","assign","top","left","transform","Math","round","x","y","overwriteDropdownStyle","overwriteStyle","triggerRef","ancestorResize","ancestorScroll","elementResize","index","requestAnimationFrame","focus","componentDidLoad","componentDidRender","isTriggerElement","onDropdownClick","target","ignoreRelatedSubmenu","updatePosition","render","h","Host","ref","class","overflow","margin","minWidth","position","role","onClick","display","header"],"sources":["src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\n","/*\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@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["hasDropdownItemWrapperImplemented","item","getDropdownItemElement","undefined","DropdownController","constructor","this","dropdowns","Map","submenuIds","isWindowListenerActive","connected","dropdown","addOverlayListeners","set","getId","discoverAllSubmenus","discoverSubmenus","disconnected","delete","forEach","discoverSubmenu","present","isPresent","willPresent","getAssignedSubmenuIds","dismissChildren","uid","childIds","id","dismiss","get","willDismiss","dismissAll","ignoreBehaviorForIds","ignoreRelatedDropdowns","preventClosing","closeBehavior","shouldIgnore","includes","path","buildComposedPath","Set","length","skipRelatedDropdown","has","dismissOthers","add","pathIncludesTrigger","eventTargets","eventTarget","HTMLElement","hasAttribute","pathIncludesDropdown","find","element","tagName","ruleKey","Object","keys","key","window","addEventListener","event","hasTrigger","composedPath","hasDropdown","addDisposableEventListener","eventType","callback","removeEventListener","dropdownController","dropdownCss","IxDropdownStyle0","sequenceId","Dropdown","autoUpdateCleanup","localUId","assignedSubmenu","focusDropdownItemBind","focusDropdownItem","bind","itemObserver","MutationObserver","arrowFocusController","items","dropdownItems","connectedCallback","trigger","registerListener","cacheSubmenuId","stopImmediatePropagation","preventDefault","detail","indexOf","push","disconnectedCallback","disposeClickListener","disposeKeyListener","show","defaultPrevented","showChanged","emit","Array","from","hostElement","querySelectorAll","slotElement","shadowRoot","querySelector","addEventListenersFor","_a","call","_b","toggleController","triggerElement","_c","setAttribute","dispatchEvent","CustomEvent","bubbles","composed","cancelable","registerKeyListener","document","activeElement","setTimeout","resolveElement","el","findElement","checkForSubmenuAnchor","dropdownItem","isSubMenu","style","zIndex","Promise","resolve","selector","observer","disconnect","observe","body","childList","subtree","changedShow","newShow","anchorElement","anchor","applyDropdownPosition","ArrowFocusController","dropdownRef","changedTrigger","newTriggerValue","isAnchorSubmenu","closest","isSubmenu","positionConfig","strategy","positioningStrategy","middleware","suppressAutomaticPlacement","flip","fallbackStrategy","placement","inline","shift","offset","autoUpdate","async","computeResponse","computePosition","assign","top","left","transform","Math","round","x","y","overwriteDropdownStyle","overwriteStyle","triggerRef","ancestorResize","ancestorScroll","elementResize","index","requestAnimationFrame","focus","componentDidLoad","componentDidRender","isTriggerElement","onDropdownClick","target","ignoreRelatedSubmenu","updatePosition","render","h","Host","ref","class","overflow","margin","minWidth","position","role","onClick","display","header"],"sources":["src/components/dropdown/dropdown-controller.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\n","/*\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@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r,h as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r,h as e,H as o,g as t}from"./p-f87cd962.js";import"./p-46a6cd9d.js";import{d as a}from"./p-6e6efb4c.js";import"./p-c4749812.js";const i=":host{display:block}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .content{padding:2rem;padding-right:0}:host .content-apps{display:flex;position:relative;flex-wrap:wrap;justify-content:space-evenly;max-height:50vh;margin-right:0.25rem;gap:1.5rem}:host .loading{display:flex;flex-direction:row;align-items:center}:host .loading ix-spinner{margin-right:1rem}:host .AppEntry{all:unset;display:flex;flex-direction:row;align-items:center;gap:1rem;padding:0.5rem;flex:1 1 45%;cursor:pointer;border:0.0625rem solid transparent}:host .AppEntry.Selected{background-color:var(--theme-color-ghost--selected);border:var(--theme-dynamic-bdr-1)}:host .AppEntry:not(.disabled):not(:disabled).hover,:host .AppEntry:not(.disabled):not(:disabled):hover{background-color:var(--theme-ghost--background--hover)}:host .AppEntry:not(.disabled):not(:disabled).active,:host .AppEntry:not(.disabled):not(:disabled):active{background-color:var(--theme-ghost--background--active)}:host .AppEntry:focus-visible{border:1px solid var(--theme-color-focus-bdr)}:host .AppName{display:flex;flex-direction:column}:host .AppName ix-icon{margin-left:1rem}:host .AppIcon{width:3rem;height:3rem;border-radius:0.25rem}";const s=i;function n(r){function o(r){if(r!=="_blank"&&r!=="_parent"&&r!=="_self"&&r!=="_top"){return true}if(r==="_blank"){return true}return false}return e("button",{class:{AppEntry:true,Selected:r.selected},onClick:()=>{a(r.host);window.open(r.url,r.target)}},e("div",null,e("img",{class:"AppIcon",src:r.iconSrc})),e("div",{class:"AppName"},e("ix-typography",{format:"h4"},r.name,o(r.target)&&e("ix-icon",{size:"12",name:"open-external",color:"color-soft-text"})),e("ix-typography",{format:"label-sm",color:"soft"},r.description)))}const c=class{constructor(e){r(this,e);this.config=undefined}componentWillLoad(){if(!this.config){throw Error("ApplicationConfig not provided")}}render(){var r,t,a,i;return e(o,{key:"2c9a4d11f697563924effefae0ca86ca826fa9c1"},e("ix-modal-header",{key:"09586fc6d884b175ea95e8f4f42e9017c2874ef4",icon:"apps"},((r=this.config)===null||r===void 0?void 0:r.i18nAppSwitch)||"Switch to application"),e("ix-modal-content",{key:"44be3f676830e44c4450ac9a85280829d2570004",class:"content"},e("div",{key:"d15e8b91de03f40013cfe94cde3159619b8ee8cc",class:"content-apps"},(!this.config||((t=this.config)===null||t===void 0?void 0:t.apps.length)===0)&&e("div",{key:"5d8cc548c1c7adaa83c89ac329d04be5e6f7a59c",class:"loading"},e("ix-spinner",{key:"80c9c4adb4546028848d2b47929527b613152651",size:"medium",variant:"primary"}),e("span",{key:"c06fc0f909d940df03402e360e2a3d64bd9decc4"},((a=this.config)===null||a===void 0?void 0:a.i18nLoadingApps)||"Loading available applications...")),(i=this.config)===null||i===void 0?void 0:i.apps.map((r=>{var o;return e(n,{host:this.hostElement,name:r.name,description:r.description,iconSrc:r.iconSrc,target:r.target,url:r.url,selected:r.id===((o=this.config)===null||o===void 0?void 0:o.currentAppId)})})))))}get hostElement(){return t(this)}};c.style=s;export{c as ix_application_switch_modal};
|
|
2
|
+
//# sourceMappingURL=p-4430117a.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applicationSwitchModalCss","IxApplicationSwitchModalStyle0","ApplicationItem","props","isExternal","target","h","class","AppEntry","Selected","selected","onClick","dismissModal","host","window","open","url","src","iconSrc","format","name","size","color","description","ApplicationSwitchModal","componentWillLoad","this","config","Error","render","Host","key","icon","_a","i18nAppSwitch","_b","apps","length","variant","_c","i18nLoadingApps","_d","map","appEntry","hostElement","id","currentAppId"],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.tsx"],"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@import 'mixins/shadow-dom/component';\n@import 'mixins/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAA4B,82DAClC,MAAAC,EAAeD,ECef,SAASE,EAAgBC,GASvB,SAASC,EAAWC,GAClB,GACEA,IAAW,UACXA,IAAW,WACXA,IAAW,SACXA,IAAW,OACX,CAGA,OAAO,I,CAGT,GAAIA,IAAW,SAAU,CACvB,OAAO,I,CAGT,OAAO,K,CAGT,OACEC,EAAA,UACEC,MAAO,CACLC,SAAU,KACVC,SAAUN,EAAMO,UAElBC,QAAS,KACPC,EAAaT,EAAMU,MACnBC,OAAOC,KAAKZ,EAAMa,IAAKb,EAAME,OAAO,GAGtCC,EAAA,WACEA,EAAA,OAAKC,MAAM,UAAUU,IAAKd,EAAMe,WAElCZ,EAAA,OAAKC,MAAM,WACTD,EAAA,iBAAea,OAAO,MACnBhB,EAAMiB,KACNhB,EAAWD,EAAME,SAChBC,EAAA,WACEe,KAAK,KACLD,KAAK,gBACLE,MAAM,qBAIZhB,EAAA,iBAAea,OAAO,WAAWG,MAAM,QACpCnB,EAAMoB,cAKjB,C,MAQaC,EAAsB,M,+CAMjC,iBAAAC,GACE,IAAKC,KAAKC,OAAQ,CAChB,MAAMC,MAAM,iC,EAIhB,MAAAC,G,YACE,OACEvB,EAACwB,EAAI,CAAAC,IAAA,4CACHzB,EAAA,mBAAAyB,IAAA,2CAAiBC,KAAK,UACnBC,EAAAP,KAAKC,UAAM,MAAAM,SAAA,SAAAA,EAAEC,gBAAiB,yBAEjC5B,EAAA,oBAAAyB,IAAA,2CAAkBxB,MAAM,WACtBD,EAAA,OAAAyB,IAAA,2CAAKxB,MAAM,kBACNmB,KAAKC,UAAUQ,EAAAT,KAAKC,UAAM,MAAAQ,SAAA,SAAAA,EAAEC,KAAKC,UAAW,IAC7C/B,EAAA,
|
|
1
|
+
{"version":3,"names":["applicationSwitchModalCss","IxApplicationSwitchModalStyle0","ApplicationItem","props","isExternal","target","h","class","AppEntry","Selected","selected","onClick","dismissModal","host","window","open","url","src","iconSrc","format","name","size","color","description","ApplicationSwitchModal","componentWillLoad","this","config","Error","render","Host","key","icon","_a","i18nAppSwitch","_b","apps","length","variant","_c","i18nLoadingApps","_d","map","appEntry","hostElement","id","currentAppId"],"sources":["src/components/application-header/application-switch-modal/application-switch-modal.scss?tag=ix-application-switch-modal&encapsulation=shadow","src/components/application-header/application-switch-modal/application-switch-modal.tsx"],"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@import 'mixins/shadow-dom/component';\n@import 'mixins/hover';\n\n:host {\n @include ix-component;\n display: block;\n\n .content {\n padding: 2rem;\n padding-right: 0;\n }\n\n .content-apps {\n display: flex;\n position: relative;\n flex-wrap: wrap;\n justify-content: space-evenly;\n max-height: 50vh;\n margin-right: 0.25rem;\n gap: 1.5rem;\n }\n\n .loading {\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ix-spinner {\n margin-right: 1rem;\n }\n }\n}\n\n:host {\n .AppEntry {\n all: unset;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n padding: 0.5rem;\n flex: 1 1 calc(45%);\n cursor: pointer;\n border: 0.0625rem solid transparent;\n }\n\n .AppEntry.Selected {\n background-color: var(--theme-color-ghost--selected);\n border: var(--theme-dynamic-bdr-1);\n }\n\n .AppEntry {\n @include ghost-hover-pressed;\n }\n\n .AppEntry:focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n }\n\n .AppName {\n display: flex;\n flex-direction: column;\n }\n\n .AppName ix-icon {\n margin-left: 1rem;\n }\n\n .AppIcon {\n width: 3rem;\n height: 3rem;\n border-radius: 0.25rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n AppSwitchConfiguration,\n AppSwitchConfigurationTarget,\n} from '../../utils/application-layout/context';\nimport { dismissModal } from '../../utils/modal';\n\nfunction ApplicationItem(props: {\n host: HTMLIxApplicationSwitchModalElement;\n name: string;\n description: string;\n iconSrc: string;\n url: string;\n target: AppSwitchConfigurationTarget;\n selected: boolean;\n}) {\n function isExternal(target: AppSwitchConfigurationTarget) {\n if (\n target !== '_blank' &&\n target !== '_parent' &&\n target !== '_self' &&\n target !== '_top'\n ) {\n // Check if its one of the target keywords\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a?retiredLocale=de#target\n return true;\n }\n\n if (target === '_blank') {\n return true;\n }\n\n return false;\n }\n\n return (\n <button\n class={{\n AppEntry: true,\n Selected: props.selected,\n }}\n onClick={() => {\n dismissModal(props.host);\n window.open(props.url, props.target);\n }}\n >\n <div>\n <img class=\"AppIcon\" src={props.iconSrc}></img>\n </div>\n <div class=\"AppName\">\n <ix-typography format=\"h4\">\n {props.name}\n {isExternal(props.target) && (\n <ix-icon\n size=\"12\"\n name=\"open-external\"\n color=\"color-soft-text\"\n ></ix-icon>\n )}\n </ix-typography>\n <ix-typography format=\"label-sm\" color=\"soft\">\n {props.description}\n </ix-typography>\n </div>\n </button>\n );\n}\n\n/** @internal */\n@Component({\n tag: 'ix-application-switch-modal',\n styleUrl: 'application-switch-modal.scss',\n shadow: true,\n})\nexport class ApplicationSwitchModal {\n @Element() hostElement!: HTMLIxApplicationSwitchModalElement;\n\n /** @internal */\n @Prop() config: AppSwitchConfiguration;\n\n componentWillLoad() {\n if (!this.config) {\n throw Error('ApplicationConfig not provided');\n }\n }\n\n render() {\n return (\n <Host>\n <ix-modal-header icon=\"apps\">\n {this.config?.i18nAppSwitch || 'Switch to application'}\n </ix-modal-header>\n <ix-modal-content class=\"content\">\n <div class=\"content-apps\">\n {(!this.config || this.config?.apps.length === 0) && (\n <div class=\"loading\">\n <ix-spinner size=\"medium\" variant=\"primary\"></ix-spinner>\n <span>\n {this.config?.i18nLoadingApps ||\n 'Loading available applications...'}\n </span>\n </div>\n )}\n {this.config?.apps.map((appEntry) => (\n <ApplicationItem\n host={this.hostElement}\n name={appEntry.name}\n description={appEntry.description}\n iconSrc={appEntry.iconSrc}\n target={appEntry.target}\n url={appEntry.url}\n selected={appEntry.id === this.config?.currentAppId}\n ></ApplicationItem>\n ))}\n </div>\n </ix-modal-content>\n </Host>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAA4B,82DAClC,MAAAC,EAAeD,ECef,SAASE,EAAgBC,GASvB,SAASC,EAAWC,GAClB,GACEA,IAAW,UACXA,IAAW,WACXA,IAAW,SACXA,IAAW,OACX,CAGA,OAAO,I,CAGT,GAAIA,IAAW,SAAU,CACvB,OAAO,I,CAGT,OAAO,K,CAGT,OACEC,EAAA,UACEC,MAAO,CACLC,SAAU,KACVC,SAAUN,EAAMO,UAElBC,QAAS,KACPC,EAAaT,EAAMU,MACnBC,OAAOC,KAAKZ,EAAMa,IAAKb,EAAME,OAAO,GAGtCC,EAAA,WACEA,EAAA,OAAKC,MAAM,UAAUU,IAAKd,EAAMe,WAElCZ,EAAA,OAAKC,MAAM,WACTD,EAAA,iBAAea,OAAO,MACnBhB,EAAMiB,KACNhB,EAAWD,EAAME,SAChBC,EAAA,WACEe,KAAK,KACLD,KAAK,gBACLE,MAAM,qBAIZhB,EAAA,iBAAea,OAAO,WAAWG,MAAM,QACpCnB,EAAMoB,cAKjB,C,MAQaC,EAAsB,M,+CAMjC,iBAAAC,GACE,IAAKC,KAAKC,OAAQ,CAChB,MAAMC,MAAM,iC,EAIhB,MAAAC,G,YACE,OACEvB,EAACwB,EAAI,CAAAC,IAAA,4CACHzB,EAAA,mBAAAyB,IAAA,2CAAiBC,KAAK,UACnBC,EAAAP,KAAKC,UAAM,MAAAM,SAAA,SAAAA,EAAEC,gBAAiB,yBAEjC5B,EAAA,oBAAAyB,IAAA,2CAAkBxB,MAAM,WACtBD,EAAA,OAAAyB,IAAA,2CAAKxB,MAAM,kBACNmB,KAAKC,UAAUQ,EAAAT,KAAKC,UAAM,MAAAQ,SAAA,SAAAA,EAAEC,KAAKC,UAAW,IAC7C/B,EAAA,OAAAyB,IAAA,2CAAKxB,MAAM,WACTD,EAAA,cAAAyB,IAAA,2CAAYV,KAAK,SAASiB,QAAQ,YAClChC,EAAA,QAAAyB,IAAA,8CACGQ,EAAAb,KAAKC,UAAM,MAAAY,SAAA,SAAAA,EAAEC,kBACZ,uCAIPC,EAAAf,KAAKC,UAAM,MAAAc,SAAA,S,EAAEL,KAAKM,KAAKC,I,MAAa,OACnCrC,EAACJ,EAAe,CACdW,KAAMa,KAAKkB,YACXxB,KAAMuB,EAASvB,KACfG,YAAaoB,EAASpB,YACtBL,QAASyB,EAASzB,QAClBb,OAAQsC,EAAStC,OACjBW,IAAK2B,EAAS3B,IACdN,SAAUiC,EAASE,OAAOZ,EAAAP,KAAKC,UAAM,MAAAM,SAAA,SAAAA,EAAEa,eACtB,M"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as s,h as t,H as o}from"./p-f87cd962.js";const l=":host{display:block}";const c=l;const e=class{constructor(t){s(this,t);this.contentVisible=false}render(){return t(o,{key:"5168ef23e528f9bb5a8408a6df292bd2bbadd1fc"},this.contentVisible?t("slot",null):null)}};e.style=c;export{e as ix_flip_tile_content};
|
|
2
|
+
//# sourceMappingURL=p-44db3646.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as o,c as e,h as t,H as n,g as r}from"./p-ac552df3.js";const i=':host{display:inline-block;position:relative;height:2rem;max-height:2rem;margin-left:0.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host(.inactive){pointer-events:none}.container{display:inline-flex;width:inherit;box-sizing:border-box;position:relative;align-items:center;border-radius:100px;padding:0.5rem;height:2rem;max-height:2rem;cursor:pointer}.container .with-icon{margin-right:0.25rem}.container .hidden{display:none;width:0;margin-right:0}.container .close-button-container{display:inline-flex;margin-left:auto;padding-left:0.5rem}.container .slot-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.outline.icon{padding-left:calc(0.75rem - 1px)}.container.outline:not(.icon){padding-left:calc(0.5rem - 1px)}.container.outline.closable:not(.inactive){padding-right:calc(0.25rem - 1px)}.container.outline.closable.inactive,.container.outline:not(.closable){padding-right:calc(0.5rem - 1px)}.container.outline.icon:not(.closable){padding-right:calc(0.75rem - 1px)}.container:not(.outline).icon{padding-left:0.75rem}.container:not(.outline):not(.icon){padding-left:0.5rem}.container:not(.outline).closable:not(.inactive){padding-right:0.25rem}.container:not(.outline).closable.inactive{padding-right:0.5rem}.container:not(.outline):not(.closable).icon{padding-right:0.75rem}.container:not(.outline):not(.closable):not(.icon){padding-right:0.5rem}.container.primary{background-color:var(--theme-color-primary);color:var(--theme-chip-primary--color)}.container.primary .close-button{color:var(--theme-chip-primary--color);--ix-icon-button-color:var(--theme-chip-primary--color);pointer-events:auto}.container.primary:hover{background-color:var(--theme-chip-primary--background--hover)}.container.primary:active{background-color:var(--theme-chip-primary--background--active)}.container.primary:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.primary.outline{color:var(--theme-chip-primary-outline--color);background-color:transparent;border:solid 1px var(--theme-chip-primary-outline--border-color)}.container.primary.outline .close-button{color:var(--theme-chip-primary-outline--color);--ix-icon-button-color:var(--theme-chip-primary-outline--color)}.container.primary.outline:hover{background-color:var(--theme-chip-primary-outline--background--hover)}.container.primary.outline:active{background-color:var(--theme-chip-primary-outline--background--active)}.container.outline{border-width:1px;border-style:solid}.container.alarm{color:var(--theme-color-alarm--contrast)}.container.alarm:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.alarm.active::after,.container.alarm:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.alarm:not(.outline){background-color:var(--theme-color-alarm)}.container.alarm:not(.outline) .close-button{color:var(--theme-color-alarm--contrast);--ix-icon-button-color:var(--theme-color-alarm--contrast)}.container.alarm:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.alarm:not(.outline).active::after,.container.alarm:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.alarm.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-alarm)}.container.alarm.outline:hover::after{display:none}.container.alarm.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.alarm.outline.active::after,.container.alarm.outline:active::after{display:none}.container.alarm.outline.active,.container.alarm.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.alarm:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.critical{color:var(--theme-color-critical--contrast)}.container.critical:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.critical.active::after,.container.critical:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.critical:not(.outline){background-color:var(--theme-color-critical)}.container.critical:not(.outline) .close-button{color:var(--theme-color-critical--contrast);--ix-icon-button-color:var(--theme-color-critical--contrast)}.container.critical:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.critical:not(.outline).active::after,.container.critical:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.critical.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-critical)}.container.critical.outline:hover::after{display:none}.container.critical.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.critical.outline.active::after,.container.critical.outline:active::after{display:none}.container.critical.outline.active,.container.critical.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.critical:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.warning{color:var(--theme-color-warning--contrast)}.container.warning:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.warning.active::after,.container.warning:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.warning:not(.outline){background-color:var(--theme-color-warning)}.container.warning:not(.outline) .close-button{color:var(--theme-color-warning--contrast);--ix-icon-button-color:var(--theme-color-warning--contrast)}.container.warning:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.warning:not(.outline).active::after,.container.warning:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.warning.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-warning)}.container.warning.outline:hover::after{display:none}.container.warning.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.warning.outline.active::after,.container.warning.outline:active::after{display:none}.container.warning.outline.active,.container.warning.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.warning:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.info{color:var(--theme-color-info--contrast)}.container.info:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.info.active::after,.container.info:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.info:not(.outline){background-color:var(--theme-color-info)}.container.info:not(.outline) .close-button{color:var(--theme-color-info--contrast);--ix-icon-button-color:var(--theme-color-info--contrast)}.container.info:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.info:not(.outline).active::after,.container.info:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.info.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-info)}.container.info.outline:hover::after{display:none}.container.info.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.info.outline.active::after,.container.info.outline:active::after{display:none}.container.info.outline.active,.container.info.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.info:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.neutral{color:var(--theme-color-neutral--contrast)}.container.neutral:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.neutral.active::after,.container.neutral:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.neutral:not(.outline){background-color:var(--theme-color-neutral)}.container.neutral:not(.outline) .close-button{color:var(--theme-color-neutral--contrast);--ix-icon-button-color:var(--theme-color-neutral--contrast)}.container.neutral:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.neutral:not(.outline).active::after,.container.neutral:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.neutral.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-neutral)}.container.neutral.outline:hover::after{display:none}.container.neutral.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.neutral.outline.active::after,.container.neutral.outline:active::after{display:none}.container.neutral.outline.active,.container.neutral.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.neutral:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.success{color:var(--theme-color-success--contrast)}.container.success:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.success.active::after,.container.success:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.success:not(.outline){background-color:var(--theme-color-success)}.container.success:not(.outline) .close-button{color:var(--theme-color-success--contrast);--ix-icon-button-color:var(--theme-color-success--contrast)}.container.success:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.success:not(.outline).active::after,.container.success:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.success.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-success)}.container.success.outline:hover::after{display:none}.container.success.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.success.outline.active::after,.container.success.outline:active::after{display:none}.container.success.outline.active,.container.success.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.success:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}';const a=i;const c=class{constructor(t){o(this,t);this.closeChip=e(this,"closeChip",7);this.variant="primary";this.active=true;this.closable=false;this.icon=undefined;this.background=undefined;this.color=undefined;this.chipColor=undefined;this.outline=false}getCloseButton(){var o;return t("div",{class:"close-button-container"},t("ix-icon-button",{type:"button",variant:"secondary",icon:"close-small",class:"close-button",oval:true,size:"16",style:this.variant==="custom"?{color:(o=this.chipColor)!==null&&o!==void 0?o:this.color}:{},ghost:true,onClick:o=>{this.closeChip.emit(o);o.stopPropagation()}}))}render(){var o,e;const r=this.active===false;let i={};if(this.variant==="custom"){i={color:(o=this.chipColor)!==null&&o!==void 0?o:this.color,[this.outline?"borderColor":"backgroundColor"]:this.background}}return t(n,{key:"bc9150f9d71eb0d048c778e21ea5afb39a1dc3f9",tabIndex:"-1",title:this.el.textContent,style:this.variant==="custom"?{"--ix-icon-button-color":(e=this.chipColor)!==null&&e!==void 0?e:this.color}:{}},t("div",{key:"82c39bab0cff12de6c830360ad06281993e4dac6",style:Object.assign({},i),class:{container:true,outline:this.outline,inactive:r,alarm:this.variant==="alarm",critical:this.variant==="critical",info:this.variant==="info",neutral:this.variant==="neutral",primary:this.variant==="primary",success:this.variant==="success",warning:this.variant==="warning",custom:this.variant==="custom",closable:this.closable,icon:!!this.icon}},t("ix-icon",{key:"359b67a50b9c3b438fc7884b7b6dab7027a284c4",class:{"with-icon":true,hidden:!this.icon},name:this.icon,size:"24"}),t("span",{key:"800965a9f8c4013009ab1345eed7fea6cb6ae1f2",class:"slot-container"},t("slot",{key:"a03c010efbb304e6e70ddb990fb1e91ffa667e0b"})),r===false&&this.closable?this.getCloseButton():null))}get el(){return r(this)}};c.style=a;export{c as ix_chip};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as o,c as e,h as t,H as n,g as r}from"./p-f87cd962.js";const i=':host{display:inline-block;position:relative;height:2rem;max-height:2rem;margin-left:0.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host(.inactive){pointer-events:none}.container{display:inline-flex;width:inherit;box-sizing:border-box;position:relative;align-items:center;border-radius:100px;padding:0.5rem;height:2rem;max-height:2rem;cursor:pointer}.container .with-icon{margin-right:0.25rem}.container .hidden{display:none;width:0;margin-right:0}.container .close-button-container{display:inline-flex;margin-left:auto;padding-left:0.5rem}.container .slot-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.outline.icon{padding-left:calc(0.75rem - 1px)}.container.outline:not(.icon){padding-left:calc(0.5rem - 1px)}.container.outline.closable:not(.inactive){padding-right:calc(0.25rem - 1px)}.container.outline.closable.inactive,.container.outline:not(.closable){padding-right:calc(0.5rem - 1px)}.container.outline.icon:not(.closable){padding-right:calc(0.75rem - 1px)}.container:not(.outline).icon{padding-left:0.75rem}.container:not(.outline):not(.icon){padding-left:0.5rem}.container:not(.outline).closable:not(.inactive){padding-right:0.25rem}.container:not(.outline).closable.inactive{padding-right:0.5rem}.container:not(.outline):not(.closable).icon{padding-right:0.75rem}.container:not(.outline):not(.closable):not(.icon){padding-right:0.5rem}.container.primary{background-color:var(--theme-color-primary);color:var(--theme-chip-primary--color)}.container.primary .close-button{color:var(--theme-chip-primary--color);--ix-icon-button-color:var(--theme-chip-primary--color);pointer-events:auto}.container.primary:hover{background-color:var(--theme-chip-primary--background--hover)}.container.primary:active{background-color:var(--theme-chip-primary--background--active)}.container.primary:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.primary.outline{color:var(--theme-chip-primary-outline--color);background-color:transparent;border:solid 1px var(--theme-chip-primary-outline--border-color)}.container.primary.outline .close-button{color:var(--theme-chip-primary-outline--color);--ix-icon-button-color:var(--theme-chip-primary-outline--color)}.container.primary.outline:hover{background-color:var(--theme-chip-primary-outline--background--hover)}.container.primary.outline:active{background-color:var(--theme-chip-primary-outline--background--active)}.container.outline{border-width:1px;border-style:solid}.container.alarm{color:var(--theme-color-alarm--contrast)}.container.alarm:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.alarm.active::after,.container.alarm:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.alarm:not(.outline){background-color:var(--theme-color-alarm)}.container.alarm:not(.outline) .close-button{color:var(--theme-color-alarm--contrast);--ix-icon-button-color:var(--theme-color-alarm--contrast)}.container.alarm:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.alarm:not(.outline).active::after,.container.alarm:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.alarm.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-alarm)}.container.alarm.outline:hover::after{display:none}.container.alarm.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.alarm.outline.active::after,.container.alarm.outline:active::after{display:none}.container.alarm.outline.active,.container.alarm.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.alarm:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.critical{color:var(--theme-color-critical--contrast)}.container.critical:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.critical.active::after,.container.critical:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.critical:not(.outline){background-color:var(--theme-color-critical)}.container.critical:not(.outline) .close-button{color:var(--theme-color-critical--contrast);--ix-icon-button-color:var(--theme-color-critical--contrast)}.container.critical:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.critical:not(.outline).active::after,.container.critical:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.critical.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-critical)}.container.critical.outline:hover::after{display:none}.container.critical.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.critical.outline.active::after,.container.critical.outline:active::after{display:none}.container.critical.outline.active,.container.critical.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.critical:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.warning{color:var(--theme-color-warning--contrast)}.container.warning:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.warning.active::after,.container.warning:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.warning:not(.outline){background-color:var(--theme-color-warning)}.container.warning:not(.outline) .close-button{color:var(--theme-color-warning--contrast);--ix-icon-button-color:var(--theme-color-warning--contrast)}.container.warning:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.warning:not(.outline).active::after,.container.warning:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.warning.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-warning)}.container.warning.outline:hover::after{display:none}.container.warning.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.warning.outline.active::after,.container.warning.outline:active::after{display:none}.container.warning.outline.active,.container.warning.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.warning:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.info{color:var(--theme-color-info--contrast)}.container.info:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.info.active::after,.container.info:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.info:not(.outline){background-color:var(--theme-color-info)}.container.info:not(.outline) .close-button{color:var(--theme-color-info--contrast);--ix-icon-button-color:var(--theme-color-info--contrast)}.container.info:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.info:not(.outline).active::after,.container.info:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.info.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-info)}.container.info.outline:hover::after{display:none}.container.info.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.info.outline.active::after,.container.info.outline:active::after{display:none}.container.info.outline.active,.container.info.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.info:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.neutral{color:var(--theme-color-neutral--contrast)}.container.neutral:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.neutral.active::after,.container.neutral:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.neutral:not(.outline){background-color:var(--theme-color-neutral)}.container.neutral:not(.outline) .close-button{color:var(--theme-color-neutral--contrast);--ix-icon-button-color:var(--theme-color-neutral--contrast)}.container.neutral:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.neutral:not(.outline).active::after,.container.neutral:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.neutral.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-neutral)}.container.neutral.outline:hover::after{display:none}.container.neutral.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.neutral.outline.active::after,.container.neutral.outline:active::after{display:none}.container.neutral.outline.active,.container.neutral.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.neutral:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}.container.success{color:var(--theme-color-success--contrast)}.container.success:hover::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.05);left:0;border-radius:100px;pointer-events:none}.container.success.active::after,.container.success:active::after{content:"";display:block;position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.1);left:0;border-radius:100px;pointer-events:none}.container.success:not(.outline){background-color:var(--theme-color-success)}.container.success:not(.outline) .close-button{color:var(--theme-color-success--contrast);--ix-icon-button-color:var(--theme-color-success--contrast)}.container.success:not(.outline):hover::after{content:"";background-color:rgba(0, 0, 0, 0.05)}.container.success:not(.outline).active::after,.container.success:not(.outline):active::after{background-color:rgba(0, 0, 0, 0.1)}.container.success.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-success)}.container.success.outline:hover::after{display:none}.container.success.outline:hover{background-color:var(--theme-chip-outline--background--hover)}.container.success.outline.active::after,.container.success.outline:active::after{display:none}.container.success.outline.active,.container.success.outline:active{background-color:var(--theme-chip-outline--background--active)}.container.success:focus-visible{outline:1px solid #199fff;outline-offset:var(--theme-btn--focus--outline-offset)}';const a=i;const c=class{constructor(t){o(this,t);this.closeChip=e(this,"closeChip",7);this.variant="primary";this.active=true;this.closable=false;this.icon=undefined;this.background=undefined;this.color=undefined;this.chipColor=undefined;this.outline=false}getCloseButton(){var o;return t("div",{class:"close-button-container"},t("ix-icon-button",{type:"button",variant:"secondary",icon:"close-small",class:"close-button",oval:true,size:"16",style:this.variant==="custom"?{color:(o=this.chipColor)!==null&&o!==void 0?o:this.color}:{},ghost:true,onClick:o=>{this.closeChip.emit(o);o.stopPropagation()}}))}render(){var o,e;const r=this.active===false;let i={};if(this.variant==="custom"){i={color:(o=this.chipColor)!==null&&o!==void 0?o:this.color,[this.outline?"borderColor":"backgroundColor"]:this.background}}return t(n,{key:"8ede968301d60515bc378c80141926ad75fab0cd",tabIndex:"-1",title:this.el.textContent,style:this.variant==="custom"?{"--ix-icon-button-color":(e=this.chipColor)!==null&&e!==void 0?e:this.color}:{}},t("div",{key:"ff82604fbd0ed7d74cdd753e1f1690f4bf67959f",style:Object.assign({},i),class:{container:true,outline:this.outline,inactive:r,alarm:this.variant==="alarm",critical:this.variant==="critical",info:this.variant==="info",neutral:this.variant==="neutral",primary:this.variant==="primary",success:this.variant==="success",warning:this.variant==="warning",custom:this.variant==="custom",closable:this.closable,icon:!!this.icon}},t("ix-icon",{key:"7e033b4f17e195a9ce75e3fbea992290180feb1f",class:{"with-icon":true,hidden:!this.icon},name:this.icon,size:"24"}),t("span",{key:"0d0bafd87e80596388ff1b74bcb9fa6024f6fe03",class:"slot-container"},t("slot",{key:"057958812ca98820f4e039b7c5e2f016d27854c6"})),r===false&&this.closable?this.getCloseButton():null))}get el(){return r(this)}};c.style=a;export{c as ix_chip};
|
|
2
|
+
//# sourceMappingURL=p-453fa360.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as i,H as c}from"./p-f87cd962.js";const t=":host{display:block;position:relative}:host .icon{transform:scale(1.25)}:host .notification{font-size:40px}:host ix-card-content{height:11rem}";const a=t;const s=class{constructor(i){e(this,i);this.icon=undefined;this.notification=undefined;this.heading=undefined;this.subheading=undefined;this.variant="insight";this.collapse=true}render(){var e;const t=this.variant==="insight"||this.variant==="notification"?"std":undefined;return i(c,{key:"9ba9fd8e6cc9f2b74e89fbbcd0c09a04aca45ac2"},i("ix-card",{key:"913618b3fc69c1e59c3bbeb4c92569b2754ff3ae",variant:this.variant},i("ix-card-content",{key:"bb75a940ce3ac891fe947f4ed9e542c36a492f92"},i("ix-card-title",{key:"37f4faab2368f341dd835fffe64b5915e1c4b322"},this.icon?i("ix-icon",{class:"icon",name:this.icon,size:"32"}):null,i("span",{key:"42059a2ed174f15fdcce1ddb599bc831afade5b1",class:"notification"},(e=this.notification)!==null&&e!==void 0?e:0),i("slot",{key:"9e3b8df6148f3b8e3d577d8ece5253b14c85a0dd",name:"title-action"})),i("ix-typography",{key:"b7473e9fd9fdaee3045ec4884544469a9a6457fe",color:t,format:"h4"},this.heading),i("ix-typography",{key:"26c212e7f6111df4d353525fda6b3a76ee7dea3c",color:t},this.subheading)),i("ix-card-accordion",{key:"a779591ee7405f4a725f1c04abbc7223064ee885",collapse:this.collapse},i("slot",{key:"5d42faa67c254a1d8541c525cb8e0e08e6b0d095"}))))}};s.style=a;export{s as ix_push_card};
|
|
2
|
+
//# sourceMappingURL=p-4b3facea.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as o}from"./p-ac552df3.js";import{A as h}from"./p-c09553f3.js";import{O as r}from"./p-d6cef0ad.js";import{c as n}from"./p-e898862b.js";const l=":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly,:host .select.disabled{box-shadow:none !important;border:none;border-radius:0;cursor:pointer}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active,:host .select.disabled,:host .select.disabled:hover,:host .select.disabled:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible,:host .select.disabled:focus,:host .select.disabled:focus-within,:host .select.disabled:focus-visible{outline:none}:host .select.readonly input:focus,:host .select.readonly input:focus-visible,:host .select.disabled input:focus,:host .select.disabled input:focus-visible{outline:none}:host .select.disabled{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.disabled input{color:var(--theme-color-weak-text)}:host .select.readonly{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-soft-bdr)}:host .select.readonly input{color:var(--theme-color-std-text)}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}";const a=l;var d=undefined&&undefined.__decorate||function(t,e,i,s){var o=arguments.length,h=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")h=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)if(r=t[n])h=(o<3?r(h):o>3?r(e,i,h):r(e,i))||h;return o>3&&h&&Object.defineProperty(e,i,h),h};const c=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",7);this.itemSelectionChange=e(this,"itemSelectionChange",7);this.inputChange=e(this,"inputChange",7);this.addItem=e(this,"addItem",7);this.focusControllerCallbackBind=this.focusDropdownItem.bind(this);this.itemObserver=n((()=>{this.arrowFocusController.items=this.visibleNonShadowItems}));this.selectedIndices=undefined;this.value=undefined;this.allowClear=false;this.mode="single";this.editable=false;this.disabled=false;this.readonly=false;this.i18nPlaceholder="Select an option";this.i18nPlaceholderEditable="Type of select option";this.i18nSelectListHeader="Please select an option";this.i18nNoMatches="No matches";this.hideListHeader=false;this.dropdownShow=false;this.selectedLabels=undefined;this.dropdownWrapperRef=undefined;this.dropdownAnchor=undefined;this.isDropdownEmpty=false;this.navigationItem=undefined;this.inputFilterText=undefined;this.inputValue=undefined}get nonShadowItems(){return Array.from(this.hostElement.querySelectorAll("ix-select-item"))}get visibleNonShadowItems(){return this.nonShadowItems.filter((t=>!t.classList.contains("d-none")))}get shadowItems(){return Array.from(this.hostElement.shadowRoot.querySelectorAll("ix-select-item"))}get visibleShadowItems(){return this.shadowItems.filter((t=>!t.classList.contains("d-none")))}get items(){return[...this.nonShadowItems,...this.shadowItems]}get visibleItems(){return this.items.filter((t=>!t.classList.contains("d-none")))}get selectedItems(){return this.items.filter((t=>t.selected))}get addItemButton(){return this.hostElement.shadowRoot.querySelector(".add-item")}get isSingleMode(){return this.mode==="single"}get isMultipleMode(){return this.mode==="multiple"}get isEveryDropdownItemHidden(){return this.items.every((t=>t.classList.contains("d-none")))}watchSelectedIndices(t){this.value=t;this.updateSelection()}watchValue(t){this.selectedIndices=t;this.updateSelection()}watchDropdownShow(t){if(t){this.arrowFocusController=new h(this.visibleNonShadowItems,this.dropdownRef,this.focusControllerCallbackBind);this.arrowFocusController.wrap=!this.editable;this.itemObserver.observe(this.dropdownRef,{childList:true,subtree:true})}else{this.arrowFocusController.disconnect();this.arrowFocusController=undefined;this.itemObserver.disconnect()}}onItemClicked(t){const e=t.detail;this.itemClick(e)}focusDropdownItem(t){var e;this.navigationItem=undefined;if(t<this.visibleNonShadowItems.length){const i=(e=this.visibleNonShadowItems[t])===null||e===void 0?void 0:e.shadowRoot.querySelector("ix-dropdown-item");requestAnimationFrame((()=>{i.shadowRoot.querySelector("button").focus()}))}}itemClick(t){this.value=this.toggleValue(t);this.updateSelection();this.emitValueChange()}emitAddItem(t){if(t===undefined||t.trim()===""){return}const e=document.createElement("ix-select-item");e.value=t;e.label=t;this.customItemsContainerRef.appendChild(e);this.clearInput();this.itemClick(t);this.addItem.emit(t)}toggleValue(t){if(!this.isMultipleMode){return t}if(!this.value){return[t]}let e=this.value;if(!Array.isArray(e)){e=[e]}if(e.includes(t)){return e.filter((e=>e!==t))}else{return[...e,t]}}updateSelection(){var t;let e=[];if(this.value){e=Array.isArray(this.value)?[...this.value]:[this.value]}this.items.forEach((t=>{t.selected=e.some((e=>{if(typeof e!==typeof t.value){return e.toString()===t.value.toString()}else{return e===t.value}}))}));this.selectedLabels=this.selectedItems.map((t=>t.label));if(this.isSingleMode&&((t=this.selectedLabels)===null||t===void 0?void 0:t.length)){this.inputValue=this.selectedLabels[0];this.inputRef&&(this.inputRef.value=this.inputValue);return}this.inputValue=null}emitValueChange(){this.valueChange.emit(this.value);if(!this.value){this.itemSelectionChange.emit(null)}else{this.itemSelectionChange.emit(Array.isArray(this.value)?this.value:[this.value])}}componentDidLoad(){this.inputRef.addEventListener("input",(()=>{this.dropdownShow=true;this.inputChange.emit(this.inputRef.value)}))}componentWillLoad(){if(this.selectedIndices&&!this.value){this.value=this.selectedIndices}this.updateSelection()}onLabelChange(t){t.preventDefault();t.stopImmediatePropagation();this.updateSelection()}disconnectedCallback(){if(this.itemMutationObserver){this.itemMutationObserver.disconnect()}}itemExists(t){return this.items.find((e=>e.label===t))}dropdownVisibilityChanged(t){this.dropdownShow=t.detail;if(t.detail){this.inputRef.focus();this.inputRef.select();this.removeHiddenFromItems();this.isDropdownEmpty=this.isEveryDropdownItemHidden}else{this.navigationItem=undefined;this.updateSelection();this.inputFilterText=""}}async onKeyDown(t){if(t.code==="ArrowDown"||t.code==="ArrowUp"){await this.onArrowNavigation(t,t.code)}if(!this.dropdownShow){return}if(t.code==="Enter"||t.code==="NumpadEnter"){await this.onEnterNavigation()}if(t.code==="Escape"){this.dropdownShow=false}}async onEnterNavigation(){var t;if(this.isMultipleMode){return}let e;if(this.editable&&!this.itemExists(this.inputFilterText)){this.emitAddItem(this.inputFilterText);e=this.items[this.items.length-1]}if(e){e.onItemClick()}await((t=this.dropdownRef)===null||t===void 0?void 0:t.updatePosition());if(this.isSingleMode&&!this.editable){this.dropdownShow=false}}async onArrowNavigation(t,e){if(t.defaultPrevented){return}t.preventDefault();t.stopPropagation();this.dropdownShow=true;if(!this.navigationItem&&document.activeElement===this.hostElement){if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}const i=e==="ArrowUp";const s=this.visibleNonShadowItems.indexOf(document.activeElement);if(s===0){if(!this.visibleShadowItems.length&&this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleShadowItems.pop())}return}else if(s!==-1&&s===this.visibleNonShadowItems.length-1){if(this.visibleShadowItems.length){this.applyFocusTo(this.visibleShadowItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}if(this.isAddItemVisible()&&this.addItemRef.contains(await this.navigationItem.getDropdownItemElement())){if(i){this.applyFocusTo(this.visibleItems.pop())}else{if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}}return}const o=this.visibleShadowItems.indexOf(this.navigationItem);if(i){if(o===0){if(this.visibleNonShadowItems.length){this.applyFocusTo(this.visibleNonShadowItems.pop())}else if(this.isAddItemVisible()){this.focusAddItemButton()}}else{this.applyFocusTo(this.visibleShadowItems[o-1])}}else{if(o===this.visibleShadowItems.length-1){if(this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleItems.shift())}}else{this.applyFocusTo(this.visibleShadowItems[o+1])}}}applyFocusTo(t){if(!t){return}this.navigationItem=t;setTimeout((()=>{t.shadowRoot.querySelector("ix-dropdown-item").shadowRoot.querySelector("button").focus()}))}focusAddItemButton(){if(this.addItemButton){this.addItemButton.shadowRoot.querySelector("button").focus();this.navigationItem=this.addItemRef}}filterItemsWithTypeahead(){this.inputFilterText=this.inputRef.value;if(this.isSingleMode&&this.inputFilterText===this.selectedLabels[0]){return}if(this.inputFilterText){this.items.forEach((t=>{t.classList.remove("d-none");if(!t.label.toLowerCase().includes(this.inputFilterText.toLowerCase())){t.classList.add("d-none")}}))}else{this.removeHiddenFromItems()}if(this.arrowFocusController){this.arrowFocusController.items=this.visibleNonShadowItems}this.isDropdownEmpty=this.isEveryDropdownItemHidden}removeHiddenFromItems(){this.items.forEach((t=>{t.classList.remove("d-none")}))}clearInput(){this.inputRef.value="";this.inputFilterText=""}clear(){this.clearInput();this.selectedLabels=[];this.value=[];this.valueChange.emit(null);this.dropdownShow=false}onInputBlur(t){if(this.editable){return}if(this.isSingleMode){return}if(!this.dropdownShow&&this.mode!=="multiple"){t.target["value"]=this.selectedLabels}}placeholderValue(){if(this.disabled){return""}if(this.readonly){return""}if(this.editable){return this.i18nPlaceholderEditable}return this.i18nPlaceholder}isAddItemVisible(){return!this.itemExists(this.inputFilterText)&&this.editable&&this.inputFilterText}render(){var t,e,o;return i(s,{key:"4626c1e1caacb41eaebfba7a2dcb438684487212"},i("div",{key:"d5d9be9ecfa4ee6b4903c0c3af2efadbf3c43bbf",class:{select:true,disabled:this.disabled,readonly:this.readonly},ref:t=>{this.dropdownAnchor=t;if(!this.editable)this.dropdownWrapperRef=t}},i("div",{key:"8f6b456b62facaab2b359cb1f2c178395550db8d",class:"input-container"},i("div",{key:"85148876ea0e9216610397c9279d8a602dcd27e1",class:"chips"},this.isMultipleMode?(t=this.selectedItems)===null||t===void 0?void 0:t.map((t=>i("ix-filter-chip",{disabled:this.disabled||this.readonly,key:t.value,onCloseClick:e=>{e.preventDefault();e.stopPropagation();this.itemClick(t.value)}},t.label))):"",i("div",{key:"990d5c1c006e28921d6e116770ade6cadb02fdf7",class:"trigger"},i("input",{key:"a408fe31c5911ff700b3aa9359aa73fed640d327",autocomplete:"off","data-testid":"input",disabled:this.disabled,readOnly:this.readonly,type:"text",class:{"allow-clear":this.allowClear&&!!((e=this.selectedLabels)===null||e===void 0?void 0:e.length)},placeholder:this.placeholderValue(),value:this.inputValue,ref:t=>this.inputRef=t,onBlur:t=>this.onInputBlur(t),onFocus:()=>{this.navigationItem=undefined},onInput:()=>this.filterItemsWithTypeahead(),onKeyDown:t=>this.onKeyDown(t)}),this.allowClear&&(((o=this.selectedLabels)===null||o===void 0?void 0:o.length)||this.inputFilterText)?i("ix-icon-button",{class:"clear",icon:"clear",ghost:true,oval:true,size:"16",onClick:t=>{t.preventDefault();t.stopPropagation();this.clear()}}):null,this.disabled||this.readonly?null:i("ix-icon-button",{"data-select-dropdown":true,class:{"dropdown-visible":this.dropdownShow},icon:"chevron-down-small",ghost:true,ref:t=>{if(this.editable)this.dropdownWrapperRef=t}}))))),i("ix-dropdown",{key:"584c25a81fff55aa9855cd7c93119507023b769f",ref:t=>this.dropdownRef=t,show:this.dropdownShow,closeBehavior:this.isMultipleMode?"outside":"both",class:{"d-none":this.disabled||this.readonly},anchor:this.dropdownAnchor,trigger:this.dropdownWrapperRef,onShowChanged:t=>this.dropdownVisibilityChanged(t),placement:"bottom-start",overwriteDropdownStyle:async()=>({minWidth:`${this.hostElement.clientWidth}px`})},i("div",{key:"551f36e908883a074e81d5269e32f1260e0b0abe",class:{"select-list-header":true,hidden:this.hideListHeader||this.isDropdownEmpty},title:this.i18nSelectListHeader,onClick:t=>t.preventDefault()},this.i18nSelectListHeader),i("slot",{key:"c2b10c1b09dd64eb0ab0a6bc51d43f98e876031a"}),i("div",{key:"a7076d2f894af20584a45109b397b0362ea6f6a5",ref:t=>this.customItemsContainerRef=t,class:"d-contents"}),this.isAddItemVisible()?i("ix-dropdown-item",{"data-testid":"add-item",icon:"plus",class:{"add-item":true},label:this.inputFilterText,onItemClick:t=>{t.preventDefault();t.stopPropagation();this.emitAddItem(this.inputFilterText)},onFocus:()=>this.navigationItem=this.addItemRef,ref:t=>{this.addItemRef=t}}):null,this.isDropdownEmpty&&!this.editable?i("div",{class:"select-list-header"},this.i18nNoMatches):""))}get hostElement(){return o(this)}static get watchers(){return{selectedIndices:["watchSelectedIndices"],value:["watchValue"],dropdownShow:["watchDropdownShow"]}}};d([r("keydown",(t=>t.dropdownShow))],c.prototype,"onKeyDown",null);c.style=a;export{c as ix_select};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as e,h as i,H as s,g as o}from"./p-f87cd962.js";import{A as h}from"./p-c09553f3.js";import{O as r}from"./p-0c8a98cd.js";import{c as n}from"./p-e898862b.js";const l=":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly,:host .select.disabled{box-shadow:none !important;border:none;border-radius:0;cursor:pointer}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active,:host .select.disabled,:host .select.disabled:hover,:host .select.disabled:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible,:host .select.disabled:focus,:host .select.disabled:focus-within,:host .select.disabled:focus-visible{outline:none}:host .select.readonly input:focus,:host .select.readonly input:focus-visible,:host .select.disabled input:focus,:host .select.disabled input:focus-visible{outline:none}:host .select.disabled{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.disabled input{color:var(--theme-color-weak-text)}:host .select.readonly{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-soft-bdr)}:host .select.readonly input{color:var(--theme-color-std-text)}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}";const a=l;var d=undefined&&undefined.__decorate||function(t,e,i,s){var o=arguments.length,h=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")h=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)if(r=t[n])h=(o<3?r(h):o>3?r(e,i,h):r(e,i))||h;return o>3&&h&&Object.defineProperty(e,i,h),h};const c=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",7);this.itemSelectionChange=e(this,"itemSelectionChange",7);this.inputChange=e(this,"inputChange",7);this.addItem=e(this,"addItem",7);this.focusControllerCallbackBind=this.focusDropdownItem.bind(this);this.itemObserver=n((()=>{this.arrowFocusController.items=this.visibleNonShadowItems}));this.selectedIndices=undefined;this.value=undefined;this.allowClear=false;this.mode="single";this.editable=false;this.disabled=false;this.readonly=false;this.i18nPlaceholder="Select an option";this.i18nPlaceholderEditable="Type of select option";this.i18nSelectListHeader="Please select an option";this.i18nNoMatches="No matches";this.hideListHeader=false;this.dropdownShow=false;this.selectedLabels=undefined;this.dropdownWrapperRef=undefined;this.dropdownAnchor=undefined;this.isDropdownEmpty=false;this.navigationItem=undefined;this.inputFilterText=undefined;this.inputValue=undefined}get nonShadowItems(){return Array.from(this.hostElement.querySelectorAll("ix-select-item"))}get visibleNonShadowItems(){return this.nonShadowItems.filter((t=>!t.classList.contains("d-none")))}get shadowItems(){return Array.from(this.hostElement.shadowRoot.querySelectorAll("ix-select-item"))}get visibleShadowItems(){return this.shadowItems.filter((t=>!t.classList.contains("d-none")))}get items(){return[...this.nonShadowItems,...this.shadowItems]}get visibleItems(){return this.items.filter((t=>!t.classList.contains("d-none")))}get selectedItems(){return this.items.filter((t=>t.selected))}get addItemButton(){return this.hostElement.shadowRoot.querySelector(".add-item")}get isSingleMode(){return this.mode==="single"}get isMultipleMode(){return this.mode==="multiple"}get isEveryDropdownItemHidden(){return this.items.every((t=>t.classList.contains("d-none")))}watchSelectedIndices(t){this.value=t;this.updateSelection()}watchValue(t){this.selectedIndices=t;this.updateSelection()}watchDropdownShow(t){if(t){this.arrowFocusController=new h(this.visibleNonShadowItems,this.dropdownRef,this.focusControllerCallbackBind);this.arrowFocusController.wrap=!this.editable;this.itemObserver.observe(this.dropdownRef,{childList:true,subtree:true})}else{this.arrowFocusController.disconnect();this.arrowFocusController=undefined;this.itemObserver.disconnect()}}onItemClicked(t){const e=t.detail;this.itemClick(e)}focusDropdownItem(t){var e;this.navigationItem=undefined;if(t<this.visibleNonShadowItems.length){const i=(e=this.visibleNonShadowItems[t])===null||e===void 0?void 0:e.shadowRoot.querySelector("ix-dropdown-item");requestAnimationFrame((()=>{i.shadowRoot.querySelector("button").focus()}))}}itemClick(t){const e=this.toggleValue(t);const i=this.emitValueChange(e);if(i){return}this.value=e;this.updateSelection()}emitAddItem(t){if(t===undefined||t.trim()===""){return false}const{defaultPrevented:e}=this.addItem.emit(t);if(e){return true}const i=document.createElement("ix-select-item");i.value=t;i.label=t;this.customItemsContainerRef.appendChild(i);this.clearInput();this.itemClick(t);return false}toggleValue(t){if(!this.isMultipleMode){return t}if(!this.value){return[t]}let e=this.value;if(!Array.isArray(e)){e=[e]}if(e.includes(t)){return e.filter((e=>e!==t))}else{return[...e,t]}}updateSelection(){var t;let e=[];if(this.value){e=Array.isArray(this.value)?[...this.value]:[this.value]}this.items.forEach((t=>{t.selected=e.some((e=>{if(typeof e!==typeof t.value){return e.toString()===t.value.toString()}else{return e===t.value}}))}));this.selectedLabels=this.selectedItems.map((t=>t.label));if(this.isSingleMode&&((t=this.selectedLabels)===null||t===void 0?void 0:t.length)){this.inputValue=this.selectedLabels[0];this.inputRef&&(this.inputRef.value=this.inputValue);return}this.inputValue=null}emitValueChange(t){const{defaultPrevented:e}=this.valueChange.emit(t);if(e){return true}if(!t){this.itemSelectionChange.emit(null)}else{this.itemSelectionChange.emit(Array.isArray(t)?t:[t])}return false}componentDidLoad(){this.inputRef.addEventListener("input",(()=>{this.dropdownShow=true;this.inputChange.emit(this.inputRef.value)}))}componentWillLoad(){if(this.selectedIndices&&!this.value){this.value=this.selectedIndices}this.updateSelection()}onLabelChange(t){t.preventDefault();t.stopImmediatePropagation();this.updateSelection()}disconnectedCallback(){if(this.itemMutationObserver){this.itemMutationObserver.disconnect()}}itemExists(t){return this.items.find((e=>e.label===t))}dropdownVisibilityChanged(t){this.dropdownShow=t.detail;if(t.detail){this.inputRef.focus();this.inputRef.select();this.removeHiddenFromItems();this.isDropdownEmpty=this.isEveryDropdownItemHidden}else{this.navigationItem=undefined;this.updateSelection();this.inputFilterText=""}}async onKeyDown(t){if(t.code==="ArrowDown"||t.code==="ArrowUp"){await this.onArrowNavigation(t,t.code)}if(!this.dropdownShow){return}if(t.code==="Enter"||t.code==="NumpadEnter"){await this.onEnterNavigation()}if(t.code==="Escape"){this.dropdownShow=false}}async onEnterNavigation(){var t;if(this.isMultipleMode){return}let e;if(this.editable&&!this.itemExists(this.inputFilterText)){const t=this.emitAddItem(this.inputFilterText);if(t){return}e=this.items[this.items.length-1]}if(e){e.onItemClick()}await((t=this.dropdownRef)===null||t===void 0?void 0:t.updatePosition());if(this.isSingleMode&&!this.editable){this.dropdownShow=false}}async onArrowNavigation(t,e){if(t.defaultPrevented){return}t.preventDefault();t.stopPropagation();this.dropdownShow=true;if(!this.navigationItem&&document.activeElement===this.hostElement){if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}const i=e==="ArrowUp";const s=this.visibleNonShadowItems.indexOf(document.activeElement);if(s===0){if(!this.visibleShadowItems.length&&this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleShadowItems.pop())}return}else if(s!==-1&&s===this.visibleNonShadowItems.length-1){if(this.visibleShadowItems.length){this.applyFocusTo(this.visibleShadowItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}if(this.isAddItemVisible()&&this.addItemRef.contains(await this.navigationItem.getDropdownItemElement())){if(i){this.applyFocusTo(this.visibleItems.pop())}else{if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}}return}const o=this.visibleShadowItems.indexOf(this.navigationItem);if(i){if(o===0){if(this.visibleNonShadowItems.length){this.applyFocusTo(this.visibleNonShadowItems.pop())}else if(this.isAddItemVisible()){this.focusAddItemButton()}}else{this.applyFocusTo(this.visibleShadowItems[o-1])}}else{if(o===this.visibleShadowItems.length-1){if(this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleItems.shift())}}else{this.applyFocusTo(this.visibleShadowItems[o+1])}}}applyFocusTo(t){if(!t){return}this.navigationItem=t;setTimeout((()=>{t.shadowRoot.querySelector("ix-dropdown-item").shadowRoot.querySelector("button").focus()}))}focusAddItemButton(){if(this.addItemButton){this.addItemButton.shadowRoot.querySelector("button").focus();this.navigationItem=this.addItemRef}}filterItemsWithTypeahead(){this.inputFilterText=this.inputRef.value;if(this.isSingleMode&&this.inputFilterText===this.selectedLabels[0]){return}if(this.inputFilterText){this.items.forEach((t=>{t.classList.remove("d-none");if(!t.label.toLowerCase().includes(this.inputFilterText.toLowerCase())){t.classList.add("d-none")}}))}else{this.removeHiddenFromItems()}if(this.arrowFocusController){this.arrowFocusController.items=this.visibleNonShadowItems}this.isDropdownEmpty=this.isEveryDropdownItemHidden}removeHiddenFromItems(){this.items.forEach((t=>{t.classList.remove("d-none")}))}clearInput(){this.inputRef.value="";this.inputFilterText=""}clear(){this.clearInput();this.selectedLabels=[];this.value=[];this.valueChange.emit(null);this.dropdownShow=false}onInputBlur(t){if(this.editable){return}if(this.isSingleMode){return}if(!this.dropdownShow&&this.mode!=="multiple"){t.target["value"]=this.selectedLabels}}placeholderValue(){if(this.disabled){return""}if(this.readonly){return""}if(this.editable){return this.i18nPlaceholderEditable}return this.i18nPlaceholder}isAddItemVisible(){return!this.itemExists(this.inputFilterText)&&this.editable&&this.inputFilterText}render(){var t,e,o;return i(s,{key:"ef836653267a38d82ead34cf82285997083f4086"},i("div",{key:"23e903c9849f58f70d9c843a7258f913d6811cf2",class:{select:true,disabled:this.disabled,readonly:this.readonly},ref:t=>{this.dropdownAnchor=t;if(!this.editable)this.dropdownWrapperRef=t}},i("div",{key:"56b38a998a44ddc6b8f380cc049e813be30ad711",class:"input-container"},i("div",{key:"b3e152d2ab35f3e2bcf2ac8c8df4cb3bc97f6e3c",class:"chips"},this.isMultipleMode?(t=this.selectedItems)===null||t===void 0?void 0:t.map((t=>i("ix-filter-chip",{disabled:this.disabled||this.readonly,key:t.value,onCloseClick:e=>{e.preventDefault();e.stopPropagation();this.itemClick(t.value)}},t.label))):"",i("div",{key:"f411e24b3c4512731593a4afd5c51f0223254cc9",class:"trigger"},i("input",{key:"3c16a408ed58a3d2430ed86df32b6d990acb2b49",autocomplete:"off","data-testid":"input",disabled:this.disabled,readOnly:this.readonly,type:"text",class:{"allow-clear":this.allowClear&&!!((e=this.selectedLabels)===null||e===void 0?void 0:e.length)},placeholder:this.placeholderValue(),value:this.inputValue,ref:t=>this.inputRef=t,onBlur:t=>this.onInputBlur(t),onFocus:()=>{this.navigationItem=undefined},onInput:()=>this.filterItemsWithTypeahead(),onKeyDown:t=>this.onKeyDown(t)}),this.allowClear&&(((o=this.selectedLabels)===null||o===void 0?void 0:o.length)||this.inputFilterText)?i("ix-icon-button",{class:"clear",icon:"clear",ghost:true,oval:true,size:"16",onClick:t=>{t.preventDefault();t.stopPropagation();this.clear()}}):null,this.disabled||this.readonly?null:i("ix-icon-button",{"data-select-dropdown":true,class:{"dropdown-visible":this.dropdownShow},icon:"chevron-down-small",ghost:true,ref:t=>{if(this.editable)this.dropdownWrapperRef=t}}))))),i("ix-dropdown",{key:"6c838166f4366d760f30dc102d3dad4611b369b5",ref:t=>this.dropdownRef=t,show:this.dropdownShow,closeBehavior:this.isMultipleMode?"outside":"both",class:{"d-none":this.disabled||this.readonly},anchor:this.dropdownAnchor,trigger:this.dropdownWrapperRef,onShowChanged:t=>this.dropdownVisibilityChanged(t),placement:"bottom-start",overwriteDropdownStyle:async()=>({minWidth:`${this.hostElement.clientWidth}px`})},i("div",{key:"8f7b41436b7f15311dd4d46cbacbb95879de501e",class:{"select-list-header":true,hidden:this.hideListHeader||this.isDropdownEmpty},title:this.i18nSelectListHeader,onClick:t=>t.preventDefault()},this.i18nSelectListHeader),i("slot",{key:"dc2913881d407f2cdaaa30efc15fa05193117b1c"}),i("div",{key:"706abca5e8fef621d36b560b6ca5629c235a6a32",ref:t=>this.customItemsContainerRef=t,class:"d-contents"}),this.isAddItemVisible()?i("ix-dropdown-item",{"data-testid":"add-item",icon:"plus",class:{"add-item":true},label:this.inputFilterText,onItemClick:t=>{t.preventDefault();if(this.emitAddItem(this.inputFilterText)){t.stopPropagation()}},onFocus:()=>this.navigationItem=this.addItemRef,ref:t=>{this.addItemRef=t}}):null,this.isDropdownEmpty&&!this.editable?i("div",{class:"select-list-header"},this.i18nNoMatches):""))}get hostElement(){return o(this)}static get watchers(){return{selectedIndices:["watchSelectedIndices"],value:["watchValue"],dropdownShow:["watchDropdownShow"]}}};d([r("keydown",(t=>t.dropdownShow))],c.prototype,"onKeyDown",null);c.style=a;export{c as ix_select};
|
|
2
|
+
//# sourceMappingURL=p-52857629.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["selectCss","IxSelectStyle0","Select","this","focusControllerCallbackBind","focusDropdownItem","bind","itemObserver","createMutationObserver","arrowFocusController","items","visibleNonShadowItems","nonShadowItems","Array","from","hostElement","querySelectorAll","filter","item","classList","contains","shadowItems","shadowRoot","visibleShadowItems","visibleItems","selectedItems","selected","addItemButton","querySelector","isSingleMode","mode","isMultipleMode","isEveryDropdownItemHidden","every","watchSelectedIndices","value","updateSelection","watchValue","selectedIndices","watchDropdownShow","show","ArrowFocusController","dropdownRef","wrap","editable","observe","childList","subtree","disconnect","undefined","onItemClicked","event","newId","detail","itemClick","index","navigationItem","length","nestedDropdownItem","_a","requestAnimationFrame","focus","toggleValue","defaultPrevented","emitValueChange","emitAddItem","trim","addItem","emit","newItem","document","createElement","label","customItemsContainerRef","appendChild","clearInput","itemValue","isArray","includes","ids","forEach","some","i","toString","selectedLabels","map","inputValue","inputRef","valueChange","itemSelectionChange","componentDidLoad","addEventListener","dropdownShow","inputChange","componentWillLoad","onLabelChange","preventDefault","stopImmediatePropagation","disconnectedCallback","itemMutationObserver","itemExists","find","dropdownVisibilityChanged","select","removeHiddenFromItems","isDropdownEmpty","inputFilterText","onKeyDown","code","onArrowNavigation","onEnterNavigation","onItemClick","updatePosition","key","stopPropagation","activeElement","applyFocusTo","shift","isAddItemVisible","focusAddItemButton","moveUp","indexNonShadow","indexOf","pop","addItemRef","getDropdownItemElement","indexShadow","element","setTimeout","filterItemsWithTypeahead","remove","toLowerCase","add","clear","onInputBlur","e","target","placeholderValue","disabled","readonly","i18nPlaceholderEditable","i18nPlaceholder","render","h","Host","class","ref","dropdownAnchor","dropdownWrapperRef","onCloseClick","autocomplete","readOnly","type","allowClear","_b","placeholder","onBlur","onFocus","onInput","_c","icon","ghost","oval","size","onClick","closeBehavior","anchor","trigger","onShowChanged","placement","overwriteDropdownStyle","async","minWidth","clientWidth","hidden","hideListHeader","title","i18nSelectListHeader","i18nNoMatches","__decorate","OnListener","self"],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"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@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() navigationItem: DropdownItemWrapper;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private customItemsContainerRef!: HTMLDivElement;\n private addItemRef!: HTMLIxDropdownItemElement;\n\n private itemMutationObserver: MutationObserver;\n\n private arrowFocusController: ArrowFocusController;\n private focusControllerCallbackBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = createMutationObserver(() => {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.arrowFocusController.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver.disconnect();\n }\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot.querySelector(\n 'ix-dropdown-item'\n );\n\n requestAnimationFrame(() => {\n nestedDropdownItem.shadowRoot.querySelector('button').focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const value = this.toggleValue(newId);\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n return;\n }\n\n this.value = value;\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.isSingleMode && this.selectedLabels?.length) {\n this.inputValue = this.selectedLabels[0];\n this.inputRef && (this.inputRef.value = this.inputValue);\n return;\n }\n\n this.inputValue = null;\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n return false;\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.itemMutationObserver) {\n this.itemMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation();\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation() {\n if (this.isMultipleMode) {\n return;\n }\n\n let item: HTMLIxSelectItemElement;\n\n if (this.editable && !this.itemExists(this.inputFilterText)) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText);\n if (defaultPrevented) {\n return;\n }\n\n item = this.items[this.items.length - 1];\n }\n\n if (item) {\n item.onItemClick();\n }\n\n await this.dropdownRef?.updatePosition();\n\n if (this.isSingleMode && !this.editable) {\n this.dropdownShow = false;\n }\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = this.visibleNonShadowItems.indexOf(\n document.activeElement as any\n );\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as any\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot.querySelector('button').focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n if (this.emitAddItem(this.inputFilterText)) {\n e.stopPropagation();\n }\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|