@siemens/ix 2.4.0 → 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 +51 -15
- package/components/application-header.js.map +1 -1
- package/components/avatar.js +1 -1
- package/components/avatar.js.map +1 -1
- package/components/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 +13 -145
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/floating-ui.dom.esm.js +533 -60
- package/components/floating-ui.dom.esm.js.map +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-context-menu.js.map +1 -1
- package/components/group-item.js +4 -8
- package/components/group-item.js.map +1 -1
- package/components/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 +18 -12
- 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 +69 -44
- 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 +21 -15
- package/components/ix-map-navigation.js.map +1 -1
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-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 +3 -3
- package/components/ix-pagination.js.map +1 -1
- 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-slider.js +20 -13
- package/components/ix-slider.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/service.js +2 -2
- package/components/service.js.map +1 -1
- package/components/shadow-dom.js +1 -1
- package/components/shadow-dom.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tab-item.js +3 -3
- package/components/tab-item.js.map +1 -1
- package/components/tabs.js +77 -43
- package/components/tabs.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/toast.js.map +1 -1
- package/components/tooltip.js +24 -22
- 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 +35 -9
- 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 +5 -5
- package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
- 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 +26 -158
- 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 +6 -10
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-group.cjs.entry.js +68 -44
- package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +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 +14 -14
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +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 +4 -4
- package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
- package/dist/cjs/ix-pane.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 +22 -15
- package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +74 -44
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +4 -4
- package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-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 +25 -23
- 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/{service-a42add5f.js → service-39a8e5fe.js} +3 -3
- package/dist/cjs/service-39a8e5fe.js.map +1 -0
- package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
- package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/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 +78 -6
- package/dist/collection/components/application-header/application-header.js.map +1 -1
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/avatar/avatar.css +42 -0
- package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
- package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
- package/dist/collection/components/blind/blind.css +1 -1
- package/dist/collection/components/blind/blind.js +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 +10 -6
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- 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 +84 -48
- package/dist/collection/components/group/group.js.map +1 -1
- package/dist/collection/components/group/test/group.ct.js +70 -2
- package/dist/collection/components/group/test/group.ct.js.map +1 -1
- package/dist/collection/components/group-item/group-item.css +0 -4
- package/dist/collection/components/group-item/group-item.js +9 -12
- package/dist/collection/components/group-item/group-item.js.map +1 -1
- package/dist/collection/components/icon-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 +5 -4
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/pane/pane.css +1 -1
- package/dist/collection/components/pane/pane.js +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 +45 -1
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +1 -1
- package/dist/collection/components/slider/slider.css +1 -1
- package/dist/collection/components/slider/slider.js +23 -15
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/slider/test/slider.ct.js +15 -6
- package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button-item/split-button-item.js +1 -1
- package/dist/collection/components/tab-item/tab-item.js +4 -4
- package/dist/collection/components/tab-item/tab-item.js.map +1 -1
- package/dist/collection/components/tabs/tabs.css +1 -1
- package/dist/collection/components/tabs/tabs.js +78 -43
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/tabs/test/tabs.ct.js +35 -9
- package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
- package/dist/collection/components/tile/tile.css +1 -1
- package/dist/collection/components/tile/tile.js +5 -5
- package/dist/collection/components/tile/tile.js.map +1 -1
- package/dist/collection/components/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 +33 -26
- 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/application-layout/service.js +2 -2
- package/dist/collection/components/utils/application-layout/service.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/avatar/avatar.e2e.js +6 -0
- package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
- package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
- package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
- package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
- package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
- package/dist/collection/tests/group/group.e2e.js +12 -3
- package/dist/collection/tests/group/group.e2e.js.map +1 -1
- package/dist/collection/tests/slider/slider.e2e.js +14 -0
- package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
- package/dist/collection/tests/tabs/tabs.e2e.js +1 -1
- package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
- package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
- package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
- package/dist/collection/tests/tree/tree.e2e.js +12 -0
- package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
- package/dist/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 +36 -10
- 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 +5 -5
- package/dist/esm/ix-application.entry.js.map +1 -1
- package/dist/esm/ix-avatar_2.entry.js +3 -3
- package/dist/esm/ix-avatar_2.entry.js.map +1 -1
- package/dist/esm/ix-basic-navigation.entry.js +4 -4
- 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 +12 -144
- 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 +6 -10
- package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
- package/dist/esm/ix-group.entry.js +68 -44
- package/dist/esm/ix-group.entry.js.map +1 -1
- package/dist/esm/ix-icon-button_2.entry.js +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 +14 -14
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +1 -1
- package/dist/esm/ix-modal-content_2.entry.js +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 +4 -4
- package/dist/esm/ix-pagination.entry.js.map +1 -1
- package/dist/esm/ix-pane-layout.entry.js +2 -2
- package/dist/esm/ix-pane.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 +22 -15
- package/dist/esm/ix-slider.entry.js.map +1 -1
- package/dist/esm/ix-split-button-item.entry.js +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +74 -44
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +4 -4
- package/dist/esm/ix-tile.entry.js.map +1 -1
- package/dist/esm/ix-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 +25 -23
- 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/{service-02cc9011.js → service-c7fc628b.js} +3 -3
- package/dist/esm/service-c7fc628b.js.map +1 -0
- package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
- package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/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-04ec538b.entry.js +2 -0
- package/dist/siemens-ix/p-04ec538b.entry.js.map +1 -0
- 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-ae7a7af4.entry.js → p-33a7a26d.entry.js} +2 -2
- package/dist/siemens-ix/{p-ae7a7af4.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-112069ca.entry.js → p-4e547dd3.entry.js} +2 -2
- package/dist/siemens-ix/p-4e547dd3.entry.js.map +1 -0
- 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-6b928634.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-29df2e29.entry.js → p-c072ddb5.entry.js} +2 -2
- package/dist/siemens-ix/p-c072ddb5.entry.js.map +1 -0
- 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-c389de85.entry.js → p-c33cee36.entry.js} +2 -2
- package/dist/siemens-ix/{p-c389de85.entry.js.map → 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-cc65617d.entry.js +2 -0
- package/dist/siemens-ix/p-cc65617d.entry.js.map +1 -0
- 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-96a3a750.entry.js → p-e95a5a97.entry.js} +2 -2
- package/dist/siemens-ix/p-e95a5a97.entry.js.map +1 -0
- 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-702f9349.js → p-fbe017b7.js} +2 -2
- package/dist/siemens-ix/p-fbe017b7.js.map +1 -0
- package/dist/siemens-ix/{p-7750e187.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 +19 -1
- 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/dropdown.d.ts +1 -0
- package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +7 -6
- package/dist/types/components/group-item/group-item.d.ts +4 -4
- package/dist/types/components/menu-item/menu-item.d.ts +6 -5
- package/dist/types/components/push-card/push-card.d.ts +4 -3
- package/dist/types/components/slider/slider.d.ts +3 -3
- package/dist/types/components/tab-item/tab-item.d.ts +1 -1
- package/dist/types/components/tabs/tabs.d.ts +7 -4
- package/dist/types/components/tooltip/tooltip.d.ts +9 -10
- package/dist/types/components/tree/tree.d.ts +1 -1
- package/dist/types/components/tree-item/tree-item.d.ts +3 -3
- package/dist/types/components.d.ts +83 -43
- package/dist/types/index.d.ts +1 -0
- package/hydrate/index.js +994 -416
- 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/cjs/service-a42add5f.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
- package/dist/esm/service-02cc9011.js.map +0 -1
- package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
- package/dist/siemens-ix/p-112069ca.entry.js.map +0 -1
- package/dist/siemens-ix/p-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-29df2e29.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-315f070d.entry.js +0 -2
- package/dist/siemens-ix/p-315f070d.entry.js.map +0 -1
- package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js +0 -2
- package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
- package/dist/siemens-ix/p-4344ba99.entry.js +0 -2
- package/dist/siemens-ix/p-4344ba99.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-60c16878.entry.js +0 -2
- package/dist/siemens-ix/p-60c16878.entry.js.map +0 -1
- package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
- package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
- package/dist/siemens-ix/p-6b928634.entry.js.map +0 -1
- package/dist/siemens-ix/p-702f9349.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-96a3a750.entry.js.map +0 -1
- package/dist/siemens-ix/p-a536adcb.entry.js +0 -2
- package/dist/siemens-ix/p-a536adcb.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-c55db6c7.entry.js +0 -2
- package/dist/siemens-ix/p-c55db6c7.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-f07110c6.entry.js +0 -2
- package/dist/siemens-ix/p-f07110c6.entry.js.map +0 -1
- package/dist/siemens-ix/p-fa53933d.entry.js +0 -2
- package/dist/siemens-ix/p-fa53933d.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-fb4c79c6.entry.js.map → p-04af3853.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-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-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-7750e187.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":["ApplicationSidebarToggleEvent","Event","constructor","force","super","bubbles","composed","this","menuCss","IxMenuStyle0","Menu","isTransitionDisabled","isVisible","elm","style","display","_b","_a","parentElement","pinnedChange","newPinned","applicationLayoutContext","host","console","warn","setPinned","pinned","applicationLayoutService","disableBreakpointDetection","setBreakpoint","enableBreakpointDetection","popoverArea","hostElement","shadowRoot","querySelector","menu","menuItemsContainer","overlayContainer","menuItems","Array","from","querySelectorAll","filter","menuBottomItems","homeTab","moreItemsDropdown","isMoreItemsDropdownEmpty","length","moreItemsDropdownItems","activeMoreTabContainer","activeMoreTab","aboutPopoverContainer","aboutNewsPopover","document","aboutTab","about","settings","isSettingsEmpty","tabsContainer","componentDidLoad","requestAnimationFrame","handleOverflowIndicator","componentWillLoad","useContextConsumer","ApplicationLayoutContext","ctx","hideHeader","onBreakpointChange","breakpoint","menuController","register","onChange","on","componentWillRender","appendTabs","componentDidRender","appendFragments","showPinned","setIsPinned","mode","initial","toggleMenu","startExpanded","appendAboutNewsPopover","resetActiveTab","activeTab","getAboutPopoverVerticalPosition","heightArrow","offsetArrow","rectAbout","getBoundingClientRect","offset","window","innerHeight","bottom","height","convertToRemString","contains","showMore","aboutItemLabel","activeTabLabel","toggleAbout","addEventListener","bind","body","appendChild","toggleMapExpand","show","undefined","mapExpand","expand","expanded","expandChange","emit","checkTransition","setTimeout","container","transitionProperty","isOverlayVisible","showAbout","showSettings","toggleSettings","animateOverlayFadeIn","resetOverlay","onOverlayClose","getCollapseText","i18nCollapse","i18nExpand","getCollapseIcon","isMenuItemClicked","event","target","HTMLElement","tagName","clientHeight","scrollTop","scrollHeight","itemsScrollShadowTop","itemsScrollShadowBottom","Math","round","animateOverlayFadeOut","anime","targets","duration","backdropFilter","translateX","opacity","easing","begin","onComplete","complete","onMenuItemsClick","isHiddenFromViewport","sidebarToggle","mapExpandChange","dispatchEvent","render","h","Host","key","class","slot","onClick","ixAriaLabel","i18nExpandSidebar","async","appSwitchConfig","showAppSwitch","icon","ghost","id","e","tabs","onScroll","name","disabled","active","label","i18nSettings","i18nLegal","enableToggleTheme","themeSwitcher","toggleMode","i18nToggleTheme","enableMapExpand","sidebar","visible","onTransitionEnd"],"sources":["src/components/application-sidebar/events.ts","src/components/menu/menu.scss?tag=ix-menu&encapsulation=shadow","src/components/menu/menu.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\nexport class ApplicationSidebarToggleEvent extends Event {\n public constructor(public readonly force?: boolean) {\n super('application-sidebar-toggle', { bubbles: true, composed: true });\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\n@import 'common-variables';\n@import 'mixins/hover';\n@import 'mixins/shadow-dom/component';\n@import '~animate.css/animate.min';\n\n$menu-expanded-width: 16rem;\n\n:host {\n @include ix-component;\n\n display: flex;\n flex-direction: row;\n position: absolute;\n height: 100%;\n min-height: min-content;\n z-index: var(--theme-z-index-sticky);\n width: auto;\n\n bottom: 0;\n\n .tabs {\n height: 100%;\n position: relative;\n overflow-y: auto;\n pointer-events: all;\n\n -ms-overflow-style: none;\n\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n }\n\n .show-scrollbar {\n scrollbar-width: inherit;\n\n &::-webkit-scrollbar {\n display: inherit;\n }\n }\n\n .tabs-shadow-container {\n overflow: hidden;\n display: block;\n position: relative;\n margin-bottom: 0.75rem;\n }\n\n .tabs--shadow {\n opacity: 0;\n position: absolute;\n width: 100%;\n height: 0.625rem;\n\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n pointer-events: none;\n z-index: var(--theme-z-index-sticky);\n\n transition: opacity var(--theme-default-time);\n }\n .tabs--shadow-top {\n top: 0;\n background: linear-gradient(var(--theme-color-shadow-1), transparent);\n }\n\n .tabs--shadow-bottom {\n bottom: 0;\n background: linear-gradient(transparent, var(--theme-color-shadow-1));\n }\n\n .tabs--shadow--show {\n opacity: 1;\n }\n\n .menu {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 3.25rem;\n height: 100%;\n padding-block-end: 1rem;\n overflow: hidden;\n\n &.expanded {\n box-shadow: var(--theme-navigation--box-shadow);\n }\n\n background-color: var(--theme-nav--background);\n transition: width var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay {\n display: none;\n position: absolute;\n width: calc(100vw - 3.25rem);\n height: 100%;\n left: 3.25rem;\n z-index: -1;\n backdrop-filter: blur(1rem);\n background-color: var(--theme-sidebar-overlay-blur);\n transition: left var(--theme-default-time) ease-in-out;\n }\n\n .menu-overlay.visible {\n display: block;\n }\n\n .menu.expanded {\n width: $menu-expanded-width;\n }\n\n .menu-overlay.expanded {\n width: calc(100vw - $menu-expanded-width);\n left: $menu-expanded-width;\n }\n\n .menu-overlay-container {\n display: contents;\n }\n\n .menu-avatar {\n max-height: 3rem;\n }\n\n .avatar {\n margin-bottom: 2rem;\n }\n\n #cui-imprint {\n .cui-imprint-product-name {\n margin-bottom: $default-space;\n }\n\n .cui-imprint-product-description {\n margin-bottom: $x-large-space;\n }\n\n .cui-imprint-link-container {\n display: flex;\n align-items: center;\n }\n }\n\n .bottom-tab-divider {\n margin-top: auto;\n }\n\n .menu-buttons {\n margin: 0.5rem 0 0 0.625rem;\n }\n\n .menu-buttons > :last-child {\n margin-bottom: 1rem;\n }\n}\n\n:host(.breakpoint-sm) {\n .menu:not(.expanded) {\n width: 0;\n }\n\n .menu-overlay {\n left: 0;\n width: 100vw;\n }\n}\n\n:host(.breakpoint-lg) {\n position: relative;\n\n .menu.expanded {\n box-shadow: none;\n }\n}\n\n:host {\n ::slotted(a[href]) {\n all: unset;\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 Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { ApplicationSidebarToggleEvent } from '../application-sidebar/events';\nimport { showAppSwitch } from '../utils/app-switch';\nimport { ApplicationLayoutContext } from '../utils/application-layout/context';\nimport { applicationLayoutService } from '../utils/application-layout/service';\nimport { Breakpoint } from '../utils/breakpoints';\nimport { ContextType, useContextConsumer } from '../utils/context';\nimport { menuController } from '../utils/menu-service/menu-service';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { themeSwitcher } from '../utils/theme-switcher';\n\n@Component({\n tag: 'ix-menu',\n styleUrl: 'menu.scss',\n shadow: true,\n})\nexport class Menu {\n @Element() hostElement!: HTMLIxMenuElement;\n\n /**\n * Is settings tab visible\n */\n @Prop({ mutable: true }) showSettings = false;\n\n /**\n * Is about tab visible\n */\n @Prop({ mutable: true }) showAbout = false;\n\n /**\n * Show toggle between light and dark variant. Only if the provided theme have implemented both!\n */\n @Prop() enableToggleTheme = false;\n\n /**\n * Is settings tab is visible\n */\n @Prop() enableSettings = true;\n\n /**\n * Internal\n */\n @Prop() enableMapExpand = false;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationName: string;\n\n /**\n * Should only be set if you use ix-menu standalone\n */\n @Prop() applicationDescription = '';\n\n /**\n * Maximum number of menu items to show in case enough vertical space is available.\n * Extra menu items will be collapsed to 'show more' menu item.\n *\n * @deprecated - Has no effect on component. Will get removed with next major release (v3)\n */\n @Prop() maxVisibleMenuItems = 9;\n\n /**\n * Accessibility i18n label for the burger menu of the sidebar\n */\n @Prop() i18nExpandSidebar = 'Expand sidebar';\n\n /**\n * Toggle the expand state of the menu\n */\n @Prop({ mutable: true, reflect: true }) expand = false;\n\n /**\n * If set the menu will be expanded initially. This will only take effect at the breakpoint 'lg'.\n *\n * @since 2.2.0\n */\n @Prop() startExpanded = false;\n\n /**\n * Menu stays pinned to the left\n */\n @Prop() pinned = false;\n\n @Watch('pinned')\n pinnedChange(newPinned: boolean) {\n if (this.applicationLayoutContext?.host === 'map-navigation') {\n console.warn('ix-map-navigation does not support pinning of the menu');\n return;\n }\n this.setPinned(this.pinned);\n if (newPinned) {\n applicationLayoutService.disableBreakpointDetection();\n applicationLayoutService.setBreakpoint('lg');\n return;\n }\n\n applicationLayoutService.enableBreakpointDetection();\n }\n\n /**\n */\n @Prop() i18nLegal = 'About & legal information';\n\n /**\n */\n @Prop() i18nSettings = 'Settings';\n\n /**\n */\n @Prop() i18nToggleTheme = 'Toggle theme';\n\n /**\n */\n @Prop() i18nExpand = ' Expand';\n\n /**\n */\n @Prop() i18nCollapse = 'Collapse';\n\n /**\n * Menu expanded\n */\n @Event() expandChange: EventEmitter<boolean>;\n\n /**\n * Map Sidebar expanded\n */\n @Event() mapExpandChange: EventEmitter<boolean>;\n\n @State() showPinned = false;\n @State() mapExpand = true;\n @State() activeTab: HTMLIxMenuItemElement | null;\n @State() breakpoint: Breakpoint = 'lg';\n @State() itemsScrollShadowTop = false;\n @State() itemsScrollShadowBottom = false;\n @State() applicationLayoutContext: ContextType<\n typeof ApplicationLayoutContext\n >;\n private isTransitionDisabled = false;\n\n // FBC IAM workaround #488\n private readonly isVisible = (elm: HTMLElement) => {\n return (\n elm.style.display !== 'none' &&\n elm.parentElement?.parentElement?.style.display !== 'none'\n );\n };\n\n get popoverArea() {\n return this.hostElement.shadowRoot!.querySelector('#popover-area');\n }\n\n get menu() {\n return this.hostElement.shadowRoot!.querySelector('.menu');\n }\n\n get menuItemsContainer(): HTMLDivElement {\n return this.menu!.querySelector('.tabs')!;\n }\n\n get overlayContainer() {\n return this.hostElement.shadowRoot.querySelector(\n '.menu-overlay'\n ) as HTMLDivElement;\n }\n\n get menuItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item:not(.internal-tab):not(.home-tab):not(.bottom-tab):not([slot=\"bottom\"])'\n )\n ).filter(this.isVisible);\n }\n\n get menuBottomItems() {\n return Array.from(\n this.hostElement.querySelectorAll(\n 'ix-menu-item.bottom-tab:not(.internal-tab):not(.home-tab)'\n )\n ).filter(this.isVisible);\n }\n\n get homeTab() {\n return this.hostElement.querySelector('ix-menu-item.home-tab');\n }\n\n get moreItemsDropdown(): HTMLElement {\n return this.hostElement.shadowRoot!.querySelector(\n '.internal-tab ix-dropdown'\n )!;\n }\n\n get isMoreItemsDropdownEmpty(): boolean {\n return (\n this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown .appended'\n ).length === 0\n );\n }\n\n get moreItemsDropdownItems() {\n return this.hostElement.shadowRoot!.querySelectorAll(\n '.internal-tab ix-dropdown ix-menu-item'\n );\n }\n\n get activeMoreTabContainer() {\n return this.hostElement.shadowRoot!.querySelector('.active-more-tab');\n }\n\n get activeMoreTab() {\n return this.hostElement.shadowRoot!.querySelector(\n '.active-more-tab ix-menu-item'\n );\n }\n\n get aboutPopoverContainer(): HTMLElement {\n return this.hostElement.querySelector('.about-news')!;\n }\n\n get aboutNewsPopover(): HTMLIxMenuAboutNewsElement {\n return (\n document.querySelector('ix-menu-about-news') ??\n this.hostElement.querySelector('ix-menu-about-news')!\n );\n }\n\n get aboutTab(): HTMLElement {\n return this.hostElement.shadowRoot!.querySelector('#aboutAndLegal');\n }\n\n get about(): HTMLIxMenuAboutElement | null {\n return this.hostElement.querySelector('ix-menu-about');\n }\n\n get settings(): HTMLIxMenuSettingsElement | null {\n return this.hostElement.querySelector('ix-menu-settings');\n }\n\n get isSettingsEmpty(): boolean {\n return (\n Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-menu-settings-item')\n ).length === 0\n );\n }\n\n get tabsContainer() {\n return this.hostElement;\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.handleOverflowIndicator();\n });\n\n if (this.pinned) {\n this.pinnedChange(this.pinned);\n }\n }\n\n componentWillLoad() {\n useContextConsumer(\n this.hostElement,\n ApplicationLayoutContext,\n (ctx) => {\n this.applicationLayoutContext = ctx;\n if (ctx.hideHeader === true) {\n this.onBreakpointChange('md');\n return;\n }\n\n this.onBreakpointChange(applicationLayoutService.breakpoint);\n },\n true\n );\n\n menuController.register(this.hostElement);\n applicationLayoutService.onChange.on((breakpoint) =>\n this.onBreakpointChange(breakpoint)\n );\n this.onBreakpointChange(applicationLayoutService.breakpoint, true);\n }\n\n componentWillRender() {\n this.appendTabs();\n }\n\n componentDidRender() {\n this.appendFragments();\n }\n\n private setPinned(pinned: boolean) {\n this.showPinned = pinned;\n menuController.setIsPinned(pinned);\n }\n\n private onBreakpointChange(mode: Breakpoint, initial = false) {\n if (!this.applicationLayoutContext && mode === 'sm') {\n return;\n }\n if (this.applicationLayoutContext?.host === 'map-navigation') {\n this.breakpoint = 'md';\n return;\n }\n if (!this.applicationLayoutContext) {\n return;\n }\n\n if (this.applicationLayoutContext.hideHeader && mode === 'sm') {\n return;\n }\n\n this.setPinned(mode === 'lg');\n if (initial || mode !== this.breakpoint)\n this.toggleMenu(mode === 'lg' && this.startExpanded);\n\n this.breakpoint = mode;\n }\n\n private appendFragments() {\n this.appendAboutNewsPopover();\n }\n\n private resetActiveTab() {\n this.activeTab = null;\n }\n\n private appendTabs() {\n this.activeTab = null;\n }\n\n private getAboutPopoverVerticalPosition() {\n const heightArrow = 12;\n const offsetArrow = 6;\n const rectAbout = this.aboutTab.getBoundingClientRect();\n const offset =\n window.innerHeight -\n (rectAbout.bottom - rectAbout.height / 2 + heightArrow / 2 + offsetArrow);\n return convertToRemString(offset);\n }\n\n private appendAboutNewsPopover() {\n if (!this.aboutNewsPopover) {\n return;\n }\n\n this.aboutNewsPopover.style.bottom = this.getAboutPopoverVerticalPosition();\n\n if (!this.popoverArea?.contains(this.aboutNewsPopover)) {\n const showMore = () => {\n if (this.aboutNewsPopover?.aboutItemLabel && this.about) {\n this.about.activeTabLabel = this.aboutNewsPopover.aboutItemLabel;\n this.toggleAbout(true);\n }\n };\n\n this.aboutNewsPopover.addEventListener('showMore', showMore.bind(this));\n document.body.appendChild(this.aboutNewsPopover);\n }\n }\n\n /**\n * Toggle map sidebar expand\n * @param show\n */\n @Method()\n async toggleMapExpand(show?: boolean) {\n if (show !== undefined) {\n this.mapExpand = show;\n } else {\n this.mapExpand = !this.mapExpand;\n }\n }\n\n /**\n * Toggle menu\n * @param show\n */\n @Method()\n async toggleMenu(show?: boolean) {\n if (show !== undefined) {\n this.expand = show;\n } else {\n this.expand = !this.expand;\n }\n\n if (this.aboutNewsPopover) {\n this.aboutNewsPopover.expanded = this.expand;\n }\n\n this.expandChange.emit(this.expand);\n\n this.isTransitionDisabled = false;\n this.checkTransition();\n\n if (this.breakpoint == 'sm' && this.expand) {\n setTimeout(() => {\n this.handleOverflowIndicator();\n }, 100);\n }\n }\n\n /**\n * Disable transition of overlay while menu animation is running.\n */\n private checkTransition() {\n const container = this.overlayContainer;\n\n if (!container) {\n return;\n }\n\n if (this.isTransitionDisabled) {\n container.style.transitionProperty = 'left';\n } else {\n container.style.transitionProperty = 'all';\n }\n }\n\n private isOverlayVisible() {\n return this.showAbout || this.showSettings;\n }\n\n /**\n * Toggle Settings tabs\n * @param show\n */\n @Method()\n async toggleSettings(show: boolean) {\n if (!this.settings) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showSettings = show;\n this.settings.show = this.showSettings;\n } else {\n this.onOverlayClose();\n }\n }\n\n /**\n * Toggle About tabs\n * @param show\n */\n @Method()\n async toggleAbout(show: boolean) {\n if (!this.about) {\n return;\n }\n\n if (!this.isOverlayVisible()) {\n this.animateOverlayFadeIn();\n }\n\n if (show) {\n this.resetOverlay();\n this.showAbout = show;\n this.about.show = this.showAbout;\n } else {\n this.onOverlayClose();\n }\n }\n\n private resetOverlay() {\n this.showSettings = false;\n this.showAbout = false;\n\n if (this.settings) {\n this.settings.show = false;\n }\n\n if (this.about) {\n this.about.show = false;\n }\n }\n\n private getCollapseText() {\n return this.mapExpand ? this.i18nCollapse : this.i18nExpand;\n }\n\n private getCollapseIcon() {\n return this.mapExpand ? 'navigation-left' : 'navigation-right';\n }\n\n private isMenuItemClicked(event: Event) {\n if (event.target instanceof HTMLElement) {\n return event.target.tagName === 'IX-MENU-ITEM';\n }\n\n return false;\n }\n\n @Listen('resize', { target: 'window' })\n private handleOverflowIndicator() {\n const { clientHeight, scrollTop, scrollHeight } = this.menuItemsContainer;\n this.itemsScrollShadowTop = scrollTop > 0;\n this.itemsScrollShadowBottom =\n Math.round(scrollTop + clientHeight) < scrollHeight;\n }\n\n @Listen('close')\n onOverlayClose() {\n this.animateOverlayFadeOut(() => {\n this.resetOverlay();\n });\n }\n\n private animateOverlayFadeIn() {\n requestAnimationFrame(() => {\n anime({\n targets: this.overlayContainer,\n duration: 300,\n backdropFilter: [0, 'blur(1rem)'],\n translateX: ['-4rem', 0],\n opacity: [0, 1],\n easing: 'easeInSine',\n begin: () => {\n if (this.showPinned) {\n return;\n }\n\n this.toggleMenu(false);\n },\n });\n });\n }\n\n private animateOverlayFadeOut(onComplete: Function) {\n requestAnimationFrame(() => {\n anime({\n targets: this.overlayContainer,\n duration: 300,\n backdropFilter: ['blur(1rem)', 0],\n translateX: [0, '-4rem'],\n opacity: [1, 0],\n easing: 'easeInSine',\n complete: () => onComplete(),\n });\n });\n }\n\n private onMenuItemsClick(event: Event) {\n if (this.isMenuItemClicked(event)) {\n if (!this.showPinned) {\n this.toggleMenu(false);\n }\n this.onOverlayClose();\n }\n }\n\n private isHiddenFromViewport() {\n return this.breakpoint === 'sm' && this.expand === false;\n }\n\n private sidebarToggle() {\n this.mapExpandChange.emit(this.mapExpand);\n\n this.hostElement.dispatchEvent(\n new ApplicationSidebarToggleEvent(this.mapExpand)\n );\n }\n\n render() {\n return (\n <Host\n class={{\n expanded: this.expand,\n [`breakpoint-${this.breakpoint}`]: true,\n }}\n slot=\"menu\"\n >\n <aside\n class={{\n menu: true,\n expanded: this.expand,\n }}\n onClick={() => {\n this.resetActiveTab();\n }}\n >\n <div class=\"menu-buttons\">\n {this.breakpoint !== 'sm' && (\n <ix-menu-expand-icon\n breakpoint={this.breakpoint}\n expanded={this.expand}\n pinned={this.pinned}\n class=\"menu-expand-icon\"\n ixAriaLabel={this.i18nExpandSidebar}\n onClick={async () => this.toggleMenu()}\n ></ix-menu-expand-icon>\n )}\n {this.breakpoint === 'sm' &&\n this.applicationLayoutContext.appSwitchConfig && (\n <ix-icon-button\n onClick={() =>\n showAppSwitch(this.applicationLayoutContext.appSwitchConfig)\n }\n icon=\"apps\"\n ghost\n ></ix-icon-button>\n )}\n </div>\n\n <div\n id=\"menu-tabs\"\n style={{\n display: 'contents',\n }}\n onClick={(e) => this.onMenuItemsClick(e)}\n >\n <div class=\"tabs-shadow-container\">\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-top': true,\n 'tabs--shadow--show': this.itemsScrollShadowTop,\n }}\n ></div>\n <div\n class={{\n tabs: true,\n 'show-scrollbar': this.expand,\n }}\n onScroll={() => this.handleOverflowIndicator()}\n >\n <div class=\"menu-avatar\">\n <slot name=\"ix-menu-avatar\"></slot>\n </div>\n <slot name=\"home\"></slot>\n {this.breakpoint !== 'sm' || !this.isHiddenFromViewport() ? (\n <slot></slot>\n ) : null}\n </div>\n <div\n class={{\n 'tabs--shadow': true,\n 'tabs--shadow-bottom': true,\n 'tabs--shadow--show': this.itemsScrollShadowBottom,\n }}\n ></div>\n </div>\n </div>\n <div class=\"bottom-tab-divider\"></div>\n {this.settings ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"settings\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showSettings,\n }}\n icon={'cogwheel'}\n onClick={async () => this.toggleSettings(!this.showSettings)}\n label={this.i18nSettings}\n ></ix-menu-item>\n ) : null}\n <div onClick={(e) => this.onMenuItemsClick(e)}>\n <slot name=\"bottom\"></slot>\n </div>\n\n <div id=\"popover-area\"></div>\n {this.about ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"aboutAndLegal\"\n class={{\n 'internal-tab': true,\n 'bottom-tab': true,\n active: this.showAbout,\n }}\n icon={'info'}\n onClick={async () => this.toggleAbout(!this.showAbout)}\n label={this.i18nLegal}\n ></ix-menu-item>\n ) : null}\n {this.enableToggleTheme ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"toggleTheme\"\n onClick={() => themeSwitcher.toggleMode()}\n class=\"internal-tab bottom-tab\"\n icon={'light-dark'}\n label={this.i18nToggleTheme}\n ></ix-menu-item>\n ) : null}\n {this.enableMapExpand || this.applicationLayoutContext?.sidebar ? (\n <ix-menu-item\n disabled={this.isHiddenFromViewport()}\n id=\"menu-collapse\"\n onClick={() => this.sidebarToggle()}\n class=\"internal-tab bottom-tab\"\n icon={`${this.getCollapseIcon()}`}\n label={this.getCollapseText()}\n ></ix-menu-item>\n ) : null}\n </aside>\n <div\n class={{\n 'menu-overlay': true,\n visible: this.isOverlayVisible(),\n expanded: this.expand,\n }}\n onTransitionEnd={() => {\n this.isTransitionDisabled = true;\n this.checkTransition();\n }}\n >\n <div class={'menu-overlay-container'}>\n {this.showSettings ? <slot name=\"ix-menu-settings\"></slot> : null}\n </div>\n <div class={'menu-overlay-container'}>\n {this.showAbout ? <slot name=\"ix-menu-about\"></slot> : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["debounce","func","delay","timeoutId","debounced","args","clearTimeout","setTimeout","ApplicationLayoutService","constructor","_ApplicationLayoutService_supportedBreakpoints","set","this","_ApplicationLayoutService_breakpointChangeListener","TypedEvent","_ApplicationLayoutService_breakpoint","_ApplicationLayoutService_isDetectionEnabled","debouncedOnResize","onResize","bind","window","addEventListener","breakpoint","__classPrivateFieldGet","onChange","isDetectionEnabled","matchBreakpoints","breakpoints","forEach","match","matchBreakpoint","push","every","_","breakPointIndex","includes","length","emit","__classPrivateFieldSet","reverse","disableBreakpointDetection","enableBreakpointDetection","setBreakpoint","setBreakpoints","applicationLayoutService"],"sources":["src/components/utils/debounce.ts","src/components/utils/application-layout/service.ts"],"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 */\ntype AnyFunction = (...args: any[]) => any;\n\nexport function debounce<T extends AnyFunction>(\n func: T,\n delay: number\n): (...args: Parameters<T>) => void {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function debounced(...args: Parameters<T>): void {\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func(...args);\n }, delay);\n };\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Breakpoint, matchBreakpoint } from '../breakpoints';\nimport { debounce } from '../debounce';\nimport { TypedEvent } from '../typed-event';\n\nclass ApplicationLayoutService {\n // Keep order of breakpoints\n #supportedBreakpoints: Breakpoint[] = ['sm', 'md', 'lg'];\n #breakpointChangeListener = new TypedEvent<Breakpoint>();\n #breakpoint: Breakpoint = 'lg';\n\n #isDetectionEnabled = true;\n debouncedOnResize = debounce(this.onResize.bind(this), 50);\n\n constructor() {\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', this.debouncedOnResize.bind(this));\n this.debouncedOnResize();\n }\n }\n\n get breakpoint() {\n return this.#breakpoint;\n }\n\n get onChange() {\n return this.#breakpointChangeListener;\n }\n\n get isDetectionEnabled() {\n return this.#isDetectionEnabled;\n }\n\n private onResize() {\n if (!this.#isDetectionEnabled) {\n return;\n }\n if (!this.#supportedBreakpoints) {\n return;\n }\n const matchBreakpoints: [Breakpoint, boolean][] = [];\n\n const breakpoints = this.#supportedBreakpoints;\n\n breakpoints.forEach((breakpoint) => {\n const match = matchBreakpoint(breakpoint);\n matchBreakpoints.push([breakpoint, match]);\n });\n\n if (matchBreakpoints.every(([_, match]) => match === false)) {\n let breakPointIndex = 0;\n if (!this.#supportedBreakpoints.includes('lg')) {\n breakPointIndex = matchBreakpoints.length - 1;\n }\n\n const [breakpoint, _] = matchBreakpoints[breakPointIndex];\n this.#breakpointChangeListener.emit(breakpoint);\n this.#breakpoint = breakpoint;\n return;\n }\n\n for (const [breakpoint, match] of matchBreakpoints.reverse()) {\n if (match) {\n this.#breakpointChangeListener.emit(breakpoint);\n this.#breakpoint = breakpoint;\n break;\n }\n }\n }\n\n public disableBreakpointDetection() {\n this.#isDetectionEnabled = false;\n }\n\n public enableBreakpointDetection() {\n this.#isDetectionEnabled = true;\n }\n\n public setBreakpoint(breakpoint: Breakpoint) {\n this.#breakpoint = breakpoint;\n this.#breakpointChangeListener.emit(breakpoint);\n }\n\n public setBreakpoints(breakpoints: Breakpoint[]) {\n this.#supportedBreakpoints = breakpoints;\n this.onResize();\n }\n}\n\nexport const applicationLayoutService = new ApplicationLayoutService();\n"],"mappings":"iFAUgBA,EACdC,EACAC,GAEA,IAAIC,EAEJ,OAAO,SAASC,KAAaC,GAC3BC,aAAaH,GAEbA,EAAYI,YAAW,KACrBN,KAAQI,EAAK,GACZH,E,CAEP,C,swBCXA,MAAMM,EASJ,WAAAC,GAPAC,EAAAC,IAAAC,KAAsC,CAAC,KAAM,KAAM,OACnDC,EAAAF,IAAAC,KAA4B,IAAIE,GAChCC,EAAAJ,IAAAC,KAA0B,MAE1BI,EAAAL,IAAAC,KAAsB,MACtBA,KAAAK,kBAAoBjB,EAASY,KAAKM,SAASC,KAAKP,MAAO,IAGrD,UAAWQ,SAAW,YAAa,CACjCA,OAAOC,iBAAiB,SAAUT,KAAKK,kBAAkBE,KAAKP,OAC9DA,KAAKK,mB,EAIT,cAAIK,GACF,OAAOC,EAAAX,KAAIG,EAAA,I,CAGb,YAAIS,GACF,OAAOD,EAAAX,KAAIC,EAAA,I,CAGb,sBAAIY,GACF,OAAOF,EAAAX,KAAII,EAAA,I,CAGL,QAAAE,GACN,IAAKK,EAAAX,KAAII,EAAA,KAAsB,CAC7B,M,CAEF,IAAKO,EAAAX,KAAIF,EAAA,KAAwB,CAC/B,M,CAEF,MAAMgB,EAA4C,GAElD,MAAMC,EAAcJ,EAAAX,KAAIF,EAAA,KAExBiB,EAAYC,SAASN,IACnB,MAAMO,EAAQC,EAAgBR,GAC9BI,EAAiBK,KAAK,CAACT,EAAYO,GAAO,IAG5C,GAAIH,EAAiBM,OAAM,EAAEC,EAAGJ,KAAWA,IAAU,QAAQ,CAC3D,IAAIK,EAAkB,EACtB,IAAKX,EAAAX,KAAIF,EAAA,KAAuByB,SAAS,MAAO,CAC9CD,EAAkBR,EAAiBU,OAAS,C,CAG9C,MAAOd,EAAYW,GAAKP,EAAiBQ,GACzCX,EAAAX,KAAIC,EAAA,KAA2BwB,KAAKf,GACpCgB,EAAA1B,KAAIG,EAAeO,EAAU,KAC7B,M,CAGF,IAAK,MAAOA,EAAYO,KAAUH,EAAiBa,UAAW,CAC5D,GAAIV,EAAO,CACTN,EAAAX,KAAIC,EAAA,KAA2BwB,KAAKf,GACpCgB,EAAA1B,KAAIG,EAAeO,EAAU,KAC7B,K,GAKC,0BAAAkB,GACLF,EAAA1B,KAAII,EAAuB,MAAK,I,CAG3B,yBAAAyB,GACLH,EAAA1B,KAAII,EAAuB,KAAI,I,CAG1B,aAAA0B,CAAcpB,GACnBgB,EAAA1B,KAAIG,EAAeO,EAAU,KAC7BC,EAAAX,KAAIC,EAAA,KAA2BwB,KAAKf,E,CAG/B,cAAAqB,CAAehB,GACpBW,EAAA1B,KAAIF,EAAyBiB,EAAW,KACxCf,KAAKM,U,gEAII0B,EAA2B,IAAIpC,S"}
|
|
@@ -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":"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"}
|
|
@@ -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 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["groupContextMenuCss","IxGroupContextMenuStyle0","GroupContextMenu","getTrigger","this","hostElement","configureDropdown","dropdownElement","triggerElement","positioningStrategy","trigger","onSlotChange","slot","shadowRoot","querySelector","elements","getSlottedElements","showContextMenu","length","find","elm","tagName","render","h","Host","key","class","hide","size","ghost","icon","onSlotchange","groupItemCss","IxGroupItemStyle0","GroupItem","clickListen","suppressSelection","selectedChanged","emit","selected","tabindex","focusable","name","text","title","secondaryText"],"sources":["src/components/group/group-context-menu.scss?tag=ix-group-context-menu&encapsulation=shadow","src/components/group/group-context-menu.tsx","src/components/group-item/group-item.scss?tag=ix-group-item&encapsulation=shadow","src/components/group-item/group-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:host {\n display: block;\n position: relative;\n\n height: 2rem;\n width: 2rem;\n\n margin-block-start: 0.3125rem;\n margin-inline-end: 0.3125rem;\n margin-inline-start: auto;\n\n .hide {\n visibility: collapse;\n }\n\n ::slotted(ix-dropdown) {\n cursor: default;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Component, Element, h, Host, State } from '@stencil/core';\nimport { getSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group-context-menu',\n styleUrl: './group-context-menu.scss',\n shadow: true,\n})\nexport class GroupContextMenu {\n @Element() hostElement!: HTMLIxGroupContextMenuElement;\n\n @State() showContextMenu = false;\n\n private getTrigger() {\n return this.hostElement;\n }\n\n private configureDropdown(\n dropdownElement: HTMLIxDropdownElement,\n triggerElement: HTMLElement\n ) {\n dropdownElement.positioningStrategy = 'fixed';\n dropdownElement.trigger = triggerElement;\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n if (!slot) {\n return;\n }\n const elements = getSlottedElements(slot);\n this.showContextMenu = elements.length !== 0;\n\n const dropdownElement = elements.find(\n (elm: Element) => elm.tagName === 'IX-DROPDOWN'\n );\n\n const triggerElement = this.getTrigger();\n\n if (!triggerElement) {\n return;\n }\n\n if (!dropdownElement) {\n return;\n }\n\n this.configureDropdown(dropdownElement, triggerElement);\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n class={{ hide: !this.showContextMenu }}\n size=\"24\"\n ghost={true}\n icon={'context-menu'}\n ></ix-icon-button>\n <slot onSlotchange={() => this.onSlotChange()}></slot>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/shadow-dom/hover';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n\n$focusBorderWidth: 1px;\n\n:host {\n @include ix-component;\n display: flex;\n min-height: 2.25rem;\n height: 2.25rem;\n\n > button {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n outline: none;\n background-color: var(--theme-group-item--background);\n border: 1px solid transparent;\n color: var(--theme-color-std-text);\n cursor: pointer;\n\n padding-left: 2.5rem;\n\n &:focus-visible {\n border: $focusBorderWidth solid var(--theme-color-focus-bdr);\n }\n }\n\n ix-icon {\n margin-right: $tiny-space;\n margin-top: -0.125rem;\n }\n\n .group-entry-selection-indicator {\n position: absolute;\n left: -#{$focusBorderWidth};\n height: calc(100% + #{$focusBorderWidth * 2});\n width: $tiny-space;\n }\n\n .group-entry-text {\n @include text-default;\n @include ellipsis();\n }\n\n .group-entry-text-secondary {\n &,\n span {\n @include text-default;\n @include ellipsis;\n }\n\n display: flex;\n justify-content: flex-end;\n flex-grow: 1;\n white-space: nowrap;\n color: var(--theme-color-soft-text);\n }\n}\n\n:host(.suppress-selection) {\n pointer-events: none;\n}\n\n:host(.selected) {\n border-top-width: 0.062rem !important;\n background-color: var(--theme-color-ghost--selected);\n\n .group-entry-selection-indicator {\n background-color: var(--theme-group-item-indicator--background--selected);\n }\n}\n\n:host(:hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n border-color: var(--theme-group-item--border-color--hover);\n}\n\n:host(.selected:hover) {\n background-color: var(--theme-color-ghost--selected-hover);\n}\n\n:host(:active) {\n background-color: var(--theme-color-ghost--selected-active);\n border-color: var(--theme-group-item--border-color--active);\n}\n\n:host(.selected:active) {\n background-color: var(--theme-color-ghost--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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\n\n@Component({\n tag: 'ix-group-item',\n styleUrl: 'group-item.scss',\n shadow: true,\n})\nexport class GroupItem {\n @Element() hostElement!: HTMLIxGroupItemElement;\n\n /**\n * Group item icon\n */\n @Prop() icon: string;\n\n /**\n * Group item text\n */\n @Prop() text: string;\n\n /**\n * Group item secondary text\n */\n @Prop() secondaryText: string;\n\n /**\n * Supress the selection of the group\n */\n @Prop() suppressSelection = false;\n\n /**\n * Show selected state\n */\n @Prop() selected: boolean;\n\n /**\n * The elements tabindex attribute will get set accordingly.\n * If true tabindex will be 0, -1 otherwise.\n */\n @Prop() focusable = true;\n\n /**\n * Selection changed\n */\n @Event() selectedChanged: EventEmitter<HTMLIxGroupItemElement>;\n\n /**\n * Index\n */\n @Prop() index: number;\n\n @Listen('click', { passive: true })\n clickListen() {\n if (this.suppressSelection) {\n return;\n }\n this.selectedChanged.emit(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected && !this.suppressSelection,\n 'suppress-selection': this.suppressSelection,\n }}\n >\n <button tabindex={this.focusable ? 0 : -1}>\n <div class=\"group-entry-selection-indicator\"></div>\n {this.icon ? <ix-icon size=\"16\" name={this.icon}></ix-icon> : null}\n {this.text ? (\n <span class=\"group-entry-text\">\n <span title={this.text}>{this.text}</span>\n </span>\n ) : null}\n {this.secondaryText ? (\n <span class=\"group-entry-text-secondary\">\n <span title={this.secondaryText}>{this.secondaryText}</span>\n </span>\n ) : null}\n <slot></slot>\n </button>\n </Host>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAsB,8NAC5B,MAAAC,EAAeD,E,MCgBFE,EAAgB,M,8CAGA,K,CAEnB,UAAAC,GACN,OAAOC,KAAKC,W,CAGN,iBAAAC,CACNC,EACAC,GAEAD,EAAgBE,oBAAsB,QACtCF,EAAgBG,QAAUF,C,CAGpB,YAAAG,GACN,MAAMC,EAAOR,KAAKC,YAAYQ,WAAWC,cAAc,QACvD,IAAKF,EAAM,CACT,M,CAEF,MAAMG,EAAWC,EAAmBJ,GACpCR,KAAKa,gBAAkBF,EAASG,SAAW,EAE3C,MAAMX,EAAkBQ,EAASI,MAC9BC,GAAiBA,EAAIC,UAAY,gBAGpC,MAAMb,EAAiBJ,KAAKD,aAE5B,IAAKK,EAAgB,CACnB,M,CAGF,IAAKD,EAAiB,CACpB,M,CAGFH,KAAKE,kBAAkBC,EAAiBC,E,CAG1C,MAAAc,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,kBAAAE,IAAA,2CACEC,MAAO,CAAEC,MAAOvB,KAAKa,iBACrBW,KAAK,KACLC,MAAO,KACPC,KAAM,iBAERP,EAAA,QAAAE,IAAA,2CAAMM,aAAc,IAAM3B,KAAKO,iB,8CCpEvC,MAAMqB,EAAe,itFACrB,MAAAC,EAAeD,E,MCwBFE,EAAS,M,sKAqBQ,M,uCAWR,K,qBAapB,WAAAC,GACE,GAAI/B,KAAKgC,kBAAmB,CAC1B,M,CAEFhC,KAAKiC,gBAAgBC,KAAKlC,KAAKC,Y,CAGjC,MAAAiB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLa,SAAUnC,KAAKmC,WAAanC,KAAKgC,kBACjC,qBAAsBhC,KAAKgC,oBAG7Bb,EAAA,UAAAE,IAAA,2CAAQe,SAAUpC,KAAKqC,UAAY,GAAK,GACtClB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oCACVtB,KAAK0B,KAAOP,EAAA,WAASK,KAAK,KAAKc,KAAMtC,KAAK0B,OAAmB,KAC7D1B,KAAKuC,KACJpB,EAAA,QAAMG,MAAM,oBACVH,EAAA,QAAMqB,MAAOxC,KAAKuC,MAAOvC,KAAKuC,OAE9B,KACHvC,KAAKyC,cACJtB,EAAA,QAAMG,MAAM,8BACVH,EAAA,QAAMqB,MAAOxC,KAAKyC,eAAgBzC,KAAKyC,gBAEvC,KACJtB,EAAA,QAAAE,IAAA,8C"}
|
|
@@ -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-702f9349.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-a536adcb.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
|