@siemens/ix 0.0.0-pr-1373-20240705054533 → 0.0.0-pr-1522-20241022123832
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/a11y.js +1 -1
- package/components/a11y.js.map +1 -1
- package/components/application-header.js +51 -15
- package/components/application-header.js.map +1 -1
- package/components/avatar.js +1 -1
- package/components/avatar.js.map +1 -1
- package/components/base-button.js +2 -2
- package/components/base-button.js.map +1 -1
- package/components/button.js +2 -2
- package/components/button.js.map +1 -1
- package/components/card-accordion.js +6 -6
- package/components/card-accordion.js.map +1 -1
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/card.js +4 -4
- package/components/card.js.map +1 -1
- package/components/col.js +1 -1
- package/components/col.js.map +1 -1
- package/components/context.js +6 -3
- package/components/context.js.map +1 -1
- package/components/date-picker.js +53 -41
- package/components/date-picker.js.map +1 -1
- package/components/date-time-card.js +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-controller.js +148 -0
- package/components/dropdown-controller.js.map +1 -0
- package/components/dropdown-item.js +4 -4
- package/components/dropdown-item.js.map +1 -1
- package/components/dropdown.js +115 -201
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/floating-ui.dom.esm.js +533 -60
- package/components/floating-ui.dom.esm.js.map +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-context-menu.js.map +1 -1
- package/components/group-item.js +4 -8
- package/components/group-item.js.map +1 -1
- package/components/icon-button.js +1 -1
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/components/ix-action-card.js +1 -1
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +1 -1
- package/components/ix-application.js +4 -4
- package/components/ix-application.js.map +1 -1
- package/components/ix-basic-navigation.js +18 -12
- package/components/ix-basic-navigation.js.map +1 -1
- package/components/ix-blind.js +5 -5
- package/components/ix-blind.js.map +1 -1
- package/components/ix-breadcrumb.js +9 -10
- package/components/ix-breadcrumb.js.map +1 -1
- package/components/ix-card-list.js +6 -6
- package/components/ix-card-list.js.map +1 -1
- package/components/ix-category-filter.js +129 -71
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-chip.js +4 -4
- package/components/ix-chip.js.map +1 -1
- package/components/ix-content-header.js +2 -2
- package/components/ix-content-header.js.map +1 -1
- package/components/ix-content.js +3 -3
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-css-grid.js +8 -3
- package/components/ix-css-grid.js.map +1 -1
- package/components/ix-date-dropdown.js +25 -16
- 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 +5 -7
- package/components/ix-dropdown-button.js.map +1 -1
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-header.js.map +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.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 +2 -2
- package/components/ix-form-field.js.map +1 -1
- package/components/ix-group.js +69 -44
- package/components/ix-group.js.map +1 -1
- package/components/ix-icon-toggle-button.js +1 -2
- package/components/ix-icon-toggle-button.js.map +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-kpi.js +3 -3
- package/components/ix-kpi.js.map +1 -1
- package/components/ix-link-button.js +3 -3
- package/components/ix-map-navigation.js +21 -15
- package/components/ix-map-navigation.js.map +1 -1
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-about-news.js.map +1 -1
- 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-category.js.map +1 -1
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu.js +12 -12
- package/components/ix-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +11 -4
- package/components/ix-modal.js.map +1 -1
- package/components/ix-pagination.js +3 -3
- package/components/ix-pagination.js.map +1 -1
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js +6 -6
- package/components/ix-pane.js.map +1 -1
- package/components/ix-pill.js +4 -4
- package/components/ix-pill.js.map +1 -1
- package/components/ix-playground-internal.js +1 -1
- package/components/ix-playground-internal.js.map +1 -1
- package/components/ix-push-card.js +1 -1
- package/components/ix-push-card.js.map +1 -1
- package/components/ix-slider.js +21 -14
- package/components/ix-slider.js.map +1 -1
- 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-tile.js.map +1 -1
- package/components/ix-toast-container.js +2 -2
- package/components/ix-toast-container.js.map +1 -1
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +2 -2
- package/components/ix-tree.js +21 -7
- package/components/ix-tree.js.map +1 -1
- package/components/ix-upload.js +60 -4
- package/components/ix-upload.js.map +1 -1
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-step.js.map +1 -1
- package/components/ix-workflow-steps.js +1 -1
- package/components/ix-workflow-steps.js.map +1 -1
- package/components/layout-grid.js +2 -2
- package/components/layout-grid.js.map +1 -1
- package/components/listener.js +2 -2
- package/components/listener.js.map +1 -1
- package/components/logical-filter-operator.js +1 -1
- package/components/logical-filter-operator.js.map +1 -1
- package/components/make-ref.js +7 -12
- package/components/make-ref.js.map +1 -1
- package/components/map-navigation-overlay.js +2 -2
- package/components/menu-avatar-item.js +1 -1
- package/components/menu-expand-icon.js +1 -1
- package/components/menu-expand-icon.js.map +1 -1
- package/components/menu-item.js +14 -14
- package/components/menu-item.js.map +1 -1
- package/components/menu-tabs-fc.js +17 -14
- package/components/menu-tabs-fc.js.map +1 -1
- package/components/modal-content.js +2 -2
- package/components/modal-content.js.map +1 -1
- package/components/modal-header.js +2 -2
- package/components/modal-header.js.map +1 -1
- package/components/row.js +1 -1
- package/components/row.js.map +1 -1
- package/components/select-item.js +1 -1
- package/components/select.js +83 -73
- package/components/select.js.map +1 -1
- package/components/shadow-dom.js +1 -1
- package/components/shadow-dom.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tab-item.js +3 -3
- package/components/tab-item.js.map +1 -1
- package/components/tabs.js +77 -43
- package/components/tabs.js.map +1 -1
- package/components/theme-switcher.js +1 -0
- package/components/theme-switcher.js.map +1 -1
- package/components/time-picker.js +4 -4
- package/components/time-picker.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/toast.js.map +1 -1
- package/components/tooltip.js +25 -23
- package/components/tooltip.js.map +1 -1
- package/components/tree-item.js +8 -8
- package/components/tree-item.js.map +1 -1
- package/components/typography.js +3 -25
- package/components/typography.js.map +1 -1
- package/dist/cjs/{a11y-d3ce56d1.js → a11y-eba397e8.js} +2 -2
- package/dist/cjs/{a11y-d3ce56d1.js.map → a11y-eba397e8.js.map} +1 -1
- package/dist/cjs/{base-button-3735b8c2.js → base-button-a472cf2f.js} +3 -3
- package/dist/cjs/base-button-a472cf2f.js.map +1 -0
- package/dist/cjs/{base-icon-button-44c72bc8.js → base-icon-button-9ff5faad.js} +2 -2
- package/dist/cjs/{base-icon-button-44c72bc8.js.map → base-icon-button-9ff5faad.js.map} +1 -1
- package/dist/cjs/{context-98f4a0b3.js → context-6644f454.js} +7 -4
- package/dist/cjs/context-6644f454.js.map +1 -0
- package/dist/cjs/disposable-event-listener-1ed769b9.js +20 -0
- package/dist/cjs/disposable-event-listener-1ed769b9.js.map +1 -0
- package/dist/cjs/dropdown-controller-1781ef55.js +151 -0
- package/dist/cjs/dropdown-controller-1781ef55.js.map +1 -0
- package/dist/cjs/{floating-ui.dom.esm-94b4d17c.js → floating-ui.dom.esm-9dde6cd6.js} +534 -60
- package/dist/cjs/floating-ui.dom.esm-9dde6cd6.js.map +1 -0
- package/dist/cjs/{focus-9c8ffbb0.js → focus-83f8f1ba.js} +21 -18
- package/dist/cjs/focus-83f8f1ba.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +34 -8
- package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +7 -7
- package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +6 -6
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +10 -9
- package/dist/cjs/ix-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +7 -7
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
- package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +131 -71
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +4 -4
- package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +58 -42
- package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content-header.cjs.entry.js +2 -2
- package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +4 -4
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-css-grid.cjs.entry.js +8 -3
- package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +25 -15
- package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-divider.cjs.entry.js +1 -1
- package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +4 -5
- package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +95 -196
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
- 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.cjs.entry.js +2 -2
- package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-form-field.cjs.entry.js +2 -2
- package/dist/cjs/ix-form-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +6 -10
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group.cjs.entry.js +68 -44
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -5
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
- package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
- package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
- package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-about-news.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-about.cjs.entry.js +2 -2
- 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-category.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-item.cjs.entry.js +14 -14
- package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-settings.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +14 -14
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal.cjs.entry.js +13 -6
- package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js +6 -6
- package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +4 -4
- package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +86 -73
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +23 -16
- package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-split-button-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-split-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +74 -44
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-time-picker.cjs.entry.js +4 -4
- package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js +2 -2
- package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +2 -2
- package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -4
- package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ix-tooltip.cjs.entry.js +26 -24
- package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +8 -8
- package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree.cjs.entry.js +21 -7
- package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-typography.cjs.entry.js +3 -24
- package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +58 -4
- package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/{listener-bc3e7c0c.js → listener-164d1a4a.js} +3 -3
- package/dist/cjs/listener-164d1a4a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{logical-filter-operator-5564322e.js → logical-filter-operator-4917393f.js} +2 -2
- package/dist/cjs/{logical-filter-operator-5564322e.js.map → logical-filter-operator-4917393f.js.map} +1 -1
- package/dist/cjs/{make-ref-c25629b7.js → make-ref-499e1e41.js} +8 -13
- package/dist/cjs/make-ref-499e1e41.js.map +1 -0
- package/dist/cjs/{menu-tabs-fc-df53f176.js → menu-tabs-fc-b532aeb4.js} +18 -15
- package/dist/cjs/menu-tabs-fc-b532aeb4.js.map +1 -0
- package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
- package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/cjs/{theme-switcher-2d2bde85.js → theme-switcher-88b70d73.js} +2 -1
- package/dist/cjs/theme-switcher-88b70d73.js.map +1 -0
- package/dist/collection/components/action-card/action-card.js +8 -5
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/application/application.css +26 -6
- package/dist/collection/components/application/application.js +3 -3
- package/dist/collection/components/application/application.js.map +1 -1
- package/dist/collection/components/application-header/application-header.css +9 -7
- package/dist/collection/components/application-header/application-header.js +78 -6
- package/dist/collection/components/application-header/application-header.js.map +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/avatar/avatar.css +42 -0
- package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
- package/dist/collection/components/blind/blind.css +1 -1
- package/dist/collection/components/blind/blind.js +10 -10
- package/dist/collection/components/blind/blind.js.map +1 -1
- package/dist/collection/components/blind/test/blind.ct.js +1 -1
- package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +9 -10
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/button/base-button.js +2 -2
- package/dist/collection/components/button/base-button.js.map +1 -1
- package/dist/collection/components/button/button.js +3 -3
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.css +3 -3
- package/dist/collection/components/card/card.js +10 -6
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card-accordion/card-accordion.css +4 -4
- package/dist/collection/components/card-accordion/card-accordion.js +5 -5
- package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.css +6 -0
- package/dist/collection/components/card-list/card-list.js +5 -5
- package/dist/collection/components/card-list/card-list.js.map +1 -1
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.css +20 -20
- package/dist/collection/components/category-filter/category-filter.js +138 -78
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
- package/dist/collection/components/category-filter/test/category-filter.ct.js +52 -0
- package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -0
- package/dist/collection/components/chip/chip.css +2 -2
- package/dist/collection/components/chip/chip.js +5 -5
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/col/col.css +1 -1
- package/dist/collection/components/col/col.js +2 -2
- package/dist/collection/components/col/col.js.map +1 -1
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/content-header/content-header.css +6 -3
- package/dist/collection/components/content-header/content-header.js +2 -2
- package/dist/collection/components/content-header/content-header.js.map +1 -1
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/css-grid/css-grid.js +9 -4
- package/dist/collection/components/css-grid/css-grid.js.map +1 -1
- package/dist/collection/components/date-dropdown/date-dropdown.js +34 -21
- package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.js +62 -48
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- 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-controller.js +15 -11
- package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +95 -62
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/test/dropdown.ct.js +19 -8
- package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +7 -13
- package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +3 -3
- package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/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/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.css +10 -10
- package/dist/collection/components/form-field/form-field.js +1 -1
- package/dist/collection/components/grid/layout-grid.css +1 -1
- package/dist/collection/components/grid/layout-grid.js +3 -3
- package/dist/collection/components/grid/layout-grid.js.map +1 -1
- package/dist/collection/components/group/group-context-menu.css +1 -1
- package/dist/collection/components/group/group-context-menu.js +2 -2
- package/dist/collection/components/group/group-context-menu.js.map +1 -1
- package/dist/collection/components/group/group.css +3 -2
- package/dist/collection/components/group/group.js +84 -48
- package/dist/collection/components/group/group.js.map +1 -1
- package/dist/collection/components/group/test/group.ct.js +70 -2
- package/dist/collection/components/group/test/group.ct.js.map +1 -1
- package/dist/collection/components/group-item/group-item.css +0 -4
- package/dist/collection/components/group-item/group-item.js +9 -12
- package/dist/collection/components/group-item/group-item.js.map +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -2
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +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-list/key-value-list.js +1 -1
- package/dist/collection/components/kpi/kpi.css +1 -1
- package/dist/collection/components/kpi/kpi.js +4 -4
- package/dist/collection/components/kpi/kpi.js.map +1 -1
- package/dist/collection/components/link-button/link-button.js +3 -3
- package/dist/collection/components/map-navigation/map-navigation.css +3 -3
- package/dist/collection/components/map-navigation/map-navigation.js +2 -2
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
- package/dist/collection/components/menu/menu-expand-icon.css +1 -1
- package/dist/collection/components/menu/menu-expand-icon.js +3 -3
- package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
- package/dist/collection/components/menu/menu.css +4 -3
- package/dist/collection/components/menu/menu.js +12 -12
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu/test/menu.ct.js +1 -1
- package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
- package/dist/collection/components/menu-about/menu-about.js +1 -1
- package/dist/collection/components/menu-about/test/menu-about.ct.js +44 -0
- package/dist/collection/components/menu-about/test/menu-about.ct.js.map +1 -0
- 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-about-news/menu-about-news.js.map +1 -1
- 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-category/menu-category.js.map +1 -1
- package/dist/collection/components/menu-item/menu-item.js +24 -21
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/menu-settings/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.css +19 -9
- package/dist/collection/components/modal/modal.js +11 -4
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal/test/modal.ct.js +47 -1
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/modal-content/modal-content.css +2 -2
- 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.css +6 -7
- package/dist/collection/components/modal-header/modal-header.js +4 -4
- package/dist/collection/components/modal-header/modal-header.js.map +1 -1
- package/dist/collection/components/modal-loading/modal-loading.js +1 -1
- package/dist/collection/components/pagination/pagination.js +5 -4
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/pane/pane.css +1 -1
- package/dist/collection/components/pane/pane.js +7 -7
- package/dist/collection/components/pane/pane.js.map +1 -1
- package/dist/collection/components/pane/test/panes.ct.js +1 -1
- package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
- package/dist/collection/components/pane-layout/pane-layout.js +1 -1
- package/dist/collection/components/pill/pill.css +2 -2
- package/dist/collection/components/pill/pill.js +5 -5
- package/dist/collection/components/pill/pill.js.map +1 -1
- package/dist/collection/components/playground/example-modal.js +1 -1
- package/dist/collection/components/playground/playground.js +2 -2
- package/dist/collection/components/playground/playground.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +9 -6
- package/dist/collection/components/push-card/push-card.js.map +1 -1
- package/dist/collection/components/row/row.css +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/row/row.js.map +1 -1
- package/dist/collection/components/select/select.js +83 -73
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +48 -3
- 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.css +1 -1
- package/dist/collection/components/slider/slider.js +24 -16
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/slider/test/slider.ct.js +15 -6
- package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
- 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.css +1 -1
- package/dist/collection/components/tabs/tabs.js +78 -43
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tabs/test/tabs.ct.js +35 -9
- package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
- package/dist/collection/components/tile/tile.css +1 -1
- package/dist/collection/components/tile/tile.js +5 -5
- package/dist/collection/components/tile/tile.js.map +1 -1
- package/dist/collection/components/time-picker/time-picker.css +10 -10
- package/dist/collection/components/time-picker/time-picker.js +3 -3
- package/dist/collection/components/time-picker/time-picker.js.map +1 -1
- package/dist/collection/components/toast/styles/toast-container.css +1 -1
- package/dist/collection/components/toast/toast-container.js +3 -3
- package/dist/collection/components/toast/toast-container.js.map +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.css +1 -1
- package/dist/collection/components/toast/toast.js +3 -3
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/toggle/toggle.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -5
- package/dist/collection/components/tooltip/tooltip.js +39 -35
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree/test/tree.ct.js +37 -1
- package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
- package/dist/collection/components/tree/tree-model.js.map +1 -1
- package/dist/collection/components/tree/tree.css +1 -1
- package/dist/collection/components/tree/tree.js +26 -11
- package/dist/collection/components/tree/tree.js.map +1 -1
- package/dist/collection/components/tree-item/tree-item.css +9 -0
- package/dist/collection/components/tree-item/tree-item.js +13 -12
- package/dist/collection/components/tree-item/tree-item.js.map +1 -1
- package/dist/collection/components/typography/test/ix-typography.spec.js +0 -14
- package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
- package/dist/collection/components/typography/type-mapping.js +3 -0
- package/dist/collection/components/typography/type-mapping.js.map +1 -1
- package/dist/collection/components/typography/typography.js +6 -42
- package/dist/collection/components/typography/typography.js.map +1 -1
- package/dist/collection/components/upload/test/upload.ct.js +17 -0
- package/dist/collection/components/upload/test/upload.ct.js.map +1 -0
- package/dist/collection/components/upload/upload.js +50 -6
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/components/utils/condition-checks.js +1 -1
- package/dist/collection/components/utils/condition-checks.js.map +1 -1
- package/dist/collection/components/utils/context.js +6 -3
- package/dist/collection/components/utils/context.js.map +1 -1
- package/dist/collection/components/utils/disposable-event-listener.js +19 -0
- package/dist/collection/components/utils/disposable-event-listener.js.map +1 -0
- package/dist/collection/components/utils/element-reference.js +2 -0
- package/dist/collection/components/utils/element-reference.js.map +1 -0
- package/dist/collection/components/utils/focus.js +19 -17
- package/dist/collection/components/utils/focus.js.map +1 -1
- package/dist/collection/components/utils/listener.js +2 -2
- package/dist/collection/components/utils/listener.js.map +1 -1
- package/dist/collection/components/utils/make-ref.js +7 -12
- package/dist/collection/components/utils/make-ref.js.map +1 -1
- package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js +11 -8
- package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
- package/dist/collection/components/utils/notification-color.js.map +1 -1
- package/dist/collection/components/utils/shadow-dom.js +1 -1
- package/dist/collection/components/utils/shadow-dom.js.map +1 -1
- package/dist/collection/components/utils/theme-switcher.js +1 -0
- package/dist/collection/components/utils/theme-switcher.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.css +1 -1
- package/dist/collection/components/workflow-step/workflow-step.js +4 -4
- package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +2 -2
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.css +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.js +2 -2
- package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/tests/application/application.e2e.js.map +1 -1
- package/dist/collection/tests/application-header/application-header.e2e.js +9 -0
- package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
- package/dist/collection/tests/avatar/avatar.e2e.js +6 -0
- package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
- package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
- package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
- package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
- package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
- package/dist/collection/tests/group/group.e2e.js +12 -3
- package/dist/collection/tests/group/group.e2e.js.map +1 -1
- package/dist/collection/tests/input/input.e2e.js +12 -0
- package/dist/collection/tests/input/input.e2e.js.map +1 -1
- package/dist/collection/tests/slider/slider.e2e.js +31 -0
- package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
- package/dist/collection/tests/tabs/tabs.e2e.js +1 -1
- package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
- package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
- package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
- package/dist/collection/tests/tree/tree.e2e.js +12 -0
- package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
- package/dist/collection/tests/utils/test/page.js +3 -12
- package/dist/collection/tests/utils/test/page.js.map +1 -1
- package/dist/esm/{a11y-d5444a76.js → a11y-2e34777f.js} +2 -2
- package/dist/esm/{a11y-d5444a76.js.map → a11y-2e34777f.js.map} +1 -1
- package/dist/esm/{base-button-1b40b11d.js → base-button-103d6f26.js} +3 -3
- package/dist/esm/base-button-103d6f26.js.map +1 -0
- package/dist/esm/{base-icon-button-bc1dabe0.js → base-icon-button-9770fa3e.js} +2 -2
- package/dist/esm/{base-icon-button-bc1dabe0.js.map → base-icon-button-9770fa3e.js.map} +1 -1
- package/dist/esm/{context-c9078420.js → context-42311cff.js} +7 -4
- package/dist/esm/context-42311cff.js.map +1 -0
- package/dist/esm/disposable-event-listener-ff2cb862.js +18 -0
- package/dist/esm/disposable-event-listener-ff2cb862.js.map +1 -0
- package/dist/esm/dropdown-controller-c79f65b3.js +148 -0
- package/dist/esm/dropdown-controller-c79f65b3.js.map +1 -0
- package/dist/esm/{floating-ui.dom.esm-6e7c098f.js → floating-ui.dom.esm-d4ad786a.js} +534 -61
- package/dist/esm/floating-ui.dom.esm-d4ad786a.js.map +1 -0
- package/dist/esm/{focus-d4d3abaf.js → focus-5ccebfbc.js} +21 -18
- package/dist/esm/focus-5ccebfbc.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application-header.entry.js +35 -9
- package/dist/esm/ix-application-header.entry.js.map +1 -1
- package/dist/esm/ix-application-sidebar.entry.js +1 -1
- package/dist/esm/ix-application-switch-modal.entry.js +1 -1
- package/dist/esm/ix-application.entry.js +7 -7
- package/dist/esm/ix-application.entry.js.map +1 -1
- package/dist/esm/ix-avatar_2.entry.js +5 -5
- package/dist/esm/ix-avatar_2.entry.js.map +1 -1
- package/dist/esm/ix-basic-navigation.entry.js +3 -3
- package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
- package/dist/esm/ix-blind.entry.js +6 -6
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
- package/dist/esm/ix-breadcrumb.entry.js +10 -9
- package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ix-button.entry.js +3 -3
- package/dist/esm/ix-button.entry.js.map +1 -1
- package/dist/esm/ix-card-accordion_2.entry.js +7 -7
- package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
- package/dist/esm/ix-card-list.entry.js +6 -6
- package/dist/esm/ix-card-list.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +5 -5
- package/dist/esm/ix-card_2.entry.js.map +1 -1
- package/dist/esm/ix-category-filter.entry.js +131 -71
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-chip.entry.js +4 -4
- package/dist/esm/ix-chip.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +58 -42
- package/dist/esm/ix-col_4.entry.js.map +1 -1
- package/dist/esm/ix-content-header.entry.js +2 -2
- package/dist/esm/ix-content-header.entry.js.map +1 -1
- package/dist/esm/ix-content.entry.js +4 -4
- package/dist/esm/ix-css-grid-item.entry.js +1 -1
- package/dist/esm/ix-css-grid.entry.js +8 -3
- package/dist/esm/ix-css-grid.entry.js.map +1 -1
- package/dist/esm/ix-date-dropdown.entry.js +25 -15
- package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-date-time-card.entry.js +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +1 -1
- package/dist/esm/ix-divider.entry.js +1 -1
- package/dist/esm/ix-drawer.entry.js +2 -2
- package/dist/esm/ix-dropdown-button.entry.js +4 -5
- package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-header.entry.js +1 -1
- package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +82 -183
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-empty-state.entry.js +1 -1
- 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.entry.js +2 -2
- package/dist/esm/ix-expanding-search.entry.js +4 -4
- package/dist/esm/ix-filter-chip_2.entry.js +2 -2
- package/dist/esm/ix-flip-tile-content.entry.js +1 -1
- package/dist/esm/ix-flip-tile.entry.js +4 -4
- package/dist/esm/ix-form-field.entry.js +2 -2
- package/dist/esm/ix-form-field.entry.js.map +1 -1
- package/dist/esm/ix-group-context-menu_2.entry.js +6 -10
- package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
- package/dist/esm/ix-group.entry.js +68 -44
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +5 -5
- package/dist/esm/ix-icon-toggle-button.entry.js +4 -5
- package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-key-value-list.entry.js +1 -1
- package/dist/esm/ix-key-value.entry.js +1 -1
- package/dist/esm/ix-kpi.entry.js +3 -3
- package/dist/esm/ix-kpi.entry.js.map +1 -1
- package/dist/esm/ix-link-button.entry.js +3 -3
- package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
- package/dist/esm/ix-map-navigation.entry.js +4 -4
- package/dist/esm/ix-map-navigation.entry.js.map +1 -1
- package/dist/esm/ix-menu-about-item.entry.js +1 -1
- package/dist/esm/ix-menu-about-news.entry.js +4 -4
- package/dist/esm/ix-menu-about-news.entry.js.map +1 -1
- package/dist/esm/ix-menu-about.entry.js +2 -2
- 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-category.entry.js.map +1 -1
- package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
- package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
- package/dist/esm/ix-menu-item.entry.js +15 -15
- package/dist/esm/ix-menu-item.entry.js.map +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +1 -1
- package/dist/esm/ix-menu-settings.entry.js +1 -1
- package/dist/esm/ix-menu.entry.js +14 -14
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +5 -5
- package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
- package/dist/esm/ix-modal-example.entry.js +1 -1
- package/dist/esm/ix-modal-footer.entry.js +1 -1
- package/dist/esm/ix-modal-loading.entry.js +1 -1
- package/dist/esm/ix-modal.entry.js +13 -6
- package/dist/esm/ix-modal.entry.js.map +1 -1
- package/dist/esm/ix-pagination.entry.js +5 -5
- package/dist/esm/ix-pagination.entry.js.map +1 -1
- package/dist/esm/ix-pane-layout.entry.js +1 -1
- package/dist/esm/ix-pane.entry.js +6 -6
- package/dist/esm/ix-pane.entry.js.map +1 -1
- package/dist/esm/ix-pill.entry.js +4 -4
- package/dist/esm/ix-pill.entry.js.map +1 -1
- package/dist/esm/ix-playground-internal.entry.js +1 -1
- package/dist/esm/ix-playground-internal.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +1 -1
- package/dist/esm/ix-push-card.entry.js.map +1 -1
- package/dist/esm/ix-select.entry.js +86 -73
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +23 -16
- package/dist/esm/ix-slider.entry.js.map +1 -1
- package/dist/esm/ix-split-button-item.entry.js +2 -2
- package/dist/esm/ix-split-button.entry.js +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +74 -44
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +4 -4
- package/dist/esm/ix-tile.entry.js.map +1 -1
- package/dist/esm/ix-time-picker.entry.js +4 -4
- package/dist/esm/ix-time-picker.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js +2 -2
- package/dist/esm/ix-toast-container.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +2 -2
- package/dist/esm/ix-toast.entry.js.map +1 -1
- package/dist/esm/ix-toggle-button.entry.js +4 -4
- package/dist/esm/ix-toggle.entry.js +3 -3
- package/dist/esm/ix-tooltip.entry.js +26 -24
- package/dist/esm/ix-tooltip.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +8 -8
- package/dist/esm/ix-tree-item.entry.js.map +1 -1
- package/dist/esm/ix-tree.entry.js +21 -7
- package/dist/esm/ix-tree.entry.js.map +1 -1
- package/dist/esm/ix-typography.entry.js +3 -24
- package/dist/esm/ix-typography.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +58 -4
- package/dist/esm/ix-upload.entry.js.map +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js.map +1 -1
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
- package/dist/esm/{listener-4f3baab5.js → listener-ade7081c.js} +3 -3
- package/dist/esm/listener-ade7081c.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{logical-filter-operator-f6701df5.js → logical-filter-operator-d793d1c3.js} +2 -2
- package/dist/esm/{logical-filter-operator-f6701df5.js.map → logical-filter-operator-d793d1c3.js.map} +1 -1
- package/dist/esm/{make-ref-c80046bf.js → make-ref-4b76e9b5.js} +8 -13
- package/dist/esm/make-ref-4b76e9b5.js.map +1 -0
- package/dist/esm/{menu-tabs-fc-d9a7dd06.js → menu-tabs-fc-b549da52.js} +18 -15
- package/dist/esm/menu-tabs-fc-b549da52.js.map +1 -0
- package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
- package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/esm/{theme-switcher-b10fb4da.js → theme-switcher-5fcf712d.js} +2 -1
- package/dist/esm/theme-switcher-5fcf712d.js.map +1 -0
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/{p-bf14c60b.entry.js → p-0379b864.entry.js} +2 -2
- package/dist/siemens-ix/{p-24a8737a.entry.js → p-054451cb.entry.js} +2 -2
- package/dist/siemens-ix/{p-5aa0b93c.entry.js → p-0691b6a5.entry.js} +2 -2
- package/dist/siemens-ix/{p-5aa0b93c.entry.js.map → p-0691b6a5.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-90440046.entry.js → p-06f9e19f.entry.js} +2 -2
- package/dist/siemens-ix/p-093c25b1.entry.js +2 -0
- package/dist/siemens-ix/p-093c25b1.entry.js.map +1 -0
- package/dist/siemens-ix/{p-fb4c79c6.entry.js → p-0996d9f6.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js → p-09e0ede1.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js.map → p-09e0ede1.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-7076210b.entry.js → p-0b8718d9.entry.js} +2 -2
- package/dist/siemens-ix/p-0b8718d9.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1da901d5.js → p-0e983f70.js} +2 -2
- package/dist/siemens-ix/p-0e983f70.js.map +1 -0
- package/dist/siemens-ix/p-0f099811.entry.js +2 -0
- package/dist/siemens-ix/{p-0f7ef743.entry.js.map → p-0f099811.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-bea7c748.entry.js → p-0f4e62f3.entry.js} +2 -2
- package/dist/siemens-ix/p-10368ba0.entry.js +2 -0
- package/dist/siemens-ix/{p-2ebfd4fd.entry.js.map → p-10368ba0.entry.js.map} +1 -1
- package/dist/siemens-ix/p-10a522ca.js +2 -0
- package/dist/siemens-ix/p-10a522ca.js.map +1 -0
- package/dist/siemens-ix/p-156fa685.entry.js +2 -0
- package/dist/siemens-ix/p-156fa685.entry.js.map +1 -0
- package/dist/siemens-ix/{p-4f8ac3bf.js → p-157b1b28.js} +1 -1
- package/dist/siemens-ix/{p-4f8ac3bf.js.map → p-157b1b28.js.map} +1 -1
- package/dist/siemens-ix/p-17240a7f.entry.js +2 -0
- package/dist/siemens-ix/p-17240a7f.entry.js.map +1 -0
- package/dist/siemens-ix/p-178ce002.js +2 -0
- package/dist/siemens-ix/p-178ce002.js.map +1 -0
- package/dist/siemens-ix/p-1a8e3fea.entry.js +2 -0
- package/dist/siemens-ix/{p-a8d291fa.entry.js → p-1b6dda61.entry.js} +2 -2
- package/dist/siemens-ix/p-1b6dda61.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bc2c74c5.entry.js → p-1e3d6d27.entry.js} +2 -2
- package/dist/siemens-ix/{p-1db6be55.js → p-24afab39.js} +2 -2
- package/dist/{cjs/menu-tabs-fc-df53f176.js.map → siemens-ix/p-24afab39.js.map} +1 -1
- package/dist/siemens-ix/p-26609c63.entry.js +2 -0
- package/dist/siemens-ix/p-26609c63.entry.js.map +1 -0
- package/dist/siemens-ix/{p-68644ee1.entry.js → p-2c1540ba.entry.js} +2 -2
- package/dist/siemens-ix/{p-68644ee1.entry.js.map → p-2c1540ba.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-9ebc4fc3.entry.js → p-2f232c45.entry.js} +2 -2
- package/dist/siemens-ix/p-2f232c45.entry.js.map +1 -0
- package/dist/siemens-ix/{p-6af4415c.entry.js → p-3028d530.entry.js} +2 -2
- package/dist/siemens-ix/{p-6af4415c.entry.js.map → p-3028d530.entry.js.map} +1 -1
- package/dist/siemens-ix/p-3150070f.entry.js +2 -0
- package/dist/siemens-ix/p-3150070f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f78246bd.entry.js → p-315ecf68.entry.js} +2 -2
- package/dist/siemens-ix/{p-712e0ee0.js → p-345e1c73.js} +1 -1
- package/dist/siemens-ix/{p-712e0ee0.js.map → p-345e1c73.js.map} +1 -1
- package/dist/siemens-ix/{p-fc5814df.entry.js → p-380a7d93.entry.js} +2 -2
- package/dist/siemens-ix/p-380a7d93.entry.js.map +1 -0
- package/dist/siemens-ix/p-3b576b4e.js +2 -0
- package/dist/siemens-ix/{p-112069ca.entry.js → p-3be4c628.entry.js} +2 -2
- package/dist/siemens-ix/p-3be4c628.entry.js.map +1 -0
- package/dist/siemens-ix/p-3e867ef9.entry.js +2 -0
- package/dist/siemens-ix/p-3e867ef9.entry.js.map +1 -0
- package/dist/siemens-ix/p-40f20208.entry.js +2 -0
- package/dist/siemens-ix/p-40f20208.entry.js.map +1 -0
- package/dist/siemens-ix/{p-d95cbd1f.entry.js → p-41935530.entry.js} +2 -2
- package/dist/siemens-ix/{p-d95cbd1f.entry.js.map → p-41935530.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-b663ca16.entry.js → p-41d9a2e4.entry.js} +2 -2
- package/dist/siemens-ix/p-476e4a9d.entry.js +2 -0
- package/dist/siemens-ix/p-476e4a9d.entry.js.map +1 -0
- package/dist/siemens-ix/{p-25ee1b62.js → p-4ac31849.js} +1 -1
- package/dist/siemens-ix/{p-25ee1b62.js.map → p-4ac31849.js.map} +1 -1
- package/dist/siemens-ix/{p-2c4c03d4.entry.js → p-509dba4c.entry.js} +2 -2
- package/dist/siemens-ix/{p-113cc793.entry.js → p-50bcb3f8.entry.js} +2 -2
- package/dist/siemens-ix/{p-dcb3e5be.entry.js → p-5232d441.entry.js} +2 -2
- package/dist/siemens-ix/p-5bf37272.entry.js +2 -0
- package/dist/siemens-ix/p-5bf37272.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5f25e7fd.entry.js → p-619a80d3.entry.js} +2 -2
- package/dist/siemens-ix/{p-5f25e7fd.entry.js.map → p-619a80d3.entry.js.map} +1 -1
- package/dist/siemens-ix/p-633a8884.entry.js +2 -0
- package/dist/siemens-ix/p-633a8884.entry.js.map +1 -0
- package/dist/siemens-ix/{p-dde7eb80.entry.js → p-66d4e328.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde7eb80.entry.js.map → p-66d4e328.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-1a122c76.entry.js → p-6913e59d.entry.js} +2 -2
- package/dist/siemens-ix/{p-fb47546b.entry.js → p-6a9577b5.entry.js} +2 -2
- package/dist/siemens-ix/p-6a9577b5.entry.js.map +1 -0
- package/dist/siemens-ix/{p-882a0233.entry.js → p-72472fa5.entry.js} +2 -2
- package/dist/siemens-ix/{p-1d581190.js → p-72d096e9.js} +2 -2
- package/dist/siemens-ix/p-72d096e9.js.map +1 -0
- package/dist/siemens-ix/{p-052340f9.entry.js → p-7354cdb0.entry.js} +2 -2
- package/dist/siemens-ix/p-737954bf.entry.js +2 -0
- package/dist/siemens-ix/p-737954bf.entry.js.map +1 -0
- package/dist/siemens-ix/p-737c61da.entry.js +2 -0
- package/dist/siemens-ix/{p-4430117a.entry.js.map → p-737c61da.entry.js.map} +1 -1
- package/dist/siemens-ix/p-73bd61ca.entry.js +2 -0
- package/dist/siemens-ix/{p-0653a145.entry.js → p-74461f94.entry.js} +2 -2
- package/dist/siemens-ix/{p-b4ce366d.entry.js → p-7815494b.entry.js} +2 -2
- package/dist/siemens-ix/p-7815494b.entry.js.map +1 -0
- package/dist/siemens-ix/{p-53352bfb.entry.js → p-8578629c.entry.js} +2 -2
- package/dist/siemens-ix/p-8578629c.entry.js.map +1 -0
- package/dist/siemens-ix/p-8a56153a.entry.js +2 -0
- package/dist/siemens-ix/{p-92a18c10.entry.js.map → p-8a56153a.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-fb2b78f7.entry.js → p-8b21fc75.entry.js} +2 -2
- package/dist/siemens-ix/p-8b21fc75.entry.js.map +1 -0
- package/dist/siemens-ix/p-8b2b4ce3.entry.js +2 -0
- package/dist/siemens-ix/p-8b2b4ce3.entry.js.map +1 -0
- package/dist/siemens-ix/p-8f48462b.entry.js +2 -0
- package/dist/siemens-ix/p-8f48462b.entry.js.map +1 -0
- package/dist/siemens-ix/p-9144ea56.entry.js +2 -0
- package/dist/siemens-ix/p-9144ea56.entry.js.map +1 -0
- package/dist/siemens-ix/p-98af5c4d.entry.js +2 -0
- package/dist/siemens-ix/p-98af5c4d.entry.js.map +1 -0
- package/dist/siemens-ix/p-99a1cd81.entry.js +2 -0
- package/dist/siemens-ix/{p-96a3a750.entry.js → p-9b8c6123.entry.js} +2 -2
- package/dist/siemens-ix/p-9b8c6123.entry.js.map +1 -0
- package/dist/siemens-ix/p-9cd40e56.entry.js +2 -0
- package/dist/siemens-ix/p-9cd40e56.entry.js.map +1 -0
- package/dist/siemens-ix/{p-2946fd70.entry.js → p-ad0c6a32.entry.js} +2 -2
- package/dist/siemens-ix/p-af7a836c.entry.js +2 -0
- package/dist/siemens-ix/p-af7a836c.entry.js.map +1 -0
- package/dist/siemens-ix/{p-6fd7ecd0.entry.js → p-b247d124.entry.js} +2 -2
- package/dist/siemens-ix/p-b53aa733.entry.js +2 -0
- package/dist/siemens-ix/p-b53aa733.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b804b8c5.entry.js → p-b6a11e17.entry.js} +2 -2
- package/dist/siemens-ix/p-b9e66925.entry.js +2 -0
- package/dist/siemens-ix/{p-2908cacd.entry.js → p-b9f67de0.entry.js} +2 -2
- package/dist/siemens-ix/{p-2908cacd.entry.js.map → p-b9f67de0.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-14a41c8c.entry.js → p-ba2e041e.entry.js} +2 -2
- package/dist/siemens-ix/p-ba6e955a.js +2 -0
- package/dist/siemens-ix/p-ba6e955a.js.map +1 -0
- package/dist/siemens-ix/p-bf1e16f6.entry.js +2 -0
- package/dist/siemens-ix/p-bf1e16f6.entry.js.map +1 -0
- package/dist/siemens-ix/{p-ff1ac5b3.entry.js → p-c0bf3052.entry.js} +2 -2
- package/dist/siemens-ix/{p-1f4b8463.entry.js → p-c39a6215.entry.js} +2 -2
- package/dist/siemens-ix/p-c5e08d24.entry.js +2 -0
- package/dist/siemens-ix/p-c5e08d24.entry.js.map +1 -0
- package/dist/siemens-ix/{p-29df2e29.entry.js → p-c841c191.entry.js} +2 -2
- package/dist/siemens-ix/p-c841c191.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5696bb62.entry.js → p-cacd4857.entry.js} +2 -2
- package/dist/siemens-ix/p-cdaad9de.entry.js +2 -0
- package/dist/siemens-ix/p-cdaad9de.entry.js.map +1 -0
- package/dist/siemens-ix/p-ce563a48.js +2 -0
- package/dist/siemens-ix/p-ce563a48.js.map +1 -0
- package/dist/siemens-ix/p-ce808a3f.entry.js +2 -0
- package/dist/siemens-ix/{p-d03df401.entry.js.map → p-ce808a3f.entry.js.map} +1 -1
- package/dist/siemens-ix/p-d057b634.entry.js +2 -0
- package/dist/siemens-ix/p-d1a5b773.entry.js +2 -0
- package/dist/siemens-ix/p-d1a5b773.entry.js.map +1 -0
- package/dist/siemens-ix/{p-16b923e9.entry.js → p-d7072aad.entry.js} +2 -2
- package/dist/siemens-ix/{p-af099ca4.entry.js → p-d7a0deb7.entry.js} +2 -2
- package/dist/siemens-ix/p-d8780f8c.entry.js +2 -0
- package/dist/siemens-ix/p-d8780f8c.entry.js.map +1 -0
- package/dist/siemens-ix/p-da71920f.entry.js +2 -0
- package/dist/siemens-ix/p-da71920f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-feac09bc.entry.js → p-dc284f4d.entry.js} +2 -2
- package/dist/siemens-ix/p-dda1ce22.entry.js +2 -0
- package/dist/siemens-ix/p-dda1ce22.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c33cee36.entry.js → p-de44d65b.entry.js} +2 -2
- package/dist/siemens-ix/{p-c33cee36.entry.js.map → p-de44d65b.entry.js.map} +1 -1
- package/dist/siemens-ix/p-e4441794.entry.js +2 -0
- package/dist/siemens-ix/p-e4441794.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e8d3cf35.entry.js → p-e4ca3618.entry.js} +2 -2
- package/dist/siemens-ix/{p-e8d3cf35.entry.js.map → p-e4ca3618.entry.js.map} +1 -1
- package/dist/siemens-ix/p-e6652822.js +2 -0
- package/dist/siemens-ix/p-e6652822.js.map +1 -0
- package/dist/siemens-ix/{p-8629db91.entry.js → p-e89c0e29.entry.js} +2 -2
- package/dist/siemens-ix/{p-0b4e398e.entry.js → p-ead295d5.entry.js} +2 -2
- package/dist/siemens-ix/{p-0b4e398e.entry.js.map → p-ead295d5.entry.js.map} +1 -1
- package/dist/siemens-ix/p-ec037f98.js +2 -0
- package/dist/siemens-ix/p-ec037f98.js.map +1 -0
- package/dist/siemens-ix/p-ee50f7fa.entry.js +2 -0
- package/dist/siemens-ix/{p-8d0758c1.entry.js → p-f47bd4e8.entry.js} +2 -2
- package/dist/siemens-ix/{p-87e692d9.entry.js → p-f576c41d.entry.js} +2 -2
- package/dist/siemens-ix/{p-87e692d9.entry.js.map → p-f576c41d.entry.js.map} +1 -1
- package/dist/siemens-ix/p-f5a9140e.entry.js +2 -0
- package/dist/siemens-ix/p-f5a9140e.entry.js.map +1 -0
- package/dist/siemens-ix/p-fb593d70.entry.js +2 -0
- package/dist/siemens-ix/p-fb593d70.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c1968b80.entry.js → p-fc766ada.entry.js} +2 -2
- package/dist/siemens-ix/p-fe01bff0.js +2 -0
- package/dist/siemens-ix/p-fe01bff0.js.map +1 -0
- package/dist/siemens-ix/p-ff6668b8.entry.js +2 -0
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +15 -11
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/types/components/action-card/action-card.d.ts +3 -2
- package/dist/types/components/application-header/application-header.d.ts +19 -1
- package/dist/types/components/basic-navigation/basic-navigation.d.ts +2 -1
- package/dist/types/components/blind/blind.d.ts +4 -4
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +3 -3
- package/dist/types/components/button/base-button.d.ts +3 -2
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/card/card.d.ts +2 -1
- package/dist/types/components/category-filter/category-filter.d.ts +23 -12
- package/dist/types/components/category-filter/test/category-filter.ct.d.ts +1 -0
- package/dist/types/components/content-header/content-header.d.ts +1 -1
- package/dist/types/components/css-grid/css-grid.d.ts +2 -2
- package/dist/types/components/date-dropdown/date-dropdown.d.ts +3 -3
- package/dist/types/components/date-picker/date-picker.d.ts +6 -7
- package/dist/types/components/dropdown/dropdown-controller.d.ts +1 -6
- package/dist/types/components/dropdown/dropdown.d.ts +11 -10
- package/dist/types/components/dropdown-button/dropdown-button.d.ts +4 -4
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +7 -6
- package/dist/types/components/group-item/group-item.d.ts +4 -4
- package/dist/types/components/menu-about/test/menu-about.ct.d.ts +1 -0
- package/dist/types/components/menu-item/menu-item.d.ts +6 -5
- package/dist/types/components/modal/test/modal.ct.d.ts +3 -2
- package/dist/types/components/modal-header/modal-header.d.ts +3 -3
- package/dist/types/components/push-card/push-card.d.ts +4 -3
- package/dist/types/components/select/select.d.ts +9 -10
- package/dist/types/components/slider/slider.d.ts +3 -3
- package/dist/types/components/tab-item/tab-item.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +7 -4
- package/dist/types/components/tooltip/tooltip.d.ts +10 -10
- package/dist/types/components/tree/tree.d.ts +1 -1
- package/dist/types/components/tree-item/tree-item.d.ts +3 -3
- package/dist/types/components/typography/type-mapping.d.ts +3 -0
- package/dist/types/components/typography/typography.d.ts +3 -10
- package/dist/types/components/upload/test/upload.ct.d.ts +1 -0
- package/dist/types/components/upload/upload.d.ts +4 -2
- package/dist/types/components/utils/disposable-event-listener.d.ts +7 -0
- package/dist/types/components/utils/element-reference.d.ts +1 -0
- package/dist/types/components/utils/focus.d.ts +5 -4
- package/dist/types/components/utils/listener.d.ts +4 -2
- package/dist/types/components/utils/make-ref.d.ts +2 -2
- package/dist/types/components/utils/theme-switcher.d.ts +1 -1
- package/dist/types/components.d.ts +114 -75
- package/dist/types/index.d.ts +2 -0
- package/dist/types/tests/utils/test/page.d.ts +1 -3
- package/hydrate/index.js +1536 -788
- package/package.json +6 -4
- package/scss/_core.scss +5 -0
- package/scss/components/form/_input.scss +17 -20
- package/dist/cjs/base-button-3735b8c2.js.map +0 -1
- package/dist/cjs/context-98f4a0b3.js.map +0 -1
- package/dist/cjs/floating-ui.dom.esm-94b4d17c.js.map +0 -1
- package/dist/cjs/focus-9c8ffbb0.js.map +0 -1
- package/dist/cjs/listener-bc3e7c0c.js.map +0 -1
- package/dist/cjs/make-ref-c25629b7.js.map +0 -1
- package/dist/cjs/theme-switcher-2d2bde85.js.map +0 -1
- package/dist/esm/base-button-1b40b11d.js.map +0 -1
- package/dist/esm/context-c9078420.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
- package/dist/esm/focus-d4d3abaf.js.map +0 -1
- package/dist/esm/listener-4f3baab5.js.map +0 -1
- package/dist/esm/make-ref-c80046bf.js.map +0 -1
- package/dist/esm/menu-tabs-fc-d9a7dd06.js.map +0 -1
- package/dist/esm/theme-switcher-b10fb4da.js.map +0 -1
- package/dist/siemens-ix/p-0c8a98cd.js +0 -2
- package/dist/siemens-ix/p-0c8a98cd.js.map +0 -1
- package/dist/siemens-ix/p-0d2a6886.entry.js +0 -2
- package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
- package/dist/siemens-ix/p-112069ca.entry.js.map +0 -1
- package/dist/siemens-ix/p-15b3c17e.entry.js +0 -2
- package/dist/siemens-ix/p-15b3c17e.entry.js.map +0 -1
- package/dist/siemens-ix/p-1cff59db.entry.js +0 -2
- package/dist/siemens-ix/p-1cff59db.entry.js.map +0 -1
- package/dist/siemens-ix/p-1d581190.js.map +0 -1
- package/dist/siemens-ix/p-1da901d5.js.map +0 -1
- package/dist/siemens-ix/p-1db6be55.js.map +0 -1
- package/dist/siemens-ix/p-29df2e29.entry.js.map +0 -1
- package/dist/siemens-ix/p-2ebfd4fd.entry.js +0 -2
- package/dist/siemens-ix/p-2ec7f841.entry.js +0 -2
- package/dist/siemens-ix/p-2ec7f841.entry.js.map +0 -1
- package/dist/siemens-ix/p-309ac3ad.entry.js +0 -2
- package/dist/siemens-ix/p-309ac3ad.entry.js.map +0 -1
- package/dist/siemens-ix/p-315f070d.entry.js +0 -2
- package/dist/siemens-ix/p-315f070d.entry.js.map +0 -1
- package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
- package/dist/siemens-ix/p-32d4ed3b.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
- package/dist/siemens-ix/p-4430117a.entry.js +0 -2
- package/dist/siemens-ix/p-44db3646.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js.map +0 -1
- package/dist/siemens-ix/p-52857629.entry.js +0 -2
- package/dist/siemens-ix/p-52857629.entry.js.map +0 -1
- package/dist/siemens-ix/p-53352bfb.entry.js.map +0 -1
- package/dist/siemens-ix/p-5c673ae9.entry.js +0 -2
- package/dist/siemens-ix/p-5c673ae9.entry.js.map +0 -1
- package/dist/siemens-ix/p-60c16878.entry.js +0 -2
- package/dist/siemens-ix/p-60c16878.entry.js.map +0 -1
- package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
- package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
- package/dist/siemens-ix/p-64c3fa3d.js +0 -2
- package/dist/siemens-ix/p-64c3fa3d.js.map +0 -1
- package/dist/siemens-ix/p-68532fa2.js +0 -2
- package/dist/siemens-ix/p-7076210b.entry.js.map +0 -1
- package/dist/siemens-ix/p-713828ed.entry.js +0 -2
- package/dist/siemens-ix/p-713828ed.entry.js.map +0 -1
- package/dist/siemens-ix/p-7bfd6cd2.entry.js +0 -2
- package/dist/siemens-ix/p-7bfd6cd2.entry.js.map +0 -1
- package/dist/siemens-ix/p-7c36d3fa.js +0 -2
- package/dist/siemens-ix/p-7c36d3fa.js.map +0 -1
- package/dist/siemens-ix/p-7faa148f.entry.js +0 -2
- package/dist/siemens-ix/p-85423643.entry.js +0 -2
- package/dist/siemens-ix/p-85423643.entry.js.map +0 -1
- package/dist/siemens-ix/p-8d599677.entry.js +0 -2
- package/dist/siemens-ix/p-8d599677.entry.js.map +0 -1
- package/dist/siemens-ix/p-92a18c10.entry.js +0 -2
- package/dist/siemens-ix/p-96a3a750.entry.js.map +0 -1
- package/dist/siemens-ix/p-9ebc4fc3.entry.js.map +0 -1
- package/dist/siemens-ix/p-a0138163.entry.js +0 -2
- package/dist/siemens-ix/p-a0138163.entry.js.map +0 -1
- package/dist/siemens-ix/p-a0a44a2b.entry.js +0 -2
- package/dist/siemens-ix/p-a0a44a2b.entry.js.map +0 -1
- package/dist/siemens-ix/p-a8d291fa.entry.js.map +0 -1
- package/dist/siemens-ix/p-b3b23af7.entry.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js.map +0 -1
- package/dist/siemens-ix/p-b4ce366d.entry.js.map +0 -1
- package/dist/siemens-ix/p-c09553f3.js +0 -2
- package/dist/siemens-ix/p-c09553f3.js.map +0 -1
- package/dist/siemens-ix/p-c1222581.entry.js +0 -2
- package/dist/siemens-ix/p-c45601cb.entry.js +0 -2
- package/dist/siemens-ix/p-c45601cb.entry.js.map +0 -1
- package/dist/siemens-ix/p-c55db6c7.entry.js +0 -2
- package/dist/siemens-ix/p-c55db6c7.entry.js.map +0 -1
- package/dist/siemens-ix/p-d03df401.entry.js +0 -2
- package/dist/siemens-ix/p-d14024d3.entry.js +0 -2
- package/dist/siemens-ix/p-d14024d3.entry.js.map +0 -1
- package/dist/siemens-ix/p-d1f49940.entry.js +0 -2
- package/dist/siemens-ix/p-d1f49940.entry.js.map +0 -1
- package/dist/siemens-ix/p-d998415f.entry.js +0 -2
- package/dist/siemens-ix/p-d998415f.entry.js.map +0 -1
- package/dist/siemens-ix/p-e30ed20a.entry.js +0 -2
- package/dist/siemens-ix/p-e30ed20a.entry.js.map +0 -1
- package/dist/siemens-ix/p-e9a3f58a.entry.js +0 -2
- package/dist/siemens-ix/p-e9a3f58a.entry.js.map +0 -1
- package/dist/siemens-ix/p-eb6268a6.entry.js +0 -2
- package/dist/siemens-ix/p-eb6268a6.entry.js.map +0 -1
- package/dist/siemens-ix/p-ebb277f0.entry.js +0 -2
- package/dist/siemens-ix/p-ebb277f0.entry.js.map +0 -1
- package/dist/siemens-ix/p-f07110c6.entry.js +0 -2
- package/dist/siemens-ix/p-f07110c6.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb2b78f7.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb47546b.entry.js.map +0 -1
- package/dist/siemens-ix/p-fc5814df.entry.js.map +0 -1
- package/dist/siemens-ix/p-ff148103.entry.js +0 -2
- package/dist/siemens-ix/p-ff148103.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-bf14c60b.entry.js.map → p-0379b864.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-24a8737a.entry.js.map → p-054451cb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-90440046.entry.js.map → p-06f9e19f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fb4c79c6.entry.js.map → p-0996d9f6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bea7c748.entry.js.map → p-0f4e62f3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1222581.entry.js.map → p-1a8e3fea.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bc2c74c5.entry.js.map → p-1e3d6d27.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f78246bd.entry.js.map → p-315ecf68.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-68532fa2.js.map → p-3b576b4e.js.map} +0 -0
- /package/dist/siemens-ix/{p-b663ca16.entry.js.map → p-41d9a2e4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2c4c03d4.entry.js.map → p-509dba4c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-113cc793.entry.js.map → p-50bcb3f8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dcb3e5be.entry.js.map → p-5232d441.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1a122c76.entry.js.map → p-6913e59d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-882a0233.entry.js.map → p-72472fa5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-052340f9.entry.js.map → p-7354cdb0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32d4ed3b.entry.js.map → p-73bd61ca.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0653a145.entry.js.map → p-74461f94.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b3b23af7.entry.js.map → p-99a1cd81.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2946fd70.entry.js.map → p-ad0c6a32.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6fd7ecd0.entry.js.map → p-b247d124.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b804b8c5.entry.js.map → p-b6a11e17.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-44db3646.entry.js.map → p-b9e66925.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-14a41c8c.entry.js.map → p-ba2e041e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ff1ac5b3.entry.js.map → p-c0bf3052.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1f4b8463.entry.js.map → p-c39a6215.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5696bb62.entry.js.map → p-cacd4857.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7faa148f.entry.js.map → p-d057b634.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-16b923e9.entry.js.map → p-d7072aad.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af099ca4.entry.js.map → p-d7a0deb7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-feac09bc.entry.js.map → p-dc284f4d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8629db91.entry.js.map → p-e89c0e29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32375ddb.entry.js.map → p-ee50f7fa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8d0758c1.entry.js.map → p-f47bd4e8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1968b80.entry.js.map → p-fc766ada.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0d2a6886.entry.js.map → p-ff6668b8.entry.js.map} +0 -0
|
@@ -20,10 +20,15 @@ import { h, Host, } from "@stencil/core";
|
|
|
20
20
|
import { ArrowFocusController } from "../utils/focus";
|
|
21
21
|
import { OnListener } from "../utils/listener";
|
|
22
22
|
import { createMutationObserver } from "../utils/mutation-observer";
|
|
23
|
+
import { makeRef } from "../utils/make-ref";
|
|
23
24
|
export class Select {
|
|
24
25
|
constructor() {
|
|
25
|
-
this.
|
|
26
|
+
this.dropdownWrapperRef = makeRef();
|
|
27
|
+
this.dropdownAnchor = makeRef();
|
|
26
28
|
this.itemObserver = createMutationObserver(() => {
|
|
29
|
+
if (!this.arrowFocusController) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
27
32
|
this.arrowFocusController.items = this.visibleNonShadowItems;
|
|
28
33
|
});
|
|
29
34
|
this.selectedIndices = undefined;
|
|
@@ -39,13 +44,11 @@ export class Select {
|
|
|
39
44
|
this.i18nNoMatches = 'No matches';
|
|
40
45
|
this.hideListHeader = false;
|
|
41
46
|
this.dropdownShow = false;
|
|
42
|
-
this.selectedLabels =
|
|
43
|
-
this.dropdownWrapperRef = undefined;
|
|
44
|
-
this.dropdownAnchor = undefined;
|
|
47
|
+
this.selectedLabels = [];
|
|
45
48
|
this.isDropdownEmpty = false;
|
|
46
49
|
this.navigationItem = undefined;
|
|
47
|
-
this.inputFilterText =
|
|
48
|
-
this.inputValue =
|
|
50
|
+
this.inputFilterText = '';
|
|
51
|
+
this.inputValue = '';
|
|
49
52
|
}
|
|
50
53
|
get nonShadowItems() {
|
|
51
54
|
return Array.from(this.hostElement.querySelectorAll('ix-select-item'));
|
|
@@ -69,7 +72,8 @@ export class Select {
|
|
|
69
72
|
return this.items.filter((item) => item.selected);
|
|
70
73
|
}
|
|
71
74
|
get addItemButton() {
|
|
72
|
-
|
|
75
|
+
var _a;
|
|
76
|
+
return (_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.add-item');
|
|
73
77
|
}
|
|
74
78
|
get isSingleMode() {
|
|
75
79
|
return this.mode === 'single';
|
|
@@ -89,8 +93,8 @@ export class Select {
|
|
|
89
93
|
this.updateSelection();
|
|
90
94
|
}
|
|
91
95
|
watchDropdownShow(show) {
|
|
92
|
-
if (show) {
|
|
93
|
-
this.arrowFocusController = new ArrowFocusController(this.visibleNonShadowItems, this.dropdownRef, this.
|
|
96
|
+
if (show && this.dropdownRef) {
|
|
97
|
+
this.arrowFocusController = new ArrowFocusController(this.visibleNonShadowItems, this.dropdownRef, (index) => this.focusDropdownItem(index));
|
|
94
98
|
this.arrowFocusController.wrap = !this.editable;
|
|
95
99
|
this.itemObserver.observe(this.dropdownRef, {
|
|
96
100
|
childList: true,
|
|
@@ -98,35 +102,43 @@ export class Select {
|
|
|
98
102
|
});
|
|
99
103
|
}
|
|
100
104
|
else {
|
|
101
|
-
this.
|
|
102
|
-
this.arrowFocusController = undefined;
|
|
103
|
-
this.itemObserver.disconnect();
|
|
105
|
+
this.cleanupResources();
|
|
104
106
|
}
|
|
105
107
|
}
|
|
108
|
+
cleanupResources() {
|
|
109
|
+
var _a, _b;
|
|
110
|
+
(_a = this.arrowFocusController) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
111
|
+
this.arrowFocusController = undefined;
|
|
112
|
+
(_b = this.itemObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
|
|
113
|
+
}
|
|
106
114
|
onItemClicked(event) {
|
|
107
115
|
const newId = event.detail;
|
|
108
116
|
this.itemClick(newId);
|
|
109
117
|
}
|
|
110
118
|
focusDropdownItem(index) {
|
|
111
|
-
var _a;
|
|
119
|
+
var _a, _b;
|
|
112
120
|
this.navigationItem = undefined;
|
|
113
121
|
if (index < this.visibleNonShadowItems.length) {
|
|
114
|
-
const nestedDropdownItem = (_a = this.visibleNonShadowItems[index]) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector('ix-dropdown-item');
|
|
122
|
+
const nestedDropdownItem = (_b = (_a = this.visibleNonShadowItems[index]) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('ix-dropdown-item');
|
|
115
123
|
requestAnimationFrame(() => {
|
|
116
|
-
|
|
124
|
+
var _a, _b;
|
|
125
|
+
(_b = (_a = nestedDropdownItem === null || nestedDropdownItem === void 0 ? void 0 : nestedDropdownItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button')) === null || _b === void 0 ? void 0 : _b.focus();
|
|
117
126
|
});
|
|
118
127
|
}
|
|
119
128
|
}
|
|
120
129
|
itemClick(newId) {
|
|
130
|
+
const oldValue = this.value;
|
|
121
131
|
const value = this.toggleValue(newId);
|
|
132
|
+
this.value = value;
|
|
122
133
|
const defaultPrevented = this.emitValueChange(value);
|
|
123
134
|
if (defaultPrevented) {
|
|
135
|
+
this.value = oldValue;
|
|
124
136
|
return;
|
|
125
137
|
}
|
|
126
|
-
this.value = value;
|
|
127
138
|
this.updateSelection();
|
|
128
139
|
}
|
|
129
140
|
emitAddItem(value) {
|
|
141
|
+
var _a;
|
|
130
142
|
if (value === undefined || value.trim() === '') {
|
|
131
143
|
return false;
|
|
132
144
|
}
|
|
@@ -137,7 +149,7 @@ export class Select {
|
|
|
137
149
|
const newItem = document.createElement('ix-select-item');
|
|
138
150
|
newItem.value = value;
|
|
139
151
|
newItem.label = value;
|
|
140
|
-
this.customItemsContainerRef.appendChild(newItem);
|
|
152
|
+
(_a = this.customItemsContainerRef) === null || _a === void 0 ? void 0 : _a.appendChild(newItem);
|
|
141
153
|
this.clearInput();
|
|
142
154
|
this.itemClick(value);
|
|
143
155
|
return false;
|
|
@@ -177,12 +189,13 @@ export class Select {
|
|
|
177
189
|
});
|
|
178
190
|
});
|
|
179
191
|
this.selectedLabels = this.selectedItems.map((item) => item.label);
|
|
180
|
-
if (
|
|
192
|
+
if (((_a = this.selectedLabels) === null || _a === void 0 ? void 0 : _a.length) && this.isSingleMode) {
|
|
181
193
|
this.inputValue = this.selectedLabels[0];
|
|
182
|
-
this.inputRef && (this.inputRef.value = this.inputValue);
|
|
183
|
-
return;
|
|
184
194
|
}
|
|
185
|
-
|
|
195
|
+
else {
|
|
196
|
+
this.inputValue = '';
|
|
197
|
+
}
|
|
198
|
+
this.inputRef && (this.inputRef.value = this.inputValue);
|
|
186
199
|
}
|
|
187
200
|
emitValueChange(value) {
|
|
188
201
|
const { defaultPrevented } = this.valueChange.emit(value);
|
|
@@ -190,7 +203,7 @@ export class Select {
|
|
|
190
203
|
return true;
|
|
191
204
|
}
|
|
192
205
|
if (!value) {
|
|
193
|
-
this.itemSelectionChange.emit(
|
|
206
|
+
this.itemSelectionChange.emit(undefined);
|
|
194
207
|
}
|
|
195
208
|
else {
|
|
196
209
|
this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);
|
|
@@ -198,9 +211,11 @@ export class Select {
|
|
|
198
211
|
return false;
|
|
199
212
|
}
|
|
200
213
|
componentDidLoad() {
|
|
201
|
-
|
|
214
|
+
var _a;
|
|
215
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.addEventListener('input', () => {
|
|
216
|
+
var _a;
|
|
202
217
|
this.dropdownShow = true;
|
|
203
|
-
this.inputChange.emit(this.inputRef.value);
|
|
218
|
+
this.inputChange.emit((_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value);
|
|
204
219
|
});
|
|
205
220
|
}
|
|
206
221
|
componentWillLoad() {
|
|
@@ -215,18 +230,17 @@ export class Select {
|
|
|
215
230
|
this.updateSelection();
|
|
216
231
|
}
|
|
217
232
|
disconnectedCallback() {
|
|
218
|
-
|
|
219
|
-
this.itemMutationObserver.disconnect();
|
|
220
|
-
}
|
|
233
|
+
this.cleanupResources();
|
|
221
234
|
}
|
|
222
235
|
itemExists(item) {
|
|
223
236
|
return this.items.find((i) => i.label === item);
|
|
224
237
|
}
|
|
225
238
|
dropdownVisibilityChanged(event) {
|
|
239
|
+
var _a, _b;
|
|
226
240
|
this.dropdownShow = event.detail;
|
|
227
241
|
if (event.detail) {
|
|
228
|
-
this.inputRef.focus();
|
|
229
|
-
this.inputRef.select();
|
|
242
|
+
(_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
243
|
+
(_b = this.inputRef) === null || _b === void 0 ? void 0 : _b.select();
|
|
230
244
|
this.removeHiddenFromItems();
|
|
231
245
|
this.isDropdownEmpty = this.isEveryDropdownItemHidden;
|
|
232
246
|
}
|
|
@@ -244,34 +258,30 @@ export class Select {
|
|
|
244
258
|
return;
|
|
245
259
|
}
|
|
246
260
|
if (event.code === 'Enter' || event.code === 'NumpadEnter') {
|
|
247
|
-
await this.onEnterNavigation();
|
|
261
|
+
await this.onEnterNavigation(event.target);
|
|
248
262
|
}
|
|
249
263
|
if (event.code === 'Escape') {
|
|
250
264
|
this.dropdownShow = false;
|
|
251
265
|
}
|
|
252
266
|
}
|
|
253
|
-
async onEnterNavigation() {
|
|
254
|
-
var _a;
|
|
267
|
+
async onEnterNavigation(el) {
|
|
255
268
|
if (this.isMultipleMode) {
|
|
256
269
|
return;
|
|
257
270
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
271
|
+
if (!this.itemExists(this.inputFilterText.trim()) &&
|
|
272
|
+
!this.itemExists(el === null || el === void 0 ? void 0 : el.label)) {
|
|
273
|
+
if (this.editable) {
|
|
274
|
+
const defaultPrevented = this.emitAddItem(this.inputFilterText.trim());
|
|
275
|
+
if (defaultPrevented) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
263
278
|
}
|
|
264
|
-
item = this.items[this.items.length - 1];
|
|
265
|
-
}
|
|
266
|
-
if (item) {
|
|
267
|
-
item.onItemClick();
|
|
268
|
-
}
|
|
269
|
-
await ((_a = this.dropdownRef) === null || _a === void 0 ? void 0 : _a.updatePosition());
|
|
270
|
-
if (this.isSingleMode && !this.editable) {
|
|
271
|
-
this.dropdownShow = false;
|
|
272
279
|
}
|
|
280
|
+
this.dropdownShow = false;
|
|
281
|
+
this.updateSelection();
|
|
273
282
|
}
|
|
274
283
|
async onArrowNavigation(event, key) {
|
|
284
|
+
var _a, _b;
|
|
275
285
|
if (event.defaultPrevented) {
|
|
276
286
|
return;
|
|
277
287
|
}
|
|
@@ -310,7 +320,7 @@ export class Select {
|
|
|
310
320
|
return;
|
|
311
321
|
}
|
|
312
322
|
if (this.isAddItemVisible() &&
|
|
313
|
-
this.addItemRef.contains(await this.navigationItem.getDropdownItemElement())) {
|
|
323
|
+
((_a = this.addItemRef) === null || _a === void 0 ? void 0 : _a.contains((await ((_b = this.navigationItem) === null || _b === void 0 ? void 0 : _b.getDropdownItemElement())) || null))) {
|
|
314
324
|
if (moveUp) {
|
|
315
325
|
this.applyFocusTo(this.visibleItems.pop());
|
|
316
326
|
}
|
|
@@ -356,20 +366,20 @@ export class Select {
|
|
|
356
366
|
}
|
|
357
367
|
this.navigationItem = element;
|
|
358
368
|
setTimeout(() => {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
.shadowRoot.querySelector('button')
|
|
362
|
-
.focus();
|
|
369
|
+
var _a, _b, _c, _d;
|
|
370
|
+
(_d = (_c = (_b = (_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ix-dropdown-item')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('button')) === null || _d === void 0 ? void 0 : _d.focus();
|
|
363
371
|
});
|
|
364
372
|
}
|
|
365
373
|
focusAddItemButton() {
|
|
374
|
+
var _a, _b;
|
|
366
375
|
if (this.addItemButton) {
|
|
367
|
-
this.addItemButton.shadowRoot.querySelector('button').focus();
|
|
376
|
+
(_b = (_a = this.addItemButton.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button')) === null || _b === void 0 ? void 0 : _b.focus();
|
|
368
377
|
this.navigationItem = this.addItemRef;
|
|
369
378
|
}
|
|
370
379
|
}
|
|
371
380
|
filterItemsWithTypeahead() {
|
|
372
|
-
|
|
381
|
+
var _a;
|
|
382
|
+
this.inputFilterText = ((_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.value) || '';
|
|
373
383
|
if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {
|
|
374
384
|
return;
|
|
375
385
|
}
|
|
@@ -395,26 +405,29 @@ export class Select {
|
|
|
395
405
|
});
|
|
396
406
|
}
|
|
397
407
|
clearInput() {
|
|
398
|
-
this.inputRef
|
|
408
|
+
if (this.inputRef) {
|
|
409
|
+
this.inputRef.value = '';
|
|
410
|
+
}
|
|
399
411
|
this.inputFilterText = '';
|
|
400
412
|
}
|
|
401
413
|
clear() {
|
|
402
414
|
this.clearInput();
|
|
403
415
|
this.selectedLabels = [];
|
|
404
416
|
this.value = [];
|
|
405
|
-
this.valueChange.emit(
|
|
417
|
+
this.valueChange.emit(undefined);
|
|
406
418
|
this.dropdownShow = false;
|
|
407
419
|
}
|
|
408
|
-
onInputBlur(
|
|
420
|
+
onInputBlur() {
|
|
409
421
|
if (this.editable) {
|
|
410
422
|
return;
|
|
411
423
|
}
|
|
412
424
|
if (this.isSingleMode) {
|
|
413
425
|
return;
|
|
414
426
|
}
|
|
415
|
-
if (
|
|
416
|
-
|
|
427
|
+
if (this.dropdownShow) {
|
|
428
|
+
return;
|
|
417
429
|
}
|
|
430
|
+
this.value = this.selectedLabels;
|
|
418
431
|
}
|
|
419
432
|
placeholderValue() {
|
|
420
433
|
if (this.disabled) {
|
|
@@ -435,23 +448,23 @@ export class Select {
|
|
|
435
448
|
}
|
|
436
449
|
render() {
|
|
437
450
|
var _a, _b, _c;
|
|
438
|
-
return (h(Host, { key: '
|
|
451
|
+
return (h(Host, { key: '9d82f1db52dd35e9ad53770cb72d4af1cdcfcd45' }, h("div", { key: 'cd6821962939f072a5b5178694443bca4632d815', class: {
|
|
439
452
|
select: true,
|
|
440
453
|
disabled: this.disabled,
|
|
441
454
|
readonly: this.readonly,
|
|
442
455
|
}, ref: (ref) => {
|
|
443
|
-
this.dropdownAnchor
|
|
456
|
+
this.dropdownAnchor(ref);
|
|
444
457
|
if (!this.editable)
|
|
445
|
-
this.dropdownWrapperRef
|
|
446
|
-
} }, h("div", { key: '
|
|
458
|
+
this.dropdownWrapperRef(ref);
|
|
459
|
+
} }, h("div", { key: '813a9074998686a2fa58f49c4c7e57fd59c9db1b', class: "input-container" }, h("div", { key: 'af61142f7b3261743f19306fd5927caffa0cb55f', class: "chips" }, this.isMultipleMode
|
|
447
460
|
? (_a = this.selectedItems) === null || _a === void 0 ? void 0 : _a.map((item) => (h("ix-filter-chip", { disabled: this.disabled || this.readonly, key: item.value, onCloseClick: (e) => {
|
|
448
461
|
e.preventDefault();
|
|
449
462
|
e.stopPropagation();
|
|
450
463
|
this.itemClick(item.value);
|
|
451
464
|
} }, item.label)))
|
|
452
|
-
: '', h("div", { key: '
|
|
465
|
+
: '', h("div", { key: 'f9caaabe83123616e5dbd7c7421aae0a387090f4', class: "trigger" }, h("input", { key: '387891a2a3e92b3b11ac30b398733d3fde6e6760', autocomplete: "off", "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, type: "text", class: {
|
|
453
466
|
'allow-clear': this.allowClear && !!((_b = this.selectedLabels) === null || _b === void 0 ? void 0 : _b.length),
|
|
454
|
-
}, placeholder: this.placeholderValue(), value: this.inputValue, ref: (ref) => (this.inputRef = ref), onBlur: (
|
|
467
|
+
}, placeholder: this.placeholderValue(), value: this.inputValue, ref: (ref) => (this.inputRef = ref), onBlur: () => this.onInputBlur(), onFocus: () => {
|
|
455
468
|
this.navigationItem = undefined;
|
|
456
469
|
}, onInput: () => this.filterItemsWithTypeahead(), onKeyDown: (e) => this.onKeyDown(e) }), this.allowClear &&
|
|
457
470
|
(((_c = this.selectedLabels) === null || _c === void 0 ? void 0 : _c.length) || this.inputFilterText) ? (h("ix-icon-button", { class: "clear", icon: 'clear', ghost: true, oval: true, size: "16", onClick: (e) => {
|
|
@@ -460,23 +473,22 @@ export class Select {
|
|
|
460
473
|
this.clear();
|
|
461
474
|
} })) : null, this.disabled || this.readonly ? null : (h("ix-icon-button", { "data-select-dropdown": true, class: { 'dropdown-visible': this.dropdownShow }, icon: "chevron-down-small", ghost: true, ref: (ref) => {
|
|
462
475
|
if (this.editable)
|
|
463
|
-
this.dropdownWrapperRef
|
|
464
|
-
} })))))), h("ix-dropdown", { key: '
|
|
476
|
+
this.dropdownWrapperRef(ref);
|
|
477
|
+
} })))))), h("ix-dropdown", { key: 'e7f921957ee555565c0e9a5cf1638f6e7a7bfb0d', ref: (ref) => (this.dropdownRef = ref), show: this.dropdownShow, closeBehavior: this.isMultipleMode ? 'outside' : 'both', class: {
|
|
465
478
|
'd-none': this.disabled || this.readonly,
|
|
466
|
-
}, anchor: this.dropdownAnchor, trigger: this.dropdownWrapperRef, onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom-start", overwriteDropdownStyle: async () => {
|
|
479
|
+
}, anchor: this.dropdownAnchor.waitForCurrent(), trigger: this.dropdownWrapperRef.waitForCurrent(), onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom-start", overwriteDropdownStyle: async () => {
|
|
467
480
|
return {
|
|
468
481
|
minWidth: `${this.hostElement.clientWidth}px`,
|
|
469
482
|
};
|
|
470
|
-
} }, h("div", { key: '
|
|
483
|
+
} }, h("div", { key: 'c996819e19367421551249e2776e2537f2ce94cd', class: {
|
|
471
484
|
'select-list-header': true,
|
|
472
485
|
hidden: this.hideListHeader || this.isDropdownEmpty,
|
|
473
|
-
}, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: '
|
|
486
|
+
}, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: 'b502b564668efc1a9907a75112341d59f5171720' }), h("div", { key: 'b4ff647412c888cd86094f25033c3dd6f5129a84', ref: (ref) => (this.customItemsContainerRef = ref), class: "d-contents" }), this.isAddItemVisible() ? (h("ix-dropdown-item", { "data-testid": "add-item", icon: 'plus', class: {
|
|
474
487
|
'add-item': true,
|
|
475
488
|
}, label: this.inputFilterText, onItemClick: (e) => {
|
|
476
489
|
e.preventDefault();
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
}
|
|
490
|
+
e.stopPropagation();
|
|
491
|
+
this.emitAddItem(this.inputFilterText);
|
|
480
492
|
}, onFocus: () => (this.navigationItem = this.addItemRef), ref: (ref) => {
|
|
481
493
|
this.addItemRef = ref;
|
|
482
494
|
} })) : null, this.isDropdownEmpty && !this.editable ? (h("div", { class: "select-list-header" }, this.i18nNoMatches)) : (''))));
|
|
@@ -727,8 +739,6 @@ export class Select {
|
|
|
727
739
|
return {
|
|
728
740
|
"dropdownShow": {},
|
|
729
741
|
"selectedLabels": {},
|
|
730
|
-
"dropdownWrapperRef": {},
|
|
731
|
-
"dropdownAnchor": {},
|
|
732
742
|
"isDropdownEmpty": {},
|
|
733
743
|
"navigationItem": {},
|
|
734
744
|
"inputFilterText": {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,MAAM,OAAO,MAAM;;QAgHT,gCAA2B,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhE,iBAAY,GAAG,sBAAsB,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC/D,CAAC,CAAC,CAAC;;;0BAhGkB,KAAK;oBAKY,QAAQ;wBAK3B,KAAK;wBAKL,KAAK;wBAKL,KAAK;+BAKE,kBAAkB;uCAKV,uBAAuB;oCAK1B,yBAAyB;6BAOhC,YAAY;8BAOX,KAAK;4BA0BN,KAAK;;;;+BAIF,KAAK;;;;;IAmBhC,IAAI,cAAc;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IAChC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC;IAGD,oBAAoB,CAAC,KAAwB;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,UAAU,CAAC,KAAwB;QACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,iBAAiB,CAAC,IAAa;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAClD,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,2BAA2B,CACjC,CAAC;YAEF,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEhD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC1C,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAGD,aAAa,CAAC,KAA0B;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEO,iBAAiB,CAAC,KAAa;;QACrC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAEhC,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,kBAAkB,GACtB,MAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,0CAAE,UAAU,CAAC,aAAa,CACzD,kBAAkB,CACnB,CAAC;YAEJ,qBAAqB,CAAC,GAAG,EAAE;gBACzB,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,SAAiB;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,eAAe;;QACrB,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7B,IAAI,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,YAAY,KAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,CAAA,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEO,eAAe,CAAC,KAAwB;QAC9C,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAGD,aAAa,CAAC,KAAmC;QAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,yBAAyB,CAAC,KAA2B;QAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QAEjC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAEvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CAAC,KAAoB;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;;QAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,IAA6B,CAAC;QAElC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAED,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,cAAc,EAAE,CAAA,CAAC;QAEzC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAAoB,EACpB,GAA4B;QAE5B,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACxE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CACvD,QAAQ,CAAC,aAAoB,CAC9B,CAAC;QAEF,uBAAuB;QACvB,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC/D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,OAAO;QACT,CAAC;aAAM,IACL,cAAc,KAAK,CAAC,CAAC;YACrB,cAAc,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EACxD,CAAC;YACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IACE,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CACtB,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CACnD,EACD,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CACjD,IAAI,CAAC,cAAqB,CAC3B,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;oBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,WAAW,KAAK,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,OAAgC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAE9B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,UAAU;iBACf,aAAa,CAAC,kBAAkB,CAAC;iBACjC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;iBAClC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE3C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IACE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,EACtE,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;IACxD,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEO,WAAW,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,gBAAgB;QACtB,OAAO,CACL,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;YACtC,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,eAAe,CACrB,CAAC;IACJ,CAAC;IAED,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DACE,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,EACD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oBACX,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAAE,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;gBACpD,CAAC;gBAED,4DAAK,KAAK,EAAC,iBAAiB;oBAC1B,4DAAK,KAAK,EAAC,OAAO;wBACf,IAAI,CAAC,cAAc;4BAClB,CAAC,CAAC,MAAA,IAAI,CAAC,aAAa,0CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAChC,sBACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;oCAClB,CAAC,CAAC,cAAc,EAAE,CAAC;oCACnB,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC7B,CAAC,IAEA,IAAI,CAAC,KAAK,CACI,CAClB,CAAC;4BACJ,CAAC,CAAC,EAAE;wBACN,4DAAK,KAAK,EAAC,SAAS;4BAClB,8DACE,YAAY,EAAC,KAAK,iBACN,OAAO,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;oCACL,aAAa,EACX,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,CAAA;iCACnD,EACD,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,EACpC,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,EACnC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,OAAO,EAAE,GAAG,EAAE;oCACZ,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gCAClC,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAC9C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GACnC;4BACD,IAAI,CAAC,UAAU;gCAChB,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,MAAM,KAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CACtD,sBACE,KAAK,EAAC,OAAO,EACb,IAAI,EAAE,OAAO,EACb,KAAK,QACL,IAAI,QACJ,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oCACb,CAAC,CAAC,cAAc,EAAE,CAAC;oCACnB,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,IAAI,CAAC,KAAK,EAAE,CAAC;gCACf,CAAC,GACD,CACH,CAAC,CAAC,CAAC,IAAI;4BACP,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACvC,oDAEE,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,EAChD,IAAI,EAAC,oBAAoB,EACzB,KAAK,QACL,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;oCACX,IAAI,IAAI,CAAC,QAAQ;wCAAE,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;gCACnD,CAAC,GACe,CACnB,CACG,CACF,CACF,CACF;YACN,oEACE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,EACtC,IAAI,EAAE,IAAI,CAAC,YAAY,EACvB,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACvD,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;iBACzC,EACD,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,EACvD,SAAS,EAAC,cAAc,EACxB,sBAAsB,EAAE,KAAK,IAAI,EAAE;oBACjC,OAAO;wBACL,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI;qBAC9C,CAAC;gBACJ,CAAC;gBAED,4DACE,KAAK,EAAE;wBACL,oBAAoB,EAAE,IAAI;wBAC1B,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;qBACpD,EACD,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAChC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,IAEjC,IAAI,CAAC,oBAAoB,CACtB;gBACN,8DAAa;gBACb,4DACE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,EAClD,KAAK,EAAC,YAAY,GACb;gBACN,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CACzB,uCACc,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;wBACL,UAAU,EAAE,IAAI;qBACjB,EACD,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;wBACjB,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;4BAC3C,CAAC,CAAC,eAAe,EAAE,CAAC;wBACtB,CAAC;oBACH,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,EACtD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;wBACX,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;oBACxB,CAAC,GACiB,CACrB,CAAC,CAAC,CAAC,IAAI;gBACP,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxC,WAAK,KAAK,EAAC,oBAAoB,IAAE,IAAI,CAAC,aAAa,CAAO,CAC3D,CAAC,CAAC,CAAC,CACF,EAAE,CACH,CACW,CACT,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAjYO;IADL,UAAU,CAAS,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;uCAiB1D","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n 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"]}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\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';\nimport { makeRef } from '../utils/make-ref';\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() isDropdownEmpty = false;\n @State() navigationItem?: DropdownItemWrapper;\n @State() inputFilterText = '';\n @State() inputValue = '';\n\n private readonly dropdownWrapperRef = makeRef<HTMLElement>();\n private readonly dropdownAnchor = makeRef<HTMLElement>();\n private inputRef?: HTMLInputElement;\n private dropdownRef?: HTMLIxDropdownElement;\n private customItemsContainerRef?: HTMLDivElement;\n private addItemRef?: HTMLIxDropdownItemElement;\n\n private arrowFocusController?: ArrowFocusController;\n\n private itemObserver = createMutationObserver(() => {\n if (!this.arrowFocusController) {\n return;\n }\n\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 && this.dropdownRef) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n (index) => this.focusDropdownItem(index)\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.cleanupResources();\n }\n }\n\n private cleanupResources() {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver?.disconnect();\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 oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\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: string[] = [];\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.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0];\n } else {\n this.inputValue = '';\n }\n this.inputRef && (this.inputRef.value = this.inputValue);\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(undefined);\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 this.cleanupResources();\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(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n\n if (\n !this.itemExists(this.inputFilterText.trim()) &&\n !this.itemExists((el as HTMLIxSelectItemElement)?.label)\n ) {\n if (this.editable) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText.trim());\n if (defaultPrevented) {\n return;\n }\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\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()) || null\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 if (this.inputRef) {\n this.inputRef.value = '';\n }\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(undefined);\n this.dropdownShow = false;\n }\n\n private onInputBlur() {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (this.dropdownShow) {\n return;\n }\n\n this.value = this.selectedLabels;\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={() => this.onInputBlur()}\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.waitForCurrent()}\n trigger={this.dropdownWrapperRef.waitForCurrent()}\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 e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\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"]}
|