q2-tecton-elements 1.70.2 → 1.71.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 +556 -231
- package/dist/cjs/click-elsewhere_3.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group_2.cjs.entry.js +3 -3
- package/dist/cjs/q2-action-sheet.cjs.entry.js +4 -3
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge_2.cjs.entry.js +17 -8
- package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-calendar.cjs.entry.js +8 -6
- package/dist/cjs/q2-card-image.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +108 -74
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
- package/dist/cjs/q2-example.cjs.entry.js +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
- 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 +1 -1
- 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-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-meter.cjs.entry.js +1 -1
- package/dist/cjs/q2-modal.cjs.entry.js +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-otp.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +18 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
- package/dist/cjs/q2-search.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +32 -9
- package/dist/cjs/q2-stepper.cjs.entry.js +18 -4
- package/dist/cjs/q2-surface.cjs.entry.js +3 -3
- package/dist/cjs/q2-tab-container.cjs.entry.js +89 -20
- package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-toast.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +26 -15
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
- package/dist/collection/components/q2-action-group/q2-action-group.css +22 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +24 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +3 -2
- package/dist/collection/components/q2-avatar/q2-avatar.css +23 -1
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.vr.js +13 -1
- package/dist/collection/components/q2-badge/q2-badge.css +26 -4
- package/dist/collection/components/q2-badge/test/q2-badge-test.vr.js +13 -1
- package/dist/collection/components/q2-btn/q2-btn.css +53 -9
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +19 -1
- package/dist/collection/components/q2-calendar/q2-calendar.css +26 -4
- package/dist/collection/components/q2-calendar/q2-calendar.js +7 -5
- package/dist/collection/components/q2-calendar/q2-month-picker.css +22 -0
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +34 -1
- package/dist/collection/components/q2-card/q2-card.css +23 -1
- package/dist/collection/components/q2-card/test/q2-card-test.vr.js +10 -1
- package/dist/collection/components/q2-card-image/q2-card-image.css +23 -1
- package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +9 -1
- package/dist/collection/components/q2-carousel/q2-carousel.css +29 -39
- package/dist/collection/components/q2-carousel/q2-carousel.js +122 -69
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +5 -4
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.css +22 -0
- package/dist/collection/components/q2-chart-area/q2-chart-area.css +22 -0
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +22 -0
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +24 -2
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +13 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +23 -1
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.vr.js +11 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +23 -1
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.vr.js +11 -1
- package/dist/collection/components/q2-currency/q2-currency.css +25 -3
- package/dist/collection/components/q2-currency/test/q2-currency-test.vr.js +13 -1
- package/dist/collection/components/q2-data-table/q2-data-table.css +24 -2
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +11 -1
- package/dist/collection/components/q2-detail/q2-detail.css +32 -10
- package/dist/collection/components/q2-dropdown/q2-dropdown.css +22 -0
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +22 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.css +22 -0
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +2 -2
- package/dist/collection/components/q2-example/q2-example.css +23 -0
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +57 -10
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +14 -1
- package/dist/collection/components/q2-form/q2-form.css +22 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.css +25 -3
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.vr.js +13 -1
- package/dist/collection/components/q2-icon/assets/standard.symbol.svg +1 -1
- package/dist/collection/components/q2-icon/q2-icon.css +22 -0
- package/dist/collection/components/q2-input/q2-input.css +26 -4
- package/dist/collection/components/q2-input/q2-input.js +39 -7
- package/dist/collection/components/q2-input/test/q2-input-test.vr.js +36 -1
- package/dist/collection/components/q2-item/q2-item.css +46 -2
- package/dist/collection/components/q2-item/test/q2-item-test.vr.js +12 -1
- package/dist/collection/components/q2-legend/q2-legend.css +24 -2
- package/dist/collection/components/q2-link/q2-link.css +22 -0
- package/dist/collection/components/q2-list/q2-list.css +46 -2
- package/dist/collection/components/q2-list/test/q2-list-test.vr.js +12 -1
- package/dist/collection/components/q2-loading/q2-loading.css +23 -0
- package/dist/collection/components/q2-message/q2-message.css +22 -0
- package/dist/collection/components/q2-meter/q2-meter.css +25 -3
- package/dist/collection/components/q2-meter/test/q2-meter-test.vr.js +12 -1
- package/dist/collection/components/q2-modal/q2-modal.css +23 -1
- package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +12 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.css +23 -1
- package/dist/collection/components/q2-option/q2-option.css +22 -0
- package/dist/collection/components/q2-option-list/q2-option-list.css +22 -0
- package/dist/collection/components/q2-otp/q2-otp.css +27 -4
- package/dist/collection/components/q2-otp/test/q2-otp-test.vr.js +12 -1
- package/dist/collection/components/q2-pagination/q2-pagination.css +22 -0
- package/dist/collection/components/q2-pill/q2-pill.css +42 -2
- package/dist/collection/components/q2-pill/q2-pill.js +18 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.vr.js +27 -1
- package/dist/collection/components/q2-popover/q2-popover.css +22 -7
- package/dist/collection/components/q2-radio/q2-radio.css +24 -2
- package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +12 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +23 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +11 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.css +22 -0
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.css +22 -0
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-search/q2-search.css +22 -0
- package/dist/collection/components/q2-search/q2-search.js +1 -1
- package/dist/collection/components/q2-section/q2-section.css +23 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/test/q2-section-test.vr.js +11 -1
- package/dist/collection/components/q2-select/q2-select.css +22 -0
- package/dist/collection/components/q2-stepper/q2-stepper.css +38 -4
- package/dist/collection/components/q2-stepper/q2-stepper.js +17 -3
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.vr.js +12 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.css +22 -0
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +39 -5
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +31 -8
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.vr.js +16 -1
- package/dist/collection/components/q2-surface/q2-surface.css +71 -32
- package/dist/collection/components/q2-surface/q2-surface.js +7 -7
- package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +54 -0
- package/dist/collection/components/q2-tab-container/q2-tab-container.css +112 -6
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +114 -21
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.vr.js +24 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.css +22 -0
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +25 -2
- package/dist/collection/components/q2-tag/q2-tag.js +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.vr.js +21 -1
- package/dist/collection/components/q2-textarea/q2-textarea.css +24 -2
- package/dist/collection/components/q2-textarea/q2-textarea.js +2 -2
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.vr.js +16 -1
- package/dist/collection/components/q2-toast/q2-toast.css +22 -0
- package/dist/collection/components/q2-tooltip/q2-tooltip.css +27 -19
- package/dist/collection/components/q2-tooltip/q2-tooltip.js +32 -21
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +13 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.css +22 -0
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/helpers.js +29 -6
- package/dist/collection/utils/test/vr-helpers.js +7 -0
- package/dist/components/q2-action-group2.js +1 -1
- package/dist/components/q2-action-sheet.js +21 -18
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-badge2.js +1 -1
- package/dist/components/q2-btn2.js +15 -15
- package/dist/components/q2-calendar.js +306 -301
- package/dist/components/q2-card-image.js +6 -6
- package/dist/components/q2-card.js +14 -14
- package/dist/components/q2-carousel-pane2.js +1 -1
- package/dist/components/q2-carousel.js +633 -585
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-bar.js +70 -70
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-checkbox-group.js +42 -42
- package/dist/components/q2-checkbox2.js +1 -1
- package/dist/components/q2-currency.js +32 -32
- package/dist/components/q2-data-table.js +34 -34
- package/dist/components/q2-detail.js +5 -5
- package/dist/components/q2-dropdown-item2.js +11 -11
- package/dist/components/q2-dropdown.js +17 -17
- package/dist/components/q2-editable-field.js +12 -11
- package/dist/components/q2-example.js +15 -15
- package/dist/components/q2-file-picker.js +25 -25
- package/dist/components/q2-form.js +11 -11
- package/dist/components/q2-formatted-text.js +5 -5
- package/dist/components/q2-icon2.js +1 -1
- package/dist/components/q2-input2.js +24 -13
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-legend2.js +56 -56
- package/dist/components/q2-link2.js +6 -6
- package/dist/components/q2-list2.js +22 -22
- package/dist/components/q2-loading2.js +1 -1
- package/dist/components/q2-message2.js +20 -20
- package/dist/components/q2-meter.js +1 -1
- package/dist/components/q2-modal.js +3 -3
- package/dist/components/q2-month-picker.js +10 -10
- package/dist/components/q2-optgroup2.js +7 -7
- package/dist/components/q2-option-list2.js +34 -34
- package/dist/components/q2-option2.js +13 -13
- package/dist/components/q2-otp.js +5 -5
- package/dist/components/q2-pagination.js +58 -58
- package/dist/components/q2-pill.js +66 -54
- package/dist/components/q2-popover2.js +1 -1
- package/dist/components/q2-radio-group.js +5 -5
- package/dist/components/q2-radio.js +14 -14
- package/dist/components/q2-relative-time.js +10 -10
- package/dist/components/q2-resize-observer2.js +9 -9
- package/dist/components/q2-search.js +5 -5
- package/dist/components/q2-section.js +22 -22
- package/dist/components/q2-select2.js +1 -1
- package/dist/components/q2-stepper-pane.js +33 -33
- package/dist/components/q2-stepper-vertical.js +84 -60
- package/dist/components/q2-stepper.js +79 -65
- package/dist/components/q2-surface.js +14 -14
- package/dist/components/q2-tab-container.js +110 -55
- package/dist/components/q2-tab-pane.js +7 -7
- package/dist/components/q2-tag2.js +39 -39
- package/dist/components/q2-textarea.js +16 -16
- package/dist/components/q2-toast.js +22 -22
- package/dist/components/q2-tooltip2.js +26 -25
- package/dist/components/tecton-tab-pane.js +11 -11
- package/dist/esm/click-elsewhere_3.entry.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group_2.entry.js +3 -3
- package/dist/esm/q2-action-sheet.entry.js +4 -3
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-badge_2.entry.js +17 -8
- package/dist/esm/q2-btn_2.entry.js +2 -2
- package/dist/esm/q2-calendar.entry.js +8 -6
- package/dist/esm/q2-card-image.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +104 -70
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox_2.entry.js +3 -3
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +1 -1
- package/dist/esm/q2-detail.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +3 -3
- package/dist/esm/q2-example.entry.js +1 -1
- package/dist/esm/q2-file-picker.entry.js +1 -1
- 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 +1 -1
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-link_2.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-meter.entry.js +1 -1
- package/dist/esm/q2-modal.entry.js +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup.entry.js +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-otp.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +18 -2
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-relative-time.entry.js +2 -2
- package/dist/esm/q2-search.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +32 -9
- package/dist/esm/q2-stepper.entry.js +18 -4
- package/dist/esm/q2-surface.entry.js +3 -3
- package/dist/esm/q2-tab-container.entry.js +89 -20
- package/dist/esm/q2-tab-pane.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-toast.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +27 -16
- package/dist/esm/tecton-tab-pane.entry.js +3 -3
- package/dist/q2-tecton-elements/assets/standard.symbol.svg +1 -1
- package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +23 -23
- package/dist/q2-tecton-elements/q2-action-group_2.entry.js +42 -42
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +21 -18
- package/dist/q2-tecton-elements/q2-avatar.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-badge_2.entry.js +25 -15
- package/dist/q2-tecton-elements/q2-btn_2.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-calendar.entry.js +120 -115
- package/dist/q2-tecton-elements/q2-card-image.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +11 -11
- package/dist/q2-tecton-elements/q2-carousel.entry.js +572 -540
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +166 -166
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +190 -190
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-currency.entry.js +40 -40
- package/dist/q2-tecton-elements/q2-data-table.entry.js +64 -64
- package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +18 -17
- package/dist/q2-tecton-elements/q2-example.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-form.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-link_2.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-message.entry.js +23 -23
- package/dist/q2-tecton-elements/q2-meter.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-modal.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +39 -39
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +13 -13
- package/dist/q2-tecton-elements/q2-option.entry.js +22 -22
- package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +11 -11
- package/dist/q2-tecton-elements/q2-pill.entry.js +30 -18
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +24 -24
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-search.entry.js +12 -12
- package/dist/q2-tecton-elements/q2-section.entry.js +25 -25
- package/dist/q2-tecton-elements/q2-select.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +16 -16
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +77 -53
- package/dist/q2-tecton-elements/q2-stepper.entry.js +44 -30
- package/dist/q2-tecton-elements/q2-surface.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-tab-container.entry.js +109 -56
- package/dist/q2-tecton-elements/q2-tab-pane.entry.js +13 -13
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-toast.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +25 -24
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +11 -11
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +14 -0
- package/dist/types/components/q2-input/q2-input.d.ts +7 -1
- package/dist/types/components/q2-pill/q2-pill.d.ts +2 -0
- package/dist/types/components/q2-stepper/q2-stepper.d.ts +1 -0
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +3 -2
- package/dist/types/components/q2-surface/q2-surface.d.ts +3 -3
- package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +17 -3
- package/dist/types/components/q2-tooltip/q2-tooltip.d.ts +2 -1
- package/dist/types/components.d.ts +50 -21
- package/dist/types/utils/helpers.d.ts +16 -1
- package/dist/types/utils/test/vr-helpers.d.ts +11 -0
- package/package.json +12 -5
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
* {
|
|
69
91
|
box-sizing: border-box;
|
|
70
92
|
}
|
|
@@ -132,6 +154,28 @@ button {
|
|
|
132
154
|
visibility: hidden;
|
|
133
155
|
}
|
|
134
156
|
|
|
157
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
158
|
+
*,
|
|
159
|
+
*::before,
|
|
160
|
+
*::after {
|
|
161
|
+
animation-duration: 0.01ms !important;
|
|
162
|
+
transition-duration: 0.01ms !important;
|
|
163
|
+
animation-delay: 0ms !important;
|
|
164
|
+
transition-delay: 0ms !important;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
168
|
+
@media (prefers-reduced-motion: reduce) {
|
|
169
|
+
*,
|
|
170
|
+
*::before,
|
|
171
|
+
*::after {
|
|
172
|
+
animation-duration: 0.01ms !important;
|
|
173
|
+
transition-duration: 0.01ms !important;
|
|
174
|
+
animation-delay: 0ms !important;
|
|
175
|
+
transition-delay: 0ms !important;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
135
179
|
/**
|
|
136
180
|
* @prop --tct-btn-border?: (*) Controls the optional border shorthand of the button.
|
|
137
181
|
* @prop --tct-btn-border-radius: (<length-percentage>) Controls the corner radius of the button.
|
|
@@ -513,6 +557,7 @@ button {
|
|
|
513
557
|
transition-property: background, color, box-shadow, fill, border-color, border-width;
|
|
514
558
|
outline: 0;
|
|
515
559
|
min-height: var(--tct-btn-min-height, none);
|
|
560
|
+
letter-spacing: var(--tct-btn-letter-spacing, inherit);
|
|
516
561
|
}
|
|
517
562
|
button:disabled {
|
|
518
563
|
opacity: var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));
|
|
@@ -522,7 +567,6 @@ button.has-color, button.has-intent {
|
|
|
522
567
|
font-size: var(--tct-btn-font-size, var(--t-btn-font-size, inherit));
|
|
523
568
|
border-radius: var(--tct-btn-border-radius, var(--comp-border-radius));
|
|
524
569
|
text-transform: var(--tct-btn-text-transform);
|
|
525
|
-
letter-spacing: var(--tct-btn-letter-spacing, inherit);
|
|
526
570
|
}
|
|
527
571
|
button.has-color:not(.has-size), button.has-intent:not(.has-size) {
|
|
528
572
|
padding: var(--tct-btn-padding, var(--t-btn-padding, var(--tct-scale-2, var(--app-scale-2x, 10px))));
|
|
@@ -547,8 +591,8 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
|
|
|
547
591
|
}
|
|
548
592
|
:host([size=small]) button.has-intent:not(.intent-coin):not(.icon-only) {
|
|
549
593
|
padding: var(--tct-btn-padding-size-small, var(--t-btn-padding-size-small, 6px 13px));
|
|
550
|
-
font-size: var(--tct-btn-font-size-small, var(--t-btn-font-size-small, 14px));
|
|
551
|
-
line-height: var(--tct-btn-line-height-small, var(--app-line-height, 14px));
|
|
594
|
+
font-size: var(--tct-btn-font-size-small, var(--t-btn-font-size-small, var(--const-px-14, 14px)));
|
|
595
|
+
line-height: var(--tct-btn-line-height-small, var(--app-line-height, var(--const-px-14, 14px)));
|
|
552
596
|
min-height: var(--tct-btn-min-height-small, 36px);
|
|
553
597
|
}
|
|
554
598
|
:host([size=small]) button.has-intent:not(.intent-coin):not(.icon-only) ::slotted(q2-icon) {
|
|
@@ -556,8 +600,8 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
|
|
|
556
600
|
}
|
|
557
601
|
:host(:is(:not([size]), [size=medium])) button.has-intent:not(.intent-coin):not(.icon-only) {
|
|
558
602
|
padding: var(--tct-btn-padding-size-medium, var(--t-btn-padding-size-medium, 10px 13px));
|
|
559
|
-
font-size: var(--tct-btn-font-size-medium, var(--t-btn-font-size-medium, 14px));
|
|
560
|
-
line-height: var(--tct-btn-line-height-medium, var(--app-line-height, 14px));
|
|
603
|
+
font-size: var(--tct-btn-font-size-medium, var(--t-btn-font-size-medium, var(--const-px-14, 14px)));
|
|
604
|
+
line-height: var(--tct-btn-line-height-medium, var(--app-line-height, var(--const-px-14, 14px)));
|
|
561
605
|
min-height: var(--tct-btn-min-height-medium, 44px);
|
|
562
606
|
}
|
|
563
607
|
:host(:is(:not([size]), [size=medium])) button.has-intent:not(.intent-coin):not(.icon-only) ::slotted(q2-icon) {
|
|
@@ -565,8 +609,8 @@ button:not(.has-size):not(.icon-only) ::slotted(q2-icon) {
|
|
|
565
609
|
}
|
|
566
610
|
:host([size=large]) button.has-intent:not(.intent-coin):not(.icon-only) {
|
|
567
611
|
padding: var(--tct-btn-padding-size-large, var(--t-btn-padding-size-large, 13px 18px));
|
|
568
|
-
font-size: var(--tct-btn-font-size-large, var(--t-btn-font-size-large, 14px));
|
|
569
|
-
line-height: var(--tct-btn-line-height-large, var(--app-line-height, 14px));
|
|
612
|
+
font-size: var(--tct-btn-font-size-large, var(--t-btn-font-size-large, var(--const-px-14, 14px)));
|
|
613
|
+
line-height: var(--tct-btn-line-height-large, var(--app-line-height, var(--const-px-14, 14px)));
|
|
570
614
|
min-height: var(--tct-btn-min-height-large, 50px);
|
|
571
615
|
}
|
|
572
616
|
:host([size=large]) button.has-intent:not(.intent-coin):not(.icon-only) ::slotted(q2-icon) {
|
|
@@ -1183,7 +1227,7 @@ button.intent-coin:focus:active:not([disabled]) {
|
|
|
1183
1227
|
|
|
1184
1228
|
.coin-label {
|
|
1185
1229
|
color: var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));
|
|
1186
|
-
font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));
|
|
1230
|
+
font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
1187
1231
|
max-width: 100px;
|
|
1188
1232
|
text-align: center;
|
|
1189
1233
|
text-overflow: ellipsis;
|
|
@@ -1212,7 +1256,7 @@ button.intent-coin:focus:active:not([disabled]) {
|
|
|
1212
1256
|
}
|
|
1213
1257
|
.coin-wrapper .coin-label {
|
|
1214
1258
|
color: var(--tct-btn-coin-label-color, var(--t-text, #4d4d4d));
|
|
1215
|
-
font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, 14px));
|
|
1259
|
+
font-size: var(--tct-btn-coin-label-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
1216
1260
|
margin-top: var(--tct-btn-coin-gap, var(--app-scale-2x, 10px));
|
|
1217
1261
|
max-width: 100px;
|
|
1218
1262
|
text-align: center;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { expect } from "@playwright/test";
|
|
2
2
|
import { test } from "@stencil/playwright";
|
|
3
|
-
import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
|
|
3
|
+
import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
|
|
4
4
|
const INTENTS = [
|
|
5
5
|
'workflow-primary',
|
|
6
6
|
'workflow-secondary',
|
|
@@ -98,3 +98,21 @@ test.describe('q2-btn plain (no intent) — states × themes', () => {
|
|
|
98
98
|
focusCase('q2-btn--plain--focus', plainHtml(), theme);
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
|
+
// coin exercises --tct-btn-coin-label-font-size.
|
|
102
|
+
// workflow-primary at each size exercises --tct-btn-font-size-small/medium/large.
|
|
103
|
+
const BTN_FONT_SCALE_CASES = [
|
|
104
|
+
{ name: 'coin', html: coinHtml() },
|
|
105
|
+
{ name: 'workflow-primary--size-small', html: sizeHtml('workflow-primary', 'small') },
|
|
106
|
+
{ name: 'workflow-primary--size-medium', html: sizeHtml('workflow-primary', 'medium') },
|
|
107
|
+
{ name: 'workflow-primary--size-large', html: sizeHtml('workflow-primary', 'large') },
|
|
108
|
+
];
|
|
109
|
+
test.describe(`q2-btn — scaled font size × themes`, () => {
|
|
110
|
+
for (const { name, html } of BTN_FONT_SCALE_CASES) {
|
|
111
|
+
for (const theme of THEMES) {
|
|
112
|
+
test(`q2-btn--${name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
113
|
+
await setupPage(page, html, { theme, fontSizePx: FONT_SCALE_PX });
|
|
114
|
+
await expect(page).toHaveScreenshot(`q2-btn--${name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
});
|
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
/**
|
|
69
91
|
* @prop --tct-calendar-margin: (<length-percentage>+) Controls the outer margin of the calendar host.
|
|
70
92
|
* @prop --tct-calendar-margin-top: (<length-percentage>) Controls the top margin of the calendar host when --tct-calendar-margin is not set.
|
|
@@ -143,7 +165,7 @@ q2-popover {
|
|
|
143
165
|
|
|
144
166
|
.calendar-label {
|
|
145
167
|
--comp-label-padding: var(--tct-calendar-label-padding, var(--tct-calendar-label-vertical-padding, var(--t-calendar-label-vertical-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)))) 0);
|
|
146
|
-
font-size: var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, 16px));
|
|
168
|
+
font-size: var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, var(--const-px-16, 16px)));
|
|
147
169
|
flex: 1 1;
|
|
148
170
|
flex-basis: calc(100% - var(--tct-btn-icon-width, 44px));
|
|
149
171
|
margin: 0;
|
|
@@ -155,7 +177,7 @@ q2-popover {
|
|
|
155
177
|
display: flex;
|
|
156
178
|
justify-content: center;
|
|
157
179
|
align-items: center;
|
|
158
|
-
font-size: var(--tct-calendar-month-font-size, var(--t-calendar-month-font-size, 16px));
|
|
180
|
+
font-size: var(--tct-calendar-month-font-size, var(--t-calendar-month-font-size, var(--const-px-16, 16px)));
|
|
159
181
|
font-weight: var(--tct-calendar-month-font-weight, var(--t-calendar-month-font-weight, 600));
|
|
160
182
|
text-align: center;
|
|
161
183
|
}
|
|
@@ -222,7 +244,7 @@ td:focus-visible {
|
|
|
222
244
|
.today-decorator {
|
|
223
245
|
text-transform: uppercase;
|
|
224
246
|
font-weight: 700;
|
|
225
|
-
font-size: var(--tct-calendar-today-decorator-font-size, 10px);
|
|
247
|
+
font-size: var(--tct-calendar-today-decorator-font-size, var(--const-px-10, 10px));
|
|
226
248
|
height: 12px;
|
|
227
249
|
}
|
|
228
250
|
|
|
@@ -231,7 +253,7 @@ td:focus-visible {
|
|
|
231
253
|
}
|
|
232
254
|
|
|
233
255
|
.calendar-disclaimer {
|
|
234
|
-
font-size: var(--tct-calendar-disclaimer-font-size, var(--t-calendar-disclaimer-font-size, var(--tct-font-size-small, var(--app-font-size-small, 12px))));
|
|
256
|
+
font-size: var(--tct-calendar-disclaimer-font-size, var(--t-calendar-disclaimer-font-size, var(--tct-font-size-small, var(--app-font-size-small, var(--const-px-12, 12px)))));
|
|
235
257
|
border-style: solid;
|
|
236
258
|
border-width: var(--tct-calendar-disclaimer-border-width, var(--t-calendar-disclaimer-border-width, 1px 0 0 0));
|
|
237
259
|
border-color: var(--tct-calendar-disclaimer-border-color, var(--t-calendar-disclaimer-border-color, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #e6e6e6))))));
|
|
@@ -181,7 +181,7 @@ export class Q2Calendar {
|
|
|
181
181
|
}
|
|
182
182
|
};
|
|
183
183
|
this.onInputClick = () => {
|
|
184
|
-
if (this.disabled)
|
|
184
|
+
if (this.disabled || this.readonly)
|
|
185
185
|
return;
|
|
186
186
|
this.toggleCalendar();
|
|
187
187
|
};
|
|
@@ -779,7 +779,7 @@ export class Q2Calendar {
|
|
|
779
779
|
// #endregion
|
|
780
780
|
// #region Render Methods
|
|
781
781
|
renderCalendarDays() {
|
|
782
|
-
return (h("table", { role: "grid", "aria-labelledby": "table-label", ref: ref => (this.calendarTable = ref) }, h("thead", null, h("tr", null, [...Array(7).keys()].map(index => (h("th", { scope: "col", "aria-label": this.dayStrings[index] }, this.dayAbbrStrings[index]))))), h("tbody", { onClick: this.onDateSelection, onKeyDown: this.onDateKeydown, ref: elm => (this.calendarBody = elm), "test-id": "calendarTableBody" }, this.currentWeeks.map(week => (h("tr", null, week.map(day => {
|
|
782
|
+
return (h("table", { role: "grid", "aria-labelledby": "table-label", ref: ref => (this.calendarTable = ref) }, h("caption", { class: "sr" }, loc('tecton.element.calendar.caption')), h("thead", null, h("tr", null, [...Array(7).keys()].map(index => (h("th", { scope: "col", "aria-label": this.dayStrings[index] }, this.dayAbbrStrings[index]))))), h("tbody", { onClick: this.onDateSelection, onKeyDown: this.onDateKeydown, ref: elm => (this.calendarBody = elm), "test-id": "calendarTableBody" }, this.currentWeeks.map(week => (h("tr", null, week.map(day => {
|
|
783
783
|
var _a;
|
|
784
784
|
let ariaLabel = '';
|
|
785
785
|
if (day.isToday)
|
|
@@ -800,11 +800,13 @@ export class Q2Calendar {
|
|
|
800
800
|
return (h("q2-message", { class: "calendar-hint sr", ref: el => (this.hintMessageElement = el), type: this.hintMessageType }, this.hintMessage));
|
|
801
801
|
}
|
|
802
802
|
renderInputField() {
|
|
803
|
-
const { isTypeable } = this;
|
|
804
|
-
return (h("q2-input", { ref: el => (this.controlElement = el), class: "calendar-input-field", value: this.formattedValue, label: loc(
|
|
803
|
+
const { isTypeable, label } = this;
|
|
804
|
+
return (h("q2-input", { ref: el => (this.controlElement = el), class: "calendar-input-field", value: this.formattedValue, label: loc(label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, clearable: this.canClear, placeholder: this.computedPlaceholder, optional: !!this.optional, valid: this.valid, ariaExpanded: `${!!this.open}`, ariaControls: "calendar-popover", ariaHaspopup: "dialog", hints: this.hintList, errors: this.errorList, onClick: isTypeable ? undefined : this.onInputClick, onChange: e => e.stopImmediatePropagation(), onTctChange: e => e.stopImmediatePropagation(), onInput: e => e.stopImmediatePropagation(), onTctInput: this.onInputInput, onKeyDown: this.onInputKeydown, onKeyUp: this.onInputKeyup, onBlur: this.onInputBlur, onFocus: this.onInputFocus, "icon-right": isTypeable ? undefined : 'calendar', "format-modifier": isTypeable ? this.formatModifier : this.displayFormat || this.formatModifier, type: "date", "hide-messages": !isTypeable, "test-id": "inputAndCalendarToggle", _role: "combobox", _preventEntry: !isTypeable }, isTypeable && (h("q2-btn", { ref: el => (this.btnCalendarToggle = el), slot: "input-right", onClick: this.onInputClick, "test-id": "calendarToggle", label: loc('tecton.element.calendar.toggleAriaLabel', [
|
|
805
|
+
label ? loc(label) : loc('tecton.element.calendar.defaultLabel'),
|
|
806
|
+
]), ariaExpanded: `${!!this.open}`, "hide-label": true, disabled: !!this.disabled || !!this.readonly }, h("q2-icon", { type: "calendar" })))));
|
|
805
807
|
}
|
|
806
808
|
render() {
|
|
807
|
-
return (h("click-elsewhere", { key: '
|
|
809
|
+
return (h("click-elsewhere", { key: 'e7bcb2f1aec6ca1149742b0b3edc0a7bbf9ce925', class: this.open ? 'dropdown-open' : undefined, onChange: this.onClickElsewhere }, this.renderInputField(), h("q2-popover", { key: 'c80c5d1ecfb42a319bba294b20f519a2be6808e1', ref: el => (this.popoverElement = el), id: "calendar-popover", controlElement: this.innerInputContainer, open: this.open, direction: this.popoverDirection, minHeight: this.popoverMinHeight, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: true }, this.renderHintField(), this.renderCalendarPopover())));
|
|
808
810
|
}
|
|
809
811
|
static get is() { return "q2-calendar"; }
|
|
810
812
|
static get encapsulation() { return "shadow"; }
|
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
.month-container {
|
|
69
91
|
--comp-month-primary-background: var(--tct-btn-primary-background, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)));
|
|
70
92
|
--comp-month-primary-font-color: var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { expect } from "@playwright/test";
|
|
2
2
|
import { test } from "@stencil/playwright";
|
|
3
|
-
import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
|
|
3
|
+
import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
|
|
4
4
|
// Resting variants — input field in its default closed state.
|
|
5
5
|
// Note: variants that show the calendar popover use a fixed value (2025-05-20) so
|
|
6
6
|
// the rendered month/year is stable across runs. Resting variants without a value
|
|
@@ -169,3 +169,36 @@ test.describe('q2-calendar — variants × themes', () => {
|
|
|
169
169
|
dayHoverCase(POPOVER_VARIANT, theme);
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
|
+
// 'default' (resting, closed) exercises --tct-calendar-label-font-size.
|
|
173
|
+
// POPOVER_VARIANT (open) exercises --tct-calendar-month-font-size.
|
|
174
|
+
// disclaimer variant exercises --tct-calendar-disclaimer-font-size.
|
|
175
|
+
const CALENDAR_DISCLAIMER_VARIANT = {
|
|
176
|
+
name: 'with-disclaimer',
|
|
177
|
+
html: `<q2-calendar label="My calendar" disclaimer="Rates subject to change."></q2-calendar>`,
|
|
178
|
+
};
|
|
179
|
+
test.describe(`q2-calendar — scaled font size × themes`, () => {
|
|
180
|
+
for (const theme of THEMES) {
|
|
181
|
+
test(`q2-calendar--default--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
182
|
+
await setupPage(page, `<q2-calendar label="My calendar" placeholder="My date"></q2-calendar>`, {
|
|
183
|
+
theme,
|
|
184
|
+
setupLoc: true,
|
|
185
|
+
fontSizePx: FONT_SCALE_PX,
|
|
186
|
+
});
|
|
187
|
+
await expect(page).toHaveScreenshot(`q2-calendar--default--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
188
|
+
});
|
|
189
|
+
test(`q2-calendar--popover--expanded-default--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
190
|
+
await freezeClock(page);
|
|
191
|
+
await setupPage(page, POPOVER_VARIANT.html, { theme, setupLoc: true, fontSizePx: FONT_SCALE_PX });
|
|
192
|
+
await openPopoverViaKeyboard(page);
|
|
193
|
+
await expect(page).toHaveScreenshot(`q2-calendar--popover--expanded-default--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
194
|
+
});
|
|
195
|
+
test(`q2-calendar--with-disclaimer--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
196
|
+
await setupPage(page, CALENDAR_DISCLAIMER_VARIANT.html, {
|
|
197
|
+
theme,
|
|
198
|
+
setupLoc: true,
|
|
199
|
+
fontSizePx: FONT_SCALE_PX,
|
|
200
|
+
});
|
|
201
|
+
await expect(page).toHaveScreenshot(`q2-calendar--with-disclaimer--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
});
|
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
/**
|
|
69
91
|
* @prop --tct-card-background: (<color>) Controls the background color of the card container.
|
|
70
92
|
* @prop --tct-card-backdrop-filter?: (*) Controls the optional backdrop-filter applied to the card container.
|
|
@@ -252,7 +274,7 @@ p {
|
|
|
252
274
|
|
|
253
275
|
h3 {
|
|
254
276
|
font-weight: var(--tct-card-font-weight, var(--t-card-font-weight, 600));
|
|
255
|
-
font-size: var(--tct-card-font-size, var(--t-card-font-size, 17px));
|
|
277
|
+
font-size: var(--tct-card-font-size, var(--t-card-font-size, var(--const-px-17, 17px)));
|
|
256
278
|
line-height: var(--tct-card-title-line-height, var(--app-line-height, 1.428571429em));
|
|
257
279
|
text-overflow: ellipsis;
|
|
258
280
|
overflow: hidden;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { expect } from "@playwright/test";
|
|
2
2
|
import { test } from "@stencil/playwright";
|
|
3
|
-
import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
|
|
3
|
+
import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
|
|
4
4
|
const DESC = 'This is your card description which can be up to two lines long.';
|
|
5
5
|
const SHORT_DESC = 'This is your card description';
|
|
6
6
|
const VARIANTS = [
|
|
@@ -69,3 +69,12 @@ test.describe('q2-card — variants × themes', () => {
|
|
|
69
69
|
focusCase(DEFAULT_VARIANT, theme);
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
+
// 'default' exercises --tct-card-font-size (card title h3).
|
|
73
|
+
test.describe(`q2-card — scaled font size × themes`, () => {
|
|
74
|
+
for (const theme of THEMES) {
|
|
75
|
+
test(`q2-card--default--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
76
|
+
await setupPage(page, DEFAULT_VARIANT.html, { theme, fontSizePx: FONT_SCALE_PX });
|
|
77
|
+
await expect(page).toHaveScreenshot(`q2-card--default--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
:host {
|
|
69
91
|
/**
|
|
70
92
|
* @prop --tct-card-image-base-blur: (<length>) Controls the blur radius applied to the base card image layer.
|
|
@@ -360,7 +382,7 @@ button {
|
|
|
360
382
|
}
|
|
361
383
|
|
|
362
384
|
.card-status-text {
|
|
363
|
-
font-size: 14px;
|
|
385
|
+
font-size: var(--const-px-14, 14px);
|
|
364
386
|
font-family: var(--uux-app-fontFamily, OpenSans, Helvetica Neue, Helvetica, Arial, sans-serif);
|
|
365
387
|
text-transform: uppercase;
|
|
366
388
|
white-space: nowrap;
|
|
@@ -2,7 +2,7 @@ import { readFileSync } from "fs";
|
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { expect } from "@playwright/test";
|
|
4
4
|
import { test } from "@stencil/playwright";
|
|
5
|
-
import { setupPage, THEMES } from "../../../utils/test/vr-helpers";
|
|
5
|
+
import { setupPage, THEMES, FONT_SCALE_PX, FONT_SCALE_SUFFIX } from "../../../utils/test/vr-helpers";
|
|
6
6
|
// Inline FI logo as a data URI so the test stays hermetic — `setContent` runs
|
|
7
7
|
// against `about:blank`, so relative paths from the .html playground would not
|
|
8
8
|
// resolve here.
|
|
@@ -149,3 +149,11 @@ test.describe('q2-card-image — variants × themes', () => {
|
|
|
149
149
|
focusCase(CLICKABLE_VARIANT, theme);
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
|
+
test.describe(`q2-card-image — font scale ${FONT_SCALE_PX}px × themes`, () => {
|
|
153
|
+
for (const theme of THEMES) {
|
|
154
|
+
test(`q2-card-image--status-enabled--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
155
|
+
await setupPage(page, `<q2-card-image background="primary" card-status="enabled" fi-logo="${FI_LOGO}" chip="gold" card-number="${NUMBER}" expiration-date="${EXP}" card-holder="${HOLDER}" vendor="mastercard" ${W_LG}></q2-card-image>`, { theme, fontSizePx: FONT_SCALE_PX });
|
|
156
|
+
await expect(page).toHaveScreenshot(`q2-card-image--status-enabled--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
});
|
|
@@ -65,6 +65,28 @@ button {
|
|
|
65
65
|
visibility: hidden;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
69
|
+
*,
|
|
70
|
+
*::before,
|
|
71
|
+
*::after {
|
|
72
|
+
animation-duration: 0.01ms !important;
|
|
73
|
+
transition-duration: 0.01ms !important;
|
|
74
|
+
animation-delay: 0ms !important;
|
|
75
|
+
transition-delay: 0ms !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
79
|
+
@media (prefers-reduced-motion: reduce) {
|
|
80
|
+
*,
|
|
81
|
+
*::before,
|
|
82
|
+
*::after {
|
|
83
|
+
animation-duration: 0.01ms !important;
|
|
84
|
+
transition-duration: 0.01ms !important;
|
|
85
|
+
animation-delay: 0ms !important;
|
|
86
|
+
transition-delay: 0ms !important;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
68
90
|
/**
|
|
69
91
|
* @prop --tct-carousel-background: (<color>) Controls the background color of the insufficient-pane feedback container.
|
|
70
92
|
* @prop --tct-carousel-gap: (<length-percentage>) Controls the gap between the carousel content row and the pagination row.
|
|
@@ -93,8 +115,6 @@ button {
|
|
|
93
115
|
* @prop --tct-carousel-navigation-arrow-opacity: (<number>) Controls the opacity of the navigation arrows.
|
|
94
116
|
* @prop --tct-carousel-arrow-background: (<color>) Controls the background color of the navigation arrow buttons.
|
|
95
117
|
* @prop --tct-carousel-arrow-hover-background: (<color>) Controls the background color of the navigation arrow buttons on hover and focus.
|
|
96
|
-
* @prop --tct-carousel-arrow-font-color: (<color>) Controls the color of the icon inside the navigation arrow buttons.
|
|
97
|
-
* @prop --tct-carousel-btn-icon-stroke-secondary: (<color>) Controls the secondary stroke color of the navigation arrow icon.
|
|
98
118
|
* @prop --tct-carousel-autoplay-hover-background: (<color>) Controls the background color of the autoplay toggle button on hover and focus.
|
|
99
119
|
* @prop --tct-carousel-autoplay-icon-color: (<color>) Controls the color of the autoplay toggle button icon.
|
|
100
120
|
* @prop --tct-carousel-autoplay-icon-height: (<length>) Controls the height of the autoplay toggle button icon.
|
|
@@ -320,44 +340,14 @@ q2-carousel {
|
|
|
320
340
|
}
|
|
321
341
|
|
|
322
342
|
.q2-carousel-navigation-button {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
width: 44px;
|
|
328
|
-
height: 44px;
|
|
329
|
-
padding: 0;
|
|
330
|
-
border: none;
|
|
331
|
-
background: transparent;
|
|
332
|
-
cursor: pointer;
|
|
333
|
-
opacity: var(--tct-carousel-navigation-arrow-opacity, 1);
|
|
334
|
-
-webkit-tap-highlight-color: transparent;
|
|
335
|
-
}
|
|
336
|
-
.q2-carousel-navigation-button::before {
|
|
337
|
-
content: "";
|
|
338
|
-
position: absolute;
|
|
339
|
-
width: 32px;
|
|
340
|
-
height: 32px;
|
|
341
|
-
border-radius: 50%;
|
|
342
|
-
background-color: var(--tct-carousel-arrow-background, var(--t-primary, #6a4a9e));
|
|
343
|
-
transition: background-color var(--t-tween-time-in-2, 200ms) var(--t-tween-ease-inout, cubic-bezier(0.4, 0, 0.2, 1));
|
|
344
|
-
}
|
|
345
|
-
.q2-carousel-navigation-button:hover::before, .q2-carousel-navigation-button:focus-visible::before {
|
|
346
|
-
background-color: var(--tct-carousel-arrow-hover-background, var(--t-primary-d1, #5f438e));
|
|
347
|
-
}
|
|
348
|
-
.q2-carousel-navigation-button:focus-visible {
|
|
349
|
-
outline: none;
|
|
350
|
-
box-shadow: none;
|
|
351
|
-
}
|
|
352
|
-
.q2-carousel-navigation-button:focus-visible::before {
|
|
353
|
-
outline: 2px solid var(--const-focus-color, #1a73e8);
|
|
354
|
-
outline-offset: 2px;
|
|
355
|
-
}
|
|
356
|
-
.q2-carousel-navigation-button q2-icon {
|
|
357
|
-
position: relative;
|
|
343
|
+
--tct-btn-icon-width: 32px;
|
|
344
|
+
--tct-btn-icon-height: 32px;
|
|
345
|
+
--tct-btn-icon-border-radius: 50%;
|
|
346
|
+
--tct-btn-icon-padding: 0;
|
|
358
347
|
--tct-icon-size: 16px;
|
|
359
|
-
--tct-
|
|
360
|
-
--tct-
|
|
348
|
+
--tct-btn-primary-background: var(--tct-carousel-arrow-background, var(--tct-carousel-indicator-active, var(--t-primary, #6a4a9e)));
|
|
349
|
+
--tct-btn-primary-hover-background: var(--tct-carousel-arrow-hover-background, var(--t-primary-d1, #5f438e));
|
|
350
|
+
opacity: var(--tct-carousel-navigation-arrow-opacity, 1);
|
|
361
351
|
}
|
|
362
352
|
|
|
363
353
|
.q2-carousel-autoplay-control {
|