q2-tecton-elements 1.72.0 → 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 +38990 -33801
- package/dist/cjs/{charting-ClN1ldqv.js → charting-CdNTrVBe.js} +80 -0
- package/dist/cjs/click-elsewhere_3.cjs.entry.js +81 -14
- 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-BY3aao8R.js → index-BqyWHpNu.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group.cjs.entry.js +1 -1
- 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 +2 -2
- package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-calendar.cjs.entry.js +9 -4
- package/dist/cjs/q2-card-image.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/q2-checkbox_2.cjs.entry.js +8 -5
- package/dist/cjs/q2-context.cjs.entry.js +4 -4
- 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 +3 -3
- package/dist/cjs/q2-editable-field.cjs.entry.js +20 -7
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
- 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 +20 -2
- 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 +2 -2
- package/dist/cjs/q2-meter.cjs.entry.js +2 -2
- package/dist/cjs/q2-modal.cjs.entry.js +2 -2
- 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 +7 -4
- package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio.cjs.entry.js +2 -2
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
- package/dist/cjs/q2-search.cjs.entry.js +3 -3
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +8 -4
- 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 +2 -2
- 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 +84 -136
- package/dist/collection/components/q2-btn/q2-btn.js +10 -4
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +99 -43
- package/dist/collection/components/q2-calendar/q2-calendar.js +16 -5
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +3 -13
- package/dist/collection/components/q2-card-image/q2-card-image.js +2 -2
- package/dist/collection/components/q2-carousel/q2-carousel.js +19 -5
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +32 -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.js +6 -3
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +6 -3
- package/dist/collection/components/q2-context/q2-context.js +3 -3
- package/dist/collection/components/q2-context/test/q2-context-test.vr.js +3 -3
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +3 -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 +47 -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.js +5 -5
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +27 -8
- package/dist/collection/components/q2-example/q2-example.js +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.js +1 -1
- 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.js +6 -3
- package/dist/collection/components/q2-item/q2-item.js +19 -1
- package/dist/collection/components/q2-item/test/q2-item-test.vr.js +2 -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.js +1 -1
- package/dist/collection/components/q2-meter/q2-meter.js +1 -1
- package/dist/collection/components/q2-modal/q2-modal.js +1 -1
- package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +7 -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 +36 -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.js +6 -3
- package/dist/collection/components/q2-popover/q2-popover.css +1 -0
- package/dist/collection/components/q2-popover/q2-popover.js +43 -8
- package/dist/collection/components/q2-radio/q2-radio.js +5 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +6 -3
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-search/q2-search.js +6 -3
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-select/q2-select.js +12 -5
- 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 +2 -2
- 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 +1 -1
- 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 +2 -2
- 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 +6 -3
- package/dist/components/q2-card-image.js +2 -2
- 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 +6 -6
- package/dist/components/q2-checkbox2.js +11 -11
- package/dist/components/q2-context.js +20 -20
- 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 +17 -17
- package/dist/components/q2-editable-field.js +16 -5
- package/dist/components/q2-example.js +11 -11
- package/dist/components/q2-file-picker.js +1 -1
- package/dist/components/q2-form.js +6 -6
- package/dist/components/q2-formatted-text.js +2 -2
- package/dist/components/q2-input2.js +5 -5
- package/dist/components/q2-item2.js +32 -22
- package/dist/components/q2-legend2.js +7 -7
- package/dist/components/q2-list2.js +6 -6
- package/dist/components/q2-message2.js +9 -9
- package/dist/components/q2-meter.js +7 -7
- package/dist/components/q2-modal.js +22 -22
- 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 +55 -34
- package/dist/components/q2-otp.js +8 -8
- package/dist/components/q2-pagination.js +67 -67
- package/dist/components/q2-pill.js +16 -14
- package/dist/components/q2-popover2.js +70 -49
- package/dist/components/q2-radio-group.js +7 -7
- package/dist/components/q2-radio.js +6 -6
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +23 -23
- package/dist/components/q2-search.js +5 -5
- package/dist/components/q2-section.js +19 -19
- package/dist/components/q2-select2.js +2 -2
- package/dist/components/q2-stepper-pane.js +9 -9
- 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 +17 -17
- 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 +10 -10
- package/dist/esm/{charting-DOZct-UB.js → charting-DFXJklqs.js} +79 -1
- package/dist/esm/click-elsewhere_3.entry.js +81 -14
- 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-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group.entry.js +1 -1
- 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 +2 -2
- package/dist/esm/q2-btn_2.entry.js +2 -2
- package/dist/esm/q2-calendar.entry.js +9 -4
- package/dist/esm/q2-card-image.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/q2-checkbox_2.entry.js +8 -5
- package/dist/esm/q2-context.entry.js +4 -4
- 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 +3 -3
- package/dist/esm/q2-editable-field.entry.js +20 -7
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +2 -2
- 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 +20 -2
- 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 +2 -2
- package/dist/esm/q2-meter.entry.js +2 -2
- package/dist/esm/q2-modal.entry.js +2 -2
- 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 +7 -4
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js +2 -2
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-resize-observer.entry.js +1 -1
- package/dist/esm/q2-search.entry.js +3 -3
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +8 -4
- 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 +2 -2
- package/dist/q2-tecton-elements/{charting-DOZct-UB.js → charting-DFXJklqs.js} +1625 -1554
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +85 -43
- 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-DJw6Feh0.js → index-CP8pXJ-l.js} +1 -1
- package/dist/q2-tecton-elements/q2-action-group.entry.js +1 -1
- 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 +5 -5
- package/dist/q2-tecton-elements/q2-btn_2.entry.js +23 -23
- package/dist/q2-tecton-elements/q2-calendar.entry.js +7 -4
- package/dist/q2-tecton-elements/q2-card-image.entry.js +3 -3
- 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 +187 -141
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +377 -333
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +184 -158
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +20 -18
- package/dist/q2-tecton-elements/q2-context.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-currency.entry.js +9 -9
- package/dist/q2-tecton-elements/q2-data-table.entry.js +7 -7
- 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 +16 -16
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +17 -6
- package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
- 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 +26 -16
- 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 +28 -28
- package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-modal.entry.js +18 -18
- 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 +42 -40
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-radio.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +13 -13
- package/dist/q2-tecton-elements/q2-search.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-section.entry.js +20 -20
- package/dist/q2-tecton-elements/q2-select.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +13 -13
- 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 +20 -20
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +7 -7
- 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 +6 -6
- 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-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-editable-field/q2-editable-field.d.ts +14 -1
- package/dist/types/components/q2-input/q2-input.d.ts +4 -2
- package/dist/types/components/q2-item/q2-item.d.ts +3 -0
- 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 +4 -2
- package/dist/types/components/q2-search/q2-search.d.ts +3 -1
- package/dist/types/components/q2-select/q2-select.d.ts +4 -2
- package/dist/types/components/q2-textarea/q2-textarea.d.ts +4 -2
- package/dist/types/components.d.ts +858 -49
- 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/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
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { expect } from "@playwright/test";
|
|
2
|
+
import { test } from "@stencil/playwright";
|
|
3
|
+
import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
|
|
4
|
+
const MOBILE_VIEWPORT = { width: 360, height: 800 };
|
|
5
|
+
// Fixed dates keep the variants deterministic.
|
|
6
|
+
const SINGLE_VALUE = '2026-06-15';
|
|
7
|
+
const RANGE_START = '2026-06-10';
|
|
8
|
+
const RANGE_END = '2026-06-20';
|
|
9
|
+
const INVALID_RANGE_DATE = '2026-06-15';
|
|
10
|
+
const RESTING_VARIANTS = [
|
|
11
|
+
{ name: 'default', html: `<q2-date-picker></q2-date-picker>` },
|
|
12
|
+
{
|
|
13
|
+
name: 'single-value',
|
|
14
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" value="${SINGLE_VALUE}"></q2-date-picker>`,
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'custom-display-format',
|
|
18
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" value="${SINGLE_VALUE}" display-format="dddd, MMMM D, YYYY"></q2-date-picker>`,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'range-value',
|
|
22
|
+
html: `<q2-date-picker mode="range" label="Date Range" placeholder="Select date range" range-start="${RANGE_START}" range-end="${RANGE_END}"></q2-date-picker>`,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: 'single-typeable',
|
|
26
|
+
html: `<q2-date-picker mode="single-typeable" label="Date" placeholder="MM/DD/YYYY"></q2-date-picker>`,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'range-typeable',
|
|
30
|
+
html: `<q2-date-picker mode="range-typeable" label="Date Range" placeholder="MM/DD/YYYY - MM/DD/YYYY"></q2-date-picker>`,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'disabled',
|
|
34
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" disabled disabled-msg="Dates unavailable"></q2-date-picker>`,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'readonly',
|
|
38
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" readonly value="${SINGLE_VALUE}"></q2-date-picker>`,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'invalid',
|
|
42
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" invalid></q2-date-picker>`,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'valid',
|
|
46
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" valid value="${SINGLE_VALUE}"></q2-date-picker>`,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'optional',
|
|
50
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" optional></q2-date-picker>`,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'clearable-value',
|
|
54
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" clearable value="${SINGLE_VALUE}"></q2-date-picker>`,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'hide-label',
|
|
58
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" hide-label value="${SINGLE_VALUE}"></q2-date-picker>`,
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
const DEFAULT_HOVER_VARIANT = {
|
|
62
|
+
name: 'default',
|
|
63
|
+
html: `<q2-date-picker></q2-date-picker>`,
|
|
64
|
+
};
|
|
65
|
+
const DEFAULT_FOCUS_VARIANT = {
|
|
66
|
+
name: 'default',
|
|
67
|
+
html: `<q2-date-picker></q2-date-picker>`,
|
|
68
|
+
};
|
|
69
|
+
const EXPANDED_VARIANTS = [
|
|
70
|
+
{
|
|
71
|
+
name: 'expanded-single',
|
|
72
|
+
html: `<q2-date-picker label="Date" placeholder="Select a date" value="${SINGLE_VALUE}" popover-alignment="left"></q2-date-picker>`,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'expanded-range',
|
|
76
|
+
html: `<q2-date-picker mode="range" label="Date Range" placeholder="Select date range" range-start="${RANGE_START}" range-end="${RANGE_END}" popover-alignment="left"></q2-date-picker>`,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'expanded-up',
|
|
80
|
+
html: `<q2-date-picker style="margin-top: 450px" label="Date" placeholder="Select a date" value="${SINGLE_VALUE}" popover-alignment="left" popover-direction="up"></q2-date-picker>`,
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
const INVALID_RANGE_VARIANT = {
|
|
84
|
+
name: 'range-invalid-confirm',
|
|
85
|
+
html: `<q2-date-picker mode="range" label="Date Range" placeholder="Select date range" range-start="${RANGE_START}" range-end="${RANGE_END}" open></q2-date-picker>`,
|
|
86
|
+
};
|
|
87
|
+
const MOBILE_ACTION_SHEET_RANGE_VARIANT = {
|
|
88
|
+
name: 'action-sheet-range-mobile',
|
|
89
|
+
html: `<q2-date-picker _action-sheet mode="range" range-start="${RANGE_START}" range-end="${RANGE_END}"></q2-date-picker>`,
|
|
90
|
+
};
|
|
91
|
+
const restingCase = (variant, theme) => {
|
|
92
|
+
test(`q2-date-picker--${variant.name}--resting — ${theme}`, async ({ page }) => {
|
|
93
|
+
await setupPage(page, variant.html, { theme, setupLoc: true });
|
|
94
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${variant.name}--resting--${theme}.png`);
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
const hoverCase = (variant, theme) => {
|
|
98
|
+
test(`q2-date-picker--${variant.name}--hover — ${theme}`, async ({ page }) => {
|
|
99
|
+
await setupPage(page, variant.html, { theme, setupLoc: true });
|
|
100
|
+
await page.locator('q2-date-picker').hover();
|
|
101
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${variant.name}--hover--${theme}.png`);
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
const focusCase = (variant, theme) => {
|
|
105
|
+
test(`q2-date-picker--${variant.name}--focus — ${theme}`, async ({ page }) => {
|
|
106
|
+
await setupPage(page, variant.html, { theme, setupLoc: true });
|
|
107
|
+
await page.keyboard.press('Tab');
|
|
108
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${variant.name}--focus--${theme}.png`);
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
// q2-popover renders its calendar before its opening animation completes. Wait
|
|
112
|
+
// for the animation instead of relying on a visibility check alone.
|
|
113
|
+
const waitForPopoverAnimation = async (page) => {
|
|
114
|
+
await page.locator('q2-popover .container').evaluate(async (element) => {
|
|
115
|
+
// A popover animation can be replaced while it is positioning itself. Its
|
|
116
|
+
// `finished` promise rejects when canceled, but that is still a settled
|
|
117
|
+
// visual state for this screenshot.
|
|
118
|
+
await Promise.allSettled(element.getAnimations({ subtree: true }).map(animation => animation.finished));
|
|
119
|
+
await new Promise(resolve => requestAnimationFrame(() => resolve()));
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
const expandedCase = (variant, theme) => {
|
|
123
|
+
test(`q2-date-picker--${variant.name}--expanded — ${theme}`, async ({ page }) => {
|
|
124
|
+
await setupPage(page, variant.html, { theme, setupLoc: true });
|
|
125
|
+
await page.locator('q2-date-picker').evaluate((el) => (el.open = true));
|
|
126
|
+
// Wait for the calendar panel inside the popover to render.
|
|
127
|
+
await page.locator('q2-date-calendar .cal-panel').waitFor({ state: 'visible' });
|
|
128
|
+
await waitForPopoverAnimation(page);
|
|
129
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${variant.name}--expanded--${theme}.png`);
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
const mobileActionSheetRangeCase = (theme) => {
|
|
133
|
+
test(`q2-date-picker--${MOBILE_ACTION_SHEET_RANGE_VARIANT.name}--resting — ${theme}`, async ({ page }) => {
|
|
134
|
+
await page.setViewportSize(MOBILE_VIEWPORT);
|
|
135
|
+
await setupPage(page, MOBILE_ACTION_SHEET_RANGE_VARIANT.html, { theme, setupLoc: true });
|
|
136
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${MOBILE_ACTION_SHEET_RANGE_VARIANT.name}--resting--${theme}.png`);
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
const invalidRangeCase = (variant, theme) => {
|
|
140
|
+
test(`q2-date-picker--${variant.name}--error — ${theme}`, async ({ page }) => {
|
|
141
|
+
await setupPage(page, variant.html, { theme, setupLoc: true });
|
|
142
|
+
await page.locator('q2-date-calendar .cal-panel').waitFor({ state: 'visible' });
|
|
143
|
+
await waitForPopoverAnimation(page);
|
|
144
|
+
await page.locator('q2-date-picker').evaluate((element, invalidDate) => {
|
|
145
|
+
element.invalidDates = [invalidDate];
|
|
146
|
+
}, INVALID_RANGE_DATE);
|
|
147
|
+
await expect(page.locator(`q2-date-calendar button[data-date="${INVALID_RANGE_DATE}"]`)).toHaveClass(/is-disabled/);
|
|
148
|
+
await page.locator('q2-date-calendar .cal-footer-actions q2-btn[intent="workflow-primary"] button').click();
|
|
149
|
+
const input = page.locator('q2-date-picker q2-input');
|
|
150
|
+
await expect(input).toHaveJSProperty('errors', ['Range includes unavailable dates.']);
|
|
151
|
+
await page.locator('q2-date-picker q2-popover .cal-panel').waitFor({ state: 'hidden' });
|
|
152
|
+
await input.locator('[test-id="iconError"]').waitFor({ state: 'visible' });
|
|
153
|
+
await expect(page).toHaveScreenshot(`q2-date-picker--${variant.name}--error--${theme}.png`);
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
test.describe('q2-date-picker — variants × themes', () => {
|
|
157
|
+
for (const variant of RESTING_VARIANTS) {
|
|
158
|
+
for (const theme of THEMES) {
|
|
159
|
+
restingCase(variant, theme);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
for (const theme of THEMES) {
|
|
163
|
+
hoverCase(DEFAULT_HOVER_VARIANT, theme);
|
|
164
|
+
}
|
|
165
|
+
for (const theme of THEMES) {
|
|
166
|
+
focusCase(DEFAULT_FOCUS_VARIANT, theme);
|
|
167
|
+
}
|
|
168
|
+
for (const variant of EXPANDED_VARIANTS) {
|
|
169
|
+
for (const theme of THEMES) {
|
|
170
|
+
expandedCase(variant, theme);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
for (const theme of THEMES) {
|
|
174
|
+
invalidRangeCase(INVALID_RANGE_VARIANT, theme);
|
|
175
|
+
}
|
|
176
|
+
for (const theme of THEMES) {
|
|
177
|
+
mobileActionSheetRangeCase(theme);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
@@ -113,7 +113,7 @@ export class Q2Detail {
|
|
|
113
113
|
// #endregion
|
|
114
114
|
// #region Render Methods
|
|
115
115
|
render() {
|
|
116
|
-
return (h("div", { key: '
|
|
116
|
+
return (h("div", { key: '18da4ca97fe076c40a3d6ef95b73b570cee07649', class: this.detailClasses }, this.hasLabel && (h("div", { key: '7b88ffdd3e42abb1313d729874d198642a83e66d', class: this.labelClasses, "aria-describedby": !!this.description ? 'label-description' : undefined }, !!this.label ? loc(this.label) : this.hasLabelSlotContent ? h("slot", { name: "label" }) : '')), this.hasDescripiton && (h("div", { key: '9eecdbf3aa2519da9508f1c210d3b3a9129824ce', id: "label-description", class: this.descriptionClasses }, !!this.description ? loc(this.description) : this.hasDefaultSlotContent ? h("slot", null) : ''))));
|
|
117
117
|
}
|
|
118
118
|
static get is() { return "q2-detail"; }
|
|
119
119
|
static get encapsulation() { return "shadow"; }
|
|
@@ -252,7 +252,7 @@ export class Q2Dropdown {
|
|
|
252
252
|
const custom = type === 'custom';
|
|
253
253
|
let intent;
|
|
254
254
|
if (allowedIntents.includes(type)) {
|
|
255
|
-
intent = type
|
|
255
|
+
intent = type;
|
|
256
256
|
}
|
|
257
257
|
const active = this.open;
|
|
258
258
|
const disabled = !!this.disabled;
|
|
@@ -364,7 +364,7 @@ export class Q2Dropdown {
|
|
|
364
364
|
// #region Render Methods
|
|
365
365
|
render() {
|
|
366
366
|
const btnProps = this.toggleButtonProps;
|
|
367
|
-
return (h("click-elsewhere", { key: '
|
|
367
|
+
return (h("click-elsewhere", { key: '45129d88765c097736a818c203418921bc669d2f', class: this.open ? 'dropdown-open' : '', onChange: this.onClickElsewhere, "test-id": "dropdownContainer" }, h("q2-btn", { key: 'cb76fe56a37af0909e06f267969c0f6605be318d', tabIndex: 0, ref: el => (this.controlElement = el), class: btnProps.className, onClick: this.onToggleClick, onKeyDown: this.onToggleKeydown, fab: btnProps.fab, intent: btnProps.intent, onFocusout: this.handleFocusOut, active: btnProps.active, disabled: btnProps.disabled, ariaExpanded: `${!!btnProps.ariaExpanded}`, label: this.hideLabel && this.label ? loc(this.label) : undefined, hideLabel: this.hideLabel, ariaHasPopup: "menu", "test-id": "dropdownButton", block: this.block, description: loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount]) }, this.hasCustomControl ? (h("div", { "test-id": "dropdownControl", class: btnProps.custom ? '' : 'hidden' }, h("slot", { name: "control" }))) : (h(Fragment, null, this.label && !this.hideLabel && (h("span", { class: "dropdown-button-text" }, loc(this.label))), this.icon ? h("q2-icon", { type: this.icon }) : ' '))), h("q2-popover", { key: '73bb8792c03313ae6074299d431d913435e95707', ref: el => (this.popoverElement = el), controlElement: this.controlElement, open: this.open, "max-height": this.popoverMaxHeight, onFocusout: this.handleFocusOut, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: this.block }, h("slot", { key: '05fa5e37195ce747ac4e801e1decf55838d9c752', name: "popover-top" }), h("q2-option-list", { key: '534b2dfaf2616937933aa2377d1a647688c679c9', onPopoverState: this.onPopoverState, id: "option-list", ref: el => (this.optionList = el), type: "menu", label: loc('tecton.element.optionList.label', [this.optionListLabel]), "no-select": true }, h("slot", { key: '686b6b14ebc67aad7707e6dc0c0170b117afde4e' })), h("slot", { key: '43b916294d33ac547efc6eeed2b2fc1c87085ad3', name: "popover-bottom" }))));
|
|
368
368
|
}
|
|
369
369
|
static get is() { return "q2-dropdown"; }
|
|
370
370
|
static get encapsulation() { return "shadow"; }
|
|
@@ -557,9 +557,9 @@ export class Q2Dropdown {
|
|
|
557
557
|
"docs": {
|
|
558
558
|
"tags": [{
|
|
559
559
|
"name": "warning",
|
|
560
|
-
"text": "
|
|
560
|
+
"text": "Hides the label visually. `label` text is still required for screenreader compliance."
|
|
561
561
|
}],
|
|
562
|
-
"text": "
|
|
562
|
+
"text": "Hides the dropdown's label text from view."
|
|
563
563
|
},
|
|
564
564
|
"getter": false,
|
|
565
565
|
"setter": false,
|
|
@@ -618,7 +618,7 @@ export class Q2Dropdown {
|
|
|
618
618
|
"docs": {
|
|
619
619
|
"tags": [{
|
|
620
620
|
"name": "warning",
|
|
621
|
-
"text": "
|
|
621
|
+
"text": "Required for screen reader compliance even when `hideLabel` is `true`."
|
|
622
622
|
}, {
|
|
623
623
|
"name": "localizable",
|
|
624
624
|
"text": undefined
|
|
@@ -14,6 +14,8 @@ export class Q2EditableField {
|
|
|
14
14
|
/**
|
|
15
15
|
* The visible descriptor for the element.
|
|
16
16
|
* Serves as the input label while in the edit state and as a decorative label for the read state when `persistentLabel` is `true`.
|
|
17
|
+
* @warning
|
|
18
|
+
* Required for screen reader compliance even when `hideLabel` is `true`.
|
|
17
19
|
* @localizable
|
|
18
20
|
*/
|
|
19
21
|
this.label = '';
|
|
@@ -25,11 +27,6 @@ export class Q2EditableField {
|
|
|
25
27
|
queueMicrotask(() => {
|
|
26
28
|
if (this.isDefaultPrevented(emittedEvents))
|
|
27
29
|
return;
|
|
28
|
-
this.innerValue = undefined;
|
|
29
|
-
this.formattedValue = undefined;
|
|
30
|
-
this.inputElement.value = '';
|
|
31
|
-
this.inputElement.value = this.defaultValue;
|
|
32
|
-
this.inputElement.value = this.value;
|
|
33
30
|
this.editing = false;
|
|
34
31
|
});
|
|
35
32
|
};
|
|
@@ -167,6 +164,8 @@ export class Q2EditableField {
|
|
|
167
164
|
observesEditing(newValue, oldValue) {
|
|
168
165
|
if (newValue === oldValue)
|
|
169
166
|
return;
|
|
167
|
+
if (!newValue)
|
|
168
|
+
this.discardDraft();
|
|
170
169
|
this.scheduledAfterRender.push(this.hostElement.focus);
|
|
171
170
|
}
|
|
172
171
|
errorsObserver() {
|
|
@@ -194,6 +193,20 @@ export class Q2EditableField {
|
|
|
194
193
|
get wrapperClass() {
|
|
195
194
|
return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;
|
|
196
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Drops the in-progress draft and re-syncs the input and the read state display from `value`.
|
|
198
|
+
*
|
|
199
|
+
* Runs whenever the field leaves the edit state, including when a consumer drives `editing` itself, so the
|
|
200
|
+
* read state never renders a discarded draft.
|
|
201
|
+
*/
|
|
202
|
+
discardDraft() {
|
|
203
|
+
this.innerValue = undefined;
|
|
204
|
+
this.formattedValue = undefined;
|
|
205
|
+
// `q2-input` only drops its own draft when its `value` prop actually changes, so bounce through a
|
|
206
|
+
// throwaway value that is guaranteed to differ from `value` before restoring it.
|
|
207
|
+
this.inputElement.value = this.value === '' ? ' ' : '';
|
|
208
|
+
this.inputElement.value = this.value;
|
|
209
|
+
}
|
|
197
210
|
emitChangeEvents(detail) {
|
|
198
211
|
return [this.change.emit(detail), this.tctChange.emit(detail)];
|
|
199
212
|
}
|
|
@@ -212,7 +225,7 @@ export class Q2EditableField {
|
|
|
212
225
|
// #endregion
|
|
213
226
|
// #region Render Methods
|
|
214
227
|
render() {
|
|
215
|
-
return (h("div", { key: '
|
|
228
|
+
return (h("div", { key: '38f7c5b55e8b6f0590c72ab81a4bb26c93506249' }, this.generateEditStateDOM(), this.generateReadStateDOM()));
|
|
216
229
|
}
|
|
217
230
|
static get is() { return "q2-editable-field"; }
|
|
218
231
|
static get encapsulation() { return "shadow"; }
|
|
@@ -358,8 +371,11 @@ export class Q2EditableField {
|
|
|
358
371
|
"required": false,
|
|
359
372
|
"optional": false,
|
|
360
373
|
"docs": {
|
|
361
|
-
"tags": [
|
|
362
|
-
|
|
374
|
+
"tags": [{
|
|
375
|
+
"name": "warning",
|
|
376
|
+
"text": "Hides the label visually. `label` text is still required for screenreader compliance."
|
|
377
|
+
}],
|
|
378
|
+
"text": "Hides the field's `<label>` element from view."
|
|
363
379
|
},
|
|
364
380
|
"getter": false,
|
|
365
381
|
"setter": false,
|
|
@@ -395,6 +411,9 @@ export class Q2EditableField {
|
|
|
395
411
|
"optional": false,
|
|
396
412
|
"docs": {
|
|
397
413
|
"tags": [{
|
|
414
|
+
"name": "warning",
|
|
415
|
+
"text": "Required for screen reader compliance even when `hideLabel` is `true`."
|
|
416
|
+
}, {
|
|
398
417
|
"name": "localizable",
|
|
399
418
|
"text": undefined
|
|
400
419
|
}],
|
|
@@ -118,7 +118,7 @@ export class Q2Example {
|
|
|
118
118
|
}, onClick: () => this.tctClick.emit(), role: "menu" }, h("slot", null))));
|
|
119
119
|
}
|
|
120
120
|
render() {
|
|
121
|
-
return h(Host, { key: '
|
|
121
|
+
return h(Host, { key: 'e7adf64d703f0226f4ee5f5038ddbcda28b27ed2', attribute: "navigation" }, this.renderMenuInner());
|
|
122
122
|
}
|
|
123
123
|
static get is() { return "q2-example"; }
|
|
124
124
|
static get encapsulation() { return "shadow"; }
|
|
@@ -106,7 +106,7 @@ export class Q2FilePicker {
|
|
|
106
106
|
// #region Render Methods
|
|
107
107
|
this.render = () => {
|
|
108
108
|
const { disabled } = this;
|
|
109
|
-
return (h("div", { class: "file-picker" }, (this.hasLabel || this.hasDescription) && (h("div", { class: "heading" }, this.hasLabel && (h("label", { class: "label", htmlFor: "file-field", "test-id": "label" }, !!this.label ? loc(this.label) : this.hasLabelSlotContent ? h("slot", { name: "label" }) : '')), this.hasDescription && (h("div", { class: "description", id: "description", "test-id": "description" }, !!this.description ? (loc(this.description)) : this.hasDescriptionSlotContent ? (h("slot", { name: "description" })) : (''))))), (this.variant === 'browse-drop' && (h("div", { class: this.dropZoneClasses, onDragEnter: this.disableEvent, onDragLeave: this.dimDropZone, onDragOver: this.highlightDropZone, onDrop: this.grabDroppedFiles, ref: el => (this.dropZone = el !== null && el !== void 0 ? el : this.dropZone), "test-id": "drop-zone" }, (this.areFilesUploading && (h(Fragment, null, h("q2-loading", { class: "loading" }), h("p", { class: "drop-zone-text" }, loc('tecton.element.filePicker.uploadingEllipsis'))))) || (h(Fragment, null, h("q2-icon", { type: "upload" }), h("p", { class: "drop-zone-text" }, h("q2-link", { class: "browse-link", label: loc('tecton.element.filePicker.browse'), onTctClick: () => this.launchFileBrowser(), variant: "inline", "test-id": "browse-link", disabled: disabled, href: "javascript:void(0)" }), loc('tecton.element.filePicker.orDragFilesHere', [this.maxFiles]))))))) || (h("div", { class: "browse", "test-id": "browse" }, h("q2-btn", { block: this.isMobileViewport, disabled: disabled || this.areFilesUploading, intent: "
|
|
109
|
+
return (h("div", { class: "file-picker" }, (this.hasLabel || this.hasDescription) && (h("div", { class: "heading" }, this.hasLabel && (h("label", { class: "label", htmlFor: "file-field", "test-id": "label" }, !!this.label ? loc(this.label) : this.hasLabelSlotContent ? h("slot", { name: "label" }) : '')), this.hasDescription && (h("div", { class: "description", id: "description", "test-id": "description" }, !!this.description ? (loc(this.description)) : this.hasDescriptionSlotContent ? (h("slot", { name: "description" })) : (''))))), (this.variant === 'browse-drop' && (h("div", { class: this.dropZoneClasses, onDragEnter: this.disableEvent, onDragLeave: this.dimDropZone, onDragOver: this.highlightDropZone, onDrop: this.grabDroppedFiles, ref: el => (this.dropZone = el !== null && el !== void 0 ? el : this.dropZone), "test-id": "drop-zone" }, (this.areFilesUploading && (h(Fragment, null, h("q2-loading", { class: "loading" }), h("p", { class: "drop-zone-text" }, loc('tecton.element.filePicker.uploadingEllipsis'))))) || (h(Fragment, null, h("q2-icon", { type: "upload" }), h("p", { class: "drop-zone-text" }, h("q2-link", { class: "browse-link", label: loc('tecton.element.filePicker.browse'), onTctClick: () => this.launchFileBrowser(), variant: "inline", "test-id": "browse-link", disabled: disabled, href: "javascript:void(0)" }), loc('tecton.element.filePicker.orDragFilesHere', [this.maxFiles]))))))) || (h("div", { class: "browse", "test-id": "browse" }, h("q2-btn", { block: this.isMobileViewport, disabled: disabled || this.areFilesUploading, intent: "primary", loading: this.areFilesUploading, onClick: () => this.launchFileBrowser(), size: this.actualButtonSize, "test-id": "browse-button" }, h("q2-icon", { type: "paperclip" }), h("span", null, loc('tecton.element.filePicker.attachFiles', [this.maxFiles]))))), h("input", { "aria-describedby": (!!this.description && 'description') || undefined, class: "sr", id: "file-field", onChange: this.grabSelectedFiles, ref: el => (this.browseButtonInput = el !== null && el !== void 0 ? el : this.browseButtonInput), type: "file", "test-id": "file-input", disabled: disabled, multiple: true, tabIndex: -1 }), h("div", { class: "file-list-container", onScroll: this.updateFileListGradient, ref: el => (this.fileListContainer = el !== null && el !== void 0 ? el : this.fileListContainer) }, h("q2-list", { class: "file-list", ref: el => (this.fileList = el !== null && el !== void 0 ? el : this.fileList) }, this.displayedFiles.map(file => (h("q2-item", { class: this.getFileItemClasses(file.file.name), key: file.file.name, onAnimationEnd: this.getAnimationendHandlerToRemoveFileItem(file.file.name) }, h("div", { slot: "decorator" }, file.status === 'invalid-type' ||
|
|
110
110
|
file.status === 'over-size-limit' ||
|
|
111
111
|
file.status === 'failed' ||
|
|
112
112
|
file.status === 'over-max-files-limit' ? (h("q2-icon", { class: "icon-error", type: "error" })) : file.status === 'in-progress' ? (h("q2-loading", { class: "file-item-loading", "hide-from-screen-readers": true })) : (h("q2-icon", { class: "icon-success", type: "success" }))), this.ellipsizeFileName === false ? (h("div", { slot: "header" }, file.file.name)) : (h("div", { class: "file-name-header", slot: "header" }, h("span", { class: "file-name-leading" }, file.file.name.slice(0, Math.ceil(file.file.name.length / 2))), h("span", { class: "file-name-trailing" }, h("bdo", { dir: "ltr" }, file.file.name.slice(Math.ceil(file.file.name.length / 2)))))), h("div", { class: "file-item-info", slot: "body" }, this.getFileItemStatusMessage(file)), h("div", { slot: "action" }, h("q2-btn", { class: "dismiss-button", intent: "neutral-text", "hide-label": "true", label: this.getFileItemButtonLabel(file), onClick: this.getClickHandlerToRemoveFileItem(file.file.name), disabled: disabled }, h("q2-icon", { type: "close" }))))))))));
|
|
@@ -13,7 +13,7 @@ export class Q2Form {
|
|
|
13
13
|
// #endregion
|
|
14
14
|
// #region Render Methods
|
|
15
15
|
render() {
|
|
16
|
-
return (h("div", { key: '
|
|
16
|
+
return (h("div", { key: 'e4a4cee5eb8e69c9fe81423d3942a6299b4d1462', class: "container" }, h("slot", { key: '1d729b1c93148f0a12954688cd33266b24f40f67' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "q2-form"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -71,7 +71,7 @@ export class Q2FormattedText {
|
|
|
71
71
|
// #region Render Methods
|
|
72
72
|
render() {
|
|
73
73
|
const { formattedTextClasses } = this;
|
|
74
|
-
return (h("div", { key: '
|
|
74
|
+
return (h("div", { key: 'bb6f08a7fd5801e7527624b766061019ce931ac5', class: formattedTextClasses, "aria-label": this.formattedValue }, h("span", { key: '44808806b71f4b3783fa38806789bbc91956bdcd' }, this.formattedValue)));
|
|
75
75
|
}
|
|
76
76
|
static get is() { return "q2-formatted-text"; }
|
|
77
77
|
static get encapsulation() { return "shadow"; }
|
|
@@ -839,7 +839,7 @@ export class Q2Input {
|
|
|
839
839
|
}
|
|
840
840
|
render() {
|
|
841
841
|
const { ariaControls, ariaExpanded } = this.ariaAttributes;
|
|
842
|
-
return (h(Host, { key: '
|
|
842
|
+
return (h(Host, { key: '5cce451eef90d5ef5cef8020105b725d76265eeb', role: this._role, "aria-controls": ariaControls, "aria-expanded": ariaExpanded }, h("div", { key: '6c014e6884ceabb3a0ceb7d667d7a9496221419c', class: this.wrapperClasses }, this._ariaDescription && (h("span", { key: '0a4eba6052c45e24e6babcfa9abbe587c46484c4', id: `${this.inputId}-aria-description`, class: "sr" }, this._ariaDescription)), h("div", { key: 'd93a7a1e3b0f8638c23f2922429b458d5b249e9f', class: "label-wrapper" }, renderLabel(this), this.renderCountDOM()), this.renderInputContainerDOM(), renderMessages(this))));
|
|
843
843
|
}
|
|
844
844
|
static get is() { return "q2-input"; }
|
|
845
845
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1300,9 +1300,9 @@ export class Q2Input {
|
|
|
1300
1300
|
"docs": {
|
|
1301
1301
|
"tags": [{
|
|
1302
1302
|
"name": "warning",
|
|
1303
|
-
"text": "
|
|
1303
|
+
"text": "Hides the label visually. `label` text is still required for screenreader compliance."
|
|
1304
1304
|
}],
|
|
1305
|
-
"text": "
|
|
1305
|
+
"text": "Hides the field's `<label>` element from view."
|
|
1306
1306
|
},
|
|
1307
1307
|
"getter": false,
|
|
1308
1308
|
"setter": false,
|
|
@@ -1415,6 +1415,9 @@ export class Q2Input {
|
|
|
1415
1415
|
"optional": false,
|
|
1416
1416
|
"docs": {
|
|
1417
1417
|
"tags": [{
|
|
1418
|
+
"name": "warning",
|
|
1419
|
+
"text": "Required for screen reader compliance even when `hideLabel` is `true`."
|
|
1420
|
+
}, {
|
|
1418
1421
|
"name": "localizable",
|
|
1419
1422
|
"text": undefined
|
|
1420
1423
|
}],
|
|
@@ -27,6 +27,21 @@ export class Q2Item {
|
|
|
27
27
|
this.renderTrigger = 0;
|
|
28
28
|
/** Controls the vertical alignment of the item decorator and single content slot. */
|
|
29
29
|
this.verticalAlign = 'top';
|
|
30
|
+
this.handleKeydown = (event) => {
|
|
31
|
+
if (!this.clickable || event.target !== this.itemElement)
|
|
32
|
+
return;
|
|
33
|
+
if (event.key === 'Enter' || this.isSpaceKey(event)) {
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
this.handleKeyup = (event) => {
|
|
38
|
+
if (!this.clickable || event.target !== this.itemElement)
|
|
39
|
+
return;
|
|
40
|
+
if (event.key === 'Enter' || this.isSpaceKey(event)) {
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
this.itemElement.click();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
30
45
|
}
|
|
31
46
|
// #endregion
|
|
32
47
|
// #region Component Lifecycle Events
|
|
@@ -138,11 +153,14 @@ export class Q2Item {
|
|
|
138
153
|
const contentSlotCount = [this.hasHeaderSlotContent, this.hasBodySlotContent, this.hasFooterSlotContent].filter(Boolean).length;
|
|
139
154
|
return this.verticalAlign !== 'top' && contentSlotCount === 1;
|
|
140
155
|
}
|
|
156
|
+
isSpaceKey(event) {
|
|
157
|
+
return event.code === 'Space' || event.key === ' ' || event.key === 'Space' || event.key === 'Spacebar';
|
|
158
|
+
}
|
|
141
159
|
// #endregion
|
|
142
160
|
// #region Render Methods
|
|
143
161
|
render() {
|
|
144
162
|
const { clickable } = this;
|
|
145
|
-
return (h("div", { key: '
|
|
163
|
+
return (h("div", { key: '42ea022dfbebe50fc94e275c95f83f7cc3bbc3fd', "test-id": "itemContainer", class: this.itemClasses, ref: el => (this.itemElement = el), role: clickable ? 'button' : undefined, tabIndex: clickable ? 0 : undefined, onKeyDown: this.handleKeydown, onKeyUp: this.handleKeyup }, this.hasDecoratorSlotContent && (h("div", { key: '5ea5749d40d3fe53b28278272160e093cab9a7f6', class: this.decoratorClasses }, h("slot", { key: 'f69f67d5fd71dc36fab1e9a7014dd05c89a4250f', name: "decorator" }, h("slot", { key: '12e97e5492803c40e7e56785f69e18e8d27aa099', name: "bullet" })))), h("div", { key: '6a58cdcfba08332b36317fa072be51f90a24b03b', class: this.mainClasses }, this.hasHeaderSlotContent && (h("div", { key: '557085b4064d2ef20db3cb0f91388feb5737f83a', class: "header" }, h("slot", { key: '455ae71c71174ff1591e7ce5e83c1c6104261e81', name: "header" }))), this.hasBodySlotContent && (h("div", { key: 'e003fa668b6640cebd7c0faaca2eb740a77944fc', class: "body" }, h("slot", { key: 'aa0d5b552db0d4e3ca1692c7798feade76e0e89d', name: "body" })))), this.hasActionSlotContent && (h("div", { key: '7c606e2cb0593b03844e2ddb48cbd9c4225f4d8d', class: this.actionClasses }, h("slot", { key: '9fb61fea2a775d011c3185d403a19877e8b558ba', name: "action" }))), this.hasFooterSlotContent && (h("div", { key: '2cab76f4d546f73365dcc7e1a5ea773b933e355e', class: this.footerClasses }, h("slot", { key: 'c7b603097d0272199604ec53dce5c99caf37a3d5', name: "footer" })))));
|
|
146
164
|
}
|
|
147
165
|
static get is() { return "q2-item"; }
|
|
148
166
|
static get encapsulation() { return "shadow"; }
|
|
@@ -9,9 +9,9 @@ const DROPDOWN_OPTIONS = `
|
|
|
9
9
|
<q2-option value="fourth">Fourth</q2-option>
|
|
10
10
|
`;
|
|
11
11
|
const DROPDOWN_ACTION = `<q2-dropdown slot="action" type="icon" label="My dropdown" icon="options" popover-alignment="left" hide-label="">${DROPDOWN_OPTIONS}</q2-dropdown>`;
|
|
12
|
-
const BUTTON_ACTION = `<q2-btn intent="
|
|
12
|
+
const BUTTON_ACTION = `<q2-btn intent="primary" slot="action">Action</q2-btn>`;
|
|
13
13
|
const ICON_ACTION = `<q2-icon slot="action" type="options"></q2-icon>`;
|
|
14
|
-
const ICON_BUTTON_ACTION = `<q2-btn slot="action" intent="
|
|
14
|
+
const ICON_BUTTON_ACTION = `<q2-btn slot="action" intent="primary"><q2-icon type="edit"></q2-icon></q2-btn>`;
|
|
15
15
|
const CHECKBOX_ACTION = `<q2-checkbox label="Item checkbox" hide-label slot="action"></q2-checkbox>`;
|
|
16
16
|
const PILL_ACTION = `<q2-pill label="Item pill" slot="action"></q2-pill>`;
|
|
17
17
|
const AVATAR_DECORATOR = `<q2-avatar icon="home" slot="decorator"></q2-avatar>`;
|
|
@@ -109,7 +109,7 @@ export class Q2Legend {
|
|
|
109
109
|
// #endregion
|
|
110
110
|
// #region Render Methods
|
|
111
111
|
render() {
|
|
112
|
-
return (h("click-elsewhere", { key: '
|
|
112
|
+
return (h("click-elsewhere", { key: '4072c6510e6d0820051d31eb2e031f05b6f4b71e', onChange: () => this.onClickElsewhere(this) }, h("ul", { key: 'd823017f42f22efe3fdedbb1484b0a7f749022ae' }, this.dataWithClasses.map(item => (h("li", { class: "item" }, h("button", { "test-id": "item", "aria-label": `${item.name} ${this.formatValue(item.value)}`, class: item.classes, onClick: event => this.onClick(event, item), onMouseEnter: event => this.onMouseEnter(event, item), onMouseLeave: event => this.onMouseLeave(event, item) }, h("span", { "test-id": "itemColor", class: "item-color-indicator", style: { backgroundColor: item.color }, "aria-hidden": "true" }), h("span", { "test-id": "itemName", class: "item-name" }, item.name), h("span", { id: `item-${item.id}`, "test-id": "itemValue", class: "item-value" }, this.formatValue(item.value)))))))));
|
|
113
113
|
}
|
|
114
114
|
static get is() { return "q2-legend"; }
|
|
115
115
|
static get encapsulation() { return "shadow"; }
|
|
@@ -69,7 +69,7 @@ export class Q2List {
|
|
|
69
69
|
// #endregion
|
|
70
70
|
// #region Render Methods
|
|
71
71
|
render() {
|
|
72
|
-
return (h("div", { key: '
|
|
72
|
+
return (h("div", { key: '83755626545a0f51c29343772b4ac3bfe3affb44', class: this.listClasses, ref: el => (this.listElement = el) }, (this.hasFilterSlot || this.hasLabelContent) && (h("div", { key: 'ac297dfd9016aa8c7e3ee7664cf82bfbdbb1a18c', class: this.headerClasses }, h("div", { key: 'bce3d15f585ce2ab6d1db0d1e17d95018dc237cd', class: "label" }, this.label), this.hasFilterSlot && h("slot", { key: '373811d46b5adbc711017b816147c12008f142d4', name: "filter" }))), h("div", { key: '47818e442a69e5d3af55730b51c8aa2d73cc26b8', role: "list" }, h("slot", { key: 'b0061fb86511665ecf5217f817135bc1533608ae' }))));
|
|
73
73
|
}
|
|
74
74
|
static get is() { return "q2-list"; }
|
|
75
75
|
static get encapsulation() { return "shadow"; }
|
|
@@ -66,7 +66,7 @@ export class Q2Message {
|
|
|
66
66
|
const addDivForAriaLive = !isFirefox && this.presentToggle;
|
|
67
67
|
const { description } = this;
|
|
68
68
|
const messageLabel = loc(`tecton.element.message.type.${this.type ? this.type : 'info'}`);
|
|
69
|
-
return (h("div", { key: '
|
|
69
|
+
return (h("div", { key: 'eb6b6c3d9ae10d3f87a9c7be63780f582216ded1', tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description && addAriaHiddenForAriaLive ? undefined : 'all', "test-id": "messageContainer" }, h("div", { key: 'e2dc68dc1da013553997ee459dede038f773a5e6', class: "bar", "test-id": "bar" }), this.appearance === 'standard' ? this.messageIcon(this.type) : '', addDivForAriaLive && h("div", { key: 'cc73afe11cda6117a222a15f3977152e2d22228e', class: "sr" }), h("div", { key: 'e92d1fff9c917176b2aded0fc9198fe819e4496c', class: "sr message-label" }, messageLabel), h("div", { key: 'f5ee65aa207ccf68b7cb3abda8ffed78b39937f8', class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", { key: '493608040edc25dbccfe63c2907a42dc43c023a9' }))));
|
|
70
70
|
}
|
|
71
71
|
static get is() { return "q2-message"; }
|
|
72
72
|
static get encapsulation() { return "shadow"; }
|
|
@@ -114,7 +114,7 @@ export class Q2Meter {
|
|
|
114
114
|
}
|
|
115
115
|
render() {
|
|
116
116
|
const [completed, suggested] = this.convertToPercentage(this.completedValue, this.suggestedValue, this.maxValue);
|
|
117
|
-
return (h("div", { key: '
|
|
117
|
+
return (h("div", { key: '046777b3fb3bbfe58ad5ff97878d9c37008dd68d', class: "meter-container", "aria-label": this.ariaLabel, role: "group" }, this.label && (h("div", { key: '8b4b84a18e9b91b72cf0b5135136f09e6327fa27', class: "label", "aria-label": loc(this.label) }, loc(this.label))), this.description && (h("div", { key: '85019eed37e6f346846e71bab7351460f5549bd0', class: "description", "aria-label": loc(this.description) }, loc(this.description))), this.renderBar(completed, suggested), h("div", { key: 'c6f111962764a49032e645cab917f11ccc2b3cea', class: "legends" }, h("div", { key: 'c63885e8690d61355867a6d9dc64575dc43bd22b', class: "left" }, this.completedValue || this.completedLabel ? (h("div", { class: "completed" }, h("div", { class: "dot" }), h("div", { class: "legend-label" }, this.completedValue, " ", loc(this.completedLabel)))) : (''), this.suggestedValue || this.suggestedLabel ? (h("div", { class: "suggested" }, h("div", { class: "dot" }), h("div", { class: "legend-label" }, this.suggestedValue, " ", loc(this.suggestedLabel)))) : ('')), h("div", { key: 'fd33a6d780d62b72081006d2bc81bce5942cfac7', class: "right" }, h("div", { key: '02fa74993895707294400edf76cc9a4882c9b55d', class: "max" }, this.maxValue, " ", loc(this.maxLabel))))));
|
|
118
118
|
}
|
|
119
119
|
static get is() { return "q2-meter"; }
|
|
120
120
|
static get encapsulation() { return "shadow"; }
|
|
@@ -177,7 +177,7 @@ export class Q2Modal {
|
|
|
177
177
|
render() {
|
|
178
178
|
const interiorClasses = `interior`;
|
|
179
179
|
const renderStatus = `${this.renderStatus || ''}`;
|
|
180
|
-
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" }))))));
|
|
181
181
|
}
|
|
182
182
|
static get is() { return "q2-modal"; }
|
|
183
183
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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,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"; }
|