@fluentui/web-components 3.0.0-beta.1 → 3.0.0-beta.11

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 (394) hide show
  1. package/CHANGELOG.md +93 -2
  2. package/dist/dts/accordion/accordion.d.ts +47 -3
  3. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  4. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  5. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  6. package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
  7. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  8. package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
  9. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  10. package/dist/dts/anchor-button/anchor-button.d.ts +116 -4
  11. package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
  12. package/dist/dts/anchor-button/anchor-button.options.d.ts +19 -2
  13. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
  14. package/dist/dts/avatar/avatar.options.d.ts +1 -1
  15. package/dist/dts/badge/badge.d.ts +1 -1
  16. package/dist/dts/badge/badge.definition.d.ts +0 -3
  17. package/dist/dts/badge/badge.options.d.ts +2 -2
  18. package/dist/dts/button/button.d.ts +142 -4
  19. package/dist/dts/button/button.definition.d.ts +0 -3
  20. package/dist/dts/button/button.form-associated.d.ts +14 -0
  21. package/dist/dts/button/button.options.d.ts +24 -3
  22. package/dist/dts/button/button.template.d.ts +2 -0
  23. package/dist/dts/checkbox/checkbox.d.ts +46 -3
  24. package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
  25. package/dist/dts/checkbox/checkbox.options.d.ts +1 -1
  26. package/dist/dts/checkbox/checkbox.template.d.ts +6 -1
  27. package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
  28. package/dist/dts/compound-button/compound-button.options.d.ts +6 -6
  29. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  30. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  31. package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
  32. package/dist/dts/dialog/define.d.ts +1 -0
  33. package/dist/dts/dialog/dialog.d.ts +192 -0
  34. package/dist/dts/dialog/dialog.definition.d.ts +9 -0
  35. package/dist/dts/dialog/dialog.options.d.ts +11 -0
  36. package/dist/dts/dialog/dialog.styles.d.ts +4 -0
  37. package/dist/dts/dialog/dialog.template.d.ts +7 -0
  38. package/dist/dts/dialog/index.d.ts +4 -0
  39. package/dist/dts/divider/divider.d.ts +20 -4
  40. package/dist/dts/divider/divider.options.d.ts +30 -6
  41. package/dist/dts/divider/divider.template.d.ts +1 -0
  42. package/dist/dts/form-associated/form-associated.d.ts +178 -0
  43. package/dist/dts/image/image.options.d.ts +1 -1
  44. package/dist/dts/index.d.ts +5 -0
  45. package/dist/dts/label/label.options.d.ts +1 -1
  46. package/dist/dts/menu/define.d.ts +1 -0
  47. package/dist/dts/menu/index.d.ts +4 -0
  48. package/dist/dts/menu/menu.d.ts +194 -0
  49. package/dist/dts/menu/menu.definition.d.ts +9 -0
  50. package/dist/dts/menu/menu.styles.d.ts +4 -0
  51. package/dist/dts/menu/menu.template.d.ts +4 -0
  52. package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
  53. package/dist/dts/menu-button/menu-button.options.d.ts +2 -2
  54. package/dist/dts/menu-item/menu-item.d.ts +161 -4
  55. package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
  56. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  57. package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
  58. package/dist/dts/menu-list/menu-list.d.ts +71 -4
  59. package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
  60. package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
  61. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  62. package/dist/dts/patterns/index.d.ts +2 -0
  63. package/dist/dts/patterns/start-end.d.ts +44 -0
  64. package/dist/dts/progress-bar/base-progress.d.ts +41 -0
  65. package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
  66. package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
  67. package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
  68. package/dist/dts/progress-ring/progress-ring.d.ts +15 -0
  69. package/dist/dts/progress-ring/progress-ring.options.d.ts +9 -0
  70. package/dist/dts/radio/radio.d.ts +54 -3
  71. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  72. package/dist/dts/radio/radio.template.d.ts +2 -1
  73. package/dist/dts/radio-group/index.d.ts +0 -1
  74. package/dist/dts/radio-group/radio-group.d.ts +91 -2
  75. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  76. package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
  77. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  78. package/dist/dts/slider/slider.d.ts +195 -5
  79. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  80. package/dist/dts/slider/slider.options.d.ts +43 -2
  81. package/dist/dts/slider/slider.template.d.ts +4 -2
  82. package/dist/dts/spinner/spinner.d.ts +2 -2
  83. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  84. package/dist/dts/spinner/spinner.options.d.ts +1 -1
  85. package/dist/dts/spinner/spinner.template.d.ts +2 -0
  86. package/dist/dts/switch/switch.d.ts +34 -2
  87. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  88. package/dist/dts/switch/switch.options.d.ts +1 -1
  89. package/dist/dts/switch/switch.template.d.ts +2 -1
  90. package/dist/dts/tab/tab.d.ts +17 -2
  91. package/dist/dts/tab/tab.template.d.ts +3 -3
  92. package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
  93. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
  94. package/dist/dts/tabs/tabs.d.ts +89 -4
  95. package/dist/dts/tabs/tabs.options.d.ts +21 -3
  96. package/dist/dts/tabs/tabs.template.d.ts +5 -1
  97. package/dist/dts/text/text.options.d.ts +1 -1
  98. package/dist/dts/text-input/index.d.ts +0 -1
  99. package/dist/dts/text-input/text-field.form-associated.d.ts +14 -0
  100. package/dist/dts/text-input/text-input.d.ts +134 -6
  101. package/dist/dts/text-input/text-input.options.d.ts +32 -1
  102. package/dist/dts/text-input/text-input.template.d.ts +2 -1
  103. package/dist/dts/theme/design-tokens.d.ts +384 -384
  104. package/dist/dts/theme/set-theme.d.ts +1 -2
  105. package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
  106. package/dist/dts/toggle-button/toggle-button.options.d.ts +2 -2
  107. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  108. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  109. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  110. package/dist/dts/utils/direction.d.ts +10 -0
  111. package/dist/dts/utils/display.d.ts +17 -0
  112. package/dist/dts/utils/index.d.ts +6 -0
  113. package/dist/dts/utils/template-helpers.d.ts +16 -0
  114. package/dist/dts/utils/typings.d.ts +6 -0
  115. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  116. package/dist/esm/accordion/accordion.definition.js +0 -4
  117. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  118. package/dist/esm/accordion/accordion.js +216 -3
  119. package/dist/esm/accordion/accordion.js.map +1 -1
  120. package/dist/esm/accordion/accordion.options.js +9 -0
  121. package/dist/esm/accordion/accordion.options.js.map +1 -0
  122. package/dist/esm/accordion/accordion.styles.js +1 -1
  123. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  124. package/dist/esm/accordion/accordion.template.js +11 -1
  125. package/dist/esm/accordion/accordion.template.js.map +1 -1
  126. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  127. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  128. package/dist/esm/accordion-item/accordion-item.js +80 -4
  129. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  130. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  131. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  132. package/dist/esm/accordion-item/accordion-item.template.js +47 -2
  133. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  134. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  135. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  136. package/dist/esm/anchor-button/anchor-button.js +52 -4
  137. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  138. package/dist/esm/anchor-button/anchor-button.options.js +11 -0
  139. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  140. package/dist/esm/anchor-button/anchor-button.template.js +49 -1
  141. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  142. package/dist/esm/avatar/avatar.styles.js +5 -5
  143. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  144. package/dist/esm/badge/badge.definition.js +0 -3
  145. package/dist/esm/badge/badge.definition.js.map +1 -1
  146. package/dist/esm/badge/badge.js +1 -1
  147. package/dist/esm/badge/badge.js.map +1 -1
  148. package/dist/esm/badge/badge.template.js +2 -2
  149. package/dist/esm/badge/badge.template.js.map +1 -1
  150. package/dist/esm/button/button.definition.js +0 -3
  151. package/dist/esm/button/button.definition.js.map +1 -1
  152. package/dist/esm/button/button.form-associated.js +14 -0
  153. package/dist/esm/button/button.form-associated.js.map +1 -0
  154. package/dist/esm/button/button.js +124 -4
  155. package/dist/esm/button/button.js.map +1 -1
  156. package/dist/esm/button/button.options.js +10 -0
  157. package/dist/esm/button/button.options.js.map +1 -1
  158. package/dist/esm/button/button.styles.js +2 -2
  159. package/dist/esm/button/button.styles.js.map +1 -1
  160. package/dist/esm/button/button.template.js +49 -1
  161. package/dist/esm/button/button.template.js.map +1 -1
  162. package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
  163. package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
  164. package/dist/esm/checkbox/checkbox.js +62 -4
  165. package/dist/esm/checkbox/checkbox.js.map +1 -1
  166. package/dist/esm/checkbox/checkbox.styles.js +1 -1
  167. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  168. package/dist/esm/checkbox/checkbox.template.js +35 -7
  169. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  170. package/dist/esm/compound-button/compound-button.definition.js +0 -3
  171. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  172. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  173. package/dist/esm/compound-button/compound-button.template.js +1 -1
  174. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  175. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  176. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  177. package/dist/esm/counter-badge/counter-badge.js +1 -1
  178. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  179. package/dist/esm/dialog/define.js +4 -0
  180. package/dist/esm/dialog/define.js.map +1 -0
  181. package/dist/esm/dialog/dialog.definition.js +17 -0
  182. package/dist/esm/dialog/dialog.definition.js.map +1 -0
  183. package/dist/esm/dialog/dialog.js +370 -0
  184. package/dist/esm/dialog/dialog.js.map +1 -0
  185. package/dist/esm/dialog/dialog.options.js +10 -0
  186. package/dist/esm/dialog/dialog.options.js.map +1 -0
  187. package/dist/esm/dialog/dialog.styles.js +102 -0
  188. package/dist/esm/dialog/dialog.styles.js.map +1 -0
  189. package/dist/esm/dialog/dialog.template.js +61 -0
  190. package/dist/esm/dialog/dialog.template.js.map +1 -0
  191. package/dist/esm/dialog/index.js +5 -0
  192. package/dist/esm/dialog/index.js.map +1 -0
  193. package/dist/esm/divider/divider.js +29 -4
  194. package/dist/esm/divider/divider.js.map +1 -1
  195. package/dist/esm/divider/divider.options.js +14 -5
  196. package/dist/esm/divider/divider.options.js.map +1 -1
  197. package/dist/esm/divider/divider.styles.js +1 -1
  198. package/dist/esm/divider/divider.styles.js.map +1 -1
  199. package/dist/esm/divider/divider.template.js +12 -1
  200. package/dist/esm/divider/divider.template.js.map +1 -1
  201. package/dist/esm/form-associated/form-associated.js +458 -0
  202. package/dist/esm/form-associated/form-associated.js.map +1 -0
  203. package/dist/esm/index.js +5 -0
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/label/label.styles.js +1 -1
  206. package/dist/esm/label/label.styles.js.map +1 -1
  207. package/dist/esm/menu/define.js +4 -0
  208. package/dist/esm/menu/define.js.map +1 -0
  209. package/dist/esm/menu/index.js +5 -0
  210. package/dist/esm/menu/index.js.map +1 -0
  211. package/dist/esm/menu/menu.definition.js +17 -0
  212. package/dist/esm/menu/menu.definition.js.map +1 -0
  213. package/dist/esm/menu/menu.js +413 -0
  214. package/dist/esm/menu/menu.js.map +1 -0
  215. package/dist/esm/menu/menu.styles.js +17 -0
  216. package/dist/esm/menu/menu.styles.js.map +1 -0
  217. package/dist/esm/menu/menu.template.js +24 -0
  218. package/dist/esm/menu/menu.template.js.map +1 -0
  219. package/dist/esm/menu-button/menu-button.definition.js +0 -3
  220. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  221. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  222. package/dist/esm/menu-button/menu-button.template.js +1 -1
  223. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  224. package/dist/esm/menu-item/menu-item.definition.js +0 -4
  225. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  226. package/dist/esm/menu-item/menu-item.js +270 -4
  227. package/dist/esm/menu-item/menu-item.js.map +1 -1
  228. package/dist/esm/menu-item/menu-item.options.js +27 -0
  229. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  230. package/dist/esm/menu-item/menu-item.styles.js +1 -1
  231. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  232. package/dist/esm/menu-item/menu-item.template.js +57 -2
  233. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  234. package/dist/esm/menu-list/menu-list.definition.js +0 -4
  235. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  236. package/dist/esm/menu-list/menu-list.js +265 -10
  237. package/dist/esm/menu-list/menu-list.js.map +1 -1
  238. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  239. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  240. package/dist/esm/menu-list/menu-list.template.js +13 -1
  241. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  242. package/dist/esm/patterns/aria-globals.js +77 -0
  243. package/dist/esm/patterns/aria-globals.js.map +1 -0
  244. package/dist/esm/patterns/index.js +3 -0
  245. package/dist/esm/patterns/index.js.map +1 -0
  246. package/dist/esm/patterns/start-end.js +29 -0
  247. package/dist/esm/patterns/start-end.js.map +1 -0
  248. package/dist/esm/progress-bar/base-progress.js +61 -0
  249. package/dist/esm/progress-bar/base-progress.js.map +1 -0
  250. package/dist/esm/progress-bar/progress-bar.js +10 -3
  251. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  252. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  253. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  254. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  255. package/dist/esm/progress-bar/progress-bar.template.js +25 -1
  256. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  257. package/dist/esm/progress-ring/progress-ring.js +16 -0
  258. package/dist/esm/progress-ring/progress-ring.js.map +1 -0
  259. package/dist/esm/progress-ring/progress-ring.options.js +2 -0
  260. package/dist/esm/progress-ring/progress-ring.options.js.map +1 -0
  261. package/dist/esm/radio/radio.form-associated.js +14 -0
  262. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  263. package/dist/esm/radio/radio.js +96 -3
  264. package/dist/esm/radio/radio.js.map +1 -1
  265. package/dist/esm/radio/radio.styles.js +1 -1
  266. package/dist/esm/radio/radio.styles.js.map +1 -1
  267. package/dist/esm/radio/radio.template.js +28 -2
  268. package/dist/esm/radio/radio.template.js.map +1 -1
  269. package/dist/esm/radio-group/index.js +0 -1
  270. package/dist/esm/radio-group/index.js.map +1 -1
  271. package/dist/esm/radio-group/radio-group.js +346 -3
  272. package/dist/esm/radio-group/radio-group.js.map +1 -1
  273. package/dist/esm/radio-group/radio-group.options.js +7 -0
  274. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  275. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  276. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  277. package/dist/esm/radio-group/radio-group.template.js +30 -1
  278. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  279. package/dist/esm/slider/slider-utilities.js +12 -0
  280. package/dist/esm/slider/slider-utilities.js.map +1 -0
  281. package/dist/esm/slider/slider.form-associated.js +14 -0
  282. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  283. package/dist/esm/slider/slider.js +432 -16
  284. package/dist/esm/slider/slider.js.map +1 -1
  285. package/dist/esm/slider/slider.options.js +11 -1
  286. package/dist/esm/slider/slider.options.js.map +1 -1
  287. package/dist/esm/slider/slider.styles.js +1 -1
  288. package/dist/esm/slider/slider.styles.js.map +1 -1
  289. package/dist/esm/slider/slider.template.js +38 -1
  290. package/dist/esm/slider/slider.template.js.map +1 -1
  291. package/dist/esm/spinner/spinner.definition.js +0 -4
  292. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  293. package/dist/esm/spinner/spinner.js +2 -2
  294. package/dist/esm/spinner/spinner.js.map +1 -1
  295. package/dist/esm/spinner/spinner.styles.js +1 -1
  296. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  297. package/dist/esm/spinner/spinner.template.js +27 -1
  298. package/dist/esm/spinner/spinner.template.js.map +1 -1
  299. package/dist/esm/styles/partials/badge.partials.js +1 -1
  300. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  301. package/dist/esm/switch/switch.form-associated.js +14 -0
  302. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  303. package/dist/esm/switch/switch.js +48 -3
  304. package/dist/esm/switch/switch.js.map +1 -1
  305. package/dist/esm/switch/switch.styles.js +4 -3
  306. package/dist/esm/switch/switch.styles.js.map +1 -1
  307. package/dist/esm/switch/switch.template.js +25 -1
  308. package/dist/esm/switch/switch.template.js.map +1 -1
  309. package/dist/esm/tab/tab.js +14 -3
  310. package/dist/esm/tab/tab.js.map +1 -1
  311. package/dist/esm/tab/tab.styles.js +1 -1
  312. package/dist/esm/tab/tab.styles.js.map +1 -1
  313. package/dist/esm/tab/tab.template.js +1 -1
  314. package/dist/esm/tab/tab.template.js.map +1 -1
  315. package/dist/esm/tab-panel/tab-panel.js +2 -2
  316. package/dist/esm/tab-panel/tab-panel.js.map +1 -1
  317. package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
  318. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  319. package/dist/esm/tab-panel/tab-panel.template.js +8 -1
  320. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  321. package/dist/esm/tabs/tabs.js +278 -5
  322. package/dist/esm/tabs/tabs.js.map +1 -1
  323. package/dist/esm/tabs/tabs.options.js +6 -2
  324. package/dist/esm/tabs/tabs.options.js.map +1 -1
  325. package/dist/esm/tabs/tabs.styles.js +1 -1
  326. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  327. package/dist/esm/tabs/tabs.template.js +14 -1
  328. package/dist/esm/tabs/tabs.template.js.map +1 -1
  329. package/dist/esm/text/text.styles.js +1 -1
  330. package/dist/esm/text/text.styles.js.map +1 -1
  331. package/dist/esm/text-input/index.js +0 -1
  332. package/dist/esm/text-input/index.js.map +1 -1
  333. package/dist/esm/text-input/text-field.form-associated.js +14 -0
  334. package/dist/esm/text-input/text-field.form-associated.js.map +1 -0
  335. package/dist/esm/text-input/text-input.js +167 -7
  336. package/dist/esm/text-input/text-input.js.map +1 -1
  337. package/dist/esm/text-input/text-input.options.js +26 -0
  338. package/dist/esm/text-input/text-input.options.js.map +1 -1
  339. package/dist/esm/text-input/text-input.styles.js +1 -1
  340. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  341. package/dist/esm/text-input/text-input.template.js +64 -1
  342. package/dist/esm/text-input/text-input.template.js.map +1 -1
  343. package/dist/esm/theme/design-tokens.js +385 -386
  344. package/dist/esm/theme/design-tokens.js.map +1 -1
  345. package/dist/esm/theme/set-theme.js +2 -2
  346. package/dist/esm/theme/set-theme.js.map +1 -1
  347. package/dist/esm/toggle-button/toggle-button.definition.js +0 -2
  348. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  349. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  350. package/dist/esm/toggle-button/toggle-button.styles.js +1 -1
  351. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  352. package/dist/esm/toggle-button/toggle-button.template.js +1 -1
  353. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
  354. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  355. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  356. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  357. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  358. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  359. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  360. package/dist/esm/utils/direction.js +15 -0
  361. package/dist/esm/utils/direction.js.map +1 -0
  362. package/dist/esm/utils/display.js +15 -0
  363. package/dist/esm/utils/display.js.map +1 -0
  364. package/dist/esm/utils/index.js +7 -0
  365. package/dist/esm/utils/index.js.map +1 -0
  366. package/dist/esm/utils/template-helpers.js +19 -0
  367. package/dist/esm/utils/template-helpers.js.map +1 -0
  368. package/dist/esm/utils/typings.js +3 -0
  369. package/dist/esm/utils/typings.js.map +1 -0
  370. package/dist/esm/utils/whitespace-filter.js +13 -0
  371. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  372. package/dist/fluent-web-components.api.json +16013 -6435
  373. package/dist/storybook/289.703b1698.iframe.bundle.js +2 -0
  374. package/dist/storybook/{885.6558041f.iframe.bundle.js.LICENSE.txt → 289.703b1698.iframe.bundle.js.LICENSE.txt} +5 -0
  375. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +2 -0
  376. package/dist/storybook/iframe.html +1 -1
  377. package/dist/storybook/index.html +1 -1
  378. package/dist/storybook/{main.18c2c615e57574af12cd.manager.bundle.js → main.5d7b916dc1e37293b1d8.manager.bundle.js} +1 -1
  379. package/dist/storybook/main.81e47c59.iframe.bundle.js +2 -0
  380. package/dist/storybook/main.81e47c59.iframe.bundle.js.LICENSE.txt +1 -0
  381. package/dist/storybook/project.json +1 -1
  382. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +1 -0
  383. package/dist/web-components.d.ts +3213 -669
  384. package/dist/web-components.js +2530 -3937
  385. package/dist/web-components.min.js +195 -186
  386. package/docs/api-report.md +1104 -476
  387. package/package.json +43 -30
  388. package/tensile.config.js +22 -0
  389. package/dist/storybook/761.21909e5ef44f985ae0d4.manager.bundle.js +0 -2
  390. package/dist/storybook/885.6558041f.iframe.bundle.js +0 -462
  391. package/dist/storybook/885.6558041f.iframe.bundle.js.map +0 -1
  392. package/dist/storybook/main.2c02ce39.iframe.bundle.js +0 -1
  393. package/dist/storybook/runtime~main.8db883e762072830487f.manager.bundle.js +0 -1
  394. /package/dist/storybook/{761.21909e5ef44f985ae0d4.manager.bundle.js.LICENSE.txt → 591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt} +0 -0
