@fabric-msft/fabric-web 4.0.0 → 5.0.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/CHANGELOG.json +334 -0
- package/CHANGELOG.md +108 -1
- package/dist/dts/components/accordion-menu/accordion-menu.d.ts +2 -2
- package/dist/dts/components/accordion-menu/accordion-menu.d.ts.map +1 -1
- package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts +1 -1
- package/dist/dts/components/accordion-menu/accordion-menu.template.d.ts.map +1 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts +2 -2
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +1 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts +1 -1
- package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.template.d.ts.map +1 -1
- package/dist/dts/components/button/button.d.ts +1 -1
- package/dist/dts/components/button/button.d.ts.map +1 -1
- package/dist/dts/components/card/card.template.d.ts +1 -1
- package/dist/dts/components/card/card.template.d.ts.map +1 -1
- package/dist/dts/components/card-footer/card-footer.template.d.ts +1 -1
- package/dist/dts/components/card-footer/card-footer.template.d.ts.map +1 -1
- package/dist/dts/components/card-header/card-header.template.d.ts +1 -1
- package/dist/dts/components/card-header/card-header.template.d.ts.map +1 -1
- package/dist/dts/components/card-preview/card-preview.template.d.ts +1 -1
- package/dist/dts/components/card-preview/card-preview.template.d.ts.map +1 -1
- package/dist/dts/components/carousel/carousel.template.d.ts +1 -1
- package/dist/dts/components/carousel/carousel.template.d.ts.map +1 -1
- package/dist/dts/components/component-register.d.ts +67 -0
- package/dist/dts/components/component-register.d.ts.map +1 -0
- package/dist/dts/components/compound-button/compound-button.d.ts +1 -1
- package/dist/dts/components/compound-button/compound-button.d.ts.map +1 -1
- package/dist/dts/components/compound-button/compound-button.options.d.ts +1 -1
- package/dist/dts/components/compound-button/compound-button.options.d.ts.map +1 -1
- package/dist/dts/components/counter-badge/counter-badge.definition.d.ts +1 -1
- package/dist/dts/components/counter-badge/counter-badge.definition.d.ts.map +1 -1
- package/dist/dts/components/counter-badge/counter-badge.options.d.ts +64 -0
- package/dist/dts/components/counter-badge/counter-badge.options.d.ts.map +1 -0
- package/dist/dts/components/counter-badge/index.d.ts +4 -3
- package/dist/dts/components/counter-badge/index.d.ts.map +1 -1
- package/dist/dts/components/field/field.d.ts +32 -1
- package/dist/dts/components/field/field.d.ts.map +1 -1
- package/dist/dts/components/filter-pill/filter-pill.d.ts +2 -2
- package/dist/dts/components/filter-pill/filter-pill.d.ts.map +1 -1
- package/dist/dts/components/filter-pill/filter-pill.styles.d.ts.map +1 -1
- package/dist/dts/components/filter-pill/filter-pill.template.d.ts +1 -1
- package/dist/dts/components/filter-pill/filter-pill.template.d.ts.map +1 -1
- package/dist/dts/components/listbox/listbox.d.ts +1 -1
- package/dist/dts/components/listbox/listbox.d.ts.map +1 -1
- package/dist/dts/components/loading-button/loading-button.template.d.ts +1 -1
- package/dist/dts/components/loading-button/loading-button.template.d.ts.map +1 -1
- package/dist/dts/components/menu/menu.d.ts +71 -83
- package/dist/dts/components/menu/menu.d.ts.map +1 -1
- package/dist/dts/components/menu/menu.positioning.d.ts +26 -67
- package/dist/dts/components/menu/menu.positioning.d.ts.map +1 -1
- package/dist/dts/components/menu/menu.styles.d.ts.map +1 -1
- package/dist/dts/components/menu/menu.template.d.ts +1 -1
- package/dist/dts/components/menu/menu.template.d.ts.map +1 -1
- package/dist/dts/components/menu-item/menu-item.d.ts +4 -4
- package/dist/dts/components/menu-item/menu-item.d.ts.map +1 -1
- package/dist/dts/components/menu-list/menu-list.d.ts +1 -1
- package/dist/dts/components/menu-list/menu-list.d.ts.map +1 -1
- package/dist/dts/components/multi-view/multi-view.template.d.ts +1 -1
- package/dist/dts/components/multi-view/multi-view.template.d.ts.map +1 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.styles.d.ts.map +1 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts +1 -1
- package/dist/dts/components/multi-view-controller/multi-view-controller.template.d.ts.map +1 -1
- package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts +1 -1
- package/dist/dts/components/multi-view-group/multi-view-group.template.d.ts.map +1 -1
- package/dist/dts/components/option-group/option-group.d.ts +1 -1
- package/dist/dts/components/option-group/option-group.d.ts.map +1 -1
- package/dist/dts/components/option-group/option-group.template.d.ts +1 -1
- package/dist/dts/components/option-group/option-group.template.d.ts.map +1 -1
- package/dist/dts/components/popover/index.d.ts +1 -1
- package/dist/dts/components/popover/index.d.ts.map +1 -1
- package/dist/dts/components/popover/popover.d.ts +53 -74
- package/dist/dts/components/popover/popover.d.ts.map +1 -1
- package/dist/dts/components/popover/popover.definition.d.ts +1 -1
- package/dist/dts/components/popover/popover.definition.d.ts.map +1 -1
- package/dist/dts/components/popover/popover.options.d.ts +25 -10
- package/dist/dts/components/popover/popover.options.d.ts.map +1 -1
- package/dist/dts/components/popover/popover.positioning.d.ts +92 -0
- package/dist/dts/components/popover/popover.positioning.d.ts.map +1 -0
- package/dist/dts/components/popover/popover.styles.d.ts.map +1 -1
- package/dist/dts/components/popover/popover.template.d.ts +1 -1
- package/dist/dts/components/popover/popover.template.d.ts.map +1 -1
- package/dist/dts/components/search-box/index.d.ts +1 -1
- package/dist/dts/components/search-box/index.d.ts.map +1 -1
- package/dist/dts/components/search-box/search-box.d.ts +1 -1
- package/dist/dts/components/search-box/search-box.d.ts.map +1 -1
- package/dist/dts/components/search-box/search-box.options.d.ts.map +1 -1
- package/dist/dts/components/search-box/search-box.template.d.ts +1 -1
- package/dist/dts/components/search-box/search-box.template.d.ts.map +1 -1
- package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts +1 -1
- package/dist/dts/components/svg-icon/scripts/sprite-builder.d.ts.map +1 -1
- package/dist/dts/components/svg-icon/svg-icon.styles.d.ts.map +1 -1
- package/dist/dts/components/table/index.d.ts +6 -5
- package/dist/dts/components/table/index.d.ts.map +1 -1
- package/dist/dts/components/table/table.d.ts +2 -2
- package/dist/dts/components/table/table.d.ts.map +1 -1
- package/dist/dts/components/table/table.options.d.ts +4 -4
- package/dist/dts/components/table/table.options.d.ts.map +1 -1
- package/dist/dts/components/table/table.styles.d.ts.map +1 -1
- package/dist/dts/components/table/table.template.d.ts +1 -1
- package/dist/dts/components/table/table.template.d.ts.map +1 -1
- package/dist/dts/components/table-cell/index.d.ts +6 -5
- package/dist/dts/components/table-cell/index.d.ts.map +1 -1
- package/dist/dts/components/table-cell/table-cell.options.d.ts +2 -2
- package/dist/dts/components/table-cell/table-cell.options.d.ts.map +1 -1
- package/dist/dts/components/table-cell/table-cell.template.d.ts +1 -1
- package/dist/dts/components/table-cell/table-cell.template.d.ts.map +1 -1
- package/dist/dts/components/tag/tag.d.ts +1 -1
- package/dist/dts/components/tag/tag.d.ts.map +1 -1
- package/dist/dts/components/tag/tag.styles.d.ts.map +1 -1
- package/dist/dts/components/tag/tag.template.d.ts +1 -1
- package/dist/dts/components/tag/tag.template.d.ts.map +1 -1
- package/dist/dts/components/teaching-bubble/index.d.ts +2 -0
- package/dist/dts/components/teaching-bubble/index.d.ts.map +1 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts +1 -12
- package/dist/dts/components/teaching-bubble/teaching-bubble.d.ts.map +1 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.styles.d.ts.map +1 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts +1 -1
- package/dist/dts/components/teaching-bubble/teaching-bubble.template.d.ts.map +1 -1
- package/dist/dts/components/text/index.d.ts +4 -3
- package/dist/dts/components/text/index.d.ts.map +1 -1
- package/dist/dts/components/text/text.d.ts +3 -3
- package/dist/dts/components/text/text.options.d.ts +35 -0
- package/dist/dts/components/text/text.options.d.ts.map +1 -0
- package/dist/dts/components/text-input/index.d.ts +1 -1
- package/dist/dts/components/text-input/index.d.ts.map +1 -1
- package/dist/dts/components/text-input/text-input.base.d.ts +3 -3
- package/dist/dts/components/text-input/text-input.base.d.ts.map +1 -1
- package/dist/dts/components/text-input/text-input.d.ts.map +1 -1
- package/dist/dts/components/text-input/text-input.styles.d.ts.map +1 -1
- package/dist/dts/components/text-input/text-input.template.d.ts +1 -2
- package/dist/dts/components/text-input/text-input.template.d.ts.map +1 -1
- package/dist/dts/components/textarea/index.d.ts +5 -3
- package/dist/dts/components/textarea/index.d.ts.map +1 -1
- package/dist/dts/components/textarea/textarea.options.d.ts +39 -0
- package/dist/dts/components/textarea/textarea.options.d.ts.map +1 -0
- package/dist/dts/components/tooltip/tooltip.d.ts +27 -0
- package/dist/dts/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/dts/components/tooltip/tooltip.template.d.ts +13 -0
- package/dist/dts/components/tooltip/tooltip.template.d.ts.map +1 -0
- package/dist/dts/components/tree/tree.d.ts +16 -0
- package/dist/dts/components/tree/tree.d.ts.map +1 -1
- package/dist/dts/components/tree-item/index.d.ts +2 -1
- package/dist/dts/components/tree-item/index.d.ts.map +1 -1
- package/dist/dts/components/tree-item/tree-item.definition.d.ts.map +1 -1
- package/dist/dts/components/tree-item/tree-item.styles.d.ts +2 -0
- package/dist/dts/components/tree-item/tree-item.styles.d.ts.map +1 -0
- package/dist/dts/components/tree-item/tree-item.template.d.ts +4 -0
- package/dist/dts/components/tree-item/tree-item.template.d.ts.map +1 -0
- package/dist/dts/components/wizard/index.d.ts +1 -1
- package/dist/dts/components/wizard/index.d.ts.map +1 -1
- package/dist/dts/components/wizard/wizard.d.ts +1 -1
- package/dist/dts/components/wizard/wizard.d.ts.map +1 -1
- package/dist/dts/components/wizard/wizard.template.d.ts +1 -1
- package/dist/dts/components/wizard/wizard.template.d.ts.map +1 -1
- package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts +1 -1
- package/dist/dts/components/wizard-panel/wizard-panel.template.d.ts.map +1 -1
- package/dist/dts/components/wizard-step/index.d.ts +1 -1
- package/dist/dts/components/wizard-step/index.d.ts.map +1 -1
- package/dist/dts/components/wizard-step/wizard-step.d.ts +1 -1
- package/dist/dts/components/wizard-step/wizard-step.d.ts.map +1 -1
- package/dist/dts/components/wizard-step/wizard-step.styles.d.ts.map +1 -1
- package/dist/dts/components/wizard-step/wizard-step.template.d.ts +1 -1
- package/dist/dts/components/wizard-step/wizard-step.template.d.ts.map +1 -1
- package/dist/dts/index.d.ts +20 -13
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/util/accessibility-utilities.d.ts +23 -0
- package/dist/dts/util/accessibility-utilities.d.ts.map +1 -0
- package/dist/dts/util/attribute-utilities.d.ts +9 -0
- package/dist/dts/util/attribute-utilities.d.ts.map +1 -0
- package/dist/dts/util/debounce.d.ts.map +1 -0
- package/dist/dts/util/debug.d.ts +32 -0
- package/dist/dts/util/debug.d.ts.map +1 -0
- package/dist/dts/util/direction.d.ts +193 -0
- package/dist/dts/util/direction.d.ts.map +1 -1
- package/dist/dts/util/dom.d.ts +2 -0
- package/dist/dts/util/dom.d.ts.map +1 -0
- package/dist/dts/util/element-internal-mocks.d.ts +67 -0
- package/dist/dts/util/element-internal-mocks.d.ts.map +1 -0
- package/dist/dts/util/focus-management.d.ts +132 -0
- package/dist/dts/util/focus-management.d.ts.map +1 -0
- package/dist/dts/util/hash-utilities.d.ts +8 -0
- package/dist/dts/util/hash-utilities.d.ts.map +1 -0
- package/dist/dts/util/index.d.ts +13 -6
- package/dist/dts/util/index.d.ts.map +1 -1
- package/dist/dts/util/positioning/flexible-position-strategy.d.ts +87 -0
- package/dist/dts/util/positioning/flexible-position-strategy.d.ts.map +1 -0
- package/dist/dts/util/positioning/index.d.ts +9 -0
- package/dist/dts/util/positioning/index.d.ts.map +1 -0
- package/dist/dts/util/positioning/position-calculator.d.ts +46 -0
- package/dist/dts/util/positioning/position-calculator.d.ts.map +1 -0
- package/dist/dts/util/positioning/types.d.ts +181 -0
- package/dist/dts/util/positioning/types.d.ts.map +1 -0
- package/dist/dts/util/template-helpers.d.ts +2 -1
- package/dist/dts/util/template-helpers.d.ts.map +1 -1
- package/dist/esm/components/accordion-menu/accordion-menu.js +1 -1
- package/dist/esm/components/accordion-menu/accordion-menu.js.map +1 -1
- package/dist/esm/components/accordion-menu/accordion-menu.styles.js +1 -1
- package/dist/esm/components/accordion-menu/accordion-menu.template.js.map +1 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js +3 -2
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +1 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +3 -2
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js.map +1 -1
- package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.template.js.map +1 -1
- package/dist/esm/components/button/button.js.map +1 -1
- package/dist/esm/components/card/card.js.map +1 -1
- package/dist/esm/components/card/card.styles.js +1 -1
- package/dist/esm/components/card/card.template.js.map +1 -1
- package/dist/esm/components/card-footer/card-footer.styles.js +1 -1
- package/dist/esm/components/card-footer/card-footer.template.js.map +1 -1
- package/dist/esm/components/card-header/card-header.styles.js +1 -1
- package/dist/esm/components/card-header/card-header.template.js.map +1 -1
- package/dist/esm/components/card-preview/card-preview.styles.js +1 -1
- package/dist/esm/components/card-preview/card-preview.template.js.map +1 -1
- package/dist/esm/components/carousel/carousel.js +1 -1
- package/dist/esm/components/carousel/carousel.js.map +1 -1
- package/dist/esm/components/carousel/carousel.styles.js +1 -1
- package/dist/esm/components/carousel/carousel.template.js.map +1 -1
- package/dist/esm/components/component-register.js +67 -0
- package/dist/esm/components/component-register.js.map +1 -0
- package/dist/esm/components/compound-button/compound-button.js.map +1 -1
- package/dist/esm/components/compound-button/compound-button.options.js +1 -1
- package/dist/esm/components/counter-badge/counter-badge.definition.js.map +1 -1
- package/dist/esm/components/counter-badge/counter-badge.options.js +32 -0
- package/dist/esm/components/counter-badge/counter-badge.options.js.map +1 -0
- package/dist/esm/components/counter-badge/define.js +2 -2
- package/dist/esm/components/counter-badge/define.js.map +1 -1
- package/dist/esm/components/counter-badge/index.js +3 -3
- package/dist/esm/components/counter-badge/index.js.map +1 -1
- package/dist/esm/components/field/field.js +68 -1
- package/dist/esm/components/field/field.js.map +1 -1
- package/dist/esm/components/filter-pill/filter-pill.js +1 -1
- package/dist/esm/components/filter-pill/filter-pill.js.map +1 -1
- package/dist/esm/components/filter-pill/filter-pill.options.js +1 -1
- package/dist/esm/components/filter-pill/filter-pill.styles.js +5 -3
- package/dist/esm/components/filter-pill/filter-pill.styles.js.map +1 -1
- package/dist/esm/components/filter-pill/filter-pill.template.js.map +1 -1
- package/dist/esm/components/listbox/listbox.js +1 -1
- package/dist/esm/components/listbox/listbox.js.map +1 -1
- package/dist/esm/components/loading-button/loading-button.js.map +1 -1
- package/dist/esm/components/loading-button/loading-button.template.js +3 -5
- package/dist/esm/components/loading-button/loading-button.template.js.map +1 -1
- package/dist/esm/components/menu/menu.js +159 -230
- package/dist/esm/components/menu/menu.js.map +1 -1
- package/dist/esm/components/menu/menu.options.js +1 -1
- package/dist/esm/components/menu/menu.options.js.map +1 -1
- package/dist/esm/components/menu/menu.positioning.js +98 -201
- package/dist/esm/components/menu/menu.positioning.js.map +1 -1
- package/dist/esm/components/menu/menu.styles.js +2 -2
- package/dist/esm/components/menu/menu.styles.js.map +1 -1
- package/dist/esm/components/menu/menu.template.js.map +1 -1
- package/dist/esm/components/menu-item/menu-item.js +4 -4
- package/dist/esm/components/menu-item/menu-item.js.map +1 -1
- package/dist/esm/components/menu-item/menu-item.styles.js +4 -3
- package/dist/esm/components/menu-item/menu-item.styles.js.map +1 -1
- package/dist/esm/components/menu-item/menu-item.template.js +1 -0
- package/dist/esm/components/menu-item/menu-item.template.js.map +1 -1
- package/dist/esm/components/menu-list/menu-list.js +1 -1
- package/dist/esm/components/menu-list/menu-list.js.map +1 -1
- package/dist/esm/components/menu-list/menu-list.styles.js +1 -1
- package/dist/esm/components/multi-view/multi-view.styles.js +1 -1
- package/dist/esm/components/multi-view/multi-view.template.js +1 -0
- package/dist/esm/components/multi-view/multi-view.template.js.map +1 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js +3 -2
- package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js.map +1 -1
- package/dist/esm/components/multi-view-controller/multi-view-controller.template.js.map +1 -1
- package/dist/esm/components/multi-view-group/multi-view-group.js +1 -0
- package/dist/esm/components/multi-view-group/multi-view-group.js.map +1 -1
- package/dist/esm/components/multi-view-group/multi-view-group.styles.js +1 -1
- package/dist/esm/components/multi-view-group/multi-view-group.template.js.map +1 -1
- package/dist/esm/components/option-group/option-group.js +1 -1
- package/dist/esm/components/option-group/option-group.js.map +1 -1
- package/dist/esm/components/option-group/option-group.template.js.map +1 -1
- package/dist/esm/components/popover/define.js +2 -2
- package/dist/esm/components/popover/define.js.map +1 -1
- package/dist/esm/components/popover/index.js +1 -1
- package/dist/esm/components/popover/index.js.map +1 -1
- package/dist/esm/components/popover/popover.definition.js.map +1 -1
- package/dist/esm/components/popover/popover.js +88 -127
- package/dist/esm/components/popover/popover.js.map +1 -1
- package/dist/esm/components/popover/popover.options.js +13 -10
- package/dist/esm/components/popover/popover.options.js.map +1 -1
- package/dist/esm/components/popover/popover.positioning.js +314 -0
- package/dist/esm/components/popover/popover.positioning.js.map +1 -0
- package/dist/esm/components/popover/popover.styles.js +26 -4
- package/dist/esm/components/popover/popover.styles.js.map +1 -1
- package/dist/esm/components/popover/popover.template.js +1 -2
- package/dist/esm/components/popover/popover.template.js.map +1 -1
- package/dist/esm/components/search-box/index.js +1 -1
- package/dist/esm/components/search-box/index.js.map +1 -1
- package/dist/esm/components/search-box/search-box.js +1 -1
- package/dist/esm/components/search-box/search-box.js.map +1 -1
- package/dist/esm/components/search-box/search-box.options.js +8 -2
- package/dist/esm/components/search-box/search-box.options.js.map +1 -1
- package/dist/esm/components/search-box/search-box.styles.js +3 -2
- package/dist/esm/components/search-box/search-box.styles.js.map +1 -1
- package/dist/esm/components/search-box/search-box.template.js.map +1 -1
- package/dist/esm/components/simple-table/simple-table.styles.js +2 -1
- package/dist/esm/components/svg-icon/scripts/sprite-builder.js.map +1 -1
- package/dist/esm/components/svg-icon/svg-icon.js.map +1 -1
- package/dist/esm/components/svg-icon/svg-icon.styles.js +3 -2
- package/dist/esm/components/svg-icon/svg-icon.styles.js.map +1 -1
- package/dist/esm/components/svg-icon/svg-icon.template.js +1 -0
- package/dist/esm/components/svg-icon/svg-icon.template.js.map +1 -1
- package/dist/esm/components/table/index.js +5 -5
- package/dist/esm/components/table/index.js.map +1 -1
- package/dist/esm/components/table/table.js +1 -1
- package/dist/esm/components/table/table.js.map +1 -1
- package/dist/esm/components/table/table.options.js +2 -2
- package/dist/esm/components/table/table.options.js.map +1 -1
- package/dist/esm/components/table/table.styles.js +3 -2
- package/dist/esm/components/table/table.styles.js.map +1 -1
- package/dist/esm/components/table/table.template.js +3 -3
- package/dist/esm/components/table/table.template.js.map +1 -1
- package/dist/esm/components/table-cell/index.js +5 -5
- package/dist/esm/components/table-cell/index.js.map +1 -1
- package/dist/esm/components/table-cell/table-cell.options.js +2 -2
- package/dist/esm/components/table-cell/table-cell.options.js.map +1 -1
- package/dist/esm/components/table-cell/table-cell.styles.js +2 -2
- package/dist/esm/components/table-cell/table-cell.styles.js.map +1 -1
- package/dist/esm/components/table-cell/table-cell.template.js.map +1 -1
- package/dist/esm/components/tag/tag.js.map +1 -1
- package/dist/esm/components/tag/tag.styles.js +3 -2
- package/dist/esm/components/tag/tag.styles.js.map +1 -1
- package/dist/esm/components/tag/tag.template.js.map +1 -1
- package/dist/esm/components/teaching-bubble/index.js +2 -0
- package/dist/esm/components/teaching-bubble/index.js.map +1 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.js +7 -22
- package/dist/esm/components/teaching-bubble/teaching-bubble.js.map +1 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js +3 -2
- package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js.map +1 -1
- package/dist/esm/components/teaching-bubble/teaching-bubble.template.js +1 -0
- package/dist/esm/components/teaching-bubble/teaching-bubble.template.js.map +1 -1
- package/dist/esm/components/text/define.js +2 -2
- package/dist/esm/components/text/define.js.map +1 -1
- package/dist/esm/components/text/index.js +3 -3
- package/dist/esm/components/text/index.js.map +1 -1
- package/dist/esm/components/text/text.definition.js.map +1 -1
- package/dist/esm/components/text/text.js +3 -3
- package/dist/esm/components/text/text.options.js +16 -0
- package/dist/esm/components/text/text.options.js.map +1 -0
- package/dist/esm/components/text-input/index.js +1 -1
- package/dist/esm/components/text-input/index.js.map +1 -1
- package/dist/esm/components/text-input/text-input.base.js +3 -3
- package/dist/esm/components/text-input/text-input.base.js.map +1 -1
- package/dist/esm/components/text-input/text-input.js +1 -0
- package/dist/esm/components/text-input/text-input.js.map +1 -1
- package/dist/esm/components/text-input/text-input.styles.js +3 -2
- package/dist/esm/components/text-input/text-input.styles.js.map +1 -1
- package/dist/esm/components/text-input/text-input.template.js +2 -3
- package/dist/esm/components/text-input/text-input.template.js.map +1 -1
- package/dist/esm/components/textarea/index.js +4 -3
- package/dist/esm/components/textarea/index.js.map +1 -1
- package/dist/esm/components/textarea/textarea.options.js +22 -0
- package/dist/esm/components/textarea/textarea.options.js.map +1 -0
- package/dist/esm/components/tooltip/tooltip.js +82 -1
- package/dist/esm/components/tooltip/tooltip.js.map +1 -1
- package/dist/esm/components/tooltip/tooltip.template.js +16 -0
- package/dist/esm/components/tooltip/tooltip.template.js.map +1 -0
- package/dist/esm/components/tree/tree.js +38 -1
- package/dist/esm/components/tree/tree.js.map +1 -1
- package/dist/esm/components/tree-item/index.js +2 -1
- package/dist/esm/components/tree-item/index.js.map +1 -1
- package/dist/esm/components/tree-item/tree-item.definition.js +4 -3
- package/dist/esm/components/tree-item/tree-item.definition.js.map +1 -1
- package/dist/esm/components/tree-item/tree-item.styles.js +9 -0
- package/dist/esm/components/tree-item/tree-item.styles.js.map +1 -0
- package/dist/esm/components/tree-item/tree-item.template.js +6 -0
- package/dist/esm/components/tree-item/tree-item.template.js.map +1 -0
- package/dist/esm/components/wizard/index.js.map +1 -1
- package/dist/esm/components/wizard/wizard.js +5 -3
- package/dist/esm/components/wizard/wizard.js.map +1 -1
- package/dist/esm/components/wizard/wizard.styles.js +1 -1
- package/dist/esm/components/wizard/wizard.template.js +2 -1
- package/dist/esm/components/wizard/wizard.template.js.map +1 -1
- package/dist/esm/components/wizard-panel/wizard-panel.styles.js +1 -1
- package/dist/esm/components/wizard-panel/wizard-panel.template.js +1 -0
- package/dist/esm/components/wizard-panel/wizard-panel.template.js.map +1 -1
- package/dist/esm/components/wizard-step/wizard-step.js +1 -1
- package/dist/esm/components/wizard-step/wizard-step.js.map +1 -1
- package/dist/esm/components/wizard-step/wizard-step.styles.js +3 -2
- package/dist/esm/components/wizard-step/wizard-step.styles.js.map +1 -1
- package/dist/esm/components/wizard-step/wizard-step.template.js +1 -0
- package/dist/esm/components/wizard-step/wizard-step.template.js.map +1 -1
- package/dist/esm/components/wizard-step/wizard-step.unit.component.js +1 -0
- package/dist/esm/components/wizard-step/wizard-step.unit.component.js.map +1 -1
- package/dist/esm/index.js +27 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/util/accessibility-utilities.js +40 -0
- package/dist/esm/util/accessibility-utilities.js.map +1 -0
- package/dist/esm/util/attribute-utilities.js +12 -0
- package/dist/esm/util/attribute-utilities.js.map +1 -0
- package/dist/esm/util/debounce.js.map +1 -0
- package/dist/esm/util/debug.js +74 -0
- package/dist/esm/util/debug.js.map +1 -0
- package/dist/esm/util/direction.js +240 -8
- package/dist/esm/util/direction.js.map +1 -1
- package/dist/esm/util/dom.js +3 -0
- package/dist/esm/util/dom.js.map +1 -0
- package/dist/esm/util/element-internal-mocks.js +114 -0
- package/dist/esm/util/element-internal-mocks.js.map +1 -0
- package/dist/esm/util/focus-management.js +247 -0
- package/dist/esm/util/focus-management.js.map +1 -0
- package/dist/esm/util/hash-utilities.js +12 -0
- package/dist/esm/util/hash-utilities.js.map +1 -0
- package/dist/esm/util/index.js +13 -6
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/positioning/flexible-position-strategy.js +232 -0
- package/dist/esm/util/positioning/flexible-position-strategy.js.map +1 -0
- package/dist/esm/util/positioning/index.js +10 -0
- package/dist/esm/util/positioning/index.js.map +1 -0
- package/dist/esm/util/positioning/position-calculator.js +196 -0
- package/dist/esm/util/positioning/position-calculator.js.map +1 -0
- package/dist/esm/util/positioning/types.js +30 -0
- package/dist/esm/util/positioning/types.js.map +1 -0
- package/dist/esm/util/template-helpers.js.map +1 -1
- package/dist/index.d.ts +904 -270
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15978 -14624
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +137 -112
- package/dist/index.min.js.map +1 -1
- package/package.json +9 -11
- package/dist/component-utilities.js +0 -43
- package/dist/dts/components/popover/positioning.d.ts +0 -51
- package/dist/dts/components/popover/positioning.d.ts.map +0 -1
- package/dist/dts/util/positioning.d.ts +0 -129
- package/dist/dts/util/positioning.d.ts.map +0 -1
- package/dist/dts/utils/debounce.d.ts.map +0 -1
- package/dist/esm/component-utilities.js +0 -13
- package/dist/esm/components/popover/positioning.js +0 -189
- package/dist/esm/components/popover/positioning.js.map +0 -1
- package/dist/esm/util/positioning.js +0 -130
- package/dist/esm/util/positioning.js.map +0 -1
- package/dist/esm/utils/debounce.js.map +0 -1
- /package/dist/dts/{utils → util}/debounce.d.ts +0 -0
- /package/dist/esm/{utils → util}/debounce.js +0 -0
package/dist/esm/util/index.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
export * from "./accessibility-utilities.js";
|
|
2
|
+
export * from "./apply-mixins.js";
|
|
3
|
+
export * from "./attribute-utilities.js";
|
|
4
|
+
export * from "./debounce.js";
|
|
5
|
+
export * from "./debug.js";
|
|
1
6
|
export * from "./descendants.js";
|
|
2
7
|
export * from "./direction.js";
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./match-media-stylesheet-behaviors.js";
|
|
8
|
+
export * from "./dom.js";
|
|
9
|
+
export * from "./element-internal-mocks.js";
|
|
6
10
|
export * from "./element-internals.js";
|
|
7
|
-
export * from "./
|
|
8
|
-
export * from "./
|
|
11
|
+
export * from "./focus-management.js";
|
|
12
|
+
export * from "./hash-utilities.js";
|
|
13
|
+
export * from "./match-media-stylesheet-behaviors.js";
|
|
9
14
|
export * from "./support.js";
|
|
10
|
-
export * from "./
|
|
15
|
+
export * from "./template-helpers.js";
|
|
16
|
+
export * from "./typings.js";
|
|
17
|
+
export * from "./whitespace-filter.js";
|
|
11
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uCAAuC,CAAC;AACtD,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { getBoundaryBounds, getViewportBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from './position-calculator.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Flexible position strategy - main positioning engine.
|
|
5
|
+
* Orchestrates position calculation, fallback selection, and style application.
|
|
6
|
+
* Inspired by Angular CDK's FlexibleConnectedPositionStrategy.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Flexible position strategy implementation.
|
|
10
|
+
* Main entry point for positioning overlays with fallback logic.
|
|
11
|
+
*/
|
|
12
|
+
class FlexiblePositionStrategy {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
|
+
this.origin = config.origin;
|
|
16
|
+
this.overlay = config.overlay;
|
|
17
|
+
this.positions = config.positions;
|
|
18
|
+
this.boundaryElement = (_a = config.boundaryElement) !== null && _a !== void 0 ? _a : null;
|
|
19
|
+
this.offsetParent = (_b = config.offsetParent) !== null && _b !== void 0 ? _b : null;
|
|
20
|
+
this.viewportMargin = (_c = config.viewportMargin) !== null && _c !== void 0 ? _c : 0;
|
|
21
|
+
this.resize = (_d = config.resize) !== null && _d !== void 0 ? _d : false;
|
|
22
|
+
this.resizeMinHeight = config.resizeMinHeight;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the effective boundary (custom boundary or viewport).
|
|
26
|
+
*/
|
|
27
|
+
getBoundary() {
|
|
28
|
+
const rawBoundary = this.boundaryElement ? getBoundaryBounds(this.boundaryElement) : getViewportBounds();
|
|
29
|
+
return getEffectiveBoundary(rawBoundary, this.viewportMargin);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns the configured candidate positions.
|
|
33
|
+
*/
|
|
34
|
+
getCandidates() {
|
|
35
|
+
return [...this.positions];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Evaluate a single position against the current boundary.
|
|
39
|
+
* Returns the computed PositionResult without applying any styles.
|
|
40
|
+
*/
|
|
41
|
+
evaluatePosition(position) {
|
|
42
|
+
const originRect = this.origin.getBoundingClientRect();
|
|
43
|
+
const overlayRect = this.overlay.getBoundingClientRect();
|
|
44
|
+
const boundary = this.getBoundary();
|
|
45
|
+
const originPoint = getOriginPoint(originRect, position);
|
|
46
|
+
const overlayPoint = getOverlayPoint(originPoint, overlayRect, position);
|
|
47
|
+
const fit = getOverlayFit(overlayPoint, overlayRect, boundary);
|
|
48
|
+
return {
|
|
49
|
+
position,
|
|
50
|
+
originPoint,
|
|
51
|
+
overlayPoint,
|
|
52
|
+
fit
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Selects the best position from the candidates list.
|
|
57
|
+
*
|
|
58
|
+
* 1. First candidate that fits completely wins immediately.
|
|
59
|
+
* 2. If nothing fits and resize is enabled, picks the one with most
|
|
60
|
+
* available space (best candidate for resize).
|
|
61
|
+
* 3. Otherwise picks the position with the most visible area.
|
|
62
|
+
*/
|
|
63
|
+
selectBestPosition() {
|
|
64
|
+
const candidates = this.getCandidates();
|
|
65
|
+
let bestResult = this.evaluatePosition(candidates[0]);
|
|
66
|
+
let bestArea = bestResult.fit.visibleArea;
|
|
67
|
+
if (bestResult.fit.isCompletelyWithinViewport) {
|
|
68
|
+
return bestResult;
|
|
69
|
+
}
|
|
70
|
+
for (let i = 1; i < candidates.length; i++) {
|
|
71
|
+
const result = this.evaluatePosition(candidates[i]);
|
|
72
|
+
if (result.fit.isCompletelyWithinViewport) {
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
if (result.fit.visibleArea > bestArea) {
|
|
76
|
+
bestResult = result;
|
|
77
|
+
bestArea = result.fit.visibleArea;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Nothing fits. If resize is enabled, prefer the candidate with most room.
|
|
81
|
+
if (this.resize && candidates.length > 1) {
|
|
82
|
+
let bestSpace = this.getAvailableSpace(candidates[0]);
|
|
83
|
+
let bestSpaceCandidate = candidates[0];
|
|
84
|
+
for (let i = 1; i < candidates.length; i++) {
|
|
85
|
+
const space = this.getAvailableSpace(candidates[i]);
|
|
86
|
+
if (space > bestSpace) {
|
|
87
|
+
bestSpace = space;
|
|
88
|
+
bestSpaceCandidate = candidates[i];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (bestSpaceCandidate !== bestResult.position) {
|
|
92
|
+
return this.evaluatePosition(bestSpaceCandidate);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return bestResult;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Apply position result to the overlay element.
|
|
99
|
+
*/
|
|
100
|
+
applyPositionResult(result) {
|
|
101
|
+
applyPositionStyles(this.overlay, result.overlayPoint, result.position, this.offsetParent);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get the available space for the overlay in a given position.
|
|
105
|
+
* Measures the distance from the anchor edge to the boundary edge in the
|
|
106
|
+
* relevant direction based on the position's connection points.
|
|
107
|
+
*
|
|
108
|
+
* @param position - The connected position to measure space for.
|
|
109
|
+
* @returns Available space in pixels.
|
|
110
|
+
*/
|
|
111
|
+
getAvailableSpace(position) {
|
|
112
|
+
var _a;
|
|
113
|
+
const originRect = this.origin.getBoundingClientRect();
|
|
114
|
+
const boundary = this.getBoundary();
|
|
115
|
+
// Determine direction based on the connection points.
|
|
116
|
+
// "above" style: overlayY === bottom, originY === top → space above anchor
|
|
117
|
+
// "below" style: overlayY === top, originY === bottom → space below anchor
|
|
118
|
+
if (position.overlayY === "bottom" && position.originY === "top") {
|
|
119
|
+
// Overlay sits above the anchor
|
|
120
|
+
return Math.max(0, originRect.top - boundary.top);
|
|
121
|
+
}
|
|
122
|
+
if (position.overlayY === "top" && position.originY === "bottom") {
|
|
123
|
+
// Overlay sits below the anchor
|
|
124
|
+
return Math.max(0, boundary.bottom - originRect.bottom);
|
|
125
|
+
}
|
|
126
|
+
// Horizontal cases (start/end)
|
|
127
|
+
if (position.overlayX === "end" && position.originX === "start") {
|
|
128
|
+
return Math.max(0, originRect.left - boundary.left);
|
|
129
|
+
}
|
|
130
|
+
if (position.overlayX === "start" && position.originX === "end") {
|
|
131
|
+
return Math.max(0, boundary.right - originRect.right);
|
|
132
|
+
}
|
|
133
|
+
// Fallback: return full boundary height
|
|
134
|
+
return Math.max(0, ((_a = boundary.height) !== null && _a !== void 0 ? _a : boundary.bottom - boundary.top) || 0);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Applies a resize constraint to the overlay element if it
|
|
138
|
+
* does not fit in the available space for the given position.
|
|
139
|
+
*
|
|
140
|
+
* @param position - The connected position to measure available space for.
|
|
141
|
+
* @returns Whether a constraint was applied and the max-height value.
|
|
142
|
+
*/
|
|
143
|
+
tryResize(position) {
|
|
144
|
+
if (!this.resize) {
|
|
145
|
+
return {
|
|
146
|
+
resized: false,
|
|
147
|
+
maxHeight: null
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
const overlayHeight = this.overlay.getBoundingClientRect().height;
|
|
151
|
+
const available = this.getAvailableSpace(position);
|
|
152
|
+
if (overlayHeight <= available) {
|
|
153
|
+
return {
|
|
154
|
+
resized: false,
|
|
155
|
+
maxHeight: null
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
if (this.resizeMinHeight !== undefined && available < this.resizeMinHeight) {
|
|
159
|
+
return {
|
|
160
|
+
resized: false,
|
|
161
|
+
maxHeight: null
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
this.overlay.style.maxHeight = `${available}px`;
|
|
165
|
+
this.overlay.style.overflow = "auto";
|
|
166
|
+
return {
|
|
167
|
+
resized: true,
|
|
168
|
+
maxHeight: available
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* High-level reposition entry point.
|
|
173
|
+
*
|
|
174
|
+
* 1. Clears any previous resize constraint so the overlay is evaluated
|
|
175
|
+
* at its natural size.
|
|
176
|
+
* 2. Selects the best position from the positions array.
|
|
177
|
+
* 3. Applies a resize constraint if the overlay still overflows.
|
|
178
|
+
* 4. Applies the final position.
|
|
179
|
+
*
|
|
180
|
+
* The component controls flip vs auto behavior by choosing which
|
|
181
|
+
* positions to provide:
|
|
182
|
+
* - Flip: `[original, opposite]`
|
|
183
|
+
* - Auto: `[original, ...allOtherCandidates]`
|
|
184
|
+
*
|
|
185
|
+
* @returns A {@link RepositionResult} describing what happened, or `null`
|
|
186
|
+
* if no positions or resize are provided.
|
|
187
|
+
*/
|
|
188
|
+
reposition() {
|
|
189
|
+
const candidates = this.getCandidates();
|
|
190
|
+
if (candidates.length === 0 && !this.resize) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
// Clear any previous resize constraint to evaluate natural size
|
|
194
|
+
this.clearResize();
|
|
195
|
+
// Step 1: Select the best position (evaluated at natural overlay size)
|
|
196
|
+
let positionResult = this.selectBestPosition();
|
|
197
|
+
// Step 2: Apply resize constraint if enabled
|
|
198
|
+
let resized = false;
|
|
199
|
+
let maxHeight = null;
|
|
200
|
+
if (this.resize) {
|
|
201
|
+
({
|
|
202
|
+
resized,
|
|
203
|
+
maxHeight
|
|
204
|
+
} = this.tryResize(positionResult.position));
|
|
205
|
+
if (resized) {
|
|
206
|
+
// Re-evaluate the overlay point now that the element has been resized.
|
|
207
|
+
// The post-resize dimensions are smaller, so any position that depends
|
|
208
|
+
// on overlay height (e.g. "above" where overlayY === "bottom") would
|
|
209
|
+
// produce a stale — and incorrect — overlayPoint if we skipped this.
|
|
210
|
+
positionResult = this.evaluatePosition(positionResult.position);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// Step 3: Apply the selected position
|
|
214
|
+
this.applyPositionResult(positionResult);
|
|
215
|
+
return {
|
|
216
|
+
resized,
|
|
217
|
+
maxHeight,
|
|
218
|
+
positionResult
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Clear any resize constraint applied to the overlay element.
|
|
223
|
+
*/
|
|
224
|
+
clearResize() {
|
|
225
|
+
if (this.resize) {
|
|
226
|
+
this.overlay.style.maxHeight = "";
|
|
227
|
+
this.overlay.style.overflow = "";
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export { FlexiblePositionStrategy };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexible-position-strategy.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/flexible-position-strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Positioning utilities - Angular CDK-inspired positioning engine.
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
*/
|
|
5
|
+
export { HorizontalConnectionPositions, VerticalConnectionPositions, CollisionEdges, RepositionModes, DEFAULT_ROOT_MARGIN } from "./types.js";
|
|
6
|
+
// Position Calculator
|
|
7
|
+
export { getViewportBounds, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from "./position-calculator.js";
|
|
8
|
+
// Flexible Position Strategy
|
|
9
|
+
export { FlexiblePositionStrategy } from "./flexible-position-strategy.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Position calculation utilities inspired by Angular CDK's FlexibleConnectedPositionStrategy.
|
|
3
|
+
* Provides coordinate-based positioning calculations for overlays/popovers.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Get the bounding rectangle for the viewport.
|
|
7
|
+
*/
|
|
8
|
+
function getViewportBounds() {
|
|
9
|
+
return {
|
|
10
|
+
top: 0,
|
|
11
|
+
left: 0,
|
|
12
|
+
bottom: window.innerHeight,
|
|
13
|
+
right: window.innerWidth,
|
|
14
|
+
width: window.innerWidth,
|
|
15
|
+
height: window.innerHeight
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get the bounding rectangle for a custom boundary element.
|
|
20
|
+
*/
|
|
21
|
+
function getBoundaryBounds(element) {
|
|
22
|
+
const rect = element.getBoundingClientRect();
|
|
23
|
+
return {
|
|
24
|
+
top: rect.top,
|
|
25
|
+
left: rect.left,
|
|
26
|
+
bottom: rect.bottom,
|
|
27
|
+
right: rect.right,
|
|
28
|
+
width: rect.width,
|
|
29
|
+
height: rect.height
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the effective boundary, accounting for viewport margin.
|
|
34
|
+
*/
|
|
35
|
+
function getEffectiveBoundary(boundary, viewportMargin = 0) {
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
37
|
+
if (typeof viewportMargin === "number") {
|
|
38
|
+
return {
|
|
39
|
+
top: boundary.top + viewportMargin,
|
|
40
|
+
left: boundary.left + viewportMargin,
|
|
41
|
+
bottom: boundary.bottom - viewportMargin,
|
|
42
|
+
right: boundary.right - viewportMargin,
|
|
43
|
+
width: boundary.width ? boundary.width - viewportMargin * 2 : undefined,
|
|
44
|
+
height: boundary.height ? boundary.height - viewportMargin * 2 : undefined
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
top: boundary.top + ((_a = viewportMargin.top) !== null && _a !== void 0 ? _a : 0),
|
|
49
|
+
left: boundary.left + ((_b = viewportMargin.left) !== null && _b !== void 0 ? _b : 0),
|
|
50
|
+
bottom: boundary.bottom - ((_c = viewportMargin.bottom) !== null && _c !== void 0 ? _c : 0),
|
|
51
|
+
right: boundary.right - ((_d = viewportMargin.right) !== null && _d !== void 0 ? _d : 0),
|
|
52
|
+
width: boundary.width ? boundary.width - ((_e = viewportMargin.left) !== null && _e !== void 0 ? _e : 0) - ((_f = viewportMargin.right) !== null && _f !== void 0 ? _f : 0) : undefined,
|
|
53
|
+
height: boundary.height ? boundary.height - ((_g = viewportMargin.top) !== null && _g !== void 0 ? _g : 0) - ((_h = viewportMargin.bottom) !== null && _h !== void 0 ? _h : 0) : undefined
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Calculate the origin point (x, y) on the origin element based on connection position.
|
|
58
|
+
* This is the point on the anchor element where the overlay will connect.
|
|
59
|
+
*/
|
|
60
|
+
function getOriginPoint(originRect, position) {
|
|
61
|
+
let x;
|
|
62
|
+
let y;
|
|
63
|
+
// Calculate X coordinate
|
|
64
|
+
if (position.originX === "center") {
|
|
65
|
+
x = originRect.left + originRect.width / 2;
|
|
66
|
+
} else if (position.originX === "start") {
|
|
67
|
+
x = originRect.left;
|
|
68
|
+
} else {
|
|
69
|
+
// 'end'
|
|
70
|
+
x = originRect.right;
|
|
71
|
+
}
|
|
72
|
+
// Calculate Y coordinate
|
|
73
|
+
if (position.originY === "center") {
|
|
74
|
+
y = originRect.top + originRect.height / 2;
|
|
75
|
+
} else if (position.originY === "top") {
|
|
76
|
+
y = originRect.top;
|
|
77
|
+
} else {
|
|
78
|
+
// 'bottom'
|
|
79
|
+
y = originRect.bottom;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
x,
|
|
83
|
+
y
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Calculate the overlay point (x, y) - the top-left corner of the overlay
|
|
88
|
+
* when positioned relative to the origin point.
|
|
89
|
+
*/
|
|
90
|
+
function getOverlayPoint(originPoint, overlayRect, position) {
|
|
91
|
+
var _a, _b;
|
|
92
|
+
let overlayStartX;
|
|
93
|
+
let overlayStartY;
|
|
94
|
+
// Calculate horizontal offset from origin point to overlay's desired position
|
|
95
|
+
if (position.overlayX === "center") {
|
|
96
|
+
overlayStartX = -overlayRect.width / 2;
|
|
97
|
+
} else if (position.overlayX === "start") {
|
|
98
|
+
overlayStartX = 0;
|
|
99
|
+
} else {
|
|
100
|
+
// 'end'
|
|
101
|
+
overlayStartX = -overlayRect.width;
|
|
102
|
+
}
|
|
103
|
+
// Calculate vertical offset from origin point to overlay's desired position
|
|
104
|
+
if (position.overlayY === "center") {
|
|
105
|
+
overlayStartY = -overlayRect.height / 2;
|
|
106
|
+
} else if (position.overlayY === "top") {
|
|
107
|
+
overlayStartY = 0;
|
|
108
|
+
} else {
|
|
109
|
+
// 'bottom'
|
|
110
|
+
overlayStartY = -overlayRect.height;
|
|
111
|
+
}
|
|
112
|
+
// Add any explicit offsets
|
|
113
|
+
const offsetX = (_a = position.offsetX) !== null && _a !== void 0 ? _a : 0;
|
|
114
|
+
const offsetY = (_b = position.offsetY) !== null && _b !== void 0 ? _b : 0;
|
|
115
|
+
return {
|
|
116
|
+
x: originPoint.x + overlayStartX + offsetX,
|
|
117
|
+
y: originPoint.y + overlayStartY + offsetY
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Calculate how well the overlay fits within the boundary when positioned at the given point.
|
|
122
|
+
*/
|
|
123
|
+
function getOverlayFit(overlayPoint, overlayRect, boundary) {
|
|
124
|
+
const overlayRight = overlayPoint.x + overlayRect.width;
|
|
125
|
+
const overlayBottom = overlayPoint.y + overlayRect.height;
|
|
126
|
+
const fitsLeft = overlayPoint.x >= boundary.left;
|
|
127
|
+
const fitsRight = overlayRight <= boundary.right;
|
|
128
|
+
const fitsTop = overlayPoint.y >= boundary.top;
|
|
129
|
+
const fitsBottom = overlayBottom <= boundary.bottom;
|
|
130
|
+
const fitsInViewportHorizontally = fitsLeft && fitsRight;
|
|
131
|
+
const fitsInViewportVertically = fitsTop && fitsBottom;
|
|
132
|
+
const isCompletelyWithinViewport = fitsInViewportHorizontally && fitsInViewportVertically;
|
|
133
|
+
// Calculate visible area (useful for fallback position scoring)
|
|
134
|
+
let visibleWidth = overlayRect.width;
|
|
135
|
+
let visibleHeight = overlayRect.height;
|
|
136
|
+
if (!fitsLeft) {
|
|
137
|
+
visibleWidth = Math.max(0, overlayRight - boundary.left);
|
|
138
|
+
} else if (!fitsRight) {
|
|
139
|
+
visibleWidth = Math.max(0, boundary.right - overlayPoint.x);
|
|
140
|
+
}
|
|
141
|
+
if (!fitsTop) {
|
|
142
|
+
visibleHeight = Math.max(0, overlayBottom - boundary.top);
|
|
143
|
+
} else if (!fitsBottom) {
|
|
144
|
+
visibleHeight = Math.max(0, boundary.bottom - overlayPoint.y);
|
|
145
|
+
}
|
|
146
|
+
const visibleArea = visibleWidth * visibleHeight;
|
|
147
|
+
return {
|
|
148
|
+
isCompletelyWithinViewport,
|
|
149
|
+
fitsInViewportHorizontally,
|
|
150
|
+
fitsInViewportVertically,
|
|
151
|
+
visibleArea
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Apply position styles to the overlay element.
|
|
156
|
+
*
|
|
157
|
+
* By default the overlay is pinned via `top`/`left`. When the resolved
|
|
158
|
+
* {@link ConnectedPosition} attaches the overlay's bottom or end edge
|
|
159
|
+
* (`overlayY === "bottom"` or `overlayX === "end"`), the corresponding
|
|
160
|
+
* CSS edge is used instead so that any subsequent height/width constraint
|
|
161
|
+
* causes the overlay to shrink from the *unattached* edge rather than
|
|
162
|
+
* detaching from the anchor.
|
|
163
|
+
*
|
|
164
|
+
* When an offsetParent is provided, viewport coordinates are converted to
|
|
165
|
+
* positions relative to that element (for `position: absolute` children).
|
|
166
|
+
*/
|
|
167
|
+
function applyPositionStyles(overlayElement, overlayPoint, position, offsetParent) {
|
|
168
|
+
const pinBottom = position.overlayY === "bottom";
|
|
169
|
+
const pinRight = position.overlayX === "end";
|
|
170
|
+
const parentRect = offsetParent === null || offsetParent === void 0 ? void 0 : offsetParent.getBoundingClientRect();
|
|
171
|
+
const overlayRect = pinBottom || pinRight ? overlayElement.getBoundingClientRect() : null;
|
|
172
|
+
// Horizontal positioning
|
|
173
|
+
if (pinRight && overlayRect) {
|
|
174
|
+
const containerRight = parentRect ? parentRect.right : window.innerWidth;
|
|
175
|
+
const right = containerRight - (overlayPoint.x + overlayRect.width);
|
|
176
|
+
overlayElement.style.right = `${Math.round(right)}px`;
|
|
177
|
+
overlayElement.style.left = "auto";
|
|
178
|
+
} else {
|
|
179
|
+
const x = parentRect ? overlayPoint.x - parentRect.left : overlayPoint.x;
|
|
180
|
+
overlayElement.style.left = `${Math.round(x)}px`;
|
|
181
|
+
overlayElement.style.right = "auto";
|
|
182
|
+
}
|
|
183
|
+
// Vertical positioning
|
|
184
|
+
if (pinBottom && overlayRect) {
|
|
185
|
+
const containerBottom = parentRect ? parentRect.bottom : window.innerHeight;
|
|
186
|
+
const bottom = containerBottom - (overlayPoint.y + overlayRect.height);
|
|
187
|
+
overlayElement.style.bottom = `${Math.round(bottom)}px`;
|
|
188
|
+
overlayElement.style.top = "auto";
|
|
189
|
+
} else {
|
|
190
|
+
const y = parentRect ? overlayPoint.y - parentRect.top : overlayPoint.y;
|
|
191
|
+
overlayElement.style.top = `${Math.round(y)}px`;
|
|
192
|
+
overlayElement.style.bottom = "auto";
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export { applyPositionStyles, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayFit, getOverlayPoint, getViewportBounds };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-calculator.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/position-calculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core types for Angular CDK-inspired positioning engine.
|
|
3
|
+
* Based on @angular/cdk/overlay positioning strategy.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Horizontal connection positions.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Reposition modes for positioned elements.
|
|
10
|
+
*/
|
|
11
|
+
const RepositionModes = {
|
|
12
|
+
auto: "auto",
|
|
13
|
+
flip: "flip",
|
|
14
|
+
none: "none"
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Default root margin for positioning calculations.
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_ROOT_MARGIN = 15;
|
|
20
|
+
/**
|
|
21
|
+
* Collision edges for boundary detection.
|
|
22
|
+
*/
|
|
23
|
+
const CollisionEdges = {
|
|
24
|
+
top: "top",
|
|
25
|
+
right: "right",
|
|
26
|
+
bottom: "bottom",
|
|
27
|
+
left: "left"
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export { CollisionEdges, DEFAULT_ROOT_MARGIN, RepositionModes };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/util/positioning/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACF,CAAC;AAMX;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AA2GX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAiDtC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-helpers.js","sourceRoot":"","sources":["../../../../../../src/util/template-helpers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"template-helpers.js","sourceRoot":"","sources":["../../../../../../src/util/template-helpers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EACL,aAAa,EACb,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAkBjC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAgD;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,uBAAuB,CAAC,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|