@siemens/ix 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/a11y.js +3 -2
- package/components/a11y.js.map +1 -1
- package/components/application-header.js +3 -3
- package/components/avatar.js +12 -4
- package/components/avatar.js.map +1 -1
- package/components/base-button.js +2 -2
- package/components/base-button.js.map +1 -1
- package/components/button.js +13 -4
- package/components/button.js.map +1 -1
- package/components/card-accordion.js +5 -5
- package/components/card-accordion.js.map +1 -1
- package/components/card-content.js +1 -1
- package/components/card-title.js +1 -1
- package/components/card.js +4 -4
- package/components/card.js.map +1 -1
- package/components/col.js +1 -1
- package/components/col.js.map +1 -1
- package/components/context.js +5 -2
- package/components/context.js.map +1 -1
- package/components/date-picker.js +65 -43
- package/components/date-picker.js.map +1 -1
- package/components/date-time-card.js +5 -6
- package/components/date-time-card.js.map +1 -1
- package/components/divider.js +1 -1
- package/components/dropdown-controller.js +28 -12
- package/components/dropdown-controller.js.map +1 -1
- package/components/dropdown-item.js +3 -3
- package/components/dropdown.js +103 -82
- package/components/dropdown.js.map +1 -1
- package/components/field-label.js +164 -0
- package/components/field-label.js.map +1 -0
- package/components/field-wrapper.js +97 -0
- package/components/field-wrapper.js.map +1 -0
- package/components/filter-chip.js +1 -1
- package/components/find-element.js +102 -0
- package/components/find-element.js.map +1 -0
- package/components/group-context-menu.js +1 -1
- package/components/group-item.js +2 -2
- package/components/helper-text-util.js +41 -0
- package/components/helper-text-util.js.map +1 -0
- package/components/icon-button.js +2 -2
- package/components/icon-button.js.map +1 -1
- package/components/index.js +43 -5
- package/components/index.js.map +1 -1
- package/components/index3.js +21 -0
- package/components/index3.js.map +1 -0
- package/components/input.util.js +181 -0
- package/components/input.util.js.map +1 -0
- package/components/ix-action-card.js +1 -1
- package/components/ix-action-card.js.map +1 -1
- package/components/ix-application-sidebar.js +1 -1
- package/components/ix-application-switch-modal.js +1 -1
- package/components/ix-application.js +3 -3
- package/components/ix-basic-navigation.js +2 -2
- package/components/ix-blind.js +5 -5
- package/components/ix-blind.js.map +1 -1
- package/components/ix-breadcrumb.js +9 -10
- package/components/ix-breadcrumb.js.map +1 -1
- package/components/ix-card-list.js +10 -7
- package/components/ix-card-list.js.map +1 -1
- package/components/ix-category-filter.js +152 -82
- package/components/ix-category-filter.js.map +1 -1
- package/components/{ix-playground-internal.d.ts → ix-checkbox-group.d.ts} +4 -4
- package/components/ix-checkbox-group.js +111 -0
- package/components/ix-checkbox-group.js.map +1 -0
- package/components/ix-checkbox.d.ts +11 -0
- package/components/ix-checkbox.js +144 -0
- package/components/ix-checkbox.js.map +1 -0
- package/components/ix-chip.js +4 -4
- package/components/ix-content-header.js +2 -2
- package/components/ix-content-header.js.map +1 -1
- package/components/ix-content.js +4 -4
- package/components/ix-content.js.map +1 -1
- package/components/ix-css-grid-item.js +1 -1
- package/components/ix-css-grid.js +8 -3
- package/components/ix-css-grid.js.map +1 -1
- package/components/ix-custom-field.d.ts +11 -0
- package/components/ix-custom-field.js +116 -0
- package/components/ix-custom-field.js.map +1 -0
- package/components/ix-date-dropdown.js +29 -16
- package/components/ix-date-dropdown.js.map +1 -1
- package/components/{ix-form-field.d.ts → ix-date-input.d.ts} +4 -4
- package/components/ix-date-input.js +364 -0
- package/components/ix-date-input.js.map +1 -0
- package/components/ix-datetime-picker.js +11 -11
- package/components/ix-datetime-picker.js.map +1 -1
- package/components/ix-drawer.js +28 -24
- package/components/ix-drawer.js.map +1 -1
- package/components/ix-dropdown-button.js +5 -7
- package/components/ix-dropdown-button.js.map +1 -1
- package/components/ix-dropdown-header.js +1 -1
- package/components/ix-dropdown-header.js.map +1 -1
- package/components/ix-dropdown-quick-actions.js +1 -1
- package/components/ix-empty-state.js +1 -1
- package/components/ix-empty-state.js.map +1 -1
- package/components/ix-event-list-item.js +7 -7
- package/components/ix-event-list-item.js.map +1 -1
- package/components/ix-event-list.js +4 -4
- package/components/ix-event-list.js.map +1 -1
- package/components/ix-expanding-search.js +4 -4
- package/components/ix-field-label.d.ts +11 -0
- package/components/ix-field-label.js +8 -0
- package/components/ix-field-label.js.map +1 -0
- package/components/{ix-modal-example.d.ts → ix-field-wrapper.d.ts} +4 -4
- package/components/ix-field-wrapper.js +8 -0
- package/components/ix-field-wrapper.js.map +1 -0
- package/components/ix-flip-tile-content.js +1 -1
- package/components/ix-flip-tile.js +4 -4
- package/components/ix-group.js +8 -8
- package/components/ix-helper-text.d.ts +11 -0
- package/components/ix-helper-text.js +97 -0
- package/components/ix-helper-text.js.map +1 -0
- package/components/ix-icon-toggle-button.js +2 -3
- package/components/ix-icon-toggle-button.js.map +1 -1
- package/components/ix-input-group.js +1 -1
- package/components/ix-input.d.ts +11 -0
- package/components/ix-input.js +221 -0
- package/components/ix-input.js.map +1 -0
- 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-layout-auto.d.ts +11 -0
- package/components/ix-layout-auto.js +110 -0
- package/components/ix-layout-auto.js.map +1 -0
- 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-news.js.map +1 -1
- package/components/ix-menu-about.js +1 -1
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +5 -5
- package/components/ix-menu-category.js.map +1 -1
- package/components/ix-menu-settings-item.js +1 -1
- package/components/ix-menu.js +28 -29
- package/components/ix-menu.js.map +1 -1
- package/components/ix-message-bar.js +1 -1
- package/components/ix-modal-footer.js +2 -2
- package/components/ix-modal-footer.js.map +1 -1
- package/components/ix-modal-loading.js +1 -1
- package/components/ix-modal.js +11 -4
- package/components/ix-modal.js.map +1 -1
- package/components/ix-number-input.d.ts +11 -0
- package/components/ix-number-input.js +221 -0
- package/components/ix-number-input.js.map +1 -0
- package/components/ix-pagination.js +35 -17
- package/components/ix-pagination.js.map +1 -1
- package/components/ix-pane-layout.js +9 -9
- package/components/ix-pane-layout.js.map +1 -1
- package/components/ix-pane.js +43 -35
- package/components/ix-pane.js.map +1 -1
- package/components/ix-pill.js +4 -4
- package/components/ix-push-card.js +1 -1
- package/components/ix-radio-group.d.ts +11 -0
- package/components/ix-radio-group.js +174 -0
- package/components/ix-radio-group.js.map +1 -0
- package/components/ix-radio.d.ts +11 -0
- package/components/ix-radio.js +123 -0
- package/components/ix-radio.js.map +1 -0
- package/components/ix-slider.js +7 -7
- package/components/ix-slider.js.map +1 -1
- package/components/ix-split-button-item.js +1 -1
- package/components/ix-split-button.js +1 -1
- package/components/ix-textarea.d.ts +11 -0
- package/components/ix-textarea.js +179 -0
- package/components/ix-textarea.js.map +1 -0
- 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 +43 -5
- package/components/ix-toggle.js.map +1 -1
- package/components/ix-tree.js +1 -1
- package/components/ix-upload.js +61 -5
- package/components/ix-upload.js.map +1 -1
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-steps.js +1 -1
- package/components/layout-grid.js +2 -2
- package/components/layout-grid.js.map +1 -1
- package/components/listener.js +1 -1
- package/components/listener.js.map +1 -1
- package/components/make-ref.js +7 -12
- package/components/make-ref.js.map +1 -1
- package/components/map-navigation-overlay.js +2 -2
- package/components/menu-avatar-item.js +1 -1
- package/components/menu-expand-icon.js +1 -1
- package/components/menu-item.js +7 -6
- package/components/menu-item.js.map +1 -1
- package/components/menu-tabs-fc.js +17 -14
- package/components/menu-tabs-fc.js.map +1 -1
- package/components/modal-content.js +2 -2
- package/components/modal-content.js.map +1 -1
- package/components/modal-header.js +2 -2
- package/components/modal-header.js.map +1 -1
- package/components/modal.js +3 -1
- package/components/modal.js.map +1 -1
- package/components/row.js +1 -1
- package/components/select-item.js +27 -5
- package/components/select-item.js.map +1 -1
- package/components/select.js +196 -67
- package/components/select.js.map +1 -1
- package/components/spinner.js +4 -8
- package/components/spinner.js.map +1 -1
- package/components/tab-item.js +3 -3
- package/components/tabs.js +2 -2
- package/components/theme-switcher.js +1 -0
- package/components/theme-switcher.js.map +1 -1
- package/components/time-picker.js +39 -19
- package/components/time-picker.js.map +1 -1
- package/components/toast.js +2 -2
- package/components/tooltip.js +5 -4
- package/components/tooltip.js.map +1 -1
- package/components/tree-item.js +4 -4
- package/components/typography.js +3 -25
- package/components/typography.js.map +1 -1
- package/components/validation.js +112 -0
- package/components/validation.js.map +1 -0
- package/dist/cjs/{a11y-eba397e8.js → a11y-ae470f01.js} +4 -3
- package/dist/cjs/a11y-ae470f01.js.map +1 -0
- package/dist/cjs/app-globals-3c9c6a50.js +9 -0
- package/dist/cjs/app-globals-3c9c6a50.js.map +1 -0
- package/dist/cjs/{base-button-3735b8c2.js → base-button-119d9368.js} +4 -4
- package/dist/cjs/base-button-119d9368.js.map +1 -0
- package/dist/cjs/{base-icon-button-44c72bc8.js → base-icon-button-d09d934e.js} +3 -3
- package/dist/cjs/{base-icon-button-44c72bc8.js.map → base-icon-button-d09d934e.js.map} +1 -1
- package/dist/cjs/{context-938f7470.js → context-6644f454.js} +6 -3
- package/dist/cjs/context-6644f454.js.map +1 -0
- package/dist/cjs/disposable-event-listener-1ed769b9.js +20 -0
- package/dist/cjs/disposable-event-listener-1ed769b9.js.map +1 -0
- package/dist/cjs/{dropdown-controller-5ef3d018.js → dropdown-controller-aef51729.js} +28 -13
- package/dist/cjs/dropdown-controller-aef51729.js.map +1 -0
- package/dist/cjs/find-element-8e586600.js +105 -0
- package/dist/cjs/find-element-8e586600.js.map +1 -0
- package/dist/cjs/{focus-9c8ffbb0.js → focus-935fb067.js} +22 -18
- package/dist/cjs/focus-935fb067.js.map +1 -0
- package/dist/cjs/helper-text-util-3192e78f.js +44 -0
- package/dist/cjs/helper-text-util-3192e78f.js.map +1 -0
- package/dist/cjs/{index-c4629a8d.js → index-74904d8b.js} +2 -2
- package/dist/cjs/{index-c4629a8d.js.map → index-74904d8b.js.map} +1 -1
- package/dist/cjs/{index-529f21c1.js → index-757233c7.js} +86 -171
- package/dist/cjs/index-757233c7.js.map +1 -0
- package/dist/cjs/index-d2117dc0.js +38 -0
- package/dist/cjs/index-d2117dc0.js.map +1 -0
- package/dist/cjs/index.cjs.js +21 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/input.util-1c2fa43d.js +192 -0
- package/dist/cjs/input.util-1c2fa43d.js.map +1 -0
- package/dist/cjs/ix-action-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-application-header.cjs.entry.js +7 -7
- package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +3 -3
- package/dist/cjs/ix-application.cjs.entry.js +6 -6
- package/dist/cjs/ix-avatar_2.cjs.entry.js +16 -8
- package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
- package/dist/cjs/ix-blind.cjs.entry.js +7 -7
- package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +3 -3
- package/dist/cjs/ix-breadcrumb.cjs.entry.js +11 -10
- package/dist/cjs/ix-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +14 -5
- package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js +7 -7
- package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card-list.cjs.entry.js +11 -8
- package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-card_2.cjs.entry.js +6 -6
- package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +154 -82
- package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-checkbox-group.cjs.entry.js +60 -0
- package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-checkbox.cjs.entry.js +117 -0
- package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-chip.cjs.entry.js +5 -5
- package/dist/cjs/ix-col_4.cjs.entry.js +75 -49
- package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content-header.cjs.entry.js +3 -3
- package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-content.cjs.entry.js +5 -5
- package/dist/cjs/ix-content.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-css-grid.cjs.entry.js +9 -4
- package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-custom-field.cjs.entry.js +65 -0
- package/dist/cjs/ix-custom-field.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-date-dropdown.cjs.entry.js +28 -16
- package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-date-input.cjs.entry.js +266 -0
- package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-date-time-card.cjs.entry.js +5 -6
- package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +11 -11
- package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-divider.cjs.entry.js +2 -2
- package/dist/cjs/ix-drawer.cjs.entry.js +29 -25
- package/dist/cjs/ix-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +5 -6
- package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
- package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
- package/dist/cjs/ix-dropdown.cjs.entry.js +71 -67
- package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
- package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list-item.cjs.entry.js +9 -9
- package/dist/cjs/ix-event-list-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-event-list.cjs.entry.js +5 -5
- package/dist/cjs/ix-event-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
- package/dist/cjs/{ix-tooltip.cjs.entry.js → ix-field-label_3.cjs.entry.js} +184 -7
- package/dist/cjs/ix-field-label_3.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js +28 -7
- package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
- 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-group-context-menu_2.cjs.entry.js +4 -4
- package/dist/cjs/ix-group.cjs.entry.js +9 -9
- package/dist/cjs/ix-helper-text.cjs.entry.js +70 -0
- package/dist/cjs/ix-helper-text.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-icon-button_2.cjs.entry.js +10 -14
- package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +6 -7
- package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
- package/dist/cjs/ix-input.cjs.entry.js +149 -0
- package/dist/cjs/ix-input.cjs.entry.js.map +1 -0
- 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-layout-auto.cjs.entry.js +92 -0
- package/dist/cjs/ix-layout-auto.cjs.entry.js.map +1 -0
- 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 +4 -4
- 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-news.cjs.entry.js.map +1 -1
- 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 +7 -7
- package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +4 -4
- package/dist/cjs/ix-menu-item.cjs.entry.js +9 -8
- package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
- package/dist/cjs/ix-menu.cjs.entry.js +33 -33
- package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal-content_2.cjs.entry.js +5 -5
- package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-footer.cjs.entry.js +3 -3
- package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
- package/dist/cjs/ix-modal.cjs.entry.js +14 -7
- package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-number-input.cjs.entry.js +152 -0
- package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-pagination.cjs.entry.js +6 -6
- package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pane-layout.cjs.entry.js +10 -10
- package/dist/cjs/ix-pane-layout.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pane.cjs.entry.js +43 -35
- package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-pill.cjs.entry.js +5 -5
- package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
- package/dist/cjs/ix-radio-group.cjs.entry.js +120 -0
- package/dist/cjs/ix-radio-group.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-radio.cjs.entry.js +98 -0
- package/dist/cjs/ix-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-select.cjs.entry.js +150 -53
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-slider.cjs.entry.js +10 -10
- package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
- 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-textarea.cjs.entry.js +120 -0
- package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -0
- package/dist/cjs/ix-tile.cjs.entry.js +5 -5
- package/dist/cjs/ix-time-picker.cjs.entry.js +40 -20
- 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 +42 -5
- package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
- package/dist/cjs/ix-tree.cjs.entry.js +3 -3
- package/dist/cjs/ix-typography.cjs.entry.js +4 -25
- package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +60 -6
- package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-step.cjs.entry.js +4 -4
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +2 -2
- package/dist/cjs/{listener-a124ed49.js → listener-9ec23f49.js} +3 -3
- package/dist/cjs/listener-9ec23f49.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{make-ref-c25629b7.js → make-ref-499e1e41.js} +8 -13
- package/dist/cjs/make-ref-499e1e41.js.map +1 -0
- package/dist/cjs/{menu-tabs-fc-df53f176.js → menu-tabs-fc-eb899b0d.js} +19 -16
- package/dist/cjs/menu-tabs-fc-eb899b0d.js.map +1 -0
- package/dist/cjs/{modal-828cb80a.js → modal-a49409aa.js} +4 -2
- package/dist/cjs/modal-a49409aa.js.map +1 -0
- package/dist/cjs/{app-globals-5cfdf2a0.js → setup-86b7d543.js} +20 -5
- package/dist/cjs/setup-86b7d543.js.map +1 -0
- package/dist/cjs/siemens-ix.cjs.js +4 -3
- package/dist/cjs/siemens-ix.cjs.js.map +1 -1
- package/dist/cjs/{theme-switcher-2d2bde85.js → theme-switcher-88b70d73.js} +2 -1
- package/dist/cjs/theme-switcher-88b70d73.js.map +1 -0
- package/dist/cjs/validation-1e3dd5ee.js +117 -0
- package/dist/cjs/validation-1e3dd5ee.js.map +1 -0
- package/dist/collection/collection-manifest.json +15 -5
- package/dist/collection/components/action-card/action-card.js +3 -3
- package/dist/collection/components/action-card/action-card.js.map +1 -1
- package/dist/collection/components/application/application.js +4 -4
- 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/avatar/avatar.css +1 -1
- package/dist/collection/components/avatar/avatar.js +15 -7
- package/dist/collection/components/avatar/avatar.js.map +1 -1
- package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
- package/dist/collection/components/blind/blind.js +8 -8
- package/dist/collection/components/blind/blind.js.map +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.js +9 -10
- package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js +2 -1
- package/dist/collection/components/breadcrumb/test/breadcrumb.ct.js.map +1 -1
- package/dist/collection/components/button/base-button.js +2 -2
- package/dist/collection/components/button/base-button.js.map +1 -1
- package/dist/collection/components/button/button.js +22 -4
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/card/card.css +26 -10
- package/dist/collection/components/card/card.js +5 -4
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card-accordion/card-accordion.js +5 -5
- package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
- package/dist/collection/components/card-content/card-content.js +1 -1
- package/dist/collection/components/card-list/card-list.css +1 -1
- package/dist/collection/components/card-list/card-list.js +12 -9
- package/dist/collection/components/card-list/card-list.js.map +1 -1
- package/dist/collection/components/card-title/card-title.js +1 -1
- package/dist/collection/components/category-filter/category-filter.css +300 -36
- package/dist/collection/components/category-filter/category-filter.js +165 -80
- package/dist/collection/components/category-filter/category-filter.js.map +1 -1
- package/dist/collection/components/category-filter/test/category-filter.ct.js +15 -5
- package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.css +423 -0
- package/dist/collection/components/checkbox/checkbox.js +326 -0
- package/dist/collection/components/checkbox/checkbox.js.map +1 -0
- package/dist/collection/components/checkbox/tests/checkbox.ct.js +44 -0
- package/dist/collection/components/checkbox/tests/checkbox.ct.js.map +1 -0
- package/dist/collection/components/checkbox-group/checkbox-group.css +38 -0
- package/dist/collection/components/checkbox-group/checkbox-group.js +213 -0
- package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -0
- package/dist/collection/components/chip/chip.js +4 -4
- package/dist/collection/components/col/col.js +1 -1
- package/dist/collection/components/col/col.js.map +1 -1
- package/dist/collection/components/content/content.css +1 -0
- package/dist/collection/components/content/content.js +3 -3
- package/dist/collection/components/content/content.js.map +1 -1
- package/dist/collection/components/content-header/content-header.css +6 -3
- package/dist/collection/components/content-header/content-header.js +2 -2
- package/dist/collection/components/content-header/content-header.js.map +1 -1
- package/dist/collection/components/css-grid/css-grid-item.js +1 -1
- package/dist/collection/components/css-grid/css-grid.js +9 -4
- package/dist/collection/components/css-grid/css-grid.js.map +1 -1
- package/dist/collection/components/custom-field/custom-field.css +15 -0
- package/dist/collection/components/custom-field/custom-field.js +216 -0
- package/dist/collection/components/custom-field/custom-field.js.map +1 -0
- package/dist/collection/components/custom-field/tests/custom-field.ct.js +68 -0
- package/dist/collection/components/custom-field/tests/custom-field.ct.js.map +1 -0
- package/dist/collection/components/date-dropdown/date-dropdown.css +1 -1
- package/dist/collection/components/date-dropdown/date-dropdown.js +76 -20
- package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
- package/dist/collection/components/date-input/date-input.css +1126 -0
- package/dist/collection/components/date-input/date-input.js +743 -0
- package/dist/collection/components/date-input/date-input.js.map +1 -0
- package/dist/collection/components/date-input/tests/date-input.ct.js +114 -0
- package/dist/collection/components/date-input/tests/date-input.ct.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker-component.js +2 -0
- package/dist/collection/components/date-picker/date-picker-component.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.css +26 -10
- package/dist/collection/components/date-picker/date-picker.js +74 -50
- package/dist/collection/components/date-picker/date-picker.js.map +1 -1
- package/dist/collection/components/date-picker/test/date-picker.ct.js +22 -0
- package/dist/collection/components/date-picker/test/date-picker.ct.js.map +1 -1
- package/dist/collection/components/date-time-card/date-time-card.css +1 -1
- package/dist/collection/components/date-time-card/date-time-card.js +8 -10
- package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
- package/dist/collection/components/datetime-picker/datetime-picker.css +23 -11
- package/dist/collection/components/datetime-picker/datetime-picker.js +24 -25
- package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
- package/dist/collection/components/divider/divider.js +1 -1
- package/dist/collection/components/drawer/drawer.css +0 -3
- package/dist/collection/components/drawer/drawer.js +27 -23
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/collection/components/drawer/test/drawer.spec.js +2 -2
- package/dist/collection/components/drawer/test/drawer.spec.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown-controller.js +27 -15
- package/dist/collection/components/dropdown/dropdown-controller.js.map +1 -1
- package/dist/collection/components/dropdown/dropdown.js +105 -82
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/dropdown/test/dropdown.ct.js +19 -8
- package/dist/collection/components/dropdown/test/dropdown.ct.js.map +1 -1
- package/dist/collection/components/dropdown-button/dropdown-button.js +7 -13
- package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
- package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
- package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
- package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
- package/dist/collection/components/empty-state/empty-state.js +1 -1
- package/dist/collection/components/empty-state/empty-state.js.map +1 -1
- package/dist/collection/components/event-list/event-list.css +0 -6
- package/dist/collection/components/event-list/event-list.js +5 -4
- package/dist/collection/components/event-list/event-list.js.map +1 -1
- package/dist/collection/components/event-list-item/event-list-item.js +15 -12
- package/dist/collection/components/event-list-item/event-list-item.js.map +1 -1
- package/dist/collection/components/expanding-search/expanding-search.js +4 -4
- package/dist/collection/components/field-label/field-label.css +14 -0
- package/dist/collection/components/field-label/field-label.js +230 -0
- package/dist/collection/components/field-label/field-label.js.map +1 -0
- package/dist/collection/components/field-label/tests/field-label.ct.js +113 -0
- package/dist/collection/components/field-label/tests/field-label.ct.js.map +1 -0
- package/dist/collection/components/field-wrapper/field-wrapper.css +62 -0
- package/dist/collection/components/field-wrapper/field-wrapper.js +317 -0
- package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -0
- package/dist/collection/components/field-wrapper/helper-text-util.js +29 -0
- package/dist/collection/components/field-wrapper/helper-text-util.js.map +1 -0
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js +63 -0
- package/dist/collection/components/field-wrapper/tests/field-wrapper.ct.js.map +1 -0
- 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/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/helper-text/helper-text.css +34 -0
- package/dist/collection/components/helper-text/helper-text.js +179 -0
- package/dist/collection/components/helper-text/helper-text.js.map +1 -0
- package/dist/collection/components/icon-button/icon-button.css +0 -15
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.css +0 -15
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -2
- package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
- package/dist/collection/components/input/input.animation.js +36 -0
- package/dist/collection/components/input/input.animation.js.map +1 -0
- package/dist/collection/components/input/input.css +1087 -0
- package/dist/collection/components/input/input.fc.js +42 -0
- package/dist/collection/components/input/input.fc.js.map +1 -0
- package/dist/collection/components/input/input.js +608 -0
- package/dist/collection/components/input/input.js.map +1 -0
- package/dist/collection/components/input/input.util.js +103 -0
- package/dist/collection/components/input/input.util.js.map +1 -0
- package/dist/collection/components/{form-field/form-field.css → input/number-input.css} +348 -15
- package/dist/collection/components/input/number-input.js +606 -0
- package/dist/collection/components/input/number-input.js.map +1 -0
- package/dist/collection/components/input/tests/form-ready.ct.js +63 -0
- package/dist/collection/components/input/tests/form-ready.ct.js.map +1 -0
- package/dist/collection/components/input/textarea.css +649 -0
- package/dist/collection/components/input/textarea.js +615 -0
- package/dist/collection/components/input/textarea.js.map +1 -0
- 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/layout-auto/layout-auto.css +16 -0
- package/dist/collection/components/layout-auto/layout-auto.js +122 -0
- package/dist/collection/components/layout-auto/layout-auto.js.map +1 -0
- package/dist/collection/components/{grid → layout-grid}/layout-grid.js +2 -2
- package/dist/collection/components/layout-grid/layout-grid.js.map +1 -0
- 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 +29 -30
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu-about/menu-about.js +1 -1
- package/dist/collection/components/menu-about/test/menu-about.ct.js +44 -0
- package/dist/collection/components/menu-about/test/menu-about.ct.js.map +1 -0
- package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
- package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
- package/dist/collection/components/menu-about-news/menu-about-news.js.map +1 -1
- package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
- package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
- package/dist/collection/components/menu-category/menu-category.js +5 -5
- package/dist/collection/components/menu-category/menu-category.js.map +1 -1
- package/dist/collection/components/menu-item/menu-item.js +7 -6
- package/dist/collection/components/menu-item/menu-item.js.map +1 -1
- package/dist/collection/components/menu-settings/menu-settings.js +1 -1
- package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
- package/dist/collection/components/message-bar/message-bar.js +1 -1
- package/dist/collection/components/modal/modal.css +1 -1
- package/dist/collection/components/modal/modal.js +10 -3
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/modal/test/modal.ct.js +46 -0
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/modal-content/modal-content.css +1 -1
- package/dist/collection/components/modal-content/modal-content.js +1 -1
- package/dist/collection/components/modal-footer/modal-footer.css +0 -1
- package/dist/collection/components/modal-footer/modal-footer.js +1 -1
- package/dist/collection/components/modal-header/modal-header.css +6 -7
- package/dist/collection/components/modal-header/modal-header.js +3 -3
- package/dist/collection/components/modal-header/modal-header.js.map +1 -1
- package/dist/collection/components/modal-loading/modal-loading.js +1 -1
- package/dist/collection/components/pagination/pagination.css +0 -15
- package/dist/collection/components/pagination/pagination.js +2 -2
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/pane/pane.js +46 -38
- package/dist/collection/components/pane/pane.js.map +1 -1
- package/dist/collection/components/pane/test/panes.ct.js +24 -0
- package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
- package/dist/collection/components/pane-layout/pane-layout.js +9 -9
- package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
- package/dist/collection/components/pill/pill.js +4 -4
- package/dist/collection/components/push-card/push-card.js +1 -1
- package/dist/collection/components/radio/radio.css +430 -0
- package/dist/collection/components/radio/radio.js +278 -0
- package/dist/collection/components/radio/radio.js.map +1 -0
- package/dist/collection/components/radio/test/radio.ct.js +36 -0
- package/dist/collection/components/radio/test/radio.ct.js.map +1 -0
- package/dist/collection/components/radio-group/radio-group.css +38 -0
- package/dist/collection/components/radio-group/radio-group.js +326 -0
- package/dist/collection/components/radio-group/radio-group.js.map +1 -0
- package/dist/collection/components/radio-group/test/radio-group.ct.js +100 -0
- package/dist/collection/components/radio-group/test/radio-group.ct.js.map +1 -0
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/select/select.css +58 -0
- package/dist/collection/components/select/select.js +439 -56
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +59 -9
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/select-item/events.js +8 -0
- package/dist/collection/components/select-item/events.js.map +1 -1
- package/dist/collection/components/select-item/select-item.js +22 -7
- package/dist/collection/components/select-item/select-item.js.map +1 -1
- package/dist/collection/components/slider/slider.js +7 -7
- package/dist/collection/components/slider/slider.js.map +1 -1
- package/dist/collection/components/spinner/spinner.css +140 -125
- package/dist/collection/components/spinner/spinner.js +3 -7
- package/dist/collection/components/spinner/spinner.js.map +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 +3 -3
- 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 +174 -16
- package/dist/collection/components/time-picker/time-picker.js +38 -18
- package/dist/collection/components/time-picker/time-picker.js.map +1 -1
- 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 +24 -1
- package/dist/collection/components/toggle/test/toggle.ct.js.map +1 -1
- package/dist/collection/components/toggle/toggle.css +133 -4
- package/dist/collection/components/toggle/toggle.js +157 -2
- 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/test/tooltip.ct.js +37 -0
- package/dist/collection/components/tooltip/test/tooltip.ct.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js +11 -13
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +4 -4
- package/dist/collection/components/typography/test/ix-typography.spec.js +0 -14
- package/dist/collection/components/typography/test/ix-typography.spec.js.map +1 -1
- package/dist/collection/components/typography/type-mapping.js +3 -0
- package/dist/collection/components/typography/type-mapping.js.map +1 -1
- package/dist/collection/components/typography/typography.js +6 -42
- package/dist/collection/components/typography/typography.js.map +1 -1
- package/dist/collection/components/upload/test/upload.ct.js +17 -0
- package/dist/collection/components/upload/test/upload.ct.js.map +1 -0
- package/dist/collection/components/upload/upload.css +0 -2
- package/dist/collection/components/upload/upload.js +49 -5
- package/dist/collection/components/upload/upload.js.map +1 -1
- package/dist/collection/components/utils/a11y.js +3 -2
- package/dist/collection/components/utils/a11y.js.map +1 -1
- package/dist/collection/components/utils/application-layout/context.js.map +1 -1
- package/dist/collection/components/utils/attributes.js +25 -0
- package/dist/collection/components/utils/attributes.js.map +1 -0
- package/dist/collection/components/utils/context.js +5 -2
- package/dist/collection/components/utils/context.js.map +1 -1
- package/dist/collection/components/utils/disposable-event-listener.js +19 -0
- package/dist/collection/components/utils/disposable-event-listener.js.map +1 -0
- package/dist/collection/components/utils/element-reference.js +2 -0
- package/dist/collection/components/utils/element-reference.js.map +1 -0
- package/dist/collection/components/utils/find-element.js +99 -0
- package/dist/collection/components/utils/find-element.js.map +1 -0
- package/dist/collection/components/utils/focus.js +20 -17
- package/dist/collection/components/utils/focus.js.map +1 -1
- package/dist/collection/components/utils/input/index.js +9 -0
- package/dist/collection/components/utils/input/index.js.map +1 -0
- package/dist/collection/components/utils/input/validation.js +108 -0
- package/dist/collection/components/utils/input/validation.js.map +1 -0
- package/dist/collection/components/utils/listener.js +1 -1
- package/dist/collection/components/utils/listener.js.map +1 -1
- package/dist/collection/components/utils/make-ref.js +7 -12
- package/dist/collection/components/utils/make-ref.js.map +1 -1
- package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js +11 -8
- package/dist/collection/components/utils/menu-tabs/menu-tabs-fc.js.map +1 -1
- package/dist/collection/components/utils/modal/index.js.map +1 -1
- package/dist/collection/components/utils/modal/message.js +3 -1
- package/dist/collection/components/utils/modal/message.js.map +1 -1
- package/dist/collection/components/utils/theme-switcher.js +1 -0
- package/dist/collection/components/utils/theme-switcher.js.map +1 -1
- package/dist/collection/components/utils/type-helper.js +2 -0
- package/dist/collection/components/utils/type-helper.js.map +1 -0
- package/dist/collection/components/utils/uuid.js +16 -0
- package/dist/collection/components/utils/uuid.js.map +1 -0
- 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 +7 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/setup.js +16 -1
- package/dist/collection/setup.js.map +1 -1
- package/dist/collection/tests/application/application.e2e.js.map +1 -1
- package/dist/collection/tests/checkbox-group/checkbox-group.e2e.js +25 -0
- package/dist/collection/tests/checkbox-group/checkbox-group.e2e.js.map +1 -0
- package/dist/collection/tests/content/content.e2e.js +24 -0
- package/dist/collection/tests/content/content.e2e.js.map +1 -0
- package/dist/collection/tests/date-picker/date-picker.e2e.js +6 -6
- package/dist/collection/tests/date-picker/date-picker.e2e.js.map +1 -1
- package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js +8 -1
- package/dist/collection/tests/datetime-picker/datetime-picker.e2e.js.map +1 -1
- package/dist/collection/tests/drawer/drawer.e2e.js +6 -0
- package/dist/collection/tests/drawer/drawer.e2e.js.map +1 -1
- package/dist/collection/tests/form-fields/form-fields.e2e.js +57 -0
- package/dist/collection/tests/form-fields/form-fields.e2e.js.map +1 -0
- package/dist/collection/tests/input/input.e2e.js +29 -5
- package/dist/collection/tests/input/input.e2e.js.map +1 -1
- package/dist/collection/tests/message/message.e2e.js +50 -0
- package/dist/collection/tests/message/message.e2e.js.map +1 -0
- package/dist/collection/tests/modal/modal.e2e.js +10 -1
- package/dist/collection/tests/modal/modal.e2e.js.map +1 -1
- package/dist/collection/tests/number-input/number-input.e2e.js +17 -0
- package/dist/collection/tests/number-input/number-input.e2e.js.map +1 -0
- package/dist/collection/tests/radio-group/radio-group.e2e.js +25 -0
- package/dist/collection/tests/radio-group/radio-group.e2e.js.map +1 -0
- package/dist/collection/tests/slider/slider.e2e.js +17 -0
- package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
- package/dist/collection/tests/utils/test/index.js +12 -0
- package/dist/collection/tests/utils/test/index.js.map +1 -1
- package/dist/collection/tests/utils/test/page.js +3 -12
- package/dist/collection/tests/utils/test/page.js.map +1 -1
- package/dist/esm/{a11y-2e34777f.js → a11y-b10c12e0.js} +4 -3
- package/dist/esm/a11y-b10c12e0.js.map +1 -0
- package/dist/esm/app-globals-ae0ca705.js +7 -0
- package/dist/esm/app-globals-ae0ca705.js.map +1 -0
- package/dist/esm/{base-button-1b40b11d.js → base-button-845f2463.js} +4 -4
- package/dist/esm/base-button-845f2463.js.map +1 -0
- package/dist/esm/{base-icon-button-bc1dabe0.js → base-icon-button-38e2f6e6.js} +3 -3
- package/dist/esm/{base-icon-button-bc1dabe0.js.map → base-icon-button-38e2f6e6.js.map} +1 -1
- package/dist/esm/{context-82a1ccf8.js → context-42311cff.js} +6 -3
- package/dist/esm/context-42311cff.js.map +1 -0
- package/dist/esm/disposable-event-listener-ff2cb862.js +18 -0
- package/dist/esm/disposable-event-listener-ff2cb862.js.map +1 -0
- package/dist/esm/{dropdown-controller-95bd6750.js → dropdown-controller-cb6d3789.js} +29 -13
- package/dist/esm/dropdown-controller-cb6d3789.js.map +1 -0
- package/dist/esm/find-element-af8265f7.js +102 -0
- package/dist/esm/find-element-af8265f7.js.map +1 -0
- package/dist/esm/{focus-d4d3abaf.js → focus-664aef4f.js} +22 -18
- package/dist/esm/focus-664aef4f.js.map +1 -0
- package/dist/esm/helper-text-util-10896253.js +41 -0
- package/dist/esm/helper-text-util-10896253.js.map +1 -0
- package/dist/esm/{index-76b9c8de.js → index-60d17930.js} +2 -2
- package/dist/esm/{index-76b9c8de.js.map → index-60d17930.js.map} +1 -1
- package/dist/esm/{index-5429f20b.js → index-97874de0.js} +86 -172
- package/dist/esm/index-97874de0.js.map +1 -0
- package/dist/esm/index-ad2af369.js +21 -0
- package/dist/esm/index-ad2af369.js.map +1 -0
- package/dist/esm/index.js +21 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input.util-715860e3.js +181 -0
- package/dist/esm/input.util-715860e3.js.map +1 -0
- package/dist/esm/ix-action-card.entry.js +2 -2
- package/dist/esm/ix-action-card.entry.js.map +1 -1
- package/dist/esm/ix-application-header.entry.js +7 -7
- package/dist/esm/ix-application-sidebar.entry.js +2 -2
- package/dist/esm/ix-application-switch-modal.entry.js +3 -3
- package/dist/esm/ix-application.entry.js +6 -6
- package/dist/esm/ix-avatar_2.entry.js +16 -8
- package/dist/esm/ix-avatar_2.entry.js.map +1 -1
- package/dist/esm/ix-basic-navigation.entry.js +4 -4
- package/dist/esm/ix-blind.entry.js +7 -7
- package/dist/esm/ix-blind.entry.js.map +1 -1
- package/dist/esm/ix-breadcrumb-item.entry.js +3 -3
- package/dist/esm/ix-breadcrumb.entry.js +11 -10
- package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ix-button.entry.js +14 -5
- package/dist/esm/ix-button.entry.js.map +1 -1
- package/dist/esm/ix-card-accordion_2.entry.js +7 -7
- package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
- package/dist/esm/ix-card-list.entry.js +11 -8
- package/dist/esm/ix-card-list.entry.js.map +1 -1
- package/dist/esm/ix-card_2.entry.js +6 -6
- package/dist/esm/ix-card_2.entry.js.map +1 -1
- package/dist/esm/ix-category-filter.entry.js +154 -82
- package/dist/esm/ix-category-filter.entry.js.map +1 -1
- package/dist/esm/ix-checkbox-group.entry.js +56 -0
- package/dist/esm/ix-checkbox-group.entry.js.map +1 -0
- package/dist/esm/ix-checkbox.entry.js +113 -0
- package/dist/esm/ix-checkbox.entry.js.map +1 -0
- package/dist/esm/ix-chip.entry.js +5 -5
- package/dist/esm/ix-col_4.entry.js +71 -45
- package/dist/esm/ix-col_4.entry.js.map +1 -1
- package/dist/esm/ix-content-header.entry.js +3 -3
- package/dist/esm/ix-content-header.entry.js.map +1 -1
- package/dist/esm/ix-content.entry.js +5 -5
- package/dist/esm/ix-content.entry.js.map +1 -1
- package/dist/esm/ix-css-grid-item.entry.js +2 -2
- package/dist/esm/ix-css-grid.entry.js +9 -4
- package/dist/esm/ix-css-grid.entry.js.map +1 -1
- package/dist/esm/ix-custom-field.entry.js +61 -0
- package/dist/esm/ix-custom-field.entry.js.map +1 -0
- package/dist/esm/ix-date-dropdown.entry.js +28 -16
- package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-date-input.entry.js +262 -0
- package/dist/esm/ix-date-input.entry.js.map +1 -0
- package/dist/esm/ix-date-time-card.entry.js +5 -6
- package/dist/esm/ix-date-time-card.entry.js.map +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +11 -11
- package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
- package/dist/esm/ix-divider.entry.js +2 -2
- package/dist/esm/ix-drawer.entry.js +29 -25
- package/dist/esm/ix-drawer.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-button.entry.js +5 -6
- package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-header.entry.js +2 -2
- package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +4 -4
- package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
- package/dist/esm/ix-dropdown.entry.js +70 -66
- package/dist/esm/ix-dropdown.entry.js.map +1 -1
- package/dist/esm/ix-empty-state.entry.js +2 -2
- package/dist/esm/ix-empty-state.entry.js.map +1 -1
- package/dist/esm/ix-event-list-item.entry.js +9 -9
- package/dist/esm/ix-event-list-item.entry.js.map +1 -1
- package/dist/esm/ix-event-list.entry.js +5 -5
- package/dist/esm/ix-event-list.entry.js.map +1 -1
- package/dist/esm/ix-expanding-search.entry.js +5 -5
- package/dist/esm/{ix-tooltip.entry.js → ix-field-label_3.entry.js} +183 -8
- package/dist/esm/ix-field-label_3.entry.js.map +1 -0
- package/dist/esm/ix-filter-chip_2.entry.js +28 -7
- package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
- 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-group-context-menu_2.entry.js +4 -4
- package/dist/esm/ix-group.entry.js +9 -9
- package/dist/esm/ix-helper-text.entry.js +66 -0
- package/dist/esm/ix-helper-text.entry.js.map +1 -0
- package/dist/esm/ix-icon-button_2.entry.js +10 -14
- package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
- package/dist/esm/ix-icon-toggle-button.entry.js +6 -7
- package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
- package/dist/esm/ix-input-group.entry.js +2 -2
- package/dist/esm/ix-input.entry.js +145 -0
- package/dist/esm/ix-input.entry.js.map +1 -0
- 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-layout-auto.entry.js +88 -0
- package/dist/esm/ix-layout-auto.entry.js.map +1 -0
- 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 +4 -4
- 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-news.entry.js.map +1 -1
- 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 +7 -7
- package/dist/esm/ix-menu-category.entry.js.map +1 -1
- package/dist/esm/ix-menu-expand-icon.entry.js +4 -4
- package/dist/esm/ix-menu-item.entry.js +9 -8
- package/dist/esm/ix-menu-item.entry.js.map +1 -1
- package/dist/esm/ix-menu-settings-item.entry.js +2 -2
- package/dist/esm/ix-menu-settings.entry.js +2 -2
- package/dist/esm/ix-menu.entry.js +33 -33
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-message-bar.entry.js +2 -2
- package/dist/esm/ix-modal-content_2.entry.js +5 -5
- package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
- package/dist/esm/ix-modal-footer.entry.js +3 -3
- package/dist/esm/ix-modal-footer.entry.js.map +1 -1
- package/dist/esm/ix-modal-loading.entry.js +2 -2
- package/dist/esm/ix-modal.entry.js +14 -7
- package/dist/esm/ix-modal.entry.js.map +1 -1
- package/dist/esm/ix-number-input.entry.js +148 -0
- package/dist/esm/ix-number-input.entry.js.map +1 -0
- package/dist/esm/ix-pagination.entry.js +6 -6
- package/dist/esm/ix-pagination.entry.js.map +1 -1
- package/dist/esm/ix-pane-layout.entry.js +10 -10
- package/dist/esm/ix-pane-layout.entry.js.map +1 -1
- package/dist/esm/ix-pane.entry.js +43 -35
- package/dist/esm/ix-pane.entry.js.map +1 -1
- package/dist/esm/ix-pill.entry.js +5 -5
- package/dist/esm/ix-push-card.entry.js +2 -2
- package/dist/esm/ix-radio-group.entry.js +116 -0
- package/dist/esm/ix-radio-group.entry.js.map +1 -0
- package/dist/esm/ix-radio.entry.js +94 -0
- package/dist/esm/ix-radio.entry.js.map +1 -0
- package/dist/esm/ix-select.entry.js +150 -53
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-slider.entry.js +10 -10
- package/dist/esm/ix-slider.entry.js.map +1 -1
- 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-textarea.entry.js +116 -0
- package/dist/esm/ix-textarea.entry.js.map +1 -0
- package/dist/esm/ix-tile.entry.js +5 -5
- package/dist/esm/ix-time-picker.entry.js +40 -20
- 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 +42 -5
- package/dist/esm/ix-toggle.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +5 -5
- package/dist/esm/ix-tree.entry.js +3 -3
- package/dist/esm/ix-typography.entry.js +4 -25
- package/dist/esm/ix-typography.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +60 -6
- package/dist/esm/ix-upload.entry.js.map +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +3 -3
- package/dist/esm/ix-workflow-step.entry.js +4 -4
- package/dist/esm/ix-workflow-steps.entry.js +2 -2
- package/dist/esm/{listener-2c562054.js → listener-18b29507.js} +3 -3
- package/dist/esm/listener-18b29507.js.map +1 -0
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{make-ref-c80046bf.js → make-ref-4b76e9b5.js} +8 -13
- package/dist/esm/make-ref-4b76e9b5.js.map +1 -0
- package/dist/esm/{menu-tabs-fc-d9a7dd06.js → menu-tabs-fc-563a74d9.js} +19 -16
- package/dist/esm/menu-tabs-fc-563a74d9.js.map +1 -0
- package/dist/esm/{modal-54740f80.js → modal-101eef04.js} +4 -2
- package/dist/esm/modal-101eef04.js.map +1 -0
- package/dist/esm/{app-globals-0cd07cd9.js → setup-d88021f8.js} +19 -5
- package/dist/esm/setup-d88021f8.js.map +1 -0
- package/dist/esm/siemens-ix.js +5 -4
- package/dist/esm/siemens-ix.js.map +1 -1
- package/dist/esm/{theme-switcher-b10fb4da.js → theme-switcher-5fcf712d.js} +2 -1
- package/dist/esm/theme-switcher-5fcf712d.js.map +1 -0
- package/dist/esm/validation-45aa490c.js +112 -0
- package/dist/esm/validation-45aa490c.js.map +1 -0
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/{p-928209e1.entry.js → p-044c2a7b.entry.js} +2 -2
- package/dist/siemens-ix/p-05839c77.entry.js +2 -0
- package/dist/siemens-ix/p-05839c77.entry.js.map +1 -0
- package/dist/siemens-ix/p-08463669.entry.js +2 -0
- package/dist/siemens-ix/p-08463669.entry.js.map +1 -0
- package/dist/siemens-ix/p-0be907d4.entry.js +2 -0
- package/dist/siemens-ix/p-0c89cbcc.entry.js +2 -0
- package/dist/siemens-ix/p-0c89cbcc.entry.js.map +1 -0
- package/dist/siemens-ix/p-0dbc970e.entry.js +2 -0
- package/dist/siemens-ix/p-0dbc970e.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1da901d5.js → p-0e983f70.js} +2 -2
- package/dist/siemens-ix/p-0e983f70.js.map +1 -0
- package/dist/siemens-ix/{p-f001ecc1.entry.js → p-0f0e7e14.entry.js} +2 -2
- package/dist/siemens-ix/p-0f2bf43d.entry.js +2 -0
- package/dist/siemens-ix/p-0f2bf43d.entry.js.map +1 -0
- package/dist/siemens-ix/p-10a522ca.js +2 -0
- package/dist/siemens-ix/p-10a522ca.js.map +1 -0
- package/dist/siemens-ix/{p-cc65617d.entry.js → p-11ce9c6a.entry.js} +2 -2
- package/dist/siemens-ix/p-11ce9c6a.entry.js.map +1 -0
- package/dist/siemens-ix/p-175599e4.entry.js +2 -0
- package/dist/siemens-ix/p-175599e4.entry.js.map +1 -0
- package/dist/siemens-ix/p-178ce002.js +2 -0
- package/dist/siemens-ix/p-178ce002.js.map +1 -0
- package/dist/siemens-ix/p-18097528.entry.js +2 -0
- package/dist/siemens-ix/p-18097528.entry.js.map +1 -0
- package/dist/siemens-ix/{p-7c2f34f0.entry.js → p-1c5ebea3.entry.js} +2 -2
- package/dist/siemens-ix/p-1c5ebea3.entry.js.map +1 -0
- package/dist/siemens-ix/p-23a4b81f.js +2 -0
- package/dist/siemens-ix/p-23a4b81f.js.map +1 -0
- package/dist/siemens-ix/p-24a35b20.entry.js +2 -0
- package/dist/siemens-ix/p-24a35b20.entry.js.map +1 -0
- package/dist/siemens-ix/p-25465f91.entry.js +2 -0
- package/dist/siemens-ix/p-25465f91.entry.js.map +1 -0
- package/dist/siemens-ix/p-2643f32a.entry.js +2 -0
- package/dist/siemens-ix/p-286feb7e.entry.js +2 -0
- package/dist/siemens-ix/p-286feb7e.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9079f6c8.entry.js → p-2a34a0c2.entry.js} +2 -2
- package/dist/siemens-ix/p-2b226409.entry.js +2 -0
- package/dist/siemens-ix/p-2b226409.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1bd98772.entry.js → p-2b367b12.entry.js} +2 -2
- package/dist/siemens-ix/p-2b9c5f59.entry.js +2 -0
- package/dist/siemens-ix/{p-4e547dd3.entry.js → p-2d3a6d29.entry.js} +2 -2
- package/dist/siemens-ix/{p-82f9d976.entry.js → p-2d7ea063.entry.js} +2 -2
- package/dist/siemens-ix/{p-ae31be0d.entry.js → p-2db63240.entry.js} +2 -2
- package/dist/siemens-ix/{p-c81c4b9d.entry.js → p-3205726a.entry.js} +2 -2
- package/dist/siemens-ix/{p-1d581190.js → p-35e14912.js} +2 -2
- package/dist/siemens-ix/p-35e14912.js.map +1 -0
- package/dist/siemens-ix/{p-33a7a26d.entry.js → p-37af7117.entry.js} +2 -2
- package/dist/siemens-ix/{p-e0d03d67.entry.js → p-392b4297.entry.js} +2 -2
- package/dist/siemens-ix/p-3c668c0e.js +2 -0
- package/dist/siemens-ix/p-3c668c0e.js.map +1 -0
- package/dist/siemens-ix/{p-ed7e76a3.entry.js → p-3f367d44.entry.js} +2 -2
- package/dist/siemens-ix/p-3f367d44.entry.js.map +1 -0
- package/dist/siemens-ix/p-40dc610f.entry.js +2 -0
- package/dist/siemens-ix/p-40dc610f.entry.js.map +1 -0
- package/dist/siemens-ix/p-424e8092.entry.js +2 -0
- package/dist/siemens-ix/p-424e8092.entry.js.map +1 -0
- package/dist/siemens-ix/p-429e3749.entry.js +2 -0
- package/dist/siemens-ix/p-429e3749.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c7280736.entry.js → p-4624a772.entry.js} +2 -2
- package/dist/siemens-ix/p-475ac85f.entry.js +2 -0
- package/dist/siemens-ix/p-475ac85f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1db6be55.js → p-484aa96b.js} +2 -2
- package/dist/{cjs/menu-tabs-fc-df53f176.js.map → siemens-ix/p-484aa96b.js.map} +1 -1
- package/dist/siemens-ix/{p-77273517.entry.js → p-48718dc1.entry.js} +2 -2
- package/dist/siemens-ix/p-48718dc1.entry.js.map +1 -0
- package/dist/siemens-ix/p-4a631d9c.entry.js +2 -0
- package/dist/siemens-ix/p-4a9330a5.entry.js +2 -0
- package/dist/siemens-ix/p-4a9330a5.entry.js.map +1 -0
- package/dist/siemens-ix/{p-05dc6b2d.entry.js → p-4c9b7548.entry.js} +2 -2
- package/dist/siemens-ix/p-4cc79e8f.entry.js +2 -0
- package/dist/siemens-ix/{p-d300b332.entry.js → p-4e51d716.entry.js} +2 -2
- package/dist/siemens-ix/{p-0ef97555.entry.js → p-4ec6ddfb.entry.js} +2 -2
- package/dist/siemens-ix/p-50096707.js +2 -0
- package/dist/siemens-ix/p-50096707.js.map +1 -0
- package/dist/siemens-ix/p-52928e21.entry.js +2 -0
- package/dist/siemens-ix/p-52928e21.entry.js.map +1 -0
- package/dist/siemens-ix/p-54efe56b.entry.js +2 -0
- package/dist/siemens-ix/p-54efe56b.entry.js.map +1 -0
- package/dist/siemens-ix/p-5682e985.js +2 -0
- package/dist/siemens-ix/{p-5af99eaa.entry.js → p-57e60a06.entry.js} +2 -2
- package/dist/siemens-ix/p-5806df2b.js +3 -0
- package/dist/siemens-ix/p-5806df2b.js.map +1 -0
- package/dist/siemens-ix/{p-1483f65d.entry.js → p-5c1b136c.entry.js} +2 -2
- package/dist/siemens-ix/p-5c1b136c.entry.js.map +1 -0
- package/dist/siemens-ix/p-5db5a0b5.entry.js +2 -0
- package/dist/siemens-ix/p-5db5a0b5.entry.js.map +1 -0
- package/dist/siemens-ix/p-5fe87e71.js +2 -0
- package/dist/siemens-ix/p-5fe87e71.js.map +1 -0
- package/dist/siemens-ix/{p-0632731e.entry.js → p-63dd987f.entry.js} +2 -2
- package/dist/siemens-ix/{p-f06b21f9.entry.js → p-654f91f2.entry.js} +2 -2
- package/dist/siemens-ix/p-66178fe6.entry.js +2 -0
- package/dist/siemens-ix/p-66178fe6.entry.js.map +1 -0
- package/dist/siemens-ix/{p-67f44540.entry.js → p-6624076c.entry.js} +2 -2
- package/dist/siemens-ix/p-6624076c.entry.js.map +1 -0
- package/dist/siemens-ix/p-66559451.entry.js +2 -0
- package/dist/siemens-ix/{p-86fd5922.entry.js → p-6722bcff.entry.js} +2 -2
- package/dist/siemens-ix/{p-b4ce366d.entry.js → p-68bb2a09.entry.js} +2 -2
- package/dist/siemens-ix/p-68bb2a09.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5351225b.entry.js → p-6a4a2064.entry.js} +2 -2
- package/dist/siemens-ix/p-6a4a2064.entry.js.map +1 -0
- package/dist/siemens-ix/{p-b804b8c5.entry.js → p-6bae4e9b.entry.js} +2 -2
- package/dist/siemens-ix/p-6bf208b8.js +2 -0
- package/dist/siemens-ix/{p-3dc1294b.entry.js → p-6e3f1de3.entry.js} +2 -2
- package/dist/siemens-ix/p-6e3f1de3.entry.js.map +1 -0
- package/dist/siemens-ix/{p-90440046.entry.js → p-76b57ff0.entry.js} +2 -2
- package/dist/siemens-ix/p-76b57ff0.entry.js.map +1 -0
- package/dist/siemens-ix/p-792e1c52.entry.js +2 -0
- package/dist/siemens-ix/p-792e1c52.entry.js.map +1 -0
- package/dist/siemens-ix/p-79bb0d39.js +2 -0
- package/dist/siemens-ix/p-79bb0d39.js.map +1 -0
- package/dist/siemens-ix/p-7aa07d9b.entry.js +2 -0
- package/dist/siemens-ix/p-7aa07d9b.entry.js.map +1 -0
- package/dist/siemens-ix/p-7aa26727.js +2 -0
- package/dist/siemens-ix/p-7aa26727.js.map +1 -0
- package/dist/siemens-ix/p-7af324e9.entry.js +2 -0
- package/dist/siemens-ix/p-7af324e9.entry.js.map +1 -0
- package/dist/siemens-ix/p-815699d1.entry.js +2 -0
- package/dist/siemens-ix/p-815699d1.entry.js.map +1 -0
- package/dist/siemens-ix/p-83da8f11.entry.js +2 -0
- package/dist/siemens-ix/p-83da8f11.entry.js.map +1 -0
- package/dist/siemens-ix/{p-958c5970.entry.js → p-8457d846.entry.js} +2 -2
- package/dist/siemens-ix/p-8564bc5f.entry.js +2 -0
- package/dist/siemens-ix/p-8564bc5f.entry.js.map +1 -0
- package/dist/siemens-ix/p-857f99c8.entry.js +2 -0
- package/dist/siemens-ix/p-857f99c8.entry.js.map +1 -0
- package/dist/siemens-ix/{p-c7e58e9e.entry.js → p-8c2b62c3.entry.js} +2 -2
- package/dist/siemens-ix/{p-c62966f8.entry.js → p-8da941cd.entry.js} +2 -2
- package/dist/siemens-ix/{p-6618b2db.entry.js → p-8f616a5c.entry.js} +2 -2
- package/dist/siemens-ix/p-91046d49.entry.js +2 -0
- package/dist/siemens-ix/p-91046d49.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e14384df.entry.js → p-9948574f.entry.js} +2 -2
- package/dist/siemens-ix/{p-085d5ec2.entry.js → p-9d323232.entry.js} +2 -2
- package/dist/siemens-ix/p-9d5d4948.js +2 -0
- package/dist/siemens-ix/p-9d5d4948.js.map +1 -0
- package/dist/siemens-ix/p-9fe2759f.entry.js +2 -0
- package/dist/siemens-ix/p-9fe2759f.entry.js.map +1 -0
- package/dist/siemens-ix/{p-17a8aab2.entry.js → p-a3364116.entry.js} +2 -2
- package/dist/siemens-ix/p-a36ad7c7.entry.js +2 -0
- package/dist/siemens-ix/p-a36ad7c7.entry.js.map +1 -0
- package/dist/siemens-ix/p-a427e6a2.js +2 -0
- package/dist/siemens-ix/p-a427e6a2.js.map +1 -0
- package/dist/siemens-ix/p-a61ed462.entry.js +2 -0
- package/dist/siemens-ix/{p-8acc09aa.entry.js → p-b2a06e46.entry.js} +2 -2
- package/dist/siemens-ix/p-b5c887e5.entry.js +2 -0
- package/dist/siemens-ix/p-b5c887e5.entry.js.map +1 -0
- package/dist/siemens-ix/p-b62f8f62.entry.js +2 -0
- package/dist/siemens-ix/p-b62f8f62.entry.js.map +1 -0
- package/dist/siemens-ix/{p-5aa0b93c.entry.js → p-b74a8cdc.entry.js} +2 -2
- package/dist/siemens-ix/{p-ba24e694.entry.js → p-bd4c1a44.entry.js} +2 -2
- package/dist/siemens-ix/p-bd4c1a44.entry.js.map +1 -0
- package/dist/siemens-ix/{p-89e48bea.entry.js → p-bded112a.entry.js} +2 -2
- package/dist/siemens-ix/{p-e95a5a97.entry.js → p-be860121.entry.js} +2 -2
- package/dist/siemens-ix/p-c236cf18.entry.js +2 -0
- package/dist/siemens-ix/p-c6796e64.entry.js +2 -0
- package/dist/siemens-ix/p-caf49e00.entry.js +2 -0
- package/dist/siemens-ix/p-caf49e00.entry.js.map +1 -0
- package/dist/siemens-ix/p-cbfca958.entry.js +2 -0
- package/dist/siemens-ix/p-ce563a48.js +2 -0
- package/dist/siemens-ix/p-ce563a48.js.map +1 -0
- package/dist/siemens-ix/p-d01f05cf.entry.js +2 -0
- package/dist/siemens-ix/p-d01f05cf.entry.js.map +1 -0
- package/dist/siemens-ix/{p-a8d291fa.entry.js → p-d0b38ae2.entry.js} +2 -2
- package/dist/siemens-ix/p-d0b38ae2.entry.js.map +1 -0
- package/dist/siemens-ix/p-d19b52bd.entry.js +2 -0
- package/dist/siemens-ix/p-d19b52bd.entry.js.map +1 -0
- package/dist/siemens-ix/p-d7aa00d6.js +2 -0
- package/dist/siemens-ix/p-d7aa00d6.js.map +1 -0
- package/dist/siemens-ix/{p-b663ca16.entry.js → p-d929f23d.entry.js} +2 -2
- package/dist/siemens-ix/{p-e35805d0.entry.js → p-d95a6f49.entry.js} +2 -2
- package/dist/siemens-ix/{p-e35805d0.entry.js.map → p-d95a6f49.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-37229f30.entry.js → p-dc2d5730.entry.js} +2 -2
- package/dist/siemens-ix/p-dc2d5730.entry.js.map +1 -0
- package/dist/siemens-ix/{p-7402f42a.entry.js → p-df7060ae.entry.js} +2 -2
- package/dist/siemens-ix/p-df7060ae.entry.js.map +1 -0
- package/dist/siemens-ix/{p-44a27b29.entry.js → p-dfb181c1.entry.js} +2 -2
- package/dist/siemens-ix/p-dfb181c1.entry.js.map +1 -0
- package/dist/siemens-ix/{p-0fafba48.entry.js → p-e7ac5657.entry.js} +2 -2
- package/dist/siemens-ix/{p-ee96d1eb.entry.js → p-e9a37b3f.entry.js} +2 -2
- package/dist/siemens-ix/{p-24a8737a.entry.js → p-edc1d44a.entry.js} +2 -2
- package/dist/siemens-ix/{p-c072ddb5.entry.js → p-ede52531.entry.js} +2 -2
- package/dist/siemens-ix/p-ede52531.entry.js.map +1 -0
- package/dist/siemens-ix/p-f35386ec.js +2 -0
- package/dist/siemens-ix/p-f35386ec.js.map +1 -0
- package/dist/siemens-ix/p-f39048a2.entry.js +2 -0
- package/dist/siemens-ix/p-f39048a2.entry.js.map +1 -0
- package/dist/siemens-ix/p-f7618d1d.entry.js +2 -0
- package/dist/siemens-ix/p-f7618d1d.entry.js.map +1 -0
- package/dist/siemens-ix/p-f97a15c4.js +2 -0
- package/dist/siemens-ix/p-f97a15c4.js.map +1 -0
- package/dist/siemens-ix/p-fad9f568.js +2 -0
- package/dist/siemens-ix/p-fad9f568.js.map +1 -0
- package/dist/siemens-ix/p-ffca56d6.entry.js +2 -0
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +172 -27
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
- package/dist/siemens-ix/theme/classic-dark.css +1 -1
- package/dist/siemens-ix/theme/classic-light.css +1 -1
- package/dist/siemens-ix/theme/legacy-classic-dark.css +1 -1
- package/dist/siemens-ix/theme/legacy-classic-light.css +1 -1
- package/dist/types/components/action-card/action-card.d.ts +2 -2
- package/dist/types/components/avatar/avatar.d.ts +6 -6
- package/dist/types/components/blind/blind.d.ts +4 -4
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +3 -3
- package/dist/types/components/button/base-button.d.ts +3 -2
- package/dist/types/components/button/button.d.ts +3 -2
- package/dist/types/components/card-list/card-list.d.ts +3 -3
- package/dist/types/components/category-filter/category-filter.d.ts +22 -3
- package/dist/types/components/checkbox/checkbox.d.ts +61 -0
- package/dist/types/components/checkbox/tests/checkbox.ct.d.ts +1 -0
- package/dist/types/components/checkbox-group/checkbox-group.d.ts +47 -0
- package/dist/types/components/content-header/content-header.d.ts +1 -1
- package/dist/types/components/css-grid/css-grid.d.ts +2 -2
- package/dist/types/components/custom-field/custom-field.d.ts +46 -0
- package/dist/types/components/custom-field/tests/custom-field.ct.d.ts +1 -0
- package/dist/types/components/date-dropdown/date-dropdown.d.ts +18 -4
- package/dist/types/components/date-input/date-input.d.ts +138 -0
- package/dist/types/components/date-input/tests/date-input.ct.d.ts +1 -0
- package/dist/types/components/date-picker/date-picker-component.d.ts +43 -0
- package/dist/types/components/date-picker/date-picker.d.ts +9 -11
- package/dist/types/components/date-time-card/date-time-card.d.ts +1 -1
- package/dist/types/components/datetime-picker/datetime-picker.d.ts +13 -12
- package/dist/types/components/dropdown/dropdown-controller.d.ts +3 -7
- package/dist/types/components/dropdown/dropdown.d.ts +13 -12
- package/dist/types/components/dropdown-button/dropdown-button.d.ts +4 -4
- package/dist/types/components/event-list-item/event-list-item.d.ts +2 -2
- package/dist/types/components/field-label/field-label.d.ts +33 -0
- package/dist/types/components/field-label/tests/field-label.ct.d.ts +1 -0
- package/dist/types/components/field-wrapper/field-wrapper.d.ts +64 -0
- package/dist/types/components/field-wrapper/helper-text-util.d.ts +18 -0
- package/dist/types/components/field-wrapper/tests/field-wrapper.ct.d.ts +1 -0
- package/dist/types/components/helper-text/helper-text.d.ts +37 -0
- package/dist/types/components/input/input.animation.d.ts +1 -0
- package/dist/types/components/input/input.d.ts +123 -0
- package/dist/types/components/input/input.fc.d.ts +52 -0
- package/dist/types/components/input/input.util.d.ts +13 -0
- package/dist/types/components/input/number-input.d.ts +121 -0
- package/dist/types/components/input/tests/form-ready.ct.d.ts +1 -0
- package/dist/types/components/input/textarea.d.ts +126 -0
- package/dist/types/components/layout-auto/layout-auto.d.ts +24 -0
- package/dist/types/components/menu/menu.d.ts +3 -7
- package/dist/types/components/menu-about/test/menu-about.ct.d.ts +1 -0
- package/dist/types/components/menu-item/menu-item.d.ts +3 -3
- package/dist/types/components/modal/test/modal.ct.d.ts +3 -2
- package/dist/types/components/modal-header/modal-header.d.ts +3 -3
- package/dist/types/components/pane/pane.d.ts +9 -9
- package/dist/types/components/pane-layout/pane-layout.d.ts +1 -1
- package/dist/types/components/radio/radio.d.ts +53 -0
- package/dist/types/components/radio/test/radio.ct.d.ts +1 -0
- package/dist/types/components/radio-group/radio-group.d.ts +64 -0
- package/dist/types/components/radio-group/test/radio-group.ct.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +97 -14
- package/dist/types/components/select-item/events.d.ts +9 -0
- package/dist/types/components/select-item/select-item.d.ts +3 -1
- package/dist/types/components/time-picker/time-picker.d.ts +3 -3
- package/dist/types/components/toggle/toggle.d.ts +29 -1
- package/dist/types/components/tooltip/tooltip.d.ts +2 -1
- package/dist/types/components/typography/type-mapping.d.ts +3 -0
- package/dist/types/components/typography/typography.d.ts +3 -10
- package/dist/types/components/upload/test/upload.ct.d.ts +1 -0
- package/dist/types/components/upload/upload.d.ts +4 -2
- package/dist/types/components/utils/a11y.d.ts +5 -5
- package/dist/types/components/utils/application-layout/context.d.ts +2 -1
- package/dist/types/components/utils/attributes.d.ts +2 -0
- package/dist/types/components/utils/disposable-event-listener.d.ts +7 -0
- package/dist/types/components/utils/element-reference.d.ts +1 -0
- package/dist/types/components/utils/find-element.d.ts +22 -0
- package/dist/types/components/utils/focus.d.ts +5 -4
- package/dist/types/components/utils/input/index.d.ts +61 -0
- package/dist/types/components/utils/input/validation.d.ts +15 -0
- package/dist/types/components/utils/listener.d.ts +4 -2
- package/dist/types/components/utils/make-ref.d.ts +2 -2
- package/dist/types/components/utils/modal/index.d.ts +1 -1
- package/dist/types/components/utils/modal/message.d.ts +10 -7
- package/dist/types/components/utils/theme-switcher.d.ts +3 -2
- package/dist/types/components/utils/type-helper.d.ts +1 -0
- package/dist/types/components/utils/uuid.d.ts +1 -0
- package/dist/types/components.d.ts +1965 -213
- package/dist/types/index.d.ts +3 -0
- package/dist/types/setup.d.ts +7 -1
- package/dist/types/tests/utils/test/index.d.ts +3 -0
- package/dist/types/tests/utils/test/page.d.ts +1 -3
- package/hydrate/index.js +3563 -1101
- package/package.json +13 -13
- package/scss/components/_checkboxes.scss +4 -11
- package/scss/components/form/_input.scss +84 -9
- package/scss/mixins/_field.scss +18 -0
- package/scss/mixins/validation/_form-component.scss +64 -0
- package/components/ix-form-field.js +0 -44
- package/components/ix-form-field.js.map +0 -1
- package/components/ix-modal-example.js +0 -58
- package/components/ix-modal-example.js.map +0 -1
- package/components/ix-playground-internal.js +0 -35
- package/components/ix-playground-internal.js.map +0 -1
- package/dist/cjs/a11y-eba397e8.js.map +0 -1
- package/dist/cjs/app-globals-5cfdf2a0.js.map +0 -1
- package/dist/cjs/base-button-3735b8c2.js.map +0 -1
- package/dist/cjs/context-938f7470.js.map +0 -1
- package/dist/cjs/dropdown-controller-5ef3d018.js.map +0 -1
- package/dist/cjs/focus-9c8ffbb0.js.map +0 -1
- package/dist/cjs/index-529f21c1.js.map +0 -1
- package/dist/cjs/ix-form-field.cjs.entry.js +0 -28
- package/dist/cjs/ix-form-field.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-modal-example.cjs.entry.js +0 -28
- package/dist/cjs/ix-modal-example.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-playground-internal.cjs.entry.js +0 -22
- package/dist/cjs/ix-playground-internal.cjs.entry.js.map +0 -1
- package/dist/cjs/ix-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/listener-a124ed49.js.map +0 -1
- package/dist/cjs/make-ref-c25629b7.js.map +0 -1
- package/dist/cjs/modal-828cb80a.js.map +0 -1
- package/dist/cjs/theme-switcher-2d2bde85.js.map +0 -1
- package/dist/collection/components/event-list/test/event-list.spec.js +0 -65
- package/dist/collection/components/event-list/test/event-list.spec.js.map +0 -1
- package/dist/collection/components/form-field/form-field.js +0 -56
- package/dist/collection/components/form-field/form-field.js.map +0 -1
- package/dist/collection/components/grid/layout-grid.js.map +0 -1
- package/dist/collection/components/playground/example-modal.js +0 -24
- package/dist/collection/components/playground/example-modal.js.map +0 -1
- package/dist/collection/components/playground/playground.css +0 -27
- package/dist/collection/components/playground/playground.js +0 -28
- package/dist/collection/components/playground/playground.js.map +0 -1
- package/dist/esm/a11y-2e34777f.js.map +0 -1
- package/dist/esm/app-globals-0cd07cd9.js.map +0 -1
- package/dist/esm/base-button-1b40b11d.js.map +0 -1
- package/dist/esm/context-82a1ccf8.js.map +0 -1
- package/dist/esm/dropdown-controller-95bd6750.js.map +0 -1
- package/dist/esm/focus-d4d3abaf.js.map +0 -1
- package/dist/esm/index-5429f20b.js.map +0 -1
- package/dist/esm/ix-form-field.entry.js +0 -24
- package/dist/esm/ix-form-field.entry.js.map +0 -1
- package/dist/esm/ix-modal-example.entry.js +0 -24
- package/dist/esm/ix-modal-example.entry.js.map +0 -1
- package/dist/esm/ix-playground-internal.entry.js +0 -18
- package/dist/esm/ix-playground-internal.entry.js.map +0 -1
- package/dist/esm/ix-tooltip.entry.js.map +0 -1
- package/dist/esm/listener-2c562054.js.map +0 -1
- package/dist/esm/make-ref-c80046bf.js.map +0 -1
- package/dist/esm/menu-tabs-fc-d9a7dd06.js.map +0 -1
- package/dist/esm/modal-54740f80.js.map +0 -1
- package/dist/esm/theme-switcher-b10fb4da.js.map +0 -1
- package/dist/siemens-ix/p-04af3853.entry.js +0 -2
- package/dist/siemens-ix/p-04ec538b.entry.js +0 -2
- package/dist/siemens-ix/p-04ec538b.entry.js.map +0 -1
- package/dist/siemens-ix/p-091b036d.entry.js +0 -2
- package/dist/siemens-ix/p-0ca3528f.js +0 -2
- package/dist/siemens-ix/p-1483f65d.entry.js.map +0 -1
- package/dist/siemens-ix/p-157b1b28.js +0 -2
- package/dist/siemens-ix/p-157b1b28.js.map +0 -1
- package/dist/siemens-ix/p-15f44099.entry.js +0 -2
- package/dist/siemens-ix/p-15f44099.entry.js.map +0 -1
- package/dist/siemens-ix/p-1c3a0b1f.js +0 -2
- package/dist/siemens-ix/p-1c3a0b1f.js.map +0 -1
- package/dist/siemens-ix/p-1d581190.js.map +0 -1
- package/dist/siemens-ix/p-1da901d5.js.map +0 -1
- package/dist/siemens-ix/p-1db6be55.js.map +0 -1
- package/dist/siemens-ix/p-235c14ca.js +0 -2
- package/dist/siemens-ix/p-235c14ca.js.map +0 -1
- package/dist/siemens-ix/p-25f1749c.entry.js +0 -2
- package/dist/siemens-ix/p-25f1749c.entry.js.map +0 -1
- package/dist/siemens-ix/p-2ebfd4fd.entry.js +0 -2
- package/dist/siemens-ix/p-2ebfd4fd.entry.js.map +0 -1
- package/dist/siemens-ix/p-306269ae.entry.js +0 -2
- package/dist/siemens-ix/p-306269ae.entry.js.map +0 -1
- package/dist/siemens-ix/p-32d4ed3b.entry.js +0 -2
- package/dist/siemens-ix/p-35fff1e6.entry.js +0 -2
- package/dist/siemens-ix/p-37229f30.entry.js.map +0 -1
- package/dist/siemens-ix/p-3dc1294b.entry.js.map +0 -1
- package/dist/siemens-ix/p-3f59a3c3.entry.js +0 -2
- package/dist/siemens-ix/p-3f59a3c3.entry.js.map +0 -1
- package/dist/siemens-ix/p-411f51c5.entry.js +0 -2
- package/dist/siemens-ix/p-411f51c5.entry.js.map +0 -1
- package/dist/siemens-ix/p-44a27b29.entry.js.map +0 -1
- package/dist/siemens-ix/p-49d3fc15.entry.js +0 -2
- package/dist/siemens-ix/p-49d3fc15.entry.js.map +0 -1
- package/dist/siemens-ix/p-5099c070.entry.js +0 -2
- package/dist/siemens-ix/p-5099c070.entry.js.map +0 -1
- package/dist/siemens-ix/p-5351225b.entry.js.map +0 -1
- package/dist/siemens-ix/p-5c673ae9.entry.js +0 -2
- package/dist/siemens-ix/p-5c673ae9.entry.js.map +0 -1
- package/dist/siemens-ix/p-62b089b6.entry.js +0 -2
- package/dist/siemens-ix/p-62b089b6.entry.js.map +0 -1
- package/dist/siemens-ix/p-63f0755e.entry.js +0 -2
- package/dist/siemens-ix/p-64c3fa3d.js +0 -2
- package/dist/siemens-ix/p-64c3fa3d.js.map +0 -1
- package/dist/siemens-ix/p-67f44540.entry.js.map +0 -1
- package/dist/siemens-ix/p-68532fa2.js +0 -2
- package/dist/siemens-ix/p-6e4c9e3d.entry.js +0 -2
- package/dist/siemens-ix/p-6e4c9e3d.entry.js.map +0 -1
- package/dist/siemens-ix/p-6e6efb4c.js +0 -2
- package/dist/siemens-ix/p-6e6efb4c.js.map +0 -1
- package/dist/siemens-ix/p-713828ed.entry.js +0 -2
- package/dist/siemens-ix/p-713828ed.entry.js.map +0 -1
- package/dist/siemens-ix/p-7402f42a.entry.js.map +0 -1
- package/dist/siemens-ix/p-77273517.entry.js.map +0 -1
- package/dist/siemens-ix/p-78ac2ff1.entry.js +0 -2
- package/dist/siemens-ix/p-7947ef3d.entry.js +0 -2
- package/dist/siemens-ix/p-7c2f34f0.entry.js.map +0 -1
- package/dist/siemens-ix/p-82d33168.entry.js +0 -2
- package/dist/siemens-ix/p-86bbc005.entry.js +0 -2
- package/dist/siemens-ix/p-86bbc005.entry.js.map +0 -1
- package/dist/siemens-ix/p-90440046.entry.js.map +0 -1
- package/dist/siemens-ix/p-9bdda7ff.entry.js +0 -2
- package/dist/siemens-ix/p-a0138163.entry.js +0 -2
- package/dist/siemens-ix/p-a0138163.entry.js.map +0 -1
- package/dist/siemens-ix/p-a08efce0.entry.js +0 -2
- package/dist/siemens-ix/p-a08efce0.entry.js.map +0 -1
- package/dist/siemens-ix/p-a4755205.entry.js +0 -2
- package/dist/siemens-ix/p-a8d291fa.entry.js.map +0 -1
- package/dist/siemens-ix/p-aa814811.entry.js +0 -2
- package/dist/siemens-ix/p-aa814811.entry.js.map +0 -1
- package/dist/siemens-ix/p-accec846.js +0 -2
- package/dist/siemens-ix/p-accec846.js.map +0 -1
- package/dist/siemens-ix/p-adee6045.entry.js +0 -2
- package/dist/siemens-ix/p-adee6045.entry.js.map +0 -1
- package/dist/siemens-ix/p-b4ce366d.entry.js.map +0 -1
- package/dist/siemens-ix/p-ba24e694.entry.js.map +0 -1
- package/dist/siemens-ix/p-bf14c60b.entry.js +0 -2
- package/dist/siemens-ix/p-bf14c60b.entry.js.map +0 -1
- package/dist/siemens-ix/p-c022d6cc.entry.js +0 -2
- package/dist/siemens-ix/p-c022d6cc.entry.js.map +0 -1
- package/dist/siemens-ix/p-c05a98c8.entry.js +0 -2
- package/dist/siemens-ix/p-c072ddb5.entry.js.map +0 -1
- package/dist/siemens-ix/p-c09553f3.js +0 -2
- package/dist/siemens-ix/p-c09553f3.js.map +0 -1
- package/dist/siemens-ix/p-c1fe9f3d.entry.js +0 -2
- package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +0 -1
- package/dist/siemens-ix/p-c33cee36.entry.js +0 -2
- package/dist/siemens-ix/p-c33cee36.entry.js.map +0 -1
- package/dist/siemens-ix/p-cc65617d.entry.js.map +0 -1
- package/dist/siemens-ix/p-d14024d3.entry.js +0 -2
- package/dist/siemens-ix/p-d14024d3.entry.js.map +0 -1
- package/dist/siemens-ix/p-d1f49940.entry.js +0 -2
- package/dist/siemens-ix/p-d1f49940.entry.js.map +0 -1
- package/dist/siemens-ix/p-d6fc0727.entry.js +0 -2
- package/dist/siemens-ix/p-d6fc0727.entry.js.map +0 -1
- package/dist/siemens-ix/p-df370362.entry.js +0 -2
- package/dist/siemens-ix/p-df370362.entry.js.map +0 -1
- package/dist/siemens-ix/p-e948bcb0.js +0 -2
- package/dist/siemens-ix/p-e948bcb0.js.map +0 -1
- package/dist/siemens-ix/p-ed7e76a3.entry.js.map +0 -1
- package/dist/siemens-ix/p-f87cd962.js +0 -3
- package/dist/siemens-ix/p-f87cd962.js.map +0 -1
- package/dist/siemens-ix/p-fd5bee44.entry.js +0 -2
- package/dist/siemens-ix/p-fd5bee44.entry.js.map +0 -1
- package/dist/siemens-ix/p-fefd5743.entry.js +0 -2
- package/dist/siemens-ix/p-fefd5743.entry.js.map +0 -1
- package/dist/siemens-ix/p-ffa856df.entry.js +0 -2
- package/dist/siemens-ix/p-ffa856df.entry.js.map +0 -1
- package/dist/types/components/form-field/form-field.d.ts +0 -10
- package/dist/types/components/playground/example-modal.d.ts +0 -6
- package/dist/types/components/playground/playground.d.ts +0 -4
- /package/dist/collection/components/{grid → layout-grid}/layout-grid.css +0 -0
- /package/dist/siemens-ix/{p-928209e1.entry.js.map → p-044c2a7b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-35fff1e6.entry.js.map → p-0be907d4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f001ecc1.entry.js.map → p-0f0e7e14.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-63f0755e.entry.js.map → p-2643f32a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9079f6c8.entry.js.map → p-2a34a0c2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1bd98772.entry.js.map → p-2b367b12.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c05a98c8.entry.js.map → p-2b9c5f59.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4e547dd3.entry.js.map → p-2d3a6d29.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-82f9d976.entry.js.map → p-2d7ea063.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ae31be0d.entry.js.map → p-2db63240.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c81c4b9d.entry.js.map → p-3205726a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-33a7a26d.entry.js.map → p-37af7117.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e0d03d67.entry.js.map → p-392b4297.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c7280736.entry.js.map → p-4624a772.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-a4755205.entry.js.map → p-4a631d9c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-05dc6b2d.entry.js.map → p-4c9b7548.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-78ac2ff1.entry.js.map → p-4cc79e8f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d300b332.entry.js.map → p-4e51d716.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0ef97555.entry.js.map → p-4ec6ddfb.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0ca3528f.js.map → p-5682e985.js.map} +0 -0
- /package/dist/siemens-ix/{p-5af99eaa.entry.js.map → p-57e60a06.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0632731e.entry.js.map → p-63dd987f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f06b21f9.entry.js.map → p-654f91f2.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-82d33168.entry.js.map → p-66559451.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-86fd5922.entry.js.map → p-6722bcff.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b804b8c5.entry.js.map → p-6bae4e9b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-68532fa2.js.map → p-6bf208b8.js.map} +0 -0
- /package/dist/siemens-ix/{p-958c5970.entry.js.map → p-8457d846.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c7e58e9e.entry.js.map → p-8c2b62c3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-c62966f8.entry.js.map → p-8da941cd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6618b2db.entry.js.map → p-8f616a5c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e14384df.entry.js.map → p-9948574f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-085d5ec2.entry.js.map → p-9d323232.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-17a8aab2.entry.js.map → p-a3364116.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-32d4ed3b.entry.js.map → p-a61ed462.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-8acc09aa.entry.js.map → p-b2a06e46.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5aa0b93c.entry.js.map → p-b74a8cdc.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-89e48bea.entry.js.map → p-bded112a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-e95a5a97.entry.js.map → p-be860121.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7947ef3d.entry.js.map → p-c236cf18.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-091b036d.entry.js.map → p-c6796e64.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-04af3853.entry.js.map → p-cbfca958.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-b663ca16.entry.js.map → p-d929f23d.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0fafba48.entry.js.map → p-e7ac5657.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ee96d1eb.entry.js.map → p-e9a37b3f.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-24a8737a.entry.js.map → p-edc1d44a.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-9bdda7ff.entry.js.map → p-ffca56d6.entry.js.map} +0 -0
- /package/dist/types/components/{grid → layout-grid}/layout-grid.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\n\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n})\nexport class Select {\n @Element() hostElement!: HTMLIxSelectElement;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Please select an option';\n\n /**\n * Hint inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem: EventEmitter<string>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[];\n @State() dropdownWrapperRef!: HTMLElement;\n @State() dropdownAnchor!: HTMLElement;\n @State() isDropdownEmpty = false;\n @State() navigationItem: DropdownItemWrapper;\n @State() inputFilterText: string;\n @State() inputValue: string;\n\n private inputRef!: HTMLInputElement;\n private dropdownRef!: HTMLIxDropdownElement;\n private customItemsContainerRef!: HTMLDivElement;\n private addItemRef!: HTMLIxDropdownItemElement;\n\n private itemMutationObserver: MutationObserver;\n\n private arrowFocusController: ArrowFocusController;\n private focusControllerCallbackBind = this.focusDropdownItem.bind(this);\n\n private itemObserver = createMutationObserver(() => {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.arrowFocusController.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver.disconnect();\n }\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = undefined;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot.querySelector(\n 'ix-dropdown-item'\n );\n\n requestAnimationFrame(() => {\n nestedDropdownItem.shadowRoot.querySelector('button').focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0];\n } else {\n this.inputValue = '';\n }\n this.inputRef && (this.inputRef.value = this.inputValue);\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n return false;\n }\n\n componentDidLoad() {\n this.inputRef.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n }\n\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n if (this.itemMutationObserver) {\n this.itemMutationObserver.disconnect();\n }\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef.focus();\n this.inputRef.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = undefined;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n\n if (\n !this.itemExists(this.inputFilterText.trim()) &&\n !this.itemExists((el as HTMLIxSelectItemElement)?.label)\n ) {\n if (this.editable) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText.trim());\n if (defaultPrevented) {\n return;\n }\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = this.visibleNonShadowItems.indexOf(\n document.activeElement as any\n );\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as any\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n .querySelector('ix-dropdown-item')\n .shadowRoot.querySelector('button')\n .focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot.querySelector('button').focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef.value;\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n this.inputRef.value = '';\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.valueChange.emit(null);\n this.dropdownShow = false;\n }\n\n private onInputBlur(e) {\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n e.target['value'] = this.selectedLabels;\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor = ref;\n if (!this.editable) this.dropdownWrapperRef = ref;\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = undefined;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef = ref;\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor}\n trigger={this.dropdownWrapperRef}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n return {\n minWidth: `${this.hostElement.clientWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IxSelectItemLabelChangeEvent } from '../select-item/events';\nimport { ArrowFocusController } from '../utils/focus';\nimport { OnListener } from '../utils/listener';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { DropdownItemWrapper } from '../dropdown/dropdown-controller';\nimport {\n HookValidationLifecycle,\n ValidationResults,\n IxInputFieldComponent,\n} from '../utils/input';\nimport { MakeRef, makeRef } from '../utils/make-ref';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-select',\n styleUrl: 'select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Select implements IxInputFieldComponent<string | string[]> {\n @Element() hostElement!: HTMLIxSelectElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * A string that represents the element's name attribute,\n * containing a name that identifies the element when submitting the form.\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * A Boolean attribute indicating that an option with a non-empty string value must be selected\n *\n * @since 2.6.0\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Label for the select component\n *\n * @since 2.6.0\n */\n @Prop() label?: string;\n\n /**\n * Warning text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() warningText?: string;\n\n /**\n * Info text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() infoText?: string;\n\n /**\n * Error text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() invalidText?: string;\n\n /**\n * Valid text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() validText?: string;\n\n /**\n * Helper text for the select component\n *\n * @since 2.6.0\n **/\n @Prop() helperText?: string;\n\n /**\n * Show helper, error, info, warning text as tooltip\n *\n * @since 2.6.0\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * Indices of selected items.\n * This corresponds to the value property of ix-select-items and therefor not necessarily the indices of the items in the list.\n * @deprecated since 2.0.0. Use the `value` property instead.\n */\n @Prop({ mutable: true }) selectedIndices?: string | string[];\n\n /**\n * Current selected value.\n * This corresponds to the value property of ix-select-items\n * @since 2.0.0\n */\n @Prop({ mutable: true }) value: string | string[] = [];\n\n /**\n * Show clear button\n */\n @Prop() allowClear = false;\n\n /**\n * Selection mode\n */\n @Prop() mode: 'single' | 'multiple' = 'single';\n\n /**\n * Select is extendable\n */\n @Prop() editable = false;\n\n /**\n * If true the select will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the select will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * Input field placeholder\n */\n @Prop() i18nPlaceholder = 'Select an option';\n\n /**\n * Input field placeholder for editable select\n */\n @Prop() i18nPlaceholderEditable = 'Type of select option';\n\n /**\n * Select list header\n */\n @Prop() i18nSelectListHeader = 'Select an option';\n\n /**\n * Information inside of dropdown if no items where found with current filter text\n *\n * @since 1.5.0\n */\n @Prop() i18nNoMatches = 'No matches';\n\n /**\n * Hide list header\n *\n * @since 1.5.0\n */\n @Prop() hideListHeader = false;\n\n /**\n * Value changed\n * @since 2.0.0\n */\n @Event() valueChange!: EventEmitter<string | string[]>;\n\n /**\n * Item selection changed\n * @deprecated since 2.0.0. Use `valueChange` instead.\n */\n @Event() itemSelectionChange!: EventEmitter<string[]>;\n\n /**\n * Event dispatched whenever the text input changes.\n *\n * @since 2.0.0\n */\n @Event() inputChange!: EventEmitter<string>;\n\n /**\n * Item added to selection\n */\n @Event() addItem!: EventEmitter<string>;\n\n /**\n * Blur input\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() dropdownShow = false;\n @State() selectedLabels: string[] = [];\n @State() isDropdownEmpty = false;\n @State() navigationItem?: DropdownItemWrapper;\n @State() inputFilterText = '';\n @State() inputValue = '';\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n\n private readonly dropdownWrapperRef = makeRef<HTMLElement>();\n private readonly dropdownAnchor = makeRef<HTMLElement>();\n\n private inputRef?: HTMLInputElement;\n private dropdownRef?: HTMLIxDropdownElement;\n private customItemsContainerRef?: HTMLDivElement;\n private addItemRef?: HTMLIxDropdownItemElement;\n private arrowFocusController?: ArrowFocusController;\n\n private readonly itemObserver = createMutationObserver(() => {\n if (!this.arrowFocusController) {\n return;\n }\n this.arrowFocusController.items = this.visibleNonShadowItems;\n });\n private readonly focusControllerCallbackBind =\n this.focusDropdownItem.bind(this);\n\n get nonShadowItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-select-item'));\n }\n\n get visibleNonShadowItems() {\n return this.nonShadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get shadowItems() {\n return Array.from(\n this.hostElement.shadowRoot!.querySelectorAll('ix-select-item')\n );\n }\n\n get visibleShadowItems() {\n return this.shadowItems.filter(\n (item) => !item.classList.contains('d-none')\n );\n }\n\n get items() {\n return [...this.nonShadowItems, ...this.shadowItems];\n }\n\n get visibleItems() {\n return this.items.filter((item) => !item.classList.contains('d-none'));\n }\n\n get selectedItems() {\n return this.items.filter((item) => item.selected);\n }\n\n get addItemButton() {\n return this.hostElement.shadowRoot!.querySelector('.add-item');\n }\n\n get isSingleMode() {\n return this.mode === 'single';\n }\n\n get isMultipleMode() {\n return this.mode === 'multiple';\n }\n\n get isEveryDropdownItemHidden() {\n return this.items.every((item) => item.classList.contains('d-none'));\n }\n\n @Watch('selectedIndices')\n watchSelectedIndices(value: string | string[]) {\n this.value = value;\n this.updateSelection();\n }\n\n @Watch('value')\n watchValue(value: string | string[]) {\n this.selectedIndices = value;\n this.updateSelection();\n }\n\n @Watch('dropdownShow')\n watchDropdownShow(show: boolean) {\n if (show) {\n this.arrowFocusController = new ArrowFocusController(\n this.visibleNonShadowItems,\n this.dropdownRef,\n this.focusControllerCallbackBind\n );\n\n this.arrowFocusController.wrap = !this.editable;\n\n this.itemObserver.observe(this.dropdownRef, {\n childList: true,\n subtree: true,\n });\n } else {\n this.cleanupResources();\n }\n }\n\n private cleanupResources() {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n this.itemObserver?.disconnect();\n }\n\n @Listen('itemClick')\n onItemClicked(event: CustomEvent<string>) {\n const newId = event.detail;\n this.itemClick(newId);\n }\n\n async updateFormInternalValue(value: string | string[]) {\n if (Array.isArray(value)) {\n this.formInternals.setFormValue(value.join(','));\n return;\n }\n\n this.formInternals.setFormValue(value);\n }\n\n /** @internal */\n @Method()\n async hasValidValue(): Promise<boolean> {\n return this.required && !!this.hasValue();\n }\n\n private hasValue() {\n if (Array.isArray(this.value)) {\n return !!this.value.length;\n }\n\n return !!this.value;\n }\n\n private focusDropdownItem(index: number) {\n this.navigationItem = null;\n\n if (index < this.visibleNonShadowItems.length) {\n const nestedDropdownItem =\n this.visibleNonShadowItems[index]?.shadowRoot?.querySelector(\n 'ix-dropdown-item'\n );\n\n if (!nestedDropdownItem) {\n return;\n }\n\n requestAnimationFrame(() => {\n nestedDropdownItem?.shadowRoot?.querySelector('button')?.focus();\n });\n }\n }\n\n private itemClick(newId: string) {\n const oldValue = this.value;\n const value = this.toggleValue(newId);\n this.value = value;\n const defaultPrevented = this.emitValueChange(value);\n\n if (defaultPrevented) {\n this.value = oldValue;\n return;\n }\n\n this.updateSelection();\n }\n\n private emitAddItem(value: string) {\n if (value === undefined || value.trim() === '') {\n return false;\n }\n\n const { defaultPrevented } = this.addItem.emit(value);\n if (defaultPrevented) {\n return true;\n }\n\n const newItem = document.createElement('ix-select-item');\n newItem.value = value;\n newItem.label = value;\n\n this.customItemsContainerRef.appendChild(newItem);\n\n this.clearInput();\n this.itemClick(value);\n\n return false;\n }\n\n private toggleValue(itemValue: string) {\n if (!this.isMultipleMode) {\n return itemValue;\n }\n\n if (!this.value) {\n return [itemValue];\n }\n\n let value = this.value;\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n if (value.includes(itemValue)) {\n return value.filter((value) => value !== itemValue);\n } else {\n return [...value, itemValue];\n }\n }\n\n private updateSelection() {\n let ids: string[] = [];\n\n if (this.value) {\n ids = Array.isArray(this.value) ? [...this.value] : [this.value];\n }\n\n this.items.forEach((item) => {\n item.selected = ids.some((i) => {\n if (typeof i !== typeof item.value) {\n return i.toString() === item.value.toString();\n } else {\n return i === item.value;\n }\n });\n });\n\n this.selectedLabels = this.selectedItems.map((item) => item.label);\n\n if (this.selectedLabels?.length && this.isSingleMode) {\n this.inputValue = this.selectedLabels[0];\n } else {\n this.inputValue = '';\n }\n\n this.inputRef && (this.inputRef.value = this.inputValue);\n }\n\n private emitValueChange(value: string | string[]) {\n const { defaultPrevented } = this.valueChange.emit(value);\n\n if (defaultPrevented) {\n return true;\n }\n\n if (!value) {\n this.itemSelectionChange.emit(null);\n } else {\n this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);\n }\n\n this.updateFormInternalValue(value);\n return false;\n }\n\n componentDidLoad() {\n this.inputRef?.addEventListener('input', () => {\n this.dropdownShow = true;\n this.inputChange.emit(this.inputRef?.value);\n });\n }\n\n componentWillLoad() {\n if (this.selectedIndices && !this.value) {\n this.value = this.selectedIndices;\n }\n\n this.updateSelection();\n this.updateFormInternalValue(this.value);\n }\n\n @Listen('ix-select-item:valueChange')\n @Listen('ix-select-item:labelChange')\n onLabelChange(event: IxSelectItemLabelChangeEvent) {\n event.preventDefault();\n event.stopImmediatePropagation();\n this.updateSelection();\n }\n\n disconnectedCallback() {\n this.cleanupResources();\n }\n\n private itemExists(item: string) {\n return this.items.find((i) => i.label === item);\n }\n\n private dropdownVisibilityChanged(event: CustomEvent<boolean>) {\n this.dropdownShow = event.detail;\n\n if (event.detail) {\n this.inputRef?.focus();\n this.inputRef?.select();\n\n this.removeHiddenFromItems();\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n } else {\n this.navigationItem = null;\n this.updateSelection();\n this.inputFilterText = '';\n }\n }\n\n @OnListener<Select>('keydown', (self) => self.dropdownShow)\n async onKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n await this.onArrowNavigation(event, event.code);\n }\n\n if (!this.dropdownShow) {\n return;\n }\n\n if (event.code === 'Enter' || event.code === 'NumpadEnter') {\n await this.onEnterNavigation(event.target as HTMLIxSelectItemElement);\n }\n\n if (event.code === 'Escape') {\n this.dropdownShow = false;\n }\n }\n\n private async onEnterNavigation(\n el: HTMLIxSelectItemElement | HTMLInputElement\n ) {\n if (this.isMultipleMode) {\n return;\n }\n\n if (\n !this.itemExists(this.inputFilterText.trim()) &&\n !this.itemExists((el as HTMLIxSelectItemElement)?.label)\n ) {\n if (this.editable) {\n const defaultPrevented = this.emitAddItem(this.inputFilterText.trim());\n if (defaultPrevented) {\n return;\n }\n }\n }\n\n this.dropdownShow = false;\n this.updateSelection();\n }\n\n private async onArrowNavigation(\n event: KeyboardEvent,\n key: 'ArrowDown' | 'ArrowUp'\n ) {\n if (event.defaultPrevented) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n this.dropdownShow = true;\n\n if (!this.navigationItem && document.activeElement === this.hostElement) {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n const moveUp = key === 'ArrowUp';\n const indexNonShadow = document.activeElement\n ? this.visibleNonShadowItems.indexOf(\n document.activeElement as HTMLIxSelectItemElement\n )\n : -1;\n\n // Slotted select items\n if (indexNonShadow === 0) {\n if (!this.visibleShadowItems.length && this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleShadowItems.pop());\n }\n return;\n } else if (\n indexNonShadow !== -1 &&\n indexNonShadow === this.visibleNonShadowItems.length - 1\n ) {\n if (this.visibleShadowItems.length) {\n this.applyFocusTo(this.visibleShadowItems.shift());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n return;\n }\n\n if (!this.navigationItem) {\n return;\n }\n\n if (\n this.isAddItemVisible() &&\n this.addItemRef.contains(\n await this.navigationItem.getDropdownItemElement()\n )\n ) {\n if (moveUp) {\n this.applyFocusTo(this.visibleItems.pop());\n } else {\n if (this.visibleItems.length) {\n this.applyFocusTo(this.visibleItems.shift());\n }\n }\n return;\n }\n\n // Custom select items\n const indexShadow = this.visibleShadowItems.indexOf(\n this.navigationItem as HTMLIxSelectItemElement\n );\n\n if (moveUp) {\n if (indexShadow === 0) {\n if (this.visibleNonShadowItems.length) {\n this.applyFocusTo(this.visibleNonShadowItems.pop());\n } else if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow - 1]);\n }\n } else {\n if (indexShadow === this.visibleShadowItems.length - 1) {\n if (this.isAddItemVisible()) {\n this.focusAddItemButton();\n } else {\n this.applyFocusTo(this.visibleItems.shift());\n }\n } else {\n this.applyFocusTo(this.visibleShadowItems[indexShadow + 1]);\n }\n }\n }\n\n private applyFocusTo(element?: HTMLIxSelectItemElement) {\n if (!element) {\n return;\n }\n\n this.navigationItem = element;\n\n setTimeout(() => {\n element.shadowRoot\n ?.querySelector('ix-dropdown-item')\n ?.shadowRoot?.querySelector('button')\n ?.focus();\n });\n }\n\n private focusAddItemButton() {\n if (this.addItemButton) {\n this.addItemButton.shadowRoot?.querySelector('button')?.focus();\n this.navigationItem = this.addItemRef;\n }\n }\n\n private filterItemsWithTypeahead() {\n this.inputFilterText = this.inputRef?.value || '';\n\n if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {\n return;\n }\n\n if (this.inputFilterText) {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n if (\n !item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())\n ) {\n item.classList.add('d-none');\n }\n });\n } else {\n this.removeHiddenFromItems();\n }\n\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.visibleNonShadowItems;\n }\n\n this.isDropdownEmpty = this.isEveryDropdownItemHidden;\n }\n\n private removeHiddenFromItems() {\n this.items.forEach((item) => {\n item.classList.remove('d-none');\n });\n }\n\n private clearInput() {\n if (this.inputRef) {\n this.inputRef.value = '';\n }\n this.inputFilterText = '';\n }\n\n private clear() {\n this.clearInput();\n this.selectedLabels = [];\n this.value = [];\n this.emitValueChange([]);\n this.dropdownShow = false;\n }\n\n private onInputBlur(event: Event) {\n this.ixBlur.emit();\n\n if (this.editable) {\n return;\n }\n\n if (this.isSingleMode) {\n return;\n }\n\n const target = event.target as HTMLInputElement;\n\n if (!this.dropdownShow && this.mode !== 'multiple') {\n target.value = this.selectedLabels.toString();\n }\n }\n\n private placeholderValue() {\n if (this.disabled) {\n return '';\n }\n\n if (this.readonly) {\n return '';\n }\n\n if (this.editable) {\n return this.i18nPlaceholderEditable;\n }\n\n return this.i18nPlaceholder;\n }\n\n private isAddItemVisible() {\n return (\n !this.itemExists(this.inputFilterText) &&\n this.editable &&\n this.inputFilterText\n );\n }\n\n @HookValidationLifecycle()\n onValidationChange({\n isInvalid,\n isInvalidByRequired,\n isValid,\n isInfo,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isValid = isValid;\n this.isWarning = isWarning;\n this.isInfo = isInfo;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /**\n * Returns the native input element used in the component.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return Promise.resolve(this.inputRef);\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n return (\n <Host\n aria-disabled={a11yBoolean(this.disabled)}\n class={{\n disabled: this.disabled,\n }}\n >\n <ix-field-wrapper\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef as unknown as MakeRef<HTMLElement>}\n >\n <div\n class={{\n select: true,\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n ref={(ref) => {\n this.dropdownAnchor(ref);\n if (!this.editable) this.dropdownWrapperRef(ref);\n }}\n >\n <div class=\"input-container\">\n <div class=\"chips\">\n {this.isMultipleMode\n ? this.selectedItems?.map((item) => (\n <ix-filter-chip\n disabled={this.disabled || this.readonly}\n key={item.value}\n onCloseClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.itemClick(item.value);\n }}\n >\n {item.label}\n </ix-filter-chip>\n ))\n : ''}\n <div class=\"trigger\">\n <input\n autocomplete=\"off\"\n data-testid=\"input\"\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n type=\"text\"\n class={{\n 'allow-clear':\n this.allowClear && !!this.selectedLabels?.length,\n }}\n placeholder={this.placeholderValue()}\n value={this.inputValue ?? ''}\n ref={(ref) => (this.inputRef = ref)}\n onBlur={(e) => this.onInputBlur(e)}\n onFocus={() => {\n this.navigationItem = null;\n }}\n onInput={() => this.filterItemsWithTypeahead()}\n onKeyDown={(e) => this.onKeyDown(e)}\n />\n {this.allowClear &&\n (this.selectedLabels?.length || this.inputFilterText) ? (\n <ix-icon-button\n class=\"clear\"\n icon={'clear'}\n ghost\n oval\n size=\"16\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }}\n />\n ) : null}\n {this.disabled || this.readonly ? null : (\n <ix-icon-button\n data-select-dropdown\n class={{ 'dropdown-visible': this.dropdownShow }}\n icon=\"chevron-down-small\"\n ghost\n ref={(ref) => {\n if (this.editable) this.dropdownWrapperRef(ref);\n }}\n ></ix-icon-button>\n )}\n </div>\n </div>\n </div>\n </div>\n </ix-field-wrapper>\n <ix-dropdown\n ref={(ref) => (this.dropdownRef = ref!)}\n show={this.dropdownShow}\n closeBehavior={this.isMultipleMode ? 'outside' : 'both'}\n class={{\n 'd-none': this.disabled || this.readonly,\n }}\n anchor={this.dropdownAnchor.waitForCurrent()}\n trigger={this.dropdownWrapperRef.waitForCurrent()}\n onShowChanged={(e) => this.dropdownVisibilityChanged(e)}\n placement=\"bottom-start\"\n overwriteDropdownStyle={async () => {\n const minWidth = this.hostElement.shadowRoot\n ?.querySelector('.select')\n ?.getBoundingClientRect().width;\n\n return {\n minWidth: `${minWidth}px`,\n };\n }}\n >\n <div\n class={{\n 'select-list-header': true,\n hidden: this.hideListHeader || this.isDropdownEmpty,\n }}\n title={this.i18nSelectListHeader}\n onClick={(e) => e.preventDefault()}\n >\n {this.i18nSelectListHeader}\n </div>\n <slot\n onSlotchange={() => {\n this.updateSelection();\n }}\n ></slot>\n <div\n ref={(ref) => (this.customItemsContainerRef = ref!)}\n class=\"d-contents\"\n ></div>\n {this.isAddItemVisible() ? (\n <ix-dropdown-item\n data-testid=\"add-item\"\n icon={'plus'}\n class={{\n 'add-item': true,\n }}\n label={this.inputFilterText}\n onItemClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n this.emitAddItem(this.inputFilterText);\n }}\n onFocus={() => (this.navigationItem = this.addItemRef)}\n ref={(ref) => {\n this.addItemRef = ref!;\n }}\n ></ix-dropdown-item>\n ) : null}\n {this.isDropdownEmpty && !this.editable ? (\n <div class=\"select-list-header\">{this.i18nNoMatches}</div>\n ) : (\n ''\n )}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* LICENSE file in the root directory of this source tree.
|
|
8
8
|
*/
|
|
9
9
|
import { expect } from "@playwright/test";
|
|
10
|
-
import { test } from "../../../tests/utils/test/index";
|
|
10
|
+
import { getFormValue, preventFormSubmission, test } from "../../../tests/utils/test/index";
|
|
11
11
|
test('renders', async ({ mount, page }) => {
|
|
12
12
|
await mount(`
|
|
13
13
|
<ix-select>
|
|
@@ -122,13 +122,14 @@ test('open filtered dropdown on input', async ({ mount, page }) => {
|
|
|
122
122
|
<ix-select-item value="2" label="Item 2">Test</ix-select-item>
|
|
123
123
|
</ix-select>
|
|
124
124
|
`);
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
await
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
const select = page.locator('ix-select');
|
|
126
|
+
const input = select.locator('input');
|
|
127
|
+
await select.evaluate((select) => (select.value = []));
|
|
128
|
+
await input.focus();
|
|
129
|
+
await page.keyboard.press('Escape');
|
|
130
|
+
const dropdown = select.locator('ix-dropdown');
|
|
130
131
|
await expect(dropdown).not.toBeVisible();
|
|
131
|
-
|
|
132
|
+
await input.fill('1');
|
|
132
133
|
const item1 = page.getByRole('button', { name: 'Item 1' });
|
|
133
134
|
const item2 = page.getByRole('button', { name: 'Item 2' });
|
|
134
135
|
await expect(item1).toBeVisible();
|
|
@@ -299,7 +300,7 @@ test.describe('arrow key navigation', () => {
|
|
|
299
300
|
await page.locator('ix-icon-button').click();
|
|
300
301
|
await page.waitForSelector('.checkmark');
|
|
301
302
|
await page.keyboard.down('ArrowDown');
|
|
302
|
-
const addItem =
|
|
303
|
+
const addItem = page.locator('ix-dropdown-item');
|
|
303
304
|
await expect(addItem).toBeFocused();
|
|
304
305
|
});
|
|
305
306
|
test('slot -> dynamic item', async ({ mount, page }) => {
|
|
@@ -378,7 +379,7 @@ test.describe('arrow key navigation', () => {
|
|
|
378
379
|
await input.focus();
|
|
379
380
|
await input.fill('Item 2');
|
|
380
381
|
await page.keyboard.press('Enter');
|
|
381
|
-
await
|
|
382
|
+
await input.clear();
|
|
382
383
|
await page.keyboard.down('ArrowDown');
|
|
383
384
|
await page.waitForTimeout(100);
|
|
384
385
|
await page.keyboard.down('ArrowDown');
|
|
@@ -563,6 +564,40 @@ test.describe('arrow key navigation', () => {
|
|
|
563
564
|
});
|
|
564
565
|
});
|
|
565
566
|
});
|
|
567
|
+
test('form-ready', async ({ mount, page }) => {
|
|
568
|
+
await mount(`
|
|
569
|
+
<form>
|
|
570
|
+
<ix-select name="my-custom-entry">
|
|
571
|
+
<ix-select-item value="1" label="Item 1">Test</ix-select-item>
|
|
572
|
+
<ix-select-item value="2" label="Item 2">Test</ix-select-item>
|
|
573
|
+
</ix-select>
|
|
574
|
+
</form>
|
|
575
|
+
`);
|
|
576
|
+
const select = page.locator('ix-select');
|
|
577
|
+
const formElement = page.locator('form');
|
|
578
|
+
await preventFormSubmission(formElement);
|
|
579
|
+
await page.locator('[data-select-dropdown]').click();
|
|
580
|
+
await page.locator('ix-select-item').nth(1).click();
|
|
581
|
+
const inputValue = await select.locator('input').inputValue();
|
|
582
|
+
expect(inputValue).toEqual('Item 2');
|
|
583
|
+
const formData = await getFormValue(formElement, 'my-custom-entry', page);
|
|
584
|
+
expect(formData).toEqual('2');
|
|
585
|
+
});
|
|
586
|
+
test('form-ready - with initial value', async ({ mount, page }) => {
|
|
587
|
+
await mount(`
|
|
588
|
+
<form>
|
|
589
|
+
<ix-select name="my-custom-entry" value="some other">
|
|
590
|
+
<ix-select-item value="1" label="Item 1">Test</ix-select-item>
|
|
591
|
+
<ix-select-item value="2" label="Item 2">Test</ix-select-item>
|
|
592
|
+
<ix-select-item value="some other" label="Item 3">Test</ix-select-item>
|
|
593
|
+
</ix-select>
|
|
594
|
+
</form>
|
|
595
|
+
`);
|
|
596
|
+
const formElement = page.locator('form');
|
|
597
|
+
await preventFormSubmission(formElement);
|
|
598
|
+
const formData = await getFormValue(formElement, 'my-custom-entry', page);
|
|
599
|
+
expect(formData).toEqual('some other');
|
|
600
|
+
});
|
|
566
601
|
test.describe('Events', () => {
|
|
567
602
|
test('value change', async ({ mount, page }) => {
|
|
568
603
|
await mount(`<ix-select>
|
|
@@ -620,4 +655,19 @@ test.describe('Events', () => {
|
|
|
620
655
|
});
|
|
621
656
|
});
|
|
622
657
|
});
|
|
658
|
+
test('async set content and check input value', async ({ mount, page }) => {
|
|
659
|
+
await mount(`<ix-select value="1"></ix-select>`);
|
|
660
|
+
await page.evaluate(async () => {
|
|
661
|
+
const select = document.querySelector('ix-select');
|
|
662
|
+
if (select) {
|
|
663
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
664
|
+
select.innerHTML = `
|
|
665
|
+
<ix-select-item value="1" label="Item 1">Test</ix-select-item>
|
|
666
|
+
<ix-select-item value="2" label="Item 2">Test</ix-select-item>
|
|
667
|
+
`;
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
const input = page.locator('input');
|
|
671
|
+
await expect(input).toHaveValue('Item 1');
|
|
672
|
+
});
|
|
623
673
|
//# sourceMappingURL=select.ct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.ct.js","sourceRoot":"","sources":["../../../../src/components/select/test/select.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;;;;;KAKT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9C,MAAM,KAAK,CAAC;;;;;KAKT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7E,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAE7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACpE,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzE,MAAM,SAAS,GAAG,IAAI;SACnB,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IAEvC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACjD,MAAM,KAAK,CAAC;;;;;KAKT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,CAAC,QAAQ,CACpB,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CACvD,CAAC;IAEF,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CACV,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAChE,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACnD,MAAM,KAAK,CAAC;;;;;;;KAOT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IAEpB,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACrD,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEzC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IACvC,MAAM,KAAK,CAAC;;;;;;;KAOT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7E,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IAChE,MAAM,KAAK,CAAC;;;;;KAKT,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7E,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,EAAE,EAC7D,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,KAAK,CAAC;;;;;;KAMT,CAAC,CAAC;IAEL,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IAEpB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/D,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,EAAE,EAC3E,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,KAAK,CAAC;;;;;KAKT,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE9C,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7E,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAE7E,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iFAAiF,EAAE,KAAK,EAAE,EAC7F,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,KAAK,CAAC;;;;;;;KAOT,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAEhE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5E,MAAM,KAAK,CAAC;;;;;;;KAOT,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAEhE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,EAAE,EACvE,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,KAAK,CAAC;;;;;;;KAOT,CAAC,CAAC;IAEL,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvC,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;IAEhE,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAE,EAChE,KAAK,EACL,IAAI,GACL,EAAE,EAAE;IACH,MAAM,KAAK,CAAC;;;;;;KAMT,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpD,KAAK,UAAU,kBAAkB,CAAC,KAAa;QAC7C,MAAM,IAAI;aACP,OAAO,CAAC,gBAAgB,CAAC;aACzB,GAAG,CAAC,KAAK,CAAC;aACV,QAAQ,CAAC,CAAC,CAA0B,EAAE,KAAK,EAAE,EAAE;YAC9C,CAAC,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,QAAQ,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IACpD,MAAM,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAErD,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACzE,MAAM,MAAM,CACV,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAChE,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC9B,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACtD,MAAM,KAAK,CAAC;;;;;OAKX,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7D,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACtD,MAAM,KAAK,CAAC;;MAEZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAClD,MAAM,KAAK,CAAC;;OAEX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACrD,MAAM,KAAK,CAAC;;;;;OAKX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACjD,MAAM,KAAK,CAAC;;;;;OAKX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACzD,MAAM,KAAK,CAAC;;;;OAIX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC5D,MAAM,KAAK,CAAC;;;;MAIZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACxD,MAAM,KAAK,CAAC;;;;MAIZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAChE,MAAM,KAAK,CAAC;;MAEZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACrD,MAAM,KAAK,CAAC;;;;OAIX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACjD,MAAM,KAAK,CAAC;;;;OAIX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACzD,MAAM,KAAK,CAAC;;OAEX,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC5D,MAAM,KAAK,CAAC;;;;MAIZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACxD,MAAM,KAAK,CAAC;;;;MAIZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iCAAiC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAChE,MAAM,KAAK,CAAC;;MAEZ,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEzC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7C,MAAM,KAAK,CAAC;;mBAEG,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACrC,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAc,EAAE,EAAE,CACrD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAClB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7C,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACrC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAc,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7C,MAAM,KAAK,CAAC;;mBAEC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAC7D,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YACzC,MAAM,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CACzD,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,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-select>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n});\n\ntest('editable mode', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('Not existing');\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).not.toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).not.toBeVisible();\n\n const add = page.getByRole('button', { name: /Not existing/ });\n await expect(add).toBeVisible();\n\n await add.click();\n await expect(page.getByTestId('input')).toHaveValue(/Not existing/);\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n\n const addedItem = page\n .getByRole('listitem')\n .filter({ hasText: 'Not existing' });\n\n await expect(addedItem).toBeVisible();\n});\n\ntest('single selection', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate(\n (select: HTMLIxSelectElement) => (select.value = '22')\n );\n\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(\n page.getByRole('button', { name: 'Item 2' }).locator('ix-icon')\n ).toBeVisible();\n});\n\ntest('multiple selection', async ({ mount, page }) => {\n await mount(`\n <ix-select mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n <ix-select-item value=\"4\" label=\"Item 4\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n const chips = element.locator('.chips');\n\n await expect(dropdown).toBeVisible();\n\n const item1 = element.locator('ix-select-item').nth(0);\n const item3 = element.locator('ix-select-item').nth(2);\n await item1.click();\n await item3.click();\n\n await expect(item1.locator('ix-icon')).toBeVisible();\n await expect(item3.locator('ix-icon')).toBeVisible();\n\n const chip1 = chips.getByTitle('Item 1');\n const chip3 = chips.getByTitle('Item 3');\n\n await expect(chip1).toBeVisible();\n await expect(chip3).toBeVisible();\n});\n\ntest('filter', async ({ mount, page }) => {\n await mount(`\n <ix-select mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"abc\" label=\"abc\">Test</ix-select-item>\n <ix-select-item value=\"4\" label=\"Item 4\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n\n await page.locator('[data-select-dropdown]').click();\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await element.locator('input').fill('abc');\n\n const item1 = page.getByRole('button', { name: 'Item 1' });\n const item2 = page.getByRole('button', { name: 'Item 2' });\n const item4 = page.getByRole('button', { name: 'Item 4' });\n const item_abc = page.getByRole('button', { name: 'abc' });\n\n await expect(item1).not.toBeVisible();\n await expect(item2).not.toBeVisible();\n await expect(item4).not.toBeVisible();\n await expect(item_abc).toBeVisible();\n});\n\ntest('open filtered dropdown on input', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n\n await page.locator('[data-testid=\"input\"]').focus();\n page.keyboard.down('Escape');\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).not.toBeVisible();\n\n page.keyboard.down('1');\n\n const item1 = page.getByRole('button', { name: 'Item 1' });\n const item2 = page.getByRole('button', { name: 'Item 2' });\n\n await expect(item1).toBeVisible();\n await expect(item2).not.toBeVisible();\n});\n\ntest('remove text from input and reselect the element', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n `);\n\n await page.locator('[data-select-dropdown]').click();\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n const item2 = page.getByRole('button', { name: 'Item 2' });\n await item2.click();\n\n const inputValue = await element.locator('input').inputValue();\n expect(inputValue).toEqual('Item 2');\n});\n\ntest('type in a novel item name in editable mode and then remove it', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await expect(page.getByRole('button', { name: 'Item 1' })).not.toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).not.toBeVisible();\n\n const add = page.getByRole('button', { name: 'test' });\n await expect(add).toBeVisible();\n\n await page.getByTestId('input').fill('');\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(add).not.toBeVisible();\n});\n\ntest('type in a novel item name in editable mode, click outside and reopen the select', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n const btnElement = page.locator('ix-button');\n await expect(selectElement).toHaveClass(/hydrated/);\n await expect(btnElement).toBeVisible();\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n const add = page.getByRole('button', { name: 'test' });\n await expect(add).toBeVisible();\n\n await btnElement.click();\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('Item 2');\n\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 3' })).toBeVisible();\n});\n\ntest('type in a novel item name and click outside', async ({ mount, page }) => {\n await mount(`\n <ix-select value=\"2\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n await expect(selectElement).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await page.keyboard.press('Enter');\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('Item 2');\n});\n\ntest('type in a novel item name in multiple mode, click outside', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n const btnElement = page.locator('ix-button');\n await expect(selectElement).toHaveClass(/hydrated/);\n await expect(btnElement).toBeVisible();\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await btnElement.click();\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('');\n});\n\ntest('pass object as value and check if it is selectable', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select>\n <ix-select-item label=\"Item 1\">Test</ix-select-item>\n <ix-select-item label=\"Item 2\">Test</ix-select-item>\n <ix-select-item label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n `);\n const selectElement = page.locator('ix-select');\n await expect(selectElement).toHaveClass(/hydrated/);\n\n async function setSelectItemValue(index: number): Promise<void> {\n await page\n .locator('ix-select-item')\n .nth(index)\n .evaluate((e: HTMLIxSelectItemElement, index) => {\n e.value = { selectLabel: `Item ${index}`, selectValue: `${index}` };\n });\n }\n\n for (let index = 0; index < 3; index++) {\n await setSelectItemValue(index);\n }\n\n await page.locator('[data-select-dropdown]').click();\n await page.locator('ix-select-item').last().click();\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 3' })).toBeVisible();\n await expect(\n page.getByRole('button', { name: 'Item 3' }).locator('ix-icon')\n ).toBeVisible();\n});\n\ntest.describe('arrow key navigation', () => {\n test.describe('ArrowDown', () => {\n test('input -> slotted item', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n await page.locator('ix-select input').click();\n await page.keyboard.down('ArrowDown');\n const itemOne = await page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('input -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n const itemOne = await page.locator('.add-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('input -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n const addItem = await page.locator('ix-dropdown-item');\n await expect(addItem).toBeFocused();\n });\n\n test('slot -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemThree = page.locator('ix-select-item').last();\n await expect(itemThree).toBeFocused();\n });\n\n test('slot -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('dynamic item -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('wrap - dynamic item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.press('Enter');\n await page.locator('input').clear();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').nth(1);\n await expect(itemTwo).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - add item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - add item -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n });\n\n test.describe('ArrowUp', () => {\n test('dynamic item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').last();\n await expect(itemTwo).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('add item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('add item -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - slot -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.locator('input').clear();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').last();\n await expect(itemTwo).toBeFocused();\n });\n\n test('wrap - slot -> add-item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('wrap - dynamic item -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n });\n});\n\ntest.describe('Events', () => {\n test('value change', async ({ mount, page }) => {\n await mount(`<ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\"></ix-select-item>\n </ix-select>`);\n\n const select = await page.locator('ix-select');\n const valueChanged = select.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('valueChange', (e: CustomEvent) =>\n resolve(e.detail)\n );\n });\n });\n\n await page.locator('ix-icon-button').click();\n await page.locator('ix-select-item').click();\n\n await expect(select).toHaveClass(/hydrated/);\n expect(await valueChanged).toBe('1');\n });\n\n test('add item', async ({ mount, page }) => {\n const itemText = 'test';\n await mount(`<ix-select editable></ix-select>`);\n const select = await page.locator('ix-select');\n const itemAdded = select.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('addItem', (e: CustomEvent) => resolve(e.detail));\n });\n });\n const input = await page.locator('input');\n await input.focus();\n await input.fill(itemText);\n await page.keyboard.press('Enter');\n\n await expect(select).toHaveClass(/hydrated/);\n expect(await itemAdded).toBe(itemText);\n });\n\n test.describe('prevent default', () => {\n test('value change', async ({ mount, page }) => {\n await mount(`<ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\"></ix-select-item>\n </ix-select>`);\n const select = await page.locator('ix-select');\n await select.evaluate((i) =>\n i.addEventListener('vauleChange', (e) => e.preventDefault())\n );\n await page.locator('ix-icon-button').click();\n const item = await page.locator('ix-select-item');\n await item.click();\n await expect(item).not.toHaveClass('selected');\n });\n\n test('add item', async ({ mount, page }) => {\n await mount(`<ix-select editable></ix-select>`);\n const select = await page.locator('ix-select');\n await select.evaluate((i) =>\n i.addEventListener('addItem', (e) => e.preventDefault())\n );\n const input = await page.locator('input');\n await input.focus();\n await input.fill('test');\n await page.keyboard.press('Enter');\n const count = await page.locator('ix-select-item').count();\n await expect(count).toBe(0);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"select.ct.js","sourceRoot":"","sources":["../../../../src/components/select/test/select.ct.ts"],"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 */\nimport { expect } from '@playwright/test';\nimport { getFormValue, preventFormSubmission, test } from '@utils/test';\n\ntest('renders', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n});\n\ntest('editable mode', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('Not existing');\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).not.toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).not.toBeVisible();\n\n const add = page.getByRole('button', { name: /Not existing/ });\n await expect(add).toBeVisible();\n\n await add.click();\n await expect(page.getByTestId('input')).toHaveValue(/Not existing/);\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n\n const addedItem = page\n .getByRole('listitem')\n .filter({ hasText: 'Not existing' });\n\n await expect(addedItem).toBeVisible();\n});\n\ntest('single selection', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"11\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"22\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate(\n (select: HTMLIxSelectElement) => (select.value = '22')\n );\n\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(\n page.getByRole('button', { name: 'Item 2' }).locator('ix-icon')\n ).toBeVisible();\n});\n\ntest('multiple selection', async ({ mount, page }) => {\n await mount(`\n <ix-select mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n <ix-select-item value=\"4\" label=\"Item 4\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n await page.locator('[data-select-dropdown]').click();\n\n const dropdown = element.locator('ix-dropdown');\n const chips = element.locator('.chips');\n\n await expect(dropdown).toBeVisible();\n\n const item1 = element.locator('ix-select-item').nth(0);\n const item3 = element.locator('ix-select-item').nth(2);\n await item1.click();\n await item3.click();\n\n await expect(item1.locator('ix-icon')).toBeVisible();\n await expect(item3.locator('ix-icon')).toBeVisible();\n\n const chip1 = chips.getByTitle('Item 1');\n const chip3 = chips.getByTitle('Item 3');\n\n await expect(chip1).toBeVisible();\n await expect(chip3).toBeVisible();\n});\n\ntest('filter', async ({ mount, page }) => {\n await mount(`\n <ix-select mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"abc\" label=\"abc\">Test</ix-select-item>\n <ix-select-item value=\"4\" label=\"Item 4\">Test</ix-select-item>\n </ix-select>\n `);\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n\n await page.locator('[data-select-dropdown]').click();\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n await element.locator('input').fill('abc');\n\n const item1 = page.getByRole('button', { name: 'Item 1' });\n const item2 = page.getByRole('button', { name: 'Item 2' });\n const item4 = page.getByRole('button', { name: 'Item 4' });\n const item_abc = page.getByRole('button', { name: 'abc' });\n\n await expect(item1).not.toBeVisible();\n await expect(item2).not.toBeVisible();\n await expect(item4).not.toBeVisible();\n await expect(item_abc).toBeVisible();\n});\n\ntest('open filtered dropdown on input', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n const select = page.locator('ix-select');\n const input = select.locator('input');\n await select.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n\n await input.focus();\n await page.keyboard.press('Escape');\n const dropdown = select.locator('ix-dropdown');\n await expect(dropdown).not.toBeVisible();\n\n await input.fill('1');\n\n const item1 = page.getByRole('button', { name: 'Item 1' });\n const item2 = page.getByRole('button', { name: 'Item 2' });\n\n await expect(item1).toBeVisible();\n await expect(item2).not.toBeVisible();\n});\n\ntest('remove text from input and reselect the element', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n `);\n\n await page.locator('[data-select-dropdown]').click();\n const element = page.locator('ix-select');\n await element.evaluate((select: HTMLIxSelectElement) => (select.value = []));\n const dropdown = element.locator('ix-dropdown');\n await expect(dropdown).toBeVisible();\n\n const item2 = page.getByRole('button', { name: 'Item 2' });\n await item2.click();\n\n const inputValue = await element.locator('input').inputValue();\n expect(inputValue).toEqual('Item 2');\n});\n\ntest('type in a novel item name in editable mode and then remove it', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const element = page.locator('ix-select');\n await expect(element).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await expect(page.getByRole('button', { name: 'Item 1' })).not.toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).not.toBeVisible();\n\n const add = page.getByRole('button', { name: 'test' });\n await expect(add).toBeVisible();\n\n await page.getByTestId('input').fill('');\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(add).not.toBeVisible();\n});\n\ntest('type in a novel item name in editable mode, click outside and reopen the select', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n const btnElement = page.locator('ix-button');\n await expect(selectElement).toHaveClass(/hydrated/);\n await expect(btnElement).toBeVisible();\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n const add = page.getByRole('button', { name: 'test' });\n await expect(add).toBeVisible();\n\n await btnElement.click();\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('Item 2');\n\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 3' })).toBeVisible();\n});\n\ntest('type in a novel item name and click outside', async ({ mount, page }) => {\n await mount(`\n <ix-select value=\"2\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n await expect(selectElement).toHaveClass(/hydrated/);\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await page.keyboard.press('Enter');\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('Item 2');\n});\n\ntest('type in a novel item name in multiple mode, click outside', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select value=\"2\" mode=\"multiple\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"3\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n <ix-button>outside</ix-button>\n `);\n\n const selectElement = page.locator('ix-select');\n const btnElement = page.locator('ix-button');\n await expect(selectElement).toHaveClass(/hydrated/);\n await expect(btnElement).toBeVisible();\n\n await page.locator('[data-select-dropdown]').click();\n await page.getByTestId('input').fill('test');\n\n await btnElement.click();\n const inputValue = await page.getByTestId('input').inputValue();\n\n expect(inputValue).toBe('');\n});\n\ntest('pass object as value and check if it is selectable', async ({\n mount,\n page,\n}) => {\n await mount(`\n <ix-select>\n <ix-select-item label=\"Item 1\">Test</ix-select-item>\n <ix-select-item label=\"Item 2\">Test</ix-select-item>\n <ix-select-item label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n `);\n const selectElement = page.locator('ix-select');\n await expect(selectElement).toHaveClass(/hydrated/);\n\n async function setSelectItemValue(index: number): Promise<void> {\n await page\n .locator('ix-select-item')\n .nth(index)\n .evaluate((e: HTMLIxSelectItemElement, index) => {\n e.value = { selectLabel: `Item ${index}`, selectValue: `${index}` };\n });\n }\n\n for (let index = 0; index < 3; index++) {\n await setSelectItemValue(index);\n }\n\n await page.locator('[data-select-dropdown]').click();\n await page.locator('ix-select-item').last().click();\n await page.locator('[data-select-dropdown]').click();\n\n await expect(page.getByRole('button', { name: 'Item 1' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 2' })).toBeVisible();\n await expect(page.getByRole('button', { name: 'Item 3' })).toBeVisible();\n await expect(\n page.getByRole('button', { name: 'Item 3' }).locator('ix-icon')\n ).toBeVisible();\n});\n\ntest.describe('arrow key navigation', () => {\n test.describe('ArrowDown', () => {\n test('input -> slotted item', async ({ mount, page }) => {\n await mount(`\n <ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n await page.locator('ix-select input').click();\n await page.keyboard.down('ArrowDown');\n const itemOne = await page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('input -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n const itemOne = await page.locator('.add-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('input -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n const addItem = page.locator('ix-dropdown-item');\n await expect(addItem).toBeFocused();\n });\n\n test('slot -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemThree = page.locator('ix-select-item').last();\n await expect(itemThree).toBeFocused();\n });\n\n test('slot -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('dynamic item -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('wrap - dynamic item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.press('Enter');\n await input.clear();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').nth(1);\n await expect(itemTwo).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - add item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - add item -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n });\n\n test.describe('ArrowUp', () => {\n test('dynamic item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.keyboard.down('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').last();\n await expect(itemTwo).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item').first();\n await expect(itemOne).toBeFocused();\n });\n\n test('add item -> slot', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('add item -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemOne = page.locator('ix-select-item');\n await expect(itemOne).toBeFocused();\n });\n\n test('wrap - slot -> dynamic item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('input');\n await input.focus();\n await input.fill('Item 2');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.locator('input').clear();\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const itemTwo = page.locator('ix-select-item').last();\n await expect(itemTwo).toBeFocused();\n });\n\n test('wrap - slot -> add-item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable>\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n </ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n\n test('wrap - dynamic item -> add item', async ({ mount, page }) => {\n await mount(`\n <ix-select editable></ix-select>\n `);\n\n const input = await page.locator('ix-select input');\n await input.focus();\n await input.fill('Item 1');\n await page.keyboard.press('Enter');\n await page.locator('ix-icon-button').click();\n await page.waitForSelector('.checkmark');\n\n await input.clear();\n await input.fill('I');\n await page.waitForSelector('.add-item');\n\n await page.keyboard.down('ArrowDown');\n await page.waitForTimeout(100);\n await page.keyboard.down('ArrowUp');\n await page.waitForTimeout(100);\n\n const addItem = page.locator('.add-item');\n await expect(addItem).toBeFocused();\n });\n });\n});\n\ntest('form-ready', async ({ mount, page }) => {\n await mount(`\n <form>\n <ix-select name=\"my-custom-entry\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n </ix-select>\n </form>\n `);\n\n const select = page.locator('ix-select');\n const formElement = page.locator('form');\n await preventFormSubmission(formElement);\n await page.locator('[data-select-dropdown]').click();\n await page.locator('ix-select-item').nth(1).click();\n\n const inputValue = await select.locator('input').inputValue();\n expect(inputValue).toEqual('Item 2');\n\n const formData = await getFormValue(formElement, 'my-custom-entry', page);\n expect(formData).toEqual('2');\n});\n\ntest('form-ready - with initial value', async ({ mount, page }) => {\n await mount(`\n <form>\n <ix-select name=\"my-custom-entry\" value=\"some other\">\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n <ix-select-item value=\"some other\" label=\"Item 3\">Test</ix-select-item>\n </ix-select>\n </form>\n `);\n\n const formElement = page.locator('form');\n await preventFormSubmission(formElement);\n const formData = await getFormValue(formElement, 'my-custom-entry', page);\n expect(formData).toEqual('some other');\n});\n\ntest.describe('Events', () => {\n test('value change', async ({ mount, page }) => {\n await mount(`<ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\"></ix-select-item>\n </ix-select>`);\n\n const select = await page.locator('ix-select');\n const valueChanged = select.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('valueChange', (e: Event) =>\n resolve((e as CustomEvent).detail)\n );\n });\n });\n\n await page.locator('ix-icon-button').click();\n await page.locator('ix-select-item').click();\n\n await expect(select).toHaveClass(/hydrated/);\n expect(await valueChanged).toBe('1');\n });\n\n test('add item', async ({ mount, page }) => {\n const itemText = 'test';\n await mount(`<ix-select editable></ix-select>`);\n const select = await page.locator('ix-select');\n const itemAdded = select.evaluate((elm) => {\n return new Promise<number>((resolve) => {\n elm.addEventListener('addItem', (e: Event) =>\n resolve((e as CustomEvent).detail)\n );\n });\n });\n const input = await page.locator('input');\n await input.focus();\n await input.fill(itemText);\n await page.keyboard.press('Enter');\n\n await expect(select).toHaveClass(/hydrated/);\n expect(await itemAdded).toBe(itemText);\n });\n\n test.describe('prevent default', () => {\n test('value change', async ({ mount, page }) => {\n await mount(`<ix-select>\n <ix-select-item value=\"1\" label=\"Item 1\"></ix-select-item>\n </ix-select>`);\n const select = await page.locator('ix-select');\n await select.evaluate((i) =>\n i.addEventListener('vauleChange', (e) => e.preventDefault())\n );\n await page.locator('ix-icon-button').click();\n const item = await page.locator('ix-select-item');\n await item.click();\n await expect(item).not.toHaveClass('selected');\n });\n\n test('add item', async ({ mount, page }) => {\n await mount(`<ix-select editable></ix-select>`);\n const select = await page.locator('ix-select');\n await select.evaluate((i) =>\n i.addEventListener('addItem', (e) => e.preventDefault())\n );\n const input = await page.locator('input');\n await input.focus();\n await input.fill('test');\n await page.keyboard.press('Enter');\n const count = await page.locator('ix-select-item').count();\n await expect(count).toBe(0);\n });\n });\n});\n\ntest('async set content and check input value', async ({ mount, page }) => {\n await mount(`<ix-select value=\"1\"></ix-select>`);\n\n await page.evaluate(async () => {\n const select = document.querySelector('ix-select');\n if (select) {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n select.innerHTML = `\n <ix-select-item value=\"1\" label=\"Item 1\">Test</ix-select-item>\n <ix-select-item value=\"2\" label=\"Item 2\">Test</ix-select-item>\n `;\n }\n });\n\n const input = page.locator('input');\n await expect(input).toHaveValue('Item 1');\n});\n"]}
|