@@ -1,15 +1,39 @@
1
- import { DividerOrientation, DividerRole } from '@microsoft/fast-foundation/divider.js';
2
- import type { ValuesOf } from '@microsoft/fast-foundation/utilities.js';
1
+ import type { ValuesOf } from '../utils/index.js';
3
2
  /**
4
- * Fast Foundation DividerRole property
3
+ * Divider roles
5
4
  * @public
6
5
  */
7
- export { DividerRole };
6
+ export declare const DividerRole: {
7
+ /**
8
+ * The divider semantically separates content
9
+ */
10
+ readonly separator: "separator";
11
+ /**
12
+ * The divider has no semantic value and is for visual presentation only.
13
+ */
14
+ readonly presentation: "presentation";
15
+ };
16
+ /**
17
+ * The types for Divider roles
18
+ * @public
19
+ */
20
+ export declare type DividerRole = ValuesOf<typeof DividerRole>;
21
+ /**
22
+ * Divider orientation
23
+ * @public
24
+ */
25
+ export declare const DividerOrientation: {
26
+ readonly horizontal: "horizontal"; /**
27
+ * Divider roles
28
+ * @public
29
+ */
30
+ readonly vertical: "vertical";
31
+ };
8
32
  /**
9
- * Fast Foundation Orientation property
33
+ * The types for Divider orientation
10
34
  * @public
11
35
  */
