q2-tecton-elements 1.53.0 → 1.53.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +64 -61
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-07285783.js → index-76f63767.js} +1 -21
- package/dist/cjs/index-76f63767.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge_7.cjs.entry.js +12 -4
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- 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 +10 -12
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +7 -8
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +2 -2
- package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
- package/dist/cjs/q2-pill.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +89 -13
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tag.cjs.entry.js +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -2
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- 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 +4 -0
- 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 +9 -11
- 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 +12 -7
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-example/q2-example.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js +4 -0
- 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 +64 -60
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +743 -435
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
- package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +110 -15
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js +412 -0
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +6 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +2 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/charting.js.map +1 -1
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/sanitize-html-string.js.map +1 -1
- package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
- package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
- package/dist/collection/utils/test/index.spec.js.map +1 -1
- package/dist/components/index2.js +1 -20
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-btn2.js +4 -0
- package/dist/components/q2-btn2.js.map +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 +9 -11
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +7 -8
- package/dist/components/q2-editable-field.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-icon2.js +4 -0
- package/dist/components/q2-icon2.js.map +1 -1
- package/dist/components/q2-input2.js +1 -1
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-pagination.js +3 -3
- package/dist/components/q2-pill.js +1 -1
- package/dist/components/q2-popover2.js +63 -60
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +92 -16
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +1 -1
- package/dist/components/q2-textarea.js +2 -1
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +64 -61
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-d18e2a20.js → index-504f1a9e.js} +2 -21
- package/dist/esm/index-504f1a9e.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-badge_7.entry.js +12 -4
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- 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 +10 -12
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +7 -8
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +1 -1
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-item_3.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-option.entry.js +2 -2
- package/dist/esm/q2-pagination.entry.js +4 -4
- package/dist/esm/q2-pill.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-resize-observer.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +90 -14
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tag.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +3 -2
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/jest.setup.js +22 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +175 -163
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{index-d18e2a20.js → index-504f1a9e.js} +51 -69
- package/dist/q2-tecton-elements/index-504f1a9e.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +34 -34
- package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +25 -17
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +101 -101
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +14 -16
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +27 -18
- package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-item_3.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-loc.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-option-list.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-pagination.entry.js +34 -34
- package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-select.entry.js +156 -92
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +37 -37
- package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
- package/dist/q2-tecton-elements/q2-tag.entry.js +25 -25
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -3
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -4
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +2 -1
- package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
- package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
- package/dist/types/components/q2-select/q2-select.d.ts +19 -0
- package/package.json +3 -3
- package/dist/cjs/index-07285783.js.map +0 -1
- package/dist/esm/index-d18e2a20.js.map +0 -1
- package/dist/q2-tecton-elements/index-d18e2a20.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-tooltip.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"q2-tooltip.js","sourceRoot":"","sources":["../../../../src/components/q2-tooltip/q2-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAsB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG9D,MAAM,OAAO,SAAS;;QAClB,yBAAyB;QAEzB,sBAAiB,GAAG,CAAC,CAAC;;;yBA4BD,KAAK;;;;;wBAoBoC,GAAG;;IAEjE,aAAa;IACb,qCAAqC;IAErC,gBAAgB;QACZ,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;IACb,oBAAoB;IAGpB,mBAAmB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAGD,YAAY,CAAC,KAAK;QACd,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAGD,eAAe;QACX,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAmB;YAAE,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;;YAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IAGD,YAAY,CAAC,KAAoB;QAC7B,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACT,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;QACd,CAAC;IACL,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,eAAe;QACf,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB;QACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACpD,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;QAE/C,6EAA6E;QAC7E,+DAA+D;QAC/D,8EAA8E;QAC9E,IAAI,UAAU,KAAK,uBAAuB,IAAI,CAAC,UAAU,KAAK,mBAAmB,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAClC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC/E,IAAI,eAAe;YAAE,OAAO;IAChC,CAAC;IAED,uBAAuB,CAAC,OAAgB;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,OAAO,CAAC,UAAU;YAAE,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjG,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,gBAAgB,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,UAAU,KAAK,mBAAmB;YAAE,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC;;YAClF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,aAAa;IACb,yBAAyB;IAEzB,MAAM;QACF,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,UAAU;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAChB,WACI,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACxC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EACrC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,gBACZ,IAAI,CAAC,KAAK,EACtB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAChD,IAAI,EAAC,SAAS,aACN,kBAAkB;YAE1B,eAAQ,CACN,CACT,CAAC,CAAC,CAAC,CACA,eAAQ,CACX,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Listen, State } from '@stencil/core';\nimport { isEventFromElement, overrideFocus } from 'src/utils';\n\n@Component({ tag: 'q2-tooltip', shadow: true, styleUrl: 'q2-tooltip.scss' })\nexport class Q2Tooltip implements ComponentInterface {\n // #region Own Properties\n\n animationEndCount = 0;\n tooltipElement: HTMLDivElement;\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 focusClass: 'has-keyboard-focus' | 'has-generic-focus' | 'has-generic-focus-out';\n\n // #endregion\n // #region Public Property API\n\n /** Displays the element as a block, making it take up the full width of its container. */\n @Prop({ reflect: true })\n block: boolean;\n\n /**\n * Makes the component focusable, thereby putting it in the tab order of the keyboard.\n * @warning\n * This is only meant to be used when the `q2-tooltip` is wrapped around an element that is not focusable (e.g., icons, static text, badges, etc.).\n */\n @Prop({ reflect: true })\n focusable: boolean = false;\n\n /** Whether to show the tooltip immediately upon hover. */\n @Prop({ reflect: true })\n immediate: boolean;\n\n /** text that is displayed when the tooltip is activated. */\n @Prop({ reflect: true })\n label: string;\n\n /** Enables the use of multi-line tooltips with a default `max-width` of `200px`. */\n @Prop({ reflect: true })\n multiline: boolean;\n\n /** Displays the tooltip persistently. */\n @Prop({ reflect: true })\n persistent: boolean;\n\n /** The position of the tooltip based on [cardinal and intercardinal directions](https://en.wikipedia.org/wiki/Cardinal_direction). */\n @Prop({ reflect: true })\n position: 'n' | 's' | 'e' | 'w' | 'nw' | 'ne' | 'sw' | 'se' = 'n';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus', { capture: true })\n focusCaptureHandler() {\n this.checkFocusClass();\n }\n\n @Listen('focus')\n focusHandler(event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.focusable) return;\n this.tooltipElement.focus();\n }\n\n @Listen('focusout')\n focusOutHandler() {\n if (this.shouldBeVisible) return;\n if (this.focusClass === 'has-generic-focus') this.focusClass = 'has-generic-focus-out';\n else this.focusClass = null;\n }\n\n @Listen('keyup')\n keyUpHandler(event: KeyboardEvent) {\n switch (event.key) {\n case 'Esc':\n case 'Escape':\n this.hideTooltip();\n break;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get shouldBeVisible() {\n if (this.persistent) return true;\n return this.hostElement.matches(':hover, :focus-within');\n }\n\n animationEndHandler() {\n this.animationEndCount = this.animationEndCount + 1;\n const { focusClass, animationEndCount } = this;\n\n // animationEnd is fired once for :before and once for :after pseudo elements\n // there are multiple animations defined for .has-generic-focus\n // so we need to wait for all of them to finish before we can remove the class\n if (focusClass === 'has-generic-focus-out' || (focusClass === 'has-generic-focus' && animationEndCount === 4)) {\n this.focusClass = null;\n this.animationEndCount = 0;\n }\n }\n\n checkFocusClass() {\n if (!this.shouldBeVisible) return;\n const isKeyboardFocus = !!this.findFocusVisibleElement(document.activeElement);\n this.focusClass = isKeyboardFocus ? 'has-keyboard-focus' : 'has-generic-focus';\n if (isKeyboardFocus) return;\n }\n\n findFocusVisibleElement(element: Element) {\n if (!element) return;\n if (element.shadowRoot) element = this.findFocusVisibleElement(element.shadowRoot.activeElement);\n return element?.matches(':focus-visible') ? element : null;\n }\n\n hideTooltip() {\n if (this.focusClass === 'has-generic-focus') this.focusClass = 'has-generic-focus-out';\n else this.focusClass = null;\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { focusClass } = this;\n const classes = ['tooltip'];\n if (focusClass) classes.push(focusClass);\n\n return this.label ? (\n <div\n tabindex={this.focusable ? 0 : undefined}\n ref={el => (this.tooltipElement = el)}\n class={classes.join(' ')}\n aria-label={this.label}\n onAnimationEnd={() => this.animationEndHandler()}\n role=\"tooltip\"\n test-id=\"tooltipContainer\"\n >\n <slot />\n </div>\n ) : (\n <slot />\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-tooltip-test.e2e.js","sourceRoot":"","sources":["../../../../src/components/q2-tooltip/test/q2-tooltip-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-tooltip', () => {\n const tooltipText = 'Good tooltip text';\n let page: E2EPage;\n let tooltip: E2EElement;\n let container: E2EElement;\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-tooltip></q2-tooltip>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-tooltip')).toHaveLength(0);\n });\n\n it('renders tooltip on hover', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(tooltip).toEqualAttribute('position', 'n');\n expect(container.getAttribute('aria-label')).toEqual(tooltipText);\n\n let containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('hidden');\n expect(containerPseudoStyles.opacity).toEqual('0');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('visible');\n expect(containerPseudoStyles.opacity).toEqual('1');\n });\n\n describe('Focus', () => {\n describe('when content is focused', () => {\n async function testFocusType(type: 'focus' | 'click') {\n page = await setup({\n html: `\n <q2-tooltip label=\"${tooltipText}\">\n <button id=\"in\">Focus me</button>\n </q2-tooltip>\n <button id=\"out\">Focus me</button> `,\n });\n const inButton = await page.find('button#in');\n const outButton = await page.find('button#out');\n container = await page.find('q2-tooltip >>> .tooltip');\n const typeClassName = type === 'focus' ? 'has-keyboard-focus' : 'has-generic-focus';\n expect(container).not.toHaveClass(typeClassName);\n\n await inButton[type]();\n await page.waitForChanges();\n\n expect(container).toHaveClass(typeClassName);\n\n await outButton[type]();\n await page.waitForChanges();\n expect(container).not.toHaveClass(typeClassName);\n }\n\n it('adds the keyboard class when focused', async () => {\n await testFocusType('focus');\n });\n\n it('adds the generic class when clicked', async () => {\n await testFocusType('click');\n });\n\n it('closes the tooltip on Escape', async () => {\n page = await setup({\n html: `\n <q2-tooltip label=\"${tooltipText}\">\n <button>Focus me</button>\n </q2-tooltip>\n `,\n });\n const button = await page.find('button');\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).not.toHaveClass('has-generic-focus');\n\n await button.click();\n await page.waitForChanges();\n\n expect(container).toHaveClass('has-generic-focus');\n\n await button.press('Escape');\n await page.waitForChanges();\n\n expect(container).not.toHaveClass('has-generic-focus');\n });\n });\n });\n\n describe('Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('does not wrap the slot in a tooltip', async () => {\n page = await setup({\n html: `<q2-tooltip>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('wraps the slot in a tooltip', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" multiline>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).toBeTruthy();\n expect(container).toEqualAttribute('aria-label', tooltipText);\n });\n });\n });\n\n describe('block', () => {\n describe('when not provided', () => {\n it('does not apply block styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n const tooltipPseudoStyles = await tooltip.getComputedStyle();\n expect(tooltipPseudoStyles.display).toEqual('inline-block');\n\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle();\n expect(containerPseudoStyles.display).toEqual('inline-block');\n });\n });\n\n describe('when provided', () => {\n it('applies block styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" block>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n const tooltipPseudoStyles = await tooltip.getComputedStyle();\n expect(tooltipPseudoStyles.display).toEqual('block');\n\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle();\n expect(containerPseudoStyles.display).toEqual('block');\n });\n });\n });\n\n describe('multiline', () => {\n describe('when not provided', () => {\n it('does not apply multiline styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.wordBreak).toEqual('normal');\n });\n });\n\n describe('when provided', () => {\n it('applies multiline styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" multiline>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.wordBreak).toEqual('break-word');\n });\n });\n });\n\n describe('persistent', () => {\n describe('when not provided', () => {\n it('does not show the tooltip by default', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('hidden');\n expect(containerPseudoStyles.opacity).toEqual('0');\n });\n });\n\n describe('when provided', () => {\n it('shows the tooltip by default', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" persistent>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('visible');\n expect(containerPseudoStyles.opacity).toEqual('1');\n });\n });\n });\n\n describe('immediate', () => {\n describe('when provided', () => {\n it('sets the delay to 0s on hover', async () => {\n page = await setup({\n html: `<q2-tooltip immediate label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.transitionDelay).toEqual('0s');\n });\n });\n\n describe('when not provided', () => {\n it('sets the delay to default (1s) on hover', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.transitionDelay).toEqual('1s');\n });\n });\n });\n\n describe('focusable', () => {\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-tooltip', el => el.shadowRoot.activeElement?.getAttribute('test-id'));\n };\n describe('when not provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n });\n\n it('tabindex should be undefined', async () => {\n expect(container.getAttribute('tabindex')).toBeNull();\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await tooltip.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toBeUndefined();\n });\n\n it('focuses inner button when element.focus() is called', async () => {\n await tooltip.focus();\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toBeUndefined();\n });\n });\n\n describe('when provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" focusable>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n });\n\n it('tabindex should be 0', async () => {\n expect(container.getAttribute('tabindex')).toEqual('0');\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await tooltip.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toEqual('tooltipContainer');\n });\n\n it('focuses inner button when element.focus() is called', async () => {\n await tooltip.focus();\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toEqual('tooltipContainer');\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-tooltip label=\"${tooltipText}\">\n <button id=\"in\">Focus me</button>\n </q2-tooltip>\n <button id=\"out\">Focus me</button>\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-tooltip-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/q2-tooltip/test/q2-tooltip-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-tooltip', () => {\n const tooltipText = 'Good tooltip text';\n let page: E2EPage;\n let tooltip: E2EElement;\n let container: E2EElement;\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-tooltip></q2-tooltip>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-tooltip')).toHaveLength(0);\n });\n\n it('renders tooltip on hover', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(tooltip).toEqualAttribute('position', 'n');\n expect(container.getAttribute('aria-label')).toEqual(tooltipText);\n\n let containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('hidden');\n expect(containerPseudoStyles.opacity).toEqual('0');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('visible');\n expect(containerPseudoStyles.opacity).toEqual('1');\n });\n\n describe('Focus', () => {\n describe('when content is focused', () => {\n async function testFocusType(type: 'focus' | 'click') {\n page = await setup({\n html: `\n <q2-tooltip label=\"${tooltipText}\">\n <button id=\"in\">Focus me</button>\n </q2-tooltip>\n <button id=\"out\">Focus me</button> `,\n });\n const inButton = await page.find('button#in');\n const outButton = await page.find('button#out');\n container = await page.find('q2-tooltip >>> .tooltip');\n const typeClassName = type === 'focus' ? 'has-keyboard-focus' : 'has-generic-focus';\n expect(container).not.toHaveClass(typeClassName);\n\n await inButton[type]();\n await page.waitForChanges();\n\n expect(container).toHaveClass(typeClassName);\n\n await outButton[type]();\n await page.waitForChanges();\n expect(container).not.toHaveClass(typeClassName);\n }\n\n it('adds the keyboard class when focused', async () => {\n await testFocusType('focus');\n });\n\n it('adds the generic class when clicked', async () => {\n await testFocusType('click');\n });\n\n it('closes the tooltip on Escape', async () => {\n page = await setup({\n html: `\n <q2-tooltip label=\"${tooltipText}\">\n <button>Focus me</button>\n </q2-tooltip>\n `,\n });\n const button = await page.find('button');\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).not.toHaveClass('has-generic-focus');\n\n await button.click();\n await page.waitForChanges();\n\n expect(container).toHaveClass('has-generic-focus');\n\n await button.press('Escape');\n await page.waitForChanges();\n\n expect(container).not.toHaveClass('has-generic-focus');\n });\n });\n });\n\n describe('Props', () => {\n describe('label', () => {\n describe('when not provided', () => {\n it('does not wrap the slot in a tooltip', async () => {\n page = await setup({\n html: `<q2-tooltip>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('wraps the slot in a tooltip', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" multiline>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n expect(container).toBeTruthy();\n expect(container).toEqualAttribute('aria-label', tooltipText);\n });\n });\n });\n\n describe('block', () => {\n describe('when not provided', () => {\n it('does not apply block styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n const tooltipPseudoStyles = await tooltip.getComputedStyle();\n expect(tooltipPseudoStyles.display).toEqual('inline-block');\n\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle();\n expect(containerPseudoStyles.display).toEqual('inline-block');\n });\n });\n\n describe('when provided', () => {\n it('applies block styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" block>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n const tooltipPseudoStyles = await tooltip.getComputedStyle();\n expect(tooltipPseudoStyles.display).toEqual('block');\n\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle();\n expect(containerPseudoStyles.display).toEqual('block');\n });\n });\n });\n\n describe('multiline', () => {\n describe('when not provided', () => {\n it('does not apply multiline styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.wordBreak).toEqual('normal');\n });\n });\n\n describe('when provided', () => {\n it('applies multiline styles', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" multiline>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.wordBreak).toEqual('break-word');\n });\n });\n });\n\n describe('persistent', () => {\n describe('when not provided', () => {\n it('does not show the tooltip by default', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('hidden');\n expect(containerPseudoStyles.opacity).toEqual('0');\n });\n });\n\n describe('when provided', () => {\n it('shows the tooltip by default', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" persistent>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n container = await page.find('q2-tooltip >>> .tooltip');\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.visibility).toEqual('visible');\n expect(containerPseudoStyles.opacity).toEqual('1');\n });\n });\n });\n\n describe('immediate', () => {\n describe('when provided', () => {\n it('sets the delay to 0s on hover', async () => {\n page = await setup({\n html: `<q2-tooltip immediate label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.transitionDelay).toEqual('0s');\n });\n });\n\n describe('when not provided', () => {\n it('sets the delay to default (1s) on hover', async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n\n await tooltip.hover();\n await container.waitForEvent('transitionend');\n await page.waitForChanges();\n\n const containerPseudoStyles = await container.getComputedStyle(':after');\n expect(containerPseudoStyles.transitionDelay).toEqual('1s');\n });\n });\n });\n\n describe('focusable', () => {\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-tooltip', el => el.shadowRoot.activeElement?.getAttribute('test-id'));\n };\n describe('when not provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\">Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n });\n\n it('tabindex should be undefined', async () => {\n expect(container.getAttribute('tabindex')).toBeNull();\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await tooltip.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toBeUndefined();\n });\n\n it('focuses inner button when element.focus() is called', async () => {\n await tooltip.focus();\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toBeUndefined();\n });\n });\n\n describe('when provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-tooltip label=\"${tooltipText}\" focusable>Hover me</q2-tooltip>`,\n });\n await page.waitForChanges();\n tooltip = await page.find('q2-tooltip');\n container = await page.find('q2-tooltip >>> .tooltip');\n });\n\n it('tabindex should be 0', async () => {\n expect(container.getAttribute('tabindex')).toEqual('0');\n });\n\n it('focuses inner button when focus event is dispatched', async () => {\n await tooltip.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toEqual('tooltipContainer');\n });\n\n it('focuses inner button when element.focus() is called', async () => {\n await tooltip.focus();\n await page.waitForChanges();\n\n expect(await innerActiveTestId(page)).toEqual('tooltipContainer');\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-tooltip label=\"${tooltipText}\">\n <button id=\"in\">Focus me</button>\n </q2-tooltip>\n <button id=\"out\">Focus me</button>\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tecton-tab-pane-types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"tecton-tab-pane-types.js","sourceRoot":"","sources":["../../../../src/components/tecton-tab-pane/tecton-tab-pane-types.ts"],"names":[],"mappings":"","sourcesContent":["export interface LoadingOptions {\n outlet?: {\n classList?: string[];\n style?: string;\n };\n loaders: Loader[];\n}\nexport interface Loader {\n type: string;\n shape: string;\n row: number;\n classList?: string[];\n style?: string;\n modifiers?: string;\n counts?: string;\n ariaLabel?: string;\n}\n"]}
|
|
@@ -63,9 +63,9 @@ export class TectonTabPane {
|
|
|
63
63
|
// #endregion
|
|
64
64
|
// #region Render Methods
|
|
65
65
|
render() {
|
|
66
|
-
return (h("div", { key: '
|
|
66
|
+
return (h("div", { key: 'fbf2550a809c04de1ec1e0d56d042772e7a56ab1', id: `tab-pane-${this.guid}-${this.index}`, class: `tab-pane${this.selected ? '' : ' hidden'}`, role: "tabpanel", tabindex: "-1", "aria-hidden": `${!this.selected}`, "aria-labelledby": `tab-${this.guid}-${this.index}` }, this.selected && this.provided !== undefined && !this.provided && (h("div", { key: '3dfbabecf7a65d3e4a9e9cb022488ea2d74ec64a' }, h("slot", { key: '38f20a0d29bea45eaae2c9fd1bfb6f324694accc', name: "loading-wrapper" }), h("iframe", { key: '25106e9d4ff8fca4b9ca785d75b97557d4441ade', hidden: true, name: this.moduleId, scrolling: "no", src: this.showForm && this.authPayload.length ? '' : this.url || '', "data-module-id": this.moduleId, style: this.minHeight ? { minHeight: this.minHeight } : null, onLoad: this.onIFrameLoad, title: this.iframeTitle, allow: "geolocation; camera" }), this._showForm && this.authPayload ? (h("form", { hidden: true, method: "post", action: this.url, target: this.moduleId, encType: "multipart/form-data" }, this.authPayload.map(element => {
|
|
67
67
|
return (h("input", { type: "hidden", value: element.value, name: element.key }));
|
|
68
|
-
}))) : (''))), h("div", { key: '
|
|
68
|
+
}))) : (''))), h("div", { key: 'caa4de86bb34e5cf3f4bb60977f2be9450210cf3', class: "slot-wrapper", hidden: this.selected && this.provided !== undefined && !this.provided }, h("slot", { key: 'da2ded5ffc3b4f5f42741b574f25280040a39eae' }))));
|
|
69
69
|
}
|
|
70
70
|
static get is() { return "tecton-tab-pane"; }
|
|
71
71
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tecton-tab-pane.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"tecton-tab-pane.js","sourceRoot":"","sources":["../../../../src/components/tecton-tab-pane/tecton-tab-pane.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Element, h, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\nimport { Q2Badge } from '../q2-badge/q2-badge';\n\n@Component({ tag: 'tecton-tab-pane', shadow: true, styleUrl: 'tecton-tab-pane.scss' })\nexport class TectonTabPane implements ComponentInterface {\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n _showForm: boolean;\n\n // #endregion\n // #region Public Property API\n\n @Prop()\n authPayload: { key: string; value: string }[];\n\n @Prop({ reflect: true })\n badgeCount: number;\n\n @Prop({ reflect: true })\n badgeDescription: string;\n\n @Prop({ reflect: true })\n badgeStatus: Q2Badge['status'];\n\n @Prop({ reflect: true })\n badgeTheme: Q2Badge['theme'];\n\n @Prop()\n guid: number;\n\n @Prop()\n index: number;\n\n @Prop({ reflect: true })\n label: string;\n\n @Prop({ reflect: true })\n minHeight: string;\n\n @Prop({ reflect: true })\n moduleId: string;\n\n @Prop({ reflect: true })\n name: string;\n\n /**\n * above props duplicated from q2-tab-pane.\n * Unable to extend due to Stencil decorator limitation\n */\n @Prop({ reflect: true })\n provided: boolean;\n\n @Prop({ reflect: true })\n selected: boolean;\n\n @Prop()\n showForm: boolean;\n\n @Prop({ reflect: true })\n url: string;\n\n @Prop({ reflect: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the badge count, description, theme, or status changes.\n * @private\n */\n @Event({ bubbles: true })\n badge: EventEmitter<boolean>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this._showForm = this.showForm;\n }\n\n componentWillRender(): void | Promise<void> {\n const loadingWrapper: HTMLDivElement = this.hostElement.shadowRoot.querySelector('.loading-wrapper');\n if (loadingWrapper) {\n loadingWrapper.style.minHeight = this.minHeight;\n loadingWrapper.hidden = !this.selected;\n }\n }\n\n componentDidRender() {\n const formElement = this.hostElement.shadowRoot.querySelector('form');\n\n if (!!formElement && !!formElement.parentElement) {\n formElement.submit();\n this._showForm = false;\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('badgeCount')\n @Watch('badgeDescription')\n @Watch('badgeTheme')\n @Watch('badgeStatus')\n badgeObserver() {\n this.badge.emit();\n }\n\n @Watch('selected')\n selectedObserver() {\n const loader: HTMLDivElement = this.hostElement.shadowRoot.querySelector('div[slot=\"loading-wrapper\"]');\n this._showForm = this.showForm; // reset state\n\n if (loader) {\n loader.hidden = !this.selected;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iframeTitle() {\n return this.moduleId.split('.').slice(-2).join('-');\n }\n\n onIFrameLoad = (event: Event) => {\n const iframe = event.target as HTMLIFrameElement;\n\n iframe.contentWindow &&\n iframe.contentWindow.postMessage(\n `[iFrameSizer]${this.moduleId}:0:false:false:32:true:true:null:documentElementOffset`,\n '*'\n );\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div\n id={`tab-pane-${this.guid}-${this.index}`}\n class={`tab-pane${this.selected ? '' : ' hidden'}`}\n role=\"tabpanel\"\n tabindex=\"-1\"\n aria-hidden={`${!this.selected}`}\n aria-labelledby={`tab-${this.guid}-${this.index}`}\n >\n {this.selected && this.provided !== undefined && !this.provided && (\n <div>\n <slot name=\"loading-wrapper\" />\n <iframe\n hidden\n name={this.moduleId}\n scrolling=\"no\"\n src={this.showForm && this.authPayload.length ? '' : this.url || ''}\n data-module-id={this.moduleId}\n style={this.minHeight ? { minHeight: this.minHeight } : null}\n onLoad={this.onIFrameLoad}\n title={this.iframeTitle}\n allow=\"geolocation; camera\"\n />\n {this._showForm && this.authPayload ? (\n <form\n hidden\n method=\"post\"\n action={this.url}\n target={this.moduleId}\n encType=\"multipart/form-data\"\n >\n {this.authPayload.map(element => {\n return (\n <input\n type=\"hidden\"\n value={element.value}\n name={element.key}\n />\n );\n })}\n </form>\n ) : (\n ''\n )}\n </div>\n )}\n <div\n class=\"slot-wrapper\"\n hidden={this.selected && this.provided !== undefined && !this.provided}\n >\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tecton-tab-pane-test.e2e.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"tecton-tab-pane-test.e2e.js","sourceRoot":"","sources":["../../../../../src/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { setup, dispatchEvent, getListOfStyleCompilationIssues, evaluateA11y } from '@/utils/helpers';\n\ndescribe('tecton-tab-pane', () => {\n describe('Accessibility', () => {\n describe('aXe DevTools', () => {\n it('does not have accessibility violations', async () => {\n const page = await setup({\n html: `\n <tecton-tab-pane\n label=\"Tab 1\"\n value=\"tab1\"\n module-id=\"moduleId\"\n url=\"tectontabpanetest/url\"\n min-height=\"200px\"></tecton-tab-pane>\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 it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<tecton-tab-pane></tecton-tab-pane>' });\n expect(await getListOfStyleCompilationIssues(page, 'tecton-tab-pane')).toHaveLength(0);\n });\n it('correctly renders shadow DOM elements', async function (): Promise<void> {\n const page = await setup({\n html: `\n <tecton-tab-pane\n label=\"Tab 1\"\n value=\"tab1\"\n module-id=\"moduleId\"\n url=\"tectontabpanetest/url\"\n min-height=\"200px\"></tecton-tab-pane>\n `,\n });\n\n const tabPane = await page.find('tecton-tab-pane');\n tabPane.setProperty('index', 0);\n tabPane.setProperty('guid', 1000);\n tabPane.setProperty('provided', false);\n await page.waitForChanges();\n\n const innerTabPane = await page.find('tecton-tab-pane >>> .tab-pane');\n\n expect(innerTabPane.id).toEqual('tab-pane-1000-0');\n expect(innerTabPane).toEqualAttribute('role', 'tabpanel');\n expect(innerTabPane).toEqualAttribute('tabindex', '-1');\n expect(innerTabPane).toEqualAttribute('aria-labelledby', 'tab-1000-0');\n expect(innerTabPane).toHaveClass('hidden');\n expect(innerTabPane).not.toHaveAttribute('aria-expanded');\n expect(innerTabPane).toEqualAttribute('aria-hidden', 'true');\n\n tabPane.setProperty('selected', true);\n await page.waitForChanges();\n\n expect(innerTabPane).not.toHaveClass('hidden');\n expect(innerTabPane).not.toHaveAttribute('aria-expanded');\n expect(innerTabPane).toEqualAttribute('aria-hidden', 'false');\n\n let iframe = await page.find('tecton-tab-pane >>> iframe');\n expect(iframe).toEqualAttribute('src', 'tectontabpanetest/url');\n expect(iframe).toHaveAttribute('hidden');\n expect(iframe).toEqualAttribute('data-module-id', 'moduleId');\n expect(iframe).toEqualAttribute('scrolling', 'no');\n expect(iframe).toEqualAttribute('allow', 'geolocation; camera');\n\n const slot = await page.find('tecton-tab-pane >>> slot');\n expect(slot).not.toBeNull();\n\n let slotWrapper = await page.find('tecton-tab-pane >>> .slot-wrapper');\n expect(await slotWrapper.getProperty('hidden')).toEqual(true);\n\n tabPane.setProperty('provided', true);\n await page.waitForChanges();\n\n slotWrapper = await page.find('tecton-tab-pane >>> .slot-wrapper');\n expect(await slotWrapper.getProperty('hidden')).toEqual(false);\n\n iframe = await page.find('tecton-tab-pane >>> iframe');\n expect(iframe).toBeNull();\n });\n\n it.skip('initializes legacy iframeResizer', async function (): Promise<void> {\n // seems to be causing puppeteer error\n const page = await setup({\n html: `\n <tecton-tab-pane\n label=\"Tab 1\"\n value=\"tab1\"\n selected\n module-id=\"moduleId\"\n url=\"tectontabpanetest/url\"\n min-height=\"200px\"></tecton-tab-pane>\n `,\n });\n const tabPane = await page.find('tecton-tab-pane');\n tabPane.setProperty('provided', false);\n await page.waitForChanges();\n\n const postMessage = jest.fn();\n await page.exposeFunction('postMessage', postMessage);\n await page.$eval('tecton-tab-pane', element => {\n const iframe = element.shadowRoot.querySelector('iframe');\n iframe.contentWindow.postMessage = postMessage;\n });\n\n await dispatchEvent(page, ['tecton-tab-pane', 'iframe'], 'load');\n\n expect(postMessage).toBeCalled();\n expect(postMessage.mock.calls[0][0].includes('moduleId')).toBe(true);\n });\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './components';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-sheet.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"action-sheet.js","sourceRoot":"","sources":["../../../src/utils/action-sheet.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActionSheetSelectedOption,\n ActionSheetListCloseData,\n ActionSheetListData,\n ActionSheetListOption,\n ActionSheetListOptgroup,\n} from 'q2-tecton-common/lib/utility/action-sheet';\n\ninterface IActionSheetComponent {\n hoist: boolean;\n}\nexport const shouldShowActionSheet = (component: IActionSheetComponent, event?: KeyboardEvent | MouseEvent) => {\n const isDialogSupported = 'open' in document.createElement('dialog');\n if (!isDialogSupported) return false;\n\n const canShowActionSheet = !!window.TectonElements?.showActionSheet;\n if (!canShowActionSheet) return false;\n\n const keysThatTriggerOpen = ['ArrowDown', 'ArrowUp', 'PageDown', 'PageUp', 'Home', 'End', 'Enter', ' '];\n if (event) {\n const eventIsKeyboardEvent = event instanceof KeyboardEvent;\n const eventIsMouseEvent = event instanceof MouseEvent;\n const keyboardEventShouldTriggerOpen = eventIsKeyboardEvent && keysThatTriggerOpen.includes(event.key);\n const mouseEventShouldTriggerOpen = eventIsMouseEvent && event.type === 'click';\n const eventShouldTriggerOpen = mouseEventShouldTriggerOpen || keyboardEventShouldTriggerOpen;\n if (!eventShouldTriggerOpen) return false;\n }\n\n if (component.hoist) return true;\n return false;\n};\n\nconst parseOptions = (options: (HTMLQ2OptgroupElement | HTMLQ2OptionElement)[]): any[] => {\n const defaultOption = {\n disabled: false,\n display: '',\n hidden: false,\n multiline: false,\n value: '',\n innerHTML: '',\n };\n const optionPropsToGet = Object.keys(defaultOption);\n const defaultOptgroup = {\n disabled: false,\n label: '',\n options: [],\n };\n const optgroupPropsToGet = Object.keys(defaultOptgroup);\n return options.map(option => {\n if (option.tagName === 'Q2-OPTGROUP') {\n const optgroup = option as HTMLQ2OptgroupElement;\n return optgroupPropsToGet.reduce<ActionSheetListOptgroup>(\n (acc, prop) => {\n if (prop === 'options') {\n const options = Array.from(option.children).filter(\n child => child.tagName === 'Q2-OPTION' || child.tagName === 'Q2-OPTGROUP'\n ) as HTMLQ2OptgroupElement[];\n\n acc[prop] = parseOptions(options);\n } else {\n acc[prop] = optgroup[prop];\n }\n return acc;\n },\n { ...defaultOptgroup }\n );\n } else if (option.tagName === 'Q2-OPTION') {\n return optionPropsToGet.reduce<ActionSheetListOption>(\n (acc, prop) => {\n acc[prop] = option[prop];\n return acc;\n },\n { ...defaultOption }\n );\n }\n });\n};\n\nexport const buildListData = async (\n component: IActionSheetListComponent,\n event?: MouseEvent | KeyboardEvent\n): Promise<ActionSheetListData> => {\n return {\n appearance: 'list',\n title: component.label || '',\n description: '',\n event,\n listProps: {\n multiple: !!component.optionList.multiple,\n selectedOptions: (component.optionList.selectedOptions as ActionSheetSelectedOption[]) || [],\n noSelect: !!component.optionList.noSelect,\n },\n options: parseOptions(await component.optionList.getContents()),\n };\n};\n\ninterface IActionSheetListComponent {\n optionList: HTMLQ2OptionListElement;\n label: string;\n}\nexport const showActionSheetList = async (\n component: IActionSheetListComponent,\n event?: MouseEvent | KeyboardEvent\n): Promise<ActionSheetListCloseData> => {\n const listData = await buildListData(component, event);\n return window.TectonElements?.showActionSheet(listData);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charting.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"charting.js","sourceRoot":"","sources":["../../../src/utils/charting.tsx"],"names":[],"mappings":"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","sourcesContent":["interface NumberFormatOptions {\n type?: string;\n decimals?: number | string;\n}\n\nenum ValidColorNames {\n aliceblue,\n antiquewhite,\n aqua,\n aquamarine,\n azure,\n beige,\n bisque,\n black,\n blanchedalmond,\n blue,\n blueviolet,\n brown,\n burlywood,\n cadetblue,\n chartreuse,\n chocolate,\n coral,\n cornflowerblue,\n cornsilk,\n crimson,\n cyan,\n darkblue,\n darkcyan,\n darkgoldenrod,\n darkgray,\n darkgreen,\n darkkhaki,\n darkmagenta,\n darkolivegreen,\n darkorange,\n darkorchid,\n darkred,\n darksalmon,\n darkseagreen,\n darkslateblue,\n darkslategray,\n darkturquoise,\n darkviolet,\n deeppink,\n deepskyblue,\n dimgray,\n dodgerblue,\n firebrick,\n floralwhite,\n forestgreen,\n fuchsia,\n gainsboro,\n ghostwhite,\n gold,\n goldenrod,\n gray,\n green,\n greenyellow,\n honeydew,\n hotpink,\n indianred,\n indigo,\n ivory,\n khaki,\n lavender,\n lavenderblush,\n lawngreen,\n lemonchiffon,\n lightblue,\n lightcoral,\n lightcyan,\n lightgoldenrodyellow,\n lightgrey,\n lightgreen,\n lightpink,\n lightsalmon,\n lightseagreen,\n lightskyblue,\n lightslategray,\n lightsteelblue,\n lightyellow,\n lime,\n limegreen,\n linen,\n magenta,\n maroon,\n mediumaquamarine,\n mediumblue,\n mediumorchid,\n mediumpurple,\n mediumseagreen,\n mediumslateblue,\n mediumspringgreen,\n mediumturquoise,\n mediumvioletred,\n midnightblue,\n mintcream,\n mistyrose,\n moccasin,\n navajowhite,\n navy,\n oldlace,\n olive,\n olivedrab,\n orange,\n orangered,\n orchid,\n palegoldenrod,\n palegreen,\n paleturquoise,\n palevioletred,\n papayawhip,\n peachpuff,\n peru,\n pink,\n plum,\n powderblue,\n purple,\n red,\n rosybrown,\n royalblue,\n saddlebrown,\n salmon,\n sandybrown,\n seagreen,\n seashell,\n sienna,\n silver,\n skyblue,\n slateblue,\n slategray,\n snow,\n springgreen,\n steelblue,\n tan,\n teal,\n thistle,\n tomato,\n turquoise,\n violet,\n wheat,\n white,\n whitesmoke,\n yellow,\n yellowgreen,\n}\n\nexport function isValidColor(color: string) {\n const hexRegex = new RegExp('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$');\n const isValidHex = hexRegex.test(color);\n const isValidCSSColorName = !!ValidColorNames[color];\n return isValidHex || isValidCSSColorName;\n}\n\nexport function getCSSProperty(\n name: string,\n containerStyles: CSSStyleDeclaration,\n hostElementStyles: CSSStyleDeclaration\n) {\n if (!name) return;\n let fallback;\n if (name.startsWith('var(') && name.endsWith(')')) {\n const regExp = /var\\((.*)\\)/g;\n const result = regExp.exec(name);\n const split = result.length >= 2 ? result[1].split(',') : [];\n name = split[0];\n fallback = split[1];\n }\n\n let result = containerStyles.getPropertyValue(name).trim();\n if (!result) result = hostElementStyles.getPropertyValue(name).trim();\n return result || fallback;\n}\n\nexport function formatValue(value: number, format?: NumberFormatOptions) {\n const valueAsFloat = parseFloat(value.toString());\n if (isNaN(valueAsFloat)) return;\n\n const decimals = isNaN(+format.decimals) ? 0 : +format.decimals;\n\n if (format.type === 'currency') {\n return Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals,\n }).format(valueAsFloat);\n } else {\n return Intl.NumberFormat('en-US').format(valueAsFloat);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage, E2EPage } from '@stencil/core/testing';\nimport { IDict } from '@/util';\nimport { E2EElement, NewE2EPageOptions } from '@stencil/core/testing/puppeteer/puppeteer-declarations';\nimport { removeTimezoneOffset } from '../components/q2-calendar/q2-calendar-helpers';\nimport { AxePuppeteer } from '@axe-core/puppeteer';\nimport { NewSpecPageOptions } from '@stencil/core/internal';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { getAllText } from '.';\n\ninterface PasteInit extends EventInit {\n pastedValue: string;\n}\n\ntype EventInitType =\n | EventInit\n | KeyboardEventInit\n | MouseEventInit\n | FocusEventInit\n | CustomEventInit\n | PasteInit\n | ClipboardEventInit;\nexport async function dispatchEvent(\n page: E2EPage,\n selectors: string | string[],\n eventType: string,\n eventInit?: EventInitType\n) {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n\n await page.evaluate(\n (passedSelectors: string[], passedEventType: string, passedEventInit: EventInitType) => {\n const eventTypeDict = {\n change: CustomEvent,\n input: CustomEvent,\n keydown: KeyboardEvent,\n keyup: KeyboardEvent,\n focus: FocusEvent,\n blur: FocusEvent,\n click: MouseEvent,\n mousedown: MouseEvent,\n animationStart: AnimationEvent,\n animationEnd: AnimationEvent,\n slotchange: Event,\n load: Event,\n paste: ClipboardEvent,\n };\n\n let eventInit = passedEventInit;\n if (passedEventType === 'paste' && 'pastedValue' in passedEventInit) {\n const clipboardData = new DataTransfer();\n clipboardData.getData = () => (passedEventInit as PasteInit).pastedValue;\n eventInit = {\n bubbles: true,\n clipboardData,\n };\n }\n\n const EventTypeInit = eventTypeDict[passedEventType] || Event;\n const [first, ...rest] = passedSelectors;\n let itemElement = document.querySelector(first);\n const rootElement = itemElement;\n if (rest.length) {\n itemElement = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), itemElement);\n }\n\n itemElement?.dispatchEvent(new EventTypeInit(passedEventType, eventInit));\n\n if (passedEventType === 'paste' && 'pastedValue' in passedEventInit) {\n if (rootElement.getAttribute('type') !== 'currency') {\n (itemElement as HTMLInputElement).value =\n (itemElement as HTMLInputElement).value + passedEventInit.pastedValue;\n itemElement && itemElement.dispatchEvent(new InputEvent('input'));\n }\n }\n },\n selectors,\n eventType,\n eventInit\n );\n\n await page.waitForChanges();\n}\n\nexport async function setTestStrings(page: E2EPage, strings: IDict<string>) {\n await page.evaluate(function (strings) {\n this.TEST_STRINGS = strings;\n }, strings);\n}\n\nexport async function promiseMap<T>(arr: T[], fn: (...args: any[]) => any) {\n const promises = arr.map(fn);\n\n return Promise.all(promises);\n}\n\n/**\n * Waits for a specified amount of time.\n *\n * Please use this function sparingly, as it can slow down tests.\n */\nexport async function waitForTimeout(timeout: number) {\n return new Promise(resolve => setTimeout(resolve, timeout));\n}\n\nexport function offsetTimezone(date: string) {\n return removeTimezoneOffset(new Date(date)).toISOString();\n}\n\nexport async function setup(pageOptions?: NewE2EPageOptions) {\n const page = await newE2EPage(pageOptions);\n\n await page.evaluate(function () {\n this.TectonElements = this.TectonElements || {};\n this.TectonElements.loc = (key: string, subs?: string[] | IDict<string>) => {\n const string = (this.TEST_STRINGS && this.TEST_STRINGS[key]) || key;\n\n if (Array.isArray(subs)) {\n const regex = /({[0-9]})/g;\n return string.replace(regex, match => {\n return subs[parseInt(match[1])];\n });\n } else if (typeof subs === 'object') {\n return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);\n }\n\n return string;\n };\n });\n\n await page.waitForChanges();\n\n return page;\n}\n\n/**\n * Converts an object to a string of HTML attributes.\n *\n * @param obj - The object to convert, where keys are attribute names and values are attribute values.\n * @returns A string representing the HTML attributes.\n *\n * @example\n * const attributes = objectToHTMLAttributes({ id: 'my-element', class: 'my-class', 'data-value': '123' });\n * console.log(attributes); // Output: \"id='my-element' class='my-class' data-value='123'\"\n */\nexport function objectToHTMLAttributes(obj) {\n return Object.entries(obj)\n .map(([key, value]) => `${key}='${value}'`)\n .join(' ');\n}\n\n/**\n * Sets up a new Spec Page with localization capabilities for testing.\n *\n * @param pageOptions - Configuration options for the new Spec Page.\n * @param testStrings - Optional dictionary of test strings for localization.\n * @returns A promise that resolves to the configured Spec Page.\n *\n * This function initializes a new Spec Page and sets up the `TectonElements`\n * object for localization testing. It also sets the provided test strings for\n * localization and reloads the page to ensure the new `TectonElements` object\n * is available.\n *\n * @note This method doesn't work with `NewSpecPageOptions.template`\n * property. If you need to use that, please use `newSpecPage` directly.\n */\nexport async function setupSpecPageWithLoc(pageOptions: NewSpecPageOptions, testStrings?: IDict<string>) {\n const page = await newSpecPage(pageOptions);\n await page.waitForChanges();\n\n // Setup the TectonElements object for localization testing\n const specWindow = page.win as Window & {\n TectonElements: { loc: (key: string, subs?: string[] | IDict<string>) => string };\n TEST_STRINGS: IDict<string>;\n };\n specWindow.TectonElements = {\n loc: (key: string, subs?: string[] | IDict<string>) => {\n const string = (specWindow.TEST_STRINGS && specWindow.TEST_STRINGS[key]) || key;\n\n if (Array.isArray(subs)) {\n const regex = /({[0-9]})/g;\n return string.replace(regex, match => {\n return subs[parseInt(match[1])];\n });\n } else if (typeof subs === 'object') {\n return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);\n }\n\n return string;\n },\n resizeIframe: () => {},\n resolveMenu: async () => {\n return [];\n },\n navigateTo: () => {},\n showOverpanel: async <T>(): Promise<T> => {\n return {} as T;\n },\n };\n\n // Set the test strings\n specWindow.TEST_STRINGS = testStrings || {};\n\n // Reload the page to ensure the new TectonElements object is available\n await page.setContent(page.body.innerHTML);\n\n return page;\n}\n\nexport function setWindowHeight(height: number) {\n Object.defineProperty(window, 'innerHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n\n window.dispatchEvent(new Event('resize'));\n\n expect(window.innerHeight).toBe(height);\n}\n\nexport function makeDomRect(customAttributes) {\n const defaults = {\n bottom: 0,\n height: 50,\n width: 50,\n left: 40,\n right: 0,\n top: 0,\n x: 0,\n y: 0,\n toJSON: () => ({}),\n };\n return { ...defaults, ...customAttributes };\n}\nexport const base64Image =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=';\n\nexport async function getActiveElementTestId(page: E2EPage) {\n return page.$eval(\n 'body',\n () =>\n (document.activeElement.shadowRoot?.activeElement ?? document.activeElement).getAttribute('test-id') ?? null\n );\n}\n\nexport const getFocusedOptionValue = async (page: E2EPage) => {\n await page.waitForSelector('q2-option:focus');\n return page.$eval('body', () => document.activeElement.getAttribute('value'));\n};\n\nexport const getFocusedTagName = async (page: E2EPage) => {\n return page.$eval('body', () => document.activeElement?.tagName);\n};\n\nexport async function getFocusedAttribute(page: E2EPage, attribute: string) {\n return page.$eval(\n 'body',\n (_, attribute: string) => {\n const activeElement = document.activeElement.shadowRoot?.activeElement ?? document.activeElement;\n return activeElement?.getAttribute(attribute) ?? null;\n },\n attribute\n );\n}\n\nexport const testDeprecatedAriaLabel = async (element: E2EElement, label: string = 'My Label') => {\n expect(element).toEqualAttribute('label', label);\n const hasHideLabelProp = typeof (await element.getProperty('hideLabel')) !== 'undefined';\n if (hasHideLabelProp) expect(element).toHaveAttribute('hide-label');\n expect(await element.getProperty('ariaLabel')).toBeUndefined();\n};\n\nexport const getListOfStyleCompilationIssues = async (page: E2EPage, selector: string) => {\n return page.$eval(selector, el => {\n interface ShadowRootShim extends ShadowRoot {\n adoptedStyleSheets: CSSStyleSheet[];\n }\n const adoptedStyleSheets = (el.shadowRoot as ShadowRootShim).adoptedStyleSheets;\n const result = adoptedStyleSheets.reduce((accum, styleSheet) => {\n Array.from(styleSheet.cssRules).forEach(rule => {\n const hasVarList = rule.cssText.includes('var-list(');\n const hasVarPrefixer = rule.cssText.includes('var-prefixer(');\n if (hasVarList || hasVarPrefixer) accum.push((rule as any).selectorText);\n });\n return accum;\n }, []);\n\n if (!!result.length) {\n // eslint-disable-next-line no-console\n console.log(`The following selectors have compilation issues: ${result.join(', ')}`);\n }\n\n return result;\n });\n};\n\nexport const getNestedElementProperty = async (page: E2EPage, selectors: string | string[], prop: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.evaluate(\n (selectors: string[], prop: string) => {\n const [first, ...rest] = selectors;\n let element = document.querySelector(first);\n if (rest.length) {\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n }\n return element[prop];\n },\n selectors,\n prop\n );\n};\n\nexport const getNestedElementAttribute = async (page: E2EPage, selectors: string | string[], attribute: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element, selectors: string[], attribute: string) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n return element.getAttribute(attribute);\n },\n selectors,\n attribute\n );\n};\n\nexport const getNestedElementStyle = async (page: E2EPage, selectors: string | string[], attribute: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element, selectors: string[], attribute: string) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n const elementStyle = window.getComputedStyle(element);\n return elementStyle[attribute];\n },\n selectors,\n attribute\n );\n};\n\nexport const getNestedAssignedElementLength = async (page: E2EPage, selectors: string | string[]) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element: HTMLElement, selectors: string[]) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n return (element as HTMLSlotElement)?.assignedElements?.().length ?? undefined;\n },\n selectors\n );\n};\n\nexport const evaluateA11y = async (page: any, ...args: string[]) => {\n // Configuration\n const config = {\n detailLevel: args.includes('verbose') ? 'verbose' : 'default',\n testType: args.includes('webpage') ? 'webpage' : 'component',\n disabledRulesForComponents: [\n 'document-title',\n 'html-has-lang',\n 'landmark-one-main',\n 'page-has-heading-one',\n 'region',\n ],\n };\n\n // Set disabled rules based on test type\n const disabledRules = config.testType === 'webpage' ? [] : config.disabledRulesForComponents;\n\n try {\n // Run analysis\n const analysisResults = await new AxePuppeteer(page).disableRules(disabledRules).analyze();\n const { violations } = analysisResults;\n\n if (!violations.length) return false;\n\n // Return full violations if verbose mode is requested\n if (config.detailLevel === 'verbose') return violations;\n\n // Process violations for default detail level\n return violations.reduce((responseObj, violation) => {\n const { nodes, help, helpUrl, id } = violation;\n const node = nodes[0];\n\n // Create violation info object\n responseObj[id] = {\n help,\n helpUrl,\n failureSummary: node.failureSummary,\n html: node.html,\n rulesViolated: node.any.reduce((rules, rule) => {\n rules[rule.id] = rule.message;\n return rules;\n }, {}),\n };\n\n return responseObj;\n }, {});\n } catch (error) {\n console.error(`There was an error with AxePuppeteer analysis. ERROR: ${error}`);\n }\n};\n\n/**\n * This function mocks the fetch API to return a resolved promise with the given icon markup.\n * You can optionally provide a <symbol> element, but it is not required.\n *\n * This is meant to be used to prevent errors on Unit/Spec tests with <q2-icon> because we are unable to provide a valid\n * URL for the fetch call in that context.\n *\n * @note This function should be called before the component is rendered.\n * @note Be sure to call `jest.restoreAllMocks()` after the test to restore the original fetch function.\n */\nexport const mockIconFetch = (iconMarkup?: string) => {\n const spy = jest.spyOn(global, 'fetch');\n const mockResponse = new Response(`<svg>${iconMarkup}</svg>`, {\n status: 200,\n statusText: 'OK',\n headers: new Headers(),\n });\n spy.mockResolvedValue(mockResponse);\n return spy;\n};\n\n// For E2E tests with Puppeteer\ndeclare global {\n interface Window {\n getAllText: (element: Element, options: any) => Promise<string>;\n }\n}\n\n/**\n * Mimicks the behavior of the {@link getAllText} utility function, with a few extractions to simplify usage.\n * @param {E2EPage} page\n * @param {string} selector\n * @param {Object} options\n * @returns {Promise<string>}\n */\nexport const getAllElementTextE2E = async (page: E2EPage, selector: string, options = {}) => {\n // Wait for element\n await page.waitForSelector(selector);\n\n // First inject the utility function\n await page.evaluate(`\n window.getAllText = ${getAllText.toString()};\n `);\n\n await page.waitForChanges();\n\n // Then use it\n return page.evaluate(\n async (selector: string, stringifiedOptions) => {\n const element = document.querySelector(selector);\n if (!element) return null;\n\n const options = JSON.parse(stringifiedOptions);\n return await window.getAllText(element, options);\n },\n selector,\n JSON.stringify({ ...options, skipComponentReady: true })\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/utils/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage, E2EPage } from '@stencil/core/testing';\nimport { IDict } from '@/util';\nimport { E2EElement, NewE2EPageOptions } from '@stencil/core/testing/puppeteer/puppeteer-declarations';\nimport { removeTimezoneOffset } from '../components/q2-calendar/q2-calendar-helpers';\nimport { AxePuppeteer } from '@axe-core/puppeteer';\nimport { NewSpecPageOptions } from '@stencil/core/internal';\nimport { newSpecPage } from '@stencil/core/testing';\nimport { getAllText } from '.';\n\ninterface PasteInit extends EventInit {\n pastedValue: string;\n}\n\ntype EventInitType =\n | EventInit\n | KeyboardEventInit\n | MouseEventInit\n | FocusEventInit\n | CustomEventInit\n | PasteInit\n | ClipboardEventInit;\nexport async function dispatchEvent(\n page: E2EPage,\n selectors: string | string[],\n eventType: string,\n eventInit?: EventInitType\n) {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n\n await page.evaluate(\n (passedSelectors: string[], passedEventType: string, passedEventInit: EventInitType) => {\n const eventTypeDict = {\n change: CustomEvent,\n input: CustomEvent,\n keydown: KeyboardEvent,\n keyup: KeyboardEvent,\n focus: FocusEvent,\n blur: FocusEvent,\n click: MouseEvent,\n mousedown: MouseEvent,\n animationStart: AnimationEvent,\n animationEnd: AnimationEvent,\n slotchange: Event,\n load: Event,\n paste: ClipboardEvent,\n };\n\n let eventInit = passedEventInit;\n if (passedEventType === 'paste' && 'pastedValue' in passedEventInit) {\n const clipboardData = new DataTransfer();\n clipboardData.getData = () => (passedEventInit as PasteInit).pastedValue;\n eventInit = {\n bubbles: true,\n clipboardData,\n };\n }\n\n const EventTypeInit = eventTypeDict[passedEventType] || Event;\n const [first, ...rest] = passedSelectors;\n let itemElement = document.querySelector(first);\n const rootElement = itemElement;\n if (rest.length) {\n itemElement = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), itemElement);\n }\n\n itemElement?.dispatchEvent(new EventTypeInit(passedEventType, eventInit));\n\n if (passedEventType === 'paste' && 'pastedValue' in passedEventInit) {\n if (rootElement.getAttribute('type') !== 'currency') {\n (itemElement as HTMLInputElement).value =\n (itemElement as HTMLInputElement).value + passedEventInit.pastedValue;\n itemElement && itemElement.dispatchEvent(new InputEvent('input'));\n }\n }\n },\n selectors,\n eventType,\n eventInit\n );\n\n await page.waitForChanges();\n}\n\nexport async function setTestStrings(page: E2EPage, strings: IDict<string>) {\n await page.evaluate(function (strings) {\n this.TEST_STRINGS = strings;\n }, strings);\n}\n\nexport async function promiseMap<T>(arr: T[], fn: (...args: any[]) => any) {\n const promises = arr.map(fn);\n\n return Promise.all(promises);\n}\n\n/**\n * Waits for a specified amount of time.\n *\n * Please use this function sparingly, as it can slow down tests.\n */\nexport async function waitForTimeout(timeout: number) {\n return new Promise(resolve => setTimeout(resolve, timeout));\n}\n\nexport function offsetTimezone(date: string) {\n return removeTimezoneOffset(new Date(date)).toISOString();\n}\n\nexport async function setup(pageOptions?: NewE2EPageOptions) {\n const page = await newE2EPage(pageOptions);\n\n await page.evaluate(function () {\n this.TectonElements = this.TectonElements || {};\n this.TectonElements.loc = (key: string, subs?: string[] | IDict<string>) => {\n const string = (this.TEST_STRINGS && this.TEST_STRINGS[key]) || key;\n\n if (Array.isArray(subs)) {\n const regex = /({[0-9]})/g;\n return string.replace(regex, match => {\n return subs[parseInt(match[1])];\n });\n } else if (typeof subs === 'object') {\n return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);\n }\n\n return string;\n };\n });\n\n await page.waitForChanges();\n\n return page;\n}\n\n/**\n * Converts an object to a string of HTML attributes.\n *\n * @param obj - The object to convert, where keys are attribute names and values are attribute values.\n * @returns A string representing the HTML attributes.\n *\n * @example\n * const attributes = objectToHTMLAttributes({ id: 'my-element', class: 'my-class', 'data-value': '123' });\n * console.log(attributes); // Output: \"id='my-element' class='my-class' data-value='123'\"\n */\nexport function objectToHTMLAttributes(obj) {\n return Object.entries(obj)\n .map(([key, value]) => `${key}='${value}'`)\n .join(' ');\n}\n\n/**\n * Sets up a new Spec Page with localization capabilities for testing.\n *\n * @param pageOptions - Configuration options for the new Spec Page.\n * @param testStrings - Optional dictionary of test strings for localization.\n * @returns A promise that resolves to the configured Spec Page.\n *\n * This function initializes a new Spec Page and sets up the `TectonElements`\n * object for localization testing. It also sets the provided test strings for\n * localization and reloads the page to ensure the new `TectonElements` object\n * is available.\n *\n * @note This method doesn't work with `NewSpecPageOptions.template`\n * property. If you need to use that, please use `newSpecPage` directly.\n */\nexport async function setupSpecPageWithLoc(pageOptions: NewSpecPageOptions, testStrings?: IDict<string>) {\n const page = await newSpecPage(pageOptions);\n await page.waitForChanges();\n\n // Setup the TectonElements object for localization testing\n const specWindow = page.win as Window & {\n TectonElements: { loc: (key: string, subs?: string[] | IDict<string>) => string };\n TEST_STRINGS: IDict<string>;\n };\n specWindow.TectonElements = {\n loc: (key: string, subs?: string[] | IDict<string>) => {\n const string = (specWindow.TEST_STRINGS && specWindow.TEST_STRINGS[key]) || key;\n\n if (Array.isArray(subs)) {\n const regex = /({[0-9]})/g;\n return string.replace(regex, match => {\n return subs[parseInt(match[1])];\n });\n } else if (typeof subs === 'object') {\n return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);\n }\n\n return string;\n },\n resizeIframe: () => {},\n resolveMenu: async () => {\n return [];\n },\n navigateTo: () => {},\n showOverpanel: async <T>(): Promise<T> => {\n return {} as T;\n },\n };\n\n // Set the test strings\n specWindow.TEST_STRINGS = testStrings || {};\n\n // Reload the page to ensure the new TectonElements object is available\n await page.setContent(page.body.innerHTML);\n\n return page;\n}\n\nexport function setWindowHeight(height: number) {\n Object.defineProperty(window, 'innerHeight', {\n writable: true,\n configurable: true,\n value: height,\n });\n\n window.dispatchEvent(new Event('resize'));\n\n expect(window.innerHeight).toBe(height);\n}\n\nexport function makeDomRect(customAttributes) {\n const defaults = {\n bottom: 0,\n height: 50,\n width: 50,\n left: 40,\n right: 0,\n top: 0,\n x: 0,\n y: 0,\n toJSON: () => ({}),\n };\n return { ...defaults, ...customAttributes };\n}\nexport const base64Image =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=';\n\nexport async function getActiveElementTestId(page: E2EPage) {\n return page.$eval(\n 'body',\n () =>\n (document.activeElement.shadowRoot?.activeElement ?? document.activeElement).getAttribute('test-id') ?? null\n );\n}\n\nexport const getFocusedOptionValue = async (page: E2EPage) => {\n await page.waitForSelector('q2-option:focus');\n return page.$eval('body', () => document.activeElement.getAttribute('value'));\n};\n\nexport const getFocusedTagName = async (page: E2EPage) => {\n return page.$eval('body', () => document.activeElement?.tagName);\n};\n\nexport async function getFocusedAttribute(page: E2EPage, attribute: string) {\n return page.$eval(\n 'body',\n (_, attribute: string) => {\n const activeElement = document.activeElement.shadowRoot?.activeElement ?? document.activeElement;\n return activeElement?.getAttribute(attribute) ?? null;\n },\n attribute\n );\n}\n\nexport const testDeprecatedAriaLabel = async (element: E2EElement, label: string = 'My Label') => {\n expect(element).toEqualAttribute('label', label);\n const hasHideLabelProp = typeof (await element.getProperty('hideLabel')) !== 'undefined';\n if (hasHideLabelProp) expect(element).toHaveAttribute('hide-label');\n expect(await element.getProperty('ariaLabel')).toBeUndefined();\n};\n\nexport const getListOfStyleCompilationIssues = async (page: E2EPage, selector: string) => {\n return page.$eval(selector, el => {\n interface ShadowRootShim extends ShadowRoot {\n adoptedStyleSheets: CSSStyleSheet[];\n }\n const adoptedStyleSheets = (el.shadowRoot as ShadowRootShim).adoptedStyleSheets;\n const result = adoptedStyleSheets.reduce((accum, styleSheet) => {\n Array.from(styleSheet.cssRules).forEach(rule => {\n const hasVarList = rule.cssText.includes('var-list(');\n const hasVarPrefixer = rule.cssText.includes('var-prefixer(');\n if (hasVarList || hasVarPrefixer) accum.push((rule as any).selectorText);\n });\n return accum;\n }, []);\n\n if (!!result.length) {\n // eslint-disable-next-line no-console\n console.log(`The following selectors have compilation issues: ${result.join(', ')}`);\n }\n\n return result;\n });\n};\n\nexport const getNestedElementProperty = async (page: E2EPage, selectors: string | string[], prop: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.evaluate(\n (selectors: string[], prop: string) => {\n const [first, ...rest] = selectors;\n let element = document.querySelector(first);\n if (rest.length) {\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n }\n return element[prop];\n },\n selectors,\n prop\n );\n};\n\nexport const getNestedElementAttribute = async (page: E2EPage, selectors: string | string[], attribute: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element, selectors: string[], attribute: string) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n return element.getAttribute(attribute);\n },\n selectors,\n attribute\n );\n};\n\nexport const getNestedElementStyle = async (page: E2EPage, selectors: string | string[], attribute: string) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element, selectors: string[], attribute: string) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n const elementStyle = window.getComputedStyle(element);\n return elementStyle[attribute];\n },\n selectors,\n attribute\n );\n};\n\nexport const getNestedAssignedElementLength = async (page: E2EPage, selectors: string | string[]) => {\n if (typeof selectors === 'string') {\n selectors = [selectors];\n }\n return page.$eval(\n 'body',\n (element: HTMLElement, selectors: string[]) => {\n const [first, ...rest] = selectors;\n element = document.querySelector(first);\n element = rest.reduce((acc, selector) => acc.shadowRoot.querySelector(selector), element);\n return (element as HTMLSlotElement)?.assignedElements?.().length ?? undefined;\n },\n selectors\n );\n};\n\nexport const evaluateA11y = async (page: any, ...args: string[]) => {\n // Configuration\n const config = {\n detailLevel: args.includes('verbose') ? 'verbose' : 'default',\n testType: args.includes('webpage') ? 'webpage' : 'component',\n disabledRulesForComponents: [\n 'document-title',\n 'html-has-lang',\n 'landmark-one-main',\n 'page-has-heading-one',\n 'region',\n ],\n };\n\n // Set disabled rules based on test type\n const disabledRules = config.testType === 'webpage' ? [] : config.disabledRulesForComponents;\n\n try {\n // Run analysis\n const analysisResults = await new AxePuppeteer(page).disableRules(disabledRules).analyze();\n const { violations } = analysisResults;\n\n if (!violations.length) return false;\n\n // Return full violations if verbose mode is requested\n if (config.detailLevel === 'verbose') return violations;\n\n // Process violations for default detail level\n return violations.reduce((responseObj, violation) => {\n const { nodes, help, helpUrl, id } = violation;\n const node = nodes[0];\n\n // Create violation info object\n responseObj[id] = {\n help,\n helpUrl,\n failureSummary: node.failureSummary,\n html: node.html,\n rulesViolated: node.any.reduce((rules, rule) => {\n rules[rule.id] = rule.message;\n return rules;\n }, {}),\n };\n\n return responseObj;\n }, {});\n } catch (error) {\n console.error(`There was an error with AxePuppeteer analysis. ERROR: ${error}`);\n }\n};\n\n/**\n * This function mocks the fetch API to return a resolved promise with the given icon markup.\n * You can optionally provide a <symbol> element, but it is not required.\n *\n * This is meant to be used to prevent errors on Unit/Spec tests with <q2-icon> because we are unable to provide a valid\n * URL for the fetch call in that context.\n *\n * @note This function should be called before the component is rendered.\n * @note Be sure to call `jest.restoreAllMocks()` after the test to restore the original fetch function.\n */\nexport const mockIconFetch = (iconMarkup?: string) => {\n const spy = jest.spyOn(global, 'fetch');\n const mockResponse = new Response(`<svg>${iconMarkup}</svg>`, {\n status: 200,\n statusText: 'OK',\n headers: new Headers(),\n });\n spy.mockResolvedValue(mockResponse);\n return spy;\n};\n\n// For E2E tests with Puppeteer\ndeclare global {\n interface Window {\n getAllText: (element: Element, options: any) => Promise<string>;\n }\n}\n\n/**\n * Mimicks the behavior of the {@link getAllText} utility function, with a few extractions to simplify usage.\n * @param {E2EPage} page\n * @param {string} selector\n * @param {Object} options\n * @returns {Promise<string>}\n */\nexport const getAllElementTextE2E = async (page: E2EPage, selector: string, options = {}) => {\n // Wait for element\n await page.waitForSelector(selector);\n\n // First inject the utility function\n await page.evaluate(`\n window.getAllText = ${getAllText.toString()};\n `);\n\n await page.waitForChanges();\n\n // Then use it\n return page.evaluate(\n async (selector: string, stringifiedOptions) => {\n const element = document.querySelector(selector);\n if (!element) return null;\n\n const options = JSON.parse(stringifiedOptions);\n return await window.getAllText(element, options);\n },\n selector,\n JSON.stringify({ ...options, skipComponentReady: true })\n );\n};\n"]}
|