@fabric-msft/fabric-web 5.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.
Files changed (230) hide show
  1. package/CHANGELOG.json +180 -0
  2. package/CHANGELOG.md +56 -1
  3. package/dist/dts/components/accordion-menu/accordion-menu.d.ts +1 -1
  4. package/dist/dts/components/accordion-menu/accordion-menu.d.ts.map +1 -1
  5. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts +2 -2
  6. package/dist/dts/components/accordion-menu-panel/accordion-menu-panel.d.ts.map +1 -1
  7. package/dist/dts/components/component-register.d.ts +67 -0
  8. package/dist/dts/components/component-register.d.ts.map +1 -0
  9. package/dist/dts/components/field/field.d.ts +32 -1
  10. package/dist/dts/components/field/field.d.ts.map +1 -1
  11. package/dist/dts/components/filter-pill/filter-pill.d.ts +1 -1
  12. package/dist/dts/components/filter-pill/filter-pill.d.ts.map +1 -1
  13. package/dist/dts/components/listbox/listbox.d.ts +1 -1
  14. package/dist/dts/components/listbox/listbox.d.ts.map +1 -1
  15. package/dist/dts/components/menu/menu.d.ts +71 -83
  16. package/dist/dts/components/menu/menu.d.ts.map +1 -1
  17. package/dist/dts/components/menu/menu.positioning.d.ts +26 -67
  18. package/dist/dts/components/menu/menu.positioning.d.ts.map +1 -1
  19. package/dist/dts/components/menu/menu.styles.d.ts.map +1 -1
  20. package/dist/dts/components/menu-item/menu-item.d.ts +4 -4
  21. package/dist/dts/components/menu-item/menu-item.d.ts.map +1 -1
  22. package/dist/dts/components/menu-list/menu-list.d.ts +1 -1
  23. package/dist/dts/components/menu-list/menu-list.d.ts.map +1 -1
  24. package/dist/dts/components/option-group/option-group.d.ts +1 -1
  25. package/dist/dts/components/option-group/option-group.d.ts.map +1 -1
  26. package/dist/dts/components/popover/popover.d.ts +48 -69
  27. package/dist/dts/components/popover/popover.d.ts.map +1 -1
  28. package/dist/dts/components/popover/popover.definition.d.ts +1 -1
  29. package/dist/dts/components/popover/popover.definition.d.ts.map +1 -1
  30. package/dist/dts/components/popover/popover.options.d.ts +2 -2
  31. package/dist/dts/components/popover/popover.options.d.ts.map +1 -1
  32. package/dist/dts/components/popover/popover.positioning.d.ts +92 -0
  33. package/dist/dts/components/popover/popover.positioning.d.ts.map +1 -0
  34. package/dist/dts/components/popover/popover.styles.d.ts.map +1 -1
  35. package/dist/dts/components/search-box/search-box.d.ts +1 -1
  36. package/dist/dts/components/search-box/search-box.d.ts.map +1 -1
  37. package/dist/dts/components/search-box/search-box.options.d.ts.map +1 -1
  38. package/dist/dts/components/table/table.d.ts +1 -1
  39. package/dist/dts/components/table/table.d.ts.map +1 -1
  40. package/dist/dts/components/text-input/text-input.base.d.ts +3 -3
  41. package/dist/dts/components/text-input/text-input.base.d.ts.map +1 -1
  42. package/dist/dts/components/text-input/text-input.d.ts.map +1 -1
  43. package/dist/dts/components/tooltip/tooltip.d.ts +5 -0
  44. package/dist/dts/components/tooltip/tooltip.d.ts.map +1 -1
  45. package/dist/dts/components/tooltip/tooltip.template.d.ts +13 -0
  46. package/dist/dts/components/tooltip/tooltip.template.d.ts.map +1 -0
  47. package/dist/dts/components/tree/tree.d.ts +16 -0
  48. package/dist/dts/components/tree/tree.d.ts.map +1 -1
  49. package/dist/dts/components/tree-item/index.d.ts +2 -1
  50. package/dist/dts/components/tree-item/index.d.ts.map +1 -1
  51. package/dist/dts/components/tree-item/tree-item.definition.d.ts.map +1 -1
  52. package/dist/dts/components/tree-item/tree-item.styles.d.ts +2 -0
  53. package/dist/dts/components/tree-item/tree-item.styles.d.ts.map +1 -0
  54. package/dist/dts/components/tree-item/tree-item.template.d.ts +4 -0
  55. package/dist/dts/components/tree-item/tree-item.template.d.ts.map +1 -0
  56. package/dist/dts/components/wizard/wizard.d.ts +1 -1
  57. package/dist/dts/components/wizard/wizard.d.ts.map +1 -1
  58. package/dist/dts/components/wizard-step/wizard-step.d.ts +1 -1
  59. package/dist/dts/components/wizard-step/wizard-step.d.ts.map +1 -1
  60. package/dist/dts/index.d.ts +3 -2
  61. package/dist/dts/index.d.ts.map +1 -1
  62. package/dist/dts/util/accessibility-utilities.d.ts +23 -0
  63. package/dist/dts/util/accessibility-utilities.d.ts.map +1 -0
  64. package/dist/dts/util/attribute-utilities.d.ts +9 -0
  65. package/dist/dts/util/attribute-utilities.d.ts.map +1 -0
  66. package/dist/dts/util/debounce.d.ts.map +1 -0
  67. package/dist/dts/util/debug.d.ts +32 -0
  68. package/dist/dts/util/debug.d.ts.map +1 -0
  69. package/dist/dts/util/direction.d.ts +193 -0
  70. package/dist/dts/util/direction.d.ts.map +1 -1
  71. package/dist/dts/util/dom.d.ts +2 -0
  72. package/dist/dts/util/dom.d.ts.map +1 -0
  73. package/dist/dts/util/element-internal-mocks.d.ts +67 -0
  74. package/dist/dts/util/element-internal-mocks.d.ts.map +1 -0
  75. package/dist/dts/util/focus-management.d.ts +132 -0
  76. package/dist/dts/util/focus-management.d.ts.map +1 -0
  77. package/dist/dts/util/hash-utilities.d.ts +8 -0
  78. package/dist/dts/util/hash-utilities.d.ts.map +1 -0
  79. package/dist/dts/util/index.d.ts +13 -6
  80. package/dist/dts/util/index.d.ts.map +1 -1
  81. package/dist/dts/util/positioning/flexible-position-strategy.d.ts +87 -0
  82. package/dist/dts/util/positioning/flexible-position-strategy.d.ts.map +1 -0
  83. package/dist/dts/util/positioning/index.d.ts +9 -0
  84. package/dist/dts/util/positioning/index.d.ts.map +1 -0
  85. package/dist/dts/util/positioning/position-calculator.d.ts +46 -0
  86. package/dist/dts/util/positioning/position-calculator.d.ts.map +1 -0
  87. package/dist/dts/util/positioning/types.d.ts +181 -0
  88. package/dist/dts/util/positioning/types.d.ts.map +1 -0
  89. package/dist/esm/components/accordion-menu/accordion-menu.js +1 -1
  90. package/dist/esm/components/accordion-menu/accordion-menu.js.map +1 -1
  91. package/dist/esm/components/accordion-menu/accordion-menu.styles.js +1 -1
  92. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js +2 -2
  93. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.js.map +1 -1
  94. package/dist/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +1 -1
  95. package/dist/esm/components/card/card.styles.js +1 -1
  96. package/dist/esm/components/card-footer/card-footer.styles.js +1 -1
  97. package/dist/esm/components/card-header/card-header.styles.js +1 -1
  98. package/dist/esm/components/card-preview/card-preview.styles.js +1 -1
  99. package/dist/esm/components/carousel/carousel.js +1 -1
  100. package/dist/esm/components/carousel/carousel.js.map +1 -1
  101. package/dist/esm/components/carousel/carousel.styles.js +1 -1
  102. package/dist/esm/components/component-register.js +67 -0
  103. package/dist/esm/components/component-register.js.map +1 -0
  104. package/dist/esm/components/compound-button/compound-button.options.js +1 -1
  105. package/dist/esm/components/field/field.js +68 -1
  106. package/dist/esm/components/field/field.js.map +1 -1
  107. package/dist/esm/components/filter-pill/filter-pill.js +1 -1
  108. package/dist/esm/components/filter-pill/filter-pill.js.map +1 -1
  109. package/dist/esm/components/filter-pill/filter-pill.options.js +1 -1
  110. package/dist/esm/components/filter-pill/filter-pill.styles.js +3 -2
  111. package/dist/esm/components/listbox/listbox.js +1 -1
  112. package/dist/esm/components/listbox/listbox.js.map +1 -1
  113. package/dist/esm/components/loading-button/loading-button.js.map +1 -1
  114. package/dist/esm/components/menu/menu.js +158 -230
  115. package/dist/esm/components/menu/menu.js.map +1 -1
  116. package/dist/esm/components/menu/menu.options.js +1 -1
  117. package/dist/esm/components/menu/menu.options.js.map +1 -1
  118. package/dist/esm/components/menu/menu.positioning.js +98 -201
  119. package/dist/esm/components/menu/menu.positioning.js.map +1 -1
  120. package/dist/esm/components/menu/menu.styles.js +2 -2
  121. package/dist/esm/components/menu/menu.styles.js.map +1 -1
  122. package/dist/esm/components/menu-item/menu-item.js +4 -4
  123. package/dist/esm/components/menu-item/menu-item.js.map +1 -1
  124. package/dist/esm/components/menu-item/menu-item.styles.js +1 -1
  125. package/dist/esm/components/menu-list/menu-list.js +1 -1
  126. package/dist/esm/components/menu-list/menu-list.js.map +1 -1
  127. package/dist/esm/components/menu-list/menu-list.styles.js +1 -1
  128. package/dist/esm/components/multi-view/multi-view.styles.js +1 -1
  129. package/dist/esm/components/multi-view-controller/multi-view-controller.styles.js +1 -1
  130. package/dist/esm/components/multi-view-group/multi-view-group.styles.js +1 -1
  131. package/dist/esm/components/option-group/option-group.js +1 -1
  132. package/dist/esm/components/option-group/option-group.js.map +1 -1
  133. package/dist/esm/components/popover/define.js +2 -2
  134. package/dist/esm/components/popover/define.js.map +1 -1
  135. package/dist/esm/components/popover/popover.definition.js.map +1 -1
  136. package/dist/esm/components/popover/popover.js +82 -122
  137. package/dist/esm/components/popover/popover.js.map +1 -1
  138. package/dist/esm/components/popover/popover.options.js +2 -2
  139. package/dist/esm/components/popover/popover.options.js.map +1 -1
  140. package/dist/esm/components/popover/popover.positioning.js +314 -0
  141. package/dist/esm/components/popover/popover.positioning.js.map +1 -0
  142. package/dist/esm/components/popover/popover.styles.js +14 -18
  143. package/dist/esm/components/popover/popover.styles.js.map +1 -1
  144. package/dist/esm/components/search-box/search-box.js +1 -1
  145. package/dist/esm/components/search-box/search-box.js.map +1 -1
  146. package/dist/esm/components/search-box/search-box.options.js +1 -1
  147. package/dist/esm/components/search-box/search-box.options.js.map +1 -1
  148. package/dist/esm/components/simple-table/simple-table.styles.js +2 -1
  149. package/dist/esm/components/table/table.js +1 -1
  150. package/dist/esm/components/table/table.js.map +1 -1
  151. package/dist/esm/components/table/table.styles.js +1 -1
  152. package/dist/esm/components/table-cell/table-cell.styles.js +1 -1
  153. package/dist/esm/components/tag/tag.styles.js +1 -1
  154. package/dist/esm/components/teaching-bubble/teaching-bubble.styles.js +1 -1
  155. package/dist/esm/components/text-input/text-input.base.js +3 -3
  156. package/dist/esm/components/text-input/text-input.base.js.map +1 -1
  157. package/dist/esm/components/text-input/text-input.js +1 -0
  158. package/dist/esm/components/text-input/text-input.js.map +1 -1
  159. package/dist/esm/components/text-input/text-input.styles.js +1 -1
  160. package/dist/esm/components/tooltip/tooltip.js +23 -0
  161. package/dist/esm/components/tooltip/tooltip.js.map +1 -1
  162. package/dist/esm/components/tooltip/tooltip.template.js +16 -0
  163. package/dist/esm/components/tooltip/tooltip.template.js.map +1 -0
  164. package/dist/esm/components/tree/tree.js +38 -1
  165. package/dist/esm/components/tree/tree.js.map +1 -1
  166. package/dist/esm/components/tree-item/index.js +2 -1
  167. package/dist/esm/components/tree-item/index.js.map +1 -1
  168. package/dist/esm/components/tree-item/tree-item.definition.js +4 -3
  169. package/dist/esm/components/tree-item/tree-item.definition.js.map +1 -1
  170. package/dist/esm/components/tree-item/tree-item.styles.js +9 -0
  171. package/dist/esm/components/tree-item/tree-item.styles.js.map +1 -0
  172. package/dist/esm/components/tree-item/tree-item.template.js +6 -0
  173. package/dist/esm/components/tree-item/tree-item.template.js.map +1 -0
  174. package/dist/esm/components/wizard/wizard.js +3 -3
  175. package/dist/esm/components/wizard/wizard.js.map +1 -1
  176. package/dist/esm/components/wizard/wizard.styles.js +1 -1
  177. package/dist/esm/components/wizard-panel/wizard-panel.styles.js +1 -1
  178. package/dist/esm/components/wizard-step/wizard-step.js +1 -1
  179. package/dist/esm/components/wizard-step/wizard-step.js.map +1 -1
  180. package/dist/esm/components/wizard-step/wizard-step.styles.js +1 -1
  181. package/dist/esm/index.js +17 -7
  182. package/dist/esm/index.js.map +1 -1
  183. package/dist/esm/util/accessibility-utilities.js +40 -0
  184. package/dist/esm/util/accessibility-utilities.js.map +1 -0
  185. package/dist/esm/util/attribute-utilities.js +12 -0
  186. package/dist/esm/util/attribute-utilities.js.map +1 -0
  187. package/dist/esm/util/debounce.js.map +1 -0
  188. package/dist/esm/util/debug.js +74 -0
  189. package/dist/esm/util/debug.js.map +1 -0
  190. package/dist/esm/util/direction.js +240 -8
  191. package/dist/esm/util/direction.js.map +1 -1
  192. package/dist/esm/util/dom.js +3 -0
  193. package/dist/esm/util/dom.js.map +1 -0
  194. package/dist/esm/util/element-internal-mocks.js +114 -0
  195. package/dist/esm/util/element-internal-mocks.js.map +1 -0
  196. package/dist/esm/util/focus-management.js +247 -0
  197. package/dist/esm/util/focus-management.js.map +1 -0
  198. package/dist/esm/util/hash-utilities.js +12 -0
  199. package/dist/esm/util/hash-utilities.js.map +1 -0
  200. package/dist/esm/util/index.js +13 -6
  201. package/dist/esm/util/index.js.map +1 -1
  202. package/dist/esm/util/positioning/flexible-position-strategy.js +232 -0
  203. package/dist/esm/util/positioning/flexible-position-strategy.js.map +1 -0
  204. package/dist/esm/util/positioning/index.js +10 -0
  205. package/dist/esm/util/positioning/index.js.map +1 -0
  206. package/dist/esm/util/positioning/position-calculator.js +196 -0
  207. package/dist/esm/util/positioning/position-calculator.js.map +1 -0
  208. package/dist/esm/util/positioning/types.js +30 -0
  209. package/dist/esm/util/positioning/types.js.map +1 -0
  210. package/dist/index.d.ts +697 -223
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +2365 -1215
  213. package/dist/index.js.map +1 -1
  214. package/dist/index.min.js +109 -110
  215. package/dist/index.min.js.map +1 -1
  216. package/package.json +6 -8
  217. package/dist/component-utilities.js +0 -43
  218. package/dist/dts/components/popover/positioning.d.ts +0 -51
  219. package/dist/dts/components/popover/positioning.d.ts.map +0 -1
  220. package/dist/dts/util/positioning.d.ts +0 -129
  221. package/dist/dts/util/positioning.d.ts.map +0 -1
  222. package/dist/dts/utils/debounce.d.ts.map +0 -1
  223. package/dist/esm/component-utilities.js +0 -13
  224. package/dist/esm/components/popover/positioning.js +0 -189
  225. package/dist/esm/components/popover/positioning.js.map +0 -1
  226. package/dist/esm/util/positioning.js +0 -130
  227. package/dist/esm/util/positioning.js.map +0 -1
  228. package/dist/esm/utils/debounce.js.map +0 -1
  229. /package/dist/dts/{utils → util}/debounce.d.ts +0 -0
  230. /package/dist/esm/{utils → util}/debounce.js +0 -0