12
- export { DividerOrientation };
36
+ export declare type DividerOrientation = ValuesOf<typeof DividerOrientation>;
13
37
  /**
14
38
  * Align content within divider
15
39
  * @public
@@ -1,5 +1,6 @@
1
1
  import { ElementViewTemplate } from '@microsoft/fast-element';
2
2
  import type { Divider } from './divider.js';
3
+ export declare function dividerTemplate<T extends Divider>(): ElementViewTemplate<T>;
3
4
  /**
4
5
  * Template for the Divider component
5
6
  * @public
@@ -0,0 +1,178 @@
1
+ import type { Constructable, FASTElement } from '@microsoft/fast-element';
2
+ /**
3
+ * This file enables typing support for ElementInternals APIs.
4
+ * It is largely taken from https://github.com/microsoft/TSJS-lib-generator/pull/818/files.
5
+ *
6
+ * When TypeScript adds support for these APIs we can delete this file.
7
+ */
8
+ interface ValidityStateFlags {
9
+ badInput?: boolean;
10
+ customError?: boolean;
11
+ patternMismatch?: boolean;
12
+ rangeOverflow?: boolean;
13
+ rangeUnderflow?: boolean;
14
+ stepMismatch?: boolean;
15
+ tooLong?: boolean;
16
+ tooShort?: boolean;
17
+ typeMismatch?: boolean;
18
+ valueMissing?: boolean;
19
+ }
20
+ /**
21
+ * Source:
22
+ * https://html.spec.whatwg.org/multipage/custom-elements.html#elementinternals
23
+ */
24
+ interface ElementInternals {
25
+ /**
26
+ * Returns the form owner of internals target element.
27
+ */
28
+ readonly form: HTMLFormElement | null;
29
+ /**
30
+ * Returns a NodeList of all the label elements that internals target element is associated with.
31
+ */
32
+ readonly labels: NodeList;
33
+ /**
34
+ * Returns the error message that would be shown to the user if internals target element was to be checked for validity.
35
+ */
36
+ readonly validationMessage: string;
37
+ /**
38
+ * Returns the ValidityState object for internals target element.
39
+ */
40
+ readonly validity: ValidityState;
41
+ /**
42
+ * Returns true if internals target element will be validated when the form is submitted; false otherwise.
43
+ */
44
+ readonly willValidate: boolean;
45
+ /**
46
+ * Returns true if internals target element has no validity problems; false otherwise. Fires an invalid event at the element in the latter case.
47
+ */
48
+ checkValidity(): boolean;
49
+ /**
50
+ * Returns true if internals target element has no validity problems; otherwise,
51
+ * returns false, fires an invalid event at the element, and (if the event isn't canceled) reports the problem to the user.
52
+ */
53
+ reportValidity(): boolean;
54
+ /**
55
+ * Sets both the state and submission value of internals target element to value.
56
+ *
57
+ * While "null" isn't enumerated as a argument type (here)[https://html.spec.whatwg.org/multipage/custom-elements.html#the-elementinternals-interface],
58
+ * In practice it appears to remove the value from the form data on submission. Adding it as a valid type here
59
+ * becuase that capability is required for checkbox and radio types
60
+ */
61
+ setFormValue(value: File | string | FormData | null, state?: File | string | FormData | null): void;
62
+ /**
63
+ * Marks internals target element as suffering from the constraints indicated by the flags argument,
64
+ * and sets the element's validation message to message.
65
+ * If anchor is specified, the user agent might use
66
+ * it to indicate problems with the constraints of internals target
67
+ * element when the form owner is validated interactively or reportValidity() is called.
68
+ */
69
+ setValidity(flags: ValidityStateFlags, message?: string, anchor?: HTMLElement): void;
70
+ }
71
+ declare let ElementInternals: {
72
+ prototype: ElementInternals;
73
+ new (): ElementInternals;
74
+ };
75
+ /**
76
+ * @alpha
77
+ */
78
+ export declare const supportsElementInternals: boolean;
79
+ /**
80
+ * Base class for providing Custom Element Form Association.
81
+ *
82
+ * @beta
83
+ */
84
+ export interface FormAssociated extends Omit<ElementInternals, 'labels'> {
85
+ dirtyValue: boolean;
86
+ disabled: boolean;
87
+ readonly elementInternals: ElementInternals | null;
88
+ readonly formAssociated: boolean;
89
+ initialValue: string;
90
+ readonly labels: ReadonlyArray<Node[]>;
91
+ name: string;
92
+ required: boolean;
93
+ value: string;
94
+ currentValue: string;
95
+ attachProxy(): void;
96
+ detachProxy(): void;
97
+ disabledChanged?(previous: boolean, next: boolean): void;
98
+ formDisabledCallback?(disabled: boolean): void;
99
+ formResetCallback(): void;
100
+ initialValueChanged?(previous: string, next: string): void;
101
+ nameChanged?(previous: string, next: string): void;
102
+ requiredChanged(prev: boolean, next: boolean): void;
103
+ stopPropagation(e: Event): void;
104
+ /**
105
+ * Sets the validity of the custom element. By default this uses the proxy element to determine
106
+ * validity, but this can be extended or replaced in implementation.
107
+ *
108
+ * @param anchor - The anchor element to provide to ElementInternals.setValidity for surfacing the browser's constraint validation UI
109
+ */
110
+ validate(anchor?: HTMLElement): void;
111
+ valueChanged(previous: string, next: string): void;
112
+ }
113
+ /**
114
+ * Base class for providing Custom Element Form Association with checkable features.
115
+ *
116
+ * @beta
117
+ */
118
+ export interface CheckableFormAssociated extends FormAssociated {
119
+ currentChecked: boolean;
120
+ dirtyChecked: boolean;
121
+ checkedAttribute: boolean;
122
+ defaultChecked: boolean;
123
+ defaultCheckedChanged(oldValue: boolean | undefined, newValue: boolean): void;
124
+ checked: boolean;
125
+ checkedChanged(oldValue: boolean | undefined, newValue: boolean): void;
126
+ }
127
+ /**
128
+ * Avaiable types for the `proxy` property.
129
+ * @beta
130
+ */
131
+ export declare type ProxyElement = HTMLSelectElement | HTMLTextAreaElement | HTMLInputElement;
132
+ /**
133
+ * Identifies a class as having a proxy element and optional submethods related
134
+ * to the proxy element.
135
+ *
136
+ * @beta
137
+ */
138
+ export interface FormAssociatedProxy {
139
+ proxy: ProxyElement;
140
+ disabledChanged?(previous: boolean, next: boolean): void;
141
+ formDisabledCallback?(disabled: boolean): void;
142
+ formResetCallback?(): void;
143
+ initialValueChanged?(previous: string, next: string): void;
144
+ valueChanged?(previous: string, next: string): void;
145
+ nameChanged?(previous: string, next: string): void;
146
+ }
147
+ /**
148
+ * Combined type to describe a Form-associated element.
149
+ *
150
+ * @beta
151
+ */
152
+ export declare type FormAssociatedElement = FormAssociated & FASTElement & HTMLElement & FormAssociatedProxy;
153
+ /**
154
+ * Combined type to describe a checkable Form-associated element.
155
+ *
156
+ * @beta
157
+ */
158
+ export declare type CheckableFormAssociatedElement = FormAssociatedElement & CheckableFormAssociated & {
159
+ proxy: HTMLInputElement;
160
+ };
161
+ /**
162
+ * Combined type to describe a Constructable Form-Associated type.
163
+ *
164
+ * @beta
165
+ */
166
+ export declare type ConstructableFormAssociated = Constructable<HTMLElement & FASTElement>;
167
+ /**
168
+ * Base function for providing Custom Element Form Association.
169
+ *
170
+ * @beta
171
+ */
172
+ export declare function FormAssociated<T extends ConstructableFormAssociated>(BaseCtor: T): T;
173
+ /**
174
+ * Creates a checkable form associated component.
175
+ * @beta
176
+ */
177
+ export declare function CheckableFormAssociated<T extends ConstructableFormAssociated>(BaseCtor: T): T;
178
+ export {};
@@ -1,4 +1,4 @@
1
- import type { ValuesOf } from '@microsoft/fast-foundation/utilities.js';
1
+ import type { ValuesOf } from '../utils/index.js';
2
2
  /**
3
3
  * Image fit
4
4
  * @public
@@ -7,9 +7,11 @@ export * from './button/index.js';
7
7
  export * from './checkbox/index.js';
8
8
  export * from './compound-button/index.js';
9
9
  export * from './counter-badge/index.js';
10
+ export * from './dialog/index.js';
10
11
  export * from './divider/index.js';
11
12
  export * from './image/index.js';
12
13
  export * from './label/index.js';
14
+ export * from './menu/index.js';
13
15
  export * from './menu-button/index.js';
14
16
  export * from './menu-item/index.js';
15
17
  export * from './menu-list/index.js';
@@ -27,3 +29,6 @@ export * from './text-input/index.js';
27
29
  export * from './toggle-button/index.js';
28
30
  export * from './fluent-design-system.js';
29
31
  export * from './theme/index.js';
32
+ export * from './utils/direction.js';
33
+ export * from './utils/display.js';
34
+ export * from './utils/behaviors/match-media-stylesheet-behavior.js';
@@ -1,4 +1,4 @@
1
- import type { ValuesOf } from '@microsoft/fast-foundation/utilities.js';
1
+ import type { ValuesOf } from '../utils/index.js';
2
2
  /**
3
3
  * A Labels font size can be small, medium, or large
4
4
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './menu.js';
2
+ export { template as MenuTemplate } from './menu.template.js';
3
+ export { styles as MenuStyles } from './menu.styles.js';
4
+ export { definition as MenuDefinition } from './menu.definition.js';
@@ -0,0 +1,194 @@
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import { MenuList } from '../menu-list/menu-list.js';
3
+ /**
4
+ * The Menu class represents a menu component.
5
+ * @public
6
+ */
7
+ export declare class Menu extends FASTElement {
8
+ /**
9
+ * Determines if the menu should open on hover.
10
+ * @public
11
+ */
12
+ openOnHover?: boolean;
13
+ /**
14
+ * Determines if the menu should open on right click.
15
+ * @public
16
+ */
17
+ openOnContext?: boolean;
18
+ /**
19
+ * Determines if the menu should close on scroll.
20
+ * @public
21
+ */
22
+ closeOnScroll?: boolean;
23
+ /**
24
+ * Determines if the menu open state should persis on click of menu item
25
+ * @public
26
+ */
27
+ persistOnItemClick?: boolean;
28
+ /**
29
+ * Defines whether the menu is open or not.
30
+ * @public
31
+ */
32
+ open: boolean;
33
+ /**
34
+ * Holds the slotted menu list.
35
+ * @public
36
+ */
37
+ slottedMenuList: MenuList[];
38
+ /**
39
+ * Holds the slotted triggers.
40
+ * @public
41
+ */
42
+ slottedTriggers: HTMLElement[];
43
+ /**
44
+ * The positioning container of the menu.
45
+ * @internal
46
+ */
47
+ positioningContainer?: HTMLElement;
48
+ /**
49
+ * The trigger element of the menu.
50
+ * @private
51
+ */
52
+ private _trigger?;
53
+ /**
54
+ * The menu list element of the menu.
55
+ * @private
56
+ */
57
+ private _menuList?;
58
+ /**
59
+ * Holds a reference to a function that is used to cleanup resources.
60
+ * @public
61
+ */
62
+ cleanup?: () => void;
63
+ /**
64
+ * Called when the element is connected to the DOM.
65
+ * Sets up the component.
66
+ * @public
67
+ */
68
+ connectedCallback(): void;
69
+ /**
70
+ * Called when the element is disconnected from the DOM.
71
+ * Removes event listeners.
72
+ * @public
73
+ */
74
+ disconnectedCallback(): void;
75
+ /**
76
+ * Sets the component.
77
+ * Sets the trigger and menu list elements and adds event listeners.
78
+ * @public
79
+ */
80
+ setComponent(): void;
81
+ /**
82
+ * Toggles the open state of the menu.
83
+ * @public
84
+ */
85
+ toggleMenu: () => void;
86
+ /**
87
+ * Closes the menu.
88
+ * @public
89
+ */
90
+ closeMenu: () => void;
91
+ /**
92
+ * Opens the menu.
93
+ * @public
94
+ */
95
+ openMenu: (e?: Event) => void;
96
+ /**
97
+ * Focuses on the menu list.
98
+ * @public
99
+ */
100
+ focusMenuList(): void;
101
+ /**
102
+ * Focuses on the menu trigger.
103
+ * @public
104
+ */
105
+ focusTrigger(): void;
106
+ /**
107
+ * Called whenever the open state changes.
108
+ * Updates the 'aria-expanded' attribute and sets the positioning of the menu.
109
+ * Sets menu list position
110
+ * emits openChanged event
111
+ * @public
112
+ * @param {boolean} oldValue - The previous value of 'open'.
113
+ * @param {boolean} newValue - The new value of 'open'.
114
+ */
115
+ openChanged(oldValue: boolean, newValue: boolean): void;
116
+ /**
117
+ * Called whenever the 'openOnHover' property changes.
118
+ * Adds or removes a 'mouseover' event listener to the trigger based on the new value.
119
+ * @public
120
+ * @param {boolean} oldValue - The previous value of 'openOnHover'.
121
+ * @param {boolean} newValue - The new value of 'openOnHover'.
122
+ */
123
+ openOnHoverChanged(oldValue: boolean, newValue: boolean): void;
124
+ /**
125
+ * Called whenever the 'persistOnItemClick' property changes.
126
+ * Adds or removes a 'click' event listener to the menu list based on the new value.
127
+ * @public
128
+ * @param {boolean} oldValue - The previous value of 'persistOnItemClick'.
129
+ * @param {boolean} newValue - The new value of 'persistOnItemClick'.
130
+ */
131
+ persistOnItemClickChanged(oldValue: boolean, newValue: boolean): void;
132
+ /**
133
+ * Called whenever the 'openOnContext' property changes.
134
+ * Adds or removes a 'contextmenu' event listener to the trigger based on the new value.
135
+ * @public
136
+ * @param {boolean} oldValue - The previous value of 'openOnContext'.
137
+ * @param {boolean} newValue - The new value of 'openOnContext'.
138
+ */
139
+ openOnContextChanged(oldValue: boolean, newValue: boolean): void;
140
+ /**
141
+ * Called whenever the 'closeOnScroll' property changes.
142
+ * Adds or removes a 'closeOnScroll' event listener to the trigger based on the new value.
143
+ * @public
144
+ * @param {boolean} oldValue - The previous value of 'closeOnScroll'.
145
+ * @param {boolean} newValue - The new value of 'closeOnScroll'.
146
+ */
147
+ closeOnScrollChanged(oldValue: boolean, newValue: boolean): void;
148
+ /**
149
+ * The task to set the positioning of the menu.
150
+ * @protected
151
+ */
152
+ protected setPositioningTask: () => void;
153
+ /**
154
+ * Sets the positioning of the menu.
155
+ * @protected
156
+ */
157
+ protected setPositioning(): void;
158
+ /**
159
+ * Adds event listeners.
160
+ * Adds click and keydown event listeners to the trigger and a click event listener to the document.
161
+ * If 'openOnHover' is true, adds a 'mouseover' event listener to the trigger.
162
+ * @public
163
+ */
164
+ private addListeners;
165
+ /**
166
+ * Removes event listeners.
167
+ * Removes click and keydown event listeners from the trigger and a click event listener from the document.
168
+ * Also removes 'mouseover' event listeners from the trigger.
169
+ * @private
170
+ */
171
+ private removeListeners;
172
+ /**
173
+ * Handles keyboard interaction for the menu.
174
+ * Closes the menu and focuses on the trigger when the Escape key is pressed.
175
+ * Closes the menu when the Tab key is pressed.
176
+ * @public
177
+ * @param {KeyboardEvent} e - the keyboard event
178
+ */
179
+ handleMenuKeydown(e: KeyboardEvent): boolean | void;
180
+ /**
181
+ * Handles keyboard interaction for the trigger.
182
+ * Toggles the menu when the Space or Enter key is pressed.
183
+ * If the menu is open, focuses on the menu list.
184
+ * @public
185
+ * @param {KeyboardEvent} e - the keyboard event
186
+ */
187
+ handleTriggerKeydown: (e: KeyboardEvent) => boolean | void;
188
+ /**
189
+ * Handles document click events to close the menu when a click occurs outside of the menu or the trigger.
190
+ * @private
191
+ * @param {Event} e - The event triggered on document click.
192
+ */
193
+ private handleDocumentClick;
194
+ }
@@ -0,0 +1,9 @@
1
+ import { Menu } from './menu.js';
2
+ /**
3
+ * The Fluent Menu Element.
4
+ *
5
+ * @public
6
+ * @remarks
7
+ * HTML Element: <fluent-menu>
8
+ */
9
+ export declare const definition: import("@microsoft/fast-element").FASTElementDefinition<typeof Menu>;
@@ -0,0 +1,4 @@
1
+ /** Menu styles
2
+ * @public
3
+ */
4
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,4 @@
1
+ import { ElementViewTemplate } from '@microsoft/fast-element';
2
+ import type { Menu } from './menu.js';
3
+ export declare function menuTemplate<T extends Menu>(): ElementViewTemplate<T>;
4
+ export declare const template: ElementViewTemplate<Menu>;
@@ -1,8 +1,5 @@
1
1
  import { MenuButton } from './menu-button.js';
