q2-tecton-elements 1.54.5 → 1.55.1
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 +2047 -769
- package/dist/cjs/{index-76f63767.js → index-905f4c87.js} +3 -2
- package/dist/cjs/index-905f4c87.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-group.cjs.entry.js +45 -14
- package/dist/cjs/q2-action-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +4 -1364
- package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-badge_7.cjs.entry.js +59 -22
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +21 -21
- package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
- 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 +2 -2
- 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 +1 -1
- package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
- package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-form.cjs.entry.js +23 -0
- package/dist/cjs/q2-form.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
- package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-legend.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +20 -26
- package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- package/dist/cjs/q2-modal.cjs.entry.js +172 -0
- package/dist/cjs/q2-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option-list_2.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +22 -24
- package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
- package/dist/cjs/q2-pill.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +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-resize-observer.cjs.entry.js +2 -2
- package/dist/cjs/q2-resize-observer.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +10 -6
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
- package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
- package/dist/cjs/q2-tag.cjs.entry.js +51 -9
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/q2-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/sanitize-html-string-b8e3b24b.js +1366 -0
- package/dist/cjs/sanitize-html-string-b8e3b24b.js.map +1 -0
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/click-elsewhere/click-elsewhere.js.map +1 -1
- package/dist/collection/components/click-elsewhere/test/click-elsewhere-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-action-group/q2-action-group.css +11 -4
- package/dist/collection/components/q2-action-group/q2-action-group.js +47 -13
- package/dist/collection/components/q2-action-group/q2-action-group.js.map +1 -1
- package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js +365 -0
- package/dist/collection/components/q2-action-group/test/q2-action-group-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-action-group/test/{q2-action-group.spec.js → q2-action-group-test.spec.js} +67 -26
- package/dist/collection/components/q2-action-group/test/q2-action-group-test.spec.js.map +1 -0
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js.map +1 -1
- package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js.map +1 -1
- package/dist/collection/components/q2-avatar/test/q2-avatar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-badge/q2-badge.css +52 -41
- package/dist/collection/components/q2-badge/q2-badge.js +88 -22
- package/dist/collection/components/q2-badge/q2-badge.js.map +1 -1
- package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js +35 -126
- package/dist/collection/components/q2-badge/test/q2-badge-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js +415 -0
- package/dist/collection/components/q2-badge/test/q2-badge-test.spec.js.map +1 -0
- package/dist/collection/components/q2-btn/q2-btn.css +12 -10
- package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
- package/dist/collection/components/q2-btn/test/q2-btn-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-helpers.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-types.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar-validation.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.css +2 -0
- package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-calendar/q2-month-picker.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/helpers-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-month-picker-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-calendar/test/validation-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/collection/components/q2-card/test/q2-card-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel/q2-carousel.js.map +1 -1
- package/dist/collection/components/q2-carousel/test/q2-carousel-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/test/q2-carousel-pane-test.spec.js.map +1 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
- package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
- package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
- package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
- package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
- package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.css +99 -62
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +19 -19
- package/dist/collection/components/q2-checkbox/q2-checkbox.js.map +1 -1
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js +227 -208
- package/dist/collection/components/q2-checkbox/test/q2-checkbox-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +8 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/test/q2-checkbox-group-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
- package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
- package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-detail/q2-detail.js.map +1 -1
- package/dist/collection/components/q2-detail/test/q2-detail-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
- package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
- package/dist/collection/components/q2-editable-field/test/q2-editable-field-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/q2-example.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -1
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -1
- package/dist/collection/components/q2-file-picker/q2-file-picker.css +2 -0
- package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
- package/dist/collection/components/q2-form/q2-form.css +93 -0
- package/dist/collection/components/q2-form/q2-form.js +44 -0
- package/dist/collection/components/q2-form/q2-form.js.map +1 -0
- package/dist/collection/components/q2-form/test/q2-form-test.e2e.js +93 -0
- package/dist/collection/components/q2-form/test/q2-form-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js.map +1 -1
- package/dist/collection/components/q2-formatted-text/test/q2-formatted-text-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon-types.js.map +1 -1
- package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
- package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js +1 -352
- package/dist/collection/components/q2-icon/test/q2-icon-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js +464 -0
- package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alpha.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/credit-card.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/generic.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/number.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/numeric.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input-types.js.map +1 -1
- package/dist/collection/components/q2-input/q2-input.css +3 -2
- package/dist/collection/components/q2-input/q2-input.js +4 -3
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-credit-card-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js +10 -0
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -1
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-item/q2-item.js.map +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-item/test/q2-item-test.spec.js.map +1 -1
- package/dist/collection/components/q2-legend/q2-legend.css +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js.map +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-legend/test/q2-legend-test.spec.js.map +1 -1
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.spec.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +1 -1
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/collection/components/q2-list/test/q2-list-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js.map +1 -1
- package/dist/collection/components/q2-loading/skeleton/shapes.js.map +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-element-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loading/test/q2-loading-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +19 -37
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +1 -7
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +140 -82
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -1
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-message/q2-message.js.map +1 -1
- package/dist/collection/components/q2-message/test/q2-message-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-modal/q2-modal.css +223 -0
- package/dist/collection/components/q2-modal/q2-modal.js +470 -0
- package/dist/collection/components/q2-modal/q2-modal.js.map +1 -0
- package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js +102 -0
- package/dist/collection/components/q2-modal/test/q2-modal-test.e2e.js.map +1 -0
- package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js +127 -0
- package/dist/collection/components/q2-modal/test/q2-modal-test.spec.js.map +1 -0
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-optgroup/test/q2-optgroup-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.js +22 -24
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +32 -5
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js +137 -19
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-option-list/test/q2-option-list-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-option-list/test/q2-option-list.spec.js.map +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js +1 -1
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js.map +1 -1
- package/dist/collection/components/q2-radio/test/q2-radio-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +4 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js.map +1 -1
- package/dist/collection/components/q2-relative-time/test/q2-relative-time-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +2 -2
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.e2e.js.map +1 -1
- package/dist/collection/components/q2-resize-observer/test/q2-resize-observer.spec.js.map +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-section/test/q2-section-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.css +2 -2
- package/dist/collection/components/q2-select/q2-select.js +15 -4
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +5 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js +85 -0
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -0
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper/test/q2-stepper-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/test/q2-stepper-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tab-container/test/q2-tab-container-test.spec.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/test/q2-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tag/q2-tag.css +9 -0
- package/dist/collection/components/q2-tag/q2-tag.js +65 -15
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +131 -341
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js +719 -0
- package/dist/collection/components/q2-tag/test/q2-tag-test.spec.js.map +1 -0
- package/dist/collection/components/q2-textarea/q2-textarea.css +2 -2
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
- package/dist/collection/components/q2-textarea/test/q2-textarea-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.css +0 -1
- package/dist/collection/components/q2-tooltip/q2-tooltip.js.map +1 -1
- package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.e2e.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane-types.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js.map +1 -1
- package/dist/collection/components/tecton-tab-pane/test/tecton-tab-pane-test.e2e.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/action-sheet.js.map +1 -1
- package/dist/collection/utils/charting.js.map +1 -1
- package/dist/collection/utils/helpers.js +1 -25
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js +2 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/utils/mirror-emit.js.map +1 -1
- package/dist/collection/utils/sanitize-html-string.js.map +1 -1
- package/dist/collection/utils/sanitize-regex-string.js.map +1 -1
- package/dist/collection/utils/test/action-sheet-test.e2e.js.map +1 -1
- package/dist/collection/utils/test/index.spec.js.map +1 -1
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +2 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -116
- package/dist/components/q2-action-group.js.map +1 -1
- package/dist/components/q2-action-group2.js +151 -0
- package/dist/components/q2-action-group2.js.map +1 -0
- package/dist/components/q2-action-sheet.js +2 -1362
- package/dist/components/q2-action-sheet.js.map +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-badge2.js +54 -16
- package/dist/components/q2-badge2.js.map +1 -1
- package/dist/components/q2-btn2.js +1 -1
- package/dist/components/q2-btn2.js.map +1 -1
- package/dist/components/q2-calendar.js +1 -1
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-chart-area.js +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +1 -1
- package/dist/components/q2-checkbox-group.js +1 -1
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-checkbox2.js +20 -20
- package/dist/components/q2-checkbox2.js.map +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-file-picker.js +1 -1
- package/dist/components/q2-file-picker.js.map +1 -1
- package/dist/components/q2-form.d.ts +11 -0
- package/dist/components/q2-form.js +39 -0
- package/dist/components/q2-form.js.map +1 -0
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-input2.js +5 -4
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item2.js +1 -1
- package/dist/components/q2-legend2.js +2 -2
- package/dist/components/q2-legend2.js.map +1 -1
- package/dist/components/q2-list2.js +1 -1
- package/dist/components/q2-loc.js +22 -33
- package/dist/components/q2-loc.js.map +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-modal.d.ts +11 -0
- package/dist/components/q2-modal.js +231 -0
- package/dist/components/q2-modal.js.map +1 -0
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +1 -1
- package/dist/components/q2-option2.js +23 -25
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +3 -3
- package/dist/components/q2-pill.js +1 -1
- package/dist/components/q2-popover2.js +1 -1
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +2 -2
- package/dist/components/q2-resize-observer2.js.map +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +9 -5
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +1 -1
- package/dist/components/q2-stepper.js +1 -1
- package/dist/components/q2-tab-container.js +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +50 -8
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +2 -2
- package/dist/components/q2-textarea.js.map +1 -1
- package/dist/components/q2-tooltip.js +1 -1
- package/dist/components/q2-tooltip.js.map +1 -1
- package/dist/components/sanitize-html-string.js +1364 -0
- package/dist/components/sanitize-html-string.js.map +1 -0
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/{index-504f1a9e.js → index-f2a66217.js} +3 -2
- package/dist/esm/index-f2a66217.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-group.entry.js +45 -14
- package/dist/esm/q2-action-group.entry.js.map +1 -1
- package/dist/esm/q2-action-sheet.entry.js +3 -1363
- package/dist/esm/q2-action-sheet.entry.js.map +1 -1
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-badge_7.entry.js +59 -22
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +2 -2
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +3 -3
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +2 -2
- package/dist/esm/q2-chart-bar.entry.js +2 -2
- package/dist/esm/q2-chart-donut.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +21 -21
- package/dist/esm/q2-checkbox.entry.js.map +1 -1
- 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 +2 -2
- 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 +1 -1
- package/dist/esm/q2-file-picker.entry.js +2 -2
- package/dist/esm/q2-file-picker.entry.js.map +1 -1
- package/dist/esm/q2-form.entry.js +19 -0
- package/dist/esm/q2-form.entry.js.map +1 -0
- package/dist/esm/q2-formatted-text.entry.js +1 -1
- package/dist/esm/q2-item_3.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-legend.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +21 -27
- package/dist/esm/q2-loc.entry.js.map +1 -1
- package/dist/esm/q2-message.entry.js +2 -2
- package/dist/esm/q2-modal.entry.js +168 -0
- package/dist/esm/q2-modal.entry.js.map +1 -0
- package/dist/esm/q2-month-picker.entry.js +3 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option-list_2.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +22 -24
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +4 -4
- package/dist/esm/q2-pill.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js.map +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-resize-observer.entry.js +2 -2
- package/dist/esm/q2-resize-observer.entry.js.map +1 -1
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +10 -6
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tag.entry.js +51 -9
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-textarea.entry.js.map +1 -1
- package/dist/esm/q2-tooltip.entry.js +2 -2
- package/dist/esm/q2-tooltip.entry.js.map +1 -1
- package/dist/esm/sanitize-html-string-735c19f5.js +1364 -0
- package/dist/esm/sanitize-html-string-735c19f5.js.map +1 -0
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/jest.setup.js +22 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/q2-tecton-elements/{index-504f1a9e.js → index-f2a66217.js} +9 -8
- package/dist/q2-tecton-elements/index-f2a66217.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +49 -17
- package/dist/q2-tecton-elements/q2-action-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +121 -1331
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +199 -164
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-calendar.entry.js +180 -180
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +92 -88
- package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +39 -39
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-form.entry.js +25 -0
- package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-item_3.entry.js +22 -22
- package/dist/q2-tecton-elements/q2-legend.entry.js +6 -6
- package/dist/q2-tecton-elements/q2-legend.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +23 -32
- package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-message.entry.js +21 -21
- package/dist/q2-tecton-elements/q2-modal.entry.js +226 -0
- package/dist/q2-tecton-elements/q2-modal.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +8 -8
- package/dist/q2-tecton-elements/q2-option-list_2.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-option.entry.js +38 -38
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
- package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +28 -28
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +5 -2
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
- package/dist/q2-tecton-elements/q2-select.entry.js +13 -9
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
- package/dist/q2-tecton-elements/q2-stepper.entry.js +22 -22
- package/dist/q2-tecton-elements/q2-tag.entry.js +84 -45
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +4 -4
- package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
- package/dist/q2-tecton-elements/q2-tooltip.entry.js.map +1 -1
- package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js +1214 -0
- package/dist/q2-tecton-elements/sanitize-html-string-735c19f5.js.map +1 -0
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +1 -0
- package/dist/types/components/q2-action-group/q2-action-group.d.ts +5 -2
- package/dist/types/components/q2-badge/q2-badge.d.ts +17 -3
- package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +3 -3
- package/dist/types/components/q2-form/q2-form.d.ts +6 -0
- package/dist/types/components/q2-loc/q2-loc.d.ts +5 -5
- package/dist/types/components/q2-modal/q2-modal.d.ts +80 -0
- package/dist/types/components/q2-option/q2-option.d.ts +4 -4
- package/dist/types/components/q2-select/q2-select.d.ts +1 -0
- package/dist/types/components/q2-tag/q2-tag.d.ts +19 -0
- package/dist/types/components.d.ts +182 -6
- package/dist/types/util.d.ts +1 -8
- package/dist/types/utils/helpers.d.ts +1 -13
- package/dist/types/utils/index.d.ts +3 -2
- package/package.json +3 -3
- package/dist/cjs/index-76f63767.js.map +0 -1
- package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js +0 -166
- package/dist/collection/components/q2-action-group/test/q2-action-group.e2e.js.map +0 -1
- package/dist/collection/components/q2-action-group/test/q2-action-group.spec.js.map +0 -1
- package/dist/esm/index-504f1a9e.js.map +0 -1
- package/dist/q2-tecton-elements/index-504f1a9e.js.map +0 -1
|
@@ -1,119 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as nextPaint } from './index2.js';
|
|
3
|
-
import { d as defineCustomElement$2 } from './q2-resize-observer2.js';
|
|
4
|
-
|
|
5
|
-
const q2ActionGroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host(:not([hidden])){display:block;width:100%;--comp-default-action-group-margin:var(--app-scale-5x, 25px) 0;margin:var(--tct-action-group-margin, var(--comp-default-action-group-margin))}.container{--comp-default-action-group-gap:var(--tct-action-group-gap, var(--app-scale-2x, 10px));--comp-link-gap:var(--tct-action-group-gap, var(--app-scale-4x, 20px));width:100%;display:flex;gap:var(--comp-default-action-group-gap)}.container.vertical{flex-direction:var(--tct-action-group-vertical-flex-direction, column)}.container.vertical ::slotted(q2-btn){display:block;width:100%}.container.horizontal{justify-content:var(--tct-action-group-horizontal-justify-content, flex-start);flex-direction:var(--tct-action-group-horizontal-flex-direction, row-reverse);align-items:var(--tct-action-group-horizontal-align-items, center);flex-wrap:var(--tct-action-group-horizontal-flex-wrap, wrap)}.container.horizontal.full-width{flex-wrap:nowrap}.container.horizontal.has-q2-link{gap:var(--comp-link-gap)}.container.horizontal.has-q2-link ::slotted(q2-link){position:relative}.container.horizontal.has-q2-link ::slotted(q2-link:not(:last-child))::before{content:\"\";display:inline-block;width:0;height:28px;border-left:1px solid var(--t-gray-12, #d9d9d9);position:absolute;left:calc(var(--comp-link-gap) * -0.5)}.container.vertical ::slotted(q2-btn),.container.horizontal.full-width ::slotted(q2-btn){display:block;width:100%}";
|
|
6
|
-
const Q2ActionGroupStyle0 = q2ActionGroupCss;
|
|
7
|
-
|
|
8
|
-
const Q2ActionGroup$1 = /*@__PURE__*/ proxyCustomElement(class Q2ActionGroup extends HTMLElement {
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
this.__registerHost();
|
|
12
|
-
this.__attachShadow();
|
|
13
|
-
this.checkForQ2Link = () => {
|
|
14
|
-
const links = this.hostElement.querySelectorAll('q2-link');
|
|
15
|
-
this.hasQ2Link = links.length > 0;
|
|
16
|
-
};
|
|
17
|
-
this.handleResize = (event) => {
|
|
18
|
-
const width = event.detail.entries[0].contentRect.width;
|
|
19
|
-
const shouldBeVertical = this.orientationThreshold > width;
|
|
20
|
-
this.autoOrientation = shouldBeVertical ? 'vertical' : 'horizontal';
|
|
21
|
-
};
|
|
22
|
-
this.initMutationObserver = () => {
|
|
23
|
-
const observer = new MutationObserver(this.onMutationObserved);
|
|
24
|
-
observer.observe(this.hostElement, { childList: true, subtree: true });
|
|
25
|
-
this.mutationObserver = observer;
|
|
26
|
-
};
|
|
27
|
-
this.onMutationObserved = () => {
|
|
28
|
-
this.checkForQ2Link();
|
|
29
|
-
};
|
|
30
|
-
this.autoOrientation = 'vertical';
|
|
31
|
-
this.hasQ2Link = false;
|
|
32
|
-
this.fullWidth = undefined;
|
|
33
|
-
this.orientation = 'auto';
|
|
34
|
-
this.orientationThreshold = 440;
|
|
35
|
-
}
|
|
36
|
-
// #endregion
|
|
37
|
-
// #region Component Lifecycle Events
|
|
38
|
-
disconnectedCallback() {
|
|
39
|
-
if (this.mutationObserver) {
|
|
40
|
-
this.mutationObserver.disconnect();
|
|
41
|
-
this.mutationObserver = null;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
componentDidLoad() {
|
|
45
|
-
this.checkForQ2Link();
|
|
46
|
-
if ('MutationObserver' in window)
|
|
47
|
-
this.initMutationObserver();
|
|
48
|
-
}
|
|
49
|
-
// #endregion
|
|
50
|
-
// #region Watchers
|
|
51
|
-
toggleHiddenForOneFrame() {
|
|
52
|
-
const { container } = this;
|
|
53
|
-
container.style.display = 'none';
|
|
54
|
-
// Fixes Safari not making the buttons fill the container when going from horizontal and full-width to vertical
|
|
55
|
-
nextPaint(() => nextPaint(() => {
|
|
56
|
-
container.style.display = null;
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
// #endregion
|
|
60
|
-
// #region Local Methods
|
|
61
|
-
get computedOrientation() {
|
|
62
|
-
let orientation = this.orientation;
|
|
63
|
-
if (!orientation)
|
|
64
|
-
orientation = 'auto';
|
|
65
|
-
return orientation === 'auto' ? this.autoOrientation : orientation;
|
|
66
|
-
}
|
|
67
|
-
get shouldDisableResizeObserver() {
|
|
68
|
-
let orientation = this.orientation;
|
|
69
|
-
if (!orientation)
|
|
70
|
-
orientation = 'auto';
|
|
71
|
-
return orientation !== 'auto';
|
|
72
|
-
}
|
|
73
|
-
// #endregion
|
|
74
|
-
// #region Render Methods
|
|
75
|
-
render() {
|
|
76
|
-
const { shouldDisableResizeObserver, computedOrientation, fullWidth, hasQ2Link } = this;
|
|
77
|
-
const containerClassNames = ['container'];
|
|
78
|
-
if (fullWidth && computedOrientation === 'horizontal')
|
|
79
|
-
containerClassNames.push('full-width');
|
|
80
|
-
if (hasQ2Link)
|
|
81
|
-
containerClassNames.push('has-q2-link');
|
|
82
|
-
containerClassNames.push(computedOrientation);
|
|
83
|
-
return (h("q2-resize-observer", { key: '4a0d43a1ad7512a7b9864f20e5728a83449bf655', onTctResize: this.handleResize, disabled: shouldDisableResizeObserver }, h("div", { key: '5641b2bd03ecbdf8e6d64a01aeb678fada71d56e', ref: el => (this.container = el), class: containerClassNames.join(' '), role: "group" }, h("slot", { key: '22759c9b188a7605945bd351992889e26aa423c1' }))));
|
|
84
|
-
}
|
|
85
|
-
get hostElement() { return this; }
|
|
86
|
-
static get watchers() { return {
|
|
87
|
-
"orientation": ["toggleHiddenForOneFrame"]
|
|
88
|
-
}; }
|
|
89
|
-
static get style() { return Q2ActionGroupStyle0; }
|
|
90
|
-
}, [1, "q2-action-group", {
|
|
91
|
-
"fullWidth": [516, "full-width"],
|
|
92
|
-
"orientation": [513],
|
|
93
|
-
"orientationThreshold": [2, "orientation-threshold"],
|
|
94
|
-
"autoOrientation": [32],
|
|
95
|
-
"hasQ2Link": [32]
|
|
96
|
-
}, undefined, {
|
|
97
|
-
"orientation": ["toggleHiddenForOneFrame"]
|
|
98
|
-
}]);
|
|
99
|
-
function defineCustomElement$1() {
|
|
100
|
-
if (typeof customElements === "undefined") {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const components = ["q2-action-group", "q2-resize-observer"];
|
|
104
|
-
components.forEach(tagName => { switch (tagName) {
|
|
105
|
-
case "q2-action-group":
|
|
106
|
-
if (!customElements.get(tagName)) {
|
|
107
|
-
customElements.define(tagName, Q2ActionGroup$1);
|
|
108
|
-
}
|
|
109
|
-
break;
|
|
110
|
-
case "q2-resize-observer":
|
|
111
|
-
if (!customElements.get(tagName)) {
|
|
112
|
-
defineCustomElement$2();
|
|
113
|
-
}
|
|
114
|
-
break;
|
|
115
|
-
} });
|
|
116
|
-
}
|
|
1
|
+
import { Q as Q2ActionGroup$1, d as defineCustomElement$1 } from './q2-action-group2.js';
|
|
117
2
|
|
|
118
3
|
const Q2ActionGroup = Q2ActionGroup$1;
|
|
119
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"q2-action-group.js","mappings":"
|
|
1
|
+
{"file":"q2-action-group.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { n as nextPaint } from './index2.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './q2-resize-observer2.js';
|
|
4
|
+
|
|
5
|
+
const q2ActionGroupCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host(:not([hidden])){display:block;width:100%;--comp-default-action-group-margin:var(--app-scale-5x, 25px) 0;margin:var(--tct-action-group-margin, var(--comp-default-action-group-margin))}.container{--comp-default-action-group-gap:var(--tct-action-group-gap, var(--app-scale-2x, 10px));--comp-link-gap:var(--tct-action-group-gap, var(--app-scale-4x, 20px));width:100%;display:flex;gap:var(--comp-default-action-group-gap)}.container.has-q2-link{gap:var(--comp-link-gap)}.container.has-q2-btn-coin{column-gap:var(--tct-action-group-coin-column-gap, var(--app-scale-1x, 5px));row-gap:var(--tct-action-group-coin-row-gap, var(--app-scale-5x, 25px))}.container.vertical{flex-direction:var(--tct-action-group-vertical-flex-direction, column)}.container.vertical ::slotted(q2-btn){display:block;width:100%}.container.horizontal{justify-content:var(--tct-action-group-horizontal-justify-content, flex-start);flex-direction:var(--tct-action-group-horizontal-flex-direction, row-reverse);align-items:var(--tct-action-group-horizontal-align-items, center);flex-wrap:var(--tct-action-group-horizontal-flex-wrap, wrap)}.container.horizontal.full-width{flex-wrap:nowrap}.container.horizontal.has-q2-btn-coin{justify-content:var(--tct-action-group-coin-horizontal-justify-content, center)}.container.horizontal ::slotted(q2-link){position:relative}.container.horizontal ::slotted(q2-link:not(:last-child))::before{content:\"\";display:inline-block;width:0;height:28px;border-left:1px solid var(--t-gray-12, #d9d9d9);position:absolute;left:calc(var(--comp-link-gap) * -0.5)}.container.vertical ::slotted(q2-btn),.container.horizontal.full-width ::slotted(q2-btn){display:block;width:100%}";
|
|
6
|
+
const Q2ActionGroupStyle0 = q2ActionGroupCss;
|
|
7
|
+
|
|
8
|
+
const Q2ActionGroup = /*@__PURE__*/ proxyCustomElement(class Q2ActionGroup extends HTMLElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
11
|
+
this.__registerHost();
|
|
12
|
+
this.__attachShadow();
|
|
13
|
+
this.filterSlottedElements = () => {
|
|
14
|
+
if (!('HTMLSlotElement' in window))
|
|
15
|
+
return;
|
|
16
|
+
const { computedOrientation } = this;
|
|
17
|
+
const slot = this.hostElement.shadowRoot.querySelector('slot');
|
|
18
|
+
const assignedElements = Array.from(slot === null || slot === void 0 ? void 0 : slot.assignedElements({ flatten: true }));
|
|
19
|
+
if (!assignedElements.length)
|
|
20
|
+
return;
|
|
21
|
+
// Remove all elements that are not Q2-BTN or Q2-LINK
|
|
22
|
+
const approvedElements = ['Q2-BTN', 'Q2-LINK'];
|
|
23
|
+
const { tagName, isCoinIntent } = assignedElements.reduce((acc, el) => {
|
|
24
|
+
if (!acc.tagName && approvedElements.includes(el.tagName)) {
|
|
25
|
+
acc.tagName = el.tagName;
|
|
26
|
+
acc.isCoinIntent = el.getAttribute('intent') === 'coin';
|
|
27
|
+
}
|
|
28
|
+
const intent = el.getAttribute('intent');
|
|
29
|
+
const tagNameMismatch = acc.tagName !== el.tagName;
|
|
30
|
+
const coinIntentMismatch = acc.isCoinIntent && intent !== 'coin';
|
|
31
|
+
if (tagNameMismatch || coinIntentMismatch)
|
|
32
|
+
el.remove();
|
|
33
|
+
return acc;
|
|
34
|
+
}, { tagName: null, isCoinIntent: false });
|
|
35
|
+
const incompatibleOrientation = computedOrientation === 'vertical' && (tagName === 'Q2-LINK' || isCoinIntent);
|
|
36
|
+
if (incompatibleOrientation) {
|
|
37
|
+
console.warn('Q2-ACTION-GROUP: "Vertical" orientation is not supported for Q2-LINK or Q2-BTN with intent="coin". Orientation will be set to "horizontal".');
|
|
38
|
+
this.orientation = 'horizontal';
|
|
39
|
+
}
|
|
40
|
+
const combinedTagName = isCoinIntent ? `${tagName}-coin` : tagName;
|
|
41
|
+
this.slottedTagName = combinedTagName.toLowerCase();
|
|
42
|
+
};
|
|
43
|
+
this.handleResize = (event) => {
|
|
44
|
+
const width = event.detail.entries[0].contentRect.width;
|
|
45
|
+
const shouldBeVertical = this.orientationThreshold > width;
|
|
46
|
+
this.autoOrientation = shouldBeVertical ? 'vertical' : 'horizontal';
|
|
47
|
+
};
|
|
48
|
+
this.initMutationObserver = () => {
|
|
49
|
+
if (!('MutationObserver' in window))
|
|
50
|
+
return;
|
|
51
|
+
const observer = new MutationObserver(this.onMutationObserved);
|
|
52
|
+
observer.observe(this.hostElement, { childList: true, subtree: true });
|
|
53
|
+
this.mutationObserver = observer;
|
|
54
|
+
};
|
|
55
|
+
this.onMutationObserved = () => {
|
|
56
|
+
this.filterSlottedElements();
|
|
57
|
+
};
|
|
58
|
+
this.autoOrientation = 'vertical';
|
|
59
|
+
this.slottedTagName = undefined;
|
|
60
|
+
this.fullWidth = undefined;
|
|
61
|
+
this.orientation = 'auto';
|
|
62
|
+
this.orientationThreshold = 440;
|
|
63
|
+
}
|
|
64
|
+
// #endregion
|
|
65
|
+
// #region Component Lifecycle Events
|
|
66
|
+
disconnectedCallback() {
|
|
67
|
+
if (this.mutationObserver) {
|
|
68
|
+
this.mutationObserver.disconnect();
|
|
69
|
+
this.mutationObserver = null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
componentDidLoad() {
|
|
73
|
+
this.filterSlottedElements();
|
|
74
|
+
this.initMutationObserver();
|
|
75
|
+
}
|
|
76
|
+
// #endregion
|
|
77
|
+
// #region Watchers
|
|
78
|
+
toggleHiddenForOneFrame() {
|
|
79
|
+
const { container } = this;
|
|
80
|
+
container.style.display = 'none';
|
|
81
|
+
// Fixes Safari not making the buttons fill the container when going from horizontal and full-width to vertical
|
|
82
|
+
nextPaint(() => nextPaint(() => {
|
|
83
|
+
container.style.display = null;
|
|
84
|
+
this.filterSlottedElements();
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
// #endregion
|
|
88
|
+
// #region Local Methods
|
|
89
|
+
get computedOrientation() {
|
|
90
|
+
let orientation = this.orientation;
|
|
91
|
+
if (!orientation)
|
|
92
|
+
orientation = 'auto';
|
|
93
|
+
return orientation === 'auto' ? this.autoOrientation : orientation;
|
|
94
|
+
}
|
|
95
|
+
get shouldDisableResizeObserver() {
|
|
96
|
+
let orientation = this.orientation;
|
|
97
|
+
if (!orientation)
|
|
98
|
+
orientation = 'auto';
|
|
99
|
+
// these are not supported in a 'vertical' orientation, so we will disable resizing
|
|
100
|
+
if (['q2-btn-coin', 'q2-link'].includes(this.slottedTagName))
|
|
101
|
+
return true;
|
|
102
|
+
return orientation !== 'auto';
|
|
103
|
+
}
|
|
104
|
+
// #endregion
|
|
105
|
+
// #region Render Methods
|
|
106
|
+
render() {
|
|
107
|
+
const { shouldDisableResizeObserver, computedOrientation, fullWidth, slottedTagName } = this;
|
|
108
|
+
const containerClassNames = ['container'];
|
|
109
|
+
if (fullWidth && computedOrientation === 'horizontal')
|
|
110
|
+
containerClassNames.push('full-width');
|
|
111
|
+
if (slottedTagName)
|
|
112
|
+
containerClassNames.push(`has-${slottedTagName}`);
|
|
113
|
+
containerClassNames.push(computedOrientation);
|
|
114
|
+
return (h("q2-resize-observer", { key: '9618803e7048e8d1cb8e9a5e359788a349429d10', onTctResize: this.handleResize, disabled: shouldDisableResizeObserver }, h("div", { key: '5f9a2d2764a8d557cdb93e39efa4e2ba57a48c48', ref: el => (this.container = el), class: containerClassNames.join(' '), role: "group" }, h("slot", { key: 'e7517805b6e83d5660465e944608240abe4c2eb2' }))));
|
|
115
|
+
}
|
|
116
|
+
get hostElement() { return this; }
|
|
117
|
+
static get watchers() { return {
|
|
118
|
+
"orientation": ["toggleHiddenForOneFrame"]
|
|
119
|
+
}; }
|
|
120
|
+
static get style() { return Q2ActionGroupStyle0; }
|
|
121
|
+
}, [1, "q2-action-group", {
|
|
122
|
+
"fullWidth": [516, "full-width"],
|
|
123
|
+
"orientation": [513],
|
|
124
|
+
"orientationThreshold": [2, "orientation-threshold"],
|
|
125
|
+
"autoOrientation": [32],
|
|
126
|
+
"slottedTagName": [32]
|
|
127
|
+
}, undefined, {
|
|
128
|
+
"orientation": ["toggleHiddenForOneFrame"]
|
|
129
|
+
}]);
|
|
130
|
+
function defineCustomElement() {
|
|
131
|
+
if (typeof customElements === "undefined") {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const components = ["q2-action-group", "q2-resize-observer"];
|
|
135
|
+
components.forEach(tagName => { switch (tagName) {
|
|
136
|
+
case "q2-action-group":
|
|
137
|
+
if (!customElements.get(tagName)) {
|
|
138
|
+
customElements.define(tagName, Q2ActionGroup);
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
case "q2-resize-observer":
|
|
142
|
+
if (!customElements.get(tagName)) {
|
|
143
|
+
defineCustomElement$1();
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
} });
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export { Q2ActionGroup as Q, defineCustomElement as d };
|
|
150
|
+
|
|
151
|
+
//# sourceMappingURL=q2-action-group2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"q2-action-group2.js","mappings":"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","names":[],"sources":["src/components/q2-action-group/q2-action-group.scss?tag=q2-action-group&encapsulation=shadow","src/components/q2-action-group/q2-action-group.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host(:not([hidden])) {\n display: block;\n width: 100%;\n --comp-default-action-group-margin: #{var-list(--app-scale-5x, 25px)} 0;\n margin: var-list(--tct-action-group-margin, --comp-default-action-group-margin);\n}\n\n.container {\n --comp-default-action-group-gap: #{var-list(--tct-action-group-gap, --app-scale-2x, 10px)};\n --comp-link-gap: #{var-list(--tct-action-group-gap, --app-scale-4x, 20px)};\n width: 100%;\n display: flex;\n gap: var(--comp-default-action-group-gap);\n\n &.has-q2-link {\n gap: var(--comp-link-gap);\n }\n\n &.has-q2-btn-coin {\n column-gap: var-list(--tct-action-group-coin-column-gap, --app-scale-1x, 5px);\n row-gap: var-list(--tct-action-group-coin-row-gap, --app-scale-5x, 25px);\n }\n\n &.vertical {\n flex-direction: var-list(--tct-action-group-vertical-flex-direction, column);\n\n ::slotted(q2-btn) {\n display: block;\n width: 100%;\n }\n }\n\n &.horizontal {\n justify-content: var-list(--tct-action-group-horizontal-justify-content, flex-start);\n flex-direction: var-list(--tct-action-group-horizontal-flex-direction, row-reverse);\n align-items: var-list(--tct-action-group-horizontal-align-items, center);\n flex-wrap: var-list(--tct-action-group-horizontal-flex-wrap, wrap);\n\n &.full-width {\n flex-wrap: nowrap;\n }\n\n &.has-q2-btn-coin {\n justify-content: var(--tct-action-group-coin-horizontal-justify-content, center);\n }\n\n ::slotted(q2-link) {\n position: relative;\n }\n ::slotted(q2-link:not(:last-child))::before {\n content: '';\n display: inline-block;\n width: 0;\n height: 28px;\n border-left: 1px solid var(--t-gray-12, #d9d9d9);\n position: absolute;\n left: calc(var(--comp-link-gap) * -0.5);\n }\n }\n\n &.vertical,\n &.horizontal.full-width {\n ::slotted(q2-btn) {\n display: block;\n width: 100%;\n }\n }\n}\n","import { Q2ResizeObserverCustomEvent } from '@/components';\nimport { nextPaint } from '@/utils';\nimport { Component, ComponentInterface, h, Element, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'q2-action-group',\n styleUrl: 'q2-action-group.scss',\n shadow: true,\n})\nexport class Q2ActionGroup implements ComponentInterface {\n // #region Own Properties\n\n container: HTMLDivElement;\n mutationObserver: MutationObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n autoOrientation: 'vertical' | 'horizontal' = 'vertical';\n\n @State()\n slottedTagName: string;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Whether the buttons should take up the full width of the container when in horizontal orientation.\n *\n * @warning\n * This will prevent the buttons from wrapping when the container is too small to fit all buttons.\n */\n @Prop({ reflect: true })\n fullWidth: boolean;\n\n /**\n * The orientation of the buttons, which will override the auto orientation.\n *\n * @info\n * This will override and disable the auto determination of the orientation.\n * @warning\n * Vertical orientation is not supported for [Links](https://tecton.q2developer.com/design-system/q2-link/)\n * or `\"coin\"` [Buttons](https://tecton.q2developer.com/design-system/q2-btn/), and will be set to \"horizontal\".\n */\n @Prop({ reflect: true })\n orientation: 'auto' | 'vertical' | 'horizontal' = 'auto';\n\n /**\n * The width, in pixels, that determines whether to display the buttons in vertical or horizontal orientation\n *\n * @info\n * The component determines this based on the width of the element itself, not the browser window.\n */\n @Prop({ reflect: false })\n orientationThreshold: number = 440;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback(): void {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n }\n\n componentDidLoad() {\n this.filterSlottedElements();\n this.initMutationObserver();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('orientation')\n toggleHiddenForOneFrame() {\n const { container } = this;\n container.style.display = 'none';\n // Fixes Safari not making the buttons fill the container when going from horizontal and full-width to vertical\n nextPaint(() =>\n nextPaint(() => {\n container.style.display = null;\n this.filterSlottedElements();\n })\n );\n }\n\n // #endregion\n // #region Local Methods\n\n get computedOrientation(): 'vertical' | 'horizontal' {\n let orientation = this.orientation;\n if (!orientation) orientation = 'auto';\n return orientation === 'auto' ? this.autoOrientation : orientation;\n }\n\n get shouldDisableResizeObserver(): boolean {\n let orientation = this.orientation;\n if (!orientation) orientation = 'auto';\n // these are not supported in a 'vertical' orientation, so we will disable resizing\n if (['q2-btn-coin', 'q2-link'].includes(this.slottedTagName)) return true;\n return orientation !== 'auto';\n }\n\n filterSlottedElements = () => {\n if (!('HTMLSlotElement' in window)) return;\n const { computedOrientation } = this;\n const slot = this.hostElement.shadowRoot.querySelector('slot');\n const assignedElements = Array.from(slot?.assignedElements({ flatten: true }));\n if (!assignedElements.length) return;\n\n // Remove all elements that are not Q2-BTN or Q2-LINK\n const approvedElements = ['Q2-BTN', 'Q2-LINK'];\n const { tagName, isCoinIntent } = assignedElements.reduce(\n (acc, el) => {\n if (!acc.tagName && approvedElements.includes(el.tagName)) {\n acc.tagName = el.tagName;\n acc.isCoinIntent = el.getAttribute('intent') === 'coin';\n }\n const intent = el.getAttribute('intent');\n const tagNameMismatch = acc.tagName !== el.tagName;\n const coinIntentMismatch = acc.isCoinIntent && intent !== 'coin';\n\n if (tagNameMismatch || coinIntentMismatch) el.remove();\n\n return acc;\n },\n { tagName: null, isCoinIntent: false }\n );\n\n const incompatibleOrientation = computedOrientation === 'vertical' && (tagName === 'Q2-LINK' || isCoinIntent);\n if (incompatibleOrientation) {\n console.warn(\n 'Q2-ACTION-GROUP: \"Vertical\" orientation is not supported for Q2-LINK or Q2-BTN with intent=\"coin\". Orientation will be set to \"horizontal\".'\n );\n this.orientation = 'horizontal';\n }\n const combinedTagName = isCoinIntent ? `${tagName}-coin` : tagName;\n this.slottedTagName = combinedTagName.toLowerCase();\n };\n\n handleResize = (\n event: Q2ResizeObserverCustomEvent<{\n entries: ResizeObserverEntry[];\n }>\n ) => {\n const width = event.detail.entries[0].contentRect.width;\n const shouldBeVertical = this.orientationThreshold > width;\n this.autoOrientation = shouldBeVertical ? 'vertical' : 'horizontal';\n };\n\n initMutationObserver = () => {\n if (!('MutationObserver' in window)) return;\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true, subtree: true });\n this.mutationObserver = observer;\n };\n\n onMutationObserved = () => {\n this.filterSlottedElements();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { shouldDisableResizeObserver, computedOrientation, fullWidth, slottedTagName } = this;\n const containerClassNames = ['container'];\n if (fullWidth && computedOrientation === 'horizontal') containerClassNames.push('full-width');\n if (slottedTagName) containerClassNames.push(`has-${slottedTagName}`);\n containerClassNames.push(computedOrientation);\n\n return (\n <q2-resize-observer\n onTctResize={this.handleResize}\n disabled={shouldDisableResizeObserver}\n >\n <div\n ref={el => (this.container = el)}\n class={containerClassNames.join(' ')}\n role=\"group\"\n >\n <slot />\n </div>\n </q2-resize-observer>\n );\n }\n\n // #endregion\n}\n"],"version":3}
|