q2-tecton-elements 1.70.1 → 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 +576 -245
- 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 -6
- 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 +30 -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 +65 -15
- package/dist/collection/components/q2-btn/q2-btn.js +1 -6
- package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +45 -6
- 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 +30 -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 -19
- 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 +71 -52
- 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 -6
- 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 +30 -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 -6
- 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 +44 -25
- 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 +4 -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 -23
- 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
|
@@ -182,6 +182,11 @@ export class Q2StepperVertical {
|
|
|
182
182
|
const slot = Array.from(pane.children).find(child => child.getAttribute('slot') === slotName);
|
|
183
183
|
return (_a = slot === null || slot === void 0 ? void 0 : slot.outerHTML) !== null && _a !== void 0 ? _a : (pane[slotName] ? loc(pane[slotName]) : undefined);
|
|
184
184
|
}
|
|
185
|
+
getStatusLabel(status) {
|
|
186
|
+
const statusKey = `tecton.element.stepper.status.${status}`;
|
|
187
|
+
const statusLabel = loc(statusKey);
|
|
188
|
+
return statusLabel === statusKey ? status : statusLabel;
|
|
189
|
+
}
|
|
185
190
|
getStepId(currentStepId, goTo) {
|
|
186
191
|
const allEnabledStepBtns = Array.from(this.hostElement.shadowRoot.querySelectorAll('ul:not([aria-hidden="true"]) > li > button:not([aria-disabled="true"])'));
|
|
187
192
|
const currentStepIndex = allEnabledStepBtns.findIndex(btn => btn.getAttribute('id') === currentStepId);
|
|
@@ -251,14 +256,23 @@ export class Q2StepperVertical {
|
|
|
251
256
|
}
|
|
252
257
|
// #endregion
|
|
253
258
|
// #region Render Methods
|
|
254
|
-
renderChildStepBtn(pane, index, children
|
|
259
|
+
renderChildStepBtn(pane, index, children) {
|
|
255
260
|
const { currentStepId } = this;
|
|
256
261
|
const { id, label, status, disabled: isPaneDisabled } = pane;
|
|
257
262
|
const stepNumber = index + 1;
|
|
258
263
|
const labelId = label && `label-${id}`;
|
|
259
264
|
const isCurrentStep = id === currentStepId;
|
|
260
265
|
const isLocked = status === 'locked';
|
|
261
|
-
const
|
|
266
|
+
const positionId = `position-${id}`;
|
|
267
|
+
const statusId = `status-${id}`;
|
|
268
|
+
const accessibleStatus = status === 'complete' || status === 'error' ? status : 'pending';
|
|
269
|
+
const positionLabel = loc('tecton.element.stepper.number', {
|
|
270
|
+
step: `${stepNumber}`,
|
|
271
|
+
total: `${children}`,
|
|
272
|
+
});
|
|
273
|
+
const statusLabel = this.getStatusLabel(accessibleStatus);
|
|
274
|
+
const labelledBy = label ? `${positionId} ${labelId} ${statusId}` : undefined;
|
|
275
|
+
const btnLabel = label ? undefined : `${positionLabel}, ${statusLabel}`;
|
|
262
276
|
let statusIcon;
|
|
263
277
|
if (status === 'error')
|
|
264
278
|
statusIcon = 'warning-filled';
|
|
@@ -267,14 +281,14 @@ export class Q2StepperVertical {
|
|
|
267
281
|
stepClasses.push(`status-${status}`);
|
|
268
282
|
if (isPaneDisabled)
|
|
269
283
|
stepClasses.push('pane-disabled');
|
|
270
|
-
return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby":
|
|
284
|
+
return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelledBy, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, id: id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isPaneDisabled && !isLocked && this.onStepClick(ev, id) }, label && (h(Fragment, null, h("span", { class: "sr-only", id: positionId }, positionLabel), h("span", { class: "sr-only", id: statusId }, statusLabel))), statusIcon && (h("div", { class: "step-child-icon" }, h("q2-icon", { "aria-hidden": "true", type: statusIcon }))), label && (h("div", { class: "step-child-label", id: labelId, innerHTML: sanitizeHTMLString(label) })))));
|
|
271
285
|
}
|
|
272
|
-
renderSpacer(pane,
|
|
286
|
+
renderSpacer(pane, isExpanded, isLastStep) {
|
|
273
287
|
const shouldRender = (isLastStep && !!pane.children.length) || !isLastStep;
|
|
274
288
|
const spacerClasses = ['spacer'];
|
|
275
289
|
if (!isLastStep)
|
|
276
290
|
spacerClasses.push('has-sibling');
|
|
277
|
-
return (shouldRender && (h("div", { class: spacerClasses.join(' ') }, !!pane.children.length && (h("ul", { ref: el => isExpanded && (this.expandedStepChildrenList = el), "aria-hidden": `${!isExpanded}` }, pane.children.map((child, index, children) => this.renderChildStepBtn(child, index, children.length
|
|
291
|
+
return (shouldRender && (h("div", { class: spacerClasses.join(' ') }, !!pane.children.length && (h("ul", { ref: el => isExpanded && (this.expandedStepChildrenList = el), "aria-hidden": `${!isExpanded}` }, pane.children.map((child, index, children) => this.renderChildStepBtn(child, index, children.length)))))));
|
|
278
292
|
}
|
|
279
293
|
renderStepBtn(pane, index) {
|
|
280
294
|
const { currentStepId, structuredPanes } = this;
|
|
@@ -286,7 +300,16 @@ export class Q2StepperVertical {
|
|
|
286
300
|
const isLocked = status === 'locked';
|
|
287
301
|
const stepLabel = label;
|
|
288
302
|
const descriptionId = label && description && `description-${id}`;
|
|
289
|
-
const
|
|
303
|
+
const positionId = `position-${id}`;
|
|
304
|
+
const statusId = `status-${id}`;
|
|
305
|
+
const accessibleStatus = status === 'complete' || status === 'error' ? status : 'pending';
|
|
306
|
+
const positionLabel = loc('tecton.element.stepper.number', {
|
|
307
|
+
step: `${stepNumber}`,
|
|
308
|
+
total: `${structuredPanes.length}`,
|
|
309
|
+
});
|
|
310
|
+
const statusLabel = this.getStatusLabel(accessibleStatus);
|
|
311
|
+
const labelledBy = label ? `${positionId} ${labelId} ${statusId}` : undefined;
|
|
312
|
+
const btnLabel = label ? undefined : `${positionLabel}, ${statusLabel}`;
|
|
290
313
|
let statusIcon;
|
|
291
314
|
if (status === 'complete')
|
|
292
315
|
statusIcon = 'success-filled';
|
|
@@ -299,10 +322,10 @@ export class Q2StepperVertical {
|
|
|
299
322
|
stepClasses.push('pane-disabled');
|
|
300
323
|
const childIds = pane.children.map(child => child.id);
|
|
301
324
|
const isExpanded = isCurrentStep || childIds.includes(currentStepId);
|
|
302
|
-
return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby":
|
|
325
|
+
return (h("li", { role: "presentation" }, h("button", { class: stepClasses.join(' '), type: "button", "aria-labelledby": labelledBy, "aria-describedBy": descriptionId, "aria-label": btnLabel, "aria-selected": `${isCurrentStep}`, "aria-expanded": !!pane.children.length ? `${isExpanded}` : null, id: id, "aria-disabled": isLocked ? 'true' : null, role: "tab", tabIndex: isCurrentStep ? 0 : -1, onKeyDown: ev => !isLocked && this.onStepKeyDown(ev, id), onClick: ev => !isPaneDisabled && !isLocked && this.onStepClick(ev, id) }, label && (h(Fragment, null, h("span", { class: "sr-only", id: positionId }, positionLabel), h("span", { class: "sr-only", id: statusId }, statusLabel))), statusIcon ? (h("div", { class: "step-icon" }, h("q2-icon", { "aria-hidden": "true", type: statusIcon }))) : (h("div", { class: "step-bubble" }, stepNumber)), label && (h("div", null, h("div", { class: "step-label", id: labelId, innerHTML: sanitizeHTMLString(stepLabel) }), description && (h("div", { class: "step-description", id: descriptionId, innerHTML: sanitizeHTMLString(description) }))))), this.renderSpacer(pane, isExpanded, isLastStep)));
|
|
303
326
|
}
|
|
304
327
|
render() {
|
|
305
|
-
return (h(Fragment, { key: '
|
|
328
|
+
return (h(Fragment, { key: 'eab8d8816aebfb5aa104a17b75dc0e8b4ed4ce68' }, h("ul", { key: 'f155624641313e8375e6ee448fed150ae0c62cf1', role: "tablist" }, this.structuredPanes.map((pane, index) => this.renderStepBtn(pane, index))), h("div", { key: '1ff078e00dcb1e4c861bc691ccc31ec5c1436fac', role: "list" }, h("slot", { key: 'adf07ae0725ccc7c1ce149052f2325e6bfc01677' }))));
|
|
306
329
|
}
|
|
307
330
|
static get is() { return "q2-stepper-vertical"; }
|
|
308
331
|
static get encapsulation() { return "shadow"; }
|
|
@@ -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 DEFAULT_PANES = `
|
|
5
5
|
<q2-stepper-pane label="Step 1" id="step-1">Pane content</q2-stepper-pane>
|
|
6
6
|
<q2-stepper-pane label="Step 2" id="step-2">Pane content</q2-stepper-pane>
|
|
@@ -94,3 +94,18 @@ test.describe('q2-stepper-vertical — variants × themes', () => {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
|
+
// 'with-children' exercises --tct-stepper-vertical-btn-font-size,
|
|
98
|
+
// --tct-stepper-vertical-btn-label-font-size, --tct-stepper-vertical-child-btn-font-size,
|
|
99
|
+
// and --tct-stepper-vertical-child-btn-label-font-size (top-level + nested step buttons).
|
|
100
|
+
// 'with-descriptions' exercises --tct-stepper-vertical-description-font-size.
|
|
101
|
+
const SV_FONT_SCALE_VARIANTS = VARIANTS.filter(v => v.name === 'with-children' || v.name === 'with-descriptions');
|
|
102
|
+
test.describe(`q2-stepper-vertical — scaled font size × themes`, () => {
|
|
103
|
+
for (const variant of SV_FONT_SCALE_VARIANTS) {
|
|
104
|
+
for (const theme of THEMES) {
|
|
105
|
+
test(`q2-stepper-vertical--${variant.name}--resting--${FONT_SCALE_SUFFIX} — ${theme}`, async ({ page }) => {
|
|
106
|
+
await setupPage(page, variant.html, { theme, fontSizePx: FONT_SCALE_PX });
|
|
107
|
+
await expect(page).toHaveScreenshot(`q2-stepper-vertical--${variant.name}--resting--${FONT_SCALE_SUFFIX}--${theme}.png`);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @prop --tct-surface-background
|
|
3
|
-
* @prop --tct-surface-background
|
|
4
|
-
* @prop --tct-surface-background
|
|
5
|
-
* @prop --tct-surface-background
|
|
6
|
-
* @prop --tct-surface-
|
|
7
|
-
* @prop --tct-surface-
|
|
8
|
-
* @prop --tct-surface-
|
|
9
|
-
* @prop --tct-surface-
|
|
2
|
+
* @prop --tct-surface-default-background: (<color>) Background color when background="default". Defaults to --t-base.
|
|
3
|
+
* @prop --tct-surface-primary-background: (<color>) Background color when background="primary". Defaults to --t-primary.
|
|
4
|
+
* @prop --tct-surface-secondary-background: (<color>) Background color when background="secondary". Defaults to --t-secondary.
|
|
5
|
+
* @prop --tct-surface-tertiary-background: (<color>) Background color when background="tertiary". Defaults to --t-tertiary.
|
|
6
|
+
* @prop --tct-surface-gray-background: (<color>) Background color when background="gray". Defaults to --t-base-gray1.
|
|
7
|
+
* @prop --tct-surface-default-hover-background: (<color>) Hover background when clickable and background="default" (or unset). Defaults to --t-base-primary1.
|
|
8
|
+
* @prop --tct-surface-primary-hover-background: (<color>) Hover background when clickable and background="primary". Defaults to --t-primary-d2.
|
|
9
|
+
* @prop --tct-surface-secondary-hover-background: (<color>) Hover background when clickable and background="secondary". Defaults to --t-secondary-d2.
|
|
10
|
+
* @prop --tct-surface-tertiary-hover-background: (<color>) Hover background when clickable and background="tertiary". Defaults to --t-tertiary-d2.
|
|
11
|
+
* @prop --tct-surface-gray-hover-background: (<color>) Hover background when clickable and background="gray". Defaults to --t-base-primary1 (matches --tct-surface-default-hover-background).
|
|
12
|
+
* @prop --tct-surface-default-active-background: (<color>) Active/pressed background when clickable and background="default" (or unset). Defaults to --t-base-primary2.
|
|
13
|
+
* @prop --tct-surface-primary-active-background: (<color>) Active/pressed background when clickable and background="primary". Defaults to --t-primary-d3.
|
|
14
|
+
* @prop --tct-surface-secondary-active-background: (<color>) Active/pressed background when clickable and background="secondary". Defaults to --t-secondary-d3.
|
|
15
|
+
* @prop --tct-surface-tertiary-active-background: (<color>) Active/pressed background when clickable and background="tertiary". Defaults to --t-tertiary-d3.
|
|
16
|
+
* @prop --tct-surface-gray-active-background: (<color>) Active/pressed background when clickable and background="gray". Defaults to --t-base-primary2 (matches --tct-surface-default-active-background).
|
|
10
17
|
* @prop --tct-surface-primary-font-color: (<color>) Text color when background="primary". Defaults to --t-primary-text.
|
|
11
18
|
* @prop --tct-surface-secondary-font-color: (<color>) Text color when background="secondary". Defaults to --t-secondary-text.
|
|
12
19
|
* @prop --tct-surface-tertiary-font-color: (<color>) Text color when background="tertiary". Defaults to --t-tertiary-text.
|
|
13
|
-
* @prop --tct-surface-border-color: (<color>) Border color when border="default". Defaults to --t-gray-12.
|
|
20
|
+
* @prop --tct-surface-default-border-color: (<color>) Border color when border="default". Defaults to --t-gray-12.
|
|
14
21
|
* @prop --tct-surface-primary-border-color: (<color>) Border color when border="primary". Defaults to --t-primary.
|
|
15
22
|
* @prop --tct-surface-secondary-border-color: (<color>) Border color when border="secondary" . Defaults to --t-secondary.
|
|
16
23
|
* @prop --tct-surface-tertiary-border-color: (<color>) Border color when border="tertiary". Defaults to --t-tertiary.
|
|
24
|
+
* @prop --tct-surface-gray-border-color: (<color>) Border color when border="gray". Defaults to --t-gray-8.
|
|
17
25
|
* @prop --tct-surface-border-radius-1: (<length>) Corner radius at radius=1. Defaults to --app-border-radius-1 (4px).
|
|
18
26
|
* @prop --tct-surface-border-radius-2: (<length>) Corner radius at radius=2. Defaults to --app-border-radius-2 (8px).
|
|
19
27
|
* @prop --tct-surface-border-radius-3: (<length>) Corner radius at radius=3. Defaults to --app-border-radius-3 (12px).
|
|
@@ -41,8 +49,8 @@
|
|
|
41
49
|
*/
|
|
42
50
|
:host {
|
|
43
51
|
--comp-surface-bg: transparent;
|
|
44
|
-
--comp-surface-hover-background: var(--tct-surface-hover-background, var(--t-base-
|
|
45
|
-
--comp-surface-border-color: var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9));
|
|
52
|
+
--comp-surface-hover-background: var(--tct-surface-default-hover-background, var(--t-base-primary1, #f2f2f2));
|
|
53
|
+
--comp-surface-border-color: var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9));
|
|
46
54
|
--comp-surface-animation-duration: var(--tct-surface-animation-duration, 1s);
|
|
47
55
|
--comp-surface-gradient-direction: var(--tct-surface-background-gradient-direction, to right bottom);
|
|
48
56
|
--comp-surface-radius: 0px;
|
|
@@ -119,30 +127,42 @@
|
|
|
119
127
|
border-radius: var(--comp-surface-radius);
|
|
120
128
|
}
|
|
121
129
|
|
|
122
|
-
:host([background=default])
|
|
123
|
-
|
|
124
|
-
--comp-surface-
|
|
130
|
+
:host([background=default]),
|
|
131
|
+
:host([clickable]:not([clickable=false]):not([background])) {
|
|
132
|
+
--comp-surface-bg: var(--tct-surface-default-background, var(--t-base, #ffffff));
|
|
133
|
+
--comp-surface-hover-background: var(--tct-surface-default-hover-background, var(--t-base-primary1, #f2f2f2));
|
|
134
|
+
--comp-surface-active-background: var(--tct-surface-default-active-background, var(--t-base-primary2, #e6e6e6));
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
:host([background=primary]) {
|
|
128
|
-
--comp-surface-bg: var(--tct-surface-background
|
|
129
|
-
--comp-surface-hover-background: var(--tct-surface-primary-hover-background, var(--t-primary-
|
|
138
|
+
--comp-surface-bg: var(--tct-surface-primary-background, var(--t-primary, #6a4a9e));
|
|
139
|
+
--comp-surface-hover-background: var(--tct-surface-primary-hover-background, var(--t-primary-d2, #533978));
|
|
140
|
+
--comp-surface-active-background: var(--tct-surface-primary-active-background, var(--t-primary-d3, #3d2a58));
|
|
130
141
|
color: var(--tct-surface-primary-font-color, var(--t-primary-text, #ffffff));
|
|
131
142
|
}
|
|
132
143
|
|
|
133
144
|
:host([background=secondary]) {
|
|
134
|
-
--comp-surface-bg: var(--tct-surface-background
|
|
135
|
-
--comp-surface-hover-background: var(--tct-surface-secondary-hover-background, var(--t-secondary-
|
|
145
|
+
--comp-surface-bg: var(--tct-surface-secondary-background, var(--t-secondary, #b3c2cc));
|
|
146
|
+
--comp-surface-hover-background: var(--tct-surface-secondary-hover-background, var(--t-secondary-d2, #8fa1ac));
|
|
147
|
+
--comp-surface-active-background: var(--tct-surface-secondary-active-background, var(--t-secondary-d3, #6b7d88));
|
|
136
148
|
color: var(--tct-surface-secondary-font-color, var(--t-secondary-text, #1a1a1a));
|
|
137
149
|
}
|
|
138
150
|
|
|
139
151
|
:host([background=tertiary]) {
|
|
140
|
-
--comp-surface-bg: var(--tct-surface-background
|
|
141
|
-
--comp-surface-hover-background: var(--tct-surface-tertiary-hover-background, var(--t-tertiary-
|
|
152
|
+
--comp-surface-bg: var(--tct-surface-tertiary-background, var(--t-tertiary, #e8f5fc));
|
|
153
|
+
--comp-surface-hover-background: var(--tct-surface-tertiary-hover-background, var(--t-tertiary-d2, #b8dcef));
|
|
154
|
+
--comp-surface-active-background: var(--tct-surface-tertiary-active-background, var(--t-tertiary-d3, #88c4e2));
|
|
142
155
|
color: var(--tct-surface-tertiary-font-color, var(--t-tertiary-text, #1a1a1a));
|
|
143
156
|
}
|
|
144
157
|
|
|
145
|
-
:host([background])
|
|
158
|
+
:host([background=gray]) {
|
|
159
|
+
--comp-surface-bg: var(--tct-surface-gray-background, var(--t-base-gray1, #f4f4f4));
|
|
160
|
+
--comp-surface-hover-background: var(--tct-surface-gray-hover-background, var(--t-base-primary1, #f2f2f2));
|
|
161
|
+
--comp-surface-active-background: var(--tct-surface-gray-active-background, var(--t-base-primary2, #e6e6e6));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
:host([background]) .container,
|
|
165
|
+
:host([clickable]:not([clickable=false]):not([background])) .container {
|
|
146
166
|
background: var(--comp-surface-bg);
|
|
147
167
|
}
|
|
148
168
|
|
|
@@ -166,6 +186,10 @@
|
|
|
166
186
|
border-color: var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc));
|
|
167
187
|
}
|
|
168
188
|
|
|
189
|
+
:host([border=gray]) .container {
|
|
190
|
+
border-color: var(--tct-surface-gray-border-color, var(--t-gray-8, #808080));
|
|
191
|
+
}
|
|
192
|
+
|
|
169
193
|
:host([border-gradient]) {
|
|
170
194
|
padding: 2px;
|
|
171
195
|
}
|
|
@@ -177,7 +201,7 @@
|
|
|
177
201
|
}
|
|
178
202
|
|
|
179
203
|
:host([border-gradient]:not([background])) {
|
|
180
|
-
--comp-surface-bg: var(--tct-surface-background
|
|
204
|
+
--comp-surface-bg: var(--tct-surface-default-background, var(--t-base, #ffffff));
|
|
181
205
|
}
|
|
182
206
|
:host([border-gradient]:not([background])) .container {
|
|
183
207
|
background: var(--comp-surface-bg);
|
|
@@ -185,7 +209,7 @@
|
|
|
185
209
|
|
|
186
210
|
:host([border-gradient]:not([border])),
|
|
187
211
|
:host([border-gradient][border=default]) {
|
|
188
|
-
background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9)), white 40%), var(--tct-surface-border-color, var(--t-gray-12, #d9d9d9)));
|
|
212
|
+
background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9)), white 40%), var(--tct-surface-default-border-color, var(--t-gray-12, #d9d9d9)));
|
|
189
213
|
}
|
|
190
214
|
|
|
191
215
|
:host([border-gradient][border=primary]) {
|
|
@@ -200,6 +224,10 @@
|
|
|
200
224
|
background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc)), white 40%), var(--tct-surface-tertiary-border-color, var(--t-tertiary, #e8f5fc)));
|
|
201
225
|
}
|
|
202
226
|
|
|
227
|
+
:host([border-gradient][border=gray]) {
|
|
228
|
+
background: linear-gradient(in oklch var(--tct-surface-border-gradient-direction, var(--tct-surface-background-gradient-direction, to right bottom)), color-mix(in oklab, var(--tct-surface-gray-border-color, var(--t-gray-8, #808080)), white 40%), var(--tct-surface-gray-border-color, var(--t-gray-8, #808080)));
|
|
229
|
+
}
|
|
230
|
+
|
|
203
231
|
:host([inset=compact]) .container {
|
|
204
232
|
padding: var(--tct-surface-inset-compact, var(--app-scale-1x, 5px));
|
|
205
233
|
}
|
|
@@ -244,31 +272,34 @@
|
|
|
244
272
|
padding-block: var(--tct-surface-inset-comfortable, var(--app-scale-5x, 25px));
|
|
245
273
|
}
|
|
246
274
|
|
|
247
|
-
:host([clickable]) {
|
|
275
|
+
:host([clickable]:not([clickable=false])) {
|
|
248
276
|
cursor: pointer;
|
|
249
277
|
}
|
|
250
|
-
:host([clickable])
|
|
278
|
+
:host([clickable]:not([clickable=false])) .container:hover {
|
|
251
279
|
background: var(--comp-surface-hover-background);
|
|
252
280
|
}
|
|
253
|
-
:host([clickable]
|
|
281
|
+
:host([clickable]:not([clickable=false])) .container:active {
|
|
282
|
+
background: var(--comp-surface-active-background, var(--comp-surface-hover-background));
|
|
283
|
+
}
|
|
284
|
+
:host([clickable]:not([clickable=false]))[elevation="0"]:hover .container, :host([clickable]:not([clickable=false])):not([elevation]):hover .container {
|
|
254
285
|
box-shadow: var(--tct-surface-elevation-hover-0-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));
|
|
255
286
|
}
|
|
256
|
-
:host([clickable])[elevation="1"]:hover .container {
|
|
287
|
+
:host([clickable]:not([clickable=false]))[elevation="1"]:hover .container {
|
|
257
288
|
box-shadow: var(--tct-surface-elevation-hover-1-box-shadow, var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14)));
|
|
258
289
|
}
|
|
259
|
-
:host([clickable])[elevation="2"]:hover .container {
|
|
290
|
+
:host([clickable]:not([clickable=false]))[elevation="2"]:hover .container {
|
|
260
291
|
box-shadow: var(--tct-surface-elevation-hover-2-box-shadow, var(--app-shadow-3, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 8px 16px rgba(0, 0, 0, 0.14)));
|
|
261
292
|
}
|
|
262
|
-
:host([clickable])[elevation="3"]:hover .container {
|
|
293
|
+
:host([clickable]:not([clickable=false]))[elevation="3"]:hover .container {
|
|
263
294
|
box-shadow: var(--tct-surface-elevation-hover-3-box-shadow, var(--app-shadow-4, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 14px 28px rgba(0, 0, 0, 0.14)));
|
|
264
295
|
}
|
|
265
|
-
:host([clickable])[elevation="4"]:hover .container {
|
|
296
|
+
:host([clickable]:not([clickable=false]))[elevation="4"]:hover .container {
|
|
266
297
|
box-shadow: var(--tct-surface-elevation-hover-4-box-shadow, var(--app-shadow-5, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 32px 64px rgba(0, 0, 0, 0.14)));
|
|
267
298
|
}
|
|
268
|
-
:host([clickable])[elevation="5"]:hover .container {
|
|
299
|
+
:host([clickable]:not([clickable=false]))[elevation="5"]:hover .container {
|
|
269
300
|
box-shadow: var(--tct-surface-elevation-hover-5-box-shadow, var(--app-shadow-5, 0px 0px 8px rgba(0, 0, 0, 0.12), 0px 32px 64px rgba(0, 0, 0, 0.14)));
|
|
270
301
|
}
|
|
271
|
-
:host([clickable]) .container:focus-visible {
|
|
302
|
+
:host([clickable]:not([clickable=false])) .container:focus-visible {
|
|
272
303
|
outline: none;
|
|
273
304
|
box-shadow: var(--tct-surface-focus-visible-box-shadow, var(--const-double-focus-ring, 0 0 0 2px var(--t-base), 0 0 0 4px var(--const-focus-color), 0 0 0 6px var(--t-base)));
|
|
274
305
|
}
|
|
@@ -345,4 +376,12 @@
|
|
|
345
376
|
|
|
346
377
|
:host(.q2-surface-animate-tada) {
|
|
347
378
|
animation: q2-surface-tada var(--comp-surface-animation-duration) both;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
::slotted(:is(h1, h2, h3, h4):first-child) {
|
|
382
|
+
margin-top: 0 !important;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
::slotted(:is(q2-action-group):last-child) {
|
|
386
|
+
margin-bottom: 0 !important;
|
|
348
387
|
}
|
|
@@ -61,7 +61,7 @@ export class Q2Surface {
|
|
|
61
61
|
* @param animation The animation to play. Defaults to `'pulse'`.
|
|
62
62
|
* @returns A Promise that resolves when the animation finishes or is cancelled.
|
|
63
63
|
*/
|
|
64
|
-
async
|
|
64
|
+
async triggerAnimation(animation = 'pulse') {
|
|
65
65
|
var _a;
|
|
66
66
|
(_a = this._cancelAnimation) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
67
67
|
return new Promise(resolve => {
|
|
@@ -84,7 +84,7 @@ export class Q2Surface {
|
|
|
84
84
|
// #endregion
|
|
85
85
|
// #region Render Methods
|
|
86
86
|
render() {
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: '992667ac1d625dff77a01d06d058865f99d8d190' }, h("div", { key: 'd58162c346c58a2cc21a4334c08b6cc4a53ed2e0', class: "container", role: this.clickable ? 'button' : undefined, tabIndex: this.clickable ? 0 : undefined }, h("slot", { key: 'b70930390799484c71da93d1f801ecc681d168c6' }))));
|
|
88
88
|
}
|
|
89
89
|
static get is() { return "q2-surface"; }
|
|
90
90
|
static get encapsulation() { return "shadow"; }
|
|
@@ -104,8 +104,8 @@ export class Q2Surface {
|
|
|
104
104
|
"type": "string",
|
|
105
105
|
"mutable": false,
|
|
106
106
|
"complexType": {
|
|
107
|
-
"original": "'default' | 'primary' | 'secondary' | 'tertiary'",
|
|
108
|
-
"resolved": "\"default\" | \"primary\" | \"secondary\" | \"tertiary\"",
|
|
107
|
+
"original": "'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'",
|
|
108
|
+
"resolved": "\"default\" | \"gray\" | \"primary\" | \"secondary\" | \"tertiary\"",
|
|
109
109
|
"references": {}
|
|
110
110
|
},
|
|
111
111
|
"required": false,
|
|
@@ -146,8 +146,8 @@ export class Q2Surface {
|
|
|
146
146
|
"type": "string",
|
|
147
147
|
"mutable": false,
|
|
148
148
|
"complexType": {
|
|
149
|
-
"original": "'default' | 'primary' | 'secondary' | 'tertiary'",
|
|
150
|
-
"resolved": "\"default\" | \"primary\" | \"secondary\" | \"tertiary\"",
|
|
149
|
+
"original": "'default' | 'primary' | 'secondary' | 'tertiary' | 'gray'",
|
|
150
|
+
"resolved": "\"default\" | \"gray\" | \"primary\" | \"secondary\" | \"tertiary\"",
|
|
151
151
|
"references": {}
|
|
152
152
|
},
|
|
153
153
|
"required": false,
|
|
@@ -333,7 +333,7 @@ export class Q2Surface {
|
|
|
333
333
|
}
|
|
334
334
|
static get methods() {
|
|
335
335
|
return {
|
|
336
|
-
"
|
|
336
|
+
"triggerAnimation": {
|
|
337
337
|
"complexType": {
|
|
338
338
|
"signature": "(animation?: \"bounce\" | \"flash\" | \"pulse\" | \"tada\") => Promise<void>",
|
|
339
339
|
"parameters": [{
|
|
@@ -12,16 +12,41 @@ const VARIANTS = [
|
|
|
12
12
|
html: `<q2-surface background="primary" inset="normal"></q2-surface>`,
|
|
13
13
|
states: ['resting'],
|
|
14
14
|
},
|
|
15
|
+
{
|
|
16
|
+
name: 'background-primary-clickable',
|
|
17
|
+
html: `<q2-surface background="primary" clickable inset="normal" radius="2"></q2-surface>`,
|
|
18
|
+
states: ['hover', 'active'],
|
|
19
|
+
},
|
|
15
20
|
{
|
|
16
21
|
name: 'background-secondary',
|
|
17
22
|
html: `<q2-surface background="secondary" inset="normal"></q2-surface>`,
|
|
18
23
|
states: ['resting'],
|
|
19
24
|
},
|
|
25
|
+
{
|
|
26
|
+
name: 'background-secondary-clickable',
|
|
27
|
+
html: `<q2-surface background="secondary" clickable inset="normal" radius="2"></q2-surface>`,
|
|
28
|
+
states: ['hover', 'active'],
|
|
29
|
+
},
|
|
20
30
|
{
|
|
21
31
|
name: 'background-tertiary',
|
|
22
32
|
html: `<q2-surface background="tertiary" inset="normal"></q2-surface>`,
|
|
23
33
|
states: ['resting'],
|
|
24
34
|
},
|
|
35
|
+
{
|
|
36
|
+
name: 'background-tertiary-clickable',
|
|
37
|
+
html: `<q2-surface background="tertiary" clickable inset="normal" radius="2"></q2-surface>`,
|
|
38
|
+
states: ['hover', 'active'],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'background-gray',
|
|
42
|
+
html: `<q2-surface background="gray" inset="normal"></q2-surface>`,
|
|
43
|
+
states: ['resting'],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'background-gray-clickable',
|
|
47
|
+
html: `<q2-surface background="gray" clickable inset="normal" radius="2"></q2-surface>`,
|
|
48
|
+
states: ['resting', 'hover', 'active'],
|
|
49
|
+
},
|
|
25
50
|
{
|
|
26
51
|
name: 'background-gradient-primary',
|
|
27
52
|
html: `<q2-surface background="primary" background-gradient inset="normal" radius="2"></q2-surface>`,
|
|
@@ -47,16 +72,45 @@ const VARIANTS = [
|
|
|
47
72
|
html: `<q2-surface border="tertiary" inset="normal"></q2-surface>`,
|
|
48
73
|
states: ['resting'],
|
|
49
74
|
},
|
|
75
|
+
{
|
|
76
|
+
name: 'border-gray',
|
|
77
|
+
html: `<q2-surface border="gray" inset="normal"></q2-surface>`,
|
|
78
|
+
states: ['resting'],
|
|
79
|
+
},
|
|
50
80
|
{
|
|
51
81
|
name: 'border-gradient-primary',
|
|
52
82
|
html: `<q2-surface border="primary" border-gradient inset="normal" radius="2"></q2-surface>`,
|
|
53
83
|
states: ['resting'],
|
|
54
84
|
},
|
|
85
|
+
{
|
|
86
|
+
name: 'border-gradient-gray',
|
|
87
|
+
html: `<q2-surface border="gray" border-gradient inset="normal" radius="2"></q2-surface>`,
|
|
88
|
+
states: ['resting'],
|
|
89
|
+
},
|
|
55
90
|
{
|
|
56
91
|
name: 'clickable',
|
|
57
92
|
html: `<q2-surface clickable border="default" radius="2" inset="normal"></q2-surface>`,
|
|
58
93
|
states: ['resting', 'hover', 'focus', 'active'],
|
|
59
94
|
},
|
|
95
|
+
{
|
|
96
|
+
name: 'slotted-first-heading',
|
|
97
|
+
html: `<q2-surface border="default" inset="normal" radius="2">
|
|
98
|
+
<h2>Slotted heading</h2>
|
|
99
|
+
<p>Body copy beneath the heading.</p>
|
|
100
|
+
</q2-surface>`,
|
|
101
|
+
states: ['resting'],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'slotted-last-action-group',
|
|
105
|
+
html: `<q2-surface border="default" inset="normal" radius="2">
|
|
106
|
+
<p>Body copy above the action group.</p>
|
|
107
|
+
<q2-action-group>
|
|
108
|
+
<q2-btn intent="workflow-primary">Confirm</q2-btn>
|
|
109
|
+
<q2-btn intent="workflow-secondary">Cancel</q2-btn>
|
|
110
|
+
</q2-action-group>
|
|
111
|
+
</q2-surface>`,
|
|
112
|
+
states: ['resting'],
|
|
113
|
+
},
|
|
60
114
|
];
|
|
61
115
|
const restingCase = (variant, theme) => {
|
|
62
116
|
test(`q2-surface--${variant.name}--resting — ${theme}`, async ({ page }) => {
|
|
@@ -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-tab-container-padding: (<length-percentage>+) Controls the inner padding of the tab container list.
|
|
70
92
|
* @prop --tct-tab-container-margin?: (<length-percentage>+) Controls the optional outer margin of the tab container list.
|
|
@@ -72,7 +94,7 @@ button {
|
|
|
72
94
|
* @prop --tct-tab-container-border-style: (<custom-ident>) Controls the bottom border style of the tab container list.
|
|
73
95
|
* @prop --tct-tab-container-border-color: (<color>) Controls the bottom border color of the tab container list.
|
|
74
96
|
* @prop --tct-tab-container-content-padding: (<length-percentage>+) Controls the inner padding of the tab content area.
|
|
75
|
-
* @prop --tct-tab-container-content-
|
|
97
|
+
* @prop --tct-tab-container-content-background?: (<color>) Controls the optional background color of the tab content area.
|
|
76
98
|
* @prop --tct-tab-content-padding: (<length-percentage>+) Controls the inner padding of the tab content area when --tct-tab-container-content-padding is not set.
|
|
77
99
|
* @prop --tct-tab-focus-visible-box-shadow: (*) Controls the box shadow of a tab button when focused via keyboard.
|
|
78
100
|
* @prop --tct-tab-gap: (<length-percentage>) Controls the gap between adjacent tab buttons.
|
|
@@ -102,6 +124,12 @@ button {
|
|
|
102
124
|
* @prop --tct-tab-section-padding: (<length-percentage>+) Controls the inner padding of tab buttons when type="section".
|
|
103
125
|
* @prop --tct-tab-section-font-size: (<length-percentage>) Controls the font size of tab buttons when type="section".
|
|
104
126
|
* @prop --tct-tab-section-line-height: (<number> | <length-percentage>) Controls the line height of tab buttons when type="section".
|
|
127
|
+
* @prop --tct-tab-container-width: (<length-percentage>) Controls the width of the tab strip when orientation="vertical". Defaults to `200px`.
|
|
128
|
+
* @prop --tct-tab-active-indicator-width: (<length>) Controls the width of the active-tab indicator on the leading edge when orientation="vertical". Defaults to `3px`.
|
|
129
|
+
* @prop --tct-tab-badge-gap?: (<length-percentage>) Controls the optional gap between the label and badge within a tab button when orientation="vertical".
|
|
130
|
+
* @prop --tct-vertical-tab-container-padding?: (<length-percentage>+) Controls the inner padding of the tab container list when orientation="vertical". Defaults to `0`.
|
|
131
|
+
* @prop --tct-vertical-tab-border-radius?: (<length-percentage>) Controls the optional corner radius of tab buttons when orientation="vertical". Defaults to `0`.
|
|
132
|
+
* @prop --tct-vertical-tab-container-content-padding?: (<length-percentage>+) Controls the inner padding of the tab content area when orientation="vertical".
|
|
105
133
|
*/
|
|
106
134
|
:host {
|
|
107
135
|
display: block;
|
|
@@ -162,15 +190,15 @@ li button {
|
|
|
162
190
|
text-decoration: var(--tct-tab-text-decoration, var(--t-tab-text-decoration, none));
|
|
163
191
|
padding: var(--tct-tab-padding, var(--t-tab-padding, var(--tct-scale-2, var(--app-scale-2x, 10px))));
|
|
164
192
|
color: var(--tct-tab-inactive-color, var(--t-tab-inactive-color, inherit));
|
|
165
|
-
font-size: var(--tct-tab-font-size, var(--t-tab-font-size, 17px));
|
|
166
|
-
line-height: var(--tct-tab-line-height, 20px);
|
|
193
|
+
font-size: var(--tct-tab-font-size, var(--t-tab-font-size, var(--const-px-17, 17px)));
|
|
194
|
+
line-height: var(--tct-tab-line-height, var(--const-px-20, 20px));
|
|
167
195
|
display: block;
|
|
168
196
|
transition: background var(--t-tween-ease-inout) var(--t-tween-time-in-xxs), color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs), border-color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs);
|
|
169
197
|
}
|
|
170
198
|
:host([type=section]) li button {
|
|
171
199
|
--comp-tab-section-padding: var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-1, var(--app-scale-1x, 5px));
|
|
172
|
-
font-size: var(--tct-tab-section-font-size, 14px);
|
|
173
|
-
line-height: var(--tct-tab-section-line-height, 18px);
|
|
200
|
+
font-size: var(--tct-tab-section-font-size, var(--const-px-14, 14px));
|
|
201
|
+
line-height: var(--tct-tab-section-line-height, var(--const-px-18, 18px));
|
|
174
202
|
padding: var(--tct-tab-section-padding, var(--t-tab-section-padding, var(--comp-tab-section-padding)));
|
|
175
203
|
}
|
|
176
204
|
li button:focus-visible {
|
|
@@ -206,7 +234,7 @@ li button[aria-selected=true] {
|
|
|
206
234
|
.tab-content {
|
|
207
235
|
--comp-tab-content-padding: var(--tct-scale-2, var(--app-scale-2x, 10px)) 0;
|
|
208
236
|
padding: var(--tct-tab-container-content-padding, var(--tct-tab-content-padding, var(--t-tab-content-padding, var(--comp-tab-content-padding))));
|
|
209
|
-
background: var(--tct-tab-container-content-
|
|
237
|
+
background: var(--tct-tab-container-content-background, none);
|
|
210
238
|
}
|
|
211
239
|
.tab-content:focus {
|
|
212
240
|
outline: none;
|
|
@@ -263,4 +291,82 @@ li button[aria-selected=true] {
|
|
|
263
291
|
.tab-pane-badge q2-badge {
|
|
264
292
|
margin-left: 5px;
|
|
265
293
|
margin-right: 5px;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
@media screen and (min-width: 768px) {
|
|
297
|
+
:host([orientation=vertical]) {
|
|
298
|
+
display: flex;
|
|
299
|
+
flex-direction: row;
|
|
300
|
+
align-items: stretch;
|
|
301
|
+
}
|
|
302
|
+
:host([orientation=vertical]) .tab-container {
|
|
303
|
+
width: var(--tct-tab-container-width, 200px);
|
|
304
|
+
flex-shrink: 0;
|
|
305
|
+
}
|
|
306
|
+
:host([orientation=vertical]) .tab-content {
|
|
307
|
+
--comp-vertical-tab-content-padding: 0 var(--tct-scale-2, var(--app-scale-2x, 10px));
|
|
308
|
+
flex: 1 1 auto;
|
|
309
|
+
min-width: 0;
|
|
310
|
+
padding: var(--tct-vertical-tab-container-content-padding, var(--tct-vertical-tab-content-padding, var(--t-vertical-tab-content-padding, var(--comp-vertical-tab-content-padding))));
|
|
311
|
+
}
|
|
312
|
+
:host([orientation=vertical]) ul {
|
|
313
|
+
padding: var(--tct-vertical-tab-container-padding, 0);
|
|
314
|
+
flex-direction: column;
|
|
315
|
+
align-items: stretch;
|
|
316
|
+
overflow-y: auto;
|
|
317
|
+
overflow-x: visible;
|
|
318
|
+
border-bottom-width: 0;
|
|
319
|
+
border-right-width: var(--tct-tab-container-border-width, 1px);
|
|
320
|
+
border-right-style: var(--tct-tab-container-border-style, solid);
|
|
321
|
+
border-right-color: var(--tct-tab-container-border-color, var(--t-tab-container-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
|
|
322
|
+
height: 100%;
|
|
323
|
+
}
|
|
324
|
+
:host([orientation=vertical]) li {
|
|
325
|
+
border-left-width: var(--tct-tab-active-indicator-width, 3px);
|
|
326
|
+
border-left-style: solid;
|
|
327
|
+
border-left-color: transparent;
|
|
328
|
+
transition: border-color var(--t-tween-ease-inout) var(--t-tween-time-in-xxs);
|
|
329
|
+
}
|
|
330
|
+
:host([orientation=vertical]) li:has(button[aria-selected=true]) {
|
|
331
|
+
color: var(--tct-tab-active-color, var(--t-tab-active-color, #2e2e2e));
|
|
332
|
+
border-left-color: var(--tct-tab-active-border-color, var(--t-tab-active-border-color, currentcolor));
|
|
333
|
+
}
|
|
334
|
+
:host([orientation=vertical]) li button {
|
|
335
|
+
border-width: 0;
|
|
336
|
+
text-align: start;
|
|
337
|
+
border-radius: var(--tct-vertical-tab-border-radius, 0);
|
|
338
|
+
}
|
|
339
|
+
:host([orientation=vertical]) .tab-pane-badge {
|
|
340
|
+
justify-content: flex-start;
|
|
341
|
+
gap: var(--tct-tab-badge-gap, var(--tct-scale-1, var(--app-scale-1x, 5px)));
|
|
342
|
+
}
|
|
343
|
+
:host([orientation=vertical]) .gradient-left {
|
|
344
|
+
right: 0;
|
|
345
|
+
width: 100%;
|
|
346
|
+
height: 44px;
|
|
347
|
+
background-image: linear-gradient(to top, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);
|
|
348
|
+
}
|
|
349
|
+
:host([orientation=vertical]) .gradient-right {
|
|
350
|
+
bottom: 0;
|
|
351
|
+
top: auto;
|
|
352
|
+
left: 0;
|
|
353
|
+
width: 100%;
|
|
354
|
+
height: 44px;
|
|
355
|
+
background-image: linear-gradient(to bottom, var(--t-base-a0), var(--t-base-a2) 10%, var(--t-base) 100%);
|
|
356
|
+
}
|
|
357
|
+
:host([orientation=vertical]) .btn-left {
|
|
358
|
+
top: 0;
|
|
359
|
+
left: 50%;
|
|
360
|
+
transform: translateX(-50%);
|
|
361
|
+
}
|
|
362
|
+
:host([orientation=vertical]) .btn-right {
|
|
363
|
+
bottom: 0;
|
|
364
|
+
top: auto;
|
|
365
|
+
left: 50%;
|
|
366
|
+
right: auto;
|
|
367
|
+
transform: translateX(-50%);
|
|
368
|
+
}
|
|
369
|
+
:host([orientation=vertical][color=alt]) li:has(button[aria-selected=true]) {
|
|
370
|
+
color: var(--tct-tab-alt-active-color, var(--t-tab-alt-active-color, inherit));
|
|
371
|
+
}
|
|
266
372
|
}
|