@@ -1,10 +1,16 @@
1
1
  import { FASTElement } from "@microsoft/fast-element";
2
2
  import { MenuList } from "../menu-list/menu-list.js";
3
- import type { MenuPosition, MenuRepositionMode } from "./menu.options.js";
3
+ import { type MenuPosition, type MenuRepositionMode } from "./menu.options.js";
4
4
  /**
5
5
  * Menu
6
6
  * @summary A Menu component that provides an interactive menu interface with support for various trigger and open behaviors.
7
7
  *
8
+ * When `reposition-mode="auto"` is set the component creates a {@link MenuPositioning} manager backed by
9
+ * `FlexiblePositionStrategy`. On every open/resize/scroll cycle the strategy measures available space, picks
10
+ * the best-fitting position from the preferred position plus its fallbacks, and resizes the menu if there is
11
+ * not enough available space. Supply `overflowBoundary` to scope collision detection to a specific scrolling
12
+ * container instead of the viewport.
13
+ *
8
14
  * @example
9
15
  * ```html
10
16
  * <fabric-menu open-on-hover="true" open-on-context="true" close-on-scroll="true" persist-on-item-click="true">
@@ -22,8 +28,10 @@ import type { MenuPosition, MenuRepositionMode } from "./menu.options.js";
22
28
  * @attr {boolean | undefined} close-on-scroll - Determines if the menu should close on scroll.
23
29
  * @attr {boolean | undefined} persist-on-item-click - Determines if the menu open state should persist on click of a menu item.
24
30
  * @attr {boolean | undefined} split - Determines if the menu is in split state (for split button pattern).
25
- * @attr {MenuPosition | undefined} menu-position - Determines whether the menu list is above or below the trigger.
26
- * @attr {MenuRepositionMode | undefined} reposition-mode - The mode for repositioning the menu. Default is "none".
31
+ * @attr {MenuPosition | undefined} menu-position - Determines whether the menu list is above or below the trigger. Defaults to `"below"`.
32
+ * @attr {MenuRepositionMode | undefined} reposition-mode - Controls JS-based repositioning. `"auto"` enables
33
+ * `FlexiblePositionStrategy` which detects collisions and flips the menu to the best-fitting position on
34
+ * every resize/scroll cycle. `"none"` (default) disables JS repositioning and relies on CSS anchored positioning.
27
35
  *
28
36
  * @prop {boolean | undefined} openOnHover - Determines if the menu should open on hover.
29
37
  * @prop {boolean | undefined} openOnContext - Determines if the menu should open on right click.
@@ -32,9 +40,12 @@ import type { MenuPosition, MenuRepositionMode } from "./menu.options.js";
32
40
  * @prop {boolean | undefined} split - Determines if the menu is in split state.
33
41
  * @prop {MenuList[]} slottedMenuList - Holds the slotted menu list.
34
42
  * @prop {HTMLElement[]} slottedTriggers - Holds the slotted triggers.
35
- * @prop {MenuPosition | undefined} menuPosition - Determines whether the menu list is above or below the trigger.
36
- * @prop {MenuRepositionMode | undefined} repositionMode - The mode for repositioning the menu.
37
- * @prop {HTMLElement | undefined} overflowBoundary - The overflow boundary element reference.
43
+ * @prop {MenuPosition | undefined} menuPosition - Reflects the active resolved position (`"above"` or `"below"`). May
44
+ * differ from the authored `menu-position` attribute when `reposition-mode="auto"` has flipped the menu.
45
+ * @prop {MenuRepositionMode | undefined} repositionMode - The active repositioning mode (`"auto"` | `"none"`).
46
+ * @prop {HTMLElement | undefined} overflowBoundary - An optional scrolling container used by the
47
+ * `FlexiblePositionStrategy` as the collision boundary instead of the viewport. Only relevant when
48
+ * `reposition-mode="auto"`.
38
49
  *
39
50
  * @slot primary-action - Slot for the primary action element (used when split is true).
40
51
  * @slot trigger - Slot for the trigger element.
@@ -64,21 +75,6 @@ export declare class Menu extends FASTElement {
64
75
  * @private
65
76
  */
