@fabric-msft/fabric-web 7.0.0 → 7.3.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 (281) hide show
  1. package/dts/components/card/card.d.ts +0 -5
  2. package/dts/components/card/card.d.ts.map +1 -1
  3. package/dts/components/carousel/carousel.d.ts +6 -42
  4. package/dts/components/carousel/carousel.d.ts.map +1 -1
  5. package/dts/components/carousel/carousel.styles.d.ts.map +1 -1
  6. package/dts/components/carousel/carousel.template.d.ts.map +1 -1
  7. package/dts/components/carousel/define.d.ts.map +1 -1
  8. package/dts/components/carousel-nav/carousel-nav.d.ts +10 -0
  9. package/dts/components/carousel-nav/carousel-nav.d.ts.map +1 -1
  10. package/dts/components/carousel-nav/carousel-nav.template.d.ts.map +1 -1
  11. package/dts/components/carousel-viewport/carousel-viewport.d.ts +34 -0
  12. package/dts/components/carousel-viewport/carousel-viewport.d.ts.map +1 -0
  13. package/dts/components/carousel-viewport/carousel-viewport.definition.d.ts +9 -0
  14. package/dts/components/carousel-viewport/carousel-viewport.definition.d.ts.map +1 -0
  15. package/dts/components/carousel-viewport/carousel-viewport.styles.d.ts +7 -0
  16. package/dts/components/carousel-viewport/carousel-viewport.styles.d.ts.map +1 -0
  17. package/dts/components/carousel-viewport/carousel-viewport.template.d.ts +9 -0
  18. package/dts/components/carousel-viewport/carousel-viewport.template.d.ts.map +1 -0
  19. package/dts/components/carousel-viewport/define.d.ts +2 -0
  20. package/dts/components/carousel-viewport/define.d.ts.map +1 -0
  21. package/dts/components/carousel-viewport/index.d.ts +5 -0
  22. package/dts/components/carousel-viewport/index.d.ts.map +1 -0
  23. package/dts/components/dynamic-tab/define.d.ts +2 -0
  24. package/dts/components/dynamic-tab/define.d.ts.map +1 -0
  25. package/dts/components/dynamic-tab/dynamic-tab.d.ts +142 -0
  26. package/dts/components/dynamic-tab/dynamic-tab.d.ts.map +1 -0
  27. package/dts/components/dynamic-tab/dynamic-tab.definition.d.ts +10 -0
  28. package/dts/components/dynamic-tab/dynamic-tab.definition.d.ts.map +1 -0
  29. package/dts/components/dynamic-tab/dynamic-tab.options.d.ts +10 -0
  30. package/dts/components/dynamic-tab/dynamic-tab.options.d.ts.map +1 -0
  31. package/dts/components/dynamic-tab/dynamic-tab.styles.d.ts +6 -0
  32. package/dts/components/dynamic-tab/dynamic-tab.styles.d.ts.map +1 -0
  33. package/dts/components/dynamic-tab/dynamic-tab.template.d.ts +13 -0
  34. package/dts/components/dynamic-tab/dynamic-tab.template.d.ts.map +1 -0
  35. package/dts/components/dynamic-tab/index.d.ts +6 -0
  36. package/dts/components/dynamic-tab/index.d.ts.map +1 -0
  37. package/dts/components/dynamic-tab-list/define.d.ts +2 -0
  38. package/dts/components/dynamic-tab-list/define.d.ts.map +1 -0
  39. package/dts/components/dynamic-tab-list/dynamic-tab-list.d.ts +360 -0
  40. package/dts/components/dynamic-tab-list/dynamic-tab-list.d.ts.map +1 -0
  41. package/dts/components/dynamic-tab-list/dynamic-tab-list.definition.d.ts +7 -0
  42. package/dts/components/dynamic-tab-list/dynamic-tab-list.definition.d.ts.map +1 -0
  43. package/dts/components/dynamic-tab-list/dynamic-tab-list.options.d.ts +24 -0
  44. package/dts/components/dynamic-tab-list/dynamic-tab-list.options.d.ts.map +1 -0
  45. package/dts/components/dynamic-tab-list/dynamic-tab-list.styles.d.ts +6 -0
  46. package/dts/components/dynamic-tab-list/dynamic-tab-list.styles.d.ts.map +1 -0
  47. package/dts/components/dynamic-tab-list/dynamic-tab-list.template.d.ts +13 -0
  48. package/dts/components/dynamic-tab-list/dynamic-tab-list.template.d.ts.map +1 -0
  49. package/dts/components/dynamic-tab-list/index.d.ts +7 -0
  50. package/dts/components/dynamic-tab-list/index.d.ts.map +1 -0
  51. package/dts/components/empty-state/define.d.ts +2 -0
  52. package/dts/components/empty-state/define.d.ts.map +1 -0
  53. package/dts/components/empty-state/empty-state.d.ts +32 -0
  54. package/dts/components/empty-state/empty-state.d.ts.map +1 -0
  55. package/dts/components/empty-state/empty-state.definition.d.ts +10 -0
  56. package/dts/components/empty-state/empty-state.definition.d.ts.map +1 -0
  57. package/dts/components/empty-state/empty-state.styles.d.ts +6 -0
  58. package/dts/components/empty-state/empty-state.styles.d.ts.map +1 -0
  59. package/dts/components/empty-state/empty-state.template.d.ts +9 -0
  60. package/dts/components/empty-state/empty-state.template.d.ts.map +1 -0
  61. package/dts/components/empty-state/index.d.ts +5 -0
  62. package/dts/components/empty-state/index.d.ts.map +1 -0
  63. package/dts/components/field/field.d.ts +44 -3
  64. package/dts/components/field/field.d.ts.map +1 -1
  65. package/dts/components/menu/index.d.ts +2 -2
  66. package/dts/components/menu/index.d.ts.map +1 -1
  67. package/dts/components/menu/menu.d.ts +17 -1
  68. package/dts/components/menu/menu.d.ts.map +1 -1
  69. package/dts/components/menu/menu.options.d.ts +15 -0
  70. package/dts/components/menu/menu.options.d.ts.map +1 -1
  71. package/dts/components/menu/menu.positioning.d.ts +8 -2
  72. package/dts/components/menu/menu.positioning.d.ts.map +1 -1
  73. package/dts/components/menu/menu.styles.d.ts.map +1 -1
  74. package/dts/components/menu-button/menu-button.d.ts +2 -2
  75. package/dts/components/menu-button/menu-button.definition.d.ts.map +1 -1
  76. package/dts/components/menu-button/menu-button.styles.d.ts +11 -0
  77. package/dts/components/menu-button/menu-button.styles.d.ts.map +1 -0
  78. package/dts/components/menu-item/menu-item.styles.d.ts.map +1 -1
  79. package/dts/components/menu-list/menu-list.styles.d.ts.map +1 -1
  80. package/dts/components/modal/define.d.ts +4 -0
  81. package/dts/components/modal/define.d.ts.map +1 -0
  82. package/dts/components/modal/index.d.ts +9 -0
  83. package/dts/components/modal/index.d.ts.map +1 -0
  84. package/dts/components/modal/modal.d.ts +209 -0
  85. package/dts/components/modal/modal.d.ts.map +1 -0
  86. package/dts/components/modal/modal.definition.d.ts +9 -0
  87. package/dts/components/modal/modal.definition.d.ts.map +1 -0
  88. package/dts/components/modal/modal.events.d.ts +26 -0
  89. package/dts/components/modal/modal.events.d.ts.map +1 -0
  90. package/dts/components/modal/modal.options.d.ts +15 -0
  91. package/dts/components/modal/modal.options.d.ts.map +1 -0
  92. package/dts/components/modal/modal.styles.d.ts +10 -0
  93. package/dts/components/modal/modal.styles.d.ts.map +1 -0
  94. package/dts/components/modal/modal.template.d.ts +12 -0
  95. package/dts/components/modal/modal.template.d.ts.map +1 -0
  96. package/dts/components/modal-fre-item/define.d.ts +2 -0
  97. package/dts/components/modal-fre-item/define.d.ts.map +1 -0
  98. package/dts/components/modal-fre-item/index.d.ts +3 -0
  99. package/dts/components/modal-fre-item/index.d.ts.map +1 -0
  100. package/dts/components/modal-fre-item/modal-fre-item.d.ts +65 -0
  101. package/dts/components/modal-fre-item/modal-fre-item.d.ts.map +1 -0
  102. package/dts/components/modal-fre-item/modal-fre-item.definition.d.ts +10 -0
  103. package/dts/components/modal-fre-item/modal-fre-item.definition.d.ts.map +1 -0
  104. package/dts/components/modal-fre-item/modal-fre-item.styles.d.ts +7 -0
  105. package/dts/components/modal-fre-item/modal-fre-item.styles.d.ts.map +1 -0
  106. package/dts/components/modal-fre-item/modal-fre-item.template.d.ts +11 -0
  107. package/dts/components/modal-fre-item/modal-fre-item.template.d.ts.map +1 -0
  108. package/dts/components/radio-group/radio-group.d.ts +15 -0
  109. package/dts/components/radio-group/radio-group.d.ts.map +1 -1
  110. package/dts/components/slider/slider.d.ts +2 -0
  111. package/dts/components/slider/slider.d.ts.map +1 -1
  112. package/dts/components/slider/slider.definition.d.ts.map +1 -1
  113. package/dts/components/slider/slider.styles.d.ts +10 -0
  114. package/dts/components/slider/slider.styles.d.ts.map +1 -0
  115. package/dts/components/slider/slider.template.d.ts +4 -0
  116. package/dts/components/slider/slider.template.d.ts.map +1 -0
  117. package/dts/components/styles/patterns/patterns.d.ts +8 -0
  118. package/dts/components/styles/patterns/patterns.d.ts.map +1 -0
  119. package/dts/index.d.ts +7 -0
  120. package/dts/index.d.ts.map +1 -1
  121. package/dts/util/a11y-playwright-utils.d.ts +7 -0
  122. package/dts/util/a11y-playwright-utils.d.ts.map +1 -0
  123. package/dts/util/carousel-controller.d.ts +120 -0
  124. package/dts/util/carousel-controller.d.ts.map +1 -0
  125. package/dts/util/icons.d.ts +15 -0
  126. package/dts/util/icons.d.ts.map +1 -1
  127. package/dts/util/index.d.ts +1 -0
  128. package/dts/util/index.d.ts.map +1 -1
  129. package/esm/components/accordion-menu-panel/accordion-menu-panel.styles.js +1 -1
  130. package/esm/components/card/card.js +0 -5
  131. package/esm/components/card/card.js.map +1 -1
  132. package/esm/components/card-header/card-header.styles.js +2 -2
  133. package/esm/components/card-header/card-header.styles.js.map +1 -1
  134. package/esm/components/carousel/carousel.js +30 -98
  135. package/esm/components/carousel/carousel.js.map +1 -1
  136. package/esm/components/carousel/carousel.styles.js +2 -2
  137. package/esm/components/carousel/carousel.styles.js.map +1 -1
  138. package/esm/components/carousel/carousel.template.js +3 -3
  139. package/esm/components/carousel/carousel.template.js.map +1 -1
  140. package/esm/components/carousel/define.js +5 -3
  141. package/esm/components/carousel/define.js.map +1 -1
  142. package/esm/components/carousel-item/carousel-item.template.js +1 -1
  143. package/esm/components/carousel-item/carousel-item.template.js.map +1 -1
  144. package/esm/components/carousel-nav/carousel-nav.js +12 -0
  145. package/esm/components/carousel-nav/carousel-nav.js.map +1 -1
  146. package/esm/components/carousel-nav/carousel-nav.styles.js +1 -0
  147. package/esm/components/carousel-nav/carousel-nav.template.js +4 -3
  148. package/esm/components/carousel-nav/carousel-nav.template.js.map +1 -1
  149. package/esm/components/carousel-nav-item/carousel-nav-item.styles.js +1 -0
  150. package/esm/components/carousel-viewport/carousel-viewport.definition.js +21 -0
  151. package/esm/components/carousel-viewport/carousel-viewport.definition.js.map +1 -0
  152. package/esm/components/carousel-viewport/carousel-viewport.js +37 -0
  153. package/esm/components/carousel-viewport/carousel-viewport.js.map +1 -0
  154. package/esm/components/carousel-viewport/carousel-viewport.styles.js +11 -0
  155. package/esm/components/carousel-viewport/carousel-viewport.styles.js.map +1 -0
  156. package/esm/components/carousel-viewport/carousel-viewport.template.js +15 -0
  157. package/esm/components/carousel-viewport/carousel-viewport.template.js.map +1 -0
  158. package/esm/components/carousel-viewport/define.js +4 -0
  159. package/esm/components/carousel-viewport/define.js.map +1 -0
  160. package/esm/components/carousel-viewport/index.js +5 -0
  161. package/esm/components/carousel-viewport/index.js.map +1 -0
  162. package/esm/components/dynamic-tab/define.js +4 -0
  163. package/esm/components/dynamic-tab/define.js.map +1 -0
  164. package/esm/components/dynamic-tab/dynamic-tab.definition.js +27 -0
  165. package/esm/components/dynamic-tab/dynamic-tab.definition.js.map +1 -0
  166. package/esm/components/dynamic-tab/dynamic-tab.js +232 -0
  167. package/esm/components/dynamic-tab/dynamic-tab.js.map +1 -0
  168. package/esm/components/dynamic-tab/dynamic-tab.options.js +11 -0
  169. package/esm/components/dynamic-tab/dynamic-tab.options.js.map +1 -0
  170. package/esm/components/dynamic-tab/dynamic-tab.styles.js +13 -0
  171. package/esm/components/dynamic-tab/dynamic-tab.styles.js.map +1 -0
  172. package/esm/components/dynamic-tab/dynamic-tab.template.js +18 -0
  173. package/esm/components/dynamic-tab/dynamic-tab.template.js.map +1 -0
  174. package/esm/components/dynamic-tab/index.js +6 -0
  175. package/esm/components/dynamic-tab/index.js.map +1 -0
  176. package/esm/components/dynamic-tab-list/define.js +12 -0
  177. package/esm/components/dynamic-tab-list/define.js.map +1 -0
  178. package/esm/components/dynamic-tab-list/dynamic-tab-list.definition.js +19 -0
  179. package/esm/components/dynamic-tab-list/dynamic-tab-list.definition.js.map +1 -0
  180. package/esm/components/dynamic-tab-list/dynamic-tab-list.js +788 -0
  181. package/esm/components/dynamic-tab-list/dynamic-tab-list.js.map +1 -0
  182. package/esm/components/dynamic-tab-list/dynamic-tab-list.options.js +19 -0
  183. package/esm/components/dynamic-tab-list/dynamic-tab-list.options.js.map +1 -0
  184. package/esm/components/dynamic-tab-list/dynamic-tab-list.styles.js +11 -0
  185. package/esm/components/dynamic-tab-list/dynamic-tab-list.styles.js.map +1 -0
  186. package/esm/components/dynamic-tab-list/dynamic-tab-list.template.js +41 -0
  187. package/esm/components/dynamic-tab-list/dynamic-tab-list.template.js.map +1 -0
  188. package/esm/components/dynamic-tab-list/index.js +6 -0
  189. package/esm/components/dynamic-tab-list/index.js.map +1 -0
  190. package/esm/components/empty-state/define.js +4 -0
  191. package/esm/components/empty-state/define.js.map +1 -0
  192. package/esm/components/empty-state/empty-state.definition.js +22 -0
  193. package/esm/components/empty-state/empty-state.definition.js.map +1 -0
  194. package/esm/components/empty-state/empty-state.js +33 -0
  195. package/esm/components/empty-state/empty-state.js.map +1 -0
  196. package/esm/components/empty-state/empty-state.styles.js +11 -0
  197. package/esm/components/empty-state/empty-state.styles.js.map +1 -0
  198. package/esm/components/empty-state/empty-state.template.js +12 -0
  199. package/esm/components/empty-state/empty-state.template.js.map +1 -0
  200. package/esm/components/empty-state/index.js +5 -0
  201. package/esm/components/empty-state/index.js.map +1 -0
  202. package/esm/components/field/field.js +91 -5
  203. package/esm/components/field/field.js.map +1 -1
  204. package/esm/components/filter-pill/filter-pill.styles.js +1 -0
  205. package/esm/components/menu/index.js +1 -1
  206. package/esm/components/menu/index.js.map +1 -1
  207. package/esm/components/menu/menu.js +30 -2
  208. package/esm/components/menu/menu.js.map +1 -1
  209. package/esm/components/menu/menu.options.js +11 -1
  210. package/esm/components/menu/menu.options.js.map +1 -1
  211. package/esm/components/menu/menu.positioning.js +32 -30
  212. package/esm/components/menu/menu.positioning.js.map +1 -1
  213. package/esm/components/menu/menu.styles.js +2 -1
  214. package/esm/components/menu/menu.styles.js.map +1 -1
  215. package/esm/components/menu-button/menu-button.definition.js +5 -2
  216. package/esm/components/menu-button/menu-button.definition.js.map +1 -1
  217. package/esm/components/menu-button/menu-button.js +2 -2
  218. package/esm/components/menu-button/menu-button.styles.js +18 -0
  219. package/esm/components/menu-button/menu-button.styles.js.map +1 -0
  220. package/esm/components/menu-item/menu-item.styles.js +1 -1
  221. package/esm/components/menu-item/menu-item.styles.js.map +1 -1
  222. package/esm/components/menu-list/menu-list.styles.js +2 -2
  223. package/esm/components/menu-list/menu-list.styles.js.map +1 -1
  224. package/esm/components/modal/define.js +9 -0
  225. package/esm/components/modal/define.js.map +1 -0
  226. package/esm/components/modal/index.js +7 -0
  227. package/esm/components/modal/index.js.map +1 -0
  228. package/esm/components/modal/modal.definition.js +29 -0
  229. package/esm/components/modal/modal.definition.js.map +1 -0
  230. package/esm/components/modal/modal.events.js +11 -0
  231. package/esm/components/modal/modal.events.js.map +1 -0
  232. package/esm/components/modal/modal.js +369 -0
  233. package/esm/components/modal/modal.js.map +1 -0
  234. package/esm/components/modal/modal.options.js +10 -0
  235. package/esm/components/modal/modal.options.js.map +1 -0
  236. package/esm/components/modal/modal.styles.js +14 -0
  237. package/esm/components/modal/modal.styles.js.map +1 -0
  238. package/esm/components/modal/modal.template.js +23 -0
  239. package/esm/components/modal/modal.template.js.map +1 -0
  240. package/esm/components/modal-fre-item/define.js +4 -0
  241. package/esm/components/modal-fre-item/define.js.map +1 -0
  242. package/esm/components/modal-fre-item/index.js +3 -0
  243. package/esm/components/modal-fre-item/index.js.map +1 -0
  244. package/esm/components/modal-fre-item/modal-fre-item.definition.js +27 -0
  245. package/esm/components/modal-fre-item/modal-fre-item.definition.js.map +1 -0
  246. package/esm/components/modal-fre-item/modal-fre-item.js +72 -0
  247. package/esm/components/modal-fre-item/modal-fre-item.js.map +1 -0
  248. package/esm/components/modal-fre-item/modal-fre-item.styles.js +11 -0
  249. package/esm/components/modal-fre-item/modal-fre-item.styles.js.map +1 -0
  250. package/esm/components/modal-fre-item/modal-fre-item.template.js +16 -0
  251. package/esm/components/modal-fre-item/modal-fre-item.template.js.map +1 -0
  252. package/esm/components/radio-group/radio-group.js +20 -1
  253. package/esm/components/radio-group/radio-group.js.map +1 -1
  254. package/esm/components/simple-table/simple-table.styles.js +1 -0
  255. package/esm/components/slider/slider.definition.js +4 -3
  256. package/esm/components/slider/slider.definition.js.map +1 -1
  257. package/esm/components/slider/slider.js +2 -0
  258. package/esm/components/slider/slider.js.map +1 -1
  259. package/esm/components/slider/slider.styles.js +24 -0
  260. package/esm/components/slider/slider.styles.js.map +1 -0
  261. package/esm/components/slider/slider.template.js +17 -0
  262. package/esm/components/slider/slider.template.js.map +1 -0
  263. package/esm/components/styles/patterns/patterns.js +11 -0
  264. package/esm/components/styles/patterns/patterns.js.map +1 -0
  265. package/esm/index.js +25 -0
  266. package/esm/index.js.map +1 -1
  267. package/esm/util/a11y-playwright-utils.js +11 -0
  268. package/esm/util/a11y-playwright-utils.js.map +1 -0
  269. package/esm/util/carousel-controller.js +153 -0
  270. package/esm/util/carousel-controller.js.map +1 -0
  271. package/esm/util/icons.js +16 -1
  272. package/esm/util/icons.js.map +1 -1
  273. package/esm/util/index.js +1 -0
  274. package/esm/util/index.js.map +1 -1
  275. package/index.d.ts +2125 -957
  276. package/index.d.ts.map +1 -1
  277. package/index.js +6812 -4700
  278. package/index.js.map +1 -1
  279. package/index.min.js +108 -88
  280. package/index.min.js.map +1 -1
  281. package/package.json +2 -2
