q2-tecton-elements 1.34.0 → 1.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{action-sheet-4b366e9a.js → action-sheet-ab1abf24.js} +2 -2
- package/dist/cjs/action-sheet-ab1abf24.js.map +1 -0
- package/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
- package/dist/cjs/{index-d42bed64.js → index-f6545293.js} +15 -2
- package/dist/cjs/index-f6545293.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +13 -3
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +47 -32
- 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 +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
- 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 +55 -13
- 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 +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +5 -5
- 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 +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +7 -6
- package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +8 -8
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +7 -4
- 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 +4 -4
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
- package/dist/collection/components/q2-btn/index.js +13 -1
- package/dist/collection/components/q2-btn/index.js.map +1 -1
- package/dist/collection/components/q2-btn/styles.css +71 -71
- package/dist/collection/components/q2-calendar/helpers.js +10 -7
- package/dist/collection/components/q2-calendar/helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/index.js +53 -26
- package/dist/collection/components/q2-calendar/index.js.map +1 -1
- package/dist/collection/components/q2-calendar/styles.css +0 -5
- package/dist/collection/components/q2-chart-donut/index.js +1 -1
- package/dist/collection/components/q2-checkbox-group/index.js +1 -1
- package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/index.js +120 -16
- package/dist/collection/components/q2-data-table/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/styles.css +27 -4
- package/dist/collection/components/q2-input/index.js +4 -4
- package/dist/collection/components/q2-input/index.js.map +1 -1
- package/dist/collection/components/q2-input/styles.css +12 -4
- package/dist/collection/components/q2-option/styles.css +1 -1
- package/dist/collection/components/q2-option-list/index.js +15 -31
- package/dist/collection/components/q2-option-list/index.js.map +1 -1
- package/dist/collection/components/q2-pill/index.js +5 -5
- package/dist/collection/components/q2-pill/index.js.map +1 -1
- package/dist/collection/components/q2-pill/styles.css +15 -15
- package/dist/collection/components/q2-radio-group/index.js +1 -1
- package/dist/collection/components/q2-radio-group/index.js.map +1 -1
- package/dist/collection/components/q2-select/index.js +5 -2
- package/dist/collection/components/q2-select/index.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/index.js +2 -2
- package/dist/collection/components/q2-tag/index.js +1 -1
- package/dist/collection/components/q2-tag/index.js.map +1 -1
- package/dist/collection/components/q2-tag/styles.css +6 -6
- package/dist/collection/components/q2-tooltip/styles.css +1 -1
- package/dist/collection/utils/action-sheet.js +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/index.js +13 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/action-sheet.js +1 -1
- package/dist/components/action-sheet.js.map +1 -1
- package/dist/components/index11.js +1 -1
- package/dist/components/index13.js +1 -1
- package/dist/components/index13.js.map +1 -1
- package/dist/components/index14.js +7 -7
- package/dist/components/index14.js.map +1 -1
- package/dist/components/index16.js +14 -2
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index5.js +13 -3
- package/dist/components/index5.js.map +1 -1
- package/dist/components/index9.js +5 -5
- package/dist/components/index9.js.map +1 -1
- package/dist/components/q2-calendar.js +47 -31
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-data-table.js +57 -13
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-pill.js +6 -6
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-select.js +5 -2
- package/dist/components/q2-select.js.map +1 -1
- package/dist/components/q2-tag.js +2 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-tooltip.js +1 -1
- package/dist/components/q2-tooltip.js.map +1 -1
- package/dist/docs.json +72 -26
- package/dist/esm/{action-sheet-a9597b32.js → action-sheet-bfcbe154.js} +2 -2
- package/dist/esm/action-sheet-bfcbe154.js.map +1 -0
- package/dist/esm/click-elsewhere_2.entry.js +1 -1
- package/dist/esm/{index-a8589748.js → index-35ff2881.js} +15 -3
- package/dist/esm/index-35ff2881.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +13 -3
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +47 -32
- 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 +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- 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 +55 -13
- 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 +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +5 -5
- 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 +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +2 -2
- package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +7 -6
- package/dist/esm/q2-option-list.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +8 -8
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +7 -4
- 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 +4 -4
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +2 -2
- package/dist/esm/q2-tooltip.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{p-6f421ccd.entry.js → p-073df9e2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6f421ccd.entry.js.map → p-073df9e2.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-e053b479.entry.js → p-0c1b74e9.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js +2 -0
- package/dist/q2-tecton-elements/p-215d5ab4.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-3ee95a8d.entry.js → p-2325975a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ef3a5fab.entry.js → p-2987498c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-61ab4d37.entry.js → p-2b91b34e.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-2bf5a3bc.entry.js +2 -0
- package/dist/q2-tecton-elements/p-2bf5a3bc.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-3c0d391b.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3c0d391b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-c14bac96.entry.js → p-3fd4f83d.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-4fb81d03.entry.js +2 -0
- package/dist/q2-tecton-elements/p-4fb81d03.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-55deaceb.entry.js +2 -0
- package/dist/q2-tecton-elements/p-55deaceb.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5b43fa8f.entry.js → p-57838409.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-07a0c5c5.entry.js → p-586c8654.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-654987bf.entry.js +2 -0
- package/dist/q2-tecton-elements/p-654987bf.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-6d411b0b.entry.js → p-68371e6d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ab63346c.entry.js → p-6cc730db.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ddd6f1d0.entry.js → p-70a59bf1.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-788adb51.js +2 -0
- package/dist/q2-tecton-elements/p-788adb51.js.map +1 -0
- package/dist/q2-tecton-elements/{p-e0a066fb.entry.js → p-7a6e33d4.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5e65c5ca.entry.js → p-82bda2ff.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-22ab9b66.entry.js → p-8c6f8d06.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-032591c6.entry.js → p-8e8a40ca.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-065b910b.js → p-99ab3236.js} +2 -2
- package/dist/q2-tecton-elements/p-99ab3236.js.map +1 -0
- package/dist/q2-tecton-elements/p-a2d5cda5.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-3a35c930.entry.js.map → p-a2d5cda5.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js +2 -0
- package/dist/q2-tecton-elements/p-ae2fa966.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d57341f4.entry.js → p-b73e7870.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-45399983.entry.js → p-b8d1c16f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d33822bb.entry.js → p-c9f32e51.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-dbf471fd.entry.js → p-ce27270b.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-04bf9c63.entry.js → p-cfbd2cb1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-04bf9c63.entry.js.map → p-cfbd2cb1.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-a2995834.entry.js → p-d3827468.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d4da72f0.entry.js +2 -0
- package/dist/q2-tecton-elements/p-d4da72f0.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d9e6bd63.entry.js → p-deb1e1c8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b9a04695.entry.js → p-e5a8f7ff.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a00d7c46.entry.js → p-ece07c0d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c299667d.entry.js → p-f11326c2.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-f11326c2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-fa584c00.entry.js → p-f637136f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a7b64d05.entry.js → p-f6be73b7.entry.js} +2 -2
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/test/elements/q2-btn-test.e2e.js +24 -16
- package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-calendar/helpers-test.e2e.js +28 -1
- package/dist/test/elements/q2-calendar/helpers-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-calendar-test.e2e.js +210 -69
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-data-table-test.e2e.js +232 -3
- package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +55 -36
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-option-list-test.e2e.js +9 -9
- package/dist/test/elements/q2-option-list-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +68 -30
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-select-test.e2e.js +54 -18
- package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-tag-test.e2e.js +55 -16
- package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
- package/dist/types/components/q2-btn/index.d.ts +2 -0
- package/dist/types/components/q2-calendar/helpers.d.ts +1 -0
- package/dist/types/components/q2-calendar/index.d.ts +4 -2
- package/dist/types/components/q2-data-table/index.d.ts +11 -1
- package/dist/types/components/q2-option-list/index.d.ts +4 -5
- package/dist/types/components/q2-select/index.d.ts +1 -1
- package/dist/types/components.d.ts +15 -10
- package/package.json +7 -7
- package/dist/cjs/action-sheet-4b366e9a.js.map +0 -1
- package/dist/cjs/index-d42bed64.js.map +0 -1
- package/dist/esm/action-sheet-a9597b32.js.map +0 -1
- package/dist/esm/index-a8589748.js.map +0 -1
- package/dist/q2-tecton-elements/p-065b910b.js.map +0 -1
- package/dist/q2-tecton-elements/p-1a0969ff.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1a0969ff.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-38b6fb76.entry.js +0 -2
- package/dist/q2-tecton-elements/p-38b6fb76.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-3a35c930.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a1926e65.js +0 -2
- package/dist/q2-tecton-elements/p-a1926e65.js.map +0 -1
- package/dist/q2-tecton-elements/p-a913651d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a913651d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b177f530.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b177f530.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b9478703.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b9478703.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c299667d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-dce9e778.entry.js +0 -2
- package/dist/q2-tecton-elements/p-dce9e778.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e50113ee.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e50113ee.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-fdf8abed.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fdf8abed.entry.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-e053b479.entry.js.map → p-0c1b74e9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-3ee95a8d.entry.js.map → p-2325975a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ef3a5fab.entry.js.map → p-2987498c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-61ab4d37.entry.js.map → p-2b91b34e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c14bac96.entry.js.map → p-3fd4f83d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5b43fa8f.entry.js.map → p-57838409.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-07a0c5c5.entry.js.map → p-586c8654.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6d411b0b.entry.js.map → p-68371e6d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ab63346c.entry.js.map → p-6cc730db.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ddd6f1d0.entry.js.map → p-70a59bf1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e0a066fb.entry.js.map → p-7a6e33d4.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5e65c5ca.entry.js.map → p-82bda2ff.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-22ab9b66.entry.js.map → p-8c6f8d06.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-032591c6.entry.js.map → p-8e8a40ca.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d57341f4.entry.js.map → p-b73e7870.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-45399983.entry.js.map → p-b8d1c16f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d33822bb.entry.js.map → p-c9f32e51.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-dbf471fd.entry.js.map → p-ce27270b.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a2995834.entry.js.map → p-d3827468.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d9e6bd63.entry.js.map → p-deb1e1c8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b9a04695.entry.js.map → p-e5a8f7ff.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a00d7c46.entry.js.map → p-ece07c0d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-fa584c00.entry.js.map → p-f637136f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a7b64d05.entry.js.map → p-f6be73b7.entry.js.map} +0 -0
- /package/dist/types/workspace/workspace/{_Gitlab_tecton-production_master → tecton-production_release_1.35.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setup, getFocusedAttribute, getFocusedTagName, getFocusedOptionValue, getActiveElementTestId, } from '../helpers';
|
|
1
|
+
import { setup, getFocusedAttribute, getFocusedTagName, getFocusedOptionValue, getActiveElementTestId, checkStylesForCompilationIssues, } from '../helpers';
|
|
2
2
|
describe('q2-tag', () => {
|
|
3
3
|
let page;
|
|
4
4
|
let tag;
|
|
@@ -9,6 +9,11 @@ describe('q2-tag', () => {
|
|
|
9
9
|
let optionContainer;
|
|
10
10
|
let clickSpy;
|
|
11
11
|
let changeSpy;
|
|
12
|
+
it('properly compiles CSS vars and functions', async () => {
|
|
13
|
+
const page = await setup({ html: `<q2-tag></q2-tag>` });
|
|
14
|
+
const styleCheckResults = await checkStylesForCompilationIssues(page, 'q2-tag');
|
|
15
|
+
expect(styleCheckResults).toHaveLength(0);
|
|
16
|
+
});
|
|
12
17
|
it('does not render button or dropdown by default', async () => {
|
|
13
18
|
page = await setup({
|
|
14
19
|
html: `<q2-tag label="My tag"></q2-tag>`,
|
|
@@ -143,7 +148,7 @@ describe('q2-tag', () => {
|
|
|
143
148
|
});
|
|
144
149
|
describe('Props', () => {
|
|
145
150
|
describe('hoist', () => {
|
|
146
|
-
const runHoistSetup = async (
|
|
151
|
+
const runHoistSetup = async (action, hoistEnabled = false, defineShowActionSheet = false, isCancelled = false) => {
|
|
147
152
|
page = await setup({
|
|
148
153
|
html: `
|
|
149
154
|
<q2-tag ${hoistEnabled ? 'hoist' : ''} label="My tag">
|
|
@@ -154,22 +159,31 @@ describe('q2-tag', () => {
|
|
|
154
159
|
`,
|
|
155
160
|
});
|
|
156
161
|
if (defineShowActionSheet) {
|
|
157
|
-
await page.evaluate(
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
+
await page.evaluate(isCancelled => {
|
|
163
|
+
const returnValue = isCancelled
|
|
164
|
+
? {
|
|
165
|
+
type: 'cancel',
|
|
166
|
+
value: '',
|
|
167
|
+
values: [],
|
|
168
|
+
}
|
|
169
|
+
: {
|
|
170
|
+
value: '3',
|
|
171
|
+
values: [{ display: 'Option 3', value: '3' }],
|
|
172
|
+
type: 'confirm',
|
|
173
|
+
};
|
|
174
|
+
this.TectonElements.showActionSheet = async () => returnValue;
|
|
175
|
+
}, isCancelled);
|
|
162
176
|
}
|
|
163
177
|
popover = await page.find('q2-tag >>> q2-popover');
|
|
164
178
|
tag = await page.find('q2-tag');
|
|
165
179
|
controlBtn = await page.find('q2-tag >>> button');
|
|
166
180
|
clickSpy = await tag.spyOnEvent('click');
|
|
167
181
|
expect(popover).not.toHaveAttribute('open');
|
|
168
|
-
if (
|
|
182
|
+
if (action === 'click') {
|
|
169
183
|
await controlBtn.click();
|
|
170
184
|
}
|
|
171
185
|
else {
|
|
172
|
-
await controlBtn.press(
|
|
186
|
+
await controlBtn.press(action);
|
|
173
187
|
}
|
|
174
188
|
await page.waitForChanges();
|
|
175
189
|
};
|
|
@@ -246,16 +260,18 @@ describe('q2-tag', () => {
|
|
|
246
260
|
});
|
|
247
261
|
});
|
|
248
262
|
describe('when window.TectonElements.showActionSheet is defined', () => {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
263
|
+
['click', 'ArrowDown', 'Space', 'Enter'].forEach(action => {
|
|
264
|
+
it(`calls showActionSheet on ${action}`, async () => {
|
|
265
|
+
await runHoistSetup(action, true, true);
|
|
266
|
+
expect(clickSpy).toHaveReceivedEventDetail({
|
|
267
|
+
value: '3',
|
|
268
|
+
});
|
|
253
269
|
});
|
|
254
270
|
});
|
|
255
|
-
it(
|
|
256
|
-
await runHoistSetup('
|
|
271
|
+
it(`calls showActionSheet on click and returns no data when cancelled`, async () => {
|
|
272
|
+
await runHoistSetup('click', true, true, true);
|
|
257
273
|
expect(clickSpy).toHaveReceivedEventDetail({
|
|
258
|
-
value: '
|
|
274
|
+
value: '',
|
|
259
275
|
});
|
|
260
276
|
});
|
|
261
277
|
});
|
|
@@ -412,5 +428,28 @@ describe('q2-tag', () => {
|
|
|
412
428
|
});
|
|
413
429
|
});
|
|
414
430
|
});
|
|
431
|
+
describe('Accessibility', () => {
|
|
432
|
+
it("option-list should have a role of 'menu' and the options a role of 'menuoption'", async () => {
|
|
433
|
+
page = await setup({
|
|
434
|
+
html: `
|
|
435
|
+
<q2-tag label="My tag" open>
|
|
436
|
+
<q2-option value="1">Option 1</q2-option>
|
|
437
|
+
<q2-option value="2">Option 2</q2-option>
|
|
438
|
+
<q2-option value="3">Option 3</q2-option>
|
|
439
|
+
</q2-tag>
|
|
440
|
+
`,
|
|
441
|
+
});
|
|
442
|
+
await page.waitForChanges();
|
|
443
|
+
const snapshot = await page.accessibility.snapshot();
|
|
444
|
+
const button = snapshot.children[0];
|
|
445
|
+
const optionList = snapshot.children[1];
|
|
446
|
+
expect(button.role).toEqual('combobox');
|
|
447
|
+
expect(optionList.role).toEqual('menu');
|
|
448
|
+
expect(optionList.children).toHaveLength(3);
|
|
449
|
+
optionList.children.forEach(child => {
|
|
450
|
+
expect(child.role).toEqual('menuitem');
|
|
451
|
+
});
|
|
452
|
+
});
|
|
453
|
+
});
|
|
415
454
|
});
|
|
416
455
|
//# sourceMappingURL=q2-tag-test.e2e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-tag-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-tag-test.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport {\n setup,\n getFocusedAttribute,\n getFocusedTagName,\n getFocusedOptionValue,\n getActiveElementTestId,\n} from '../helpers';\n\ndescribe('q2-tag', () => {\n let page: E2EPage;\n let tag: E2EElement;\n let optionList: E2EElement;\n let popover: E2EElement;\n let controlBtn: E2EElement;\n let allOptions: E2EElement[];\n let optionContainer: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n it('does not render button or dropdown by default', async () => {\n page = await setup({\n html: `<q2-tag label=\"My tag\"></q2-tag>`,\n });\n optionList = await page.find('q2-tag >>> q2-option-list');\n controlBtn = await page.find('q2-tag >>> button');\n\n expect(controlBtn).toBeNull();\n expect(optionList).toBeNull();\n });\n\n describe('when options are provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n allOptions = await page.findAll('q2-option');\n optionList = await page.find('q2-tag >>> q2-option-list');\n popover = await page.find('q2-tag >>> q2-popover');\n optionContainer = await page.find('q2-tag >>> q2-option-list >>> .options');\n controlBtn = await page.find('q2-tag >>> button');\n clickSpy = await tag.spyOnEvent('click');\n changeSpy = await tag.spyOnEvent('change');\n });\n\n it('renders the tag-wrapper as a button', async () => {\n const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');\n expect(tagWrapper.nodeName).toEqual('BUTTON');\n });\n\n it('can select option via keyboard', async () => {\n const tagLabel = await page.find('q2-tag >>> .tag');\n\n expect(tagLabel.classList.contains('has-options')).toBe(true);\n expect(popover).not.toHaveAttribute('open');\n\n await controlBtn.press('ArrowDown');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n\n await optionContainer.press('ArrowDown');\n await page.waitForChanges();\n expect(await getFocusedOptionValue(page)).toEqual('2');\n await allOptions[1].press(' ');\n await page.waitForChanges();\n\n expect(tag).not.toHaveAttribute('open');\n expect(popover).not.toHaveAttribute('open');\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '2',\n });\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n it('can select option via mouse', async () => {\n const tagLabel = await page.find('q2-tag >>> .tag');\n\n expect(tagLabel.classList.contains('has-options')).toBe(true);\n expect(popover).not.toHaveAttribute('open');\n\n await controlBtn.click();\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedTagName(page)).toEqual('Q2-TAG');\n\n await allOptions[1].click();\n await page.waitForChanges();\n\n // expect(tag).not.toHaveAttribute('open');\n // expect(popover).not.toHaveAttribute('open');\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '2',\n });\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n describe('when keyboard is pressed', () => {\n it('opens list and focuses first option on ArrowDown', async () => {\n await controlBtn.press('ArrowDown');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses last option on ArrowUp', async () => {\n await controlBtn.press('ArrowUp');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('3');\n });\n\n it('opens list and focuses first option on Enter', async () => {\n await controlBtn.press('Enter');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses first option on Space', async () => {\n await controlBtn.press(' ');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses last option on Home', async () => {\n await controlBtn.press('Home');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedAttribute(page, 'value')).toEqual('1');\n });\n\n it('opens list and focuses last option on End', async () => {\n await controlBtn.press('End');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedAttribute(page, 'value')).toEqual('3');\n });\n });\n });\n\n describe('when options are NOT provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n });\n it('renders the tag-wrapper as a div', async () => {\n const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');\n expect(tagWrapper.nodeName).toEqual('DIV');\n });\n });\n\n describe('Props', () => {\n describe('hoist', () => {\n const runHoistSetup = async (\n mode: 'click' | 'keyboard',\n hoistEnabled: boolean = false,\n defineShowActionSheet: boolean = false\n ) => {\n page = await setup({\n html: `\n <q2-tag ${hoistEnabled ? 'hoist' : ''} label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n\n if (defineShowActionSheet) {\n await page.evaluate(() => {\n (this as Window).TectonElements.showActionSheet = async () => {\n return { value: '3', values: [{ display: 'Option 3', value: '3' }], type: 'confirm' };\n };\n });\n }\n\n popover = await page.find('q2-tag >>> q2-popover');\n tag = await page.find('q2-tag');\n controlBtn = await page.find('q2-tag >>> button');\n clickSpy = await tag.spyOnEvent('click');\n\n expect(popover).not.toHaveAttribute('open');\n\n if (mode === 'click') {\n await controlBtn.click();\n } else {\n await controlBtn.press('ArrowDown');\n }\n await page.waitForChanges();\n };\n\n describe('when window.Tecton.useActionSheets is true', () => {\n it('defaults the hoist prop to true', async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => {\n (this as Window).Tecton = {\n inMobileApp: false,\n useActionSheets: true,\n noStrings: false,\n platformDimensions: null,\n platformUrl: null,\n };\n });\n await page.setContent(`\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `);\n await page.waitForChanges();\n\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('hoist')).toEqual(true);\n });\n\n it('sets hoist to false when manually set to false', async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => {\n (this as Window).Tecton = {\n inMobileApp: false,\n useActionSheets: true,\n noStrings: false,\n platformDimensions: null,\n platformUrl: null,\n };\n });\n await page.setContent(`\n <q2-tag label=\"My tag\" hoist=\"false\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `);\n await page.waitForChanges();\n\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('hoist')).toEqual(false);\n });\n });\n\n describe('when false (default)', () => {\n it('opens popover on click', async () => {\n await runHoistSetup('click', false, true);\n\n expect(popover).toHaveAttribute('open');\n\n const option = await page.find('q2-option[value=\"3\"]');\n await option.click();\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n\n describe('when true', () => {\n describe('when window.TectonElements.showActionSheet is not defined', () => {\n it('opens popover on click', async () => {\n await runHoistSetup('click', true, false);\n\n const option = await page.find('q2-option[value=\"3\"]');\n await option.click();\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n\n describe('when window.TectonElements.showActionSheet is defined', () => {\n it('calls showActionSheet on click', async () => {\n await runHoistSetup('click', true, true);\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n\n it('calls showActionSheet on ArrowDown', async () => {\n await runHoistSetup('keyboard', true, true);\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n });\n });\n\n describe('popoverMinHeight', () => {\n describe('when not provided', () => {\n it('defaults to 150 and passes that value to q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await tag.getProperty('popoverMinHeight')).toEqual(150);\n expect(await popover.getProperty('minHeight')).toEqual(150);\n });\n });\n describe('when provided', () => {\n it('passes the provided value to the q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\" popover-min-height=\"300\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await popover.getProperty('minHeight')).toEqual(300);\n });\n });\n });\n\n describe('popoverDirection', () => {\n describe('when not provided', () => {\n it('does not default and does not pass a value to q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await tag.getProperty('popoverDirection')).toBeUndefined();\n expect(await popover.getProperty('direction')).toBeUndefined();\n });\n });\n describe('when provided', () => {\n it('passes the provided value to the q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\" popover-direction=\"up\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await popover.getProperty('direction')).toEqual('up');\n });\n });\n });\n describe('popoverAlingment', () => {\n it('can be initally set to left, then assigned to right, then back to left', async () => {\n page = await setup({\n html: `\n <q2-tag popover-alignment=\"left\">\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-tag>\n `,\n });\n await page.waitForChanges();\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('popoverAlignment')).toEqual('left');\n\n tag.setProperty('popoverAlignment', 'right');\n await page.waitForChanges();\n\n expect(await tag.getProperty('popoverAlignment')).toEqual('right');\n\n tag.setProperty('popoverAlignment', 'left');\n await page.waitForChanges();\n\n expect(await tag.getProperty('popoverAlignment')).toEqual('left');\n });\n it('will default to right via the prop inital value in q2-tag', async () => {\n page = await setup({\n html: `\n <q2-tag>\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-tag>\n `,\n });\n await page.waitForChanges();\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('popoverAlignment')).toEqual('right');\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let tag: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n });\n\n it('focuses active option and opens the list when focus event is dispatched', async function (): Promise<void> {\n await tag.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');\n });\n\n it('focuses active option and opens the list when element.focus() is called', async function (): Promise<void> {\n await tag.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');\n });\n });\n\n describe('Regressions', () => {\n describe('TCT-2161', () => {\n it('leaves the element when Tab is pressed', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n <button test-id=\"btn-next\">Test</button>\n `,\n });\n tag = await page.find('q2-tag');\n await tag.focus();\n\n expect(await getActiveElementTestId(page)).toEqual('btn-control');\n\n await tag.press('Tab');\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('btn-next');\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-tag-test.e2e.js","sourceRoot":"","sources":["../../../test/elements/q2-tag-test.e2e.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,EACL,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,+BAA+B,GAClC,MAAM,YAAY,CAAC;AAEpB,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;EACpB,IAAI,IAAa,CAAC;EAClB,IAAI,GAAe,CAAC;EACpB,IAAI,UAAsB,CAAC;EAC3B,IAAI,OAAmB,CAAC;EACxB,IAAI,UAAsB,CAAC;EAC3B,IAAI,UAAwB,CAAC;EAC7B,IAAI,eAA2B,CAAC;EAChC,IAAI,QAAkB,CAAC;EACvB,IAAI,SAAmB,CAAC;EAExB,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChF,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC3D,IAAI,GAAG,MAAM,KAAK,CAAC;MACf,IAAI,EAAE,kCAAkC;KAC3C,CAAC,CAAC;IACH,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1D,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAElD,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;EAClC,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,UAAU,CAAC,KAAK,IAAI,EAAE;MAClB,IAAI,GAAG,MAAM,KAAK,CAAC;QACf,IAAI,EAAE;;;;;;iBAML;OACJ,CAAC,CAAC;MACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;MAChC,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;MAC7C,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;MAC1D,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;MACnD,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;MAC5E,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;MAClD,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;MACzC,SAAS,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;MACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;MAC9D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;MAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;MAEpD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MAE5C,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;MACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MACxC,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAEvD,MAAM,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;MACzC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MACvD,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;MAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MACxC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;QACvC,KAAK,EAAE,GAAG;OACb,CAAC,CAAC;MACH,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;MACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;MAEpD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MAE5C,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;MACzB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MACxC,MAAM,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;MAExD,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;MAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,2CAA2C;MAC3C,+CAA+C;MAC/C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;QACvC,KAAK,EAAE,GAAG;OACb,CAAC,CAAC;MACH,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;MACtC,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAC3D,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAC3D,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAC3D,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAC3D,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAClE,CAAC,CAAC,CAAC;MAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;MAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,UAAU,CAAC,KAAK,IAAI,EAAE;MAClB,IAAI,GAAG,MAAM,KAAK,CAAC;QACf,IAAI,EAAE;;;aAGT;OACA,CAAC,CAAC;MACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;MAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;MAC9D,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;MACnB,MAAM,aAAa,GAAG,KAAK,EACvB,MAAc,EACd,eAAwB,KAAK,EAC7B,wBAAiC,KAAK,EACtC,cAAuB,KAAK,EAC9B,EAAE;QACA,IAAI,GAAG,MAAM,KAAK,CAAC;UACf,IAAI,EAAE;kCACQ,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;;;;qBAKxC;SACJ,CAAC,CAAC;QAEH,IAAI,qBAAqB,EAAE;UACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC9B,MAAM,WAAW,GAA6B,WAAW;cACrD,CAAC,CAAC;gBACI,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;eACb;cACH,CAAC,CAAC;gBACI,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBAC7C,IAAI,EAAE,SAAS;eAClB,CAAC;YACP,IAAe,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC;UAC9E,CAAC,EAAE,WAAW,CAAC,CAAC;SACnB;QAED,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACnD,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClD,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE5C,IAAI,MAAM,KAAK,OAAO,EAAE;UACpB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;SAC5B;aAAM;UACH,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAClC;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAChC,CAAC,CAAC;MAEF,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;UAC7C,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;UACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,IAAe,CAAC,MAAM,GAAG;cACtB,WAAW,EAAE,KAAK;cAClB,eAAe,EAAE,IAAI;cACrB,SAAS,EAAE,KAAK;cAChB,kBAAkB,EAAE,IAAI;cACxB,WAAW,EAAE,IAAI;aACpB,CAAC;UACN,CAAC,CAAC,CAAC;UACH,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;yBAMjB,CAAC,CAAC;UACP,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;UAChC,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;UAC5D,IAAI,GAAG,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;UACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpB,IAAe,CAAC,MAAM,GAAG;cACtB,WAAW,EAAE,KAAK;cAClB,eAAe,EAAE,IAAI;cACrB,SAAS,EAAE,KAAK;cAChB,kBAAkB,EAAE,IAAI;cACxB,WAAW,EAAE,IAAI;aACpB,CAAC;UACN,CAAC,CAAC,CAAC;UACH,MAAM,IAAI,CAAC,UAAU,CAAC;;;;;;qBAMrB,CAAC,CAAC;UACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;UAChC,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;UACpC,MAAM,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;UAE1C,MAAM,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;UAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;UACvD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;UACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;UAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;UAE5C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;YACvC,KAAK,EAAE,GAAG;WACb,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACvB,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;UACvE,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE5C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;cACvC,KAAK,EAAE,GAAG;aACb,CAAC,CAAC;UACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;UACnE,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACtD,EAAE,CAAC,4BAA4B,MAAM,EAAE,EAAE,KAAK,IAAI,EAAE;cAChD,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;cAExC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;gBACvC,KAAK,EAAE,GAAG;eACb,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;UACP,CAAC,CAAC,CAAC;UAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAE/C,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC;cACvC,KAAK,EAAE,EAAE;aACZ,CAAC,CAAC;UACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;MAC9B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;UACjE,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;yBAML;WACJ,CAAC,CAAC;UACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;UAChC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEnD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;UAC/D,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;UACzD,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;yBAML;WACJ,CAAC,CAAC;UACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEnD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;MAC9B,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;UACtE,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;yBAML;WACJ,CAAC,CAAC;UACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;UAChC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEnD,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;UAClE,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;MACH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;UACzD,IAAI,GAAG,MAAM,KAAK,CAAC;YACf,IAAI,EAAE;;;;;;yBAML;WACJ,CAAC,CAAC;UACH,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;UAEnD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;MACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;MAC9B,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACpF,IAAI,GAAG,MAAM,KAAK,CAAC;UACf,IAAI,EAAE;;;;;qBAKL;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAElE,GAAG,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnE,GAAG,CAAC,WAAW,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;MACtE,CAAC,CAAC,CAAC;MACH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACvE,IAAI,GAAG,MAAM,KAAK,CAAC;UACf,IAAI,EAAE;;;;;qBAKL;SACJ,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;MACvE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACnB,IAAI,IAAa,CAAC;IAClB,IAAI,GAAe,CAAC;IACpB,UAAU,CAAC,KAAK,IAAI,EAAE;MAClB,IAAI,GAAG,MAAM,KAAK,CAAC;QACf,IAAI,EAAE;;;;;;iBAML;OACJ,CAAC,CAAC;MACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK;MAC/E,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;MAChC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK;MAC/E,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;MAClB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;MACtB,EAAE,CAAC,wCAAwC,EAAE,KAAK;QAC9C,IAAI,GAAG,MAAM,KAAK,CAAC;UACf,IAAI,EAAE;;;;;;;qBAOL;SACJ,CAAC,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAElE,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;MACnE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;EAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;MAC7F,IAAI,GAAG,MAAM,KAAK,CAAC;QACf,IAAI,EAAE;;;;;;iBAML;OACJ,CAAC,CAAC;MACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;MAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;MACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;MACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;MAExC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;MACxC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;MACxC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;MAC5C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;MAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;EACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC","sourcesContent":["import { E2EElement, E2EPage, EventSpy } from '@stencil/core/testing';\nimport { ActionSheetListCloseData } from 'q2-tecton-common/lib/utility/action-sheet';\nimport {\n setup,\n getFocusedAttribute,\n getFocusedTagName,\n getFocusedOptionValue,\n getActiveElementTestId,\n checkStylesForCompilationIssues,\n} from '../helpers';\n\ndescribe('q2-tag', () => {\n let page: E2EPage;\n let tag: E2EElement;\n let optionList: E2EElement;\n let popover: E2EElement;\n let controlBtn: E2EElement;\n let allOptions: E2EElement[];\n let optionContainer: E2EElement;\n let clickSpy: EventSpy;\n let changeSpy: EventSpy;\n\n it('properly compiles CSS vars and functions', async () => {\n const page = await setup({ html: `<q2-tag></q2-tag>` });\n const styleCheckResults = await checkStylesForCompilationIssues(page, 'q2-tag');\n expect(styleCheckResults).toHaveLength(0);\n });\n\n it('does not render button or dropdown by default', async () => {\n page = await setup({\n html: `<q2-tag label=\"My tag\"></q2-tag>`,\n });\n optionList = await page.find('q2-tag >>> q2-option-list');\n controlBtn = await page.find('q2-tag >>> button');\n\n expect(controlBtn).toBeNull();\n expect(optionList).toBeNull();\n });\n\n describe('when options are provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n allOptions = await page.findAll('q2-option');\n optionList = await page.find('q2-tag >>> q2-option-list');\n popover = await page.find('q2-tag >>> q2-popover');\n optionContainer = await page.find('q2-tag >>> q2-option-list >>> .options');\n controlBtn = await page.find('q2-tag >>> button');\n clickSpy = await tag.spyOnEvent('click');\n changeSpy = await tag.spyOnEvent('change');\n });\n\n it('renders the tag-wrapper as a button', async () => {\n const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');\n expect(tagWrapper.nodeName).toEqual('BUTTON');\n });\n\n it('can select option via keyboard', async () => {\n const tagLabel = await page.find('q2-tag >>> .tag');\n\n expect(tagLabel.classList.contains('has-options')).toBe(true);\n expect(popover).not.toHaveAttribute('open');\n\n await controlBtn.press('ArrowDown');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n\n await optionContainer.press('ArrowDown');\n await page.waitForChanges();\n expect(await getFocusedOptionValue(page)).toEqual('2');\n await allOptions[1].press(' ');\n await page.waitForChanges();\n\n expect(tag).not.toHaveAttribute('open');\n expect(popover).not.toHaveAttribute('open');\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '2',\n });\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n it('can select option via mouse', async () => {\n const tagLabel = await page.find('q2-tag >>> .tag');\n\n expect(tagLabel.classList.contains('has-options')).toBe(true);\n expect(popover).not.toHaveAttribute('open');\n\n await controlBtn.click();\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedTagName(page)).toEqual('Q2-TAG');\n\n await allOptions[1].click();\n await page.waitForChanges();\n\n // expect(tag).not.toHaveAttribute('open');\n // expect(popover).not.toHaveAttribute('open');\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '2',\n });\n expect(changeSpy).not.toHaveReceivedEvent();\n });\n\n describe('when keyboard is pressed', () => {\n it('opens list and focuses first option on ArrowDown', async () => {\n await controlBtn.press('ArrowDown');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses last option on ArrowUp', async () => {\n await controlBtn.press('ArrowUp');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('3');\n });\n\n it('opens list and focuses first option on Enter', async () => {\n await controlBtn.press('Enter');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses first option on Space', async () => {\n await controlBtn.press(' ');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedOptionValue(page)).toEqual('1');\n });\n\n it('opens list and focuses last option on Home', async () => {\n await controlBtn.press('Home');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedAttribute(page, 'value')).toEqual('1');\n });\n\n it('opens list and focuses last option on End', async () => {\n await controlBtn.press('End');\n await page.waitForChanges();\n\n expect(tag).toHaveAttribute('open');\n expect(popover).toHaveAttribute('open');\n expect(await getFocusedAttribute(page, 'value')).toEqual('3');\n });\n });\n });\n\n describe('when options are NOT provided', () => {\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n });\n it('renders the tag-wrapper as a div', async () => {\n const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');\n expect(tagWrapper.nodeName).toEqual('DIV');\n });\n });\n\n describe('Props', () => {\n describe('hoist', () => {\n const runHoistSetup = async (\n action: string,\n hoistEnabled: boolean = false,\n defineShowActionSheet: boolean = false,\n isCancelled: boolean = false\n ) => {\n page = await setup({\n html: `\n <q2-tag ${hoistEnabled ? 'hoist' : ''} label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n\n if (defineShowActionSheet) {\n await page.evaluate(isCancelled => {\n const returnValue: ActionSheetListCloseData = isCancelled\n ? {\n type: 'cancel',\n value: '',\n values: [],\n }\n : {\n value: '3',\n values: [{ display: 'Option 3', value: '3' }],\n type: 'confirm',\n };\n (this as Window).TectonElements.showActionSheet = async () => returnValue;\n }, isCancelled);\n }\n\n popover = await page.find('q2-tag >>> q2-popover');\n tag = await page.find('q2-tag');\n controlBtn = await page.find('q2-tag >>> button');\n clickSpy = await tag.spyOnEvent('click');\n\n expect(popover).not.toHaveAttribute('open');\n\n if (action === 'click') {\n await controlBtn.click();\n } else {\n await controlBtn.press(action);\n }\n await page.waitForChanges();\n };\n\n describe('when window.Tecton.useActionSheets is true', () => {\n it('defaults the hoist prop to true', async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => {\n (this as Window).Tecton = {\n inMobileApp: false,\n useActionSheets: true,\n noStrings: false,\n platformDimensions: null,\n platformUrl: null,\n };\n });\n await page.setContent(`\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `);\n await page.waitForChanges();\n\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('hoist')).toEqual(true);\n });\n\n it('sets hoist to false when manually set to false', async () => {\n page = await setup({ html: `` });\n await page.evaluate(() => {\n (this as Window).Tecton = {\n inMobileApp: false,\n useActionSheets: true,\n noStrings: false,\n platformDimensions: null,\n platformUrl: null,\n };\n });\n await page.setContent(`\n <q2-tag label=\"My tag\" hoist=\"false\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `);\n await page.waitForChanges();\n\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('hoist')).toEqual(false);\n });\n });\n\n describe('when false (default)', () => {\n it('opens popover on click', async () => {\n await runHoistSetup('click', false, true);\n\n expect(popover).toHaveAttribute('open');\n\n const option = await page.find('q2-option[value=\"3\"]');\n await option.click();\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n\n describe('when true', () => {\n describe('when window.TectonElements.showActionSheet is not defined', () => {\n it('opens popover on click', async () => {\n await runHoistSetup('click', true, false);\n\n const option = await page.find('q2-option[value=\"3\"]');\n await option.click();\n await page.waitForChanges();\n\n expect(popover).not.toHaveAttribute('open');\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n\n describe('when window.TectonElements.showActionSheet is defined', () => {\n ['click', 'ArrowDown', 'Space', 'Enter'].forEach(action => {\n it(`calls showActionSheet on ${action}`, async () => {\n await runHoistSetup(action, true, true);\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '3',\n });\n });\n });\n\n it(`calls showActionSheet on click and returns no data when cancelled`, async () => {\n await runHoistSetup('click', true, true, true);\n\n expect(clickSpy).toHaveReceivedEventDetail({\n value: '',\n });\n });\n });\n });\n });\n\n describe('popoverMinHeight', () => {\n describe('when not provided', () => {\n it('defaults to 150 and passes that value to q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await tag.getProperty('popoverMinHeight')).toEqual(150);\n expect(await popover.getProperty('minHeight')).toEqual(150);\n });\n });\n describe('when provided', () => {\n it('passes the provided value to the q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\" popover-min-height=\"300\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await popover.getProperty('minHeight')).toEqual(300);\n });\n });\n });\n\n describe('popoverDirection', () => {\n describe('when not provided', () => {\n it('does not default and does not pass a value to q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await tag.getProperty('popoverDirection')).toBeUndefined();\n expect(await popover.getProperty('direction')).toBeUndefined();\n });\n });\n describe('when provided', () => {\n it('passes the provided value to the q2-popover', async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\" popover-direction=\"up\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n popover = await page.find('q2-tag >>> q2-popover');\n\n expect(await popover.getProperty('direction')).toEqual('up');\n });\n });\n });\n describe('popoverAlingment', () => {\n it('can be initally set to left, then assigned to right, then back to left', async () => {\n page = await setup({\n html: `\n <q2-tag popover-alignment=\"left\">\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-tag>\n `,\n });\n await page.waitForChanges();\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('popoverAlignment')).toEqual('left');\n\n tag.setProperty('popoverAlignment', 'right');\n await page.waitForChanges();\n\n expect(await tag.getProperty('popoverAlignment')).toEqual('right');\n\n tag.setProperty('popoverAlignment', 'left');\n await page.waitForChanges();\n\n expect(await tag.getProperty('popoverAlignment')).toEqual('left');\n });\n it('will default to right via the prop inital value in q2-tag', async () => {\n page = await setup({\n html: `\n <q2-tag>\n <q2-dropdown-item>Item 1</q2-dropdown-item>\n <q2-dropdown-item>Item 2</q2-dropdown-item>\n </q2-tag>\n `,\n });\n await page.waitForChanges();\n tag = await page.find('q2-tag');\n expect(await tag.getProperty('popoverAlignment')).toEqual('right');\n });\n });\n });\n\n describe('focus', () => {\n let page: E2EPage;\n let tag: E2EElement;\n beforeEach(async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n tag = await page.find('q2-tag');\n });\n\n it('focuses active option and opens the list when focus event is dispatched', async function (): Promise<void> {\n await tag.triggerEvent('focus');\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');\n });\n\n it('focuses active option and opens the list when element.focus() is called', async function (): Promise<void> {\n await tag.focus();\n await page.waitForChanges();\n\n expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');\n });\n });\n\n describe('Regressions', () => {\n describe('TCT-2161', () => {\n it('leaves the element when Tab is pressed', async function (): Promise<void> {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\">\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n <button test-id=\"btn-next\">Test</button>\n `,\n });\n tag = await page.find('q2-tag');\n await tag.focus();\n\n expect(await getActiveElementTestId(page)).toEqual('btn-control');\n\n await tag.press('Tab');\n await page.waitForChanges();\n\n expect(await getActiveElementTestId(page)).toEqual('btn-next');\n });\n });\n });\n\n describe('Accessibility', () => {\n it(\"option-list should have a role of 'menu' and the options a role of 'menuoption'\", async () => {\n page = await setup({\n html: `\n <q2-tag label=\"My tag\" open>\n <q2-option value=\"1\">Option 1</q2-option>\n <q2-option value=\"2\">Option 2</q2-option>\n <q2-option value=\"3\">Option 3</q2-option>\n </q2-tag>\n `,\n });\n await page.waitForChanges();\n\n const snapshot = await page.accessibility.snapshot();\n const button = snapshot.children[0];\n const optionList = snapshot.children[1];\n\n expect(button.role).toEqual('combobox');\n expect(optionList.role).toEqual('menu');\n expect(optionList.children).toHaveLength(3);\n optionList.children.forEach(child => {\n expect(child.role).toEqual('menuitem');\n });\n });\n });\n});\n"]}
|
|
@@ -32,6 +32,8 @@ export declare class Q2Btn implements ComponentInterface {
|
|
|
32
32
|
disable(ev: Event): void;
|
|
33
33
|
delegateFocus(event: FocusEvent): void;
|
|
34
34
|
ariaLabelObserver(): void;
|
|
35
|
+
sizeObserver(): void;
|
|
36
|
+
handleButtonSize: () => void;
|
|
35
37
|
handleSlotChange: () => void;
|
|
36
38
|
handleIcons: () => void;
|
|
37
39
|
renderButton: () => any;
|
|
@@ -14,6 +14,7 @@ export declare function setupMonthYear(value?: Date | undefined): ISelectedMonth
|
|
|
14
14
|
export declare function validateInput(input: string, validDays: number[], validDates: string[], // white list
|
|
15
15
|
invalidDates: string[], // black list
|
|
16
16
|
startDate: string, endDate: string, formatString: string, assume: string): InputValidation;
|
|
17
|
+
export declare function buildInputDate(input: string, assume: string): Date;
|
|
17
18
|
export declare function handleMissingZeros(input: any): string;
|
|
18
19
|
export declare function reorderDateString(input: string): string;
|
|
19
20
|
export declare function firstDayOfWeekInMonth(month: number, year: number): number;
|
|
@@ -27,6 +27,7 @@ export declare class Q2Calendar implements ComponentInterface {
|
|
|
27
27
|
cutoffTime: string;
|
|
28
28
|
daysOfWeekChecksum: number;
|
|
29
29
|
assume: 'current' | 'future' | 'past';
|
|
30
|
+
hints: string[];
|
|
30
31
|
errors: string[];
|
|
31
32
|
invalidDates: string[];
|
|
32
33
|
validDates: string[];
|
|
@@ -46,7 +47,7 @@ export declare class Q2Calendar implements ComponentInterface {
|
|
|
46
47
|
typedValue: string;
|
|
47
48
|
dateList: CalendarDay[];
|
|
48
49
|
hintMessage: string;
|
|
49
|
-
hintMessageType: 'info' | 'error'
|
|
50
|
+
hintMessageType: 'info' | 'error';
|
|
50
51
|
formatModifier: string;
|
|
51
52
|
hintMessageElement: HTMLQ2MessageElement;
|
|
52
53
|
controlElement: HTMLQ2InputElement;
|
|
@@ -72,12 +73,13 @@ export declare class Q2Calendar implements ComponentInterface {
|
|
|
72
73
|
get defaultHintMessage(): string;
|
|
73
74
|
get canClear(): boolean;
|
|
74
75
|
get currentWeeks(): CalendarDay[][];
|
|
75
|
-
get localizedErrors(): string[];
|
|
76
76
|
get formattedValue(): string;
|
|
77
77
|
get computedPlaceholder(): string;
|
|
78
78
|
get dateValue(): Date | undefined;
|
|
79
79
|
get dateValidators(): IDateValidators;
|
|
80
80
|
get isTypeable(): boolean;
|
|
81
|
+
get errorList(): string[];
|
|
82
|
+
get hintList(): string[];
|
|
81
83
|
defaultChangeHandler(event: CustomEvent): void;
|
|
82
84
|
defaultErrorHandler(event: CustomEvent): void;
|
|
83
85
|
defaultSuccessHandler(event: CustomEvent): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
export type Q2DataTableCellAlignOptions = 'start' | 'center' | 'end';
|
|
3
3
|
export type Q2DataTableCellType = {
|
|
4
|
-
type?: 'text' | 'number' | 'icon' | 'boolean';
|
|
4
|
+
type?: 'text' | 'number' | 'icon' | 'boolean' | 'code';
|
|
5
5
|
} | {
|
|
6
6
|
type?: 'badge';
|
|
7
7
|
badgeStatus?: HTMLQ2BadgeElement['status'];
|
|
@@ -16,11 +16,13 @@ export type Q2DataTableHeader = {
|
|
|
16
16
|
backgroundColor?: string;
|
|
17
17
|
sorted?: 'ASC' | 'DESC';
|
|
18
18
|
ariaLabel?: string;
|
|
19
|
+
lineClamp?: number;
|
|
19
20
|
} & Partial<Q2DataTableCellType>;
|
|
20
21
|
export type Q2DataTableCell = {
|
|
21
22
|
value: string | number | boolean;
|
|
22
23
|
align?: Q2DataTableCellAlignOptions;
|
|
23
24
|
ariaLabel?: string;
|
|
25
|
+
lineClamp?: number;
|
|
24
26
|
} & Q2DataTableCellType;
|
|
25
27
|
export type Q2DataTableBaseRow = {
|
|
26
28
|
id: string | number;
|
|
@@ -40,10 +42,12 @@ export declare class Q2DataTable implements ComponentInterface {
|
|
|
40
42
|
bordered: boolean;
|
|
41
43
|
shadowed: boolean;
|
|
42
44
|
selectable: boolean;
|
|
45
|
+
clickable: boolean;
|
|
43
46
|
loading: boolean;
|
|
44
47
|
hideCaption: boolean;
|
|
45
48
|
caption: string;
|
|
46
49
|
selectMode: 'multiple' | 'single';
|
|
50
|
+
hideClickable: boolean;
|
|
47
51
|
headers: Q2DataTableHeader[];
|
|
48
52
|
rows: Q2DataTableRow[];
|
|
49
53
|
hostElement: HTMLElement;
|
|
@@ -58,6 +62,9 @@ export declare class Q2DataTable implements ComponentInterface {
|
|
|
58
62
|
rows: Q2DataTableSerializedRow[];
|
|
59
63
|
allSelected: boolean;
|
|
60
64
|
}>;
|
|
65
|
+
click: EventEmitter<{
|
|
66
|
+
row: Q2DataTableSerializedRow;
|
|
67
|
+
}>;
|
|
61
68
|
toggle: EventEmitter<{
|
|
62
69
|
row: Q2DataTableSerializedRow;
|
|
63
70
|
}>;
|
|
@@ -78,6 +85,7 @@ export declare class Q2DataTable implements ComponentInterface {
|
|
|
78
85
|
checkSlots: () => void;
|
|
79
86
|
headersHandler(headers?: Q2DataTableHeader[]): void;
|
|
80
87
|
rowsHandler(rows?: Q2DataTableRow[]): void;
|
|
88
|
+
onClickListener(event: MouseEvent): void;
|
|
81
89
|
onSort: (header: Q2DataTableHeader) => void;
|
|
82
90
|
onSelectAllRows: (event: CustomEvent<{
|
|
83
91
|
checked: boolean;
|
|
@@ -85,6 +93,8 @@ export declare class Q2DataTable implements ComponentInterface {
|
|
|
85
93
|
onSelectRow: (event: CustomEvent<{
|
|
86
94
|
checked: boolean;
|
|
87
95
|
}>, row: Q2DataTableSerializedRow) => void;
|
|
96
|
+
onClickTableRow: (event: MouseEvent, row: Q2DataTableSerializedRow) => void;
|
|
97
|
+
onClickRow: (event: MouseEvent, row: Q2DataTableSerializedRow) => void;
|
|
88
98
|
onToggleRow: (event: MouseEvent, row: Q2DataTableSerializedRow) => void;
|
|
89
99
|
onControlContainerClick: (event: MouseEvent) => void;
|
|
90
100
|
render(): any;
|
|
@@ -4,11 +4,6 @@ export interface IOptionValue {
|
|
|
4
4
|
display?: string;
|
|
5
5
|
}
|
|
6
6
|
export declare class Q2OptionList implements ComponentInterface {
|
|
7
|
-
/**
|
|
8
|
-
* The role of the option list.
|
|
9
|
-
* @type {('listbox' | 'menu')}
|
|
10
|
-
*/
|
|
11
|
-
role: string;
|
|
12
7
|
customSearch: boolean;
|
|
13
8
|
noSelect: boolean;
|
|
14
9
|
align: 'left' | 'right';
|
|
@@ -16,6 +11,10 @@ export declare class Q2OptionList implements ComponentInterface {
|
|
|
16
11
|
multiple: boolean;
|
|
17
12
|
disabled: boolean;
|
|
18
13
|
showSelected: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Translates to the role of the option list
|
|
16
|
+
* @type {('menu' | 'listbox')}
|
|
17
|
+
*/
|
|
19
18
|
type: 'menu' | 'listbox';
|
|
20
19
|
label: string;
|
|
21
20
|
change: EventEmitter<{
|
|
@@ -31,7 +31,7 @@ export declare class Q2Select implements ComponentInterface {
|
|
|
31
31
|
statusMessage: string;
|
|
32
32
|
prioritizeSearch: boolean;
|
|
33
33
|
structuredSelectedOptions: IOptionValue[];
|
|
34
|
-
inputField?: HTMLQ2InputElement
|
|
34
|
+
inputField?: HTMLQ2InputElement;
|
|
35
35
|
optionList: HTMLQ2OptionListElement;
|
|
36
36
|
popoverElement?: HTMLQ2PopoverElement;
|
|
37
37
|
multiSelectHeader?: HTMLDivElement;
|
|
@@ -109,6 +109,7 @@ export namespace Components {
|
|
|
109
109
|
"endDate": string;
|
|
110
110
|
"errors": string[];
|
|
111
111
|
"hideLabel": boolean;
|
|
112
|
+
"hints": string[];
|
|
112
113
|
"invalid": boolean;
|
|
113
114
|
"invalidDates": string[];
|
|
114
115
|
"label": string;
|
|
@@ -268,9 +269,11 @@ export namespace Components {
|
|
|
268
269
|
interface Q2DataTable {
|
|
269
270
|
"bordered": boolean;
|
|
270
271
|
"caption": string;
|
|
272
|
+
"clickable": boolean;
|
|
271
273
|
"density": 'compact' | 'normal' | 'comfortable';
|
|
272
274
|
"headers": Q2DataTableHeader[];
|
|
273
275
|
"hideCaption": boolean;
|
|
276
|
+
"hideClickable": boolean;
|
|
274
277
|
"loading": boolean;
|
|
275
278
|
"rows": Q2DataTableRow[];
|
|
276
279
|
"selectMode": 'multiple' | 'single';
|
|
@@ -461,15 +464,14 @@ export namespace Components {
|
|
|
461
464
|
"label": string;
|
|
462
465
|
"multiple": boolean;
|
|
463
466
|
"noSelect": boolean;
|
|
464
|
-
/**
|
|
465
|
-
* The role of the option list.
|
|
466
|
-
* @type {('listbox' | 'menu')}
|
|
467
|
-
*/
|
|
468
|
-
"role": string;
|
|
469
467
|
"selectedOptions": IOptionValue[];
|
|
470
468
|
"setActiveElement": (index: number) => Promise<void>;
|
|
471
469
|
"setDefaultActiveElement": () => Promise<void>;
|
|
472
470
|
"showSelected": boolean;
|
|
471
|
+
/**
|
|
472
|
+
* Translates to the role of the option list
|
|
473
|
+
* @type {('menu' | 'listbox')}
|
|
474
|
+
*/
|
|
473
475
|
"type": 'menu' | 'listbox';
|
|
474
476
|
}
|
|
475
477
|
interface Q2Pagination {
|
|
@@ -1213,6 +1215,7 @@ declare namespace LocalJSX {
|
|
|
1213
1215
|
"endDate"?: string;
|
|
1214
1216
|
"errors"?: string[];
|
|
1215
1217
|
"hideLabel"?: boolean;
|
|
1218
|
+
"hints"?: string[];
|
|
1216
1219
|
"invalid"?: boolean;
|
|
1217
1220
|
"invalidDates"?: string[];
|
|
1218
1221
|
"label"?: string;
|
|
@@ -1380,10 +1383,13 @@ declare namespace LocalJSX {
|
|
|
1380
1383
|
interface Q2DataTable {
|
|
1381
1384
|
"bordered"?: boolean;
|
|
1382
1385
|
"caption"?: string;
|
|
1386
|
+
"clickable"?: boolean;
|
|
1383
1387
|
"density"?: 'compact' | 'normal' | 'comfortable';
|
|
1384
1388
|
"headers"?: Q2DataTableHeader[];
|
|
1385
1389
|
"hideCaption"?: boolean;
|
|
1390
|
+
"hideClickable"?: boolean;
|
|
1386
1391
|
"loading"?: boolean;
|
|
1392
|
+
"onClick"?: (event: Q2DataTableCustomEvent<{ row: Q2DataTableSerializedRow }>) => void;
|
|
1387
1393
|
"onSelect"?: (event: Q2DataTableCustomEvent<{
|
|
1388
1394
|
row: Q2DataTableSerializedRow;
|
|
1389
1395
|
rows: Q2DataTableSerializedRow[];
|
|
@@ -1588,13 +1594,12 @@ declare namespace LocalJSX {
|
|
|
1588
1594
|
"onChange"?: (event: Q2OptionListCustomEvent<{ value: string; values: IOptionValue[] }>) => void;
|
|
1589
1595
|
"onPopoverState"?: (event: Q2OptionListCustomEvent<{ open: boolean; action: 'close' | 'select' | 'open' }>) => void;
|
|
1590
1596
|
"onReady"?: (event: Q2OptionListCustomEvent<any>) => void;
|
|
1591
|
-
/**
|
|
1592
|
-
* The role of the option list.
|
|
1593
|
-
* @type {('listbox' | 'menu')}
|
|
1594
|
-
*/
|
|
1595
|
-
"role"?: string;
|
|
1596
1597
|
"selectedOptions"?: IOptionValue[];
|
|
1597
1598
|
"showSelected"?: boolean;
|
|
1599
|
+
/**
|
|
1600
|
+
* Translates to the role of the option list
|
|
1601
|
+
* @type {('menu' | 'listbox')}
|
|
1602
|
+
*/
|
|
1598
1603
|
"type"?: 'menu' | 'listbox';
|
|
1599
1604
|
}
|
|
1600
1605
|
interface Q2Pagination {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "q2-tecton-elements",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.35.1",
|
|
4
4
|
"description": "Q2 Tecton Custom Elements",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Q2 Tecton Team",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"registry": "https://registry.npmjs.org"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "stencil build",
|
|
21
|
-
"build:dev": "stencil build",
|
|
20
|
+
"build": "stencil build && node ../../build/create-theme-files.js",
|
|
21
|
+
"build:dev": "stencil build && node ../../build/create-theme-files.js",
|
|
22
22
|
"build:docs-json": "stencil build --docs-json dist/docs.json",
|
|
23
23
|
"build:elements": "stencil build",
|
|
24
24
|
"build:local": "stencil build --dev --watch --serve",
|
|
25
|
-
"build:prod": "stencil build",
|
|
25
|
+
"build:prod": "stencil build && node ../../build/create-theme-files.js",
|
|
26
26
|
"clean": "rm -rf dist tmp",
|
|
27
27
|
"fmt": "prettier -l 'src/**/*.ts*' 'test/**/*.ts*' '*.js*'",
|
|
28
28
|
"fmt:fix": "prettier --write 'src/**/*.ts*' 'test/**/*.ts*' '*.js*'",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@stencil/core": "3.4.2",
|
|
38
|
-
"q2-tecton-common": "1.
|
|
38
|
+
"q2-tecton-common": "1.35.1",
|
|
39
39
|
"smoothscroll-polyfill": "^0.4.4",
|
|
40
40
|
"swiper": "8.4.4"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@stencil/react-output-target": "^0.5.3",
|
|
44
44
|
"@stencil/sass": "^3.0.5",
|
|
45
|
-
"@stencil/vue-output-target": "^0.8.
|
|
45
|
+
"@stencil/vue-output-target": "^0.8.7",
|
|
46
46
|
"@types/jest": "27.5.1",
|
|
47
47
|
"date-fns": "^2.30.0",
|
|
48
48
|
"echarts": "^5.3.3",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"tslint-config-prettier": "^1.18.0",
|
|
55
55
|
"typescript": "4.7.4"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "70c2b5d43434022686649771ba1ae98dbf7704b7"
|
|
58
58
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"action-sheet-4b366e9a.js","mappings":"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","names":[],"sources":["./src/utils/action-sheet.ts"],"sourcesContent":["import {\n ActionSheetSelectedOption,\n ActionSheetListCloseData,\n ActionSheetListData,\n ActionSheetListOption,\n ActionSheetListOptgroup,\n} from 'q2-tecton-common/lib/utility/action-sheet';\n\ninterface IActionSheetComponent {\n hoist: boolean;\n}\nexport const shouldShowActionSheet = (component: IActionSheetComponent, event?: KeyboardEvent | MouseEvent) => {\n const isDialogSupported = 'open' in document.createElement('dialog');\n if (!isDialogSupported) return false;\n\n const canShowActionSheet = !!window.TectonElements?.showActionSheet;\n if (!canShowActionSheet) return false;\n\n const keysThatTriggerOpen = ['ArrowDown', 'ArrowUp', 'PageDown', 'PageUp', 'Home', 'End'];\n if (event) {\n const eventIsKeyboardEvent = event instanceof KeyboardEvent;\n const eventIsMouseEvent = event instanceof MouseEvent;\n const keyboardEventShouldTriggerOpen = eventIsKeyboardEvent && keysThatTriggerOpen.includes(event.key);\n const mouseEventShouldTriggerOpen = eventIsMouseEvent && event.type === 'click';\n const eventShouldTriggerOpen = mouseEventShouldTriggerOpen || keyboardEventShouldTriggerOpen;\n if (!eventShouldTriggerOpen) return false;\n }\n\n if (component.hoist) return true;\n return false;\n};\n\nconst parseOptions = (options: (HTMLQ2OptgroupElement | HTMLQ2OptionElement)[]): any[] => {\n const defaultOption = {\n disabled: false,\n display: '',\n hidden: false,\n multiline: false,\n value: '',\n innerHTML: '',\n };\n const optionPropsToGet = Object.keys(defaultOption);\n const defaultOptgroup = {\n disabled: false,\n label: '',\n options: [],\n };\n const optgroupPropsToGet = Object.keys(defaultOptgroup);\n return options.map(option => {\n if (option.tagName === 'Q2-OPTGROUP') {\n const optgroup = option as HTMLQ2OptgroupElement;\n return optgroupPropsToGet.reduce<ActionSheetListOptgroup>(\n (acc, prop) => {\n if (prop === 'options') {\n const options = Array.from(option.children).filter(\n child => child.tagName === 'Q2-OPTION' || child.tagName === 'Q2-OPTGROUP'\n ) as HTMLQ2OptgroupElement[];\n\n acc[prop] = parseOptions(options);\n } else {\n acc[prop] = optgroup[prop];\n }\n return acc;\n },\n { ...defaultOptgroup }\n );\n } else if (option.tagName === 'Q2-OPTION') {\n return optionPropsToGet.reduce<ActionSheetListOption>(\n (acc, prop) => {\n acc[prop] = option[prop];\n return acc;\n },\n { ...defaultOption }\n );\n }\n });\n};\n\nexport const buildListData = async (\n component: IActionSheetListComponent,\n event?: MouseEvent | KeyboardEvent\n): Promise<ActionSheetListData> => {\n return {\n appearance: 'list',\n title: component.label || '',\n description: '',\n event,\n listProps: {\n multiple: !!component.optionList.multiple,\n selectedOptions: (component.optionList.selectedOptions as ActionSheetSelectedOption[]) || [],\n noSelect: !!component.optionList.noSelect,\n },\n options: parseOptions(await component.optionList.getContents()),\n };\n};\n\ninterface IActionSheetListComponent {\n optionList: HTMLQ2OptionListElement;\n label: string;\n}\nexport const showActionSheetList = async (\n component: IActionSheetListComponent,\n event?: MouseEvent | KeyboardEvent\n): Promise<ActionSheetListCloseData> => {\n const listData = await buildListData(component, event);\n return window.TectonElements?.showActionSheet(listData);\n};\n"],"version":3}
|