q2-tecton-elements 1.49.2 → 1.49.4
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 +151 -148
- package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-a93362ed.js → index-4b69f62d.js} +30 -18
- package/dist/{q2-tecton-elements/p-84190698.js.map → cjs/index-4b69f62d.js.map} +1 -1
- package/dist/cjs/{index-42fcd170.js → index-f69742cf.js} +1 -1
- package/dist/cjs/{index-42fcd170.js.map → index-f69742cf.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
- 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 +2 -2
- 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.cjs.entry.js +2 -2
- package/dist/cjs/q2-currency.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
- 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 +4 -2
- package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +2 -2
- package/dist/cjs/q2-item.cjs.entry.js +2 -2
- package/dist/cjs/q2-legend.cjs.entry.js +1 -1
- package/dist/cjs/q2-list.cjs.entry.js +2 -2
- package/dist/cjs/q2-loc.cjs.entry.js +2 -2
- package/dist/cjs/q2-message.cjs.entry.js +2 -2
- 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.cjs.entry.js +13 -11
- package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-option.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
- 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.cjs.entry.js +2 -2
- package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
- package/dist/cjs/q2-section.cjs.entry.js +3 -3
- package/dist/cjs/q2-select.cjs.entry.js +149 -30
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
- 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-tab-container.cjs.entry.js +2 -2
- package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +5 -5
- 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 +1 -1
- package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
- package/dist/collection/components/q2-carousel/q2-carousel.js +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 +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 +1 -1
- package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
- package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
- package/dist/collection/components/q2-currency/q2-currency.js +1 -1
- package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
- package/dist/collection/components/q2-detail/q2-detail.js +1 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js +3 -1
- package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
- package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
- package/dist/collection/components/q2-input/q2-input.js +2 -2
- 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-list/q2-list.js +1 -1
- package/dist/collection/components/q2-loc/q2-loc.js +1 -1
- package/dist/collection/components/q2-message/q2-message.js +1 -1
- package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
- package/dist/collection/components/q2-option/q2-option.js +1 -1
- package/dist/collection/components/q2-option-list/q2-option-list.js +15 -13
- package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
- package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
- package/dist/collection/components/q2-pill/q2-pill.js +1 -1
- package/dist/collection/components/q2-popover/q2-popover.css +18 -10
- package/dist/collection/components/q2-popover/q2-popover.js +207 -203
- 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.js +1 -1
- package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
- package/dist/collection/components/q2-section/q2-section.js +2 -2
- package/dist/collection/components/q2-select/q2-select.js +187 -32
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
- package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
- package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
- package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
- package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
- package/dist/collection/components/q2-tag/q2-tag.js +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/index.js +46 -0
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index2.js +29 -17
- package/dist/components/index2.js.map +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 +1 -1
- package/dist/components/q2-carousel-pane.js +2 -2
- package/dist/components/q2-carousel.js +1 -1
- 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-checkbox2.js +1 -1
- package/dist/components/q2-currency.js +1 -1
- package/dist/components/q2-data-table.js +1 -1
- package/dist/components/q2-detail.js +1 -1
- package/dist/components/q2-dropdown.js +3 -1
- package/dist/components/q2-dropdown.js.map +1 -1
- package/dist/components/q2-editable-field.js +1 -1
- package/dist/components/q2-input2.js +1 -1
- package/dist/components/q2-item.js +1 -1
- package/dist/components/q2-legend2.js +1 -1
- package/dist/components/q2-list.js +1 -1
- package/dist/components/q2-loc.js +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 +1 -1
- package/dist/components/q2-option-list2.js +12 -10
- package/dist/components/q2-option-list2.js.map +1 -1
- package/dist/components/q2-option2.js +1 -1
- package/dist/components/q2-pagination.js +2 -2
- package/dist/components/q2-pill.js +1 -1
- package/dist/components/q2-popover2.js +158 -155
- package/dist/components/q2-popover2.js.map +1 -1
- package/dist/components/q2-radio-group.js +1 -1
- package/dist/components/q2-radio.js +1 -1
- package/dist/components/q2-relative-time.js +1 -1
- package/dist/components/q2-section.js +2 -2
- package/dist/components/q2-select2.js +153 -33
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/components/q2-stepper-pane.js +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 +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 +151 -148
- package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
- package/dist/esm/{index-1c019b24.js → index-3184c760.js} +1 -1
- package/dist/esm/{index-1c019b24.js.map → index-3184c760.js.map} +1 -1
- package/dist/esm/{index-3c5cd75e.js → index-73081b4d.js} +30 -18
- package/dist/esm/index-73081b4d.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-action-sheet.entry.js +2 -2
- package/dist/esm/q2-avatar.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +1 -1
- package/dist/esm/q2-calendar.entry.js +3 -3
- 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 +2 -2
- 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.entry.js +2 -2
- package/dist/esm/q2-currency.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +2 -2
- 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 +4 -2
- package/dist/esm/q2-dropdown.entry.js.map +1 -1
- package/dist/esm/q2-editable-field.entry.js +2 -2
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +2 -2
- package/dist/esm/q2-item.entry.js +2 -2
- package/dist/esm/q2-legend.entry.js +1 -1
- package/dist/esm/q2-list.entry.js +2 -2
- package/dist/esm/q2-loc.entry.js +2 -2
- package/dist/esm/q2-message.entry.js +2 -2
- 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.entry.js +13 -11
- package/dist/esm/q2-option-list.entry.js.map +1 -1
- package/dist/esm/q2-option.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +3 -3
- package/dist/esm/q2-pill.entry.js +2 -2
- package/dist/esm/q2-radio-group.entry.js +2 -2
- package/dist/esm/q2-radio.entry.js +2 -2
- package/dist/esm/q2-relative-time.entry.js +3 -3
- package/dist/esm/q2-section.entry.js +3 -3
- package/dist/esm/q2-select.entry.js +150 -31
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +2 -2
- package/dist/esm/q2-stepper-vertical.entry.js +2 -2
- package/dist/esm/q2-stepper.entry.js +2 -2
- package/dist/esm/q2-tab-container.entry.js +2 -2
- package/dist/esm/q2-tab-pane.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +2 -2
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/jest.setup.js +33 -0
- package/dist/jest.setup.js.map +1 -0
- package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js → p-014c6454.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js → p-01b436c4.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-03fcf787.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-a657277b.entry.js.map → p-03fcf787.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/p-0b33965c.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-4da4cb5d.entry.js.map → p-0b33965c.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-a177d812.entry.js → p-0c5ff345.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-0d46b95e.js +2 -0
- package/dist/q2-tecton-elements/p-0d46b95e.js.map +1 -0
- package/dist/q2-tecton-elements/{p-db79c056.entry.js → p-152641b0.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-19d02441.entry.js +2 -0
- package/dist/q2-tecton-elements/p-19d02441.entry.js.map +1 -0
- package/dist/q2-tecton-elements/p-1bb08555.entry.js +2 -0
- package/dist/q2-tecton-elements/p-1bb08555.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-dbfab45b.entry.js → p-1be2778a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-630613c7.entry.js → p-26a23f08.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-da711c59.entry.js → p-2a21bb2a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js → p-2a471072.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0852e6fe.entry.js → p-2cd69fc5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-f6358905.entry.js → p-2cdc1c18.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-3b8fbd85.entry.js +2 -0
- package/dist/q2-tecton-elements/p-3b8fbd85.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-1e7fa870.entry.js → p-408f5dd0.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ea7876eb.entry.js → p-45cf9f0b.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-08176bd0.entry.js → p-4635d8fd.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-333a41ca.entry.js → p-55554655.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js → p-6443ae6f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-4388e521.entry.js → p-6c64c5e9.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-793a453e.entry.js → p-6e4b1bfe.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-da0cacef.entry.js → p-79cc72fc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js → p-7db2c188.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js → p-818fc8a7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9c589ab3.entry.js → p-835cf95a.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e0a6baea.entry.js → p-88ae4e26.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js → p-8feb8b28.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-926bf280.entry.js +2 -0
- package/dist/q2-tecton-elements/{p-9e90a38a.entry.js.map → p-926bf280.entry.js.map} +1 -1
- package/dist/q2-tecton-elements/{p-6c933b14.entry.js → p-97ab03d0.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e44560d9.entry.js → p-9c9a2662.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a8e7e591.entry.js → p-a531a983.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js → p-aa7d16b8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d78669df.entry.js → p-adf615fc.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-40df4468.entry.js → p-b6e531bb.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e3ad770b.entry.js → p-b7805a04.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-77a763eb.entry.js → p-bdaa03ca.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js → p-be03e61f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-05b30f98.entry.js → p-c08dba38.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5037fa67.entry.js → p-dba6c931.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-93680d12.entry.js → p-e3d214f7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-76b98623.entry.js → p-e5e9718c.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-2810ba28.entry.js → p-e844e6f1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js → p-ecddccef.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-be518818.js → p-f1e887f5.js} +1 -1
- package/dist/q2-tecton-elements/{p-c5aac064.entry.js → p-f6a9e28d.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5775b02b.entry.js → p-fdf819d2.entry.js} +2 -2
- 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/test/elements/q2-calendar-test.e2e.js +2 -2
- package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-dropdown-test.e2e.js +2 -14
- package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pagination-test.e2e.js +1 -0
- package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js +1 -1
- package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-popover-test.e2e.js +1 -34
- package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-popover-test.spec.js +902 -511
- package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
- package/dist/test/elements/q2-select-test.e2e.js +1 -15
- package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
- package/dist/test/elements/q2-select-test.spec.js +552 -0
- package/dist/test/elements/q2-select-test.spec.js.map +1 -0
- package/dist/test/elements/q2-tag-test.e2e.js +1 -1
- package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
- package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +10 -0
- package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
- package/dist/types/components/q2-calendar/q2-calendar.d.ts +324 -0
- package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -2
- package/dist/types/components/q2-data-table/q2-data-table.d.ts +223 -0
- package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +130 -0
- package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +50 -0
- package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
- package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
- package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
- package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
- package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -0
- package/dist/types/components/q2-pill/q2-pill.d.ts +102 -0
- package/dist/types/components/q2-popover/q2-popover.d.ts +31 -31
- package/dist/types/components/q2-select/q2-select.d.ts +260 -0
- package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
- package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
- package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +2 -2
- package/dist/types/components/q2-tag/q2-tag.d.ts +59 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/types/utils/action-sheet.d.ts +12 -0
- package/dist/types/utils/index.d.ts +4 -0
- package/package.json +3 -3
- package/dist/cjs/index-a93362ed.js.map +0 -1
- package/dist/esm/index-3c5cd75e.js.map +0 -1
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js +0 -2
- package/dist/q2-tecton-elements/p-089a7a1e.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-2e6669a7.entry.js +0 -2
- package/dist/q2-tecton-elements/p-2e6669a7.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-4da4cb5d.entry.js +0 -2
- package/dist/q2-tecton-elements/p-84190698.js +0 -2
- package/dist/q2-tecton-elements/p-9e90a38a.entry.js +0 -2
- package/dist/q2-tecton-elements/p-a657277b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js +0 -2
- package/dist/q2-tecton-elements/p-d2d3d95b.entry.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js.map → p-014c6454.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js.map → p-01b436c4.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a177d812.entry.js.map → p-0c5ff345.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-db79c056.entry.js.map → p-152641b0.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-dbfab45b.entry.js.map → p-1be2778a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-630613c7.entry.js.map → p-26a23f08.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-da711c59.entry.js.map → p-2a21bb2a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js.map → p-2a471072.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0852e6fe.entry.js.map → p-2cd69fc5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-f6358905.entry.js.map → p-2cdc1c18.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-1e7fa870.entry.js.map → p-408f5dd0.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ea7876eb.entry.js.map → p-45cf9f0b.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-08176bd0.entry.js.map → p-4635d8fd.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-333a41ca.entry.js.map → p-55554655.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js.map → p-6443ae6f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-4388e521.entry.js.map → p-6c64c5e9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-793a453e.entry.js.map → p-6e4b1bfe.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-da0cacef.entry.js.map → p-79cc72fc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js.map → p-7db2c188.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js.map → p-818fc8a7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-9c589ab3.entry.js.map → p-835cf95a.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e0a6baea.entry.js.map → p-88ae4e26.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js.map → p-8feb8b28.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-6c933b14.entry.js.map → p-97ab03d0.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e44560d9.entry.js.map → p-9c9a2662.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a8e7e591.entry.js.map → p-a531a983.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js.map → p-aa7d16b8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d78669df.entry.js.map → p-adf615fc.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-40df4468.entry.js.map → p-b6e531bb.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e3ad770b.entry.js.map → p-b7805a04.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-77a763eb.entry.js.map → p-bdaa03ca.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js.map → p-be03e61f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-05b30f98.entry.js.map → p-c08dba38.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5037fa67.entry.js.map → p-dba6c931.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-93680d12.entry.js.map → p-e3d214f7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-76b98623.entry.js.map → p-e5e9718c.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-2810ba28.entry.js.map → p-e844e6f1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js.map → p-ecddccef.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-be518818.js.map → p-f1e887f5.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-c5aac064.entry.js.map → p-f6a9e28d.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5775b02b.entry.js.map → p-fdf819d2.entry.js.map} +0 -0
- /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
- /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
|
@@ -1,18 +1,71 @@
|
|
|
1
1
|
import { h, } from "@stencil/core";
|
|
2
|
-
import { handleDeprecationWarning, waitForNextPaint } from "../../utils";
|
|
2
|
+
import { handleDeprecationWarning, waitForNextPaint, isMobile, isInScrollableContainer } from "../../utils";
|
|
3
3
|
export class Q2Popover {
|
|
4
4
|
constructor() {
|
|
5
5
|
/**
|
|
6
6
|
* The number of pixels to leave between the popover and the edge of the viewport
|
|
7
7
|
*/
|
|
8
8
|
this.displayBuffer = 10;
|
|
9
|
-
/** remove when Popover API is supported in iOS */
|
|
10
9
|
this.orientationChanged = false;
|
|
10
|
+
/// Helpers ///
|
|
11
11
|
this.handleMinHeight = () => {
|
|
12
12
|
if (this.minHeight) {
|
|
13
13
|
handleDeprecationWarning(this, 'minHeight', 'prop');
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
+
this.handlePopoverToggleEvent = (event) => {
|
|
17
|
+
this.popoverStateChanged.emit({ open: event.newState === 'open' });
|
|
18
|
+
};
|
|
19
|
+
this.viewPortChanged = () => {
|
|
20
|
+
if (!this.open)
|
|
21
|
+
return;
|
|
22
|
+
this.determinePopDirection();
|
|
23
|
+
};
|
|
24
|
+
this.viewPortOrientationChanged = () => {
|
|
25
|
+
this.orientationChanged = true;
|
|
26
|
+
this.viewPortChanged();
|
|
27
|
+
};
|
|
28
|
+
this.setPopoverAPICSSProperties = async () => {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f;
|
|
30
|
+
const { controlElement, containerElement, currentDirection, isModule, align } = this;
|
|
31
|
+
const { top: controlTop, bottom: controlBottom, left: controlLeft, right: controlRight, } = (_b = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(controlElement)) !== null && _b !== void 0 ? _b : {
|
|
32
|
+
top: 0,
|
|
33
|
+
bottom: 0,
|
|
34
|
+
left: 0,
|
|
35
|
+
right: 0,
|
|
36
|
+
};
|
|
37
|
+
const popoverLeft = controlLeft;
|
|
38
|
+
const popoverRight = ((_c = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _c === void 0 ? void 0 : _c.width) - controlRight;
|
|
39
|
+
if (align === 'right') {
|
|
40
|
+
containerElement.style.setProperty('--comp-pop-right', `${popoverRight - window.scrollX}px`);
|
|
41
|
+
containerElement.style.setProperty('--comp-pop-left', 'unset');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
containerElement.style.setProperty('--comp-pop-left', `${popoverLeft + window.scrollX}px`);
|
|
45
|
+
containerElement.style.setProperty('--comp-pop-right', 'unset');
|
|
46
|
+
}
|
|
47
|
+
if (this.block)
|
|
48
|
+
containerElement.style.setProperty('--comp-pop-width', `${(controlElement === null || controlElement === void 0 ? void 0 : controlElement.offsetWidth) || 0}px`);
|
|
49
|
+
if (currentDirection === 'up') {
|
|
50
|
+
if (isModule) {
|
|
51
|
+
containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop - ((_d = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _d === void 0 ? void 0 : _d.offsetTop) - window.scrollY}px`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (currentDirection === 'down') {
|
|
58
|
+
if (isModule) {
|
|
59
|
+
containerElement.style.setProperty('--comp-pop-top', `${controlBottom}px`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
containerElement.style.setProperty('--comp-pop-top', `${controlBottom + ((_f = (_e = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _e === void 0 ? void 0 : _e.offsetTop) !== null && _f !== void 0 ? _f : 0) + window.scrollY}px`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Wait for one paint to prevent layout thrashing
|
|
66
|
+
await waitForNextPaint();
|
|
67
|
+
containerElement.style.setProperty('--comp-pop-opacity', '1');
|
|
68
|
+
};
|
|
16
69
|
this.setAbsoluteCSSProperties = async () => {
|
|
17
70
|
const { controlElement, containerElement, currentDirection, align } = this;
|
|
18
71
|
if (align === 'right') {
|
|
@@ -37,83 +90,46 @@ export class Q2Popover {
|
|
|
37
90
|
await waitForNextPaint();
|
|
38
91
|
containerElement.style.setProperty('--comp-pop-opacity', '1');
|
|
39
92
|
};
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const { top: controlTop, bottom: controlBottom, left: controlLeft, right: controlRight, } = (_b = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(controlElement)) !== null && _b !== void 0 ? _b : {
|
|
44
|
-
top: 0,
|
|
45
|
-
bottom: 0,
|
|
46
|
-
left: 0,
|
|
47
|
-
right: 0,
|
|
48
|
-
};
|
|
49
|
-
const popoverLeft = controlLeft - rootElementRect.left;
|
|
50
|
-
if (this.block)
|
|
51
|
-
containerElement.style.setProperty('--comp-pop-width', `${controlElement.offsetWidth || 0}px`);
|
|
52
|
-
containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);
|
|
53
|
-
containerElement.style.setProperty('--comp-pop-right', `${rootElementRect.width + rootElementRect.left - controlRight}px`);
|
|
54
|
-
if (currentDirection === 'up') {
|
|
55
|
-
containerElement.style.setProperty('--comp-pop-bottom', `${rootElementRect.height + rootElementRect.top - controlTop}px`);
|
|
56
|
-
}
|
|
57
|
-
if (currentDirection === 'down') {
|
|
58
|
-
containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);
|
|
59
|
-
}
|
|
60
|
-
// Wait for one paint to prevent layout thrashing
|
|
61
|
-
await waitForNextPaint();
|
|
62
|
-
containerElement.style.setProperty('--comp-pop-opacity', '1');
|
|
63
|
-
};
|
|
64
|
-
this.viewPortChanged = () => {
|
|
65
|
-
if (!this.open)
|
|
66
|
-
return;
|
|
67
|
-
this.determinePopDirection();
|
|
68
|
-
};
|
|
69
|
-
this.viewPortOrientationChanged = () => {
|
|
70
|
-
this.orientationChanged = true;
|
|
71
|
-
this.viewPortChanged();
|
|
72
|
-
};
|
|
73
|
-
this.currentDirection = undefined;
|
|
74
|
-
this.show = false;
|
|
75
|
-
this.align = undefined;
|
|
93
|
+
this.direction = undefined;
|
|
94
|
+
this.align = 'left';
|
|
95
|
+
this.open = undefined;
|
|
76
96
|
this.block = undefined;
|
|
77
97
|
this.controlElement = undefined;
|
|
78
|
-
this.direction = undefined;
|
|
79
|
-
this.minHeight = undefined;
|
|
80
98
|
this.mode = null;
|
|
81
|
-
this.
|
|
99
|
+
this.minHeight = undefined;
|
|
100
|
+
this.currentDirection = undefined;
|
|
101
|
+
this.show = false;
|
|
82
102
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
103
|
+
/// Lifecycle hooks ///
|
|
104
|
+
componentWillLoad() {
|
|
105
|
+
if (!this.supportsPopoverAPI) {
|
|
106
|
+
console.warn('The Popover API is not supported in this browser. Please update your browser to the latest version. The component will use legacy mode.');
|
|
107
|
+
this.mode = 'legacy';
|
|
108
|
+
}
|
|
87
109
|
}
|
|
88
110
|
componentDidLoad() {
|
|
89
111
|
this.handleMinHeight();
|
|
112
|
+
if (this.supportsPopoverAPI)
|
|
113
|
+
this.containerElement.addEventListener('toggle', this.handlePopoverToggleEvent);
|
|
90
114
|
if (this.open)
|
|
91
115
|
this.determinePopDirection();
|
|
92
116
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
this.open = open;
|
|
100
|
-
event.stopPropagation();
|
|
101
|
-
}
|
|
102
|
-
// #endregion
|
|
103
|
-
// #region Public Methods API
|
|
104
|
-
async scrollContainerTo(options) {
|
|
105
|
-
this.containerElement.scrollTo(options);
|
|
117
|
+
disconnectedCallback() {
|
|
118
|
+
this.removeViewportListeners();
|
|
119
|
+
this.containerElement.removeEventListener('toggle', this.handlePopoverToggleEvent);
|
|
120
|
+
this.containerElement = null;
|
|
121
|
+
this.contentElement = null;
|
|
122
|
+
this.controlElement = null;
|
|
106
123
|
}
|
|
124
|
+
/// Methods ///
|
|
107
125
|
async toggle() {
|
|
108
126
|
this.open = !this.open;
|
|
109
127
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
minHeightProvided() {
|
|
113
|
-
this.handleMinHeight();
|
|
128
|
+
async scrollContainerTo(options) {
|
|
129
|
+
this.containerElement.scrollTo(options);
|
|
114
130
|
}
|
|
131
|
+
/// Watchers ///
|
|
115
132
|
async openChanged(open) {
|
|
116
|
-
this.setRootElement();
|
|
117
133
|
this.popoverStateChanged.emit({ open });
|
|
118
134
|
if (open) {
|
|
119
135
|
this.addViewportListeners();
|
|
@@ -122,14 +138,29 @@ export class Q2Popover {
|
|
|
122
138
|
else {
|
|
123
139
|
this.removeViewportListeners();
|
|
124
140
|
this.currentDirection = undefined;
|
|
125
|
-
this.
|
|
141
|
+
if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
|
|
142
|
+
this.show = false;
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.containerElement.hidePopover();
|
|
146
|
+
}
|
|
126
147
|
await waitForNextPaint();
|
|
127
148
|
this.clearCSSProperties();
|
|
128
149
|
}
|
|
129
150
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
151
|
+
minHeightProvided() {
|
|
152
|
+
this.handleMinHeight();
|
|
153
|
+
}
|
|
154
|
+
/// Listeners ///
|
|
155
|
+
popoverStateHandler(event) {
|
|
156
|
+
const { detail: { open }, } = event;
|
|
157
|
+
if (open === this.open)
|
|
158
|
+
return;
|
|
159
|
+
this.open = open;
|
|
160
|
+
event.stopPropagation();
|
|
161
|
+
}
|
|
162
|
+
/// Getters ///
|
|
163
|
+
get providedDirection() {
|
|
133
164
|
const { direction } = this;
|
|
134
165
|
switch (direction) {
|
|
135
166
|
case 'up':
|
|
@@ -145,14 +176,26 @@ export class Q2Popover {
|
|
|
145
176
|
const hasPlatformDimensions = Object.keys((_b = (_a = window.Tecton) === null || _a === void 0 ? void 0 : _a.platformDimensions) !== null && _b !== void 0 ? _b : {}).length > 0;
|
|
146
177
|
return isIframe && hasPlatformDimensions;
|
|
147
178
|
}
|
|
179
|
+
get supportsPopoverAPI() {
|
|
180
|
+
return Object.hasOwn(HTMLElement.prototype, 'popover');
|
|
181
|
+
}
|
|
148
182
|
addViewportListeners() {
|
|
149
183
|
var _a;
|
|
150
184
|
window.addEventListener('resize', this.viewPortOrientationChanged);
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
185
|
+
visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
|
|
186
|
+
if (isInScrollableContainer(this.hostElement) && !isMobile()) {
|
|
187
|
+
window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
|
|
188
|
+
}
|
|
189
|
+
(_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
154
190
|
window.addEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
155
|
-
|
|
191
|
+
}
|
|
192
|
+
removeViewportListeners() {
|
|
193
|
+
var _a;
|
|
194
|
+
window.removeEventListener('resize', this.viewPortOrientationChanged);
|
|
195
|
+
visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
|
|
196
|
+
window.removeEventListener('scroll', this.viewPortChanged, { capture: true });
|
|
197
|
+
(_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
198
|
+
window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
156
199
|
}
|
|
157
200
|
clearCSSProperties() {
|
|
158
201
|
this.containerElement.style.removeProperty('--comp-pop-max-height');
|
|
@@ -163,9 +206,25 @@ export class Q2Popover {
|
|
|
163
206
|
this.containerElement.style.removeProperty('--comp-pop-width');
|
|
164
207
|
this.containerElement.style.removeProperty('--comp-pop-opacity');
|
|
165
208
|
}
|
|
209
|
+
setDirectionAndShow(direction) {
|
|
210
|
+
// Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
|
|
211
|
+
// popover can be closed between the time the popover is opened and the time the direction is determined
|
|
212
|
+
const isOpen = this.open;
|
|
213
|
+
if (!isOpen)
|
|
214
|
+
return;
|
|
215
|
+
this.currentDirection = direction;
|
|
216
|
+
if (this.mode === 'legacy' || !this.supportsPopoverAPI) {
|
|
217
|
+
this.show = true;
|
|
218
|
+
this.setAbsoluteCSSProperties();
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
this.setPopoverAPICSSProperties();
|
|
222
|
+
this.containerElement.showPopover();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
166
225
|
async determinePopDirection() {
|
|
167
226
|
var _a, _b, _c;
|
|
168
|
-
const { containerElement, controlElement,
|
|
227
|
+
const { containerElement, controlElement, providedDirection, displayBuffer } = this;
|
|
169
228
|
if (containerElement)
|
|
170
229
|
containerElement.style.maxHeight = null;
|
|
171
230
|
await waitForNextPaint();
|
|
@@ -178,20 +237,23 @@ export class Q2Popover {
|
|
|
178
237
|
let maxSpaceAbove;
|
|
179
238
|
let maxSpaceBelow;
|
|
180
239
|
if (isModule) {
|
|
181
|
-
const { outletOffset = 0, innerHeight = window.innerHeight } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
|
|
182
|
-
const distanceToIframeBottom = window.
|
|
183
|
-
|
|
240
|
+
const { outletOffset = 0, innerHeight = window.innerHeight, top: topBarHeight = 0, bottom: bottomBarHeight = 0, } = ((_c = window.Tecton) === null || _c === void 0 ? void 0 : _c.platformDimensions) || {};
|
|
241
|
+
const distanceToIframeBottom = window.innerHeight - controlBottom;
|
|
242
|
+
// controlElement position visually on the page
|
|
243
|
+
const visualControlTop = outletOffset > 0 ? controlTop : controlTop + outletOffset - topBarHeight;
|
|
244
|
+
const visualControlBottom = outletOffset + controlBottom - topBarHeight;
|
|
245
|
+
// visual space around the controlElement
|
|
246
|
+
const viewableSpaceAbove = visualControlTop;
|
|
247
|
+
const viewableSpaceBelow = innerHeight - bottomBarHeight - visualControlBottom;
|
|
248
|
+
// calculate space above and below controlElement
|
|
184
249
|
const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;
|
|
185
|
-
|
|
186
|
-
// If the top of the module is below the top of the window we just use the controlTop
|
|
187
|
-
// Otherwise we need to add the outletOffset to the controlTop
|
|
188
|
-
maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;
|
|
250
|
+
maxSpaceAbove = viewableSpaceAbove - displayBuffer;
|
|
189
251
|
maxSpaceBelow = isIframeShorterThanWindow
|
|
190
252
|
? distanceToIframeBottom - displayBuffer
|
|
191
253
|
: viewableSpaceBelow - displayBuffer;
|
|
192
254
|
}
|
|
193
255
|
else {
|
|
194
|
-
windowHeight = window.
|
|
256
|
+
windowHeight = window.innerHeight;
|
|
195
257
|
maxSpaceAbove = controlTop - displayBuffer;
|
|
196
258
|
maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
|
|
197
259
|
}
|
|
@@ -200,7 +262,7 @@ export class Q2Popover {
|
|
|
200
262
|
const shouldUpdateMaxHeight = !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;
|
|
201
263
|
// we do not want to constantly update the max-height after an orientation change, so we switch this back to false
|
|
202
264
|
this.orientationChanged = false;
|
|
203
|
-
const currentOrDetermineDirection = this.currentDirection ||
|
|
265
|
+
const currentOrDetermineDirection = this.currentDirection || providedDirection || directionWithMostSpace;
|
|
204
266
|
switch (currentOrDetermineDirection) {
|
|
205
267
|
case 'up':
|
|
206
268
|
if (shouldUpdateMaxHeight) {
|
|
@@ -218,75 +280,16 @@ export class Q2Popover {
|
|
|
218
280
|
break;
|
|
219
281
|
}
|
|
220
282
|
}
|
|
221
|
-
|
|
222
|
-
var _a;
|
|
223
|
-
window.removeEventListener('resize', this.viewPortOrientationChanged);
|
|
224
|
-
// #region remove when Popover API is supported in iOS
|
|
225
|
-
window.removeEventListener('scroll', this.viewPortChanged);
|
|
226
|
-
(_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
227
|
-
window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
|
|
228
|
-
// #endregion
|
|
229
|
-
}
|
|
230
|
-
setDirectionAndShow(direction) {
|
|
231
|
-
this.setRootElement();
|
|
232
|
-
// Due to some runtime inconsistency across devices/browsers we need to add one more check here because the
|
|
233
|
-
// popover can be closed between the time the popover is opened and the time the direction is determined
|
|
234
|
-
const isOpen = this.open;
|
|
235
|
-
if (!isOpen)
|
|
236
|
-
return;
|
|
237
|
-
this.currentDirection = direction;
|
|
238
|
-
this.show = true;
|
|
239
|
-
if (this.mode === 'legacy') {
|
|
240
|
-
this.setAbsoluteCSSProperties();
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
this.setFixedCSSProperties();
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
setRootElement() {
|
|
247
|
-
let currentElement = this.hostElement;
|
|
248
|
-
while (currentElement && currentElement !== document.documentElement) {
|
|
249
|
-
const computedStyle = window.getComputedStyle(currentElement);
|
|
250
|
-
// Check if the element has any styles applied that create a new containg block
|
|
251
|
-
if (computedStyle.transform !== 'none' ||
|
|
252
|
-
computedStyle.filter !== 'none' ||
|
|
253
|
-
computedStyle.perspective !== 'none' ||
|
|
254
|
-
computedStyle.containerType !== 'normal' ||
|
|
255
|
-
['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||
|
|
256
|
-
['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)) {
|
|
257
|
-
this.rootElementRect = currentElement.getBoundingClientRect();
|
|
258
|
-
return;
|
|
259
|
-
}
|
|
260
|
-
const rootNode = currentElement.getRootNode();
|
|
261
|
-
const isRootNodeWebComponent = typeof ShadowRoot !== 'undefined' &&
|
|
262
|
-
rootNode instanceof ShadowRoot &&
|
|
263
|
-
rootNode.host instanceof HTMLElement;
|
|
264
|
-
if (isRootNodeWebComponent) {
|
|
265
|
-
currentElement = rootNode.host;
|
|
266
|
-
}
|
|
267
|
-
else {
|
|
268
|
-
currentElement = currentElement.parentElement;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
// Return the document's bounding rect if no element is found
|
|
272
|
-
this.rootElementRect = {
|
|
273
|
-
top: 0,
|
|
274
|
-
bottom: 0,
|
|
275
|
-
left: 0,
|
|
276
|
-
right: 0,
|
|
277
|
-
height: window.visualViewport.height,
|
|
278
|
-
width: window.visualViewport.width,
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
// #endregion
|
|
282
|
-
// #region Render Methods
|
|
283
|
+
/// DOM ///
|
|
283
284
|
render() {
|
|
284
|
-
const containerClasses = ['container', this.currentDirection];
|
|
285
|
+
const containerClasses = ['container', this.currentDirection, this.align];
|
|
285
286
|
if (this.show)
|
|
286
287
|
containerClasses.push('show');
|
|
288
|
+
if (this.block)
|
|
289
|
+
containerClasses.push('block');
|
|
287
290
|
if (this.mode === 'legacy')
|
|
288
291
|
containerClasses.push('legacy');
|
|
289
|
-
return (h("div", { key: '
|
|
292
|
+
return (h("div", { key: 'b4cca12b46de7d0a8cd753163d4b08c4c0b88d47', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, h("div", { key: 'e9ff3b3d8511d0601e7bfe142042138535029aa9', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: 'c183a54fecb2e55d84ab2a0b39e7dbd4a4db6282' }))));
|
|
290
293
|
}
|
|
291
294
|
static get is() { return "q2-popover"; }
|
|
292
295
|
static get encapsulation() { return "shadow"; }
|
|
@@ -302,6 +305,23 @@ export class Q2Popover {
|
|
|
302
305
|
}
|
|
303
306
|
static get properties() {
|
|
304
307
|
return {
|
|
308
|
+
"direction": {
|
|
309
|
+
"type": "string",
|
|
310
|
+
"mutable": false,
|
|
311
|
+
"complexType": {
|
|
312
|
+
"original": "'up' | 'down'",
|
|
313
|
+
"resolved": "\"down\" | \"up\"",
|
|
314
|
+
"references": {}
|
|
315
|
+
},
|
|
316
|
+
"required": false,
|
|
317
|
+
"optional": false,
|
|
318
|
+
"docs": {
|
|
319
|
+
"tags": [],
|
|
320
|
+
"text": "Force the direction of the popover when it opens.\nIf no value is passed, the component will auto-detect the direction based on available space."
|
|
321
|
+
},
|
|
322
|
+
"attribute": "direction",
|
|
323
|
+
"reflect": true
|
|
324
|
+
},
|
|
305
325
|
"align": {
|
|
306
326
|
"type": "string",
|
|
307
327
|
"mutable": false,
|
|
@@ -317,6 +337,24 @@ export class Q2Popover {
|
|
|
317
337
|
"text": "Aligns the popover to the left or right side of the control element."
|
|
318
338
|
},
|
|
319
339
|
"attribute": "align",
|
|
340
|
+
"reflect": true,
|
|
341
|
+
"defaultValue": "'left'"
|
|
342
|
+
},
|
|
343
|
+
"open": {
|
|
344
|
+
"type": "boolean",
|
|
345
|
+
"mutable": true,
|
|
346
|
+
"complexType": {
|
|
347
|
+
"original": "boolean",
|
|
348
|
+
"resolved": "boolean",
|
|
349
|
+
"references": {}
|
|
350
|
+
},
|
|
351
|
+
"required": false,
|
|
352
|
+
"optional": false,
|
|
353
|
+
"docs": {
|
|
354
|
+
"tags": [],
|
|
355
|
+
"text": "Controls whether the popover is open or closed."
|
|
356
|
+
},
|
|
357
|
+
"attribute": "open",
|
|
320
358
|
"reflect": true
|
|
321
359
|
},
|
|
322
360
|
"block": {
|
|
@@ -356,22 +394,23 @@ export class Q2Popover {
|
|
|
356
394
|
"text": "The element that controls the popover's behavior."
|
|
357
395
|
}
|
|
358
396
|
},
|
|
359
|
-
"
|
|
397
|
+
"mode": {
|
|
360
398
|
"type": "string",
|
|
361
399
|
"mutable": false,
|
|
362
400
|
"complexType": {
|
|
363
|
-
"original": "'
|
|
364
|
-
"resolved": "\"
|
|
401
|
+
"original": "'legacy'",
|
|
402
|
+
"resolved": "\"legacy\"",
|
|
365
403
|
"references": {}
|
|
366
404
|
},
|
|
367
405
|
"required": false,
|
|
368
406
|
"optional": false,
|
|
369
407
|
"docs": {
|
|
370
408
|
"tags": [],
|
|
371
|
-
"text": "
|
|
409
|
+
"text": ""
|
|
372
410
|
},
|
|
373
|
-
"attribute": "
|
|
374
|
-
"reflect":
|
|
411
|
+
"attribute": "mode",
|
|
412
|
+
"reflect": false,
|
|
413
|
+
"defaultValue": "null"
|
|
375
414
|
},
|
|
376
415
|
"minHeight": {
|
|
377
416
|
"type": "number",
|
|
@@ -392,41 +431,6 @@ export class Q2Popover {
|
|
|
392
431
|
},
|
|
393
432
|
"attribute": "min-height",
|
|
394
433
|
"reflect": false
|
|
395
|
-
},
|
|
396
|
-
"mode": {
|
|
397
|
-
"type": "string",
|
|
398
|
-
"mutable": false,
|
|
399
|
-
"complexType": {
|
|
400
|
-
"original": "'legacy'",
|
|
401
|
-
"resolved": "\"legacy\"",
|
|
402
|
-
"references": {}
|
|
403
|
-
},
|
|
404
|
-
"required": false,
|
|
405
|
-
"optional": false,
|
|
406
|
-
"docs": {
|
|
407
|
-
"tags": [],
|
|
408
|
-
"text": ""
|
|
409
|
-
},
|
|
410
|
-
"attribute": "mode",
|
|
411
|
-
"reflect": false,
|
|
412
|
-
"defaultValue": "null"
|
|
413
|
-
},
|
|
414
|
-
"open": {
|
|
415
|
-
"type": "boolean",
|
|
416
|
-
"mutable": true,
|
|
417
|
-
"complexType": {
|
|
418
|
-
"original": "boolean",
|
|
419
|
-
"resolved": "boolean",
|
|
420
|
-
"references": {}
|
|
421
|
-
},
|
|
422
|
-
"required": false,
|
|
423
|
-
"optional": false,
|
|
424
|
-
"docs": {
|
|
425
|
-
"tags": [],
|
|
426
|
-
"text": "Controls whether the popover is open or closed."
|
|
427
|
-
},
|
|
428
|
-
"attribute": "open",
|
|
429
|
-
"reflect": true
|
|
430
434
|
}
|
|
431
435
|
};
|
|
432
436
|
}
|
|
@@ -456,22 +460,14 @@ export class Q2Popover {
|
|
|
456
460
|
}
|
|
457
461
|
static get methods() {
|
|
458
462
|
return {
|
|
459
|
-
"
|
|
463
|
+
"toggle": {
|
|
460
464
|
"complexType": {
|
|
461
|
-
"signature": "(
|
|
462
|
-
"parameters": [
|
|
463
|
-
"name": "options",
|
|
464
|
-
"type": "ScrollToOptions",
|
|
465
|
-
"docs": ""
|
|
466
|
-
}],
|
|
465
|
+
"signature": "() => Promise<void>",
|
|
466
|
+
"parameters": [],
|
|
467
467
|
"references": {
|
|
468
468
|
"Promise": {
|
|
469
469
|
"location": "global",
|
|
470
470
|
"id": "global::Promise"
|
|
471
|
-
},
|
|
472
|
-
"ScrollToOptions": {
|
|
473
|
-
"location": "global",
|
|
474
|
-
"id": "global::ScrollToOptions"
|
|
475
471
|
}
|
|
476
472
|
},
|
|
477
473
|
"return": "Promise<void>"
|
|
@@ -481,14 +477,22 @@ export class Q2Popover {
|
|
|
481
477
|
"tags": []
|
|
482
478
|
}
|
|
483
479
|
},
|
|
484
|
-
"
|
|
480
|
+
"scrollContainerTo": {
|
|
485
481
|
"complexType": {
|
|
486
|
-
"signature": "() => Promise<void>",
|
|
487
|
-
"parameters": [
|
|
482
|
+
"signature": "(options: ScrollToOptions) => Promise<void>",
|
|
483
|
+
"parameters": [{
|
|
484
|
+
"name": "options",
|
|
485
|
+
"type": "ScrollToOptions",
|
|
486
|
+
"docs": ""
|
|
487
|
+
}],
|
|
488
488
|
"references": {
|
|
489
489
|
"Promise": {
|
|
490
490
|
"location": "global",
|
|
491
491
|
"id": "global::Promise"
|
|
492
|
+
},
|
|
493
|
+
"ScrollToOptions": {
|
|
494
|
+
"location": "global",
|
|
495
|
+
"id": "global::ScrollToOptions"
|
|
492
496
|
}
|
|
493
497
|
},
|
|
494
498
|
"return": "Promise<void>"
|
|
@@ -503,11 +507,11 @@ export class Q2Popover {
|
|
|
503
507
|
static get elementRef() { return "hostElement"; }
|
|
504
508
|
static get watchers() {
|
|
505
509
|
return [{
|
|
506
|
-
"propName": "minHeight",
|
|
507
|
-
"methodName": "minHeightProvided"
|
|
508
|
-
}, {
|
|
509
510
|
"propName": "open",
|
|
510
511
|
"methodName": "openChanged"
|
|
512
|
+
}, {
|
|
513
|
+
"propName": "minHeight",
|
|
514
|
+
"methodName": "minHeightProvided"
|
|
511
515
|
}];
|
|
512
516
|
}
|
|
513
517
|
static get listeners() {
|