q2-tecton-elements 1.35.2 → 1.37.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/charting-d02cba1f.js.map +1 -1
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
- package/dist/cjs/{index-f6545293.js → index-6f9f259c.js} +12 -9
- package/dist/cjs/index-6f9f259c.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +46 -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 +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +12 -8
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +25 -6
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +34 -6
- package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +17 -10
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +14 -13
- package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +37 -11
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +3 -3
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +9 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +12 -3
- package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +54 -5
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +13 -1
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/q2-action-sheet/styles.css +0 -8
- package/dist/collection/components/q2-calendar/index.js +120 -2
- package/dist/collection/components/q2-calendar/index.js.map +1 -1
- package/dist/collection/components/q2-chart-area/index.js +2 -2
- package/dist/collection/components/q2-chart-area/index.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/index.js +2 -2
- package/dist/collection/components/q2-chart-bar/index.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/index.js +13 -9
- package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/index.js +45 -5
- package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/index.js +6 -6
- package/dist/collection/components/q2-data-table/styles.css +37 -36
- package/dist/collection/components/q2-dropdown/index.js +1 -1
- package/dist/collection/components/q2-dropdown/index.js.map +1 -1
- package/dist/collection/components/q2-dropdown/styles.css +4 -0
- package/dist/collection/components/q2-editable-field/index.js +96 -6
- package/dist/collection/components/q2-editable-field/index.js.map +1 -1
- package/dist/collection/components/q2-input/index.js +49 -11
- package/dist/collection/components/q2-input/index.js.map +1 -1
- package/dist/collection/components/q2-message/index.js +14 -13
- package/dist/collection/components/q2-message/index.js.map +1 -1
- package/dist/collection/components/q2-option-list/index.js +2 -2
- package/dist/collection/components/q2-pagination/index.js +60 -9
- package/dist/collection/components/q2-pagination/index.js.map +1 -1
- package/dist/collection/components/q2-pagination/styles.css +1 -0
- package/dist/collection/components/q2-pill/index.js +2 -2
- package/dist/collection/components/q2-pill/index.js.map +1 -1
- package/dist/collection/components/q2-radio/index.js +29 -3
- package/dist/collection/components/q2-radio/index.js.map +1 -1
- package/dist/collection/components/q2-radio-group/index.js +27 -0
- package/dist/collection/components/q2-radio-group/index.js.map +1 -1
- package/dist/collection/components/q2-select/index.js +127 -5
- package/dist/collection/components/q2-select/index.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/index.js +2 -2
- package/dist/collection/components/q2-tab-container/index.js +1 -1
- package/dist/collection/components/q2-tab-container/index.js.map +1 -1
- package/dist/collection/components/q2-textarea/index.js +37 -0
- package/dist/collection/components/q2-textarea/index.js.map +1 -1
- package/dist/collection/utils/charting.js.map +1 -1
- package/dist/collection/utils/index.js +8 -6
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/charting.js.map +1 -1
- package/dist/components/index11.js +14 -13
- package/dist/components/index11.js.map +1 -1
- package/dist/components/index16.js +11 -8
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index9.js +19 -10
- package/dist/components/index9.js.map +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-calendar.js +51 -4
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-bar.js.map +1 -1
- package/dist/components/q2-chart-donut.js +11 -7
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +26 -6
- package/dist/components/q2-checkbox-group.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-dropdown.js +2 -2
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +39 -7
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-pagination.js +37 -10
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +2 -2
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-radio-group.js +10 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +13 -3
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-select.js +59 -6
- package/dist/components/q2-select.js.map +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-textarea.js +15 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/docs.json +241 -9
- package/dist/esm/charting-2a73ba8e.js.map +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +1 -1
- package/dist/esm/{index-35ff2881.js → index-74a659a5.js} +12 -9
- package/dist/esm/index-74a659a5.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +1 -1
- package/dist/esm/q2-calendar.entry.js +46 -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 +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +2 -2
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +2 -2
- package/dist/esm/q2-chart-bar.entry.js.map +1 -1
- package/dist/esm/q2-chart-donut.entry.js +12 -8
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +25 -6
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +2 -2
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +3 -3
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +34 -6
- package/dist/esm/q2-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +17 -10
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +14 -13
- package/dist/esm/q2-message.entry.js.map +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +37 -11
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +9 -1
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +12 -3
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +54 -5
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +13 -1
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/{p-2b91b34e.entry.js → p-077107c1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +2 -0
- package/dist/q2-tecton-elements/p-09d4b3d3.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-b73e7870.entry.js → p-0d4aec6e.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1c993698.entry.js +2 -0
- package/dist/q2-tecton-elements/p-1c993698.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-0c1b74e9.entry.js → p-252889b7.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-252889b7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d4da72f0.entry.js → p-25bd1b18.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-2a975246.entry.js +2 -0
- package/dist/q2-tecton-elements/p-2a975246.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-55deaceb.entry.js → p-30facf35.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3798ad96.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3798ad96.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-458b1987.js.map +1 -1
- package/dist/q2-tecton-elements/{p-2325975a.entry.js → p-46287c02.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js → p-47c60d4a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6cc730db.entry.js → p-4abbd0b1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-dafdb018.entry.js → p-570c1d3d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-4fb81d03.entry.js → p-578e3f98.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +2 -0
- package/dist/q2-tecton-elements/p-58cdb9c7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-597f8656.entry.js +2 -0
- package/dist/q2-tecton-elements/p-597f8656.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-ce27270b.entry.js → p-59d34a17.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-3c0d391b.entry.js → p-5bc4d94c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-70a59bf1.entry.js → p-67f33354.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-67f33354.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c9f32e51.entry.js → p-6cacc879.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f637136f.entry.js → p-7366d36d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js → p-75fd6df5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js.map → p-75fd6df5.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-68371e6d.entry.js → p-8e7b762a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ece07c0d.entry.js → p-9a28b93a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d3827468.entry.js → p-9c9a2550.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-9d743327.entry.js +2 -0
- package/dist/q2-tecton-elements/p-9d743327.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js → p-9ef2829e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js.map → p-9ef2829e.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js → p-a52371cf.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f11326c2.entry.js → p-a53e9f1e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-586c8654.entry.js → p-a60f82c0.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a60f82c0.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-f6be73b7.entry.js → p-ac82ea35.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f6be73b7.entry.js.map → p-ac82ea35.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js → p-bfd69d42.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-82bda2ff.entry.js → p-db6921fb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-cfbd2cb1.entry.js → p-e45856f7.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-e45856f7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-654987bf.entry.js → p-e8858d0d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-99ab3236.js → p-ef856249.js} +2 -2
- package/dist/q2-tecton-elements/p-ef856249.js.map +1 -0
- package/dist/q2-tecton-elements/{p-073df9e2.entry.js → p-efbe6c17.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-efbe6c17.entry.js.map +1 -0
- 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/test/elements/q2-calendar-test.e2e.js +177 -0
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js +30 -1
- package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js +30 -1
- package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +21 -18
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-group-test.e2e.js +138 -18
- package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-checkbox-test.e2e.js +143 -115
- package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js +28 -0
- package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-editable-field-test.e2e.js +149 -28
- package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +150 -9
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-message-test.e2e.js +38 -1
- package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +37 -1
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-group-test.e2e.js +148 -186
- package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-radio-test.e2e.js +100 -15
- package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-select-test.e2e.js +203 -0
- package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tag-test.e2e.js +5 -0
- package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-textarea-test.e2e.js +33 -1
- package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
- package/dist/types/components/q2-calendar/index.d.ts +8 -1
- package/dist/types/components/q2-chart-area/index.d.ts +1 -1
- package/dist/types/components/q2-chart-bar/index.d.ts +1 -1
- package/dist/types/components/q2-chart-donut/index.d.ts +2 -5
- package/dist/types/components/q2-checkbox-group/index.d.ts +3 -0
- package/dist/types/components/q2-editable-field/index.d.ts +10 -2
- package/dist/types/components/q2-input/index.d.ts +2 -0
- package/dist/types/components/q2-message/index.d.ts +1 -0
- package/dist/types/components/q2-pagination/index.d.ts +4 -0
- package/dist/types/components/q2-radio/index.d.ts +1 -0
- package/dist/types/components/q2-radio-group/index.d.ts +1 -0
- package/dist/types/components/q2-select/index.d.ts +9 -1
- package/dist/types/components/q2-textarea/index.d.ts +2 -0
- package/dist/types/components.d.ts +23 -4
- package/dist/types/utils/charting.d.ts +0 -6
- package/package.json +3 -3
- package/dist/cjs/index-f6545293.js.map +0 -1
- package/dist/esm/index-35ff2881.js.map +0 -1
- package/dist/q2-tecton-elements/p-073df9e2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-0c1b74e9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2987498c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2987498c.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-57838409.entry.js +0 -2
- package/dist/q2-tecton-elements/p-57838409.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-586c8654.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-654987bf.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-70a59bf1.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7a6e33d4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7a6e33d4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-99ab3236.js.map +0 -1
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b8d1c16f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b8d1c16f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-cfbd2cb1.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-d4da72f0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dafdb018.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-deb1e1c8.entry.js +0 -2
- package/dist/q2-tecton-elements/p-deb1e1c8.entry.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-2b91b34e.entry.js.map → p-077107c1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b73e7870.entry.js.map → p-0d4aec6e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-55deaceb.entry.js.map → p-30facf35.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2325975a.entry.js.map → p-46287c02.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js.map → p-47c60d4a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6cc730db.entry.js.map → p-4abbd0b1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4fb81d03.entry.js.map → p-578e3f98.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ce27270b.entry.js.map → p-59d34a17.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3c0d391b.entry.js.map → p-5bc4d94c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c9f32e51.entry.js.map → p-6cacc879.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f637136f.entry.js.map → p-7366d36d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-68371e6d.entry.js.map → p-8e7b762a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ece07c0d.entry.js.map → p-9a28b93a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d3827468.entry.js.map → p-9c9a2550.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js.map → p-a52371cf.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f11326c2.entry.js.map → p-a53e9f1e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js.map → p-bfd69d42.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-82bda2ff.entry.js.map → p-db6921fb.entry.js.map} +0 -0
- /package/dist/types/workspace/workspace/{tecton-production_release_1.35.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup } from '../helpers';
|
|
1
|
+
import { setup, setTestStrings } from '../helpers';
|
|
2
2
|
describe('q2-chart-area', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let chart;
|
|
@@ -34,5 +34,34 @@ describe('q2-chart-area', () => {
|
|
|
34
34
|
expect(ariaLabelText).toContain('the data for Fri is 5, 122');
|
|
35
35
|
expect(ariaLabelText).toContain('the data for Sat is 6, 215');
|
|
36
36
|
});
|
|
37
|
+
describe('chartName', () => {
|
|
38
|
+
describe('when provided', () => {
|
|
39
|
+
it('renders with provided chartName', async () => {
|
|
40
|
+
page = await setup({ html: `` });
|
|
41
|
+
await page.setContent('<q2-chart-area></q2-chart-area>');
|
|
42
|
+
chart = await page.find('q2-chart-area');
|
|
43
|
+
chart.setProperty('chartName', 'Weekly spending');
|
|
44
|
+
await page.waitForChanges();
|
|
45
|
+
expect(await chart.getProperty('chartName')).toEqualText('Weekly spending');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('when provided a custom name translation', () => {
|
|
49
|
+
it('renders the translated value', async () => {
|
|
50
|
+
page = await setup({
|
|
51
|
+
html: ``,
|
|
52
|
+
});
|
|
53
|
+
await setTestStrings(page, {
|
|
54
|
+
'q2ChartArea.customName': 'Custom Chart Name',
|
|
55
|
+
});
|
|
56
|
+
page.setContent(`<q2-chart-area chart-name="q2ChartArea.customName"></q2-chart-area>`);
|
|
57
|
+
await page.waitForChanges();
|
|
58
|
+
chart = await page.find('q2-chart-area');
|
|
59
|
+
const chartContainer = await page.find('q2-chart-area >>> .chart-container');
|
|
60
|
+
const ariaLabelText = chartContainer.getAttribute('aria-label');
|
|
61
|
+
expect(await chart.getProperty('chartName')).toEqualText('q2ChartArea.customName');
|
|
62
|
+
expect(ariaLabelText).toContain('This is a chart about "Custom Chart Name" with type Line chart');
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
37
66
|
});
|
|
38
67
|
//# sourceMappingURL=q2-chart-area-test.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-area-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-area-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"q2-chart-area-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-area-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { setup, setTestStrings } from '../helpers';\n\ndescribe('q2-chart-area', () => {\n let page: E2EPage;\n let chart: E2EElement;\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await page.setContent('<q2-chart-area></q2-chart-area>');\n chart = await page.find('q2-chart-area');\n chart.setProperty('chartName', 'Weekly spending');\n chart.setProperty('data', [\n { value: 45, name: 'Sun', id: 'sunday' },\n { value: 36, name: 'Mon', id: 'monday' },\n { value: 62, name: 'Tue', id: 'tuesday' },\n { value: 51, name: 'Wed', id: 'wednesday' },\n { value: 104, name: 'Thu', id: 'thursday' },\n { value: 122, name: 'Fri', id: 'friday' },\n { value: 215, name: 'Sat', id: 'saturday' },\n ]);\n await page.waitForChanges();\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-area >>> canvas');\n expect(canvas).toBeTruthy();\n });\n\n it('renders a descriptive aria-label for the chart', async () => {\n const chartContainer = await page.find('q2-chart-area >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n expect(ariaLabelText).toContain('This is a chart about \"Weekly spending\" with type Line chart');\n expect(ariaLabelText).toContain('the data for Sun is 0, 45');\n expect(ariaLabelText).toContain('the data for Mon is 1, 36');\n expect(ariaLabelText).toContain('the data for Tue is 2, 62');\n expect(ariaLabelText).toContain('the data for Wed is 3, 51');\n expect(ariaLabelText).toContain('the data for Thu is 4, 104');\n expect(ariaLabelText).toContain('the data for Fri is 5, 122');\n expect(ariaLabelText).toContain('the data for Sat is 6, 215');\n });\n describe('chartName', () => {\n describe('when provided', () => {\n it('renders with provided chartName', async () => {\n page = await setup({ html: `` });\n await page.setContent('<q2-chart-area></q2-chart-area>');\n chart = await page.find('q2-chart-area');\n chart.setProperty('chartName', 'Weekly spending');\n await page.waitForChanges();\n\n expect(await chart.getProperty('chartName')).toEqualText('Weekly spending');\n });\n });\n describe('when provided a custom name translation', () => {\n it('renders the translated value', async () => {\n page = await setup({\n html: ``,\n });\n await setTestStrings(page, {\n 'q2ChartArea.customName': 'Custom Chart Name',\n });\n page.setContent(`<q2-chart-area chart-name=\"q2ChartArea.customName\"></q2-chart-area>`);\n await page.waitForChanges();\n chart = await page.find('q2-chart-area');\n const chartContainer = await page.find('q2-chart-area >>> .chart-container');\n const ariaLabelText = chartContainer.getAttribute('aria-label');\n\n expect(await chart.getProperty('chartName')).toEqualText('q2ChartArea.customName');\n expect(ariaLabelText).toContain('This is a chart about \"Custom Chart Name\" with type Line chart');\n });\n });\n });\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup } from '../helpers';
|
|
1
|
+
import { setup, setTestStrings } from '../helpers';
|
|
2
2
|
describe('q2-chart-bar', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let chart;
|
|
@@ -30,5 +30,34 @@ describe('q2-chart-bar', () => {
|
|
|
30
30
|
expect(ariaLabelText).toContain('the data for June is 3, 465');
|
|
31
31
|
expect(ariaLabelText).toContain('the data for July is 4, 927');
|
|
32
32
|
});
|
|
33
|
+
describe('chartName', () => {
|
|
34
|
+
describe('when provided', () => {
|
|
35
|
+
it('renders with provided chartName', async () => {
|
|
36
|
+
page = await setup({ html: `` });
|
|
37
|
+
await page.setContent('<q2-chart-bar></q2-chart-bar>');
|
|
38
|
+
chart = await page.find('q2-chart-bar');
|
|
39
|
+
chart.setProperty('chartName', 'Month-to-month spending');
|
|
40
|
+
await page.waitForChanges();
|
|
41
|
+
expect(await chart.getProperty('chartName')).toEqualText('Month-to-month spending');
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
describe('when provided a custom name translation', () => {
|
|
45
|
+
it('renders the translated value', async () => {
|
|
46
|
+
page = await setup({
|
|
47
|
+
html: ``,
|
|
48
|
+
});
|
|
49
|
+
await setTestStrings(page, {
|
|
50
|
+
'q2ChartBar.customName': 'Custom Chart Name',
|
|
51
|
+
});
|
|
52
|
+
page.setContent(`<q2-chart-bar chart-name="q2ChartBar.customName"></q2-chart-bar>`);
|
|
53
|
+
await page.waitForChanges();
|
|
54
|
+
chart = await page.find('q2-chart-bar');
|
|
55
|
+
const chartContainer = await page.find('q2-chart-bar >>> .chart-container');
|
|
56
|
+
const ariaLabelText = chartContainer.getAttribute('aria-label');
|
|
57
|
+
expect(await chart.getProperty('chartName')).toEqual('q2ChartBar.customName');
|
|
58
|
+
expect(ariaLabelText).toContain('This is a chart about "Custom Chart Name" with type Bar chart');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
33
62
|
});
|
|
34
63
|
//# sourceMappingURL=q2-chart-bar-test.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-bar-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-bar-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"q2-chart-bar-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-bar-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage } from '@stencil/core/testing';\nimport { setup, setTestStrings } from '../helpers';\n\ndescribe('q2-chart-bar', () => {\n let page: E2EPage;\n let chart: E2EElement;\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await page.setContent('<q2-chart-bar></q2-chart-bar>');\n chart = await page.find('q2-chart-bar');\n chart.setProperty('chartName', 'Month-to-month spending');\n chart.setProperty('data', [\n { value: 1048, name: 'March', id: 'march', color: 'green' },\n { value: 580, name: 'April', id: 'april' },\n { value: 735, name: 'May', id: 'may' },\n { value: 465, name: 'June', id: 'june', color: 'var(--const-stoplight-warning)' },\n { value: 927, name: 'July', id: 'july' },\n ]);\n await page.waitForChanges();\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-bar >>> canvas');\n expect(canvas).toBeTruthy();\n });\n\n it('renders a descriptive aria-label for the chart', async () => {\n const chartContainer = await page.find('q2-chart-bar >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n expect(ariaLabelText).toContain('This is a chart about \"Month-to-month spending\" with type Bar chart');\n expect(ariaLabelText).toContain('the data for March is 0, 1048');\n expect(ariaLabelText).toContain('the data for April is 1, 580');\n expect(ariaLabelText).toContain('the data for May is 2, 735');\n expect(ariaLabelText).toContain('the data for June is 3, 465');\n expect(ariaLabelText).toContain('the data for July is 4, 927');\n });\n describe('chartName', () => {\n describe('when provided', () => {\n it('renders with provided chartName', async () => {\n page = await setup({ html: `` });\n await page.setContent('<q2-chart-bar></q2-chart-bar>');\n chart = await page.find('q2-chart-bar');\n chart.setProperty('chartName', 'Month-to-month spending');\n await page.waitForChanges();\n\n expect(await chart.getProperty('chartName')).toEqualText('Month-to-month spending');\n });\n });\n describe('when provided a custom name translation', () => {\n it('renders the translated value', async () => {\n page = await setup({\n html: ``,\n });\n await setTestStrings(page, {\n 'q2ChartBar.customName': 'Custom Chart Name',\n });\n page.setContent(`<q2-chart-bar chart-name=\"q2ChartBar.customName\"></q2-chart-bar>`);\n await page.waitForChanges();\n chart = await page.find('q2-chart-bar');\n const chartContainer = await page.find('q2-chart-bar >>> .chart-container');\n const ariaLabelText = chartContainer.getAttribute('aria-label');\n\n expect(await chart.getProperty('chartName')).toEqual('q2ChartBar.customName');\n expect(ariaLabelText).toContain('This is a chart about \"Custom Chart Name\" with type Bar chart');\n });\n });\n });\n});\n"]}
|
|
@@ -59,7 +59,7 @@ describe('q2-chart-donut', () => {
|
|
|
59
59
|
});
|
|
60
60
|
describe('when provided', () => {
|
|
61
61
|
it('renders with provided value', async () => {
|
|
62
|
-
|
|
62
|
+
chart.setProperty('summaryName', 'All The Things');
|
|
63
63
|
await page.waitForChanges();
|
|
64
64
|
name = await page.find('q2-chart-donut >>> .name');
|
|
65
65
|
expect(name).toEqualText('All The Things');
|
|
@@ -75,7 +75,7 @@ describe('q2-chart-donut', () => {
|
|
|
75
75
|
});
|
|
76
76
|
describe('when provided', () => {
|
|
77
77
|
it('renders with provided value', async () => {
|
|
78
|
-
|
|
78
|
+
chart.setProperty('summaryIcon', 'coins');
|
|
79
79
|
await page.waitForChanges();
|
|
80
80
|
icon = await page.find('q2-chart-donut >>> q2-icon');
|
|
81
81
|
expect(icon).toEqualAttribute('type', 'coins');
|
|
@@ -91,7 +91,7 @@ describe('q2-chart-donut', () => {
|
|
|
91
91
|
});
|
|
92
92
|
describe('when provided', () => {
|
|
93
93
|
it('renders as currency', async () => {
|
|
94
|
-
|
|
94
|
+
chart.setProperty('format', 'currency');
|
|
95
95
|
await page.waitForChanges();
|
|
96
96
|
value = await page.find('q2-chart-donut >>> .value');
|
|
97
97
|
expect(value).toEqualText('$3,147.00');
|
|
@@ -109,12 +109,12 @@ describe('q2-chart-donut', () => {
|
|
|
109
109
|
});
|
|
110
110
|
describe('when provided', () => {
|
|
111
111
|
it('renders center content in a button', async () => {
|
|
112
|
-
|
|
112
|
+
chart.setProperty('isClickable', true);
|
|
113
113
|
await page.waitForChanges();
|
|
114
114
|
centerCard = await page.find('q2-chart-donut >>> .center-card');
|
|
115
115
|
expect(centerCard.tagName).toEqualText('BUTTON');
|
|
116
|
-
expect(centerCard).toEqualAttribute('aria-description', 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.');
|
|
117
116
|
expect(centerCard).toEqualAttribute('aria-roledescription', 'Chart button');
|
|
117
|
+
expect(centerCard).toEqualAttribute('aria-describedby', 'center-card-description');
|
|
118
118
|
});
|
|
119
119
|
});
|
|
120
120
|
});
|
|
@@ -125,7 +125,7 @@ describe('q2-chart-donut', () => {
|
|
|
125
125
|
it('reverts the value to be 15% less than the outerRadius', async () => {
|
|
126
126
|
expect(await chart.getProperty('innerRadius')).toEqual('70%');
|
|
127
127
|
expect(await chart.getProperty('outerRadius')).toEqual('85%');
|
|
128
|
-
|
|
128
|
+
chart.setProperty('innerRadius', '90%');
|
|
129
129
|
await page.waitForChanges();
|
|
130
130
|
expect(await chart.getProperty('innerRadius')).toEqual('70%');
|
|
131
131
|
});
|
|
@@ -136,7 +136,7 @@ describe('q2-chart-donut', () => {
|
|
|
136
136
|
it('reverts the value to be 15% more than the innerRadius', async () => {
|
|
137
137
|
expect(await chart.getProperty('innerRadius')).toEqual('70%');
|
|
138
138
|
expect(await chart.getProperty('outerRadius')).toEqual('85%');
|
|
139
|
-
|
|
139
|
+
chart.setProperty('outerRadius', '65%');
|
|
140
140
|
await page.waitForChanges();
|
|
141
141
|
expect(await chart.getProperty('outerRadius')).toEqual('85%');
|
|
142
142
|
});
|
|
@@ -231,7 +231,7 @@ describe('q2-chart-donut', () => {
|
|
|
231
231
|
});
|
|
232
232
|
describe('when element is clickable', () => {
|
|
233
233
|
beforeEach(async () => {
|
|
234
|
-
|
|
234
|
+
chart.setProperty('isClickable', true);
|
|
235
235
|
await page.waitForChanges();
|
|
236
236
|
centerCard = await page.find('q2-chart-donut >>> .center-card');
|
|
237
237
|
clickSpy = await chart.spyOnEvent('click');
|
|
@@ -293,21 +293,24 @@ describe('q2-chart-donut', () => {
|
|
|
293
293
|
});
|
|
294
294
|
describe('Accessibility', () => {
|
|
295
295
|
it('renders a descriptive aria-label for the chart', async () => {
|
|
296
|
-
|
|
296
|
+
chart.setProperty('chartName', 'Recent Spending');
|
|
297
297
|
await page.waitForChanges();
|
|
298
298
|
const chartContainer = await page.find('q2-chart-donut >>> .chart-container');
|
|
299
299
|
const ariaLabelText = await chartContainer.getAttribute('aria-label');
|
|
300
|
-
|
|
301
|
-
expect(ariaLabelText).toContain('the data for Groceries is 1048');
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
300
|
+
// this text is provided through the built-in accessibility feature from the Apache Echarts library when 'aria: true' is set in the chart options
|
|
301
|
+
expect(ariaLabelText).toContain('This is a chart with type Pie chart named Recent Spending.The data is as follows: the data for Groceries is 1048, the data for Pets is 735, the data for Rent is 580, the data for Automobile is 484, the data for Gifts is 300.');
|
|
302
|
+
});
|
|
303
|
+
it('renders a descriptive aria-describedby element for the chart', async () => {
|
|
304
|
+
chart.setProperty('chartName', 'Recent Spending');
|
|
305
|
+
chart.setProperty('isClickable', true);
|
|
306
|
+
await page.waitForChanges();
|
|
307
|
+
const descriptionDiv = await page.find('q2-chart-donut >>> [id=center-card-description]');
|
|
308
|
+
expect(descriptionDiv.innerText).toEqual('Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.');
|
|
306
309
|
});
|
|
307
310
|
});
|
|
308
311
|
describe('focus', () => {
|
|
309
312
|
it('does not focus anything when focus event is dispatched', async function () {
|
|
310
|
-
|
|
313
|
+
chart.triggerEvent('focus');
|
|
311
314
|
await page.waitForChanges();
|
|
312
315
|
expect(await getFocusedAttribute(page, 'test-id')).toBeNull();
|
|
313
316
|
});
|
|
@@ -318,11 +321,11 @@ describe('q2-chart-donut', () => {
|
|
|
318
321
|
});
|
|
319
322
|
describe('when element is clickable', () => {
|
|
320
323
|
beforeEach(async () => {
|
|
321
|
-
|
|
324
|
+
chart.setProperty('isClickable', true);
|
|
322
325
|
await page.waitForChanges();
|
|
323
326
|
});
|
|
324
327
|
it('focuses center button when focus event is dispatched', async function () {
|
|
325
|
-
|
|
328
|
+
chart.triggerEvent('focus');
|
|
326
329
|
await page.waitForChanges();
|
|
327
330
|
expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');
|
|
328
331
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-chart-donut-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-donut-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup, getFocusedAttribute, setTestStrings } from '../helpers';\n\ndescribe('q2-chart-donut', () => {\n let page: E2EPage;\n let chart: E2EElement;\n let centerCard: E2EElement;\n let name: E2EElement;\n let icon: E2EElement;\n let value: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n const selectById = async (page: E2EPage, id: string) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, id: string) => element.selectById(id),\n id\n );\n };\n\n const selectByIndex = async (page: E2EPage, index: number) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, index: number) => element.selectByIndex(index),\n index\n );\n };\n\n const clearSelection = async (page: E2EPage) => {\n return page.$eval('q2-chart-donut', (element: HTMLQ2ChartDonutElement) => element.clearSelection());\n };\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.chartDonut.button.summaryName': 'Total',\n 'tecton.element.chartDonut.button.description':\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.',\n 'tecton.element.chartDonut.button.roleDescription': 'Chart button',\n });\n await page.setContent('<q2-chart-donut></q2-chart-donut>');\n chart = await page.find('q2-chart-donut');\n chart.setProperty('data', [\n { value: 1048, name: 'Groceries', id: 'groceries', icon: 'cart' },\n { value: 735, name: 'Pets', id: 'pets', icon: 'paw' },\n { value: 580, name: 'Rent', id: 'rent', icon: 'home', color: 'var(--const-stoplight-info)' },\n { value: 484, name: 'Automobile', id: 'automobiles', icon: 'car' },\n { value: 300, name: 'Gifts', id: 'gifts', icon: 'gift', color: 'rebeccapurple' },\n ]);\n await page.waitForChanges();\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-donut >>> canvas');\n\n expect(canvas).toBeTruthy();\n });\n\n it('adds color properties to q2-icon', async () => {\n const getIconStyleProp = async (page: E2EPage, prop: string) =>\n page.$eval(\n 'q2-chart-donut',\n (element, [prop]) => {\n return element.shadowRoot.querySelector<HTMLElement>('q2-icon').style.getPropertyValue(prop);\n },\n [prop]\n );\n await selectById(page, 'rent');\n await page.waitForChanges();\n expect(await getIconStyleProp(page, '--tct-icon-stroke-primary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, '--tct-icon-stroke-secondary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, 'color')).toBe('var(--const-stoplight-info)');\n });\n\n describe('Props', () => {\n describe('summaryName', () => {\n describe('when not provided', () => {\n it('renders with default value', async () => {\n name = await page.find('q2-chart-donut >>> .name');\n expect(name).toEqualText('Total');\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await chart.setProperty('summaryName', 'All The Things');\n await page.waitForChanges();\n name = await page.find('q2-chart-donut >>> .name');\n expect(name).toEqualText('All The Things');\n });\n });\n });\n\n describe('summaryIcon', () => {\n describe('when not provided', () => {\n it('does not render', async () => {\n icon = await page.find('q2-chart-donut >>> .icon');\n expect(icon).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n await chart.setProperty('summaryIcon', 'coins');\n await page.waitForChanges();\n icon = await page.find('q2-chart-donut >>> q2-icon');\n expect(icon).toEqualAttribute('type', 'coins');\n });\n });\n });\n\n describe('format', () => {\n describe('when not provided', () => {\n it('renders default format', async () => {\n value = await page.find('q2-chart-donut >>> .value');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('when provided', () => {\n it('renders as currency', async () => {\n await chart.setProperty('format', 'currency');\n await page.waitForChanges();\n value = await page.find('q2-chart-donut >>> .value');\n expect(value).toEqualText('$3,147.00');\n });\n });\n });\n\n describe('isClickable', () => {\n describe('when not provided', () => {\n it('renders center content in a div', async () => {\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n expect(centerCard.tagName).toEqualText('DIV');\n expect(centerCard).not.toHaveAttribute('aria-description');\n expect(centerCard).not.toHaveAttribute('aria-roledescription');\n });\n });\n\n describe('when provided', () => {\n it('renders center content in a button', async () => {\n await chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n expect(centerCard.tagName).toEqualText('BUTTON');\n expect(centerCard).toEqualAttribute(\n 'aria-description',\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.'\n );\n expect(centerCard).toEqualAttribute('aria-roledescription', 'Chart button');\n });\n });\n });\n });\n\n describe('Watchers', () => {\n describe('innerRadius', () => {\n describe('when changed to a value greater than outerRadius', () => {\n it('reverts the value to be 15% less than the outerRadius', async () => {\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n await chart.setProperty('innerRadius', '90%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n });\n });\n });\n\n describe('outerRadius', () => {\n describe('when changed to a value less than innerRadius', () => {\n it('reverts the value to be 15% more than the innerRadius', async () => {\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n await chart.setProperty('outerRadius', '65%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n });\n });\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n describe('selectById', () => {\n it('selects the correct slice by id', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(icon).toEqualAttribute('type', 'home');\n expect(name).toEqualText('Rent');\n expect(value).toEqualText('580');\n });\n\n it('does not emit event when invalid id is passed', async () => {\n await selectById(page, 'iron-man');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('selectByIndex', () => {\n it('selects the correct slice by index', async () => {\n await selectByIndex(page, 1);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'pets',\n name: 'Pets',\n value: 735,\n icon: 'paw',\n });\n expect(icon).toEqualAttribute('type', 'paw');\n expect(name).toEqualText('Pets');\n expect(value).toEqualText('735');\n });\n\n it('does not emit event when invalid index is passed', async () => {\n await selectByIndex(page, 10);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('clearSelection', () => {\n beforeEach(async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n });\n\n it('clears the selected slice', async () => {\n await clearSelection(page);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n clickSpy = await chart.spyOnEvent('click');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n it('emits a click event when clicked', async () => {\n await centerCard.click();\n expect(clickSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n\n it('emits a click event when clicked', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n await centerCard.click();\n expect(clickSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n });\n\n it('emits a change event when arrow keys are pressed', async () => {\n await centerCard.press('ArrowLeft');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'gifts',\n name: 'Gifts',\n value: 300,\n icon: 'gift',\n color: 'rebeccapurple',\n });\n\n await centerCard.press('ArrowRight');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'groceries',\n name: 'Groceries',\n value: 1048,\n icon: 'cart',\n });\n\n await centerCard.press('Escape');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n });\n\n describe('Accessibility', () => {\n it('renders a descriptive aria-label for the chart', async () => {\n await chart.setProperty('chartName', 'Spending');\n await page.waitForChanges();\n\n const chartContainer = await page.find('q2-chart-donut >>> .chart-container');\n\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n expect(ariaLabelText).toContain('This is a chart with type Pie chart named Spending');\n expect(ariaLabelText).toContain('the data for Groceries is 1048');\n expect(ariaLabelText).toContain('the data for Pets is 735');\n expect(ariaLabelText).toContain('the data for Rent is 580');\n expect(ariaLabelText).toContain('the data for Automobile is 484');\n expect(ariaLabelText).toContain('the data for Gifts is 300');\n });\n });\n\n describe('focus', () => {\n it('does not focus anything when focus event is dispatched', async function (): Promise<void> {\n await chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n it('does not focus anything when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n await chart.setProperty('isClickable', true);\n await page.waitForChanges();\n });\n\n it('focuses center button when focus event is dispatched', async function (): Promise<void> {\n await chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n\n it('focuses center button when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-chart-donut-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-chart-donut-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { setup, getFocusedAttribute, setTestStrings } from '../helpers';\n\ndescribe('q2-chart-donut', () => {\n let page: E2EPage;\n let chart: E2EElement;\n let centerCard: E2EElement;\n let name: E2EElement;\n let icon: E2EElement;\n let value: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n const selectById = async (page: E2EPage, id: string) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, id: string) => element.selectById(id),\n id\n );\n };\n\n const selectByIndex = async (page: E2EPage, index: number) => {\n return page.$eval(\n 'q2-chart-donut',\n (element: HTMLQ2ChartDonutElement, index: number) => element.selectByIndex(index),\n index\n );\n };\n\n const clearSelection = async (page: E2EPage) => {\n return page.$eval('q2-chart-donut', (element: HTMLQ2ChartDonutElement) => element.clearSelection());\n };\n\n beforeEach(async () => {\n page = await setup({ html: '' });\n await setTestStrings(page, {\n 'tecton.element.chartDonut.button.summaryName': 'Total',\n 'tecton.element.chartDonut.button.description':\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.',\n 'tecton.element.chartDonut.button.roleDescription': 'Chart button',\n });\n await page.setContent('<q2-chart-donut></q2-chart-donut>');\n chart = await page.find('q2-chart-donut');\n chart.setProperty('data', [\n { value: 1048, name: 'Groceries', id: 'groceries', icon: 'cart' },\n { value: 735, name: 'Pets', id: 'pets', icon: 'paw' },\n { value: 580, name: 'Rent', id: 'rent', icon: 'home', color: 'var(--const-stoplight-info)' },\n { value: 484, name: 'Automobile', id: 'automobiles', icon: 'car' },\n { value: 300, name: 'Gifts', id: 'gifts', icon: 'gift', color: 'rebeccapurple' },\n ]);\n await page.waitForChanges();\n });\n\n it('renders a canvas element', async () => {\n const canvas = await page.find('q2-chart-donut >>> canvas');\n\n expect(canvas).toBeTruthy();\n });\n\n it('adds color properties to q2-icon', async () => {\n const getIconStyleProp = async (page: E2EPage, prop: string) =>\n page.$eval(\n 'q2-chart-donut',\n (element, [prop]) => {\n return element.shadowRoot.querySelector<HTMLElement>('q2-icon').style.getPropertyValue(prop);\n },\n [prop]\n );\n await selectById(page, 'rent');\n await page.waitForChanges();\n expect(await getIconStyleProp(page, '--tct-icon-stroke-primary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, '--tct-icon-stroke-secondary')).toBe('var(--const-stoplight-info)');\n expect(await getIconStyleProp(page, 'color')).toBe('var(--const-stoplight-info)');\n });\n\n describe('Props', () => {\n describe('summaryName', () => {\n describe('when not provided', () => {\n it('renders with default value', async () => {\n name = await page.find('q2-chart-donut >>> .name');\n expect(name).toEqualText('Total');\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n chart.setProperty('summaryName', 'All The Things');\n await page.waitForChanges();\n name = await page.find('q2-chart-donut >>> .name');\n expect(name).toEqualText('All The Things');\n });\n });\n });\n\n describe('summaryIcon', () => {\n describe('when not provided', () => {\n it('does not render', async () => {\n icon = await page.find('q2-chart-donut >>> .icon');\n expect(icon).toBeNull();\n });\n });\n\n describe('when provided', () => {\n it('renders with provided value', async () => {\n chart.setProperty('summaryIcon', 'coins');\n await page.waitForChanges();\n icon = await page.find('q2-chart-donut >>> q2-icon');\n expect(icon).toEqualAttribute('type', 'coins');\n });\n });\n });\n\n describe('format', () => {\n describe('when not provided', () => {\n it('renders default format', async () => {\n value = await page.find('q2-chart-donut >>> .value');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('when provided', () => {\n it('renders as currency', async () => {\n chart.setProperty('format', 'currency');\n await page.waitForChanges();\n value = await page.find('q2-chart-donut >>> .value');\n expect(value).toEqualText('$3,147.00');\n });\n });\n });\n\n describe('isClickable', () => {\n describe('when not provided', () => {\n it('renders center content in a div', async () => {\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n expect(centerCard.tagName).toEqualText('DIV');\n expect(centerCard).not.toHaveAttribute('aria-description');\n expect(centerCard).not.toHaveAttribute('aria-roledescription');\n });\n });\n\n describe('when provided', () => {\n it('renders center content in a button', async () => {\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n expect(centerCard.tagName).toEqualText('BUTTON');\n expect(centerCard).toEqualAttribute('aria-roledescription', 'Chart button');\n expect(centerCard).toEqualAttribute('aria-describedby', 'center-card-description');\n });\n });\n });\n });\n\n describe('Watchers', () => {\n describe('innerRadius', () => {\n describe('when changed to a value greater than outerRadius', () => {\n it('reverts the value to be 15% less than the outerRadius', async () => {\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('innerRadius', '90%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n });\n });\n });\n\n describe('outerRadius', () => {\n describe('when changed to a value less than innerRadius', () => {\n it('reverts the value to be 15% more than the innerRadius', async () => {\n expect(await chart.getProperty('innerRadius')).toEqual('70%');\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n\n chart.setProperty('outerRadius', '65%');\n await page.waitForChanges();\n\n expect(await chart.getProperty('outerRadius')).toEqual('85%');\n });\n });\n });\n });\n\n describe('Methods', () => {\n beforeEach(async () => {\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n describe('selectById', () => {\n it('selects the correct slice by id', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(icon).toEqualAttribute('type', 'home');\n expect(name).toEqualText('Rent');\n expect(value).toEqualText('580');\n });\n\n it('does not emit event when invalid id is passed', async () => {\n await selectById(page, 'iron-man');\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('selectByIndex', () => {\n it('selects the correct slice by index', async () => {\n await selectByIndex(page, 1);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'pets',\n name: 'Pets',\n value: 735,\n icon: 'paw',\n });\n expect(icon).toEqualAttribute('type', 'paw');\n expect(name).toEqualText('Pets');\n expect(value).toEqualText('735');\n });\n\n it('does not emit event when invalid index is passed', async () => {\n await selectByIndex(page, 10);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).not.toHaveReceivedEvent();\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n\n describe('clearSelection', () => {\n beforeEach(async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n });\n\n it('clears the selected slice', async () => {\n await clearSelection(page);\n await page.waitForChanges();\n\n icon = await page.find('q2-chart-donut >>> q2-icon');\n name = await page.find('q2-chart-donut >>> .name');\n value = await page.find('q2-chart-donut >>> .value');\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n expect(icon).toBeNull();\n expect(name).toEqualText('Total');\n expect(value).toEqualText('3,147');\n });\n });\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n centerCard = await page.find('q2-chart-donut >>> .center-card');\n clickSpy = await chart.spyOnEvent('click');\n changeSpy = await chart.spyOnEvent('change');\n });\n\n it('emits a click event when clicked', async () => {\n await centerCard.click();\n expect(clickSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n\n it('emits a click event when clicked', async () => {\n await selectById(page, 'rent');\n await page.waitForChanges();\n\n await centerCard.click();\n expect(clickSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'rent',\n name: 'Rent',\n value: 580,\n icon: 'home',\n color: 'var(--const-stoplight-info)',\n });\n });\n\n it('emits a change event when arrow keys are pressed', async () => {\n await centerCard.press('ArrowLeft');\n await page.waitForChanges();\n\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'gifts',\n name: 'Gifts',\n value: 300,\n icon: 'gift',\n color: 'rebeccapurple',\n });\n\n await centerCard.press('ArrowRight');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n id: 'groceries',\n name: 'Groceries',\n value: 1048,\n icon: 'cart',\n });\n\n await centerCard.press('Escape');\n await page.waitForChanges();\n expect(changeSpy).toHaveReceivedEventDetail({\n id: null,\n name: null,\n value: null,\n });\n });\n });\n\n describe('Accessibility', () => {\n it('renders a descriptive aria-label for the chart', async () => {\n chart.setProperty('chartName', 'Recent Spending');\n await page.waitForChanges();\n\n const chartContainer = await page.find('q2-chart-donut >>> .chart-container');\n const ariaLabelText = await chartContainer.getAttribute('aria-label');\n // this text is provided through the built-in accessibility feature from the Apache Echarts library when 'aria: true' is set in the chart options\n expect(ariaLabelText).toContain(\n 'This is a chart with type Pie chart named Recent Spending.The data is as follows: the data for Groceries is 1048, the data for Pets is 735, the data for Rent is 580, the data for Automobile is 484, the data for Gifts is 300.'\n );\n });\n it('renders a descriptive aria-describedby element for the chart', async () => {\n chart.setProperty('chartName', 'Recent Spending');\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n const descriptionDiv = await page.find('q2-chart-donut >>> [id=center-card-description]');\n expect(descriptionDiv.innerText).toEqual(\n 'Use the left and right arrow keys to navigate between slices of the chart. The escape key will reset the chart to its original state.'\n );\n });\n });\n\n describe('focus', () => {\n it('does not focus anything when focus event is dispatched', async function (): Promise<void> {\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n it('does not focus anything when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toBeNull();\n });\n\n describe('when element is clickable', () => {\n beforeEach(async () => {\n chart.setProperty('isClickable', true);\n await page.waitForChanges();\n });\n\n it('focuses center button when focus event is dispatched', async function (): Promise<void> {\n chart.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n\n it('focuses center button when element.focus() is called', async function (): Promise<void> {\n await chart.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('centerCard');\n });\n });\n });\n});\n"]}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import { setup } from '../helpers';
|
|
1
|
+
import { getFocusedAttribute, setup } from '../helpers';
|
|
2
2
|
describe('q2-checkbox-group', () => {
|
|
3
3
|
let page;
|
|
4
4
|
describe('Props', () => {
|
|
5
|
+
async function setupPage(props = '') {
|
|
6
|
+
props = props ? ` ${props}` : '';
|
|
7
|
+
const page = await setup({
|
|
8
|
+
html: `
|
|
9
|
+
<q2-checkbox-group label="My Checkbox group"${props}>
|
|
10
|
+
<q2-checkbox value="value-1" label="Checkbox 1"></q2-checkbox>
|
|
11
|
+
<q2-checkbox value="value-2" label="Checkbox 2"></q2-checkbox>
|
|
12
|
+
<q2-checkbox value="value-3" label="Checkbox 3"></q2-checkbox>
|
|
13
|
+
<q2-checkbox value="value-4" label="Checkbox 4"></q2-checkbox>
|
|
14
|
+
<q2-checkbox value="value-5" label="Checkbox 5"></q2-checkbox>
|
|
15
|
+
</q2-checkbox-group>
|
|
16
|
+
`,
|
|
17
|
+
});
|
|
18
|
+
await page.waitForChanges();
|
|
19
|
+
return page;
|
|
20
|
+
}
|
|
5
21
|
describe('disabled', () => {
|
|
6
22
|
it('does not add the group-disabled attribute to the checkboxes by default', async () => {
|
|
7
|
-
page = await
|
|
8
|
-
html: `
|
|
9
|
-
<q2-checkbox-group label="My Checkbox group">
|
|
10
|
-
<q2-checkbox value="value-1" label="Checkbox 1"></q2-checkbox>
|
|
11
|
-
<q2-checkbox value="value-2" label="Checkbox 2"></q2-checkbox>
|
|
12
|
-
<q2-checkbox value="value-3" label="Checkbox 3"></q2-checkbox>
|
|
13
|
-
<q2-checkbox value="value-4" label="Checkbox 4"></q2-checkbox>
|
|
14
|
-
<q2-checkbox value="value-5" label="Checkbox 5"></q2-checkbox>
|
|
15
|
-
</q2-checkbox-group>
|
|
16
|
-
`,
|
|
17
|
-
});
|
|
18
|
-
await page.waitForChanges();
|
|
23
|
+
page = await setupPage();
|
|
19
24
|
const checkboxes = await page.findAll('q2-checkbox');
|
|
20
25
|
expect(checkboxes).toHaveLength(5);
|
|
21
26
|
checkboxes.forEach(checkbox => {
|
|
@@ -23,9 +28,67 @@ describe('q2-checkbox-group', () => {
|
|
|
23
28
|
});
|
|
24
29
|
});
|
|
25
30
|
it('adds the group-disabled attribute to the checkboxes when present', async () => {
|
|
31
|
+
page = await setupPage('disabled');
|
|
32
|
+
const checkboxes = await page.findAll('q2-checkbox');
|
|
33
|
+
expect(checkboxes).toHaveLength(5);
|
|
34
|
+
checkboxes.forEach(checkbox => {
|
|
35
|
+
expect(checkbox).toHaveAttribute('group-disabled');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('readonly', () => {
|
|
40
|
+
describe('set to true', () => {
|
|
41
|
+
it('on load child q2-checkbox components are readonly', async () => {
|
|
42
|
+
page = await setupPage('readonly');
|
|
43
|
+
const checkboxes = await page.findAll('q2-checkbox');
|
|
44
|
+
checkboxes.forEach(checkbox => {
|
|
45
|
+
expect(checkbox).toHaveAttribute('readonly');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it('after load child q2-checkbox components are readonly', async () => {
|
|
49
|
+
page = await setupPage();
|
|
50
|
+
const checkboxGroup = await page.find('q2-checkbox-group');
|
|
51
|
+
const checkboxes = await page.findAll('q2-checkbox');
|
|
52
|
+
checkboxes.forEach(checkbox => {
|
|
53
|
+
expect(checkbox).not.toHaveAttribute('readonly');
|
|
54
|
+
});
|
|
55
|
+
checkboxGroup.setAttribute('readonly', 'true');
|
|
56
|
+
await page.waitForChanges();
|
|
57
|
+
checkboxes.forEach(checkbox => {
|
|
58
|
+
expect(checkbox).toHaveAttribute('readonly');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('set to false', () => {
|
|
63
|
+
it('on load child q2-checkbox components are NOT readonly', async () => {
|
|
64
|
+
page = await setupPage();
|
|
65
|
+
const checkboxes = await page.findAll('q2-checkbox');
|
|
66
|
+
checkboxes.forEach(checkbox => {
|
|
67
|
+
expect(checkbox).not.toHaveAttribute('readonly');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
it('after load child q2-checkbox components are NOT readonly', async () => {
|
|
71
|
+
page = await setupPage('readonly');
|
|
72
|
+
const checkboxGroup = await page.find('q2-checkbox-group');
|
|
73
|
+
const checkboxes = await page.findAll('q2-checkbox');
|
|
74
|
+
checkboxes.forEach(checkbox => {
|
|
75
|
+
expect(checkbox).toHaveAttribute('readonly');
|
|
76
|
+
});
|
|
77
|
+
checkboxGroup.setAttribute('readonly', 'false');
|
|
78
|
+
await page.waitForChanges();
|
|
79
|
+
checkboxes.forEach(checkbox => {
|
|
80
|
+
expect(checkbox).not.toHaveAttribute('readonly');
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('Methods', () => {
|
|
87
|
+
describe('setValue', () => {
|
|
88
|
+
beforeEach(async () => {
|
|
26
89
|
page = await setup({
|
|
27
90
|
html: `
|
|
28
|
-
<q2-checkbox-group label="My Checkbox group"
|
|
91
|
+
<q2-checkbox-group label="My Checkbox group">
|
|
29
92
|
<q2-checkbox value="value-1" label="Checkbox 1"></q2-checkbox>
|
|
30
93
|
<q2-checkbox value="value-2" label="Checkbox 2"></q2-checkbox>
|
|
31
94
|
<q2-checkbox value="value-3" label="Checkbox 3"></q2-checkbox>
|
|
@@ -35,11 +98,68 @@ describe('q2-checkbox-group', () => {
|
|
|
35
98
|
`,
|
|
36
99
|
});
|
|
37
100
|
await page.waitForChanges();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
101
|
+
});
|
|
102
|
+
it('selects every checkbox provided in an array of strings', async () => {
|
|
103
|
+
const checkboxGroup = await page.find('q2-checkbox-group');
|
|
104
|
+
const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');
|
|
105
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);
|
|
106
|
+
expect(await getFocusedAttribute(page, 'value')).toBeNull();
|
|
107
|
+
await checkboxGroup.callMethod('setValue', ['value-1', 'value-3', 'value-5']);
|
|
108
|
+
await page.waitForChanges();
|
|
109
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(3);
|
|
110
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventDetail({
|
|
111
|
+
'value-1': true,
|
|
112
|
+
'value-2': false,
|
|
113
|
+
'value-3': true,
|
|
114
|
+
'value-4': false,
|
|
115
|
+
'value-5': true,
|
|
42
116
|
});
|
|
117
|
+
const allCheckboxes = await page.findAll('q2-checkbox');
|
|
118
|
+
expect(allCheckboxes[0]).toHaveAttribute('checked');
|
|
119
|
+
expect(allCheckboxes[1]).not.toHaveAttribute('checked');
|
|
120
|
+
expect(allCheckboxes[2]).toHaveAttribute('checked');
|
|
121
|
+
expect(allCheckboxes[3]).not.toHaveAttribute('checked');
|
|
122
|
+
expect(allCheckboxes[4]).toHaveAttribute('checked');
|
|
123
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('value-5');
|
|
124
|
+
});
|
|
125
|
+
it('selects the checkbox for the provided value', async () => {
|
|
126
|
+
const checkboxGroup = await page.find('q2-checkbox-group');
|
|
127
|
+
const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');
|
|
128
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);
|
|
129
|
+
expect(await getFocusedAttribute(page, 'value')).toBeNull();
|
|
130
|
+
await checkboxGroup.callMethod('setValue', 'value-3');
|
|
131
|
+
await page.waitForChanges();
|
|
132
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(1);
|
|
133
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventDetail({
|
|
134
|
+
'value-1': false,
|
|
135
|
+
'value-2': false,
|
|
136
|
+
'value-3': true,
|
|
137
|
+
'value-4': false,
|
|
138
|
+
'value-5': false,
|
|
139
|
+
});
|
|
140
|
+
const allCheckboxes = await page.findAll('q2-checkbox');
|
|
141
|
+
expect(allCheckboxes[0]).not.toHaveAttribute('checked');
|
|
142
|
+
expect(allCheckboxes[1]).not.toHaveAttribute('checked');
|
|
143
|
+
expect(allCheckboxes[2]).toHaveAttribute('checked');
|
|
144
|
+
expect(allCheckboxes[3]).not.toHaveAttribute('checked');
|
|
145
|
+
expect(allCheckboxes[4]).not.toHaveAttribute('checked');
|
|
146
|
+
expect(await getFocusedAttribute(page, 'value')).toEqual('value-3');
|
|
147
|
+
});
|
|
148
|
+
it('does not select any checkbox when the provided value is not found', async () => {
|
|
149
|
+
const checkboxGroup = await page.find('q2-checkbox-group');
|
|
150
|
+
const checkboxGroupChangeSpy = await checkboxGroup.spyOnEvent('change');
|
|
151
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);
|
|
152
|
+
expect(await getFocusedAttribute(page, 'value')).toBeNull();
|
|
153
|
+
await checkboxGroup.callMethod('setValue', 'value-10');
|
|
154
|
+
await page.waitForChanges();
|
|
155
|
+
expect(checkboxGroupChangeSpy).toHaveReceivedEventTimes(0);
|
|
156
|
+
const allCheckboxes = await page.findAll('q2-checkbox');
|
|
157
|
+
expect(allCheckboxes[0]).not.toHaveAttribute('checked');
|
|
158
|
+
expect(allCheckboxes[1]).not.toHaveAttribute('checked');
|
|
159
|
+
expect(allCheckboxes[2]).not.toHaveAttribute('checked');
|
|
160
|
+
expect(allCheckboxes[3]).not.toHaveAttribute('checked');
|
|
161
|
+
expect(allCheckboxes[4]).not.toHaveAttribute('checked');
|
|
162
|
+
expect(await getFocusedAttribute(page, 'value')).toBeNull();
|
|
43
163
|
});
|
|
44
164
|
});
|
|
45
165
|
});
|