@siemens/ix 0.0.0-pr-1318-20240627080522 → 0.0.0-pr-1373-20240705054533
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 +2 -3
- package/components/a11y.js.map +1 -1
- package/components/application-header.js +3 -3
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/date-picker.js +4 -4
- package/components/date-time-card.js +2 -2
- package/components/date-time-card.js.map +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-item.js +3 -3
- package/components/dropdown.js +9 -9
- package/components/dropdown.js.map +1 -1
- package/components/filter-chip.js +1 -1
- package/components/group-context-menu.js +1 -1
- package/components/group-item.js +2 -2
- package/components/icon-button.js +1 -1
- package/components/index.js +4 -19
- package/components/index.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 +3 -3
- package/components/ix-basic-navigation.js +2 -2
- package/components/ix-breadcrumb.js +2 -2
- package/components/ix-card-list.js +4 -4
- package/components/ix-category-filter.js +4 -4
- package/components/ix-category-filter.js.map +1 -1
- package/components/ix-chip.js +4 -4
- package/components/ix-content.js +3 -3
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-datetime-picker.js +1 -1
- package/components/ix-drawer.js +2 -2
- package/components/ix-dropdown-button.js +2 -2
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-empty-state.js +1 -1
- package/components/ix-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-text-field.d.ts → ix-form-field.d.ts} +4 -4
- package/components/ix-form-field.js +44 -0
- package/components/ix-form-field.js.map +1 -0
- package/components/ix-group.js +8 -8
- package/components/ix-icon-toggle-button.js +1 -1
- package/components/ix-input-group.js +1 -1
- package/components/ix-key-value-list.js +1 -1
- package/components/ix-key-value.js +1 -1
- package/components/ix-kpi.js +3 -3
- package/components/ix-link-button.js +3 -3
- package/components/ix-map-navigation.js +2 -2
- package/components/ix-menu-about-item.js +1 -1
- package/components/ix-menu-about-news.js +4 -4
- package/components/ix-menu-about.js +1 -1
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +5 -5
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu.js +11 -11
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-example.js +1 -1
- package/components/ix-modal-footer.js +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +3 -3
- package/components/ix-pagination.js +16 -34
- package/components/ix-pagination.js.map +1 -1
- package/components/ix-pane-layout.js +1 -1
- package/components/ix-pane.js +6 -6
- package/components/ix-pill.js +4 -4
- 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-slider.js +6 -6
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-split-button.js +1 -1
- package/components/ix-tile.js +4 -4
- package/components/ix-toast-container.js +2 -2
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +5 -43
- package/components/ix-toggle.js.map +1 -1
- package/components/ix-tree.js +1 -1
- package/components/ix-upload.js +3 -3
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-steps.js +1 -1
- package/components/layout-grid.js +2 -2
- package/components/make-ref.js +0 -5
- package/components/make-ref.js.map +1 -1
- package/components/map-navigation-overlay.js +2 -2
- package/components/menu-avatar-item.js +1 -1
- package/components/menu-expand-icon.js +1 -1
- package/components/menu-item.js +3 -3
- package/components/menu-tabs-fc.js +1 -1
- package/components/modal-content.js +1 -1
- package/components/modal-header.js +1 -1
- package/components/row.js +1 -1
- package/components/select-item.js +1 -1
- package/components/select.js +71 -167
- package/components/select.js.map +1 -1
- package/components/service.js +2 -2
- package/components/service.js.map +1 -1
- package/components/spinner.js +1 -1
- package/components/tab-item.js +3 -3
- package/components/tab-item.js.map +1 -1
- package/components/tabs.js +2 -2
- package/components/time-picker.js +4 -4
- package/components/time-picker.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/tooltip.js +2 -2
- package/components/tree-item.js +4 -4
- package/dist/cjs/{a11y-32046b56.js → a11y-d3ce56d1.js} +3 -4
- package/dist/cjs/a11y-d3ce56d1.js.map +1 -0
- package/dist/cjs/{base-button-16d4fadf.js → base-button-3735b8c2.js} +2 -2
- package/dist/cjs/{base-button-16d4fadf.js.map → base-button-3735b8c2.js.map} +1 -1
- package/dist/cjs/{base-icon-button-aba2ddbf.js → base-icon-button-44c72bc8.js} +3 -3
- package/dist/cjs/{base-icon-button-aba2ddbf.js.map → base-icon-button-44c72bc8.js.map} +1 -1
- package/dist/cjs/{index-0f6297c8.js → index-529f21c1.js} +156 -78
- package/dist/cjs/index-529f21c1.js.map +1 -0
- package/dist/cjs/index.cjs.js +0 -16
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +5 -5
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
- package/dist/cjs/ix-application.cjs.entry.js +5 -5
- package/dist/cjs/ix-avatar_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ix-blind.cjs.entry.js +2 -2
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/ix-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-card-list.cjs.entry.js +5 -5
- package/dist/cjs/ix-card_2.cjs.entry.js +2 -2
- package/dist/cjs/ix-category-filter.cjs.entry.js +6 -6
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +5 -5
- package/dist/cjs/ix-col_4.cjs.entry.js +9 -9
- package/dist/cjs/ix-content-header.cjs.entry.js +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +4 -4
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-css-grid.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-time-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
- package/dist/cjs/ix-divider.cjs.entry.js +2 -2
- package/dist/cjs/ix-drawer.cjs.entry.js +3 -3
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown.cjs.entry.js +160 -21
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/ix-event-list-item.cjs.entry.js +6 -6
- package/dist/cjs/ix-event-list.cjs.entry.js +3 -3
- package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
- package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
- package/dist/cjs/ix-form-field.cjs.entry.js +28 -0
- package/dist/cjs/ix-form-field.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-group.cjs.entry.js +9 -9
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +6 -6
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +5 -5
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
- package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
- package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
- package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
- package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
- package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
- package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
- package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu.cjs.entry.js +13 -13
- package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal-example.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal.cjs.entry.js +6 -6
- package/dist/cjs/ix-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ix-pane-layout.cjs.entry.js +3 -3
- package/dist/cjs/ix-pane.cjs.entry.js +8 -8
- package/dist/cjs/ix-pill.cjs.entry.js +5 -5
- package/dist/cjs/ix-playground-internal.cjs.entry.js +2 -2
- package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-select.cjs.entry.js +59 -121
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +9 -9
- package/dist/cjs/ix-split-button-item.cjs.entry.js +3 -3
- package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +6 -6
- package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +5 -5
- package/dist/cjs/ix-time-picker.cjs.entry.js +5 -5
- package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
- package/dist/cjs/ix-toast.cjs.entry.js +3 -3
- package/dist/cjs/ix-toggle-button.cjs.entry.js +5 -5
- package/dist/cjs/ix-toggle.cjs.entry.js +5 -42
- package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/{ix-field-label_3.cjs.entry.js → ix-tooltip.cjs.entry.js} +5 -146
- package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-tree.cjs.entry.js +2 -2
- package/dist/cjs/ix-typography.cjs.entry.js +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +4 -4
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
- package/dist/cjs/{listener-0881dc51.js → listener-bc3e7c0c.js} +2 -2
- package/dist/cjs/{listener-0881dc51.js.map → listener-bc3e7c0c.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{make-ref-01530e5a.js → make-ref-c25629b7.js} +1 -6
- package/dist/cjs/make-ref-c25629b7.js.map +1 -0
- package/dist/cjs/{menu-tabs-fc-f6b706e3.js → menu-tabs-fc-df53f176.js} +3 -3
- package/dist/cjs/{menu-tabs-fc-f6b706e3.js.map → menu-tabs-fc-df53f176.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/siemens-ix.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -13
- package/dist/collection/components/application/application.js +3 -3
- package/dist/collection/components/application-header/application-header.js +3 -3
- package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
- package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
- package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
- package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.js +4 -4
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.css +20 -120
- package/dist/collection/components/category-filter/category-filter.js +3 -3
- package/dist/collection/components/chip/chip.js +4 -4
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +4 -4
- package/dist/collection/components/date-time-card/date-time-card.js +7 -6
- package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.js +2 -2
- package/dist/collection/components/dropdown/dropdown-controller.js +0 -3
- package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +8 -5
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js +28 -0
- package/dist/collection/components/dropdown-button/dropdown-button.ct.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +2 -2
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/empty-state/empty-state.js +1 -1
- package/dist/collection/components/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/{text-field/number-field.css → form-field/form-field.css} +9 -236
- package/dist/collection/components/form-field/form-field.js +56 -0
- package/dist/collection/components/form-field/form-field.js.map +1 -0
- package/dist/collection/components/grid/layout-grid.js +2 -2
- package/dist/collection/components/group/group-context-menu.js +1 -1
- package/dist/collection/components/group/group.js +8 -8
- package/dist/collection/components/group-item/group-item.js +2 -2
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
- package/dist/collection/components/input-group/input-group.js +1 -1
- package/dist/collection/components/key-value/key-value.js +1 -1
- package/dist/collection/components/key-value-list/key-value-list.js +1 -1
- package/dist/collection/components/kpi/kpi.js +3 -3
- package/dist/collection/components/link-button/link-button.js +3 -3
- package/dist/collection/components/map-navigation/map-navigation.js +2 -2
- package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
- package/dist/collection/components/menu/menu-expand-icon.js +1 -1
- package/dist/collection/components/menu/menu.js +11 -11
- package/dist/collection/components/menu-about/menu-about.js +1 -1
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
- package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
- package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
- package/dist/collection/components/menu-category/menu-category.js +5 -5
- package/dist/collection/components/menu-item/menu-item.js +3 -3
- package/dist/collection/components/menu-settings/menu-settings.js +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/modal/modal.js +3 -3
- package/dist/collection/components/modal-content/modal-content.js +1 -1
- package/dist/collection/components/modal-footer/modal-footer.js +1 -1
- package/dist/collection/components/modal-header/modal-header.js +1 -1
- package/dist/collection/components/modal-loading/modal-loading.js +1 -1
- package/dist/collection/components/pagination/pagination.js +2 -2
- package/dist/collection/components/pane/pane.js +6 -6
- package/dist/collection/components/pane-layout/pane-layout.js +1 -1
- package/dist/collection/components/pill/pill.js +4 -4
- package/dist/collection/components/playground/example-modal.js +1 -1
- package/dist/collection/components/playground/playground.js +3 -3
- package/dist/collection/components/playground/playground.js.map +1 -1
- package/dist/collection/components/push-card/push-card.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/select/select.css +0 -52
- package/dist/collection/components/select/select.js +59 -387
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +96 -82
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +1 -1
- package/dist/collection/components/slider/slider.js +6 -6
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button/split-button.js +1 -1
- package/dist/collection/components/split-button-item/split-button-item.js +1 -1
- package/dist/collection/components/tab-item/tab-item.js +4 -4
- package/dist/collection/components/tab-item/tab-item.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js +2 -2
- package/dist/collection/components/tile/tile.js +4 -4
- package/dist/collection/components/time-picker/time-picker.css +7 -80
- package/dist/collection/components/time-picker/time-picker.js +3 -3
- package/dist/collection/components/toast/toast-container.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/test/toggle.ct.js +1 -24
- package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
- package/dist/collection/components/toggle/toggle.css +1 -132
- package/dist/collection/components/toggle/toggle.js +2 -157
- package/dist/collection/components/toggle/toggle.js.map +1 -1
- package/dist/collection/components/toggle-button/toggle-button.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +4 -4
- package/dist/collection/components/upload/upload.js +3 -3
- package/dist/collection/components/utils/a11y.js +2 -3
- package/dist/collection/components/utils/a11y.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/make-ref.js +0 -5
- package/dist/collection/components/utils/make-ref.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.js +3 -3
- package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
- package/dist/collection/index.js +0 -6
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/tests/utils/test/index.js +0 -11
- package/dist/collection/tests/utils/test/index.js.map +1 -1
- package/dist/esm/{a11y-13dedaef.js → a11y-d5444a76.js} +3 -4
- package/dist/esm/a11y-d5444a76.js.map +1 -0
- package/dist/esm/{base-button-ea06697f.js → base-button-1b40b11d.js} +2 -2
- package/dist/esm/{base-button-ea06697f.js.map → base-button-1b40b11d.js.map} +1 -1
- package/dist/esm/{base-icon-button-c64fdb50.js → base-icon-button-bc1dabe0.js} +3 -3
- package/dist/esm/{base-icon-button-c64fdb50.js.map → base-icon-button-bc1dabe0.js.map} +1 -1
- package/dist/esm/{index-9103b14c.js → index-5429f20b.js} +156 -78
- package/dist/esm/index-5429f20b.js.map +1 -0
- package/dist/esm/index.js +1 -16
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ix-action-card.entry.js +1 -1
- package/dist/esm/ix-application-header.entry.js +5 -5
- package/dist/esm/ix-application-sidebar.entry.js +2 -2
- package/dist/esm/ix-application-switch-modal.entry.js +2 -2
- package/dist/esm/ix-application.entry.js +5 -5
- package/dist/esm/ix-avatar_2.entry.js +4 -4
- package/dist/esm/ix-basic-navigation.entry.js +4 -4
- package/dist/esm/ix-blind.entry.js +2 -2
- package/dist/esm/ix-breadcrumb-item.entry.js +3 -3
- package/dist/esm/ix-breadcrumb.entry.js +4 -4
- package/dist/esm/ix-button.entry.js +2 -2
- package/dist/esm/ix-card-accordion_2.entry.js +2 -2
- package/dist/esm/ix-card-list.entry.js +5 -5
- package/dist/esm/ix-card_2.entry.js +2 -2
- package/dist/esm/ix-category-filter.entry.js +6 -6
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-chip.entry.js +5 -5
- package/dist/esm/ix-col_4.entry.js +9 -9
- package/dist/esm/ix-content-header.entry.js +1 -1
- package/dist/esm/ix-content.entry.js +4 -4
- package/dist/esm/ix-css-grid-item.entry.js +2 -2
- package/dist/esm/ix-css-grid.entry.js +1 -1
- package/dist/esm/ix-date-dropdown.entry.js +1 -1
- package/dist/esm/ix-date-time-card.entry.js +2 -2
- package/dist/esm/ix-date-time-card.entry.js.map +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +2 -2
- package/dist/esm/ix-divider.entry.js +2 -2
- package/dist/esm/ix-drawer.entry.js +3 -3
- package/dist/esm/ix-dropdown-button.entry.js +3 -3
- package/dist/esm/ix-dropdown-header.entry.js +2 -2
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
- package/dist/esm/ix-dropdown.entry.js +146 -7
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-empty-state.entry.js +2 -2
- package/dist/esm/ix-event-list-item.entry.js +6 -6
- package/dist/esm/ix-event-list.entry.js +3 -3
- package/dist/esm/ix-expanding-search.entry.js +5 -5
- package/dist/esm/ix-filter-chip_2.entry.js +3 -3
- package/dist/esm/ix-flip-tile-content.entry.js +2 -2
- package/dist/esm/ix-flip-tile.entry.js +5 -5
- package/dist/esm/ix-form-field.entry.js +24 -0
- package/dist/esm/ix-form-field.entry.js.map +1 -0
- package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
- package/dist/esm/ix-group.entry.js +9 -9
- package/dist/esm/ix-icon-button_2.entry.js +6 -6
- package/dist/esm/ix-icon-toggle-button.entry.js +5 -5
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-key-value-list.entry.js +2 -2
- package/dist/esm/ix-key-value.entry.js +2 -2
- package/dist/esm/ix-kpi.entry.js +4 -4
- package/dist/esm/ix-link-button.entry.js +4 -4
- package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
- package/dist/esm/ix-map-navigation.entry.js +3 -3
- package/dist/esm/ix-menu-about-item.entry.js +2 -2
- package/dist/esm/ix-menu-about-news.entry.js +5 -5
- package/dist/esm/ix-menu-about.entry.js +3 -3
- package/dist/esm/ix-menu-avatar.entry.js +3 -3
- package/dist/esm/ix-menu-category.entry.js +6 -6
- package/dist/esm/ix-menu-expand-icon.entry.js +4 -4
- package/dist/esm/ix-menu-item.entry.js +5 -5
- package/dist/esm/ix-menu-settings-item.entry.js +2 -2
- package/dist/esm/ix-menu-settings.entry.js +2 -2
- package/dist/esm/ix-menu.entry.js +13 -13
- package/dist/esm/ix-message-bar.entry.js +2 -2
- package/dist/esm/ix-modal-content_2.entry.js +3 -3
- package/dist/esm/ix-modal-example.entry.js +2 -2
- package/dist/esm/ix-modal-footer.entry.js +2 -2
- package/dist/esm/ix-modal-loading.entry.js +2 -2
- package/dist/esm/ix-modal.entry.js +6 -6
- package/dist/esm/ix-pagination.entry.js +5 -5
- package/dist/esm/ix-pane-layout.entry.js +3 -3
- package/dist/esm/ix-pane.entry.js +8 -8
- package/dist/esm/ix-pill.entry.js +5 -5
- package/dist/esm/ix-playground-internal.entry.js +2 -2
- package/dist/esm/ix-playground-internal.entry.js.map +1 -1
- package/dist/esm/ix-push-card.entry.js +2 -2
- package/dist/esm/ix-select.entry.js +59 -121
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +9 -9
- package/dist/esm/ix-split-button-item.entry.js +3 -3
- package/dist/esm/ix-split-button.entry.js +2 -2
- package/dist/esm/ix-tab-item_2.entry.js +6 -6
- package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
- package/dist/esm/ix-tile.entry.js +5 -5
- package/dist/esm/ix-time-picker.entry.js +5 -5
- package/dist/esm/ix-time-picker.entry.js.map +1 -1
- package/dist/esm/ix-toast-container.entry.js +3 -3
- package/dist/esm/ix-toast.entry.js +3 -3
- package/dist/esm/ix-toggle-button.entry.js +5 -5
- package/dist/esm/ix-toggle.entry.js +5 -42
- package/dist/esm/ix-toggle.entry.js.map +1 -1
- package/dist/esm/{ix-field-label_3.entry.js → ix-tooltip.entry.js} +6 -145
- package/dist/esm/ix-tooltip.entry.js.map +1 -0
- package/dist/esm/ix-tree-item.entry.js +5 -5
- package/dist/esm/ix-tree.entry.js +2 -2
- package/dist/esm/ix-typography.entry.js +1 -1
- package/dist/esm/ix-upload.entry.js +4 -4
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +4 -4
- package/dist/esm/ix-workflow-steps.entry.js +2 -2
- package/dist/esm/{listener-98571ba8.js → listener-4f3baab5.js} +2 -2
- package/dist/esm/{listener-98571ba8.js.map → listener-4f3baab5.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{make-ref-6b3b4e16.js → make-ref-c80046bf.js} +1 -6
- package/dist/esm/make-ref-c80046bf.js.map +1 -0
- package/dist/esm/{menu-tabs-fc-7ec1fb5d.js → menu-tabs-fc-d9a7dd06.js} +3 -3
- package/dist/esm/{menu-tabs-fc-7ec1fb5d.js.map → menu-tabs-fc-d9a7dd06.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/siemens-ix.js +3 -3
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/{p-9cc0d11b.entry.js → p-052340f9.entry.js} +2 -2
- package/dist/siemens-ix/{p-dde0af66.entry.js → p-0653a145.entry.js} +2 -2
- package/dist/siemens-ix/{p-ac05950c.entry.js → p-0b4e398e.entry.js} +2 -2
- package/dist/siemens-ix/{p-224ebf90.js → p-0c8a98cd.js} +2 -2
- package/dist/siemens-ix/p-0d2a6886.entry.js +2 -0
- package/dist/siemens-ix/{p-4b69ab0d.entry.js → p-0f7ef743.entry.js} +2 -2
- package/dist/siemens-ix/{p-6bd0ba14.entry.js → p-112069ca.entry.js} +2 -2
- package/dist/siemens-ix/p-112069ca.entry.js.map +1 -0
- package/dist/siemens-ix/{p-6ca97a73.entry.js → p-113cc793.entry.js} +2 -2
- package/dist/siemens-ix/{p-1f771917.entry.js → p-14a41c8c.entry.js} +2 -2
- package/dist/siemens-ix/{p-787293f4.entry.js → p-15b3c17e.entry.js} +2 -2
- package/dist/siemens-ix/p-16b923e9.entry.js +2 -0
- package/dist/siemens-ix/{p-3b38f812.entry.js → p-1a122c76.entry.js} +2 -2
- package/dist/siemens-ix/{p-83b8b502.entry.js → p-1cff59db.entry.js} +2 -2
- package/dist/siemens-ix/{p-ed991838.js → p-1d581190.js} +2 -2
- package/dist/siemens-ix/{p-37ca7ed4.js → p-1db6be55.js} +2 -2
- package/dist/siemens-ix/{p-1ec8d2b9.entry.js → p-1f4b8463.entry.js} +2 -2
- package/dist/siemens-ix/{p-846cf6d2.entry.js → p-24a8737a.entry.js} +2 -2
- package/dist/siemens-ix/{p-fad5daa1.entry.js → p-2908cacd.entry.js} +2 -2
- package/dist/siemens-ix/{p-80051a81.entry.js → p-2946fd70.entry.js} +2 -2
- package/dist/siemens-ix/{p-b973db5e.entry.js → p-29df2e29.entry.js} +2 -2
- package/dist/siemens-ix/{p-35690183.entry.js → p-2c4c03d4.entry.js} +2 -2
- package/dist/siemens-ix/p-2ebfd4fd.entry.js +2 -0
- package/dist/siemens-ix/{p-02ed5606.entry.js.map → p-2ebfd4fd.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-edd99767.entry.js → p-2ec7f841.entry.js} +2 -2
- package/dist/siemens-ix/{p-576b09c9.entry.js → p-309ac3ad.entry.js} +2 -2
- package/dist/siemens-ix/p-315f070d.entry.js +2 -0
- package/dist/siemens-ix/p-315f070d.entry.js.map +1 -0
- package/dist/siemens-ix/p-32375ddb.entry.js +2 -0
- package/dist/siemens-ix/p-32d4ed3b.entry.js +2 -0
- package/dist/siemens-ix/{p-cfcd2bd3.entry.js → p-427676f4.entry.js} +2 -2
- package/dist/siemens-ix/{p-b6c0dfb5.entry.js → p-4430117a.entry.js} +2 -2
- package/dist/siemens-ix/p-44db3646.entry.js +2 -0
- package/dist/siemens-ix/{p-5924a783.entry.js → p-453fa360.entry.js} +2 -2
- package/dist/siemens-ix/p-4b3facea.entry.js +2 -0
- package/dist/siemens-ix/p-4f8ac3bf.js +2 -0
- package/dist/siemens-ix/p-4f8ac3bf.js.map +1 -0
- package/dist/siemens-ix/p-52857629.entry.js +2 -0
- package/dist/siemens-ix/p-52857629.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f0bbd496.entry.js → p-53352bfb.entry.js} +2 -2
- package/dist/siemens-ix/p-5696bb62.entry.js +2 -0
- package/dist/siemens-ix/p-5696bb62.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9840f086.entry.js → p-5aa0b93c.entry.js} +2 -2
- package/dist/siemens-ix/{p-628c8612.entry.js → p-5c673ae9.entry.js} +2 -2
- package/dist/siemens-ix/{p-b5c4fd55.entry.js → p-5f25e7fd.entry.js} +2 -2
- package/dist/siemens-ix/{p-1df98c59.entry.js → p-60c16878.entry.js} +2 -2
- package/dist/siemens-ix/{p-0681f4d8.entry.js → p-6227e62b.entry.js} +2 -2
- package/dist/siemens-ix/p-64c3fa3d.js +2 -0
- package/dist/siemens-ix/p-64c3fa3d.js.map +1 -0
- package/dist/siemens-ix/p-68532fa2.js +2 -0
- package/dist/siemens-ix/{p-b0fe18f7.entry.js → p-68644ee1.entry.js} +2 -2
- package/dist/siemens-ix/{p-8a9fc2f0.entry.js → p-6af4415c.entry.js} +2 -2
- package/dist/siemens-ix/{p-8dcf30ce.entry.js → p-6fd7ecd0.entry.js} +2 -2
- package/dist/siemens-ix/{p-ec0806c3.entry.js → p-7076210b.entry.js} +2 -2
- package/dist/siemens-ix/{p-86b46723.entry.js → p-713828ed.entry.js} +2 -2
- package/dist/siemens-ix/{p-8e10d2f2.entry.js → p-7bfd6cd2.entry.js} +2 -2
- package/dist/siemens-ix/p-7faa148f.entry.js +2 -0
- package/dist/siemens-ix/p-85423643.entry.js +2 -0
- package/dist/siemens-ix/p-85423643.entry.js.map +1 -0
- package/dist/siemens-ix/{p-97f475db.entry.js → p-8629db91.entry.js} +2 -2
- package/dist/siemens-ix/p-87e692d9.entry.js +2 -0
- package/dist/siemens-ix/{p-18d15442.entry.js.map → p-87e692d9.entry.js.map} +1 -1
- package/dist/siemens-ix/p-882a0233.entry.js +2 -0
- package/dist/siemens-ix/{p-0d907964.entry.js.map → p-882a0233.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-75c61fbf.entry.js → p-8d0758c1.entry.js} +2 -2
- package/dist/siemens-ix/{p-3a5f7b61.entry.js → p-8d599677.entry.js} +2 -2
- package/dist/siemens-ix/{p-504f43d4.entry.js → p-90440046.entry.js} +2 -2
- package/dist/siemens-ix/{p-504f43d4.entry.js.map → p-90440046.entry.js.map} +1 -1
- package/dist/siemens-ix/p-92a18c10.entry.js +2 -0
- package/dist/siemens-ix/{p-06965e5f.entry.js → p-96a3a750.entry.js} +2 -2
- package/dist/siemens-ix/{p-921c59c4.entry.js → p-9ebc4fc3.entry.js} +2 -2
- package/dist/siemens-ix/{p-d7131f75.entry.js → p-a0138163.entry.js} +2 -2
- package/dist/siemens-ix/{p-3730ac72.entry.js → p-a0a44a2b.entry.js} +2 -2
- package/dist/siemens-ix/{p-3de71a19.entry.js → p-a8d291fa.entry.js} +2 -2
- package/dist/siemens-ix/{p-c6dcff7e.entry.js → p-af099ca4.entry.js} +2 -2
- package/dist/siemens-ix/p-b3b23af7.entry.js +2 -0
- package/dist/siemens-ix/{p-f37ac17d.entry.js → p-b4ce366d.entry.js} +2 -2
- package/dist/siemens-ix/{p-293dd6d1.entry.js → p-b663ca16.entry.js} +2 -2
- package/dist/siemens-ix/{p-9569e1a2.entry.js → p-b804b8c5.entry.js} +2 -2
- package/dist/siemens-ix/{p-b789e0e7.entry.js → p-bc2c74c5.entry.js} +2 -2
- package/dist/siemens-ix/{p-8d737a35.entry.js → p-bea7c748.entry.js} +2 -2
- package/dist/siemens-ix/{p-781a1922.entry.js → p-bf14c60b.entry.js} +2 -2
- package/dist/siemens-ix/p-c1222581.entry.js +2 -0
- package/dist/siemens-ix/{p-934ae9a0.entry.js → p-c1968b80.entry.js} +2 -2
- package/dist/siemens-ix/{p-e1bd7b4f.entry.js → p-c33cee36.entry.js} +2 -2
- package/dist/siemens-ix/{p-5eb935a3.entry.js → p-c45601cb.entry.js} +2 -2
- package/dist/siemens-ix/{p-815dd9a1.entry.js → p-c55db6c7.entry.js} +2 -2
- package/dist/siemens-ix/p-d03df401.entry.js +2 -0
- package/dist/siemens-ix/p-d03df401.entry.js.map +1 -0
- package/dist/siemens-ix/{p-87d7aaf9.entry.js → p-d14024d3.entry.js} +2 -2
- package/dist/siemens-ix/{p-2442ad01.entry.js → p-d1f49940.entry.js} +2 -2
- package/dist/siemens-ix/{p-61265df9.entry.js → p-d95cbd1f.entry.js} +2 -2
- package/dist/siemens-ix/{p-e72dfb3c.entry.js → p-d998415f.entry.js} +2 -2
- package/dist/siemens-ix/{p-628f031a.entry.js → p-dcb3e5be.entry.js} +2 -2
- package/dist/siemens-ix/{p-724b98ce.entry.js → p-dde7eb80.entry.js} +2 -2
- package/dist/siemens-ix/{p-ae7fdfa6.entry.js → p-e30ed20a.entry.js} +2 -2
- package/dist/siemens-ix/{p-15a5bc5a.entry.js → p-e8d3cf35.entry.js} +2 -2
- package/dist/siemens-ix/{p-aca94a5e.entry.js → p-e9a3f58a.entry.js} +2 -2
- package/dist/siemens-ix/p-eb6268a6.entry.js +2 -0
- package/dist/siemens-ix/{p-79c848ec.entry.js.map → p-eb6268a6.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-b8ed7953.entry.js → p-ebb277f0.entry.js} +2 -2
- package/dist/siemens-ix/{p-e5218382.entry.js → p-f07110c6.entry.js} +2 -2
- package/dist/siemens-ix/{p-6c412b52.entry.js → p-f78246bd.entry.js} +2 -2
- package/dist/siemens-ix/p-f87cd962.js +3 -0
- package/dist/siemens-ix/p-f87cd962.js.map +1 -0
- package/dist/siemens-ix/{p-104097fb.entry.js → p-fb2b78f7.entry.js} +2 -2
- package/dist/siemens-ix/{p-aae05303.entry.js → p-fb47546b.entry.js} +2 -2
- package/dist/siemens-ix/p-fb4c79c6.entry.js +2 -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-9ec92185.entry.js → p-fc5814df.entry.js} +2 -2
- package/dist/siemens-ix/{p-bd24bbde.entry.js → p-feac09bc.entry.js} +2 -2
- package/dist/siemens-ix/p-ff148103.entry.js +2 -0
- package/dist/siemens-ix/p-ff148103.entry.js.map +1 -0
- package/dist/siemens-ix/{p-35fa9e1a.entry.js → p-ff1ac5b3.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +7 -80
- 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/date-time-card/date-time-card.d.ts +1 -1
- package/dist/types/components/dropdown/dropdown-controller.d.ts +0 -1
- package/dist/types/components/form-field/form-field.d.ts +10 -0
- package/dist/types/components/select/select.d.ts +4 -84
- package/dist/types/components/tab-item/tab-item.d.ts +1 -1
- package/dist/types/components/toggle/toggle.d.ts +1 -29
- package/dist/types/components/utils/a11y.d.ts +5 -5
- package/dist/types/components.d.ts +30 -1714
- package/dist/types/index.d.ts +0 -1
- package/dist/types/tests/utils/test/index.d.ts +0 -3
- package/hydrate/index.js +516 -2584
- package/package.json +3 -3
- package/scss/components/form/_input.scss +6 -56
- package/components/field-label.js +0 -127
- package/components/field-label.js.map +0 -1
- package/components/field-wrapper.js +0 -97
- package/components/field-wrapper.js.map +0 -1
- package/components/helper-text-util.js +0 -48
- package/components/helper-text-util.js.map +0 -1
- package/components/ix-checkbox-group.d.ts +0 -11
- package/components/ix-checkbox-group.js +0 -105
- package/components/ix-checkbox-group.js.map +0 -1
- package/components/ix-checkbox.d.ts +0 -11
- package/components/ix-checkbox.js +0 -141
- package/components/ix-checkbox.js.map +0 -1
- package/components/ix-custom-field.d.ts +0 -11
- package/components/ix-custom-field.js +0 -116
- package/components/ix-custom-field.js.map +0 -1
- package/components/ix-date-field.d.ts +0 -11
- package/components/ix-date-field.js +0 -351
- package/components/ix-date-field.js.map +0 -1
- package/components/ix-field-label.d.ts +0 -11
- package/components/ix-field-label.js +0 -8
- package/components/ix-field-label.js.map +0 -1
- package/components/ix-field-wrapper.d.ts +0 -11
- package/components/ix-field-wrapper.js +0 -8
- package/components/ix-field-wrapper.js.map +0 -1
- package/components/ix-helper-text.d.ts +0 -11
- package/components/ix-helper-text.js +0 -97
- package/components/ix-helper-text.js.map +0 -1
- package/components/ix-layout-form.d.ts +0 -11
- package/components/ix-layout-form.js +0 -113
- package/components/ix-layout-form.js.map +0 -1
- package/components/ix-number-field.d.ts +0 -11
- package/components/ix-number-field.js +0 -217
- package/components/ix-number-field.js.map +0 -1
- package/components/ix-radio-group.d.ts +0 -11
- package/components/ix-radio-group.js +0 -169
- package/components/ix-radio-group.js.map +0 -1
- package/components/ix-radio.d.ts +0 -11
- package/components/ix-radio.js +0 -115
- package/components/ix-radio.js.map +0 -1
- package/components/ix-text-field.js +0 -223
- package/components/ix-text-field.js.map +0 -1
- package/components/ix-textarea-field.d.ts +0 -11
- package/components/ix-textarea-field.js +0 -177
- package/components/ix-textarea-field.js.map +0 -1
- package/components/text-field.util.js +0 -167
- package/components/text-field.util.js.map +0 -1
- package/components/validation.js +0 -112
- package/components/validation.js.map +0 -1
- package/dist/cjs/a11y-32046b56.js.map +0 -1
- package/dist/cjs/dropdown-controller-403dc7fa.js +0 -147
- package/dist/cjs/dropdown-controller-403dc7fa.js.map +0 -1
- package/dist/cjs/helper-text-util-9f617ef2.js +0 -40
- package/dist/cjs/helper-text-util-9f617ef2.js.map +0 -1
- package/dist/cjs/index-0f6297c8.js.map +0 -1
- package/dist/cjs/index-762a29a3.js +0 -24
- package/dist/cjs/index-762a29a3.js.map +0 -1
- package/dist/cjs/ix-checkbox-group.cjs.entry.js +0 -56
- package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-checkbox.cjs.entry.js +0 -114
- package/dist/cjs/ix-checkbox.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-custom-field.cjs.entry.js +0 -65
- package/dist/cjs/ix-custom-field.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-date-field.cjs.entry.js +0 -255
- package/dist/cjs/ix-date-field.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-field-label_3.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-helper-text.cjs.entry.js +0 -70
- package/dist/cjs/ix-helper-text.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-layout-form.cjs.entry.js +0 -94
- package/dist/cjs/ix-layout-form.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-number-field.cjs.entry.js +0 -148
- package/dist/cjs/ix-number-field.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-radio-group.cjs.entry.js +0 -116
- package/dist/cjs/ix-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-radio.cjs.entry.js +0 -96
- package/dist/cjs/ix-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-text-field.cjs.entry.js +0 -151
- package/dist/cjs/ix-text-field.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-textarea-field.cjs.entry.js +0 -118
- package/dist/cjs/ix-textarea-field.cjs.entry.js.map +0 -1
- package/dist/cjs/make-ref-01530e5a.js.map +0 -1
- package/dist/cjs/service-a42add5f.js.map +0 -1
- package/dist/cjs/text-field.util-d7c5c1cd.js +0 -179
- package/dist/cjs/text-field.util-d7c5c1cd.js.map +0 -1
- package/dist/cjs/validation-c5a41d68.js +0 -117
- package/dist/cjs/validation-c5a41d68.js.map +0 -1
- package/dist/collection/components/checkbox/checkbox.css +0 -437
- package/dist/collection/components/checkbox/checkbox.js +0 -323
- package/dist/collection/components/checkbox/checkbox.js.map +0 -1
- package/dist/collection/components/checkbox/tests/checkbox.ct.js +0 -52
- package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +0 -1
- package/dist/collection/components/checkbox-group/checkbox-group.css +0 -35
- package/dist/collection/components/checkbox-group/checkbox-group.js +0 -173
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +0 -1
- package/dist/collection/components/custom-field/custom-field.css +0 -11
- package/dist/collection/components/custom-field/custom-field.js +0 -216
- package/dist/collection/components/custom-field/custom-field.js.map +0 -1
- package/dist/collection/components/custom-field/tests/custom-field.ct.js +0 -68
- package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +0 -1
- package/dist/collection/components/date-field/date-field.css +0 -938
- package/dist/collection/components/date-field/date-field.js +0 -696
- package/dist/collection/components/date-field/date-field.js.map +0 -1
- package/dist/collection/components/date-field/tests/date-field.ct.js +0 -114
- package/dist/collection/components/date-field/tests/date-field.ct.js.map +0 -1
- package/dist/collection/components/field-label/field-label.css +0 -14
- package/dist/collection/components/field-label/field-label.js +0 -173
- package/dist/collection/components/field-label/field-label.js.map +0 -1
- package/dist/collection/components/field-label/tests/field-label.ct.js +0 -70
- package/dist/collection/components/field-label/tests/field-label.ct.js.map +0 -1
- package/dist/collection/components/field-wrapper/field-wrapper.css +0 -71
- package/dist/collection/components/field-wrapper/field-wrapper.js +0 -309
- package/dist/collection/components/field-wrapper/field-wrapper.js.map +0 -1
- package/dist/collection/components/field-wrapper/helper-text-util.js +0 -26
- package/dist/collection/components/field-wrapper/helper-text-util.js.map +0 -1
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +0 -63
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +0 -1
- package/dist/collection/components/helper-text/helper-text.css +0 -34
- package/dist/collection/components/helper-text/helper-text.js +0 -179
- package/dist/collection/components/helper-text/helper-text.js.map +0 -1
- package/dist/collection/components/layout-form/layout-form.css +0 -15
- package/dist/collection/components/layout-form/layout-form.js +0 -126
- package/dist/collection/components/layout-form/layout-form.js.map +0 -1
- package/dist/collection/components/radio/radio.css +0 -428
- package/dist/collection/components/radio/radio.js +0 -276
- package/dist/collection/components/radio/radio.js.map +0 -1
- package/dist/collection/components/radio/test/radio.ct.js +0 -36
- package/dist/collection/components/radio/test/radio.ct.js.map +0 -1
- package/dist/collection/components/radio-group/radio-group.css +0 -35
- package/dist/collection/components/radio-group/radio-group.js +0 -296
- package/dist/collection/components/radio-group/radio-group.js.map +0 -1
- package/dist/collection/components/radio-group/test/radio-group.ct.js +0 -99
- package/dist/collection/components/radio-group/test/radio-group.ct.js.map +0 -1
- package/dist/collection/components/text-field/input.fc.js +0 -38
- package/dist/collection/components/text-field/input.fc.js.map +0 -1
- package/dist/collection/components/text-field/number-field.js +0 -586
- package/dist/collection/components/text-field/number-field.js.map +0 -1
- package/dist/collection/components/text-field/tests/form-ready.ct.js +0 -63
- package/dist/collection/components/text-field/tests/form-ready.ct.js.map +0 -1
- package/dist/collection/components/text-field/text-field.animation.js +0 -36
- package/dist/collection/components/text-field/text-field.animation.js.map +0 -1
- package/dist/collection/components/text-field/text-field.css +0 -899
- package/dist/collection/components/text-field/text-field.js +0 -594
- package/dist/collection/components/text-field/text-field.js.map +0 -1
- package/dist/collection/components/text-field/text-field.util.js +0 -93
- package/dist/collection/components/text-field/text-field.util.js.map +0 -1
- package/dist/collection/components/text-field/textarea-field.css +0 -550
- package/dist/collection/components/text-field/textarea-field.js +0 -595
- package/dist/collection/components/text-field/textarea-field.js.map +0 -1
- package/dist/collection/components/utils/attributes.js +0 -25
- package/dist/collection/components/utils/attributes.js.map +0 -1
- package/dist/collection/components/utils/field/index.js +0 -9
- package/dist/collection/components/utils/field/index.js.map +0 -1
- package/dist/collection/components/utils/field/validation.js +0 -108
- package/dist/collection/components/utils/field/validation.js.map +0 -1
- package/dist/collection/components/utils/testing/index.js +0 -9
- package/dist/collection/components/utils/testing/index.js.map +0 -1
- package/dist/collection/components/utils/uuid.js +0 -16
- package/dist/collection/components/utils/uuid.js.map +0 -1
- package/dist/collection/tests/form-fields/form-fields.e2e.js +0 -57
- package/dist/collection/tests/form-fields/form-fields.e2e.js.map +0 -1
- package/dist/esm/a11y-13dedaef.js.map +0 -1
- package/dist/esm/dropdown-controller-d6d8b14a.js +0 -143
- package/dist/esm/dropdown-controller-d6d8b14a.js.map +0 -1
- package/dist/esm/helper-text-util-3dd33b44.js +0 -38
- package/dist/esm/helper-text-util-3dd33b44.js.map +0 -1
- package/dist/esm/index-9103b14c.js.map +0 -1
- package/dist/esm/index-f51bf247.js +0 -14
- package/dist/esm/index-f51bf247.js.map +0 -1
- package/dist/esm/ix-checkbox-group.entry.js +0 -52
- package/dist/esm/ix-checkbox-group.entry.js.map +0 -1
- package/dist/esm/ix-checkbox.entry.js +0 -110
- package/dist/esm/ix-checkbox.entry.js.map +0 -1
- package/dist/esm/ix-custom-field.entry.js +0 -61
- package/dist/esm/ix-custom-field.entry.js.map +0 -1
- package/dist/esm/ix-date-field.entry.js +0 -251
- package/dist/esm/ix-date-field.entry.js.map +0 -1
- package/dist/esm/ix-field-label_3.entry.js.map +0 -1
- package/dist/esm/ix-helper-text.entry.js +0 -66
- package/dist/esm/ix-helper-text.entry.js.map +0 -1
- package/dist/esm/ix-layout-form.entry.js +0 -90
- package/dist/esm/ix-layout-form.entry.js.map +0 -1
- package/dist/esm/ix-number-field.entry.js +0 -144
- package/dist/esm/ix-number-field.entry.js.map +0 -1
- package/dist/esm/ix-radio-group.entry.js +0 -112
- package/dist/esm/ix-radio-group.entry.js.map +0 -1
- package/dist/esm/ix-radio.entry.js +0 -92
- package/dist/esm/ix-radio.entry.js.map +0 -1
- package/dist/esm/ix-text-field.entry.js +0 -147
- package/dist/esm/ix-text-field.entry.js.map +0 -1
- package/dist/esm/ix-textarea-field.entry.js +0 -114
- package/dist/esm/ix-textarea-field.entry.js.map +0 -1
- package/dist/esm/make-ref-6b3b4e16.js.map +0 -1
- package/dist/esm/service-02cc9011.js.map +0 -1
- package/dist/esm/text-field.util-6a84bffd.js +0 -167
- package/dist/esm/text-field.util-6a84bffd.js.map +0 -1
- package/dist/esm/validation-9db7dfa3.js +0 -112
- package/dist/esm/validation-9db7dfa3.js.map +0 -1
- package/dist/siemens-ix/p-02ed5606.entry.js +0 -2
- package/dist/siemens-ix/p-08215ad3.entry.js +0 -2
- package/dist/siemens-ix/p-08215ad3.entry.js.map +0 -1
- package/dist/siemens-ix/p-0bed10af.entry.js +0 -2
- package/dist/siemens-ix/p-0d907964.entry.js +0 -2
- package/dist/siemens-ix/p-0dfc3b80.entry.js +0 -2
- package/dist/siemens-ix/p-18d15442.entry.js +0 -2
- package/dist/siemens-ix/p-277980fa.entry.js +0 -2
- package/dist/siemens-ix/p-277980fa.entry.js.map +0 -1
- package/dist/siemens-ix/p-36c0f378.js +0 -2
- package/dist/siemens-ix/p-36c0f378.js.map +0 -1
- package/dist/siemens-ix/p-3782e028.js +0 -2
- package/dist/siemens-ix/p-3782e028.js.map +0 -1
- package/dist/siemens-ix/p-399bb0ce.entry.js +0 -2
- package/dist/siemens-ix/p-4017727a.entry.js +0 -2
- package/dist/siemens-ix/p-4017727a.entry.js.map +0 -1
- package/dist/siemens-ix/p-42c66a44.js +0 -2
- package/dist/siemens-ix/p-42c66a44.js.map +0 -1
- package/dist/siemens-ix/p-4a335b55.entry.js +0 -2
- package/dist/siemens-ix/p-4a335b55.entry.js.map +0 -1
- package/dist/siemens-ix/p-50cae62d.entry.js +0 -2
- package/dist/siemens-ix/p-53e62b51.entry.js +0 -2
- package/dist/siemens-ix/p-56d01130.entry.js +0 -2
- package/dist/siemens-ix/p-56d01130.entry.js.map +0 -1
- package/dist/siemens-ix/p-5a6d8b69.entry.js +0 -2
- package/dist/siemens-ix/p-5a6d8b69.entry.js.map +0 -1
- package/dist/siemens-ix/p-5bf40a9f.entry.js +0 -2
- package/dist/siemens-ix/p-6bd0ba14.entry.js.map +0 -1
- package/dist/siemens-ix/p-6f83793b.entry.js +0 -2
- package/dist/siemens-ix/p-6f83793b.entry.js.map +0 -1
- package/dist/siemens-ix/p-702f9349.js.map +0 -1
- package/dist/siemens-ix/p-70a7bd22.entry.js +0 -2
- package/dist/siemens-ix/p-70a7bd22.entry.js.map +0 -1
- package/dist/siemens-ix/p-73e0eb40.entry.js +0 -2
- package/dist/siemens-ix/p-73e0eb40.entry.js.map +0 -1
- package/dist/siemens-ix/p-79c848ec.entry.js +0 -2
- package/dist/siemens-ix/p-7f4b78e5.js +0 -2
- package/dist/siemens-ix/p-7f4b78e5.js.map +0 -1
- package/dist/siemens-ix/p-9010831e.entry.js +0 -2
- package/dist/siemens-ix/p-9010831e.entry.js.map +0 -1
- package/dist/siemens-ix/p-a9b0c087.entry.js +0 -2
- package/dist/siemens-ix/p-ac6c6d3f.entry.js +0 -2
- package/dist/siemens-ix/p-ac6c6d3f.entry.js.map +0 -1
- package/dist/siemens-ix/p-b9b59a08.entry.js +0 -2
- package/dist/siemens-ix/p-b9b59a08.entry.js.map +0 -1
- package/dist/siemens-ix/p-bc1e92ac.js +0 -2
- package/dist/siemens-ix/p-c3db120e.entry.js +0 -2
- package/dist/siemens-ix/p-c66e4a5f.entry.js +0 -2
- package/dist/siemens-ix/p-c71d1690.entry.js +0 -2
- package/dist/siemens-ix/p-c71d1690.entry.js.map +0 -1
- package/dist/siemens-ix/p-cce7a3d5.js +0 -2
- package/dist/siemens-ix/p-cce7a3d5.js.map +0 -1
- package/dist/siemens-ix/p-ce8a0611.entry.js +0 -2
- package/dist/siemens-ix/p-ce8a0611.entry.js.map +0 -1
- package/dist/siemens-ix/p-cf65d3b6.entry.js +0 -2
- package/dist/siemens-ix/p-cf65d3b6.entry.js.map +0 -1
- package/dist/siemens-ix/p-da8517ed.js +0 -2
- package/dist/siemens-ix/p-da8517ed.js.map +0 -1
- package/dist/siemens-ix/p-dead9c8e.js +0 -2
- package/dist/siemens-ix/p-dead9c8e.js.map +0 -1
- package/dist/siemens-ix/p-ef6171a2.entry.js +0 -2
- package/dist/siemens-ix/p-f22e4bb2.entry.js +0 -2
- package/dist/siemens-ix/p-f22e4bb2.entry.js.map +0 -1
- package/dist/siemens-ix/p-f3c3366d.entry.js +0 -2
- package/dist/siemens-ix/p-f86a894a.js +0 -3
- package/dist/siemens-ix/p-f86a894a.js.map +0 -1
- package/dist/types/components/checkbox/checkbox.d.ts +0 -61
- package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +0 -1
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +0 -40
- package/dist/types/components/custom-field/custom-field.d.ts +0 -46
- package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +0 -1
- package/dist/types/components/date-field/date-field.d.ts +0 -127
- package/dist/types/components/date-field/tests/date-field.ct.d.ts +0 -1
- package/dist/types/components/field-label/field-label.d.ts +0 -27
- package/dist/types/components/field-label/tests/field-label.ct.d.ts +0 -1
- package/dist/types/components/field-wrapper/field-wrapper.d.ts +0 -64
- package/dist/types/components/field-wrapper/helper-text-util.d.ts +0 -11
- package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +0 -1
- package/dist/types/components/helper-text/helper-text.d.ts +0 -37
- package/dist/types/components/layout-form/layout-form.d.ts +0 -22
- package/dist/types/components/radio/radio.d.ts +0 -53
- package/dist/types/components/radio/test/radio.ct.d.ts +0 -1
- package/dist/types/components/radio-group/radio-group.d.ts +0 -60
- package/dist/types/components/radio-group/test/radio-group.ct.d.ts +0 -1
- package/dist/types/components/text-field/input.fc.d.ts +0 -50
- package/dist/types/components/text-field/number-field.d.ts +0 -117
- package/dist/types/components/text-field/tests/form-ready.ct.d.ts +0 -1
- package/dist/types/components/text-field/text-field.animation.d.ts +0 -1
- package/dist/types/components/text-field/text-field.d.ts +0 -119
- package/dist/types/components/text-field/text-field.util.d.ts +0 -13
- package/dist/types/components/text-field/textarea-field.d.ts +0 -127
- package/dist/types/components/utils/attributes.d.ts +0 -2
- package/dist/types/components/utils/field/index.d.ts +0 -60
- package/dist/types/components/utils/field/validation.d.ts +0 -15
- package/dist/types/components/utils/testing/index.d.ts +0 -0
- package/dist/types/components/utils/uuid.d.ts +0 -1
- package/scss/mixins/_field.scss +0 -18
- package/scss/mixins/validation/_form-component.scss +0 -63
- /package/dist/siemens-ix/{p-9cc0d11b.entry.js.map → p-052340f9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-dde0af66.entry.js.map → p-0653a145.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ac05950c.entry.js.map → p-0b4e398e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-224ebf90.js.map → p-0c8a98cd.js.map} +0 -0
- /package/dist/siemens-ix/{p-ef6171a2.entry.js.map → p-0d2a6886.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4b69ab0d.entry.js.map → p-0f7ef743.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6ca97a73.entry.js.map → p-113cc793.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1f771917.entry.js.map → p-14a41c8c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-787293f4.entry.js.map → p-15b3c17e.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c3db120e.entry.js.map → p-16b923e9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3b38f812.entry.js.map → p-1a122c76.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-83b8b502.entry.js.map → p-1cff59db.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ed991838.js.map → p-1d581190.js.map} +0 -0
- /package/dist/siemens-ix/{p-37ca7ed4.js.map → p-1db6be55.js.map} +0 -0
- /package/dist/siemens-ix/{p-1ec8d2b9.entry.js.map → p-1f4b8463.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-846cf6d2.entry.js.map → p-24a8737a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fad5daa1.entry.js.map → p-2908cacd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-80051a81.entry.js.map → p-2946fd70.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b973db5e.entry.js.map → p-29df2e29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-35690183.entry.js.map → p-2c4c03d4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-edd99767.entry.js.map → p-2ec7f841.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-576b09c9.entry.js.map → p-309ac3ad.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-50cae62d.entry.js.map → p-32375ddb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a9b0c087.entry.js.map → p-32d4ed3b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-cfcd2bd3.entry.js.map → p-427676f4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b6c0dfb5.entry.js.map → p-4430117a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0dfc3b80.entry.js.map → p-44db3646.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5924a783.entry.js.map → p-453fa360.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-399bb0ce.entry.js.map → p-4b3facea.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f0bbd496.entry.js.map → p-53352bfb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9840f086.entry.js.map → p-5aa0b93c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-628c8612.entry.js.map → p-5c673ae9.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b5c4fd55.entry.js.map → p-5f25e7fd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1df98c59.entry.js.map → p-60c16878.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0681f4d8.entry.js.map → p-6227e62b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bc1e92ac.js.map → p-68532fa2.js.map} +0 -0
- /package/dist/siemens-ix/{p-b0fe18f7.entry.js.map → p-68644ee1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8a9fc2f0.entry.js.map → p-6af4415c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8dcf30ce.entry.js.map → p-6fd7ecd0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ec0806c3.entry.js.map → p-7076210b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-86b46723.entry.js.map → p-713828ed.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8e10d2f2.entry.js.map → p-7bfd6cd2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5bf40a9f.entry.js.map → p-7faa148f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-97f475db.entry.js.map → p-8629db91.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-75c61fbf.entry.js.map → p-8d0758c1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3a5f7b61.entry.js.map → p-8d599677.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f3c3366d.entry.js.map → p-92a18c10.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-06965e5f.entry.js.map → p-96a3a750.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-921c59c4.entry.js.map → p-9ebc4fc3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d7131f75.entry.js.map → p-a0138163.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3730ac72.entry.js.map → p-a0a44a2b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3de71a19.entry.js.map → p-a8d291fa.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c6dcff7e.entry.js.map → p-af099ca4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0bed10af.entry.js.map → p-b3b23af7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f37ac17d.entry.js.map → p-b4ce366d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-293dd6d1.entry.js.map → p-b663ca16.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9569e1a2.entry.js.map → p-b804b8c5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b789e0e7.entry.js.map → p-bc2c74c5.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8d737a35.entry.js.map → p-bea7c748.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-781a1922.entry.js.map → p-bf14c60b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c66e4a5f.entry.js.map → p-c1222581.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-934ae9a0.entry.js.map → p-c1968b80.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e1bd7b4f.entry.js.map → p-c33cee36.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5eb935a3.entry.js.map → p-c45601cb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-815dd9a1.entry.js.map → p-c55db6c7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-87d7aaf9.entry.js.map → p-d14024d3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-2442ad01.entry.js.map → p-d1f49940.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-61265df9.entry.js.map → p-d95cbd1f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e72dfb3c.entry.js.map → p-d998415f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-628f031a.entry.js.map → p-dcb3e5be.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-724b98ce.entry.js.map → p-dde7eb80.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ae7fdfa6.entry.js.map → p-e30ed20a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-15a5bc5a.entry.js.map → p-e8d3cf35.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-aca94a5e.entry.js.map → p-e9a3f58a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b8ed7953.entry.js.map → p-ebb277f0.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e5218382.entry.js.map → p-f07110c6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6c412b52.entry.js.map → p-f78246bd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-104097fb.entry.js.map → p-fb2b78f7.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-aae05303.entry.js.map → p-fb47546b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-53e62b51.entry.js.map → p-fb4c79c6.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9ec92185.entry.js.map → p-fc5814df.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-bd24bbde.entry.js.map → p-feac09bc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-35fa9e1a.entry.js.map → p-ff1ac5b3.entry.js.map} +0 -0
|
@@ -86,7 +86,7 @@ export class Drawer {
|
|
|
86
86
|
this.onShowChanged(this.show);
|
|
87
87
|
}
|
|
88
88
|
render() {
|
|
89
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: '4cb0a06786c80cd977ebfbbfef6c23d6e7926d86', class: {
|
|
90
90
|
'drawer-container': true,
|
|
91
91
|
toggle: this.show,
|
|
92
92
|
'full-height': this.fullHeight,
|
|
@@ -95,7 +95,7 @@ export class Drawer {
|
|
|
95
95
|
width: this.width === 'auto' ? this.width : `${this.width}rem`,
|
|
96
96
|
'min-width': `${this.minWidth}rem`,
|
|
97
97
|
'max-width': `${this.maxWidth}rem`,
|
|
98
|
-
}, ref: (el) => (this.divElement = el), "data-testid": "container", id: "div-container" }, h("div", { key: '
|
|
98
|
+
}, ref: (el) => (this.divElement = el), "data-testid": "container", id: "div-container" }, h("div", { key: '63c8952c342a1d412237ab82f96ac063c0a30158', class: "header" }, h("div", { key: '4a8525053f3954b3b83dac4f8b012f005e9725b7', class: "header-content" }, h("slot", { key: '55b887208a3bdc445950c2e5f153cfaa1ba89068', name: "header" })), h("ix-icon-button", { key: '84b5b11f21d4d768c0118450147bf74d6e0a1400', class: "close-button", icon: 'close', size: "24", ghost: true, onClick: () => this.onCloseClicked(), "data-testid": "close-button" })), h("div", { key: '00079cfb6504ed6fa44c23209787add116e72591', class: "content" }, h("slot", { key: '3de3610ac265b9eda7d69eedf28494b47861c7e3' }))));
|
|
99
99
|
}
|
|
100
100
|
static get is() { return "ix-drawer"; }
|
|
101
101
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,9 +29,6 @@ class DropdownController {
|
|
|
29
29
|
disconnected(dropdown) {
|
|
30
30
|
this.dropdowns.delete(dropdown.getId());
|
|
31
31
|
}
|
|
32
|
-
getDropdownById(id) {
|
|
33
|
-
return this.dropdowns.get(id);
|
|
34
|
-
}
|
|
35
32
|
discoverSubmenus() {
|
|
36
33
|
this.dropdowns.forEach((dropdown) => {
|
|
37
34
|
dropdown.discoverSubmenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-controller.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-controller.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n getDropdownById(id: string) {\n return this.dropdowns.get(id);\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown-controller.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown-controller.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { IxComponent } from '../utils/internal';\nexport type CloseBehavior = 'inside' | 'outside' | 'both' | boolean;\n\nexport interface DropdownInterface extends IxComponent {\n closeBehavior: CloseBehavior;\n discoverAllSubmenus: boolean;\n\n getAssignedSubmenuIds(): string[];\n getId(): string;\n\n discoverSubmenu(): void;\n\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport function hasDropdownItemWrapperImplemented(\n item: unknown\n): item is DropdownItemWrapper {\n return (\n item &&\n (item as DropdownItemWrapper).getDropdownItemElement !== undefined &&\n typeof (item as DropdownItemWrapper).getDropdownItemElement === 'function'\n );\n}\n\nexport interface DropdownItemWrapper {\n getDropdownItemElement(): Promise<HTMLIxDropdownItemElement>;\n}\n\ntype SubmenuIds = Record<string, string[]>;\n\nclass DropdownController {\n private dropdowns: Map<string, DropdownInterface> = new Map<\n string,\n DropdownInterface\n >();\n private submenuIds: SubmenuIds = {};\n\n private isWindowListenerActive = false;\n\n connected(dropdown: DropdownInterface) {\n if (!this.isWindowListenerActive) {\n this.addOverlayListeners();\n }\n this.dropdowns.set(dropdown.getId(), dropdown);\n\n if (dropdown.discoverAllSubmenus) {\n this.discoverSubmenus();\n }\n }\n\n disconnected(dropdown: DropdownInterface) {\n this.dropdowns.delete(dropdown.getId());\n }\n\n discoverSubmenus() {\n this.dropdowns.forEach((dropdown) => {\n dropdown.discoverSubmenu();\n });\n }\n\n present(dropdown: DropdownInterface) {\n if (!dropdown.isPresent() && dropdown.willPresent()) {\n this.submenuIds[dropdown.getId()] = dropdown.getAssignedSubmenuIds();\n dropdown.present();\n }\n }\n\n dismissChildren(uid: string) {\n const childIds = this.submenuIds[uid] || [];\n for (const id of childIds) {\n this.dismiss(this.dropdowns.get(id));\n }\n }\n\n dismiss(dropdown: DropdownInterface) {\n if (dropdown.isPresent() && dropdown.willDismiss()) {\n this.dismissChildren(dropdown.getId());\n dropdown.dismiss();\n delete this.submenuIds[dropdown.getId()];\n }\n }\n\n dismissAll(\n ignoreBehaviorForIds: string[] = [],\n ignoreRelatedDropdowns = false\n ) {\n this.dropdowns.forEach((dropdown) => {\n const preventClosing =\n dropdown.closeBehavior === 'inside' || dropdown.closeBehavior === false;\n\n const shouldIgnore = ignoreBehaviorForIds.includes(dropdown.getId());\n const path = this.buildComposedPath(dropdown.getId(), new Set<string>());\n\n if (ignoreBehaviorForIds.length > 0 && ignoreRelatedDropdowns) {\n let skipRelatedDropdown = false;\n\n ignoreBehaviorForIds.forEach((id) => {\n if (path.has(id)) {\n skipRelatedDropdown = true;\n return;\n }\n });\n\n if (!skipRelatedDropdown) {\n return;\n }\n }\n\n if (!shouldIgnore && preventClosing) {\n return;\n }\n\n this.dismiss(dropdown);\n });\n }\n\n dismissOthers(uid: string) {\n let path = this.buildComposedPath(uid, new Set<string>());\n path.add(uid);\n\n this.dropdowns.forEach((dropdown) => {\n if (\n dropdown.closeBehavior !== 'inside' &&\n dropdown.closeBehavior !== false &&\n !path.has(dropdown.getId())\n ) {\n this.dismiss(dropdown);\n }\n });\n }\n\n pathIncludesTrigger(eventTargets: EventTarget[]) {\n for (let eventTarget of eventTargets) {\n if (eventTarget instanceof HTMLElement) {\n if (eventTarget.hasAttribute('data-ix-dropdown-trigger')) {\n return eventTarget;\n }\n }\n }\n\n return;\n }\n\n private pathIncludesDropdown(eventTargets: EventTarget[]) {\n return !!eventTargets.find(\n (element: HTMLElement) => element.tagName === 'IX-DROPDOWN'\n );\n }\n\n private buildComposedPath(id: string, path: Set<string>): Set<string> {\n if (this.submenuIds[id]) {\n path.add(id);\n }\n\n for (const ruleKey of Object.keys(this.submenuIds)) {\n if (this.submenuIds[ruleKey].includes(id)) {\n this.buildComposedPath(ruleKey, path).forEach((key) => path.add(key));\n }\n }\n\n return path;\n }\n\n private addOverlayListeners() {\n this.isWindowListenerActive = true;\n\n window.addEventListener('click', (event: PointerEvent) => {\n const hasTrigger = this.pathIncludesTrigger(event.composedPath());\n const hasDropdown = this.pathIncludesDropdown(event.composedPath());\n\n if (!hasTrigger && !hasDropdown) {\n this.dismissAll();\n }\n });\n\n window.addEventListener('keydown', (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.dismissAll([...this.dropdowns.keys()]);\n }\n });\n }\n}\n\nexport const addDisposableEventListener = (\n element: Element | Window | Document,\n eventType: string,\n callback: EventListenerOrEventListenerObject\n) => {\n element.addEventListener(eventType, callback);\n\n return () => {\n element.removeEventListener(eventType, callback);\n };\n};\n\nexport const addDisposableEventListenerAsArray = (\n listener: {\n element: Element | Window | Document;\n eventType: string;\n callback: EventListenerOrEventListenerObject;\n }[]\n) => {\n const disposables = listener.map(({ callback, element, eventType }) =>\n addDisposableEventListener(element, eventType, callback)\n );\n\n return () => disposables.forEach((dispose) => dispose());\n};\n\nexport const dropdownController = new DropdownController();\n"]}
|
|
@@ -190,7 +190,7 @@ export class Dropdown {
|
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
192
|
async changedShow(newShow) {
|
|
193
|
-
var _a, _b
|
|
193
|
+
var _a, _b;
|
|
194
194
|
if (newShow) {
|
|
195
195
|
this.anchorElement = await (this.anchor
|
|
196
196
|
? this.resolveElement(this.anchor)
|
|
@@ -207,8 +207,8 @@ export class Dropdown {
|
|
|
207
207
|
}
|
|
208
208
|
else {
|
|
209
209
|
(_a = this.arrowFocusController) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
210
|
-
|
|
211
|
-
(
|
|
210
|
+
this.itemObserver.disconnect();
|
|
211
|
+
(_b = this.disposeKeyListener) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
changedTrigger(newTriggerValue) {
|
|
@@ -300,6 +300,9 @@ export class Dropdown {
|
|
|
300
300
|
event.preventDefault();
|
|
301
301
|
}
|
|
302
302
|
if (this.isTriggerElement(target)) {
|
|
303
|
+
if (this.closeBehavior === 'outside') {
|
|
304
|
+
event.preventDefault();
|
|
305
|
+
}
|
|
303
306
|
return;
|
|
304
307
|
}
|
|
305
308
|
}
|
|
@@ -317,7 +320,7 @@ export class Dropdown {
|
|
|
317
320
|
this.applyDropdownPosition();
|
|
318
321
|
}
|
|
319
322
|
render() {
|
|
320
|
-
return (h(Host, { key: '
|
|
323
|
+
return (h(Host, { key: '4f50f3c00bce087ae0c36c463f49c29adfe20f78', "data-ix-dropdown": this.localUId, ref: (ref) => (this.dropdownRef = ref), class: {
|
|
321
324
|
'dropdown-menu': true,
|
|
322
325
|
show: this.show,
|
|
323
326
|
overflow: true,
|
|
@@ -325,7 +328,7 @@ export class Dropdown {
|
|
|
325
328
|
margin: '0',
|
|
326
329
|
minWidth: '0px',
|
|
327
330
|
position: this.positioningStrategy,
|
|
328
|
-
}, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: '
|
|
331
|
+
}, role: "list", onClick: (event) => this.onDropdownClick(event) }, h("div", { key: 'be529e836ffcf39ed344416cb41d1cc45a0d9abb', style: { display: 'contents' } }, this.header && h("div", { key: 'af768a37fd188144b84836abc87b3fd06f0b4808', class: "dropdown-header" }, this.header), this.show && h("slot", { key: 'faa1cadf506b823d624557f8b2bef5b283d8fc04' }))));
|
|
329
332
|
}
|
|
330
333
|
static get is() { return "ix-dropdown"; }
|
|
331
334
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,UAAU,EACV,eAAe,EAEf,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,GACN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAE1B,kBAAkB,EAElB,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAG/B,IAAI,UAAU,GAAG,CAAC,CAAC;AAOnB,MAAM,OAAO,QAAQ;;QAiFX,sBAAiB,GAAe,IAAI,CAAC;QAMrC,aAAQ,GAAG,YAAY,UAAU,EAAE,EAAE,CAAC;QACtC,oBAAe,GAAa,EAAE,CAAC;QAG/B,0BAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1D,iBAAY,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACvD,CAAC,CAAC,CAAC;0CAvFkC,KAAK;oBAKK,KAAK;;;6BAiBb,MAAM;yBAKP,cAAc;mCAKA,OAAO;;;;mCA+B7B,KAAK;oCAGJ,KAAK;;IAuBpC,iBAAiB;QACf,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAGD,cAAc,CAAC,KAA0B;QACvC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACjC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,WAAW;QACT,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,gBAAgB,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,OAAO,CAAC,gBAAgB,CAAC;IAC3B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAKO,oBAAoB;;QAC1B,MAAA,IAAI,CAAC,oBAAoB,oDAAI,CAAC;QAC9B,MAAA,IAAI,CAAC,kBAAkB,oDAAI,CAAC;QAE5B,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtB,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,IAAI,CAAC,oBAAoB,GAAG,0BAA0B,CACpD,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,CAAC,KAAmB,EAAE,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAC/B,0BAA0B,EAC1B,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,eAAe;;QACnB,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,CAChC,IAAI,WAAW,CAAC,oBAAoB,EAAE;YACpC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,CAClD,IAAI,CAAC,cAAc,EACnB,SAAS,EACT,CAAC,KAAoB,EAAE,EAAE;YACvB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnD,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEjC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,OAAoD;QAEpD,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAoD;QAEpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,OAAgB;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,iCAAiC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAC5D,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,+BAA+B,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC1C,OAAqC,CAAC,SAAS,GAAG,IAAI,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,+BAA+B,CAAC;QAClE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,WAAW,CACjB,OAAoD;QAEpD,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;gBACzC,IAAI,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC9B,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,WAAW,CAAC,OAAgB;;QAChC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;gBACrC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAClD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC1C,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAA,IAAI,CAAC,oBAAoB,0CAAE,UAAU,EAAE,CAAC;YACxC,MAAA,IAAI,CAAC,YAAY,0CAAE,UAAU,EAAE,CAAC;YAChC,MAAA,IAAI,CAAC,kBAAkB,oDAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAGD,cAAc,CAAC,eAA4D;QACzE,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAEO,eAAe;;QACrB,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,+DAA+D;YAC/D,iCAAiC;YACjC,OAAO,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,IAAI,cAAc,GAAmC;YACnD,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,UAAU,EAAE,EAAE;SACf,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,cAAc,CAAC,UAAU,CAAC,IAAI,CAC5B,IAAI,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,CAC/C,CAAC;QACJ,CAAC;QAED,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEtE,cAAc,CAAC,UAAU,GAAG;YAC1B,GAAG,cAAc,CAAC,UAAU;YAC5B,MAAM,EAAE;YACR,KAAK,EAAE;SACR,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,UAAU,CACjC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,KAAK,IAAI,EAAE;YACT,MAAM,eAAe,GAAG,MAAM,eAAe,CAC3C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,EAChB,cAAc,CACf,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,GAAG;gBACT,SAAS,EAAE,aAAa,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CACnE,eAAe,CAAC,CAAC,CAClB,KAAK;aACP,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;oBACvD,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,cAA6B;iBAC/C,CAAC,CAAC;gBAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,EACD;YACE,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB,CACF,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,qBAAqB,CAAC,GAAG,EAAE;;YACzB,MAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0CAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;YACrC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB,CAAC,OAAoB;QAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;QAEnE,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,KAAmB;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;gBACnC,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,CAAC;YAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;QACH,CAAC;QAED,IACE,CAAC,KAAK,CAAC,gBAAgB;YACvB,CAAC,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,EAClE,CAAC;YACD,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,yEACe,IAAI,CAAC,QAAQ,EAC/B,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,EACtC,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI;aACf,EACD,KAAK,EAAE;gBACL,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI,CAAC,mBAAmB;aACnC,EACD,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,KAAmB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAE7D,4DAAK,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;gBAChC,IAAI,CAAC,MAAM,IAAI,4DAAK,KAAK,EAAC,iBAAiB,IAAE,IAAI,CAAC,MAAM,CAAO;gBAChE,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../src/components/dropdown/dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n addDisposableEventListener,\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor: string | HTMLElement;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialisation of this dropdown is expected to be defered submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged: EventEmitter<boolean>;\n\n private autoUpdateCleanup: () => void = null;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n\n private dropdownRef: HTMLElement;\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private arrowFocusController: ArrowFocusController;\n private focusDropdownItemBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = new MutationObserver(() => {\n this.arrowFocusController.items = this.dropdownItems;\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot.querySelector('slot');\n }\n\n private disposeClickListener?: () => void;\n private disposeKeyListener?: () => void;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: PointerEvent) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n (event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }\n );\n }\n\n private async registerListener(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ) {\n const el = await this.findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element: Element) {\n if (!element) {\n return null;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private findElement(\n element: string | HTMLElement | Promise<HTMLElement>\n ): Promise<Element> {\n if (element instanceof Promise) {\n return element;\n }\n\n if (typeof element === 'object') {\n return Promise.resolve(element);\n }\n\n if (typeof element != 'string') {\n return;\n }\n\n const selector = `#${element}`;\n return new Promise((resolve) => {\n if (document.querySelector(selector)) {\n return resolve(document.querySelector(selector));\n }\n\n const observer = new MutationObserver(() => {\n if (document.querySelector(selector)) {\n resolve(document.querySelector(selector));\n observer.disconnect();\n }\n });\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n });\n });\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.dropdownRef,\n this.focusDropdownItemBind\n );\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.arrowFocusController?.disconnect();\n this.itemObserver.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: string | HTMLElement | Promise<HTMLElement>) {\n this.registerListener(newTriggerValue);\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n if (!this.dropdownRef) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...positionConfig.middleware,\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = null;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.dropdownRef,\n async () => {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.dropdownRef,\n positionConfig\n );\n Object.assign(this.dropdownRef.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(computeResponse.x)}px,${Math.round(\n computeResponse.y\n )}px)`,\n });\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.dropdownRef,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.dropdownRef.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n this.dropdownItems[index]?.shadowRoot.querySelector('button').focus();\n });\n }\n\n async componentDidLoad() {\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n this.anchorElement = await (this.anchor\n ? this.resolveElement(this.anchor)\n : this.resolveElement(this.trigger));\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n ref={(ref) => (this.dropdownRef = ref)}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: true,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -20,4 +20,32 @@ test('renders', async ({ mount, page }) => {
|
|
|
20
20
|
await item.click();
|
|
21
21
|
await expect(item).not.toBeVisible();
|
|
22
22
|
});
|
|
23
|
+
test('close behavior - outside', async ({ mount, page }) => {
|
|
24
|
+
await mount(`
|
|
25
|
+
<ix-dropdown-button close-behavior="outside" label="Open">
|
|
26
|
+
<ix-dropdown-item label="Test"></ix-dropdown-item>
|
|
27
|
+
</ix-dropdown-button>
|
|
28
|
+
`);
|
|
29
|
+
await page.locator('ix-dropdown-button').click();
|
|
30
|
+
const item = page.locator('ix-dropdown-item');
|
|
31
|
+
await expect(item).toBeVisible();
|
|
32
|
+
await item.click();
|
|
33
|
+
await expect(item).toBeVisible();
|
|
34
|
+
});
|
|
35
|
+
test('submenu', async ({ mount, page }) => {
|
|
36
|
+
await mount(`
|
|
37
|
+
<ix-dropdown-button close-behavior="outside" label="Open">
|
|
38
|
+
<ix-dropdown-item label="Test" id="submenu"></ix-dropdown-item>
|
|
39
|
+
</ix-dropdown-button>
|
|
40
|
+
<ix-dropdown close-behavior="outside" trigger="submenu">
|
|
41
|
+
<ix-dropdown-item label="Subitem"></ix-dropdown-item>
|
|
42
|
+
</ix-dropdown>
|
|
43
|
+
`);
|
|
44
|
+
await page.locator('ix-dropdown-button').click();
|
|
45
|
+
const item = page.locator('ix-dropdown-item').first();
|
|
46
|
+
await item.click();
|
|
47
|
+
const subItem = page.locator('ix-dropdown-item').last();
|
|
48
|
+
await subItem.click();
|
|
49
|
+
await expect(subItem).toBeVisible();
|
|
50
|
+
});
|
|
23
51
|
//# sourceMappingURL=dropdown-button.ct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-button.ct.js","sourceRoot":"","sources":["../../../src/components/dropdown-button/dropdown-button.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,MAAM,KAAK,CAAC;;;;GAIX,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-dropdown-button label=\"Open\">\n <ix-dropdown-item label=\"Test\"></ix-dropdown-item>\n </ix-dropdown-button>\n `);\n\n await page.locator('ix-dropdown-button').click();\n const item = page.locator('ix-dropdown-item');\n await expect(item).toBeVisible();\n\n await item.click();\n await expect(item).not.toBeVisible();\n});\n"]}
|
|
1
|
+
{"version":3,"file":"dropdown-button.ct.js","sourceRoot":"","sources":["../../../src/components/dropdown-button/dropdown-button.ct.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,MAAM,KAAK,CAAC;;;;GAIX,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACzD,MAAM,KAAK,CAAC;;;;GAIX,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,MAAM,KAAK,CAAC;;;;;;;GAOX,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IAEtB,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { expect } from '@playwright/test';\nimport { test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-dropdown-button label=\"Open\">\n <ix-dropdown-item label=\"Test\"></ix-dropdown-item>\n </ix-dropdown-button>\n `);\n\n await page.locator('ix-dropdown-button').click();\n const item = page.locator('ix-dropdown-item');\n await expect(item).toBeVisible();\n\n await item.click();\n await expect(item).not.toBeVisible();\n});\n\ntest('close behavior - outside', async ({ mount, page }) => {\n await mount(`\n <ix-dropdown-button close-behavior=\"outside\" label=\"Open\">\n <ix-dropdown-item label=\"Test\"></ix-dropdown-item>\n </ix-dropdown-button>\n `);\n\n await page.locator('ix-dropdown-button').click();\n const item = page.locator('ix-dropdown-item');\n await expect(item).toBeVisible();\n\n await item.click();\n await expect(item).toBeVisible();\n});\n\ntest('submenu', async ({ mount, page }) => {\n await mount(`\n <ix-dropdown-button close-behavior=\"outside\" label=\"Open\">\n <ix-dropdown-item label=\"Test\" id=\"submenu\"></ix-dropdown-item>\n </ix-dropdown-button>\n <ix-dropdown close-behavior=\"outside\" trigger=\"submenu\">\n <ix-dropdown-item label=\"Subitem\"></ix-dropdown-item>\n </ix-dropdown>\n `);\n\n await page.locator('ix-dropdown-button').click();\n const item = page.locator('ix-dropdown-item').first();\n await item.click();\n const subItem = page.locator('ix-dropdown-item').last();\n await subItem.click();\n\n await expect(subItem).toBeVisible();\n});\n"]}
|
|
@@ -34,11 +34,11 @@ export class DropdownButton {
|
|
|
34
34
|
} }));
|
|
35
35
|
}
|
|
36
36
|
render() {
|
|
37
|
-
return (h(Host, { key: '
|
|
37
|
+
return (h(Host, { key: '8669f7d302b6009aa9ab9cadb3c86e4bbcc6330f', class: {
|
|
38
38
|
disabled: this.disabled,
|
|
39
39
|
}, ref: (ref) => {
|
|
40
40
|
this.dropdownAnchor = ref;
|
|
41
|
-
} }, h("div", { key: '
|
|
41
|
+
} }, h("div", { key: '5561196cfa6584097b0395ca1d4bf61db522b5a8', class: "dropdown-button" }, this.label ? (h("ix-button", { variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled, alignment: "start" }, h("div", { class: 'content' }, this.icon ? (h("ix-icon", { name: this.icon, size: "24", class: 'dropdown-icon' })) : null, h("div", { class: 'button-label' }, this.label), h("ix-icon", { name: 'chevron-down-small', size: "24" })))) : (h("div", null, h("ix-icon-button", { icon: this.icon, variant: this.variant, outline: this.outline, ghost: this.ghost, disabled: this.disabled }), this.getTriangle()))), h("ix-dropdown", { key: '4b738dfff8c84360e1d561560c3b29ba21684de6', class: "dropdown", trigger: this.dropdownAnchor, placement: this.placement, closeBehavior: this.closeBehavior }, h("slot", { key: 'ad15df81aad664b12a3183b45e443b110d2b4393' }))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "ix-dropdown-button"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -15,7 +15,7 @@ export class DropdownHeader {
|
|
|
15
15
|
this.label = undefined;
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
return (h(Host, { key: '
|
|
18
|
+
return (h(Host, { key: '987d6e23477350b4ea2c129802bcf1887970ef08' }, h("ix-typography", { key: '98aa123660b40148119a914d5edd0eb12b161823', class: 'category-text', variant: 'default-title' }, this.label)));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "ix-dropdown-header"; }
|
|
21
21
|
static get encapsulation() { return "shadow"; }
|
|
@@ -33,15 +33,15 @@ export class DropdownItem {
|
|
|
33
33
|
this.icon !== undefined);
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h(Host, { key: '
|
|
36
|
+
return (h(Host, { key: '89da1b5ab639ecb4fe9caa06f16fc7f8cff8cd49', class: {
|
|
37
37
|
hover: this.hover,
|
|
38
38
|
'icon-only': this.isIconOnly(),
|
|
39
39
|
disabled: this.disabled,
|
|
40
40
|
submenu: this.isSubMenu,
|
|
41
|
-
}, role: "listitem" }, h("button", { key: '
|
|
41
|
+
}, role: "listitem" }, h("button", { key: '386ba89dfedf42919298d1d4d189310c364c0acb', type: "button", tabIndex: 0, class: {
|
|
42
42
|
'dropdown-item': true,
|
|
43
43
|
'no-checked-field': this.suppressChecked,
|
|
44
|
-
}, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, h("div", { key: '
|
|
44
|
+
}, onClick: () => this.emitItemClick() }, !this.suppressChecked ? (h("div", { class: "dropdown-item-checked" }, this.checked ? (h("ix-icon", { class: "checkmark", name: 'single-check', size: "16" })) : null)) : null, this.icon ? (h("ix-icon", { class: "dropdown-item-icon", name: this.icon })) : null, h("div", { key: '385eaf4c6c074d1e21eeb55ef1c7956f8f8c4126', class: "dropdown-item-text" }, this.label, h("slot", { key: 'b9e7252f90c080074da87786cf5fce912f8bdb25' })), this.isSubMenu ? (h("ix-icon", { name: 'chevron-right-small', class: 'submenu-icon' })) : null)));
|
|
45
45
|
}
|
|
46
46
|
static get is() { return "ix-dropdown-item"; }
|
|
47
47
|
static get encapsulation() { return "shadow"; }
|
|
@@ -12,7 +12,7 @@ import { h, Host } from "@stencil/core";
|
|
|
12
12
|
*/
|
|
13
13
|
export class DropdownQuickActions {
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: 'cf0b790f201df5ca5cd904de492140d79f49d29a' }, h("slot", { key: 'f2003c2b93ba50b6acb966ab05b036ce6516d829' })));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ix-dropdown-quick-actions"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,7 +19,7 @@ export class EmptyState {
|
|
|
19
19
|
this.action = undefined;
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return (h(Host, { key: '
|
|
22
|
+
return (h(Host, { key: '6a35699c05f5c71ac06952275054124e827f11d1', class: `emptyState emptyState--${this.layout}` }, this.icon && (h("div", { key: 'd5461a77a1e97b201bc93735b9984071f5bbb8eb', class: "emptyState__icon" }, h("ix-icon", { key: '540eb6f4f0413685dc4b5dec247e79b1ab7c984f', name: this.icon, size: this.layout === 'large' ? '32' : '32', color: "color-soft-text" }))), h("div", { key: '30d14aa2ca5f1b6597ee1e7aefa930f6592f1b7b', class: "emptyState__content" }, h("div", { key: 'c3f75186476392f25251701003bba78d23f7a2bb', class: "content__label" }, h("ix-typography", { key: '357899084359203cc8b06f508658462ed04f9241', variant: this.layout === 'large' ? 'display-large' : 'default' }, this.header), this.subHeader && (h("div", { key: 'a0ce178dc2ab263ec5e1a6627aeb740fce0539fd', class: "label__subHeader" }, this.subHeader))), this.action && (h("div", { key: 'ce163e65fb307b5c5b32fd63e1750caa7456ff41', class: "content__action" }, h("ix-button", { key: '3e32f02186912b49a2b7e9e314531e2a26b79a3b', onClick: () => this.actionClick.emit() }, this.action))))));
|
|
23
23
|
}
|
|
24
24
|
static get is() { return "ix-empty-state"; }
|
|
25
25
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,11 +105,11 @@ export class EventList {
|
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
render() {
|
|
108
|
-
return (h(Host, { key: '
|
|
108
|
+
return (h(Host, { key: '5d7a0f6f6d24eb87a5ea1a777d4deb578d4d4d53', class: {
|
|
109
109
|
'item-size-s': this.itemHeight === 'S',
|
|
110
110
|
'item-size-l': this.itemHeight === 'L',
|
|
111
111
|
compact: this.compact,
|
|
112
|
-
} }, h("ul", { key: '
|
|
112
|
+
} }, h("ul", { key: 'ed377a8c738270044e9a903360105a9ce3a30fa2' }, h("slot", { key: 'cd3f02ca5eb2ce9b6086b249678839cba7b9f7b0' }))));
|
|
113
113
|
}
|
|
114
114
|
static get is() { return "ix-event-list"; }
|
|
115
115
|
static get encapsulation() { return "shadow"; }
|
|
@@ -29,16 +29,16 @@ export class EventListItem {
|
|
|
29
29
|
? `var(${this.color})`
|
|
30
30
|
: `var(--theme-${this.color})`;
|
|
31
31
|
}
|
|
32
|
-
return (h(Host, { key: '
|
|
32
|
+
return (h(Host, { key: 'f4867d7f68254b7f4929ce6746172eb03aa5caea', class: {
|
|
33
33
|
disabled: this.disabled,
|
|
34
|
-
} }, h("li", { key: '
|
|
34
|
+
} }, h("li", { key: '325588cc80c9b8988b37aaeb72a8d9c7affc088e', "aria-disabled": a11yBoolean(this.disabled), class: {
|
|
35
35
|
'event-list-item': true,
|
|
36
36
|
selected: this.selected,
|
|
37
37
|
disabled: this.disabled,
|
|
38
|
-
} }, h("div", { key: '
|
|
38
|
+
} }, h("div", { key: '24ef52d3c26ccb528934fa0366c9ebdce05ca38d', class: `indicator ${!((_c = this.itemColor) !== null && _c !== void 0 ? _c : this.color) ? 'indicator-empty' : ''}`, style: {
|
|
39
39
|
'background-color': ((_d = this.itemColor) !== null && _d !== void 0 ? _d : this.color) ? color : 'inherit',
|
|
40
40
|
opacity: `${this.disabled ? 0.4 : 1}`,
|
|
41
|
-
} }), h("div", { key: '
|
|
41
|
+
} }), h("div", { key: '74fac568b74471bcd6051f25d13bbac6d3aaadb4', class: "event-list-item-container" }, h("div", { key: '47d69475c3d448ca417b1892b30f22e7de77b19f', class: "event-content" }, h("slot", { key: 'c87d4fc509bdbc2041122e274caa2860a2530843' })), this.chevron && (h("ix-icon", { key: '8626b6e5ff1f23163d4a75d5c3a114adc3942c2c', name: 'chevron-right', size: "16", class: "chevron-icon" }))))));
|
|
42
42
|
}
|
|
43
43
|
static get is() { return "ix-event-list-item"; }
|
|
44
44
|
static get encapsulation() { return "shadow"; }
|
|
@@ -52,20 +52,20 @@ export class ExpandingSearch {
|
|
|
52
52
|
this.valueChange.emit(this.value);
|
|
53
53
|
}
|
|
54
54
|
render() {
|
|
55
|
-
return (h(Host, { key: '
|
|
55
|
+
return (h(Host, { key: 'ce6a0b2941966880a2a47a20ddf39820d8110836', class: {
|
|
56
56
|
expanded: this.expanded,
|
|
57
57
|
'right-position': this.expanded,
|
|
58
58
|
fullWidth: this.fullWidth,
|
|
59
|
-
} }, h("ix-icon-button", { key: '
|
|
59
|
+
} }, h("ix-icon-button", { key: 'e773bc67a18476c86d530e14a0b062f1b10caae7', size: this.expanded ? '16' : '24', icon: this.icon, ghost: true, variant: "primary", "data-testid": "button", onClick: () => this.expandInput(), tabindex: this.expanded ? -1 : 0, color: this.hasFocus ? 'input-search-icon--color--focus' : undefined, class: {
|
|
60
60
|
'btn-search': true,
|
|
61
61
|
'btn-search--expanded': this.expanded,
|
|
62
|
-
} }), h("div", { key: '
|
|
62
|
+
} }), h("div", { key: 'ab6b7f77f88713c1b0230a83a3c2eb50df35f340', class: {
|
|
63
63
|
expanded: this.expanded,
|
|
64
64
|
fullWidth: this.fullWidth,
|
|
65
65
|
collapsed: !this.expanded,
|
|
66
66
|
'disable-pointer': !this.expanded,
|
|
67
67
|
'input-container': true,
|
|
68
|
-
}, "data-testid": "input-wrapper" }, h("input", { key: '
|
|
68
|
+
}, "data-testid": "input-wrapper" }, h("input", { key: 'fb3f5e5c926a5eed3d2a0bac878ef806684f9d8d', class: {
|
|
69
69
|
'form-control': true,
|
|
70
70
|
input: this.expanded,
|
|
71
71
|
'disable-pointer': !this.expanded,
|
|
@@ -18,7 +18,7 @@ export class FilterChip {
|
|
|
18
18
|
this.closeClick.emit();
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '215ed3c9b71df4ba795032725d76950f10a33184', class: { disabled: this.disabled, readonly: this.readonly }, title: this.el.textContent }, h("div", { key: '68f822ed7365a1b9375721e5fc9a9ce91bd79313', class: "slot-container" }, h("slot", { key: '8c334798a0c6c274d68564ba12b01d59054c338c' })), !this.disabled && !this.readonly ? (h("ix-icon-button", { ghost: true, oval: true, icon: 'close-small', size: "16", tabindex: this.disabled ? -1 : 0, variant: "primary", disabled: this.disabled, onClick: (e) => this.onCloseClick(e) })) : null));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "ix-filter-chip"; }
|
|
24
24
|
static get encapsulation() { return "shadow"; }
|
|
@@ -59,26 +59,26 @@ export class FlipTile {
|
|
|
59
59
|
}, 2 * this.ANIMATION_DURATION);
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (h(Host, { key: '
|
|
62
|
+
return (h(Host, { key: '6325a67810cec0daa810626fd07fdee585dff321', style: {
|
|
63
63
|
height: `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
|
|
64
64
|
'min-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
|
|
65
65
|
'max-height': `${this.height}${this.height === 'auto' ? '' : 'rem'}`,
|
|
66
66
|
width: `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
|
|
67
67
|
'min-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
|
|
68
68
|
'max-width': `${this.width}${this.width === 'auto' ? '' : 'rem'}`,
|
|
69
|
-
} }, h("div", { key: '
|
|
69
|
+
} }, h("div", { key: 'b32de5296d6f9eaa2a47d7fca8fc37ccc3038ca8', class: {
|
|
70
70
|
'flip-tile-container': true,
|
|
71
71
|
info: this.state === FlipTileState.Info,
|
|
72
72
|
warning: this.state === FlipTileState.Warning,
|
|
73
73
|
alarm: this.state === FlipTileState.Alarm,
|
|
74
74
|
primary: this.state === FlipTileState.Primary,
|
|
75
75
|
'flip-animation-active': this.isFlipAnimationActive,
|
|
76
|
-
} }, h("div", { key: '
|
|
76
|
+
} }, h("div", { key: '547fd0065516281539327d61b7ba4806973b230e', class: "flip-tile-header" }, h("div", { key: '6f6105b466f35d94e7d5c51e6a8d0cd9190fda90', class: "header-slot-container text-l-title" }, h("slot", { key: 'e0d28500f1b867e120308d8ae08d19f8e2ed62ef', name: "header" })), h("ix-icon-button", { key: '9b1115eedef1cd2b5c20322e7126d69a7ddd5367', icon: 'eye', variant: "primary", ghost: true, onClick: () => this.toggleIndex() })), h("div", { key: '208e84bf8a58d0f0d664e6afa61f4c0134c170a1', class: "content-container" }, h("slot", { key: 'e58477ccc1f34df0f10d34b76ebfeb8740e6a2b7' })), h("div", { key: '1d2775674ae6ccf49d45349bb092e62a4edb6839', class: {
|
|
77
77
|
footer: true,
|
|
78
78
|
'contrast-light': this.state === FlipTileState.Warning,
|
|
79
79
|
'contrast-dark': this.state === FlipTileState.Info ||
|
|
80
80
|
this.state === FlipTileState.Alarm,
|
|
81
|
-
} }, h("slot", { key: '
|
|
81
|
+
} }, h("slot", { key: '0876aa784c23b91f289b9feec114d94c5860bf29', name: "footer" })))));
|
|
82
82
|
}
|
|
83
83
|
static get is() { return "ix-flip-tile"; }
|
|
84
84
|
static get encapsulation() { return "shadow"; }
|
|
@@ -12,7 +12,7 @@ export class FlipTileContent {
|
|
|
12
12
|
this.contentVisible = false;
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return h(Host, { key: '
|
|
15
|
+
return h(Host, { key: '5168ef23e528f9bb5a8408a6df292bd2bbadd1fc' }, this.contentVisible ? h("slot", null) : null);
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "ix-flip-tile-content"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|