q2-tecton-elements 1.49.2 → 1.50.1
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 +2 -2
- package/dist/cjs/{index-42fcd170.js → index-43010ce4.js} +1 -1
- package/dist/cjs/{index-42fcd170.js.map → index-43010ce4.js.map} +1 -1
- package/dist/cjs/index-64d8b839.js +1580 -0
- package/dist/cjs/index-64d8b839.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +5 -5
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/{q2-input.cjs.entry.js → q2-badge_7.cjs.entry.js} +1284 -3
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
- package/dist/cjs/q2-calendar.cjs.entry.js.map +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-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +131 -149
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +62 -2
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +11 -13
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +62 -58
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +4 -4
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +3 -3
- package/dist/cjs/q2-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option-list.cjs.entry.js +13 -11
- package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
- package/dist/cjs/q2-pill.cjs.entry.js +95 -36
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio.cjs.entry.js +2 -2
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-section.cjs.entry.js +4 -4
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +19 -18
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- 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 +33 -6
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +7 -8
- package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
- package/dist/{test/elements → collection/components/click-elsewhere/test}/click-elsewhere-test.e2e.js +1 -1
- package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +5 -5
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-action-sheet/test}/q2-action-sheet-test.e2e.js +29 -1
- package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-avatar/test}/q2-avatar-test.e2e.js +1 -1
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-badge/q2-badge.js +0 -1
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-badge/test}/q2-badge-test.e2e.js +1 -1
- package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-btn/q2-btn.css +1 -0
- package/dist/collection/components/q2-btn/q2-btn.js +3 -15
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-btn/test}/q2-btn-test.e2e.js +36 -1
- package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -0
- 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 +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/{test/elements/q2-calendar → collection/components/q2-calendar/test}/helpers-test.e2e.js +2 -2
- package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-calendar/test}/q2-calendar-month-picker-test.e2e.js +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-calendar/test}/q2-calendar-test.e2e.js +3 -3
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -0
- package/dist/{test/elements/q2-calendar → collection/components/q2-calendar/test}/validation-test.e2e.js +2 -2
- package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-card/test}/q2-card-test.e2e.js +1 -1
- package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-carousel/q2-carousel.js +190 -164
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-carousel/test}/q2-carousel-test.e2e.js +175 -188
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +5 -5
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-carousel-pane/test}/q2-carousel-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-carousel-pane/test}/q2-carousel-pane-test.spec.js +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -0
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +20 -20
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-chart-area/test}/q2-chart-area-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +20 -20
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-chart-bar/test}/q2-chart-bar-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-chart-donut/test}/q2-chart-donut-test.e2e.js +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-checkbox/test}/q2-checkbox-test.e2e.js +1 -1
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-checkbox-group/test}/q2-checkbox-group-test.e2e.js +1 -1
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-currency/test}/q2-currency-test.e2e.js +2 -2
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +240 -7
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-data-table/test}/q2-data-table-test.e2e.js +64 -2
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -0
- 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/{test/elements/q2-detail → collection/components/q2-detail/test}/q2-detail-test.e2e.js +3 -3
- package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +65 -57
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-dropdown/test}/q2-dropdown-test.e2e.js +165 -120
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +10 -12
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-dropdown-item/test}/q2-dropdown-item-test.e2e.js +5 -13
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +3 -3
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-editable-field/test}/q2-editable-field-test.e2e.js +1 -4
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-icon/test}/q2-icon-test.e2e.js +2 -2
- package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.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/date.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/phone.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.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 +2 -2
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-input/test}/q2-input-credit-card-test.e2e.js +1 -1
- package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-input/test}/q2-input-test.e2e.js +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.css +3 -3
- 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/{test/elements → collection/components/q2-item/test}/q2-item-test.e2e.js +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-item/test}/q2-item-test.spec.js +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -0
- package/dist/collection/components/q2-legend/q2-legend.css +6 -6
- 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/{test/elements → collection/components/q2-legend/test}/q2-legend-test.e2e.js +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-legend/test}/q2-legend-test.spec.js +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -0
- 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/{test/elements/q2-detail → collection/components/q2-list/test}/q2-list-test.e2e.js +1 -1
- package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-loading/test}/q2-loading-element-test.e2e.js +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-loading/test}/q2-loading-test.e2e.js +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-loc/test}/q2-loc-test.e2e.js +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-message/test}/q2-message-test.e2e.js +1 -1
- package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-optgroup/test}/q2-optgroup-test.e2e.js +1 -1
- package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-option/test}/q2-option-test.e2e.js +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-option-list/q2-option-list.js +15 -13
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-option-list/test}/q2-option-list-test.e2e.js +1 -1
- package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-pagination/test}/q2-pagination-test.e2e.js +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-pill/q2-pill.js +172 -37
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-pill/test}/q2-pill-test.e2e.js +484 -392
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-popover/test}/q2-popover-test.e2e.js +2 -2
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -0
- package/dist/{test/elements → collection/components/q2-popover/test}/q2-popover-test.spec.js +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -0
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-radio/test}/q2-radio-test.e2e.js +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-radio-group/test}/q2-radio-group-test.e2e.js +1 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-relative-time/test}/q2-relative-time-test.e2e.js +2 -2
- package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-section/q2-section.css +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/{test/elements → collection/components/q2-section/test}/q2-section-test.e2e.js +12 -7
- package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-select/q2-select.js +18 -17
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-select/test}/q2-select-test.e2e.js +20 -2
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.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/{test/elements → collection/components/q2-stepper/test}/q2-stepper-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-stepper-pane/test}/q2-stepper-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/q2-stepper-vertical/test}/q2-stepper-vertical-test.e2e.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +21 -20
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tab-container/test}/q2-tab-container-test.e2e.js +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js +54 -0
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -0
- 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/{test/elements → collection/components/q2-tab-pane/test}/q2-tab-pane-test.e2e.js +1 -1
- package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tag/q2-tag.js +92 -6
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tag/test}/q2-tag-test.e2e.js +40 -8
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-textarea/test}/q2-textarea-test.e2e.js +1 -1
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/{test/elements → collection/components/q2-tooltip/test}/q2-tooltip-test.e2e.js +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -0
- 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/{test/elements → collection/components/tecton-tab-pane/test}/tecton-tab-pane-test.e2e.js +1 -1
- package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -0
- 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/{test → collection/utils}/helpers.js +1 -1
- package/dist/collection/utils/helpers.js.map +1 -0
- package/dist/collection/utils/index.js +9 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/{test/utils → collection/utils/test}/action-sheet-test.e2e.js +1 -1
- package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -0
- package/dist/{test/utils → collection/utils/test}/index.spec.js +1 -1
- package/dist/collection/utils/test/index.spec.js.map +1 -0
- package/dist/components/action-sheet.js +1 -1
- package/dist/components/index.js +0 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1355 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-sheet.js +5 -5
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js +6 -12
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +1 -1
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +133 -154
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-area.js +3 -3
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +4 -4
- package/dist/components/q2-chart-bar.js.map +1 -1
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox2.js +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-data-table.js +68 -2
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-dropdown-item2.js +10 -12
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +61 -57
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +3 -3
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-input2.js +2 -2
- package/dist/components/q2-item.js +2 -2
- package/dist/components/q2-item.js.map +1 -1
- package/dist/components/q2-legend2.js +2 -2
- package/dist/components/q2-legend2.js.map +1 -1
- package/dist/components/q2-list.js +1 -1
- package/dist/components/q2-loc.js +1 -1
- package/dist/components/q2-message2.js +2 -2
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option-list2.js +13 -11
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-pagination.js +2 -2
- package/dist/components/q2-pill.js +100 -38
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +2 -2
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio.js +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-section.js +3 -3
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select2.js +20 -19
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +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 +21 -20
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +38 -8
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/{action-sheet-dd527168.js → action-sheet-e64cb6f7.js} +2 -2
- package/dist/esm/{action-sheet-dd527168.js.map → action-sheet-e64cb6f7.js.map} +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +2 -2
- package/dist/esm/index-4a80972c.js +1556 -0
- package/dist/esm/index-4a80972c.js.map +1 -0
- package/dist/esm/{index-1c019b24.js → index-c6d74f10.js} +1 -1
- package/dist/esm/{index-1c019b24.js.map → index-c6d74f10.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +5 -5
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/{q2-input.entry.js → q2-badge_7.entry.js} +1280 -5
- package/dist/esm/q2-badge_7.entry.js.map +1 -0
- package/dist/esm/q2-calendar.entry.js +3 -3
- package/dist/esm/q2-calendar.entry.js.map +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-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +131 -149
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +3 -3
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +3 -3
- package/dist/esm/q2-chart-bar.entry.js.map +1 -1
- package/dist/esm/q2-chart-donut.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +62 -2
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js +11 -13
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +62 -58
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +4 -4
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-item.entry.js +3 -3
- package/dist/esm/q2-item.entry.js.map +1 -1
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-legend.entry.js.map +1 -1
- package/dist/esm/q2-list.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list.entry.js +13 -11
- package/dist/esm/q2-option-list.entry.js.map +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js +96 -37
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js +2 -2
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-section.entry.js +4 -4
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +20 -19
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- 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 +34 -7
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/{p-da711c59.entry.js → p-072c5877.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f6358905.entry.js → p-074ae80c.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-0a1dff75.entry.js +2 -0
- package/dist/q2-tecton-elements/p-0a1dff75.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-93680d12.entry.js → p-0a3a804a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-93680d12.entry.js.map → p-0a3a804a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-259b728a.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-77a763eb.entry.js.map → p-259b728a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js → p-2c26295e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js → p-2ca6d44f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js → p-2fcaf2d6.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-2fcaf2d6.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-0852e6fe.entry.js → p-34696e3f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-1e7fa870.entry.js → p-34856c71.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-34856c71.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-376a0589.entry.js +2 -0
- package/dist/q2-tecton-elements/p-376a0589.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-630613c7.entry.js → p-395904b4.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3b0d3cd4.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3b0d3cd4.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js → p-3c7be0bb.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3c7be0bb.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-403bf3d4.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-5037fa67.entry.js.map → p-403bf3d4.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-db79c056.entry.js → p-4116579f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e0a6baea.entry.js → p-45407ecc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js → p-58cafc0d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-4388e521.entry.js → p-5d936af5.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-6237c775.entry.js +2 -0
- package/dist/q2-tecton-elements/p-6237c775.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a177d812.entry.js → p-661ed976.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-da0cacef.entry.js → p-6b7c53a8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6c933b14.entry.js → p-6e6d9793.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-be518818.js → p-721365be.js} +1 -1
- package/dist/q2-tecton-elements/{p-a8e7e591.entry.js → p-77272c4c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-793a453e.entry.js → p-77a0cc0c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9c589ab3.entry.js → p-8111547c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-05b30f98.entry.js → p-8a4b106d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-8a4b106d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-9a1a4bc0.js +3 -0
- package/dist/q2-tecton-elements/p-9a1a4bc0.js.map +1 -0
- package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js +2 -0
- package/dist/q2-tecton-elements/p-a7a0b8aa.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-aa57b657.entry.js +2 -0
- package/dist/q2-tecton-elements/p-aa57b657.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-ad998f71.entry.js +2 -0
- package/dist/q2-tecton-elements/p-ad998f71.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-e3ad770b.entry.js → p-adec9275.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-adf0a7c9.entry.js +2 -0
- package/dist/q2-tecton-elements/p-adf0a7c9.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-b72fd065.entry.js +2 -0
- package/dist/q2-tecton-elements/p-b72fd065.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-780a1d0e.js → p-b7554a79.js} +2 -2
- package/dist/q2-tecton-elements/{p-40df4468.entry.js → p-c0c658d1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js → p-c81d299a.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-c81d299a.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-08176bd0.entry.js → p-cb3f48de.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2810ba28.entry.js → p-ce4e6b41.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-76b98623.entry.js → p-cf32b5db.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-cf966a0f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-cf966a0f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c5aac064.entry.js → p-d2e1631a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c5aac064.entry.js.map → p-d2e1631a.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-2e6669a7.entry.js → p-dc77bf66.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js → p-fffb54e9.entry.js} +2 -2
- 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/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +1 -2
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +323 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +36 -25
- package/dist/types/components/q2-carousel-pane/q2-carousel-pane.d.ts +3 -3
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -6
- package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +14 -14
- package/dist/types/components/q2-data-table/q2-data-table.d.ts +259 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +129 -0
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +50 -0
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
- package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
- package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
- package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -0
- package/dist/types/components/q2-pill/q2-pill.d.ts +128 -0
- package/dist/types/components/q2-select/q2-select.d.ts +232 -0
- package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
- package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +5 -5
- package/dist/types/components/q2-tag/q2-tag.d.ts +63 -0
- package/dist/types/components.d.ts +77 -33
- package/dist/types/utils/action-sheet.d.ts +12 -0
- package/dist/types/{workspace/workspace/tecton-production_release_1.49.x/packages/q2-tecton-elements/.stencil/test → utils}/helpers.d.ts +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/package.json +8 -6
- package/dist/cjs/index-a93362ed.js +0 -225
- package/dist/cjs/index-a93362ed.js.map +0 -1
- package/dist/cjs/q2-badge.cjs.entry.js +0 -52
- package/dist/cjs/q2-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +0 -237
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-icon.cjs.entry.js +0 -731
- package/dist/cjs/q2-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-input.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +0 -263
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +0 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js +0 -46
- package/dist/cjs/q2-tab-pane.cjs.entry.js.map +0 -1
- package/dist/cjs/slot-component.cjs.entry.js +0 -19
- package/dist/cjs/slot-component.cjs.entry.js.map +0 -1
- package/dist/components/slot-component.d.ts +0 -11
- package/dist/components/slot-component.js +0 -34
- package/dist/components/slot-component.js.map +0 -1
- package/dist/esm/index-3c5cd75e.js +0 -202
- package/dist/esm/index-3c5cd75e.js.map +0 -1
- package/dist/esm/q2-badge.entry.js +0 -48
- package/dist/esm/q2-badge.entry.js.map +0 -1
- package/dist/esm/q2-btn_2.entry.js +0 -232
- package/dist/esm/q2-btn_2.entry.js.map +0 -1
- package/dist/esm/q2-icon.entry.js +0 -727
- package/dist/esm/q2-icon.entry.js.map +0 -1
- package/dist/esm/q2-input.entry.js.map +0 -1
- package/dist/esm/q2-tab-container.entry.js +0 -259
- package/dist/esm/q2-tab-container.entry.js.map +0 -1
- package/dist/esm/q2-tab-pane.entry.js +0 -42
- package/dist/esm/q2-tab-pane.entry.js.map +0 -1
- package/dist/esm/slot-component.entry.js +0 -15
- package/dist/esm/slot-component.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-05b30f98.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1e7fa870.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-25bfe0b2.entry.js +0 -2
- package/dist/q2-tecton-elements/p-25bfe0b2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2bcb7e89.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-333a41ca.entry.js +0 -2
- package/dist/q2-tecton-elements/p-333a41ca.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4da4cb5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4da4cb5d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5037fa67.entry.js +0 -2
- package/dist/q2-tecton-elements/p-550881db.entry.js +0 -2
- package/dist/q2-tecton-elements/p-550881db.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5775b02b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5775b02b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-77a763eb.entry.js +0 -2
- package/dist/q2-tecton-elements/p-84190698.js +0 -2
- package/dist/q2-tecton-elements/p-84190698.js.map +0 -1
- package/dist/q2-tecton-elements/p-9e90a38a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-9e90a38a.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-9ecabc7a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-9ecabc7a.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a657277b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a657277b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b3322f94.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b3322f94.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-baa2eaa9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c8b4f5f7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c8b4f5f7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d78669df.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d78669df.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d8d9ba1f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dbfab45b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-dbfab45b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e44560d9.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e44560d9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ea7876eb.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ea7876eb.entry.js.map +0 -1
- package/dist/test/elements/click-elsewhere-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-action-sheet-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-avatar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-badge-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-btn-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar/helpers-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar/validation-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar-month-picker-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-calendar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-card-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-carousel-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-carousel-pane-test.spec.js.map +0 -1
- package/dist/test/elements/q2-carousel-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-currency-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-data-table-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/q2-detail-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/q2-list-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-detail/slot-component.js +0 -32
- package/dist/test/elements/q2-detail/slot-component.js.map +0 -1
- package/dist/test/elements/q2-dropdown-item-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-icon-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-input-credit-card-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-input-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-item-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-item-test.spec.js.map +0 -1
- package/dist/test/elements/q2-legend-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-legend-test.spec.js.map +0 -1
- package/dist/test/elements/q2-loading-element-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-loading-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-loc-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-message-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-optgroup-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-option-list-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-option-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-pagination-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-pill-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-popover-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-popover-test.spec.js.map +0 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-radio-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-relative-time-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-section-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-select-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-stepper-vertical-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tab-container-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tab-pane-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tag-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-textarea-test.e2e.js.map +0 -1
- package/dist/test/elements/q2-tooltip-test.e2e.js.map +0 -1
- package/dist/test/elements/tecton-tab-pane-test.e2e.js.map +0 -1
- package/dist/test/helpers.js.map +0 -1
- package/dist/test/utils/action-sheet-test.e2e.js.map +0 -1
- package/dist/test/utils/index.spec.js.map +0 -1
- package/dist/types/workspace/workspace/tecton-production_release_1.49.x/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -4
- /package/dist/q2-tecton-elements/{p-da711c59.entry.js.map → p-072c5877.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f6358905.entry.js.map → p-074ae80c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js.map → p-2c26295e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js.map → p-2ca6d44f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0852e6fe.entry.js.map → p-34696e3f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-630613c7.entry.js.map → p-395904b4.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-db79c056.entry.js.map → p-4116579f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e0a6baea.entry.js.map → p-45407ecc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js.map → p-58cafc0d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4388e521.entry.js.map → p-5d936af5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a177d812.entry.js.map → p-661ed976.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-da0cacef.entry.js.map → p-6b7c53a8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6c933b14.entry.js.map → p-6e6d9793.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-be518818.js.map → p-721365be.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a8e7e591.entry.js.map → p-77272c4c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-793a453e.entry.js.map → p-77a0cc0c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-9c589ab3.entry.js.map → p-8111547c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e3ad770b.entry.js.map → p-adec9275.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-780a1d0e.js.map → p-b7554a79.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-40df4468.entry.js.map → p-c0c658d1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-08176bd0.entry.js.map → p-cb3f48de.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2810ba28.entry.js.map → p-ce4e6b41.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-76b98623.entry.js.map → p-cf32b5db.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2e6669a7.entry.js.map → p-dc77bf66.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js.map → p-fffb54e9.entry.js.map} +0 -0
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { h } from "@stencil/core";
|
|
2
|
-
export class SlotComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.slotSize = undefined;
|
|
5
|
-
}
|
|
6
|
-
render() {
|
|
7
|
-
return h('div', null, 'Slot Component');
|
|
8
|
-
}
|
|
9
|
-
static get is() { return "slot-component"; }
|
|
10
|
-
static get properties() {
|
|
11
|
-
return {
|
|
12
|
-
"slotSize": {
|
|
13
|
-
"type": "string",
|
|
14
|
-
"mutable": false,
|
|
15
|
-
"complexType": {
|
|
16
|
-
"original": "string",
|
|
17
|
-
"resolved": "string",
|
|
18
|
-
"references": {}
|
|
19
|
-
},
|
|
20
|
-
"required": false,
|
|
21
|
-
"optional": false,
|
|
22
|
-
"docs": {
|
|
23
|
-
"tags": [],
|
|
24
|
-
"text": ""
|
|
25
|
-
},
|
|
26
|
-
"attribute": "slot-size",
|
|
27
|
-
"reflect": true
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=slot-component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slot-component.js","sourceRoot":"","sources":["../../../../test/elements/q2-detail/slot-component.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKnD,MAAM,OAAO,aAAa;;;;IAGtB,MAAM;QACF,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5C,CAAC;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'slot-component',\n})\nexport class SlotComponent {\n @Prop({ reflect: true }) slotSize: string;\n\n render() {\n return h('div', null, 'Slot Component');\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"q2-dropdown-item-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-dropdown-item-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EACH,cAAc,EACd,KAAK,EACL,aAAa,EACb,uBAAuB,EACvB,+BAA+B,EAC/B,YAAY,GACf,MAAM,YAAY,CAAC;AAEpB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,IAAa,CAAC;IAClB,IAAI,IAAgB,CAAC;IACrB,IAAI,OAAmB,CAAC;IACxB,IAAI,aAAyB,CAAC;IAC9B,IAAI,SAAqB,CAAC;IAE1B,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,IAAI,GAAG,MAAM,KAAK,CAAC;gBACf,IAAI,EAAE;;;;iBAIL;aACJ,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,+BAA+B,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK;QAC1B,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;aAEL;SACJ,CAAC,CAAC;QAEH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE/D,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC1F,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CACjC,kBAAkB,EAClB,CAAC,OAAkC,EAAE,EAAE,CACnC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAC9E,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK;QACnC,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;aAEL;SACJ,CAAC,CAAC;QAEH,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnF,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3F,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK;QACpD,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE,2CAA2C;SACpD,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3D,kBAAkB,EAClB,CAAC,EAA6B,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;YAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;YACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YACnF,OAAO;gBACH,QAAQ;gBACR,YAAY;gBACZ,UAAU;aACb,CAAC;QACN,CAAC,CACJ,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC3B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;oBAC/C,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;qBAIT;qBACA,CAAC,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACjE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBAC/B,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;oBACzE,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;qBAIT;qBACA,CAAC,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACjE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;oBACtF,IAAI,GAAG,MAAM,KAAK,CAAC;wBACf,IAAI,EAAE;;;;qBAIT;qBACA,CAAC,CAAC;oBACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;oBACjE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;YACvB,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;gBACpC,IAAI,GAAG,MAAM,KAAK,CAAC;oBACf,IAAI,EAAE;;iBAET;iBACA,CAAC,CAAC;gBAEH,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAC5E,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;gBAExD,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACjE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;YACvB,UAAU,CAAC,KAAK,IAAI,EAAE;gBAClB,IAAI,GAAG,MAAM,KAAK,CAAC;oBACf,IAAI,EAAE,EAAE;iBACX,CAAC,CAAC;gBACH,MAAM,cAAc,CAAC,IAAI,EAAE;oBACvB,oCAAoC,EAAE,mBAAmB;iBAC5D,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,mEAAmE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;gBACrC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC3C,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAE1E,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBACpD,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAE1E,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBACxC,IAAI,GAAG,MAAM,KAAK,CAAC;oBACf,IAAI,EAAE;;;;qBAIL;iBACJ,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAEjE,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;gBACvD,IAAI,GAAG,MAAM,KAAK,CAAC;oBACf,IAAI,EAAE;;;;qBAIL;iBACJ,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACjE,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC1E,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,kEAAkE,EAAE,KAAK;YACxE,IAAI,GAAG,MAAM,KAAK,CAAC;gBACf,IAAI,EAAE;;aAET;aACA,CAAC,CAAC;YAEH,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEpD,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE1D,MAAM,CAAC,YAAY,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3F,MAAM,CAAC,YAAY,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;YACrF,MAAM,CAAC,YAAY,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK;YAClC,IAAI,GAAG,MAAM,KAAK,CAAC;gBACf,IAAI,EAAE;;aAET;aACA,CAAC,CAAC;YAEH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1D,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE9D,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,iBAAiB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,SAAS,EAAE;gBACnF,GAAG,EAAE,YAAY;aACpB,CAAC,CAAC;YACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,EAAE,SAAS,EAAE;gBACzF,GAAG,EAAE,WAAW;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEpD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,SAAS,EAAE;gBACnF,GAAG,EAAE,OAAO;aACf,CAAC,CAAC;YACH,MAAM,CAAC,iBAAiB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC,EAAE,SAAS,EAAE;gBACzF,GAAG,EAAE,MAAM;aACd,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,IAAI,GAAG,MAAM,KAAK,CAAC;gBACf,IAAI,EAAE,iCAAiC,KAAK,2BAA2B;aAC1E,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,MAAM,uBAAuB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACjE,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport {\n setTestStrings,\n setup,\n dispatchEvent,\n testDeprecatedAriaLabel,\n getListOfStyleCompilationIssues,\n evaluateA11y,\n} from '../helpers';\n\ndescribe('q2-dropdown-item', () => {\n let page: E2EPage;\n let item: E2EElement;\n let itemBtn: E2EElement;\n let itemSeparator: E2EElement;\n let removeBtn: E2EElement;\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\">item text</q2-dropdown-item>\n </div>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n page = await setup({ html: '<q2-dropdown-item></q2-dropdown-item>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-dropdown-item')).toHaveLength(0);\n });\n\n it('renders base state', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-dropdown-item value=\"itemValue\">item text</q2-dropdown-item>\n `,\n });\n\n itemBtn = await page.find('q2-dropdown-item >>> [test-id=\"dropdownItem\"]');\n expect(itemBtn).not.toBeNull();\n expect(itemBtn.tagName.toLowerCase()).toEqual('q2-btn');\n expect(itemBtn).toHaveClass('dropdown-item');\n expect(itemBtn).not.toHaveAttribute('disabled');\n expect(await itemBtn.getProperty('_role')).toEqual('menuitem');\n\n itemSeparator = await page.find('q2-dropdown-item >>> [test-id=\"dropdownItemSeparator\"]');\n expect(itemSeparator).toBeNull();\n\n const itemSlotText = await page.$eval(\n 'q2-dropdown-item',\n (element: HTMLQ2DropdownItemElement) =>\n element.shadowRoot.querySelector('slot').assignedNodes()[0].textContent\n );\n expect(itemSlotText).toEqual('item text');\n\n item = await page.find('q2-dropdown-item');\n item.setProperty('disabled', true);\n await page.waitForChanges();\n\n expect(itemBtn).toHaveAttribute('disabled');\n });\n\n it('correctly emits click event', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-dropdown-item value=\"itemValue\" removable>item text</q2-dropdown-item>\n `,\n });\n\n item = await page.find('q2-dropdown-item');\n const clickSpy = await item.spyOnEvent('click');\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"dropdownItem\"]'], 'click');\n expect(clickSpy).toHaveReceivedEventTimes(1);\n expect(clickSpy).toHaveReceivedEventDetail({ type: 'select', value: 'itemValue' });\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"removeDropdownItem\"]'], 'click');\n expect(clickSpy).toHaveReceivedEventTimes(2);\n expect(clickSpy).toHaveReceivedEventDetail({ type: 'remove', value: 'itemValue' });\n });\n\n it('item content is the same width as the q2-btn', async function (): Promise<void> {\n page = await setup({\n html: `<q2-dropdown-item>Test</q2-dropdown-item>`,\n });\n\n const { btnWidth, contentWidth, btnPadding } = await page.$eval(\n 'q2-dropdown-item',\n (el: HTMLQ2DropdownItemElement) => {\n const itemBtn = el.shadowRoot.querySelector('.dropdown-item');\n const itemContent = el.shadowRoot.querySelector('.dropdown-item-content');\n const contentWidth = itemContent.clientWidth;\n const btnWidth = itemBtn.clientWidth;\n const btnPadding = parseInt(getComputedStyle(itemBtn).getPropertyValue('padding'));\n return {\n btnWidth,\n contentWidth,\n btnPadding,\n };\n }\n );\n\n expect(btnWidth).toEqual(contentWidth + btnPadding * 2);\n });\n\n describe('Props', () => {\n describe('label', () => {\n describe('when provided', () => {\n it('applies label to itemDOM() button', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\" label=\"item text\"></q2-dropdown-item>\n </div>\n `,\n });\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n expect(itemBtn.getAttribute('label')).toEqual('item text');\n });\n });\n describe('when not provided', () => {\n it('tries to use textContent to apply label to itemDOM() button', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\">item text</q2-dropdown-item>\n </div>\n `,\n });\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n expect(itemBtn.getAttribute('label')).toEqual('item text');\n });\n it('applies label to itemDOM() button when using q2-loc component (TCT-2678)', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\"><q2-loc value=\"item text\"/></q2-dropdown-item>\n </div>\n `,\n });\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n expect(itemBtn.getAttribute('label')).toEqual('item text');\n });\n });\n });\n\n describe('separator', () => {\n it('renders as a separator', async () => {\n page = await setup({\n html: `\n <q2-dropdown-item value=\"itemValue\" separator>item text</q2-dropdown-item>\n `,\n });\n\n itemSeparator = await page.find('q2-dropdown-item >>> .dropdown-separator');\n expect(itemSeparator).not.toBeNull();\n expect(itemSeparator).toEqualAttribute('role', 'separator');\n expect(itemSeparator).toHaveClass('dropdown-separator');\n\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n expect(itemBtn).toBeNull();\n });\n });\n\n describe('removable', () => {\n beforeEach(async () => {\n page = await setup({\n html: ``,\n });\n await setTestStrings(page, {\n 'tecton.element.dropdownItem.remove': 'Remove Option {0}',\n });\n await page.setContent('<q2-dropdown-item value=\"itemValue\" removable></q2-dropdown-item>');\n await page.waitForChanges();\n });\n it('renders a remove button', async () => {\n item = await page.find('q2-dropdown-item');\n removeBtn = await page.find('q2-dropdown-item >>> .remove-dropdown-item');\n\n expect(removeBtn).not.toBeNull();\n expect(removeBtn).not.toHaveAttribute('disabled');\n expect(removeBtn).toEqualAttribute('label', 'Remove Option ');\n expect(await removeBtn.getProperty('_role')).toEqual('menuitem');\n });\n\n it('uses item label in remove button label', async () => {\n item = await page.find('q2-dropdown-item');\n item.setProperty('label', 'Item Text');\n await page.waitForChanges();\n removeBtn = await page.find('q2-dropdown-item >>> .remove-dropdown-item');\n\n expect(removeBtn).not.toBeNull();\n expect(removeBtn).toEqualAttribute('label', 'Remove Option Item Text');\n });\n });\n\n describe('disabled', () => {\n it('disables the dropdown item', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\" disabled></q2-dropdown-item>\n </div>\n `,\n });\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n\n expect(itemBtn).toHaveAttribute('disabled');\n });\n\n it('disables the remove button when removable', async () => {\n page = await setup({\n html: `\n <div role=\"menu\">\n <q2-dropdown-item value=\"itemValue\" disabled removable></q2-dropdown-item>\n </div>\n `,\n });\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n removeBtn = await page.find('q2-dropdown-item >>> .remove-dropdown-item');\n expect(itemBtn).toHaveAttribute('disabled');\n expect(removeBtn).toHaveAttribute('disabled');\n });\n });\n });\n\n describe('Focus', () => {\n it('does not trigger focus delegator when item or remove btn focused', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-dropdown-item value=\"itemValue\" removable>item text</q2-dropdown-item>\n `,\n });\n\n item = await page.find('q2-dropdown-item');\n const itemFocusSpy = await item.spyOnEvent('focus');\n\n itemBtn = await page.find('q2-dropdown-item >>> [test-id=\"dropdownItem\"]');\n const itemBtnFocusSpy = await itemBtn.spyOnEvent('focus');\n\n expect(itemFocusSpy).toHaveReceivedEventTimes(0);\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"removeDropdownItem\"]'], 'focus');\n expect(itemFocusSpy).toHaveReceivedEventTimes(0);\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"dropdownItem\"]'], 'focus');\n expect(itemFocusSpy).toHaveReceivedEventTimes(0);\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(2);\n });\n\n it('handles focus manipulation', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-dropdown-item value=\"itemValue\" removable>item text</q2-dropdown-item>\n `,\n });\n\n itemBtn = await page.find('q2-dropdown-item >>> [test-id=\"dropdownItem\"]');\n const itemBtnFocusSpy = await itemBtn.spyOnEvent('focus');\n removeBtn = await page.find('q2-dropdown-item >>> [test-id=\"removeDropdownItem\"]');\n const removeBtnFocusSpy = await removeBtn.spyOnEvent('focus');\n\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(0);\n expect(removeBtnFocusSpy).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, 'q2-dropdown-item', 'focus');\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(2);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"dropdownItem\"]'], 'keydown', {\n key: 'ArrowRight',\n });\n expect(removeBtnFocusSpy).toHaveReceivedEventTimes(2);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"removeDropdownItem\"]'], 'keydown', {\n key: 'ArrowLeft',\n });\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(4);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"dropdownItem\"]'], 'keydown', {\n key: 'Right',\n });\n expect(removeBtnFocusSpy).toHaveReceivedEventTimes(4);\n\n await dispatchEvent(page, ['q2-dropdown-item', '[test-id=\"removeDropdownItem\"]'], 'keydown', {\n key: 'Left',\n });\n expect(itemBtnFocusSpy).toHaveReceivedEventTimes(6);\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n page = await setup({\n html: `<q2-dropdown-item aria-label=\"${label}\">Text</q2-dropdown-item>`,\n });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-dropdown-item'), label);\n itemBtn = await page.find('q2-dropdown-item >>> .dropdown-item');\n expect(itemBtn).toEqualAttribute('label', label);\n expect(itemBtn).toHaveAttribute('hide-label');\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"q2-dropdown-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-dropdown-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy, newSpecPage } from '@stencil/core/testing';\nimport {\n setTestStrings,\n setup,\n dispatchEvent,\n promiseMap,\n testDeprecatedAriaLabel,\n getNestedElementProperty,\n getListOfStyleCompilationIssues,\n evaluateA11y,\n} from '../helpers';\nimport { Q2Popover } from 'src/components/q2-popover/q2-popover';\nimport { Q2Dropdown } from 'src/components/q2-dropdown/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item/q2-dropdown-item';\n\nexport type TectonWindow = typeof window & {\n resolveMenu: any;\n navigateTo: any;\n showOverpanel: any;\n};\n\ndescribe('q2-dropdown', () => {\n let page: E2EPage;\n let dropdown: E2EElement;\n let dropdownContainer: E2EElement;\n let popover: E2EElement;\n let dropdownButton: E2EElement;\n let buttonFocusSpy: EventSpy;\n let firstOption: E2EElement;\n let closeDropdown: E2EElement;\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `\n <q2-dropdown label=\"My Dropdown\">\n <q2-dropdown-item>Item Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-dropdown></q2-dropdown>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-dropdown')).toHaveLength(0);\n });\n\n it('renders base state', async () => {\n page = await setup({\n html: `\n <q2-dropdown>\n <q2-dropdown-item>Item Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n\n const dropdown = await page.find('q2-dropdown');\n expect(dropdown).not.toBeNull();\n\n const dropdownContainer = await page.find('q2-dropdown >>> click-elsewhere');\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n\n const dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n expect(dropdownButton).not.toHaveAttribute('fab');\n expect(dropdownButton).not.toHaveAttribute('intent');\n expect(dropdownButton).not.toHaveAttribute('active');\n expect(dropdownButton).not.toHaveAttribute('disabled');\n expect(await dropdownButton.getProperty('ariaExpanded')).toEqual('false');\n expect(await dropdownButton.getProperty('ariaHasPopup')).toEqual('menu');\n expect(await dropdownButton.getProperty('ariaLabel')).toBe(undefined);\n\n const dropdownButtonIcon = await page.find('q2-dropdown >>> q2-icon');\n expect(dropdownButtonIcon).toBeNull();\n\n const dropdownButtonText = await page.find('q2-dropdown >>> .dropdown-button-text');\n expect(dropdownButtonText).toBeNull();\n\n const dropdownSlot = await page.find('q2-dropdown >>> slot');\n expect(dropdownSlot).not.toBeNull();\n\n const dropdownCloseButton = await page.find('q2-dropdown >>> .close-dropdown');\n expect(dropdownCloseButton).toBeNull();\n });\n\n it('binds button props', async () => {\n page = await setup({\n html: `\n <q2-dropdown\n type=\"icon\"\n icon=\"options\"\n label=\"Label Text\"\n >\n <q2-dropdown-item>Item Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n\n const dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n expect(dropdownButton).not.toHaveAttribute('fab');\n expect(dropdownButton).not.toHaveAttribute('intent');\n expect(dropdownButton).not.toHaveAttribute('disabled');\n expect(dropdownButton).not.toHaveAttribute('aria-label');\n\n const dropdownButtonIcon = await page.find('q2-dropdown >>> q2-icon');\n expect(dropdownButtonIcon).not.toBeNull();\n expect(dropdownButtonIcon).toEqualAttribute('type', 'options');\n\n const dropdownButtonText = await page.find('q2-dropdown >>> .dropdown-button-text');\n expect(dropdownButtonText).not.toBeNull();\n expect(dropdownButtonText.innerText).toEqual('Label Text');\n\n const dropdown = await page.find('q2-dropdown');\n dropdown.setProperty('type', 'fab');\n await page.waitForChanges();\n\n expect(dropdownButton).not.toHaveAttribute('icon');\n expect(dropdownButton).toHaveAttribute('fab');\n\n dropdown.setProperty('type', 'primary');\n await page.waitForChanges();\n\n expect(dropdownButton).not.toHaveAttribute('fab');\n expect(dropdownButton).toHaveAttribute('intent');\n expect(dropdownButton).toEqualAttribute('intent', 'workflow-primary');\n\n dropdown.setProperty('type', 'secondary');\n await page.waitForChanges();\n\n expect(dropdownButton).toEqualAttribute('intent', 'workflow-secondary');\n\n dropdown.setProperty('type', 'foo');\n await page.waitForChanges();\n\n expect(dropdownButton).not.toHaveAttribute('icon');\n expect(dropdownButton).not.toHaveAttribute('fab');\n expect(dropdownButton).not.toHaveAttribute('intent');\n\n dropdown.setProperty('ariaLabel', 'Aria-Label Text');\n await page.waitForChanges();\n\n expect(dropdownButton).toHaveAttribute('hide-label');\n expect(dropdownButton).toEqualAttribute('label', 'Aria-Label Text');\n\n dropdown.setProperty('disabled', true);\n await page.waitForChanges();\n\n expect(dropdownButton).toHaveAttribute('disabled');\n });\n\n it('handles focus manipulation', async () => {\n page = await setup({\n html: `\n <q2-dropdown>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n\n const dropdownItems = await page.findAll('q2-dropdown q2-dropdown-item');\n const itemSpies = await promiseMap(dropdownItems, el => el.spyOnEvent('focus'));\n expect(itemSpies[0]).toHaveReceivedEventTimes(0);\n expect(itemSpies[1]).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, ['q2-dropdown', '[test-id=\"dropdownButton\"]'], 'keydown', {\n key: 'ArrowDown',\n });\n expect(itemSpies[0]).toHaveReceivedEventTimes(1);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:first-of-type', 'keydown', {\n key: 'ArrowDown',\n bubbles: true,\n });\n expect(itemSpies[1]).toHaveReceivedEventTimes(1);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:last-of-type', 'keydown', {\n key: 'ArrowDown',\n bubbles: true,\n });\n expect(itemSpies[0]).toHaveReceivedEventTimes(2);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:first-of-type', 'keydown', {\n key: 'Down',\n bubbles: true,\n });\n expect(itemSpies[1]).toHaveReceivedEventTimes(2);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:last-of-type', 'keydown', {\n key: 'Down',\n bubbles: true,\n });\n expect(itemSpies[0]).toHaveReceivedEventTimes(3);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:first-of-type', 'keydown', {\n key: 'ArrowUp',\n bubbles: true,\n });\n expect(itemSpies[1]).toHaveReceivedEventTimes(3);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:last-of-type', 'keydown', {\n key: 'ArrowUp',\n bubbles: true,\n });\n expect(itemSpies[0]).toHaveReceivedEventTimes(4);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:first-of-type', 'keydown', {\n key: 'Up',\n bubbles: true,\n });\n expect(itemSpies[1]).toHaveReceivedEventTimes(4);\n\n await dispatchEvent(page, 'q2-dropdown q2-dropdown-item:last-of-type', 'keydown', {\n key: 'Up',\n bubbles: true,\n });\n expect(itemSpies[0]).toHaveReceivedEventTimes(5);\n });\n\n it('localizes label and aria-label', async () => {\n page = await setup({\n html: `\n <q2-dropdown>\n <q2-dropdown-item>Item Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n\n await setTestStrings(page, {\n 'dropdown.label': 'Label text',\n 'dropdown.ariaLabel': 'Aria-Label text',\n });\n\n const dropdown = await page.find('q2-dropdown');\n\n dropdown.setProperty('label', 'dropdown.label');\n await page.waitForChanges();\n\n const dropdownButtonText = await page.find('q2-dropdown >>> .dropdown-button-text');\n expect(dropdownButtonText).toEqualText('Label text');\n\n dropdown.setProperty('ariaLabel', 'dropdown.ariaLabel');\n await page.waitForChanges();\n\n const dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n expect(dropdownButton).toEqualAttribute('label', 'Aria-Label text');\n });\n\n it('regular dropdown with popover-direction=\"up\" opens upward', async () => {\n page = await setup({\n html: `\n <q2-dropdown popover-direction=\"up\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n const popover = await page.find('q2-dropdown >>> q2-popover');\n await dispatchEvent(page, ['q2-dropdown', '[test-id=\"dropdownButton\"]'], 'click');\n expect(await popover.getProperty('direction')).toEqual('up');\n });\n\n it('with popover-alignment=\"left\" opens left', async () => {\n page = await setup({\n html: `\n <q2-dropdown popover-alignment=\"left\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n const popover = await page.find('q2-dropdown >>> q2-popover');\n await dispatchEvent(page, ['q2-dropdown', '[test-id=\"dropdownButton\"]'], 'click');\n expect(await popover.getProperty('align')).toEqual('left');\n });\n\n it('if type custom, q2-btn icon attribute is false', async () => {\n page = await setup({\n html: `\n <q2-dropdown type=\"custom\">\n <q2-avatar slot=\"custom-dropdown-button\"></q2-avatar>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n const dropdownCustom = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n expect(dropdownCustom).not.toHaveAttribute('icon');\n });\n\n it('if type custom, show custom-dropdown-button slot', async () => {\n page = await setup({\n html: `\n <q2-dropdown type=\"custom\">\n <q2-avatar slot=\"custom-dropdown-button\"></q2-avatar>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n const dropdownCustom = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n expect(dropdownCustom).not.toHaveAttribute('icon');\n\n const dropdownSlot = await page.find('q2-dropdown >>> [test-id=\"dropdownCustom\"]');\n expect(dropdownSlot).not.toHaveClass('hidden');\n\n const dropdown = await page.find('q2-dropdown');\n dropdown.setAttribute('type', 'icon');\n await page.waitForChanges();\n\n const dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownCustom\"]');\n expect(dropdownButton).toHaveClass('hidden');\n });\n\n describe('focus transferring', () => {\n const html = `<q2-dropdown style=\"margin-top: 9999px\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 3 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 4 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 5 Text</q2-dropdown-item>\n </q2-dropdown>`;\n\n it('focuses when focus event dispatched ', async () => {\n page = await setup({ html });\n await dispatchEvent(page, ['q2-dropdown'], 'focus');\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-dropdown', el => {\n return el.shadowRoot.querySelector('q2-btn').shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n expect(await innerActiveTestId(page)).toEqual('q2BtnInnerButton');\n });\n\n it('focuses when focus method called ', async () => {\n page = await setup({ html });\n const dropdown = await page.find('q2-dropdown');\n await dropdown.triggerEvent('focus');\n await page.waitForChanges();\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-dropdown', el => {\n return el.shadowRoot.querySelector('q2-btn').shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n expect(await innerActiveTestId(page)).toEqual('q2BtnInnerButton');\n });\n });\n\n it.skip('adds menu items from the config', async () => {\n page = await setup({\n html: `\n <q2-dropdown name=\"testMenu\" pop-direction=\"up\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n\n const resolveMenu = jest.fn().mockImplementation(name => {\n expect(name).toEqual('testMenu');\n return [\n {\n itemLabel: 'testItem',\n action: 'navigateTo',\n featureName: 'testFeature',\n },\n ];\n });\n await page.exposeFunction('resolveMenu', resolveMenu);\n await page.evaluate(() => {\n (this as any).TectonElements.resolveMenu = resolveMenu;\n });\n expect(resolveMenu).toHaveBeenCalledTimes(0);\n\n const dropdown = await page.find('q2-dropdown');\n dropdown.setProperty('context', 'None');\n await page.waitForChanges();\n expect(resolveMenu).toHaveBeenCalledTimes(1);\n\n const dropdownItems = await page.findAll('q2-dropdown q2-dropdown-item');\n expect(dropdownItems.length).toEqual(3);\n });\n\n it.skip('replaces menu outlet items when the contextValue changes', async () => {\n page = await setup({\n html: `\n <q2-dropdown name=\"testMenu\" context=\"None\" contextValue=\"12345\" pop-direction=\"up\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n });\n\n it.skip('still works with keyboard functionality', async () => {\n page = await setup({\n html: `\n <q2-dropdown name=\"testMenu\" context=\"None\" contextValue=\"12345\" pop-direction=\"up\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n });\n\n describe('Props', () => {\n describe('open', () => {\n it('passes the open property to the popover and dispatches popoverStateChanged event', async () => {\n page = await setup({\n html: `\n <q2-dropdown>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n dropdown = await page.find('q2-dropdown');\n popover = await page.find('q2-dropdown >>> q2-popover');\n const popoverStateChangedSpy = await dropdown.spyOnEvent('popoverStateChanged');\n\n expect(await dropdown.getProperty('open')).toBeUndefined();\n expect(await popover.getProperty('open')).toBeUndefined();\n expect(popoverStateChangedSpy).toHaveReceivedEventTimes(0);\n\n await dropdown.setProperty('open', true);\n await page.waitForChanges();\n\n expect(await dropdown.getProperty('open')).toBe(true);\n expect(await popover.getProperty('open')).toBe(true);\n expect(popoverStateChangedSpy).toHaveReceivedEventTimes(1);\n });\n });\n\n describe('block', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-dropdown block>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n dropdown = await page.find('q2-dropdown');\n dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n popover = await page.find('q2-dropdown >>> q2-popover');\n });\n it('passes the block propery to the host, button, and popover elements', async () => {\n expect(await dropdown.getProperty('block')).toBe(true);\n expect(await dropdownButton.getProperty('block')).toBe(true);\n expect(await popover.getProperty('block')).toBe(true);\n });\n it('sets the display property to block on host and button elements', async () => {\n const dropdownStyles = await dropdown.getComputedStyle();\n const dropdownButtonStyles = await dropdownButton.getComputedStyle();\n\n expect(dropdownStyles.display).toBe('block');\n expect(dropdownButtonStyles.display).toBe('block');\n });\n });\n\n describe('popoverMode', () => {\n it('does not set any mode on the popover (default)', async () => {\n const page = await newSpecPage({\n components: [Q2Popover, Q2Dropdown, Q2DropdownItem],\n html: `\n <q2-dropdown>\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n expect(page.root.shadowRoot.querySelector('q2-popover').mode).toBeNull();\n });\n\n it('sets the value of popoverMode as the mode on the popover', async () => {\n const page = await newSpecPage({\n components: [Q2Popover, Q2Dropdown, Q2DropdownItem],\n html: `\n <q2-dropdown popover-mode=\"legacy\">\n <q2-dropdown-item>Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item>Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n expect(page.root.shadowRoot.querySelector('q2-popover').mode).toBe('legacy');\n });\n });\n });\n\n describe('Events', () => {\n describe('popoverStateChanged', () => {\n it('updates open property and scrolls popover container to top', async () => {\n page = await setup({\n html: `\n <q2-dropdown open>\n ${Array.from({ length: 20 })\n .map(i => `<q2-dropdown-item>Item ${i} Text</q2-dropdown-item>`)\n .join('')}\n </q2-dropdown>\n `,\n });\n\n dropdown = await page.find('q2-dropdown');\n popover = await page.find('q2-dropdown >>> q2-popover');\n\n expect(await dropdown.getProperty('open')).toBe(true);\n expect(await popover.getProperty('open')).toBe(true);\n\n // Manually set the scrollTop to 100\n await popover.callMethod('scrollContainerTo', { top: 100 });\n await page.waitForChanges();\n\n // Ensure the scrollTop is 100\n let containerScrollTop = await getNestedElementProperty(\n page,\n ['q2-dropdown', 'q2-popover', '.container'],\n 'scrollTop'\n );\n expect(containerScrollTop).toEqual(100);\n\n // Close the popover\n await page.$eval('q2-dropdown', el =>\n el.dispatchEvent(new CustomEvent('popoverStateChanged', { detail: { open: false } }))\n );\n\n expect(await dropdown.getProperty('open')).toBe(false);\n expect(await popover.getProperty('open')).toBe(false);\n\n // Ensure the scrollTop is reset to 0\n containerScrollTop = await getNestedElementProperty(\n page,\n ['q2-dropdown', 'q2-popover', '.container'],\n 'scrollTop'\n );\n expect(containerScrollTop).toEqual(0);\n });\n });\n });\n\n describe('Mouse', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-dropdown icon=\"options\">\n <q2-dropdown-item test-id=\"option-1\">Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item test-id=\"option-2\">Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n dropdown = await page.find('q2-dropdown');\n expect(await dropdown.getProperty('open')).toBeUndefined();\n\n dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n buttonFocusSpy = await dropdownButton.spyOnEvent('focus');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(0);\n\n dropdownContainer = await page.find('q2-dropdown >>> click-elsewhere');\n expect(dropdown).not.toHaveAttribute('open');\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n\n firstOption = await page.find('q2-dropdown-item:first-of-type');\n });\n\n it('opens and closes the dropdown', async () => {\n await dropdownButton.click();\n\n expect(dropdown).toHaveAttribute('open');\n expect(dropdownContainer).toHaveClass('dropdown-open');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(1);\n\n buttonFocusSpy.events = [];\n\n await firstOption.click();\n expect(dropdown).not.toHaveAttribute('open');\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n\n expect(buttonFocusSpy).toHaveReceivedEventTimes(1);\n\n buttonFocusSpy.events = [];\n\n await dispatchEvent(page, ['q2-dropdown', '[test-id=\"dropdownButton\"]'], 'click');\n expect(dropdownContainer).toHaveClass('dropdown-open');\n\n expect(buttonFocusSpy).toHaveReceivedEventTimes(0);\n\n buttonFocusSpy.events = [];\n\n closeDropdown = await page.find('q2-dropdown >>> .close-dropdown');\n await closeDropdown.focus();\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n\n expect(buttonFocusSpy).toHaveReceivedEventTimes(0);\n });\n });\n\n describe('Keyboard', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-dropdown>\n <q2-dropdown-item test-id=\"option-1\">Item 1 Text</q2-dropdown-item>\n <q2-dropdown-item test-id=\"option-2\">Item 2 Text</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n dropdown = await page.find('q2-dropdown');\n expect(await dropdown.getProperty('open')).toBeUndefined();\n\n dropdownButton = await page.find('q2-dropdown >>> [test-id=\"dropdownButton\"]');\n buttonFocusSpy = await dropdownButton.spyOnEvent('focus');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(0);\n\n dropdownContainer = await page.find('q2-dropdown >>> click-elsewhere');\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n });\n\n it('opens the popover and focuses last item on ArrowUp', async () => {\n await dropdownButton.press('ArrowUp');\n await page.waitForChanges();\n\n expect(dropdownContainer).toHaveClass('dropdown-open');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(2);\n });\n\n it('opens the popover and focuses first item on ArrowDown', async () => {\n await dropdownButton.press('ArrowDown');\n await page.waitForChanges();\n\n expect(dropdownContainer).toHaveClass('dropdown-open');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(2);\n });\n\n describe('when open', () => {\n beforeEach(async () => {\n dropdown.setProperty('open', true);\n await page.waitForChanges();\n expect(dropdownContainer).toHaveClass('dropdown-open');\n buttonFocusSpy.events = [];\n });\n\n it('closes the popover and focuses toggle button on Escape', async () => {\n await dropdownButton.press('Escape');\n await page.waitForChanges();\n\n expect(dropdownContainer).not.toHaveClass('dropdown-open');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(2);\n });\n\n it('does not close or escape the popover on Tab', async () => {\n await dropdownButton.press('ArrowDown');\n await dropdownButton.press('Tab');\n await page.waitForChanges();\n\n expect(dropdownContainer).toHaveClass('dropdown-open');\n expect(buttonFocusSpy).toHaveReceivedEventTimes(4);\n });\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `popDirection` prop', async () => {\n page = await setup({\n html: `\n <q2-dropdown pop-direction=\"up\">\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n await page.waitForChanges();\n dropdown = await page.find('q2-dropdown');\n expect(await dropdown.getProperty('popDirection')).toEqual('up');\n expect(await dropdown.getProperty('popoverDirection')).toEqual('up');\n\n await dropdown.setProperty('popDirection', 'down');\n await page.waitForChanges();\n\n expect(await dropdown.getProperty('popDirection')).toEqual('down');\n expect(await dropdown.getProperty('popoverDirection')).toEqual('down');\n });\n\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n page = await setup({\n html: `\n <q2-dropdown aria-label=\"${label}\">\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-dropdown'), label);\n const innerButton = await page.find('q2-dropdown >>> q2-btn');\n expect(innerButton).toEqualAttribute('label', label);\n expect(innerButton).toHaveAttribute('hide-label');\n });\n\n it('handles deprecated `alignment` prop', async () => {\n page = await setup({\n html: `\n <q2-dropdown alignment=\"left\">\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-dropdown>\n `,\n });\n await page.waitForChanges();\n dropdown = await page.find('q2-dropdown');\n expect(await dropdown.getProperty('alignment')).toEqual('left');\n expect(await dropdown.getProperty('popoverAlignment')).toEqual('left');\n\n await dropdown.setProperty('alignment', 'right');\n await page.waitForChanges();\n\n expect(await dropdown.getProperty('alignment')).toEqual('right');\n expect(await dropdown.getProperty('popoverAlignment')).toEqual('right');\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"q2-editable-field-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-editable-field-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport {\n setTestStrings,\n setup,\n dispatchEvent,\n getActiveElementTestId,\n testDeprecatedAriaLabel,\n getNestedElementStyle,\n getNestedElementProperty,\n getListOfStyleCompilationIssues,\n evaluateA11y,\n} from '../helpers';\n\ndescribe('q2-editable-field', () => {\n let page: E2EPage;\n let editableField: E2EElement;\n let inputField: E2EElement;\n let editButton: E2EElement;\n let saveButton: E2EElement;\n let cancelButton: E2EElement;\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-editable-field value=\"Test Value\"></q2-editable-field>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n page = await setup({ html: '<q2-editable-field></q2-editable-field>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-editable-field')).toHaveLength(0);\n });\n\n it('localizes appropriate attribute strings', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n\n setTestStrings(page, {\n 'q2-editable-field.label': 'Label Text',\n 'q2-editable-field.ariaLabel': 'Aria-Label Text',\n });\n\n inputField = await page.find('q2-editable-field >>> q2-input');\n editableField = await page.find('q2-editable-field');\n\n editableField.setProperty('label', 'q2-editable-field.label');\n await page.waitForChanges();\n\n expect(inputField).toEqualAttribute('label', 'Label Text');\n expect(inputField).not.toHaveAttribute('hide-label');\n\n editableField.setProperty('ariaLabel', 'q2-editable-field.ariaLabel');\n await page.waitForChanges();\n\n expect(inputField).toEqualAttribute('label', 'Aria-Label Text');\n expect(inputField).toHaveAttribute('hide-label');\n });\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations', async () => {\n page = await setup({\n html: `<q2-editable-field label=\"Test Label\"></q2-editable-field>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n describe('Rendering', () => {\n it('should render the component in the dom', async () => {\n page = await setup({ html: `<q2-editable-field></q2-editable-field>` });\n\n editableField = await page.find('q2-editable-field');\n\n expect(editableField.tagName).toEqual('Q2-EDITABLE-FIELD');\n\n const editStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(1)');\n const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');\n\n // both edit and read states render\n expect(editStateWrapper).toBeTruthy();\n expect(readStateWrapper).toBeTruthy();\n });\n\n it('it correctly renders the read state when label not persisted', async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\"></q2-editable-field>`,\n });\n\n const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');\n const readStateHidden = await readStateWrapper.getProperty('hidden');\n const readStateTextWrapper = await page.find('q2-editable-field >>> .text-wrapper');\n editButton = await page.find('q2-editable-field >>> .begin-edit');\n\n expect(readStateHidden).toEqual(false);\n\n expect(readStateWrapper).not.toHaveClass('editing');\n\n // value rendered into text wrapper\n expect(readStateTextWrapper.textContent).toEqual('Test Value');\n\n // edit button renders\n expect(editButton).toBeTruthy();\n });\n\n it('it correctly renders the read state when label is persisted', async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\" label=\"Test Label\" persistent-label></q2-editable-field>`,\n });\n\n const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');\n expect(readStateWrapper).not.toHaveClass('editing');\n expect(await readStateWrapper.getProperty('hidden')).toEqual(false);\n\n const readStateLabel = await page.find('q2-editable-field >>> .read-state-label');\n\n expect(readStateLabel).not.toBeNull;\n expect(readStateLabel.tagName).toEqual('DT');\n expect(readStateLabel.textContent).toEqual('Test Label');\n\n const readStateTextWrapper = await page.find('q2-editable-field >>> .text-wrapper');\n\n // value rendered into text wrapper\n expect(readStateTextWrapper.textContent).toEqual('Test Value');\n\n editButton = await page.find('q2-editable-field >>> .begin-edit');\n\n // edit button renders\n expect(editButton).toBeTruthy();\n });\n\n it('correctly renders the edit state', async () => {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n\n const editStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(1)');\n inputField = await page.find('q2-editable-field >>> q2-input');\n\n expect(editStateWrapper).toHaveClass('editing');\n\n // input renders\n expect(inputField).toBeTruthy();\n\n const inputValue = await inputField.getProperty('value');\n\n // input value matches element value\n expect(inputValue).toEqual('Test Value');\n\n cancelButton = await page.find('q2-editable-field >>> .cancel-edit');\n saveButton = await page.find('q2-editable-field >>> .save-edit');\n\n expect(cancelButton).toBeTruthy();\n expect(saveButton).toBeTruthy();\n });\n });\n\n describe('Props', () => {\n it('passes appropriate properties through to q2-input', async () => {\n page = await setup({\n html: `<q2-editable-field editing label=\"Test Label\" type=\"testType\" format-modifier=\"testFormatModifier\" maxlength=\"10\" value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n editableField.setProperty('errors', ['error1', 'error2']);\n editableField.setProperty('hints', ['hint1', 'hint2']);\n\n await page.waitForChanges();\n\n inputField = await page.find('q2-editable-field >>> q2-input');\n\n const inputType = await inputField.getProperty('type');\n const inputErrors = await inputField.getProperty('errors');\n const inputHints = await inputField.getProperty('hints');\n const inputLabel = await inputField.getProperty('label');\n const inputFormatter = await inputField.getProperty('formatModifier');\n const inputMaxLength = await inputField.getProperty('maxlength');\n\n expect(inputType).toEqual('testType');\n expect(inputErrors).toEqual(['error1', 'error2']);\n expect(inputHints).toEqual(['hint1', 'hint2']);\n expect(inputLabel).toEqual('Test Label');\n expect(inputFormatter).toEqual('testFormatModifier');\n expect(inputMaxLength).toEqual(10);\n expect(inputField).not.toHaveAttribute('hide-label');\n\n editableField.setProperty('ariaLabel', 'Test aria-label');\n await page.waitForChanges();\n\n expect(inputField).toEqualAttribute('label', 'Test aria-label');\n expect(inputField).toHaveAttribute('hide-label');\n });\n describe('when value and type are provided to q2-editable-field', () => {\n it('maintains formatted value in q2-input', async () => {\n page = await setup({\n html: `<q2-editable-field type='phone' value='1234567890'></q2-editable-field>`,\n });\n inputField = await page.find('q2-editable-field >>> q2-input');\n const formattedVal = await inputField.getProperty('formattedValue');\n expect(formattedVal).toBe('(123) 456-7890');\n });\n\n it('displays formattedValue in .text-wrapper on q2-editable-field', async () => {\n page = await setup({\n html: `<q2-editable-field type='phone' value='1234567890'></q2-editable-field>`,\n });\n\n inputField = await page.find('q2-editable-field >>> q2-input');\n const formattedVal = await inputField.getProperty('formattedValue');\n const textWrapper = await page.find('q2-editable-field >>> .text-wrapper');\n\n expect(formattedVal).toBe(textWrapper.innerText);\n });\n });\n describe('when errors is updated', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\" editing></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n });\n\n describe('when component has focus', () => {\n it('focuses on input field', async () => {\n saveButton = await page.find('q2-editable-field >>> [test-id=saveButton]');\n saveButton.focus();\n await page.waitForChanges();\n expect(await getActiveElementTestId(page)).toEqual('saveButton');\n editableField.setProperty('errors', [\"It's busted.\"]);\n await page.waitForChanges();\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n });\n\n describe('when component does not have focus', () => {\n it('does not change focus', async () => {\n expect(await getActiveElementTestId(page)).toBeNull();\n editableField.setProperty('errors', [\"It's busted.\"]);\n await page.waitForChanges();\n expect(await getActiveElementTestId(page)).toBeNull();\n });\n });\n\n describe('when component is disabled', () => {\n beforeEach(async () => {\n page = await setup({ html: `<q2-editable-field disabled> Hello </q2-editable-field>` });\n });\n\n it('editButton is disabled', async () => {\n editableField = await page.find('q2-editable-field');\n const spy = await editableField.spyOnEvent('click');\n await dispatchEvent(page, ['q2-editable-field', '[test-id=\"editButton\"]'], 'click');\n expect(spy).not.toHaveReceivedEvent();\n });\n\n it('editableInput is disabled', async () => {\n editableField = await page.find('q2-editable-field');\n const spy = await editableField.spyOnEvent('click');\n await dispatchEvent(page, ['q2-editable-field', '[test-id=\"editableInput\"]'], 'click');\n expect(spy).not.toHaveReceivedEvent();\n });\n });\n });\n });\n\n describe('Events', () => {\n describe('Input', () => {\n it('correctly bubbles the q2-input input event', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n const inputEventSpy = await editableField.spyOnEvent('input');\n\n await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'input', {\n detail: { value: 'testValue', formattedValue: 'formattedTestValue' },\n });\n\n expect(inputEventSpy).toHaveReceivedEventDetail({\n value: 'testValue',\n formattedValue: 'formattedTestValue',\n });\n });\n });\n\n describe('Change', () => {\n it('correctly emits the change event data', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n const changeEventSpy = await editableField.spyOnEvent('change');\n\n await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click');\n\n expect(changeEventSpy).toHaveReceivedEventDetail({\n value: 'Test Value',\n editing: false,\n name: 'save',\n formattedValue: 'Test Value',\n });\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n\n expect(changeEventSpy).toHaveReceivedEventDetail({ editing: true, name: 'edit' });\n\n await dispatchEvent(page, ['q2-editable-field', '.cancel-edit'], 'click');\n\n expect(changeEventSpy).toHaveReceivedEventDetail({ editing: false, name: 'cancel' });\n });\n\n it('allows custom handler to control the change event effects', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n let isEditing = await editableField.getProperty('editing');\n\n await page.$eval('q2-editable-field', function (editableField) {\n (editableField as HTMLQ2EditableFieldElement).onchange = function (e: CustomEvent) {\n // basically don't allow editing value to change via change event\n (e.target as HTMLQ2EditableFieldElement).editing = !e.detail.editing;\n };\n });\n\n await page.waitForChanges();\n expect(isEditing).toEqual(true);\n await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click');\n isEditing = await editableField.getProperty('editing');\n\n // still editable because onchange event overwrote default behavior\n expect(isEditing).toEqual(true);\n\n // manually set editing to false to test inverse\n editableField.setProperty('editing', false);\n await page.waitForChanges();\n isEditing = await editableField.getProperty('editing');\n expect(isEditing).toEqual(false);\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n isEditing = await editableField.getProperty('editing');\n\n // still false...\n expect(isEditing).toEqual(false);\n });\n\n it('triggers change event from Escape and Enter keyboard events', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n const changeEventSpy = await editableField.spyOnEvent('change');\n\n await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'keydown', { key: 'Escape' });\n\n expect(changeEventSpy).toHaveReceivedEventDetail({ name: 'cancel', editing: false });\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n\n expect(changeEventSpy).toHaveReceivedEventDetail({ name: 'edit', editing: true });\n\n await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'keydown', {\n key: 'Enter',\n bubbles: true,\n });\n\n expect(changeEventSpy).toHaveReceivedEventDetail({\n name: 'save',\n editing: false,\n value: 'Test Value',\n formattedValue: 'Test Value',\n });\n });\n });\n describe('Click', () => {\n it('prevents click propagation from internal elements', async function () {\n page = await setup({\n html: `<q2-editable-field editing value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n const clickEventSpy = await editableField.spyOnEvent('click');\n\n await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'click', { composed: true });\n expect(clickEventSpy).not.toHaveReceivedEvent();\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click', {\n composed: true,\n });\n expect(clickEventSpy).not.toHaveReceivedEvent();\n\n await dispatchEvent(page, ['q2-editable-field', '.cancel-edit'], 'click', {\n composed: true,\n });\n expect(clickEventSpy).not.toHaveReceivedEvent();\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click', {\n composed: true,\n });\n expect(clickEventSpy).not.toHaveReceivedEvent();\n\n await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click', { composed: true });\n expect(clickEventSpy).not.toHaveReceivedEvent();\n\n await dispatchEvent(page, ['q2-editable-field', '.text-wrapper'], 'click', {\n composed: true,\n });\n expect(clickEventSpy).toHaveReceivedEventTimes(1);\n });\n\n describe('when save button is clicked', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\" editing></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n });\n\n describe('when there are errors', () => {\n it('maintains edit state and focuses the input field', async () => {\n editableField.setProperty('errors', [\"It's busted.\"]);\n await page.waitForChanges();\n\n saveButton = await page.find('q2-editable-field >>> [test-id=saveButton]');\n await saveButton.focus();\n expect(await getActiveElementTestId(page)).toEqual('saveButton');\n\n await saveButton.click();\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n });\n\n describe('when there are not errors', () => {\n it('closes the edit state and focuses the edit button', async () => {\n saveButton = await page.find('q2-editable-field >>> [test-id=saveButton]');\n await saveButton.focus();\n expect(await getActiveElementTestId(page)).toEqual('saveButton');\n await saveButton.click();\n editableField = await page.find('q2-editable-field');\n expect(await editableField.getAttribute('editable')).toBeFalsy();\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n });\n });\n });\n\n describe('Focus', () => {\n describe('when invoked directly', () => {\n describe('when in default mode', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n });\n\n it('focuses edit button on event dispatch', async () => {\n await dispatchEvent(page, ['q2-editable-field'], 'focus');\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n\n it('focuses edit button when method called', async () => {\n await editableField.focus();\n await page.waitForChanges();\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n });\n\n describe('when in edit mode', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\" editing></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n });\n\n it('focuses input on event dispatch', async () => {\n await page.waitForChanges();\n await dispatchEvent(page, ['q2-editable-field'], 'focus');\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n\n it('focuses input when method called', async () => {\n await editableField.focus();\n await page.waitForChanges();\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n });\n });\n\n it('shifts focus on editing change', async function () {\n page = await setup({\n html: `<q2-editable-field value=\"Test Value\"></q2-editable-field>`,\n });\n editButton = await page.find('q2-editable-field >>> .begin-edit');\n inputField = await page.find('q2-editable-field >>> q2-input');\n const inputFocusSpy = await inputField.spyOnEvent('focus');\n\n expect(inputFocusSpy).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n\n // focus on input when switched to editing state\n expect(inputFocusSpy).toHaveReceivedEventTimes(2); // 2 because of focus bubbling\n\n const editBtnFocusSpy = await editButton.spyOnEvent('focus');\n\n expect(editBtnFocusSpy).toHaveReceivedEventTimes(0);\n\n await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click');\n\n // edit button focused when changed to no longer editing\n expect(editBtnFocusSpy).toHaveReceivedEventTimes(2); // 2 because of focus bubbling\n });\n });\n });\n\n describe('Keyboard input', () => {\n it('correctly restores previous value when cancel button clicked', async function () {\n const defaultValue = 'Default Value';\n const newValue = 'New Value';\n page = await setup({\n html: `<q2-editable-field editing value=\"${defaultValue}\"></q2-editable-field>`,\n });\n inputField = await page.find('q2-editable-field >>> q2-input');\n let inputValue = await inputField.getProperty('value');\n\n // input value matches element value\n expect(inputValue).toEqual(defaultValue);\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n inputField.setProperty('value', newValue);\n await page.waitForChanges();\n\n inputValue = await inputField.getProperty('value');\n expect(inputValue).toEqual(newValue);\n\n await dispatchEvent(page, ['q2-editable-field', '.cancel-edit'], 'click');\n inputValue = await inputField.getProperty('value');\n await page.waitForChanges();\n expect(inputValue).toEqual(defaultValue);\n });\n\n it('correctly restores previous value when cancel button clicked and save button clicked', async function () {\n const defaultValue = 'Default Value';\n const newValue = 'New Value';\n page = await setup({\n html: `<q2-editable-field editing value=\"${defaultValue}\"></q2-editable-field>`,\n });\n inputField = await page.find('q2-editable-field >>> q2-input');\n let inputValue;\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n inputField.setProperty('value', newValue);\n await page.waitForChanges();\n inputValue = await inputField.getProperty('value');\n expect(inputValue).toEqual(newValue);\n\n // should not save after cancel buton clicked\n await dispatchEvent(page, ['q2-editable-field', '.cancel-edit'], 'click');\n inputValue = await inputField.getProperty('value');\n await page.waitForChanges();\n expect(inputValue).toEqual(defaultValue);\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n inputValue = await inputField.getProperty('value');\n await page.waitForChanges();\n expect(inputValue).toEqual(defaultValue);\n await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click');\n inputValue = await inputField.getProperty('value');\n await page.waitForChanges();\n expect(inputValue).toEqual(defaultValue);\n });\n\n it('correctly restores previous value when escape key pressed', async function () {\n const defaultValue = 'Default Value';\n const newValue = 'New Value';\n page = await setup({\n html: `<q2-editable-field editing value=\"${defaultValue}\"></q2-editable-field>`,\n });\n inputField = await page.find('q2-editable-field >>> q2-input');\n let inputValue = await inputField.getProperty('value');\n\n // input value matches element value\n expect(inputValue).toEqual(defaultValue);\n\n await dispatchEvent(page, ['q2-editable-field', '.begin-edit'], 'click');\n inputField.setProperty('value', newValue);\n await page.waitForChanges();\n\n inputValue = await inputField.getProperty('value');\n expect(inputValue).toEqual(newValue);\n\n await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'keydown', { key: 'Escape' });\n\n inputValue = await inputField.getProperty('value');\n await page.waitForChanges();\n expect(inputValue).toEqual(defaultValue);\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field value=\"Original Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n inputField = await page.find('q2-editable-field >>> [test-id=editableInput]');\n editButton = await page.find('q2-editable-field >>> [test-id=editButton]');\n saveButton = await page.find('q2-editable-field >>> [test-id=saveButton]');\n cancelButton = await page.find('q2-editable-field >>> [test-id=cancelButton]');\n });\n\n describe('clickEdit', () => {\n it('clicks the edit button and enters editing mode', async () => {\n const editButtonClickSpy = await editButton.spyOnEvent('click');\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n\n await editableField.callMethod('clickEdit');\n await page.waitForChanges();\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(await editableField.getProperty('editing')).toEqual(true);\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n\n it('does nothing if already in editing mode', async () => {\n await editableField.setProperty('editing', true);\n await page.waitForChanges();\n\n const editButtonClickSpy = await editButton.spyOnEvent('click');\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(true);\n\n await editableField.callMethod('clickEdit');\n await page.waitForChanges();\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(true);\n });\n });\n\n describe('clickCancel', () => {\n it('clicks the cancel button and exits editing mode', async () => {\n await editableField.setProperty('editing', true);\n await page.waitForChanges();\n\n const cancelButtonClickSpy = await cancelButton.spyOnEvent('click');\n\n expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(true);\n\n await editableField.callMethod('clickCancel');\n await page.waitForChanges();\n\n expect(cancelButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(await editableField.getProperty('editing')).toEqual(false);\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n\n it('does nothing if not in editing mode', async () => {\n const cancelButtonClickSpy = await cancelButton.spyOnEvent('click');\n\n expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n\n await editableField.callMethod('clickCancel');\n await page.waitForChanges();\n\n expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n });\n });\n\n describe('clickSave', () => {\n it('clicks the save button and exits editing mode', async () => {\n editableField.setProperty('editing', true);\n await page.waitForChanges();\n\n const saveButtonClickSpy = await saveButton.spyOnEvent('click');\n\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(true);\n\n await editableField.callMethod('clickSave');\n await page.waitForChanges();\n\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(await editableField.getProperty('editing')).toEqual(false);\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n\n it('does nothing if not in editing mode', async () => {\n const saveButtonClickSpy = await saveButton.spyOnEvent('click');\n\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n\n await editableField.callMethod('clickSave');\n await page.waitForChanges();\n\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n });\n });\n\n describe('setValue', () => {\n it('clicks edit button, updates value, and clicks save button', async () => {\n const editButtonClickSpy = await editButton.spyOnEvent('click');\n const saveButtonClickSpy = await saveButton.spyOnEvent('click');\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n const newValue = 'New Value';\n\n await editableField.callMethod('setValue', newValue);\n await page.waitForChanges();\n\n // When clicking save, there is a timeout, where we allow for validation to be done, before determineing\n // if we should save the value or not. This is why we have to wait for changes here.\n await new Promise(resolve => setTimeout(resolve, 10));\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(await editableField.getProperty('editing')).toEqual(false);\n expect(await editableField.getProperty('value')).toEqual(newValue);\n expect(await inputField.getProperty('value')).toEqual(newValue);\n expect(\n await getNestedElementProperty(page, ['q2-editable-field', 'q2-input', 'input'], 'value')\n ).toEqual(newValue);\n expect(await getActiveElementTestId(page)).toEqual('editButton');\n });\n\n it('clicks edit button, updates value, but does NOT click save when told not to', async () => {\n const editButtonClickSpy = await editButton.spyOnEvent('click');\n const saveButtonClickSpy = await saveButton.spyOnEvent('click');\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(false);\n const newValue = 'New Value';\n\n await editableField.callMethod('setValue', newValue, { clickSave: false });\n await page.waitForChanges();\n\n expect(editButtonClickSpy).toHaveReceivedEventTimes(1);\n expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);\n expect(await editableField.getProperty('editing')).toEqual(true);\n expect(await editableField.getProperty('value')).toEqual('Original Value');\n expect(await inputField.getProperty('value')).toEqual('Original Value');\n expect(\n await getNestedElementProperty(page, ['q2-editable-field', 'q2-input', 'input'], 'value')\n ).toEqual(newValue);\n expect(await getActiveElementTestId(page)).toEqual('editableInput');\n });\n });\n });\n\n describe('display block', () => {\n describe('when block property is provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `<q2-editable-field block value=\"Test Value\"></q2-editable-field>`,\n });\n editableField = await page.find('q2-editable-field');\n });\n\n it('block property passes to q2-editable-field', async () => {\n expect(editableField).toHaveAttribute('block');\n expect(editableField.getAttribute('block')).toEqual('');\n });\n\n it('sets CSS to display: block', async () => {\n const editFieldDisplay = await getNestedElementStyle(page, 'q2-editable-field', 'display');\n expect(editFieldDisplay).toBe('block');\n });\n\n it('sets the q2-editable-field-wrapper CSS to display:grid', async () => {\n editableField.setProperty('editing', true);\n await page.waitForChanges();\n const wrapperDisplay = await getNestedElementStyle(\n page,\n ['q2-editable-field', '.q2-editable-field-wrapper'],\n 'display'\n );\n expect(wrapperDisplay).toEqual('grid');\n });\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n page = await setup({\n html: `<q2-editable-field aria-label=\"${label}\"></q2-editable-field>`,\n });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-editable-field'), label);\n inputField = await page.find('q2-editable-field >>> q2-input');\n\n expect(inputField).toEqualAttribute('label', label);\n expect(inputField).toHaveAttribute('hide-label');\n });\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"q2-icon-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-icon-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, EventSpy, newSpecPage, SpecPage } from '@stencil/core/testing';\nimport { evaluateA11y, getListOfStyleCompilationIssues, mockIconFetch, setup } from '../helpers';\nimport { Q2Icon } from '../../src/components/q2-icon/q2-icon';\n\ndescribe('q2-icon', () => {\n let e2ePage: E2EPage;\n let specPage: SpecPage;\n\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-icon type=\"close\"></q2-icon>`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: '<q2-icon></q2-icon>' });\n expect(await getListOfStyleCompilationIssues(page, 'q2-icon')).toHaveLength(0);\n });\n\n describe('SVG Sprite', () => {\n let standardLoadedEventSpy: EventSpy;\n let statusLoadedEventSpy: EventSpy;\n\n beforeEach(async () => {\n e2ePage = await setup({\n html: '',\n });\n e2ePage.setDefaultTimeout(5000);\n e2ePage.setContent(`<q2-icon type=\"close\"></q2-icon>`);\n standardLoadedEventSpy = await e2ePage.spyOnEvent('tct-loaded-standard');\n statusLoadedEventSpy = await e2ePage.spyOnEvent('tct-loaded-status');\n await e2ePage.waitForSelector('#tecton-sprites');\n await e2ePage.waitForSelector('#tecton-sprite-standard');\n await e2ePage.waitForChanges();\n });\n\n it('creates the sprite container', async () => {\n const spriteContainers = await e2ePage.findAll('#tecton-sprites');\n expect(spriteContainers).toHaveLength(1);\n\n const spriteContainer = spriteContainers[0];\n expect(spriteContainer).toBeTruthy();\n expect((await spriteContainer.getComputedStyle()).display).toEqual('none');\n });\n\n it('adds the sprite', async () => {\n const spriteElements = await e2ePage.findAll('#tecton-sprites > svg');\n expect(spriteElements).toHaveLength(1);\n\n const spriteElement = spriteElements[0];\n expect(spriteElement).toBeTruthy();\n expect(spriteElement).toEqualAttribute('id', 'tecton-sprite-standard');\n expect(spriteElement).toHaveAttribute('data-loaded');\n });\n\n it('fires the loaded event', async () => {\n expect(standardLoadedEventSpy).toHaveReceivedEventTimes(1);\n expect(statusLoadedEventSpy).toHaveReceivedEventTimes(0);\n });\n\n it('renders the use element to the SVG', async () => {\n const useElement = await e2ePage.find('q2-icon >>> use');\n expect(useElement).toBeTruthy();\n expect(useElement).toEqualAttribute('href', '#tct-close');\n });\n\n it('renders the symbol element to the SVG', async () => {\n const symbolElements = await e2ePage.findAll('q2-icon >>> symbol');\n\n expect(symbolElements).toHaveLength(1);\n\n const symbolElement = symbolElements[0];\n expect(symbolElement).toBeTruthy();\n expect(symbolElement).toEqualAttribute('id', 'tct-close');\n expect(symbolElement).toEqualHtml(`\n <symbol fill=\"none\" id=\"tct-close\" viewbox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"stroke-primary\">\n <path d=\"m17.875 6-12 12m0-12 12 12\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </g>\n </symbol>\n `);\n });\n\n describe('when icon is updated to one in a separate sprite', () => {\n beforeEach(async () => {\n const icon = await e2ePage.find('q2-icon');\n await icon.setProperty('type', 'success');\n await e2ePage.waitForChanges();\n await e2ePage.waitForSelector('#tecton-sprite-status');\n });\n\n it('does not create a new sprite container', async () => {\n const spriteContainers = await e2ePage.findAll('#tecton-sprites');\n expect(spriteContainers).toHaveLength(1);\n\n const spriteContainer = spriteContainers[0];\n expect(spriteContainer).toBeTruthy();\n expect((await spriteContainer.getComputedStyle()).display).toEqual('none');\n });\n\n it('adds a new sprite without removing previous one', async () => {\n const spriteElements = await e2ePage.findAll('#tecton-sprites > svg');\n expect(spriteElements).toHaveLength(2);\n\n const oldSpriteElement = spriteElements[0];\n expect(oldSpriteElement).toEqualAttribute('id', 'tecton-sprite-standard');\n\n const newSpriteElement = spriteElements[1];\n expect(newSpriteElement).toBeTruthy();\n expect(newSpriteElement).toEqualAttribute('id', 'tecton-sprite-status');\n expect(newSpriteElement).toHaveAttribute('data-loaded');\n });\n\n it('fires the loaded event', async () => {\n expect(standardLoadedEventSpy).toHaveReceivedEventTimes(1);\n expect(statusLoadedEventSpy).toHaveReceivedEventTimes(1);\n });\n\n it('renders the use element to the SVG', async () => {\n const useElement = await e2ePage.find('q2-icon >>> use');\n expect(useElement).toBeTruthy();\n expect(useElement).toEqualAttribute('href', '#tct-success');\n });\n\n it('renders the symbol element to the SVG', async () => {\n const symbolElements = await e2ePage.findAll('q2-icon >>> symbol');\n expect(symbolElements).toHaveLength(1);\n\n const symbolElement = symbolElements[0];\n expect(symbolElement).toBeTruthy();\n expect(symbolElement).toEqualAttribute('id', 'tct-success');\n expect(symbolElement).toEqualHtml(`\n <symbol fill=\"none\" id=\"tct-success\" viewbox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 21.244a9.244 9.244 0 1 0 0-18.488 9.244 9.244 0 0 0 0 18.488Z\" stroke=\"var(--comp-status-color)\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n <path d=\"m7.754 12.739 2.613 2.613 5.88-5.88\" stroke=\"var(--comp-status-color)\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n </symbol>\n `);\n });\n });\n });\n\n describe('Props', () => {\n describe('inline', () => {\n it('uses the default width and height when false', async () => {\n e2ePage = await setup({\n html: `<q2-icon type=\"a11y\"></q2-icon>`,\n });\n const icon = await e2ePage.find('q2-icon');\n const iconComputedStyle = await icon.getComputedStyle();\n expect(iconComputedStyle.width).toEqual('24px');\n expect(iconComputedStyle.height).toEqual('24px');\n });\n\n it('sets the width and height to 1em when true', async () => {\n e2ePage = await setup({\n html: `<q2-icon type=\"a11y\" inline></q2-icon>`,\n });\n const icon = await e2ePage.find('q2-icon');\n const iconComputedStyle = await icon.getComputedStyle();\n expect(iconComputedStyle.width).toEqual('16px');\n expect(iconComputedStyle.height).toEqual('16px');\n });\n });\n\n describe('label', () => {\n beforeEach(async () => {\n mockIconFetch(`\n <symbol fill=\"none\" id=\"tct-close\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"close\">\n <path class=\"stroke-primary\" d=\"m17.875 6-12 12m0-12 12 12\"></path>\n </g>\n </symbol>\n `);\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n it('renders the expected output when provided', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon label=\"Iron Man\" type=\"close\"></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(`\n <q2-icon label=\"Iron Man\" type=\"close\">\n <mock:shadow-root>\n <svg aria-labelledby=\"label\" role=\"img\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <title id=\"label\">\n Iron Man\n </title>\n <use href=\"#tct-close\"></use>\n <g>\n <symbol fill=\"none\" id=\"tct-close\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"close\">\n <path class=\"stroke-primary\" d=\"m17.875 6-12 12m0-12 12 12\"></path>\n </g>\n </symbol>\n </g>\n </svg>\n </mock:shadow-root>\n </q2-icon>\n `);\n });\n });\n\n describe('type', () => {\n beforeEach(async () => {\n mockIconFetch(`\n <symbol fill=\"none\" id=\"tct-close\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"close\">\n <path class=\"stroke-primary\" d=\"m17.875 6-12 12m0-12 12 12\"></path>\n </g>\n </symbol>\n `);\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n it('renders nothing when not provided', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(emptyIconMarkup);\n });\n\n it('renders expected output when provided', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon type=\"close\"></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(closeIconMarkup);\n });\n\n it('clears the content when removed', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon type=\"close\"></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(closeIconMarkup);\n\n specPage.root.type = undefined;\n await specPage.waitForChanges();\n\n expect(specPage.root).toEqualHtml(emptyIconMarkup);\n });\n\n it('updates the content when added', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(emptyIconMarkup);\n\n specPage.root.type = 'close';\n await specPage.waitForChanges();\n\n expect(specPage.root).toEqualHtml(closeIconMarkup);\n });\n\n it('does not add the href to the use element if the icon is not found', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: '<q2-icon type=\"not-found\"></q2-icon>',\n });\n\n expect(specPage.root).toEqualHtml(notFoundIconMarkup);\n });\n\n describe(\"when type is 'custom'\", () => {\n it('it renders in a slot and adds necessary attributes', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: `\n <q2-icon type=\"custom\">\n <svg viewBox=\"0 0 34 34\">\n <circle cx=\"17\" cy=\"17\" r=\"10\" />\n </svg>\n </q2-icon>\n `,\n });\n\n const svg = specPage.root.querySelector('svg');\n\n expect(svg).toEqualAttribute('role', 'img');\n expect(svg).toEqualAttribute('xmlns', 'http://www.w3.org/2000/svg');\n expect(svg).toEqualAttribute('aria-hidden', 'true');\n expect(svg).not.toHaveAttribute('aria-labelledby');\n\n expect(specPage.root).toEqualHtml(`\n <q2-icon type=\"custom\">\n <mock:shadow-root>\n <slot />\n </mock:shadow-root>\n <svg aria-hidden=\"true\" role=\"img\" viewBox=\"0 0 34 34\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"17\" cy=\"17\" r=\"10\" />\n </svg>\n </q2-icon>\n `);\n });\n\n it('it renders in a slot and adds necessary attributes when label is provided', async () => {\n specPage = await newSpecPage({\n components: [Q2Icon],\n html: `\n <q2-icon type=\"custom\" label=\"Iron Man\">\n <svg viewBox=\"0 0 34 34\">\n <circle cx=\"17\" cy=\"17\" r=\"10\" />\n </svg>\n </q2-icon>\n `,\n });\n\n const svg = specPage.root.querySelector('svg');\n\n expect(svg).toEqualAttribute('role', 'img');\n expect(svg).toEqualAttribute('xmlns', 'http://www.w3.org/2000/svg');\n expect(svg).not.toHaveAttribute('aria-hidden');\n expect(svg).toHaveAttribute('aria-labelledby');\n\n expect(specPage.root).toEqualHtml(`\n <q2-icon label=\"Iron Man\" type=\"custom\">\n <mock:shadow-root>\n <slot />\n </mock:shadow-root>\n <svg aria-labelledby=\"label-1000\" role=\"img\" viewBox=\"0 0 34 34\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"17\" cy=\"17\" r=\"10\" />\n <title id=\"label-1000\">\n Iron Man\n </title>\n </svg>\n </q2-icon>\n `);\n });\n });\n });\n });\n\n describe('Styling', () => {\n describe('fill', () => {\n it('uses fallback color when override not provided', async () => {\n e2ePage = await setup({\n html: `<q2-icon type=\"brand-facebook-color\"></q2-icon>`,\n });\n const pathElements = await e2ePage.findAll('q2-icon >>> path');\n const pathOneStyle = await pathElements[0].getComputedStyle();\n const pathTwoStyle = await pathElements[1].getComputedStyle();\n expect(pathOneStyle.fill).toEqual('rgb(57, 87, 154)');\n expect(pathTwoStyle.fill).toEqual('rgb(255, 255, 255)');\n });\n\n it('uses override color when provided', async () => {\n e2ePage = await setup({\n html: `<q2-icon type=\"brand-facebook-color\" style=\"--tct-icon-brand-fill-primary: blue; --tct-icon-brand-fill-secondary: red;\"></q2-icon>`,\n });\n const pathElements = await e2ePage.findAll('q2-icon >>> path');\n const pathOneStyle = await pathElements[0].getComputedStyle();\n const pathTwoStyle = await pathElements[1].getComputedStyle();\n expect(pathOneStyle.fill).toEqual('rgb(0, 0, 255)');\n expect(pathTwoStyle.fill).toEqual('rgb(255, 0, 0)');\n });\n });\n });\n\n describe('Getters', () => {\n describe('isCustom', () => {\n it(\"returns true when type is 'custom'\", () => {\n const icon = new Q2Icon();\n icon.type = 'custom';\n expect(icon.isCustom).toBeTruthy();\n });\n\n it(\"returns false when type is not 'custom'\", () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n expect(icon.isCustom).toBeFalsy();\n });\n });\n\n describe('spriteFileName', () => {\n it(\"returns undefined when type is 'custom'\", () => {\n const icon = new Q2Icon();\n icon.type = 'custom';\n expect(icon.spriteFileName).toBeUndefined();\n });\n\n it('returns undefined when type does not map to a file', () => {\n const icon = new Q2Icon();\n icon.type = 'foobar';\n expect(icon.spriteFileName).toBeUndefined();\n });\n\n it(\"returns the sprite filename when type is not 'custom'\", () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n expect(icon.spriteFileName).toEqual('standard');\n });\n });\n\n describe('spriteId', () => {\n it(\"returns undefined when type is 'custom'\", () => {\n const icon = new Q2Icon();\n icon.type = 'custom';\n expect(icon.spriteId).toBeUndefined();\n });\n\n it('returns undefined when spriteFileName is undefined', () => {\n const icon = new Q2Icon();\n icon.type = 'foobar';\n expect(icon.spriteId).toBeUndefined();\n });\n\n it('returns the sprite ID when spriteFileName is defined', () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n expect(icon.spriteId).toEqual('tecton-sprite-standard');\n });\n });\n\n describe('spriteElement', () => {\n it('returns undefined when spriteId is undefined', () => {\n const icon = new Q2Icon();\n icon.type = 'foobar';\n expect(icon.spriteElement).toBeUndefined();\n });\n\n it('returns the sprite element when spriteId is defined', () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n\n const element = document.createElement('div');\n element.id = 'tecton-sprite-standard';\n document.body.appendChild(element);\n\n expect(icon.spriteElement).toBeTruthy();\n\n element.remove();\n });\n });\n\n describe('spriteEventName', () => {\n it('returns undefined when spriteFileName is undefined', () => {\n const icon = new Q2Icon();\n icon.type = 'foobar';\n expect(icon.spriteEventName).toBeUndefined();\n });\n\n it('returns the event name when spriteFileName is defined', () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n expect(icon.spriteEventName).toEqual('tct-loaded-standard');\n });\n });\n });\n\n describe('Methods', () => {\n describe('getOrCreateSpriteContainer', () => {\n it('returns the existing sprite container', () => {\n const icon = new Q2Icon();\n const spriteContainer = document.createElement('div');\n spriteContainer.id = 'tecton-sprites';\n document.body.appendChild(spriteContainer);\n\n expect(icon.getOrCreateSpriteContainer()).toEqual(spriteContainer);\n\n spriteContainer.remove();\n });\n\n it('creates and returns a new sprite container', () => {\n const icon = new Q2Icon();\n const spriteContainer = icon.getOrCreateSpriteContainer();\n\n expect(spriteContainer).toBeTruthy();\n expect(spriteContainer).toEqualAttribute('id', 'tecton-sprites');\n });\n });\n\n describe('fetchSprite', () => {\n beforeEach(async () => {\n mockIconFetch();\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n it('does nothing when type is not defined', async () => {\n const icon = new Q2Icon();\n icon.fetchSprite();\n expect(icon.spriteElement).toBeUndefined();\n });\n\n it('does not try to recreate sprite element if it already exists', async () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n\n const container = icon.getOrCreateSpriteContainer();\n const spriteElement = document.createElement('SVG');\n spriteElement.id = 'tecton-sprite-standard';\n spriteElement.setAttribute('data-loaded', '');\n container.appendChild(spriteElement);\n\n expect(icon.spriteElement).toEqual(spriteElement);\n\n await icon.fetchSprite();\n\n expect(icon.spriteElement).toEqual(spriteElement);\n\n spriteElement.remove();\n });\n\n it('fetches the sprite when type is defined', async () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n\n await icon.fetchSprite();\n\n expect(icon.spriteElement.tagName.toUpperCase()).toEqual('SVG');\n });\n });\n\n describe('cloneSpriteNode', () => {\n it('returns undefined when spriteElement is undefined', () => {\n const icon = new Q2Icon();\n icon.type = 'foobar';\n icon.cloneSpriteNode();\n expect(icon.iconClone).toBeUndefined();\n });\n\n it('returns a clone of the sprite element', () => {\n const icon = new Q2Icon();\n icon.type = 'close';\n\n const container = icon.getOrCreateSpriteContainer();\n\n const element = document.createElement('div');\n element.id = 'tct-close';\n container.appendChild(element);\n\n icon.cloneSpriteNode();\n\n expect(icon.iconClone).toBeTruthy();\n expect(icon.iconClone).toEqualAttribute('id', 'tct-close');\n\n element.remove();\n });\n });\n });\n});\n\nconst notFoundIconMarkup = `\n <q2-icon type=\"not-found\">\n <mock:shadow-root>\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <use></use>\n <g></g>\n </svg>\n </mock:shadow-root>\n </q2-icon>\n`;\n\nconst closeIconMarkup = `\n <q2-icon type=\"close\">\n <mock:shadow-root>\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <use href=\"#tct-close\"></use>\n <g>\n <symbol fill=\"none\" id=\"tct-close\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g class=\"close\">\n <path class=\"stroke-primary\" d=\"m17.875 6-12 12m0-12 12 12\"></path>\n </g>\n </symbol>\n </g>\n </svg>\n </mock:shadow-root>\n </q2-icon>\n`;\n\nconst emptyIconMarkup = `\n <q2-icon>\n <mock:shadow-root>\n <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <g></g>\n </svg>\n </mock:shadow-root>\n </q2-icon>\n`;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"q2-input-credit-card-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-input-credit-card-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { setup, dispatchEvent, evaluateA11y } from '../helpers';\n\ndescribe('q2-input credit-card', () => {\n describe('[A11y] guideline compliance', () => {\n it('Does not have accessibility violations with only label', async () => {\n const page = await setup({\n html: `<q2-input label=\"Credit Card\" type=\"credit-card\" />`,\n });\n const hasViolations = await evaluateA11y(page);\n expect(hasViolations).toBe(false);\n });\n });\n\n it('should handle credit card numbers', async function (): Promise<void> {\n const page = await setup({ html: '<q2-input label=\"Credit Card\" type=\"credit-card\" />' });\n const innerInput = await page.find('q2-input >>> .input-field');\n const icon = await page.find('q2-input >>> q2-icon');\n\n // show the processor's icon\n await innerInput.press('4');\n\n await page.waitForChanges();\n\n expect(icon.getAttribute('type')).toEqual('card-visa-color');\n\n // format on paste\n await dispatchEvent(page, ['q2-input', '.input-field'], 'paste', {\n pastedValue: '41111111111111',\n });\n await page.waitForChanges();\n\n let inputValue = await innerInput.getProperty('value');\n expect(inputValue).toEqual('4411 1111 1111 111');\n\n // restrict max length\n await dispatchEvent(page, ['q2-input', '.input-field'], 'paste', {\n pastedValue: '44',\n });\n await page.waitForChanges();\n\n inputValue = await innerInput.getProperty('value');\n expect(inputValue).toEqual('4411 1111 1111 1114');\n });\n it('should inform the user if the card is of unknown type', async function (): Promise<void> {\n const page = await setup({ html: '<q2-input label=\"Credit Card\" type=\"credit-card\" />' });\n const innerInput = await page.find('q2-input >>> .input-field');\n const icon = await page.find('q2-input >>> q2-icon');\n\n // show the processor's icon\n await innerInput.press('9');\n await innerInput.press('1');\n\n await page.waitForChanges();\n\n expect(icon.getAttribute('type')).toEqual('card-unknown');\n });\n it('should mask the number based on processor', async function (): Promise<void> {\n const page = await setup({ html: '<q2-input label=\"Credit Card\" type=\"credit-card\" />' });\n const innerInput = await page.find('q2-input >>> .input-field');\n\n // show the processor's icon\n await innerInput.press('4');\n await innerInput.press('1');\n await innerInput.press('1');\n await innerInput.press('1');\n await innerInput.press('1');\n\n await page.waitForChanges();\n\n const inputValue = await innerInput.getProperty('value');\n expect(inputValue).toEqual('4111 1');\n });\n it('should show the number pad on focus', async function (): Promise<void> {\n const page = await setup({ html: '<q2-input label=\"Credit Card\" type=\"credit-card\" />' });\n const innerInput = await page.find('q2-input >>> .input-field');\n expect(await innerInput.getProperty('type')).toEqual('text');\n expect(await innerInput.getAttribute('inputmode')).toEqual('numeric');\n });\n\n it('should fire input event that includes card type on input', async function () {\n const page = await setup({ html: '<q2-input label=\"foo\" type=\"credit-card\" />' });\n const input = await page.find('q2-input');\n const innerInput = await page.find('q2-input >>> .input-field');\n\n const inputSpy = await input.spyOnEvent('input');\n\n await innerInput.press('4');\n\n await page.waitForChanges();\n // should receive a formatted input event\n expect(inputSpy).toHaveReceivedEventDetail({\n value: '4',\n formattedValue: '4',\n minFormattedLength: 19,\n type: 'visa',\n });\n });\n\n it('should fire input event that includes card type on paste', async function () {\n const page = await setup({ html: '<q2-input label=\"foo\" type=\"credit-card\" />' });\n const input = await page.find('q2-input');\n\n const inputSpy = await input.spyOnEvent('input');\n\n await dispatchEvent(page, ['q2-input', '.input-field'], 'paste', {\n pastedValue: '4',\n });\n\n await page.waitForChanges();\n // should receive a formatted input event\n expect(inputSpy).toHaveReceivedEventDetail({\n value: '4',\n formattedValue: '4',\n minFormattedLength: 19,\n type: 'visa',\n });\n });\n\n it('should fire change event that includes card type on blur', async function () {\n const page = await setup({ html: '<q2-input label=\"foo\" type=\"credit-card\" />' });\n const input = await page.find('q2-input');\n const innerInput = await page.find('q2-input >>> .input-field');\n\n await innerInput.press('4');\n\n await page.waitForChanges();\n const changeSpy = await input.spyOnEvent('change');\n\n await dispatchEvent(page, ['q2-input', '.input-field'], 'blur');\n\n // should receive formatted change event\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '4',\n formattedValue: '4',\n minFormattedLength: 19,\n type: 'visa',\n });\n expect(changeSpy).toHaveReceivedEventTimes(1);\n });\n\n it('should fire change event that includes card type on blur from hitting enter', async function () {\n const page = await setup({ html: '<q2-input label=\"foo\" type=\"credit-card\" />' });\n const input = await page.find('q2-input');\n const innerInput = await page.find('q2-input >>> .input-field');\n\n await innerInput.press('4');\n\n await page.waitForChanges();\n const changeSpy = await input.spyOnEvent('change');\n\n await dispatchEvent(page, ['q2-input', '.input-field'], 'keydown', { key: 'Enter' });\n\n // should receive formatted change event\n expect(changeSpy).toHaveReceivedEventDetail({\n value: '4',\n formattedValue: '4',\n minFormattedLength: 19,\n type: 'visa',\n });\n expect(changeSpy).toHaveReceivedEventTimes(1);\n });\n});\n"]}
|