@siemens/ix 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/a11y.js +1 -1
- package/components/a11y.js.map +1 -1
- package/components/application-header.js +37 -7
- package/components/application-header.js.map +1 -1
- package/components/card-accordion.js +1 -1
- package/components/card-accordion.js.map +1 -1
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/card.js +3 -3
- package/components/card.js.map +1 -1
- package/components/col.js.map +1 -1
- package/components/context.js +1 -1
- package/components/context.js.map +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-controller.js +140 -0
- package/components/dropdown-controller.js.map +1 -0
- package/components/dropdown-item.js +4 -4
- package/components/dropdown-item.js.map +1 -1
- package/components/dropdown.js +5 -141
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/floating-ui.dom.esm.js +533 -60
- package/components/floating-ui.dom.esm.js.map +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-context-menu.js.map +1 -1
- package/components/group-item.js +2 -2
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/components/ix-action-card.js +1 -1
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +1 -1
- package/components/ix-application.js +2 -2
- package/components/ix-application.js.map +1 -1
- package/components/ix-basic-navigation.js +2 -2
- package/components/ix-basic-navigation.js.map +1 -1
- package/components/ix-blind.js.map +1 -1
- package/components/ix-breadcrumb.js +2 -2
- package/components/ix-card-list.js +6 -6
- package/components/ix-card-list.js.map +1 -1
- package/components/ix-category-filter.js +8 -4
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-chip.js +4 -4
- package/components/ix-chip.js.map +1 -1
- package/components/ix-content.js +3 -3
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-drawer.js +2 -2
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-event-list-item.js +4 -4
- package/components/ix-event-list.js +2 -2
- package/components/ix-expanding-search.js +4 -4
- package/components/ix-flip-tile-content.js +1 -1
- package/components/ix-flip-tile.js +4 -4
- package/components/ix-form-field.js +1 -1
- package/components/ix-group.js +58 -38
- package/components/ix-group.js.map +1 -1
- package/components/ix-icon-toggle-button.js +1 -1
- package/components/ix-input-group.js +1 -1
- package/components/ix-key-value-list.js +1 -1
- package/components/ix-kpi.js +3 -3
- package/components/ix-kpi.js.map +1 -1
- package/components/ix-link-button.js +3 -3
- package/components/ix-map-navigation.js +3 -3
- package/components/ix-map-navigation.js.map +1 -1
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +5 -5
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu.js +12 -12
- package/components/ix-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +2 -2
- package/components/ix-modal-footer.js.map +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +1 -1
- package/components/ix-modal.js.map +1 -1
- package/components/ix-pagination.js +2 -2
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js.map +1 -1
- package/components/ix-pill.js +4 -4
- package/components/ix-pill.js.map +1 -1
- package/components/ix-playground-internal.js +1 -1
- package/components/ix-playground-internal.js.map +1 -1
- package/components/ix-push-card.js +1 -1
- package/components/ix-push-card.js.map +1 -1
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-tile.js +4 -4
- package/components/ix-tile.js.map +1 -1
- package/components/ix-toast-container.js.map +1 -1
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +2 -2
- package/components/ix-tree.js +21 -7
- package/components/ix-tree.js.map +1 -1
- package/components/ix-upload.js +3 -3
- package/components/ix-upload.js.map +1 -1
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-step.js.map +1 -1
- package/components/ix-workflow-steps.js +1 -1
- package/components/ix-workflow-steps.js.map +1 -1
- package/components/layout-grid.js +2 -2
- package/components/layout-grid.js.map +1 -1
- package/components/listener.js +1 -1
- package/components/listener.js.map +1 -1
- package/components/logical-filter-operator.js +1 -1
- package/components/logical-filter-operator.js.map +1 -1
- package/components/map-navigation-overlay.js +2 -2
- package/components/menu-avatar-item.js +1 -1
- package/components/menu-expand-icon.js +1 -1
- package/components/menu-expand-icon.js.map +1 -1
- package/components/menu-item.js +14 -14
- package/components/menu-item.js.map +1 -1
- package/components/modal-content.js +1 -1
- package/components/modal-content.js.map +1 -1
- package/components/modal-header.js +1 -1
- package/components/modal-header.js.map +1 -1
- package/components/row.js +1 -1
- package/components/row.js.map +1 -1
- package/components/select-item.js +1 -1
- package/components/select.js +27 -30
- package/components/select.js.map +1 -1
- package/components/shadow-dom.js +1 -1
- package/components/shadow-dom.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tabs.js +2 -2
- package/components/tabs.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/toast.js.map +1 -1
- package/components/tooltip.js +22 -20
- package/components/tooltip.js.map +1 -1
- package/components/tree-item.js +8 -8
- package/components/tree-item.js.map +1 -1
- package/dist/cjs/{a11y-d3ce56d1.js → a11y-eba397e8.js} +2 -2
- package/dist/cjs/{a11y-d3ce56d1.js.map → a11y-eba397e8.js.map} +1 -1
- package/dist/cjs/{context-98f4a0b3.js → context-938f7470.js} +2 -2
- package/dist/cjs/{context-98f4a0b3.js.map → context-938f7470.js.map} +1 -1
- package/dist/cjs/dropdown-controller-5ef3d018.js +144 -0
- package/dist/cjs/dropdown-controller-5ef3d018.js.map +1 -0
- package/dist/cjs/{floating-ui.dom.esm-94b4d17c.js → floating-ui.dom.esm-9dde6cd6.js} +534 -60
- package/dist/cjs/floating-ui.dom.esm-9dde6cd6.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +34 -8
- package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
- package/dist/cjs/ix-application.cjs.entry.js +4 -4
- package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js +1 -1
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
- package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +9 -5
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +4 -4
- package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
- package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +4 -4
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-divider.cjs.entry.js +1 -1
- package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown.cjs.entry.js +18 -154
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
- package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
- package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group.cjs.entry.js +57 -39
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
- package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
- package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
- package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-item.cjs.entry.js +13 -13
- package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +13 -13
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pagination.cjs.entry.js +3 -3
- package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +4 -4
- package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +28 -31
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +2 -2
- package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast.cjs.entry.js +2 -2
- package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ix-tooltip.cjs.entry.js +23 -21
- package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +8 -8
- package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree.cjs.entry.js +21 -7
- package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +3 -3
- package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/{listener-bc3e7c0c.js → listener-a124ed49.js} +2 -2
- package/dist/cjs/{listener-bc3e7c0c.js.map → listener-a124ed49.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{logical-filter-operator-5564322e.js → logical-filter-operator-4917393f.js} +2 -2
- package/dist/cjs/{logical-filter-operator-5564322e.js.map → logical-filter-operator-4917393f.js.map} +1 -1
- package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
- package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/collection/components/action-card/action-card.js +6 -3
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/application/application.css +26 -6
- package/dist/collection/components/application/application.js +1 -1
- package/dist/collection/components/application/application.js.map +1 -1
- package/dist/collection/components/application-header/application-header.css +9 -7
- package/dist/collection/components/application-header/application-header.js +77 -5
- package/dist/collection/components/application-header/application-header.js.map +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
- package/dist/collection/components/blind/blind.css +1 -1
- package/dist/collection/components/blind/blind.js +2 -2
- package/dist/collection/components/blind/blind.js.map +1 -1
- package/dist/collection/components/blind/test/blind.ct.js +1 -1
- package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/card/card.css +3 -3
- package/dist/collection/components/card/card.js +7 -4
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card-accordion/card-accordion.css +4 -4
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.css +6 -0
- package/dist/collection/components/card-list/card-list.js +5 -5
- package/dist/collection/components/card-list/card-list.js.map +1 -1
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.js +18 -13
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js +1 -1
- package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
- package/dist/collection/components/category-filter/test/category-filter.ct.js +52 -0
- package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -0
- package/dist/collection/components/chip/chip.css +2 -2
- package/dist/collection/components/chip/chip.js +5 -5
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/col/col.css +1 -1
- package/dist/collection/components/col/col.js +1 -1
- package/dist/collection/components/col/col.js.map +1 -1
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.js +2 -2
- package/dist/collection/components/dropdown/dropdown.js +2 -2
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +3 -3
- package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/event-list/event-list.js +2 -2
- package/dist/collection/components/event-list-item/event-list-item.js +4 -4
- package/dist/collection/components/expanding-search/expanding-search.js +4 -4
- package/dist/collection/components/filter-chip/filter-chip.js +1 -1
- package/dist/collection/components/flip-tile/flip-tile.js +4 -4
- package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
- package/dist/collection/components/form-field/form-field.js +1 -1
- package/dist/collection/components/grid/layout-grid.css +1 -1
- package/dist/collection/components/grid/layout-grid.js +3 -3
- package/dist/collection/components/grid/layout-grid.js.map +1 -1
- package/dist/collection/components/group/group-context-menu.css +1 -1
- package/dist/collection/components/group/group-context-menu.js +2 -2
- package/dist/collection/components/group/group-context-menu.js.map +1 -1
- package/dist/collection/components/group/group.css +3 -2
- package/dist/collection/components/group/group.js +68 -38
- package/dist/collection/components/group/group.js.map +1 -1
- package/dist/collection/components/group/test/group.ct.js +34 -4
- package/dist/collection/components/group/test/group.ct.js.map +1 -1
- package/dist/collection/components/group-item/group-item.js +2 -2
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
- package/dist/collection/components/input-group/input-group.js +1 -1
- package/dist/collection/components/key-value-list/key-value-list.js +1 -1
- package/dist/collection/components/kpi/kpi.css +1 -1
- package/dist/collection/components/kpi/kpi.js +4 -4
- package/dist/collection/components/kpi/kpi.js.map +1 -1
- package/dist/collection/components/link-button/link-button.js +3 -3
- package/dist/collection/components/map-navigation/map-navigation.css +3 -3
- package/dist/collection/components/map-navigation/map-navigation.js +2 -2
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
- package/dist/collection/components/menu/menu-expand-icon.css +1 -1
- package/dist/collection/components/menu/menu-expand-icon.js +3 -3
- package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
- package/dist/collection/components/menu/menu.css +4 -3
- package/dist/collection/components/menu/menu.js +12 -12
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu/test/menu.ct.js +1 -1
- package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
- package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
- package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
- package/dist/collection/components/menu-category/menu-category.js +5 -5
- package/dist/collection/components/menu-item/menu-item.js +24 -21
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +18 -8
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal/test/modal.ct.js +1 -1
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/modal-content/modal-content.css +1 -1
- package/dist/collection/components/modal-content/modal-content.js +1 -1
- package/dist/collection/components/modal-footer/modal-footer.css +1 -0
- package/dist/collection/components/modal-footer/modal-footer.js +1 -1
- package/dist/collection/components/modal-header/modal-header.js +2 -2
- package/dist/collection/components/modal-header/modal-header.js.map +1 -1
- package/dist/collection/components/modal-loading/modal-loading.js +1 -1
- package/dist/collection/components/pagination/pagination.js +2 -2
- package/dist/collection/components/pane/pane.css +1 -1
- package/dist/collection/components/pane/pane.js +1 -1
- package/dist/collection/components/pane/pane.js.map +1 -1
- package/dist/collection/components/pane/test/panes.ct.js +1 -1
- package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
- package/dist/collection/components/pane-layout/pane-layout.js +1 -1
- package/dist/collection/components/pill/pill.css +2 -2
- package/dist/collection/components/pill/pill.js +5 -5
- package/dist/collection/components/pill/pill.js.map +1 -1
- package/dist/collection/components/playground/example-modal.js +1 -1
- package/dist/collection/components/playground/playground.js +2 -2
- package/dist/collection/components/playground/playground.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +9 -6
- package/dist/collection/components/push-card/push-card.js.map +1 -1
- package/dist/collection/components/row/row.css +1 -1
- package/dist/collection/components/row/row.js +2 -2
- package/dist/collection/components/row/row.js.map +1 -1
- package/dist/collection/components/select/select.js +27 -30
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +44 -0
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +1 -1
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button-item/split-button-item.js +1 -1
- package/dist/collection/components/tabs/tabs.css +1 -1
- package/dist/collection/components/tabs/tabs.js +3 -3
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tile/tile.css +1 -1
- package/dist/collection/components/tile/tile.js +5 -5
- package/dist/collection/components/tile/tile.js.map +1 -1
- package/dist/collection/components/toast/styles/toast-container.css +1 -1
- package/dist/collection/components/toast/toast-container.js +1 -1
- package/dist/collection/components/toast/toast-container.js.map +1 -1
- package/dist/collection/components/toast/toast-utils.js.map +1 -1
- package/dist/collection/components/toast/toast.css +1 -1
- package/dist/collection/components/toast/toast.js +3 -3
- package/dist/collection/components/toast/toast.js.map +1 -1
- package/dist/collection/components/toggle/toggle.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +2 -2
- package/dist/collection/components/tooltip/tooltip.css +15 -5
- package/dist/collection/components/tooltip/tooltip.js +22 -20
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree/test/tree.ct.js +37 -1
- package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
- package/dist/collection/components/tree/tree-model.js.map +1 -1
- package/dist/collection/components/tree/tree.css +1 -1
- package/dist/collection/components/tree/tree.js +26 -11
- package/dist/collection/components/tree/tree.js.map +1 -1
- package/dist/collection/components/tree-item/tree-item.css +9 -0
- package/dist/collection/components/tree-item/tree-item.js +13 -12
- package/dist/collection/components/tree-item/tree-item.js.map +1 -1
- package/dist/collection/components/upload/upload.js +4 -4
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/components/utils/condition-checks.js +1 -1
- package/dist/collection/components/utils/condition-checks.js.map +1 -1
- package/dist/collection/components/utils/context.js +1 -1
- package/dist/collection/components/utils/context.js.map +1 -1
- package/dist/collection/components/utils/listener.js +1 -1
- package/dist/collection/components/utils/listener.js.map +1 -1
- package/dist/collection/components/utils/notification-color.js.map +1 -1
- package/dist/collection/components/utils/shadow-dom.js +1 -1
- package/dist/collection/components/utils/shadow-dom.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.css +1 -1
- package/dist/collection/components/workflow-step/workflow-step.js +4 -4
- package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +2 -2
- package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.css +1 -1
- package/dist/collection/components/workflow-steps/workflow-steps.js +2 -2
- package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/tests/application-header/application-header.e2e.js +9 -0
- package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
- package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
- package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
- package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
- package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
- package/dist/collection/tests/group/group.e2e.js +12 -3
- package/dist/collection/tests/group/group.e2e.js.map +1 -1
- package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
- package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
- package/dist/collection/tests/tree/tree.e2e.js +12 -0
- package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
- package/dist/esm/{a11y-d5444a76.js → a11y-2e34777f.js} +2 -2
- package/dist/esm/{a11y-d5444a76.js.map → a11y-2e34777f.js.map} +1 -1
- package/dist/esm/{context-c9078420.js → context-82a1ccf8.js} +2 -2
- package/dist/esm/{context-c9078420.js.map → context-82a1ccf8.js.map} +1 -1
- package/dist/esm/dropdown-controller-95bd6750.js +140 -0
- package/dist/esm/dropdown-controller-95bd6750.js.map +1 -0
- package/dist/esm/{floating-ui.dom.esm-6e7c098f.js → floating-ui.dom.esm-d4ad786a.js} +534 -61
- package/dist/esm/floating-ui.dom.esm-d4ad786a.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application-header.entry.js +35 -9
- package/dist/esm/ix-application-header.entry.js.map +1 -1
- package/dist/esm/ix-application-sidebar.entry.js +1 -1
- package/dist/esm/ix-application-switch-modal.entry.js +1 -1
- package/dist/esm/ix-application.entry.js +4 -4
- package/dist/esm/ix-application.entry.js.map +1 -1
- package/dist/esm/ix-avatar_2.entry.js +2 -2
- package/dist/esm/ix-basic-navigation.entry.js +3 -3
- package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
- package/dist/esm/ix-blind.entry.js +1 -1
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +1 -1
- package/dist/esm/ix-breadcrumb.entry.js +3 -3
- package/dist/esm/ix-card-accordion_2.entry.js +2 -2
- package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
- package/dist/esm/ix-card-list.entry.js +6 -6
- package/dist/esm/ix-card-list.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +4 -4
- package/dist/esm/ix-card_2.entry.js.map +1 -1
- package/dist/esm/ix-category-filter.entry.js +9 -5
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-chip.entry.js +4 -4
- package/dist/esm/ix-chip.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +4 -4
- package/dist/esm/ix-col_4.entry.js.map +1 -1
- package/dist/esm/ix-content.entry.js +4 -4
- package/dist/esm/ix-css-grid-item.entry.js +1 -1
- package/dist/esm/ix-divider.entry.js +1 -1
- package/dist/esm/ix-drawer.entry.js +2 -2
- package/dist/esm/ix-dropdown-header.entry.js +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
- package/dist/esm/ix-dropdown.entry.js +4 -140
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +5 -5
- package/dist/esm/ix-event-list.entry.js +2 -2
- package/dist/esm/ix-expanding-search.entry.js +4 -4
- package/dist/esm/ix-filter-chip_2.entry.js +2 -2
- package/dist/esm/ix-flip-tile-content.entry.js +1 -1
- package/dist/esm/ix-flip-tile.entry.js +4 -4
- package/dist/esm/ix-form-field.entry.js +1 -1
- package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
- package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
- package/dist/esm/ix-group.entry.js +57 -39
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +2 -2
- package/dist/esm/ix-icon-toggle-button.entry.js +2 -2
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-key-value-list.entry.js +1 -1
- package/dist/esm/ix-kpi.entry.js +3 -3
- package/dist/esm/ix-kpi.entry.js.map +1 -1
- package/dist/esm/ix-link-button.entry.js +3 -3
- package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
- package/dist/esm/ix-map-navigation.entry.js +4 -4
- package/dist/esm/ix-map-navigation.entry.js.map +1 -1
- package/dist/esm/ix-menu-about-item.entry.js +1 -1
- package/dist/esm/ix-menu-about-news.entry.js +4 -4
- package/dist/esm/ix-menu-avatar.entry.js +3 -3
- package/dist/esm/ix-menu-category.entry.js +6 -6
- package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
- package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
- package/dist/esm/ix-menu-item.entry.js +14 -14
- package/dist/esm/ix-menu-item.entry.js.map +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +1 -1
- package/dist/esm/ix-menu.entry.js +13 -13
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +3 -3
- package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
- package/dist/esm/ix-modal-example.entry.js +1 -1
- package/dist/esm/ix-modal-footer.entry.js +2 -2
- package/dist/esm/ix-modal-footer.entry.js.map +1 -1
- package/dist/esm/ix-modal-loading.entry.js +1 -1
- package/dist/esm/ix-modal.entry.js +3 -3
- package/dist/esm/ix-modal.entry.js.map +1 -1
- package/dist/esm/ix-pagination.entry.js +3 -3
- package/dist/esm/ix-pane-layout.entry.js +1 -1
- package/dist/esm/ix-pane.entry.js.map +1 -1
- package/dist/esm/ix-pill.entry.js +4 -4
- package/dist/esm/ix-pill.entry.js.map +1 -1
- package/dist/esm/ix-playground-internal.entry.js +1 -1
- package/dist/esm/ix-playground-internal.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +1 -1
- package/dist/esm/ix-push-card.entry.js.map +1 -1
- package/dist/esm/ix-select.entry.js +28 -31
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +2 -2
- package/dist/esm/ix-split-button-item.entry.js +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +2 -2
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +4 -4
- package/dist/esm/ix-tile.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js.map +1 -1
- package/dist/esm/ix-toast.entry.js +2 -2
- package/dist/esm/ix-toast.entry.js.map +1 -1
- package/dist/esm/ix-toggle-button.entry.js +3 -3
- package/dist/esm/ix-toggle.entry.js +3 -3
- package/dist/esm/ix-tooltip.entry.js +23 -21
- package/dist/esm/ix-tooltip.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +8 -8
- package/dist/esm/ix-tree-item.entry.js.map +1 -1
- package/dist/esm/ix-tree.entry.js +21 -7
- package/dist/esm/ix-tree.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +3 -3
- package/dist/esm/ix-upload.entry.js.map +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js.map +1 -1
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
- package/dist/esm/{listener-4f3baab5.js → listener-2c562054.js} +2 -2
- package/dist/esm/{listener-4f3baab5.js.map → listener-2c562054.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{logical-filter-operator-f6701df5.js → logical-filter-operator-d793d1c3.js} +2 -2
- package/dist/esm/{logical-filter-operator-f6701df5.js.map → logical-filter-operator-d793d1c3.js.map} +1 -1
- package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
- package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/p-04af3853.entry.js +2 -0
- package/dist/siemens-ix/{p-4df0cdd7.entry.js → p-04ec538b.entry.js} +2 -2
- package/dist/siemens-ix/{p-68644ee1.entry.js → p-05dc6b2d.entry.js} +2 -2
- package/dist/siemens-ix/{p-68644ee1.entry.js.map → p-05dc6b2d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-af099ca4.entry.js → p-0632731e.entry.js} +2 -2
- package/dist/siemens-ix/{p-6af4415c.entry.js → p-085d5ec2.entry.js} +2 -2
- package/dist/siemens-ix/{p-6af4415c.entry.js.map → p-085d5ec2.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-0d2a6886.entry.js → p-091b036d.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js → p-0ef97555.entry.js} +2 -2
- package/dist/siemens-ix/{p-453fa360.entry.js.map → p-0ef97555.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-2946fd70.entry.js → p-0fafba48.entry.js} +2 -2
- package/dist/siemens-ix/{p-7076210b.entry.js → p-1483f65d.entry.js} +2 -2
- package/dist/siemens-ix/{p-4f8ac3bf.js → p-157b1b28.js} +1 -1
- package/dist/siemens-ix/{p-4f8ac3bf.js.map → p-157b1b28.js.map} +1 -1
- package/dist/siemens-ix/p-15f44099.entry.js +2 -0
- package/dist/siemens-ix/{p-87e692d9.entry.js.map → p-15f44099.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-2908cacd.entry.js → p-17a8aab2.entry.js} +2 -2
- package/dist/siemens-ix/{p-2908cacd.entry.js.map → p-17a8aab2.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-c1968b80.entry.js → p-1bd98772.entry.js} +2 -2
- package/dist/siemens-ix/p-1c3a0b1f.js +2 -0
- package/dist/siemens-ix/p-1c3a0b1f.js.map +1 -0
- package/dist/siemens-ix/{p-8629db91.entry.js → p-25f1749c.entry.js} +2 -2
- package/dist/siemens-ix/{p-5696bb62.entry.js → p-306269ae.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde7eb80.entry.js → p-33a7a26d.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde7eb80.entry.js.map → p-33a7a26d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-712e0ee0.js → p-345e1c73.js} +1 -1
- package/dist/siemens-ix/{p-712e0ee0.js.map → p-345e1c73.js.map} +1 -1
- package/dist/siemens-ix/p-35fff1e6.entry.js +2 -0
- package/dist/siemens-ix/{p-9ebc4fc3.entry.js → p-37229f30.entry.js} +2 -2
- package/dist/siemens-ix/{p-9ebc4fc3.entry.js.map → p-37229f30.entry.js.map} +1 -1
- package/dist/siemens-ix/p-3dc1294b.entry.js +2 -0
- package/dist/siemens-ix/{p-e9a3f58a.entry.js.map → p-3dc1294b.entry.js.map} +1 -1
- package/dist/siemens-ix/p-3f59a3c3.entry.js +2 -0
- package/dist/siemens-ix/p-3f59a3c3.entry.js.map +1 -0
- package/dist/siemens-ix/p-411f51c5.entry.js +2 -0
- package/dist/siemens-ix/{p-f78246bd.entry.js → p-44a27b29.entry.js} +2 -2
- package/dist/siemens-ix/{p-d03df401.entry.js → p-49d3fc15.entry.js} +2 -2
- package/dist/siemens-ix/{p-25ee1b62.js → p-4ac31849.js} +1 -1
- package/dist/siemens-ix/{p-25ee1b62.js.map → p-4ac31849.js.map} +1 -1
- package/dist/siemens-ix/{p-dbe8f5e6.entry.js → p-4e547dd3.entry.js} +2 -2
- package/dist/siemens-ix/{p-dbe8f5e6.entry.js.map → p-4e547dd3.entry.js.map} +1 -1
- package/dist/siemens-ix/p-5099c070.entry.js +2 -0
- package/dist/siemens-ix/p-5099c070.entry.js.map +1 -0
- package/dist/siemens-ix/{p-fc5814df.entry.js → p-5351225b.entry.js} +2 -2
- package/dist/siemens-ix/p-5351225b.entry.js.map +1 -0
- package/dist/siemens-ix/p-5aa0b93c.entry.js.map +1 -1
- package/dist/siemens-ix/{p-113cc793.entry.js → p-5af99eaa.entry.js} +2 -2
- package/dist/siemens-ix/{p-e30ed20a.entry.js → p-62b089b6.entry.js} +2 -2
- package/dist/siemens-ix/{p-e30ed20a.entry.js.map → p-62b089b6.entry.js.map} +1 -1
- package/dist/siemens-ix/p-63f0755e.entry.js +2 -0
- package/dist/siemens-ix/{p-14a41c8c.entry.js → p-6618b2db.entry.js} +2 -2
- package/dist/siemens-ix/{p-0653a145.entry.js → p-67f44540.entry.js} +2 -2
- package/dist/siemens-ix/{p-15b3c17e.entry.js → p-6e4c9e3d.entry.js} +2 -2
- package/dist/siemens-ix/{p-15b3c17e.entry.js.map → p-6e4c9e3d.entry.js.map} +1 -1
- package/dist/siemens-ix/p-7402f42a.entry.js +2 -0
- package/dist/siemens-ix/p-7402f42a.entry.js.map +1 -0
- package/dist/siemens-ix/{p-53352bfb.entry.js → p-77273517.entry.js} +2 -2
- package/dist/siemens-ix/{p-882a0233.entry.js → p-78ac2ff1.entry.js} +2 -2
- package/dist/siemens-ix/p-7947ef3d.entry.js +2 -0
- package/dist/siemens-ix/{p-fb47546b.entry.js → p-7c2f34f0.entry.js} +2 -2
- package/dist/siemens-ix/p-82d33168.entry.js +2 -0
- package/dist/siemens-ix/p-82f9d976.entry.js +2 -0
- package/dist/siemens-ix/p-82f9d976.entry.js.map +1 -0
- package/dist/siemens-ix/{p-85423643.entry.js → p-86bbc005.entry.js} +2 -2
- package/dist/siemens-ix/p-86bbc005.entry.js.map +1 -0
- package/dist/siemens-ix/p-86fd5922.entry.js +2 -0
- package/dist/siemens-ix/p-86fd5922.entry.js.map +1 -0
- package/dist/siemens-ix/p-89e48bea.entry.js +2 -0
- package/dist/siemens-ix/p-89e48bea.entry.js.map +1 -0
- package/dist/siemens-ix/{p-052340f9.entry.js → p-8acc09aa.entry.js} +2 -2
- package/dist/siemens-ix/{p-6fd7ecd0.entry.js → p-9079f6c8.entry.js} +2 -2
- package/dist/siemens-ix/p-928209e1.entry.js +2 -0
- package/dist/siemens-ix/p-928209e1.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e8d3cf35.entry.js → p-958c5970.entry.js} +2 -2
- package/dist/siemens-ix/{p-e8d3cf35.entry.js.map → p-958c5970.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-16b923e9.entry.js → p-9bdda7ff.entry.js} +2 -2
- package/dist/siemens-ix/p-a08efce0.entry.js +2 -0
- package/dist/siemens-ix/p-a08efce0.entry.js.map +1 -0
- package/dist/siemens-ix/p-a4755205.entry.js +2 -0
- package/dist/siemens-ix/p-a4755205.entry.js.map +1 -0
- package/dist/siemens-ix/{p-2c4c03d4.entry.js → p-aa814811.entry.js} +2 -2
- package/dist/siemens-ix/{p-7c36d3fa.js → p-accec846.js} +1 -1
- package/dist/siemens-ix/{p-7c36d3fa.js.map → p-accec846.js.map} +1 -1
- package/dist/siemens-ix/{p-8d599677.entry.js → p-adee6045.entry.js} +2 -2
- package/dist/siemens-ix/{p-8d599677.entry.js.map → p-adee6045.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-d95cbd1f.entry.js → p-ae31be0d.entry.js} +2 -2
- package/dist/siemens-ix/{p-d95cbd1f.entry.js.map → p-ae31be0d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-feac09bc.entry.js → p-ba24e694.entry.js} +2 -2
- package/dist/siemens-ix/p-ba6e955a.js +2 -0
- package/dist/siemens-ix/p-ba6e955a.js.map +1 -0
- package/dist/siemens-ix/p-c022d6cc.entry.js +2 -0
- package/dist/siemens-ix/{p-eb6268a6.entry.js.map → p-c022d6cc.entry.js.map} +1 -1
- package/dist/siemens-ix/p-c05a98c8.entry.js +2 -0
- package/dist/siemens-ix/{p-71315e2e.entry.js → p-c072ddb5.entry.js} +2 -2
- package/dist/siemens-ix/p-c1fe9f3d.entry.js +2 -0
- package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +1 -0
- package/dist/siemens-ix/p-c33cee36.entry.js.map +1 -1
- package/dist/siemens-ix/{p-0b4e398e.entry.js → p-c62966f8.entry.js} +2 -2
- package/dist/siemens-ix/{p-0b4e398e.entry.js.map → p-c62966f8.entry.js.map} +1 -1
- package/dist/siemens-ix/p-c7280736.entry.js +2 -0
- package/dist/siemens-ix/{p-0f7ef743.entry.js.map → p-c7280736.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-8d0758c1.entry.js → p-c7e58e9e.entry.js} +2 -2
- package/dist/siemens-ix/{p-4430117a.entry.js → p-c81c4b9d.entry.js} +2 -2
- package/dist/siemens-ix/{p-d950c3a8.entry.js → p-cc65617d.entry.js} +2 -2
- package/dist/siemens-ix/{p-1a122c76.entry.js → p-d300b332.entry.js} +2 -2
- package/dist/siemens-ix/p-d6fc0727.entry.js +2 -0
- package/dist/siemens-ix/p-d6fc0727.entry.js.map +1 -0
- package/dist/siemens-ix/p-df370362.entry.js +2 -0
- package/dist/siemens-ix/p-df370362.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5f25e7fd.entry.js → p-e0d03d67.entry.js} +2 -2
- package/dist/siemens-ix/{p-5f25e7fd.entry.js.map → p-e0d03d67.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-ff1ac5b3.entry.js → p-e14384df.entry.js} +2 -2
- package/dist/siemens-ix/{p-fb2b78f7.entry.js → p-e35805d0.entry.js} +2 -2
- package/dist/siemens-ix/p-e35805d0.entry.js.map +1 -0
- package/dist/siemens-ix/{p-0c8a98cd.js → p-e948bcb0.js} +1 -1
- package/dist/siemens-ix/{p-0c8a98cd.js.map → p-e948bcb0.js.map} +1 -1
- package/dist/siemens-ix/{p-5b135f6b.entry.js → p-e95a5a97.entry.js} +2 -2
- package/dist/siemens-ix/{p-5b135f6b.entry.js.map → p-e95a5a97.entry.js.map} +1 -1
- package/dist/siemens-ix/p-ed7e76a3.entry.js +2 -0
- package/dist/siemens-ix/p-ed7e76a3.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bea7c748.entry.js → p-ee96d1eb.entry.js} +2 -2
- package/dist/siemens-ix/p-f001ecc1.entry.js +2 -0
- package/dist/siemens-ix/p-f001ecc1.entry.js.map +1 -0
- package/dist/siemens-ix/p-f06b21f9.entry.js +2 -0
- package/dist/siemens-ix/p-f06b21f9.entry.js.map +1 -0
- package/dist/siemens-ix/{p-bc2c74c5.entry.js → p-fd5bee44.entry.js} +2 -2
- package/dist/siemens-ix/p-fefd5743.entry.js +2 -0
- package/dist/siemens-ix/p-fefd5743.entry.js.map +1 -0
- package/dist/siemens-ix/{p-dcb3e5be.entry.js → p-ffa856df.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +5 -1
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/types/components/action-card/action-card.d.ts +1 -0
- package/dist/types/components/application-header/application-header.d.ts +18 -0
- package/dist/types/components/basic-navigation/basic-navigation.d.ts +2 -1
- package/dist/types/components/card/card.d.ts +2 -1
- package/dist/types/components/category-filter/category-filter.d.ts +9 -9
- package/dist/types/components/category-filter/test/category-filter.ct.d.ts +1 -0
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +4 -2
- package/dist/types/components/menu-item/menu-item.d.ts +6 -5
- package/dist/types/components/push-card/push-card.d.ts +4 -3
- package/dist/types/components/tooltip/tooltip.d.ts +2 -3
- package/dist/types/components/tree/tree.d.ts +1 -1
- package/dist/types/components/tree-item/tree-item.d.ts +3 -3
- package/dist/types/components.d.ts +67 -29
- package/dist/types/index.d.ts +1 -0
- package/hydrate/index.js +872 -338
- package/package.json +3 -2
- package/scss/_core.scss +5 -0
- package/dist/cjs/floating-ui.dom.esm-94b4d17c.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
- package/dist/siemens-ix/p-0b4e3779.entry.js +0 -2
- package/dist/siemens-ix/p-0b4e3779.entry.js.map +0 -1
- package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
- package/dist/siemens-ix/p-1cff59db.entry.js +0 -2
- package/dist/siemens-ix/p-1cff59db.entry.js.map +0 -1
- package/dist/siemens-ix/p-1f4b8463.entry.js +0 -2
- package/dist/siemens-ix/p-1f4b8463.entry.js.map +0 -1
- package/dist/siemens-ix/p-2ec7f841.entry.js +0 -2
- package/dist/siemens-ix/p-2ec7f841.entry.js.map +0 -1
- package/dist/siemens-ix/p-309ac3ad.entry.js +0 -2
- package/dist/siemens-ix/p-309ac3ad.entry.js.map +0 -1
- package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
- package/dist/siemens-ix/p-44db3646.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js +0 -2
- package/dist/siemens-ix/p-4b3facea.entry.js.map +0 -1
- package/dist/siemens-ix/p-52857629.entry.js +0 -2
- package/dist/siemens-ix/p-52857629.entry.js.map +0 -1
- package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
- package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
- package/dist/siemens-ix/p-7bfd6cd2.entry.js +0 -2
- package/dist/siemens-ix/p-7bfd6cd2.entry.js.map +0 -1
- package/dist/siemens-ix/p-7faa148f.entry.js +0 -2
- package/dist/siemens-ix/p-85423643.entry.js.map +0 -1
- package/dist/siemens-ix/p-87e692d9.entry.js +0 -2
- package/dist/siemens-ix/p-92a18c10.entry.js +0 -2
- package/dist/siemens-ix/p-a0a44a2b.entry.js +0 -2
- package/dist/siemens-ix/p-a0a44a2b.entry.js.map +0 -1
- package/dist/siemens-ix/p-b3b23af7.entry.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js +0 -2
- package/dist/siemens-ix/p-b3f35666.js.map +0 -1
- package/dist/siemens-ix/p-c1222581.entry.js +0 -2
- package/dist/siemens-ix/p-d331216f.entry.js +0 -2
- package/dist/siemens-ix/p-d331216f.entry.js.map +0 -1
- package/dist/siemens-ix/p-d8790ff5.entry.js +0 -2
- package/dist/siemens-ix/p-d8790ff5.entry.js.map +0 -1
- package/dist/siemens-ix/p-d998415f.entry.js +0 -2
- package/dist/siemens-ix/p-d998415f.entry.js.map +0 -1
- package/dist/siemens-ix/p-e9a3f58a.entry.js +0 -2
- package/dist/siemens-ix/p-eb6268a6.entry.js +0 -2
- package/dist/siemens-ix/p-ebb277f0.entry.js +0 -2
- package/dist/siemens-ix/p-ebb277f0.entry.js.map +0 -1
- package/dist/siemens-ix/p-f318140c.entry.js +0 -2
- package/dist/siemens-ix/p-f318140c.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb2b78f7.entry.js.map +0 -1
- package/dist/siemens-ix/p-fb4c79c6.entry.js +0 -2
- package/dist/siemens-ix/p-fc5814df.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-fb4c79c6.entry.js.map → p-04af3853.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4df0cdd7.entry.js.map → p-04ec538b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-af099ca4.entry.js.map → p-0632731e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0d2a6886.entry.js.map → p-091b036d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2946fd70.entry.js.map → p-0fafba48.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7076210b.entry.js.map → p-1483f65d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1968b80.entry.js.map → p-1bd98772.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8629db91.entry.js.map → p-25f1749c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5696bb62.entry.js.map → p-306269ae.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b3b23af7.entry.js.map → p-35fff1e6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-92a18c10.entry.js.map → p-411f51c5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f78246bd.entry.js.map → p-44a27b29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d03df401.entry.js.map → p-49d3fc15.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-113cc793.entry.js.map → p-5af99eaa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c1222581.entry.js.map → p-63f0755e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-14a41c8c.entry.js.map → p-6618b2db.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0653a145.entry.js.map → p-67f44540.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-53352bfb.entry.js.map → p-77273517.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-882a0233.entry.js.map → p-78ac2ff1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32375ddb.entry.js.map → p-7947ef3d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fb47546b.entry.js.map → p-7c2f34f0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7faa148f.entry.js.map → p-82d33168.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-052340f9.entry.js.map → p-8acc09aa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6fd7ecd0.entry.js.map → p-9079f6c8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-16b923e9.entry.js.map → p-9bdda7ff.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2c4c03d4.entry.js.map → p-aa814811.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-feac09bc.entry.js.map → p-ba24e694.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-44db3646.entry.js.map → p-c05a98c8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-71315e2e.entry.js.map → p-c072ddb5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8d0758c1.entry.js.map → p-c7e58e9e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4430117a.entry.js.map → p-c81c4b9d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d950c3a8.entry.js.map → p-cc65617d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1a122c76.entry.js.map → p-d300b332.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ff1ac5b3.entry.js.map → p-e14384df.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bea7c748.entry.js.map → p-ee96d1eb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bc2c74c5.entry.js.map → p-fd5bee44.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dcb3e5be.entry.js.map → p-ffa856df.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cardListCss","IxCardListStyle0","CardListTitle","props","label","h","class","ghost","icon","onClick","color","CardList__Title__Button","CardList__Title__Button__Collapsed","isCollapsed","variant","hideShowAll","onShowAllClick","showAllLabel","isNaN","showAllCounter","CardList","onCardListVisibilityToggle","this","collapse","collapseChanged","emit","event","showAllClick","nativeEvent","getListChildren","slot","hostElement","shadowRoot","querySelector","assignedElements","flatten","changeVisibilityOfSlotChildren","childElements","forEach","element","index","HTMLElement","maxVisibleCards","classList","add","remove","hasOverflowingElements","length","numberOfOverflowingElements","numberOfAllChildElements","detectOverflow","registerOverflowHandler","observer","createMutationObserver","observe","childList","subtree","requestAnimationFrame","shouldHandleOverflow","suppressOverflowHandling","listStyle","listElement","onCardListScroll","isShowMoreCardVisible","getOpacityFromScrollDistance","distance","computeMaskLayer","maxOverflowWidth","maskLayer","leftScrollDistance","rightScrollDistance","clientWidth","scrollWidth","scrollLeft","componentDidLoad","disconnectedCallback","disconnect","render","Host","key","i18nShowAll","showAllCount","undefined","e","CardList__Overflow","style","CardList__Content","CardList__Content__Collapsed","CardList__Style__Flexbox__Scroll","CardList__Style__Infinite__Scroll","onScroll","onSlotchange","Show__All__Card","showMoreCardClick","name","size","i18nMoreCards"],"sources":["src/components/card-list/card-list.scss?tag=ix-card-list&encapsulation=shadow","src/components/card-list/card-list.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n$CardList__Title__Height: 1.5rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n margin: 0.5rem;\n\n .CardList_Title {\n display: flex;\n position: relative;\n height: $CardList__Title__Height;\n align-items: center;\n width: 100%;\n margin-bottom: 0.5rem;\n }\n\n .CardList__Title__Button {\n margin-right: 1rem;\n transition: var(--theme-default-time) transform ease-in-out;\n }\n\n .CardList__Title__Button__Collapsed {\n transform: rotate(-90deg);\n }\n\n .CardList__Title__Show__All {\n align-self: center;\n margin-left: auto;\n margin-right: 0px;\n }\n\n .CardList__Content {\n display: flex;\n position: relative;\n height: calc(100% - #{$CardList__Title__Height});\n width: 100%;\n gap: 1.5rem;\n transition: var(--theme-default-time) ease-in-out;\n overflow: auto;\n }\n\n .CardList__Content__Collapsed {\n min-height: 0px;\n max-height: 0px;\n overflow: hidden;\n opacity: 0;\n }\n\n .CardList__Style__Flexbox__Scroll {\n flex-wrap: wrap;\n }\n\n .CardList__Style__Infinite__Scroll {\n flex-wrap: nowrap;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n .CardList__Overflow {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n pointer-events: all;\n mask-image: var(--ix-card-list-overflow, none);\n }\n\n .Show__All__Card {\n display: flex;\n position: relative;\n\n align-self: flex-start;\n justify-self: center;\n\n max-width: 11.25rem;\n min-width: 11.25rem;\n width: 11.25rem;\n\n min-height: 11.25rem;\n max-height: 11.25rem;\n height: 11.25rem;\n\n --ix-card-border-color: var(--theme-color-primary);\n color: var(--theme-color-primary);\n }\n\n .CardList__Style__Infinite__Scroll .Show__All__Card {\n margin-top: 2.375rem;\n }\n\n .CardList__Style__Flexbox__Scroll .Show__All__Card {\n margin-bottom: 2.375rem;\n }\n\n .Show__All__Card:hover {\n background-color: var(--theme-color-ghost--hover);\n }\n\n .Show__All__Card:active {\n background-color: var(--theme-color-ghost--active);\n }\n\n .Show__All__Card__Content {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Icon {\n display: flex;\n position: absolute;\n height: 4rem;\n width: 4rem;\n justify-content: center;\n align-items: center;\n }\n\n .Show__All__Card__Text {\n margin-bottom: 0px;\n margin-top: auto;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\nfunction CardListTitle(props: {\n label: string;\n isCollapsed: boolean;\n onClick: (e: MouseEvent) => void;\n onShowAllClick: (e: MouseEvent) => void;\n showAllLabel: string;\n showAllCounter: number;\n hideShowAll: boolean;\n}) {\n if (props.label === '') {\n return null;\n }\n\n return (\n <div class=\"CardList_Title\">\n <ix-icon-button\n ghost\n icon={'chevron-down'}\n onClick={props.onClick}\n color=\"color-primary\"\n class={{\n CardList__Title__Button: true,\n CardList__Title__Button__Collapsed: props.isCollapsed,\n }}\n ></ix-icon-button>\n <ix-typography variant=\"large-single\">{props.label}</ix-typography>\n {!props.hideShowAll && (\n <ix-button\n class=\"CardList__Title__Show__All\"\n ghost\n onClick={props.onShowAllClick}\n >\n <span>{props.showAllLabel}</span>\n <span>\n {!isNaN(props.showAllCounter) ? ` (${props.showAllCounter})` : null}\n </span>\n </ix-button>\n )}\n </div>\n );\n}\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-list',\n styleUrl: 'card-list.scss',\n shadow: true,\n})\nexport class CardList {\n /**\n * Name the card list\n */\n @Prop() label: string;\n\n /**\n * Collapse the list\n */\n @Prop({ mutable: true }) collapse = false;\n\n /**\n * List style\n */\n @Prop() listStyle: 'stack' | 'scroll' = 'stack';\n\n /**\n * Maximal visible cards\n *\n * @internal\n */\n @Prop() maxVisibleCards = 12;\n\n /**\n * Overwrite the default show all count.\n * */\n @Prop() showAllCount: number | undefined;\n\n /**\n * Suppress the overflow handling of child elements\n */\n @Prop() suppressOverflowHandling = false;\n\n /**\n * Hide the show all button\n *\n * @since 2.2.0\n */\n @Prop() hideShowAll = false;\n\n /**\n * i18n Show all button\n */\n @Prop() i18nShowAll = 'Show all';\n\n /**\n * i18n More cards available\n */\n @Prop() i18nMoreCards = 'There are more cards available';\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() collapseChanged: EventEmitter<boolean>;\n\n /**\n * Fire event when the collapse state is changed by the user\n */\n @Event() showAllClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n /**\n * Fire event when the show more card is clicked.\n */\n @Event() showMoreCardClick: EventEmitter<{\n nativeEvent: MouseEvent;\n }>;\n\n @Element() hostElement: HTMLIxCardListElement;\n\n @State() private hasOverflowingElements = false;\n @State() private numberOfOverflowingElements = 0;\n @State() private numberOfAllChildElements = 0;\n @State() private leftScrollDistance = 0;\n @State() private rightScrollDistance = 0;\n\n private observer: MutationObserver;\n\n private onCardListVisibilityToggle() {\n this.collapse = !this.collapse;\n this.collapseChanged.emit(this.collapse);\n }\n\n private onShowAllClick(event: MouseEvent) {\n this.showAllClick.emit({\n nativeEvent: event,\n });\n }\n\n private getListChildren() {\n const slot = this.hostElement.shadowRoot.querySelector(\n '.CardList__Content > slot'\n ) as HTMLSlotElement;\n return slot.assignedElements({ flatten: true });\n }\n\n private changeVisibilityOfSlotChildren() {\n const childElements = this.getListChildren();\n childElements.forEach((element, index) => {\n if (element instanceof HTMLElement) {\n if (index > this.maxVisibleCards - 1) {\n element.classList.add('d-none');\n return;\n }\n element.classList.remove('d-none');\n }\n });\n this.hasOverflowingElements = childElements.length > this.maxVisibleCards;\n this.numberOfOverflowingElements =\n childElements.length - this.maxVisibleCards;\n\n this.numberOfAllChildElements = childElements.length;\n this.detectOverflow();\n }\n\n private registerOverflowHandler() {\n this.observer = createMutationObserver(() => {\n this.changeVisibilityOfSlotChildren();\n });\n\n this.observer.observe(\n this.hostElement.shadowRoot.querySelector('.CardList__Content'),\n {\n childList: true,\n subtree: true,\n }\n );\n\n requestAnimationFrame(() => {\n this.changeVisibilityOfSlotChildren();\n });\n }\n\n private shouldHandleOverflow() {\n if (this.suppressOverflowHandling) {\n return false;\n }\n if (this.listStyle === 'stack' || this.listStyle === 'scroll') {\n return true;\n }\n }\n\n private get listElement() {\n return this.hostElement.shadowRoot.querySelector('.CardList__Content');\n }\n\n private onCardListScroll() {\n this.detectOverflow();\n }\n\n private isShowMoreCardVisible() {\n return (\n this.suppressOverflowHandling === false && this.hasOverflowingElements\n );\n }\n\n private getOpacityFromScrollDistance(distance: number) {\n if (!this.listElement) {\n return 0;\n }\n\n if (distance === 0) {\n return 0;\n }\n\n if (distance > 100) {\n return 1;\n }\n\n return distance / 100;\n }\n\n private computeMaskLayer() {\n const maxOverflowWidth = 80;\n const maskLayer = `linear-gradient(\n 90deg,\n transparent 0px,\n black ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.leftScrollDistance) > 0 ? 1 : 0)\n }px,\n black calc(100% - ${\n maxOverflowWidth *\n (this.getOpacityFromScrollDistance(this.rightScrollDistance) > 0\n ? 1\n : 0)\n }px),\n transparent 100%\n )`;\n return {\n '--ix-card-list-overflow': maskLayer,\n };\n }\n\n @Listen('resize', { target: 'window' })\n private detectOverflow() {\n const { clientWidth, scrollWidth, scrollLeft } = this.listElement;\n\n this.leftScrollDistance = scrollLeft;\n this.rightScrollDistance = scrollWidth - scrollLeft - clientWidth;\n }\n\n componentDidLoad() {\n if (this.shouldHandleOverflow()) {\n this.registerOverflowHandler();\n }\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <CardListTitle\n isCollapsed={this.collapse}\n label={this.label}\n showAllLabel={this.i18nShowAll}\n showAllCounter={\n this.showAllCount === undefined\n ? this.numberOfAllChildElements\n : this.showAllCount\n }\n onClick={() => this.onCardListVisibilityToggle()}\n onShowAllClick={(e) => this.onShowAllClick(e)}\n hideShowAll={this.hideShowAll}\n ></CardListTitle>\n <div\n class={{\n CardList__Overflow: true,\n }}\n style={this.computeMaskLayer()}\n >\n <div\n class={{\n CardList__Content: true,\n CardList__Content__Collapsed: this.collapse,\n CardList__Style__Flexbox__Scroll: this.listStyle === 'stack',\n CardList__Style__Infinite__Scroll: this.listStyle === 'scroll',\n }}\n onScroll={() => this.onCardListScroll()}\n >\n <slot\n onSlotchange={() => this.changeVisibilityOfSlotChildren()}\n ></slot>\n {this.isShowMoreCardVisible() ? (\n <ix-card\n class={{\n Show__All__Card: true,\n }}\n onClick={(event) =>\n this.showMoreCardClick.emit({\n nativeEvent: event,\n })\n }\n >\n <ix-card-content class=\"Show__All__Card__Content\">\n <ix-icon\n name={'more-menu'}\n size={'32'}\n class={'Show__All__Card__Icon'}\n ></ix-icon>\n <span class=\"Show__All__Card__Text\">\n {this.i18nMoreCards} ({this.numberOfOverflowingElements})\n </span>\n </ix-card-content>\n </ix-card>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t,H as o}from"./p-f87cd962.js";const l=":host{display:block}";const c=l;const e=class{constructor(t){s(this,t);this.contentVisible=false}render(){return t(o,{key:"5168ef23e528f9bb5a8408a6df292bd2bbadd1fc"},this.contentVisible?t("slot",null):null)}};e.style=c;export{e as ix_flip_tile_content};
|
|
2
|
-
//# sourceMappingURL=p-44db3646.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as i,H as c}from"./p-f87cd962.js";const t=":host{display:block;position:relative}:host .icon{transform:scale(1.25)}:host .notification{font-size:40px}:host ix-card-content{height:11rem}";const a=t;const s=class{constructor(i){e(this,i);this.icon=undefined;this.notification=undefined;this.heading=undefined;this.subheading=undefined;this.variant="insight";this.collapse=true}render(){var e;const t=this.variant==="insight"||this.variant==="notification"?"std":undefined;return i(c,{key:"9ba9fd8e6cc9f2b74e89fbbcd0c09a04aca45ac2"},i("ix-card",{key:"913618b3fc69c1e59c3bbeb4c92569b2754ff3ae",variant:this.variant},i("ix-card-content",{key:"bb75a940ce3ac891fe947f4ed9e542c36a492f92"},i("ix-card-title",{key:"37f4faab2368f341dd835fffe64b5915e1c4b322"},this.icon?i("ix-icon",{class:"icon",name:this.icon,size:"32"}):null,i("span",{key:"42059a2ed174f15fdcce1ddb599bc831afade5b1",class:"notification"},(e=this.notification)!==null&&e!==void 0?e:0),i("slot",{key:"9e3b8df6148f3b8e3d577d8ece5253b14c85a0dd",name:"title-action"})),i("ix-typography",{key:"b7473e9fd9fdaee3045ec4884544469a9a6457fe",color:t,format:"h4"},this.heading),i("ix-typography",{key:"26c212e7f6111df4d353525fda6b3a76ee7dea3c",color:t},this.subheading)),i("ix-card-accordion",{key:"a779591ee7405f4a725f1c04abbc7223064ee885",collapse:this.collapse},i("slot",{key:"5d42faa67c254a1d8541c525cb8e0e08e6b0d095"}))))}};s.style=a;export{s as ix_push_card};
|
|
2
|
-
//# sourceMappingURL=p-4b3facea.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["pushCardCss","IxPushCardStyle0","PushCard","undefined","render","color","this","variant","h","Host","key","icon","class","name","size","_a","notification","format","heading","subheading","collapse"],"sources":["src/components/push-card/push-card.scss?tag=ix-push-card&encapsulation=shadow","src/components/push-card/push-card.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\n position: relative;\n\n .icon {\n transform: scale(1.25);\n }\n\n .notification {\n font-size: 40px;\n }\n\n ix-card-content {\n height: 11rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, h, Host, Prop } from '@stencil/core';\nimport { CardVariant } from '../card/card';\nimport { TypographyColors } from '../typography/typography';\n\nexport type PushCardVariant = CardVariant;\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-push-card',\n styleUrl: 'push-card.scss',\n shadow: true,\n})\nexport class PushCard {\n /**\n * Card icon\n */\n @Prop() icon: string | undefined = undefined;\n\n /**\n * Card KPI value\n */\n @Prop() notification: string;\n\n /**\n * Card heading\n */\n @Prop() heading: string;\n\n /**\n * Card subheading\n */\n @Prop() subheading: string;\n\n /**\n * Card variant\n */\n @Prop() variant: PushCardVariant = 'insight';\n\n /**\n * Collapse the card\n * @since 2.1.0\n */\n @Prop() collapse: boolean = true;\n\n render() {\n const color: TypographyColors =\n this.variant === 'insight' || this.variant === 'notification'\n ? 'std'\n : undefined;\n\n return (\n <Host>\n <ix-card variant={this.variant}>\n <ix-card-content>\n <ix-card-title>\n {this.icon ? (\n <ix-icon class={'icon'} name={this.icon} size=\"32\"></ix-icon>\n ) : null}\n <span class={'notification'}>{this.notification ?? 0}</span>\n <slot name=\"title-action\"></slot>\n </ix-card-title>\n <ix-typography color={color} format=\"h4\">\n {this.heading}\n </ix-typography>\n <ix-typography color={color}>{this.subheading}</ix-typography>\n </ix-card-content>\n <ix-card-accordion collapse={this.collapse}>\n <slot></slot>\n </ix-card-accordion>\n </ix-card>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAc,iJACpB,MAAAC,EAAeD,E,MCsBFE,EAAQ,M,mCAIgBC,U,0FAoBA,U,cAMP,I,CAE5B,MAAAC,G,MACE,MAAMC,EACJC,KAAKC,UAAY,WAAaD,KAAKC,UAAY,eAC3C,MACAJ,UAEN,OACEK,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,WAAAE,IAAA,2CAASH,QAASD,KAAKC,SACrBC,EAAA,mBAAAE,IAAA,4CACEF,EAAA,iBAAAE,IAAA,4CACGJ,KAAKK,KACJH,EAAA,WAASI,MAAO,OAAQC,KAAMP,KAAKK,KAAMG,KAAK,OAC5C,KACJN,EAAA,QAAAE,IAAA,2CAAME,MAAO,iBAAiBG,EAAAT,KAAKU,gBAAY,MAAAD,SAAA,EAAAA,EAAI,GACnDP,EAAA,QAAAE,IAAA,2CAAMG,KAAK,kBAEbL,EAAA,iBAAAE,IAAA,2CAAeL,MAAOA,EAAOY,OAAO,MACjCX,KAAKY,SAERV,EAAA,iBAAAE,IAAA,2CAAeL,MAAOA,GAAQC,KAAKa,aAErCX,EAAA,qBAAAE,IAAA,2CAAmBU,SAAUd,KAAKc,UAChCZ,EAAA,QAAAE,IAAA,+C"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as o}from"./p-f87cd962.js";import{A as h}from"./p-c09553f3.js";import{O as r}from"./p-0c8a98cd.js";import{c as n}from"./p-e898862b.js";const l=":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly,:host .select.disabled{box-shadow:none !important;border:none;border-radius:0;cursor:pointer}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active,:host .select.disabled,:host .select.disabled:hover,:host .select.disabled:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible,:host .select.disabled:focus,:host .select.disabled:focus-within,:host .select.disabled:focus-visible{outline:none}:host .select.readonly input:focus,:host .select.readonly input:focus-visible,:host .select.disabled input:focus,:host .select.disabled input:focus-visible{outline:none}:host .select.disabled{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.disabled input{color:var(--theme-color-weak-text)}:host .select.readonly{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-soft-bdr)}:host .select.readonly input{color:var(--theme-color-std-text)}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}";const a=l;var d=undefined&&undefined.__decorate||function(t,e,i,s){var o=arguments.length,h=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")h=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)if(r=t[n])h=(o<3?r(h):o>3?r(e,i,h):r(e,i))||h;return o>3&&h&&Object.defineProperty(e,i,h),h};const c=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",7);this.itemSelectionChange=e(this,"itemSelectionChange",7);this.inputChange=e(this,"inputChange",7);this.addItem=e(this,"addItem",7);this.focusControllerCallbackBind=this.focusDropdownItem.bind(this);this.itemObserver=n((()=>{this.arrowFocusController.items=this.visibleNonShadowItems}));this.selectedIndices=undefined;this.value=undefined;this.allowClear=false;this.mode="single";this.editable=false;this.disabled=false;this.readonly=false;this.i18nPlaceholder="Select an option";this.i18nPlaceholderEditable="Type of select option";this.i18nSelectListHeader="Please select an option";this.i18nNoMatches="No matches";this.hideListHeader=false;this.dropdownShow=false;this.selectedLabels=undefined;this.dropdownWrapperRef=undefined;this.dropdownAnchor=undefined;this.isDropdownEmpty=false;this.navigationItem=undefined;this.inputFilterText=undefined;this.inputValue=undefined}get nonShadowItems(){return Array.from(this.hostElement.querySelectorAll("ix-select-item"))}get visibleNonShadowItems(){return this.nonShadowItems.filter((t=>!t.classList.contains("d-none")))}get shadowItems(){return Array.from(this.hostElement.shadowRoot.querySelectorAll("ix-select-item"))}get visibleShadowItems(){return this.shadowItems.filter((t=>!t.classList.contains("d-none")))}get items(){return[...this.nonShadowItems,...this.shadowItems]}get visibleItems(){return this.items.filter((t=>!t.classList.contains("d-none")))}get selectedItems(){return this.items.filter((t=>t.selected))}get addItemButton(){return this.hostElement.shadowRoot.querySelector(".add-item")}get isSingleMode(){return this.mode==="single"}get isMultipleMode(){return this.mode==="multiple"}get isEveryDropdownItemHidden(){return this.items.every((t=>t.classList.contains("d-none")))}watchSelectedIndices(t){this.value=t;this.updateSelection()}watchValue(t){this.selectedIndices=t;this.updateSelection()}watchDropdownShow(t){if(t){this.arrowFocusController=new h(this.visibleNonShadowItems,this.dropdownRef,this.focusControllerCallbackBind);this.arrowFocusController.wrap=!this.editable;this.itemObserver.observe(this.dropdownRef,{childList:true,subtree:true})}else{this.arrowFocusController.disconnect();this.arrowFocusController=undefined;this.itemObserver.disconnect()}}onItemClicked(t){const e=t.detail;this.itemClick(e)}focusDropdownItem(t){var e;this.navigationItem=undefined;if(t<this.visibleNonShadowItems.length){const i=(e=this.visibleNonShadowItems[t])===null||e===void 0?void 0:e.shadowRoot.querySelector("ix-dropdown-item");requestAnimationFrame((()=>{i.shadowRoot.querySelector("button").focus()}))}}itemClick(t){const e=this.toggleValue(t);const i=this.emitValueChange(e);if(i){return}this.value=e;this.updateSelection()}emitAddItem(t){if(t===undefined||t.trim()===""){return false}const{defaultPrevented:e}=this.addItem.emit(t);if(e){return true}const i=document.createElement("ix-select-item");i.value=t;i.label=t;this.customItemsContainerRef.appendChild(i);this.clearInput();this.itemClick(t);return false}toggleValue(t){if(!this.isMultipleMode){return t}if(!this.value){return[t]}let e=this.value;if(!Array.isArray(e)){e=[e]}if(e.includes(t)){return e.filter((e=>e!==t))}else{return[...e,t]}}updateSelection(){var t;let e=[];if(this.value){e=Array.isArray(this.value)?[...this.value]:[this.value]}this.items.forEach((t=>{t.selected=e.some((e=>{if(typeof e!==typeof t.value){return e.toString()===t.value.toString()}else{return e===t.value}}))}));this.selectedLabels=this.selectedItems.map((t=>t.label));if(this.isSingleMode&&((t=this.selectedLabels)===null||t===void 0?void 0:t.length)){this.inputValue=this.selectedLabels[0];this.inputRef&&(this.inputRef.value=this.inputValue);return}this.inputValue=null}emitValueChange(t){const{defaultPrevented:e}=this.valueChange.emit(t);if(e){return true}if(!t){this.itemSelectionChange.emit(null)}else{this.itemSelectionChange.emit(Array.isArray(t)?t:[t])}return false}componentDidLoad(){this.inputRef.addEventListener("input",(()=>{this.dropdownShow=true;this.inputChange.emit(this.inputRef.value)}))}componentWillLoad(){if(this.selectedIndices&&!this.value){this.value=this.selectedIndices}this.updateSelection()}onLabelChange(t){t.preventDefault();t.stopImmediatePropagation();this.updateSelection()}disconnectedCallback(){if(this.itemMutationObserver){this.itemMutationObserver.disconnect()}}itemExists(t){return this.items.find((e=>e.label===t))}dropdownVisibilityChanged(t){this.dropdownShow=t.detail;if(t.detail){this.inputRef.focus();this.inputRef.select();this.removeHiddenFromItems();this.isDropdownEmpty=this.isEveryDropdownItemHidden}else{this.navigationItem=undefined;this.updateSelection();this.inputFilterText=""}}async onKeyDown(t){if(t.code==="ArrowDown"||t.code==="ArrowUp"){await this.onArrowNavigation(t,t.code)}if(!this.dropdownShow){return}if(t.code==="Enter"||t.code==="NumpadEnter"){await this.onEnterNavigation()}if(t.code==="Escape"){this.dropdownShow=false}}async onEnterNavigation(){var t;if(this.isMultipleMode){return}let e;if(this.editable&&!this.itemExists(this.inputFilterText)){const t=this.emitAddItem(this.inputFilterText);if(t){return}e=this.items[this.items.length-1]}if(e){e.onItemClick()}await((t=this.dropdownRef)===null||t===void 0?void 0:t.updatePosition());if(this.isSingleMode&&!this.editable){this.dropdownShow=false}}async onArrowNavigation(t,e){if(t.defaultPrevented){return}t.preventDefault();t.stopPropagation();this.dropdownShow=true;if(!this.navigationItem&&document.activeElement===this.hostElement){if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}const i=e==="ArrowUp";const s=this.visibleNonShadowItems.indexOf(document.activeElement);if(s===0){if(!this.visibleShadowItems.length&&this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleShadowItems.pop())}return}else if(s!==-1&&s===this.visibleNonShadowItems.length-1){if(this.visibleShadowItems.length){this.applyFocusTo(this.visibleShadowItems.shift())}else if(this.isAddItemVisible()){this.focusAddItemButton()}return}if(this.isAddItemVisible()&&this.addItemRef.contains(await this.navigationItem.getDropdownItemElement())){if(i){this.applyFocusTo(this.visibleItems.pop())}else{if(this.visibleItems.length){this.applyFocusTo(this.visibleItems.shift())}}return}const o=this.visibleShadowItems.indexOf(this.navigationItem);if(i){if(o===0){if(this.visibleNonShadowItems.length){this.applyFocusTo(this.visibleNonShadowItems.pop())}else if(this.isAddItemVisible()){this.focusAddItemButton()}}else{this.applyFocusTo(this.visibleShadowItems[o-1])}}else{if(o===this.visibleShadowItems.length-1){if(this.isAddItemVisible()){this.focusAddItemButton()}else{this.applyFocusTo(this.visibleItems.shift())}}else{this.applyFocusTo(this.visibleShadowItems[o+1])}}}applyFocusTo(t){if(!t){return}this.navigationItem=t;setTimeout((()=>{t.shadowRoot.querySelector("ix-dropdown-item").shadowRoot.querySelector("button").focus()}))}focusAddItemButton(){if(this.addItemButton){this.addItemButton.shadowRoot.querySelector("button").focus();this.navigationItem=this.addItemRef}}filterItemsWithTypeahead(){this.inputFilterText=this.inputRef.value;if(this.isSingleMode&&this.inputFilterText===this.selectedLabels[0]){return}if(this.inputFilterText){this.items.forEach((t=>{t.classList.remove("d-none");if(!t.label.toLowerCase().includes(this.inputFilterText.toLowerCase())){t.classList.add("d-none")}}))}else{this.removeHiddenFromItems()}if(this.arrowFocusController){this.arrowFocusController.items=this.visibleNonShadowItems}this.isDropdownEmpty=this.isEveryDropdownItemHidden}removeHiddenFromItems(){this.items.forEach((t=>{t.classList.remove("d-none")}))}clearInput(){this.inputRef.value="";this.inputFilterText=""}clear(){this.clearInput();this.selectedLabels=[];this.value=[];this.valueChange.emit(null);this.dropdownShow=false}onInputBlur(t){if(this.editable){return}if(this.isSingleMode){return}if(!this.dropdownShow&&this.mode!=="multiple"){t.target["value"]=this.selectedLabels}}placeholderValue(){if(this.disabled){return""}if(this.readonly){return""}if(this.editable){return this.i18nPlaceholderEditable}return this.i18nPlaceholder}isAddItemVisible(){return!this.itemExists(this.inputFilterText)&&this.editable&&this.inputFilterText}render(){var t,e,o;return i(s,{key:"ef836653267a38d82ead34cf82285997083f4086"},i("div",{key:"23e903c9849f58f70d9c843a7258f913d6811cf2",class:{select:true,disabled:this.disabled,readonly:this.readonly},ref:t=>{this.dropdownAnchor=t;if(!this.editable)this.dropdownWrapperRef=t}},i("div",{key:"56b38a998a44ddc6b8f380cc049e813be30ad711",class:"input-container"},i("div",{key:"b3e152d2ab35f3e2bcf2ac8c8df4cb3bc97f6e3c",class:"chips"},this.isMultipleMode?(t=this.selectedItems)===null||t===void 0?void 0:t.map((t=>i("ix-filter-chip",{disabled:this.disabled||this.readonly,key:t.value,onCloseClick:e=>{e.preventDefault();e.stopPropagation();this.itemClick(t.value)}},t.label))):"",i("div",{key:"f411e24b3c4512731593a4afd5c51f0223254cc9",class:"trigger"},i("input",{key:"3c16a408ed58a3d2430ed86df32b6d990acb2b49",autocomplete:"off","data-testid":"input",disabled:this.disabled,readOnly:this.readonly,type:"text",class:{"allow-clear":this.allowClear&&!!((e=this.selectedLabels)===null||e===void 0?void 0:e.length)},placeholder:this.placeholderValue(),value:this.inputValue,ref:t=>this.inputRef=t,onBlur:t=>this.onInputBlur(t),onFocus:()=>{this.navigationItem=undefined},onInput:()=>this.filterItemsWithTypeahead(),onKeyDown:t=>this.onKeyDown(t)}),this.allowClear&&(((o=this.selectedLabels)===null||o===void 0?void 0:o.length)||this.inputFilterText)?i("ix-icon-button",{class:"clear",icon:"clear",ghost:true,oval:true,size:"16",onClick:t=>{t.preventDefault();t.stopPropagation();this.clear()}}):null,this.disabled||this.readonly?null:i("ix-icon-button",{"data-select-dropdown":true,class:{"dropdown-visible":this.dropdownShow},icon:"chevron-down-small",ghost:true,ref:t=>{if(this.editable)this.dropdownWrapperRef=t}}))))),i("ix-dropdown",{key:"6c838166f4366d760f30dc102d3dad4611b369b5",ref:t=>this.dropdownRef=t,show:this.dropdownShow,closeBehavior:this.isMultipleMode?"outside":"both",class:{"d-none":this.disabled||this.readonly},anchor:this.dropdownAnchor,trigger:this.dropdownWrapperRef,onShowChanged:t=>this.dropdownVisibilityChanged(t),placement:"bottom-start",overwriteDropdownStyle:async()=>({minWidth:`${this.hostElement.clientWidth}px`})},i("div",{key:"8f7b41436b7f15311dd4d46cbacbb95879de501e",class:{"select-list-header":true,hidden:this.hideListHeader||this.isDropdownEmpty},title:this.i18nSelectListHeader,onClick:t=>t.preventDefault()},this.i18nSelectListHeader),i("slot",{key:"dc2913881d407f2cdaaa30efc15fa05193117b1c"}),i("div",{key:"706abca5e8fef621d36b560b6ca5629c235a6a32",ref:t=>this.customItemsContainerRef=t,class:"d-contents"}),this.isAddItemVisible()?i("ix-dropdown-item",{"data-testid":"add-item",icon:"plus",class:{"add-item":true},label:this.inputFilterText,onItemClick:t=>{t.preventDefault();if(this.emitAddItem(this.inputFilterText)){t.stopPropagation()}},onFocus:()=>this.navigationItem=this.addItemRef,ref:t=>{this.addItemRef=t}}):null,this.isDropdownEmpty&&!this.editable?i("div",{class:"select-list-header"},this.i18nNoMatches):""))}get hostElement(){return o(this)}static get watchers(){return{selectedIndices:["watchSelectedIndices"],value:["watchValue"],dropdownShow:["watchDropdownShow"]}}};d([r("keydown",(t=>t.dropdownShow))],c.prototype,"onKeyDown",null);c.style=a;export{c as ix_select};
|
|
2
|
-
//# sourceMappingURL=p-52857629.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["selectCss","IxSelectStyle0","Select","this","focusControllerCallbackBind","focusDropdownItem","bind","itemObserver","createMutationObserver","arrowFocusController","items","visibleNonShadowItems","nonShadowItems","Array","from","hostElement","querySelectorAll","filter","item","classList","contains","shadowItems","shadowRoot","visibleShadowItems","visibleItems","selectedItems","selected","addItemButton","querySelector","isSingleMode","mode","isMultipleMode","isEveryDropdownItemHidden","every","watchSelectedIndices","value","updateSelection","watchValue","selectedIndices","watchDropdownShow","show","ArrowFocusController","dropdownRef","wrap","editable","observe","childList","subtree","disconnect","undefined","onItemClicked","event","newId","detail","itemClick","index","navigationItem","length","nestedDropdownItem","_a","requestAnimationFrame","focus","toggleValue","defaultPrevented","emitValueChange","emitAddItem","trim","addItem","emit","newItem","document","createElement","label","customItemsContainerRef","appendChild","clearInput","itemValue","isArray","includes","ids","forEach","some","i","toString","selectedLabels","map","inputValue","inputRef","valueChange","itemSelectionChange","componentDidLoad","addEventListener","dropdownShow","inputChange","componentWillLoad","onLabelChange","preventDefault","stopImmediatePropagation","disconnectedCallback","itemMutationObserver","itemExists","find","dropdownVisibilityChanged","select","removeHiddenFromItems","isDropdownEmpty","inputFilterText","onKeyDown","code","onArrowNavigation","onEnterNavigation","onItemClick","updatePosition","key","stopPropagation","activeElement","applyFocusTo","shift","isAddItemVisible","focusAddItemButton","moveUp","indexNonShadow","indexOf","pop","addItemRef","getDropdownItemElement","indexShadow","element","setTimeout","filterItemsWithTypeahead","remove","toLowerCase","add","clear","onInputBlur","e","target","placeholderValue","disabled","readonly","i18nPlaceholderEditable","i18nPlaceholder","render","h","Host","class","ref","dropdownAnchor","dropdownWrapperRef","onCloseClick","autocomplete","readOnly","type","allowClear","_b","placeholder","onBlur","onFocus","onInput","_c","icon","ghost","oval","size","onClick","closeBehavior","anchor","trigger","onShowChanged","placement","overwriteDropdownStyle","async","minWidth","clientWidth","hidden","hideListHeader","title","i18nSelectListHeader","i18nNoMatches","__decorate","OnListener","self"],"sources":["src/components/select/select.scss?tag=ix-select&encapsulation=shadow","src/components/select/select.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n min-height: 2rem;\n height: auto;\n border-radius: var(--theme-input--border-radius);\n\n .d-none {\n display: none;\n }\n\n .select {\n position: relative;\n display: flex;\n align-items: center;\n background-color: var(--theme-input--background);\n border: var(--theme-input--border-thickness) solid\n var(--theme-input--border-color);\n border-radius: var(--theme-input--border-radius);\n padding: 0 0 0 $small-space;\n box-shadow: var(--theme-inset-shadow-1) !important;\n\n @include hover {\n background-color: var(--theme-input--background--hover);\n border-color: var(--theme-input--border-color--hover);\n }\n\n &:focus-within {\n background-color: var(--theme-input--background--focus);\n border-color: var(--theme-input--border-color--focus);\n outline: 1px solid #119fff;\n outline-offset: var(--theme-input--focus--outline-offset);\n }\n }\n\n .select.readonly,\n .select.disabled {\n box-shadow: none !important;\n border: none;\n border-radius: 0;\n cursor: pointer;\n\n &,\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n\n &:focus,\n &:focus-within,\n &:focus-visible {\n outline: none;\n }\n\n input:focus,\n input:focus-visible {\n outline: none;\n }\n }\n\n .select.disabled {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-weak-bdr);\n\n input {\n color: var(--theme-color-weak-text);\n }\n }\n\n .select.readonly {\n border-bottom: var(--theme-input--border-thickness) solid\n var(--theme-color-soft-bdr);\n\n input {\n color: var(--theme-color-std-text);\n }\n }\n\n .hidden {\n display: none !important;\n }\n\n .trigger {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n }\n\n .input-container {\n display: flex;\n position: relative;\n align-items: flex-start;\n width: 100%;\n height: 100%;\n\n .chips {\n position: relative;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n height: 100%;\n max-height: 3.5rem;\n flex-grow: 1;\n overflow-y: auto;\n\n > ix-filter-chip {\n margin: 0.1rem;\n }\n }\n\n input {\n @include ellipsis;\n @include text-default;\n background: transparent;\n height: 1.75rem;\n width: 100%;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &::placeholder {\n color: var(--theme-input-select-icon--color);\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n }\n\n .dropdown-visible {\n --ix-icon-button-color: var(--theme-color-dynamic--hover);\n }\n\n .add-item {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n position: relative;\n width: 100%;\n }\n\n .select-list-header {\n @include ellipsis;\n display: flex;\n align-items: center;\n height: $default-control-height;\n color: var(--theme-select-list-item-hint--color);\n margin: 0 $small-space 0 1rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() navigationItem: DropdownItemWrapper;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private customItemsContainerRef!: HTMLDivElement;\n private addItemRef!: HTMLIxDropdownItemElement;\n\n private itemMutationObserver: MutationObserver;\n\n private arrowFocusController: ArrowFocusController;\n private focusControllerCallbackBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = createMutationObserver(() => {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.arrowFocusController.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver.disconnect();\n }\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot.querySelector(\n 'ix-dropdown-item'\n );\n\n requestAnimationFrame(() => {\n nestedDropdownItem.shadowRoot.querySelector('button').focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const value = this.toggleValue(newId);\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n return;\n }\n\n this.value = value;\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.isSingleMode && this.selectedLabels?.length) {\n this.inputValue = this.selectedLabels[0];\n this.inputRef && (this.inputRef.value = this.inputValue);\n return;\n }\n\n this.inputValue = null;\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n return false;\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.itemMutationObserver) {\n this.itemMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation();\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation() {\n if (this.isMultipleMode) {\n return;\n }\n\n let item: HTMLIxSelectItemElement;\n\n if (this.editable && !this.itemExists(this.inputFilterText)) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText);\n if (defaultPrevented) {\n return;\n }\n\n item = this.items[this.items.length - 1];\n }\n\n if (item) {\n item.onItemClick();\n }\n\n await this.dropdownRef?.updatePosition();\n\n if (this.isSingleMode && !this.editable) {\n this.dropdownShow = false;\n }\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = this.visibleNonShadowItems.indexOf(\n document.activeElement as any\n );\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as any\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot.querySelector('button').focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n if (this.emitAddItem(this.inputFilterText)) {\n e.stopPropagation();\n }\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"4KAAA,MAAMA,EAAY,wsIAClB,MAAAC,EAAeD,E,iXC+BFE,EAAM,M,qMAgHTC,KAAAC,4BAA8BD,KAAKE,kBAAkBC,KAAKH,MAE1DA,KAAAI,aAAeC,GAAuB,KAC5CL,KAAKM,qBAAqBC,MAAQP,KAAKQ,qBAAqB,I,oEA/FzC,M,UAKiB,S,cAKnB,M,cAKA,M,cAKA,M,qBAKO,mB,6BAKQ,wB,0BAKH,0B,mBAOP,a,oBAOC,M,kBA0BD,M,mHAIG,M,uFAmB3B,kBAAIC,GACF,OAAOC,MAAMC,KAAKX,KAAKY,YAAYC,iBAAiB,kB,CAGtD,yBAAIL,GACF,OAAOR,KAAKS,eAAeK,QACxBC,IAAUA,EAAKC,UAAUC,SAAS,W,CAIvC,eAAIC,GACF,OAAOR,MAAMC,KACXX,KAAKY,YAAYO,WAAWN,iBAAiB,kB,CAIjD,sBAAIO,GACF,OAAOpB,KAAKkB,YAAYJ,QACrBC,IAAUA,EAAKC,UAAUC,SAAS,W,CAIvC,SAAIV,GACF,MAAO,IAAIP,KAAKS,kBAAmBT,KAAKkB,Y,CAG1C,gBAAIG,GACF,OAAOrB,KAAKO,MAAMO,QAAQC,IAAUA,EAAKC,UAAUC,SAAS,W,CAG9D,iBAAIK,GACF,OAAOtB,KAAKO,MAAMO,QAAQC,GAASA,EAAKQ,U,CAG1C,iBAAIC,GACF,OAAOxB,KAAKY,YAAYO,WAAWM,cAAc,Y,CAGnD,gBAAIC,GACF,OAAO1B,KAAK2B,OAAS,Q,CAGvB,kBAAIC,GACF,OAAO5B,KAAK2B,OAAS,U,CAGvB,6BAAIE,GACF,OAAO7B,KAAKO,MAAMuB,OAAOf,GAASA,EAAKC,UAAUC,SAAS,W,CAI5D,oBAAAc,CAAqBC,GACnBhC,KAAKgC,MAAQA,EACbhC,KAAKiC,iB,CAIP,UAAAC,CAAWF,GACThC,KAAKmC,gBAAkBH,EACvBhC,KAAKiC,iB,CAIP,iBAAAG,CAAkBC,GAChB,GAAIA,EAAM,CACRrC,KAAKM,qBAAuB,IAAIgC,EAC9BtC,KAAKQ,sBACLR,KAAKuC,YACLvC,KAAKC,6BAGPD,KAAKM,qBAAqBkC,MAAQxC,KAAKyC,SAEvCzC,KAAKI,aAAasC,QAAQ1C,KAAKuC,YAAa,CAC1CI,UAAW,KACXC,QAAS,M,KAEN,CACL5C,KAAKM,qBAAqBuC,aAC1B7C,KAAKM,qBAAuBwC,UAC5B9C,KAAKI,aAAayC,Y,EAKtB,aAAAE,CAAcC,GACZ,MAAMC,EAAQD,EAAME,OACpBlD,KAAKmD,UAAUF,E,CAGT,iBAAA/C,CAAkBkD,G,MACxBpD,KAAKqD,eAAiBP,UAEtB,GAAIM,EAAQpD,KAAKQ,sBAAsB8C,OAAQ,CAC7C,MAAMC,GACJC,EAAAxD,KAAKQ,sBAAsB4C,MAAM,MAAAI,SAAA,SAAAA,EAAErC,WAAWM,cAC5C,oBAGJgC,uBAAsB,KACpBF,EAAmBpC,WAAWM,cAAc,UAAUiC,OAAO,G,EAK3D,SAAAP,CAAUF,GAChB,MAAMjB,EAAQhC,KAAK2D,YAAYV,GAC/B,MAAMW,EAAmB5D,KAAK6D,gBAAgB7B,GAE9C,GAAI4B,EAAkB,CACpB,M,CAGF5D,KAAKgC,MAAQA,EACbhC,KAAKiC,iB,CAGC,WAAA6B,CAAY9B,GAClB,GAAIA,IAAUc,WAAad,EAAM+B,SAAW,GAAI,CAC9C,OAAO,K,CAGT,MAAMH,iBAAEA,GAAqB5D,KAAKgE,QAAQC,KAAKjC,GAC/C,GAAI4B,EAAkB,CACpB,OAAO,I,CAGT,MAAMM,EAAUC,SAASC,cAAc,kBACvCF,EAAQlC,MAAQA,EAChBkC,EAAQG,MAAQrC,EAEhBhC,KAAKsE,wBAAwBC,YAAYL,GAEzClE,KAAKwE,aACLxE,KAAKmD,UAAUnB,GAEf,OAAO,K,CAGD,WAAA2B,CAAYc,GAClB,IAAKzE,KAAK4B,eAAgB,CACxB,OAAO6C,C,CAGT,IAAKzE,KAAKgC,MAAO,CACf,MAAO,CAACyC,E,CAGV,IAAIzC,EAAQhC,KAAKgC,MAEjB,IAAKtB,MAAMgE,QAAQ1C,GAAQ,CACzBA,EAAQ,CAACA,E,CAGX,GAAIA,EAAM2C,SAASF,GAAY,CAC7B,OAAOzC,EAAMlB,QAAQkB,GAAUA,IAAUyC,G,KACpC,CACL,MAAO,IAAIzC,EAAOyC,E,EAId,eAAAxC,G,MACN,IAAI2C,EAAM,GAEV,GAAI5E,KAAKgC,MAAO,CACd4C,EAAMlE,MAAMgE,QAAQ1E,KAAKgC,OAAS,IAAIhC,KAAKgC,OAAS,CAAChC,KAAKgC,M,CAG5DhC,KAAKO,MAAMsE,SAAS9D,IAClBA,EAAKQ,SAAWqD,EAAIE,MAAMC,IACxB,UAAWA,WAAahE,EAAKiB,MAAO,CAClC,OAAO+C,EAAEC,aAAejE,EAAKiB,MAAMgD,U,KAC9B,CACL,OAAOD,IAAMhE,EAAKiB,K,IAEpB,IAGJhC,KAAKiF,eAAiBjF,KAAKsB,cAAc4D,KAAKnE,GAASA,EAAKsD,QAE5D,GAAIrE,KAAK0B,gBAAgB8B,EAAAxD,KAAKiF,kBAAc,MAAAzB,SAAA,SAAAA,EAAEF,QAAQ,CACpDtD,KAAKmF,WAAanF,KAAKiF,eAAe,GACtCjF,KAAKoF,WAAapF,KAAKoF,SAASpD,MAAQhC,KAAKmF,YAC7C,M,CAGFnF,KAAKmF,WAAa,I,CAGZ,eAAAtB,CAAgB7B,GACtB,MAAM4B,iBAAEA,GAAqB5D,KAAKqF,YAAYpB,KAAKjC,GAEnD,GAAI4B,EAAkB,CACpB,OAAO,I,CAGT,IAAK5B,EAAO,CACVhC,KAAKsF,oBAAoBrB,KAAK,K,KACzB,CACLjE,KAAKsF,oBAAoBrB,KAAKvD,MAAMgE,QAAQ1C,GAASA,EAAQ,CAACA,G,CAGhE,OAAO,K,CAGT,gBAAAuD,GACEvF,KAAKoF,SAASI,iBAAiB,SAAS,KACtCxF,KAAKyF,aAAe,KACpBzF,KAAK0F,YAAYzB,KAAKjE,KAAKoF,SAASpD,MAAM,G,CAI9C,iBAAA2D,GACE,GAAI3F,KAAKmC,kBAAoBnC,KAAKgC,MAAO,CACvChC,KAAKgC,MAAQhC,KAAKmC,e,CAGpBnC,KAAKiC,iB,CAIP,aAAA2D,CAAc5C,GACZA,EAAM6C,iBACN7C,EAAM8C,2BACN9F,KAAKiC,iB,CAGP,oBAAA8D,GACE,GAAI/F,KAAKgG,qBAAsB,CAC7BhG,KAAKgG,qBAAqBnD,Y,EAItB,UAAAoD,CAAWlF,GACjB,OAAOf,KAAKO,MAAM2F,MAAMnB,GAAMA,EAAEV,QAAUtD,G,CAGpC,yBAAAoF,CAA0BnD,GAChChD,KAAKyF,aAAezC,EAAME,OAE1B,GAAIF,EAAME,OAAQ,CAChBlD,KAAKoF,SAAS1B,QACd1D,KAAKoF,SAASgB,SAEdpG,KAAKqG,wBACLrG,KAAKsG,gBAAkBtG,KAAK6B,yB,KACvB,CACL7B,KAAKqD,eAAiBP,UACtB9C,KAAKiC,kBACLjC,KAAKuG,gBAAkB,E,EAK3B,eAAMC,CAAUxD,GACd,GAAIA,EAAMyD,OAAS,aAAezD,EAAMyD,OAAS,UAAW,OACpDzG,KAAK0G,kBAAkB1D,EAAOA,EAAMyD,K,CAG5C,IAAKzG,KAAKyF,aAAc,CACtB,M,CAGF,GAAIzC,EAAMyD,OAAS,SAAWzD,EAAMyD,OAAS,cAAe,OACpDzG,KAAK2G,mB,CAGb,GAAI3D,EAAMyD,OAAS,SAAU,CAC3BzG,KAAKyF,aAAe,K,EAIhB,uBAAMkB,G,MACZ,GAAI3G,KAAK4B,eAAgB,CACvB,M,CAGF,IAAIb,EAEJ,GAAIf,KAAKyC,WAAazC,KAAKiG,WAAWjG,KAAKuG,iBAAkB,CAC3D,MAAM3C,EAAmB5D,KAAK8D,YAAY9D,KAAKuG,iBAC/C,GAAI3C,EAAkB,CACpB,M,CAGF7C,EAAOf,KAAKO,MAAMP,KAAKO,MAAM+C,OAAS,E,CAGxC,GAAIvC,EAAM,CACRA,EAAK6F,a,QAGDpD,EAAAxD,KAAKuC,eAAW,MAAAiB,SAAA,SAAAA,EAAEqD,kBAExB,GAAI7G,KAAK0B,eAAiB1B,KAAKyC,SAAU,CACvCzC,KAAKyF,aAAe,K,EAIhB,uBAAMiB,CACZ1D,EACA8D,GAEA,GAAI9D,EAAMY,iBAAkB,CAC1B,M,CAGFZ,EAAM6C,iBACN7C,EAAM+D,kBAEN/G,KAAKyF,aAAe,KAEpB,IAAKzF,KAAKqD,gBAAkBc,SAAS6C,gBAAkBhH,KAAKY,YAAa,CACvE,GAAIZ,KAAKqB,aAAaiC,OAAQ,CAC5BtD,KAAKiH,aAAajH,KAAKqB,aAAa6F,Q,MAC/B,GAAIlH,KAAKmH,mBAAoB,CAClCnH,KAAKoH,oB,CAEP,M,CAGF,MAAMC,EAASP,IAAQ,UACvB,MAAMQ,EAAiBtH,KAAKQ,sBAAsB+G,QAChDpD,SAAS6C,eAIX,GAAIM,IAAmB,EAAG,CACxB,IAAKtH,KAAKoB,mBAAmBkC,QAAUtD,KAAKmH,mBAAoB,CAC9DnH,KAAKoH,oB,KACA,CACLpH,KAAKiH,aAAajH,KAAKoB,mBAAmBoG,M,CAE5C,M,MACK,GACLF,KAAoB,GACpBA,IAAmBtH,KAAKQ,sBAAsB8C,OAAS,EACvD,CACA,GAAItD,KAAKoB,mBAAmBkC,OAAQ,CAClCtD,KAAKiH,aAAajH,KAAKoB,mBAAmB8F,Q,MACrC,GAAIlH,KAAKmH,mBAAoB,CAClCnH,KAAKoH,oB,CAEP,M,CAGF,GACEpH,KAAKmH,oBACLnH,KAAKyH,WAAWxG,eACRjB,KAAKqD,eAAeqE,0BAE5B,CACA,GAAIL,EAAQ,CACVrH,KAAKiH,aAAajH,KAAKqB,aAAamG,M,KAC/B,CACL,GAAIxH,KAAKqB,aAAaiC,OAAQ,CAC5BtD,KAAKiH,aAAajH,KAAKqB,aAAa6F,Q,EAGxC,M,CAIF,MAAMS,EAAc3H,KAAKoB,mBAAmBmG,QAC1CvH,KAAKqD,gBAGP,GAAIgE,EAAQ,CACV,GAAIM,IAAgB,EAAG,CACrB,GAAI3H,KAAKQ,sBAAsB8C,OAAQ,CACrCtD,KAAKiH,aAAajH,KAAKQ,sBAAsBgH,M,MACxC,GAAIxH,KAAKmH,mBAAoB,CAClCnH,KAAKoH,oB,MAEF,CACLpH,KAAKiH,aAAajH,KAAKoB,mBAAmBuG,EAAc,G,MAErD,CACL,GAAIA,IAAgB3H,KAAKoB,mBAAmBkC,OAAS,EAAG,CACtD,GAAItD,KAAKmH,mBAAoB,CAC3BnH,KAAKoH,oB,KACA,CACLpH,KAAKiH,aAAajH,KAAKqB,aAAa6F,Q,MAEjC,CACLlH,KAAKiH,aAAajH,KAAKoB,mBAAmBuG,EAAc,G,GAKtD,YAAAV,CAAaW,GACnB,IAAKA,EAAS,CACZ,M,CAGF5H,KAAKqD,eAAiBuE,EAEtBC,YAAW,KACTD,EAAQzG,WACLM,cAAc,oBACdN,WAAWM,cAAc,UACzBiC,OAAO,G,CAIN,kBAAA0D,GACN,GAAIpH,KAAKwB,cAAe,CACtBxB,KAAKwB,cAAcL,WAAWM,cAAc,UAAUiC,QACtD1D,KAAKqD,eAAiBrD,KAAKyH,U,EAIvB,wBAAAK,GACN9H,KAAKuG,gBAAkBvG,KAAKoF,SAASpD,MAErC,GAAIhC,KAAK0B,cAAgB1B,KAAKuG,kBAAoBvG,KAAKiF,eAAe,GAAI,CACxE,M,CAGF,GAAIjF,KAAKuG,gBAAiB,CACxBvG,KAAKO,MAAMsE,SAAS9D,IAClBA,EAAKC,UAAU+G,OAAO,UACtB,IACGhH,EAAKsD,MAAM2D,cAAcrD,SAAS3E,KAAKuG,gBAAgByB,eACxD,CACAjH,EAAKC,UAAUiH,IAAI,S,SAGlB,CACLjI,KAAKqG,uB,CAGP,GAAIrG,KAAKM,qBAAsB,CAC7BN,KAAKM,qBAAqBC,MAAQP,KAAKQ,qB,CAGzCR,KAAKsG,gBAAkBtG,KAAK6B,yB,CAGtB,qBAAAwE,GACNrG,KAAKO,MAAMsE,SAAS9D,IAClBA,EAAKC,UAAU+G,OAAO,SAAS,G,CAI3B,UAAAvD,GACNxE,KAAKoF,SAASpD,MAAQ,GACtBhC,KAAKuG,gBAAkB,E,CAGjB,KAAA2B,GACNlI,KAAKwE,aACLxE,KAAKiF,eAAiB,GACtBjF,KAAKgC,MAAQ,GACbhC,KAAKqF,YAAYpB,KAAK,MACtBjE,KAAKyF,aAAe,K,CAGd,WAAA0C,CAAYC,GAClB,GAAIpI,KAAKyC,SAAU,CACjB,M,CAGF,GAAIzC,KAAK0B,aAAc,CACrB,M,CAGF,IAAK1B,KAAKyF,cAAgBzF,KAAK2B,OAAS,WAAY,CAClDyG,EAAEC,OAAO,SAAWrI,KAAKiF,c,EAIrB,gBAAAqD,GACN,GAAItI,KAAKuI,SAAU,CACjB,MAAO,E,CAGT,GAAIvI,KAAKwI,SAAU,CACjB,MAAO,E,CAGT,GAAIxI,KAAKyC,SAAU,CACjB,OAAOzC,KAAKyI,uB,CAGd,OAAOzI,KAAK0I,e,CAGN,gBAAAvB,GACN,OACGnH,KAAKiG,WAAWjG,KAAKuG,kBACtBvG,KAAKyC,UACLzC,KAAKuG,e,CAIT,MAAAoC,G,UACE,OACEC,EAACC,EAAI,CAAA/B,IAAA,4CACH8B,EAAA,OAAA9B,IAAA,2CACEgC,MAAO,CACL1C,OAAQ,KACRmC,SAAUvI,KAAKuI,SACfC,SAAUxI,KAAKwI,UAEjBO,IAAMA,IACJ/I,KAAKgJ,eAAiBD,EACtB,IAAK/I,KAAKyC,SAAUzC,KAAKiJ,mBAAqBF,CAAG,GAGnDH,EAAA,OAAA9B,IAAA,2CAAKgC,MAAM,mBACTF,EAAA,OAAA9B,IAAA,2CAAKgC,MAAM,SACR9I,KAAK4B,gBACF4B,EAAAxD,KAAKsB,iBAAa,MAAAkC,SAAA,SAAAA,EAAE0B,KAAKnE,GACvB6H,EAAA,kBACEL,SAAUvI,KAAKuI,UAAYvI,KAAKwI,SAChC1B,IAAK/F,EAAKiB,MACVkH,aAAed,IACbA,EAAEvC,iBACFuC,EAAErB,kBACF/G,KAAKmD,UAAUpC,EAAKiB,MAAM,GAG3BjB,EAAKsD,SAGV,GACJuE,EAAA,OAAA9B,IAAA,2CAAKgC,MAAM,WACTF,EAAA,SAAA9B,IAAA,2CACEqC,aAAa,MAAK,cACN,QACZZ,SAAUvI,KAAKuI,SACfa,SAAUpJ,KAAKwI,SACfa,KAAK,OACLP,MAAO,CACL,cACE9I,KAAKsJ,gBAAgBC,EAAAvJ,KAAKiF,kBAAc,MAAAsE,SAAA,SAAAA,EAAEjG,SAE9CkG,YAAaxJ,KAAKsI,mBAClBtG,MAAOhC,KAAKmF,WACZ4D,IAAMA,GAAS/I,KAAKoF,SAAW2D,EAC/BU,OAASrB,GAAMpI,KAAKmI,YAAYC,GAChCsB,QAAS,KACP1J,KAAKqD,eAAiBP,SAAS,EAEjC6G,QAAS,IAAM3J,KAAK8H,2BACpBtB,UAAY4B,GAAMpI,KAAKwG,UAAU4B,KAElCpI,KAAKsJ,eACLM,EAAA5J,KAAKiF,kBAAc,MAAA2E,SAAA,SAAAA,EAAEtG,SAAUtD,KAAKuG,iBACnCqC,EAAA,kBACEE,MAAM,QACNe,KAAM,QACNC,MAAK,KACLC,KAAI,KACJC,KAAK,KACLC,QAAU7B,IACRA,EAAEvC,iBACFuC,EAAErB,kBACF/G,KAAKkI,OAAO,IAGd,KACHlI,KAAKuI,UAAYvI,KAAKwI,SAAW,KAChCI,EAAA,8CAEEE,MAAO,CAAE,mBAAoB9I,KAAKyF,cAClCoE,KAAK,qBACLC,MAAK,KACLf,IAAMA,IACJ,GAAI/I,KAAKyC,SAAUzC,KAAKiJ,mBAAqBF,CAAG,QAQ9DH,EAAA,eAAA9B,IAAA,2CACEiC,IAAMA,GAAS/I,KAAKuC,YAAcwG,EAClC1G,KAAMrC,KAAKyF,aACXyE,cAAelK,KAAK4B,eAAiB,UAAY,OACjDkH,MAAO,CACL,SAAU9I,KAAKuI,UAAYvI,KAAKwI,UAElC2B,OAAQnK,KAAKgJ,eACboB,QAASpK,KAAKiJ,mBACdoB,cAAgBjC,GAAMpI,KAAKmG,0BAA0BiC,GACrDkC,UAAU,eACVC,uBAAwBC,UACf,CACLC,SAAU,GAAGzK,KAAKY,YAAY8J,mBAIlC9B,EAAA,OAAA9B,IAAA,2CACEgC,MAAO,CACL,qBAAsB,KACtB6B,OAAQ3K,KAAK4K,gBAAkB5K,KAAKsG,iBAEtCuE,MAAO7K,KAAK8K,qBACZb,QAAU7B,GAAMA,EAAEvC,kBAEjB7F,KAAK8K,sBAERlC,EAAA,QAAA9B,IAAA,6CACA8B,EAAA,OAAA9B,IAAA,2CACEiC,IAAMA,GAAS/I,KAAKsE,wBAA0ByE,EAC9CD,MAAM,eAEP9I,KAAKmH,mBACJyB,EAAA,kCACc,WACZiB,KAAM,OACNf,MAAO,CACL,WAAY,MAEdzE,MAAOrE,KAAKuG,gBACZK,YAAcwB,IACZA,EAAEvC,iBACF,GAAI7F,KAAK8D,YAAY9D,KAAKuG,iBAAkB,CAC1C6B,EAAErB,iB,GAGN2C,QAAS,IAAO1J,KAAKqD,eAAiBrD,KAAKyH,WAC3CsB,IAAMA,IACJ/I,KAAKyH,WAAasB,CAAG,IAGvB,KACH/I,KAAKsG,kBAAoBtG,KAAKyC,SAC7BmG,EAAA,OAAKE,MAAM,sBAAsB9I,KAAK+K,eAAoB,I,mKAzX9DC,EAAA,CADLC,EAAmB,WAAYC,GAASA,EAAKzF,gB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as t,h as o,H as r}from"./p-f87cd962.js";const c=":host{display:flex;align-items:center;height:32px;width:100%;cursor:pointer}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .tree-node-container{display:flex;align-items:center;height:2rem;flex-grow:1;align-items:center}:host .icon-toggle-container{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}:host .icon-toggle-container ix-icon{transition:transform var(--theme-default-time) ease-in-out}:host .icon-toggle-container ix-icon.icon-toggle-down{transform:rotate(90deg)}:host(:not(.disabled):not(:disabled):not(.selected).hover),:host(:not(.disabled):not(:disabled):not(.selected):hover){background-color:var(--theme-tree-item--background--hover)}:host(:not(.disabled):not(:disabled):not(.selected).active),:host(:not(.disabled):not(:disabled):not(.selected):active){background-color:var(--theme-tree-item--background--active)}:host(.selected){background-color:var(--theme-tree-item--background--selected)}:host(.selected.hover),:host(.selected:hover){background-color:var(--theme-tree-item--background--selected-hover)}:host(.selected.active),:host(.selected:active){background-color:var(--theme-tree-item--background--selected-active)}";const s=c;const i=class{constructor(o){e(this,o);this.toggle=t(this,"toggle",7);this.itemClick=t(this,"itemClick",7);this.text=undefined;this.hasChildren=undefined;this.context=undefined}render(){var e,t,c;return o(r,{key:"5f5481c56072db6ae30c67a9c9ed8a709679d55b",class:{selected:(e=this.context)===null||e===void 0?void 0:e.isSelected}},o("div",{key:"1d36c65d8c44ce04347888c1a43532717b9f7e54",class:"icon-toggle-container",onClick:e=>{e.preventDefault();this.toggle.emit()}},this.hasChildren?o("ix-icon",{name:"chevron-right",size:"16",class:{["icon-toggle-down"]:(t=this.context)===null||t===void 0?void 0:t.isExpanded},color:`color-${((c=this.context)===null||c===void 0?void 0:c.isExpanded)?"primary":"std-text"}`}):null),o("div",{key:"43f5718e1c18f5a755f01580692349195dbe2e7e",class:"tree-node-container",onClick:()=>{this.itemClick.emit()}},this.text,o("slot",{key:"4f0556708349c484f97f3f687ab1f0974c4ef35e"})))}};i.style=s;export{i as ix_tree_item};
|
|
2
|
-
//# sourceMappingURL=p-6227e62b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["treeItemCss","IxTreeItemStyle0","TreeItem","render","h","Host","key","class","selected","_a","this","context","isSelected","onClick","e","preventDefault","toggle","emit","hasChildren","name","size","_b","isExpanded","color","_c","itemClick","text"],"sources":["src/components/tree-item/tree-item.scss?tag=ix-tree-item&encapsulation=shadow","src/components/tree-item/tree-item.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n align-items: center;\n\n height: 32px;\n width: 100%;\n\n cursor: pointer;\n\n .tree-node-container {\n display: flex;\n align-items: center;\n height: $x-large-space;\n flex-grow: 1;\n align-items: center;\n }\n\n .icon-toggle-container {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n\n ix-icon {\n transition: transform var(--theme-default-time) ease-in-out;\n\n &.icon-toggle-down {\n transform: rotate(90deg);\n }\n }\n }\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).hover),\n:host(:not(.disabled):not(:disabled):not(.selected):hover) {\n background-color: var(--theme-tree-item--background--hover);\n}\n\n:host(:not(.disabled):not(:disabled):not(.selected).active),\n:host(:not(.disabled):not(:disabled):not(.selected):active) {\n background-color: var(--theme-tree-item--background--active);\n}\n\n:host(.selected) {\n background-color: var(--theme-tree-item--background--selected);\n}\n\n:host(.selected.hover),\n:host(.selected:hover) {\n background-color: var(--theme-tree-item--background--selected-hover);\n}\n\n:host(.selected.active),\n:host(.selected:active) {\n background-color: var(--theme-tree-item--background--selected-active);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { TreeItemContext } from '../tree/tree-model';\n\n@Component({\n tag: 'ix-tree-item',\n styleUrl: 'tree-item.scss',\n shadow: true,\n})\nexport class TreeItem {\n /**\n * Text\n */\n @Prop() text: string;\n\n /**\n * Has tree item children\n */\n @Prop() hasChildren: boolean;\n\n /**\n * Context\n */\n @Prop() context: TreeItemContext;\n\n /**\n * Expand/Collapsed toggled\n */\n @Event() toggle: EventEmitter<void>;\n\n /**\n * Clicked\n */\n @Event() itemClick: EventEmitter<void>;\n\n render() {\n return (\n <Host\n class={{\n selected: this.context?.isSelected,\n }}\n >\n <div\n class=\"icon-toggle-container\"\n onClick={(e) => {\n e.preventDefault();\n this.toggle.emit();\n }}\n >\n {this.hasChildren ? (\n <ix-icon\n name={'chevron-right'}\n size=\"16\"\n class={{\n ['icon-toggle-down']: this.context?.isExpanded,\n }}\n color={`color-${\n this.context?.isExpanded ? 'primary' : 'std-text'\n }`}\n />\n ) : null}\n </div>\n <div\n class=\"tree-node-container\"\n onClick={() => {\n this.itemClick.emit();\n }}\n >\n {this.text}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAc,i2DACpB,MAAAC,EAAeD,E,MCgBFE,EAAQ,M,mKA0BnB,MAAAC,G,UACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,UAAUC,EAAAC,KAAKC,WAAO,MAAAF,SAAA,SAAAA,EAAEG,aAG1BR,EAAA,OAAAE,IAAA,2CACEC,MAAM,wBACNM,QAAUC,IACRA,EAAEC,iBACFL,KAAKM,OAAOC,MAAM,GAGnBP,KAAKQ,YACJd,EAAA,WACEe,KAAM,gBACNC,KAAK,KACLb,MAAO,CACL,CAAC,qBAAqBc,EAAAX,KAAKC,WAAO,MAAAU,SAAA,SAAAA,EAAEC,YAEtCC,MAAO,WACLC,EAAAd,KAAKC,WAAO,MAAAa,SAAA,SAAAA,EAAEF,YAAa,UAAY,eAGzC,MAENlB,EAAA,OAAAE,IAAA,2CACEC,MAAM,sBACNM,QAAS,KACPH,KAAKe,UAAUR,MAAM,GAGtBP,KAAKgB,KACNtB,EAAA,QAAAE,IAAA,8C"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,H as r,g as n}from"./p-f87cd962.js";import{c as s,g as o}from"./p-45840cb9.js";import{r as h}from"./p-effd2dcf.js";var a={exports:{}};(function(t,i){(function(i){{t.exports=i()}})((function(){return function(){function t(i,e,r){function n(h,a){if(!e[h]){if(!i[h]){var u="function"==typeof s&&s;if(!a&&u)return u(h,!0);if(o)return o(h,!0);var f=new Error("Cannot find module '"+h+"'");throw f.code="MODULE_NOT_FOUND",f}var c=e[h]={exports:{}};i[h][0].call(c.exports,(function(t){var e=i[h][1][t];return n(e||t)}),c,c.exports,t,i,e,r)}return e[h].exports}for(var o="function"==typeof s&&s,h=0;h<r.length;h++)n(r[h]);return n}return t}()({1:[function(t,i,e){Object.defineProperty(e,"__esModule",{value:true});var r=function(){function t(t,i){for(var e=0;e<i.length;e++){var r=i[e];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}return function(i,e,r){if(e)t(i.prototype,e);if(r)t(i,r);return i}}();function n(t,i,e){if(i in t){Object.defineProperty(t,i,{value:e,enumerable:true,configurable:true,writable:true})}else{t[i]=e}return t}function s(t,i){if(!(t instanceof i)){throw new TypeError("Cannot call a class as a function")}}var o={width:"100%",height:"100%"};var h=function t(i){return Number(i)===Number(i)};var a="classList"in document.documentElement?function(t,i){t.classList.add(i)}:function(t,i){var e=t.getAttribute("class")||"";t.setAttribute("class",e+" "+i)};var u=function(){r(t,null,[{key:"create",value:function i(e,r){return new t(e,r)}},{key:"mergeStyle",value:function t(i,e){for(var r in e){if(i.style[r]!==e[r]){i.style[r]=e[r]}}}},{key:"getMaxBrowserHeight",value:function i(){var e=document.createElement("div");var r=document.createElement("div");t.mergeStyle(e,{position:"absolute",height:"1px",opacity:0});t.mergeStyle(r,{height:"1e7px"});e.appendChild(r);document.body.appendChild(e);var n=r.offsetHeight;document.body.removeChild(e);return n}}]);function t(i,e){var r=this;s(this,t);this._config={};this._lastRepaint=null;this._maxElementHeight=t.getMaxBrowserHeight();this.refresh(i,e);var n=this._config;var o=function t(){var i=r._getScrollPosition();var e=r._lastRepaint;r._renderAnimationFrame=window.requestAnimationFrame(t);if(i===e){return}var s=e?i-e:0;if(!e||s<0||s>r._averageHeight){var o=r._renderChunk();r._lastRepaint=i;if(o!==false&&typeof n.afterRender==="function"){n.afterRender()}}};o()}r(t,[{key:"destroy",value:function t(){window.cancelAnimationFrame(this._renderAnimationFrame)}},{key:"refresh",value:function i(e,r){var s;Object.assign(this._config,o,r);if(!e||e.nodeType!==1){throw new Error("HyperList requires a valid DOM Node container")}this._element=e;var a=this._config;var u=this._scroller||a.scroller||document.createElement(a.scrollerTagName||"tr");if(typeof a.useFragment!=="boolean"){this._config.useFragment=true}if(!a.generate){throw new Error("Missing required `generate` function")}if(!h(a.total)){throw new Error("Invalid required `total` value, expected number")}if(!Array.isArray(a.itemHeight)&&!h(a.itemHeight)){throw new Error("\n Invalid required `itemHeight` value, expected number or array\n ".trim())}else if(h(a.itemHeight)){this._itemHeights=Array(a.total).fill(a.itemHeight)}else{this._itemHeights=a.itemHeight}Object.keys(o).filter((function(t){return t in a})).forEach((function(t){var i=a[t];var e=h(i);if(i&&typeof i!=="string"&&typeof i!=="number"){var r="Invalid optional `"+t+"`, expected string or number";throw new Error(r)}else if(e){a[t]=i+"px"}}));var f=Boolean(a.horizontal);var c=a[f?"width":"height"];if(c){var l=h(c);var v=l?false:c.slice(-1)==="%";var d=l?c:parseInt(c.replace(/px|%/,""),10);var p=window[f?"innerWidth":"innerHeight"];if(v){this._containerSize=p*d/100}else{this._containerSize=h(c)?c:d}}var m=a.scrollContainer;var w=a.itemHeight*a.total;var b=this._maxElementHeight;if(w>b){console.warn(["HyperList: The maximum element height",b+"px has","been exceeded; please reduce your item height."].join(" "))}var g={width:""+a.width,height:m?w+"px":""+a.height,overflow:m?"none":"auto",position:"relative"};t.mergeStyle(e,g);if(m){t.mergeStyle(a.scrollContainer,{overflow:"auto"})}var y=(s={opacity:"0",position:"absolute"},n(s,f?"height":"width","1px"),n(s,f?"width":"height",w+"px"),s);t.mergeStyle(u,y);if(!this._scroller){e.appendChild(u)}var x=this._computeScrollPadding();this._scrollPaddingBottom=x.bottom;this._scrollPaddingTop=x.top;this._scroller=u;this._scrollHeight=this._computeScrollHeight();this._itemPositions=this._itemPositions||Array(a.total).fill(0);this._computePositions(0);this._renderChunk(this._lastRepaint!==null);if(typeof a.afterRender==="function"){a.afterRender()}}},{key:"_getRow",value:function i(e){var r=this._config;var s=r.generate(e);var o=s.height;if(o!==undefined&&h(o)){s=s.element;if(o!==this._itemHeights[e]){this._itemHeights[e]=o;this._computePositions(e);this._scrollHeight=this._computeScrollHeight(e)}}else{o=this._itemHeights[e]}if(!s||s.nodeType!==1){throw new Error("Generator did not return a DOM Node for index: "+e)}a(s,r.rowClassName||"vrow");var u=this._itemPositions[e]+this._scrollPaddingTop;t.mergeStyle(s,n({position:"absolute"},r.horizontal?"left":"top",u+"px"));return s}},{key:"_getScrollPosition",value:function t(){var i=this._config;if(typeof i.overrideScrollPosition==="function"){return i.overrideScrollPosition()}return this._element[i.horizontal?"scrollLeft":"scrollTop"]}},{key:"_renderChunk",value:function t(i){var e=this._config;var r=this._element;var n=this._getScrollPosition();var s=e.total;var o=e.reverse?this._getReverseFrom(n):this._getFrom(n)-1;if(o<0||o-this._screenItemsLen<0){o=0}if(!i&&this._lastFrom===o){return false}this._lastFrom=o;var h=o+this._cachedItemsLen;if(h>s||h+this._cachedItemsLen>s){h=s}var a=e.useFragment?document.createDocumentFragment():[];var u=this._scroller;a[e.useFragment?"appendChild":"push"](u);for(var f=o;f<h;f++){var c=this._getRow(f);a[e.useFragment?"appendChild":"push"](c)}if(e.applyPatch){return e.applyPatch(r,a)}r.innerHTML="";r.appendChild(a)}},{key:"_computePositions",value:function t(){var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;var e=this._config;var r=e.total;var n=e.reverse;if(i<1&&!n){i=1}for(var s=i;s<r;s++){if(n){if(s===0){this._itemPositions[0]=this._scrollHeight-this._itemHeights[0]}else{this._itemPositions[s]=this._itemPositions[s-1]-this._itemHeights[s]}}else{this._itemPositions[s]=this._itemHeights[s-1]+this._itemPositions[s-1]}}}},{key:"_computeScrollHeight",value:function i(){var e,r=this;var s=this._config;var o=Boolean(s.horizontal);var h=s.total;var a=this._itemHeights.reduce((function(t,i){return t+i}),0)+this._scrollPaddingBottom+this._scrollPaddingTop;t.mergeStyle(this._scroller,(e={opacity:0,position:"absolute",top:"0px"},n(e,o?"height":"width","1px"),n(e,o?"width":"height",a+"px"),e));var u=this._itemHeights.slice(0).sort((function(t,i){return t-i}));var f=Math.floor(h/2);var c=h%2===0?(u[f]+u[f-1])/2:u[f];var l=o?"clientWidth":"clientHeight";var v=s.scrollContainer?s.scrollContainer:this._element;var d=v[l]?v[l]:this._containerSize;this._screenItemsLen=Math.ceil(d/c);this._containerSize=d;this._cachedItemsLen=Math.max(this._cachedItemsLen||0,this._screenItemsLen*3);this._averageHeight=c;if(s.reverse){window.requestAnimationFrame((function(){if(o){r._element.scrollLeft=a}else{r._element.scrollTop=a}}))}return a}},{key:"_computeScrollPadding",value:function t(){var i=this._config;var e=Boolean(i.horizontal);var r=i.reverse;var n=window.getComputedStyle(this._element);var s=function t(i){var e=n.getPropertyValue("padding-"+i);return parseInt(e,10)||0};if(e&&r){return{bottom:s("left"),top:s("right")}}else if(e){return{bottom:s("right"),top:s("left")}}else if(r){return{bottom:s("top"),top:s("bottom")}}else{return{bottom:s("bottom"),top:s("top")}}}},{key:"_getFrom",value:function t(i){var e=0;while(this._itemPositions[e]<i){e++}return e}},{key:"_getReverseFrom",value:function t(i){var e=this._config.total-1;while(e>0&&this._itemPositions[e]<i+this._containerSize){e--}return e}}]);return t}();e.default=u;i.exports=e["default"]},{}]},{},[1])(1)}))})(a);const u=o(a.exports);const f=":host{display:block}";const c=f;const l=class{constructor(e){t(this,e);this.contextChange=i(this,"contextChange",7);this.nodeToggled=i(this,"nodeToggled",7);this.nodeClicked=i(this,"nodeClicked",7);this.nodeRemoved=i(this,"nodeRemoved",7);this.toggleListener=new Map;this.itemClickListener=new Map;this.updates=new Map;this.hasFirstRender=false;this.root=undefined;this.model=undefined;this.renderItem=undefined;this.context={}}updatePadding(t,i){t.style.paddingLeft=i.level+"rem"}getVirtualizerOptions(){const t=this.buildTreeList(this.model[this.root]);let i=(i,e,r)=>{if(i.hasChildren&&!this.toggleListener.has(e)){const n=e=>{e.preventDefault();e.stopPropagation();const n=this.getContext(t[r].id);n.isExpanded=!n.isExpanded;this.nodeToggled.emit({id:i.id,isExpaned:n.isExpanded});this.setContext(i.id,n)};e.addEventListener("toggle",n);this.toggleListener.set(e,n)}};return{itemHeight:32,total:t.length,generate:e=>{const r=t[e];const n=this.hostElement.querySelector(`[data-tree-node-id="${r.id}"]`);const s=this.getContext(r.id);if(n){n.hasChildren=r.hasChildren;n.context=Object.assign({},s);i(r,n,e);if(this.updates.has(r.id)){const t=this.updates.get(r.id);t(r,Object.assign({},this.context))}this.updatePadding(n,r);return n}const o=t=>{this.updates.set(r.id,t)};let a=null;if(this.renderItem){a=this.renderItem(e,r,t,Object.assign({},this.context),o)}if(a===null){a=h(r,s,o)}const u=a;u.setAttribute("data-tree-node-id",r.id);u.style.paddingRight="1rem";this.updatePadding(u,r);if(!this.itemClickListener.has(u)){const t=t=>{t.preventDefault();t.stopPropagation();Object.values(this.context).forEach((t=>t.isSelected=false));const i=this.getContext(r.id);i.isSelected=true;this.setContext(r.id,i);this.nodeClicked.emit(r.id)};u.addEventListener("itemClick",t);this.itemClickListener.set(u,t)}i(r,u,e);return u}}}setContext(t,i){this.context=Object.assign(Object.assign({},this.context),{[t]:i});this.contextChange.emit(this.context)}getContext(t){if(!this.context){return{isExpanded:false,isSelected:false}}if(!this.context[t]){this.context[t]={isExpanded:false,isSelected:false}}return this.context[t]}buildTreeList(t,i=0){const e=[];if(t===null||t===void 0?void 0:t.hasChildren){const r=i+1;t.children.forEach((t=>{const n=this.model[t];const s=this.getContext(t);e.push(Object.assign(Object.assign({},n),{level:i}));if(n.hasChildren&&s.isExpanded){e.push(...this.buildTreeList(n,r))}}))}return e}componentDidLoad(){this.initList();this.observer=new MutationObserver((t=>{let i=[];t.forEach((t=>{i=[...i,...Array.from(t.removedNodes)];t.addedNodes.forEach((t=>{const e=i.indexOf(t);if(e>=0){i.splice(e,1)}}))}));this.nodeRemoved.emit(i)}));this.observer.observe(this.hostElement,{childList:true})}componentWillRender(){this.hasFirstRender=true;if(this.isListInitialized()){this.refreshList()}else{this.initList()}}disconnectedCallback(){var t,i;(t=this.hyperlist)===null||t===void 0?void 0:t.destroy();(i=this.observer)===null||i===void 0?void 0:i.disconnect()}modelChange(){if(this.hasFirstRender&&!this.isListInitialized()){this.initList()}}isListInitialized(){var t;const i=(t=this.hyperlist)===null||t===void 0?void 0:t._itemPositions;return i!==undefined&&i.length&&!(i===null||i===void 0?void 0:i.some((t=>t===undefined||Number.isNaN(t))))}refreshList(){if(this.hyperlist){this.hyperlist.refresh(this.hostElement,this.getVirtualizerOptions())}}initList(){var t;if(!this.model){return}(t=this.hyperlist)===null||t===void 0?void 0:t.destroy();const i=this.getVirtualizerOptions();this.hyperlist=new u(this.hostElement,i)}render(){return e(r,{key:"c663df76252b24029b33792151c943519a7c3be1"},e("slot",{key:"cfd96717be68c7c4e4c0b9e344ecd4c48481e1e0"}))}get hostElement(){return n(this)}static get watchers(){return{model:["modelChange"]}}};l.style=c;export{l as ix_tree};
|
|
2
|
-
//# sourceMappingURL=p-7bfd6cd2.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["f","module","exports","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","_dereq_","Object","defineProperty","value","_createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","Constructor","protoProps","staticProps","prototype","_defineProperty","obj","_classCallCheck","instance","TypeError","defaultConfig","width","height","isNumber","input","Number","addClass","document","documentElement","element","className","classList","add","oldClass","getAttribute","setAttribute","HyperList","create","userProvidedConfig","mergeStyle","style","getMaxBrowserHeight","wrapper","createElement","fixture","position","opacity","appendChild","body","maxElementHeight","offsetHeight","removeChild","_this","this","_config","_lastRepaint","_maxElementHeight","refresh","config","render","scrollTop","_getScrollPosition","lastRepaint","_renderAnimationFrame","window","requestAnimationFrame","diff","_averageHeight","rendered","_renderChunk","afterRender","destroy","cancelAnimationFrame","_scrollerStyle","assign","nodeType","_element","scroller","_scroller","scrollerTagName","useFragment","generate","total","Array","isArray","itemHeight","trim","_itemHeights","fill","keys","filter","prop","forEach","isValueNumber","msg","isHoriz","Boolean","horizontal","isValuePercent","slice","numberValue","parseInt","replace","innerSize","_containerSize","scrollContainer","scrollerHeight","console","warn","join","elementStyle","overflow","scrollerStyle","padding","_computeScrollPadding","_scrollPaddingBottom","bottom","_scrollPaddingTop","top","_scrollHeight","_computeScrollHeight","_itemPositions","_computePositions","_getRow","item","undefined","rowClassName","overrideScrollPosition","force","from","reverse","_getReverseFrom","_getFrom","_screenItemsLen","_lastFrom","to","_cachedItemsLen","fragment","createDocumentFragment","row","applyPatch","innerHTML","arguments","_HyperList$mergeStyle2","_this2","scrollHeight","reduce","b","sortedItemHeights","sort","middle","Math","floor","averageHeight","clientProp","containerHeight","ceil","max","scrollLeft","isReverse","styles","getComputedStyle","location","cssValue","getPropertyValue","default","treeCss","IxTreeStyle0","Tree","toggleListener","Map","itemClickListener","updates","hasFirstRender","updatePadding","paddingLeft","level","getVirtualizerOptions","list","buildTreeList","model","root","setToggleListener","el","index","hasChildren","has","toggleCallback","preventDefault","stopPropagation","context","getContext","id","isExpanded","nodeToggled","emit","isExpaned","setContext","addEventListener","set","renderedTreeItem","hostElement","querySelector","doUpdate","get","update","callback","innerElement","renderItem","renderDefaultItem","paddingRight","itemClickCallback","values","isSelected","nodeClicked","contextChange","itemList","newLevel","children","push","componentDidLoad","initList","observer","MutationObserver","records","removed","record","removedNodes","addedNodes","an","indexOf","splice","nodeRemoved","observe","childList","componentWillRender","isListInitialized","refreshList","disconnectedCallback","_a","hyperlist","_b","disconnect","modelChange","itemPositions","some","isNaN","Hyperlist","h","Host"],"sources":["../../node_modules/.pnpm/hyperlist@1.0.0/node_modules/hyperlist/dist/hyperlist.js","src/components/tree/tree.css?tag=ix-tree&encapsulation=shadow","src/components/tree/tree.tsx"],"sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.HyperList = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(_dereq_,module,exports){\n'use strict';\n\n// Default configuration.\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar defaultConfig = {\n width: '100%',\n height: '100%'\n\n // Check for valid number.\n};var isNumber = function isNumber(input) {\n return Number(input) === Number(input);\n};\n\n// Add a class to an element.\nvar addClass = 'classList' in document.documentElement ? function (element, className) {\n element.classList.add(className);\n} : function (element, className) {\n var oldClass = element.getAttribute('class') || '';\n element.setAttribute('class', oldClass + ' ' + className);\n};\n\n/**\n * Creates a HyperList instance that virtually scrolls very large amounts of\n * data effortlessly.\n */\n\nvar HyperList = function () {\n _createClass(HyperList, null, [{\n key: 'create',\n value: function create(element, userProvidedConfig) {\n return new HyperList(element, userProvidedConfig);\n }\n\n /**\n * Merge given css style on an element\n * @param {DOMElement} element\n * @param {Object} style\n */\n\n }, {\n key: 'mergeStyle',\n value: function mergeStyle(element, style) {\n for (var i in style) {\n if (element.style[i] !== style[i]) {\n element.style[i] = style[i];\n }\n }\n }\n }, {\n key: 'getMaxBrowserHeight',\n value: function getMaxBrowserHeight() {\n // Create two elements, the wrapper is `1px` tall and is transparent and\n // positioned at the top of the page. Inside that is an element that gets\n // set to 1 billion pixels. Then reads the max height the browser can\n // calculate.\n var wrapper = document.createElement('div');\n var fixture = document.createElement('div');\n\n // As said above, these values get set to put the fixture elements into the\n // right visual state.\n HyperList.mergeStyle(wrapper, { position: 'absolute', height: '1px', opacity: 0 });\n HyperList.mergeStyle(fixture, { height: '1e7px' });\n\n // Add the fixture into the wrapper element.\n wrapper.appendChild(fixture);\n\n // Apply to the page, the values won't kick in unless this is attached.\n document.body.appendChild(wrapper);\n\n // Get the maximum element height in pixels.\n var maxElementHeight = fixture.offsetHeight;\n\n // Remove the element immediately after reading the value.\n document.body.removeChild(wrapper);\n\n return maxElementHeight;\n }\n }]);\n\n function HyperList(element, userProvidedConfig) {\n var _this = this;\n\n _classCallCheck(this, HyperList);\n\n this._config = {};\n this._lastRepaint = null;\n this._maxElementHeight = HyperList.getMaxBrowserHeight();\n\n this.refresh(element, userProvidedConfig);\n\n var config = this._config;\n\n // Create internal render loop.\n var render = function render() {\n var scrollTop = _this._getScrollPosition();\n var lastRepaint = _this._lastRepaint;\n\n _this._renderAnimationFrame = window.requestAnimationFrame(render);\n\n if (scrollTop === lastRepaint) {\n return;\n }\n\n var diff = lastRepaint ? scrollTop - lastRepaint : 0;\n if (!lastRepaint || diff < 0 || diff > _this._averageHeight) {\n var rendered = _this._renderChunk();\n\n _this._lastRepaint = scrollTop;\n\n if (rendered !== false && typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n };\n\n render();\n }\n\n _createClass(HyperList, [{\n key: 'destroy',\n value: function destroy() {\n window.cancelAnimationFrame(this._renderAnimationFrame);\n }\n }, {\n key: 'refresh',\n value: function refresh(element, userProvidedConfig) {\n var _scrollerStyle;\n\n Object.assign(this._config, defaultConfig, userProvidedConfig);\n\n if (!element || element.nodeType !== 1) {\n throw new Error('HyperList requires a valid DOM Node container');\n }\n\n this._element = element;\n\n var config = this._config;\n\n var scroller = this._scroller || config.scroller || document.createElement(config.scrollerTagName || 'tr');\n\n // Default configuration option `useFragment` to `true`.\n if (typeof config.useFragment !== 'boolean') {\n this._config.useFragment = true;\n }\n\n if (!config.generate) {\n throw new Error('Missing required `generate` function');\n }\n\n if (!isNumber(config.total)) {\n throw new Error('Invalid required `total` value, expected number');\n }\n\n if (!Array.isArray(config.itemHeight) && !isNumber(config.itemHeight)) {\n throw new Error('\\n Invalid required `itemHeight` value, expected number or array\\n '.trim());\n } else if (isNumber(config.itemHeight)) {\n this._itemHeights = Array(config.total).fill(config.itemHeight);\n } else {\n this._itemHeights = config.itemHeight;\n }\n\n // Width and height should be coerced to string representations. Either in\n // `%` or `px`.\n Object.keys(defaultConfig).filter(function (prop) {\n return prop in config;\n }).forEach(function (prop) {\n var value = config[prop];\n var isValueNumber = isNumber(value);\n\n if (value && typeof value !== 'string' && typeof value !== 'number') {\n var msg = 'Invalid optional `' + prop + '`, expected string or number';\n throw new Error(msg);\n } else if (isValueNumber) {\n config[prop] = value + 'px';\n }\n });\n\n var isHoriz = Boolean(config.horizontal);\n var value = config[isHoriz ? 'width' : 'height'];\n\n if (value) {\n var isValueNumber = isNumber(value);\n var isValuePercent = isValueNumber ? false : value.slice(-1) === '%';\n // Compute the containerHeight as number\n var numberValue = isValueNumber ? value : parseInt(value.replace(/px|%/, ''), 10);\n var innerSize = window[isHoriz ? 'innerWidth' : 'innerHeight'];\n\n if (isValuePercent) {\n this._containerSize = innerSize * numberValue / 100;\n } else {\n this._containerSize = isNumber(value) ? value : numberValue;\n }\n }\n\n var scrollContainer = config.scrollContainer;\n var scrollerHeight = config.itemHeight * config.total;\n var maxElementHeight = this._maxElementHeight;\n\n if (scrollerHeight > maxElementHeight) {\n console.warn(['HyperList: The maximum element height', maxElementHeight + 'px has', 'been exceeded; please reduce your item height.'].join(' '));\n }\n\n // Decorate the container element with styles that will match\n // the user supplied configuration.\n var elementStyle = {\n width: '' + config.width,\n height: scrollContainer ? scrollerHeight + 'px' : '' + config.height,\n overflow: scrollContainer ? 'none' : 'auto',\n position: 'relative'\n };\n\n HyperList.mergeStyle(element, elementStyle);\n\n if (scrollContainer) {\n HyperList.mergeStyle(config.scrollContainer, { overflow: 'auto' });\n }\n\n var scrollerStyle = (_scrollerStyle = {\n opacity: '0',\n position: 'absolute'\n }, _defineProperty(_scrollerStyle, isHoriz ? 'height' : 'width', '1px'), _defineProperty(_scrollerStyle, isHoriz ? 'width' : 'height', scrollerHeight + 'px'), _scrollerStyle);\n\n HyperList.mergeStyle(scroller, scrollerStyle);\n\n // Only append the scroller element once.\n if (!this._scroller) {\n element.appendChild(scroller);\n }\n\n var padding = this._computeScrollPadding();\n this._scrollPaddingBottom = padding.bottom;\n this._scrollPaddingTop = padding.top;\n\n // Set the scroller instance.\n this._scroller = scroller;\n this._scrollHeight = this._computeScrollHeight();\n\n // Reuse the item positions if refreshed, otherwise set to empty array.\n this._itemPositions = this._itemPositions || Array(config.total).fill(0);\n\n // Each index in the array should represent the position in the DOM.\n this._computePositions(0);\n\n // Render after refreshing. Force render if we're calling refresh manually.\n this._renderChunk(this._lastRepaint !== null);\n\n if (typeof config.afterRender === 'function') {\n config.afterRender();\n }\n }\n }, {\n key: '_getRow',\n value: function _getRow(i) {\n var config = this._config;\n var item = config.generate(i);\n var height = item.height;\n\n if (height !== undefined && isNumber(height)) {\n item = item.element;\n\n // The height isn't the same as predicted, compute positions again\n if (height !== this._itemHeights[i]) {\n this._itemHeights[i] = height;\n this._computePositions(i);\n this._scrollHeight = this._computeScrollHeight(i);\n }\n } else {\n height = this._itemHeights[i];\n }\n\n if (!item || item.nodeType !== 1) {\n throw new Error('Generator did not return a DOM Node for index: ' + i);\n }\n\n addClass(item, config.rowClassName || 'vrow');\n\n var top = this._itemPositions[i] + this._scrollPaddingTop;\n\n HyperList.mergeStyle(item, _defineProperty({\n position: 'absolute'\n }, config.horizontal ? 'left' : 'top', top + 'px'));\n\n return item;\n }\n }, {\n key: '_getScrollPosition',\n value: function _getScrollPosition() {\n var config = this._config;\n\n if (typeof config.overrideScrollPosition === 'function') {\n return config.overrideScrollPosition();\n }\n\n return this._element[config.horizontal ? 'scrollLeft' : 'scrollTop'];\n }\n }, {\n key: '_renderChunk',\n value: function _renderChunk(force) {\n var config = this._config;\n var element = this._element;\n var scrollTop = this._getScrollPosition();\n var total = config.total;\n\n var from = config.reverse ? this._getReverseFrom(scrollTop) : this._getFrom(scrollTop) - 1;\n\n if (from < 0 || from - this._screenItemsLen < 0) {\n from = 0;\n }\n\n if (!force && this._lastFrom === from) {\n return false;\n }\n\n this._lastFrom = from;\n\n var to = from + this._cachedItemsLen;\n\n if (to > total || to + this._cachedItemsLen > total) {\n to = total;\n }\n\n // Append all the new rows in a document fragment that we will later append\n // to the parent node\n var fragment = config.useFragment ? document.createDocumentFragment() : []\n // Sometimes you'll pass fake elements to this tool and Fragments require\n // real elements.\n\n\n // The element that forces the container to scroll.\n ;var scroller = this._scroller;\n\n // Keep the scroller in the list of children.\n fragment[config.useFragment ? 'appendChild' : 'push'](scroller);\n\n for (var i = from; i < to; i++) {\n var row = this._getRow(i);\n\n fragment[config.useFragment ? 'appendChild' : 'push'](row);\n }\n\n if (config.applyPatch) {\n return config.applyPatch(element, fragment);\n }\n\n element.innerHTML = '';\n element.appendChild(fragment);\n }\n }, {\n key: '_computePositions',\n value: function _computePositions() {\n var from = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n var config = this._config;\n var total = config.total;\n var reverse = config.reverse;\n\n if (from < 1 && !reverse) {\n from = 1;\n }\n\n for (var i = from; i < total; i++) {\n if (reverse) {\n if (i === 0) {\n this._itemPositions[0] = this._scrollHeight - this._itemHeights[0];\n } else {\n this._itemPositions[i] = this._itemPositions[i - 1] - this._itemHeights[i];\n }\n } else {\n this._itemPositions[i] = this._itemHeights[i - 1] + this._itemPositions[i - 1];\n }\n }\n }\n }, {\n key: '_computeScrollHeight',\n value: function _computeScrollHeight() {\n var _HyperList$mergeStyle2,\n _this2 = this;\n\n var config = this._config;\n var isHoriz = Boolean(config.horizontal);\n var total = config.total;\n var scrollHeight = this._itemHeights.reduce(function (a, b) {\n return a + b;\n }, 0) + this._scrollPaddingBottom + this._scrollPaddingTop;\n\n HyperList.mergeStyle(this._scroller, (_HyperList$mergeStyle2 = {\n opacity: 0,\n position: 'absolute',\n top: '0px'\n }, _defineProperty(_HyperList$mergeStyle2, isHoriz ? 'height' : 'width', '1px'), _defineProperty(_HyperList$mergeStyle2, isHoriz ? 'width' : 'height', scrollHeight + 'px'), _HyperList$mergeStyle2));\n\n // Calculate the height median\n var sortedItemHeights = this._itemHeights.slice(0).sort(function (a, b) {\n return a - b;\n });\n var middle = Math.floor(total / 2);\n var averageHeight = total % 2 === 0 ? (sortedItemHeights[middle] + sortedItemHeights[middle - 1]) / 2 : sortedItemHeights[middle];\n\n var clientProp = isHoriz ? 'clientWidth' : 'clientHeight';\n var element = config.scrollContainer ? config.scrollContainer : this._element;\n var containerHeight = element[clientProp] ? element[clientProp] : this._containerSize;\n this._screenItemsLen = Math.ceil(containerHeight / averageHeight);\n this._containerSize = containerHeight;\n\n // Cache 3 times the number of items that fit in the container viewport.\n this._cachedItemsLen = Math.max(this._cachedItemsLen || 0, this._screenItemsLen * 3);\n this._averageHeight = averageHeight;\n\n if (config.reverse) {\n window.requestAnimationFrame(function () {\n if (isHoriz) {\n _this2._element.scrollLeft = scrollHeight;\n } else {\n _this2._element.scrollTop = scrollHeight;\n }\n });\n }\n\n return scrollHeight;\n }\n }, {\n key: '_computeScrollPadding',\n value: function _computeScrollPadding() {\n var config = this._config;\n var isHoriz = Boolean(config.horizontal);\n var isReverse = config.reverse;\n var styles = window.getComputedStyle(this._element);\n\n var padding = function padding(location) {\n var cssValue = styles.getPropertyValue('padding-' + location);\n return parseInt(cssValue, 10) || 0;\n };\n\n if (isHoriz && isReverse) {\n return {\n bottom: padding('left'),\n top: padding('right')\n };\n } else if (isHoriz) {\n return {\n bottom: padding('right'),\n top: padding('left')\n };\n } else if (isReverse) {\n return {\n bottom: padding('top'),\n top: padding('bottom')\n };\n } else {\n return {\n bottom: padding('bottom'),\n top: padding('top')\n };\n }\n }\n }, {\n key: '_getFrom',\n value: function _getFrom(scrollTop) {\n var i = 0;\n\n while (this._itemPositions[i] < scrollTop) {\n i++;\n }\n\n return i;\n }\n }, {\n key: '_getReverseFrom',\n value: function _getReverseFrom(scrollTop) {\n var i = this._config.total - 1;\n\n while (i > 0 && this._itemPositions[i] < scrollTop + this._containerSize) {\n i--;\n }\n\n return i;\n }\n }]);\n\n return HyperList;\n}();\n\nexports.default = HyperList;\nmodule.exports = exports['default'];\n\n},{}]},{},[1])(1)\n});\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n display: block;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport Hyperlist from 'hyperlist';\nimport { renderDefaultItem } from '../tree-item/default-tree-item';\nimport {\n TreeContext,\n TreeItem,\n TreeItemContext,\n TreeItemVisual,\n TreeModel,\n UpdateCallback,\n} from './tree-model';\n\n@Component({\n tag: 'ix-tree',\n styleUrl: 'tree.css',\n shadow: true,\n})\nexport class Tree {\n @Element() hostElement!: HTMLIxTreeElement;\n\n /**\n * Initial root element will not be rendered\n */\n @Prop() root: string;\n\n /**\n * Tree model\n */\n @Prop() model: TreeModel<any>;\n\n /**\n * Render function of tree items\n */\n @Prop() renderItem: <T = any>(\n index: number,\n data: T,\n dataList: Array<T>,\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => HTMLElement;\n\n /**\n * Selection and collapsed state management\n */\n @Prop({ mutable: true }) context: TreeContext = {};\n\n /**\n * Context changed\n */\n @Event() contextChange: EventEmitter<TreeContext>;\n\n /**\n * Node toggled event\n * @since 1.5.0\n */\n @Event() nodeToggled: EventEmitter<{ id: string; isExpaned: boolean }>;\n\n /**\n * Node clicked event\n * @since 1.5.0\n */\n @Event() nodeClicked: EventEmitter<string>;\n\n /**\n * Emits removed nodes\n */\n @Event() nodeRemoved: EventEmitter<any>;\n\n private hyperlist: Hyperlist;\n\n private toggleListener = new Map<HTMLElement, Function>();\n private itemClickListener = new Map<HTMLElement, Function>();\n private updates = new Map<string, UpdateCallback>();\n private observer: MutationObserver;\n private hasFirstRender = false;\n\n private updatePadding(element: HTMLElement, item: TreeItemVisual<unknown>) {\n element.style.paddingLeft = item.level + 'rem';\n }\n\n private getVirtualizerOptions() {\n const list = this.buildTreeList(this.model[this.root]);\n\n let setToggleListener = (\n item: TreeItemVisual<any>,\n el: HTMLElement,\n index: number\n ) => {\n if (item.hasChildren && !this.toggleListener.has(el)) {\n const toggleCallback = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n const context = this.getContext(list[index].id);\n context.isExpanded = !context.isExpanded;\n this.nodeToggled.emit({ id: item.id, isExpaned: context.isExpanded });\n this.setContext(item.id, context);\n };\n el.addEventListener('toggle', toggleCallback);\n this.toggleListener.set(el, toggleCallback);\n }\n };\n\n return {\n itemHeight: 32,\n total: list.length,\n generate: (index: number) => {\n const item = list[index];\n\n const renderedTreeItem = this.hostElement.querySelector(\n `[data-tree-node-id=\"${item.id}\"]`\n ) as HTMLIxTreeItemElement;\n\n const context = this.getContext(item.id);\n\n if (renderedTreeItem) {\n renderedTreeItem.hasChildren = item.hasChildren;\n renderedTreeItem.context = { ...context };\n\n setToggleListener(item, renderedTreeItem, index);\n\n if (this.updates.has(item.id)) {\n const doUpdate = this.updates.get(item.id);\n doUpdate(item, { ...this.context });\n }\n\n this.updatePadding(renderedTreeItem, item);\n return renderedTreeItem;\n }\n\n const update = (callback: UpdateCallback) => {\n this.updates.set(item.id, callback);\n };\n\n let innerElement: HTMLElement | null = null;\n if (this.renderItem) {\n innerElement = this.renderItem(\n index,\n item,\n list,\n { ...this.context },\n update\n );\n }\n\n if (innerElement === null) {\n innerElement = renderDefaultItem(item, context, update);\n }\n\n const el = innerElement;\n el.setAttribute('data-tree-node-id', item.id);\n el.style.paddingRight = '1rem';\n this.updatePadding(el, item);\n\n if (!this.itemClickListener.has(el)) {\n const itemClickCallback = (e: Event) => {\n e.preventDefault();\n e.stopPropagation();\n Object.values(this.context).forEach((c) => (c.isSelected = false));\n const context = this.getContext(item.id);\n context.isSelected = true;\n this.setContext(item.id, context);\n this.nodeClicked.emit(item.id);\n };\n el.addEventListener('itemClick', itemClickCallback);\n this.itemClickListener.set(el, itemClickCallback);\n }\n\n setToggleListener(item, el, index);\n\n return el;\n },\n };\n }\n\n private setContext(id: string, context: TreeItemContext) {\n this.context = {\n ...this.context,\n [id]: context,\n };\n\n this.contextChange.emit(this.context);\n }\n\n private getContext(id: string): TreeItemContext {\n if (!this.context) {\n return {\n isExpanded: false,\n isSelected: false,\n };\n }\n if (!this.context[id]) {\n this.context[id] = {\n isExpanded: false,\n isSelected: false,\n };\n }\n return this.context[id];\n }\n\n private buildTreeList(\n root: TreeItem<any>,\n level: number = 0\n ): TreeItemVisual<any>[] {\n const itemList: TreeItemVisual<any>[] = [];\n\n if (root?.hasChildren) {\n const newLevel = level + 1;\n root.children.forEach((id: string) => {\n const item = this.model[id];\n const context = this.getContext(id);\n itemList.push({ ...item, level });\n if (item.hasChildren && context.isExpanded) {\n itemList.push(...this.buildTreeList(item, newLevel));\n }\n });\n }\n\n return itemList;\n }\n\n componentDidLoad() {\n this.initList();\n\n this.observer = new MutationObserver((records) => {\n let removed = [];\n\n records.forEach((record) => {\n removed = [...removed, ...Array.from(record.removedNodes)];\n\n record.addedNodes.forEach((an) => {\n const index = removed.indexOf(an);\n if (index >= 0) {\n removed.splice(index, 1);\n }\n });\n });\n\n this.nodeRemoved.emit(removed);\n });\n\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n }\n\n componentWillRender() {\n this.hasFirstRender = true;\n\n if (this.isListInitialized()) {\n this.refreshList();\n } else {\n this.initList();\n }\n }\n\n disconnectedCallback() {\n this.hyperlist?.destroy();\n this.observer?.disconnect();\n }\n\n @Watch('model')\n modelChange() {\n if (this.hasFirstRender && !this.isListInitialized()) {\n this.initList();\n }\n }\n\n private isListInitialized() {\n const itemPositions = this.hyperlist?._itemPositions;\n\n return (\n itemPositions !== undefined &&\n itemPositions.length &&\n !itemPositions?.some(\n (item: number) => item === undefined || Number.isNaN(item)\n )\n );\n }\n\n private refreshList() {\n if (this.hyperlist) {\n this.hyperlist.refresh(this.hostElement, this.getVirtualizerOptions());\n }\n }\n\n private initList() {\n if (!this.model) {\n return;\n }\n\n this.hyperlist?.destroy();\n const config = this.getVirtualizerOptions();\n this.hyperlist = new Hyperlist(this.hostElement, config);\n }\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as a,H as c}from"./p-f87cd962.js";const t=":host{display:flex;justify-content:flex-start;align-items:center;gap:0.5rem;overflow:hidden}:host .loading-text{display:block;position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}";const s=t;const o=class{constructor(a){e(this,a)}render(){return a(c,{key:"8e3c29a9c15b121a2da0acebdf1a00dbe0d18c52"},a("ix-spinner",{key:"bc602e7bc4b0264b19be3823e78cc63c7adc39fa",variant:"primary"}),a("span",{key:"69d563df6c6a05ece5723c8c94d24d546831aca4",class:"loading-text"},a("slot",{key:"b369c9d0c257a9c0c11584c72f0696eb969bd13d"})))}};o.style=s;export{o as ix_modal_loading};
|
|
2
|
-
//# sourceMappingURL=p-7faa148f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["categoryFilterCss","IxCategoryFilterStyle0","CategoryFilter","this","ID_CUSTOM_FILTER_VALUE","LogicalFilterOperator","EQUAL","dropdown","hostElement","shadowRoot","querySelector","watchFilterState","newValue","setFilterState","componentDidLoad","filterState","undefined","setTimeout","_a","addEventListener","handleFormElementKeyDown","bind","_b","formElement","e","preventDefault","textInput","console","warn","hasFocus","inputValue","value","inputState","InputState","category","inputChanged","emit","show","openDropdown","handleInputElementKeyDown","state","filterTokens","token","tokens","addToken","categoryLogicalOperator","categories","id","operator","emitFilterEvent","closeDropdown","disabled","readonly","code","document","activeElement","classList","contains","getAttribute","hasCategorySelection","selectCategory","focusPreviousItem","showDropdown","focusNextItem","sibling","previousSibling","HTMLElement","focus","nextSibling","selector","item","stopPropagation","suggestions","length","tokenCount","removeToken","filter","map","filterChanged","emitEvent","newToken","trim","hasToken","pair","isScrollStateDirty","index","_","i","getCategoryIds","ids","Object","prototype","hasOwnProperty","call","push","categoryChanged","resetFilter","filterMultiples","repeatCategories","isCategoryAlreadySet","find","some","filterToken","hasSameValue","filterDuplicateTokens","filterByInput","toLowerCase","indexOf","toggleCategoryOperator","NOT_EQUAL","getFilterChipLabel","operatorString","label","_c","nonSelectableCategories","getFilteredSuggestions","renderPlainSuggestions","h","class","suggestion","onClick","key","title","renderOperatorButton","staticOperator","params","type","variant","outline","ghost","iconOnly","iconOval","selected","loading","icon","extraClasses","BaseButton","assign","getFilterOperatorString","renderCategoryValues","options","renderDropdownContent","renderCategorySelection","tabindex","getDropdownHeader","labelCategories","i18nPlainText","componentDidRender","tmpDisableScrollIntoView","scrollIntoView","getResetButton","oval","size","getIconColor","render","Host","ref","el","hideIcon","color","name","toString","animate__animated","animate__fadein","onCloseClick","autocomplete","placeholder","closeBehavior","offset","mainAxis","anchor","trigger","header"],"sources":["src/components/category-filter/category-filter.scss?tag=ix-category-filter&encapsulation=shadow","src/components/category-filter/category-filter.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/shadows';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n@import '../button/button';\n@import 'legacy/components/dropdown';\n@import 'legacy/components/forms';\n@import 'components/form/input';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n height: auto;\n\n @include host-focus-visible {\n border-color: var(--theme-color-primary);\n box-shadow: 0 0 $tiny-space 0 var(--theme-color-primary) !important;\n }\n\n .reset-button {\n position: absolute;\n top: $tiny-space;\n right: $tiny-space;\n }\n\n .reset-button.hide-reset-button {\n display: none;\n }\n\n .input-container {\n &:not(.readonly):not(.disabled) {\n @include element-input('false');\n }\n\n &.disabled {\n color: var(--theme-input--color--disabled);\n border-bottom: var(--theme-input--border-thickness, 1px) solid\n var(--theme-input--border-color-bottom--disabled);\n }\n\n &.readonly {\n @include element-input;\n }\n\n display: flex;\n height: auto;\n max-height: 3.75rem;\n padding: 1px $large-space 1px 1.75rem !important;\n\n &.no-icon {\n padding-left: $tiny-space;\n }\n }\n\n .token-container {\n flex-grow: 1;\n overflow: hidden;\n }\n\n .text-input {\n @include ellipsis;\n @include text-default;\n width: auto;\n height: 1.75rem;\n min-height: $large-space;\n background: transparent;\n flex-grow: 1;\n box-shadow: none;\n\n &,\n &:hover,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n\n .list-unstyled {\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n }\n\n ix-icon {\n position: absolute;\n top: $small-space;\n left: $small-space;\n }\n\n ix-filter-chip {\n margin-right: $tiny-space;\n }\n\n .category-preview {\n display: flex;\n align-items: center;\n height: $large-space;\n background-color: var(--theme-bg-3);\n border-top-left-radius: $default-space;\n border-bottom-left-radius: $default-space;\n padding: $small-space;\n margin: 2px 0;\n }\n\n ul {\n height: 100%;\n }\n\n ul > li,\n input {\n padding-inline-start: 0;\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n ix-dropdown {\n min-width: 10rem !important;\n\n .dropdown-item-container {\n display: flex;\n flex-direction: column;\n\n .dropdown-item {\n @include text-default-single;\n @include ellipsis;\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n height: $large-control-height;\n margin: $tiny-space $small-space;\n padding-inline: $small-space;\n border: 1px solid transparent;\n border-radius: 100rem;\n width: auto;\n justify-content: flex-start;\n flex-grow: 1;\n }\n\n .category-item {\n border-end-end-radius: 0;\n border-start-end-radius: 0;\n }\n\n .category-item-value {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n }\n\n .btn-toggle-operator {\n width: 2rem;\n height: 2rem;\n margin-inline: $small-space;\n }\n }\n\n .d-none {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() showDropdown: boolean;\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty: boolean;\n\n @Element() hostElement: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder: string;\n\n /**\n * Configuration object hash used to populate the dropwdown menu for typeahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as typeahead suggestions not tied to any categories.\n */\n @Prop() suggestions: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n *\n * @since 2.2.0\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever the a category gets selected in the dropdown\n */\n @Event() categoryChanged: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged: EventEmitter<FilterState>;\n\n get dropdown() {\n return this.hostElement.shadowRoot.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown.show) {\n this.openDropdown();\n }\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = false;\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n this.dropdown.show = true;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${\n this.category !== undefined ? 'value' : 'id'\n }`;\n let item = this.hostElement.shadowRoot.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.shadowRoot.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category !== undefined) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== undefined) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== undefined) {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.addToken(id, this.category);\n }}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== undefined) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== undefined) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === undefined,\n }}\n ghost\n oval\n icon={'clear'}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': this.category === undefined,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly ||\n this.disabled ||\n this.category !== undefined,\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"+IAAA,MAAMA,EAAoB,0viDAC1B,MAAAC,EAAeD,E,MC6BFE,EAAc,M,kKACRC,KAAAC,uBAAyB,yB,0GAUPC,EAAsBC,M,oEAOpD,G,cAKc,M,cAKA,M,6GAgCf,G,qCAWW,S,4EAsBY,K,8BAKQ,K,qBAKT,a,mBAKF,gB,CAiBxB,YAAIC,GACF,OAAOJ,KAAKK,YAAYC,WAAWC,cAAc,c,CAInD,gBAAAC,CAAiBC,GACfT,KAAKU,eAAeD,E,CAGtB,gBAAAE,G,QACE,GAAIX,KAAKY,cAAgBC,UAAW,CAClCC,YAAW,IAAMd,KAAKU,eAAeV,KAAKY,c,EAG5CG,EAAAf,KAAKK,eAAW,MAAAU,SAAA,SAAAA,EAAEC,iBAChB,UACAhB,KAAKiB,yBAAyBC,KAAKlB,QAGrCmB,EAAAnB,KAAKoB,eAAW,MAAAD,SAAA,SAAAA,EAAEH,iBAAiB,UAAWK,GAAMA,EAAEC,mBAEtD,GAAItB,KAAKuB,WAAa,KAAM,CAC1BC,QAAQC,KACN,8EAEF,M,CAGFzB,KAAKuB,UAAUP,iBAAiB,WAAW,KACzChB,KAAK0B,SAAW,IAAI,IAEtB1B,KAAKuB,UAAUP,iBAAiB,YAAY,IAAOhB,KAAK0B,SAAW,QACnE1B,KAAKuB,UAAUP,iBAAiB,SAAS,KACvChB,KAAK2B,WAAa3B,KAAKuB,UAAUK,MACjC,MAAMC,EAAa,IAAIC,EAAW9B,KAAK2B,WAAY3B,KAAK+B,UACxD/B,KAAKgC,aAAaC,KAAKJ,GAEvB,IAAK7B,KAAKI,SAAS8B,KAAM,CACvBlC,KAAKmC,c,KAGTnC,KAAKuB,UAAUP,iBACb,UACAhB,KAAKoC,0BAA0BlB,KAAKlB,M,CAIhC,cAAAU,CAAe2B,GACrBrC,KAAKsC,aAAe,GAEpB,IAAK,MAAMC,KAASF,EAAMG,OAAQ,CAChCxC,KAAKyC,SACHF,EACAvC,KAAKC,uBACLD,KAAK0C,wBACL,M,CAIJ,IAAK,MAAMX,KAAYM,EAAMM,WAAY,CACvC3C,KAAKyC,SAASV,EAASH,MAAOG,EAASa,GAAIb,EAASc,SAAU,M,CAGhE7C,KAAK8C,iB,CAGC,aAAAC,GACN,GAAI/C,KAAKgD,UAAYhD,KAAKiD,SAAU,CAClC,M,CAGFjD,KAAKI,SAAS8B,KAAO,K,CAGf,YAAAC,GACN,GAAInC,KAAKgD,UAAYhD,KAAKiD,SAAU,CAClC,M,CAGFjD,KAAKI,SAAS8B,KAAO,I,CAGf,wBAAAjB,CAAyBI,GAC/B,OAAQA,EAAE6B,MACR,IAAK,QACL,IAAK,cACH,IAAKC,SAASC,cAAcC,UAAUC,SAAS,iBAAkB,CAC/D,M,CAGF,MAAMf,EAAQY,SAASC,cAAcG,aAAa,WAElD,GAAIvD,KAAKwD,uBAAwB,CAC/B,GAAIxD,KAAK+B,WAAalB,UAAW,CAC/Bb,KAAKyC,SAASF,EAAOvC,KAAK+B,S,MACrB,GACLoB,SAASC,cAAcC,UAAUC,SAAS,oBAC1C,CACAtD,KAAKyD,eAAelB,E,MAEjB,CACLvC,KAAKyC,SAASF,E,CAGhBlB,EAAEC,iBACF,MAEF,IAAK,UACHtB,KAAK0D,oBACLrC,EAAEC,iBACF,MAEF,IAAK,YACHtB,KAAK2D,aAAe,KACpB3D,KAAK4D,gBACLvC,EAAEC,iBACF,MAEF,IAAK,SACHtB,KAAK+C,gBACL,M,CAIE,iBAAAW,GACN,MAAMG,EAAUV,SAASC,cAAcU,gBACvC,GAAID,aAAmBE,YAAa,CAClCF,EAAQG,O,EAIJ,aAAAJ,GACN,MAAMC,EAAUV,SAASC,cAAca,YACvC,GAAIJ,aAAmBE,YAAa,CAClCF,EAAQG,O,EAIJ,yBAAA5B,CAA0Bf,G,MAChC,OAAQA,EAAE6B,MACR,IAAK,YACH,MAAMgB,EAAW,kBACflE,KAAK+B,WAAalB,UAAY,QAAU,OAE1C,IAAIsD,EAAOnE,KAAKK,YAAYC,WAAWC,cAAc2D,GAErD,GAAIC,aAAgBJ,YAAa,CAC/BI,EAAKH,QACL3C,EAAE+C,iB,MACG,IAAIrD,EAAAf,KAAKqE,eAAW,MAAAtD,SAAA,SAAAA,EAAEuD,OAAQ,CACnCH,EAAOnE,KAAKK,YAAYC,WAAWC,cAAc,kBACjD,GAAI4D,aAAgBJ,YAAa,CAC/BI,EAAKH,QACL3C,EAAE+C,iB,EAGN,MAEF,IAAK,YACH,GAAIpE,KAAKuB,UAAUK,QAAU,GAAI,CAC/B,M,CAGF,GAAI5B,KAAK+B,WAAalB,UAAW,CAC/Bb,KAAK+B,SAAWlB,UAChB,M,CAGF,MAAM0D,EAAavE,KAAKsC,aAAagC,OACrC,GAAIC,EAAa,EAAG,CAClBvE,KAAKwE,YAAYD,EAAa,E,CAEhC,MAEF,IAAK,QACL,IAAK,cACHvE,KAAKyC,SAASzC,KAAK2B,WAAY3B,KAAK+B,UACpCV,EAAEC,iBACF,M,CAIE,eAAAwB,GACN,MAAMN,EAASxC,KAAKsC,aACjBmC,QAAQN,GAASA,EAAKvB,KAAO5C,KAAKC,yBAClCyE,KAAKP,GAASA,EAAKvC,QACtB,MAAMe,EAAa3C,KAAKsC,aAAamC,QAClCN,GAASA,EAAKvB,KAAO5C,KAAKC,yBAE7B,MAAMW,EAA2B,CAC/B4B,SACAG,cAGF3C,KAAK2E,cAAc1C,KAAKrB,E,CAGlB,QAAA6B,CACNF,EACAR,EAAmB/B,KAAKC,uBACxB4C,EAAW7C,KAAK0C,wBAChBkC,EAAY,MAEZ,GAAIrC,IAAU1B,WAAa0B,IAAU,KAAM,CACzC,M,CAGF,MAAMsC,EAAWtC,EAAMuC,OAEvB,GAAID,IAAa,GAAI,CACnB,M,CAGF,GAAI7E,KAAK+E,SAASF,GAAW,CAC3B,M,CAGF,MAAMG,EAAO,CAAEpC,GAAIb,EAAUH,MAAOiD,EAAUhC,YAC9C7C,KAAKsC,aAAe,IAAItC,KAAKsC,aAAc0C,GAC3ChF,KAAKuB,UAAUK,MAAQ,GACvB5B,KAAK2B,WAAa,GAClB3B,KAAK0C,wBAA0BxC,EAAsBC,MAErD,GAAIH,KAAK+B,WAAalB,UAAW,CAC/Bb,KAAK+B,SAAWlB,S,CAGlBb,KAAKiF,mBAAqB,KAE1BjF,KAAKuB,UAAUyC,QAEf,GAAIY,EAAW,CACb5E,KAAK8C,iB,EAID,WAAA0B,CAAYU,GAClBlF,KAAKsC,aAAetC,KAAKsC,aAAamC,QAAO,CAACU,EAAGC,IAAMA,IAAMF,IAC7DlF,KAAK8C,iB,CAGC,cAAAuC,GACN,MAAMC,EAAM,GACZ,IAAK,MAAM1C,KAAM5C,KAAK2C,WAAY,CAChC,GAAI4C,OAAOC,UAAUC,eAAeC,KAAK1F,KAAK2C,WAAYC,GAAK,CAC7D0C,EAAIK,KAAK/C,E,EAIb,OAAO0C,C,CAGD,cAAA7B,CAAe1B,GACrB/B,KAAK+B,SAAWA,EAChB/B,KAAKuB,UAAUK,MAAQ,GACvB5B,KAAK2B,WAAa,GAClB3B,KAAKuB,UAAUyC,QACfhE,KAAK4F,gBAAgB3D,KAAKF,E,CAGpB,WAAA8D,CAAYxE,GAClBA,EAAE+C,kBACFpE,KAAK+C,gBACL/C,KAAKsC,aAAe,GACpBtC,KAAK8C,iB,CAGC,eAAAgD,CAAgBlE,GACtB,GAAI5B,KAAK+F,iBAAkB,CACzB,OAAO,I,CAGT,MAAMC,EAAuBhG,KAAKsC,aAAa2D,MAC5C1D,GAAUA,EAAMK,KAAOhB,IAG1B,OAAQoE,C,CAGF,QAAAjB,CAASxC,GACf,OAAOvC,KAAKsC,aAAa4D,MAAMC,IAC7B,MAAMC,EAAeD,EAAYvE,QAAUW,EAE3C,IAAK6D,EAAc,CACjB,OAAO,K,CAGT,GAAIpG,KAAK+B,WAAalB,UAAW,CAC/B,OAAOb,KAAK+B,WAAaoE,EAAYvD,E,CAGvC,GAAIuD,EAAYvD,GAAI,CAClB,OAAOuD,EAAYvD,KAAO5C,KAAKC,sB,CAGjC,OAAOmG,CAAY,G,CAIf,qBAAAC,CAAsBzE,GAC5B,OAAQ5B,KAAK+E,SAASnD,E,CAGhB,aAAA0E,CAAc1E,GACpB,GAAI5B,KAAK2B,aAAed,WAAab,KAAK2B,aAAe,GAAI,CAC3D,OAAO,I,CAGT,OAAOC,EAAM2E,cAAcC,QAAQxG,KAAK2B,WAAW4E,kBAAoB,C,CAGjE,sBAAAE,GACN,OAAQzG,KAAK0C,yBACX,KAAKxC,EAAsBC,MACzBH,KAAK0C,wBAA0BxC,EAAsBwG,UACrD,MAEF,KAAKxG,EAAsBwG,UACzB1G,KAAK0C,wBAA0BxC,EAAsBC,MACrD,M,CAIE,kBAAAwG,CAAmB/E,G,UAKzB,GAAIA,EAAMgB,KAAO5C,KAAKC,uBAAwB,CAC5C,OAAO2B,EAAMA,K,CAGf,MAAMgF,EACJhF,EAAMiB,WAAa3C,EAAsBC,MAAQ,IAAM,KACzD,MAAM0G,GACJC,GAAA3F,GAAAJ,EAAAf,KAAK2C,WAAWf,EAAMgB,OAAG,MAAA7B,SAAA,SAAAA,EAAE8F,SAAK,MAAA1F,SAAA,EAAAA,EAChCnB,KAAK+G,wBAAwBnF,EAAMgB,OAAG,MAAAkE,SAAA,EAAAA,EACtClF,EAAMgB,GAER,MAAO,GAAGiE,KAASD,KAAkBhF,EAAMA,O,CAGrC,sBAAAoF,G,QACN,MAAKjG,EAAAf,KAAKqE,eAAW,MAAAtD,SAAA,SAAAA,EAAEuD,QAAQ,CAC7B,MAAO,E,CAGT,OAAOnD,EAAAnB,KAAKqE,eAAW,MAAAlD,SAAA,SAAAA,EACnBsD,QAAQ7C,GAAU5B,KAAKsG,cAAc1E,KACtC6C,QAAQ7C,GAAU5B,KAAKqG,sBAAsBzE,I,CAG1C,oBAAA4B,GACN,OAAOxD,KAAK2C,aAAe9B,S,CAGrB,sBAAAoG,GACN,OACEC,EAAA,OAAKC,MAAM,2BACRnH,KAAKgH,yBAAyBtC,KAAK0C,GAClCF,EAAA,UACEC,MAAM,gBAAe,UACZC,EACTC,QAAS,IAAMrH,KAAKyC,SAAS2E,GAC7BE,IAAKF,EACLG,MAAOH,GAENA,K,CAOH,oBAAAI,GACN,GAAIxH,KAAKyH,eAAgB,CACvB,MAAO,E,CAGT,MAAMC,EAA0B,CAC9BC,KAAM,SACNC,QAAS,YACTC,QAAS,MACTC,MAAO,KACPC,SAAU,KACVC,SAAU,MACVC,SAAU,MACVjF,SAAUhD,KAAKgD,UAAYhD,KAAKyH,iBAAmB5G,UACnDqH,QAAS,MACTC,KAAM,GACNd,QAAUhG,IACRA,EAAE+C,kBACFpE,KAAKyG,wBAAwB,EAE/B2B,aAAc,CACZ,cAAe,KACf,sBAAuB,OAI3B,OACElB,EAACmB,EAAU9C,OAAA+C,OAAA,GAAKZ,GACb1H,KAAK0C,0BAA4BxC,EAAsBwG,UACpD,IACA,K,CAKF,uBAAA6B,GACN,IAAI1F,EACJ,GAAI7C,KAAKyH,iBAAmB5G,UAAW,CACrCgC,EAAW7C,KAAKyH,c,KACX,CACL5E,EAAW7C,KAAK0C,uB,CAElB,MAAO,GAAGG,IAAa3C,EAAsBC,MAAQ,IAAM,O,CAGrD,oBAAAqI,G,QACN,OACEtB,EAAA,OAAKC,MAAM,2BACRnH,KAAKwH,uBACNN,EAAA,OAAKC,MAAM,oBACRpG,EAAAf,KAAK2C,WAAW3C,KAAK+B,aAAS,MAAAhB,SAAA,SAAAA,EAAE8F,QAElC1F,EAAAnB,KAAK2C,WAAW3C,KAAK+B,aAAS,MAAAZ,SAAA,S,EAAEsH,QAC9BhE,QAAQ7C,GAAU5B,KAAKsG,cAAc1E,KACrC6C,QAAQ7C,GAAU5B,KAAKqG,sBAAsBzE,KAC7C8C,KAAK9B,GACJsE,EAAA,UACEC,MAAM,oCAAmC,UAChCvE,EACT2E,MAAO3E,EACP0E,IAAK1E,EACLyE,QAAUhG,IACRA,EAAEC,iBACFtB,KAAKyC,SAASG,EAAI5C,KAAK+B,SAAS,GAGjC,GAAG/B,KAAKuI,6BAA6B3F,O,CAO1C,qBAAA8F,GACN,GAAI1I,KAAKwD,uBAAwB,CAC/B,GAAIxD,KAAK+B,WAAalB,UAAW,CAC/B,OAAOb,KAAKwI,sB,KACP,CACL,OAAOxI,KAAK2I,yB,OAET,OAAO3I,KAAKiH,wB,CAGb,uBAAA0B,G,MACN,OACEzB,EAAA,OAAKC,MAAM,4BACRpG,EAAAf,KAAKqF,oBAAgB,MAAAtE,SAAA,SAAAA,EAClB0D,QAAQ7B,GAAO5C,KAAKsG,cAActG,KAAK2C,WAAWC,GAAIiE,SACvDpC,QAAQ7B,GAAO5C,KAAK8F,gBAAgBlD,KACpC8B,KAAK9B,I,MAAO,OACXsE,EAAA,UACEC,MAAM,+CAA8C,UAC3CvE,EACT2E,MAAOvH,KAAK2C,WAAWC,GAAIiE,MAC3BS,IAAK1E,EACLyE,QAAUhG,IACRA,EAAEC,iBACFtB,KAAKyD,eAAeb,EAAG,EAEzBgG,SAAS,MAER7H,EAAAf,KAAK2C,WAAWC,MAAG,MAAA7B,SAAA,SAAAA,EAAE8F,MACf,I,CAMX,iBAAAgC,GACN,GAAI7I,KAAK2C,aAAe9B,UAAW,CACjC,GAAIb,KAAK+B,WAAalB,UAAW,CAC/B,OAAO,I,KACF,CACL,OAAOb,KAAK8I,e,EAIhB,OAAO9I,KAAK+I,a,CAGd,kBAAAC,GACE,GAAIhJ,KAAKiF,mBAAoB,CAC3B,IAAKjF,KAAKiJ,yBAA0B,CAClCjJ,KAAKuB,UAAU2H,gB,CAEjBlJ,KAAKiF,mBAAqB,K,EAItB,cAAAkE,GACN,OACEjC,EAAA,kBACEG,QAAUhG,GAAMrB,KAAK6F,YAAYxE,GACjC8F,MAAO,CACL,eAAgB,KAChB,qBACGnH,KAAKsC,aAAagC,QAAUtE,KAAK+B,WAAalB,WAEnDiH,MAAK,KACLsB,KAAI,KACJjB,KAAM,QACNkB,KAAK,M,CAKH,YAAAC,GACN,GAAItJ,KAAKgD,SAAU,CACjB,MAAO,oB,CAGT,GAAIhD,KAAKiD,SAAU,CACjB,MAAO,e,CAGT,MAAO,e,CAGT,MAAAsG,G,MACE,OACErC,EAACsC,EAAI,CAAAlC,IAAA,4CACHJ,EAAA,QAAAI,IAAA,2CAAMmC,IAAMC,GAAQ1J,KAAKoB,YAAcsI,GACrCxC,EAAA,OAAAI,IAAA,uDACatH,KAAKiD,SAChBkE,MAAO,CACL,kBAAmB,KACnBnE,SAAUhD,KAAKgD,SACfgB,MAAOhE,KAAK0B,SACZuB,SAAUjD,KAAKiD,SACf,UAAWjD,KAAK2J,WAGlBzC,EAAA,WAAAI,IAAA,2CACEsC,MAAO5J,KAAKsJ,eACZnC,MAAO,CAAE,SAAUnH,KAAK2J,UACxBE,KAAM7J,KAAKmI,KACXkB,KAAK,OAEPnC,EAAA,OAAAI,IAAA,2CAAKH,MAAM,mBACTD,EAAA,MAAAI,IAAA,2CAAIH,MAAM,iBACPnH,KAAKsC,aAAaoC,KAAI,CAAC9C,EAAOsD,IAC7BgC,EAAA,MACEI,IAAK1F,EAAMkI,WACX3C,MAAO,CACL4C,kBAAmB,KACnBC,gBAAiB,OAGnB9C,EAAA,kBACElE,SAAUhD,KAAKgD,SACfC,SAAUjD,KAAKiD,SACfoE,QAAUhG,GAAMA,EAAE+C,kBAClB6F,aAAc,IAAMjK,KAAKwE,YAAYU,IAEpClF,KAAK2G,mBAAmB/E,OAI9B5B,KAAK2C,aAAe9B,UAAS,GAG5BqG,EAAA,MACEC,MAAO,CACL,mBAAoB,KACpB,SAAUnH,KAAK+B,WAAalB,aAG7BE,EAAAf,KAAK2C,WAAW3C,KAAK+B,aAAS,MAAAhB,SAAA,SAAAA,EAAE8F,OAGrCK,EAAA,SAAAI,IAAA,2CACEH,MAAO,CACL,aAAc,KACd,mBACEnH,KAAKiD,UACLjD,KAAKgD,UACLhD,KAAK+B,WAAalB,WAEtBqJ,aAAa,MACbL,KAAK,wBACL7G,SAAUhD,KAAKgD,SACfC,SAAUjD,KAAKiD,SACfwG,IAAMC,GAAQ1J,KAAKuB,UAAYmI,EAC/B/B,KAAK,OACLwC,YAAanK,KAAKmK,iBAItBnK,KAAKiD,WAAajD,KAAKgD,UAAYhD,KAAKmJ,mBAI7CnJ,KAAKgD,UAAYhD,KAAKiD,SAAQ,GAG7BiE,EAAA,eACEhF,KAAMlC,KAAK2D,aACXyG,cAAc,UACdC,OAAQ,CAAEC,SAAU,GACpBC,OAAQvK,KAAKuB,UACbiJ,QAASxK,KAAKK,YACdoK,OAAQzK,KAAK6I,qBAEZ7I,KAAK0I,yB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r,h as e,H as t}from"./p-f87cd962.js";const n=".sc-ix-playground-internal-h{display:block;position:relative;width:100vw;height:100vh;padding:0rem 0rem 0rem 0rem}";const s=n;const a=class{constructor(e){r(this,e)}render(){return e(t,{key:"cb88d03e375d222d5903d13ca1fc154d9af86898"})}};a.style=s;export{a as ix_playground_internal};
|
|
2
|
-
//# sourceMappingURL=p-87e692d9.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as a,H as s,g as t}from"./p-f87cd962.js";import"./p-46a6cd9d.js";import{d,c as o}from"./p-6e6efb4c.js";import"./p-c4749812.js";const b=class{constructor(a){e(this,a)}dismiss(){d(this.host)}close(){o(this.host,"Done!")}render(){return a(s,{key:"a93b508a6983b97ab3d00fb50c431149a12b1c3a"},a("div",{key:"0331662e2731d9bbbd5b7cec71d3985e18933ba4"},a("div",{key:"62fe35ecda14d64395059081baa1ff3751800f13",class:"modal-header"},"Message headline",a("ix-icon-button",{key:"6108daf9af88612fa5f2785a807309c51c8a5983","data-close-button":true,ghost:true,icon:"close",onClick:()=>this.dismiss()})),a("div",{key:"ea92bf633a158737f1d4f06b8e68229013f41eb9",class:"modal-body"},"Message text lorem ipsum"),a("div",{key:"6d0e125b9b454d3bc2aa0afa83fa8b7d5b900d3d",class:"modal-footer"},a("ix-button",{key:"aa0bb2977686f8118b3eea8217588a20bbe7adb7",outline:true,onClick:()=>this.dismiss()},"Cancel"),a("ix-button",{key:"77950c33df17b1d9201039fc1431b14fe82361e1",onClick:()=>this.close()},"OK"))))}get host(){return t(this)}};export{b as ix_modal_example};
|
|
2
|
-
//# sourceMappingURL=p-92a18c10.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t,H as i,g as a}from"./p-f87cd962.js";import{u as o,A as r}from"./p-7c36d3fa.js";import{a as s}from"./p-fbe017b7.js";import{m as n}from"./p-c146af8e.js";import{h}from"./p-712e0ee0.js";import{t as l}from"./p-1da901d5.js";import"./p-c4749812.js";import"./p-68a274e7.js";const c=":host{display:flex;position:relative;width:100%;height:100%;flex-direction:column}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host ix-application-header{z-index:calc(var(--theme-z-index-sticky) + 1)}:host .logo-wrapper{display:contents}:host .application{display:flex;position:relative;flex-direction:row;height:100%;width:100%;overflow:hidden}:host main{display:block;position:relative;height:100%;width:100%;overflow:hidden}:host(.breakpoint-md){--ix-application-menu-margin-left:3.25rem}:host(.breakpoint-md) aside.slotted{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-md) aside.slotted+main{margin-left:0}:host(.breakpoint-md) aside:not(.slotted)+main{margin-left:var(--ix-application-menu-margin-left)}:host(.breakpoint-lg){--ix-application-menu-margin-left:0}:host(.breakpoint-sm){--ix-application-menu-margin-left:0}";const d=c;const p=class{constructor(t){e(this,t);this.theme=undefined;this.themeSystemAppearance=false;this.forceBreakpoint=undefined;this.breakpoints=["sm","md","lg"];this.appSwitchConfig=undefined;this.breakpoint="lg";this.applicationSidebarSlotted=false}forceLayoutChange(e){if(!e){s.enableBreakpointDetection();return}s.disableBreakpointDetection();s.setBreakpoint(e)}onBreakpointsChange(e){s.setBreakpoints(e)}get menu(){return this.hostElement.querySelector("ix-menu")}get applicationSidebarSlot(){return this.hostElement.shadowRoot.querySelector(".application-sidebar slot")}onContentClick(){var e;if(n.isPinned){return}(e=this.menu)===null||e===void 0?void 0:e.toggleMenu(false)}componentWillLoad(){s.setBreakpoints(this.breakpoints);this.contextProvider=o(this.hostElement,r,{hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted,appSwitchConfig:this.appSwitchConfig});this.modeDisposable=s.onChange.on((e=>{this.breakpoint=e}));this.breakpoint=s.breakpoint;if(this.forceBreakpoint){this.forceLayoutChange(this.forceBreakpoint)}this.changeTheme()}disconnectedCallback(){var e;(e=this.modeDisposable)===null||e===void 0?void 0:e.dispose()}changeTheme(){if(!this.theme){if(this.themeSystemAppearance){l.setVariant()}return}if(l.hasVariantSuffix(this.theme)){l.setTheme(`theme-${this.theme}`);return}l.setTheme(`theme-${this.theme}-dark`,this.themeSystemAppearance)}onApplicationSidebarChange(){this.contextProvider.emit({hideHeader:false,host:"basic-navigation",sidebar:this.applicationSidebarSlotted,appSwitchConfig:this.appSwitchConfig})}render(){return t(i,{key:"4e8314dec7968a3b9b2e00a7852dc53c924d0c53","data-role":"",class:{[`breakpoint-${this.breakpoint}`]:true}},t("slot",{key:"2f4a52a13679af639648164eff165d5dd37ec951",name:"application-header"}),t("div",{key:"b316ff04f23e4606d54ddcc5531ed884b988e360",class:"application"},t("slot",{key:"40f4800917fa9f24cdc50c72543e2c7181878775",name:"menu"}),t("aside",{key:"62e0120b64ad942e7dd991b6fe9912b60e36e04f",class:{"application-sidebar":true,slotted:this.applicationSidebarSlotted},onClick:()=>this.onContentClick()},t("slot",{key:"211f35df78de174484e914fa646227ba290fb9ae",name:"application-sidebar",onSlotchange:()=>this.applicationSidebarSlotted=h(this.applicationSidebarSlot)})),t("main",{key:"f58973392fbff54f0aef27ae95560cfb36dbd568",class:"content",onClick:()=>this.onContentClick()},t("slot",{key:"ac63821ff0fde080c1dd284dcb7df10113cb6477"}))))}get hostElement(){return a(this)}static get watchers(){return{breakpoints:["onBreakpointsChange"],theme:["changeTheme"],themeSystemAppearance:["changeTheme"],appSwitchConfig:["onApplicationSidebarChange"],applicationSidebarSlotted:["onApplicationSidebarChange"]}}};p.style=d;export{p as ix_application};
|
|
2
|
-
//# sourceMappingURL=p-a0a44a2b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["applicationCss","IxApplicationStyle0","Application","forceLayoutChange","newMode","applicationLayoutService","enableBreakpointDetection","disableBreakpointDetection","setBreakpoint","onBreakpointsChange","breakpoints","setBreakpoints","menu","this","hostElement","querySelector","applicationSidebarSlot","shadowRoot","onContentClick","menuController","isPinned","_a","toggleMenu","componentWillLoad","contextProvider","useContextProvider","ApplicationLayoutContext","hideHeader","host","sidebar","applicationSidebarSlotted","appSwitchConfig","modeDisposable","onChange","on","mode","breakpoint","forceBreakpoint","changeTheme","disconnectedCallback","dispose","theme","themeSystemAppearance","themeSwitcher","setVariant","hasVariantSuffix","setTheme","onApplicationSidebarChange","emit","render","h","Host","key","class","name","slotted","onClick","onSlotchange","hasSlottedElements"],"sources":["src/components/application/application.scss?tag=ix-application&encapsulation=shadow","src/components/application/application.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n flex-direction: column;\n\n ix-application-header {\n z-index: calc(var(--theme-z-index-sticky) + 1);\n }\n\n .logo-wrapper {\n display: contents;\n }\n\n .application {\n display: flex;\n position: relative;\n flex-direction: row;\n height: 100%;\n width: 100%;\n overflow: hidden;\n }\n\n main {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n overflow: hidden;\n }\n}\n\n:host(.breakpoint-md) {\n --ix-application-menu-margin-left: 3.25rem;\n\n aside.slotted {\n margin-left: var(--ix-application-menu-margin-left);\n }\n\n aside.slotted + main {\n margin-left: 0;\n }\n\n aside:not(.slotted) + main {\n margin-left: var(--ix-application-menu-margin-left);\n }\n}\n\n:host(.breakpoint-lg) {\n --ix-application-menu-margin-left: 0;\n}\n\n:host(.breakpoint-sm) {\n --ix-application-menu-margin-left: 0;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\nimport {\n ApplicationLayoutContext,\n AppSwitchConfiguration,\n} from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextProvider, useContextProvider } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { hasSlottedElements } from '../utils/shadow-dom';\nimport { IxTheme, themeSwitcher } from '../utils/theme-switcher';\nimport { Disposable } from '../utils/typed-event';\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-application',\n styleUrl: 'application.scss',\n shadow: true,\n})\nexport class Application {\n @Element() hostElement: HTMLIxApplicationElement;\n\n /**\n * Application theme\n */\n @Prop() theme: IxTheme;\n\n /**\n * Use the system appearance dark or light\n */\n @Prop() themeSystemAppearance = false;\n\n /**\n * Change the responsive layout of the menu structure\n */\n @Prop() forceBreakpoint: Breakpoint | undefined;\n forceLayoutChange(newMode: Breakpoint | undefined) {\n if (!newMode) {\n applicationLayoutService.enableBreakpointDetection();\n return;\n }\n\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint(newMode);\n }\n\n /**\n * Supported layouts\n */\n @Prop() breakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n @Watch('breakpoints')\n onBreakpointsChange(breakpoints: Breakpoint[]) {\n applicationLayoutService.setBreakpoints(breakpoints);\n }\n\n /**\n * Define application switch configuration\n */\n @Prop() appSwitchConfig: AppSwitchConfiguration;\n\n @State() breakpoint: Breakpoint = 'lg';\n @State() applicationSidebarSlotted = false;\n\n private contextProvider: ContextProvider<typeof ApplicationLayoutContext>;\n\n get menu(): HTMLIxMenuElement | null {\n return this.hostElement.querySelector('ix-menu');\n }\n\n get applicationSidebarSlot() {\n return this.hostElement.shadowRoot.querySelector(\n '.application-sidebar slot'\n ) as HTMLSlotElement;\n }\n\n private modeDisposable: Disposable;\n\n private onContentClick() {\n if (menuController.isPinned) {\n return;\n }\n this.menu?.toggleMenu(false);\n }\n\n componentWillLoad() {\n applicationLayoutService.setBreakpoints(this.breakpoints);\n\n this.contextProvider = useContextProvider(\n this.hostElement,\n ApplicationLayoutContext,\n {\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n }\n );\n\n this.modeDisposable = applicationLayoutService.onChange.on((mode) => {\n this.breakpoint = mode;\n });\n this.breakpoint = applicationLayoutService.breakpoint;\n\n if (this.forceBreakpoint) {\n this.forceLayoutChange(this.forceBreakpoint);\n }\n\n this.changeTheme();\n }\n\n disconnectedCallback() {\n this.modeDisposable?.dispose();\n }\n\n @Watch('theme')\n @Watch('themeSystemAppearance')\n private changeTheme() {\n if (!this.theme) {\n if (this.themeSystemAppearance) {\n themeSwitcher.setVariant();\n }\n\n return;\n }\n\n if (themeSwitcher.hasVariantSuffix(this.theme)) {\n themeSwitcher.setTheme(`theme-${this.theme}`);\n return;\n }\n\n themeSwitcher.setTheme(\n `theme-${this.theme}-dark`,\n this.themeSystemAppearance\n );\n }\n\n @Watch('appSwitchConfig')\n @Watch('applicationSidebarSlotted')\n onApplicationSidebarChange() {\n this.contextProvider.emit({\n hideHeader: false,\n host: 'basic-navigation',\n sidebar: this.applicationSidebarSlotted,\n appSwitchConfig: this.appSwitchConfig,\n });\n }\n\n render() {\n return (\n <Host\n data-role=\"\"\n class={{\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n >\n <slot name=\"application-header\"></slot>\n <div class=\"application\">\n <slot name=\"menu\"></slot>\n <aside\n class={{\n 'application-sidebar': true,\n slotted: this.applicationSidebarSlotted,\n }}\n onClick={() => this.onContentClick()}\n >\n <slot\n name=\"application-sidebar\"\n onSlotchange={() =>\n (this.applicationSidebarSlotted = hasSlottedElements(\n this.applicationSidebarSlot\n ))\n }\n ></slot>\n </aside>\n <main class=\"content\" onClick={() => this.onContentClick()}>\n <slot></slot>\n </main>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+RAAA,MAAMA,EAAiB,8hDACvB,MAAAC,EAAeD,E,MC6BFE,EAAW,M,yEAWU,M,gDAmBI,CAAC,KAAM,KAAM,M,+CAWf,K,+BACG,K,CAzBrC,iBAAAC,CAAkBC,GAChB,IAAKA,EAAS,CACZC,EAAyBC,4BACzB,M,CAGFD,EAAyBE,6BACzBF,EAAyBG,cAAcJ,E,CAQzC,mBAAAK,CAAoBC,GAClBL,EAAyBM,eAAeD,E,CAa1C,QAAIE,GACF,OAAOC,KAAKC,YAAYC,cAAc,U,CAGxC,0BAAIC,GACF,OAAOH,KAAKC,YAAYG,WAAWF,cACjC,4B,CAMI,cAAAG,G,MACN,GAAIC,EAAeC,SAAU,CAC3B,M,EAEFC,EAAAR,KAAKD,QAAI,MAAAS,SAAA,SAAAA,EAAEC,WAAW,M,CAGxB,iBAAAC,GACElB,EAAyBM,eAAeE,KAAKH,aAE7CG,KAAKW,gBAAkBC,EACrBZ,KAAKC,YACLY,EACA,CACEC,WAAY,MACZC,KAAM,mBACNC,QAAShB,KAAKiB,0BACdC,gBAAiBlB,KAAKkB,kBAI1BlB,KAAKmB,eAAiB3B,EAAyB4B,SAASC,IAAIC,IAC1DtB,KAAKuB,WAAaD,CAAI,IAExBtB,KAAKuB,WAAa/B,EAAyB+B,WAE3C,GAAIvB,KAAKwB,gBAAiB,CACxBxB,KAAKV,kBAAkBU,KAAKwB,gB,CAG9BxB,KAAKyB,a,CAGP,oBAAAC,G,OACElB,EAAAR,KAAKmB,kBAAc,MAAAX,SAAA,SAAAA,EAAEmB,S,CAKf,WAAAF,GACN,IAAKzB,KAAK4B,MAAO,CACf,GAAI5B,KAAK6B,sBAAuB,CAC9BC,EAAcC,Y,CAGhB,M,CAGF,GAAID,EAAcE,iBAAiBhC,KAAK4B,OAAQ,CAC9CE,EAAcG,SAAS,SAASjC,KAAK4B,SACrC,M,CAGFE,EAAcG,SACZ,SAASjC,KAAK4B,aACd5B,KAAK6B,sB,CAMT,0BAAAK,GACElC,KAAKW,gBAAgBwB,KAAK,CACxBrB,WAAY,MACZC,KAAM,mBACNC,QAAShB,KAAKiB,0BACdC,gBAAiBlB,KAAKkB,iB,CAI1B,MAAAkB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,uDACO,GACVC,MAAO,CACL,CAAC,cAAcxC,KAAKuB,cAAe,OAGrCc,EAAA,QAAAE,IAAA,2CAAME,KAAK,uBACXJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,SACXJ,EAAA,SAAAE,IAAA,2CACEC,MAAO,CACL,sBAAuB,KACvBE,QAAS1C,KAAKiB,2BAEhB0B,QAAS,IAAM3C,KAAKK,kBAEpBgC,EAAA,QAAAE,IAAA,2CACEE,KAAK,sBACLG,aAAc,IACX5C,KAAKiB,0BAA4B4B,EAChC7C,KAAKG,2BAKbkC,EAAA,QAAAE,IAAA,2CAAMC,MAAM,UAAUG,QAAS,IAAM3C,KAAKK,kBACxCgC,EAAA,QAAAE,IAAA,+C"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as s,h as t,H as e}from"./p-f87cd962.js";const o=":host{display:block;position:relative}:host ::slotted(*){height:100%;width:100%}";const d=o;const i=class{constructor(t){s(this,t);this.itemName=undefined}render(){const s={};s["grid-area"]=this.itemName;return t(e,{key:"5e5e54a887244e85620d34eb2759fadf20883dbd",style:s},t("slot",{key:"14c51da716e0715e205f28181a3d51813ad88027"}))}};i.style=d;export{i as ix_css_grid_item};
|
|
2
|
-
//# sourceMappingURL=p-b3b23af7.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t=Math.min;const n=Math.max;const e=Math.round;const o=Math.floor;const s=t=>({x:t,y:t});const c={left:"right",right:"left",bottom:"top",top:"bottom"};const r={start:"end",end:"start"};function i(e,o,s){return n(e,t(o,s))}function l(t,n){return typeof t==="function"?t(n):t}function f(t){return t.split("-")[0]}function a(t){return t.split("-")[1]}function u(t){return t==="x"?"y":"x"}function d(t){return t==="y"?"height":"width"}function m(t){return["top","bottom"].includes(f(t))?"y":"x"}function y(t){return u(m(t))}function p(t,n,e){if(e===void 0){e=false}const o=a(t);const s=y(t);const c=d(s);let r=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(n.reference[c]>n.floating[c]){r=v(r)}return[r,v(r)]}function h(t){const n=v(t);return[g(t),n,g(n)]}function g(t){return t.replace(/start|end/g,(t=>r[t]))}function x(t,n,e){const o=["left","right"];const s=["right","left"];const c=["top","bottom"];const r=["bottom","top"];switch(t){case"top":case"bottom":if(e)return n?s:o;return n?o:s;case"left":case"right":return n?c:r;default:return[]}}function w(t,n,e,o){const s=a(t);let c=x(f(t),e==="start",o);if(s){c=c.map((t=>t+"-"+s));if(n){c=c.concat(c.map(g))}}return c}function v(t){return t.replace(/left|right|bottom|top/g,(t=>c[t]))}function b(t){return{top:0,right:0,bottom:0,left:0,...t}}function A(t){return typeof t!=="number"?b(t):{top:t,right:t,bottom:t,left:t}}function R(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function k(t,n,e){let{reference:o,floating:s}=t;const c=m(n);const r=y(n);const i=d(r);const l=f(n);const u=c==="y";const p=o.x+o.width/2-s.width/2;const h=o.y+o.height/2-s.height/2;const g=o[i]/2-s[i]/2;let x;switch(l){case"top":x={x:p,y:o.y-s.height};break;case"bottom":x={x:p,y:o.y+o.height};break;case"right":x={x:o.x+o.width,y:h};break;case"left":x={x:o.x-s.width,y:h};break;default:x={x:o.x,y:o.y}}switch(a(n)){case"start":x[r]-=g*(e&&u?-1:1);break;case"end":x[r]+=g*(e&&u?-1:1);break}return x}const S=async(t,n,e)=>{const{placement:o="bottom",strategy:s="absolute",middleware:c=[],platform:r}=e;const i=c.filter(Boolean);const l=await(r.isRTL==null?void 0:r.isRTL(n));let f=await r.getElementRects({reference:t,floating:n,strategy:s});let{x:a,y:u}=k(f,o,l);let d=o;let m={};let y=0;for(let e=0;e<i.length;e++){const{name:c,fn:p}=i[e];const{x:h,y:g,data:x,reset:w}=await p({x:a,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:m,rects:f,platform:r,elements:{reference:t,floating:n}});a=h!=null?h:a;u=g!=null?g:u;m={...m,[c]:{...m[c],...x}};if(w&&y<=50){y++;if(typeof w==="object"){if(w.placement){d=w.placement}if(w.rects){f=w.rects===true?await r.getElementRects({reference:t,floating:n,strategy:s}):w.rects}({x:a,y:u}=k(f,d,l))}e=-1;continue}}return{x:a,y:u,placement:d,strategy:s,middlewareData:m}};async function F(t,n){var e;if(n===void 0){n={}}const{x:o,y:s,platform:c,rects:r,elements:i,strategy:f}=t;const{boundary:a="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:m=false,padding:y=0}=l(n,t);const p=A(y);const h=d==="floating"?"reference":"floating";const g=i[m?h:d];const x=R(await c.getClippingRect({element:((e=await(c.isElement==null?void 0:c.isElement(g)))!=null?e:true)?g:g.contextElement||await(c.getDocumentElement==null?void 0:c.getDocumentElement(i.floating)),boundary:a,rootBoundary:u,strategy:f}));const w=d==="floating"?{...r.floating,x:o,y:s}:r.reference;const v=await(c.getOffsetParent==null?void 0:c.getOffsetParent(i.floating));const b=await(c.isElement==null?void 0:c.isElement(v))?await(c.getScale==null?void 0:c.getScale(v))||{x:1,y:1}:{x:1,y:1};const k=R(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:v,strategy:f}):w);return{top:(x.top-k.top+p.top)/b.y,bottom:(k.bottom-x.bottom+p.bottom)/b.y,left:(x.left-k.left+p.left)/b.x,right:(k.right-x.right+p.right)/b.x}}const O=n=>({name:"arrow",options:n,async fn(e){const{x:o,y:s,placement:c,rects:r,platform:f,elements:u,middlewareData:m}=e;const{element:p,padding:h=0}=l(n,e)||{};if(p==null){return{}}const g=A(h);const x={x:o,y:s};const w=y(c);const v=d(w);const b=await f.getDimensions(p);const R=w==="y";const k=R?"top":"left";const S=R?"bottom":"right";const F=R?"clientHeight":"clientWidth";const O=r.reference[v]+r.reference[w]-x[w]-r.floating[v];const T=x[w]-r.reference[w];const P=await(f.getOffsetParent==null?void 0:f.getOffsetParent(p));let C=P?P[F]:0;if(!C||!await(f.isElement==null?void 0:f.isElement(P))){C=u.floating[F]||r.floating[v]}const D=O/2-T/2;const M=C/2-b[v]/2-1;const z=t(g[k],M);const B=t(g[S],M);const L=z;const E=C-b[v]-B;const I=C/2-b[v]/2+D;const N=i(L,I,E);const q=!m.arrow&&a(c)!=null&&I!=N&&r.reference[v]/2-(I<L?z:B)-b[v]/2<0;const H=q?I<L?I-L:I-E:0;return{[w]:x[w]+H,data:{[w]:N,centerOffset:I-N-H,...q&&{alignmentOffset:H}},reset:q}}});const T=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(n){var e,o;const{placement:s,middlewareData:c,rects:r,initialPlacement:i,platform:a,elements:u}=n;const{mainAxis:d=true,crossAxis:m=true,fallbackPlacements:y,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:b=true,...A}=l(t,n);if((e=c.arrow)!=null&&e.alignmentOffset){return{}}const R=f(s);const k=f(i)===i;const S=await(a.isRTL==null?void 0:a.isRTL(u.floating));const O=y||(k||!b?[v(i)]:h(i));if(!y&&x!=="none"){O.push(...w(i,b,x,S))}const T=[i,...O];const P=await F(n,A);const C=[];let D=((o=c.flip)==null?void 0:o.overflows)||[];if(d){C.push(P[R])}if(m){const t=p(s,r,S);C.push(P[t[0]],P[t[1]])}D=[...D,{placement:s,overflows:C}];if(!C.every((t=>t<=0))){var M,z;const t=(((M=c.flip)==null?void 0:M.index)||0)+1;const n=T[t];if(n){return{data:{index:t,overflows:D},reset:{placement:n}}}let e=(z=D.filter((t=>t.overflows[0]<=0)).sort(((t,n)=>t.overflows[1]-n.overflows[1]))[0])==null?void 0:z.placement;if(!e){switch(g){case"bestFit":{var B;const t=(B=D.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,n)=>t+n),0)])).sort(((t,n)=>t[1]-n[1]))[0])==null?void 0:B[0];if(t){e=t}break}case"initialPlacement":e=i;break}}if(s!==e){return{reset:{placement:e}}}}return{}}}};function P(e){const o=t(...e.map((t=>t.left)));const s=t(...e.map((t=>t.top)));const c=n(...e.map((t=>t.right)));const r=n(...e.map((t=>t.bottom)));return{x:o,y:s,width:c-o,height:r-s}}function C(t){const n=t.slice().sort(((t,n)=>t.y-n.y));const e=[];let o=null;for(let t=0;t<n.length;t++){const s=n[t];if(!o||s.y-o.y>o.height/2){e.push([s])}else{e[e.length-1].push(s)}o=s}return e.map((t=>R(P(t))))}const D=function(e){if(e===void 0){e={}}return{name:"inline",options:e,async fn(o){const{placement:s,elements:c,rects:r,platform:i,strategy:a}=o;const{padding:u=2,x:d,y}=l(e,o);const p=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(c.reference))||[]);const h=C(p);const g=R(P(p));const x=A(u);function w(){if(h.length===2&&h[0].left>h[1].right&&d!=null&&y!=null){return h.find((t=>d>t.left-x.left&&d<t.right+x.right&&y>t.top-x.top&&y<t.bottom+x.bottom))||g}if(h.length>=2){if(m(s)==="y"){const t=h[0];const n=h[h.length-1];const e=f(s)==="top";const o=t.top;const c=n.bottom;const r=e?t.left:n.left;const i=e?t.right:n.right;const l=i-r;const a=c-o;return{top:o,bottom:c,left:r,right:i,width:l,height:a,x:r,y:o}}const e=f(s)==="left";const o=n(...h.map((t=>t.right)));const c=t(...h.map((t=>t.left)));const r=h.filter((t=>e?t.left===c:t.right===o));const i=r[0].top;const l=r[r.length-1].bottom;const a=c;const u=o;const d=u-a;const y=l-i;return{top:i,bottom:l,left:a,right:u,width:d,height:y,x:a,y:i}}return g}const v=await i.getElementRects({reference:{getBoundingClientRect:w},floating:c.floating,strategy:a});if(r.reference.x!==v.reference.x||r.reference.y!==v.reference.y||r.reference.width!==v.reference.width||r.reference.height!==v.reference.height){return{reset:{rects:v}}}return{}}}};async function M(t,n){const{placement:e,platform:o,elements:s}=t;const c=await(o.isRTL==null?void 0:o.isRTL(s.floating));const r=f(e);const i=a(e);const u=m(e)==="y";const d=["left","top"].includes(r)?-1:1;const y=c&&u?-1:1;const p=l(n,t);let{mainAxis:h,crossAxis:g,alignmentAxis:x}=typeof p==="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};if(i&&typeof x==="number"){g=i==="end"?x*-1:x}return u?{x:g*y,y:h*d}:{x:h*d,y:g*y}}const z=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(n){const{x:e,y:o}=n;const s=await M(n,t);return{x:e+s.x,y:o+s.y,data:s}}}};const B=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(n){const{x:e,y:o,placement:s}=n;const{mainAxis:c=true,crossAxis:r=false,limiter:a={fn:t=>{let{x:n,y:e}=t;return{x:n,y:e}}},...d}=l(t,n);const y={x:e,y:o};const p=await F(n,d);const h=m(f(s));const g=u(h);let x=y[g];let w=y[h];if(c){const t=g==="y"?"top":"left";const n=g==="y"?"bottom":"right";const e=x+p[t];const o=x-p[n];x=i(e,x,o)}if(r){const t=h==="y"?"top":"left";const n=h==="y"?"bottom":"right";const e=w+p[t];const o=w-p[n];w=i(e,w,o)}const v=a.fn({...n,[g]:x,[h]:w});return{...v,data:{x:v.x-e,y:v.y-o}}}}};function L(t){if(N(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function E(t){var n;return(t==null?void 0:(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function I(t){var n;return(n=(N(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function N(t){return t instanceof Node||t instanceof E(t).Node}function q(t){return t instanceof Element||t instanceof E(t).Element}function H(t){return t instanceof HTMLElement||t instanceof E(t).HTMLElement}function $(t){if(typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof E(t).ShadowRoot}function j(t){const{overflow:n,overflowX:e,overflowY:o,display:s}=G(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+e)&&!["inline","contents"].includes(s)}function V(t){return["table","td","th"].includes(L(t))}function W(t){const n=Y();const e=G(t);return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":false)||!n&&(e.backdropFilter?e.backdropFilter!=="none":false)||!n&&(e.filter?e.filter!=="none":false)||["transform","perspective","filter"].some((t=>(e.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(e.contain||"").includes(t)))}function X(t){let n=K(t);while(H(n)&&!_(n)){if(W(n)){return n}else{n=K(n)}}return null}function Y(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function _(t){return["html","body","#document"].includes(L(t))}function G(t){return E(t).getComputedStyle(t)}function J(t){if(q(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function K(t){if(L(t)==="html"){return t}const n=t.assignedSlot||t.parentNode||$(t)&&t.host||I(t);return $(n)?n.host:n}function Q(t){const n=K(t);if(_(n)){return t.ownerDocument?t.ownerDocument.body:t.body}if(H(n)&&j(n)){return n}return Q(n)}function U(t,n,e){var o;if(n===void 0){n=[]}if(e===void 0){e=true}const s=Q(t);const c=s===((o=t.ownerDocument)==null?void 0:o.body);const r=E(s);if(c){return n.concat(r,r.visualViewport||[],j(s)?s:[],r.frameElement&&e?U(r.frameElement):[])}return n.concat(s,U(s,[],e))}function Z(t){const n=G(t);let o=parseFloat(n.width)||0;let s=parseFloat(n.height)||0;const c=H(t);const r=c?t.offsetWidth:o;const i=c?t.offsetHeight:s;const l=e(o)!==r||e(s)!==i;if(l){o=r;s=i}return{width:o,height:s,$:l}}function tt(t){return!q(t)?t.contextElement:t}function nt(t){const n=tt(t);if(!H(n)){return s(1)}const o=n.getBoundingClientRect();const{width:c,height:r,$:i}=Z(n);let l=(i?e(o.width):o.width)/c;let f=(i?e(o.height):o.height)/r;if(!l||!Number.isFinite(l)){l=1}if(!f||!Number.isFinite(f)){f=1}return{x:l,y:f}}const et=s(0);function ot(t){const n=E(t);if(!Y()||!n.visualViewport){return et}return{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function st(t,n,e){if(n===void 0){n=false}if(!e||n&&e!==E(t)){return false}return n}function ct(t,n,e,o){if(n===void 0){n=false}if(e===void 0){e=false}const c=t.getBoundingClientRect();const r=tt(t);let i=s(1);if(n){if(o){if(q(o)){i=nt(o)}}else{i=nt(t)}}const l=st(r,e,o)?ot(r):s(0);let f=(c.left+l.x)/i.x;let a=(c.top+l.y)/i.y;let u=c.width/i.x;let d=c.height/i.y;if(r){const t=E(r);const n=o&&q(o)?E(o):o;let e=t.frameElement;while(e&&o&&n!==t){const t=nt(e);const n=e.getBoundingClientRect();const o=G(e);const s=n.left+(e.clientLeft+parseFloat(o.paddingLeft))*t.x;const c=n.top+(e.clientTop+parseFloat(o.paddingTop))*t.y;f*=t.x;a*=t.y;u*=t.x;d*=t.y;f+=s;a+=c;e=E(e).frameElement}}return R({width:u,height:d,x:f,y:a})}function rt(t){let{rect:n,offsetParent:e,strategy:o}=t;const c=H(e);const r=I(e);if(e===r){return n}let i={scrollLeft:0,scrollTop:0};let l=s(1);const f=s(0);if(c||!c&&o!=="fixed"){if(L(e)!=="body"||j(r)){i=J(e)}if(H(e)){const t=ct(e);l=nt(e);f.x=t.x+e.clientLeft;f.y=t.y+e.clientTop}}return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-i.scrollLeft*l.x+f.x,y:n.y*l.y-i.scrollTop*l.y+f.y}}function it(t){return Array.from(t.getClientRects())}function lt(t){return ct(I(t)).left+J(t).scrollLeft}function ft(t){const e=I(t);const o=J(t);const s=t.ownerDocument.body;const c=n(e.scrollWidth,e.clientWidth,s.scrollWidth,s.clientWidth);const r=n(e.scrollHeight,e.clientHeight,s.scrollHeight,s.clientHeight);let i=-o.scrollLeft+lt(t);const l=-o.scrollTop;if(G(s).direction==="rtl"){i+=n(e.clientWidth,s.clientWidth)-c}return{width:c,height:r,x:i,y:l}}function at(t,n){const e=E(t);const o=I(t);const s=e.visualViewport;let c=o.clientWidth;let r=o.clientHeight;let i=0;let l=0;if(s){c=s.width;r=s.height;const t=Y();if(!t||t&&n==="fixed"){i=s.offsetLeft;l=s.offsetTop}}return{width:c,height:r,x:i,y:l}}function ut(t,n){const e=ct(t,true,n==="fixed");const o=e.top+t.clientTop;const c=e.left+t.clientLeft;const r=H(t)?nt(t):s(1);const i=t.clientWidth*r.x;const l=t.clientHeight*r.y;const f=c*r.x;const a=o*r.y;return{width:i,height:l,x:f,y:a}}function dt(t,n,e){let o;if(n==="viewport"){o=at(t,e)}else if(n==="document"){o=ft(I(t))}else if(q(n)){o=ut(n,e)}else{const e=ot(t);o={...n,x:n.x-e.x,y:n.y-e.y}}return R(o)}function mt(t,n){const e=K(t);if(e===n||!q(e)||_(e)){return false}return G(e).position==="fixed"||mt(e,n)}function yt(t,n){const e=n.get(t);if(e){return e}let o=U(t,[],false).filter((t=>q(t)&&L(t)!=="body"));let s=null;const c=G(t).position==="fixed";let r=c?K(t):t;while(q(r)&&!_(r)){const n=G(r);const e=W(r);if(!e&&n.position==="fixed"){s=null}const i=c?!e&&!s:!e&&n.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||j(r)&&!e&&mt(t,r);if(i){o=o.filter((t=>t!==r))}else{s=n}r=K(r)}n.set(t,o);return o}function pt(e){let{element:o,boundary:s,rootBoundary:c,strategy:r}=e;const i=s==="clippingAncestors"?yt(o,this._c):[].concat(s);const l=[...i,c];const f=l[0];const a=l.reduce(((e,s)=>{const c=dt(o,s,r);e.top=n(c.top,e.top);e.right=t(c.right,e.right);e.bottom=t(c.bottom,e.bottom);e.left=n(c.left,e.left);return e}),dt(o,f,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function ht(t){return Z(t)}function gt(t,n,e){const o=H(n);const c=I(n);const r=e==="fixed";const i=ct(t,true,r,n);let l={scrollLeft:0,scrollTop:0};const f=s(0);if(o||!o&&!r){if(L(n)!=="body"||j(c)){l=J(n)}if(o){const t=ct(n,true,r,n);f.x=t.x+n.clientLeft;f.y=t.y+n.clientTop}else if(c){f.x=lt(c)}}return{x:i.left+l.scrollLeft-f.x,y:i.top+l.scrollTop-f.y,width:i.width,height:i.height}}function xt(t,n){if(!H(t)||G(t).position==="fixed"){return null}if(n){return n(t)}return t.offsetParent}function wt(t,n){const e=E(t);if(!H(t)){return e}let o=xt(t,n);while(o&&V(o)&&G(o).position==="static"){o=xt(o,n)}if(o&&(L(o)==="html"||L(o)==="body"&&G(o).position==="static"&&!W(o))){return e}return o||X(t)||e}const vt=async function(t){let{reference:n,floating:e,strategy:o}=t;const s=this.getOffsetParent||wt;const c=this.getDimensions;return{reference:gt(n,await s(e),o),floating:{x:0,y:0,...await c(e)}}};function bt(t){return G(t).direction==="rtl"}const At={convertOffsetParentRelativeRectToViewportRelativeRect:rt,getDocumentElement:I,getClippingRect:pt,getOffsetParent:wt,getElementRects:vt,getClientRects:it,getDimensions:ht,getScale:nt,isElement:q,isRTL:bt};function Rt(e,s){let c=null;let r;const i=I(e);function l(){clearTimeout(r);c&&c.disconnect();c=null}function f(a,u){if(a===void 0){a=false}if(u===void 0){u=1}l();const{left:d,top:m,width:y,height:p}=e.getBoundingClientRect();if(!a){s()}if(!y||!p){return}const h=o(m);const g=o(i.clientWidth-(d+y));const x=o(i.clientHeight-(m+p));const w=o(d);const v=-h+"px "+-g+"px "+-x+"px "+-w+"px";const b={rootMargin:v,threshold:n(0,t(1,u))||1};let A=true;function R(t){const n=t[0].intersectionRatio;if(n!==u){if(!A){return f()}if(!n){r=setTimeout((()=>{f(false,1e-7)}),100)}else{f(false,n)}}A=false}try{c=new IntersectionObserver(R,{...b,root:i.ownerDocument})}catch(t){c=new IntersectionObserver(R,b)}c.observe(e)}f(true);return l}function kt(t,n,e,o){if(o===void 0){o={}}const{ancestorScroll:s=true,ancestorResize:c=true,elementResize:r=typeof ResizeObserver==="function",layoutShift:i=typeof IntersectionObserver==="function",animationFrame:l=false}=o;const f=tt(t);const a=s||c?[...f?U(f):[],...U(n)]:[];a.forEach((t=>{s&&t.addEventListener("scroll",e,{passive:true});c&&t.addEventListener("resize",e)}));const u=f&&i?Rt(f,e):null;let d=-1;let m=null;if(r){m=new ResizeObserver((t=>{let[o]=t;if(o&&o.target===f&&m){m.unobserve(n);cancelAnimationFrame(d);d=requestAnimationFrame((()=>{m&&m.observe(n)}))}e()}));if(f&&!l){m.observe(f)}m.observe(n)}let y;let p=l?ct(t):null;if(l){h()}function h(){const n=ct(t);if(p&&(n.x!==p.x||n.y!==p.y||n.width!==p.width||n.height!==p.height)){e()}p=n;y=requestAnimationFrame(h)}e();return()=>{a.forEach((t=>{s&&t.removeEventListener("scroll",e);c&&t.removeEventListener("resize",e)}));u&&u();m&&m.disconnect();m=null;if(l){cancelAnimationFrame(y)}}}const St=(t,n,e)=>{const o=new Map;const s={platform:At,...e};const c={...s.platform,_c:o};return S(t,n,{...s,platform:c})};export{kt as a,O as b,St as c,T as f,D as i,z as o,B as s};
|
|
2
|
-
//# sourceMappingURL=p-b3f35666.js.map
|