q2-tecton-elements 1.71.4 → 1.73.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/bundle-report.json +32564 -26687
- package/dist/cjs/{charting-ClN1ldqv.js → charting-CdNTrVBe.js} +80 -0
- package/dist/cjs/click-elsewhere_3.cjs.entry.js +85 -20
- package/dist/cjs/{dataSample-BYR-wrOn.js → dataSample-B4blhlH4.js} +1 -1
- package/dist/cjs/date-picker-helpers-UYvPn98R.js +257 -0
- package/dist/cjs/{index-SpDCZABA.js → index-BqyWHpNu.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{q2-action-group_2.cjs.entry.js → q2-action-group.cjs.entry.js} +1 -89
- package/dist/cjs/q2-action-sheet.cjs.entry.js +98 -18
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge_2.cjs.entry.js +113 -12
- package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-calendar.cjs.entry.js +14 -7
- package/dist/cjs/q2-card-image.cjs.entry.js +4 -4
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
- package/dist/cjs/q2-carousel.cjs.entry.js +20 -6
- package/dist/cjs/q2-chart-area.cjs.entry.js +38 -7
- package/dist/cjs/q2-chart-bar.cjs.entry.js +39 -8
- package/dist/cjs/q2-chart-donut.cjs.entry.js +31 -13
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/q2-checkbox_2.cjs.entry.js +9 -6
- package/dist/cjs/q2-context.cjs.entry.js +6 -5
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +7 -7
- package/dist/cjs/q2-date-calendar.cjs.entry.js +452 -0
- package/dist/cjs/q2-date-picker_2.cjs.entry.js +968 -0
- package/dist/cjs/q2-detail.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +4 -4
- package/dist/cjs/q2-editable-field.cjs.entry.js +51 -37
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +60 -4
- package/dist/cjs/q2-form.cjs.entry.js +1 -1
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-item.cjs.entry.js +21 -3
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-meter.cjs.entry.js +2 -2
- package/dist/cjs/q2-modal.cjs.entry.js +59 -17
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-otp.cjs.entry.js +5 -5
- package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
- package/dist/cjs/q2-pill.cjs.entry.js +8 -5
- package/dist/cjs/q2-radio-group.cjs.entry.js +22 -4
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-resize-observer.cjs.entry.js +92 -0
- package/dist/cjs/q2-search.cjs.entry.js +4 -4
- package/dist/cjs/q2-section.cjs.entry.js +7 -7
- package/dist/cjs/q2-select.cjs.entry.js +41 -21
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-surface.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-toast.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/{sectorHelper-9TWL-3dw.js → sectorHelper-CxhDl5ql.js} +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +5 -3
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +52 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +98 -18
- package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.vr.js +124 -0
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-btn/q2-btn.css +152 -146
- package/dist/collection/components/q2-btn/q2-btn.js +10 -4
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +229 -20
- package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
- package/dist/collection/components/q2-calendar/q2-calendar.js +20 -7
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +26 -15
- package/dist/collection/components/q2-card/test/q2-card-test.vr.js +4 -0
- package/dist/collection/components/q2-card-image/q2-card-image.css +89 -134
- package/dist/collection/components/q2-card-image/q2-card-image.js +4 -4
- package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +4 -0
- package/dist/collection/components/q2-carousel/q2-carousel.js +19 -5
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +45 -0
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-chart-area/q2-chart-area.css +11 -0
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +53 -7
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +14 -0
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +11 -0
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +50 -4
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +14 -0
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -10
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +25 -0
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +2 -2
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +6 -3
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +2 -0
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +6 -3
- package/dist/collection/components/q2-context/q2-context.css +5 -0
- package/dist/collection/components/q2-context/q2-context.js +4 -3
- package/dist/collection/components/q2-context/test/q2-context-test.vr.js +14 -4
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +6 -0
- package/dist/collection/components/q2-data-table/q2-data-table.js +5 -5
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +52 -0
- package/dist/collection/components/q2-date-calendar/q2-date-calendar.css +393 -0
- package/dist/collection/components/q2-date-calendar/q2-date-calendar.js +1022 -0
- package/dist/collection/components/q2-date-calendar/test/q2-date-calendar-test.vr.js +111 -0
- package/dist/collection/components/q2-date-picker/q2-date-picker.css +138 -0
- package/dist/collection/components/q2-date-picker/q2-date-picker.js +2010 -0
- package/dist/collection/components/q2-date-picker/test/q2-date-picker-test.vr.js +179 -0
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +2 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +5 -5
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.vr.js +30 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.css +2 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +59 -45
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +27 -0
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +98 -2
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +22 -0
- package/dist/collection/components/q2-form/q2-form.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-input/q2-input.css +67 -1
- package/dist/collection/components/q2-input/q2-input.js +160 -15
- package/dist/collection/components/q2-input/test/q2-input-test.vr.js +35 -0
- package/dist/collection/components/q2-item/q2-item.css +3 -1
- package/dist/collection/components/q2-item/q2-item.js +19 -1
- package/dist/collection/components/q2-item/test/q2-item-test.vr.js +8 -2
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-message/q2-message.css +5 -5
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-meter/q2-meter.js +1 -1
- package/dist/collection/components/q2-modal/q2-modal.css +40 -3
- package/dist/collection/components/q2-modal/q2-modal.js +100 -16
- package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +32 -7
- package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +33 -4
- package/dist/collection/components/q2-otp/q2-otp.js +4 -4
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pill/q2-pill.css +2 -2
- package/dist/collection/components/q2-pill/q2-pill.js +6 -3
- package/dist/collection/components/q2-popover/q2-popover.css +4 -2
- package/dist/collection/components/q2-popover/q2-popover.js +50 -14
- package/dist/collection/components/q2-radio/q2-radio.css +158 -104
- package/dist/collection/components/q2-radio/q2-radio.js +5 -2
- package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +25 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +39 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +73 -4
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +43 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +2 -2
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-search/q2-search.css +2 -0
- package/dist/collection/components/q2-search/q2-search.js +6 -3
- package/dist/collection/components/q2-section/q2-section.css +2 -0
- package/dist/collection/components/q2-section/q2-section.js +6 -6
- package/dist/collection/components/q2-select/q2-select.css +3 -0
- package/dist/collection/components/q2-select/q2-select.js +48 -22
- package/dist/collection/components/q2-select/test/q2-select-test.vr.js +13 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-surface/q2-surface.js +1 -1
- package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +2 -2
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +6 -3
- package/dist/collection/components/q2-textarea/q2-textarea.js +6 -3
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +5 -3
- package/dist/collection/utils/chart-keyboard.js +76 -0
- package/dist/collection/utils/date-picker/date-picker-helpers.js +239 -0
- package/dist/collection/utils/date-picker/date-picker-types.js +1 -0
- package/dist/collection/utils/index.js +2 -2
- package/dist/collection/utils/test/vr-helpers.js +16 -2
- package/dist/components/charting.js +1603 -1532
- package/dist/components/dataSample.js +7 -7
- package/dist/components/index.js +57 -53
- package/dist/components/index2.js +3 -3
- package/dist/components/q2-action-sheet.js +224 -103
- package/dist/components/q2-avatar2.js +8 -8
- package/dist/components/q2-btn2.js +2 -2
- package/dist/components/q2-calendar.js +15 -10
- package/dist/components/q2-card-image.js +24 -24
- package/dist/components/q2-carousel-pane2.js +3 -3
- package/dist/components/q2-carousel.js +37 -24
- package/dist/components/q2-chart-area.js +415 -369
- package/dist/components/q2-chart-bar.js +193 -148
- package/dist/components/q2-chart-donut.js +185 -158
- package/dist/components/q2-checkbox-group.js +12 -12
- package/dist/components/q2-checkbox2.js +12 -12
- package/dist/components/q2-context.js +30 -29
- package/dist/components/q2-currency.js +9 -9
- package/dist/components/q2-data-table.js +111 -111
- package/dist/components/q2-date-calendar.d.ts +11 -0
- package/dist/components/q2-date-calendar.js +5 -0
- package/dist/components/q2-date-calendar2.js +678 -0
- package/dist/components/q2-date-picker.d.ts +11 -0
- package/dist/components/q2-date-picker.js +5 -0
- package/dist/components/q2-date-picker2.js +875 -0
- package/dist/components/q2-detail.js +3 -3
- package/dist/components/q2-dropdown.js +13 -13
- package/dist/components/q2-editable-field.js +45 -36
- package/dist/components/q2-example.js +11 -11
- package/dist/components/q2-file-picker.js +71 -11
- package/dist/components/q2-form.js +6 -6
- package/dist/components/q2-formatted-text.js +2 -2
- package/dist/components/q2-input2.js +268 -163
- package/dist/components/q2-item2.js +33 -23
- package/dist/components/q2-legend2.js +7 -7
- package/dist/components/q2-list2.js +6 -6
- package/dist/components/q2-message2.js +29 -29
- package/dist/components/q2-meter.js +7 -7
- package/dist/components/q2-modal.js +94 -76
- package/dist/components/q2-month-picker.js +17 -17
- package/dist/components/q2-mutation-observer.js +1 -1
- package/dist/components/q2-optgroup2.js +7 -7
- package/dist/components/q2-option-list2.js +52 -32
- package/dist/components/q2-otp.js +8 -8
- package/dist/components/q2-pagination.js +67 -67
- package/dist/components/q2-pill.js +17 -15
- package/dist/components/q2-popover2.js +77 -53
- package/dist/components/q2-radio-group.js +70 -40
- package/dist/components/q2-radio.js +40 -55
- package/dist/components/q2-relative-time.js +5 -5
- package/dist/components/q2-resize-observer2.js +23 -23
- package/dist/components/q2-search.js +6 -6
- package/dist/components/q2-section.js +33 -33
- package/dist/components/q2-select2.js +47 -40
- package/dist/components/q2-stepper-pane.js +17 -13
- package/dist/components/q2-stepper-vertical.js +4 -4
- package/dist/components/q2-stepper.js +57 -57
- package/dist/components/q2-surface.js +3 -3
- package/dist/components/q2-tab-container.js +18 -18
- package/dist/components/q2-tab-pane.js +2 -2
- package/dist/components/q2-tag2.js +8 -6
- package/dist/components/q2-textarea.js +3 -3
- package/dist/components/sectorHelper.js +78 -78
- package/dist/components/tecton-tab-pane.js +12 -11
- package/dist/esm/{charting-DOZct-UB.js → charting-DFXJklqs.js} +79 -1
- package/dist/esm/click-elsewhere_3.entry.js +85 -20
- package/dist/esm/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +1 -1
- package/dist/esm/date-picker-helpers-D8QnN_AS.js +242 -0
- package/dist/esm/{index-Cps4jSQM.js → index-CP8pXJ-l.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{q2-action-group_2.entry.js → q2-action-group.entry.js} +3 -90
- package/dist/esm/q2-action-sheet.entry.js +99 -19
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-badge_2.entry.js +113 -12
- package/dist/esm/q2-btn_2.entry.js +2 -2
- package/dist/esm/q2-calendar.entry.js +14 -7
- package/dist/esm/q2-card-image.entry.js +4 -4
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +3 -3
- package/dist/esm/q2-carousel.entry.js +20 -6
- package/dist/esm/q2-chart-area.entry.js +38 -7
- package/dist/esm/q2-chart-bar.entry.js +39 -8
- package/dist/esm/q2-chart-donut.entry.js +31 -13
- package/dist/esm/q2-checkbox-group.entry.js +3 -3
- package/dist/esm/q2-checkbox_2.entry.js +9 -6
- package/dist/esm/q2-context.entry.js +6 -5
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +7 -7
- package/dist/esm/q2-date-calendar.entry.js +450 -0
- package/dist/esm/q2-date-picker_2.entry.js +965 -0
- package/dist/esm/q2-detail.entry.js +2 -2
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +4 -4
- package/dist/esm/q2-editable-field.entry.js +51 -37
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +60 -4
- package/dist/esm/q2-form.entry.js +1 -1
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-item.entry.js +21 -3
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-link_2.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-meter.entry.js +2 -2
- package/dist/esm/q2-modal.entry.js +59 -17
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-mutation-observer.entry.js +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-otp.entry.js +5 -5
- package/dist/esm/q2-pagination.entry.js +4 -4
- package/dist/esm/q2-pill.entry.js +8 -5
- package/dist/esm/q2-radio-group.entry.js +22 -4
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-resize-observer.entry.js +90 -0
- package/dist/esm/q2-search.entry.js +4 -4
- package/dist/esm/q2-section.entry.js +7 -7
- package/dist/esm/q2-select.entry.js +41 -21
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-surface.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +2 -2
- package/dist/esm/q2-tab-pane.entry.js +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-toast.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +5 -3
- package/dist/q2-tecton-elements/{charting-DOZct-UB.js → charting-DFXJklqs.js} +1625 -1554
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +98 -54
- package/dist/q2-tecton-elements/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +33 -33
- package/dist/q2-tecton-elements/date-picker-helpers-D8QnN_AS.js +153 -0
- package/dist/q2-tecton-elements/{index-Cps4jSQM.js → index-CP8pXJ-l.js} +2 -2
- package/dist/q2-tecton-elements/{q2-action-group_2.entry.js → q2-action-group.entry.js} +35 -113
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +169 -84
- package/dist/q2-tecton-elements/q2-avatar.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-badge_2.entry.js +240 -140
- package/dist/q2-tecton-elements/q2-btn_2.entry.js +23 -23
- package/dist/q2-tecton-elements/q2-calendar.entry.js +18 -13
- package/dist/q2-tecton-elements/q2-card-image.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-carousel.entry.js +24 -11
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +190 -144
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +382 -338
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +186 -160
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +21 -19
- package/dist/q2-tecton-elements/q2-context.entry.js +18 -17
- package/dist/q2-tecton-elements/q2-currency.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-data-table.entry.js +38 -38
- package/dist/q2-tecton-elements/q2-date-calendar.entry.js +438 -0
- package/dist/q2-tecton-elements/q2-date-picker_2.entry.js +792 -0
- package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +10 -10
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +50 -41
- package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +62 -7
- package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +27 -17
- package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.js +30 -30
- package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-modal.entry.js +61 -45
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-otp.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-pagination.entry.js +20 -20
- package/dist/q2-tecton-elements/q2-pill.entry.js +43 -41
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +55 -34
- package/dist/q2-tecton-elements/q2-radio.entry.js +38 -53
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +11 -11
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +81 -0
- package/dist/q2-tecton-elements/q2-search.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-section.entry.js +25 -25
- package/dist/q2-tecton-elements/q2-select.entry.js +28 -21
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +19 -15
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-stepper.entry.js +45 -45
- package/dist/q2-tecton-elements/q2-surface.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-tab-container.entry.js +15 -15
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +56 -56
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -7
- package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +21 -1
- package/dist/types/components/q2-action-sheet/test/q2-action-sheet-test.vr.d.ts +1 -0
- package/dist/types/components/q2-btn/q2-btn.d.ts +7 -3
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +10 -2
- package/dist/types/components/q2-card-image/q2-card-image.d.ts +1 -1
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +5 -0
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +11 -2
- package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +9 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +1 -0
- package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +4 -3
- package/dist/types/components/q2-checkbox-group/q2-checkbox-group.d.ts +4 -2
- package/dist/types/components/q2-date-calendar/q2-date-calendar.d.ts +122 -0
- package/dist/types/components/q2-date-calendar/test/q2-date-calendar-test.vr.d.ts +1 -0
- package/dist/types/components/q2-date-picker/q2-date-picker.d.ts +304 -0
- package/dist/types/components/q2-date-picker/test/q2-date-picker-test.vr.d.ts +1 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +3 -3
- package/dist/types/components/q2-dropdown/test/q2-dropdown-test.vr.d.ts +1 -0
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +20 -2
- package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +20 -0
- package/dist/types/components/q2-input/q2-input.d.ts +32 -4
- package/dist/types/components/q2-item/q2-item.d.ts +3 -0
- package/dist/types/components/q2-modal/q2-modal.d.ts +10 -1
- package/dist/types/components/q2-option-list/q2-option-list.d.ts +1 -0
- package/dist/types/components/q2-popover/q2-popover.d.ts +4 -0
- package/dist/types/components/q2-radio/q2-radio.d.ts +3 -2
- package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +18 -2
- package/dist/types/components/q2-search/q2-search.d.ts +3 -1
- package/dist/types/components/q2-select/q2-select.d.ts +12 -4
- package/dist/types/components/q2-textarea/q2-textarea.d.ts +4 -2
- package/dist/types/components.d.ts +1112 -195
- package/dist/types/global.d.ts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/chart-keyboard.d.ts +16 -0
- package/dist/types/utils/date-picker/date-picker-helpers.d.ts +47 -0
- package/dist/types/utils/date-picker/date-picker-types.d.ts +42 -0
- package/dist/types/utils/test/vr-helpers.d.ts +2 -0
- package/package.json +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +0 -70
- package/dist/esm/q2-optgroup.entry.js +0 -68
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +0 -88
|
@@ -131,7 +131,7 @@ dialog {
|
|
|
131
131
|
--comp-dialog-gap: var(--tct-modal-gap, var(--app-scale-2x, 10px));
|
|
132
132
|
--comp-dialog-max-width: var(--tct-modal-max-width, 600px);
|
|
133
133
|
--comp-dialog-max-height: var(--tct-modal-max-height, 100vh);
|
|
134
|
-
--comp-dialog-min-height: var(--tct-modal-min-height,
|
|
134
|
+
--comp-dialog-min-height: var(--tct-modal-min-height, inherit);
|
|
135
135
|
--comp-dialog-box-shadow: var(--tct-modal-box-shadow, var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14)));
|
|
136
136
|
position: fixed;
|
|
137
137
|
top: 100%;
|
|
@@ -141,6 +141,7 @@ dialog {
|
|
|
141
141
|
transition: transform var(--tct-modal-tween, var(--app-tween-2, 0.4s ease)), opacity var(--tct-modal-tween, var(--app-tween-2, 0.4s ease));
|
|
142
142
|
width: 100%;
|
|
143
143
|
max-width: var(--comp-dialog-max-width);
|
|
144
|
+
max-height: var(--comp-dialog-max-height);
|
|
144
145
|
border: 0;
|
|
145
146
|
border-radius: var(--comp-border-radius);
|
|
146
147
|
box-shadow: var(--comp-dialog-box-shadow);
|
|
@@ -222,11 +223,12 @@ dialog[open].is-closing::backdrop {
|
|
|
222
223
|
}
|
|
223
224
|
|
|
224
225
|
.interior {
|
|
226
|
+
box-sizing: border-box;
|
|
225
227
|
display: grid;
|
|
226
228
|
min-height: var(--comp-dialog-min-height);
|
|
227
|
-
grid-template-rows: auto 1fr auto;
|
|
229
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
228
230
|
gap: var(--comp-dialog-gap);
|
|
229
|
-
max-height:
|
|
231
|
+
max-height: min(var(--comp-dialog-max-height), 100vh - 2 * var(--comp-dialog-padding));
|
|
230
232
|
padding: var(--comp-dialog-padding);
|
|
231
233
|
}
|
|
232
234
|
.interior.is-list header,
|
|
@@ -263,4 +265,39 @@ header .btn-close {
|
|
|
263
265
|
grid-area: close;
|
|
264
266
|
width: var(--comp-close-button-size);
|
|
265
267
|
height: var(--comp-close-button-size);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
footer {
|
|
271
|
+
--tct-action-group-margin: var(--app-scale-2x, 10px) 0 0;
|
|
272
|
+
align-self: end;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
@media screen and (max-height: 400px) {
|
|
276
|
+
.content {
|
|
277
|
+
-webkit-mask-image: none;
|
|
278
|
+
mask-image: none;
|
|
279
|
+
overflow-y: visible;
|
|
280
|
+
}
|
|
281
|
+
.interior {
|
|
282
|
+
grid-template-rows: auto auto auto;
|
|
283
|
+
overflow-y: auto;
|
|
284
|
+
--comp-scrollbar-size: var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));
|
|
285
|
+
--comp-scrollbar-border-radius: var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));
|
|
286
|
+
--comp-scrollbar-color: var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));
|
|
287
|
+
scrollbar-width: thin;
|
|
288
|
+
scrollbar-color: var(--comp-scrollbar-color) transparent;
|
|
289
|
+
}
|
|
290
|
+
.interior::-webkit-scrollbar {
|
|
291
|
+
width: var(--comp-scrollbar-size);
|
|
292
|
+
height: var(--comp-scrollbar-size);
|
|
293
|
+
margin: 5px;
|
|
294
|
+
}
|
|
295
|
+
.interior::-webkit-scrollbar-thumb {
|
|
296
|
+
background: var(--comp-scrollbar-color);
|
|
297
|
+
border-radius: var(--comp-scrollbar-border-radius);
|
|
298
|
+
}
|
|
299
|
+
.interior::-webkit-scrollbar-track {
|
|
300
|
+
background: transparent;
|
|
301
|
+
border-radius: var(--comp-scrollbar-border-radius);
|
|
302
|
+
}
|
|
266
303
|
}
|
|
@@ -21,11 +21,19 @@ export class Q2Modal {
|
|
|
21
21
|
// #endregion
|
|
22
22
|
// #region Public Property API
|
|
23
23
|
/**
|
|
24
|
-
* Controls visibility of the close button
|
|
24
|
+
* Controls visibility of the close button and whether the modal can be dismissed with the backdrop or Escape key.
|
|
25
25
|
*/
|
|
26
26
|
this.closable = true;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the action buttons should take up the full width of the modal footer.
|
|
29
|
+
*/
|
|
30
|
+
this.fullWidthButton = true;
|
|
27
31
|
// #endregion
|
|
28
32
|
// #region Local Methods
|
|
33
|
+
this.hasDialogTransition = () => {
|
|
34
|
+
const transitionDurations = (getComputedStyle(this.dialogElement).transitionDuration || '0s').split(',');
|
|
35
|
+
return transitionDurations.some(duration => parseFloat(duration) > 0);
|
|
36
|
+
};
|
|
29
37
|
this.initializeModal = () => {
|
|
30
38
|
// limits 4 buttons in action slot
|
|
31
39
|
this.hostElement.querySelectorAll('[slot="action"]').forEach((el, i) => {
|
|
@@ -39,6 +47,8 @@ export class Q2Modal {
|
|
|
39
47
|
};
|
|
40
48
|
this.onCancel = (event) => {
|
|
41
49
|
event.preventDefault();
|
|
50
|
+
if (!this.closable)
|
|
51
|
+
return;
|
|
42
52
|
this.closeModal();
|
|
43
53
|
};
|
|
44
54
|
this.onClick = (event) => {
|
|
@@ -49,12 +59,16 @@ export class Q2Modal {
|
|
|
49
59
|
const slot = eventTarget.getAttribute('slot');
|
|
50
60
|
if (slot === 'action') {
|
|
51
61
|
this.tctClick.emit({ value: eventTarget.dataset.value });
|
|
52
|
-
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
this.closeModal();
|
|
53
64
|
}
|
|
54
65
|
else {
|
|
55
66
|
const isInContent = !!eventTarget.closest('.interior , q2-modal');
|
|
56
67
|
if (isInContent)
|
|
57
68
|
return;
|
|
69
|
+
this.tctBackdropClick.emit();
|
|
70
|
+
if (!this.closable)
|
|
71
|
+
return;
|
|
58
72
|
this.onCancel(event);
|
|
59
73
|
}
|
|
60
74
|
};
|
|
@@ -78,33 +92,50 @@ export class Q2Modal {
|
|
|
78
92
|
// #region Component Lifecycle Events
|
|
79
93
|
disconnectedCallback() {
|
|
80
94
|
var _a;
|
|
81
|
-
this.dialogElement.removeEventListener('cancel', this.onCancel);
|
|
82
95
|
(_a = this.contentElement) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', this.debouncedScroll);
|
|
83
96
|
}
|
|
84
97
|
componentDidLoad() {
|
|
85
|
-
this.dialogElement.addEventListener('cancel', this.onCancel);
|
|
86
98
|
this.tctReady.emit();
|
|
87
99
|
this.bodyOverflow = document.body.style.overflow;
|
|
88
100
|
this.debouncedScroll = debounce(this.onContentScroll, 100);
|
|
89
101
|
this.contentElement.addEventListener('scroll', this.debouncedScroll);
|
|
90
102
|
}
|
|
91
103
|
componentDidRender() {
|
|
92
|
-
var _a;
|
|
93
|
-
(_a = this.
|
|
104
|
+
var _a, _b;
|
|
105
|
+
(_a = this.dialogElement) === null || _a === void 0 ? void 0 : _a.setAttribute('closedby', this.closable ? 'closerequest' : 'none');
|
|
106
|
+
(_b = this.scheduledAfterRender) === null || _b === void 0 ? void 0 : _b.forEach(fn => fn());
|
|
94
107
|
this.scheduledAfterRender = [];
|
|
95
108
|
}
|
|
96
109
|
// #endregion
|
|
97
110
|
// #region Public Methods API
|
|
98
111
|
async closeModal(data) {
|
|
99
|
-
|
|
100
|
-
this.
|
|
112
|
+
var _a;
|
|
113
|
+
if (!((_a = this.dialogElement) === null || _a === void 0 ? void 0 : _a.open))
|
|
114
|
+
return;
|
|
115
|
+
const shouldWaitForTransition = this.renderStatus === 'is-open' && this.hasDialogTransition();
|
|
101
116
|
document.body.style.overflow = this.bodyOverflow;
|
|
102
|
-
|
|
117
|
+
const completeClose = () => {
|
|
103
118
|
if (this.renderStatus !== 'is-closing')
|
|
104
119
|
return;
|
|
120
|
+
this.dialogElement.removeEventListener('transitionend', onTransitionComplete);
|
|
121
|
+
this.dialogElement.removeEventListener('transitioncancel', onTransitionComplete);
|
|
105
122
|
this.dialogElement.close();
|
|
106
123
|
this.renderStatus = null;
|
|
107
|
-
|
|
124
|
+
this.tctClose.emit(data);
|
|
125
|
+
};
|
|
126
|
+
const onTransitionComplete = (event) => {
|
|
127
|
+
if (event.target !== this.dialogElement || event.propertyName !== 'transform')
|
|
128
|
+
return;
|
|
129
|
+
completeClose();
|
|
130
|
+
};
|
|
131
|
+
if (shouldWaitForTransition) {
|
|
132
|
+
this.dialogElement.addEventListener('transitionend', onTransitionComplete);
|
|
133
|
+
this.dialogElement.addEventListener('transitioncancel', onTransitionComplete);
|
|
134
|
+
}
|
|
135
|
+
this.renderStatus = 'is-closing';
|
|
136
|
+
if (!shouldWaitForTransition) {
|
|
137
|
+
completeClose();
|
|
138
|
+
}
|
|
108
139
|
}
|
|
109
140
|
async openModal(option) {
|
|
110
141
|
var _a;
|
|
@@ -125,18 +156,28 @@ export class Q2Modal {
|
|
|
125
156
|
document.body.style.overflow = 'hidden';
|
|
126
157
|
this.initializeModal();
|
|
127
158
|
this.renderStatus = 'is-opening';
|
|
128
|
-
this.
|
|
129
|
-
if (this.renderStatus !== 'is-opening')
|
|
130
|
-
return;
|
|
159
|
+
if (!this.hasDialogTransition()) {
|
|
131
160
|
this.renderStatus = 'is-open';
|
|
132
|
-
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const completeOpen = (event) => {
|
|
164
|
+
if (event.target !== this.dialogElement || event.propertyName !== 'transform')
|
|
165
|
+
return;
|
|
166
|
+
this.dialogElement.removeEventListener('transitionend', completeOpen);
|
|
167
|
+
this.dialogElement.removeEventListener('transitioncancel', completeOpen);
|
|
168
|
+
if (this.renderStatus === 'is-opening') {
|
|
169
|
+
this.renderStatus = 'is-open';
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
this.dialogElement.addEventListener('transitionend', completeOpen);
|
|
173
|
+
this.dialogElement.addEventListener('transitioncancel', completeOpen);
|
|
133
174
|
}
|
|
134
175
|
// #endregion
|
|
135
176
|
// #region Render Methods
|
|
136
177
|
render() {
|
|
137
178
|
const interiorClasses = `interior`;
|
|
138
179
|
const renderStatus = `${this.renderStatus || ''}`;
|
|
139
|
-
return (h("dialog", { key: '
|
|
180
|
+
return (h("dialog", { key: '67c724b2e94aa823893cc3477ffa364bc07f3c91', ref: el => (this.dialogElement = el), class: renderStatus, onCancel: this.onCancel, onClick: this.onClick }, h("div", { key: '67b97fe323985b56db793d1cf939192bbfbd424e', class: interiorClasses }, this.title && (h("header", { key: 'ec0c82831007887e2baeddc50f2b8c0ec24b0d97' }, this.title && h("h2", { key: '10bbd7f9216ce221616acc4c77984aca582eba10', class: "title" }, this.title), !!this.closable && (h("q2-btn", { key: '8f801bf013c9015c3ae50543067393b26941d3d4', class: "btn-close", "test-id": "btnClose", onClick: this.onCancel, label: "tecton.element.modal.close", "hide-label": true }, h("q2-icon", { key: 'b546a86894aa6b5dd3576a33eadfa63e21a13590', type: "close" }))))), h("div", { key: 'cdc674c3cee4bca6bda0c60ca2c9f08f83ab4440', class: "content", ref: el => (this.contentElement = el) }, this.icon && (h("div", { key: '8b8ffc983cecd2ddf1f912db7f00a6ed198a6b16', class: "icon" }, h("q2-icon", { key: 'cb3430c9216268ed7e8eeea85a83168b2d72ceb1', type: this.icon }))), this.imageSrc && (h("div", { key: 'eab34ebad157a6c81a0e24bc726505e3541eac05', class: "image" }, h("img", { key: 'cdf8e7a1c381a099d811241a410998e16405bda4', src: this.imageSrc }))), hasSlotContent(this.hostElement, 'content') && h("slot", { key: '2674f81de64e3d6069e043f4c0a0db39d70f466a', name: "content" }), this.description && h("p", { key: '8dc2a0b031812a6e65012df8d78e5ff3373c117e', class: "description" }, this.description), this.customMarkup && (h("p", { key: '218d120d1109cff6a1aa79e5b76befbca0ca5857', class: "customMarkup", innerHTML: sanitizeHTMLString(this.customMarkup) }))), h("footer", { key: 'ffc5c49fbaabde579fda002a25ac893e798c07de' }, h("q2-action-group", { key: '295cde61c6e9851aab36f3903f892a5775aca76c', "full-width": this.fullWidthButton }, h("slot", { key: 'e8ece0f36c2647515d82e3cd21b9c36faf731fd2', name: "action" }))))));
|
|
140
181
|
}
|
|
141
182
|
static get is() { return "q2-modal"; }
|
|
142
183
|
static get encapsulation() { return "shadow"; }
|
|
@@ -164,7 +205,7 @@ export class Q2Modal {
|
|
|
164
205
|
"optional": false,
|
|
165
206
|
"docs": {
|
|
166
207
|
"tags": [],
|
|
167
|
-
"text": "Controls visibility of the close button
|
|
208
|
+
"text": "Controls visibility of the close button and whether the modal can be dismissed with the backdrop or Escape key."
|
|
168
209
|
},
|
|
169
210
|
"getter": false,
|
|
170
211
|
"setter": false,
|
|
@@ -210,6 +251,26 @@ export class Q2Modal {
|
|
|
210
251
|
"reflect": false,
|
|
211
252
|
"attribute": "description"
|
|
212
253
|
},
|
|
254
|
+
"fullWidthButton": {
|
|
255
|
+
"type": "boolean",
|
|
256
|
+
"mutable": false,
|
|
257
|
+
"complexType": {
|
|
258
|
+
"original": "boolean",
|
|
259
|
+
"resolved": "boolean",
|
|
260
|
+
"references": {}
|
|
261
|
+
},
|
|
262
|
+
"required": false,
|
|
263
|
+
"optional": false,
|
|
264
|
+
"docs": {
|
|
265
|
+
"tags": [],
|
|
266
|
+
"text": "Whether the action buttons should take up the full width of the modal footer."
|
|
267
|
+
},
|
|
268
|
+
"getter": false,
|
|
269
|
+
"setter": false,
|
|
270
|
+
"reflect": true,
|
|
271
|
+
"attribute": "full-width-button",
|
|
272
|
+
"defaultValue": "true"
|
|
273
|
+
},
|
|
213
274
|
"icon": {
|
|
214
275
|
"type": "string",
|
|
215
276
|
"mutable": false,
|
|
@@ -277,6 +338,21 @@ export class Q2Modal {
|
|
|
277
338
|
}
|
|
278
339
|
static get events() {
|
|
279
340
|
return [{
|
|
341
|
+
"method": "tctBackdropClick",
|
|
342
|
+
"name": "tctBackdropClick",
|
|
343
|
+
"bubbles": true,
|
|
344
|
+
"cancelable": true,
|
|
345
|
+
"composed": true,
|
|
346
|
+
"docs": {
|
|
347
|
+
"tags": [],
|
|
348
|
+
"text": "Emitted when the modal backdrop is clicked."
|
|
349
|
+
},
|
|
350
|
+
"complexType": {
|
|
351
|
+
"original": "undefined",
|
|
352
|
+
"resolved": "undefined",
|
|
353
|
+
"references": {}
|
|
354
|
+
}
|
|
355
|
+
}, {
|
|
280
356
|
"method": "tctClick",
|
|
281
357
|
"name": "tctClick",
|
|
282
358
|
"bubbles": true,
|
|
@@ -361,6 +437,10 @@ export class Q2Modal {
|
|
|
361
437
|
"path": "q2-tecton-common/lib/types/modal",
|
|
362
438
|
"id": "../q2-tecton-common/lib/types/modal.d.ts::ModalResponse",
|
|
363
439
|
"referenceLocation": "ModalResponse"
|
|
440
|
+
},
|
|
441
|
+
"TransitionEvent": {
|
|
442
|
+
"location": "global",
|
|
443
|
+
"id": "global::TransitionEvent"
|
|
364
444
|
}
|
|
365
445
|
},
|
|
366
446
|
"return": "Promise<void>"
|
|
@@ -388,6 +468,10 @@ export class Q2Modal {
|
|
|
388
468
|
"path": "q2-tecton-common/lib/types/modal",
|
|
389
469
|
"id": "../q2-tecton-common/lib/types/modal.d.ts::ModalOption",
|
|
390
470
|
"referenceLocation": "ModalOption"
|
|
471
|
+
},
|
|
472
|
+
"TransitionEvent": {
|
|
473
|
+
"location": "global",
|
|
474
|
+
"id": "global::TransitionEvent"
|
|
391
475
|
}
|
|
392
476
|
},
|
|
393
477
|
"return": "Promise<void>"
|
|
@@ -2,15 +2,15 @@ import { expect } from "@playwright/test";
|
|
|
2
2
|
import { test } from "@stencil/playwright";
|
|
3
3
|
import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
|
|
4
4
|
const ACTIONS = `
|
|
5
|
-
<q2-btn slot="action" intent="
|
|
6
|
-
<q2-btn slot="action" intent="
|
|
5
|
+
<q2-btn slot="action" intent="primary" label="Submit"></q2-btn>
|
|
6
|
+
<q2-btn slot="action" intent="secondary" label="Cancel"></q2-btn>
|
|
7
7
|
`;
|
|
8
8
|
const MANY_ACTIONS = `
|
|
9
|
-
<q2-btn slot="action" intent="
|
|
10
|
-
<q2-btn slot="action" intent="
|
|
11
|
-
<q2-btn slot="action" intent="
|
|
12
|
-
<q2-btn slot="action" intent="
|
|
13
|
-
<q2-btn slot="action" intent="
|
|
9
|
+
<q2-btn slot="action" intent="primary" label="Submit"></q2-btn>
|
|
10
|
+
<q2-btn slot="action" intent="secondary" label="Cancel"></q2-btn>
|
|
11
|
+
<q2-btn slot="action" intent="escape" label="Reset 1"></q2-btn>
|
|
12
|
+
<q2-btn slot="action" intent="escape" label="Reset 2"></q2-btn>
|
|
13
|
+
<q2-btn slot="action" intent="escape" label="Reset 3"></q2-btn>
|
|
14
14
|
`;
|
|
15
15
|
const LONG_DESC = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac tellus et risus vulputate vehicula.';
|
|
16
16
|
// Inline SVG data URL — stable across runs, no network dependency.
|
|
@@ -92,6 +92,7 @@ const focusCase = (variant, theme) => {
|
|
|
92
92
|
});
|
|
93
93
|
};
|
|
94
94
|
const BASIC_VARIANT = VARIANTS.find(v => v.name === 'basic');
|
|
95
|
+
const LONG_DESCRIPTION_VARIANT = VARIANTS.find(v => v.name === 'long-description');
|
|
95
96
|
test.describe('q2-modal — variants × themes', () => {
|
|
96
97
|
for (const variant of VARIANTS) {
|
|
97
98
|
for (const theme of THEMES) {
|
|
@@ -104,6 +105,11 @@ test.describe('q2-modal — variants × themes', () => {
|
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
});
|
|
108
|
+
test('q2-modal--full-width-button-false--open — standard', async ({ page }) => {
|
|
109
|
+
await setupPage(page, `${VISIBLE_HYDRATION_ANCHOR}<q2-modal title="Confirm action" description="Are you sure you want to continue with this action?" full-width-button="false">${ACTIONS}</q2-modal>`, { theme: 'standard', setupLoc: true });
|
|
110
|
+
await openModal(page);
|
|
111
|
+
await expect(page).toHaveScreenshot('q2-modal--full-width-button-false--open--standard.png');
|
|
112
|
+
});
|
|
107
113
|
test.describe(`q2-modal — scaled font size × themes`, () => {
|
|
108
114
|
if (BASIC_VARIANT) {
|
|
109
115
|
for (const theme of THEMES) {
|
|
@@ -115,3 +121,22 @@ test.describe(`q2-modal — scaled font size × themes`, () => {
|
|
|
115
121
|
}
|
|
116
122
|
}
|
|
117
123
|
});
|
|
124
|
+
test.describe('q2-modal — 400% zoom equivalent × themes', () => {
|
|
125
|
+
if (LONG_DESCRIPTION_VARIANT) {
|
|
126
|
+
for (const theme of THEMES) {
|
|
127
|
+
test(`q2-modal--long-description--400-percent-zoom — ${theme}`, async ({ page }) => {
|
|
128
|
+
await page.setViewportSize({ width: 320, height: 256 });
|
|
129
|
+
await setupPage(page, LONG_DESCRIPTION_VARIANT.html, { theme, setupLoc: true });
|
|
130
|
+
await openModal(page);
|
|
131
|
+
await page.locator('q2-modal').evaluate((el) => {
|
|
132
|
+
var _a;
|
|
133
|
+
const interior = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.interior');
|
|
134
|
+
if (!interior)
|
|
135
|
+
throw new Error('q2-modal interior not found in shadow DOM');
|
|
136
|
+
interior.scrollTop = interior.scrollHeight;
|
|
137
|
+
});
|
|
138
|
+
await expect(page).toHaveScreenshot(`q2-modal--long-description--400-percent-zoom--${theme}.png`);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
});
|
|
@@ -92,7 +92,7 @@ export class Q2MutationObserver {
|
|
|
92
92
|
// #endregion
|
|
93
93
|
// #region Render Methods
|
|
94
94
|
render() {
|
|
95
|
-
return h("slot", { key: '
|
|
95
|
+
return h("slot", { key: '8e33d51e7485e5477d3cf98cde060dd87effc2f7', onSlotchange: this.handleSlotChange });
|
|
96
96
|
}
|
|
97
97
|
static get is() { return "q2-mutation-observer"; }
|
|
98
98
|
static get encapsulation() { return "shadow"; }
|
|
@@ -55,7 +55,7 @@ export class Q2Optgroup {
|
|
|
55
55
|
// #endregion
|
|
56
56
|
// #region Render Methods
|
|
57
57
|
render() {
|
|
58
|
-
return (h("div", { key: '
|
|
58
|
+
return (h("div", { key: '829ae5ebec150734128c98343ddb8112de0ee21e', class: "q2-optgroup-container", hidden: this.hidden, "aria-labelledby": this.headerId, role: "group" }, h("div", { key: '6683155f922a2d15349f885aabac0bf9ee6a4575', class: "q2-optgroup-header", id: this.headerId }, (this.label && loc(this.label)) || ''), h("div", { key: 'b974da306256b13283183fa03e4dc8bcc8be3f44', class: "q2-optgroup-options" }, h("slot", { key: '2f0035aad12309be2c5c4ea3125077cc704e65e4' }))));
|
|
59
59
|
}
|
|
60
60
|
static get is() { return "q2-optgroup"; }
|
|
61
61
|
static get encapsulation() { return "shadow"; }
|
|
@@ -419,6 +419,26 @@ export class Q2OptionList {
|
|
|
419
419
|
option.role = optionRole;
|
|
420
420
|
});
|
|
421
421
|
}
|
|
422
|
+
findScrollableAncestor(node) {
|
|
423
|
+
var _a, _b;
|
|
424
|
+
let current = node;
|
|
425
|
+
while (current) {
|
|
426
|
+
if (current instanceof HTMLElement && current !== node) {
|
|
427
|
+
const overflowY = getComputedStyle(current).overflowY;
|
|
428
|
+
// Skip html/body so page-level scroll isn't treated as our container.
|
|
429
|
+
if ((overflowY === 'auto' || overflowY === 'scroll') &&
|
|
430
|
+
current !== document.documentElement &&
|
|
431
|
+
current !== document.body) {
|
|
432
|
+
return current;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
const slot = current.assignedSlot;
|
|
436
|
+
const parent = current.parentNode;
|
|
437
|
+
const shadowHost = current.host;
|
|
438
|
+
current = (_b = (_a = slot !== null && slot !== void 0 ? slot : parent) !== null && _a !== void 0 ? _a : shadowHost) !== null && _b !== void 0 ? _b : null;
|
|
439
|
+
}
|
|
440
|
+
return null;
|
|
441
|
+
}
|
|
422
442
|
focusSelectedSibling(option) {
|
|
423
443
|
const { allVisibleOptions, allOptions } = this;
|
|
424
444
|
const hasNoSiblings = allVisibleOptions.length < 2;
|
|
@@ -500,9 +520,18 @@ export class Q2OptionList {
|
|
|
500
520
|
const activeOption = this.allOptions[this.activeIndex];
|
|
501
521
|
if (!activeOption)
|
|
502
522
|
return;
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
523
|
+
// Do our own scroll math so `scrollIntoView` doesn't cascade to the parent window in an SDK iframe.
|
|
524
|
+
const container = this.findScrollableAncestor(activeOption);
|
|
525
|
+
if (container) {
|
|
526
|
+
if (container.scrollHeight > container.clientHeight) {
|
|
527
|
+
const optionRect = activeOption.getBoundingClientRect();
|
|
528
|
+
const containerRect = container.getBoundingClientRect();
|
|
529
|
+
const optionCenter = optionRect.top - containerRect.top + optionRect.height / 2;
|
|
530
|
+
container.scrollTop += optionCenter - containerRect.height / 2;
|
|
531
|
+
}
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
activeOption.scrollIntoView({ block: 'nearest' });
|
|
506
535
|
}
|
|
507
536
|
searchOptions(key, shouldSelect) {
|
|
508
537
|
this.searchString = key;
|
|
@@ -586,7 +615,7 @@ export class Q2OptionList {
|
|
|
586
615
|
// #endregion
|
|
587
616
|
// #region Render Methods
|
|
588
617
|
render() {
|
|
589
|
-
return (h(Host, { key: '
|
|
618
|
+
return (h(Host, { key: '19cadb5668db33a912951df4ec0e81a74b2b78ce' }, h("div", { key: '1d5a8f310ee97bc2189b839ee3d87e08bf0fa269', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '24b1616962a9b544fb6215acc1e6edb4f12a5a03', class: "options", "aria-label": loc('tecton.element.optionList.label', [this.label]), "aria-multiselectable": this.type === 'menu' ? undefined : this.multiple ? 'true' : undefined, role: this.type || 'listbox', onKeyDown: this.internalKeydownHandler, onClick: this.clickHandler }, h("slot", { key: 'eeb0342b7c319f5f5af95daa54dcaa732c3159d9' })))));
|
|
590
619
|
}
|
|
591
620
|
static get is() { return "q2-option-list"; }
|
|
592
621
|
static get encapsulation() { return "shadow"; }
|
|
@@ -358,16 +358,16 @@ export class Q2Otp {
|
|
|
358
358
|
renderSendCodeButton() {
|
|
359
359
|
if (!this.isAwaitingSendCode)
|
|
360
360
|
return;
|
|
361
|
-
return (h("q2-btn", { block: true, class: "send-code-button", disabled: this.disabled, intent: "
|
|
361
|
+
return (h("q2-btn", { block: true, class: "send-code-button", disabled: this.disabled, intent: "primary", label: this.localizedSendCodeLabel, onClick: this.handleSendCodeClick, ref: el => (this.sendCodeRef = el) }));
|
|
362
362
|
}
|
|
363
363
|
renderSubmitArea() {
|
|
364
364
|
if (this.isSuccess) {
|
|
365
365
|
return (h("q2-btn", { block: true, class: "submit-button", intent: "neutral", onClick: this.handleSubmitClick }, h("q2-icon", { type: "checkmark" }), loc('Success')));
|
|
366
366
|
}
|
|
367
|
-
return (h("q2-btn", { block: true, class: "submit-button", disabled: this.disabled || !this.isComplete, intent: "
|
|
367
|
+
return (h("q2-btn", { block: true, class: "submit-button", disabled: this.disabled || !this.isComplete, intent: "primary", label: this.isVerifying ? this.localizedProcessingLabel : this.localizedSubmitLabel, loading: this.isVerifying, onClick: this.handleSubmitClick }));
|
|
368
368
|
}
|
|
369
369
|
render() {
|
|
370
|
-
return (h("div", { key: '
|
|
370
|
+
return (h("div", { key: '8f4ada9f194f1b0995995e946097b3e24a11f605', "aria-busy": this.isVerifying ? 'true' : undefined, "aria-labelledby": this.label ? this.labelId : undefined, class: {
|
|
371
371
|
'otp-container': true,
|
|
372
372
|
'has-focus': this.hasFocus,
|
|
373
373
|
'is-masked': this.masked,
|
|
@@ -375,7 +375,7 @@ export class Q2Otp {
|
|
|
375
375
|
'state-success': this.state === 'success',
|
|
376
376
|
'state-verifying': this.isVerifying,
|
|
377
377
|
[`length-${this.normalizedLength}`]: true,
|
|
378
|
-
}, role: "group" }, this.renderSendCodeButton(), h("div", { key: '
|
|
378
|
+
}, role: "group" }, this.renderSendCodeButton(), h("div", { key: '099e1ef5ccc09846faf9952772e61ff7644e5085', class: { 'otp-content': true, 'send-code-hidden': this.state === 'ready' } }, this.renderLabel(), h("div", { key: '5ad6ff061779de6562f523148459729d73bbf53a', class: "otp-control-group" }, h("div", { key: 'd60e93f2d79d0f4b0348a5b581647ece89e9973c', class: "fields-shell" }, h("div", { key: '55b515c8a04e664024dcc66e4d894dcb0ddd4ca4', class: "fields-container" }, h("input", { key: 'b8319da6e91ea06ff5632c72326460c0e532393d', "aria-describedby": this.describedBy, "aria-invalid": this.state === 'error' ? 'true' : 'false', "aria-label": this.inputAriaLabel, autocomplete: "one-time-code", autofocus: this.autoFocus, class: "otp-hidden-input", disabled: this.disabled || this.isVerifying || this.isSuccess, inputmode: "numeric", maxLength: this.normalizedLength, onBlur: this.handleFocusOut, onFocus: this.handleFocusIn, onInput: this.handleInputEvent, onKeyDown: this.handleKeyDown, onPaste: this.handlePaste, pattern: "[0-9]*", ref: el => (this.inputRef = el), "test-id": "q2OtpInput", type: "text", value: this.value }), this.renderFields()), this.renderProcessingOverlay()), this.renderSubmitArea(), this.renderMessage()), this.renderHelperText())));
|
|
379
379
|
}
|
|
380
380
|
static get is() { return "q2-otp"; }
|
|
381
381
|
static get encapsulation() { return "shadow"; }
|
|
@@ -312,7 +312,7 @@ export class Q2Pagination {
|
|
|
312
312
|
total,
|
|
313
313
|
});
|
|
314
314
|
}
|
|
315
|
-
return (h("nav", { key: '
|
|
315
|
+
return (h("nav", { key: '647c141a9df399b3764fdc90c5ae05f113e0019d', class: this.containerClasses.join(' '), ref: el => (this.containerElement = el), "aria-label": loc('tecton.element.pagination.title') }, h("div", { key: 'fd595002af27dd639391665573433783342d2aee', class: "description", "test-id": "description" }, pagesOnly
|
|
316
316
|
? loc('tecton.element.pagination.pages', {
|
|
317
317
|
current: page,
|
|
318
318
|
total: totalPages,
|
|
@@ -321,10 +321,10 @@ export class Q2Pagination {
|
|
|
321
321
|
range: currentRange,
|
|
322
322
|
recordType: recordType.toLowerCase(),
|
|
323
323
|
total: total.toLocaleString(),
|
|
324
|
-
})), h("div", { key: '
|
|
324
|
+
})), h("div", { key: 'da4c7137ed566532a9471a7b83a63c49c51c8e82', class: "controls" }, h("div", { key: 'ef59aadb7b6cfb82707ffb1ee9e1626428a84801', class: "btn-group" }, h("q2-btn", { key: 'e5d551764bec56fed3dc34684c4ff2cdfadd95ea', ref: el => (this.firstPageBtn = el), label: loc('tecton.element.pagination.goToFirstPage'), disabled: disabled || onFirstPage, hidden: isFullViewHidden, onTctClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { key: '7423721c4c3082b8f0fdea5d6bde9fc62640fa24', type: "chevron-double-left" })), h("q2-btn", { key: '90b3544e9983fa652f225eda9d18d08883b31c39', ref: el => (this.prevPageBtn = el), label: prevButtonLabel, disabled: disabled || onFirstPage, onTctClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { key: '6535f2c3745421cbf1dd5750e3ab8d08288bc148', type: "chevron-left" }))), h("div", { key: 'd4a581982a62f360e5b693a110a7d75eaf0ba24c', class: "input-display", hidden: isFullViewHidden }, h("span", { key: '45a28afc71ee038d829cbe64550bf929210002a9', "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { key: 'ba5df7f89aed5be2f882057d8cf344981e3f1127', class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { key: '686c5c8891bd64a40ba9abe8436475bf3ef8fd38', ref: el => (this.inputField = el), type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => event.stopImmediatePropagation(), onTctChange: event => {
|
|
325
325
|
event.stopPropagation();
|
|
326
326
|
this.handlePageChange(event.detail.value);
|
|
327
|
-
}, "test-id": "pageInput", current: "page", disabled: disabled })), h("span", { key: '
|
|
327
|
+
}, "test-id": "pageInput", current: "page", disabled: disabled })), h("span", { key: '59853a0308d1f97b6722f40c29219d887842c54c', "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { key: '17fa28deff49d5a3a28b6d66b5639428a309057a', class: "btn-group" }, h("q2-btn", { key: '0e5eca8dc228a8285015d5941d9c4e44af5e5353', ref: el => (this.nextPageBtn = el), label: nextButtonLabel, disabled: disabled || onLastPage, onTctClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { key: '9a42a4961ac7efd40c176145a39f0c63540daf14', type: "chevron-right" })), h("q2-btn", { key: 'fe0c41536c25d7deffa26fdab4f91405e5b197d6', ref: el => (this.lastPageBtn = el), label: "tecton.element.pagination.goToLastPage", disabled: disabled || onLastPage, hidden: isFullViewHidden, onTctClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { key: '5beccc87ad5ef95350cb21d969b15c0996911126', type: "chevron-double-right" })))), h("div", { key: 'd60b56b2f8173ea2a6fcf3cf4fd1b5f2807fbc5c', class: "per-page", hidden: isFullViewHidden || !((_a = this.perPageIncrements) === null || _a === void 0 ? void 0 : _a.length) }, showPerPageSelect && this.renderPerPage())));
|
|
328
328
|
}
|
|
329
329
|
static get is() { return "q2-pagination"; }
|
|
330
330
|
static get encapsulation() { return "shadow"; }
|
|
@@ -349,8 +349,8 @@ q2-popover,
|
|
|
349
349
|
q2-icon {
|
|
350
350
|
--tct-icon-stroke-primary: var(--tct-pill-icon-stroke, currentcolor);
|
|
351
351
|
--tct-icon-stroke-width: var(--tct-pill-icon-stroke-width, inherit);
|
|
352
|
-
width: var(--tct-pill-icon-size, var(--t-pill-icon-size,
|
|
353
|
-
height: var(--tct-pill-icon-size, var(--t-pill-icon-size,
|
|
352
|
+
width: var(--tct-pill-icon-size, var(--t-pill-icon-size, var(--const-px-18, 18px)));
|
|
353
|
+
height: var(--tct-pill-icon-size, var(--t-pill-icon-size, var(--const-px-18, 18px)));
|
|
354
354
|
transition-property: transform;
|
|
355
355
|
transition: var(--tct-pill-btn-tween, var(--t-pill-btn-tween, var(--app-tween-1, 0.2s ease)));
|
|
356
356
|
}
|
|
@@ -273,11 +273,14 @@ export class Q2Pill {
|
|
|
273
273
|
this.primaryBtn.focus();
|
|
274
274
|
}
|
|
275
275
|
async popoverStateHandler({ detail: { open } }) {
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
var _a;
|
|
277
|
+
if (this.open === open)
|
|
278
|
+
return;
|
|
279
|
+
this.open = open;
|
|
278
280
|
if (open)
|
|
279
281
|
return;
|
|
280
282
|
this.setOptionListActiveElement(null);
|
|
283
|
+
(_a = this.primaryBtn) === null || _a === void 0 ? void 0 : _a.focus();
|
|
281
284
|
}
|
|
282
285
|
// #endregion
|
|
283
286
|
// #region Public Methods API
|
|
@@ -410,7 +413,7 @@ export class Q2Pill {
|
|
|
410
413
|
wrapperClassNames.push('has-icon');
|
|
411
414
|
if (optionCount)
|
|
412
415
|
wrapperClassNames.push('has-options');
|
|
413
|
-
return (h("click-elsewhere", { key: '
|
|
416
|
+
return (h("click-elsewhere", { key: '8cba59cde3746d0397305512334eb56357e9e5d4', onChange: this.onClickElsewhere }, h("div", { key: '391da54f9fd870e223765e6266291dff9775abe6', class: wrapperClassNames.join(' ') }, h("div", { key: '06431fd76c0a9d30833756407c89ff59609bc3a3', class: "btn-height-wrapper", ref: el => (this.primaryBtnWrapper = el), onClick: this.handleWrapperClick, tabIndex: -1 }, h("button", { key: '609557b9206c91511e78e26c990230e61f7e5c19', class: "btn-primary", "test-id": "btn-control", type: "button", role: (optionCount && 'combobox') || undefined, ref: el => (this.primaryBtn = el), onClick: this.handleClick, onKeyDown: this.handleKeydown, onFocusout: this.handleFocusOut, disabled: this.disabled, "aria-roledescription": !optionCount && 'filter', "aria-controls": (optionCount && 'option-list') || undefined, "aria-expanded": (optionCount && `${!!open}`) || undefined, "aria-label": text, "aria-pressed": !optionCount ? `${!!active}` : undefined, "aria-describedby": (optionCount && 'option-description') || undefined }, h("slot", { key: 'e1f4c57b7526f714cf0242e101ec0f5c39ebafa5', name: "decorator" }), truncatedText)), this.renderIcon(), !!optionCount && this.renderHiddenElement()), this.optionCount > 0 && (h("q2-popover", { key: '2777b45efbd94516a633ca4ff1e2d6a452ecbd81', ref: el => (this.popoverElement = el), controlElement: this.primaryBtn, open: this.open, "max-height": this.popoverMaxHeight, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, onFocusout: this.handleFocusOut }, h("div", { key: '54d2c1c8814be9265b4ed8092bd3360da76cc2b0', class: "popover-content" }, h("div", { key: 'fb95b6f0ab78119f0bf944fa67ec0bcf391088dc', ref: el => (this.popoverTopContainer = el), class: "popover-top-container", tabindex: "-1", hidden: !this.hasPopoverTop, onKeyDown: this.handleSlotKeydown }, h("slot", { key: '8e522c96fa1241e7c05fbc989d59f71ec2bc1d98', name: "popover-top" })), h("q2-option-list", { key: '5e7a827ac08395399e0b04fa9074f5b6a3fa1c48', type: "listbox", ref: el => (this.optionList = el), id: "option-list", onChange: this.handleChange, multiple: this.multiple, selectedOptions: this.selectedOptions, onReady: () => this.updateSelectedOptionElements(), onPopoverState: this.onPopoverState, label: loc('tecton.element.optionList.label', [this.optionListLabel]) }, h("slot", { key: '4197780a058b3937ac748b53aef6afc5eabd8c7a' })), h("div", { key: '78992c83515dcfe6acbf7e09a5efced2d65c1903', ref: el => (this.popoverBottomContainer = el), class: "popover-bottom-container", tabindex: "-1", hidden: !this.hasPopoverBottom, onKeyDown: this.handleSlotKeydown }, h("slot", { key: '553f959ec8b866111b2e5c5f9090d8ddee5fd208', name: "popover-bottom" })))))));
|
|
414
417
|
}
|
|
415
418
|
static get is() { return "q2-pill"; }
|
|
416
419
|
static get encapsulation() { return "shadow"; }
|
|
@@ -142,6 +142,7 @@ button {
|
|
|
142
142
|
margin: 0;
|
|
143
143
|
padding: var(--tct-popover-padding, 0);
|
|
144
144
|
overflow: auto;
|
|
145
|
+
overscroll-behavior: contain;
|
|
145
146
|
background: var(--tct-popover-background, var(--app-white, #ffffff));
|
|
146
147
|
backdrop-filter: var(--tct-popover-backdrop-filter, none);
|
|
147
148
|
color: var(--tct-popover-font-color, inherit);
|
|
@@ -199,8 +200,9 @@ button {
|
|
|
199
200
|
}
|
|
200
201
|
:popover-open.up,
|
|
201
202
|
.show.up {
|
|
202
|
-
top:
|
|
203
|
-
bottom:
|
|
203
|
+
top: var(--comp-pop-top);
|
|
204
|
+
bottom: unset;
|
|
205
|
+
translate: 0 calc(-100% - var(--app-scale-2x, 10px));
|
|
204
206
|
}
|
|
205
207
|
:popover-open.down.left:not(.mobile),
|
|
206
208
|
.show.down.left:not(.mobile) {
|