@@ -0,0 +1,360 @@
1
+ import { FASTElement } from "@microsoft/fast-element";
2
+ import type { DynamicTabListOrientation } from "./dynamic-tab-list.options.js";
3
+ import type { DynamicTab } from "../dynamic-tab/dynamic-tab.js";
4
+ /**
5
+ * Dynamic Tab List
6
+ * @summary A structural container for dynamic tabs with public methods for tab management.
7
+ *
8
+ * @remarks
9
+ * This component provides structure, emits events, and offers public helper methods
10
+ * for common tab operations (close, closeOthers, closeToRight, etc.).
11
+ * Context menus should be implemented by the consumer using the native Popover API,
12
+ * listening to the `context-menu` event for positioning coordinates.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <fabric-dynamic-tab-list activeid="tab-1" show-managed-tabs>
17
+ * <fabric-dynamic-tab id="tab-1" selected>Document.docx</fabric-dynamic-tab>
18
+ * <fabric-dynamic-tab id="tab-2">Photo.png</fabric-dynamic-tab>
19
+ * <button slot="actions">+</button>
20
+ * <button slot="manage-tabs">☰</button>
21
+ * </fabric-dynamic-tab-list>
22
+ * ```
23
+ *
24
+ * @attr {string} activeid - The id of the currently active/selected tab.
25
+ * @attr {DynamicTabListOrientation} orientation - The layout orientation.
26
+ * @attr {boolean} show-managed-tabs - When true, renders built-in manage tabs menu.
27
+ * @attr {string} close-unmodified-label - Label for "Close unmodified tabs" menu item (i18n).
28
+ * @attr {string} close-all-label - Label for "Close all tabs" menu item (i18n).
29
+ *
30
+ * @slot - Container for fabric-dynamic-tab elements.
31
+ * @slot actions - Optional action buttons between tabs and manage-tabs button.
32
+ * @slot manage-tabs - Trigger button for manage tabs menu (used when show-managed-tabs is true).
33
+ *
34
+ * @csspart tabs-container - The scrollable container for tab elements.
35
+ * @csspart actions-container - The container for action buttons and manage-tabs.
36
+ *
37
+ * @fires tab-dismiss - Fires when a tab's dismiss button is clicked or closeTab() is called.
38
+ * @fires tab-select - Fires when a tab is selected.
39
+ * @fires context-menu - Fires when a tab is right-clicked. Detail includes { id, clientX, clientY }.
40
+ *
41
+ * @extends FASTElement
42
+ * @tagname fabric-dynamic-tab-list
43
+ * @public
44
+ */
45
+ export declare class DynamicTabList extends FASTElement {
46
+ /**
47
+ * The id of the currently active tab.
48
+ * @public
49
+ * @remarks
50
+ * HTML Attribute: `activeid`
51
+ */
52
+ activeid?: string;
53
+ /**
54
+ * The layout orientation of the tab list.
55
+ * @public
56
+ * @remarks
57
+ * HTML Attribute: `orientation`
58
+ */
59
+ orientation: DynamicTabListOrientation;
60
+ /**
61
+ * When true, renders a built-in manage tabs menu with "Close unmodified tabs",
62
+ * "Close all tabs" actions, and a list of all open tabs.
63
+ * @public
64
+ * @remarks
65
+ * HTML Attribute: `show-managed-tabs`
66
+ */
67
+ showManagedTabs: boolean;
68
+ /**
69
+ * Label for the "Close unmodified tabs" menu item.
70
+ * Override for i18n/localization.
71
+ * @public
72
+ * @remarks
73
+ * HTML Attribute: `close-unmodified-label`
74
+ */
75
+ closeUnmodifiedLabel: string;
76
+ /**
77
+ * Label for the "Close all tabs" menu item.
78
+ * Override for i18n/localization.
79
+ * @public
80
+ * @remarks
81
+ * HTML Attribute: `close-all-label`
82
+ */
83
+ closeAllLabel: string;
84
+ /**
85
+ * Label for the manage tabs button (accessibility).
86
+ * Override for i18n/localization.
87
+ * @public
88
+ * @remarks
89
+ * HTML Attribute: `manage-tabs-label`
90
+ */
91
+ manageTabsLabel: string;
92
+ /**
93
+ * The slotted tab elements.
94
+ * Exposed as public so consumers can access the tab list for their menu rendering.
95
+ * @public
96
+ */
97
+ tabs: DynamicTab[];
98
+ /**
99
+ * The ID of the tab that triggered the context menu.
100
+ * Exposed as public so consumers can access it for conditional menu rendering.
101
+ * @public
102
+ */
103
+ contextMenuTargetId: string | null;
104
+ /**
105
+ * Whether the context menu is currently open.
106
+ * @public
107
+ */
108
+ contextMenuOpen: boolean;
109
+ /**
110
+ * The X coordinate where the context menu was triggered.
111
+ * @public
112
+ */
113
+ contextMenuX: number;
114
+ /**
115
+ * The Y coordinate where the context menu was triggered.
116
+ * @public
117
+ */
118
+ contextMenuY: number;
119
+ /**
120
+ * Slotted manage-tabs trigger element(s).
121
+ * @internal
122
+ */
123
+ slottedManageTabsTrigger: HTMLElement[];
124
+ /**
125
+ * Whether the manage-tabs trigger should be interactive.
126
+ * True when the built-in menu is enabled or a custom trigger is slotted.
127
+ * @internal
128
+ */
129
+ get hasTrigger(): boolean;
130
+ /**
131
+ * Whether the manage tabs menu is currently open.
132
+ * Used for aria-expanded on the trigger.
133
+ * @internal
134
+ */
135
+ manageTabsMenuOpen: boolean;
136
+ /**
137
+ * Reference to the manage-tabs-menu popover element.
138
+ * @internal
139
+ */
140
+ private manageTabsMenuEl;
141
+ /**
142
+ * Roving focus controller for keyboard navigation.
143
+ * @internal
144
+ */
145
+ private focusController;
146
+ /**
147
+ * Flag to track if activeid change is from user gesture.
148
+ * Used to prevent emitting tab-select on programmatic changes.
149
+ * @internal
150
+ */
151
+ private isUserSelection;
152
+ /**
153
+ * Lifecycle callback - initialize focus controller.
154
+ * @internal
155
+ */
156
+ connectedCallback(): void;
157
+ /**
158
+ * Lifecycle callback - cleanup.
159
+ * @internal
160
+ */
161
+ disconnectedCallback(): void;
162
+ /**
163
+ * Bound handler for manage tabs menu light dismiss.
164
+ * @internal
165
+ */
166
+ private handleManageTabsLightDismiss;
167
+ /**
168
+ * Bound handler for manage tabs menu Escape key.
169
+ * @internal
170
+ */
171
+ private handleManageTabsEscape;
172
+ /**
173
+ * Set up light dismiss listeners for manage tabs menu.
174
+ * @internal
175
+ */
176
+ private setupManageTabsMenuListeners;
177
+ /**
178
+ * Remove light dismiss listeners for manage tabs menu.
179
+ * Optionally returns focus to the trigger button.
180
+ * @internal
181
+ */
182
+ private removeManageTabsMenuListeners;
183
+ /**
184
+ * Initialize the roving focus controller.
185
+ * @internal
186
+ */
187
+ private initializeFocusController;
188
+ /**
189
+ * Called when tabs change.
190
+ * Filters to only DynamicTab elements (excludes text nodes and other elements).
191
+ * Reconciles activeid if the active tab was removed externally.
192
+ * @internal
193
+ */
194
+ tabsChanged(): void;
195
+ /**
196
+ * Called when activeid changes.
197
+ * @internal
198
+ */
199
+ activeidChanged(oldValue: string | undefined, newValue: string | undefined): void;
200
+ /**
201
+ * Called when orientation changes - reinitialize focus controller.
202
+ * @internal
203
+ */
204
+ orientationChanged(): void;
205
+ /**
206
+ * Updates the selected state on all child tabs.
207
+ * @internal
208
+ */
209
+ private updateTabStates;
210
+ /**
211
+ * Handles tab dismiss events from child tabs.
212
+ * Manages focus transfer and re-emits the event with index for consumer handling.
213
+ * @internal
214
+ */
215
+ handleTabDismiss(event: CustomEvent<{
216
+ id: string;
217
+ }>): void;
218
+ /**
219
+ * Handles tab select events from child tabs.
220
+ * @internal
221
+ */
222
+ handleTabSelect(event: CustomEvent<{
223
+ id: string;
224
+ }>): void;
225
+ /**
226
+ * Handles right-click on tabs.
227
+ * Emits context-menu event with tab ID and cursor coordinates.
228
+ * Consumer implements their own context menu using native Popover API.
229
+ * @internal
230
+ */
231
+ handleTabContextMenu(event: MouseEvent): boolean;
232
+ /**
233
+ * Handles keyboard navigation using roving focus controller.
234
+ * @internal
235
+ */
236
+ handleKeydown(event: KeyboardEvent): boolean;
237
+ /**
238
+ * Handles focusin events to sync the focus controller.
239
+ * @internal
240
+ */
241
+ handleFocusin(event: FocusEvent): void;
242
+ /**
243
+ * Emits the tab-select event.
244
+ * @internal
245
+ */
246
+ private emitTabSelect;
247
+ /**
248
+ * Gets the tab that triggered the context menu.
249
+ * Useful for consumers to render menu items based on tab state.
250
+ * @public
251
+ */
252
+ getContextMenuTab(): DynamicTab | null;
253
+ /**
254
+ * Clears the context menu target ID and state.
255
+ * Call this when closing your context menu to reset state.
256
+ * @public
257
+ */
258
+ clearContextMenuTarget(): void;
259
+ /**
260
+ * Closes the context menu and resets all context menu state.
261
+ * @public
262
+ */
263
+ closeContextMenu(): void;
264
+ /**
265
+ * Toggles the manage tabs menu popover.
266
+ * @public
267
+ */
268
+ toggleManageTabsMenu(): void;
269
+ /**
270
+ * Closes the manage tabs menu.
271
+ * @public
272
+ */
273
+ closeManageTabsMenu(): void;
274
+ /**
275
+ * Requests closing a tab by ID.
276
+ * Emits `tab-dismiss` event for the consumer to handle DOM removal.
277
+ * If the tab had focus, moves focus to an adjacent tab.
278
+ * @param id - The ID of the tab to close
279
+ * @public
280
+ */
281
+ closeTab(id: string): void;
282
+ /**
283
+ * Requests closing all tabs except the specified one.
284
+ * Emits `tab-dismiss` events for each tab to close.
285
+ * @param id - The ID of the tab to keep open
286
+ * @public
287
+ */
288
+ closeOtherTabs(id: string): void;
289
+ /**
290
+ * Requests closing all tabs to the right of the specified tab.
291
+ * Emits `tab-dismiss` events for each tab to close.
292
+ * @param id - The ID of the anchor tab
293
+ * @public
294
+ */
295
+ closeTabsToRight(id: string): void;
296
+ /**
297
+ * Requests closing all tabs to the left of the specified tab.
298
+ * Emits `tab-dismiss` events for each tab to close.
299
+ * @param id - The ID of the anchor tab
300
+ * @public
301
+ */
302
+ closeTabsToLeft(id: string): void;
303
+ /**
304
+ * Requests closing all tabs.
305
+ * Emits `tab-dismiss` events for each tab.
306
+ * @public
307
+ */
308
+ closeAllTabs(): void;
309
+ /**
310
+ * Selects the next available tab after a tab is closed.
311
+ * Prefers the tab at the same index, then previous tabs.
312
+ * @param closedIndex - The index of the tab that was closed
313
+ * @internal
314
+ */
315
+ private selectNextAvailableTab;
316
+ /**
317
+ * Requests closing all tabs that are not marked as modified.
318
+ * Emits `tab-dismiss` events for each unmodified tab.
319
+ * Tabs with `modified === true` are preserved.
320
+ * @public
321
+ */
322
+ closeUnmodifiedTabs(): void;
323
+ /**
324
+ * Selects a tab from the manage tabs menu, focuses it, and closes the menu.
325
+ * @param tab - The tab to select
326
+ * @internal
327
+ */
328
+ selectTabFromManageMenu(tab: DynamicTab): void;
329
+ /**
330
+ * Closes the manage tabs menu popover and cleans up listeners.
331
+ * Used internally by built-in menu actions.
332
+ * @param restoreFocus - When true, returns focus to the trigger button.
333
+ * @internal
334
+ */
335
+ closeManageTabsMenuInternal(restoreFocus?: boolean): void;
336
+ /**
337
+ * Gets the display label for a tab in the manage tabs menu.
338
+ * Reads only the default slot's assigned content for a clean label,
339
+ * excluding named-slot content (icons, dismiss-icon) and shadow DOM text (hint spans).
340
+ * Falls back through: default slot text → aria-label → id
341
+ * @param tab - The tab to get the label for
342
+ * @returns The display label string
343
+ * @internal
344
+ */
345
+ getTabDisplayLabel(tab: DynamicTab): string;
346
+ /**
347
+ * Gets the filtered array of DynamicTab elements from the tabs slot.
348
+ * Filters out text nodes and non-tab elements.
349
+ * @returns Array of DynamicTab elements
350
+ * @public
351
+ */
352
+ getTabElements(): DynamicTab[];
353
+ /**
354
+ * Handles "Close all tabs" action from the built-in menu.
355
+ * Closes all tabs and then closes the menu.
356
+ * @internal
357
+ */
358
+ handleCloseAllFromMenu(): void;
359
+ }
360
+ //# sourceMappingURL=dynamic-tab-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tab-list.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/dynamic-tab-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { DynamicTabList } from "./dynamic-tab-list.js";
2
+ /**
3
+ * The Fabric DynamicTabList component definition.
4
+ * @public
5
+ */
6
+ export declare const definition: import("@microsoft/fast-element").FASTElementDefinition<typeof DynamicTabList>;
7
+ //# sourceMappingURL=dynamic-tab-list.definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tab-list.definition.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/dynamic-tab-list.definition.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;;GAGG;AACH,eAAO,MAAM,UAAU,gFAOrB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { ValuesOf } from "../../util/typings.js";
2
+ /**
3
+ * Dynamic Tab List orientations.
4
+ * @public
5
+ */
6
+ export declare const DynamicTabListOrientations: {
7
+ readonly horizontal: "horizontal";
8
+ readonly vertical: "vertical";
9
+ };
10
+ /**
11
+ * Type describing orientation options for {@link DynamicTabList}.
12
+ * @public
13
+ */
14
+ export type DynamicTabListOrientation = ValuesOf<typeof DynamicTabListOrientations>;
15
+ /**
16
+ * Event names for {@link DynamicTabList}.
17
+ * @public
18
+ */
19
+ export declare const DynamicTabListEventNames: {
20
+ readonly "tab-dismiss": "tab-dismiss";
21
+ readonly "tab-select": "tab-select";
22
+ readonly "context-menu": "context-menu";
23
+ };
24
+ //# sourceMappingURL=dynamic-tab-list.options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tab-list.options.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/dynamic-tab-list.options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;CAG7B,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,OAAO,0BAA0B,CAClC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Styles for the DynamicTabList component.
3
+ * @public
4
+ */
5
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
6
+ //# sourceMappingURL=dynamic-tab-list.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tab-list.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/dynamic-tab-list.styles.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,MAAM,iDA+IlB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ElementViewTemplate } from "@microsoft/fast-element";
2
+ import type { DynamicTabList } from "./dynamic-tab-list.js";
3
+ /**
4
+ * Template for the DynamicTabList component.
5
+ * @public
6
+ */
7
+ export declare function dynamicTabListTemplate<T extends DynamicTabList>(): ElementViewTemplate<T>;
8
+ /**
9
+ * The template for the DynamicTabList component.
10
+ * @public
11
+ */
12
+ export declare const template: ElementViewTemplate<DynamicTabList>;
13
+ //# sourceMappingURL=dynamic-tab-list.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-tab-list.template.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/dynamic-tab-list.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAqE5D;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,cAAc,KACrB,mBAAmB,CAAC,CAAC,CAAC,CAqE1B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,mBAAmB,CAAC,cAAc,CAC/B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { DynamicTabList } from "./dynamic-tab-list.js";
2
+ export { DynamicTabListOrientations, DynamicTabListEventNames } from "./dynamic-tab-list.options.js";
3
+ export type { DynamicTabListOrientation } from "./dynamic-tab-list.options.js";
4
+ export { template as DynamicTabListTemplate } from "./dynamic-tab-list.template.js";
5
+ export { styles as DynamicTabListStyles } from "./dynamic-tab-list.styles.js";
6
+ export { definition as DynamicTabListDefinition } from "./dynamic-tab-list.definition.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/dynamic-tab-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,UAAU,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/define.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { FASTElement } from "@microsoft/fast-element";
2
+ /**
3
+ * EmptyState
4
+ * @summary A component for displaying empty states with optional illustration, title, body, link, and action.
5
+ *
6
+ * @example
7
+ * ```html
8
+ * <fabric-empty-state>
9
+ * <img slot="illustration" src="illustration.svg" alt="" aria-hidden="true" />
10
+ * <span slot="title">No items yet</span>
11
+ * <span slot="body">Create an item to get started</span>
12
+ * <fabric-link slot="link" href="#">Learn more</fabric-link>
13
+ * <fabric-button slot="action">Create item</fabric-button>
14
+ * </fabric-empty-state>
15
+ * ```
16
+ *
17
+ * @slot illustration - Slot for an optional illustration or image.
18
+ * @slot title - Slot for the main title text.
19
+ * @slot body - Slot for optional body/description text.
20
+ * @slot link - Slot for an optional help or learn-more link.
21
+ * @slot action - Slot for an optional call-to-action button.
22
+ *
23
+ * @csspart illustration - The illustration container.
24
+ * @csspart content - The text and action content container.
25
+ *
26
+ * @extends FASTElement
27
+ * @tagname fabric-empty-state
28
+ * @public
29
+ */
30
+ export declare class EmptyState extends FASTElement {
31
+ }
32
+ //# sourceMappingURL=empty-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/empty-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,UAAW,SAAQ,WAAW;CAAG"}
@@ -0,0 +1,10 @@
1
+ import { EmptyState } from "./empty-state.js";
2
+ /**
3
+ * The Fabric EmptyState component.
4
+ *
5
+ * @public
6
+ * @remarks
7
+ * HTML Element: <fabric-empty-state>
8
+ */
9
+ export declare const definition: import("@microsoft/fast-element").FASTElementDefinition<typeof EmptyState>;
10
+ //# sourceMappingURL=empty-state.definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.definition.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/empty-state.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,4EAOrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Styles for the {@link EmptyState} component.
3
+ * @public
4
+ */
5
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
6
+ //# sourceMappingURL=empty-state.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/empty-state.styles.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,eAAO,MAAM,MAAM,iDA+ClB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ElementViewTemplate } from "@microsoft/fast-element";
2
+ import type { EmptyState } from "./empty-state.js";
3
+ /**
4
+ * The template for the {@link @fabric-msft/fabric-web#(EmptyState:class)} component.
5
+ * @public
6
+ */
7
+ export declare function emptyStateTemplate<T extends EmptyState>(): ElementViewTemplate<T>;
8
+ export declare const template: ElementViewTemplate<EmptyState>;
9
+ //# sourceMappingURL=empty-state.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty-state.template.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/empty-state.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,UAAU,KACjB,mBAAmB,CAAC,CAAC,CAAC,CAc1B;AAED,eAAO,MAAM,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { EmptyState } from "./empty-state.js";
2
+ export { definition as EmptyStateDefinition } from "./empty-state.definition.js";
3
+ export { styles as EmptyStateStyles } from "./empty-state.styles.js";
4
+ export { template as EmptyStateTemplate } from "./empty-state.template.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/empty-state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -33,19 +33,52 @@ import { Field as FluentField, type SlottableInput } from "@fluentui/web-compone
33
33
  * @public
