q2-tecton-elements 1.38.2 → 1.39.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/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-09c712ea.js → index-9113a9da.js} +2 -2
- package/dist/cjs/{index-09c712ea.js.map → index-9113a9da.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-btn_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +11 -2
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +20 -23
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +30 -4
- package/dist/cjs/q2-carousel.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +14 -14
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- 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-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +43 -21
- 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-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 +6 -3
- 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 +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- 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-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- 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-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- 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-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +4 -4
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tab-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- 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-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js.map +1 -1
- package/dist/collection/components/click-elsewhere/index.js +1 -1
- package/dist/collection/components/click-elsewhere/index.js.map +1 -1
- package/dist/collection/components/q2-action-sheet/index.js +6 -3
- package/dist/collection/components/q2-action-sheet/index.js.map +1 -1
- package/dist/collection/components/q2-btn/styles.css +11 -11
- package/dist/collection/components/q2-calendar/index.js +23 -11
- package/dist/collection/components/q2-calendar/index.js.map +1 -1
- package/dist/collection/components/q2-card/index.js +21 -27
- package/dist/collection/components/q2-card/index.js.map +1 -1
- package/dist/collection/components/q2-card/styles.css +57 -0
- package/dist/collection/components/q2-carousel/index.js +33 -5
- package/dist/collection/components/q2-carousel/index.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/index.js +8 -4
- package/dist/collection/components/q2-carousel-pane/index.js.map +1 -1
- package/dist/collection/components/q2-chart-area/index.js +9 -4
- package/dist/collection/components/q2-chart-area/index.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/index.js +58 -22
- package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
- package/dist/collection/components/q2-checkbox/index.js +5 -2
- package/dist/collection/components/q2-checkbox/index.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/index.js +12 -5
- package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
- package/dist/collection/components/q2-data-table/index.js +73 -29
- package/dist/collection/components/q2-data-table/index.js.map +1 -1
- package/dist/collection/components/q2-editable-field/index.js +6 -6
- package/dist/collection/components/q2-editable-field/index.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.js +1 -1
- package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
- package/dist/collection/components/q2-input/index.js +23 -19
- package/dist/collection/components/q2-input/index.js.map +1 -1
- package/dist/collection/components/q2-input/types.js.map +1 -1
- package/dist/collection/components/q2-option/index.js +5 -2
- package/dist/collection/components/q2-option/index.js.map +1 -1
- package/dist/collection/components/q2-option-list/index.js +15 -9
- package/dist/collection/components/q2-option-list/index.js.map +1 -1
- package/dist/collection/components/q2-pagination/index.js +8 -5
- package/dist/collection/components/q2-pagination/index.js.map +1 -1
- package/dist/collection/components/q2-pill/index.js +5 -2
- package/dist/collection/components/q2-pill/index.js.map +1 -1
- package/dist/collection/components/q2-popover/index.js +1 -1
- package/dist/collection/components/q2-popover/index.js.map +1 -1
- package/dist/collection/components/q2-radio/index.js +3 -3
- package/dist/collection/components/q2-radio/index.js.map +1 -1
- package/dist/collection/components/q2-radio-group/index.js +7 -4
- package/dist/collection/components/q2-radio-group/index.js.map +1 -1
- package/dist/collection/components/q2-section/index.js +7 -4
- package/dist/collection/components/q2-section/index.js.map +1 -1
- package/dist/collection/components/q2-section/styles.css +8 -6
- package/dist/collection/components/q2-select/index.js +8 -5
- package/dist/collection/components/q2-select/index.js.map +1 -1
- package/dist/collection/components/q2-stepper/index.js +5 -2
- package/dist/collection/components/q2-stepper/index.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/index.js +11 -8
- package/dist/collection/components/q2-stepper-pane/index.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/index.js +13 -6
- package/dist/collection/components/q2-stepper-vertical/index.js.map +1 -1
- package/dist/collection/components/q2-tab-container/index.js +14 -8
- package/dist/collection/components/q2-tab-container/index.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/index.js +5 -2
- package/dist/collection/components/q2-tab-pane/index.js.map +1 -1
- 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-textarea/index.js +14 -8
- package/dist/collection/components/q2-textarea/index.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/index.js +5 -2
- package/dist/collection/components/tecton-tab-pane/index.js.map +1 -1
- package/dist/collection/utils/index.js +1 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index13.js.map +1 -1
- package/dist/components/index14.js.map +1 -1
- package/dist/components/index15.js.map +1 -1
- package/dist/components/index16.js +1 -1
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index5.js +1 -1
- package/dist/components/index5.js.map +1 -1
- package/dist/components/index6.js.map +1 -1
- package/dist/components/index9.js +5 -2
- package/dist/components/index9.js.map +1 -1
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-calendar.js +10 -1
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card.js +19 -22
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js.map +1 -1
- package/dist/components/q2-carousel.js +32 -4
- package/dist/components/q2-carousel.js.map +1 -1
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-donut.js +16 -15
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-data-table.js +43 -21
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-editable-field.js.map +1 -1
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js.map +1 -1
- package/dist/components/q2-section.js +1 -1
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select.js.map +1 -1
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +3 -3
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js.map +1 -1
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/tecton-tab-pane.js.map +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +1 -1
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-84f1034e.js → index-fbe28822.js} +2 -2
- package/dist/esm/{index-84f1034e.js.map → index-fbe28822.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-btn_2.entry.js +2 -2
- package/dist/esm/q2-btn_2.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +11 -2
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +20 -23
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js.map +1 -1
- package/dist/esm/q2-carousel.entry.js +30 -4
- package/dist/esm/q2-carousel.entry.js.map +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +14 -14
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +43 -21
- 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-editable-field.entry.js.map +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +6 -3
- 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 +1 -1
- package/dist/esm/q2-optgroup_2.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-option-list.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js.map +1 -1
- package/dist/esm/q2-section.entry.js +2 -2
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +1 -1
- 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-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +4 -4
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tab-container.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js.map +1 -1
- package/dist/esm/q2-tab-pane.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- 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-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js.map +1 -1
- package/dist/q2-tecton-elements/p-0253a00b.entry.js +2 -0
- package/dist/q2-tecton-elements/p-0253a00b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-72b4ecc6.entry.js → p-07229496.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-07229496.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a6b03db1.entry.js → p-0ecff52c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a6b03db1.entry.js.map → p-0ecff52c.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-f198f77b.entry.js → p-1179b32c.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-1179b32c.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-311f37e2.entry.js → p-15c69543.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9220365b.entry.js → p-212c6301.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-212c6301.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-3090b655.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3090b655.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-8f8d5362.entry.js → p-3569e648.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3569e648.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-0cade28b.entry.js → p-36bff57a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-57e81863.entry.js → p-39e94e12.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-57e81863.entry.js.map → p-39e94e12.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-3f20d610.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3f20d610.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-29a7ca63.entry.js → p-44c2d7a2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-29a7ca63.entry.js.map → p-44c2d7a2.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-deb773a5.entry.js → p-461dca3d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-deb773a5.entry.js.map → p-461dca3d.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-3d82d94f.entry.js → p-5964fd50.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-3d82d94f.entry.js.map → p-5964fd50.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-e98d9cf2.entry.js → p-5b4c30b8.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-5b4c30b8.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-69dcf12e.entry.js → p-5d6c2534.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-5d6c2534.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-a09c90c1.entry.js → p-66bc9475.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a09c90c1.entry.js.map → p-66bc9475.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-e4dadcd7.entry.js → p-6ba6d83e.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-6ba6d83e.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-5843f6c8.entry.js → p-78d5707b.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-78d5707b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-85dc889e.entry.js → p-7e276297.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-7e276297.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-059ea7c9.entry.js → p-81e36fcd.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8f273db2.entry.js → p-88b303a7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-8f273db2.entry.js.map → p-88b303a7.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-9889692d.entry.js +2 -0
- package/dist/q2-tecton-elements/p-9889692d.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-9da0db14.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{p-c057134f.entry.js → p-9dff6592.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-9dff6592.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-145849d0.entry.js → p-a5a23edc.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a5a23edc.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-db3bbfb8.entry.js → p-a9c40d3b.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-a9c40d3b.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-15179d55.entry.js → p-aa96f160.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5c033ed9.entry.js → p-b3a32a46.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5c033ed9.entry.js.map → p-b3a32a46.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-f3868a77.entry.js → p-b6ed1342.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f3868a77.entry.js.map → p-b6ed1342.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-52132d80.entry.js → p-ba19d09f.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-ba19d09f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-81b917a5.entry.js → p-cc7ba0cb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-107f07f2.entry.js → p-ce009987.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-d7fb3534.entry.js.map +1 -1
- package/dist/q2-tecton-elements/{p-959f47ef.entry.js → p-de7352f5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-6ae87415.entry.js → p-ef2e2991.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b83568e7.entry.js → p-f1479052.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-f1479052.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-f34521a4.js → p-fb903495.js} +2 -2
- package/dist/q2-tecton-elements/{p-f34521a4.js.map → p-fb903495.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-2812f9d2.entry.js → p-ff137358.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-ff137358.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-btn-test.e2e.js +31 -0
- package/dist/test/elements/q2-btn-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-card-test.e2e.js +69 -11
- package/dist/test/elements/q2-card-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-carousel-test.e2e.js +41 -3
- package/dist/test/elements/q2-carousel-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-chart-donut-test.e2e.js +64 -9
- package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-data-table-test.e2e.js +91 -2
- package/dist/test/elements/q2-data-table-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +151 -67
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/test/helpers.js +48 -0
- package/dist/test/helpers.js.map +1 -1
- package/dist/types/components/click-elsewhere/index.d.ts +3 -0
- package/dist/types/components/q2-action-sheet/index.d.ts +7 -0
- package/dist/types/components/q2-calendar/index.d.ts +23 -3
- package/dist/types/components/q2-card/index.d.ts +14 -4
- package/dist/types/components/q2-carousel/index.d.ts +8 -0
- package/dist/types/components/q2-carousel-pane/index.d.ts +7 -1
- package/dist/types/components/q2-chart-area/index.d.ts +7 -1
- package/dist/types/components/q2-chart-donut/index.d.ts +18 -3
- package/dist/types/components/q2-checkbox/index.d.ts +4 -0
- package/dist/types/components/q2-checkbox-group/index.d.ts +8 -1
- package/dist/types/components/q2-data-table/index.d.ts +43 -3
- package/dist/types/components/q2-editable-field/index.d.ts +18 -2
- package/dist/types/components/q2-input/index.d.ts +19 -2
- package/dist/types/components/q2-input/types.d.ts +1 -0
- package/dist/types/components/q2-option/index.d.ts +4 -0
- package/dist/types/components/q2-option-list/index.d.ts +15 -1
- package/dist/types/components/q2-pagination/index.d.ts +8 -2
- package/dist/types/components/q2-pill/index.d.ts +4 -0
- package/dist/types/components/q2-popover/index.d.ts +3 -0
- package/dist/types/components/q2-radio/index.d.ts +6 -1
- package/dist/types/components/q2-radio-group/index.d.ts +7 -1
- package/dist/types/components/q2-section/index.d.ts +7 -1
- package/dist/types/components/q2-select/index.d.ts +16 -1
- package/dist/types/components/q2-stepper/index.d.ts +4 -0
- package/dist/types/components/q2-stepper-pane/index.d.ts +11 -1
- package/dist/types/components/q2-stepper-vertical/index.d.ts +10 -2
- package/dist/types/components/q2-tab-container/index.d.ts +12 -2
- package/dist/types/components/q2-tab-pane/index.d.ts +4 -0
- package/dist/types/components/q2-tag/index.d.ts +5 -0
- package/dist/types/components/q2-textarea/index.d.ts +14 -2
- package/dist/types/components/tecton-tab-pane/index.d.ts +4 -0
- package/dist/types/components.d.ts +223 -27
- package/dist/types/workspace/workspace/{tecton-production_release_1.38.x → _Gitlab_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -0
- package/package.json +4 -3
- package/dist/q2-tecton-elements/p-072bda73.entry.js +0 -2
- package/dist/q2-tecton-elements/p-072bda73.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-145849d0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2812f9d2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-52132d80.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5843f6c8.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-69dcf12e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-72b4ecc6.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-85dc889e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-8f8d5362.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-9220365b.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a4017e55.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a4017e55.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-af98db79.entry.js +0 -2
- package/dist/q2-tecton-elements/p-af98db79.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b83568e7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c0334e63.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c0334e63.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-c057134f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-db3bbfb8.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e4dadcd7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-e98d9cf2.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-f198f77b.entry.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-311f37e2.entry.js.map → p-15c69543.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0cade28b.entry.js.map → p-36bff57a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-059ea7c9.entry.js.map → p-81e36fcd.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-15179d55.entry.js.map → p-aa96f160.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-81b917a5.entry.js.map → p-cc7ba0cb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-107f07f2.entry.js.map → p-ce009987.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-959f47ef.entry.js.map → p-de7352f5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6ae87415.entry.js.map → p-ef2e2991.entry.js.map} +0 -0
|
@@ -177,6 +177,63 @@ p {
|
|
|
177
177
|
background: var(--comp-bar-color);
|
|
178
178
|
height: 100%;
|
|
179
179
|
}
|
|
180
|
+
.bar.color-primary {
|
|
181
|
+
--comp-bar-color: var(--tct-card-bar-color-primary, var(--t-primary, #5446a4));
|
|
182
|
+
}
|
|
183
|
+
.bar.color-secondary {
|
|
184
|
+
--comp-bar-color: var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc));
|
|
185
|
+
}
|
|
186
|
+
.bar.color-tertiary {
|
|
187
|
+
--comp-bar-color: var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc));
|
|
188
|
+
}
|
|
189
|
+
.bar.color-info {
|
|
190
|
+
--comp-bar-color: var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1));
|
|
191
|
+
}
|
|
192
|
+
.bar.color-success {
|
|
193
|
+
--comp-bar-color: var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00));
|
|
194
|
+
}
|
|
195
|
+
.bar.color-warning {
|
|
196
|
+
--comp-bar-color: var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500));
|
|
197
|
+
}
|
|
198
|
+
.bar.color-alert {
|
|
199
|
+
--comp-bar-color: var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500));
|
|
200
|
+
}
|
|
201
|
+
.bar.color-accent-1 {
|
|
202
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252));
|
|
203
|
+
}
|
|
204
|
+
.bar.color-accent-2 {
|
|
205
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952));
|
|
206
|
+
}
|
|
207
|
+
.bar.color-accent-3 {
|
|
208
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052));
|
|
209
|
+
}
|
|
210
|
+
.bar.color-accent-4 {
|
|
211
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052));
|
|
212
|
+
}
|
|
213
|
+
.bar.color-accent-5 {
|
|
214
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052));
|
|
215
|
+
}
|
|
216
|
+
.bar.color-accent-6 {
|
|
217
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099));
|
|
218
|
+
}
|
|
219
|
+
.bar.color-accent-7 {
|
|
220
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0));
|
|
221
|
+
}
|
|
222
|
+
.bar.color-accent-8 {
|
|
223
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0));
|
|
224
|
+
}
|
|
225
|
+
.bar.color-accent-9 {
|
|
226
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0));
|
|
227
|
+
}
|
|
228
|
+
.bar.color-accent-10 {
|
|
229
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0));
|
|
230
|
+
}
|
|
231
|
+
.bar.color-accent-11 {
|
|
232
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0));
|
|
233
|
+
}
|
|
234
|
+
.bar.color-accent-12 {
|
|
235
|
+
--comp-bar-color: var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299));
|
|
236
|
+
}
|
|
180
237
|
|
|
181
238
|
.touch-indicator {
|
|
182
239
|
align-self: center;
|
|
@@ -8,6 +8,9 @@ export class Q2Carousel {
|
|
|
8
8
|
// COMPUTED //
|
|
9
9
|
this.guid = createGuid();
|
|
10
10
|
// METHODS //
|
|
11
|
+
this.onMutationObserved = () => {
|
|
12
|
+
this.organizePanes();
|
|
13
|
+
};
|
|
11
14
|
this.setCarouselWrapperWidth = () => {
|
|
12
15
|
if (this.insufficientPanes)
|
|
13
16
|
return;
|
|
@@ -24,6 +27,8 @@ export class Q2Carousel {
|
|
|
24
27
|
this.autoPlayInProgress = this.autoPlay;
|
|
25
28
|
this.swiper = new Swiper(carouselWrapper, carouselOptions);
|
|
26
29
|
(_a = this.swiper) === null || _a === void 0 ? void 0 : _a.slideTo(this.realIndex);
|
|
30
|
+
if (this.autoPlayInProgress)
|
|
31
|
+
this.swiper.autoplay.start();
|
|
27
32
|
};
|
|
28
33
|
this.tearDownCarousel = () => {
|
|
29
34
|
this.swiper.destroy();
|
|
@@ -35,6 +40,7 @@ export class Q2Carousel {
|
|
|
35
40
|
pane.siblingCount = this.paneCollection.length;
|
|
36
41
|
pane.isActivePane = index === this.activePaneIndex;
|
|
37
42
|
});
|
|
43
|
+
this.currentPaneCount = this.paneCollection.length;
|
|
38
44
|
};
|
|
39
45
|
this.handleAutoPlayPause = () => {
|
|
40
46
|
const { swiper: { autoplay }, } = this;
|
|
@@ -170,8 +176,10 @@ export class Q2Carousel {
|
|
|
170
176
|
activeIndexChange: swiper => {
|
|
171
177
|
this.activePaneIndex = swiper.activeIndex;
|
|
172
178
|
this.organizePanes();
|
|
173
|
-
const isPaginationFocused = document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
|
|
174
|
-
const isCarouselFocused = document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
|
|
179
|
+
const isPaginationFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} .q2-carousel-page-indicator`);
|
|
180
|
+
const isCarouselFocused = !!document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);
|
|
181
|
+
const isFocused = isPaginationFocused || isCarouselFocused;
|
|
182
|
+
this.handleAriaLive(isFocused);
|
|
175
183
|
if (isPaginationFocused) {
|
|
176
184
|
this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });
|
|
177
185
|
}
|
|
@@ -189,6 +197,8 @@ export class Q2Carousel {
|
|
|
189
197
|
this.autoPlayInProgress = false;
|
|
190
198
|
this.compactMode = false;
|
|
191
199
|
this.carouselWrapperWidth = 0;
|
|
200
|
+
this.ariaLiveValue = 'polite';
|
|
201
|
+
this.currentPaneCount = this.paneCount;
|
|
192
202
|
}
|
|
193
203
|
ariaLabelObserver() {
|
|
194
204
|
handleAriaLabel(this);
|
|
@@ -248,6 +258,14 @@ export class Q2Carousel {
|
|
|
248
258
|
return;
|
|
249
259
|
activePane.focus({ preventScroll: true });
|
|
250
260
|
}
|
|
261
|
+
handleAriaLive(activeAndFocused) {
|
|
262
|
+
if (this.autoPlayInProgress && !activeAndFocused) {
|
|
263
|
+
this.ariaLiveValue = 'off';
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
this.ariaLiveValue = 'polite';
|
|
267
|
+
}
|
|
268
|
+
}
|
|
251
269
|
// LIFECYCLES //
|
|
252
270
|
componentWillLoad() {
|
|
253
271
|
handleAriaLabel(this);
|
|
@@ -259,9 +277,17 @@ export class Q2Carousel {
|
|
|
259
277
|
if (this.carouselWrapper && !!this.paneArray.length) {
|
|
260
278
|
this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);
|
|
261
279
|
}
|
|
280
|
+
const observer = new MutationObserver(this.onMutationObserved);
|
|
281
|
+
observer.observe(this.hostElement, { childList: true });
|
|
282
|
+
this.mutationObserver = observer;
|
|
283
|
+
this.onMutationObserved();
|
|
262
284
|
overrideFocus(this.hostElement);
|
|
263
285
|
}
|
|
264
286
|
disconnectedCallback() {
|
|
287
|
+
if (this.mutationObserver) {
|
|
288
|
+
this.mutationObserver.disconnect();
|
|
289
|
+
this.mutationObserver = null;
|
|
290
|
+
}
|
|
265
291
|
if (!!this.swiper) {
|
|
266
292
|
this.tearDownCarousel();
|
|
267
293
|
}
|
|
@@ -278,7 +304,7 @@ export class Q2Carousel {
|
|
|
278
304
|
let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];
|
|
279
305
|
if (this.showNavigationArrows)
|
|
280
306
|
paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];
|
|
281
|
-
return (h(Host, { id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, this.insufficientPanes ? (this.insufficientPanesDisplay()) : (h(Fragment, null, this.paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, this.showNavigationArrows && this.prevNavBtn(), h("div", { class: "q2-carousel-control-center-tray" }, !this.hidePagination && this.paginationArea(), this.autoPlay && this.autoPlayBtn()), this.showNavigationArrows && this.nextNavBtn())), h("section", { class: carouselContainerClasses.join(' '), ref: el => (this.carouselWrapper = el), "aria-roledescription": "carousel", "aria-label": loc(this.label) }, h("div", { class: "q2-carousel-swiper-wrapper swiper-wrapper", ref: el => (this.carouselPaneWrapperElement = el), "aria-live": this.
|
|
307
|
+
return (h(Host, { id: `q2-carousel-${this.guid}`, class: "q2-carousel-instance" }, this.insufficientPanes ? (this.insufficientPanesDisplay()) : (h(Fragment, null, this.paneCount > 1 && (h("div", { class: paginationWrapperClasses.join(' ') }, this.showNavigationArrows && this.prevNavBtn(), h("div", { class: "q2-carousel-control-center-tray" }, !this.hidePagination && this.paginationArea(), this.autoPlay && this.autoPlayBtn()), this.showNavigationArrows && this.nextNavBtn())), h("section", { class: carouselContainerClasses.join(' '), ref: el => (this.carouselWrapper = el), "aria-roledescription": "carousel", "aria-label": loc(this.label) }, h("div", { class: "q2-carousel-swiper-wrapper swiper-wrapper", ref: el => (this.carouselPaneWrapperElement = el), "aria-live": this.ariaLiveValue, onKeyDown: this.onWrapperKeyDown }, h("slot", null)))))));
|
|
282
308
|
}
|
|
283
309
|
static get is() { return "q2-carousel"; }
|
|
284
310
|
static get originalStyleUrls() {
|
|
@@ -432,7 +458,9 @@ export class Q2Carousel {
|
|
|
432
458
|
"applyPaginationFocus": {},
|
|
433
459
|
"autoPlayInProgress": {},
|
|
434
460
|
"compactMode": {},
|
|
435
|
-
"carouselWrapperWidth": {}
|
|
461
|
+
"carouselWrapperWidth": {},
|
|
462
|
+
"ariaLiveValue": {},
|
|
463
|
+
"currentPaneCount": {}
|
|
436
464
|
};
|
|
437
465
|
}
|
|
438
466
|
static get events() {
|
|
@@ -444,7 +472,7 @@ export class Q2Carousel {
|
|
|
444
472
|
"composed": true,
|
|
445
473
|
"docs": {
|
|
446
474
|
"tags": [],
|
|
447
|
-
"text": ""
|
|
475
|
+
"text": "Emitted when the carousel pane changes."
|
|
448
476
|
},
|
|
449
477
|
"complexType": {
|
|
450
478
|
"original": "{ index: number }",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Watch,\n State,\n Fragment,\n Element,\n Host,\n h,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport Swiper, { SwiperOptions, Autoplay } from 'swiper';\nimport { createGuid, loc, handleAriaLabel, overrideFocus, isEventFromElement } from 'src/utils';\n\nconst carouselBreakpoint = 500; /* width in px of this host element where the layout starts to get unruly */\n\n@Component({\n tag: 'q2-carousel',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n private swiper?: Swiper = null;\n\n @Prop({ reflect: true }) autoPlay: boolean = false;\n @Prop({ reflect: true }) fullWidthPanes: boolean = false;\n @Prop({ reflect: true }) hidePagination: boolean = false;\n @Prop({ reflect: true }) showNavigationArrows: boolean = false;\n @Prop({ reflect: true }) label: string = 'tecton.element.carousel.ariaLabel';\n @Prop({ reflect: true, mutable: true }) index: number = 1;\n\n /** @deprecated */\n @Prop({ reflect: true }) ariaLabel: string;\n\n @State() universalCarouselOptions: SwiperOptions = {\n centeredSlides: true,\n focusableElements: 'q2-btn, a, input, select, textarea, button, video, label, option',\n autoplay: this.autoPlay,\n modules: [Autoplay],\n on: {\n slideChange: () => {\n this.handleSlideChange(this.swiper?.activeIndex ?? 0); // lazy-load causing this.swiper is null only on ios safari\n },\n activeIndexChange: swiper => {\n this.activePaneIndex = swiper.activeIndex;\n this.organizePanes();\n const isPaginationFocused = document.activeElement.closest(\n `#q2-carousel-${this.guid} .q2-carousel-page-indicator`\n );\n const isCarouselFocused = document.activeElement.closest(`#q2-carousel-${this.guid} q2-carousel-pane`);\n\n if (isPaginationFocused) {\n this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });\n } else if (isCarouselFocused)\n (swiper.slides[swiper.activeIndex] as HTMLElement).focus({\n preventScroll: true,\n });\n },\n },\n };\n\n @State() fullWidthDisplayOptions: SwiperOptions = {\n slidesPerView: 1,\n spaceBetween: 100,\n ...this.universalCarouselOptions,\n };\n @State() activePaneIndex: number = this.realIndex;\n @State() applyFocus: boolean = false;\n @State() applyPaginationFocus: boolean = false;\n @State() autoPlayInProgress: boolean = false;\n @State() compactMode: boolean = false;\n @State() carouselWrapperWidth: number = 0;\n @Element() hostElement: HTMLElement;\n\n carouselWrapper: HTMLElement;\n carouselPaneWrapperElement: HTMLElement;\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('carouselWrapperWidth')\n carouselWrapperWidthChanged() {\n this.compactMode = this.carouselWrapperWidth < carouselBreakpoint;\n }\n\n @Watch('index')\n indexChanged() {\n this.swiper?.slideTo(this.realIndex);\n }\n\n @Watch('fullWidthPanes')\n @Watch('compactMode')\n @Watch('autoPlay')\n revampCarousel() {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n\n // COMPUTED //\n guid = createGuid();\n\n get peekContentDisplayOptions(): SwiperOptions {\n return {\n slidesPerView: 2,\n spaceBetween: this.compactMode ? 0 : -10,\n centerInsufficientSlides: false,\n ...this.universalCarouselOptions,\n };\n }\n\n get realIndex(): number {\n const indexNum = Number(this.index);\n return indexNum > 0 ? indexNum - 1 : 0;\n }\n\n get paginationBtns(): NodeListOf<HTMLButtonElement> {\n return this.hostElement.querySelectorAll('.q2-carousel-page-indicator');\n }\n\n get activeCarouselOptions() {\n return this.fullWidthPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;\n }\n\n get dynamicPaginationDots() {\n return this.paneCount && this.paneCount > 5;\n }\n\n get paneCollection() {\n return this.hostElement.querySelectorAll('q2-carousel-pane');\n }\n\n get paneArray() {\n return Array.from(this.paneCollection);\n }\n\n get paneCount() {\n return this.paneArray && this.paneArray.length > 0 ? this.paneArray.length : 0;\n }\n\n get insufficientPanes() {\n return this.paneCount < 1;\n }\n\n // HOST ELEMENT EVENTS //\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.index = event.detail.index;\n }\n }\n\n @Listen('clickCarouselPane')\n carouselPaneClicked(event) {\n this.swiper?.slideTo(event.detail.paneIndex);\n (this.swiper?.slides[event.detail.paneIndex] as HTMLElement).focus({ preventScroll: true });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n const activePane = this.swiper.slides[this.swiper.activeIndex];\n if (!isEventFromElement(event, this.hostElement) || !activePane) return;\n (activePane as HTMLElement).focus({ preventScroll: true });\n }\n\n // EVENTS //\n\n @Event() change: EventEmitter<{ index: number }>;\n\n // METHODS //\n setCarouselWrapperWidth = () => {\n if (this.insufficientPanes) return;\n this.carouselWrapperWidth = this.carouselWrapper.clientWidth;\n };\n\n handleSlideChange = (newIndex: number) => {\n this.change.emit({ index: newIndex + 1 });\n };\n\n configureCarousel = (carouselWrapper, carouselOptions) => {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n this.autoPlayInProgress = this.autoPlay;\n\n this.swiper = new Swiper(carouselWrapper, carouselOptions);\n this.swiper?.slideTo(this.realIndex);\n };\n\n tearDownCarousel = () => {\n this.swiper.destroy();\n this.swiper = null;\n };\n\n organizePanes = () => {\n this.paneCollection.forEach((pane, index) => {\n pane.index = index;\n pane.siblingCount = this.paneCollection.length;\n pane.isActivePane = index === this.activePaneIndex;\n });\n };\n\n handleAutoPlayPause = () => {\n const {\n swiper: { autoplay },\n } = this;\n if (!autoplay) return;\n\n if (autoplay?.running) autoplay.stop();\n else autoplay.start();\n this.autoPlayInProgress = autoplay.running;\n };\n\n handleCarouselNavigationSelection = (newIndex: number, applyFocus: boolean) => {\n if (applyFocus) {\n this.applyFocus = true;\n }\n\n this.handleSlideChange(newIndex);\n };\n\n onPaginationKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n onWrapperKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n // LIFECYCLES //\n\n componentWillLoad() {\n handleAriaLabel(this);\n this.organizePanes();\n window.addEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n componentDidLoad() {\n this.setCarouselWrapperWidth();\n if (this.carouselWrapper && !!this.paneArray.length) {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n\n window.removeEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n render() {\n let carouselContainerClasses = [\n 'q2-carousel-swiper-container',\n 'swiper-container',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) carouselContainerClasses = [...carouselContainerClasses, 'compact'];\n\n let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];\n if (this.showNavigationArrows) paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];\n\n return (\n <Host\n id={`q2-carousel-${this.guid}`}\n class=\"q2-carousel-instance\"\n >\n {this.insufficientPanes ? (\n this.insufficientPanesDisplay()\n ) : (\n <Fragment>\n {this.paneCount > 1 && (\n <div class={paginationWrapperClasses.join(' ')}>\n {this.showNavigationArrows && this.prevNavBtn()}\n\n <div class=\"q2-carousel-control-center-tray\">\n {!this.hidePagination && this.paginationArea()}\n\n {this.autoPlay && this.autoPlayBtn()}\n </div>\n\n {this.showNavigationArrows && this.nextNavBtn()}\n </div>\n )}\n\n <section\n class={carouselContainerClasses.join(' ')}\n ref={el => (this.carouselWrapper = el)}\n aria-roledescription=\"carousel\"\n aria-label={loc(this.label)}\n >\n <div\n class=\"q2-carousel-swiper-wrapper swiper-wrapper\"\n ref={el => (this.carouselPaneWrapperElement = el)}\n aria-live={this.autoPlayInProgress ? 'off' : 'polite'}\n onKeyDown={this.onWrapperKeyDown}\n >\n <slot></slot>\n </div>\n </section>\n </Fragment>\n )}\n </Host>\n );\n }\n\n paginationArea = () => {\n let paginationContainerClasses = ['q2-carousel-pagination'];\n if (this.dynamicPaginationDots) paginationContainerClasses = [...paginationContainerClasses, 'dynamic'];\n\n return (\n <div\n class={paginationContainerClasses.join(' ')}\n role=\"tablist\"\n aria-label={loc('tecton.element.carousel.tabWrapperLabel')}\n >\n {this.paneArray.map(pane => {\n let btnClasses = ['q2-carousel-page-indicator', `q2-carousel-page-indicator-${pane.index}`];\n if (pane.isActivePane) btnClasses = [...btnClasses, 'active-page'];\n if (this.dynamicPaginationDots) btnClasses = [...btnClasses, 'dynamic'];\n\n const withinOneOfActive =\n pane.index === this.activePaneIndex + 1 || pane.index === this.activePaneIndex - 1;\n if (withinOneOfActive) btnClasses = [...btnClasses, 'active-adjacent'];\n\n const withinTwoOfActive =\n pane.index === this.activePaneIndex + 2 || pane.index === this.activePaneIndex - 2;\n if (withinTwoOfActive) btnClasses = [...btnClasses, 'active-adjacent-adjacent'];\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n tabIndex={pane.isActivePane ? undefined : -1}\n aria-selected={pane.isActivePane ? 'true' : 'false'}\n class={btnClasses.join(' ')}\n onClick={() => this.handleCarouselNavigationSelection(pane.index, true)}\n onKeyDown={event => this.onPaginationKeyDown(event)}\n aria-label={loc('tecton.element.carousel.itemDescription', [\n (pane.index + 1).toString(),\n this.paneCount.toString(),\n ])}\n ></button>\n );\n })}\n </div>\n );\n };\n\n autoPlayBtn = () => {\n return (\n <q2-btn\n type=\"button\"\n hide-label\n label={loc(\n this.autoPlayInProgress\n ? 'tecton.element.carousel.pausePlayLabel'\n : 'tecton.element.carousel.resumePlayLabel'\n )}\n class=\"q2-carousel-autoplay-control\"\n onClick={this.handleAutoPlayPause}\n >\n <q2-icon type={this.autoPlayInProgress ? 'pause' : 'play'} />\n </q2-btn>\n );\n };\n\n prevNavBtn = () => {\n const prevPaneAvailable = this.activePaneIndex > 0;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={prevPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-prev\"\n hide-label\n label={loc('tecton.element.carousel.previousItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex - 1, true)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n );\n };\n\n nextNavBtn = () => {\n const nextPaneAvailable = this.activePaneIndex < this.paneCount - 1;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={nextPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-next\"\n hide-label\n label={loc('tecton.element.carousel.nextItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex + 1, true)}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n </div>\n );\n };\n\n insufficientPanesDisplay = () => {\n let insufficientPanesContainerClasses = [\n 'insufficient-pane-feedback',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) insufficientPanesContainerClasses = [...insufficientPanesContainerClasses, 'compact'];\n\n return (\n <div class={insufficientPanesContainerClasses.join(' ')}>\n <div class=\"insufficient-panes-icon-wrapper\">\n <q2-icon type=\"warning\" />\n </div>\n <p class=\"insufficient-panes-header\">\n <strong>{loc('tecton.element.carousel.insufficientPanesMessageHeader')}</strong>\n </p>\n <p class=\"insufficient-panes-body\">{loc('tecton.element.carousel.insufficientPanesMessageBody')}</p>\n </div>\n );\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Watch,\n State,\n Fragment,\n Element,\n Host,\n h,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport Swiper, { SwiperOptions, Autoplay } from 'swiper';\nimport { createGuid, loc, handleAriaLabel, overrideFocus, isEventFromElement } from 'src/utils';\n\nconst carouselBreakpoint = 500; /* width in px of this host element where the layout starts to get unruly */\n\n@Component({\n tag: 'q2-carousel',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n private swiper?: Swiper = null;\n\n @Prop({ reflect: true }) autoPlay: boolean = false;\n @Prop({ reflect: true }) fullWidthPanes: boolean = false;\n @Prop({ reflect: true }) hidePagination: boolean = false;\n @Prop({ reflect: true }) showNavigationArrows: boolean = false;\n @Prop({ reflect: true }) label: string = 'tecton.element.carousel.ariaLabel';\n @Prop({ reflect: true, mutable: true }) index: number = 1;\n\n /** @deprecated */\n @Prop({ reflect: true }) ariaLabel: string;\n\n @State() universalCarouselOptions: SwiperOptions = {\n centeredSlides: true,\n focusableElements: 'q2-btn, a, input, select, textarea, button, video, label, option',\n autoplay: this.autoPlay,\n modules: [Autoplay],\n on: {\n slideChange: () => {\n this.handleSlideChange(this.swiper?.activeIndex ?? 0); // lazy-load causing this.swiper is null only on ios safari\n },\n activeIndexChange: swiper => {\n this.activePaneIndex = swiper.activeIndex;\n this.organizePanes();\n const isPaginationFocused = !!document.activeElement.closest(\n `#q2-carousel-${this.guid} .q2-carousel-page-indicator`\n );\n const isCarouselFocused = !!document.activeElement.closest(\n `#q2-carousel-${this.guid} q2-carousel-pane`\n );\n const isFocused = isPaginationFocused || isCarouselFocused;\n this.handleAriaLive(isFocused);\n\n if (isPaginationFocused) {\n this.paginationBtns[swiper.activeIndex].focus({ preventScroll: true });\n } else if (isCarouselFocused)\n (swiper.slides[swiper.activeIndex] as HTMLElement).focus({\n preventScroll: true,\n });\n },\n },\n };\n\n @State() fullWidthDisplayOptions: SwiperOptions = {\n slidesPerView: 1,\n spaceBetween: 100,\n ...this.universalCarouselOptions,\n };\n @State() activePaneIndex: number = this.realIndex;\n @State() applyFocus: boolean = false;\n @State() applyPaginationFocus: boolean = false;\n @State() autoPlayInProgress: boolean = false;\n @State() compactMode: boolean = false;\n @State() carouselWrapperWidth: number = 0;\n @State() ariaLiveValue: 'polite' | 'off' = 'polite';\n @State() currentPaneCount: number = this.paneCount;\n @Element() hostElement: HTMLElement;\n\n carouselWrapper: HTMLElement;\n carouselPaneWrapperElement: HTMLElement;\n mutationObserver: MutationObserver;\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('carouselWrapperWidth')\n carouselWrapperWidthChanged() {\n this.compactMode = this.carouselWrapperWidth < carouselBreakpoint;\n }\n\n @Watch('index')\n indexChanged() {\n this.swiper?.slideTo(this.realIndex);\n }\n\n @Watch('fullWidthPanes')\n @Watch('compactMode')\n @Watch('autoPlay')\n revampCarousel() {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n\n // COMPUTED //\n guid = createGuid();\n\n get peekContentDisplayOptions(): SwiperOptions {\n return {\n slidesPerView: 2,\n spaceBetween: this.compactMode ? 0 : -10,\n centerInsufficientSlides: false,\n ...this.universalCarouselOptions,\n };\n }\n\n get realIndex(): number {\n const indexNum = Number(this.index);\n return indexNum > 0 ? indexNum - 1 : 0;\n }\n\n get paginationBtns(): NodeListOf<HTMLButtonElement> {\n return this.hostElement.querySelectorAll('.q2-carousel-page-indicator');\n }\n\n get activeCarouselOptions() {\n return this.fullWidthPanes ? this.fullWidthDisplayOptions : this.peekContentDisplayOptions;\n }\n\n get dynamicPaginationDots() {\n return this.paneCount && this.paneCount > 5;\n }\n\n get paneCollection() {\n return this.hostElement.querySelectorAll('q2-carousel-pane');\n }\n\n get paneArray() {\n return Array.from(this.paneCollection);\n }\n\n get paneCount() {\n return this.paneArray && this.paneArray.length > 0 ? this.paneArray.length : 0;\n }\n\n get insufficientPanes() {\n return this.paneCount < 1;\n }\n\n // HOST ELEMENT EVENTS //\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.index = event.detail.index;\n }\n }\n\n @Listen('clickCarouselPane')\n carouselPaneClicked(event) {\n this.swiper?.slideTo(event.detail.paneIndex);\n (this.swiper?.slides[event.detail.paneIndex] as HTMLElement).focus({ preventScroll: true });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n const activePane = this.swiper.slides[this.swiper.activeIndex];\n if (!isEventFromElement(event, this.hostElement) || !activePane) return;\n (activePane as HTMLElement).focus({ preventScroll: true });\n }\n\n // EVENTS //\n\n /**\n * Emitted when the carousel pane changes.\n */\n @Event() change: EventEmitter<{ index: number }>;\n\n // METHODS //\n onMutationObserved = () => {\n this.organizePanes();\n };\n\n setCarouselWrapperWidth = () => {\n if (this.insufficientPanes) return;\n this.carouselWrapperWidth = this.carouselWrapper.clientWidth;\n };\n\n handleSlideChange = (newIndex: number) => {\n this.change.emit({ index: newIndex + 1 });\n };\n\n configureCarousel = (carouselWrapper, carouselOptions) => {\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n this.autoPlayInProgress = this.autoPlay;\n\n this.swiper = new Swiper(carouselWrapper, carouselOptions);\n this.swiper?.slideTo(this.realIndex);\n if (this.autoPlayInProgress) this.swiper.autoplay.start();\n };\n\n tearDownCarousel = () => {\n this.swiper.destroy();\n this.swiper = null;\n };\n\n organizePanes = () => {\n this.paneCollection.forEach((pane, index) => {\n pane.index = index;\n pane.siblingCount = this.paneCollection.length;\n pane.isActivePane = index === this.activePaneIndex;\n });\n this.currentPaneCount = this.paneCollection.length;\n };\n\n handleAutoPlayPause = () => {\n const {\n swiper: { autoplay },\n } = this;\n if (!autoplay) return;\n\n if (autoplay?.running) autoplay.stop();\n else autoplay.start();\n this.autoPlayInProgress = autoplay.running;\n };\n\n handleCarouselNavigationSelection = (newIndex: number, applyFocus: boolean) => {\n if (applyFocus) {\n this.applyFocus = true;\n }\n\n this.handleSlideChange(newIndex);\n };\n\n handleAriaLive(activeAndFocused: boolean) {\n if (this.autoPlayInProgress && !activeAndFocused) {\n this.ariaLiveValue = 'off';\n } else {\n this.ariaLiveValue = 'polite';\n }\n }\n\n onPaginationKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = false;\n this.applyPaginationFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n onWrapperKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slideNext();\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper.slidePrev();\n break;\n\n case 'Home':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.applyFocus = true;\n this.swiper?.slideTo(this.swiper.slides.length - 1);\n break;\n }\n };\n\n // LIFECYCLES //\n\n componentWillLoad() {\n handleAriaLabel(this);\n this.organizePanes();\n window.addEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n componentDidLoad() {\n this.setCarouselWrapperWidth();\n if (this.carouselWrapper && !!this.paneArray.length) {\n this.configureCarousel(this.carouselWrapper, this.activeCarouselOptions);\n }\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n this.onMutationObserved();\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n if (!!this.swiper) {\n this.tearDownCarousel();\n }\n\n window.removeEventListener('resize', this.setCarouselWrapperWidth);\n }\n\n render() {\n let carouselContainerClasses = [\n 'q2-carousel-swiper-container',\n 'swiper-container',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) carouselContainerClasses = [...carouselContainerClasses, 'compact'];\n\n let paginationWrapperClasses = ['q2-carousel-pagination-navigation-wrapper'];\n if (this.showNavigationArrows) paginationWrapperClasses = [...paginationWrapperClasses, 'evenly-space'];\n\n return (\n <Host\n id={`q2-carousel-${this.guid}`}\n class=\"q2-carousel-instance\"\n >\n {this.insufficientPanes ? (\n this.insufficientPanesDisplay()\n ) : (\n <Fragment>\n {this.paneCount > 1 && (\n <div class={paginationWrapperClasses.join(' ')}>\n {this.showNavigationArrows && this.prevNavBtn()}\n\n <div class=\"q2-carousel-control-center-tray\">\n {!this.hidePagination && this.paginationArea()}\n\n {this.autoPlay && this.autoPlayBtn()}\n </div>\n\n {this.showNavigationArrows && this.nextNavBtn()}\n </div>\n )}\n\n <section\n class={carouselContainerClasses.join(' ')}\n ref={el => (this.carouselWrapper = el)}\n aria-roledescription=\"carousel\"\n aria-label={loc(this.label)}\n >\n <div\n class=\"q2-carousel-swiper-wrapper swiper-wrapper\"\n ref={el => (this.carouselPaneWrapperElement = el)}\n aria-live={this.ariaLiveValue}\n onKeyDown={this.onWrapperKeyDown}\n >\n <slot></slot>\n </div>\n </section>\n </Fragment>\n )}\n </Host>\n );\n }\n\n paginationArea = () => {\n let paginationContainerClasses = ['q2-carousel-pagination'];\n if (this.dynamicPaginationDots) paginationContainerClasses = [...paginationContainerClasses, 'dynamic'];\n\n return (\n <div\n class={paginationContainerClasses.join(' ')}\n role=\"tablist\"\n aria-label={loc('tecton.element.carousel.tabWrapperLabel')}\n >\n {this.paneArray.map(pane => {\n let btnClasses = ['q2-carousel-page-indicator', `q2-carousel-page-indicator-${pane.index}`];\n if (pane.isActivePane) btnClasses = [...btnClasses, 'active-page'];\n if (this.dynamicPaginationDots) btnClasses = [...btnClasses, 'dynamic'];\n\n const withinOneOfActive =\n pane.index === this.activePaneIndex + 1 || pane.index === this.activePaneIndex - 1;\n if (withinOneOfActive) btnClasses = [...btnClasses, 'active-adjacent'];\n\n const withinTwoOfActive =\n pane.index === this.activePaneIndex + 2 || pane.index === this.activePaneIndex - 2;\n if (withinTwoOfActive) btnClasses = [...btnClasses, 'active-adjacent-adjacent'];\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n tabIndex={pane.isActivePane ? undefined : -1}\n aria-selected={pane.isActivePane ? 'true' : 'false'}\n class={btnClasses.join(' ')}\n onClick={() => this.handleCarouselNavigationSelection(pane.index, true)}\n onKeyDown={event => this.onPaginationKeyDown(event)}\n aria-label={loc('tecton.element.carousel.itemDescription', [\n (pane.index + 1).toString(),\n this.paneCount.toString(),\n ])}\n ></button>\n );\n })}\n </div>\n );\n };\n\n autoPlayBtn = () => {\n return (\n <q2-btn\n type=\"button\"\n hide-label\n label={loc(\n this.autoPlayInProgress\n ? 'tecton.element.carousel.pausePlayLabel'\n : 'tecton.element.carousel.resumePlayLabel'\n )}\n class=\"q2-carousel-autoplay-control\"\n onClick={this.handleAutoPlayPause}\n >\n <q2-icon type={this.autoPlayInProgress ? 'pause' : 'play'} />\n </q2-btn>\n );\n };\n\n prevNavBtn = () => {\n const prevPaneAvailable = this.activePaneIndex > 0;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={prevPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-prev\"\n hide-label\n label={loc('tecton.element.carousel.previousItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex - 1, true)}\n >\n <q2-icon type=\"chevron-left\" />\n </q2-btn>\n </div>\n );\n };\n\n nextNavBtn = () => {\n const nextPaneAvailable = this.activePaneIndex < this.paneCount - 1;\n\n return (\n <div>\n <q2-btn\n type=\"button\"\n disabled={nextPaneAvailable ? undefined : true}\n class=\"q2-carousel-navigation-button q2-carousel-navigation-button-next\"\n hide-label\n label={loc('tecton.element.carousel.nextItemLabel')}\n onClick={() => this.handleCarouselNavigationSelection(this.activePaneIndex + 1, true)}\n >\n <q2-icon type=\"chevron-right\" />\n </q2-btn>\n </div>\n );\n };\n\n insufficientPanesDisplay = () => {\n let insufficientPanesContainerClasses = [\n 'insufficient-pane-feedback',\n this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',\n ];\n if (this.compactMode) insufficientPanesContainerClasses = [...insufficientPanesContainerClasses, 'compact'];\n\n return (\n <div class={insufficientPanesContainerClasses.join(' ')}>\n <div class=\"insufficient-panes-icon-wrapper\">\n <q2-icon type=\"warning\" />\n </div>\n <p class=\"insufficient-panes-header\">\n <strong>{loc('tecton.element.carousel.insufficientPanesMessageHeader')}</strong>\n </p>\n <p class=\"insufficient-panes-body\">{loc('tecton.element.carousel.insufficientPanesMessageBody')}</p>\n </div>\n );\n };\n}\n"]}
|
|
@@ -160,12 +160,16 @@ export class Q2Carousel {
|
|
|
160
160
|
"composed": true,
|
|
161
161
|
"docs": {
|
|
162
162
|
"tags": [],
|
|
163
|
-
"text": ""
|
|
163
|
+
"text": "Emitted when the pane is clicked."
|
|
164
164
|
},
|
|
165
165
|
"complexType": {
|
|
166
|
-
"original": "
|
|
167
|
-
"resolved": "
|
|
168
|
-
"references": {
|
|
166
|
+
"original": "{ paneIndex: number; pane: HTMLElement }",
|
|
167
|
+
"resolved": "{ paneIndex: number; pane: HTMLElement; }",
|
|
168
|
+
"references": {
|
|
169
|
+
"HTMLElement": {
|
|
170
|
+
"location": "global"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
169
173
|
}
|
|
170
174
|
}];
|
|
171
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAgB,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAOhC,MAAM,OAAO,UAAU;;IA2BnB,sBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE;MACzC,OAAO,kDAAkD,YAAY,EAAE,CAAC;IAC5E,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-carousel-pane/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Event, Element, Host, Watch, Prop, h, EventEmitter } from '@stencil/core';\nimport { loc } from 'src/utils';\n\n@Component({\n tag: 'q2-carousel-pane',\n shadow: false,\n styleUrl: 'styles.scss',\n})\nexport class Q2Carousel implements ComponentInterface {\n /**\n * Used by q2-carousel to determine the pane's index\n * @private\n */\n @Prop({ reflect: false }) index: number;\n /**\n * Used by q2-carousel to indicate how many panes are in the carousel\n * @private\n */\n @Prop({ reflect: false }) siblingCount: number;\n /**\n * Used by q2-carousel to indicate which pane is currently active\n * @private\n */\n @Prop({ reflect: true }) isActivePane: boolean;\n @Prop({ reflect: true }) label: string;\n @Element() hostElement: HTMLElement;\n\n get currentPaneIndex() {\n return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);\n }\n\n componentDidLoad(): void {\n this.determineDisabledContent();\n }\n\n generatePaneClass = (currentIndex: number) => {\n return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;\n };\n\n /**\n * Emitted when the pane is clicked.\n */\n @Event() clickCarouselPane: EventEmitter<{ paneIndex: number; pane: HTMLElement }>;\n\n paneClicked = event => {\n if (this.isActivePane) return;\n event.preventDefault();\n this.clickCarouselPane.emit({\n paneIndex: this.index,\n pane: this.hostElement,\n });\n };\n\n @Watch('isActivePane')\n determineDisabledContent() {\n const { isActivePane } = this;\n const focusableElements = this.hostElement.querySelectorAll<HTMLElement>(\n 'q2-btn, a[href], button, [tabindex]:not([tabindex=\"-1\"])'\n );\n\n focusableElements.forEach(element => {\n const hasValidTabIndex =\n element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;\n\n if (hasValidTabIndex) {\n element.dataset.q2Tabindex = `${element.tabIndex}`;\n }\n\n if (isActivePane) {\n if (element.hasAttribute('data-q2-tabindex')) {\n element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));\n element.removeAttribute('data-q2-tabindex');\n } else if (element.tagName.startsWith('Q2-')) {\n element.tabIndex = undefined;\n } else {\n element.removeAttribute('tabindex');\n }\n } else {\n element.tabIndex = -1;\n }\n });\n }\n\n render() {\n const { label } = this;\n\n return (\n <Host\n class={this.generatePaneClass(this.currentPaneIndex)}\n tabIndex={this.isActivePane ? 0 : -1}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-hidden={this.isActivePane ? undefined : 'true'}\n aria-label={\n label\n ? loc(label)\n : loc('tecton.element.carousel.itemDescription', [\n (this.currentPaneIndex + 1).toString(),\n (this.siblingCount || 0).toString(),\n ])\n }\n onClick={this.paneClicked}\n >\n <article class=\"q2-carousel-pane-main-content\">\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -568,12 +568,17 @@ export class Q2ChartArea {
|
|
|
568
568
|
"composed": true,
|
|
569
569
|
"docs": {
|
|
570
570
|
"tags": [],
|
|
571
|
-
"text": ""
|
|
571
|
+
"text": "Emitted when a data point is clicked."
|
|
572
572
|
},
|
|
573
573
|
"complexType": {
|
|
574
|
-
"original": "
|
|
575
|
-
"resolved": "
|
|
576
|
-
"references": {
|
|
574
|
+
"original": "{\n index: number;\n data: IChartData;\n }",
|
|
575
|
+
"resolved": "{ index: number; data: IChartData; }",
|
|
576
|
+
"references": {
|
|
577
|
+
"IChartData": {
|
|
578
|
+
"location": "import",
|
|
579
|
+
"path": "q2-tecton-common/lib/types/element-types"
|
|
580
|
+
}
|
|
581
|
+
}
|
|
577
582
|
}
|
|
578
583
|
}];
|
|
579
584
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-area/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Watch, EventEmitter, Event } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { LineChart, LineSeriesOption } from 'echarts/charts';\nimport { UniversalTransition } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, LineChart, CanvasRenderer, UniversalTransition, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | LineSeriesOption | TitleComponentOption>;\n\n@Component({\n tag: 'q2-chart-area',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartArea implements ComponentInterface {\n @Prop() data: IChartData[] = [];\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) chartSubTitle: string;\n @Prop({ reflect: true }) lineColor: string;\n @Prop({ reflect: true }) pointerLineColor: string;\n @Prop({ reflect: true }) pointerLineStyle: 'solid' | 'dashed';\n @Prop({ reflect: true }) areaColor: string;\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n @Prop({ reflect: true }) dataNamesWidth: number;\n @Prop({ reflect: true }) format: 'currency' | 'default';\n @Prop({ reflect: true }) formatModifier: string;\n @Prop({ reflect: true }) hideNameAxisLabels: boolean = false;\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n @Prop({ reflect: true }) showChartName: boolean = false;\n @Prop({ reflect: true }) showDatapointLabels: boolean = false;\n @Prop({ reflect: true }) showGradient: boolean = false;\n @Prop({ reflect: true }) gridLines: 'horizontal' | 'vertical' | 'off';\n\n @Element() hostElement: HTMLElement;\n\n @Event() change: EventEmitter;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeEventListener);\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getAreaFill() {\n if (this.showGradient) {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: this.getColor(this.areaColor),\n },\n {\n offset: 1,\n color: 'white',\n },\n ],\n global: false,\n };\n }\n return this.getColor(this.areaColor);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n return primaryColor;\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n splitLine: {\n show: this.gridLines === 'horizontal' || !this.gridLines,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n boundaryGap: false,\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n show: !this.hideNameAxisLabels,\n },\n axisLine: {\n show: !this.hideNameAxisLabels,\n },\n axisTick: {\n show: !this.hideNameAxisLabels,\n },\n axisPointer: {\n show: true,\n type: 'line',\n label: {\n show: false,\n formatter: (params: any) => {\n const dataIndex = params.seriesData[0].dataIndex;\n this.change.emit({\n index: dataIndex,\n data: this.data[dataIndex],\n });\n },\n },\n lineStyle: {\n color: this.getColor(this.pointerLineColor || 'var(--t-gray-10)'),\n type: this.pointerLineStyle || 'solid',\n width: 1.5,\n },\n z: 1,\n },\n splitLine: {\n show: this.gridLines === 'vertical',\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: categoryAxis,\n yAxis: valueAxis,\n series: [\n {\n data: this.data.map(datum => datum.value || 0),\n id: 'area',\n type: 'line',\n lineStyle: {\n color: this.getColor(this.lineColor),\n },\n itemStyle: {\n color: this.getColor(this.lineColor),\n },\n areaStyle: {\n color: this.getAreaFill(),\n },\n symbolSize: 10,\n showSymbol: false,\n label: {\n show: this.showDatapointLabels,\n position: 'right',\n formatter: (params: any) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n @Watch('data')\n @Watch('alignChartName')\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('lineColor')\n @Watch('pointerLineColor')\n @Watch('pointerLineStyle')\n @Watch('areaColor')\n @Watch('dataNamesOverflow')\n @Watch('dataNamesWidth')\n @Watch('format')\n @Watch('formatModifier')\n @Watch('hideNameAxisLabels')\n @Watch('hideValueAxisLabels')\n @Watch('offsetDataNames')\n @Watch('offsetDataValues')\n @Watch('showChartName')\n @Watch('showDatapointLabels')\n @Watch('showGradient')\n @Watch('gridLines')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"areaChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-chart-area/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, ComponentInterface, Element, Watch, EventEmitter, Event } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { LineChart, LineSeriesOption } from 'echarts/charts';\nimport { UniversalTransition } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, LineChart, CanvasRenderer, UniversalTransition, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | LineSeriesOption | TitleComponentOption>;\n\n@Component({\n tag: 'q2-chart-area',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2ChartArea implements ComponentInterface {\n @Prop() data: IChartData[] = [];\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n @Prop({ reflect: true }) chartName: string;\n @Prop({ reflect: true }) chartSubTitle: string;\n @Prop({ reflect: true }) lineColor: string;\n @Prop({ reflect: true }) pointerLineColor: string;\n @Prop({ reflect: true }) pointerLineStyle: 'solid' | 'dashed';\n @Prop({ reflect: true }) areaColor: string;\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n @Prop({ reflect: true }) dataNamesWidth: number;\n @Prop({ reflect: true }) format: 'currency' | 'default';\n @Prop({ reflect: true }) formatModifier: string;\n @Prop({ reflect: true }) hideNameAxisLabels: boolean = false;\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n @Prop({ reflect: true }) showChartName: boolean = false;\n @Prop({ reflect: true }) showDatapointLabels: boolean = false;\n @Prop({ reflect: true }) showGradient: boolean = false;\n @Prop({ reflect: true }) gridLines: 'horizontal' | 'vertical' | 'off';\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when a data point is clicked.\n */\n @Event() change: EventEmitter<{\n index: number;\n data: IChartData;\n }>;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeEventListener);\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getAreaFill() {\n if (this.showGradient) {\n return {\n type: 'linear',\n x: 0,\n y: 0,\n x2: 0,\n y2: 1,\n colorStops: [\n {\n offset: 0,\n color: this.getColor(this.areaColor),\n },\n {\n offset: 1,\n color: 'white',\n },\n ],\n global: false,\n };\n }\n return this.getColor(this.areaColor);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n return primaryColor;\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n splitLine: {\n show: this.gridLines === 'horizontal' || !this.gridLines,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n boundaryGap: false,\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n show: !this.hideNameAxisLabels,\n },\n axisLine: {\n show: !this.hideNameAxisLabels,\n },\n axisTick: {\n show: !this.hideNameAxisLabels,\n },\n axisPointer: {\n show: true,\n type: 'line',\n label: {\n show: false,\n formatter: (params: any) => {\n const dataIndex = params.seriesData[0].dataIndex;\n this.change.emit({\n index: dataIndex,\n data: this.data[dataIndex],\n });\n },\n },\n lineStyle: {\n color: this.getColor(this.pointerLineColor || 'var(--t-gray-10)'),\n type: this.pointerLineStyle || 'solid',\n width: 1.5,\n },\n z: 1,\n },\n splitLine: {\n show: this.gridLines === 'vertical',\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: categoryAxis,\n yAxis: valueAxis,\n series: [\n {\n data: this.data.map(datum => datum.value || 0),\n id: 'area',\n type: 'line',\n lineStyle: {\n color: this.getColor(this.lineColor),\n },\n itemStyle: {\n color: this.getColor(this.lineColor),\n },\n areaStyle: {\n color: this.getAreaFill(),\n },\n symbolSize: 10,\n showSymbol: false,\n label: {\n show: this.showDatapointLabels,\n position: 'right',\n formatter: (params: any) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n @Watch('data')\n @Watch('alignChartName')\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('lineColor')\n @Watch('pointerLineColor')\n @Watch('pointerLineStyle')\n @Watch('areaColor')\n @Watch('dataNamesOverflow')\n @Watch('dataNamesWidth')\n @Watch('format')\n @Watch('formatModifier')\n @Watch('hideNameAxisLabels')\n @Watch('hideValueAxisLabels')\n @Watch('offsetDataNames')\n @Watch('offsetDataValues')\n @Watch('showChartName')\n @Watch('showDatapointLabels')\n @Watch('showGradient')\n @Watch('gridLines')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"areaChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -178,6 +178,9 @@ export class Q2ChartDonut {
|
|
|
178
178
|
return acc;
|
|
179
179
|
}, []);
|
|
180
180
|
}
|
|
181
|
+
getMinSliceSizeAsAngle() {
|
|
182
|
+
return (parseFloat(this.minSliceSize) / 100) * 360;
|
|
183
|
+
}
|
|
181
184
|
setupChartEvents(chart) {
|
|
182
185
|
chart.on('mouseover', (params) => {
|
|
183
186
|
this.hoveredId = params.data.id;
|
|
@@ -201,18 +204,6 @@ export class Q2ChartDonut {
|
|
|
201
204
|
}, 0);
|
|
202
205
|
});
|
|
203
206
|
}
|
|
204
|
-
cleanData(data) {
|
|
205
|
-
const { minSliceSize } = this;
|
|
206
|
-
const minSize = parseFloat(minSliceSize || '2.5%') / 100;
|
|
207
|
-
const total = data.reduce((acc, cur) => acc + cur.value, 0);
|
|
208
|
-
const minValue = total * minSize;
|
|
209
|
-
const newData = data.map(item => {
|
|
210
|
-
if (item.value < minValue)
|
|
211
|
-
return Object.assign(Object.assign({}, item), { value: minValue });
|
|
212
|
-
return item;
|
|
213
|
-
});
|
|
214
|
-
return newData;
|
|
215
|
-
}
|
|
216
207
|
updateChart(chart) {
|
|
217
208
|
return chart.setOption({
|
|
218
209
|
tooltip: {
|
|
@@ -250,7 +241,8 @@ export class Q2ChartDonut {
|
|
|
250
241
|
color: 'inherit',
|
|
251
242
|
},
|
|
252
243
|
},
|
|
253
|
-
|
|
244
|
+
minAngle: this.getMinSliceSizeAsAngle(),
|
|
245
|
+
data: this.data,
|
|
254
246
|
},
|
|
255
247
|
],
|
|
256
248
|
});
|
|
@@ -353,6 +345,14 @@ export class Q2ChartDonut {
|
|
|
353
345
|
dataIndex: this.getIndexById(selectedId),
|
|
354
346
|
});
|
|
355
347
|
}
|
|
348
|
+
/**
|
|
349
|
+
* Returns the chart instance for e2e testing.
|
|
350
|
+
*
|
|
351
|
+
* @testOnly
|
|
352
|
+
*/
|
|
353
|
+
async getChartOptions() {
|
|
354
|
+
return this.chart.getOption();
|
|
355
|
+
}
|
|
356
356
|
/// DOM ///
|
|
357
357
|
renderCenterBlock() {
|
|
358
358
|
const { icon, name, value, color } = this.centerData;
|
|
@@ -589,7 +589,7 @@ export class Q2ChartDonut {
|
|
|
589
589
|
},
|
|
590
590
|
"selectedId": {
|
|
591
591
|
"type": "string",
|
|
592
|
-
"mutable":
|
|
592
|
+
"mutable": true,
|
|
593
593
|
"complexType": {
|
|
594
594
|
"original": "string",
|
|
595
595
|
"resolved": "string",
|
|
@@ -620,12 +620,17 @@ export class Q2ChartDonut {
|
|
|
620
620
|
"composed": true,
|
|
621
621
|
"docs": {
|
|
622
622
|
"tags": [],
|
|
623
|
-
"text": ""
|
|
623
|
+
"text": "Emitted when a slice is selected."
|
|
624
624
|
},
|
|
625
625
|
"complexType": {
|
|
626
|
-
"original": "
|
|
627
|
-
"resolved": "
|
|
628
|
-
"references": {
|
|
626
|
+
"original": "IDonutChartData",
|
|
627
|
+
"resolved": "IDonutChartData",
|
|
628
|
+
"references": {
|
|
629
|
+
"IDonutChartData": {
|
|
630
|
+
"location": "import",
|
|
631
|
+
"path": "q2-tecton-common/lib/types/element-types"
|
|
632
|
+
}
|
|
633
|
+
}
|
|
629
634
|
}
|
|
630
635
|
}, {
|
|
631
636
|
"method": "click",
|
|
@@ -635,12 +640,17 @@ export class Q2ChartDonut {
|
|
|
635
640
|
"composed": true,
|
|
636
641
|
"docs": {
|
|
637
642
|
"tags": [],
|
|
638
|
-
"text": ""
|
|
643
|
+
"text": "Emitted when the center button is clicked.\n\nRequires the `isClickable` prop to be set to `true`."
|
|
639
644
|
},
|
|
640
645
|
"complexType": {
|
|
641
|
-
"original": "
|
|
642
|
-
"resolved": "
|
|
643
|
-
"references": {
|
|
646
|
+
"original": "IDonutChartData",
|
|
647
|
+
"resolved": "IDonutChartData",
|
|
648
|
+
"references": {
|
|
649
|
+
"IDonutChartData": {
|
|
650
|
+
"location": "import",
|
|
651
|
+
"path": "q2-tecton-common/lib/types/element-types"
|
|
652
|
+
}
|
|
653
|
+
}
|
|
644
654
|
}
|
|
645
655
|
}];
|
|
646
656
|
}
|
|
@@ -699,6 +709,32 @@ export class Q2ChartDonut {
|
|
|
699
709
|
"text": "Clears any selected slice.",
|
|
700
710
|
"tags": []
|
|
701
711
|
}
|
|
712
|
+
},
|
|
713
|
+
"getChartOptions": {
|
|
714
|
+
"complexType": {
|
|
715
|
+
"signature": "() => Promise<EChartsCoreOption>",
|
|
716
|
+
"parameters": [],
|
|
717
|
+
"references": {
|
|
718
|
+
"Promise": {
|
|
719
|
+
"location": "global"
|
|
720
|
+
},
|
|
721
|
+
"echarts": {
|
|
722
|
+
"location": "global"
|
|
723
|
+
},
|
|
724
|
+
"EChartsCoreOption": {
|
|
725
|
+
"location": "import",
|
|
726
|
+
"path": "echarts/types/dist/core"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"return": "Promise<ECBasicOption>"
|
|
730
|
+
},
|
|
731
|
+
"docs": {
|
|
732
|
+
"text": "Returns the chart instance for e2e testing.",
|
|
733
|
+
"tags": [{
|
|
734
|
+
"name": "testOnly",
|
|
735
|
+
"text": undefined
|
|
736
|
+
}]
|
|
737
|
+
}
|
|
702
738
|
}
|
|
703
739
|
};
|
|
704
740
|
}
|