66
77
  private positioning;
67
- /**
68
- * The intersection observer for tracking overflow.
69
- * @private
70
- */
71
- private intersectionObserver;
72
- /**
73
- * The original position before repositioning.
74
- * @private
75
- */
76
- private originalMenuPosition;
77
- /**
78
- * The array of open positions based on collision detection.
79
- * @private
80
- */
81
- private openPositions;
82
78
  /**
83
79
  * Determines if the menu should open on hover.
84
80
  * @public
@@ -109,14 +105,34 @@ export declare class Menu extends FASTElement {
109
105
  * @public
110
106
  */
111
107
  menuPosition?: MenuPosition;
108
+ /**
109
+ * Handles changes to the menuPosition attribute.
110
+ * Updates the positioning strategy and triggers a reposition if
111
+ * the menu is currently open, without mutating the public attribute.
112
+ * @public
113
+ */
114
+ menuPositionChanged(): void;
112
115
  /**
113
116
  * The mode for repositioning the menu when it overflows the boundary.
117
+ *
118
+ * - `"none"` (default) — no JS-based repositioning; positioning is handled entirely by CSS anchored positioning.
119
+ * - `"auto"` — enables `FlexiblePositionStrategy`. On every open, resize, and scroll event the strategy
120
+ * measures available space, picks the best-fitting position from the preferred position plus its fallbacks,
121
+ * and re-applies layout. When the chosen position is `"above"`, bottom-anchored positioning keeps the
122
+ * menu's bottom edge pinned to the anchor's top edge so that height constraints shrink it upward.
123
+ *
114
124
  * @public
115
- * @default "auto"
125
+ * @default "none"
116
126
  */
