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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, addSmoothScrollPolyfill, overrideFocus, isEventFromElement } from 'src/utils';\n\naddSmoothScrollPolyfill();\n\n@Component({\n tag: 'q2-stepper',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Stepper implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) currentStep: number = 1;\n /**\n * Used to determine the number of steps in the stepper.\n * @private\n */\n @Prop({ mutable: true }) stepCount: number;\n @Prop({ mutable: true }) lastEnabledStep: number;\n\n @Element() hostElement: HTMLElement;\n\n @Event() change: EventEmitter;\n @State() contentChangeTriggerCount: number = 0;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n listElement: HTMLUListElement;\n resizeObserver: ResizeObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (!this.lastEnabledStep) this.lastEnabledStep = this.currentStep || 1;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.checkForPanes();\n }\n\n componentDidLoad() {\n this.resizeObserver.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStep || 1), 0);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n ////////// WATCHER METHODS ////////\n\n @Watch('currentStep')\n currentStepChanged(stepNumber: number) {\n this.showStep(stepNumber);\n }\n\n ////////// HOST EVENTS ////////\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStep = event.detail.selectedStep;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStep(this.currentStep, true, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler(event: CustomEvent) {\n const index = Array.from(this.allPanes).findIndex(el => event.detail.id === el.id);\n if (index > -1) {\n this.allPanes[index].status = event.detail.status;\n this.renderStepBtn(index);\n }\n }\n\n @Listen('contentChange')\n contentChangeHandler() {\n this.contentChangeTriggerCount += 1;\n }\n\n ////////// GETTER METHODS ////////\n\n get allPanes() {\n return this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane');\n }\n\n ////////// EVENT HANDLERS ////////\n\n onSlotChange = () => {\n this.checkForPanes();\n this.checkScrollState();\n };\n\n onScrollBtnClick = (direction: 'left' | 'right') => {\n const scrollAmount = Math.floor(this.listElement.clientWidth / 2);\n\n this.listElement.scrollBy({\n left: direction === 'left' ? -scrollAmount : scrollAmount,\n behavior: 'smooth',\n });\n };\n\n onStepClick = (event, selectedStep: number) => {\n event.stopPropagation();\n const { currentStep, stepCount, lastEnabledStep } = this;\n if (selectedStep > lastEnabledStep || selectedStep === currentStep) return;\n\n this.change.emit({\n selectedStep,\n lastEnabledStep,\n currentStep,\n stepCount,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepNumber: number) => {\n const { lastEnabledStep, stepCount } = this;\n const { key } = event;\n\n let selectedStep;\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n selectedStep = Math.max(stepNumber - 1, 0);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedStep = Math.min(stepNumber + 1, stepCount);\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStep = 1;\n break;\n\n case 'End':\n event.preventDefault();\n selectedStep = lastEnabledStep;\n break;\n }\n\n if (!selectedStep) return;\n this.focusStep(selectedStep, true);\n };\n\n ////////// HELPER METHODS ////////\n\n showStep(stepNumber: number) {\n if (stepNumber > this.lastEnabledStep) {\n const { currentStep, stepCount } = this;\n this.lastEnabledStep = stepNumber;\n this.change.emit({\n selectedStep: null,\n lastEnabledStep: stepNumber,\n currentStep,\n stepCount,\n });\n }\n\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepNumber);\n this.focusStep(stepNumber, this.scrollEnabled);\n }\n\n checkForPanes = () => {\n const { allPanes } = this;\n if (!allPanes.length) return;\n\n this.stepCount = allPanes.length;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = !!scrollLeft;\n this.showScrollRight = scrollWidth !== scrollLeft + clientWidth;\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n showStepPane(stepNumber: number) {\n this.allPanes.forEach((pane, index) => {\n pane.isActive = stepNumber === index + 1;\n });\n }\n\n focusStep(stepNumber: number, scrollIntoView?: boolean, forceFocus?: boolean) {\n const stepListItem = this.listElement.children[stepNumber - 1] as HTMLLIElement;\n const isActive = document.activeElement === this.hostElement;\n if (!stepListItem) return;\n if (isActive || forceFocus) {\n (stepListItem.firstElementChild as HTMLButtonElement)?.focus();\n }\n\n if (scrollIntoView) {\n const left = stepListItem.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n }\n }\n\n ////////// RENDER METHODS ////////\n getPaneSlotOrProperty(pane: HTMLQ2StepperPaneElement, slotName: 'description' | 'label') {\n const slot = pane.querySelector<HTMLElement>(`[slot=\"${slotName}\"]`);\n return slot?.outerHTML ?? loc(pane[slotName]);\n }\n\n renderStepBtn(stepIndex: number) {\n const { allPanes, stepCount, currentStep, lastEnabledStep } = this;\n const pane = allPanes?.[stepIndex] ?? null;\n const { id, status } = pane;\n const label = this.getPaneSlotOrProperty(pane, 'label');\n const description = this.getPaneSlotOrProperty(pane, 'description');\n\n const stepNumber = stepIndex + 1;\n const isCurrentStep = stepNumber === currentStep;\n const labelId = !!label && `label-${id}`;\n const descriptionId = !!label && !!description && `description-${id}`;\n const btnLabel = !label && loc('tecton.element.stepper.number', [`${stepNumber}`, `${stepCount}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n const isLocked = status === 'locked';\n const disabled = isLocked || stepNumber > lastEnabledStep;\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={isCurrentStep}\n aria-controls={id}\n aria-disabled={disabled ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => this.onStepKeyDown(ev, stepNumber)}\n onClick={ev => !isLocked && this.onStepClick(ev, stepNumber)}\n >\n <Fragment>\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n {labelId && (\n <div\n class=\"step-label\"\n id={labelId}\n innerHTML={label}\n ></div>\n )}\n {labelId && descriptionId && (\n <div\n class=\"step-description\"\n id={descriptionId}\n innerHTML={description}\n ></div>\n )}\n </Fragment>\n </button>\n {stepIndex ? <div class=\"step-divider\"></div> : ''}\n </li>\n );\n }\n\n render() {\n const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;\n const containerClasses = ['step-container'];\n if (scrollEnabled) containerClasses.push('has-scroll');\n\n return (\n <Fragment>\n <div class={containerClasses.join(' ')}>\n {scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon type=\"chevron-left\"></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon type=\"chevron-right\"></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n role=\"tablist\"\n >\n {stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex))}\n </ul>\n </div>\n <div>\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, addSmoothScrollPolyfill, overrideFocus, isEventFromElement } from 'src/utils';\n\naddSmoothScrollPolyfill();\n\n@Component({\n tag: 'q2-stepper',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Stepper implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) currentStep: number = 1;\n /**\n * Used to determine the number of steps in the stepper.\n * @private\n */\n @Prop({ mutable: true }) stepCount: number;\n @Prop({ mutable: true }) lastEnabledStep: number;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter;\n @State() contentChangeTriggerCount: number = 0;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n listElement: HTMLUListElement;\n resizeObserver: ResizeObserver;\n scheduledAfterRender: (() => void)[] = [];\n\n ////////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (!this.lastEnabledStep) this.lastEnabledStep = this.currentStep || 1;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.checkForPanes();\n }\n\n componentDidLoad() {\n this.resizeObserver.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStep || 1), 0);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n ////////// WATCHER METHODS ////////\n\n @Watch('currentStep')\n currentStepChanged(stepNumber: number) {\n this.showStep(stepNumber);\n }\n\n ////////// HOST EVENTS ////////\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStep = event.detail.selectedStep;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStep(this.currentStep, true, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler(event: CustomEvent) {\n const index = Array.from(this.allPanes).findIndex(el => event.detail.id === el.id);\n if (index > -1) {\n this.allPanes[index].status = event.detail.status;\n this.renderStepBtn(index);\n }\n }\n\n @Listen('contentChange')\n contentChangeHandler() {\n this.contentChangeTriggerCount += 1;\n }\n\n ////////// GETTER METHODS ////////\n\n get allPanes() {\n return this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane');\n }\n\n ////////// EVENT HANDLERS ////////\n\n onSlotChange = () => {\n this.checkForPanes();\n this.checkScrollState();\n };\n\n onScrollBtnClick = (direction: 'left' | 'right') => {\n const scrollAmount = Math.floor(this.listElement.clientWidth / 2);\n\n this.listElement.scrollBy({\n left: direction === 'left' ? -scrollAmount : scrollAmount,\n behavior: 'smooth',\n });\n };\n\n onStepClick = (event, selectedStep: number) => {\n event.stopPropagation();\n const { currentStep, stepCount, lastEnabledStep } = this;\n if (selectedStep > lastEnabledStep || selectedStep === currentStep) return;\n\n this.change.emit({\n selectedStep,\n lastEnabledStep,\n currentStep,\n stepCount,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepNumber: number) => {\n const { lastEnabledStep, stepCount } = this;\n const { key } = event;\n\n let selectedStep;\n switch (key) {\n case 'ArrowLeft':\n event.preventDefault();\n selectedStep = Math.max(stepNumber - 1, 0);\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n selectedStep = Math.min(stepNumber + 1, stepCount);\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStep = 1;\n break;\n\n case 'End':\n event.preventDefault();\n selectedStep = lastEnabledStep;\n break;\n }\n\n if (!selectedStep) return;\n this.focusStep(selectedStep, true);\n };\n\n ////////// HELPER METHODS ////////\n\n showStep(stepNumber: number) {\n if (stepNumber > this.lastEnabledStep) {\n const { currentStep, stepCount } = this;\n this.lastEnabledStep = stepNumber;\n this.change.emit({\n selectedStep: null,\n lastEnabledStep: stepNumber,\n currentStep,\n stepCount,\n });\n }\n\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepNumber);\n this.focusStep(stepNumber, this.scrollEnabled);\n }\n\n checkForPanes = () => {\n const { allPanes } = this;\n if (!allPanes.length) return;\n\n this.stepCount = allPanes.length;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = !!scrollLeft;\n this.showScrollRight = scrollWidth !== scrollLeft + clientWidth;\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n showStepPane(stepNumber: number) {\n this.allPanes.forEach((pane, index) => {\n pane.isActive = stepNumber === index + 1;\n });\n }\n\n focusStep(stepNumber: number, scrollIntoView?: boolean, forceFocus?: boolean) {\n const stepListItem = this.listElement.children[stepNumber - 1] as HTMLLIElement;\n const isActive = document.activeElement === this.hostElement;\n if (!stepListItem) return;\n if (isActive || forceFocus) {\n (stepListItem.firstElementChild as HTMLButtonElement)?.focus();\n }\n\n if (scrollIntoView) {\n const left = stepListItem.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n }\n }\n\n ////////// RENDER METHODS ////////\n getPaneSlotOrProperty(pane: HTMLQ2StepperPaneElement, slotName: 'description' | 'label') {\n const slot = pane.querySelector<HTMLElement>(`[slot=\"${slotName}\"]`);\n return slot?.outerHTML ?? loc(pane[slotName]);\n }\n\n renderStepBtn(stepIndex: number) {\n const { allPanes, stepCount, currentStep, lastEnabledStep } = this;\n const pane = allPanes?.[stepIndex] ?? null;\n const { id, status } = pane;\n const label = this.getPaneSlotOrProperty(pane, 'label');\n const description = this.getPaneSlotOrProperty(pane, 'description');\n\n const stepNumber = stepIndex + 1;\n const isCurrentStep = stepNumber === currentStep;\n const labelId = !!label && `label-${id}`;\n const descriptionId = !!label && !!description && `description-${id}`;\n const btnLabel = !label && loc('tecton.element.stepper.number', [`${stepNumber}`, `${stepCount}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n const isLocked = status === 'locked';\n const disabled = isLocked || stepNumber > lastEnabledStep;\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={isCurrentStep}\n aria-controls={id}\n aria-disabled={disabled ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => this.onStepKeyDown(ev, stepNumber)}\n onClick={ev => !isLocked && this.onStepClick(ev, stepNumber)}\n >\n <Fragment>\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n {labelId && (\n <div\n class=\"step-label\"\n id={labelId}\n innerHTML={label}\n ></div>\n )}\n {labelId && descriptionId && (\n <div\n class=\"step-description\"\n id={descriptionId}\n innerHTML={description}\n ></div>\n )}\n </Fragment>\n </button>\n {stepIndex ? <div class=\"step-divider\"></div> : ''}\n </li>\n );\n }\n\n render() {\n const { stepCount, scrollEnabled, showScrollLeft, showScrollRight } = this;\n const containerClasses = ['step-container'];\n if (scrollEnabled) containerClasses.push('has-scroll');\n\n return (\n <Fragment>\n <div class={containerClasses.join(' ')}>\n {scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon type=\"chevron-left\"></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon type=\"chevron-right\"></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n role=\"tablist\"\n >\n {stepCount > 0 && [...Array(stepCount).keys()].map(stepIndex => this.renderStepBtn(stepIndex))}\n </ul>\n </div>\n <div>\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n}\n"]}
|
|
@@ -180,7 +180,7 @@ export class Q2StepperPane {
|
|
|
180
180
|
"composed": true,
|
|
181
181
|
"docs": {
|
|
182
182
|
"tags": [],
|
|
183
|
-
"text": ""
|
|
183
|
+
"text": "Emitted when the status of the pane changes."
|
|
184
184
|
},
|
|
185
185
|
"complexType": {
|
|
186
186
|
"original": "IStepperPaneEvent",
|
|
@@ -188,7 +188,7 @@ export class Q2StepperPane {
|
|
|
188
188
|
"references": {
|
|
189
189
|
"IStepperPaneEvent": {
|
|
190
190
|
"location": "local",
|
|
191
|
-
"path": "/workspace/workspace/
|
|
191
|
+
"path": "/workspace/workspace/_Gitlab_tecton-production_master/packages/q2-tecton-elements/src/components/q2-stepper-pane/index.tsx"
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
}
|
|
@@ -200,7 +200,7 @@ export class Q2StepperPane {
|
|
|
200
200
|
"composed": true,
|
|
201
201
|
"docs": {
|
|
202
202
|
"tags": [],
|
|
203
|
-
"text": ""
|
|
203
|
+
"text": "Emitted when the active state of the pane changes."
|
|
204
204
|
},
|
|
205
205
|
"complexType": {
|
|
206
206
|
"original": "IStepperPaneEvent",
|
|
@@ -208,7 +208,7 @@ export class Q2StepperPane {
|
|
|
208
208
|
"references": {
|
|
209
209
|
"IStepperPaneEvent": {
|
|
210
210
|
"location": "local",
|
|
211
|
-
"path": "/workspace/workspace/
|
|
211
|
+
"path": "/workspace/workspace/_Gitlab_tecton-production_master/packages/q2-tecton-elements/src/components/q2-stepper-pane/index.tsx"
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
214
|
}
|
|
@@ -219,12 +219,15 @@ export class Q2StepperPane {
|
|
|
219
219
|
"cancelable": true,
|
|
220
220
|
"composed": true,
|
|
221
221
|
"docs": {
|
|
222
|
-
"tags": [
|
|
223
|
-
|
|
222
|
+
"tags": [{
|
|
223
|
+
"name": "private",
|
|
224
|
+
"text": undefined
|
|
225
|
+
}],
|
|
226
|
+
"text": "Emitted when the content of the pane changes."
|
|
224
227
|
},
|
|
225
228
|
"complexType": {
|
|
226
|
-
"original": "
|
|
227
|
-
"resolved": "
|
|
229
|
+
"original": "undefined",
|
|
230
|
+
"resolved": "undefined",
|
|
228
231
|
"references": {}
|
|
229
232
|
}
|
|
230
233
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-pane/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EAEP,QAAQ,EACR,KAAK,EACL,KAAK,EAEL,MAAM,EACN,KAAK,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAcvD,MAAM,OAAO,aAAa;;;;;;;yBAWY,KAAK;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-pane/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n Fragment,\n Event,\n Watch,\n EventEmitter,\n Listen,\n State,\n} from '@stencil/core';\nimport { createGuid, loc, nextPaint } from 'src/utils';\n\nexport interface IStepperPaneEvent {\n status: string;\n isActive: boolean;\n id: string;\n host: HTMLElement;\n}\n\n@Component({\n tag: 'q2-stepper-pane',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2StepperPane implements ComponentInterface {\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) description: string;\n /**\n * Used by q2-stepper and q2-stepper-vertical to determine which pane is active\n * @private\n */\n @Prop({ reflect: true }) isActive: boolean;\n @Prop({ reflect: true }) showWithChildren: boolean;\n @Prop({ reflect: true }) status: 'complete' | 'error' | 'locked';\n\n @State() isChildActive: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the status of the pane changes.\n */\n @Event() statusChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the active state of the pane changes.\n */\n @Event() activeChange: EventEmitter<IStepperPaneEvent>;\n\n /**\n * Emitted when the content of the pane changes.\n * @private\n */\n @Event({ bubbles: true }) contentChange: EventEmitter<undefined>;\n\n mutationObserver: MutationObserver;\n\n /// LifeCycle Hooks ///\n connectedCallback() {\n if (!this.hostElement.id) this.hostElement.id = `step-${createGuid()}`;\n }\n\n componentWillLoad() {\n this.checkForActiveChildren();\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(() => {\n this.contentChange.emit();\n });\n observer.observe(this.hostElement, { childList: true, subtree: true, characterData: true });\n this.mutationObserver = observer;\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Watchers and Listeners ///\n @Watch('label')\n @Watch('description')\n labelOrDescriptionChanged() {\n this.contentChange.emit();\n }\n\n @Watch('status')\n statusChanged(status) {\n this.statusChange.emit({\n status,\n isActive: !!this.isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('isActive')\n isActiveChanged(isActive) {\n this.activeChange.emit({\n status: this.status || '',\n isActive,\n id: this.hostElement.id,\n host: this.hostElement,\n });\n }\n\n @Watch('showWithChildren')\n @Listen('activeChange')\n checkForActiveChildren() {\n if (!this.showWithChildren) return;\n nextPaint(() => {\n setTimeout(() => {\n this.isChildActive = !!this.hostElement.querySelector<HTMLQ2StepperPaneElement>(\n \"[slot='children'] > q2-stepper-pane[is-active]\"\n );\n });\n });\n }\n\n /// DOM ///\n render() {\n const { label, isActive } = this;\n return (\n <Fragment>\n <div\n role=\"tabpanel\"\n aria-label={label && loc(label)}\n tabindex=\"0\"\n hidden={!isActive && !(this.isChildActive && this.showWithChildren)}\n >\n <slot />\n </div>\n <div hidden>\n <slot\n name=\"label\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n <slot\n name=\"description\"\n onSlotchange={() => this.contentChange.emit()}\n ></slot>\n </div>\n <slot name=\"children\"></slot>\n </Fragment>\n );\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, Fragment, } from '@stencil/core';
|
|
2
2
|
import { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';
|
|
3
|
-
export class
|
|
3
|
+
export class Q2StepperVertical {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.scheduledAfterRender = [];
|
|
6
6
|
this.determinePaneChanges = (mutations) => {
|
|
@@ -314,13 +314,20 @@ export class Q2AdvancedStepper {
|
|
|
314
314
|
"cancelable": true,
|
|
315
315
|
"composed": true,
|
|
316
316
|
"docs": {
|
|
317
|
-
"tags": [
|
|
318
|
-
|
|
317
|
+
"tags": [{
|
|
318
|
+
"name": "legacyEvent",
|
|
319
|
+
"text": undefined
|
|
320
|
+
}],
|
|
321
|
+
"text": "Emitted when the selected step changes."
|
|
319
322
|
},
|
|
320
323
|
"complexType": {
|
|
321
|
-
"original": "
|
|
322
|
-
"resolved": "
|
|
323
|
-
"references": {
|
|
324
|
+
"original": "{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }",
|
|
325
|
+
"resolved": "{ selectedStep: HTMLQ2StepperPaneElement; selectedStepId: string; currentStepId: string; }",
|
|
326
|
+
"references": {
|
|
327
|
+
"HTMLQ2StepperPaneElement": {
|
|
328
|
+
"location": "global"
|
|
329
|
+
}
|
|
330
|
+
}
|
|
324
331
|
}
|
|
325
332
|
}];
|
|
326
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-vertical/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\n\ninterface IBaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n}\n\ninterface IStructuredPane extends IBaseStructuredPane {\n children: IBaseStructuredPane[];\n}\n\n@Component({\n tag: 'q2-stepper-vertical',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2AdvancedStepper implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) currentStepId: string;\n\n @Element() hostElement: HTMLElement;\n\n @Event() change: EventEmitter;\n @State() structuredPanes: IStructuredPane[] = [];\n mutationObserver: MutationObserver;\n expandedStepChildrenList: HTMLUListElement;\n scheduledAfterRender: (() => void)[] = [];\n\n /// LifeCycle Hooks ///\n componentWillLoad() {\n this.setDefaultPane();\n this.buildPaneList();\n const observer = new MutationObserver(this.determinePaneChanges);\n const observerOptions = {\n childList: true,\n };\n observer.observe(this.hostElement, observerOptions);\n this.allRootPanes.forEach(pane => {\n const childrenSlot = pane.querySelector('[slot=children]');\n if (childrenSlot) observer.observe(childrenSlot, observerOptions);\n });\n this.mutationObserver = observer;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStepId), 0);\n }\n\n componentWillUpdate() {\n this.expandedStepChildrenList = null;\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n\n this.openCurrentStepChildren();\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Getters ///\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\n }\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n /// Helpers ///\n setDefaultPane() {\n if (this.currentStepId) return;\n const firstEnabledStep = this.hostElement.querySelector('q2-stepper-pane');\n if (!firstEnabledStep) return;\n if (!firstEnabledStep.id) firstEnabledStep.id = `step-${createGuid()}`;\n this.currentStepId = firstEnabledStep.id;\n }\n\n determinePaneChanges = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type !== 'childList') return;\n if (!mutation.addedNodes.length && !mutation.removedNodes.length) return;\n if (\n mutation.addedNodes[0]?.nodeType !== Node.ELEMENT_NODE &&\n mutation.removedNodes[0]?.nodeType !== Node.ELEMENT_NODE\n )\n return;\n this.buildPaneList();\n });\n };\n\n getStepId(currentStepId: string, goTo: string) {\n const allEnabledStepBtns = Array.from(\n this.hostElement.shadowRoot.querySelectorAll<HTMLQ2StepperPaneElement>(\n 'ul:not([aria-hidden=\"true\"]) > li > button:not([aria-disabled=\"true\"])'\n )\n );\n const currentStepIndex = allEnabledStepBtns.findIndex(\n btn => btn.getAttribute('aria-controls') === currentStepId\n );\n\n let nextStepIndex;\n switch (goTo) {\n case 'prev':\n nextStepIndex = Math.max(currentStepIndex - 1, 0);\n break;\n\n case 'next':\n nextStepIndex = Math.min(currentStepIndex + 1, allEnabledStepBtns.length - 1);\n break;\n\n case 'first':\n nextStepIndex = 0;\n break;\n\n case 'last':\n nextStepIndex = allEnabledStepBtns.length - 1;\n break;\n }\n\n return allEnabledStepBtns[nextStepIndex].getAttribute('aria-controls');\n }\n\n showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\n }\n\n extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n };\n }\n\n buildPaneList = () => {\n const { allRootPanes } = this;\n if (!allRootPanes.length) return;\n\n this.structuredPanes = Array.from(allRootPanes).reduce((accum, pane) => {\n const children = Array.from(pane.querySelector('[slot=children]')?.children ?? [])\n .filter(({ tagName }) => tagName === 'Q2-STEPPER-PANE')\n .map(this.extractDetails);\n\n accum.push({ ...this.extractDetails(pane), children });\n return accum;\n }, []);\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n openCurrentStepChildren() {\n const { expandedStepChildrenList } = this;\n const allSpacers = this.hostElement.shadowRoot.querySelectorAll<HTMLDivElement>('.spacer');\n allSpacers.forEach(spacer => {\n if (expandedStepChildrenList && spacer.contains(expandedStepChildrenList)) {\n spacer.style.height = `${expandedStepChildrenList.clientHeight}px`;\n if (spacer.classList.contains('is-open')) return;\n spacer.classList.add('is-opening');\n spacer.addEventListener(\n 'transitionend',\n () => {\n spacer.classList.remove('is-opening');\n spacer.classList.add('is-open');\n this.resizeIframe();\n },\n { once: true }\n );\n } else {\n spacer.removeAttribute('style');\n spacer.classList.remove('is-open', 'is-opening');\n }\n });\n }\n\n showStepPane(stepId: string) {\n this.allPanes.forEach(pane => {\n if (pane.isActive || pane.id === stepId) {\n pane.isActive = stepId === pane.id;\n }\n });\n }\n\n focusStepBtn(stepId: string, forceFocus?: boolean) {\n const stepBtn = this.hostElement.shadowRoot.querySelector<HTMLElement>(`button[aria-controls=\"${stepId}\"]`);\n const isComponentActive = document.activeElement === this.hostElement;\n if (!stepBtn) return;\n if (isComponentActive || forceFocus) {\n stepBtn.focus();\n }\n }\n\n /// Listeners ///\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStepId = event.detail.selectedStepId;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStepBtn(this.currentStepId, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler() {\n this.buildPaneList();\n }\n\n /// Watchers ///\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n /// Event Handlers ///\n onStepClick = (event, stepId: string) => {\n event.stopPropagation();\n const { currentStepId } = this;\n if (stepId === currentStepId) return;\n const selectedStep = this.allPanes.find(pane => pane.id === stepId);\n\n this.change.emit({\n selectedStep,\n selectedStepId: stepId,\n currentStepId,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepId: string) => {\n const { key } = event;\n\n let selectedStepId;\n switch (key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'prev');\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'next');\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'last');\n break;\n }\n\n if (!selectedStepId) return;\n this.focusStepBtn(selectedStepId, true);\n };\n\n /// DOM ///\n renderStepBtn(pane: IStructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status } = pane;\n const stepNumber = index + 1;\n const isCurrentStep = id === currentStepId;\n const labelId = label && `label-${id}`;\n const isLocked = status === 'locked';\n const stepLabel = label && loc(label);\n const descriptionId = label && description && `description-${id}`;\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.number', [`${stepNumber}`, `${structuredPanes.length}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n const childIds = pane.children.map(child => child.id);\n const isExpanded = isCurrentStep || childIds.includes(currentStepId);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-expanded={!!pane.children.length ? `${isExpanded}` : null}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n\n {label && (\n <div>\n <div\n class=\"step-label\"\n id={labelId}\n >\n {stepLabel}\n </div>\n {description && (\n <div\n class=\"step-description\"\n id={descriptionId}\n >\n {loc(description)}\n </div>\n )}\n </div>\n )}\n </button>\n {this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)}\n </li>\n );\n }\n\n renderSpacer(pane: IStructuredPane, stepLabel: string, isExpanded: boolean, isLastStep: boolean) {\n const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;\n const spacerClasses = ['spacer'];\n if (!isLastStep) spacerClasses.push('has-sibling');\n return (\n shouldRender && (\n <div class={spacerClasses.join(' ')}>\n {!!pane.children.length && (\n <ul\n ref={el => isExpanded && (this.expandedStepChildrenList = el)}\n aria-hidden={`${!isExpanded}`}\n >\n {pane.children.map((child, index, children) =>\n this.renderChildStepBtn(child, index, children.length, stepLabel)\n )}\n </ul>\n )}\n </div>\n )\n );\n }\n\n renderChildStepBtn(pane: IBaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status } = pane;\n const stepNumber = index + 1;\n const labelId = label && `label-${id}`;\n const isCurrentStep = id === currentStepId;\n const isLocked = status === 'locked';\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.childNumber', [`${stepNumber}`, `${children}`, parentLabel]);\n\n let statusIcon;\n if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-child-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon && (\n <div class=\"step-child-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n )}\n {label && (\n <div\n class=\"step-child-label\"\n id={labelId}\n >\n {loc(label)}\n </div>\n )}\n </button>\n </li>\n );\n }\n\n render() {\n return (\n <Fragment>\n <ul role=\"tablist\">{this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))}</ul>\n <div>\n <slot />\n </div>\n </Fragment>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-stepper-vertical/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Element,\n ComponentInterface,\n State,\n Watch,\n Listen,\n Event,\n EventEmitter,\n Fragment,\n} from '@stencil/core';\nimport { loc, overrideFocus, isEventFromElement, createGuid } from 'src/utils';\n\ninterface IBaseStructuredPane {\n id: string;\n label: string;\n description: string;\n isActive: boolean;\n status: string;\n}\n\ninterface IStructuredPane extends IBaseStructuredPane {\n children: IBaseStructuredPane[];\n}\n\n@Component({\n tag: 'q2-stepper-vertical',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2StepperVertical implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) currentStepId: string;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected step changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{\n selectedStep: HTMLQ2StepperPaneElement;\n selectedStepId: string;\n currentStepId: string;\n }>;\n @State() structuredPanes: IStructuredPane[] = [];\n mutationObserver: MutationObserver;\n expandedStepChildrenList: HTMLUListElement;\n scheduledAfterRender: (() => void)[] = [];\n\n /// LifeCycle Hooks ///\n componentWillLoad() {\n this.setDefaultPane();\n this.buildPaneList();\n const observer = new MutationObserver(this.determinePaneChanges);\n const observerOptions = {\n childList: true,\n };\n observer.observe(this.hostElement, observerOptions);\n this.allRootPanes.forEach(pane => {\n const childrenSlot = pane.querySelector('[slot=children]');\n if (childrenSlot) observer.observe(childrenSlot, observerOptions);\n });\n this.mutationObserver = observer;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n setTimeout(() => this.showStep(this.currentStepId), 0);\n }\n\n componentWillUpdate() {\n this.expandedStepChildrenList = null;\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n\n this.openCurrentStepChildren();\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n\n /// Getters ///\n get allRootPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>(':scope > q2-stepper-pane'));\n }\n\n get allPanes() {\n return Array.from(this.hostElement.querySelectorAll<HTMLQ2StepperPaneElement>('q2-stepper-pane'));\n }\n\n /// Helpers ///\n setDefaultPane() {\n if (this.currentStepId) return;\n const firstEnabledStep = this.hostElement.querySelector('q2-stepper-pane');\n if (!firstEnabledStep) return;\n if (!firstEnabledStep.id) firstEnabledStep.id = `step-${createGuid()}`;\n this.currentStepId = firstEnabledStep.id;\n }\n\n determinePaneChanges = (mutations: MutationRecord[]) => {\n mutations.forEach(mutation => {\n if (mutation.type !== 'childList') return;\n if (!mutation.addedNodes.length && !mutation.removedNodes.length) return;\n if (\n mutation.addedNodes[0]?.nodeType !== Node.ELEMENT_NODE &&\n mutation.removedNodes[0]?.nodeType !== Node.ELEMENT_NODE\n )\n return;\n this.buildPaneList();\n });\n };\n\n getStepId(currentStepId: string, goTo: string) {\n const allEnabledStepBtns = Array.from(\n this.hostElement.shadowRoot.querySelectorAll<HTMLQ2StepperPaneElement>(\n 'ul:not([aria-hidden=\"true\"]) > li > button:not([aria-disabled=\"true\"])'\n )\n );\n const currentStepIndex = allEnabledStepBtns.findIndex(\n btn => btn.getAttribute('aria-controls') === currentStepId\n );\n\n let nextStepIndex;\n switch (goTo) {\n case 'prev':\n nextStepIndex = Math.max(currentStepIndex - 1, 0);\n break;\n\n case 'next':\n nextStepIndex = Math.min(currentStepIndex + 1, allEnabledStepBtns.length - 1);\n break;\n\n case 'first':\n nextStepIndex = 0;\n break;\n\n case 'last':\n nextStepIndex = allEnabledStepBtns.length - 1;\n break;\n }\n\n return allEnabledStepBtns[nextStepIndex].getAttribute('aria-controls');\n }\n\n showStep(stepId: string) {\n this.scheduledAfterRender.push(this.resizeIframe);\n this.showStepPane(stepId);\n this.focusStepBtn(stepId);\n }\n\n extractDetails(pane: HTMLQ2StepperPaneElement) {\n const { label, description, status } = pane;\n if (!pane.id) pane.id = `step-${createGuid()}`;\n return {\n id: pane.id,\n label,\n description,\n status,\n };\n }\n\n buildPaneList = () => {\n const { allRootPanes } = this;\n if (!allRootPanes.length) return;\n\n this.structuredPanes = Array.from(allRootPanes).reduce((accum, pane) => {\n const children = Array.from(pane.querySelector('[slot=children]')?.children ?? [])\n .filter(({ tagName }) => tagName === 'Q2-STEPPER-PANE')\n .map(this.extractDetails);\n\n accum.push({ ...this.extractDetails(pane), children });\n return accum;\n }, []);\n };\n\n resizeIframe() {\n return window?.TectonElements?.resizeIframe?.();\n }\n\n openCurrentStepChildren() {\n const { expandedStepChildrenList } = this;\n const allSpacers = this.hostElement.shadowRoot.querySelectorAll<HTMLDivElement>('.spacer');\n allSpacers.forEach(spacer => {\n if (expandedStepChildrenList && spacer.contains(expandedStepChildrenList)) {\n spacer.style.height = `${expandedStepChildrenList.clientHeight}px`;\n if (spacer.classList.contains('is-open')) return;\n spacer.classList.add('is-opening');\n spacer.addEventListener(\n 'transitionend',\n () => {\n spacer.classList.remove('is-opening');\n spacer.classList.add('is-open');\n this.resizeIframe();\n },\n { once: true }\n );\n } else {\n spacer.removeAttribute('style');\n spacer.classList.remove('is-open', 'is-opening');\n }\n });\n }\n\n showStepPane(stepId: string) {\n this.allPanes.forEach(pane => {\n if (pane.isActive || pane.id === stepId) {\n pane.isActive = stepId === pane.id;\n }\n });\n }\n\n focusStepBtn(stepId: string, forceFocus?: boolean) {\n const stepBtn = this.hostElement.shadowRoot.querySelector<HTMLElement>(`button[aria-controls=\"${stepId}\"]`);\n const isComponentActive = document.activeElement === this.hostElement;\n if (!stepBtn) return;\n if (isComponentActive || forceFocus) {\n stepBtn.focus();\n }\n }\n\n /// Listeners ///\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n const { hostElement } = this;\n if (event.target === hostElement && !hostElement.getAttribute('onchange') && !!event.detail) {\n this.currentStepId = event.detail.selectedStepId;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusStepBtn(this.currentStepId, true);\n }\n\n @Listen('statusChange')\n statusChangeHandler() {\n this.buildPaneList();\n }\n\n /// Watchers ///\n @Watch('currentStepId')\n currentStepChanged(stepId: string) {\n this.showStep(stepId);\n }\n\n /// Event Handlers ///\n onStepClick = (event, stepId: string) => {\n event.stopPropagation();\n const { currentStepId } = this;\n if (stepId === currentStepId) return;\n const selectedStep = this.allPanes.find(pane => pane.id === stepId);\n\n this.change.emit({\n selectedStep,\n selectedStepId: stepId,\n currentStepId,\n });\n };\n\n onStepKeyDown = (event: KeyboardEvent, stepId: string) => {\n const { key } = event;\n\n let selectedStepId;\n switch (key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'prev');\n break;\n\n case 'ArrowDown':\n case 'ArrowRight':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'next');\n break;\n\n case 'Home':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n selectedStepId = this.getStepId(stepId, 'last');\n break;\n }\n\n if (!selectedStepId) return;\n this.focusStepBtn(selectedStepId, true);\n };\n\n /// DOM ///\n renderStepBtn(pane: IStructuredPane, index: number) {\n const { currentStepId, structuredPanes } = this;\n const isLastStep = index === structuredPanes.length - 1;\n const { id, label, description, status } = pane;\n const stepNumber = index + 1;\n const isCurrentStep = id === currentStepId;\n const labelId = label && `label-${id}`;\n const isLocked = status === 'locked';\n const stepLabel = label && loc(label);\n const descriptionId = label && description && `description-${id}`;\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.number', [`${stepNumber}`, `${structuredPanes.length}`]);\n\n let statusIcon;\n if (status === 'complete') statusIcon = 'success-filled';\n else if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n const childIds = pane.children.map(child => child.id);\n const isExpanded = isCurrentStep || childIds.includes(currentStepId);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-describedBy={descriptionId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-expanded={!!pane.children.length ? `${isExpanded}` : null}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon ? (\n <div class=\"step-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n ) : (\n <div class=\"step-bubble\">{stepNumber}</div>\n )}\n\n {label && (\n <div>\n <div\n class=\"step-label\"\n id={labelId}\n >\n {stepLabel}\n </div>\n {description && (\n <div\n class=\"step-description\"\n id={descriptionId}\n >\n {loc(description)}\n </div>\n )}\n </div>\n )}\n </button>\n {this.renderSpacer(pane, stepLabel, isExpanded, isLastStep)}\n </li>\n );\n }\n\n renderSpacer(pane: IStructuredPane, stepLabel: string, isExpanded: boolean, isLastStep: boolean) {\n const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;\n const spacerClasses = ['spacer'];\n if (!isLastStep) spacerClasses.push('has-sibling');\n return (\n shouldRender && (\n <div class={spacerClasses.join(' ')}>\n {!!pane.children.length && (\n <ul\n ref={el => isExpanded && (this.expandedStepChildrenList = el)}\n aria-hidden={`${!isExpanded}`}\n >\n {pane.children.map((child, index, children) =>\n this.renderChildStepBtn(child, index, children.length, stepLabel)\n )}\n </ul>\n )}\n </div>\n )\n );\n }\n\n renderChildStepBtn(pane: IBaseStructuredPane, index: number, children: number, parentLabel: string) {\n const { currentStepId } = this;\n const { id, label, status } = pane;\n const stepNumber = index + 1;\n const labelId = label && `label-${id}`;\n const isCurrentStep = id === currentStepId;\n const isLocked = status === 'locked';\n const btnLabel =\n !label && loc('tecton.element.advancedStepper.childNumber', [`${stepNumber}`, `${children}`, parentLabel]);\n\n let statusIcon;\n if (status === 'error') statusIcon = 'warning-filled';\n\n const stepClasses = ['step-child-btn'];\n if (status) stepClasses.push(`status-${status}`);\n\n return (\n <li role=\"presentation\">\n <button\n class={stepClasses.join(' ')}\n type=\"button\"\n aria-labelledby={labelId}\n aria-label={btnLabel}\n aria-selected={`${isCurrentStep}`}\n aria-controls={id}\n aria-disabled={isLocked ? 'true' : null}\n role=\"tab\"\n tabIndex={isCurrentStep ? 0 : -1}\n onKeyDown={ev => !isLocked && this.onStepKeyDown(ev, id)}\n onClick={ev => !isLocked && this.onStepClick(ev, id)}\n >\n {statusIcon && (\n <div class=\"step-child-icon\">\n <q2-icon type={statusIcon}></q2-icon>\n </div>\n )}\n {label && (\n <div\n class=\"step-child-label\"\n id={labelId}\n >\n {loc(label)}\n </div>\n )}\n </button>\n </li>\n );\n }\n\n render() {\n return (\n <Fragment>\n <ul role=\"tablist\">{this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))}</ul>\n <div>\n <slot />\n </div>\n </Fragment>\n );\n }\n}\n"]}
|
|
@@ -354,12 +354,15 @@ export class Q2TabContainer {
|
|
|
354
354
|
"cancelable": true,
|
|
355
355
|
"composed": true,
|
|
356
356
|
"docs": {
|
|
357
|
-
"tags": [
|
|
358
|
-
|
|
357
|
+
"tags": [{
|
|
358
|
+
"name": "legacyEvent",
|
|
359
|
+
"text": undefined
|
|
360
|
+
}],
|
|
361
|
+
"text": "Emitted when the selected tab changes."
|
|
359
362
|
},
|
|
360
363
|
"complexType": {
|
|
361
|
-
"original": "
|
|
362
|
-
"resolved": "
|
|
364
|
+
"original": "{ value: string }",
|
|
365
|
+
"resolved": "{ value: string; }",
|
|
363
366
|
"references": {}
|
|
364
367
|
}
|
|
365
368
|
}, {
|
|
@@ -369,12 +372,15 @@ export class Q2TabContainer {
|
|
|
369
372
|
"cancelable": true,
|
|
370
373
|
"composed": true,
|
|
371
374
|
"docs": {
|
|
372
|
-
"tags": [
|
|
373
|
-
|
|
375
|
+
"tags": [{
|
|
376
|
+
"name": "private",
|
|
377
|
+
"text": undefined
|
|
378
|
+
}],
|
|
379
|
+
"text": "Emitted when the component has finished rendering."
|
|
374
380
|
},
|
|
375
381
|
"complexType": {
|
|
376
|
-
"original": "
|
|
377
|
-
"resolved": "
|
|
382
|
+
"original": "undefined",
|
|
383
|
+
"resolved": "undefined",
|
|
378
384
|
"references": {}
|
|
379
385
|
}
|
|
380
386
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-tab-container/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n Watch,\n h,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, loc, addSmoothScrollPolyfill, overrideFocus, isEventFromElement } from 'src/utils';\nimport { JSX } from '../../components';\nimport { Q2Badge } from '../q2-badge';\n\naddSmoothScrollPolyfill();\n\ntype TabPane = {\n label: string;\n value: string;\n badgeCount: number;\n badgeDescription: string;\n badgeTheme: Q2Badge['theme'];\n badgeStatus: Q2Badge['status'];\n};\n\n@Component({\n tag: 'q2-tab-container',\n styleUrl: 'styles.scss',\n shadow: true,\n})\nexport class Q2TabContainer implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) value: string;\n @Prop({ reflect: true }) type: 'main' | 'section';\n @Prop({ reflect: true }) name: string;\n @Prop({ reflect: true }) color: 'alt' | undefined;\n @Prop({ reflect: true }) noPrint: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n @Event() change: EventEmitter;\n @Event() settled: EventEmitter;\n\n guid: number = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n listElement: HTMLUListElement;\n mutationObserver: MutationObserver;\n resizeObserver: ResizeObserver;\n lastScrolled: number = new Date(null).getTime();\n @State() hasLeft: boolean = false;\n @State() hasRight: boolean = false;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n @State() tabs: TabPane[];\n\n resizeIframe() {\n return window.TectonElements?.resizeIframe?.();\n }\n\n get tabPanes() {\n const tabPanes = this.hostElement.querySelectorAll<HTMLQ2TabPaneElement | HTMLTectonTabPaneElement>(\n 'q2-tab-pane, tecton-tab-pane'\n );\n\n if (tabPanes.length === 0) {\n return [];\n }\n\n return Array.from(tabPanes).filter(pane => pane.name === this.name);\n }\n\n get selectedTabValue() {\n return this.value || this.tabPanes[0].value || '';\n }\n\n get tabList() {\n return this.hostElement.shadowRoot.querySelector('.tab-list');\n }\n\n ///////// Default Handler /////////\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('resize', { target: 'window' })\n onResize() {\n this.checkScrollState();\n }\n\n @Listen('focus')\n onFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const index = this.tabs.findIndex(el => el.value === this.selectedTabValue);\n this.moveFocus(index);\n }\n\n @Listen('badge')\n onBadge() {\n this.setTabs();\n }\n\n ///////// Lifecycle Hooks /////////\n componentWillLoad() {\n const observer = new MutationObserver(this.updateTabData);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.updateTabData();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.settled.emit();\n }\n\n componentDidLoad() {\n this.resizeObserver?.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n const index = this.tabs.findIndex(el => el.value === this.value);\n this.scheduledAfterRender.push(() => {\n const hasTabs = this.tabs.length > 0;\n if (!hasTabs) return;\n const tab = this.moveFocus(Math.max(index, 0));\n this.value = tab.dataset.value;\n tab.blur();\n });\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.mutationObserver.disconnect();\n this.resizeObserver = null;\n this.mutationObserver = null;\n }\n\n ///////// Observers /////////\n @Watch('value')\n valueObserver() {\n this.updateTabData();\n this.scheduledAfterRender.push(this.resizeIframe);\n const index = this.tabs.findIndex(el => el.value === this.value);\n if (index > -1) {\n this.scheduledAfterRender.push(() => this.moveFocus(index, false));\n }\n }\n\n @Watch('name')\n nameObserver() {\n this.updateTabData();\n }\n\n ///////// Actions /////////\n updateTabData = () => {\n this.updateTabPaneProps();\n this.setTabs();\n };\n\n updateTabPaneProps = () => {\n this.tabPanes.forEach((tab, index) => {\n tab.selected = tab.value === this.selectedTabValue;\n tab.guid = this.guid;\n tab.index = index;\n });\n };\n\n setTabs = () => {\n this.tabs = this.tabPanes.map(({ label, value, badgeCount, badgeDescription, badgeTheme, badgeStatus }) => ({\n label: (label && loc(label)) || '',\n value,\n badgeCount,\n badgeDescription,\n badgeTheme,\n badgeStatus,\n }));\n };\n\n onTabClick = (event: MouseEvent) => {\n const targetValue = ((event.target as HTMLButtonElement).closest('button[role=\"tab\"]') as HTMLButtonElement)\n .dataset.value;\n const isAlreadySelected = this.value === targetValue;\n if (isAlreadySelected) return;\n\n this.change.emit({\n value: targetValue,\n });\n };\n\n onTabKeyDown = (event: KeyboardEvent) => {\n const value = (event.target as HTMLElement).dataset.value;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'next');\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'prev');\n break;\n\n case 'Home':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'last');\n break;\n\n case 'Space':\n case 'Enter':\n event.preventDefault();\n this.change.emit({ value });\n break;\n }\n };\n\n moveToAdjacentTab = (value: string, direction: 'next' | 'prev' | 'first' | 'last') => {\n const index = this.tabs.map(({ value }) => value).indexOf(value);\n\n let newIndex;\n switch (direction) {\n case 'next':\n newIndex = Math.min(index + 1, this.tabs.length - 1);\n break;\n\n case 'prev':\n newIndex = Math.max(index - 1, 0);\n break;\n\n case 'first':\n newIndex = 0;\n break;\n\n case 'last':\n newIndex = this.tabs.length - 1;\n break;\n }\n\n if (index === newIndex) return;\n\n this.moveFocus(newIndex, false);\n };\n\n moveFocus = (index: number, preventScroll: boolean = true) => {\n const focusedValue = this.tabs[index].value;\n const focusedTab = this.listElement.querySelector<HTMLButtonElement>(`[data-value=\"${focusedValue}\"]`);\n focusedTab.focus({ preventScroll });\n\n const left = focusedTab.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n\n return focusedTab;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = scrollLeft > 0;\n this.showScrollRight = scrollWidth > scrollLeft + clientWidth;\n };\n\n onScrollBtnClick = (direction?: 'left' | 'right') => {\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n const halfWidth = Math.floor(clientWidth / 2);\n let scrollAmount: number = 0;\n if (direction === 'left') {\n scrollAmount = -Math.min(halfWidth, Math.abs(scrollLeft));\n } else {\n scrollAmount = Math.min(halfWidth, Math.abs(scrollWidth - scrollLeft - clientWidth));\n }\n this.listElement.scrollBy({ left: scrollAmount, behavior: 'smooth' });\n };\n\n onSlotChange = () => {\n this.checkScrollState();\n };\n\n ///////// View Methods /////////\n render() {\n return (\n <Fragment>\n <div class=\"tab-container\">\n {this.scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!this.showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!this.showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon\n type=\"chevron-left\"\n label=\"scroll left\"\n ></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon\n type=\"chevron-right\"\n label=\"scroll right\"\n ></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n class={this.noPrint ? 'no-print' : null}\n role=\"tablist\"\n >\n {this.tabs.map((tab, index) => this.generateTab(tab, index))}\n </ul>\n </div>\n <div class=\"tab-content\">\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n\n generateTab(tab: TabPane, index: number): JSX.IntrinsicElements {\n const { label, value } = tab;\n const isSelected = this.selectedTabValue === value;\n return (\n <li role=\"presentation\">\n <button\n id={`tab-${this.guid}-${index}`}\n data-value={value}\n test-id=\"tabLink\"\n tabIndex={isSelected ? 0 : -1}\n role=\"tab\"\n aria-selected={isSelected ? 'true' : 'false'}\n aria-controls={`tab-pane-${this.guid}-${index}`}\n onClick={this.onTabClick}\n onKeyDown={this.onTabKeyDown}\n >\n {tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected)}\n </button>\n </li>\n );\n }\n\n generateTabWithBadge(tab: TabPane, isSelected: boolean): JSX.IntrinsicElements {\n let theme;\n if (!tab.badgeStatus && isSelected) theme = tab.badgeTheme || 'primary';\n let description;\n if (tab.badgeDescription) description = loc(tab.badgeDescription);\n else if (tab.badgeStatus) description = loc(`tecton.element.tab.pane.${tab.badgeStatus}`, [tab.badgeCount]);\n else description = loc('tecton.element.tab.pane.new');\n\n return (\n <div\n class=\"tab-pane-badge\"\n aria-label={`${tab.label}, ${tab.badgeCount} ${description}`}\n >\n {tab.label}\n <q2-badge\n value={tab.badgeCount}\n theme={theme}\n status={tab.badgeStatus}\n />\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-tab-container/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n Watch,\n h,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, loc, addSmoothScrollPolyfill, overrideFocus, isEventFromElement } from 'src/utils';\nimport { JSX } from '../../components';\nimport { Q2Badge } from '../q2-badge';\n\naddSmoothScrollPolyfill();\n\ntype TabPane = {\n label: string;\n value: string;\n badgeCount: number;\n badgeDescription: string;\n badgeTheme: Q2Badge['theme'];\n badgeStatus: Q2Badge['status'];\n};\n\n@Component({\n tag: 'q2-tab-container',\n styleUrl: 'styles.scss',\n shadow: true,\n})\nexport class Q2TabContainer implements ComponentInterface {\n @Prop({ reflect: true, mutable: true }) value: string;\n @Prop({ reflect: true }) type: 'main' | 'section';\n @Prop({ reflect: true }) name: string;\n @Prop({ reflect: true }) color: 'alt' | undefined;\n @Prop({ reflect: true }) noPrint: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n /**\n * Emitted when the selected tab changes.\n * @legacyEvent\n */\n @Event() change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event() settled: EventEmitter<undefined>;\n\n guid: number = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n listElement: HTMLUListElement;\n mutationObserver: MutationObserver;\n resizeObserver: ResizeObserver;\n lastScrolled: number = new Date(null).getTime();\n @State() hasLeft: boolean = false;\n @State() hasRight: boolean = false;\n @State() scrollEnabled: boolean = false;\n @State() showScrollLeft: boolean = false;\n @State() showScrollRight: boolean = false;\n @State() tabs: TabPane[];\n\n resizeIframe() {\n return window.TectonElements?.resizeIframe?.();\n }\n\n get tabPanes() {\n const tabPanes = this.hostElement.querySelectorAll<HTMLQ2TabPaneElement | HTMLTectonTabPaneElement>(\n 'q2-tab-pane, tecton-tab-pane'\n );\n\n if (tabPanes.length === 0) {\n return [];\n }\n\n return Array.from(tabPanes).filter(pane => pane.name === this.name);\n }\n\n get selectedTabValue() {\n return this.value || this.tabPanes[0].value || '';\n }\n\n get tabList() {\n return this.hostElement.shadowRoot.querySelector('.tab-list');\n }\n\n ///////// Default Handler /////////\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('resize', { target: 'window' })\n onResize() {\n this.checkScrollState();\n }\n\n @Listen('focus')\n onFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const index = this.tabs.findIndex(el => el.value === this.selectedTabValue);\n this.moveFocus(index);\n }\n\n @Listen('badge')\n onBadge() {\n this.setTabs();\n }\n\n ///////// Lifecycle Hooks /////////\n componentWillLoad() {\n const observer = new MutationObserver(this.updateTabData);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n this.resizeObserver = new ResizeObserver(() => this.checkScrollState());\n this.updateTabData();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.settled.emit();\n }\n\n componentDidLoad() {\n this.resizeObserver?.observe(this.listElement);\n this.checkScrollState();\n overrideFocus(this.hostElement);\n const index = this.tabs.findIndex(el => el.value === this.value);\n this.scheduledAfterRender.push(() => {\n const hasTabs = this.tabs.length > 0;\n if (!hasTabs) return;\n const tab = this.moveFocus(Math.max(index, 0));\n this.value = tab.dataset.value;\n tab.blur();\n });\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n this.mutationObserver.disconnect();\n this.resizeObserver = null;\n this.mutationObserver = null;\n }\n\n ///////// Observers /////////\n @Watch('value')\n valueObserver() {\n this.updateTabData();\n this.scheduledAfterRender.push(this.resizeIframe);\n const index = this.tabs.findIndex(el => el.value === this.value);\n if (index > -1) {\n this.scheduledAfterRender.push(() => this.moveFocus(index, false));\n }\n }\n\n @Watch('name')\n nameObserver() {\n this.updateTabData();\n }\n\n ///////// Actions /////////\n updateTabData = () => {\n this.updateTabPaneProps();\n this.setTabs();\n };\n\n updateTabPaneProps = () => {\n this.tabPanes.forEach((tab, index) => {\n tab.selected = tab.value === this.selectedTabValue;\n tab.guid = this.guid;\n tab.index = index;\n });\n };\n\n setTabs = () => {\n this.tabs = this.tabPanes.map(({ label, value, badgeCount, badgeDescription, badgeTheme, badgeStatus }) => ({\n label: (label && loc(label)) || '',\n value,\n badgeCount,\n badgeDescription,\n badgeTheme,\n badgeStatus,\n }));\n };\n\n onTabClick = (event: MouseEvent) => {\n const targetValue = ((event.target as HTMLButtonElement).closest('button[role=\"tab\"]') as HTMLButtonElement)\n .dataset.value;\n const isAlreadySelected = this.value === targetValue;\n if (isAlreadySelected) return;\n\n this.change.emit({\n value: targetValue,\n });\n };\n\n onTabKeyDown = (event: KeyboardEvent) => {\n const value = (event.target as HTMLElement).dataset.value;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'next');\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'prev');\n break;\n\n case 'Home':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'first');\n break;\n\n case 'End':\n event.preventDefault();\n this.moveToAdjacentTab(value, 'last');\n break;\n\n case 'Space':\n case 'Enter':\n event.preventDefault();\n this.change.emit({ value });\n break;\n }\n };\n\n moveToAdjacentTab = (value: string, direction: 'next' | 'prev' | 'first' | 'last') => {\n const index = this.tabs.map(({ value }) => value).indexOf(value);\n\n let newIndex;\n switch (direction) {\n case 'next':\n newIndex = Math.min(index + 1, this.tabs.length - 1);\n break;\n\n case 'prev':\n newIndex = Math.max(index - 1, 0);\n break;\n\n case 'first':\n newIndex = 0;\n break;\n\n case 'last':\n newIndex = this.tabs.length - 1;\n break;\n }\n\n if (index === newIndex) return;\n\n this.moveFocus(newIndex, false);\n };\n\n moveFocus = (index: number, preventScroll: boolean = true) => {\n const focusedValue = this.tabs[index].value;\n const focusedTab = this.listElement.querySelector<HTMLButtonElement>(`[data-value=\"${focusedValue}\"]`);\n focusedTab.focus({ preventScroll });\n\n const left = focusedTab.offsetLeft - this.listElement.clientWidth / 2;\n this.listElement.scrollTo({\n left,\n behavior: 'smooth',\n });\n\n return focusedTab;\n };\n\n checkScrollState = () => {\n if (!this.listElement) return;\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n this.scrollEnabled = scrollWidth > clientWidth;\n this.showScrollLeft = scrollLeft > 0;\n this.showScrollRight = scrollWidth > scrollLeft + clientWidth;\n };\n\n onScrollBtnClick = (direction?: 'left' | 'right') => {\n const { scrollLeft, scrollWidth, clientWidth } = this.listElement;\n const halfWidth = Math.floor(clientWidth / 2);\n let scrollAmount: number = 0;\n if (direction === 'left') {\n scrollAmount = -Math.min(halfWidth, Math.abs(scrollLeft));\n } else {\n scrollAmount = Math.min(halfWidth, Math.abs(scrollWidth - scrollLeft - clientWidth));\n }\n this.listElement.scrollBy({ left: scrollAmount, behavior: 'smooth' });\n };\n\n onSlotChange = () => {\n this.checkScrollState();\n };\n\n ///////// View Methods /////////\n render() {\n return (\n <Fragment>\n <div class=\"tab-container\">\n {this.scrollEnabled && (\n <Fragment>\n <div\n class=\"gradient-left\"\n hidden={!this.showScrollLeft}\n ></div>\n <div\n class=\"gradient-right\"\n hidden={!this.showScrollRight}\n ></div>\n\n <q2-btn\n class=\"btn-left\"\n hidden={!this.showScrollLeft}\n onClick={() => this.onScrollBtnClick('left')}\n >\n <q2-icon\n type=\"chevron-left\"\n label=\"scroll left\"\n ></q2-icon>\n </q2-btn>\n\n <q2-btn\n class=\"btn-right\"\n hidden={!this.showScrollRight}\n onClick={() => this.onScrollBtnClick('right')}\n >\n <q2-icon\n type=\"chevron-right\"\n label=\"scroll right\"\n ></q2-icon>\n </q2-btn>\n </Fragment>\n )}\n\n <ul\n onScroll={this.checkScrollState}\n ref={el => (this.listElement = el)}\n class={this.noPrint ? 'no-print' : null}\n role=\"tablist\"\n >\n {this.tabs.map((tab, index) => this.generateTab(tab, index))}\n </ul>\n </div>\n <div class=\"tab-content\">\n <slot onSlotchange={() => this.onSlotChange()} />\n </div>\n </Fragment>\n );\n }\n\n generateTab(tab: TabPane, index: number): JSX.IntrinsicElements {\n const { label, value } = tab;\n const isSelected = this.selectedTabValue === value;\n return (\n <li role=\"presentation\">\n <button\n id={`tab-${this.guid}-${index}`}\n data-value={value}\n test-id=\"tabLink\"\n tabIndex={isSelected ? 0 : -1}\n role=\"tab\"\n aria-selected={isSelected ? 'true' : 'false'}\n aria-controls={`tab-pane-${this.guid}-${index}`}\n onClick={this.onTabClick}\n onKeyDown={this.onTabKeyDown}\n >\n {tab.badgeCount === undefined ? label : this.generateTabWithBadge(tab, isSelected)}\n </button>\n </li>\n );\n }\n\n generateTabWithBadge(tab: TabPane, isSelected: boolean): JSX.IntrinsicElements {\n let theme;\n if (!tab.badgeStatus && isSelected) theme = tab.badgeTheme || 'primary';\n let description;\n if (tab.badgeDescription) description = loc(tab.badgeDescription);\n else if (tab.badgeStatus) description = loc(`tecton.element.tab.pane.${tab.badgeStatus}`, [tab.badgeCount]);\n else description = loc('tecton.element.tab.pane.new');\n\n return (\n <div\n class=\"tab-pane-badge\"\n aria-label={`${tab.label}, ${tab.badgeCount} ${description}`}\n >\n {tab.label}\n <q2-badge\n value={tab.badgeCount}\n theme={theme}\n status={tab.badgeStatus}\n />\n </div>\n );\n }\n}\n"]}
|
|
@@ -234,8 +234,11 @@ export class Q2TabPane {
|
|
|
234
234
|
"cancelable": true,
|
|
235
235
|
"composed": true,
|
|
236
236
|
"docs": {
|
|
237
|
-
"tags": [
|
|
238
|
-
|
|
237
|
+
"tags": [{
|
|
238
|
+
"name": "private",
|
|
239
|
+
"text": undefined
|
|
240
|
+
}],
|
|
241
|
+
"text": "Emitted when the badge count, description, theme, or status changes."
|
|
239
242
|
},
|
|
240
243
|
"complexType": {
|
|
241
244
|
"original": "boolean",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-tab-pane/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,IAAI,EAAE,KAAK,EAAgB,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAQnG,MAAM,OAAO,SAAS;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/q2-tab-pane/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,IAAI,EAAE,KAAK,EAAgB,KAAK,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAQnG,MAAM,OAAO,SAAS;;;;;;;;;;;;;EAsClB,aAAa;IACT,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;EACtB,CAAC;EAED,MAAM;IACF,OAAO,CACH,WACI,EAAE,EAAE,YAAY,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EACzC,KAAK,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAClD,IAAI,EAAC,UAAU,EACf,QAAQ,EAAC,IAAI,iBACA,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,qBACf,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;MAEjD,eAAQ,CACN,CACT,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, ComponentInterface, Prop, Event, EventEmitter, Watch, h } from '@stencil/core';\nimport { Q2Badge } from '../q2-badge';\n\n@Component({\n tag: 'q2-tab-pane',\n styleUrl: 'styles.scss',\n shadow: true,\n})\nexport class Q2TabPane implements ComponentInterface {\n @Prop({ reflect: true }) value: string;\n @Prop({ reflect: true }) label: string;\n /**\n * Used by q2-tab-container to apply a name to all options in the group\n * @private\n */\n @Prop({ reflect: true }) name: string;\n /**\n * Used by q2-tab-container to indicate the option is selected\n * @private\n */\n @Prop({ reflect: true }) selected: boolean;\n @Prop({ reflect: true }) badgeCount: number;\n @Prop({ reflect: true }) badgeDescription: string;\n @Prop({ reflect: true }) badgeTheme: Q2Badge['theme'];\n @Prop({ reflect: true }) badgeStatus: Q2Badge['status'];\n /**\n * Used by q2-tab-container to indicate the pane's index\n * @private\n */\n @Prop() index: number;\n /**\n * Used by q2-tab-container to apply a unique id to each tab pane\n * @private\n */\n @Prop() guid: number;\n\n /**\n * Emitted when the badge count, description, theme, or status changes.\n * @private\n */\n @Event({ bubbles: true }) badge: EventEmitter<boolean>;\n\n @Watch('badgeCount')\n @Watch('badgeDescription')\n @Watch('badgeTheme')\n @Watch('badgeStatus')\n badgeObserver() {\n this.badge.emit();\n }\n\n render() {\n return (\n <div\n id={`tab-pane-${this.guid}-${this.index}`}\n class={`tab-pane${this.selected ? '' : ' hidden'}`}\n role=\"tabpanel\"\n tabindex=\"-1\"\n aria-hidden={`${!this.selected}`}\n aria-labelledby={`tab-${this.guid}-${this.index}`}\n >\n <slot />\n </div>\n );\n }\n}\n"]}
|
|
@@ -283,7 +283,7 @@ export class Q2Tag {
|
|
|
283
283
|
"composed": true,
|
|
284
284
|
"docs": {
|
|
285
285
|
"tags": [],
|
|
286
|
-
"text": ""
|
|
286
|
+
"text": "Emitted when a provided option is clicked.\n\nRequires at least one option to be provided."
|
|
287
287
|
},
|
|
288
288
|
"complexType": {
|
|
289
289
|
"original": "{ value: string }",
|