q2-tecton-elements 1.53.1 → 1.53.2
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/dist/cjs/click-elsewhere_2.cjs.entry.js +59 -60
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-07285783.js → index-76f63767.js} +1 -21
- package/dist/cjs/index-76f63767.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge_7.cjs.entry.js +4 -4
- package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +2 -2
- package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
- package/dist/cjs/q2-pill.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +89 -13
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tag.cjs.entry.js +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
- package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
- package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
- package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +1 -1
- package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
- package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +5 -17
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-example/q2-example.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.js +1 -1
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-item/q2-item.js.map +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-message/q2-message.js.map +1 -1
- package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.css +18 -10
- package/dist/collection/components/q2-popover/q2-popover.js +59 -59
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +743 -435
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
- package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +110 -15
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js +412 -0
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +6 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/charting.js.map +1 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/sanitize-html-string.js.map +1 -1
- package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
- package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
- package/dist/collection/utils/test/index.spec.js.map +1 -1
- package/dist/components/index2.js +1 -20
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-example.js +1 -1
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-input2.js +1 -1
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-pagination.js +3 -3
- package/dist/components/q2-pill.js +1 -1
- package/dist/components/q2-popover2.js +58 -59
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +92 -16
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +1 -1
- package/dist/components/q2-textarea.js +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +59 -60
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-d18e2a20.js → index-504f1a9e.js} +2 -21
- package/dist/esm/index-504f1a9e.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-badge_7.entry.js +4 -4
- package/dist/esm/q2-calendar.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +3 -3
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +2 -2
- package/dist/esm/q2-chart-bar.entry.js +2 -2
- package/dist/esm/q2-chart-donut.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +1 -1
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-item_3.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-option.entry.js +2 -2
- package/dist/esm/q2-pagination.entry.js +4 -4
- package/dist/esm/q2-pill.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-resize-observer.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +90 -14
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tag.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/jest.setup.js +22 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +170 -164
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{index-d18e2a20.js → index-504f1a9e.js} +51 -69
- package/dist/q2-tecton-elements/index-504f1a9e.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +34 -34
- package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +17 -17
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +101 -101
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-item_3.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-loc.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-option-list.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-pagination.entry.js +34 -34
- package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-select.entry.js +156 -92
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +37 -37
- package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
- package/dist/q2-tecton-elements/q2-tag.entry.js +25 -25
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
- package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
- package/dist/types/components/q2-select/q2-select.d.ts +19 -0
- package/package.json +3 -3
- package/dist/cjs/index-07285783.js.map +0 -1
- package/dist/esm/index-d18e2a20.js.map +0 -1
- package/dist/q2-tecton-elements/index-d18e2a20.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-option-list-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-option-list/test/q2-option-list-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { evaluateA11y, getFocusedOptionValue, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-option-list', () => {\n let page: E2EPage;\n let optionList: E2EElement;\n let optionsContainer;\n let options: E2EElement[];\n let changeSpy: EventSpy;\n let popoverStateSpy: EventSpy;\n\n async function getFocusedValue(page: E2EPage) {\n return page.$eval('body', () => document.activeElement.getAttribute('value'));\n }\n\n async function getContents(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.getContents());\n }\n\n async function getOptions(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.getOptions());\n }\n\n async function setDefaultActiveElement(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.setDefaultActiveElement());\n }\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-option-list></q2-option-list>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-option-list')).toHaveLength(0);\n });\n\n describe('Selecting options', () => {\n it('emits change event and selects option', async function () {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n changeSpy = await optionList.spyOnEvent('change');\n const secondOption = await page.find('q2-option[value=\"2\"]');\n const popoverStateSpy = await optionList.spyOnEvent('popoverState');\n\n expect(secondOption).not.toHaveAttribute('selected');\n await secondOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ display: 'Option 2', value: '2' }],\n });\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n expect(secondOption).toHaveAttribute('selected');\n });\n\n describe('when multiple is true', () => {\n it('emits change event and selects options', async function () {\n page = await setup({\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n changeSpy = await optionList.spyOnEvent('change');\n const secondOption = await page.find('q2-option[value=\"2\"]');\n const thirdOption = await page.find('q2-option[value=\"3\"]');\n const popoverStateSpy = await optionList.spyOnEvent('popoverState');\n\n expect(secondOption).not.toHaveAttribute('selected');\n expect(thirdOption).not.toHaveAttribute('selected');\n await secondOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ display: 'Option 2', value: '2' }],\n });\n expect(popoverStateSpy).not.toHaveReceivedEvent();\n expect(secondOption).toHaveAttribute('selected');\n expect(thirdOption).not.toHaveAttribute('selected');\n\n await thirdOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '3',\n values: [\n { display: 'Option 2', value: '2' },\n { display: 'Option 3', value: '3' },\n ],\n });\n expect(secondOption).toHaveAttribute('selected');\n expect(thirdOption).toHaveAttribute('selected');\n });\n });\n });\n\n it('scrolls item into view', async function () {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n await setDefaultActiveElement(page);\n const firstOptionScrollStub = jest.fn();\n const secondOptionScrollStub = jest.fn();\n const thirdOptionScrollStub = jest.fn();\n await page.exposeFunction('firstOptionScrollStub', firstOptionScrollStub);\n await page.exposeFunction('secondOptionScrollStub', secondOptionScrollStub);\n await page.exposeFunction('thirdOptionScrollStub', thirdOptionScrollStub);\n await page.$eval('q2-option-list', select => {\n const firstOption = select.querySelector('q2-option:nth-child(1)');\n const secondOption = select.querySelector('q2-option:nth-child(2)');\n const thirdOption = select.querySelector('q2-option:nth-child(3)');\n\n firstOption.scrollIntoView = firstOptionScrollStub;\n secondOption.scrollIntoView = secondOptionScrollStub;\n thirdOption.scrollIntoView = thirdOptionScrollStub;\n });\n\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(0);\n\n const optionsContainer = await page.find('q2-option-list >>> .options');\n await optionsContainer.press('ArrowDown');\n\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(0);\n\n await optionsContainer.press('ArrowDown');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n\n await optionsContainer.press('ArrowUp');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(2);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n\n await optionsContainer.press('ArrowUp');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(2);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n });\n\n describe('Methods', () => {\n describe('getContents', () => {\n it('returns list of options', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const contents = await getContents(page);\n expect(contents).toHaveLength(3);\n });\n\n it('returns list of optgroups', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n </q2-optgroup>\n <q2-optgroup label=\"Group 2\">\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n const contents = await getContents(page);\n expect(contents).toHaveLength(2);\n });\n\n it('returns an empty array when no options are present', async () => {\n page = await setup({\n html: `\n <q2-option-list></q2-option-list>\n `,\n });\n const options = await getContents(page);\n expect(options).toHaveLength(0);\n });\n });\n\n describe('getOptions', () => {\n it('returns list of options', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const options = await getOptions(page);\n expect(options).toHaveLength(3);\n });\n\n it('returns options nested within groups', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n </q2-optgroup>\n <q2-optgroup label=\"Group 2\">\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n const results = await getOptions(page);\n expect(results).toHaveLength(3);\n });\n\n it('returns an empty array when no options are present', async () => {\n page = await setup({\n html: `\n <q2-option-list></q2-option-list>\n `,\n });\n const options = await getOptions(page);\n expect(options).toHaveLength(0);\n });\n });\n });\n\n describe('Props', () => {\n describe('multiple', () => {\n it('sets aria-multiselectable to false (default)', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n optionsContainer = await page.find('q2-option-list >>> .options');\n expect(optionsContainer).toEqualAttribute('aria-multiselectable', 'false');\n });\n\n describe('when true', () => {\n it('sets aria-multiselectable to true', async () => {\n page = await setup({\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n optionsContainer = await page.find('q2-option-list >>> .options');\n expect(optionsContainer).toEqualAttribute('aria-multiselectable', 'true');\n });\n });\n });\n describe('type', () => {\n it('defaults roles for an option list', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n options = await page.findAll('q2-option[role=option]');\n expect(options).toHaveLength(3);\n });\n\n describe('when provided', () => {\n it('uses roles for a menu', async () => {\n page = await setup({\n html: `\n <q2-option-list type=\"menu\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n options = await page.findAll('q2-option[role=menuitem]');\n expect(options).toHaveLength(3);\n });\n });\n });\n\n describe('no-select', () => {\n it('adds selected attribute to selected option', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n options = await page.findAll('q2-option');\n changeSpy = await optionList.spyOnEvent('change');\n await options[1].click();\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ value: '2', display: 'Option 2' }],\n });\n options = await page.findAll('q2-option[selected]');\n expect(options).toHaveLength(1);\n });\n\n describe('when provided', () => {\n it('does not add selected attribute to selected option', async () => {\n page = await setup({\n html: `\n <q2-option-list no-select>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n options = await page.findAll('q2-option');\n changeSpy = await optionList.spyOnEvent('change');\n await options[1].click();\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ value: '2', display: 'Option 2' }],\n });\n options = await page.findAll('q2-option[selected]');\n expect(options).toHaveLength(0);\n });\n });\n });\n\n describe('selectedOptions', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n });\n\n describe('when not provided', () => {\n it('does not mark any options as selected', async () => {\n options = await page.findAll('q2-option');\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).not.toHaveAttribute('selected');\n expect(options[2]).not.toHaveAttribute('selected');\n });\n });\n\n it('marks the first option as selected', async () => {\n optionList = await page.find('q2-option-list');\n await optionList.setProperty('selectedOptions', [{ value: '2' }, { value: '3' }]);\n await page.waitForChanges();\n\n options = await page.findAll('q2-option');\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).toHaveAttribute('selected');\n expect(options[2]).not.toHaveAttribute('selected');\n });\n\n describe('when multiple', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n });\n\n describe('when provided', () => {\n beforeEach(async () => {\n optionList = await page.find('q2-option-list');\n await optionList.setProperty('selectedOptions', [{ value: '2' }, { value: '3' }]);\n await page.waitForChanges();\n options = await page.findAll('q2-option');\n });\n\n it('marks the specified options as selected', async () => {\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).toHaveAttribute('selected');\n expect(options[2]).toHaveAttribute('selected');\n });\n\n it('does not move focus when a selected option is deselected', async () => {\n expect(options[1]).toHaveAttribute('selected');\n await options[1].click();\n await page.waitForChanges();\n expect(await options[1]).not.toHaveAttribute('selected');\n expect(await getFocusedValue(page)).toEqual('2');\n });\n });\n });\n });\n\n describe('showSelected', () => {\n describe('when multiple', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list open multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n <q2-option value=\"4\">Option 4</q2-option>\n <q2-option value=\"5\">Option 5</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n });\n\n it('resets showSelected to false if there are no selected options', async () => {\n await optionList.setProperty('showSelected', true);\n await page.waitForChanges();\n expect(await optionList.getProperty('showSelected')).toEqual(false);\n });\n\n describe('when selectedOptions are provided', () => {\n beforeEach(async () => {\n await optionList.setProperty('selectedOptions', [\n { value: '2' },\n { value: '3' },\n { value: '4' },\n ]);\n });\n\n describe('when true', () => {\n beforeEach(async () => {\n await optionList.setProperty('showSelected', true);\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n });\n\n it('shows only the selected options', async () => {\n expect(options).toHaveLength(3);\n expect(await options[0].getProperty('value')).toEqual('2');\n expect(await options[1].getProperty('value')).toEqual('3');\n expect(await options[2].getProperty('value')).toEqual('4');\n });\n\n it('moves focus previous option when selected option is removed', async () => {\n await options[1].click();\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n expect(options).toHaveLength(2);\n expect(await getFocusedValue(page)).toEqual('2');\n });\n\n it('moves focus next option when first option is removed', async () => {\n await options[0].click();\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n expect(options).toHaveLength(2);\n expect(await getFocusedValue(page)).toEqual('3');\n });\n\n it('updates showSelected to false when all selectedOptions are removed', async () => {\n await options[0].click();\n await options[1].click();\n await options[2].click();\n await page.waitForChanges();\n expect(await optionList.getProperty('showSelected')).toEqual(false);\n options = await page.findAll('q2-option[_multiSelectHidden]');\n expect(options).toHaveLength(0);\n });\n });\n });\n });\n });\n });\n\n describe('focus', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n popoverStateSpy = await optionList.spyOnEvent('popoverState');\n });\n\n it('focuses active option and opens the list when focus event is dispatched', async () => {\n await optionList.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toEqual('1');\n });\n\n it('focuses active option and opens the list when element.focus() is called', async () => {\n await optionList.focus();\n await page.waitForChanges();\n\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toEqual('1');\n });\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option display=\"Nebraska\" value=\"NE\">Nebraska</q2-option>\n <q2-option display=\"Nevada\" value=\"NV\">Nevada</q2-option>\n <q2-option display=\"New Hampshire\" value=\"NH\">New Hampshire</q2-option>\n <q2-option display=\"New Jersey\" value=\"NJ\">New Jersey</q2-option>\n <q2-option display=\"New Mexico\" value=\"NM\">New Mexico</q2-option>\n <q2-option display=\"New York\" value=\"NY\">New York</q2-option>\n <q2-option display=\"North Carolina\" value=\"NC\">North Carolina</q2-option>\n <q2-option display=\"North Dakota\" value=\"ND\">North Dakota</q2-option>\n <q2-option display=\"Ohio\" value=\"OH\">Ohio</q2-option>\n <q2-option display=\"Oklahoma\" value=\"OK\">Oklahoma</q2-option>\n <q2-option display=\"Oregon\" value=\"OR\">Oregon</q2-option>\n <q2-option display=\"Pennsylvania\" value=\"PA\">Pennsylvania</q2-option>\n <q2-option display=\"Rhode Island\" value=\"RI\">Rhode Island</q2-option>\n </q2-option-list>\n <button value=\"control\">Control</button>\n `,\n });\n optionList = await page.find('q2-option-list');\n optionsContainer = await page.find('q2-option-list >>> .options');\n options = await page.findAll('q2-option');\n popoverStateSpy = await optionList.spyOnEvent('popoverState');\n changeSpy = await optionList.spyOnEvent('change');\n });\n\n describe('externalKeydownHandler', () => {\n let controlBtn: E2EElement;\n beforeEach(async () => {\n controlBtn = await page.find('button');\n await controlBtn.focus();\n await page.$eval('body', el => {\n const e = el.querySelector('button');\n const opt = el.querySelector('q2-option-list');\n e.addEventListener('keydown', e => {\n opt.handleExternalKeydown(e);\n });\n });\n expect(await getFocusedValue(page)).toBe('control');\n });\n\n it('does not set the value, or dispatch state event to close container on Space', async () => {\n await optionsContainer.press(' ');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('does not set the value, or dispatch state event to close container on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option, then previous option on ArrowUp', async () => {\n await optionsContainer.press('ArrowUp');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n await optionsContainer.press('ArrowUp');\n expect(options[11]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[11].getAttribute('value'));\n });\n\n it('focuses first option, then next option on ArrowDown', async () => {\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[1].getAttribute('value'));\n });\n\n it('focuses first option on Home', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option on End', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[0]).toHaveAttribute('active');\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n it('jumps focus back 10 options on PageUp', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[2]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[0]).toHaveAttribute('active');\n });\n\n it('jumps focus forward 10 options on PageDown', async () => {\n await optionsContainer.press('PageDown');\n expect(options[10]).toHaveAttribute('active');\n await optionsContainer.press('PageDown');\n expect(options[12]).toHaveAttribute('active');\n });\n\n it('does not set the value, and dispatches state event to close container on Tab', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n it('dispatches state event to close container on Escape', async () => {\n await optionsContainer.press('Escape');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n describe('pseudo-search', () => {\n it('emits change event if next matching option is found when printable character is pressed', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OH',\n values: [{ value: 'OH', display: 'Ohio' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n expect(changeSpy).toHaveReceivedEventTimes(2);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OK',\n values: [{ value: 'OK', display: 'Oklahoma' }],\n });\n\n expect(await getFocusedValue(page)).toBe('control');\n\n await page.waitForTimeout(2000);\n await optionsContainer.type('New J');\n expect(changeSpy).toHaveReceivedEventTimes(7);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ value: 'NJ', display: 'New Jersey' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n });\n\n it('emit change event if next option is found when same character is pressed 3 times', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OH',\n values: [{ value: 'OH', display: 'Ohio' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(2);\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(3);\n expect(await getFocusedValue(page)).toBe('control');\n });\n });\n\n describe('when multiselect', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n\n changeSpy = await optionList.spyOnEvent('change');\n expect(options[0]).toHaveAttribute('active');\n });\n\n const selectAndDeselectMultipleOptions = async (key: 'Space' | 'Enter') => {\n // Selecting second option\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n expect(options[1]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[1]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NV',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fourth option\n await optionsContainer.press('ArrowDown');\n await optionsContainer.press('ArrowDown');\n expect(options[3]).toHaveAttribute('active');\n expect(options[3]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[3]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ]);\n\n // Deselecting fourth option\n await optionsContainer.press(key);\n expect(options[3]).not.toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fifth option\n await optionsContainer.press('ArrowDown');\n expect(options[4]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[4]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NM',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ]);\n };\n\n it('can select and deselect multiple options via Space without closing list', async () => {\n await selectAndDeselectMultipleOptions('Space');\n });\n\n it('selects and deselects option on Enter, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Enter');\n });\n });\n });\n\n describe('internalKeydownHandler', () => {\n beforeEach(async () => {\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toEqual('NE');\n });\n\n describe(\"when role is 'menu'\", () => {\n it('focuses first option on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(options[0]).toHaveAttribute('active');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedOptionValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses first option on Space', async () => {\n await optionsContainer.press(' ');\n expect(options[0]).toHaveAttribute('active');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedOptionValue(page)).toBe(options[0].getAttribute('value'));\n });\n });\n\n it('sets the value, and dispatches state event to close container on Space', async () => {\n await optionsContainer.press(' ');\n await page.waitForChanges();\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n });\n\n it('sets the value, and dispatches state event to close container on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n });\n\n it('focuses previous option on ArrowUp', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('ArrowUp');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses next option on ArrowDown', async () => {\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[1].getAttribute('value'));\n });\n\n it('focuses first option on Home', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option on End', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n it('jumps focus back 10 options on PageUp', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[2]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[0]).toHaveAttribute('active');\n });\n\n it('jumps focus forward 10 options on PageDown', async () => {\n await optionsContainer.press('PageDown');\n expect(options[10]).toHaveAttribute('active');\n await optionsContainer.press('PageDown');\n expect(options[12]).toHaveAttribute('active');\n });\n\n it('sets the value and moves focus away from the q2-option-list on Tab ', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedValue(page)).toEqual('control');\n });\n\n it('dispatches state event to close container on Escape', async () => {\n await optionsContainer.press('Escape');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n it('stays on first option on ArrowUp if already on first option', async () => {\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n await optionsContainer.press('ArrowUp');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('stays on last option on ArrowDown if already on last option', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n await optionsContainer.press('ArrowDown');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n describe('pseudo-search', () => {\n it('searches for option if printable character is pressed', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n\n expect(await getFocusedValue(page)).toEqual('OH');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n // doesn't change focus if no match\n await optionsContainer.press('o');\n expect(await getFocusedValue(page)).toEqual('OK');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await page.waitForTimeout(2000);\n await optionsContainer.type('New J');\n expect(await getFocusedValue(page)).toEqual('NJ');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n });\n\n it('searches for next option if same character is pressed 3 times', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OH');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OK');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OR');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n });\n });\n\n describe('when multiselect', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n\n changeSpy = await optionList.spyOnEvent('change');\n expect(options[0]).toHaveAttribute('active');\n });\n\n const selectAndDeselectMultipleOptions = async (key: 'Space' | 'Enter') => {\n // Selecting second option\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n expect(options[1]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[1]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NV',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fourth option\n await optionsContainer.press('ArrowDown');\n await optionsContainer.press('ArrowDown');\n expect(options[3]).toHaveAttribute('active');\n expect(options[3]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[3]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ]);\n\n // Deselecting fourth option\n await optionsContainer.press(key);\n expect(options[3]).not.toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fifth option\n await optionsContainer.press('ArrowDown');\n expect(options[4]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[4]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NM',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ]);\n };\n\n it('can select and deselect multiple options via Space, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Space');\n });\n\n it('selects and deselects option on Enter, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Enter');\n });\n\n it('does not set the value or dispatch state event to close container on Tab when role equals \"listbox\"', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).not.toHaveReceivedEvent();\n });\n });\n });\n });\n describe('Other', () => {});\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-option-list-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-option-list/test/q2-option-list-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { evaluateA11y, getFocusedOptionValue, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-option-list', () => {\n let page: E2EPage;\n let optionList: E2EElement;\n let optionsContainer;\n let options: E2EElement[];\n let changeSpy: EventSpy;\n let popoverStateSpy: EventSpy;\n\n async function getFocusedValue(page: E2EPage) {\n return page.$eval('body', () => document.activeElement.getAttribute('value'));\n }\n\n async function getContents(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.getContents());\n }\n\n async function getOptions(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.getOptions());\n }\n\n async function setDefaultActiveElement(page: E2EPage) {\n return page.$eval('q2-option-list', (el: HTMLQ2OptionListElement) => el.setDefaultActiveElement());\n }\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-option-list></q2-option-list>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-option-list')).toHaveLength(0);\n });\n\n describe('Selecting options', () => {\n it('emits change event and selects option', async function () {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n changeSpy = await optionList.spyOnEvent('change');\n const secondOption = await page.find('q2-option[value=\"2\"]');\n const popoverStateSpy = await optionList.spyOnEvent('popoverState');\n\n expect(secondOption).not.toHaveAttribute('selected');\n await secondOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ display: 'Option 2', value: '2' }],\n });\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n expect(secondOption).toHaveAttribute('selected');\n });\n\n describe('when multiple is true', () => {\n it('emits change event and selects options', async function () {\n page = await setup({\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n changeSpy = await optionList.spyOnEvent('change');\n const secondOption = await page.find('q2-option[value=\"2\"]');\n const thirdOption = await page.find('q2-option[value=\"3\"]');\n const popoverStateSpy = await optionList.spyOnEvent('popoverState');\n\n expect(secondOption).not.toHaveAttribute('selected');\n expect(thirdOption).not.toHaveAttribute('selected');\n await secondOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ display: 'Option 2', value: '2' }],\n });\n expect(popoverStateSpy).not.toHaveReceivedEvent();\n expect(secondOption).toHaveAttribute('selected');\n expect(thirdOption).not.toHaveAttribute('selected');\n\n await thirdOption.click();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '3',\n values: [\n { display: 'Option 2', value: '2' },\n { display: 'Option 3', value: '3' },\n ],\n });\n expect(secondOption).toHaveAttribute('selected');\n expect(thirdOption).toHaveAttribute('selected');\n });\n });\n });\n\n it('scrolls item into view', async function () {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n await setDefaultActiveElement(page);\n const firstOptionScrollStub = jest.fn();\n const secondOptionScrollStub = jest.fn();\n const thirdOptionScrollStub = jest.fn();\n await page.exposeFunction('firstOptionScrollStub', firstOptionScrollStub);\n await page.exposeFunction('secondOptionScrollStub', secondOptionScrollStub);\n await page.exposeFunction('thirdOptionScrollStub', thirdOptionScrollStub);\n await page.$eval('q2-option-list', select => {\n const firstOption = select.querySelector('q2-option:nth-child(1)');\n const secondOption = select.querySelector('q2-option:nth-child(2)');\n const thirdOption = select.querySelector('q2-option:nth-child(3)');\n\n firstOption.scrollIntoView = firstOptionScrollStub;\n secondOption.scrollIntoView = secondOptionScrollStub;\n thirdOption.scrollIntoView = thirdOptionScrollStub;\n });\n\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(0);\n\n const optionsContainer = await page.find('q2-option-list >>> .options');\n await optionsContainer.press('ArrowDown');\n\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(0);\n\n await optionsContainer.press('ArrowDown');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n\n await optionsContainer.press('ArrowUp');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(0);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(2);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n\n await optionsContainer.press('ArrowUp');\n expect(firstOptionScrollStub).toHaveBeenCalledTimes(1);\n expect(secondOptionScrollStub).toHaveBeenCalledTimes(2);\n expect(thirdOptionScrollStub).toHaveBeenCalledTimes(1);\n });\n\n describe('Methods', () => {\n describe('getContents', () => {\n it('returns list of options', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const contents = await getContents(page);\n expect(contents).toHaveLength(3);\n });\n\n it('returns list of optgroups', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n </q2-optgroup>\n <q2-optgroup label=\"Group 2\">\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n const contents = await getContents(page);\n expect(contents).toHaveLength(2);\n });\n\n it('returns an empty array when no options are present', async () => {\n page = await setup({\n html: `\n <q2-option-list></q2-option-list>\n `,\n });\n const options = await getContents(page);\n expect(options).toHaveLength(0);\n });\n });\n\n describe('getOptions', () => {\n it('returns list of options', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const options = await getOptions(page);\n expect(options).toHaveLength(3);\n });\n\n it('returns options nested within groups', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-optgroup label=\"Group 1\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n </q2-optgroup>\n <q2-optgroup label=\"Group 2\">\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-optgroup>\n </q2-option-list>\n `,\n });\n const results = await getOptions(page);\n expect(results).toHaveLength(3);\n });\n\n it('returns an empty array when no options are present', async () => {\n page = await setup({\n html: `\n <q2-option-list></q2-option-list>\n `,\n });\n const options = await getOptions(page);\n expect(options).toHaveLength(0);\n });\n });\n });\n\n describe('Props', () => {\n describe('multiple', () => {\n it('sets aria-multiselectable to false (default)', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n optionsContainer = await page.find('q2-option-list >>> .options');\n expect(optionsContainer).toEqualAttribute('aria-multiselectable', 'false');\n });\n\n describe('when true', () => {\n it('sets aria-multiselectable to true', async () => {\n page = await setup({\n html: `\n <q2-option-list multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n\n optionsContainer = await page.find('q2-option-list >>> .options');\n expect(optionsContainer).toEqualAttribute('aria-multiselectable', 'true');\n });\n });\n });\n describe('type', () => {\n it('defaults roles for an option list', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n options = await page.findAll('q2-option[role=option]');\n expect(options).toHaveLength(3);\n });\n\n describe('when provided', () => {\n it('uses roles for a menu', async () => {\n page = await setup({\n html: `\n <q2-option-list type=\"menu\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n options = await page.findAll('q2-option[role=menuitem]');\n expect(options).toHaveLength(3);\n });\n });\n });\n\n describe('no-select', () => {\n it('adds selected attribute to selected option', async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n options = await page.findAll('q2-option');\n changeSpy = await optionList.spyOnEvent('change');\n await options[1].click();\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ value: '2', display: 'Option 2' }],\n });\n options = await page.findAll('q2-option[selected]');\n expect(options).toHaveLength(1);\n });\n\n describe('when provided', () => {\n it('does not add selected attribute to selected option', async () => {\n page = await setup({\n html: `\n <q2-option-list no-select>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n options = await page.findAll('q2-option');\n changeSpy = await optionList.spyOnEvent('change');\n await options[1].click();\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '2',\n values: [{ value: '2', display: 'Option 2' }],\n });\n options = await page.findAll('q2-option[selected]');\n expect(options).toHaveLength(0);\n });\n });\n });\n\n describe('selectedOptions', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n });\n\n describe('when not provided', () => {\n it('does not mark any options as selected', async () => {\n options = await page.findAll('q2-option');\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).not.toHaveAttribute('selected');\n expect(options[2]).not.toHaveAttribute('selected');\n });\n });\n\n it('marks the first option as selected', async () => {\n optionList = await page.find('q2-option-list');\n await optionList.setProperty('selectedOptions', [{ value: '2' }, { value: '3' }]);\n await page.waitForChanges();\n\n options = await page.findAll('q2-option');\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).toHaveAttribute('selected');\n expect(options[2]).not.toHaveAttribute('selected');\n });\n\n describe('when multiple', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n });\n\n describe('when provided', () => {\n beforeEach(async () => {\n optionList = await page.find('q2-option-list');\n await optionList.setProperty('selectedOptions', [{ value: '2' }, { value: '3' }]);\n await page.waitForChanges();\n options = await page.findAll('q2-option');\n });\n\n it('marks the specified options as selected', async () => {\n expect(options).toHaveLength(3);\n expect(options[0]).not.toHaveAttribute('selected');\n expect(options[1]).toHaveAttribute('selected');\n expect(options[2]).toHaveAttribute('selected');\n });\n\n it('does not move focus when a selected option is deselected', async () => {\n expect(options[1]).toHaveAttribute('selected');\n await options[1].click();\n await page.waitForChanges();\n expect(await options[1]).not.toHaveAttribute('selected');\n expect(await getFocusedValue(page)).toEqual('2');\n });\n });\n });\n });\n\n describe('showSelected', () => {\n describe('when multiple', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list open multiple>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n <q2-option value=\"4\">Option 4</q2-option>\n <q2-option value=\"5\">Option 5</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n });\n\n it('resets showSelected to false if there are no selected options', async () => {\n await optionList.setProperty('showSelected', true);\n await page.waitForChanges();\n expect(await optionList.getProperty('showSelected')).toEqual(false);\n });\n\n describe('when selectedOptions are provided', () => {\n beforeEach(async () => {\n await optionList.setProperty('selectedOptions', [\n { value: '2' },\n { value: '3' },\n { value: '4' },\n ]);\n });\n\n describe('when true', () => {\n beforeEach(async () => {\n await optionList.setProperty('showSelected', true);\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n });\n\n it('shows only the selected options', async () => {\n expect(options).toHaveLength(3);\n expect(await options[0].getProperty('value')).toEqual('2');\n expect(await options[1].getProperty('value')).toEqual('3');\n expect(await options[2].getProperty('value')).toEqual('4');\n });\n\n it('moves focus previous option when selected option is removed', async () => {\n await options[1].click();\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n expect(options).toHaveLength(2);\n expect(await getFocusedValue(page)).toEqual('2');\n });\n\n it('moves focus next option when first option is removed', async () => {\n await options[0].click();\n await page.waitForChanges();\n options = await page.findAll('q2-option:not([_multiSelectHidden])');\n expect(options).toHaveLength(2);\n expect(await getFocusedValue(page)).toEqual('3');\n });\n\n it('updates showSelected to false when all selectedOptions are removed', async () => {\n await options[0].click();\n await options[1].click();\n await options[2].click();\n await page.waitForChanges();\n expect(await optionList.getProperty('showSelected')).toEqual(false);\n options = await page.findAll('q2-option[_multiSelectHidden]');\n expect(options).toHaveLength(0);\n });\n });\n });\n });\n });\n });\n\n describe('focus', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n optionList = await page.find('q2-option-list');\n popoverStateSpy = await optionList.spyOnEvent('popoverState');\n });\n\n it('focuses active option and opens the list when focus event is dispatched', async () => {\n await optionList.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toEqual('1');\n });\n\n it('focuses active option and opens the list when element.focus() is called', async () => {\n await optionList.focus();\n await page.waitForChanges();\n\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toEqual('1');\n });\n });\n\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({\n html: `\n <q2-option-list>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-option-list>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-option-list>\n <q2-option display=\"Nebraska\" value=\"NE\">Nebraska</q2-option>\n <q2-option display=\"Nevada\" value=\"NV\">Nevada</q2-option>\n <q2-option display=\"New Hampshire\" value=\"NH\">New Hampshire</q2-option>\n <q2-option display=\"New Jersey\" value=\"NJ\">New Jersey</q2-option>\n <q2-option display=\"New Mexico\" value=\"NM\">New Mexico</q2-option>\n <q2-option display=\"New York\" value=\"NY\">New York</q2-option>\n <q2-option display=\"North Carolina\" value=\"NC\">North Carolina</q2-option>\n <q2-option display=\"North Dakota\" value=\"ND\">North Dakota</q2-option>\n <q2-option display=\"Ohio\" value=\"OH\">Ohio</q2-option>\n <q2-option display=\"Oklahoma\" value=\"OK\">Oklahoma</q2-option>\n <q2-option display=\"Oregon\" value=\"OR\">Oregon</q2-option>\n <q2-option display=\"Pennsylvania\" value=\"PA\">Pennsylvania</q2-option>\n <q2-option display=\"Rhode Island\" value=\"RI\">Rhode Island</q2-option>\n </q2-option-list>\n <button value=\"control\">Control</button>\n `,\n });\n optionList = await page.find('q2-option-list');\n optionsContainer = await page.find('q2-option-list >>> .options');\n options = await page.findAll('q2-option');\n popoverStateSpy = await optionList.spyOnEvent('popoverState');\n changeSpy = await optionList.spyOnEvent('change');\n });\n\n describe('externalKeydownHandler', () => {\n let controlBtn: E2EElement;\n beforeEach(async () => {\n controlBtn = await page.find('button');\n await controlBtn.focus();\n await page.$eval('body', el => {\n const e = el.querySelector('button');\n const opt = el.querySelector('q2-option-list');\n e.addEventListener('keydown', e => {\n opt.handleExternalKeydown(e);\n });\n });\n expect(await getFocusedValue(page)).toBe('control');\n });\n\n it('does not set the value, or dispatch state event to close container on Space', async () => {\n await optionsContainer.press(' ');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('does not set the value, or dispatch state event to close container on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: true, action: 'open' });\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option, then previous option on ArrowUp', async () => {\n await optionsContainer.press('ArrowUp');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n await optionsContainer.press('ArrowUp');\n expect(options[11]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[11].getAttribute('value'));\n });\n\n it('focuses first option, then next option on ArrowDown', async () => {\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[1].getAttribute('value'));\n });\n\n it('focuses first option on Home', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option on End', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[0]).toHaveAttribute('active');\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n it('jumps focus back 10 options on PageUp', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[2]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[0]).toHaveAttribute('active');\n });\n\n it('jumps focus forward 10 options on PageDown', async () => {\n await optionsContainer.press('PageDown');\n expect(options[10]).toHaveAttribute('active');\n await optionsContainer.press('PageDown');\n expect(options[12]).toHaveAttribute('active');\n });\n\n it('does not set the value, and dispatches state event to close container on Tab', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n it('dispatches state event to close container on Escape', async () => {\n await optionsContainer.press('Escape');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n describe('pseudo-search', () => {\n it('emits change event if next matching option is found when printable character is pressed', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OH',\n values: [{ value: 'OH', display: 'Ohio' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n expect(changeSpy).toHaveReceivedEventTimes(2);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OK',\n values: [{ value: 'OK', display: 'Oklahoma' }],\n });\n\n expect(await getFocusedValue(page)).toBe('control');\n\n await page.waitForTimeout(2000);\n await optionsContainer.type('New J');\n expect(changeSpy).toHaveReceivedEventTimes(7);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ value: 'NJ', display: 'New Jersey' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n });\n\n it('emit change event if next option is found when same character is pressed 3 times', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(1);\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'OH',\n values: [{ value: 'OH', display: 'Ohio' }],\n });\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(2);\n expect(await getFocusedValue(page)).toBe('control');\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventTimes(3);\n expect(await getFocusedValue(page)).toBe('control');\n });\n });\n\n describe('when multiselect', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n\n changeSpy = await optionList.spyOnEvent('change');\n expect(options[0]).toHaveAttribute('active');\n });\n\n const selectAndDeselectMultipleOptions = async (key: 'Space' | 'Enter') => {\n // Selecting second option\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n expect(options[1]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[1]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NV',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fourth option\n await optionsContainer.press('ArrowDown');\n await optionsContainer.press('ArrowDown');\n expect(options[3]).toHaveAttribute('active');\n expect(options[3]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[3]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ]);\n\n // Deselecting fourth option\n await optionsContainer.press(key);\n expect(options[3]).not.toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fifth option\n await optionsContainer.press('ArrowDown');\n expect(options[4]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[4]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NM',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ]);\n };\n\n it('can select and deselect multiple options via Space without closing list', async () => {\n await selectAndDeselectMultipleOptions('Space');\n });\n\n it('selects and deselects option on Enter, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Enter');\n });\n });\n });\n\n describe('internalKeydownHandler', () => {\n beforeEach(async () => {\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toEqual('NE');\n });\n\n describe(\"when role is 'menu'\", () => {\n it('focuses first option on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(options[0]).toHaveAttribute('active');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedOptionValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses first option on Space', async () => {\n await optionsContainer.press(' ');\n expect(options[0]).toHaveAttribute('active');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedOptionValue(page)).toBe(options[0].getAttribute('value'));\n });\n });\n\n it('sets the value, and dispatches state event to close container on Space', async () => {\n await optionsContainer.press(' ');\n await page.waitForChanges();\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n });\n\n it('sets the value, and dispatches state event to close container on Enter', async () => {\n await optionsContainer.press('Enter');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'select' });\n });\n\n it('focuses previous option on ArrowUp', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('ArrowUp');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses next option on ArrowDown', async () => {\n await optionsContainer.press('ArrowDown');\n expect(await getFocusedValue(page)).toBe(options[1].getAttribute('value'));\n });\n\n it('focuses first option on Home', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('focuses last option on End', async () => {\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n it('jumps focus back 10 options on PageUp', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[2]).toHaveAttribute('active');\n await optionsContainer.press('PageUp');\n expect(options[0]).toHaveAttribute('active');\n });\n\n it('jumps focus forward 10 options on PageDown', async () => {\n await optionsContainer.press('PageDown');\n expect(options[10]).toHaveAttribute('active');\n await optionsContainer.press('PageDown');\n expect(options[12]).toHaveAttribute('active');\n });\n\n it('sets the value and moves focus away from the q2-option-list on Tab ', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nebraska', value: 'NE' },\n ]);\n expect(await getFocusedValue(page)).toEqual('control');\n });\n\n it('dispatches state event to close container on Escape', async () => {\n await optionsContainer.press('Escape');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).toHaveReceivedEventDetail({ open: false, action: 'close' });\n });\n\n it('stays on first option on ArrowUp if already on first option', async () => {\n await optionsContainer.press('Home');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n await optionsContainer.press('ArrowUp');\n expect(options[0]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[0].getAttribute('value'));\n });\n\n it('stays on last option on ArrowDown if already on last option', async () => {\n await optionsContainer.press('End');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n await optionsContainer.press('ArrowDown');\n expect(options[12]).toHaveAttribute('active');\n expect(await getFocusedValue(page)).toBe(options[12].getAttribute('value'));\n });\n\n describe('pseudo-search', () => {\n it('searches for option if printable character is pressed', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n\n expect(await getFocusedValue(page)).toEqual('OH');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n // doesn't change focus if no match\n await optionsContainer.press('o');\n expect(await getFocusedValue(page)).toEqual('OK');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await page.waitForTimeout(2000);\n await optionsContainer.type('New J');\n expect(await getFocusedValue(page)).toEqual('NJ');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n });\n\n it('searches for next option if same character is pressed 3 times', async () => {\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OH');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OK');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n\n await optionsContainer.press('o');\n await page.waitForChanges();\n expect(await getFocusedValue(page)).toEqual('OR');\n expect(changeSpy).toHaveReceivedEventTimes(0);\n });\n });\n\n describe('when multiselect', () => {\n beforeEach(async () => {\n await optionList.setProperty('multiple', true);\n await page.waitForChanges();\n await setDefaultActiveElement(page);\n await page.waitForChanges();\n\n changeSpy = await optionList.spyOnEvent('change');\n expect(options[0]).toHaveAttribute('active');\n });\n\n const selectAndDeselectMultipleOptions = async (key: 'Space' | 'Enter') => {\n // Selecting second option\n await optionsContainer.press('ArrowDown');\n expect(options[1]).toHaveAttribute('active');\n expect(options[1]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[1]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NV',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fourth option\n await optionsContainer.press('ArrowDown');\n await optionsContainer.press('ArrowDown');\n expect(options[3]).toHaveAttribute('active');\n expect(options[3]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[3]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Jersey', value: 'NJ' },\n ]);\n\n // Deselecting fourth option\n await optionsContainer.press(key);\n expect(options[3]).not.toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NJ',\n values: [{ display: 'Nevada', value: 'NV' }],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n ]);\n\n // Selecting fifth option\n await optionsContainer.press('ArrowDown');\n expect(options[4]).not.toHaveAttribute('selected');\n await optionsContainer.press(key);\n expect(options[4]).toHaveAttribute('selected');\n expect(changeSpy).toHaveReceivedEventDetail({\n value: 'NM',\n values: [\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ],\n });\n expect(await optionList.getProperty('selectedOptions')).toEqual([\n { display: 'Nevada', value: 'NV' },\n { display: 'New Mexico', value: 'NM' },\n ]);\n };\n\n it('can select and deselect multiple options via Space, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Space');\n });\n\n it('selects and deselects option on Enter, without closing list', async () => {\n await selectAndDeselectMultipleOptions('Enter');\n });\n\n it('does not set the value or dispatch state event to close container on Tab when role equals \"listbox\"', async () => {\n await optionsContainer.press('Tab');\n expect(await optionList.getProperty('selectedOptions')).toEqual([]);\n expect(popoverStateSpy).not.toHaveReceivedEvent();\n });\n });\n });\n });\n describe('Other', () => {});\n });\n});\n"]}
|
|
@@ -256,7 +256,7 @@ export class Q2Pagination {
|
|
|
256
256
|
total,
|
|
257
257
|
});
|
|
258
258
|
}
|
|
259
|
-
return (h("nav", { key: '
|
|
259
|
+
return (h("nav", { key: 'd91e1f0ba5a239c95fd16bda94ef1e614e3c49be', class: "container", ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: 'aeb52cf10ec37a0ed9459660b9dad1df86e06ca1', class: "description", "test-id": "description" }, pagesOnly
|
|
260
260
|
? loc('tecton.element.pagination.pages', {
|
|
261
261
|
current: page,
|
|
262
262
|
total: totalPages,
|
|
@@ -265,10 +265,10 @@ export class Q2Pagination {
|
|
|
265
265
|
range: currentRange,
|
|
266
266
|
recordType: recordType.toLowerCase(),
|
|
267
267
|
total: total.toLocaleString(),
|
|
268
|
-
})), h("div", { key: '
|
|
268
|
+
})), h("div", { key: '24c8e8166dc90238960ae3afad0ff36eac4af66c', class: "btn-group" }, h("q2-btn", { key: '7be7b963cba6c9dd5b45bced73085ff495fd4130', ref: el => (this.firstPageBtn = el), label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: '7d58766f3d7307bcfb193d981c95895b58c2bbfb', type: "chevron-double-left" })), h("q2-btn", { key: 'b016eda2499b36b7fd82b84d39357dfa8c9f8719', ref: el => (this.prevPageBtn = el), label: prevButtonLabel, disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: 'd1bed177625bf672d109fbc8a127961818dd3364', type: "chevron-left" }))), h("div", { key: '62e7fb1e7379d54ace49f4f09f591cae2884479d', class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { key: 'ff7ee6d921a0fe08ab4705714af8a1106eb1e174', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: 'e59bb32e696dfe162099f3efe19f95e7c76cad7b', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: 'ecc4215e2beefd4e099f57a421d0a732cb4e14dc', ref: el => (this.inputField = el), type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => {
|
|
269
269
|
event.stopPropagation();
|
|
270
270
|
this.handlePageChange(event.detail.value);
|
|
271
|
-
}, "test-id": "pageInput", current: "page" })), h("span", { key: '
|
|
271
|
+
}, "test-id": "pageInput", current: "page" })), h("span", { key: 'cd543116816cfe374b02fa366d64cade2887b51a', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '98826e8fbbe89ea9c34208ec8066ab47a8a17550', class: "btn-group" }, h("q2-btn", { key: '5066ad089677456d90b660299b0260cc819c3e60', ref: el => (this.nextPageBtn = el), label: nextButtonLabel, disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: 'e3364523c842d9a345fd34c05cbcba87ae14da80', type: "chevron-right" })), h("q2-btn", { key: 'a920ed7346c5fcadbac7c244dc1cabddd8e22b36', ref: el => (this.lastPageBtn = el), label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '49e610ac8459a60eac6ec771fbb3208a4a25ac34', type: "chevron-double-right" }))), h("div", { key: '07bbdd2c0ddef20d8a14152c5977376389246c15', class: "per-page", hidden: isFullViewHidden || !((_a = this.perPageIncrements) === null || _a === void 0 ? void 0 : _a.length) }, showPerPageSelect && this.renderPerPage())));
|
|
272
272
|
}
|
|
273
273
|
static get is() { return "q2-pagination"; }
|
|
274
274
|
static get encapsulation() { return "shadow"; }
|