q2-tecton-elements 1.36.0 → 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/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 +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 +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 +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/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 +1 -1
- package/dist/collection/components/q2-chart-area/index.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/index.js +1 -1
- package/dist/collection/components/q2-chart-bar/index.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/index.js +11 -7
- 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/styles.css +37 -36
- 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 +48 -10
- 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-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-textarea/index.js +37 -0
- package/dist/collection/components/q2-textarea/index.js.map +1 -1
- package/dist/collection/utils/index.js +8 -6
- package/dist/collection/utils/index.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-editable-field.js +39 -7
- package/dist/components/q2-editable-field.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-textarea.js +15 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/docs.json +224 -9
- 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 +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 +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 +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-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-c3650c2e.entry.js → p-597f8656.entry.js} +2 -2
- 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-15ca5c98.entry.js → p-9d743327.entry.js} +2 -2
- 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-6e6b160d.entry.js → p-ac82ea35.entry.js} +2 -2
- 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-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-donut/index.d.ts +1 -1
- 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-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 +19 -0
- 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-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-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-c3650c2e.entry.js.map → p-597f8656.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-15ca5c98.entry.js.map → p-9d743327.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-6e6b160d.entry.js.map → p-ac82ea35.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-checkbox-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-checkbox-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage } from '@stencil/core/testing';\nimport { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel } from '../helpers';\n\ndescribe('q2-checkbox', () => {\n const isChecked = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => el.shadowRoot.querySelector('input')?.checked ?? false);\n };\n\n it('renders checkbox with label and unchecked checkbox', async () => {\n const page = await setup({\n html: `<q2-checkbox value=\"1\" label=\"Label\"></q2-checkbox>`,\n });\n\n const label = await page.find('q2-checkbox >>> .label-text');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(label).not.toBeNull();\n expect(label.innerText).toEqual('Label');\n expect(await innerCheckbox.getProperty('value')).toEqual('1');\n });\n\n describe('Methods', () => {\n describe('click', () => {\n it('selects the checkbox when called', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\"></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', (el: HTMLQ2CheckboxElement) => el.click());\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'on' });\n });\n });\n });\n\n describe('Props', () => {\n describe('description', () => {\n describe('when not provided', () => {\n it('adds the description markup', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\"></q2-checkbox>`,\n });\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n expect(description).toBeNull();\n expect(input).not.toHaveAttribute('aria-describedby');\n });\n });\n describe('when provided', () => {\n it('adds the description markup', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" description=\"Hello world\"></q2-checkbox>`,\n });\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n expect(description).toEqualText('Hello world');\n expect(input).toEqualAttribute('aria-describedby', 'description');\n });\n });\n });\n describe('groupDisabled', () => {\n it('adds the disabled attribute to the checkbox when present', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" group-disabled></q2-checkbox>`,\n });\n const innerInput = await page.find('q2-checkbox >>> input');\n expect(innerInput).toHaveAttribute('disabled');\n });\n });\n\n describe('hasError', () => {\n describe('when provided', () => {\n it('sets aria-invalid to true', async () => {\n const page = await setup({\n html: `<q2-checkbox has-error></q2-checkbox>`,\n });\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('true');\n });\n });\n describe('when not provided', () => {\n it('sets aria-invalid to false', async () => {\n const page = await setup({\n html: `<q2-checkbox></q2-checkbox>`,\n });\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('false');\n });\n });\n });\n });\n\n it('toggles the checked attribute when clicked', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\"></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n\n expect(checkbox).not.toHaveAttribute('checked');\n const innerInput = await page.find('q2-checkbox >>> input');\n await innerInput.press('Space');\n await page.waitForChanges();\n expect(checkbox).toHaveAttribute('checked');\n });\n\n it('allows slotted content', async () => {\n const page = await setup({\n html: `\n <q2-checkbox value=\"1\" label=\"Label\">\n <p>A yielded label</p>\n </q2-checkbox>\n `,\n });\n\n const { slottedText, slottedTag } = await page.$eval('q2-checkbox', element => {\n const slottedNode = element.shadowRoot.querySelector('slot').assignedElements()[0];\n return {\n slottedText: slottedNode.textContent,\n slottedTag: slottedNode.localName,\n };\n });\n\n expect(slottedText).toEqual('A yielded label');\n expect(slottedTag).toEqual('p');\n });\n\n it('binds aria-label when provided and no label present', async () => {\n const page = await setup({\n html: `\n <q2-checkbox aria-label=\"Aria-Label Text\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const labelContent = await page.find('q2-checkbox >>> .label-text');\n\n expect(labelContent).toHaveClass('sr');\n expect(labelContent).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'Label Text');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(labelContent).not.toHaveClass('sr');\n expect(labelContent).toEqualText('Label Text');\n });\n\n it('binds the name property', async () => {\n const page = await setup({\n html: `\n <q2-checkbox></q2-checkbox>\n `,\n });\n\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n const innerCheckboxId = innerCheckbox.getAttribute('id');\n\n expect(innerCheckbox.getAttribute('name')).toEqual(innerCheckboxId);\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('name', 'checkboxname');\n await page.waitForChanges();\n\n expect(innerCheckbox.getAttribute('name')).toEqual('checkboxname');\n });\n\n it('renders the star icon for type=\"favorite\"', async () => {\n const page = await setup({\n html: `\n <q2-checkbox></q2-checkbox>\n `,\n });\n\n let svg = await page.find('q2-checkbox >>> .checkbox-icon');\n\n expect(svg.tagName).toEqual('svg');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'favorite');\n await page.waitForChanges();\n\n svg = await page.find('q2-checkbox >>> .checkbox-icon');\n expect(svg.tagName).toEqual('Q2-ICON');\n expect(svg.getAttribute('type')).toEqual('star');\n });\n\n it('renders the toggle for type=\"toggle\"', async () => {\n const page = await setup({\n html: `\n <q2-checkbox></q2-checkbox>\n `,\n });\n\n let toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n\n expect(toggleSVG).toBeNull();\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'toggle');\n await page.waitForChanges();\n\n toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n expect(toggleSVG).not.toBeNull();\n });\n\n it('handles checked state', async () => {\n const page = await setup({\n html: `\n <q2-checkbox checked></q2-checkbox>\n `,\n });\n\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('checked-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('handles indeterminate state', async () => {\n const page = await setup({\n html: `\n <q2-checkbox indeterminate></q2-checkbox>\n `,\n });\n\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', true);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n // indeterminance takes precedence over checked\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n expect(checkboxFill).not.toHaveClass('checked-fill');\n\n checkbox.setProperty('indeterminate', false);\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('localizes appropriate attribute strings', async () => {\n const page = await setup({\n html: `\n <q2-checkbox></q2-checkbox>\n `,\n });\n\n await setTestStrings(page, {\n 'q2-checkbox.label': 'Label Text',\n 'q2-checkbox.ariaLabel': 'Aria-Label Text',\n });\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('ariaLabel', 'q2-checkbox.ariaLabel');\n await page.waitForChanges();\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n\n expect(innerLabel).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'q2-checkbox.label');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(innerLabel.innerText).toEqual('Label Text');\n });\n\n describe('focus transferring', () => {\n it('focuses when focus event dispatched ', async () => {\n const page = await setup({\n html: ` <q2-checkbox></q2-checkbox> `,\n });\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n\n it('focuses when focus method called ', async () => {\n const page = await setup({\n html: ` <q2-checkbox></q2-checkbox> `,\n });\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const checkbox = await page.find('q2-checkbox');\n await checkbox.triggerEvent('focus');\n await page.waitForChanges();\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n });\n\n describe('when readonly', () => {\n let page;\n beforeEach(async () => {\n page = await setup({\n html: `<q2-checkbox label=\"label text\" value=\"1\"></q2-checkbox>`,\n });\n });\n\n it('when readonly, click check icon should not work', async () => {\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkbox = await page.find('q2-checkbox >>> .checkbox-icon');\n await checkbox.click();\n await page.waitForChanges();\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n\n it('when readonly, click label text should not work', async () => {\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkLabelText = await page.find('q2-checkbox >>> .label-text');\n await checkLabelText.click();\n await page.waitForChanges();\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n });\n\n describe('Events', () => {\n describe('change', () => {\n describe('when event is added as a property', () => {\n it('does not update checked attribute if preventDefault is called', async () => {\n const page = await setup({\n html: `\n <script>\n function onClick(event) {\n event.preventDefault();\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onclick=\"onClick(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n it('does not update checked property if not done in the handler', async () => {\n const page = await setup({\n html: `\n <script>\n function onChange() {}\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('updates the checked attribute when done in the handler', async () => {\n const page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = event.detail.checked;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('forces the checked attribute to false when done in the handler', async () => {\n const page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = false;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n\n describe('when event is added via addEventListener', () => {\n it('mutates the value when event is added via addEventListener but does not call preventDefault', async () => {\n const page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange() {\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('does not update checked attribute if preventDefault is called', async () => {\n const page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange(event) {\n event.preventDefault();\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n });\n });\n\n describe('Regressions', () => {\n it('applies font-weight to label when CSS property is updated (TCT-2246)', async () => {\n const page = await setup({\n html: `\n <q2-checkbox label=\"My Label\"></q2-checkbox>\n `,\n });\n await page.waitForChanges();\n const label = await page.find('q2-checkbox >>> .label-text');\n let styledLabel = await label.getComputedStyle();\n expect(styledLabel.fontWeight).toEqual('400');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-label-font-weight', '800');\n });\n await page.waitForChanges();\n styledLabel = await label.getComputedStyle();\n expect(styledLabel.fontWeight).toEqual('800');\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n const page = await setup({\n html: `\n <q2-checkbox aria-label=\"${label}\"></q2-checkbox>\n `,\n });\n await page.waitForChanges();\n await testDeprecatedAriaLabel(await page.find('q2-checkbox'), label);\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n expect(innerLabel).toHaveClass('sr');\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-checkbox-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-checkbox-test.e2e.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEnH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;EACzB,IAAI,IAAa,CAAC;EAElB,MAAM,SAAS,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE,EAAE;IAC3C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,GAAG,MAAM,KAAK,CAAC;MACf,IAAI,EAAE;uCACqB,KAAK;qBACvB;KACZ,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,OAAO,IAAI,CAAC;EAChB,CAAC,CAAC;EAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,eAAC,OAAA,MAAA,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,0CAAE,OAAO,mCAAI,KAAK,CAAA,EAAA,CAAC,CAAC;EACnG,CAAC,CAAC;EAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,KAAK,GAAG,aAAa,CAAC;IAC5B,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAE/D,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EAClE,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;MACnB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;MAClF,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;UACrB,IAAI,EAAE,oDAAoD;SAC7D,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/D,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;MACzD,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;UACrB,IAAI,EAAE,oDAAoD;SAC7D,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE/D,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;MAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;MACzB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;UACzC,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;UAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;UACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEvD,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;UAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;UACzC,IAAI,GAAG,MAAM,SAAS,CAAC,+CAA+C,CAAC,CAAC;UACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;UACzE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEvD,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;UAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;MAC3B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACtE,IAAI,GAAG,MAAM,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE5D,MAAM,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;MACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;MACtB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;UACvC,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;UACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE/D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MACH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;UACxC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;UACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE/D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;MACtB,MAAM,aAAa,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAChC,CAAC,CAAC;MAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;UAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,CAAC;UACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAC/C,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;UAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;UACnE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;UACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;UAC9C,IAAI,GAAG,MAAM,SAAS,CAAC,+BAA+B,CAAC,CAAC;UACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAC/C,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;UAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAC5B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;UACtE,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;UAC7B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;UAC9D,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;UACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;UAEhD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;UAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;UACjE,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;UAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;UAEhD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;UACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAC5B,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;UAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MACH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;UACtD,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;UAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;UAEhD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;UAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;UACzD,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;UACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAEhD,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;UAEhD,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;UACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAC5B,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;UAE1B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IACxD,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC5D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;EAChD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;IACpC,IAAI,GAAG,MAAM,KAAK,CAAC;MACf,IAAI,EAAE;;;;aAIL;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;MAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;MACnF,OAAO;QACH,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,UAAU,EAAE,WAAW,CAAC,SAAS;OACpC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EACpC,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;IACjE,IAAI,GAAG,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAEpE,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAEpD,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;EACnD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACrC,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;EACvE,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IACvD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IACzB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAE5D,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAExD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EACrD,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IAClD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IACzB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE/D,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAE3D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;EACrC,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACnC,IAAI,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAE/D,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAErE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAEjE,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;EACpC,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;IACzC,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAE/D,MAAM,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAErE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAEjE,+CAA+C;IAC/C,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAErD,QAAQ,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAEjE,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;EACpC,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;IACrD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IACzB,MAAM,cAAc,CAAC,IAAI,EAAE;MACvB,mBAAmB,EAAE,YAAY;MACjC,uBAAuB,EAAE,iBAAiB;KAC7C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IAC3D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAElE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAElD,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACnD,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;EACvD,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;MAClD,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;MACzB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;MACpD,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;UAClC,OAAO,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC;MAEF,MAAM,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;MAC/C,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;MACzB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;MACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;MAChD,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;MACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAC5B,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;UAClC,OAAO,MAAA,EAAE,CAAC,UAAU,CAAC,aAAa,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC;MAEF,MAAM,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;MACpB,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;UAC3E,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;;yBAOL;WACJ,CAAC,CAAC;UACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;UACzE,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;yBAKL;WACJ,CAAC,CAAC;UACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;UACpE,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;;qBAOT;WACA,CAAC,CAAC;UACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACzC,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;UAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;UAC5E,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;;qBAOT;WACA,CAAC,CAAC;UAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACtD,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;UACzG,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;;qBAOT;WACA,CAAC,CAAC;UACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACzC,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;UAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;UAC3E,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;;;qBAQT;WACA,CAAC,CAAC;UACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UAChD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;UACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAE5D,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAE1C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;UACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAC1C,MAAM,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;MAClF,IAAI,GAAG,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAC;MAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;MAC7D,IAAI,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;MAEjD,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;MAE9C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAe,EAAE,EAAE;QAChD,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;MACpE,CAAC,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAC5B,WAAW,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC;MAE7C,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;MACjD,MAAM,KAAK,GAAG,UAAU,CAAC;MACzB,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC;MAChD,MAAM,uBAAuB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;MACrE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;MAElE,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { E2EPage } from '@stencil/core/testing';\nimport { setTestStrings, setup, dispatchEvent, testDeprecatedAriaLabel, getActiveElementTestId } from '../helpers';\n\ndescribe('q2-checkbox', () => {\n let page: E2EPage;\n\n const setupPage = async (props: string = '') => {\n props = props ? ` ${props}` : '';\n page = await setup({\n html: `\n <q2-checkbox ${props}></q2-checkbox>\n `,\n });\n await page.waitForChanges();\n\n return page;\n };\n\n const isChecked = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => el.shadowRoot.querySelector('input')?.checked ?? false);\n };\n\n it('renders checkbox with label and unchecked checkbox', async () => {\n const label = 'My Checkbox';\n page = await setupPage(`label=\"${label}\" value=\"1\"`);\n const foundLabel = await page.find('q2-checkbox >>> .label-text');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(foundLabel).not.toBeNull();\n expect(foundLabel.innerText).toEqual('My Checkbox');\n expect(await innerCheckbox.getProperty('value')).toEqual('1');\n });\n\n describe('Methods', () => {\n describe('click', () => {\n it('selects the checkbox when called', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n\n expect(await getActiveElementTestId(page)).toBeNull();\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', el => el.click());\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'on' });\n expect(await getActiveElementTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n\n it('does not select the checkbox when readonly', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" readonly></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await getActiveElementTestId(page)).toBeNull();\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', el => el.click());\n await page.waitForChanges();\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n });\n\n it('does not select the checkbox when disabled', async () => {\n const page = await setup({\n html: `<q2-checkbox label=\"Label\" disabled></q2-checkbox>`,\n });\n const checkbox = await page.find('q2-checkbox');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n\n await page.$eval('q2-checkbox', (el: HTMLQ2CheckboxElement) => el.click());\n await page.waitForChanges();\n\n expect(checkbox).not.toHaveAttribute('checked');\n expect(innerCheckbox).not.toHaveAttribute('checked');\n expect(await getActiveElementTestId(page)).toBeNull();\n });\n });\n });\n\n describe('Props', () => {\n describe('description', () => {\n describe('when not provided', () => {\n it('adds the description markup', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n\n expect(description).toBeNull();\n expect(input).not.toHaveAttribute('aria-describedby');\n });\n });\n describe('when provided', () => {\n it('adds the description markup', async () => {\n page = await setupPage('label=\"My Checkbox\" description=\"Hello world\"');\n const description = await page.find('q2-checkbox >>> .description-text');\n const input = await page.find('q2-checkbox >>> input');\n\n expect(description).toEqualText('Hello world');\n expect(input).toEqualAttribute('aria-describedby', 'description');\n });\n });\n });\n describe('groupDisabled', () => {\n it('adds the disabled attribute to the checkbox when present', async () => {\n page = await setupPage('label=\"My Checkbox\" group-disabled');\n const innerInput = await page.find('q2-checkbox >>> input');\n\n expect(innerInput).toHaveAttribute('disabled');\n });\n });\n describe('hasError', () => {\n describe('when provided', () => {\n it('sets aria-invalid to true', async () => {\n page = await setupPage('has-error');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('true');\n });\n });\n describe('when not provided', () => {\n it('sets aria-invalid to false', async () => {\n page = await setupPage();\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(innerCheckbox.getAttribute('aria-invalid')).toBe('false');\n });\n });\n });\n describe('readonly', () => {\n const clickCheckbox = async (page: E2EPage) => {\n await page.$eval('q2-checkbox', (el: HTMLQ2CheckboxElement) => el.click());\n await page.waitForChanges();\n };\n\n describe('set to true', () => {\n it('click check icon should not work', async () => {\n page = await setupPage('label=\"My Checkbox\" value=\"1\"');\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkbox = await page.find('q2-checkbox >>> .checkbox-icon');\n await checkbox.click();\n await page.waitForChanges();\n\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n it('click label text should not work', async () => {\n page = await setupPage('label=\"My Checkbox\" value=\"1\"');\n const element = await page.find('q2-checkbox');\n await element.setProperty('readonly', true);\n await page.waitForChanges();\n const checkLabelText = await page.find('q2-checkbox >>> .label-text');\n await checkLabelText.click();\n await page.waitForChanges();\n\n expect(await element.getProperty('checked')).toBeFalsy();\n });\n it('on load does not check the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\" readonly');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n });\n it('after load does not check the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n checkbox.setProperty('readonly', true);\n await page.waitForChanges();\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n });\n });\n describe('set to false', () => {\n it('on load checks the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n });\n it('after load checks the checkbox when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\" readonly');\n const checkbox = await page.find('q2-checkbox');\n\n expect(await isChecked(page)).toBe(false);\n expect(checkbox).not.toHaveAttribute('checked');\n\n checkbox.setProperty('readonly', false);\n await page.waitForChanges();\n await clickCheckbox(page);\n\n expect(await isChecked(page)).toBe(true);\n expect(checkbox).toHaveAttribute('checked');\n });\n });\n });\n });\n\n it('toggles the checked attribute when clicked', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const checkbox = await page.find('q2-checkbox');\n\n expect(checkbox).not.toHaveAttribute('checked');\n const innerInput = await page.find('q2-checkbox >>> input');\n await innerInput.press('Space');\n await page.waitForChanges();\n expect(checkbox).toHaveAttribute('checked');\n });\n\n it('allows slotted content', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"1\" label=\"Label\">\n <p>A yielded label</p>\n </q2-checkbox>\n `,\n });\n const { slottedText, slottedTag } = await page.$eval('q2-checkbox', element => {\n const slottedNode = element.shadowRoot.querySelector('slot').assignedElements()[0];\n return {\n slottedText: slottedNode.textContent,\n slottedTag: slottedNode.localName,\n };\n });\n\n expect(slottedText).toEqual('A yielded label');\n expect(slottedTag).toEqual('p');\n });\n\n it('binds aria-label when provided and no label present', async () => {\n page = await setupPage('aria-label=\"Aria-Label Text\"');\n const checkbox = await page.find('q2-checkbox');\n const labelContent = await page.find('q2-checkbox >>> .label-text');\n\n expect(labelContent).toHaveClass('sr');\n expect(labelContent).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'Label Text');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(labelContent).not.toHaveClass('sr');\n expect(labelContent).toEqualText('Label Text');\n });\n\n it('binds the name property', async () => {\n page = await setupPage();\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n const innerCheckboxId = innerCheckbox.getAttribute('id');\n\n expect(innerCheckbox.getAttribute('name')).toEqual(innerCheckboxId);\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('name', 'checkboxname');\n await page.waitForChanges();\n\n expect(innerCheckbox.getAttribute('name')).toEqual('checkboxname');\n });\n\n it('renders the star icon for type=\"favorite\"', async () => {\n page = await setupPage();\n let svg = await page.find('q2-checkbox >>> .checkbox-icon');\n\n expect(svg.tagName).toEqual('svg');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'favorite');\n await page.waitForChanges();\n svg = await page.find('q2-checkbox >>> .checkbox-icon');\n\n expect(svg.tagName).toEqual('Q2-ICON');\n expect(svg.getAttribute('type')).toEqual('star');\n });\n\n it('renders the toggle for type=\"toggle\"', async () => {\n page = await setupPage();\n let toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n\n expect(toggleSVG).toBeNull();\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('type', 'toggle');\n await page.waitForChanges();\n toggleSVG = await page.find('q2-checkbox >>> .toggle-svg');\n\n expect(toggleSVG).not.toBeNull();\n });\n\n it('handles checked state', async () => {\n page = await setupPage('checked');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('checked-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('handles indeterminate state', async () => {\n page = await setupPage('indeterminate');\n const innerCheckbox = await page.find('q2-checkbox >>> input');\n\n expect(await innerCheckbox.getProperty('checked')).toEqual(true);\n\n let checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('checked', true);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n // indeterminance takes precedence over checked\n expect(checkboxFill).not.toBeNull();\n expect(checkboxFill).toHaveClass('indeterminate-fill');\n expect(checkboxFill).not.toHaveClass('checked-fill');\n\n checkbox.setProperty('indeterminate', false);\n checkbox.setProperty('checked', false);\n await page.waitForChanges();\n checkboxFill = await page.find('q2-checkbox >>> .checkbox-fill');\n\n expect(checkboxFill).toBeNull();\n });\n\n it('localizes appropriate attribute strings', async () => {\n page = await setupPage();\n await setTestStrings(page, {\n 'q2-checkbox.label': 'Label Text',\n 'q2-checkbox.ariaLabel': 'Aria-Label Text',\n });\n const checkbox = await page.find('q2-checkbox');\n checkbox.setProperty('ariaLabel', 'q2-checkbox.ariaLabel');\n await page.waitForChanges();\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n\n expect(innerLabel).toEqualText('Aria-Label Text');\n\n checkbox.setProperty('label', 'q2-checkbox.label');\n checkbox.setProperty('hideLabel', false);\n await page.waitForChanges();\n\n expect(innerLabel.innerText).toEqual('Label Text');\n });\n\n describe('focus transferring', () => {\n it('focuses when focus event dispatched ', async () => {\n page = await setupPage();\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n\n it('focuses when focus method called ', async () => {\n page = await setupPage();\n await dispatchEvent(page, ['q2-checkbox'], 'focus');\n const checkbox = await page.find('q2-checkbox');\n await checkbox.triggerEvent('focus');\n await page.waitForChanges();\n const innerActiveTestId = async (page: E2EPage) => {\n return page.$eval('q2-checkbox', el => {\n return el.shadowRoot.activeElement?.getAttribute('test-id');\n });\n };\n\n expect(await innerActiveTestId(page)).toEqual('q2CheckboxInnerCheckBox');\n });\n });\n\n describe('Events', () => {\n describe('change', () => {\n describe('when event is added as a property', () => {\n it('does not update checked attribute if preventDefault is called', async () => {\n page = await setup({\n html: `\n <script>\n function onClick(event) {\n event.preventDefault();\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onclick=\"onClick(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n it('does not update checked property if not done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange() {}\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('updates the checked attribute when done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = event.detail.checked;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('forces the checked attribute to false when done in the handler', async () => {\n page = await setup({\n html: `\n <script>\n function onChange(event) {\n event.target.checked = false;\n }\n </script>\n <q2-checkbox value=\"foo-onchange-dummy\" onchange=\"onChange(event)\"></q2-checkbox>\n `,\n });\n\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n\n describe('when event is added via addEventListener', () => {\n it('mutates the value when event is added via addEventListener but does not call preventDefault', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange() {\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(true);\n expect(await checkbox.getProperty('checked')).toEqual(true);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n\n it('does not update checked attribute if preventDefault is called', async () => {\n page = await setup({\n html: `\n <q2-checkbox value=\"foo-onchange-dummy\"></q2-checkbox>\n <script>\n function onChange(event) {\n event.preventDefault();\n }\n document.querySelector(\"q2-checkbox\").addEventListener(\"change\", onChange);\n </script>\n `,\n });\n const checkbox = await page.find('q2-checkbox');\n const changeSpy = await checkbox.spyOnEvent('change');\n const innerLabel = await page.find('q2-checkbox >>> label');\n\n expect(await isChecked(page)).toBe(false);\n\n await innerLabel.click();\n await page.waitForChanges();\n\n expect(await isChecked(page)).toBe(false);\n expect(await checkbox.getProperty('checked')).toEqual(false);\n expect(changeSpy).toHaveReceivedEventDetail({ checked: true, value: 'foo-onchange-dummy' });\n });\n });\n });\n });\n\n describe('Regressions', () => {\n it('applies font-weight to label when CSS property is updated (TCT-2246)', async () => {\n page = await setupPage('label=\"My Checkbox\"');\n const label = await page.find('q2-checkbox >>> .label-text');\n let styledLabel = await label.getComputedStyle();\n\n expect(styledLabel.fontWeight).toEqual('400');\n\n await page.$eval('q2-checkbox', (el: HTMLElement) => {\n el.style.setProperty('--tct-checkbox-label-font-weight', '800');\n });\n await page.waitForChanges();\n styledLabel = await label.getComputedStyle();\n\n expect(styledLabel.fontWeight).toEqual('800');\n });\n });\n\n describe('Deprecations', () => {\n it('handles deprecated `ariaLabel` prop', async () => {\n const label = 'My Label';\n page = await setupPage(`aria-label=\"${label}\"`);\n await testDeprecatedAriaLabel(await page.find('q2-checkbox'), label);\n const innerLabel = await page.find('q2-checkbox >>> .label-text');\n\n expect(innerLabel).toHaveClass('sr');\n });\n });\n});\n"]}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import { setTestStrings, setup, dispatchEvent, getActiveElementTestId, testDeprecatedAriaLabel, getNestedElementStyle, } from '../helpers';
|
|
1
|
+
import { setTestStrings, setup, dispatchEvent, getActiveElementTestId, testDeprecatedAriaLabel, getNestedElementStyle, getNestedElementProperty, } from '../helpers';
|
|
2
2
|
describe('q2-editable-field', () => {
|
|
3
|
+
let page;
|
|
4
|
+
let editableField;
|
|
5
|
+
let inputField;
|
|
6
|
+
let editButton;
|
|
7
|
+
let saveButton;
|
|
8
|
+
let cancelButton;
|
|
3
9
|
it('should render the component in the dom', async () => {
|
|
4
|
-
|
|
5
|
-
|
|
10
|
+
page = await setup({ html: `<q2-editable-field></q2-editable-field>` });
|
|
11
|
+
editableField = await page.find('q2-editable-field');
|
|
6
12
|
expect(editableField.tagName).toEqual('Q2-EDITABLE-FIELD');
|
|
7
13
|
const editStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(1)');
|
|
8
14
|
const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');
|
|
@@ -11,7 +17,7 @@ describe('q2-editable-field', () => {
|
|
|
11
17
|
expect(readStateWrapper).toBeTruthy();
|
|
12
18
|
});
|
|
13
19
|
it('it correctly renders the read state when label not persisted', async () => {
|
|
14
|
-
|
|
20
|
+
page = await setup({
|
|
15
21
|
html: `<q2-editable-field value="Test Value"></q2-editable-field>`,
|
|
16
22
|
});
|
|
17
23
|
const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');
|
|
@@ -26,7 +32,7 @@ describe('q2-editable-field', () => {
|
|
|
26
32
|
expect(editButton).toBeTruthy();
|
|
27
33
|
});
|
|
28
34
|
it('it correctly renders the read state when label is persisted', async () => {
|
|
29
|
-
|
|
35
|
+
page = await setup({
|
|
30
36
|
html: `<q2-editable-field value="Test Value" label="Test Label" persistent-label></q2-editable-field>`,
|
|
31
37
|
});
|
|
32
38
|
const readStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(2)');
|
|
@@ -44,7 +50,7 @@ describe('q2-editable-field', () => {
|
|
|
44
50
|
expect(editButton).toBeTruthy();
|
|
45
51
|
});
|
|
46
52
|
it('correctly renders the edit state', async () => {
|
|
47
|
-
|
|
53
|
+
page = await setup({
|
|
48
54
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
49
55
|
});
|
|
50
56
|
const editStateWrapper = await page.find('q2-editable-field >>> .q2-editable-field-wrapper:nth-child(1)');
|
|
@@ -61,10 +67,10 @@ describe('q2-editable-field', () => {
|
|
|
61
67
|
expect(saveBtn).toBeTruthy();
|
|
62
68
|
});
|
|
63
69
|
it('passes appropriate properties through to q2-input', async () => {
|
|
64
|
-
|
|
70
|
+
page = await setup({
|
|
65
71
|
html: `<q2-editable-field editing label="Test Label" type="testType" format-modifier="testFormatModifier" maxlength="10" value="Test Value"></q2-editable-field>`,
|
|
66
72
|
});
|
|
67
|
-
|
|
73
|
+
editableField = await page.find('q2-editable-field');
|
|
68
74
|
editableField.setProperty('errors', ['error1', 'error2']);
|
|
69
75
|
editableField.setProperty('hints', ['hint1', 'hint2']);
|
|
70
76
|
await page.waitForChanges();
|
|
@@ -88,10 +94,10 @@ describe('q2-editable-field', () => {
|
|
|
88
94
|
expect(innerInput).toHaveAttribute('hide-label');
|
|
89
95
|
});
|
|
90
96
|
it('correctly bubbles the q2-input input event', async function () {
|
|
91
|
-
|
|
97
|
+
page = await setup({
|
|
92
98
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
93
99
|
});
|
|
94
|
-
|
|
100
|
+
editableField = await page.find('q2-editable-field');
|
|
95
101
|
const inputEventSpy = await editableField.spyOnEvent('input');
|
|
96
102
|
await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'input', {
|
|
97
103
|
detail: { value: 'testValue', formattedValue: 'formattedTestValue' },
|
|
@@ -102,10 +108,10 @@ describe('q2-editable-field', () => {
|
|
|
102
108
|
});
|
|
103
109
|
});
|
|
104
110
|
it('correctly emits the change event data', async function () {
|
|
105
|
-
|
|
111
|
+
page = await setup({
|
|
106
112
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
107
113
|
});
|
|
108
|
-
|
|
114
|
+
editableField = await page.find('q2-editable-field');
|
|
109
115
|
const changeEventSpy = await editableField.spyOnEvent('change');
|
|
110
116
|
await dispatchEvent(page, ['q2-editable-field', '.save-edit'], 'click');
|
|
111
117
|
expect(changeEventSpy).toHaveReceivedEventDetail({
|
|
@@ -120,10 +126,10 @@ describe('q2-editable-field', () => {
|
|
|
120
126
|
expect(changeEventSpy).toHaveReceivedEventDetail({ editing: false, name: 'cancel' });
|
|
121
127
|
});
|
|
122
128
|
it('allows custom handler to control the change event effects', async function () {
|
|
123
|
-
|
|
129
|
+
page = await setup({
|
|
124
130
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
125
131
|
});
|
|
126
|
-
|
|
132
|
+
editableField = await page.find('q2-editable-field');
|
|
127
133
|
let isEditing = await editableField.getProperty('editing');
|
|
128
134
|
await page.$eval('q2-editable-field', function (editableField) {
|
|
129
135
|
editableField.onchange = function (e) {
|
|
@@ -148,10 +154,10 @@ describe('q2-editable-field', () => {
|
|
|
148
154
|
expect(isEditing).toEqual(false);
|
|
149
155
|
});
|
|
150
156
|
it('triggers change event from Escape and Enter keyboard events', async function () {
|
|
151
|
-
|
|
157
|
+
page = await setup({
|
|
152
158
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
153
159
|
});
|
|
154
|
-
|
|
160
|
+
editableField = await page.find('q2-editable-field');
|
|
155
161
|
const changeEventSpy = await editableField.spyOnEvent('change');
|
|
156
162
|
await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'keydown', { key: 'Escape' });
|
|
157
163
|
expect(changeEventSpy).toHaveReceivedEventDetail({ name: 'cancel', editing: false });
|
|
@@ -169,7 +175,7 @@ describe('q2-editable-field', () => {
|
|
|
169
175
|
});
|
|
170
176
|
});
|
|
171
177
|
it('shifts focus on editing change', async function () {
|
|
172
|
-
|
|
178
|
+
page = await setup({
|
|
173
179
|
html: `<q2-editable-field value="Test Value"></q2-editable-field>`,
|
|
174
180
|
});
|
|
175
181
|
const editBtn = await page.find('q2-editable-field >>> .begin-edit');
|
|
@@ -186,7 +192,7 @@ describe('q2-editable-field', () => {
|
|
|
186
192
|
expect(editBtnFocusSpy).toHaveReceivedEventTimes(2); // 2 because of focus bubbling
|
|
187
193
|
});
|
|
188
194
|
it('localizes appropriate attribute strings', async function () {
|
|
189
|
-
|
|
195
|
+
page = await setup({
|
|
190
196
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
191
197
|
});
|
|
192
198
|
setTestStrings(page, {
|
|
@@ -194,7 +200,7 @@ describe('q2-editable-field', () => {
|
|
|
194
200
|
'q2-editable-field.ariaLabel': 'Aria-Label Text',
|
|
195
201
|
});
|
|
196
202
|
const innerInput = await page.find('q2-editable-field >>> q2-input');
|
|
197
|
-
|
|
203
|
+
editableField = await page.find('q2-editable-field');
|
|
198
204
|
editableField.setProperty('label', 'q2-editable-field.label');
|
|
199
205
|
await page.waitForChanges();
|
|
200
206
|
expect(innerInput).toEqualAttribute('label', 'Label Text');
|
|
@@ -205,10 +211,10 @@ describe('q2-editable-field', () => {
|
|
|
205
211
|
expect(innerInput).toHaveAttribute('hide-label');
|
|
206
212
|
});
|
|
207
213
|
it('prevents click propagation from interation elements', async function () {
|
|
208
|
-
|
|
214
|
+
page = await setup({
|
|
209
215
|
html: `<q2-editable-field editing value="Test Value"></q2-editable-field>`,
|
|
210
216
|
});
|
|
211
|
-
|
|
217
|
+
editableField = await page.find('q2-editable-field');
|
|
212
218
|
const clickEventSpy = await editableField.spyOnEvent('click');
|
|
213
219
|
await dispatchEvent(page, ['q2-editable-field', 'q2-input'], 'click', { composed: true });
|
|
214
220
|
expect(clickEventSpy).not.toHaveReceivedEvent();
|
|
@@ -234,7 +240,7 @@ describe('q2-editable-field', () => {
|
|
|
234
240
|
it('correctly restore previous value when cancel button clicked', async function () {
|
|
235
241
|
const defaultValue = 'Default Value';
|
|
236
242
|
const newValue = 'New Value';
|
|
237
|
-
|
|
243
|
+
page = await setup({
|
|
238
244
|
html: `<q2-editable-field editing value="${defaultValue}"></q2-editable-field>`,
|
|
239
245
|
});
|
|
240
246
|
const innerInput = await page.find('q2-editable-field >>> q2-input');
|
|
@@ -254,7 +260,7 @@ describe('q2-editable-field', () => {
|
|
|
254
260
|
it('correctly restore previous value when escape key pressed', async function () {
|
|
255
261
|
const defaultValue = 'Default Value';
|
|
256
262
|
const newValue = 'New Value';
|
|
257
|
-
|
|
263
|
+
page = await setup({
|
|
258
264
|
html: `<q2-editable-field editing value="${defaultValue}"></q2-editable-field>`,
|
|
259
265
|
});
|
|
260
266
|
const innerInput = await page.find('q2-editable-field >>> q2-input');
|
|
@@ -273,7 +279,7 @@ describe('q2-editable-field', () => {
|
|
|
273
279
|
});
|
|
274
280
|
describe('when value and type are provided to q2-editable-field', () => {
|
|
275
281
|
it('maintains formatted value in q2-input', async () => {
|
|
276
|
-
|
|
282
|
+
page = await setup({
|
|
277
283
|
html: `<q2-editable-field type='phone' value='1234567890'></q2-editable-field>`,
|
|
278
284
|
});
|
|
279
285
|
const q2Input = await page.find('q2-editable-field >>> q2-input');
|
|
@@ -281,7 +287,7 @@ describe('q2-editable-field', () => {
|
|
|
281
287
|
expect(formattedVal).toBe('(123) 456-7890');
|
|
282
288
|
});
|
|
283
289
|
it('displays formattedValue in .text-wrapper on q2-editable-field', async () => {
|
|
284
|
-
|
|
290
|
+
page = await setup({
|
|
285
291
|
html: `<q2-editable-field type='phone' value='1234567890'></q2-editable-field>`,
|
|
286
292
|
});
|
|
287
293
|
const q2Input = await page.find('q2-editable-field >>> q2-input');
|
|
@@ -290,9 +296,124 @@ describe('q2-editable-field', () => {
|
|
|
290
296
|
expect(formattedVal).toBe(textWrapper.innerText);
|
|
291
297
|
});
|
|
292
298
|
});
|
|
299
|
+
describe('Methods', () => {
|
|
300
|
+
beforeEach(async () => {
|
|
301
|
+
page = await setup({
|
|
302
|
+
html: `<q2-editable-field value="Original Value"></q2-editable-field>`,
|
|
303
|
+
});
|
|
304
|
+
editableField = await page.find('q2-editable-field');
|
|
305
|
+
inputField = await page.find('q2-editable-field >>> [test-id=editableInput]');
|
|
306
|
+
editButton = await page.find('q2-editable-field >>> [test-id=editButton]');
|
|
307
|
+
saveButton = await page.find('q2-editable-field >>> [test-id=saveButton]');
|
|
308
|
+
cancelButton = await page.find('q2-editable-field >>> [test-id=cancelButton]');
|
|
309
|
+
});
|
|
310
|
+
describe('clickEdit', () => {
|
|
311
|
+
it('clicks the edit button and enters editing mode', async () => {
|
|
312
|
+
const editButtonClickSpy = await editButton.spyOnEvent('click');
|
|
313
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
314
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
315
|
+
await editableField.callMethod('clickEdit');
|
|
316
|
+
page.waitForChanges();
|
|
317
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
318
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
319
|
+
expect(await getActiveElementTestId(page)).toEqual('editableInput');
|
|
320
|
+
});
|
|
321
|
+
it('does nothing if already in editing mode', async () => {
|
|
322
|
+
await editableField.setProperty('editing', true);
|
|
323
|
+
await page.waitForChanges();
|
|
324
|
+
const editButtonClickSpy = await editButton.spyOnEvent('click');
|
|
325
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
326
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
327
|
+
await editableField.callMethod('clickEdit');
|
|
328
|
+
page.waitForChanges();
|
|
329
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
330
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
331
|
+
});
|
|
332
|
+
});
|
|
333
|
+
describe('clickCancel', () => {
|
|
334
|
+
it('clicks the cancel button and exits editing mode', async () => {
|
|
335
|
+
await editableField.setProperty('editing', true);
|
|
336
|
+
await page.waitForChanges();
|
|
337
|
+
const cancelButtonClickSpy = await cancelButton.spyOnEvent('click');
|
|
338
|
+
expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
339
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
340
|
+
await editableField.callMethod('clickCancel');
|
|
341
|
+
page.waitForChanges();
|
|
342
|
+
expect(cancelButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
343
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
344
|
+
expect(await getActiveElementTestId(page)).toEqual('editButton');
|
|
345
|
+
});
|
|
346
|
+
it('does nothing if not in editing mode', async () => {
|
|
347
|
+
const cancelButtonClickSpy = await cancelButton.spyOnEvent('click');
|
|
348
|
+
expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
349
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
350
|
+
await editableField.callMethod('clickCancel');
|
|
351
|
+
page.waitForChanges();
|
|
352
|
+
expect(cancelButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
353
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
describe('clickSave', () => {
|
|
357
|
+
it('clicks the save button and exits editing mode', async () => {
|
|
358
|
+
await editableField.setProperty('editing', true);
|
|
359
|
+
await page.waitForChanges();
|
|
360
|
+
const saveButtonClickSpy = await saveButton.spyOnEvent('click');
|
|
361
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
362
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
363
|
+
await editableField.callMethod('clickSave');
|
|
364
|
+
page.waitForChanges();
|
|
365
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
366
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
367
|
+
expect(await getActiveElementTestId(page)).toEqual('editButton');
|
|
368
|
+
});
|
|
369
|
+
it('does nothing if not in editing mode', async () => {
|
|
370
|
+
const saveButtonClickSpy = await saveButton.spyOnEvent('click');
|
|
371
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
372
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
373
|
+
await editableField.callMethod('clickSave');
|
|
374
|
+
page.waitForChanges();
|
|
375
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
376
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
377
|
+
});
|
|
378
|
+
});
|
|
379
|
+
describe('setValue', () => {
|
|
380
|
+
it('clicks edit button, updates value, and clicks save button', async () => {
|
|
381
|
+
const editButtonClickSpy = await editButton.spyOnEvent('click');
|
|
382
|
+
const saveButtonClickSpy = await saveButton.spyOnEvent('click');
|
|
383
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
384
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
385
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
386
|
+
const newValue = 'New Value';
|
|
387
|
+
await editableField.callMethod('setValue', newValue);
|
|
388
|
+
page.waitForChanges();
|
|
389
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
390
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
391
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
392
|
+
expect(await editableField.getProperty('value')).toEqual(newValue);
|
|
393
|
+
expect(await inputField.getProperty('value')).toEqual(newValue);
|
|
394
|
+
expect(await getNestedElementProperty(page, ['q2-editable-field', 'q2-input', 'input'], 'value')).toEqual(newValue);
|
|
395
|
+
expect(await getActiveElementTestId(page)).toEqual('editButton');
|
|
396
|
+
});
|
|
397
|
+
it('clicks edit button, updates value, but does NOT click save when told not to', async () => {
|
|
398
|
+
const editButtonClickSpy = await editButton.spyOnEvent('click');
|
|
399
|
+
const saveButtonClickSpy = await saveButton.spyOnEvent('click');
|
|
400
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
401
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
402
|
+
expect(await editableField.getProperty('editing')).toEqual(false);
|
|
403
|
+
const newValue = 'New Value';
|
|
404
|
+
await editableField.callMethod('setValue', newValue, { clickSave: false });
|
|
405
|
+
page.waitForChanges();
|
|
406
|
+
expect(editButtonClickSpy).toHaveReceivedEventTimes(1);
|
|
407
|
+
expect(saveButtonClickSpy).toHaveReceivedEventTimes(0);
|
|
408
|
+
expect(await editableField.getProperty('editing')).toEqual(true);
|
|
409
|
+
expect(await editableField.getProperty('value')).toEqual('Original Value');
|
|
410
|
+
expect(await inputField.getProperty('value')).toEqual('Original Value');
|
|
411
|
+
expect(await getNestedElementProperty(page, ['q2-editable-field', 'q2-input', 'input'], 'value')).toEqual(newValue);
|
|
412
|
+
expect(await getActiveElementTestId(page)).toEqual('editableInput');
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
});
|
|
293
416
|
describe('focus', () => {
|
|
294
|
-
let page;
|
|
295
|
-
let editableField;
|
|
296
417
|
describe('when invoked directly', () => {
|
|
297
418
|
describe('when in default mode', () => {
|
|
298
419
|
beforeEach(async () => {
|
|
@@ -437,7 +558,7 @@ describe('q2-editable-field', () => {
|
|
|
437
558
|
describe('Deprecations', () => {
|
|
438
559
|
it('handles deprecated `ariaLabel` prop', async () => {
|
|
439
560
|
const label = 'My Label';
|
|
440
|
-
|
|
561
|
+
page = await setup({
|
|
441
562
|
html: `<q2-editable-field aria-label="${label}"></q2-editable-field>`,
|
|
442
563
|
});
|
|
443
564
|
await page.waitForChanges();
|