q2-tecton-elements 1.51.0 → 1.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +16 -5
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-9aa4a776.js → index-07285783.js} +86 -2
- package/dist/cjs/index-07285783.js.map +1 -0
- package/dist/cjs/{index-14c3693c.js → index-e7e68b1e.js} +40 -5
- package/dist/cjs/index-e7e68b1e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
- package/dist/cjs/q2-badge_7.cjs.entry.js +49 -44
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +17 -20
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +4 -2
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
- package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js +16 -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-donut.cjs.entry.js +19 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -5
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +14 -2
- package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +3 -3
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +12 -14
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +7 -5
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
- package/dist/cjs/q2-example.cjs.entry.js +145 -0
- package/dist/cjs/q2-example.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-formatted-text.cjs.entry.js +2 -2
- package/dist/cjs/q2-item.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-link.cjs.entry.js +4 -4
- package/dist/cjs/q2-link.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +6 -7
- package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +52 -3
- package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-month-picker.cjs.entry.js +4 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js +5 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +50 -33
- package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +11 -7
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +19 -18
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +8 -6
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +6 -5
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +5 -4
- package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -4
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +6 -4
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +6 -4
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{shapes-be198cc0.js → shapes-5d45fc11.js} +2 -2
- package/dist/cjs/{shapes-be198cc0.js.map → shapes-5d45fc11.js.map} +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +16 -18
- 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/test/q2-calendar-test.e2e.js +27 -0
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.js +2 -0
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +42 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js +15 -0
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +41 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js +11 -0
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +30 -23
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +4 -3
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +37 -1
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js +34 -23
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js +6 -4
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +5 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +10 -4
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +59 -14
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +29 -11
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +9 -11
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +108 -74
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
- package/dist/collection/components/q2-example/q2-example.css +66 -0
- package/dist/collection/components/q2-example/q2-example.js +312 -0
- package/dist/collection/components/q2-example/q2-example.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js +27 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js +126 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.spec.js +10 -0
- package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js +20 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/date.js +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.spec.js +17 -0
- package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js +32 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js +16 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/postal.js +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.spec.js +28 -0
- package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -0
- package/dist/collection/components/q2-input/q2-input.js +58 -44
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +259 -2106
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js +4035 -0
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-link/q2-link.css +17 -20
- package/dist/collection/components/q2-link/q2-link.js +2 -2
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +6 -6
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +4 -5
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +66 -4
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +19 -30
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +164 -0
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -0
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -2
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.css +1 -1
- package/dist/collection/components/q2-option/q2-option.js +57 -34
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +110 -106
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js +532 -0
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +9 -5
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +18 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js +18 -17
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +128 -57
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +17 -4
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +19 -9
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +2 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +6 -4
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +5 -3
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +123 -62
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js +4 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -2
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +46 -2
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js +26 -0
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +4 -3
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +5 -2
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +55 -4
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/helpers.js +63 -41
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js +83 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +84 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-calendar.js +16 -18
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card.js +2 -0
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-chart-area.js +16 -2
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +19 -2
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +5 -4
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-currency.js +15 -2
- package/dist/components/q2-currency.js.map +1 -1
- package/dist/components/q2-data-table.js +1 -1
- 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 +12 -26
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +6 -3
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-example.d.ts +11 -0
- package/dist/components/q2-example.js +170 -0
- package/dist/components/q2-example.js.map +1 -0
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-input2.js +41 -37
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-link.js +3 -3
- package/dist/components/q2-link.js.map +1 -1
- package/dist/components/q2-list.js +4 -5
- package/dist/components/q2-list.js.map +1 -1
- package/dist/components/q2-loc.js +55 -2
- package/dist/components/q2-loc.js.map +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +3 -2
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option2.js +52 -33
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +9 -5
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +18 -17
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +16 -4
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +3 -3
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +6 -4
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select2.js +6 -4
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +3 -2
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +16 -3
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +4 -2
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +4 -3
- 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 +5 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +16 -5
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-1e1ce94e.js → index-7a5365e2.js} +40 -5
- package/dist/esm/index-7a5365e2.js.map +1 -0
- package/dist/esm/{index-844fc010.js → index-d18e2a20.js} +86 -3
- package/dist/esm/index-d18e2a20.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/q2-action-group.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +3 -3
- package/dist/esm/q2-avatar.entry.js +2 -2
- package/dist/esm/q2-badge_7.entry.js +49 -44
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +17 -20
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +4 -2
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +4 -4
- package/dist/esm/q2-carousel.entry.js +2 -2
- package/dist/esm/q2-chart-area.entry.js +16 -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-donut.entry.js +19 -3
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +6 -5
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +14 -2
- package/dist/esm/q2-currency.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +3 -3
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +3 -3
- package/dist/esm/q2-dropdown-item.entry.js +12 -14
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +7 -5
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +3 -3
- package/dist/esm/q2-example.entry.js +141 -0
- package/dist/esm/q2-example.entry.js.map +1 -0
- package/dist/esm/q2-formatted-text.entry.js +2 -2
- package/dist/esm/q2-item.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-link.entry.js +4 -4
- package/dist/esm/q2-link.entry.js.map +1 -1
- package/dist/esm/q2-list.entry.js +6 -7
- package/dist/esm/q2-list.entry.js.map +1 -1
- package/dist/esm/q2-loading-element.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +52 -3
- package/dist/esm/q2-loc.entry.js.map +1 -1
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-month-picker.entry.js +4 -4
- package/dist/esm/q2-optgroup.entry.js +5 -4
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +50 -33
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +11 -7
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +19 -18
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +5 -5
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-resize-observer.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +8 -6
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +6 -5
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +5 -4
- package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +16 -4
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +6 -4
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +6 -4
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +3 -3
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-tooltip.entry.js +2 -2
- package/dist/esm/{shapes-36183b2a.js → shapes-c7e1a3fa.js} +2 -2
- package/dist/esm/{shapes-36183b2a.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +3 -3
- package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js +77 -0
- package/dist/q2-tecton-elements/{p-b7554a79.js.map → action-sheet-e64cb6f7.js.map} +1 -1
- package/dist/q2-tecton-elements/app-globals-0f993ce5.js +4 -0
- package/dist/q2-tecton-elements/{p-e1255160.js.map → app-globals-0f993ce5.js.map} +1 -1
- package/dist/q2-tecton-elements/charting-1abfb877.js +34872 -0
- package/dist/q2-tecton-elements/{p-2941aafa.js.map → charting-1abfb877.js.map} +1 -1
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +410 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/dataSample-7b62e101.js +2602 -0
- package/dist/q2-tecton-elements/{p-ad80aef0.js.map → dataSample-7b62e101.js.map} +1 -1
- package/dist/q2-tecton-elements/index-3184c760.js +18168 -0
- package/dist/q2-tecton-elements/{p-f1e887f5.js.map → index-3184c760.js.map} +1 -1
- package/dist/q2-tecton-elements/index-7a5365e2.js +1792 -0
- package/dist/q2-tecton-elements/index-7a5365e2.js.map +1 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js +323 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +56 -0
- package/dist/q2-tecton-elements/{p-5637c486.entry.js.map → q2-action-group.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1480 -0
- package/dist/q2-tecton-elements/{p-188eb162.entry.js.map → q2-action-sheet.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +101 -0
- package/dist/q2-tecton-elements/{p-07d1c3ae.entry.js.map → q2-avatar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +5449 -0
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1313 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-card.entry.js +170 -0
- package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +130 -0
- package/dist/q2-tecton-elements/{p-7aef0c08.entry.js.map → q2-carousel-pane.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.js +4613 -0
- package/dist/q2-tecton-elements/{p-e216ef3f.entry.js.map → q2-carousel.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +4330 -0
- package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1479 -0
- package/dist/q2-tecton-elements/{p-7906f49e.entry.js.map → q2-chart-bar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +4537 -0
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +166 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +223 -0
- package/dist/q2-tecton-elements/{p-b7de110e.entry.js.map → q2-checkbox.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +153 -0
- package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-data-table.entry.js +622 -0
- package/dist/q2-tecton-elements/{p-7903cd15.entry.js.map → q2-data-table.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +128 -0
- package/dist/q2-tecton-elements/{p-f5f23659.entry.js.map → q2-detail.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +146 -0
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +432 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +296 -0
- package/dist/q2-tecton-elements/{p-896c7008.entry.js.map → q2-editable-field.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-example.entry.js +152 -0
- package/dist/q2-tecton-elements/q2-example.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +73 -0
- package/dist/q2-tecton-elements/{p-7c9f8b62.entry.js.map → q2-formatted-text.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +158 -0
- package/dist/q2-tecton-elements/{p-7c9a0122.entry.js.map → q2-item.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +146 -0
- package/dist/q2-tecton-elements/{p-ff8f1a32.entry.js.map → q2-legend.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-link.entry.js +83 -0
- package/dist/q2-tecton-elements/q2-link.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-list.entry.js +100 -0
- package/dist/q2-tecton-elements/q2-list.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-loading-element.entry.js +36 -0
- package/dist/q2-tecton-elements/{p-a068c84c.entry.js.map → q2-loading-element.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +82 -0
- package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-message.entry.js +99 -0
- package/dist/q2-tecton-elements/{p-8d2b02e1.entry.js.map → q2-message.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +198 -0
- package/dist/q2-tecton-elements/{p-8d07cf91.entry.js.map → q2-month-picker.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +88 -0
- package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-option-list.entry.js +585 -0
- package/dist/q2-tecton-elements/{p-a5d0e252.entry.js.map → q2-option-list.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +110 -0
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js +377 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js +434 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +227 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio.entry.js +144 -0
- package/dist/q2-tecton-elements/{p-c235ab3f.entry.js.map → q2-radio.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +162 -0
- package/dist/q2-tecton-elements/{p-95a7c042.entry.js.map → q2-relative-time.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +100 -0
- package/dist/q2-tecton-elements/{p-e2c800ef.entry.js.map → q2-resize-observer.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +256 -0
- package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-select.entry.js +684 -0
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +124 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +356 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js +332 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js +213 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +21 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +364 -0
- package/dist/q2-tecton-elements/{p-f135b265.entry.js.map → q2-textarea.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +105 -0
- package/dist/q2-tecton-elements/{p-c5667d5d.entry.js.map → q2-tooltip.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/sectorHelper-183cedd0.js +949 -0
- package/dist/q2-tecton-elements/{p-eea5aa01.js.map → sectorHelper-183cedd0.js.map} +1 -1
- package/dist/q2-tecton-elements/shapes-c7e1a3fa.js +132 -0
- package/dist/q2-tecton-elements/{p-50b425de.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +134 -0
- package/dist/q2-tecton-elements/{p-96b1406c.entry.js.map → tecton-tab-pane.entry.js.map} +1 -1
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +4 -5
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +6 -0
- package/dist/types/components/q2-currency/q2-currency.d.ts +7 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -1
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +2 -2
- package/dist/types/components/q2-example/q2-example.d.ts +119 -0
- package/dist/types/components/q2-input/formatting/date.d.ts +22 -0
- package/dist/types/components/q2-input/formatting/postal.d.ts +197 -0
- package/dist/types/components/q2-input/q2-input.d.ts +15 -12
- package/dist/types/components/q2-loc/q2-loc.d.ts +15 -1
- package/dist/types/components/q2-option/q2-option.d.ts +11 -3
- package/dist/types/components/q2-pill/q2-pill.d.ts +3 -3
- package/dist/types/components/q2-popover/q2-popover.d.ts +1 -0
- package/dist/types/components/q2-select/q2-select.d.ts +1 -1
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +6 -0
- package/dist/types/components/q2-tag/q2-tag.d.ts +1 -1
- package/dist/types/components.d.ts +104 -14
- package/dist/types/utils/helpers.d.ts +13 -0
- package/dist/types/utils/index.d.ts +11 -0
- package/package.json +7 -7
- package/dist/cjs/index-14c3693c.js.map +0 -1
- package/dist/cjs/index-9aa4a776.js.map +0 -1
- package/dist/esm/index-1e1ce94e.js.map +0 -1
- package/dist/esm/index-844fc010.js.map +0 -1
- package/dist/q2-tecton-elements/p-06701928.entry.js +0 -2
- package/dist/q2-tecton-elements/p-06701928.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-07d1c3ae.entry.js +0 -2
- package/dist/q2-tecton-elements/p-15ac45d6.js +0 -2
- package/dist/q2-tecton-elements/p-15ac45d6.js.map +0 -1
- package/dist/q2-tecton-elements/p-16910682.entry.js +0 -2
- package/dist/q2-tecton-elements/p-16910682.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-188eb162.entry.js +0 -3
- package/dist/q2-tecton-elements/p-1c760a89.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c760a89.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1c88d057.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c88d057.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js +0 -2
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2733583e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2733583e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2941aafa.js +0 -39
- package/dist/q2-tecton-elements/p-3e428290.entry.js +0 -2
- package/dist/q2-tecton-elements/p-3e428290.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4e10550d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4e10550d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-50b425de.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5637c486.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5a834214.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5a834214.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-72d948b4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-72d948b4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7903cd15.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7906f49e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7aef0c08.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9a0122.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9f8b62.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-896c7008.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d07cf91.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d2b02e1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-95a7c042.entry.js +0 -2
- package/dist/q2-tecton-elements/p-96b1406c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a068c84c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a5d0e252.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a5f18e27.js +0 -3
- package/dist/q2-tecton-elements/p-a5f18e27.js.map +0 -1
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad057d10.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ad057d10.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad798287.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ad798287.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad80aef0.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b1784be3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b1784be3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b7554a79.js +0 -2
- package/dist/q2-tecton-elements/p-b7de110e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c235ab3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c5667d5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e1255160.js +0 -2
- package/dist/q2-tecton-elements/p-e216ef3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e2c800ef.entry.js +0 -2
- package/dist/q2-tecton-elements/p-eea5aa01.js +0 -2
- package/dist/q2-tecton-elements/p-f135b265.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f1e887f5.js +0 -2
- package/dist/q2-tecton-elements/p-f5f23659.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ff8f1a32.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js.map +0 -1
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
import { setupSpecPageWithLoc } from "../../../utils/helpers";
|
|
2
|
+
import { Q2Option } from "../q2-option";
|
|
3
|
+
describe('q2-option', () => {
|
|
4
|
+
let specPage;
|
|
5
|
+
let optionClass;
|
|
6
|
+
let optionElement;
|
|
7
|
+
const testStringsDict = {
|
|
8
|
+
'tecton.element.option.test': 'Option Text',
|
|
9
|
+
'tecton.element.option.changed': 'Option Changed',
|
|
10
|
+
'tecton.element.loc.test': 'Loc Text',
|
|
11
|
+
};
|
|
12
|
+
describe('Initialization', () => {
|
|
13
|
+
it('renders with default attributes', async () => {
|
|
14
|
+
specPage = await setupSpecPageWithLoc({
|
|
15
|
+
components: [Q2Option],
|
|
16
|
+
html: '<q2-option></q2-option>',
|
|
17
|
+
});
|
|
18
|
+
optionClass = specPage.rootInstance;
|
|
19
|
+
optionElement = specPage.root;
|
|
20
|
+
expect(optionClass).toBeTruthy();
|
|
21
|
+
expect(optionClass._multiSelectHidden).toBeFalsy();
|
|
22
|
+
expect(optionClass.active).toBeFalsy();
|
|
23
|
+
expect(optionClass.disabled).toBeFalsy();
|
|
24
|
+
expect(optionClass.disabledGroup).toBeFalsy();
|
|
25
|
+
expect(optionClass.display).toBe('');
|
|
26
|
+
expect(optionClass.multiline).toBeFalsy();
|
|
27
|
+
expect(optionClass.role).toBe('option');
|
|
28
|
+
expect(optionClass.selected).toBeFalsy();
|
|
29
|
+
expect(optionClass.value).toBeFalsy();
|
|
30
|
+
expect(optionElement).toBeTruthy();
|
|
31
|
+
expect(optionElement.getAttribute('tabindex')).toBe('-1');
|
|
32
|
+
expect(optionElement.getAttribute('aria-disabled')).toBeFalsy();
|
|
33
|
+
expect(optionElement.getAttribute('aria-selected')).toBe('false');
|
|
34
|
+
expect(optionElement.getAttribute('aria-hidden')).toBeFalsy();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('Props', () => {
|
|
38
|
+
describe('_multiSelectHidden', () => {
|
|
39
|
+
describe('when provided', () => {
|
|
40
|
+
it('sets aria-hidden to true', async () => {
|
|
41
|
+
specPage = await setupSpecPageWithLoc({
|
|
42
|
+
components: [Q2Option],
|
|
43
|
+
html: '<q2-option _multiSelectHidden></q2-option>',
|
|
44
|
+
});
|
|
45
|
+
optionElement = specPage.root;
|
|
46
|
+
expect(optionElement.getAttribute('aria-hidden')).toBe('true');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
describe('when not provided', () => {
|
|
50
|
+
it('sets aria-hidden to false', async () => {
|
|
51
|
+
specPage = await setupSpecPageWithLoc({
|
|
52
|
+
components: [Q2Option],
|
|
53
|
+
html: '<q2-option></q2-option>',
|
|
54
|
+
});
|
|
55
|
+
optionElement = specPage.root;
|
|
56
|
+
expect(optionElement.getAttribute('aria-hidden')).toBeFalsy();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('active', () => {
|
|
61
|
+
describe('when provided', () => {
|
|
62
|
+
it('sets the property to true', async () => {
|
|
63
|
+
specPage = await setupSpecPageWithLoc({
|
|
64
|
+
components: [Q2Option],
|
|
65
|
+
html: '<q2-option active></q2-option>',
|
|
66
|
+
});
|
|
67
|
+
optionClass = specPage.rootInstance;
|
|
68
|
+
expect(optionClass.active).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('sets the property to false', async () => {
|
|
71
|
+
specPage = await setupSpecPageWithLoc({
|
|
72
|
+
components: [Q2Option],
|
|
73
|
+
html: '<q2-option active="false"></q2-option>',
|
|
74
|
+
});
|
|
75
|
+
optionClass = specPage.rootInstance;
|
|
76
|
+
expect(optionClass.active).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
describe('when not provided', () => {
|
|
80
|
+
it('sets the property to undefined', async () => {
|
|
81
|
+
specPage = await setupSpecPageWithLoc({
|
|
82
|
+
components: [Q2Option],
|
|
83
|
+
html: '<q2-option></q2-option>',
|
|
84
|
+
});
|
|
85
|
+
optionClass = specPage.rootInstance;
|
|
86
|
+
expect(optionClass.active).toBeUndefined();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe('disabled', () => {
|
|
91
|
+
describe('when provided', () => {
|
|
92
|
+
describe('when true', () => {
|
|
93
|
+
it('sets aria-disabled to true', async () => {
|
|
94
|
+
specPage = await setupSpecPageWithLoc({
|
|
95
|
+
components: [Q2Option],
|
|
96
|
+
html: '<q2-option disabled></q2-option>',
|
|
97
|
+
});
|
|
98
|
+
optionElement = specPage.root;
|
|
99
|
+
expect(optionElement.getAttribute('aria-disabled')).toBe('true');
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
describe('when false', () => {
|
|
103
|
+
it('does not set the aria-disabled attribute', async () => {
|
|
104
|
+
specPage = await setupSpecPageWithLoc({
|
|
105
|
+
components: [Q2Option],
|
|
106
|
+
html: '<q2-option disabled="false"></q2-option>',
|
|
107
|
+
});
|
|
108
|
+
optionElement = specPage.root;
|
|
109
|
+
expect(optionElement.getAttribute('aria-disabled')).toBeNull();
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('when not provided', () => {
|
|
114
|
+
it('does not set the aria-disabled attribute', async () => {
|
|
115
|
+
specPage = await setupSpecPageWithLoc({
|
|
116
|
+
components: [Q2Option],
|
|
117
|
+
html: '<q2-option></q2-option>',
|
|
118
|
+
});
|
|
119
|
+
optionElement = specPage.root;
|
|
120
|
+
expect(optionElement.getAttribute('aria-disabled')).toBeNull();
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
describe('disabledGroup', () => {
|
|
125
|
+
describe('when provided', () => {
|
|
126
|
+
describe('when true', () => {
|
|
127
|
+
it('sets aria-disabled to true', async () => {
|
|
128
|
+
specPage = await setupSpecPageWithLoc({
|
|
129
|
+
components: [Q2Option],
|
|
130
|
+
html: '<q2-option disabled-group></q2-option>',
|
|
131
|
+
});
|
|
132
|
+
optionElement = specPage.root;
|
|
133
|
+
expect(optionElement.getAttribute('aria-disabled')).toBe('true');
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
describe('when false', () => {
|
|
137
|
+
it('does not set the aria-disabled attribute', async () => {
|
|
138
|
+
specPage = await setupSpecPageWithLoc({
|
|
139
|
+
components: [Q2Option],
|
|
140
|
+
html: '<q2-option disabled-group="false"></q2-option>',
|
|
141
|
+
});
|
|
142
|
+
optionElement = specPage.root;
|
|
143
|
+
expect(optionElement.getAttribute('aria-disabled')).toBeNull();
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
describe('when not provided', () => {
|
|
148
|
+
it('does not set the aria-disabled attribute', async () => {
|
|
149
|
+
specPage = await setupSpecPageWithLoc({
|
|
150
|
+
components: [Q2Option],
|
|
151
|
+
html: '<q2-option></q2-option>',
|
|
152
|
+
});
|
|
153
|
+
optionElement = specPage.root;
|
|
154
|
+
expect(optionElement.getAttribute('aria-disabled')).toBeNull();
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
describe('display', () => {
|
|
159
|
+
describe('when provided', () => {
|
|
160
|
+
it('sets the value of the display property', async () => {
|
|
161
|
+
specPage = await setupSpecPageWithLoc({
|
|
162
|
+
components: [Q2Option],
|
|
163
|
+
html: '<q2-option display="My Display"></q2-option>',
|
|
164
|
+
});
|
|
165
|
+
optionClass = specPage.rootInstance;
|
|
166
|
+
optionElement = specPage.root;
|
|
167
|
+
expect(optionClass.display).toBe('My Display');
|
|
168
|
+
expect(optionElement.display).toBe('My Display');
|
|
169
|
+
});
|
|
170
|
+
it('translates the provided value', async () => {
|
|
171
|
+
specPage = await setupSpecPageWithLoc({
|
|
172
|
+
components: [Q2Option],
|
|
173
|
+
html: '<q2-option display="tecton.element.option.test"></q2-option>',
|
|
174
|
+
}, testStringsDict);
|
|
175
|
+
optionClass = specPage.rootInstance;
|
|
176
|
+
optionElement = specPage.root;
|
|
177
|
+
expect(optionClass.display).toBe('Option Text');
|
|
178
|
+
expect(optionElement.display).toBe('Option Text');
|
|
179
|
+
});
|
|
180
|
+
it('stays the source of truth if textContent changes', async () => {
|
|
181
|
+
specPage = await setupSpecPageWithLoc({
|
|
182
|
+
components: [Q2Option],
|
|
183
|
+
html: '<q2-option display="My Display">Option Text</q2-option>',
|
|
184
|
+
});
|
|
185
|
+
optionClass = specPage.rootInstance;
|
|
186
|
+
optionElement = specPage.root;
|
|
187
|
+
optionElement.textContent = 'Option Text Changed';
|
|
188
|
+
await specPage.waitForChanges();
|
|
189
|
+
expect(optionClass.display).toBe('My Display');
|
|
190
|
+
expect(optionElement.display).toBe('My Display');
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
describe('when not provided', () => {
|
|
194
|
+
it('sets display to an empty string', async () => {
|
|
195
|
+
specPage = await setupSpecPageWithLoc({
|
|
196
|
+
components: [Q2Option],
|
|
197
|
+
html: '<q2-option></q2-option>',
|
|
198
|
+
});
|
|
199
|
+
optionElement = specPage.root;
|
|
200
|
+
expect(optionElement.display).toBe('');
|
|
201
|
+
});
|
|
202
|
+
it('it sets display to the textContent of the element', async () => {
|
|
203
|
+
specPage = await setupSpecPageWithLoc({
|
|
204
|
+
components: [Q2Option],
|
|
205
|
+
html: '<q2-option>Option Text</q2-option>',
|
|
206
|
+
});
|
|
207
|
+
optionElement = specPage.root;
|
|
208
|
+
expect(optionElement.display).toBe('Option Text');
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
describe('multiline', () => {
|
|
213
|
+
describe('when provided', () => {
|
|
214
|
+
it('prevents initDisplay() from setting display to textContent', async () => {
|
|
215
|
+
specPage = await setupSpecPageWithLoc({
|
|
216
|
+
components: [Q2Option],
|
|
217
|
+
html: '<q2-option multiline>Option Text</q2-option>',
|
|
218
|
+
});
|
|
219
|
+
optionElement = specPage.root;
|
|
220
|
+
expect(optionElement.display).toBeUndefined();
|
|
221
|
+
});
|
|
222
|
+
it('prevents handleTextContent() from setting textContent to display', async () => {
|
|
223
|
+
specPage = await setupSpecPageWithLoc({
|
|
224
|
+
components: [Q2Option],
|
|
225
|
+
html: '<q2-option multiline display="Option Text"></q2-option>',
|
|
226
|
+
});
|
|
227
|
+
optionElement = specPage.root;
|
|
228
|
+
expect(optionElement.textContent).toBe('');
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
describe('when not provided', () => {
|
|
232
|
+
it('does not short circuit the initDisplay() local method', async () => {
|
|
233
|
+
specPage = await setupSpecPageWithLoc({
|
|
234
|
+
components: [Q2Option],
|
|
235
|
+
html: '<q2-option>Option Text</q2-option>',
|
|
236
|
+
});
|
|
237
|
+
optionElement = specPage.root;
|
|
238
|
+
expect(optionElement.display).toBe('Option Text');
|
|
239
|
+
});
|
|
240
|
+
it('does not short circuit the handleTextContent() local method', async () => {
|
|
241
|
+
specPage = await setupSpecPageWithLoc({
|
|
242
|
+
components: [Q2Option],
|
|
243
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
244
|
+
});
|
|
245
|
+
optionElement = specPage.root;
|
|
246
|
+
expect(optionElement.textContent).toBe('Option Text');
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
describe('role', () => {
|
|
251
|
+
describe('when provided', () => {
|
|
252
|
+
it('sets the role property to the provided value', async () => {
|
|
253
|
+
specPage = await setupSpecPageWithLoc({
|
|
254
|
+
components: [Q2Option],
|
|
255
|
+
html: '<q2-option role="listitem"></q2-option>',
|
|
256
|
+
});
|
|
257
|
+
optionClass = specPage.rootInstance;
|
|
258
|
+
expect(optionClass.role).toBe('listitem');
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
describe('when not provided', () => {
|
|
262
|
+
it('defaults to "option"', async () => {
|
|
263
|
+
specPage = await setupSpecPageWithLoc({
|
|
264
|
+
components: [Q2Option],
|
|
265
|
+
html: '<q2-option></q2-option>',
|
|
266
|
+
});
|
|
267
|
+
optionClass = specPage.rootInstance;
|
|
268
|
+
expect(optionClass.role).toBe('option');
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
describe('selected', () => {
|
|
273
|
+
describe('when provided', () => {
|
|
274
|
+
it('sets aria-selected to true', async () => {
|
|
275
|
+
specPage = await setupSpecPageWithLoc({
|
|
276
|
+
components: [Q2Option],
|
|
277
|
+
html: '<q2-option selected></q2-option>',
|
|
278
|
+
});
|
|
279
|
+
optionElement = specPage.root;
|
|
280
|
+
const iconElement = optionElement.shadowRoot.querySelector('q2-icon[type="checkmark"]');
|
|
281
|
+
expect(optionElement.getAttribute('aria-selected')).toBe('true');
|
|
282
|
+
expect(iconElement).toBeTruthy();
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
describe('when not provided', () => {
|
|
286
|
+
it('sets aria-selected to false', async () => {
|
|
287
|
+
specPage = await setupSpecPageWithLoc({
|
|
288
|
+
components: [Q2Option],
|
|
289
|
+
html: '<q2-option></q2-option>',
|
|
290
|
+
});
|
|
291
|
+
optionElement = specPage.root;
|
|
292
|
+
const iconElement = optionElement.shadowRoot.querySelector('q2-icon[type="checkmark"]');
|
|
293
|
+
expect(optionElement.getAttribute('aria-selected')).toBe('false');
|
|
294
|
+
expect(iconElement).toBeNull();
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
describe('value', () => {
|
|
299
|
+
describe('when provided', () => {
|
|
300
|
+
it('sets the value property to the provided value', async () => {
|
|
301
|
+
specPage = await setupSpecPageWithLoc({
|
|
302
|
+
components: [Q2Option],
|
|
303
|
+
html: '<q2-option value="My Value"></q2-option>',
|
|
304
|
+
});
|
|
305
|
+
optionClass = specPage.rootInstance;
|
|
306
|
+
expect(optionClass.value).toBe('My Value');
|
|
307
|
+
});
|
|
308
|
+
});
|
|
309
|
+
describe('when not provided', () => {
|
|
310
|
+
it('defaults to undefined', async () => {
|
|
311
|
+
specPage = await setupSpecPageWithLoc({
|
|
312
|
+
components: [Q2Option],
|
|
313
|
+
html: '<q2-option></q2-option>',
|
|
314
|
+
});
|
|
315
|
+
optionClass = specPage.rootInstance;
|
|
316
|
+
expect(optionClass.value).toBeUndefined();
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
describe('Events', () => {
|
|
322
|
+
describe('displayChanged', () => {
|
|
323
|
+
it('emits the event when invoked', async () => {
|
|
324
|
+
specPage = await setupSpecPageWithLoc({
|
|
325
|
+
components: [Q2Option],
|
|
326
|
+
html: '<q2-option></q2-option>',
|
|
327
|
+
});
|
|
328
|
+
optionClass = specPage.rootInstance;
|
|
329
|
+
optionElement = specPage.root;
|
|
330
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
331
|
+
optionClass.displayChanged.emit();
|
|
332
|
+
await specPage.waitForChanges();
|
|
333
|
+
expect(displayChangedSpy).toHaveBeenCalled();
|
|
334
|
+
});
|
|
335
|
+
it('emits the event when display is changed', async () => {
|
|
336
|
+
specPage = await setupSpecPageWithLoc({
|
|
337
|
+
components: [Q2Option],
|
|
338
|
+
html: '<q2-option></q2-option>',
|
|
339
|
+
});
|
|
340
|
+
optionClass = specPage.rootInstance;
|
|
341
|
+
optionElement = specPage.root;
|
|
342
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
343
|
+
optionClass.display = 'Option Changed';
|
|
344
|
+
await specPage.waitForChanges();
|
|
345
|
+
expect(displayChangedSpy).toHaveBeenCalled();
|
|
346
|
+
});
|
|
347
|
+
it('event detail contains the display and value props', async () => {
|
|
348
|
+
specPage = await setupSpecPageWithLoc({ components: [Q2Option], html: '<q2-option value="My Value" display="Option Text"></q2-option>' }, testStringsDict);
|
|
349
|
+
optionClass = specPage.rootInstance;
|
|
350
|
+
optionElement = specPage.root;
|
|
351
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
352
|
+
optionClass.display = 'Option Changed';
|
|
353
|
+
await specPage.waitForChanges();
|
|
354
|
+
expect(displayChangedSpy).toHaveBeenCalled();
|
|
355
|
+
expect(displayChangedSpy).toHaveBeenCalledWith({
|
|
356
|
+
display: 'Option Changed',
|
|
357
|
+
value: 'My Value',
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
it('emits when no display provided and textContent changes', async () => {
|
|
361
|
+
specPage = await setupSpecPageWithLoc({
|
|
362
|
+
components: [Q2Option],
|
|
363
|
+
html: '<q2-option></q2-option>',
|
|
364
|
+
});
|
|
365
|
+
optionClass = specPage.rootInstance;
|
|
366
|
+
optionElement = specPage.root;
|
|
367
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
368
|
+
optionElement.textContent = 'Option Text Changed';
|
|
369
|
+
await specPage.waitForChanges();
|
|
370
|
+
optionClass.mutationHandler();
|
|
371
|
+
await specPage.waitForChanges();
|
|
372
|
+
expect(displayChangedSpy).toHaveBeenCalledWith({
|
|
373
|
+
display: 'Option Text Changed',
|
|
374
|
+
value: undefined,
|
|
375
|
+
});
|
|
376
|
+
});
|
|
377
|
+
it('does not emit if textContent changes and display was already provided', async () => {
|
|
378
|
+
specPage = await setupSpecPageWithLoc({
|
|
379
|
+
components: [Q2Option],
|
|
380
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
381
|
+
});
|
|
382
|
+
optionClass = specPage.rootInstance;
|
|
383
|
+
optionElement = specPage.root;
|
|
384
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
385
|
+
optionElement.textContent = 'Option Text Changed';
|
|
386
|
+
optionClass.mutationHandler();
|
|
387
|
+
await specPage.waitForChanges();
|
|
388
|
+
expect(displayChangedSpy).not.toHaveBeenCalled();
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
});
|
|
392
|
+
describe('Watchers', () => {
|
|
393
|
+
describe('display', () => {
|
|
394
|
+
it('translates the new display value', async () => {
|
|
395
|
+
specPage = await setupSpecPageWithLoc({
|
|
396
|
+
components: [Q2Option],
|
|
397
|
+
html: '<q2-option display="tecton.element.option.test"></q2-option>',
|
|
398
|
+
}, testStringsDict);
|
|
399
|
+
optionClass = specPage.rootInstance;
|
|
400
|
+
optionElement = specPage.root;
|
|
401
|
+
expect(optionElement.display).toBe('Option Text');
|
|
402
|
+
optionClass.display = 'tecton.element.option.changed';
|
|
403
|
+
expect(optionElement.display).toBe('Option Changed');
|
|
404
|
+
});
|
|
405
|
+
it('triggers handleTextContent() local method', async () => {
|
|
406
|
+
specPage = await setupSpecPageWithLoc({
|
|
407
|
+
components: [Q2Option],
|
|
408
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
409
|
+
});
|
|
410
|
+
optionClass = specPage.rootInstance;
|
|
411
|
+
const handleTextContentSpy = jest.spyOn(optionClass, 'handleTextContent');
|
|
412
|
+
optionClass.display = 'New Display Text';
|
|
413
|
+
await specPage.waitForChanges();
|
|
414
|
+
expect(handleTextContentSpy).toHaveBeenCalled();
|
|
415
|
+
});
|
|
416
|
+
it('emits the displayChanged event with the a translated display value', async () => {
|
|
417
|
+
specPage = await setupSpecPageWithLoc({
|
|
418
|
+
components: [Q2Option],
|
|
419
|
+
html: '<q2-option value="My Value" display="Option Text"></q2-option>',
|
|
420
|
+
}, testStringsDict);
|
|
421
|
+
optionClass = specPage.rootInstance;
|
|
422
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
423
|
+
optionClass.display = 'tecton.element.option.changed';
|
|
424
|
+
await specPage.waitForChanges();
|
|
425
|
+
expect(displayChangedSpy).toHaveBeenCalledWith({
|
|
426
|
+
display: 'Option Changed',
|
|
427
|
+
value: 'My Value',
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
});
|
|
431
|
+
});
|
|
432
|
+
describe('Local Methods', () => {
|
|
433
|
+
describe('handleTextContent', () => {
|
|
434
|
+
it('sets the hostElement textContent if none exists and display is provided', async () => {
|
|
435
|
+
specPage = await setupSpecPageWithLoc({
|
|
436
|
+
components: [Q2Option],
|
|
437
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
438
|
+
});
|
|
439
|
+
optionClass = specPage.rootInstance;
|
|
440
|
+
optionElement = specPage.root;
|
|
441
|
+
optionClass.handleTextContent();
|
|
442
|
+
await specPage.waitForChanges();
|
|
443
|
+
expect(optionElement.textContent).toBe('Option Text');
|
|
444
|
+
});
|
|
445
|
+
});
|
|
446
|
+
describe('initDisplay', () => {
|
|
447
|
+
describe('when display is provided', () => {
|
|
448
|
+
it('sets displayProvidedAtInit to true', async () => {
|
|
449
|
+
specPage = await setupSpecPageWithLoc({
|
|
450
|
+
components: [Q2Option],
|
|
451
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
452
|
+
});
|
|
453
|
+
optionClass = specPage.rootInstance;
|
|
454
|
+
expect(optionClass.displayProvidedAtInit).toBe(true);
|
|
455
|
+
});
|
|
456
|
+
it('sets display to the provided value', async () => {
|
|
457
|
+
specPage = await setupSpecPageWithLoc({
|
|
458
|
+
components: [Q2Option],
|
|
459
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
460
|
+
});
|
|
461
|
+
optionClass = specPage.rootInstance;
|
|
462
|
+
expect(optionClass.display).toBe('Option Text');
|
|
463
|
+
});
|
|
464
|
+
it('sets display to the translated value', async () => {
|
|
465
|
+
specPage = await setupSpecPageWithLoc({
|
|
466
|
+
components: [Q2Option],
|
|
467
|
+
html: '<q2-option display="tecton.element.option.test"></q2-option>',
|
|
468
|
+
}, testStringsDict);
|
|
469
|
+
optionClass = specPage.rootInstance;
|
|
470
|
+
expect(optionClass.display).toBe('Option Text');
|
|
471
|
+
});
|
|
472
|
+
});
|
|
473
|
+
describe('when display is not provided', () => {
|
|
474
|
+
it('sets display to the textContent of the hostElement', async () => {
|
|
475
|
+
specPage = await setupSpecPageWithLoc({
|
|
476
|
+
components: [Q2Option],
|
|
477
|
+
html: '<q2-option>Option Text</q2-option>',
|
|
478
|
+
});
|
|
479
|
+
optionClass = specPage.rootInstance;
|
|
480
|
+
expect(optionClass.display).toBe('Option Text');
|
|
481
|
+
});
|
|
482
|
+
it('sets display to the translated textContent of the hostElement', async () => {
|
|
483
|
+
specPage = await setupSpecPageWithLoc({
|
|
484
|
+
components: [Q2Option],
|
|
485
|
+
html: '<q2-option>tecton.element.option.test</q2-option>',
|
|
486
|
+
}, testStringsDict);
|
|
487
|
+
optionClass = specPage.rootInstance;
|
|
488
|
+
expect(optionClass.display).toBe('Option Text');
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
it('fires handleTextContent() when multiline is not provided', async () => {
|
|
492
|
+
specPage = await setupSpecPageWithLoc({
|
|
493
|
+
components: [Q2Option],
|
|
494
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
495
|
+
});
|
|
496
|
+
optionClass = specPage.rootInstance;
|
|
497
|
+
const handleTextContentSpy = jest.spyOn(optionClass, 'handleTextContent');
|
|
498
|
+
optionClass.initDisplay();
|
|
499
|
+
await specPage.waitForChanges();
|
|
500
|
+
expect(handleTextContentSpy).toHaveBeenCalled();
|
|
501
|
+
});
|
|
502
|
+
});
|
|
503
|
+
describe('mutationHandler', () => {
|
|
504
|
+
it('if display matches textContent it does not change display value', async () => {
|
|
505
|
+
specPage = await setupSpecPageWithLoc({
|
|
506
|
+
components: [Q2Option],
|
|
507
|
+
html: '<q2-option display="Option Text"></q2-option>',
|
|
508
|
+
});
|
|
509
|
+
optionClass = specPage.rootInstance;
|
|
510
|
+
optionElement = specPage.root;
|
|
511
|
+
const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');
|
|
512
|
+
optionElement.textContent = 'Option Text';
|
|
513
|
+
await specPage.waitForChanges();
|
|
514
|
+
expect(optionClass.display).toBe('Option Text');
|
|
515
|
+
expect(displayChangedSpy).not.toHaveBeenCalled();
|
|
516
|
+
});
|
|
517
|
+
it('sets the value of display if it was not provided at init', async () => {
|
|
518
|
+
specPage = await setupSpecPageWithLoc({
|
|
519
|
+
components: [Q2Option],
|
|
520
|
+
html: '<q2-option></q2-option>',
|
|
521
|
+
});
|
|
522
|
+
optionClass = specPage.rootInstance;
|
|
523
|
+
optionElement = specPage.root;
|
|
524
|
+
optionElement.textContent = 'Option Text';
|
|
525
|
+
optionClass.mutationHandler();
|
|
526
|
+
await specPage.waitForChanges();
|
|
527
|
+
expect(optionClass.display).toBe('Option Text');
|
|
528
|
+
});
|
|
529
|
+
});
|
|
530
|
+
});
|
|
531
|
+
});
|
|
532
|
+
//# sourceMappingURL=q2-option-test.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"q2-option-test.spec.js","sourceRoot":"","sources":["../../../../src/components/q2-option/test/q2-option-test.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage } from '@stencil/core/testing';\nimport { setupSpecPageWithLoc } from '@/utils/helpers';\nimport { Q2Option } from '../q2-option';\n\ndescribe('q2-option', () => {\n let specPage: SpecPage;\n let optionClass;\n let optionElement;\n const testStringsDict = {\n 'tecton.element.option.test': 'Option Text',\n 'tecton.element.option.changed': 'Option Changed',\n 'tecton.element.loc.test': 'Loc Text',\n };\n\n describe('Initialization', () => {\n it('renders with default attributes', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n\n expect(optionClass).toBeTruthy();\n expect(optionClass._multiSelectHidden).toBeFalsy();\n expect(optionClass.active).toBeFalsy();\n expect(optionClass.disabled).toBeFalsy();\n expect(optionClass.disabledGroup).toBeFalsy();\n expect(optionClass.display).toBe('');\n expect(optionClass.multiline).toBeFalsy();\n expect(optionClass.role).toBe('option');\n expect(optionClass.selected).toBeFalsy();\n expect(optionClass.value).toBeFalsy();\n expect(optionElement).toBeTruthy();\n expect(optionElement.getAttribute('tabindex')).toBe('-1');\n expect(optionElement.getAttribute('aria-disabled')).toBeFalsy();\n expect(optionElement.getAttribute('aria-selected')).toBe('false');\n expect(optionElement.getAttribute('aria-hidden')).toBeFalsy();\n });\n });\n\n describe('Props', () => {\n describe('_multiSelectHidden', () => {\n describe('when provided', () => {\n it('sets aria-hidden to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option _multiSelectHidden></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-hidden')).toBe('true');\n });\n });\n describe('when not provided', () => {\n it('sets aria-hidden to false', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-hidden')).toBeFalsy();\n });\n });\n });\n describe('active', () => {\n describe('when provided', () => {\n it('sets the property to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option active></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.active).toBe(true);\n });\n it('sets the property to false', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option active=\"false\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.active).toBe(false);\n });\n });\n describe('when not provided', () => {\n it('sets the property to undefined', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.active).toBeUndefined();\n });\n });\n });\n describe('disabled', () => {\n describe('when provided', () => {\n describe('when true', () => {\n it('sets aria-disabled to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option disabled></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBe('true');\n });\n });\n describe('when false', () => {\n it('does not set the aria-disabled attribute', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option disabled=\"false\"></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBeNull();\n });\n });\n });\n describe('when not provided', () => {\n it('does not set the aria-disabled attribute', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBeNull();\n });\n });\n });\n describe('disabledGroup', () => {\n describe('when provided', () => {\n describe('when true', () => {\n it('sets aria-disabled to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option disabled-group></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBe('true');\n });\n });\n describe('when false', () => {\n it('does not set the aria-disabled attribute', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option disabled-group=\"false\"></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBeNull();\n });\n });\n });\n describe('when not provided', () => {\n it('does not set the aria-disabled attribute', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.getAttribute('aria-disabled')).toBeNull();\n });\n });\n });\n describe('display', () => {\n describe('when provided', () => {\n it('sets the value of the display property', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"My Display\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n expect(optionClass.display).toBe('My Display');\n expect(optionElement.display).toBe('My Display');\n });\n it('translates the provided value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Option],\n html: '<q2-option display=\"tecton.element.option.test\"></q2-option>',\n },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n expect(optionClass.display).toBe('Option Text');\n expect(optionElement.display).toBe('Option Text');\n });\n it('stays the source of truth if textContent changes', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"My Display\">Option Text</q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n optionElement.textContent = 'Option Text Changed';\n await specPage.waitForChanges();\n expect(optionClass.display).toBe('My Display');\n expect(optionElement.display).toBe('My Display');\n });\n });\n describe('when not provided', () => {\n it('sets display to an empty string', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.display).toBe('');\n });\n it('it sets display to the textContent of the element', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option>Option Text</q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.display).toBe('Option Text');\n });\n });\n });\n describe('multiline', () => {\n describe('when provided', () => {\n it('prevents initDisplay() from setting display to textContent', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option multiline>Option Text</q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.display).toBeUndefined();\n });\n it('prevents handleTextContent() from setting textContent to display', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option multiline display=\"Option Text\"></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.textContent).toBe('');\n });\n });\n describe('when not provided', () => {\n it('does not short circuit the initDisplay() local method', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option>Option Text</q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.display).toBe('Option Text');\n });\n it('does not short circuit the handleTextContent() local method', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionElement = specPage.root;\n expect(optionElement.textContent).toBe('Option Text');\n });\n });\n });\n describe('role', () => {\n describe('when provided', () => {\n it('sets the role property to the provided value', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option role=\"listitem\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.role).toBe('listitem');\n });\n });\n describe('when not provided', () => {\n it('defaults to \"option\"', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.role).toBe('option');\n });\n });\n });\n describe('selected', () => {\n describe('when provided', () => {\n it('sets aria-selected to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option selected></q2-option>',\n });\n optionElement = specPage.root;\n const iconElement = optionElement.shadowRoot.querySelector('q2-icon[type=\"checkmark\"]');\n expect(optionElement.getAttribute('aria-selected')).toBe('true');\n expect(iconElement).toBeTruthy();\n });\n });\n describe('when not provided', () => {\n it('sets aria-selected to false', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionElement = specPage.root;\n const iconElement = optionElement.shadowRoot.querySelector('q2-icon[type=\"checkmark\"]');\n expect(optionElement.getAttribute('aria-selected')).toBe('false');\n expect(iconElement).toBeNull();\n });\n });\n });\n describe('value', () => {\n describe('when provided', () => {\n it('sets the value property to the provided value', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option value=\"My Value\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.value).toBe('My Value');\n });\n });\n describe('when not provided', () => {\n it('defaults to undefined', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.value).toBeUndefined();\n });\n });\n });\n });\n\n describe('Events', () => {\n describe('displayChanged', () => {\n it('emits the event when invoked', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionClass.displayChanged.emit();\n await specPage.waitForChanges();\n expect(displayChangedSpy).toHaveBeenCalled();\n });\n it('emits the event when display is changed', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionClass.display = 'Option Changed';\n await specPage.waitForChanges();\n expect(displayChangedSpy).toHaveBeenCalled();\n });\n it('event detail contains the display and value props', async () => {\n specPage = await setupSpecPageWithLoc(\n { components: [Q2Option], html: '<q2-option value=\"My Value\" display=\"Option Text\"></q2-option>' },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionClass.display = 'Option Changed';\n await specPage.waitForChanges();\n expect(displayChangedSpy).toHaveBeenCalled();\n expect(displayChangedSpy).toHaveBeenCalledWith({\n display: 'Option Changed',\n value: 'My Value',\n });\n });\n it('emits when no display provided and textContent changes', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionElement.textContent = 'Option Text Changed';\n await specPage.waitForChanges();\n optionClass.mutationHandler();\n await specPage.waitForChanges();\n expect(displayChangedSpy).toHaveBeenCalledWith({\n display: 'Option Text Changed',\n value: undefined,\n });\n });\n it('does not emit if textContent changes and display was already provided', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionElement.textContent = 'Option Text Changed';\n optionClass.mutationHandler();\n await specPage.waitForChanges();\n expect(displayChangedSpy).not.toHaveBeenCalled();\n });\n });\n });\n\n describe('Watchers', () => {\n describe('display', () => {\n it('translates the new display value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Option],\n html: '<q2-option display=\"tecton.element.option.test\"></q2-option>',\n },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n expect(optionElement.display).toBe('Option Text');\n optionClass.display = 'tecton.element.option.changed';\n expect(optionElement.display).toBe('Option Changed');\n });\n it('triggers handleTextContent() local method', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n const handleTextContentSpy = jest.spyOn(optionClass, 'handleTextContent');\n optionClass.display = 'New Display Text';\n await specPage.waitForChanges();\n expect(handleTextContentSpy).toHaveBeenCalled();\n });\n it('emits the displayChanged event with the a translated display value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Option],\n html: '<q2-option value=\"My Value\" display=\"Option Text\"></q2-option>',\n },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionClass.display = 'tecton.element.option.changed';\n await specPage.waitForChanges();\n expect(displayChangedSpy).toHaveBeenCalledWith({\n display: 'Option Changed',\n value: 'My Value',\n });\n });\n });\n });\n\n describe('Local Methods', () => {\n describe('handleTextContent', () => {\n it('sets the hostElement textContent if none exists and display is provided', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n optionClass.handleTextContent();\n await specPage.waitForChanges();\n expect(optionElement.textContent).toBe('Option Text');\n });\n });\n describe('initDisplay', () => {\n describe('when display is provided', () => {\n it('sets displayProvidedAtInit to true', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.displayProvidedAtInit).toBe(true);\n });\n it('sets display to the provided value', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.display).toBe('Option Text');\n });\n it('sets display to the translated value', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Option],\n html: '<q2-option display=\"tecton.element.option.test\"></q2-option>',\n },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n expect(optionClass.display).toBe('Option Text');\n });\n });\n describe('when display is not provided', () => {\n it('sets display to the textContent of the hostElement', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option>Option Text</q2-option>',\n });\n optionClass = specPage.rootInstance;\n expect(optionClass.display).toBe('Option Text');\n });\n it('sets display to the translated textContent of the hostElement', async () => {\n specPage = await setupSpecPageWithLoc(\n {\n components: [Q2Option],\n html: '<q2-option>tecton.element.option.test</q2-option>',\n },\n testStringsDict\n );\n optionClass = specPage.rootInstance;\n expect(optionClass.display).toBe('Option Text');\n });\n });\n it('fires handleTextContent() when multiline is not provided', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n const handleTextContentSpy = jest.spyOn(optionClass, 'handleTextContent');\n optionClass.initDisplay();\n await specPage.waitForChanges();\n expect(handleTextContentSpy).toHaveBeenCalled();\n });\n });\n describe('mutationHandler', () => {\n it('if display matches textContent it does not change display value', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option display=\"Option Text\"></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n const displayChangedSpy = jest.spyOn(optionClass.displayChanged, 'emit');\n optionElement.textContent = 'Option Text';\n await specPage.waitForChanges();\n expect(optionClass.display).toBe('Option Text');\n expect(displayChangedSpy).not.toHaveBeenCalled();\n });\n it('sets the value of display if it was not provided at init', async () => {\n specPage = await setupSpecPageWithLoc({\n components: [Q2Option],\n html: '<q2-option></q2-option>',\n });\n optionClass = specPage.rootInstance;\n optionElement = specPage.root;\n optionElement.textContent = 'Option Text';\n optionClass.mutationHandler();\n await specPage.waitForChanges();\n expect(optionClass.display).toBe('Option Text');\n });\n });\n });\n});\n"]}
|