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
|
* @prop --tct-icon-size: (<length>) Controls the height and width of the icon.
|
|
70
92
|
* @prop --tct-icon-stroke-primary: (<color>) Controls the primary stroke color of the icon paths.
|
|
@@ -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-input-margin: (<length-percentage>+) Controls the outer margin of the input host.
|
|
70
92
|
* @prop --tct-input-margin-top: (<length-percentage>) Controls the top margin of the input host when --tct-input-margin is not set.
|
|
@@ -207,14 +229,14 @@ button {
|
|
|
207
229
|
--comp-label-optional-margin: var(--tct-input-label-optional-margin, 0 0 0 var(--tct-input-label-optional-margin-left, var(--t-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px)))));
|
|
208
230
|
margin: var(--comp-label-optional-margin);
|
|
209
231
|
color: var(--tct-input-label-optional-font-color, var(--t-input-label-optional-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77)))));
|
|
210
|
-
font-size: var(--tct-input-label-optional-font-size, var(--t-input-label-optional-font-size, var(--app-font-size-small, 12px)));
|
|
232
|
+
font-size: var(--tct-input-label-optional-font-size, var(--t-input-label-optional-font-size, var(--app-font-size-small, var(--const-px-12, 12px))));
|
|
211
233
|
font-weight: var(--tct-input-label-optional-font-weight, var(--t-input-label-optional-font-weight, 400));
|
|
212
234
|
line-height: 1em;
|
|
213
235
|
}
|
|
214
236
|
|
|
215
237
|
.count-tag {
|
|
216
238
|
color: var(--tct-input-count-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77))));
|
|
217
|
-
font-size: var(--tct-input-count-font-size, var(--app-font-size-small, 12px));
|
|
239
|
+
font-size: var(--tct-input-count-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
|
|
218
240
|
font-weight: var(--tct-input-count-font-weight, 400);
|
|
219
241
|
text-align: right;
|
|
220
242
|
width: var(--tct-input-count-width, auto);
|
|
@@ -258,7 +280,7 @@ button {
|
|
|
258
280
|
--comp-input-border-width: var(--tct-input-border-top-width, 1px) var(--tct-input-border-right-width, 1px)
|
|
259
281
|
var(--tct-input-border-bottom-width, 1px) var(--tct-input-border-left-width, 1px);
|
|
260
282
|
--comp-input-border-color: var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)));
|
|
261
|
-
--comp-input-prefix-clearance: calc(3 * var(--tct-input-prefix-font-size, 14px) + var(--tct-scale-1, 5px));
|
|
283
|
+
--comp-input-prefix-clearance: calc(3 * var(--tct-input-prefix-font-size, var(--const-px-14, 14px)) + var(--tct-scale-1, 5px));
|
|
262
284
|
--comp-input-icon-clearance: 34px;
|
|
263
285
|
--comp-input-min-height: var(--tct-input-min-height, var(--t-input-min-height, 44px));
|
|
264
286
|
--comp-input-max-height: var(--tct-input-max-height, var(--t-input-max-height));
|
|
@@ -469,7 +491,7 @@ button {
|
|
|
469
491
|
--tct-btn-padding-inline: var(--tct-input-visibility-toggle-padding, var(--app-scale-2x, 10px));
|
|
470
492
|
--tct-btn-font-weight: var(--tct-input-visibility-toggle-font-weight, 400);
|
|
471
493
|
color: var(--tct-input-visibility-toggle-font-color, var(--t-primary, #0079c1));
|
|
472
|
-
font-size: var(--tct-input-visibility-toggle-font-size, var(--app-font-size-small, 12px));
|
|
494
|
+
font-size: var(--tct-input-visibility-toggle-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));
|
|
473
495
|
}
|
|
474
496
|
|
|
475
497
|
q2-icon {
|
|
@@ -76,6 +76,12 @@ export class Q2Input {
|
|
|
76
76
|
* Will assign role to combobox when used inside q2-select and q2-calendar.
|
|
77
77
|
*/
|
|
78
78
|
this._role = undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Determines whether the input updates its value property as native input occurs.
|
|
81
|
+
*
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
this._updateValueOnInput = true;
|
|
79
85
|
/** Indicates the field cannot be focused or interacted with. */
|
|
80
86
|
this.disabled = false;
|
|
81
87
|
/**
|
|
@@ -104,12 +110,15 @@ export class Q2Input {
|
|
|
104
110
|
// when type=number: returns only valid decimal on input event, should not update itself (e.g. typing "1." )
|
|
105
111
|
if (this.type !== 'number')
|
|
106
112
|
this.inputField.value = this.formattedValueObject.formattedValue;
|
|
107
|
-
|
|
113
|
+
const eventDetail = {
|
|
108
114
|
value: this.formattedValueObject.value,
|
|
109
115
|
formattedValue: this.formattedValueObject.fullyFormattedValue,
|
|
110
116
|
minFormattedLength: this.formattedValueObject.minFormattedLength,
|
|
111
117
|
...(this.formattedValueObject.type && { type: this.formattedValueObject.type }),
|
|
112
|
-
}
|
|
118
|
+
};
|
|
119
|
+
if (this._updateValueOnInput)
|
|
120
|
+
this.value = eventDetail.value;
|
|
121
|
+
mirrorEmit(this, ['input', 'tctInput'], eventDetail);
|
|
113
122
|
if (!this.formattedValueObject.value) {
|
|
114
123
|
mirrorEmit(this, ['clear', 'tctClear'], { source: 'input' });
|
|
115
124
|
}
|
|
@@ -448,7 +457,7 @@ export class Q2Input {
|
|
|
448
457
|
return this.valid && !this.hasError;
|
|
449
458
|
}
|
|
450
459
|
get inputDescribedBy() {
|
|
451
|
-
return this.showMessages ? `${this.inputId}-description` : undefined;
|
|
460
|
+
return this.showMessages || this.hasError ? `${this.inputId}-description` : undefined;
|
|
452
461
|
}
|
|
453
462
|
get inputField() {
|
|
454
463
|
return this.hostElement.shadowRoot.querySelector('.input-field');
|
|
@@ -725,14 +734,14 @@ export class Q2Input {
|
|
|
725
734
|
renderStandardInputDOM() {
|
|
726
735
|
const { hasCustomDisplaySlot } = this;
|
|
727
736
|
const inputClasses = ['input-field'];
|
|
728
|
-
const { ariaOwns, ariaHaspopup, ariaActivedescendant } = this.ariaAttributes;
|
|
737
|
+
const { ariaOwns, ariaHaspopup, ariaActivedescendant, ariaExpanded } = this.ariaAttributes;
|
|
729
738
|
if (hasCustomDisplaySlot)
|
|
730
739
|
inputClasses.push('sr');
|
|
731
|
-
return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { ref: el => (this.inputRef = el), class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, maxlength: ['date', 'currency'].includes(this.type) ? undefined : this.maxlength || undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-activedescendant": ariaActivedescendant, autocomplete: this.computedAutocomplete, autocapitalize: this.autocapitalize, autocorrect: this.autocorrect === 'on' ? 'on' : 'off', autofocus: this.autofocus, placeholder: (this.placeholder && loc(this.placeholder)) || undefined, "test-id": "inputField", readonly: this.readonly || this._preventEntry, disabled: !!this.disabled, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onInputClick, onKeyDown: this.onInputKeydown, onMouseDown: this.onInputMousedown, onInput: this.onInputInput, onPaste: this.onInputPaste, inputmode: this.inputMode, pattern: this.pattern || undefined })));
|
|
740
|
+
return (h(Fragment, null, hasCustomDisplaySlot && (h("div", { class: "custom-display-container" }, h("slot", { name: "custom-display" }))), h("input", { ref: el => (this.inputRef = el), class: inputClasses.join(' '), id: this.inputId, type: this.computedType, size: this.formattedValueObject.prefix ? 10 : undefined, maxlength: ['date', 'currency'].includes(this.type) ? undefined : this.maxlength || undefined, max: this.max, min: this.min, step: this.step, "aria-current": this.current || undefined, "aria-describedby": this.inputDescribedBy, "aria-required": `${!this.optional}`, "aria-invalid": `${this.hasError}`, "aria-owns": ariaOwns, "aria-haspopup": ariaHaspopup, "aria-activedescendant": ariaActivedescendant, "aria-expanded": ariaExpanded || undefined, role: this._role || undefined, autocomplete: this.computedAutocomplete, autocapitalize: this.autocapitalize, autocorrect: this.autocorrect === 'on' ? 'on' : 'off', autofocus: this.autofocus, placeholder: (this.placeholder && loc(this.placeholder)) || undefined, "test-id": "inputField", readonly: this.readonly || this._preventEntry, disabled: !!this.disabled, onFocus: this.onInputFocus, onBlur: this.onInputBlur, onClick: this.onInputClick, onKeyDown: this.onInputKeydown, onMouseDown: this.onInputMousedown, onInput: this.onInputInput, onPaste: this.onInputPaste, inputmode: this.inputMode, pattern: this.pattern || undefined })));
|
|
732
741
|
}
|
|
733
742
|
render() {
|
|
734
743
|
const { ariaControls, ariaExpanded } = this.ariaAttributes;
|
|
735
|
-
return (h(Host, { key: '
|
|
744
|
+
return (h(Host, { key: '5255e58159b3c614913fec22cc38f8a31d5553bb', role: this._role, "aria-controls": ariaControls, "aria-expanded": ariaExpanded }, h("div", { key: '2dfaa5f10b49bb4ddbfe4c73467c9615559becd8', class: this.wrapperClasses }, h("div", { key: '7995fb27f33ebfa79ace1e7cd0e737d8bd466978', class: "label-wrapper" }, renderLabel(this), this.renderCountDOM()), this.renderInputContainerDOM(), renderMessages(this))));
|
|
736
745
|
}
|
|
737
746
|
static get is() { return "q2-input"; }
|
|
738
747
|
static get encapsulation() { return "shadow"; }
|
|
@@ -794,6 +803,29 @@ export class Q2Input {
|
|
|
794
803
|
"attribute": "_role",
|
|
795
804
|
"defaultValue": "undefined"
|
|
796
805
|
},
|
|
806
|
+
"_updateValueOnInput": {
|
|
807
|
+
"type": "boolean",
|
|
808
|
+
"mutable": true,
|
|
809
|
+
"complexType": {
|
|
810
|
+
"original": "boolean",
|
|
811
|
+
"resolved": "boolean",
|
|
812
|
+
"references": {}
|
|
813
|
+
},
|
|
814
|
+
"required": false,
|
|
815
|
+
"optional": false,
|
|
816
|
+
"docs": {
|
|
817
|
+
"tags": [{
|
|
818
|
+
"name": "private",
|
|
819
|
+
"text": undefined
|
|
820
|
+
}],
|
|
821
|
+
"text": "Determines whether the input updates its value property as native input occurs."
|
|
822
|
+
},
|
|
823
|
+
"getter": false,
|
|
824
|
+
"setter": false,
|
|
825
|
+
"reflect": false,
|
|
826
|
+
"attribute": "_update-value-on-input",
|
|
827
|
+
"defaultValue": "true"
|
|
828
|
+
},
|
|
797
829
|
"ariaActivedescendant": {
|
|
798
830
|
"type": "string",
|
|
799
831
|
"mutable": false,
|
|
@@ -1626,7 +1658,7 @@ export class Q2Input {
|
|
|
1626
1658
|
"docs": {
|
|
1627
1659
|
"tags": [{
|
|
1628
1660
|
"name": "info",
|
|
1629
|
-
"text": "The visible value of formatted input fields may not match the element's `value` property.\nWhen setting an input's value programmatically (e.g. pre-populating a form), ensure that the supplied value is in a format that can be handled by its consuming logic.\n`q2-input`
|
|
1661
|
+
"text": "The visible value of formatted input fields may not match the element's `value` property.\nWhen setting an input's value programmatically (e.g. pre-populating a form), ensure that the supplied value is in a format that can be handled by its consuming logic.\n`q2-input` updates its own `value` through its default input and change event handlers.\n\nIn `q2-input` where `type=\"currency\"`\n- element.value = 1234.56\n- visible value: $1,234.56"
|
|
1630
1662
|
}],
|
|
1631
1663
|
"text": "The value of the input field."
|
|
1632
1664
|
},
|
|
@@ -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 HINTS = ['Save more than you spend.', 'Wear sunscreen.', 'Hug a panda.'];
|
|
5
5
|
const ERRORS = ['This field is required.', 'The value entered is invalid.', 'The value offends me.'];
|
|
6
6
|
const VARIANTS = [
|
|
@@ -102,3 +102,38 @@ test.describe('q2-input — variants × themes', () => {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
|
+
// 'optional' exercises --tct-input-font-size + --tct-input-label-font-size + --tct-input-label-optional-font-size.
|
|
106
|
+
// 'visibility-toggle' exercises --tct-input-visibility-toggle-font-size.
|
|
107
|
+
// New inline variants cover the remaining tokens:
|
|
108
|
+
// - maxlength + show-count: exercises --tct-input-count-font-size
|
|
109
|
+
// - icon-left: exercises --tct-input-icon-container-font-size
|
|
110
|
+
// - type=currency: exercises --tct-input-prefix-font-size (currency type auto-renders a prefix)
|
|
111
|
+
const INPUT_FONT_SCALE_CASES = [
|
|
112
|
+
{ name: 'optional', html: '<q2-input label="My input" placeholder="Enter text here" optional></q2-input>' },
|
|
113
|
+
{
|
|
114
|
+
name: 'visibility-toggle',
|
|
115
|
+
html: '<q2-input label="My input" placeholder="Enter text here" type="password" show-visibility-toggle="true" value="hunter2"></q2-input>',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'with-count',
|
|
119
|
+
html: '<q2-input label="My input" placeholder="Enter text here" maxlength="50" show-count></q2-input>',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'with-icon-left',
|
|
123
|
+
html: '<q2-input label="My input" placeholder="Enter text here" icon-left="star"></q2-input>',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'type-currency-prefix',
|
|
127
|
+
html: '<q2-input label="My input" placeholder="Enter text here" type="currency" value="12.34"></q2-input>',
|
|
128
|
+
},
|
|
129
|
+
];
|
|
130
|
+
test.describe(`q2-input — scaled font size × themes`, () => {
|
|
131
|
+
for (const { name, html } of INPUT_FONT_SCALE_CASES) {
|
|
132
|
+
for (const theme of THEMES) {
|
|
133
|
+
test(`q2-input--${name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
134
|
+
await setupPage(page, html, { theme, setupLoc: true, fontSizePx: FONT_SCALE_PX });
|
|
135
|
+
await expect(page).toHaveScreenshot(`q2-input--${name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
@@ -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-item-padding?: (<length-percentage>+) Controls the optional inner padding of the item grid.
|
|
137
181
|
* @prop --tct-item-border?: (*) Controls the optional border shorthand applied to the item grid.
|
|
@@ -220,7 +264,7 @@ button {
|
|
|
220
264
|
|
|
221
265
|
.body {
|
|
222
266
|
color: var(--tct-item-body-color, inherit);
|
|
223
|
-
font-size: var(--tct-item-body-font-size, var(--app-font-size, 14px));
|
|
267
|
+
font-size: var(--tct-item-body-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
224
268
|
font-weight: var(--tct-item-body-font-weight, 400);
|
|
225
269
|
font-style: var(--tct-item-body-font-style, inherit);
|
|
226
270
|
}
|
|
@@ -288,7 +332,7 @@ button {
|
|
|
288
332
|
|
|
289
333
|
.header {
|
|
290
334
|
color: var(--tct-item-header-color, inherit);
|
|
291
|
-
font-size: var(--tct-item-header-font-size, 16px);
|
|
335
|
+
font-size: var(--tct-item-header-font-size, var(--const-px-16, 16px));
|
|
292
336
|
font-style: var(--tct-item-header-font-style, inherit);
|
|
293
337
|
font-weight: var(--tct-item-header-font-weight, 600);
|
|
294
338
|
line-height: var(--tct-item-header-line-height, 1.5);
|
|
@@ -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 DROPDOWN_OPTIONS = `
|
|
5
5
|
<q2-option value="first">First</q2-option>
|
|
6
6
|
<q2-option value="second">Second</q2-option>
|
|
@@ -130,3 +130,14 @@ test.describe('q2-item — variants × themes', () => {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
+
// 'default' has both header and body slots, exercising
|
|
134
|
+
// --tct-item-header-font-size and --tct-item-body-font-size.
|
|
135
|
+
const DEFAULT_ITEM_VARIANT = VARIANTS.find(v => v.name === 'default');
|
|
136
|
+
test.describe(`q2-item — scaled font size × themes`, () => {
|
|
137
|
+
for (const theme of THEMES) {
|
|
138
|
+
test(`q2-item--default--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
139
|
+
await setupPage(page, DEFAULT_ITEM_VARIANT.html, { theme, fontSizePx: FONT_SCALE_PX });
|
|
140
|
+
await expect(page).toHaveScreenshot(`q2-item--default--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
});
|
|
@@ -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-legend-item-gap: (<length-percentage>) Controls the column gap between elements within a legend item.
|
|
70
92
|
* @prop --tct-legend-item-padding: (<length-percentage>+) Controls the inner padding of each legend item button.
|
|
@@ -127,7 +149,7 @@ ul {
|
|
|
127
149
|
color: var(--tct-legend-item-name-font-color, inherit);
|
|
128
150
|
display: inline-block;
|
|
129
151
|
flex-grow: 1;
|
|
130
|
-
font-size: var(--tct-legend-item-name-font-size, var(--app-font-size, 14px));
|
|
152
|
+
font-size: var(--tct-legend-item-name-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
131
153
|
font-weight: var(--tct-legend-item-name-font-weight, 600);
|
|
132
154
|
line-height: var(--tct-legend-item-name-line-height, 1);
|
|
133
155
|
text-align: left;
|
|
@@ -138,7 +160,7 @@ ul {
|
|
|
138
160
|
display: inline-block;
|
|
139
161
|
margin-left: auto;
|
|
140
162
|
flex-grow: 0;
|
|
141
|
-
font-size: var(--tct-legend-item-value-font-size, var(--app-font-size, 14px));
|
|
163
|
+
font-size: var(--tct-legend-item-value-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
142
164
|
font-weight: var(--tct-legend-item-value-font-weight, 400);
|
|
143
165
|
line-height: var(--tct-legend-item-value-line-height, 1);
|
|
144
166
|
text-align: right;
|
|
@@ -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-link-color-inline: (<color>) Controls the text color of inline-style links.
|
|
70
92
|
* @prop --tct-link-color-inline-active: (<color>) Controls the text color of inline-style links in the active state.
|
|
@@ -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-list-header-min-height: (<length>) Controls the minimum height of the list header.
|
|
137
181
|
* @prop --tct-list-header-padding: (<length-percentage>+) Controls the inner padding of the list header.
|
|
@@ -177,8 +221,8 @@ button {
|
|
|
177
221
|
.header .label {
|
|
178
222
|
width: 100%;
|
|
179
223
|
height: var(--tct-list-label-height, 44px);
|
|
180
|
-
line-height: var(--tct-list-label-line-height, 44px);
|
|
181
|
-
font-size: var(--tct-list-label-font-size, var(--app-font-size, 14px));
|
|
224
|
+
line-height: var(--tct-list-label-line-height, var(--const-px-44, 44px));
|
|
225
|
+
font-size: var(--tct-list-label-font-size, var(--app-font-size, var(--const-px-14, 14px)));
|
|
182
226
|
font-weight: var(--tct-list-label-font-weight, 600);
|
|
183
227
|
color: var(--tct-list-label-font-color, inherit);
|
|
184
228
|
}
|
|
@@ -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 ITEMS = `
|
|
5
5
|
<q2-item><span slot="header">Item one</span><span slot="body">Body content</span></q2-item>
|
|
6
6
|
<q2-item><span slot="header">Item two</span><span slot="body">Body content</span></q2-item>
|
|
@@ -55,3 +55,14 @@ test.describe('q2-list — variants × themes', () => {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
+
// 'with-label' exercises --tct-list-label-font-size and --tct-list-label-line-height
|
|
59
|
+
// (both apply to the same .label element).
|
|
60
|
+
const WITH_LABEL_VARIANT = VARIANTS.find(v => v.name === 'with-label');
|
|
61
|
+
test.describe(`q2-list — scaled font size × themes`, () => {
|
|
62
|
+
for (const theme of THEMES) {
|
|
63
|
+
test(`q2-list--with-label--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
64
|
+
await setupPage(page, WITH_LABEL_VARIANT.html, { theme, fontSizePx: FONT_SCALE_PX });
|
|
65
|
+
await expect(page).toHaveScreenshot(`q2-list--with-label--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
@@ -66,6 +66,28 @@ button {
|
|
|
66
66
|
visibility: hidden;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
@container style(--t-prefers-motion: "reduced") {
|
|
70
|
+
*,
|
|
71
|
+
*::before,
|
|
72
|
+
*::after {
|
|
73
|
+
animation-duration: 0.01ms !important;
|
|
74
|
+
transition-duration: 0.01ms !important;
|
|
75
|
+
animation-delay: 0ms !important;
|
|
76
|
+
transition-delay: 0ms !important;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")) {
|
|
80
|
+
@media (prefers-reduced-motion: reduce) {
|
|
81
|
+
*,
|
|
82
|
+
*::before,
|
|
83
|
+
*::after {
|
|
84
|
+
animation-duration: 0.01ms !important;
|
|
85
|
+
transition-duration: 0.01ms !important;
|
|
86
|
+
animation-delay: 0ms !important;
|
|
87
|
+
transition-delay: 0ms !important;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
69
91
|
.flex {
|
|
70
92
|
display: flex;
|
|
71
93
|
}
|
|
@@ -113,6 +135,7 @@ button {
|
|
|
113
135
|
}
|
|
114
136
|
|
|
115
137
|
:host(:not([inline]):not([modifiers*=inline])) {
|
|
138
|
+
/* stylelint-disable-next-line tecton/require-t-px-fallback */
|
|
116
139
|
font-size: var(--tct-loading-spinner-size, var(--t-loading-spinner-size, var(--app-scale-12x, 60px)));
|
|
117
140
|
}
|
|
118
141
|
|
|
@@ -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-message-background: (<color>) Controls the background color of the message container.
|
|
70
92
|
* @prop --tct-message-font-color?: (<color>) Controls the optional text color of the message content.
|
|
@@ -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-meter-bar-background-color: (<color>) Controls the background color of the meter track.
|
|
70
92
|
* @prop --tct-meter-bar-border?: (*) Controls the optional border shorthand of the meter track.
|
|
@@ -133,16 +155,16 @@ button {
|
|
|
133
155
|
--comp-meter-tick-visibility: visible;
|
|
134
156
|
}
|
|
135
157
|
.meter-container .label {
|
|
136
|
-
font-size: var(--tct-meter-label-font-size, 14px);
|
|
158
|
+
font-size: var(--tct-meter-label-font-size, var(--const-px-14, 14px));
|
|
137
159
|
font-weight: var(--tct-meter-label-font-weight, 600);
|
|
138
160
|
color: var(--tct-meter-label-color, inherit);
|
|
139
161
|
margin: var(--tct-meter-label-margin, 5px 0);
|
|
140
162
|
}
|
|
141
163
|
.meter-container .description {
|
|
142
|
-
font-size: var(--tct-meter-description-font-size, 14px);
|
|
164
|
+
font-size: var(--tct-meter-description-font-size, var(--const-px-14, 14px));
|
|
143
165
|
font-weight: var(--tct-meter-description-font-weight, 400);
|
|
144
166
|
color: var(--tct-meter-description-color, inherit);
|
|
145
|
-
line-height: var(--tct-meter-description-line-height, 21px);
|
|
167
|
+
line-height: var(--tct-meter-description-line-height, var(--const-px-21, 21px));
|
|
146
168
|
margin: var(--tct-meter-description-margin, 5px 0);
|
|
147
169
|
}
|
|
148
170
|
.meter-container .bar-container {
|
|
@@ -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
|
// All variants set animated="false" to keep the loading shimmer out of the snapshot.
|
|
5
5
|
const COMMON = `label="Balance" max-value="$1,000" max-label="Available" animated="false"`;
|
|
6
6
|
const VARIANTS = [
|
|
@@ -75,3 +75,14 @@ test.describe('q2-meter — variants × themes', () => {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
+
const WITH_DESCRIPTION = VARIANTS.find(v => v.name === 'with-description');
|
|
79
|
+
test.describe(`q2-meter — scaled font size × themes`, () => {
|
|
80
|
+
if (WITH_DESCRIPTION) {
|
|
81
|
+
for (const theme of THEMES) {
|
|
82
|
+
test(`q2-meter--with-description--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
83
|
+
await setupPage(page, WITH_DESCRIPTION.html, { theme, fontSizePx: FONT_SCALE_PX, setupLoc: true });
|
|
84
|
+
await expect(page).toHaveScreenshot(`q2-meter--with-description--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
});
|