2
2
  /**
3
- * The Fluent Menu Button Element. Implements {@link @microsoft/fast-foundation#Button },
4
- * {@link @microsoft/fast-foundation#buttonTemplate}
5
- *
6
3
  * @public
7
4
  * @remarks
8
5
  * HTML Element: \<fluent-button\>
@@ -1,5 +1,5 @@
1
- import type { ButtonOptions } from '@microsoft/fast-foundation/button.js';
2
- import type { ValuesOf } from '@microsoft/fast-foundation/utilities.js';
1
+ import type { ButtonOptions } from '../button/index.js';
2
+ import type { ValuesOf } from '../utils/index.js';
3
3
  /**
4
4
  * Menu Button Appearance constants
5
5
  * @public
@@ -1,9 +1,166 @@
1
- import { FASTMenuItem, MenuItemRole } from '@microsoft/fast-foundation/menu-item.js';
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import type { StaticallyComposableHTML } from '../utils/template-helpers.js';
3
+ import type { StartEndOptions } from '../patterns/start-end.js';
4
+ import { StartEnd } from '../patterns/start-end.js';
5
+ import { MenuItemRole, roleForMenuItem } from './menu-item.options.js';
2
6
  export declare type MenuItemColumnCount = 0 | 1 | 2;
3
- export { MenuItemRole };
7
+ export { MenuItemRole, roleForMenuItem };
4
8
  /**
5
- * The base class used for constructing a fluent-menu-item custom element
9
+ * Menu Item configuration options
6
10
  * @public
7
11
  */