34
34
  */
35
35
  export declare class Field extends FluentField {
36
+ /**
37
+ * Tracks slotted label elements that have had a click-forwarding listener
38
+ * attached, so we can detach the listener when the label is no longer slotted
39
+ * and avoid attaching duplicates on repeat invocations.
40
+ *
41
+ * @internal
42
+ */
43
+ private readonly _wiredLabelClickHandlers;
36
44
  /**
37
45
  * Sets ARIA and form-related attributes on slotted label elements.
38
46
  * Extends the base implementation to support custom label elements (e.g., fabric-label)
39
47
  * in addition to native HTMLLabelElement.
40
48
  *
41
49
  * @remarks
42
- * The base FluentUI implementation only handles native `<label>` elements.
43
- * This method ensures that custom elements like `<fabric-label>` are properly
44
- * associated with the input via `aria-labelledby`, enabling screen reader support.
50
+ * The base FluentUI implementation only handles native `<label>` elements,
51
+ * which the browser natively wires for both `aria-labelledby` association
52
+ * and click-to-focus / click-to-toggle behavior via `<label htmlFor>`.
53
+ *
54
+ * Custom label elements like `<fabric-label>` extend `HTMLElement` rather
55
+ * than `HTMLLabelElement`, so neither piece is wired by the upstream
56
+ * implementation. This method:
57
+ *
58
+ * 1. Assigns `aria-labelledby` on the input so screen readers announce the
59
+ * custom label as the input's accessible name.
60
+ * 2. Attaches a click listener to each non-native label that forwards the
61
+ * click to the slotted input, emulating native `<label htmlFor>`
62
+ * semantics (e.g., clicking the label toggles the radio/checkbox).
45
63
  *
46
64
  * @internal
47
65
  */
48
66
  private setLabelPropertiesExtended;
67
+ /**
68
+ * Attaches a click listener to a non-native label that forwards clicks to
69
+ * the slotted input, mirroring native `<label htmlFor>` click-to-toggle
70
+ * behavior. Idempotent — repeat calls with the same label are no-ops.
71
+ *
72
+ * @internal
73
+ */
74
+ private wireLabelClickForwarding;
75
+ /**
76
+ * Removes the click-forwarding listener from a label that is no longer
77
+ * slotted into this field.
78
+ *
79
+ * @internal
80
+ */
81
+ private unwireLabelClickForwarding;
49
82
  /**
50
83
  * Updates attributes on the slotted label elements.
51
84
  * Overrides base to add support for custom label elements.
@@ -55,6 +88,14 @@ export declare class Field extends FluentField {
55
88
  * @internal
56
89
  */
57
90
  labelSlotChanged(prev: Node[], next: Node[]): void;
91
+ /**
92
+ * Detaches any remaining click-forwarding listeners when the field is
93
+ * removed from the DOM. The listeners close over `this`, so without this
94
+ * cleanup a still-connected label could keep the field instance alive.
95
+ *
96
+ * @internal
97
+ */
98
+ disconnectedCallback(): void;
58
99
  /**
59
100
  * Updates the field's states and label properties when the assigned input changes.
60
101
  * Overrides base to add support for custom label elements.
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/components/field/field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,KAAM,SAAQ,WAAW;IACpC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;;;;;OAOG;IACM,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI;IAO3D;;;;;;;OAOG;IACM,YAAY,CACnB,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,cAAc,GAAG,SAAS,GAC/B,IAAI;CAMR"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/components/field/field.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,KAAM,SAAQ,WAAW;IACpC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAqC;IAE9E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,0BAA0B;IAyClC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;;;;;;OAOG;IACM,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI;IAiB3D;;;;;;OAMG;IACM,oBAAoB,IAAI,IAAI;IAOrC;;;;;;;OAOG;IACM,YAAY,CACnB,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,cAAc,GAAG,SAAS,GAC/B,IAAI;CAMR"}
@@ -2,7 +2,7 @@ export { Menu } from "./menu.js";
2
2
  export { definition as MenuDefinition } from "./menu.definition.js";
3
3
  export { styles as MenuStyles } from "./menu.styles.js";
4
4
  export { template as MenuTemplate } from "./menu.template.js";
5
- export { MenuPositions, MenuRepositionModes } from "./menu.options.js";
6
- export type { MenuPosition, MenuRepositionMode } from "./menu.options.js";
5
+ export { MenuAlignments, MenuPositions, MenuRepositionModes } from "./menu.options.js";
6
+ export type { MenuAlignment, MenuPosition, MenuRepositionMode } from "./menu.options.js";
7
7
  export { MenuPositioning } from "./menu.positioning.js";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}