@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
|
@@ -1,4 +1,87 @@
|
|
|
1
1
|
import { Direction } from "@microsoft/fast-web-utilities";
|
|
2
|
+
/**
|
|
3
|
+
* This module provides a composable system for detecting and monitoring text direction
|
|
4
|
+
* (LTR/RTL) changes in web applications. It follows a strategy/observer pattern to allow
|
|
5
|
+
* flexibility for the many ways that direction can be controlled in the document.
|
|
6
|
+
*
|
|
7
|
+
* ## Architecture
|
|
8
|
+
*
|
|
9
|
+
* The system uses two complementary interfaces:
|
|
10
|
+
*
|
|
11
|
+
* - **DirectionStrategy**: Detection - reads direction from a source (CSS, attributes, etc.)
|
|
12
|
+
* - **DirectionObserver**: Change monitoring - watches for direction changes and notifies
|
|
13
|
+
*
|
|
14
|
+
* The `DirectionDetector` class combines the detection and observer strategies to provide
|
|
15
|
+
* robust direction detection with automatic change notifications.
|
|
16
|
+
*
|
|
17
|
+
* ## Built-in Strategies
|
|
18
|
+
*
|
|
19
|
+
* - `DirAttributeStrategy`: Reads the `dir` attribute from elements
|
|
20
|
+
* - `ElementCssStrategy`: Reads computed CSS `direction` property
|
|
21
|
+
*
|
|
22
|
+
* ## Built-in Observers
|
|
23
|
+
*
|
|
24
|
+
* - `DirAttributeObserver`: Watches for `dir` attribute mutations via MutationObserver
|
|
25
|
+
*
|
|
26
|
+
* ## Global DirectionDetector
|
|
27
|
+
*
|
|
28
|
+
* A singleton detector is available via `globalDirectionDetector()`. By default, it
|
|
29
|
+
* monitors the `dir` attribute on the `<html>` element. This is the detector used by the
|
|
30
|
+
* components in this package to correctly adjust layout, keyboard navigation, etc.
|
|
31
|
+
*
|
|
32
|
+
* To customize the global detector, call `setGlobalDirectionDetector()`:
|
|
33
|
+
*
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import {
|
|
36
|
+
* setGlobalDirectionDetector,
|
|
37
|
+
* DirectionDetector,
|
|
38
|
+
* DirAttributeStrategy,
|
|
39
|
+
* DirAttributeObserver
|
|
40
|
+
* } from "@fabric-msft/fabric-web";
|
|
41
|
+
*
|
|
42
|
+
* setGlobalDirectionDetector(
|
|
43
|
+
* new DirectionDetector({
|
|
44
|
+
* strategies: [new DirAttributeStrategy([document.documentElement])],
|
|
45
|
+
* observers: [new DirAttributeObserver("html")],
|
|
46
|
+
* onChange: (dir) => console.log("Global direction:", dir)
|
|
47
|
+
* })
|
|
48
|
+
* );
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* ## Defaults
|
|
52
|
+
*
|
|
53
|
+
* The default global DirectionDetector will monitor the `dir` attribute on the
|
|
54
|
+
* `html` element. You do not need to set anything if this is the strategy that your app
|
|
55
|
+
* uses to control document direction.
|
|
56
|
+
*
|
|
57
|
+
* ```html
|
|
58
|
+
* <html dir="rtl">
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* ## Custom DirectionDetector
|
|
62
|
+
*
|
|
63
|
+
* ```typescript
|
|
64
|
+
* import {
|
|
65
|
+
* DirectionDetector,
|
|
66
|
+
* DirAttributeStrategy,
|
|
67
|
+
* DirAttributeObserver
|
|
68
|
+
* } from "@fabric-msft/fabric-web";
|
|
69
|
+
*
|
|
70
|
+
* const detector = new DirectionDetector({
|
|
71
|
+
* strategies: [new DirAttributeStrategy([document.documentElement])],
|
|
72
|
+
* observers: [new DirAttributeObserver("html")],
|
|
73
|
+
* onChange: (dir, { previous }) => {
|
|
74
|
+
* console.log(`Direction changed: ${previous} → ${dir}`);
|
|
75
|
+
* }
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* // Access current direction
|
|
79
|
+
* console.log(detector.value); // 'ltr' or 'rtl'
|
|
80
|
+
*
|
|
81
|
+
* // Clean up when done
|
|
82
|
+
* detector.stop();
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
2
85
|
/**
|
|
3
86
|
* Determines the current localization direction of an element.
|
|
4
87
|
*
|
|
@@ -8,4 +91,114 @@ import { Direction } from "@microsoft/fast-web-utilities";
|
|
|
8
91
|
* @public
|
|
9
92
|
*/
|
|
10
93
|
export declare const getDirection: (rootNode: HTMLElement) => Direction;
|
|
94
|
+
export declare function findClosestElementsWithDir(element: Element): Element[];
|
|
95
|
+
export declare function isRtl(): boolean;
|
|
96
|
+
export type DirectionOrNull = Direction | null;
|
|
97
|
+
/**
|
|
98
|
+
* Interface for direction detection strategies.
|
|
99
|
+
* Strategies are pure functions that detect direction from a source.
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
export interface DirectionStrategy {
|
|
103
|
+
/**
|
|
104
|
+
* Get the current direction value.
|
|
105
|
+
*/
|
|
106
|
+
getDirection(): DirectionOrNull;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Interface for observing direction changes.
|
|
110
|
+
* Observers monitor a source and notify when changes may have occurred.
|
|
111
|
+
* @public
|
|
112
|
+
*/
|
|
113
|
+
export interface DirectionObserver {
|
|
114
|
+
/**
|
|
115
|
+
* Start observing for direction changes.
|
|
116
|
+
* @param notify - Callback to invoke when a change may have occurred.
|
|
117
|
+
*/
|
|
118
|
+
start(notify: () => void): void;
|
|
119
|
+
/**
|
|
120
|
+
* Stop observing and clean up resources.
|
|
121
|
+
*/
|
|
122
|
+
stop(): void;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Strategy that reads direction from the computed CSS style of a specific element.
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
128
|
+
export declare class ElementCssStrategy implements DirectionStrategy {
|
|
129
|
+
private readonly element;
|
|
130
|
+
private readonly doc;
|
|
131
|
+
constructor(element: Element | null);
|
|
132
|
+
getDirection(): DirectionOrNull;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Strategy that reads direction from the dir attribute.
|
|
136
|
+
* Takes a list of elements and checks each element until it finds one with a "dir" attribute specified.
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
export declare class DirAttributeStrategy implements DirectionStrategy {
|
|
140
|
+
private readonly elements;
|
|
141
|
+
constructor(elements: Element[]);
|
|
142
|
+
getDirection(): DirectionOrNull;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Observer that watches for dir attribute changes using MutationObserver.
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
export declare class DirAttributeObserver implements DirectionObserver {
|
|
149
|
+
private readonly doc;
|
|
150
|
+
private readonly target;
|
|
151
|
+
private mo;
|
|
152
|
+
constructor(target?: Element | string, doc?: Document);
|
|
153
|
+
start(notify: () => void): void;
|
|
154
|
+
stop(): void;
|
|
155
|
+
}
|
|
156
|
+
export interface DirectionDetectorOptions {
|
|
157
|
+
/**
|
|
158
|
+
* Ordered list of strategies. First strategy that yields a non-null direction wins.
|
|
159
|
+
*/
|
|
160
|
+
strategies: DirectionStrategy[];
|
|
161
|
+
/**
|
|
162
|
+
* Optional observers to monitor for direction changes.
|
|
163
|
+
* When any observer fires, the detector will recompute direction.
|
|
164
|
+
*/
|
|
165
|
+
observers?: DirectionObserver[];
|
|
166
|
+
/**
|
|
167
|
+
* Called when the resolved direction changes.
|
|
168
|
+
*/
|
|
169
|
+
onChange?: (dir: DirectionOrNull, info: {
|
|
170
|
+
previous: DirectionOrNull;
|
|
171
|
+
}) => void;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Detects and (optionally) observes direction using a chain of strategies.
|
|
175
|
+
* The first strategy to return a non-null direction wins.
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
export declare class DirectionDetector {
|
|
179
|
+
private readonly strategies;
|
|
180
|
+
private readonly observers;
|
|
181
|
+
private readonly onChange?;
|
|
182
|
+
private rafId;
|
|
183
|
+
private _value;
|
|
184
|
+
private observing;
|
|
185
|
+
constructor(options: DirectionDetectorOptions);
|
|
186
|
+
get value(): Direction;
|
|
187
|
+
/**
|
|
188
|
+
* Start all observers.
|
|
189
|
+
*/
|
|
190
|
+
private start;
|
|
191
|
+
/**
|
|
192
|
+
* Stop observing and cancel any scheduled refresh.
|
|
193
|
+
*/
|
|
194
|
+
stop(): void;
|
|
195
|
+
stable(): boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Force recomputation; invokes onChange only if the resolved direction changed.
|
|
198
|
+
*/
|
|
199
|
+
refresh(): DirectionOrNull;
|
|
200
|
+
private computeDirection;
|
|
201
|
+
}
|
|
202
|
+
export declare function setGlobalDirectionDetector(detector: DirectionDetector): void;
|
|
203
|
+
export declare function globalDirectionDetector(): DirectionDetector;
|
|
11
204
|
//# sourceMappingURL=direction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../../../../../src/util/direction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../../../../../../src/util/direction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,WAAW,KAAG,SAIpD,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAYtE;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,YAAY,IAAI,eAAe,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;gBAEnB,OAAO,EAAE,OAAO,GAAG,IAAI;IAKnC,YAAY,IAAI,eAAe;CAahC;AAED;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;gBAEzB,QAAQ,EAAE,OAAO,EAAE;IAI/B,YAAY,IAAI,eAAe;CAShC;AAED;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,EAAE,CAAiC;gBAE/B,MAAM,GAAE,OAAO,GAAG,MAAe,EAAE,GAAG,GAAE,QAAmB;IAKvE,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAc/B,IAAI,IAAI,IAAI;CAIb;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAEhC;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,CACT,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE;QAAE,QAAQ,EAAE,eAAe,CAAA;KAAE,KAChC,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAGhB;IAEV,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,wBAAwB;IAU7C,IAAI,KAAK,IAAI,SAAS,CAErB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK;IA0Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,OAAO,IAAI,eAAe;IAgB1B,OAAO,CAAC,gBAAgB;CAOzB;AAID,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE5E;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAU3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../../../src/util/dom.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,UAa/B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export declare class MockElementInternals implements ElementInternals {
|
|
2
|
+
ariaDescription: string | null;
|
|
3
|
+
ariaBrailleLabel: string | null;
|
|
4
|
+
ariaBrailleRoleDescription: string | null;
|
|
5
|
+
private _form;
|
|
6
|
+
private _labels;
|
|
7
|
+
private _element;
|
|
8
|
+
constructor(element: HTMLElement);
|
|
9
|
+
get form(): HTMLFormElement | null;
|
|
10
|
+
get labels(): NodeList;
|
|
11
|
+
get shadowRoot(): null;
|
|
12
|
+
get states(): Set<string>;
|
|
13
|
+
get validationMessage(): string;
|
|
14
|
+
get validity(): ValidityState;
|
|
15
|
+
get willValidate(): boolean;
|
|
16
|
+
role: string;
|
|
17
|
+
ariaAtomic: string;
|
|
18
|
+
ariaAutoComplete: string;
|
|
19
|
+
ariaBusy: string;
|
|
20
|
+
ariaChecked: string;
|
|
21
|
+
ariaColCount: string;
|
|
22
|
+
ariaColIndex: string;
|
|
23
|
+
ariaColIndexText: string;
|
|
24
|
+
ariaColSpan: string;
|
|
25
|
+
ariaCurrent: string;
|
|
26
|
+
ariaDisabled: string;
|
|
27
|
+
ariaExpanded: string;
|
|
28
|
+
ariaHasPopup: string;
|
|
29
|
+
ariaHidden: string;
|
|
30
|
+
ariaInvalid: string;
|
|
31
|
+
ariaKeyShortcuts: string;
|
|
32
|
+
ariaLabel: string;
|
|
33
|
+
ariaLevel: string;
|
|
34
|
+
ariaLive: string;
|
|
35
|
+
ariaModal: string;
|
|
36
|
+
ariaMultiLine: string;
|
|
37
|
+
ariaMultiSelectable: string;
|
|
38
|
+
ariaOrientation: string;
|
|
39
|
+
ariaPlaceholder: string;
|
|
40
|
+
ariaPosInSet: string;
|
|
41
|
+
ariaPressed: string;
|
|
42
|
+
ariaReadOnly: string;
|
|
43
|
+
ariaRelevant: string;
|
|
44
|
+
ariaRequired: string;
|
|
45
|
+
ariaRoleDescription: string;
|
|
46
|
+
ariaRowCount: string;
|
|
47
|
+
ariaRowIndex: string;
|
|
48
|
+
ariaRowIndexText: string;
|
|
49
|
+
ariaRowSpan: string;
|
|
50
|
+
ariaSelected: string;
|
|
51
|
+
ariaSetSize: string;
|
|
52
|
+
ariaSort: string;
|
|
53
|
+
ariaValueMax: string;
|
|
54
|
+
ariaValueMin: string;
|
|
55
|
+
ariaValueNow: string;
|
|
56
|
+
ariaValueText: string;
|
|
57
|
+
checkValidity(): boolean;
|
|
58
|
+
reportValidity(): boolean;
|
|
59
|
+
setFormValue(_value: File | string | FormData | null, _state?: File | string | FormData | null): void;
|
|
60
|
+
setValidity(_flags: ValidityStateFlags, _message?: string, _anchor?: HTMLElement): void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* If the HTMLElement prototype does not have the attachInternals method, add it.
|
|
64
|
+
* This is used to create a new MockElementInternals instance when the element is attached to the DOM.
|
|
65
|
+
*/
|
|
66
|
+
export declare function attachMockElementInternals(): void;
|
|
67
|
+
//# sourceMappingURL=element-internal-mocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-internal-mocks.d.ts","sourceRoot":"","sources":["../../../../../../src/util/element-internal-mocks.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,QAAQ,CAAc;gBAElB,OAAO,EAAE,WAAW;IAMhC,IAAI,IAAI,2BAMP;IACD,IAAI,MAAM,aAET;IACD,IAAI,UAAU,SAEb;IACD,IAAI,MAAM,gBAET;IAGD,IAAI,iBAAiB,WAEpB;IACD,IAAI,QAAQ,IAaL,aAAa,CACnB;IACD,IAAI,YAAY,YAEf;IAGD,IAAI,SAAM;IACV,UAAU,SAAM;IAChB,gBAAgB,SAAM;IACtB,QAAQ,SAAM;IACd,WAAW,SAAM;IACjB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,gBAAgB,SAAM;IACtB,WAAW,SAAM;IACjB,WAAW,SAAM;IACjB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,UAAU,SAAM;IAChB,WAAW,SAAM;IACjB,gBAAgB,SAAM;IACtB,SAAS,SAAM;IACf,SAAS,SAAM;IACf,QAAQ,SAAM;IACd,SAAS,SAAM;IACf,aAAa,SAAM;IACnB,mBAAmB,SAAM;IACzB,eAAe,SAAM;IACrB,eAAe,SAAM;IACrB,YAAY,SAAM;IAClB,WAAW,SAAM;IACjB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,mBAAmB,SAAM;IACzB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,gBAAgB,SAAM;IACtB,WAAW,SAAM;IACjB,YAAY,SAAM;IAClB,WAAW,SAAM;IACjB,QAAQ,SAAM;IACd,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,YAAY,SAAM;IAClB,aAAa,SAAM;IAGnB,aAAa;IAGb,cAAc;IAId,YAAY,CACV,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,EACvC,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAE1C,WAAW,CACT,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW;CAExB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,SAMzC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for creating a roving focus controller.
|
|
3
|
+
*
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface RovingFocusOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Function that returns the current list of elements to manage.
|
|
9
|
+
* Called fresh each time to support dynamic slot changes.
|
|
10
|
+
*/
|
|
11
|
+
items: () => HTMLElement[];
|
|
12
|
+
/**
|
|
13
|
+
* Filter function to determine if an element is disabled.
|
|
14
|
+
* Default: checks for `disabled`, `aria-disabled="true"`, or `inert` attributes.
|
|
15
|
+
*/
|
|
16
|
+
isDisabled?: (el: HTMLElement) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Navigation orientation.
|
|
19
|
+
* - "vertical": ArrowUp/ArrowDown (default)
|
|
20
|
+
* - "horizontal": ArrowLeft/ArrowRight
|
|
21
|
+
* - "both": All four arrow keys
|
|
22
|
+
*/
|
|
23
|
+
orientation?: "vertical" | "horizontal" | "both";
|
|
24
|
+
/**
|
|
25
|
+
* Enable Home/End key support.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
28
|
+
enableHomeEnd?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Enable wrapping at boundaries.
|
|
31
|
+
* @default true
|
|
32
|
+
*/
|
|
33
|
+
wrap?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether handleKeydown calls preventDefault for handled keys.
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
preventDefault?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Custom focus implementation for components with internal focusable elements
|
|
41
|
+
* (e.g., Prompt with internal button). If not provided, calls `el.focus()`.
|
|
42
|
+
*/
|
|
43
|
+
focusItem?: (el: HTMLElement) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Callback fired when the active item changes.
|
|
46
|
+
*/
|
|
47
|
+
onFocusChange?: (el: HTMLElement, index: number) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Function to determine if the component is in RTL mode.
|
|
50
|
+
* When true, horizontal arrow keys are swapped.
|
|
51
|
+
* @default () => false
|
|
52
|
+
*/
|
|
53
|
+
isRtl: () => boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Controller interface for managing roving tabindex focus.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* Invariants enforced by this controller:
|
|
60
|
+
* 1. Exactly one enabled item has `tabindex="0"` (the "active" item)
|
|
61
|
+
* 2. All other managed items have `tabindex="-1"`
|
|
62
|
+
* 3. When focus moves: new item gets tabindex=0, previous active gets -1, new item receives focus
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export interface RovingFocusController {
|
|
67
|
+
/**
|
|
68
|
+
* Apply roving tabindex. Preserves current active if still valid and enabled;
|
|
69
|
+
* otherwise falls back to first enabled. If no enabled items, all get tabindex=-1.
|
|
70
|
+
*/
|
|
71
|
+
applyTabindex(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Move focus by delta (+1 or -1).
|
|
74
|
+
* @returns true if focus moved successfully
|
|
75
|
+
*/
|
|
76
|
+
move(delta: 1 | -1): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Focus first enabled item.
|
|
79
|
+
* @returns true if successful
|
|
80
|
+
*/
|
|
81
|
+
focusFirst(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Focus last enabled item.
|
|
84
|
+
* @returns true if successful
|
|
85
|
+
*/
|
|
86
|
+
focusLast(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Focus specific item.
|
|
89
|
+
* @returns false if item is not in list or is disabled
|
|
90
|
+
*/
|
|
91
|
+
focus(item: HTMLElement): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Sync active tabindex to match a target element (use on focusin/click).
|
|
94
|
+
* Updates tabindex without calling focus() to avoid jumpy behavior.
|
|
95
|
+
* @returns true if target was found and made active
|
|
96
|
+
*/
|
|
97
|
+
sync(target: EventTarget | null): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Handle keydown event.
|
|
100
|
+
* @returns true if handled. Calls preventDefault() when configured.
|
|
101
|
+
*/
|
|
102
|
+
handleKeydown(event: KeyboardEvent): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Clean up (for lifecycle symmetry; currently a no-op).
|
|
105
|
+
*/
|
|
106
|
+
destroy(): void;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Creates a roving focus controller for managing keyboard navigation
|
|
110
|
+
* across a list of elements using the roving tabindex pattern.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const controller = createRovingFocusController({
|
|
115
|
+
* items: () => this.slottedPills ?? [],
|
|
116
|
+
* orientation: "vertical",
|
|
117
|
+
* enableHomeEnd: true,
|
|
118
|
+
* wrap: true
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* // In connectedCallback or setup:
|
|
122
|
+
* controller.applyTabindex();
|
|
123
|
+
*
|
|
124
|
+
* // In keydown handler:
|
|
125
|
+
* if (controller.handleKeydown(event)) return;
|
|
126
|
+
* // ...handle other keys like Escape
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @public
|
|
130
|
+
*/
|
|
131
|
+
export declare function createRovingFocusController(options: RovingFocusOptions): RovingFocusController;
|
|
132
|
+
//# sourceMappingURL=focus-management.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-management.d.ts","sourceRoot":"","sources":["../../../../../../src/util/focus-management.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,KAAK,EAAE,MAAM,WAAW,EAAE,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC;IAE1C;;;;;OAKG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAEjD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzD;;;;OAIG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IAE7B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC;IAEtB;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAElC;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;IAE1C;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAE7C;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAQD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,GAC1B,qBAAqB,CAgQvB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a unique ID string using a prefix and counter as salt for the random hex.
|
|
3
|
+
* @param prefix - The prefix string for the ID
|
|
4
|
+
* @param counter - Optional. A counter value used as salt for additional uniqueness
|
|
5
|
+
* @returns A unique ID string in the format `{prefix}{counter}-{randomHex}`
|
|
6
|
+
*/
|
|
7
|
+
export declare function createUniqueId(prefix: string, counter?: number): string;
|
|
8
|
+
//# sourceMappingURL=hash-utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash-utilities.d.ts","sourceRoot":"","sources":["../../../../../../src/util/hash-utilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,MAAM,CAK1E"}
|
package/dist/dts/util/index.d.ts
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.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","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.d.ts","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,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flexible position strategy - main positioning engine.
|
|
3
|
+
* Orchestrates position calculation, fallback selection, and style application.
|
|
4
|
+
* Inspired by Angular CDK's FlexibleConnectedPositionStrategy.
|
|
5
|
+
*/
|
|
6
|
+
import type { ConnectedPosition, FlexiblePositionStrategyConfig, RepositionResult } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Flexible position strategy implementation.
|
|
9
|
+
* Main entry point for positioning overlays with fallback logic.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FlexiblePositionStrategy {
|
|
12
|
+
private readonly origin;
|
|
13
|
+
private readonly overlay;
|
|
14
|
+
private readonly positions;
|
|
15
|
+
private readonly boundaryElement;
|
|
16
|
+
private readonly offsetParent;
|
|
17
|
+
private readonly viewportMargin;
|
|
18
|
+
private readonly resize;
|
|
19
|
+
private readonly resizeMinHeight;
|
|
20
|
+
constructor(config: FlexiblePositionStrategyConfig);
|
|
21
|
+
/**
|
|
22
|
+
* Get the effective boundary (custom boundary or viewport).
|
|
23
|
+
*/
|
|
24
|
+
private getBoundary;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the configured candidate positions.
|
|
27
|
+
*/
|
|
28
|
+
private getCandidates;
|
|
29
|
+
/**
|
|
30
|
+
* Evaluate a single position against the current boundary.
|
|
31
|
+
* Returns the computed PositionResult without applying any styles.
|
|
32
|
+
*/
|
|
33
|
+
private evaluatePosition;
|
|
34
|
+
/**
|
|
35
|
+
* Selects the best position from the candidates list.
|
|
36
|
+
*
|
|
37
|
+
* 1. First candidate that fits completely wins immediately.
|
|
38
|
+
* 2. If nothing fits and resize is enabled, picks the one with most
|
|
39
|
+
* available space (best candidate for resize).
|
|
40
|
+
* 3. Otherwise picks the position with the most visible area.
|
|
41
|
+
*/
|
|
42
|
+
private selectBestPosition;
|
|
43
|
+
/**
|
|
44
|
+
* Apply position result to the overlay element.
|
|
45
|
+
*/
|
|
46
|
+
private applyPositionResult;
|
|
47
|
+
/**
|
|
48
|
+
* Get the available space for the overlay in a given position.
|
|
49
|
+
* Measures the distance from the anchor edge to the boundary edge in the
|
|
50
|
+
* relevant direction based on the position's connection points.
|
|
51
|
+
*
|
|
52
|
+
* @param position - The connected position to measure space for.
|
|
53
|
+
* @returns Available space in pixels.
|
|
54
|
+
*/
|
|
55
|
+
getAvailableSpace(position: ConnectedPosition): number;
|
|
56
|
+
/**
|
|
57
|
+
* Applies a resize constraint to the overlay element if it
|
|
58
|
+
* does not fit in the available space for the given position.
|
|
59
|
+
*
|
|
60
|
+
* @param position - The connected position to measure available space for.
|
|
61
|
+
* @returns Whether a constraint was applied and the max-height value.
|
|
62
|
+
*/
|
|
63
|
+
private tryResize;
|
|
64
|
+
/**
|
|
65
|
+
* High-level reposition entry point.
|
|
66
|
+
*
|
|
67
|
+
* 1. Clears any previous resize constraint so the overlay is evaluated
|
|
68
|
+
* at its natural size.
|
|
69
|
+
* 2. Selects the best position from the positions array.
|
|
70
|
+
* 3. Applies a resize constraint if the overlay still overflows.
|
|
71
|
+
* 4. Applies the final position.
|
|
72
|
+
*
|
|
73
|
+
* The component controls flip vs auto behavior by choosing which
|
|
74
|
+
* positions to provide:
|
|
75
|
+
* - Flip: `[original, opposite]`
|
|
76
|
+
* - Auto: `[original, ...allOtherCandidates]`
|
|
77
|
+
*
|
|
78
|
+
* @returns A {@link RepositionResult} describing what happened, or `null`
|
|
79
|
+
* if no positions or resize are provided.
|
|
80
|
+
*/
|
|
81
|
+
reposition(): RepositionResult | null;
|
|
82
|
+
/**
|
|
83
|
+
* Clear any resize constraint applied to the overlay element.
|
|
84
|
+
*/
|
|
85
|
+
private clearResize;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=flexible-position-strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flexible-position-strategy.d.ts","sourceRoot":"","sources":["../../../../../../../src/util/positioning/flexible-position-strategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAGjB,8BAA8B,EAE9B,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAWpB;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;gBAEzC,MAAM,EAAE,8BAA8B;IAWlD;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA4C1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;;;;;OAOG;IACH,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;IA+BtD;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA2BjB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,IAAI,gBAAgB,GAAG,IAAI;IAsCrC;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Positioning utilities - Angular CDK-inspired positioning engine.
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
*/
|
|
5
|
+
export type { HorizontalConnectionPos, VerticalConnectionPos, OriginConnectionPosition, OverlayConnectionPosition, ConnectedPosition, ConnectionPositionPair, Point, BoundaryBounds, OverlayFit, PositionResult, ViewportMargin, FlexiblePositionStrategyConfig, CollisionEdge, RepositionMode, RepositionResult } from "./types.js";
|
|
6
|
+
export { HorizontalConnectionPositions, VerticalConnectionPositions, CollisionEdges, RepositionModes, DEFAULT_ROOT_MARGIN } from "./types.js";
|
|
7
|
+
export { getViewportBounds, getBoundaryBounds, getEffectiveBoundary, getOriginPoint, getOverlayPoint, getOverlayFit, applyPositionStyles } from "./position-calculator.js";
|
|
8
|
+
export { FlexiblePositionStrategy } from "./flexible-position-strategy.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/util/positioning/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,cAAc,EACd,8BAA8B,EAC9B,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Position calculation utilities inspired by Angular CDK's FlexibleConnectedPositionStrategy.
|
|
3
|
+
* Provides coordinate-based positioning calculations for overlays/popovers.
|
|
4
|
+
*/
|
|
5
|
+
import type { Point, ConnectedPosition, BoundaryBounds, OverlayFit, ViewportMargin } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Get the bounding rectangle for the viewport.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getViewportBounds(): BoundaryBounds;
|
|
10
|
+
/**
|
|
11
|
+
* Get the bounding rectangle for a custom boundary element.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getBoundaryBounds(element: HTMLElement): BoundaryBounds;
|
|
14
|
+
/**
|
|
15
|
+
* Get the effective boundary, accounting for viewport margin.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getEffectiveBoundary(boundary: BoundaryBounds, viewportMargin?: ViewportMargin): BoundaryBounds;
|
|
18
|
+
/**
|
|
19
|
+
* Calculate the origin point (x, y) on the origin element based on connection position.
|
|
20
|
+
* This is the point on the anchor element where the overlay will connect.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getOriginPoint(originRect: DOMRect, position: ConnectedPosition): Point;
|
|
23
|
+
/**
|
|
24
|
+
* Calculate the overlay point (x, y) - the top-left corner of the overlay
|
|
25
|
+
* when positioned relative to the origin point.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getOverlayPoint(originPoint: Point, overlayRect: DOMRect, position: ConnectedPosition): Point;
|
|
28
|
+
/**
|
|
29
|
+
* Calculate how well the overlay fits within the boundary when positioned at the given point.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getOverlayFit(overlayPoint: Point, overlayRect: DOMRect, boundary: BoundaryBounds): OverlayFit;
|
|
32
|
+
/**
|
|
33
|
+
* Apply position styles to the overlay element.
|
|
34
|
+
*
|
|
35
|
+
* By default the overlay is pinned via `top`/`left`. When the resolved
|
|
36
|
+
* {@link ConnectedPosition} attaches the overlay's bottom or end edge
|
|
37
|
+
* (`overlayY === "bottom"` or `overlayX === "end"`), the corresponding
|
|
38
|
+
* CSS edge is used instead so that any subsequent height/width constraint
|
|
39
|
+
* causes the overlay to shrink from the *unattached* edge rather than
|
|
40
|
+
* detaching from the anchor.
|
|
41
|
+
*
|
|
42
|
+
* When an offsetParent is provided, viewport coordinates are converted to
|
|
43
|
+
* positions relative to that element (for `position: absolute` children).
|
|
44
|
+
*/
|
|
45
|
+
export declare function applyPositionStyles(overlayElement: HTMLElement, overlayPoint: Point, position: ConnectedPosition, offsetParent?: HTMLElement | null): void;
|
|
46
|
+
//# sourceMappingURL=position-calculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position-calculator.d.ts","sourceRoot":"","sources":["../../../../../../../src/util/positioning/position-calculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CASlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAUtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,cAAc,GAAE,cAAkB,GACjC,cAAc,CA4BhB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,iBAAiB,GAC1B,KAAK,CAyBP;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,iBAAiB,GAC1B,KAAK,CAgCP;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,KAAK,EACnB,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE,cAAc,GACvB,UAAU,CAsCZ;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,WAAW,EAC3B,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,GAChC,IAAI,CA8BN"}
|