q2-tecton-elements 1.52.4 → 1.52.6
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 +73 -69
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-07285783.js → index-7aecfed8.js} +30 -18
- package/dist/cjs/index-7aecfed8.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 +4 -2
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +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-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +2 -2
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +2 -2
- 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 +131 -14
- 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 +3 -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-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 +74 -69
- 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 +902 -511
- 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 +152 -16
- 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 -2
- 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 +552 -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 +37 -0
- 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 +29 -17
- 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-dropdown.js +3 -1
- package/dist/components/q2-dropdown.js.map +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-item.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-list.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 +73 -69
- 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 +134 -17
- 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 +73 -69
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-d18e2a20.js → index-99c46474.js} +30 -18
- package/dist/esm/index-99c46474.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 +4 -2
- package/dist/esm/q2-dropdown.entry.js.map +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-formatted-text.entry.js +1 -1
- package/dist/esm/q2-item.entry.js +2 -2
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-list.entry.js +2 -2
- 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 +132 -15
- 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 +33 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +103 -92
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{index-d18e2a20.js → index-99c46474.js} +24 -17
- package/dist/q2-tecton-elements/index-99c46474.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 +80 -80
- 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 +13 -11
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +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-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-item.entry.js +13 -13
- package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-list.entry.js +32 -32
- package/dist/q2-tecton-elements/q2-loc.entry.js +2 -2
- 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 +5 -5
- 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 +197 -93
- 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 +32 -32
- 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 +10 -0
- package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
- package/dist/types/components/q2-select/q2-select.d.ts +23 -0
- package/dist/types/utils/index.d.ts +3 -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-stepper-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper/test/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-stepper', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepperPane: E2EElement;\n let stepperPanes: E2EElement[];\n let stepperPaneId: string;\n let stepperButtons: E2EElement[];\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n it('properly compiles CSS vars and functions', async () => {\n page = await setup({ html: '<q2-stepper></q2-stepper>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n page = await setup({\n html: renderStepper(10),\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(4, 1, 3),\n });\n stepper = await page.find('q2-stepper');\n stepperPanes = await page.findAll('q2-stepper-pane');\n stepperButtons = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('selectStep', () => {\n describe('when provided a pane number', () => {\n it('clicks the correct button and emits events', async () => {\n clickSpy = await stepperButtons[1].spyOnEvent('click');\n await stepper.callMethod('selectStep', 2);\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 3,\n stepCount: 4,\n });\n expect(clickSpy).toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n\n it('does not emit events for invalid step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', 5);\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('does not emit events for locked step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', 4);\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n });\n describe('when provided a pane id', () => {\n it('clicks the correct button and emits events', async () => {\n clickSpy = await stepperButtons[2].spyOnEvent('click');\n await stepper.callMethod('selectStep', stepperPanes[2].getAttribute('id'));\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 3,\n currentStep: 1,\n lastEnabledStep: 3,\n stepCount: 4,\n });\n expect(clickSpy).toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 3);\n });\n\n it('does not emit events for invalid id', async () => {\n clickSpy = await stepperButtons[2].spyOnEvent('click');\n await stepper.callMethod('selectStep', 'invalid-id');\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('does not emit events for locked step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', stepperPanes[3].getAttribute('id'));\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n });\n });\n });\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n page = await setup({\n html: renderStepper(3, 1, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n page = await setup({\n html: renderStepper(3, 1, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when label slot is provided in another component used within q2-stepper-pane', () => {\n it('does not use the label for the q2-stepper', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">\n Pane 1\n <q2-input>\n <div slot=\"label\">My slotted label</div>\n </q2-input>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\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: renderStepper(10),\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n describe('Other', () => {});\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-stepper-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-stepper/test/q2-stepper-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-stepper', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepperPane: E2EElement;\n let stepperPanes: E2EElement[];\n let stepperPaneId: string;\n let stepperButtons: E2EElement[];\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n const renderStepper = (numberOfSteps: number, currentStep?: number, lastEnabledStep?: number) => {\n return `<q2-stepper ${currentStep ? `current-step=\"${currentStep}\"` : ''} ${\n lastEnabledStep ? `last-enabled-step=\"${lastEnabledStep}\"` : ''\n }>\n ${[...Array(numberOfSteps).keys()].map(\n index => `<q2-stepper-pane>Pane ${index + 1}</q2-stepper-pane>`\n )}\n </q2-stepper>`;\n };\n\n const checkStepStatus = (stepBtn: E2EElement, options?: { selected?: boolean; disabled?: boolean }) => {\n const { selected, disabled } = { ...{ selected: false, disabled: false }, ...options };\n\n if (selected) {\n expect(stepBtn).toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '0');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-selected');\n expect(stepBtn).toEqualAttribute('tabindex', '-1');\n }\n\n if (disabled) {\n expect(stepBtn).toHaveAttribute('aria-disabled');\n } else {\n expect(stepBtn).not.toHaveAttribute('aria-disabled');\n }\n };\n\n it('properly compiles CSS vars and functions', async () => {\n page = await setup({ html: '<q2-stepper></q2-stepper>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper')).toHaveLength(0);\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n page = await setup({\n html: renderStepper(10),\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(4, 1, 3),\n });\n stepper = await page.find('q2-stepper');\n stepperPanes = await page.findAll('q2-stepper-pane');\n stepperButtons = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('selectStep', () => {\n describe('when provided a pane number', () => {\n it('clicks the correct button and emits events', async () => {\n clickSpy = await stepperButtons[1].spyOnEvent('click');\n await stepper.callMethod('selectStep', 2);\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 3,\n stepCount: 4,\n });\n expect(clickSpy).toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n\n it('does not emit events for invalid step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', 5);\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('does not emit events for locked step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', 4);\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n });\n describe('when provided a pane id', () => {\n it('clicks the correct button and emits events', async () => {\n clickSpy = await stepperButtons[2].spyOnEvent('click');\n await stepper.callMethod('selectStep', stepperPanes[2].getAttribute('id'));\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 3,\n currentStep: 1,\n lastEnabledStep: 3,\n stepCount: 4,\n });\n expect(clickSpy).toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 3);\n });\n\n it('does not emit events for invalid id', async () => {\n clickSpy = await stepperButtons[2].spyOnEvent('click');\n await stepper.callMethod('selectStep', 'invalid-id');\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('does not emit events for locked step', async () => {\n clickSpy = await stepperButtons[3].spyOnEvent('click');\n await stepper.callMethod('selectStep', stepperPanes[3].getAttribute('id'));\n await page.waitForChanges();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(clickSpy).not.toHaveReceivedEvent();\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n });\n });\n });\n\n describe('@Props', () => {\n describe('stepCount', () => {\n it('auto-populates the stepCount property', async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepper = await page.find('q2-stepper');\n\n expect(stepper).not.toHaveAttribute('step-count');\n expect(await stepper.getProperty('stepCount')).toEqual(10);\n });\n });\n\n describe('currentStep', () => {\n describe('when not provided', () => {\n it('marks the first step as active', async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '1');\n checkStepStatus(stepBtns[0], { selected: true, disabled: false });\n checkStepStatus(stepBtns[1], { disabled: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).toHaveAttribute('is-active');\n expect(stepperPanes[1]).not.toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n\n describe('when provided', () => {\n it('marks the specified step as active', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n stepperPanes = await page.findAll('q2-stepper-pane');\n\n expect(stepper).toEqualAttribute('current-step', '2');\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true });\n checkStepStatus(stepBtns[2], { disabled: true });\n expect(stepperPanes[0]).not.toHaveAttribute('is-active');\n expect(stepperPanes[1]).toHaveAttribute('is-active');\n expect(stepperPanes[2]).not.toHaveAttribute('is-active');\n });\n });\n });\n\n describe('lastEnabledStep', () => {\n describe('when not provided', () => {\n it('defaults the value to currentStep', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0]);\n checkStepStatus(stepBtns[1], { selected: true, disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when provided', () => {\n it('sets all step buttons up to the specified value as enabled', async () => {\n page = await setup({\n html: renderStepper(3, 1, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n });\n });\n\n describe('when updated', () => {\n it('defaults the value to currentStep', async () => {\n page = await setup({\n html: renderStepper(3, 1, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n\n expect(await stepper.getProperty('lastEnabledStep')).toEqual(2);\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1], { disabled: false });\n checkStepStatus(stepBtns[2], { disabled: true });\n\n await stepper.setProperty('lastEnabledStep', 3);\n await page.waitForChanges();\n\n checkStepStatus(stepBtns[0], { selected: true });\n checkStepStatus(stepBtns[1]);\n checkStepStatus(stepBtns[2]);\n });\n });\n });\n });\n\n describe('displaying step buttons', () => {\n describe('when label is updated', () => {\n it('updates the label in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toBeNull();\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('label', 'My Updated Label');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Updated Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description is updated', () => {\n it('updates the description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toBeNull();\n\n await stepperPane.setProperty('description', 'My Updated Description');\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Updated Description');\n });\n });\n\n describe('when label and description are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My Description');\n });\n });\n\n describe('when only label is provided by a q2-stepper-pane', () => {\n it('displays label in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description is provided by a q2-stepper-pane', () => {\n it('does not display any text for the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My Description\">Pane 1</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when status is provided by a q2-stepper-pane', () => {\n it('display success q2-icon in the step button for status=\"complete\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"complete\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"success-filled\"]')).toBeTruthy();\n });\n\n it('display warning q2-icon in the step button for status=\"error\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"error\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon[type=\"warning-filled\"]')).toBeTruthy();\n });\n\n it('display no q2-icon in the step button for status=\"locked\"', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"Step 1\" status=\"locked\">Step 1 contents</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n expect(await stepBtn.find('q2-icon')).toBeFalsy();\n });\n });\n\n describe('when label slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'My updated slotted label';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My updated slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when description slot is updated', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\" description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'My updated slotted description';\n });\n await page.waitForChanges();\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText(\n 'My updated slotted description'\n );\n });\n });\n\n describe('when label slot and description slot are provided by a q2-stepper-pane', () => {\n it('displays label and description in the step button', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\" description=\"My Description\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n await page.waitForChanges();\n stepperPaneId = await stepperPane.getProperty('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).toEqualAttribute('aria-describedby', `description-${stepperPaneId}`);\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqualText('My slotted description');\n });\n });\n\n describe('when label slot is provided by q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My label\">\n Pane 1\n <div slot=\"label\">My slotted label</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My slotted label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n\n describe('when only description slot is provided by a q2-stepper-pane', () => {\n it(\"renders the slot content in the step button's label\", async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane description=\"My description\">\n Pane 1\n <div slot=\"description\">My slotted description</div>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n\n expect(stepBtn).not.toHaveAttribute('aria-labelledby');\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find('.step-label')).toEqual(null);\n expect(await stepBtn.find('.step-description')).toEqual(null);\n });\n });\n\n describe('when label slot is provided in another component used within q2-stepper-pane', () => {\n it('does not use the label for the q2-stepper', async () => {\n page = await setup({\n html: `\n <q2-stepper>\n <q2-stepper-pane label=\"My Label\">\n Pane 1\n <q2-input>\n <div slot=\"label\">My slotted label</div>\n </q2-input>\n </q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const stepBtn = await page.find('q2-stepper >>> .step-btn');\n stepperPane = await page.find('q2-stepper-pane');\n stepperPaneId = await stepperPane.getAttribute('id');\n\n expect(stepBtn).toEqualAttribute('aria-labelledby', `label-${stepperPaneId}`);\n expect(stepBtn).not.toHaveAttribute('aria-describedby');\n expect(await stepBtn.find(`#label-${stepperPaneId}`)).toEqualText('My Label');\n expect(await stepBtn.find(`#description-${stepperPaneId}`)).toEqual(null);\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n });\n\n const focusedStepText = async (page: E2EPage) => {\n return page.$eval('q2-stepper', el => el.shadowRoot.activeElement?.textContent);\n };\n\n it('focuses inner button when focus event is dispatched', async function (): Promise<void> {\n await stepper.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n\n it('focuses inner button when element.focus() is called', async function (): Promise<void> {\n await stepper.focus();\n await page.waitForChanges();\n\n expect(await focusedStepText(page)).toEqual('2');\n });\n });\n\n describe('events', () => {\n describe('onchange', () => {\n describe('when not provided', () => {\n it('automatically updates the currentStep to the selected value', async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', '1');\n });\n });\n\n describe('when provided', () => {\n it('does not automatically update the currentStep to the selected value', async () => {\n page = await setup({\n html: `\n <q2-stepper current-step=\"2\" onchange=\"testOnChange()\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n <script>function testOnChange() {}</script>\n `,\n });\n stepper = await page.find('q2-stepper');\n const stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n await stepBtns[0].click();\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n });\n\n describe('selecting steps', () => {\n let page: E2EPage;\n let stepper: E2EElement;\n let stepBtns: E2EElement[];\n let changeSpy: EventSpy;\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepper = await page.find('q2-stepper');\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n changeSpy = await stepper.spyOnEvent('change');\n });\n\n describe('when selecting a step after the lastEnabledStep', () => {\n it('does not emit an event', async () => {\n await stepBtns[2].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting the currently selected step', () => {\n it('does not emit an event', async () => {\n await stepBtns[1].click();\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n\n describe('when selecting a step before the lastEnabledStep', () => {\n it('does emits an event', async () => {\n await stepBtns[0].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 1,\n currentStep: 2,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n });\n\n it('allows you to select the lastEnabledStep after selecting a different step', async () => {\n stepper.setProperty('currentStep', 1);\n await page.waitForChanges();\n expect(stepBtns[0]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 1);\n\n await stepBtns[1].click();\n expect(changeSpy).toHaveReceivedEventDetail({\n selectedStep: 2,\n currentStep: 1,\n lastEnabledStep: 2,\n stepCount: 3,\n });\n expect(stepBtns[1]).toHaveAttribute('aria-selected');\n expect(stepper).toEqualAttribute('current-step', 2);\n });\n });\n });\n\n describe('scroll', () => {\n let page: E2EPage;\n let stepContainer: E2EElement;\n let stepList: E2EElement;\n let btnLeft: E2EElement;\n let btnRight: E2EElement;\n\n describe('when the width of the total steps does not exceed the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('does not display the scroll indicator buttons', async () => {\n expect(stepContainer).not.toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toEqual(await stepList.getProperty('clientWidth'));\n expect(btnLeft).toBeNull();\n expect(btnRight).toBeNull();\n });\n });\n\n describe('when the width of the total steps exceeds the available width', () => {\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(10),\n });\n stepContainer = await page.find('q2-stepper >>> .step-container');\n stepList = await page.find('q2-stepper >>> ul');\n btnLeft = await page.find('q2-stepper >>> .btn-left');\n btnRight = await page.find('q2-stepper >>> .btn-right');\n });\n\n it('displays the scroll indicator buttons', async () => {\n expect(stepContainer).toHaveClass('has-scroll');\n expect(await stepList.getProperty('scrollWidth')).toBeGreaterThan(\n await stepList.getProperty('clientWidth')\n );\n expect(btnLeft).toBeTruthy();\n expect(btnRight).toBeTruthy();\n });\n\n it('can scroll via buttons', async () => {\n const scrollAmount = Math.floor((await stepList.getProperty('clientWidth')) / 2);\n const scrollByStub = jest.fn(args => {\n page.evaluate(left => {\n document.querySelector('q2-stepper').shadowRoot.querySelector('ul').scrollLeft = left;\n }, args.left);\n });\n await page.exposeFunction('scrollByStub', scrollByStub);\n await page.$eval('q2-stepper', stepper => {\n stepper.shadowRoot.querySelector('ul').scrollBy = scrollByStub;\n });\n\n expect(scrollByStub).toHaveBeenCalledTimes(0);\n expect(btnLeft).toHaveAttribute('hidden');\n expect(btnRight).not.toHaveAttribute('hidden');\n\n await btnRight.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: scrollAmount,\n });\n\n scrollByStub.mockReset();\n\n expect(btnRight).toHaveAttribute('hidden');\n expect(btnLeft).not.toHaveAttribute('hidden');\n\n await btnLeft.click();\n expect(scrollByStub).toHaveBeenCalledWith({\n behavior: 'smooth',\n left: -scrollAmount,\n });\n });\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: renderStepper(10),\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {\n let page: E2EPage;\n let stepBtns: E2EElement[];\n\n const isStepFocused = async (page: E2EPage, stepNumber: number) =>\n page.evaluate(\n stepNumber =>\n document.querySelector('q2-stepper').shadowRoot.activeElement ===\n document\n .querySelector('q2-stepper')\n .shadowRoot.querySelector(`li:nth-child(${stepNumber}) .step-btn`),\n stepNumber\n );\n\n beforeEach(async () => {\n page = await setup({\n html: renderStepper(3, 2),\n });\n stepBtns = await page.findAll('q2-stepper >>> .step-btn');\n });\n\n describe('when arrow keys are pressed', () => {\n it('moves focus along the list of step buttons', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowLeft');\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('ArrowRight');\n expect(await isStepFocused(page, 3)).toBe(true);\n });\n });\n\n describe('when Home is pressed', () => {\n it('focuses the first step button', async () => {\n await stepBtns[1].focus();\n expect(await isStepFocused(page, 2)).toBe(true);\n\n await page.keyboard.press('Home');\n expect(await isStepFocused(page, 1)).toBe(true);\n });\n });\n\n describe('when End is pressed', () => {\n it('focuses the last enabled step button', async () => {\n await stepBtns[0].focus();\n expect(await isStepFocused(page, 1)).toBe(true);\n\n await page.keyboard.press('End');\n expect(await isStepFocused(page, 2)).toBe(true);\n });\n });\n });\n describe('Other', () => {});\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-stepper-pane.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"q2-stepper-pane.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-pane/q2-stepper-pane.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n Fragment,\n Event,\n Host,\n Watch,\n EventEmitter,\n Listen,\n State,\n} from '@stencil/core';\nimport { createGuid, loc, nextPaint } from 'src/utils';\n\nexport interface IStepperPaneEvent {\n status: string;\n isActive: boolean;\n id: string;\n host: HTMLElement;\n}\n\n@Component({ tag: 'q2-stepper-pane', shadow: true, styleUrl: 'q2-stepper-pane.scss' })\nexport class Q2StepperPane implements ComponentInterface {\n // #region Own Properties\n\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n isChildActive: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /**\n * The description for the pane.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /**\n * Used by q2-stepper and q2-stepper-vertical to determine which pane is active\n * @private\n */\n @Prop({ reflect: true })\n isActive: boolean;\n\n /**\n * The label for the pane.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Indicates to display the content of the pane when one of its children is selected.\n * @info\n * Currently only supported in the `<q2-stepper-vertical>` component.\n */\n @Prop({ reflect: true })\n showWithChildren: boolean;\n\n /** The status of the pane. */\n @Prop({ reflect: true })\n status: 'complete' | 'error' | 'locked';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the active state of the pane changes.\n */\n @Event()\n activeChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the content of the pane changes.\n * @private\n */\n @Event({ bubbles: true })\n contentChange: EventEmitter<undefined>;\n\n /**\n * Emitted when the status of the pane changes.\n */\n @Event()\n statusChange: EventEmitter<IStepperPaneEvent>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n connectedCallback() {\n if (!this.hostElement.id) this.hostElement.id = `step-${createGuid()}`;\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\n componentWillLoad() {\n this.checkForActiveChildren();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(() => {\n this.contentChange.emit();\n });\n observer.observe(this.hostElement, { childList: true, subtree: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('isActive')\n isActiveChanged(isActive) {\n this.activeChange.emit({\n status: this.status || '',\n isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('label')\n @Watch('description')\n labelOrDescriptionChanged() {\n this.contentChange.emit();\n }\n\n @Watch('showWithChildren')\n @Listen('activeChange')\n checkForActiveChildren() {\n if (!this.showWithChildren) return;\n nextPaint(() => {\n setTimeout(() => {\n this.isChildActive = !!this.hostElement.querySelector<HTMLQ2StepperPaneElement>(\n \"[slot='children'] > q2-stepper-pane[is-active]\"\n );\n });\n });\n }\n\n @Watch('status')\n statusChanged(status) {\n this.statusChange.emit({\n status,\n isActive: !!this.isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, isActive } = this;\n return (\n <Host role=\"listitem\">\n <Fragment>\n <div\n aria-label={label && loc(label)}\n tabindex=\"0\"\n hidden={!isActive && !(this.isChildActive && this.showWithChildren)}\n >\n <slot />\n </div>\n <div hidden>\n <slot\n name=\"label\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n <slot\n name=\"description\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n </div>\n <slot name=\"children\"></slot>\n </Fragment>\n </Host>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-stepper-pane-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-stepper-pane', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper-pane></q2-stepper-pane>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-pane')).toHaveLength(0);\n });\n\n describe('id', () => {\n describe('when not provided', () => {\n it('is automatically generated', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toContain('step-');\n });\n });\n\n describe('when provided', () => {\n it('is not replaced with a generated value', async () => {\n const page = await setup({\n html: `<q2-stepper-pane id=\"my-pane\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toEqual('my-pane');\n });\n });\n });\n\n describe('@Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('is not added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('aria-label');\n });\n });\n\n describe('when provided', () => {\n it('is added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toEqualAttribute('aria-label', 'My Label');\n });\n });\n });\n\n describe('isActive', () => {\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane is-active>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n });\n });\n\n describe('showWithChildren', () => {\n let page: E2EPage;\n let stepperPaneContainer: E2EElement;\n\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden with an active child', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n await page.waitForChanges();\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n\n it('marks container as hidden when there are no active children', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n });\n });\n\n describe('@Events', () => {\n let page: E2EPage;\n let stepperPane: E2EElement;\n const hostElementStub = {\n 's-p': [],\n };\n\n beforeEach(async () => {\n page = await setup({\n html: `<q2-stepper-pane id=\"test\">Pane 1</q2-stepper-pane>`,\n });\n stepperPane = await page.find('q2-stepper-pane');\n });\n\n describe('statusChange', () => {\n it('emits when the status property is updated', async () => {\n const statusChangeSpy = await stepperPane.spyOnEvent('statusChange');\n\n await stepperPane.setProperty('status', 'complete');\n await page.waitForChanges();\n\n expect(statusChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: false,\n status: 'complete',\n host: hostElementStub,\n });\n });\n });\n\n describe('activeChange', () => {\n it('emits when the isActive property is updated', async () => {\n const activeChangeSpy = await stepperPane.spyOnEvent('activeChange');\n\n await stepperPane.setProperty('isActive', true);\n await page.waitForChanges();\n\n expect(activeChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: true,\n status: '',\n host: hostElementStub,\n });\n });\n });\n\n describe('contentChange', () => {\n it('emits when label property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('label', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when description property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('description', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n describe('label slot', () => {\n it('emits when the content of the label slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'label');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n\n describe('description slot', () => {\n it('emits when the content of the description slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'description');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\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-stepper last-enabled-step=\"3\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-stepper-pane-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, setup } from '@/utils/helpers';\n\ndescribe('q2-stepper-pane', () => {\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-stepper-pane></q2-stepper-pane>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-stepper-pane')).toHaveLength(0);\n });\n\n describe('id', () => {\n describe('when not provided', () => {\n it('is automatically generated', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toContain('step-');\n });\n });\n\n describe('when provided', () => {\n it('is not replaced with a generated value', async () => {\n const page = await setup({\n html: `<q2-stepper-pane id=\"my-pane\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPane = await page.find('q2-stepper-pane');\n\n expect(stepperPane.id).toEqual('my-pane');\n });\n });\n });\n\n describe('@Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('is not added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('aria-label');\n });\n });\n\n describe('when provided', () => {\n it('is added to the container', async () => {\n const page = await setup({\n html: `<q2-stepper-pane label=\"My Label\">Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toEqualAttribute('aria-label', 'My Label');\n });\n });\n });\n\n describe('isActive', () => {\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden', async () => {\n const page = await setup({\n html: `<q2-stepper-pane is-active>Pane 1</q2-stepper-pane>`,\n });\n const stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n });\n });\n\n describe('showWithChildren', () => {\n let page: E2EPage;\n let stepperPaneContainer: E2EElement;\n\n describe('when false', () => {\n it('marks the container as hidden', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n\n describe('when true', () => {\n it('does not mark the container as hidden with an active child', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane is-active>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n await page.waitForChanges();\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n expect(stepperPaneContainer).not.toHaveAttribute('hidden');\n });\n\n it('marks container as hidden when there are no active children', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane show-with-children>\n <h1>Parent Pane</h1>\n <div slot=\"children\">\n <q2-stepper-pane>\n <h2>Child Pane 1</h2>\n </q2-stepper-pane>\n <q2-stepper-pane>\n <h2>Child Pane 2</h2>\n </q2-stepper-pane>\n </div>\n </q2-stepper-pane>\n `,\n });\n stepperPaneContainer = await page.find('q2-stepper-pane >>> div');\n\n expect(stepperPaneContainer).toHaveAttribute('hidden');\n });\n });\n });\n });\n\n describe('@Events', () => {\n let page: E2EPage;\n let stepperPane: E2EElement;\n const hostElementStub = {\n 's-p': [],\n };\n\n beforeEach(async () => {\n page = await setup({\n html: `<q2-stepper-pane id=\"test\">Pane 1</q2-stepper-pane>`,\n });\n stepperPane = await page.find('q2-stepper-pane');\n });\n\n describe('statusChange', () => {\n it('emits when the status property is updated', async () => {\n const statusChangeSpy = await stepperPane.spyOnEvent('statusChange');\n\n await stepperPane.setProperty('status', 'complete');\n await page.waitForChanges();\n\n expect(statusChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: false,\n status: 'complete',\n host: hostElementStub,\n });\n });\n });\n\n describe('activeChange', () => {\n it('emits when the isActive property is updated', async () => {\n const activeChangeSpy = await stepperPane.spyOnEvent('activeChange');\n\n await stepperPane.setProperty('isActive', true);\n await page.waitForChanges();\n\n expect(activeChangeSpy).toHaveReceivedEventDetail({\n id: 'test',\n isActive: true,\n status: '',\n host: hostElementStub,\n });\n });\n });\n\n describe('contentChange', () => {\n it('emits when label property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('label', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when description property is updated', async () => {\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await stepperPane.setProperty('description', 'Hello world');\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n describe('label slot', () => {\n it('emits when the content of the label slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'label');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the label slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"label\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='label']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\n\n describe('description slot', () => {\n it('emits when the content of the description slot is updated', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").innerHTML = 'Hello Mars';\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is added', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n const labelSlot = document.createElement('div');\n labelSlot.setAttribute('slot', 'description');\n labelSlot.innerHTML = 'Hello world';\n document.querySelector('q2-stepper-pane').appendChild(labelSlot);\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n\n it('emits when the description slot is removed', async () => {\n page = await setup({\n html: `\n <q2-stepper-pane>\n Pane 1\n <div slot=\"description\">Hello world</div>\n </q2-stepper-pane>\n `,\n });\n stepperPane = await page.find('q2-stepper-pane');\n const contentChangeSpy = await stepperPane.spyOnEvent('contentChange');\n\n expect(contentChangeSpy).not.toHaveReceivedEvent();\n\n await page.evaluate(() => {\n document.querySelector(\"[slot='description']\").remove();\n });\n await page.waitForChanges();\n\n expect(contentChangeSpy).toHaveReceivedEvent();\n });\n });\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-stepper last-enabled-step=\"3\">\n <q2-stepper-pane>Pane 1</q2-stepper-pane>\n <q2-stepper-pane>Pane 2</q2-stepper-pane>\n <q2-stepper-pane>Pane 3</q2-stepper-pane>\n </q2-stepper>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n describe('Accessibility Tree', () => {});\n describe('Keyboard Controls', () => {});\n describe('Other', () => {});\n });\n});\n"]}
|
|
@@ -281,7 +281,7 @@ export class Q2StepperVertical {
|
|
|
281
281
|
return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelId, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, "aria-expanded": !!pane.children.length ? `${isExpanded}` : null, id: id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isLocked && this.onStepClick(ev, id) }, statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), label && (h("div", null, h("div", { class: "step-label", id: labelId }, stepLabel), description && (h("div", { class: "step-description", id: descriptionId }, loc(description)))))), this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)));
|
|
282
282
|
}
|
|
283
283
|
render() {
|
|
284
|
-
return (h(Fragment, { key: '
|
|
284
|
+
return (h(Fragment, { key: 'f36e1a5d6f2af51a476079fb891f3cc34223ff60' }, h("ul", { key: '243414ce25a7b746129f9e3e2ffc96dfe18e84ec', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), h("div", { key: '32e723cd4f9ffbc032370a0debd376f38f8ef205', role: "list" }, h("slot", { key: 'e8886dab3e636324941ffe263d09aaa553de2a86' }))));
|
|
285
285
|
}
|
|
286
286
|
static get is() { return "q2-stepper-vertical"; }
|
|
287
287
|
static get encapsulation() { return "shadow"; }
|