q2-tecton-elements 1.51.1 → 1.52.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/cjs/click-elsewhere_2.cjs.entry.js +16 -5
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-9aa4a776.js → index-07285783.js} +86 -2
- package/dist/cjs/index-07285783.js.map +1 -0
- package/dist/cjs/{index-14c3693c.js → index-e7e68b1e.js} +40 -5
- package/dist/cjs/index-e7e68b1e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
- package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
- package/dist/cjs/q2-badge_7.cjs.entry.js +49 -44
- package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +17 -20
- package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +4 -2
- package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
- package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
- package/dist/cjs/q2-chart-area.cjs.entry.js +16 -3
- package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js +19 -3
- package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -5
- package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +14 -2
- package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
- package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-detail.cjs.entry.js +3 -3
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +12 -14
- package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +7 -5
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
- package/dist/cjs/q2-example.cjs.entry.js +145 -0
- package/dist/cjs/q2-example.cjs.entry.js.map +1 -0
- package/dist/cjs/q2-formatted-text.cjs.entry.js +2 -2
- package/dist/cjs/q2-item.cjs.entry.js +3 -3
- package/dist/cjs/q2-legend.cjs.entry.js +2 -2
- package/dist/cjs/q2-link.cjs.entry.js +4 -4
- package/dist/cjs/q2-link.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +6 -7
- package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +52 -3
- package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +3 -3
- package/dist/cjs/q2-month-picker.cjs.entry.js +4 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js +5 -4
- package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +50 -33
- package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +11 -7
- package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +19 -18
- package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +3 -3
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
- package/dist/cjs/q2-section.cjs.entry.js +8 -6
- package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +6 -5
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +5 -4
- package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -4
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +6 -4
- package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +6 -4
- package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-tecton-elements.cjs.js +2 -2
- package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
- package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/{shapes-be198cc0.js → shapes-5d45fc11.js} +2 -2
- package/dist/cjs/{shapes-be198cc0.js.map → shapes-5d45fc11.js.map} +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
- package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
- package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
- package/dist/collection/components/q2-calendar/q2-calendar.js +16 -18
- 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/test/q2-calendar-test.e2e.js +27 -0
- package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-card/q2-card.js +2 -0
- package/dist/collection/components/q2-card/q2-card.js.map +1 -1
- package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
- package/dist/collection/components/q2-chart-area/q2-chart-area.js +42 -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 +15 -0
- 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-donut/q2-chart-donut.js +41 -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 +11 -0
- package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +30 -23
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +4 -3
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +37 -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 +34 -23
- 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 +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 +6 -4
- 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-dropdown/q2-dropdown.css +5 -0
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +10 -4
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +59 -14
- 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.css +29 -11
- package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +9 -11
- 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 +108 -74
- 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 +1 -1
- package/dist/collection/components/q2-example/q2-example.css +66 -0
- package/dist/collection/components/q2-example/q2-example.js +312 -0
- package/dist/collection/components/q2-example/q2-example.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js +27 -0
- package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js +126 -0
- package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -0
- package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
- package/dist/collection/components/q2-input/formatting/alpha.spec.js +10 -0
- package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js +20 -0
- package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/date.js +1 -1
- package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/date.spec.js +17 -0
- package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js +32 -0
- package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js +16 -0
- package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/postal.js +1 -1
- package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
- package/dist/collection/components/q2-input/formatting/postal.spec.js +28 -0
- package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js +7 -0
- package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -0
- package/dist/collection/components/q2-input/q2-input.js +58 -44
- package/dist/collection/components/q2-input/q2-input.js.map +1 -1
- package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +259 -2106
- 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 +4035 -0
- package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -0
- package/dist/collection/components/q2-item/q2-item.js +1 -1
- package/dist/collection/components/q2-legend/q2-legend.js +1 -1
- package/dist/collection/components/q2-link/q2-link.css +17 -20
- package/dist/collection/components/q2-link/q2-link.js +2 -2
- package/dist/collection/components/q2-link/q2-link.js.map +1 -1
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +6 -6
- package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-list/q2-list.js +4 -5
- package/dist/collection/components/q2-list/q2-list.js.map +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +66 -4
- package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
- package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +19 -30
- 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 +164 -0
- package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -0
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -2
- package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
- package/dist/collection/components/q2-option/q2-option.css +1 -1
- package/dist/collection/components/q2-option/q2-option.js +57 -34
- package/dist/collection/components/q2-option/q2-option.js.map +1 -1
- package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +110 -106
- 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 +532 -0
- package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -0
- package/dist/collection/components/q2-pagination/q2-pagination.js +9 -5
- package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
- package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +18 -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 +18 -17
- package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +128 -57
- package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-popover/q2-popover.js +17 -4
- package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
- package/dist/collection/components/q2-radio/q2-radio.js +1 -1
- package/dist/collection/components/q2-radio-group/q2-radio-group.css +19 -9
- package/dist/collection/components/q2-radio-group/q2-radio-group.js +2 -2
- package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +6 -4
- package/dist/collection/components/q2-section/q2-section.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +5 -3
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +123 -62
- package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js +4 -2
- package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -2
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +46 -2
- 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 +26 -0
- 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 +4 -3
- package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +5 -2
- package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +55 -4
- package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
- package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
- package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
- package/dist/collection/utils/helpers.js +63 -41
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/index.js +83 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +84 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/q2-action-group.js +1 -1
- package/dist/components/q2-action-sheet.js +1 -1
- package/dist/components/q2-avatar2.js +1 -1
- package/dist/components/q2-calendar.js +16 -18
- package/dist/components/q2-calendar.js.map +1 -1
- package/dist/components/q2-card.js +2 -0
- package/dist/components/q2-card.js.map +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-chart-area.js +16 -2
- package/dist/components/q2-chart-area.js.map +1 -1
- package/dist/components/q2-chart-bar.js +1 -1
- package/dist/components/q2-chart-donut.js +19 -2
- package/dist/components/q2-chart-donut.js.map +1 -1
- package/dist/components/q2-checkbox-group.js +5 -4
- package/dist/components/q2-checkbox-group.js.map +1 -1
- package/dist/components/q2-currency.js +15 -2
- package/dist/components/q2-currency.js.map +1 -1
- package/dist/components/q2-data-table.js +1 -1
- package/dist/components/q2-data-table.js.map +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-dropdown-item2.js +12 -26
- package/dist/components/q2-dropdown-item2.js.map +1 -1
- package/dist/components/q2-dropdown.js +6 -3
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-example.d.ts +11 -0
- package/dist/components/q2-example.js +170 -0
- package/dist/components/q2-example.js.map +1 -0
- package/dist/components/q2-formatted-text.js +1 -1
- package/dist/components/q2-input2.js +41 -37
- package/dist/components/q2-input2.js.map +1 -1
- package/dist/components/q2-item.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-link.js +3 -3
- package/dist/components/q2-link.js.map +1 -1
- package/dist/components/q2-list.js +4 -5
- package/dist/components/q2-list.js.map +1 -1
- package/dist/components/q2-loc.js +55 -2
- package/dist/components/q2-loc.js.map +1 -1
- package/dist/components/q2-message2.js +1 -1
- package/dist/components/q2-month-picker.js +2 -2
- package/dist/components/q2-optgroup2.js +3 -2
- package/dist/components/q2-optgroup2.js.map +1 -1
- package/dist/components/q2-option-list2.js +1 -1
- package/dist/components/q2-option2.js +52 -33
- package/dist/components/q2-option2.js.map +1 -1
- package/dist/components/q2-pagination.js +9 -5
- package/dist/components/q2-pagination.js.map +1 -1
- package/dist/components/q2-pill.js +18 -17
- package/dist/components/q2-pill.js.map +1 -1
- package/dist/components/q2-popover2.js +16 -4
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +3 -3
- package/dist/components/q2-radio-group.js.map +1 -1
- package/dist/components/q2-radio.js +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-resize-observer2.js +1 -1
- package/dist/components/q2-section.js +6 -4
- package/dist/components/q2-section.js.map +1 -1
- package/dist/components/q2-select2.js +6 -4
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +3 -2
- package/dist/components/q2-stepper-pane.js.map +1 -1
- package/dist/components/q2-stepper-vertical.js +16 -3
- package/dist/components/q2-stepper-vertical.js.map +1 -1
- package/dist/components/q2-stepper.js +4 -2
- package/dist/components/q2-stepper.js.map +1 -1
- package/dist/components/q2-tab-container.js +4 -3
- package/dist/components/q2-tab-container.js.map +1 -1
- package/dist/components/q2-tab-pane.js +1 -1
- package/dist/components/q2-tag.js +5 -2
- package/dist/components/q2-tag.js.map +1 -1
- package/dist/components/q2-textarea.js +1 -1
- package/dist/components/tecton-tab-pane.js +2 -2
- package/dist/esm/click-elsewhere_2.entry.js +16 -5
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-1e1ce94e.js → index-7a5365e2.js} +40 -5
- package/dist/esm/index-7a5365e2.js.map +1 -0
- package/dist/esm/{index-844fc010.js → index-d18e2a20.js} +86 -3
- package/dist/esm/index-d18e2a20.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/q2-action-group.entry.js +2 -2
- package/dist/esm/q2-action-sheet.entry.js +3 -3
- package/dist/esm/q2-avatar.entry.js +2 -2
- package/dist/esm/q2-badge_7.entry.js +49 -44
- package/dist/esm/q2-badge_7.entry.js.map +1 -1
- package/dist/esm/q2-calendar.entry.js +17 -20
- package/dist/esm/q2-calendar.entry.js.map +1 -1
- package/dist/esm/q2-card.entry.js +4 -2
- package/dist/esm/q2-card.entry.js.map +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +4 -4
- package/dist/esm/q2-carousel.entry.js +2 -2
- package/dist/esm/q2-chart-area.entry.js +16 -3
- package/dist/esm/q2-chart-area.entry.js.map +1 -1
- package/dist/esm/q2-chart-bar.entry.js +3 -3
- package/dist/esm/q2-chart-donut.entry.js +19 -3
- package/dist/esm/q2-chart-donut.entry.js.map +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +6 -5
- package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
- package/dist/esm/q2-checkbox.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +14 -2
- package/dist/esm/q2-currency.entry.js.map +1 -1
- package/dist/esm/q2-data-table.entry.js +3 -3
- package/dist/esm/q2-data-table.entry.js.map +1 -1
- package/dist/esm/q2-detail.entry.js +3 -3
- package/dist/esm/q2-dropdown-item.entry.js +12 -14
- package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
- package/dist/esm/q2-dropdown.entry.js +7 -5
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +3 -3
- package/dist/esm/q2-example.entry.js +141 -0
- package/dist/esm/q2-example.entry.js.map +1 -0
- package/dist/esm/q2-formatted-text.entry.js +2 -2
- package/dist/esm/q2-item.entry.js +3 -3
- package/dist/esm/q2-legend.entry.js +2 -2
- package/dist/esm/q2-link.entry.js +4 -4
- package/dist/esm/q2-link.entry.js.map +1 -1
- package/dist/esm/q2-list.entry.js +6 -7
- package/dist/esm/q2-list.entry.js.map +1 -1
- package/dist/esm/q2-loading-element.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +52 -3
- package/dist/esm/q2-loc.entry.js.map +1 -1
- package/dist/esm/q2-message.entry.js +3 -3
- package/dist/esm/q2-month-picker.entry.js +4 -4
- package/dist/esm/q2-optgroup.entry.js +5 -4
- package/dist/esm/q2-optgroup.entry.js.map +1 -1
- package/dist/esm/q2-option-list.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +50 -33
- package/dist/esm/q2-option.entry.js.map +1 -1
- package/dist/esm/q2-pagination.entry.js +11 -7
- package/dist/esm/q2-pagination.entry.js.map +1 -1
- package/dist/esm/q2-pill.entry.js +19 -18
- package/dist/esm/q2-pill.entry.js.map +1 -1
- package/dist/esm/q2-radio-group.entry.js +5 -5
- package/dist/esm/q2-radio-group.entry.js.map +1 -1
- package/dist/esm/q2-radio.entry.js +3 -3
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-resize-observer.entry.js +2 -2
- package/dist/esm/q2-section.entry.js +8 -6
- package/dist/esm/q2-section.entry.js.map +1 -1
- package/dist/esm/q2-select.entry.js +6 -5
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +5 -4
- package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +16 -4
- package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
- package/dist/esm/q2-stepper.entry.js +6 -4
- package/dist/esm/q2-stepper.entry.js.map +1 -1
- package/dist/esm/q2-tag.entry.js +6 -4
- package/dist/esm/q2-tag.entry.js.map +1 -1
- package/dist/esm/q2-tecton-elements.js +3 -3
- package/dist/esm/q2-textarea.entry.js +3 -3
- package/dist/esm/q2-tooltip.entry.js +2 -2
- package/dist/esm/{shapes-36183b2a.js → shapes-c7e1a3fa.js} +2 -2
- package/dist/esm/{shapes-36183b2a.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +3 -3
- package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js +77 -0
- package/dist/q2-tecton-elements/{p-b7554a79.js.map → action-sheet-e64cb6f7.js.map} +1 -1
- package/dist/q2-tecton-elements/app-globals-0f993ce5.js +4 -0
- package/dist/q2-tecton-elements/{p-e1255160.js.map → app-globals-0f993ce5.js.map} +1 -1
- package/dist/q2-tecton-elements/charting-1abfb877.js +34872 -0
- package/dist/q2-tecton-elements/{p-2941aafa.js.map → charting-1abfb877.js.map} +1 -1
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +410 -0
- package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -0
- package/dist/q2-tecton-elements/dataSample-7b62e101.js +2602 -0
- package/dist/q2-tecton-elements/{p-ad80aef0.js.map → dataSample-7b62e101.js.map} +1 -1
- package/dist/q2-tecton-elements/index-3184c760.js +18168 -0
- package/dist/q2-tecton-elements/{p-f1e887f5.js.map → index-3184c760.js.map} +1 -1
- package/dist/q2-tecton-elements/index-7a5365e2.js +1792 -0
- package/dist/q2-tecton-elements/index-7a5365e2.js.map +1 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js +323 -0
- package/dist/q2-tecton-elements/index-d18e2a20.js.map +1 -0
- package/dist/q2-tecton-elements/q2-action-group.entry.js +56 -0
- package/dist/q2-tecton-elements/{p-5637c486.entry.js.map → q2-action-group.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1480 -0
- package/dist/q2-tecton-elements/{p-188eb162.entry.js.map → q2-action-sheet.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-avatar.entry.js +101 -0
- package/dist/q2-tecton-elements/{p-07d1c3ae.entry.js.map → q2-avatar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-badge_7.entry.js +5449 -0
- package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js +1313 -0
- package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-card.entry.js +170 -0
- package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +130 -0
- package/dist/q2-tecton-elements/{p-7aef0c08.entry.js.map → q2-carousel-pane.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-carousel.entry.js +4613 -0
- package/dist/q2-tecton-elements/{p-e216ef3f.entry.js.map → q2-carousel.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-area.entry.js +4330 -0
- package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1479 -0
- package/dist/q2-tecton-elements/{p-7906f49e.entry.js.map → q2-chart-bar.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js +4537 -0
- package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +166 -0
- package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-checkbox.entry.js +223 -0
- package/dist/q2-tecton-elements/{p-b7de110e.entry.js.map → q2-checkbox.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-currency.entry.js +153 -0
- package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-data-table.entry.js +622 -0
- package/dist/q2-tecton-elements/{p-7903cd15.entry.js.map → q2-data-table.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-detail.entry.js +128 -0
- package/dist/q2-tecton-elements/{p-f5f23659.entry.js.map → q2-detail.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +146 -0
- package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js +430 -0
- package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-editable-field.entry.js +296 -0
- package/dist/q2-tecton-elements/{p-896c7008.entry.js.map → q2-editable-field.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-example.entry.js +152 -0
- package/dist/q2-tecton-elements/q2-example.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-formatted-text.entry.js +73 -0
- package/dist/q2-tecton-elements/{p-7c9f8b62.entry.js.map → q2-formatted-text.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-item.entry.js +158 -0
- package/dist/q2-tecton-elements/{p-7c9a0122.entry.js.map → q2-item.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-legend.entry.js +146 -0
- package/dist/q2-tecton-elements/{p-ff8f1a32.entry.js.map → q2-legend.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-link.entry.js +83 -0
- package/dist/q2-tecton-elements/q2-link.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-list.entry.js +100 -0
- package/dist/q2-tecton-elements/q2-list.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-loading-element.entry.js +36 -0
- package/dist/q2-tecton-elements/{p-a068c84c.entry.js.map → q2-loading-element.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-loc.entry.js +82 -0
- package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-message.entry.js +99 -0
- package/dist/q2-tecton-elements/{p-8d2b02e1.entry.js.map → q2-message.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-month-picker.entry.js +198 -0
- package/dist/q2-tecton-elements/{p-8d07cf91.entry.js.map → q2-month-picker.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-optgroup.entry.js +88 -0
- package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-option-list.entry.js +585 -0
- package/dist/q2-tecton-elements/{p-a5d0e252.entry.js.map → q2-option-list.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-option.entry.js +110 -0
- package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js +377 -0
- package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js +434 -0
- package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js +227 -0
- package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-radio.entry.js +144 -0
- package/dist/q2-tecton-elements/{p-c235ab3f.entry.js.map → q2-radio.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-relative-time.entry.js +162 -0
- package/dist/q2-tecton-elements/{p-95a7c042.entry.js.map → q2-relative-time.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-resize-observer.entry.js +100 -0
- package/dist/q2-tecton-elements/{p-e2c800ef.entry.js.map → q2-resize-observer.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-section.entry.js +256 -0
- package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-select.entry.js +684 -0
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +124 -0
- package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +356 -0
- package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js +332 -0
- package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js +213 -0
- package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +21 -1
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
- package/dist/q2-tecton-elements/q2-textarea.entry.js +364 -0
- package/dist/q2-tecton-elements/{p-f135b265.entry.js.map → q2-textarea.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/q2-tooltip.entry.js +105 -0
- package/dist/q2-tecton-elements/{p-c5667d5d.entry.js.map → q2-tooltip.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/sectorHelper-183cedd0.js +949 -0
- package/dist/q2-tecton-elements/{p-eea5aa01.js.map → sectorHelper-183cedd0.js.map} +1 -1
- package/dist/q2-tecton-elements/shapes-c7e1a3fa.js +132 -0
- package/dist/q2-tecton-elements/{p-50b425de.js.map → shapes-c7e1a3fa.js.map} +1 -1
- package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +134 -0
- package/dist/q2-tecton-elements/{p-96b1406c.entry.js.map → tecton-tab-pane.entry.js.map} +1 -1
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +4 -5
- package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -0
- package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +6 -0
- package/dist/types/components/q2-currency/q2-currency.d.ts +7 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -1
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +2 -2
- package/dist/types/components/q2-example/q2-example.d.ts +119 -0
- package/dist/types/components/q2-input/formatting/date.d.ts +22 -0
- package/dist/types/components/q2-input/formatting/postal.d.ts +197 -0
- package/dist/types/components/q2-input/q2-input.d.ts +15 -12
- package/dist/types/components/q2-loc/q2-loc.d.ts +15 -1
- package/dist/types/components/q2-option/q2-option.d.ts +11 -3
- package/dist/types/components/q2-pill/q2-pill.d.ts +3 -3
- package/dist/types/components/q2-popover/q2-popover.d.ts +1 -0
- package/dist/types/components/q2-select/q2-select.d.ts +1 -1
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +6 -0
- package/dist/types/components/q2-tag/q2-tag.d.ts +1 -1
- package/dist/types/components.d.ts +104 -14
- package/dist/types/utils/helpers.d.ts +13 -0
- package/dist/types/utils/index.d.ts +11 -0
- package/package.json +7 -7
- package/dist/cjs/index-14c3693c.js.map +0 -1
- package/dist/cjs/index-9aa4a776.js.map +0 -1
- package/dist/esm/index-1e1ce94e.js.map +0 -1
- package/dist/esm/index-844fc010.js.map +0 -1
- package/dist/q2-tecton-elements/p-06701928.entry.js +0 -2
- package/dist/q2-tecton-elements/p-06701928.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-07d1c3ae.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1305f7ca.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1305f7ca.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-15ac45d6.js +0 -2
- package/dist/q2-tecton-elements/p-15ac45d6.js.map +0 -1
- package/dist/q2-tecton-elements/p-16910682.entry.js +0 -2
- package/dist/q2-tecton-elements/p-16910682.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-188eb162.entry.js +0 -3
- package/dist/q2-tecton-elements/p-1c760a89.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c760a89.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-1c88d057.entry.js +0 -2
- package/dist/q2-tecton-elements/p-1c88d057.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js +0 -2
- package/dist/q2-tecton-elements/p-20a3d6ed.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2733583e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2733583e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2941aafa.js +0 -39
- package/dist/q2-tecton-elements/p-3e428290.entry.js +0 -2
- package/dist/q2-tecton-elements/p-3e428290.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4774e5b3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js +0 -2
- package/dist/q2-tecton-elements/p-490ef8e5.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4e10550d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-4e10550d.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-50b425de.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-50f7328f.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5637c486.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js +0 -2
- package/dist/q2-tecton-elements/p-56df21b0.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5a834214.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5a834214.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js +0 -2
- package/dist/q2-tecton-elements/p-5f99a4a8.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-72d948b4.entry.js +0 -2
- package/dist/q2-tecton-elements/p-72d948b4.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-7903cd15.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7906f49e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7aef0c08.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9a0122.entry.js +0 -2
- package/dist/q2-tecton-elements/p-7c9f8b62.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js +0 -2
- package/dist/q2-tecton-elements/p-81fbe718.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-896c7008.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d07cf91.entry.js +0 -2
- package/dist/q2-tecton-elements/p-8d2b02e1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-95a7c042.entry.js +0 -2
- package/dist/q2-tecton-elements/p-96b1406c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a068c84c.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a47597dd.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-a5d0e252.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a5f18e27.js +0 -3
- package/dist/q2-tecton-elements/p-a5f18e27.js.map +0 -1
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ac6aa392.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad057d10.entry.js +0 -2
- package/dist/q2-tecton-elements/p-ad057d10.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ad80aef0.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b1784be3.entry.js +0 -2
- package/dist/q2-tecton-elements/p-b1784be3.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-b7554a79.js +0 -2
- package/dist/q2-tecton-elements/p-b7de110e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c235ab3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-c5667d5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e1255160.js +0 -2
- package/dist/q2-tecton-elements/p-e216ef3f.entry.js +0 -2
- package/dist/q2-tecton-elements/p-e2c800ef.entry.js +0 -2
- package/dist/q2-tecton-elements/p-eea5aa01.js +0 -2
- package/dist/q2-tecton-elements/p-f135b265.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f1e887f5.js +0 -2
- package/dist/q2-tecton-elements/p-f5f23659.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js +0 -2
- package/dist/q2-tecton-elements/p-f7867f21.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-ff8f1a32.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js +0 -2
- package/dist/q2-tecton-elements/p-fff01dc1.entry.js.map +0 -1
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
import { r as t, c as o, g as i, h as e } from "./index-7a5365e2.js";
|
|
2
|
+
|
|
3
|
+
import { h as s, w as r } from "./index-d18e2a20.js";
|
|
4
|
+
|
|
5
|
+
const n = class {
|
|
6
|
+
constructor(i) {
|
|
7
|
+
t(this, i);
|
|
8
|
+
this.change = o(this, "change", 7);
|
|
9
|
+
// #region Own Properties
|
|
10
|
+
this.isCurrentlyFocused = false;
|
|
11
|
+
/**
|
|
12
|
+
* Listens for mouse and window events that happen outside this click-elsewhere element so we can close popovers when users click outside them
|
|
13
|
+
*/ this.mouseEventList = [ "mousedown", "dragstart", "touchstart" ];
|
|
14
|
+
this.mouseHandler = t => {
|
|
15
|
+
const o = this.shadowContains(this.findActiveElement());
|
|
16
|
+
const i = this.shadowContains(this.shadowEventTarget(t)) || this.originatesInSlots(t.target);
|
|
17
|
+
if (!i && (this.isCurrentlyFocused || o)) {
|
|
18
|
+
this.isCurrentlyFocused = false;
|
|
19
|
+
this.change.emit();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
this.isCurrentlyFocused = i || o;
|
|
23
|
+
};
|
|
24
|
+
this.windowBlurHandler = () => {
|
|
25
|
+
this.isCurrentlyFocused = false;
|
|
26
|
+
this.change.emit();
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// #endregion
|
|
30
|
+
// #region Component Lifecycle Events
|
|
31
|
+
/* tslint:enable:no-empty */
|
|
32
|
+
connectedCallback() {
|
|
33
|
+
this.mouseEventList.forEach((t => {
|
|
34
|
+
document.addEventListener(t, this.mouseHandler);
|
|
35
|
+
}));
|
|
36
|
+
window.addEventListener("blur", this.windowBlurHandler);
|
|
37
|
+
}
|
|
38
|
+
disconnectedCallback() {
|
|
39
|
+
this.mouseEventList.forEach((t => {
|
|
40
|
+
document.removeEventListener(t, this.mouseHandler);
|
|
41
|
+
}));
|
|
42
|
+
window.removeEventListener("blur", this.windowBlurHandler);
|
|
43
|
+
}
|
|
44
|
+
/* TODO: Stencil/Rollup is having issues compiling without this here. Will try to remove in future Stencil upgrade. */
|
|
45
|
+
/* tslint:disable:no-empty */ componentWillLoad() {}
|
|
46
|
+
// #endregion
|
|
47
|
+
// #region Local Methods
|
|
48
|
+
findActiveElement() {
|
|
49
|
+
let t = document.activeElement;
|
|
50
|
+
while (true) {
|
|
51
|
+
if (!t || !t.shadowRoot) {
|
|
52
|
+
return t;
|
|
53
|
+
}
|
|
54
|
+
t = t.shadowRoot.activeElement;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
originatesInSlots(t) {
|
|
58
|
+
const o = this.hostElement.querySelectorAll("slot");
|
|
59
|
+
for (const i of Array.from(o)) {
|
|
60
|
+
const o = i && i.assignedNodes && i.assignedNodes() || this.hostElement.childNodes;
|
|
61
|
+
for (const i of Array.from(o)) {
|
|
62
|
+
if (i.contains(t)) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
shadowContains(t) {
|
|
70
|
+
/**
|
|
71
|
+
* shadow-dom enabled version of Node.contains()
|
|
72
|
+
*/
|
|
73
|
+
while (true) {
|
|
74
|
+
if (t === this.hostElement) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
if (!t) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
t = t.parentNode || t.host;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
shadowEventTarget(t) {
|
|
84
|
+
return t.composedPath()[0] || t.target;
|
|
85
|
+
}
|
|
86
|
+
get hostElement() {
|
|
87
|
+
return i(this);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const a = "*{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}.container{display:none}.show{display:block;position:fixed;z-index:var(--tct-popover-z-index, 50);margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:host([block]) .show{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:host([align=left]) .show{left:var(--comp-pop-left);right:unset}:host([align=right]) .show{right:var(--comp-pop-right);left:unset}.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}.show.up{top:unset;bottom:var(--comp-pop-bottom)}.show.legacy{position:absolute}.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";
|
|
92
|
+
|
|
93
|
+
const c = a;
|
|
94
|
+
|
|
95
|
+
const h = class {
|
|
96
|
+
constructor(i) {
|
|
97
|
+
t(this, i);
|
|
98
|
+
this.popoverStateChanged = o(this, "popoverStateChanged", 7);
|
|
99
|
+
/**
|
|
100
|
+
* The number of pixels to leave between the popover and the edge of the viewport
|
|
101
|
+
*/ this.displayBuffer = 10;
|
|
102
|
+
/** remove when Popover API is supported in iOS */ this.orientationChanged = false;
|
|
103
|
+
this.handleMinHeight = () => {
|
|
104
|
+
if (this.minHeight) {
|
|
105
|
+
s(this, "minHeight", "prop");
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
this.setAbsoluteCSSProperties = async () => {
|
|
109
|
+
const {controlElement: t, containerElement: o, currentDirection: i, align: e} = this;
|
|
110
|
+
if (e === "right") {
|
|
111
|
+
o.style.setProperty("--comp-pop-right", "0");
|
|
112
|
+
o.style.setProperty("--comp-pop-left", "unset");
|
|
113
|
+
} else {
|
|
114
|
+
o.style.setProperty("--comp-pop-left", "0");
|
|
115
|
+
o.style.setProperty("--comp-pop-right", "unset");
|
|
116
|
+
}
|
|
117
|
+
if (this.block) {
|
|
118
|
+
o.style.setProperty("--comp-pop-width", "100%");
|
|
119
|
+
}
|
|
120
|
+
if (i === "up") {
|
|
121
|
+
const i = getComputedStyle(t);
|
|
122
|
+
const e = parseInt(i.height || "0") + parseInt(i.borderTopWidth || "0") + parseInt(i.borderBottomWidth || "0");
|
|
123
|
+
o.style.setProperty("--comp-pop-bottom", `${e}px`);
|
|
124
|
+
}
|
|
125
|
+
// Wait for one paint to prevent layout thrashing
|
|
126
|
+
await r();
|
|
127
|
+
o.style.setProperty("--comp-pop-opacity", "1");
|
|
128
|
+
};
|
|
129
|
+
this.setFixedCSSProperties = async () => {
|
|
130
|
+
var t, o;
|
|
131
|
+
const {controlElement: i, containerElement: e, currentDirection: s, rootElementRect: n} = this;
|
|
132
|
+
const {top: a, bottom: c, left: h, right: p} = (o = (t = i === null || i === void 0 ? void 0 : i.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(i)) !== null && o !== void 0 ? o : {
|
|
133
|
+
top: 0,
|
|
134
|
+
bottom: 0,
|
|
135
|
+
left: 0,
|
|
136
|
+
right: 0
|
|
137
|
+
};
|
|
138
|
+
const d = h - n.left;
|
|
139
|
+
if (this.block) e.style.setProperty("--comp-pop-width", `${(i === null || i === void 0 ? void 0 : i.offsetWidth) || 0}px`);
|
|
140
|
+
e.style.setProperty("--comp-pop-left", `${d}px`);
|
|
141
|
+
e.style.setProperty("--comp-pop-right", `${n.width + n.left - p}px`);
|
|
142
|
+
if (s === "up") {
|
|
143
|
+
e.style.setProperty("--comp-pop-bottom", `${n.height + n.top - a}px`);
|
|
144
|
+
}
|
|
145
|
+
if (s === "down") {
|
|
146
|
+
e.style.setProperty("--comp-pop-top", `${c - n.top}px`);
|
|
147
|
+
}
|
|
148
|
+
// Wait for one paint to prevent layout thrashing
|
|
149
|
+
await r();
|
|
150
|
+
e.style.setProperty("--comp-pop-opacity", "1");
|
|
151
|
+
};
|
|
152
|
+
this.viewPortChanged = () => {
|
|
153
|
+
if (!this.open) return;
|
|
154
|
+
this.determinePopDirection();
|
|
155
|
+
};
|
|
156
|
+
this.viewPortOrientationChanged = () => {
|
|
157
|
+
this.orientationChanged = true;
|
|
158
|
+
this.viewPortChanged();
|
|
159
|
+
};
|
|
160
|
+
this.currentDirection = undefined;
|
|
161
|
+
this.show = false;
|
|
162
|
+
this.align = undefined;
|
|
163
|
+
this.block = undefined;
|
|
164
|
+
this.controlElement = undefined;
|
|
165
|
+
this.direction = undefined;
|
|
166
|
+
this.maxHeight = undefined;
|
|
167
|
+
this.minHeight = undefined;
|
|
168
|
+
this.mode = null;
|
|
169
|
+
this.open = undefined;
|
|
170
|
+
}
|
|
171
|
+
// #endregion
|
|
172
|
+
// #region Component Lifecycle Events
|
|
173
|
+
disconnectedCallback() {
|
|
174
|
+
this.removeViewportListeners();
|
|
175
|
+
}
|
|
176
|
+
componentDidLoad() {
|
|
177
|
+
this.handleMinHeight();
|
|
178
|
+
this.handleControlElement();
|
|
179
|
+
if (this.open) {
|
|
180
|
+
this.setRootElement();
|
|
181
|
+
this.addViewportListeners();
|
|
182
|
+
this.determinePopDirection();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// #endregion
|
|
186
|
+
// #region Listeners
|
|
187
|
+
popoverStateHandler(t) {
|
|
188
|
+
const {detail: {open: o}} = t;
|
|
189
|
+
if (o === this.open) return;
|
|
190
|
+
this.open = o;
|
|
191
|
+
t.stopPropagation();
|
|
192
|
+
}
|
|
193
|
+
// #endregion
|
|
194
|
+
// #region Public Methods API
|
|
195
|
+
async scrollContainerTo(t) {
|
|
196
|
+
this.containerElement.scrollTo(t);
|
|
197
|
+
}
|
|
198
|
+
async toggle() {
|
|
199
|
+
this.open = !this.open;
|
|
200
|
+
}
|
|
201
|
+
// #endregion
|
|
202
|
+
// #region Watchers
|
|
203
|
+
handleControlElement() {
|
|
204
|
+
var t;
|
|
205
|
+
if (((t = this.controlElement) === null || t === void 0 ? void 0 : t.tagName) === "Q2-INPUT") {
|
|
206
|
+
this.controlElement = this.controlElement.shadowRoot.querySelector(".input-container");
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
minHeightProvided() {
|
|
210
|
+
this.handleMinHeight();
|
|
211
|
+
}
|
|
212
|
+
async openChanged(t) {
|
|
213
|
+
this.setRootElement();
|
|
214
|
+
this.popoverStateChanged.emit({
|
|
215
|
+
open: t
|
|
216
|
+
});
|
|
217
|
+
if (t) {
|
|
218
|
+
this.addViewportListeners();
|
|
219
|
+
this.determinePopDirection();
|
|
220
|
+
} else {
|
|
221
|
+
this.removeViewportListeners();
|
|
222
|
+
this.currentDirection = undefined;
|
|
223
|
+
this.show = false;
|
|
224
|
+
await r();
|
|
225
|
+
this.clearCSSProperties();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// #endregion
|
|
229
|
+
// #region Local Methods
|
|
230
|
+
get isModule() {
|
|
231
|
+
var t, o;
|
|
232
|
+
const i = window !== window.top;
|
|
233
|
+
const e = Object.keys((o = (t = window.Tecton) === null || t === void 0 ? void 0 : t.platformDimensions) !== null && o !== void 0 ? o : {}).length > 0;
|
|
234
|
+
return i && e;
|
|
235
|
+
}
|
|
236
|
+
get providedDirection() {
|
|
237
|
+
const {direction: t} = this;
|
|
238
|
+
switch (t) {
|
|
239
|
+
case "up":
|
|
240
|
+
case "down":
|
|
241
|
+
return t;
|
|
242
|
+
|
|
243
|
+
default:
|
|
244
|
+
return undefined;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
get validatedMaxHeight() {
|
|
248
|
+
const {maxHeight: t} = this;
|
|
249
|
+
return isNaN(t) ? undefined : t;
|
|
250
|
+
}
|
|
251
|
+
addViewportListeners() {
|
|
252
|
+
var t;
|
|
253
|
+
window.addEventListener("resize", this.viewPortOrientationChanged);
|
|
254
|
+
// #region remove when Popover API is supported in iOS
|
|
255
|
+
window.addEventListener("scroll", this.viewPortChanged, {
|
|
256
|
+
passive: true,
|
|
257
|
+
capture: true
|
|
258
|
+
});
|
|
259
|
+
(t = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || t === void 0 ? void 0 : t.addEventListener("change", this.viewPortOrientationChanged);
|
|
260
|
+
window.addEventListener("orientationchange", this.viewPortOrientationChanged);
|
|
261
|
+
// #endregion
|
|
262
|
+
}
|
|
263
|
+
clearCSSProperties() {
|
|
264
|
+
this.containerElement.style.removeProperty("--comp-pop-max-height");
|
|
265
|
+
this.containerElement.style.removeProperty("--comp-pop-top");
|
|
266
|
+
this.containerElement.style.removeProperty("--comp-pop-bottom");
|
|
267
|
+
this.containerElement.style.removeProperty("--comp-pop-left");
|
|
268
|
+
this.containerElement.style.removeProperty("--comp-pop-right");
|
|
269
|
+
this.containerElement.style.removeProperty("--comp-pop-width");
|
|
270
|
+
this.containerElement.style.removeProperty("--comp-pop-opacity");
|
|
271
|
+
}
|
|
272
|
+
async determinePopDirection() {
|
|
273
|
+
var t, o, i;
|
|
274
|
+
const {containerElement: e, controlElement: s, providedDirection: n, displayBuffer: a} = this;
|
|
275
|
+
if (e) e.style.maxHeight = null;
|
|
276
|
+
await r();
|
|
277
|
+
const {isModule: c} = this;
|
|
278
|
+
const {top: h, bottom: p} = (o = (t = s === null || s === void 0 ? void 0 : s.getBoundingClientRect) === null || t === void 0 ? void 0 : t.call(s)) !== null && o !== void 0 ? o : {
|
|
279
|
+
top: 0,
|
|
280
|
+
bottom: 0
|
|
281
|
+
};
|
|
282
|
+
let d;
|
|
283
|
+
let l;
|
|
284
|
+
let u;
|
|
285
|
+
if (c) {
|
|
286
|
+
const {outletOffset: t = 0, innerHeight: o = window.innerHeight} = ((i = window.Tecton) === null || i === void 0 ? void 0 : i.platformDimensions) || {};
|
|
287
|
+
const e = window.visualViewport.height - p;
|
|
288
|
+
const s = o - (t + p);
|
|
289
|
+
const r = e < s;
|
|
290
|
+
d = o;
|
|
291
|
+
// If the top of the module is below the top of the window we just use the controlTop
|
|
292
|
+
// Otherwise we need to add the outletOffset to the controlTop
|
|
293
|
+
l = (t > 0 ? h : h + t) - a;
|
|
294
|
+
u = r ? e - a : s - a;
|
|
295
|
+
} else {
|
|
296
|
+
d = window.visualViewport.height;
|
|
297
|
+
l = h - a;
|
|
298
|
+
u = d - p - a;
|
|
299
|
+
}
|
|
300
|
+
const f = l > u ? "up" : "down";
|
|
301
|
+
// We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
|
|
302
|
+
const m = !e.style.getPropertyValue("--comp-pop-max-height") || this.orientationChanged;
|
|
303
|
+
// we do not want to constantly update the max-height after an orientation change, so we switch this back to false
|
|
304
|
+
this.orientationChanged = false;
|
|
305
|
+
const w = this.currentDirection || n || f;
|
|
306
|
+
switch (w) {
|
|
307
|
+
case "up":
|
|
308
|
+
if (m) {
|
|
309
|
+
const t = this.validatedMaxHeight || l;
|
|
310
|
+
const o = Math.min(l, t);
|
|
311
|
+
e.style.setProperty("--comp-pop-max-height", `${o}px`);
|
|
312
|
+
}
|
|
313
|
+
this.setDirectionAndShow("up");
|
|
314
|
+
break;
|
|
315
|
+
|
|
316
|
+
case "down":
|
|
317
|
+
if (m) {
|
|
318
|
+
const t = this.validatedMaxHeight || u;
|
|
319
|
+
const o = Math.min(u, t);
|
|
320
|
+
e.style.setProperty("--comp-pop-max-height", `${o}px`);
|
|
321
|
+
}
|
|
322
|
+
this.setDirectionAndShow("down");
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
removeViewportListeners() {
|
|
327
|
+
var t;
|
|
328
|
+
window.removeEventListener("resize", this.viewPortOrientationChanged);
|
|
329
|
+
// #region remove when Popover API is supported in iOS
|
|
330
|
+
window.removeEventListener("scroll", this.viewPortChanged);
|
|
331
|
+
(t = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || t === void 0 ? void 0 : t.removeEventListener("orientationchange", this.viewPortOrientationChanged);
|
|
332
|
+
window.removeEventListener("orientationchange", this.viewPortOrientationChanged);
|
|
333
|
+
// #endregion
|
|
334
|
+
}
|
|
335
|
+
setDirectionAndShow(t) {
|
|
336
|
+
this.setRootElement();
|
|
337
|
+
// Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
|
|
338
|
+
// popover can be closed between the time the popover is opened and the time the direction is determined
|
|
339
|
+
const o = this.open;
|
|
340
|
+
if (!o) return;
|
|
341
|
+
this.currentDirection = t;
|
|
342
|
+
this.show = true;
|
|
343
|
+
if (this.mode === "legacy") {
|
|
344
|
+
this.setAbsoluteCSSProperties();
|
|
345
|
+
} else {
|
|
346
|
+
this.setFixedCSSProperties();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
setRootElement() {
|
|
350
|
+
let t = this.hostElement;
|
|
351
|
+
while (t && t !== document.documentElement) {
|
|
352
|
+
const o = window.getComputedStyle(t);
|
|
353
|
+
// Check if the element has any styles applied that create a new containg block
|
|
354
|
+
if (o.transform !== "none" || o.filter !== "none" || o.perspective !== "none" || o.containerType !== "normal" || [ "transform", "perspective", "filter" ].includes(o.willChange) || [ "layout", "paint", "strict", "content" ].includes(o.contain)) {
|
|
355
|
+
this.rootElementRect = t.getBoundingClientRect();
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
const i = t.getRootNode();
|
|
359
|
+
const e = typeof ShadowRoot !== "undefined" && i instanceof ShadowRoot && i.host instanceof HTMLElement;
|
|
360
|
+
if (e) {
|
|
361
|
+
t = i.host;
|
|
362
|
+
} else {
|
|
363
|
+
t = t.parentElement;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
// Return the document's bounding rect if no element is found
|
|
367
|
+
this.rootElementRect = {
|
|
368
|
+
top: 0,
|
|
369
|
+
bottom: 0,
|
|
370
|
+
left: 0,
|
|
371
|
+
right: 0,
|
|
372
|
+
height: window.visualViewport.height,
|
|
373
|
+
width: window.visualViewport.width
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
// #endregion
|
|
377
|
+
// #region Render Methods
|
|
378
|
+
render() {
|
|
379
|
+
const t = [ "container", this.currentDirection ];
|
|
380
|
+
if (this.show) t.push("show");
|
|
381
|
+
if (this.mode === "legacy") t.push("legacy");
|
|
382
|
+
return e("div", {
|
|
383
|
+
key: "4735f9b45e1c61380f1f309c4c72b8507fbb24ad",
|
|
384
|
+
ref: t => this.containerElement = t,
|
|
385
|
+
class: t.join(" "),
|
|
386
|
+
"test-id": "outerContainer"
|
|
387
|
+
}, e("div", {
|
|
388
|
+
key: "e1857d9428a49fe0b5b273a630ae548b2dae0a67",
|
|
389
|
+
ref: t => this.contentElement = t,
|
|
390
|
+
class: "content"
|
|
391
|
+
}, e("slot", {
|
|
392
|
+
key: "dbd1de8078d7526e3ac7ca8b822bfddb4a87ea33"
|
|
393
|
+
})));
|
|
394
|
+
}
|
|
395
|
+
get hostElement() {
|
|
396
|
+
return i(this);
|
|
397
|
+
}
|
|
398
|
+
static get watchers() {
|
|
399
|
+
return {
|
|
400
|
+
controlElement: [ "handleControlElement" ],
|
|
401
|
+
minHeight: [ "minHeightProvided" ],
|
|
402
|
+
open: [ "openChanged" ]
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
h.style = c;
|
|
408
|
+
|
|
409
|
+
export { n as click_elsewhere, h as q2_popover };
|
|
410
|
+
//# sourceMappingURL=click-elsewhere_2.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClickElsewhere","constructor","hostRef","this","isCurrentlyFocused","mouseEventList","mouseHandler","event","shadowContains","findActiveElement","aboutToBeFocused","shadowEventTarget","originatesInSlots","target","change","emit","windowBlurHandler","connectedCallback","forEach","eventName","document","addEventListener","window","disconnectedCallback","removeEventListener","componentWillLoad","workingElement","activeElement","shadowRoot","slots","hostElement","querySelectorAll","currentSlot","Array","from","lightNodes","assignedNodes","childNodes","currentNode","contains","child","parentNode","host","composedPath","q2PopoverCss","Q2PopoverStyle0","Q2Popover","displayBuffer","orientationChanged","handleMinHeight","minHeight","handleDeprecationWarning","setAbsoluteCSSProperties","async","controlElement","containerElement","currentDirection","align","style","setProperty","block","controlStyle","getComputedStyle","controlSize","parseInt","height","borderTopWidth","borderBottomWidth","waitForNextPaint","setFixedCSSProperties","rootElementRect","top","controlTop","bottom","controlBottom","left","controlLeft","right","controlRight","_b","_a","getBoundingClientRect","call","popoverLeft","offsetWidth","width","viewPortChanged","open","determinePopDirection","viewPortOrientationChanged","undefined","removeViewportListeners","componentDidLoad","handleControlElement","setRootElement","addViewportListeners","popoverStateHandler","detail","stopPropagation","scrollContainerTo","options","scrollTo","toggle","tagName","querySelector","minHeightProvided","openChanged","popoverStateChanged","show","clearCSSProperties","isModule","isIframe","hasPlatformDimensions","Object","keys","Tecton","platformDimensions","length","providedDirection","direction","validatedMaxHeight","maxHeight","isNaN","passive","capture","screen","orientation","removeProperty","windowHeight","maxSpaceAbove","maxSpaceBelow","outletOffset","innerHeight","_c","distanceToIframeBottom","visualViewport","viewableSpaceBelow","isIframeShorterThanWindow","directionWithMostSpace","shouldUpdateMaxHeight","getPropertyValue","currentOrDetermineDirection","priorityMaxHeight","Math","min","setDirectionAndShow","isOpen","mode","currentElement","documentElement","computedStyle","transform","filter","perspective","containerType","includes","willChange","contain","rootNode","getRootNode","isRootNodeWebComponent","ShadowRoot","HTMLElement","parentElement","render","containerClasses","push","h","key","ref","el","class","join","contentElement"],"sources":["src/components/click-elsewhere/click-elsewhere.tsx","src/components/q2-popover/q2-popover.scss?tag=q2-popover&encapsulation=shadow","src/components/q2-popover/q2-popover.tsx"],"sourcesContent":["import { Component, ComponentInterface, Element, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'click-elsewhere',\n shadow: false,\n})\nexport class ClickElsewhere implements ComponentInterface {\n // #region Own Properties\n\n isCurrentlyFocused: boolean = false;\n /**\n * Listens for mouse and window events that happen outside this click-elsewhere element so we can close popovers when users click outside them\n */\n mouseEventList: string[] = ['mousedown', 'dragstart', 'touchstart'];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the user clicks outside the element\n */\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n /* tslint:enable:no-empty */\n\n connectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.addEventListener(eventName, this.mouseHandler);\n });\n window.addEventListener('blur', this.windowBlurHandler);\n }\n\n disconnectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.removeEventListener(eventName, this.mouseHandler);\n });\n window.removeEventListener('blur', this.windowBlurHandler);\n }\n\n /* TODO: Stencil/Rollup is having issues compiling without this here. Will try to remove in future Stencil upgrade. */\n /* tslint:disable:no-empty */\n componentWillLoad() {}\n\n // #endregion\n // #region Local Methods\n\n findActiveElement(): Element | null {\n let workingElement = document.activeElement!;\n while (true) {\n if (!workingElement || !workingElement.shadowRoot) {\n return workingElement;\n }\n workingElement = workingElement.shadowRoot.activeElement;\n }\n }\n\n mouseHandler = (event: Event): void => {\n const isCurrentlyFocused = this.shadowContains(this.findActiveElement());\n const aboutToBeFocused =\n this.shadowContains(this.shadowEventTarget(event)) || this.originatesInSlots(event.target as Element);\n\n if (!aboutToBeFocused && (this.isCurrentlyFocused || isCurrentlyFocused)) {\n this.isCurrentlyFocused = false;\n this.change.emit();\n return;\n }\n this.isCurrentlyFocused = aboutToBeFocused || isCurrentlyFocused;\n };\n\n originatesInSlots(target: Element): boolean {\n const slots = this.hostElement.querySelectorAll('slot');\n for (const currentSlot of Array.from(slots)) {\n const lightNodes =\n (currentSlot && currentSlot.assignedNodes && currentSlot.assignedNodes()) ||\n this.hostElement.childNodes;\n\n for (const currentNode of Array.from(lightNodes)) {\n if (currentNode.contains(target)) {\n return true;\n }\n }\n }\n return false;\n }\n\n shadowContains(child: any): boolean {\n /**\n * shadow-dom enabled version of Node.contains()\n */\n\n while (true) {\n if (child === this.hostElement) {\n return true;\n }\n if (!child) {\n return false;\n }\n child = child.parentNode || child.host;\n }\n }\n\n shadowEventTarget(event: any): Element {\n return event.composedPath()[0] || event.target;\n }\n\n windowBlurHandler = (): void => {\n this.isCurrentlyFocused = false;\n this.change.emit();\n };\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n.container {\n display: none;\n}\n\n.show {\n display: block;\n position: fixed;\n z-index: var-list(--tct-popover-z-index, 50);\n margin: 0;\n padding: 0;\n overflow: auto;\n background: var-list(--tct-popover-background, --app-white, #ffffff);\n color: var-list(--tct-popover-font-color, --t-text, #4d4d4d);\n min-width: var-list(--tct-popover-min-width, 135px);\n margin-block: var-list(--tct-popover-margin-block, 0);\n box-shadow: var-list(--tct-popover-box-shadow, --app-shadow-1, unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\"));\n border-width: var-list(--tct-popover-border-width, 0);\n border-style: solid;\n border-color: var-list(--tct-popover-border-color, transparent);\n border-radius: var-list(--tct-popover-border-radius, 0);\n // the following --comp variables are set via JS\n max-height: var(--comp-pop-max-height);\n left: var(--comp-pop-left);\n opacity: var(--comp-pop-opacity, 0);\n\n :host([block]) & {\n right: unset;\n width: var(--comp-pop-width);\n min-width: var-list(--tct-popover-min-width, unset);\n }\n\n :host([align='left']) & {\n left: var(--comp-pop-left);\n right: unset;\n }\n\n :host([align='right']) & {\n right: var(--comp-pop-right);\n left: unset;\n }\n\n &.down {\n top: var-list(--tct-popover-top, --comp-pop-top);\n bottom: unset;\n }\n\n &.up {\n top: unset;\n bottom: var(--comp-pop-bottom);\n }\n\n &.legacy {\n position: absolute;\n }\n\n @include tiny-scrollbar();\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n","import {\n Component,\n Prop,\n h,\n ComponentInterface,\n Element,\n Watch,\n Method,\n Listen,\n EventEmitter,\n Event,\n State,\n} from '@stencil/core';\nimport { handleDeprecationWarning, waitForNextPaint } from '../../utils';\n\n@Component({ tag: 'q2-popover', shadow: true, styleUrl: 'q2-popover.scss' })\nexport class Q2Popover implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLDivElement;\n contentElement: HTMLDivElement;\n /**\n * The number of pixels to leave between the popover and the edge of the viewport\n */\n displayBuffer = 10;\n /** remove when Popover API is supported in iOS */\n orientationChanged: boolean = false;\n rootElementRect: DOMRect;\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 currentDirection: 'down' | 'up' = undefined;\n\n // remove `show` when Popover API is supported in iOS\n @State()\n show: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Aligns the popover to the left or right side of the control element. */\n @Prop({ reflect: true })\n align: 'left' | 'right';\n\n /** Indicates the popover will match the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** The element that controls the popover's behavior. */\n @Prop({ mutable: true })\n controlElement: HTMLElement;\n\n /**\n * Force the direction of the popover when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ reflect: true })\n direction: 'up' | 'down';\n\n /**\n * Force the maximum height of the popover. This value will be interpreted as pixels.\n * If no value is passed, or the value exceeds available space, the component will auto-detect the maximum height based on available space.\n */\n @Prop()\n maxHeight: number;\n\n /** @deprecated */\n @Prop()\n minHeight: number;\n\n @Prop()\n mode: 'legacy' = null;\n\n /** Controls whether the popover is open or closed. */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the popover is opened or closed.\n */\n @Event()\n popoverStateChanged: EventEmitter<{ open: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeViewportListeners();\n }\n\n componentDidLoad() {\n this.handleMinHeight();\n this.handleControlElement();\n if (this.open) {\n this.setRootElement();\n this.addViewportListeners();\n this.determinePopDirection();\n }\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('popoverState')\n popoverStateHandler(event: CustomEvent<{ open: boolean }>) {\n const {\n detail: { open },\n } = event;\n if (open === this.open) return;\n\n this.open = open;\n event.stopPropagation();\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async scrollContainerTo(options: ScrollToOptions) {\n this.containerElement.scrollTo(options);\n }\n\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('controlElement')\n handleControlElement() {\n if (this.controlElement?.tagName === 'Q2-INPUT') {\n this.controlElement = this.controlElement.shadowRoot.querySelector('.input-container');\n }\n }\n\n @Watch('minHeight')\n minHeightProvided() {\n this.handleMinHeight();\n }\n\n @Watch('open')\n async openChanged(open: boolean) {\n this.setRootElement();\n this.popoverStateChanged.emit({ open });\n\n if (open) {\n this.addViewportListeners();\n this.determinePopDirection();\n } else {\n this.removeViewportListeners();\n this.currentDirection = undefined;\n this.show = false;\n await waitForNextPaint();\n this.clearCSSProperties();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get isModule() {\n const isIframe = window !== window.top;\n const hasPlatformDimensions = Object.keys(window.Tecton?.platformDimensions ?? {}).length > 0;\n return isIframe && hasPlatformDimensions;\n }\n\n get providedDirection(): 'up' | 'down' | undefined {\n const { direction } = this;\n switch (direction) {\n case 'up':\n case 'down':\n return direction;\n default:\n return undefined;\n }\n }\n\n get validatedMaxHeight(): number | undefined {\n const { maxHeight } = this;\n return isNaN(maxHeight) ? undefined : maxHeight;\n }\n\n addViewportListeners() {\n window.addEventListener('resize', this.viewPortOrientationChanged);\n // #region remove when Popover API is supported in iOS\n window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });\n screen?.orientation?.addEventListener('change', this.viewPortOrientationChanged);\n window.addEventListener('orientationchange', this.viewPortOrientationChanged);\n\n // #endregion\n }\n\n clearCSSProperties() {\n this.containerElement.style.removeProperty('--comp-pop-max-height');\n this.containerElement.style.removeProperty('--comp-pop-top');\n this.containerElement.style.removeProperty('--comp-pop-bottom');\n this.containerElement.style.removeProperty('--comp-pop-left');\n this.containerElement.style.removeProperty('--comp-pop-right');\n this.containerElement.style.removeProperty('--comp-pop-width');\n this.containerElement.style.removeProperty('--comp-pop-opacity');\n }\n\n async determinePopDirection() {\n const { containerElement, controlElement, providedDirection, displayBuffer } = this;\n if (containerElement) containerElement.style.maxHeight = null;\n\n await waitForNextPaint();\n\n const { isModule } = this;\n const { top: controlTop, bottom: controlBottom } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n };\n\n let windowHeight: number;\n let maxSpaceAbove: number;\n let maxSpaceBelow: number;\n\n if (isModule) {\n const { outletOffset = 0, innerHeight = window.innerHeight } = window.Tecton?.platformDimensions || {};\n const distanceToIframeBottom = window.visualViewport.height - controlBottom;\n const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);\n const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;\n windowHeight = innerHeight;\n // If the top of the module is below the top of the window we just use the controlTop\n // Otherwise we need to add the outletOffset to the controlTop\n maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;\n maxSpaceBelow = isIframeShorterThanWindow\n ? distanceToIframeBottom - displayBuffer\n : viewableSpaceBelow - displayBuffer;\n } else {\n windowHeight = window.visualViewport.height;\n maxSpaceAbove = controlTop - displayBuffer;\n maxSpaceBelow = windowHeight - controlBottom - displayBuffer;\n }\n\n const directionWithMostSpace: 'up' | 'down' = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';\n\n // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)\n const shouldUpdateMaxHeight =\n !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;\n // we do not want to constantly update the max-height after an orientation change, so we switch this back to false\n this.orientationChanged = false;\n const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;\n\n switch (currentOrDetermineDirection) {\n case 'up':\n if (shouldUpdateMaxHeight) {\n const priorityMaxHeight = this.validatedMaxHeight || maxSpaceAbove;\n const maxHeight = Math.min(maxSpaceAbove, priorityMaxHeight);\n containerElement.style.setProperty('--comp-pop-max-height', `${maxHeight}px`);\n }\n this.setDirectionAndShow('up');\n break;\n case 'down':\n if (shouldUpdateMaxHeight) {\n const priorityMaxHeight = this.validatedMaxHeight || maxSpaceBelow;\n const maxHeight = Math.min(maxSpaceBelow, priorityMaxHeight);\n containerElement.style.setProperty('--comp-pop-max-height', `${maxHeight}px`);\n }\n this.setDirectionAndShow('down');\n break;\n default:\n break;\n }\n }\n\n handleMinHeight = () => {\n if (this.minHeight) {\n handleDeprecationWarning(this, 'minHeight', 'prop');\n }\n };\n\n removeViewportListeners() {\n window.removeEventListener('resize', this.viewPortOrientationChanged);\n // #region remove when Popover API is supported in iOS\n window.removeEventListener('scroll', this.viewPortChanged);\n screen?.orientation?.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n window.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n\n // #endregion\n }\n\n setAbsoluteCSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, align } = this;\n\n if (align === 'right') {\n containerElement.style.setProperty('--comp-pop-right', '0');\n containerElement.style.setProperty('--comp-pop-left', 'unset');\n } else {\n containerElement.style.setProperty('--comp-pop-left', '0');\n containerElement.style.setProperty('--comp-pop-right', 'unset');\n }\n\n if (this.block) {\n containerElement.style.setProperty('--comp-pop-width', '100%');\n }\n\n if (currentDirection === 'up') {\n const controlStyle = getComputedStyle(controlElement);\n const controlSize =\n parseInt(controlStyle.height || '0') +\n parseInt(controlStyle.borderTopWidth || '0') +\n parseInt(controlStyle.borderBottomWidth || '0');\n\n containerElement.style.setProperty('--comp-pop-bottom', `${controlSize}px`);\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n setDirectionAndShow(direction: 'up' | 'down') {\n this.setRootElement();\n // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the\n // popover can be closed between the time the popover is opened and the time the direction is determined\n const isOpen = this.open;\n if (!isOpen) return;\n\n this.currentDirection = direction;\n this.show = true;\n if (this.mode === 'legacy') {\n this.setAbsoluteCSSProperties();\n } else {\n this.setFixedCSSProperties();\n }\n }\n\n setFixedCSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, rootElementRect } = this;\n const {\n top: controlTop,\n bottom: controlBottom,\n left: controlLeft,\n right: controlRight,\n } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n };\n const popoverLeft: number = controlLeft - rootElementRect.left;\n\n if (this.block) containerElement.style.setProperty('--comp-pop-width', `${controlElement?.offsetWidth || 0}px`);\n containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);\n containerElement.style.setProperty(\n '--comp-pop-right',\n `${rootElementRect.width + rootElementRect.left - controlRight}px`\n );\n\n if (currentDirection === 'up') {\n containerElement.style.setProperty(\n '--comp-pop-bottom',\n `${rootElementRect.height + rootElementRect.top - controlTop}px`\n );\n }\n if (currentDirection === 'down') {\n containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n setRootElement() {\n let currentElement: HTMLElement = this.hostElement;\n\n while (currentElement && currentElement !== document.documentElement) {\n const computedStyle = window.getComputedStyle(currentElement);\n\n // Check if the element has any styles applied that create a new containg block\n if (\n computedStyle.transform !== 'none' ||\n computedStyle.filter !== 'none' ||\n computedStyle.perspective !== 'none' ||\n computedStyle.containerType !== 'normal' ||\n ['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||\n ['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)\n ) {\n this.rootElementRect = currentElement.getBoundingClientRect();\n return;\n }\n\n const rootNode = currentElement.getRootNode();\n const isRootNodeWebComponent =\n typeof ShadowRoot !== 'undefined' &&\n rootNode instanceof ShadowRoot &&\n rootNode.host instanceof HTMLElement;\n if (isRootNodeWebComponent) {\n currentElement = rootNode.host;\n } else {\n currentElement = currentElement.parentElement;\n }\n }\n\n // Return the document's bounding rect if no element is found\n this.rootElementRect = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n height: window.visualViewport.height,\n width: window.visualViewport.width,\n } as DOMRect;\n }\n\n viewPortChanged = () => {\n if (!this.open) return;\n this.determinePopDirection();\n };\n\n viewPortOrientationChanged = () => {\n this.orientationChanged = true;\n this.viewPortChanged();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const containerClasses = ['container', this.currentDirection];\n if (this.show) containerClasses.push('show');\n if (this.mode === 'legacy') containerClasses.push('legacy');\n\n return (\n <div\n ref={el => (this.containerElement = el)}\n class={containerClasses.join(' ')}\n test-id=\"outerContainer\"\n >\n <div\n ref={el => (this.contentElement = el)}\n class=\"content\"\n >\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}
|