117
127
  repositionMode?: MenuRepositionMode;
118
128
  /**
119
- * The overflow boundary element reference.
129
+ * An optional scrolling container used as the collision boundary by `FlexiblePositionStrategy`.
130
+ * When provided, the strategy measures overflow against this element's viewport instead of the
131
+ * document viewport. Only takes effect when `reposition-mode="auto"`.
132
+ *
133
+ * Scroll events on this element are listened to and trigger a debounced reposition while the menu
134
+ * is open.
135
+ *
120
136
  * @public
121
137
  */
122
138
  overflowBoundary?: HTMLElement;
@@ -130,6 +146,16 @@ export declare class Menu extends FASTElement {
130
146
  * @public
131
147
  */
132
148
  slottedTriggers: HTMLElement[];
149
+ /**
150
+ * Handles menu list slot changes.
151
+ * @internal
152
+ */
153
+ private slottedMenuListChanged;
154
+ /**
155
+ * Handles trigger slot changes.
156
+ * @internal
157
+ */
158
+ private slottedTriggersChanged;
133
159
  /**
134
160
  * Defines whether the menu is open or not.
135
161
  * @internal
@@ -141,61 +167,37 @@ export declare class Menu extends FASTElement {
141
167
  */
142
168
  private _trigger?;
143
169
  /**
144
- * The menu list element of the menu which has the popover behavior.
170
+ * The menu list element of the menu.
145
171
  * @internal
146
172
  */
147
173
  private _menuList?;
148
174
  /**
149
- * Creates the overflow handler using IntersectionObserver.
150
- * Note: When a custom overflowBoundary is set, we use direct rect calculations
151
- * instead because popovers render in the top layer and IntersectionObserver
152
- * with a custom root won't work correctly.
175
+ * Updates menu list open state and ARIA expanded.
153
176
  * @private
154
177
  */
155
- private createOverflowHandler;
178
+ private setMenuOpenState;
156
179
  /**
157
- * Checks overflow against custom boundary using direct rect calculations.
158
- * Delegates to MenuPositioning for the actual calculation.
180
+ * Internal open handler used by multiple entry points.
159
181
  * @private
160
182
  */
161
- private checkOverflowWithBoundary;
183
+ private openMenuInternal;
162
184
  /**
163
- * Handles overflow collisions with the menu.
185
+ * Internal close handler used by multiple entry points.
164
186
  * @private
165
187
  */
166
- private handleOverflow;
188
+ private closeMenuInternal;
167
189
  /**
168
- * Applies height constraint to make menu scrollable when space is limited.
169
- * @private
170
- */
171
- private applyHeightConstraint;
172
- /**
173
- * Clears height constraint from the menu.
174
- * @private
175
- */
176
- private clearHeightConstraint;
177
- /**
178
- * Repositions the menu based on collisions.
190
+ * Delegates resize + flip logic to the positioning strategy.
179
191
  * @private
180
192
  */
181
193
  private repositionMenu;
182
194
  /**
183
- * Releases positions and restores original if valid.
184
- * @private
185
- */
186
- private releasePositions;
187
- /**
188
- * Observes the menu for overflow.
189
- * @private
190
- */
191
- private observeMenuOverflow;
192
- /**
193
- * Updates the menu position on window changes.
195
+ * Schedules a reposition on the next microtask.
194
196
  * @private
195
197
  */
196
- private updateMenuPosition;
198
+ private scheduleReposition;
197
199
  /**
198
- * Debounced handler for window changes.
200
+ * Debounced handler for window resize/scroll changes.
199
201
  * @private
200
202
  */
201
203
  private handleWindowChanges;
@@ -244,11 +246,6 @@ export declare class Menu extends FASTElement {
244
246
  * @public
245
247
  */
246
248
  setComponent(): void;
247
- /**
248
- * Sets the menu position.
249
- * @public
250
- */
251
- setMenuPosition(): void;
252
249
  /**
253
250
  * Toggles the open state of the menu.
254
251
  * @public
@@ -274,13 +271,6 @@ export declare class Menu extends FASTElement {
274
271
  * @public
275
272
  */
276
273
  focusTrigger(): void;
277
- /**
278
- * Handles the 'toggle' event on the popover.
279
- * @public
280
- * @param e - the event
281
- * @returns void
282
- */
283
- toggleHandler: (e: Event | ToggleEvent) => void;
284
274
  /**
285
275
  * Called whenever the 'openOnHover' property changes.
286
276
  *
@@ -288,7 +278,7 @@ export declare class Menu extends FASTElement {
288
278
  * @param newValue - The new value of 'openOnHover'.
289
279
  * @public
290
280
  */
291
- openOnHoverChanged(oldValue: boolean, newValue: boolean): void;
281
+ openOnHoverChanged(_oldValue: boolean, newValue: boolean): void;
292
282
  /**
293
283
  * Called whenever the 'persistOnItemClick' property changes.
294
284
  *
@@ -296,23 +286,21 @@ export declare class Menu extends FASTElement {
296
286
  * @param oldValue - The previous value of 'persistOnItemClick'.
297
287
  * @param newValue - The new value of 'persistOnItemClick'.
298
288
  */
299
- persistOnItemClickChanged(oldValue: boolean, newValue: boolean): void;
289
+ persistOnItemClickChanged(_oldValue: boolean, newValue: boolean): void;
300
290
  /**
301
- * Called whenever the 'menuPosition' property changes.
291
+ * Called whenever the 'repositionMode' property changes.
302
292
  *
303
- * @param oldValue - The previous value of 'menuPosition'.
304
- * @param newValue - The new value of 'menuPosition'.
305
293
  * @public
294
+ * @param oldValue - The previous value of 'repositionMode'.
295
+ * @param newValue - The new value of 'repositionMode'.
306
296
  */
307
- menuPositionChanged(): void;
297
+ repositionModeChanged(_oldValue: MenuRepositionMode, newValue: MenuRepositionMode): void;
308
298
  /**
309
- * Called whenever the 'repositionMode' property changes.
299
+ * Called whenever the 'overflowBoundary' property changes.
310
300
  *
311
301
  * @public
312
- * @param oldValue - The previous value of 'repositionMode'.
313
- * @param newValue - The new value of 'repositionMode'.
314
302
  */
315
- repositionModeChanged(oldValue: MenuRepositionMode, newValue: MenuRepositionMode): void;
303
+ overflowBoundaryChanged(oldValue: HTMLElement | undefined, newValue: HTMLElement | undefined): void;
316
304
  /**
317
305
  * Called whenever the 'openOnContext' property changes.
318
306
  *
@@ -320,7 +308,7 @@ export declare class Menu extends FASTElement {
320
308
  * @param oldValue - The previous value of 'openOnContext'.
321
309
  * @param newValue - The new value of 'openOnContext'.
322
310
  */
323
- openOnContextChanged(oldValue: boolean, newValue: boolean): void;
311
+ openOnContextChanged(_oldValue: boolean, newValue: boolean): void;
324
312
  /**
325
313
  * Called whenever the 'closeOnScroll' property changes.
326
314
  *
@@ -328,7 +316,7 @@ export declare class Menu extends FASTElement {
328
316
  * @param oldValue - The previous value of 'closeOnScroll'.
329
317
  * @param newValue - The new value of 'closeOnScroll'.
330
318
  */
331
- closeOnScrollChanged(oldValue: boolean, newValue: boolean): void;
319
+ closeOnScrollChanged(_oldValue: boolean, newValue: boolean): void;
332
320
  /**
333
321
  * Adds event listeners.
334
322
  *
@@ -356,7 +344,7 @@ export declare class Menu extends FASTElement {
356
344
  */
357
345
  triggerKeydownHandler: (e: KeyboardEvent) => boolean | void;
358
346
  /**
359
- * Handles document click events to close a menu opened with contextmenu in popover="manual" mode.
347
+ * Handles document click events to close the menu when clicking outside (light dismiss).
360
348
  * @internal
361
349
  * @param e - The event triggered on document click.
362
350
  */
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import type { MenuPosition, MenuRepositionMode } from "./menu.options.js";
2
- import type { CollisionEdge } from "../../util/positioning.js";
3
- export { CollisionEdges, type CollisionEdge } from "../../util/positioning.js";
1
+ import { type MenuPosition } from "./menu.options.js";
2
+ import { type RepositionResult } from "../../util/positioning/index.js";
4
3
  /**
5
4
  * Options for the menu positioning manager
6
5
  * @internal
@@ -9,86 +8,46 @@ export interface MenuPositioningOptions {
9
8
  menuReference: HTMLElement;
10
9
  anchorReference: HTMLElement;
11
10
  overflowBoundaryReference?: HTMLElement | null;
12
- repositionMode?: MenuRepositionMode;
13
11
  }
14
12
  /**
15
- * Positioning manager for menu component
16
- * Handles collision detection and repositioning logic
13
+ * Positioning manager for menu component.
14
+ * Delegates all coordinate-based positioning to {@link FlexiblePositionStrategy}.
17
15
  * @internal
18
16
  */
19
17
  export declare class MenuPositioning {
20
- private menuReference;
21
- private anchorReference;
18
+ private positionStrategy;
19
+ private readonly menuReference;
20
+ private readonly anchorReference;
22
21
  private overflowBoundaryReference;
23
- private rootMargin;
24
- private minMenuHeight;
25
22
  private _position;
26
- private _repositionMode;
27
23
  set position(value: MenuPosition);
28
24
  get position(): MenuPosition;
29
- set repositionMode(value: MenuRepositionMode);
30
- get repositionMode(): MenuRepositionMode;
31
- constructor(options: MenuPositioningOptions);
32
- /**
33
- * Gets the boundary bounds for overflow calculations.
34
- * Uses custom overflow boundary if set, otherwise uses viewport.
35
- * @returns BoundaryBounds object
36
- */
37
- private getBoundaryBounds;
38
- /**
39
- * Checks if a position is valid (menu fits within boundary)
40
- * @param openPosition - The position to check
41
- * @returns Whether the position is valid
42
- */
43
- checkPosition: (openPosition: MenuPosition) => boolean;
44
- /**
45
- * Gets the opposite position for flipping
46
- * @param collisionEdge - The edge where collision occurred
47
- * @returns The opposite position
48
- */
49
- private oppositePosition;
50
- /**
51
- * Gets open positions based on collision edge
52
- * @param collisionEdge - The edge where collision occurred
53
- * @returns Array of valid positions
54
- */
55
- private getOpenPositionsFromEdge;
56
25
  /**
57
- * Gets all currently valid positions
58
- * @returns Array of valid positions
26
+ * Updates the overflow boundary reference used for collision detection.
59
27
  */
60
- getOpenPositions: () => Array<MenuPosition>;
61
- /**
62
- * Finds valid positions based on intersection collision
63
- * @param entry - The intersection observer entry
64
- * @returns Array of valid positions
65
- */
66
- findOpenPositionsFromCollision: (entry: IntersectionObserverEntry) => Array<MenuPosition>;
28
+ setOverflowBoundaryReference(boundary: HTMLElement | null | undefined): void;
29
+ constructor(options: MenuPositioningOptions);
67
30
  /**
68
- * Calculates available space for the menu in a given position
69
- * @param position - The position to calculate space for
70
- * @returns Available height in pixels
31
+ * Build the ordered list of candidate positions.
32
+ * The original position is always the first entry, followed by fallbacks.
71
33
  */
72
- getMenuAvailableSpace: (position: MenuPosition) => number;
34
+ private buildPositionCandidates;
73
35
  /**
74
- * Determines if menu needs to be constrained with max-height
75
- * @returns Object with needsConstraint flag and maxHeight value
36
+ * Create a new immutable FlexiblePositionStrategy from current state.
37
+ * Returns null if required element references are not available.
76
38
  */
77
- calculateConstrainedHeight: () => {
78
- needsConstraint: boolean;
79
- maxHeight: number | null;
80
- };
39
+ private createPositionStrategy;
81
40
  /**
82
- * Checks if the menu overflows the boundary and returns the appropriate position.
83
- * This uses direct rect calculations, which is needed for custom boundaries
84
- * because popovers render in the top layer (outside the DOM hierarchy)
85
- * and IntersectionObserver with a custom root won't work correctly.
86
- * @returns Object with hasOverflow flag, collisionEdge, and suggested position
41
+ * Performs a combined resize + auto reposition.
42
+ *
43
+ * Delegates to the {@link FlexiblePositionStrategy}'s `reposition()` method,
44
+ * which selects the best-fitting position from the original + fallbacks.
45
+ * Converts the selected `ConnectedPosition` back to a menu shorthand.
46
+ *
47
+ * After repositioning, updates the internal position shorthand.
48
+ *
49
+ * @returns The reposition result, or `null` if not configured.
87
50
  */
88
- checkOverflowWithBoundary: () => {
89
- hasOverflow: boolean;
90
- collisionEdge: CollisionEdge | undefined;
91
- suggestedPosition: MenuPosition | undefined;
92
- };
51
+ reposition(): RepositionResult | null;
93
52
  }
94
53
  //# sourceMappingURL=menu.positioning.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.positioning.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.positioning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU1E,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,2BAA2B,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/E;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,WAAW,CAAC;IAC7B,yBAAyB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,yBAAyB,CAAqB;IACtD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAAO;IAE5B,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,eAAe,CAAgD;IAEvE,IAAW,QAAQ,CAAC,KAAK,EAAE,YAAY,EAEtC;IAED,IAAW,QAAQ,IAAI,YAAY,CAElC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAElD;IAED,IAAW,cAAc,IAAI,kBAAkB,CAE9C;gBAEW,OAAO,EAAE,sBAAsB;IAO3C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAEvB;IAEF;;;;OAIG;IACI,aAAa,GAAI,cAAc,YAAY,KAAG,OAAO,CAgB1D;IAEF;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAStB;IAEF;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAU9B;IAEF;;;OAGG;IACI,gBAAgB,QAAO,KAAK,CAAC,YAAY,CAAC,CAS/C;IAEF;;;;OAIG;IACI,8BAA8B,GACnC,OAAO,yBAAyB,KAC/B,KAAK,CAAC,YAAY,CAAC,CAGpB;IAEF;;;;OAIG;IACI,qBAAqB,GAAI,UAAU,YAAY,KAAG,MAAM,CAkB7D;IAEF;;;OAGG;IACI,0BAA0B,QAAO;QACtC,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAmCC;IAEF;;;;;;OAMG;IACI,yBAAyB,QAAO;QACrC,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;QACzC,iBAAiB,EAAE,YAAY,GAAG,SAAS,CAAC;KAC7C,CAsCC;CACH"}
1
+ {"version":3,"file":"menu.positioning.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.positioning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAgCzC;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,WAAW,CAAC;IAC7B,yBAAyB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAChD;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,OAAO,CAAC,yBAAyB,CAAqB;IAEtD,OAAO,CAAC,SAAS,CAAqC;IAEtD,IAAW,QAAQ,CAAC,KAAK,EAAE,YAAY,EAEtC;IAED,IAAW,QAAQ,IAAI,YAAY,CAElC;IAED;;OAEG;IACI,4BAA4B,CACjC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACvC,IAAI;gBAIK,OAAO,EAAE,sBAAsB;IAM3C;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;;;;;;;;;OAUG;IACI,UAAU,IAAI,gBAAgB,GAAG,IAAI;CAsB7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu.styles.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.styles.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,eAAO,MAAM,MAAM,iDA2DlB,CAAC"}
1
+ {"version":3,"file":"menu.styles.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu/menu.styles.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,eAAO,MAAM,MAAM,iDAgDlB,CAAC"}
@@ -78,7 +78,7 @@ export declare class MenuItem extends FASTElement {
78
78
  * @param prev - the previous state
79
79
  * @param next - the next state
80
80
  */
81
- disabledChanged(prev: boolean | undefined, next: boolean | undefined): void;
81
+ disabledChanged(_prev: boolean | undefined, next: boolean | undefined): void;
82
82
  /**
83
83
  * The role of the element.
84
84
  *
@@ -92,7 +92,7 @@ export declare class MenuItem extends FASTElement {
92
92
  * @param prev - the previous state
93
93
  * @param next - the next state
94
94
  */
95
- roleChanged(prev: MenuItemRole | undefined, next: MenuItemRole | undefined): void;
95
+ roleChanged(_prev: MenuItemRole | undefined, next: MenuItemRole | undefined): void;
96
96
  /**
97
97
  * The checked value of the element.
98
98
  *
@@ -106,7 +106,7 @@ export declare class MenuItem extends FASTElement {
106
106
  * @param prev - the previous state
107
107
  * @param next - the next state
108
108
  */
109
- protected checkedChanged(prev: boolean, next: boolean): void;
109
+ protected checkedChanged(_prev: boolean, next: boolean): void;
110
110
  /**
111
111
  * The hidden attribute.
112
112
  *
@@ -126,7 +126,7 @@ export declare class MenuItem extends FASTElement {
126
126
  *
127
127
  * @internal
128
128
  */
129
- protected slottedSubmenuChanged(prev: HTMLElement[] | undefined, next: HTMLElement[]): void;
129
+ protected slottedSubmenuChanged(_prev: HTMLElement[] | undefined, next: HTMLElement[]): void;
130
130
  /**
131
131
  * @public
132
132
  */
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu-item/menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAc,MAAM,yBAAyB,CAAC;AASxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBAAa,QAAS,SAAQ,WAAW;;IACvC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA4C;IAEpE;;;;;;OAMG;IAEI,QAAQ,EAAG,OAAO,CAAC;IAE1B;;;;OAIG;IACI,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS;IAK3E;;;;;;OAMG;IAEI,IAAI,EAAE,YAAY,CAA0B;IAEnD;;;;OAIG;IACI,WAAW,CAChB,IAAI,EAAE,YAAY,GAAG,SAAS,EAC9B,IAAI,EAAE,YAAY,GAAG,SAAS;IAkBhC;;;;;;OAMG;IAEI,OAAO,EAAE,OAAO,CAAS;IAEhC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAc5D;;;;;;OAMG;IAEI,MAAM,EAAG,OAAO,CAAC;IAExB;;;;OAIG;IAEI,cAAc,EAAG,WAAW,EAAE,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAC7B,IAAI,EAAE,WAAW,EAAE,GAAG,SAAS,EAC/B,IAAI,EAAE,WAAW,EAAE;IAgBrB;;OAEG;IAEI,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAQhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IA6BnC;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,GAAI,GAAG,aAAa,KAAG,OAAO,CA+B3D;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,GAAI,GAAG,UAAU,KAAG,OAAO,CAOtD;IAEF;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,QAAO,OAAO,CAMrC;IAEF;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,QAAO,OAAO,CAOpC;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAUxC;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CA0BZ;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAuBxB;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-item.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu-item/menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAc,MAAM,yBAAyB,CAAC;AASxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBAAa,QAAS,SAAQ,WAAW;;IACvC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAA4C;IAEpE;;;;;;OAMG;IAEI,QAAQ,EAAG,OAAO,CAAC;IAE1B;;;;OAIG;IACI,eAAe,CACpB,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,IAAI,EAAE,OAAO,GAAG,SAAS;IAM3B;;;;;;OAMG;IAEI,IAAI,EAAE,YAAY,CAA0B;IAEnD;;;;OAIG;IACI,WAAW,CAChB,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,IAAI,EAAE,YAAY,GAAG,SAAS;IAkBhC;;;;;;OAMG;IAEI,OAAO,EAAE,OAAO,CAAS;IAEhC;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAc7D;;;;;;OAMG;IAEI,MAAM,EAAG,OAAO,CAAC;IAExB;;;;OAIG;IAEI,cAAc,EAAG,WAAW,EAAE,CAAC;IAEtC;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAC7B,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAChC,IAAI,EAAE,WAAW,EAAE;IAgBrB;;OAEG;IAEI,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACI,iBAAiB,IAAI,IAAI;IAQhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IA6BnC;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,GAAI,GAAG,aAAa,KAAG,OAAO,CA+B3D;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,GAAI,GAAG,UAAU,KAAG,OAAO,CAOtD;IAEF;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,QAAO,OAAO,CAMrC;IAEF;;;;;;;;OAQG;IACH,SAAS,CAAC,cAAc,QAAO,OAAO,CAOpC;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAUxC;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CA0BZ;IAEF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAuBxB;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
@@ -90,7 +90,7 @@ export declare class MenuList extends FASTElement {
90
90
  /**
91
91
  * Method for Observable changes to the hidden attribute of child elements
92
92
  */
93
- handleChange(source: unknown, propertyName: string): void;
93
+ handleChange(_source: unknown, propertyName: string): void;
94
94
  /**
95
95
  * Handle change from child MenuItem element and set radio group behavior
96
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"menu-list.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu-list/menu-list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AAYjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC;;;;OAIG;IACI,gBAAgB,EAAE,gBAAgB,CAA0B;IAEnE;;OAEG;IAEI,KAAK,EAAG,WAAW,EAAE,CAAC;IACtB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IASpE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACI,UAAU,EAAE,MAAM,CAAM;IAE/B,gBAAuB,qBAAqB;;;;MAAiB;;IAQ7D;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAWhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAOnC;;OAEG;IACH,SAAgB,YAAY,QAAO,OAAO,CAMxC;IAEF;;;;OAIG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO;IA2B1D;;;OAGG;IACI,cAAc,GAAI,GAAG,UAAU,UAgBpC;IAEF,OAAO,CAAC,eAAe,CAWrB;IAEF,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,SAAS,CAAC,QAAQ,IAAI,IAAI;IAiD1B;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;IAMzD;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAqC5B;IAEF;;OAEG;IACH,SAAS,CAAC,iBAAiB,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,WAAW,CAM5D;IAEF;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,QAAQ;CAgCjB"}
1
+ {"version":3,"file":"menu-list.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/menu-list/menu-list.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AAYjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,QAAS,SAAQ,WAAW;IACvC;;;;OAIG;IACI,gBAAgB,EAAE,gBAAgB,CAA0B;IAEnE;;OAEG;IAEI,KAAK,EAAG,WAAW,EAAE,CAAC;IACtB,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IASpE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACI,UAAU,EAAE,MAAM,CAAM;IAE/B,gBAAuB,qBAAqB;;;;MAAiB;;IAQ7D;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAWhC;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAOnC;;OAEG;IACH,SAAgB,YAAY,QAAO,OAAO,CAMxC;IAEF;;;;OAIG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,iBAAiB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO;IA2B1D;;;OAGG;IACI,cAAc,GAAI,GAAG,UAAU,UAgBpC;IAEF,OAAO,CAAC,eAAe,CAWrB;IAEF,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,SAAS,CAAC,QAAQ,IAAI,IAAI;IAiD1B;;OAEG;IACI,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM;IAM1D;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAqC5B;IAEF;;OAEG;IACH,SAAS,CAAC,iBAAiB,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,WAAW,CAM5D;IAEF;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,QAAQ;CAgCjB"}
@@ -76,7 +76,7 @@ export declare class OptionGroup extends FASTElement {
76
76
  * @param next - The new disabled state.
77
77
  * @internal
78
78
  */
79
- disabledChanged(prev: boolean | undefined, next: boolean | undefined): void;
79
+ disabledChanged(_prev: boolean | undefined, next: boolean | undefined): void;
80
80
  connectedCallback(): void;
81
81
  /**
82
82
  * Handles changes to the label attribute.
@@ -1 +1 @@
1
- {"version":3,"file":"option-group.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/option-group/option-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;OAIG;IACI,gBAAgB,EAAE,gBAAgB,CAA0B;IAEnE;;;;;;OAMG;IAEI,KAAK,EAAG,MAAM,CAAC;IAEtB;;;;;;;OAOG;IAEI,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IAEI,cAAc,EAAE,OAAO,EAAE,CAAM;IAEtC;;;;OAIG;IACH,IAAW,OAAO,IAAI,cAAc,EAAE,CAIrC;IAED;;;;;;;OAOG;IACI,eAAe,CACpB,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,IAAI;IAIP,iBAAiB,IAAI,IAAI;IAMzB;;;;;;;OAOG;IACI,YAAY,CACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,IAAI;CAGR"}
1
+ {"version":3,"file":"option-group.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/option-group/option-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,WAAW,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;OAIG;IACI,gBAAgB,EAAE,gBAAgB,CAA0B;IAEnE;;;;;;OAMG;IAEI,KAAK,EAAG,MAAM,CAAC;IAEtB;;;;;;;OAOG;IAEI,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IAEI,cAAc,EAAE,OAAO,EAAE,CAAM;IAEtC;;;;OAIG;IACH,IAAW,OAAO,IAAI,cAAc,EAAE,CAIrC;IAED;;;;;;;OAOG;IACI,eAAe,CACpB,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,IAAI;IAIP,iBAAiB,IAAI,IAAI;IAMzB;;;;;;;OAOG;IACI,YAAY,CACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,IAAI;CAGR"}