8
- export declare class MenuItem extends FASTMenuItem {
12
+ export declare type MenuItemOptions = StartEndOptions<MenuItem> & {
13
+ checkboxIndicator?: StaticallyComposableHTML<MenuItem>;
14
+ expandCollapseGlyph?: StaticallyComposableHTML<MenuItem>;
15
+ radioIndicator?: StaticallyComposableHTML<MenuItem>;
16
+ };
17
+ /**
18
+ * A Switch Custom HTML Element.
19
+ * Implements {@link https://www.w3.org/TR/wai-aria-1.1/#menuitem | ARIA menuitem }, {@link https://www.w3.org/TR/wai-aria-1.1/#menuitemcheckbox | ARIA menuitemcheckbox}, or {@link https://www.w3.org/TR/wai-aria-1.1/#menuitemradio | ARIA menuitemradio }.
20
+ *
21
+ * @slot checked-indicator - The checked indicator
22
+ * @slot radio-indicator - The radio indicator
23
+ * @slot start - Content which can be provided before the menu item content
24
+ * @slot end - Content which can be provided after the menu item content
25
+ * @slot - The default slot for menu item content
26
+ * @slot expand-collapse-indicator - The expand/collapse indicator
27
+ * @slot submenu - Used to nest menu's within menu items
28
+ * @csspart input-container - The element representing the visual checked or radio indicator
29
+ * @csspart checkbox - The element wrapping the `menuitemcheckbox` indicator
30
+ * @csspart radio - The element wrapping the `menuitemradio` indicator
31
+ * @csspart content - The element wrapping the menu item content
32
+ * @csspart expand-collapse-glyph-container - The element wrapping the expand collapse element
33
+ * @csspart expand-collapse - The expand/collapse element
34
+ * @csspart submenu-region - The container for the submenu, used for positioning
35
+ * @fires expanded-change - Fires a custom 'expanded-change' event when the expanded state changes
36
+ * @fires change - Fires a custom 'change' event when a non-submenu item with a role of `menuitemcheckbox`, `menuitemradio`, or `menuitem` is invoked
37
+ *
38
+ * @public
39
+ */
40
+ export declare class MenuItem extends FASTElement {
41
+ /**
42
+ * The disabled state of the element.
43
+ *
44
+ * @public
45
+ * @remarks
46
+ * HTML Attribute: disabled
47
+ */
48
+ disabled: boolean;
49
+ /**
50
+ * The expanded state of the element.
51
+ *
52
+ * @public
53
+ * @remarks
54
+ * HTML Attribute: expanded
55
+ */
56
+ expanded: boolean;
57
+ protected expandedChanged(prev: boolean | undefined, next: boolean): void;
58
+ /**
59
+ * The role of the element.
60
+ *
61
+ * @public
62
+ * @remarks
63
+ * HTML Attribute: role
64
+ */
65
+ role: MenuItemRole;
66
+ /**
67
+ * Cleanup function for the submenu positioner.
68
+ *
69
+ * @public
70
+ */
71
+ cleanup: () => void;
72
+ /**
73
+ * The checked value of the element.
74
+ *
75
+ * @public
76
+ * @remarks
77
+ * HTML Attribute: checked
78
+ */
79
+ checked: boolean;
80
+ protected checkedChanged(oldValue: boolean, newValue: boolean): void;
81
+ /**
82
+ * The hidden attribute.
83
+ *
84
+ * @public
85
+ * @remarks
86
+ * HTML Attribute: hidden
87
+ */
88
+ hidden: boolean;
89
+ /**
90
+ * The submenu slotted content.
91
+ *
92
+ * @internal
93
+ */
94
+ slottedSubmenu: HTMLElement[];
95
+ /**
96
+ * @internal
97
+ */
98
+ get hasSubmenu(): boolean;
99
+ /**
100
+ * Sets the submenu and updates its position.
101
+ *
102
+ * @internal
103
+ */
104
+ protected slottedSubmenuChanged(prev: HTMLElement[] | undefined, next: HTMLElement[]): void;
105
+ /**
106
+ * The container for the submenu.
107
+ *
108
+ * @internal
109
+ */
110
+ submenuContainer: HTMLDivElement;
111
+ /**
112
+ * @internal
113
+ */
114
+ submenu: HTMLElement | undefined;
115
+ private focusSubmenuOnLoad;
116
+ /**
117
+ * @internal
118
+ */
119
+ disconnectedCallback(): void;
120
+ /**
121
+ * @internal
122
+ */
123
+ handleMenuItemKeyDown: (e: KeyboardEvent) => boolean;
124
+ /**
125
+ * @internal
126
+ */
127
+ handleMenuItemClick: (e: MouseEvent) => boolean;
128
+ /**
129
+ * @internal
130
+ */
131
+ submenuLoaded: () => void;
132
+ /**
133
+ * @internal
134
+ */
135
+ handleMouseOver: (e: MouseEvent) => boolean;
136
+ /**
137
+ * @internal
138
+ */
139
+ handleMouseOut: (e: MouseEvent) => boolean;
140
+ /**
141
+ * @internal
142
+ */
143
+ private closeSubMenu;
144
+ /**
145
+ * @internal
146
+ */
147
+ private expandAndFocus;
148
+ /**
149
+ * @internal
150
+ */
151
+ private invoke;
152
+ /**
153
+ * Calculate and apply submenu positioning.
154
+ *
155
+ * @public
156
+ */
157
+ updateSubmenu(): void;
158
+ }
159
+ /**
160
+ * Mark internal because exporting class and interface of the same name
161
+ * confuses API documenter.
162
+ * TODO: https://github.com/microsoft/fast/issues/3317
163
+ * @internal
164
+ */
165
+ export interface MenuItem extends StartEnd {
9
166
  }