@fluentui/web-components 3.0.0-beta.2 → 3.0.0-beta.21

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 (515) hide show
  1. package/CHANGELOG.md +339 -103
  2. package/README.md +46 -15
  3. package/dist/dts/accordion/accordion.d.ts +47 -3
  4. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  5. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  6. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  7. package/dist/dts/accordion/index.d.ts +2 -1
  8. package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
  9. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  10. package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
  11. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  12. package/dist/dts/accordion-item/index.d.ts +2 -2
  13. package/dist/dts/anchor-button/anchor-button.d.ts +116 -4
  14. package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
  15. package/dist/dts/anchor-button/anchor-button.options.d.ts +19 -2
  16. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
  17. package/dist/dts/anchor-button/index.d.ts +2 -2
  18. package/dist/dts/avatar/avatar.options.d.ts +1 -1
  19. package/dist/dts/avatar/index.d.ts +2 -2
  20. package/dist/dts/badge/badge.d.ts +1 -1
  21. package/dist/dts/badge/badge.definition.d.ts +0 -3
  22. package/dist/dts/badge/badge.options.d.ts +2 -2
  23. package/dist/dts/badge/index.d.ts +2 -2
  24. package/dist/dts/button/button.d.ts +243 -22
  25. package/dist/dts/button/button.definition.d.ts +2 -3
  26. package/dist/dts/button/button.options.d.ts +39 -3
  27. package/dist/dts/button/button.styles.d.ts +5 -0
  28. package/dist/dts/button/button.template.d.ts +8 -0
  29. package/dist/dts/button/index.d.ts +2 -2
  30. package/dist/dts/checkbox/checkbox.d.ts +46 -3
  31. package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
  32. package/dist/dts/checkbox/checkbox.options.d.ts +1 -1
  33. package/dist/dts/checkbox/checkbox.template.d.ts +6 -1
  34. package/dist/dts/checkbox/index.d.ts +2 -2
  35. package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
  36. package/dist/dts/compound-button/compound-button.options.d.ts +6 -6
  37. package/dist/dts/compound-button/index.d.ts +2 -2
  38. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  39. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  40. package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
  41. package/dist/dts/counter-badge/index.d.ts +2 -2
  42. package/dist/dts/dialog/define.d.ts +1 -0
  43. package/dist/dts/dialog/dialog.d.ts +192 -0
  44. package/dist/dts/dialog/dialog.definition.d.ts +9 -0
  45. package/dist/dts/dialog/dialog.options.d.ts +11 -0
  46. package/dist/dts/dialog/dialog.styles.d.ts +4 -0
  47. package/dist/dts/dialog/dialog.template.d.ts +7 -0
  48. package/dist/dts/dialog/index.d.ts +5 -0
  49. package/dist/dts/divider/divider.d.ts +20 -4
  50. package/dist/dts/divider/divider.options.d.ts +30 -6
  51. package/dist/dts/divider/divider.template.d.ts +1 -0
  52. package/dist/dts/divider/index.d.ts +2 -2
  53. package/dist/dts/form-associated/form-associated.d.ts +104 -0
  54. package/dist/dts/image/image.options.d.ts +1 -1
  55. package/dist/dts/image/index.d.ts +2 -2
  56. package/dist/dts/index-rollup.d.ts +35 -1
  57. package/dist/dts/index.d.ts +36 -29
  58. package/dist/dts/label/index.d.ts +2 -1
  59. package/dist/dts/label/label.options.d.ts +1 -1
  60. package/dist/dts/menu/define.d.ts +1 -0
  61. package/dist/dts/menu/index.d.ts +4 -0
  62. package/dist/dts/menu/menu.d.ts +194 -0
  63. package/dist/dts/menu/menu.definition.d.ts +9 -0
  64. package/dist/dts/menu/menu.styles.d.ts +4 -0
  65. package/dist/dts/menu/menu.template.d.ts +4 -0
  66. package/dist/dts/menu-button/index.d.ts +2 -2
  67. package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
  68. package/dist/dts/menu-button/menu-button.options.d.ts +2 -2
  69. package/dist/dts/menu-item/index.d.ts +2 -1
  70. package/dist/dts/menu-item/menu-item.d.ts +161 -4
  71. package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
  72. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  73. package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
  74. package/dist/dts/menu-list/index.d.ts +1 -1
  75. package/dist/dts/menu-list/menu-list.d.ts +71 -4
  76. package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
  77. package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
  78. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  79. package/dist/dts/patterns/index.d.ts +2 -0
  80. package/dist/dts/patterns/start-end.d.ts +44 -0
  81. package/dist/dts/progress-bar/base-progress.d.ts +41 -0
  82. package/dist/dts/progress-bar/index.d.ts +2 -2
  83. package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
  84. package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
  85. package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
  86. package/dist/dts/radio/index.d.ts +1 -1
  87. package/dist/dts/radio/radio.d.ts +54 -3
  88. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  89. package/dist/dts/radio/radio.template.d.ts +2 -1
  90. package/dist/dts/radio-group/index.d.ts +2 -2
  91. package/dist/dts/radio-group/radio-group.d.ts +91 -2
  92. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  93. package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
  94. package/dist/dts/slider/index.d.ts +2 -2
  95. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  96. package/dist/dts/slider/slider.d.ts +195 -5
  97. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  98. package/dist/dts/slider/slider.options.d.ts +43 -2
  99. package/dist/dts/slider/slider.template.d.ts +4 -2
  100. package/dist/dts/spinner/index.d.ts +2 -2
  101. package/dist/dts/spinner/spinner.d.ts +9 -2
  102. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  103. package/dist/dts/spinner/spinner.options.d.ts +1 -1
  104. package/dist/dts/spinner/spinner.template.d.ts +1 -2
  105. package/dist/dts/styles/partials/index.d.ts +1 -0
  106. package/dist/dts/styles/partials/typography.partials.d.ts +18 -0
  107. package/dist/dts/switch/index.d.ts +2 -2
  108. package/dist/dts/switch/switch.d.ts +34 -2
  109. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  110. package/dist/dts/switch/switch.options.d.ts +1 -1
  111. package/dist/dts/switch/switch.template.d.ts +2 -1
  112. package/dist/dts/tab/index.d.ts +1 -1
  113. package/dist/dts/tab/tab.d.ts +17 -2
  114. package/dist/dts/tab/tab.template.d.ts +3 -3
  115. package/dist/dts/tab-panel/index.d.ts +1 -1
  116. package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
  117. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
  118. package/dist/dts/tabs/index.d.ts +2 -2
  119. package/dist/dts/tabs/tabs.d.ts +89 -4
  120. package/dist/dts/tabs/tabs.options.d.ts +21 -3
  121. package/dist/dts/tabs/tabs.template.d.ts +5 -1
  122. package/dist/dts/text/index.d.ts +2 -2
  123. package/dist/dts/text/text.options.d.ts +1 -1
  124. package/dist/dts/text-input/index.d.ts +5 -5
  125. package/dist/dts/text-input/text-input.d.ts +355 -10
  126. package/dist/dts/text-input/text-input.definition.d.ts +2 -3
  127. package/dist/dts/text-input/text-input.options.d.ts +30 -9
  128. package/dist/dts/text-input/text-input.styles.d.ts +5 -2
  129. package/dist/dts/text-input/text-input.template.d.ts +8 -1
  130. package/dist/dts/theme/design-tokens.d.ts +436 -384
  131. package/dist/dts/theme/set-theme.d.ts +1 -2
  132. package/dist/dts/toggle-button/index.d.ts +2 -2
  133. package/dist/dts/toggle-button/toggle-button.d.ts +29 -26
  134. package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
  135. package/dist/dts/toggle-button/toggle-button.options.d.ts +2 -2
  136. package/dist/dts/toggle-button/toggle-button.styles.d.ts +7 -0
  137. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  138. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  139. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  140. package/dist/dts/utils/direction.d.ts +10 -0
  141. package/dist/dts/utils/display.d.ts +17 -0
  142. package/dist/dts/utils/index.d.ts +6 -0
  143. package/dist/dts/utils/template-helpers.d.ts +16 -0
  144. package/dist/dts/utils/typings.d.ts +6 -0
  145. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  146. package/dist/esm/accordion/accordion.definition.js +0 -4
  147. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  148. package/dist/esm/accordion/accordion.js +211 -3
  149. package/dist/esm/accordion/accordion.js.map +1 -1
  150. package/dist/esm/accordion/accordion.options.js +9 -0
  151. package/dist/esm/accordion/accordion.options.js.map +1 -0
  152. package/dist/esm/accordion/accordion.styles.js +1 -1
  153. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  154. package/dist/esm/accordion/accordion.template.js +11 -1
  155. package/dist/esm/accordion/accordion.template.js.map +1 -1
  156. package/dist/esm/accordion/index.js +2 -1
  157. package/dist/esm/accordion/index.js.map +1 -1
  158. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  159. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  160. package/dist/esm/accordion-item/accordion-item.js +81 -10
  161. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  162. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  163. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  164. package/dist/esm/accordion-item/accordion-item.template.js +47 -2
  165. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  166. package/dist/esm/accordion-item/index.js +2 -2
  167. package/dist/esm/accordion-item/index.js.map +1 -1
  168. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  169. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  170. package/dist/esm/anchor-button/anchor-button.js +53 -10
  171. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  172. package/dist/esm/anchor-button/anchor-button.options.js +11 -0
  173. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  174. package/dist/esm/anchor-button/anchor-button.styles.js +255 -3
  175. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  176. package/dist/esm/anchor-button/anchor-button.template.js +49 -1
  177. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  178. package/dist/esm/anchor-button/index.js +2 -2
  179. package/dist/esm/anchor-button/index.js.map +1 -1
  180. package/dist/esm/avatar/avatar.js +1 -6
  181. package/dist/esm/avatar/avatar.js.map +1 -1
  182. package/dist/esm/avatar/avatar.styles.js +5 -5
  183. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  184. package/dist/esm/avatar/index.js +2 -2
  185. package/dist/esm/avatar/index.js.map +1 -1
  186. package/dist/esm/badge/badge.definition.js +0 -3
  187. package/dist/esm/badge/badge.definition.js.map +1 -1
  188. package/dist/esm/badge/badge.js +2 -7
  189. package/dist/esm/badge/badge.js.map +1 -1
  190. package/dist/esm/badge/badge.styles.js +8 -1
  191. package/dist/esm/badge/badge.styles.js.map +1 -1
  192. package/dist/esm/badge/badge.template.js +2 -2
  193. package/dist/esm/badge/badge.template.js.map +1 -1
  194. package/dist/esm/badge/index.js +2 -2
  195. package/dist/esm/badge/index.js.map +1 -1
  196. package/dist/esm/button/button.definition.js +2 -6
  197. package/dist/esm/button/button.definition.js.map +1 -1
  198. package/dist/esm/button/button.js +263 -41
  199. package/dist/esm/button/button.js.map +1 -1
  200. package/dist/esm/button/button.options.js +20 -0
  201. package/dist/esm/button/button.options.js.map +1 -1
  202. package/dist/esm/button/button.styles.js +54 -56
  203. package/dist/esm/button/button.styles.js.map +1 -1
  204. package/dist/esm/button/button.template.js +23 -1
  205. package/dist/esm/button/button.template.js.map +1 -1
  206. package/dist/esm/button/index.js +2 -2
  207. package/dist/esm/button/index.js.map +1 -1
  208. package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
  209. package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
  210. package/dist/esm/checkbox/checkbox.js +63 -10
  211. package/dist/esm/checkbox/checkbox.js.map +1 -1
  212. package/dist/esm/checkbox/checkbox.styles.js +1 -1
  213. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  214. package/dist/esm/checkbox/checkbox.template.js +35 -7
  215. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  216. package/dist/esm/checkbox/index.js +2 -2
  217. package/dist/esm/checkbox/index.js.map +1 -1
  218. package/dist/esm/compound-button/compound-button.definition.js +0 -6
  219. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  220. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  221. package/dist/esm/compound-button/compound-button.styles.js +7 -7
  222. package/dist/esm/compound-button/compound-button.template.js +4 -40
  223. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  224. package/dist/esm/compound-button/index.js +2 -2
  225. package/dist/esm/compound-button/index.js.map +1 -1
  226. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  227. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  228. package/dist/esm/counter-badge/counter-badge.js +2 -7
  229. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  230. package/dist/esm/counter-badge/index.js +2 -2
  231. package/dist/esm/counter-badge/index.js.map +1 -1
  232. package/dist/esm/dialog/define.js +4 -0
  233. package/dist/esm/dialog/define.js.map +1 -0
  234. package/dist/esm/dialog/dialog.definition.js +17 -0
  235. package/dist/esm/dialog/dialog.definition.js.map +1 -0
  236. package/dist/esm/dialog/dialog.js +365 -0
  237. package/dist/esm/dialog/dialog.js.map +1 -0
  238. package/dist/esm/dialog/dialog.options.js +10 -0
  239. package/dist/esm/dialog/dialog.options.js.map +1 -0
  240. package/dist/esm/dialog/dialog.styles.js +102 -0
  241. package/dist/esm/dialog/dialog.styles.js.map +1 -0
  242. package/dist/esm/dialog/dialog.template.js +61 -0
  243. package/dist/esm/dialog/dialog.template.js.map +1 -0
  244. package/dist/esm/dialog/index.js +6 -0
  245. package/dist/esm/dialog/index.js.map +1 -0
  246. package/dist/esm/divider/divider.js +30 -10
  247. package/dist/esm/divider/divider.js.map +1 -1
  248. package/dist/esm/divider/divider.options.js +14 -5
  249. package/dist/esm/divider/divider.options.js.map +1 -1
  250. package/dist/esm/divider/divider.styles.js +1 -1
  251. package/dist/esm/divider/divider.styles.js.map +1 -1
  252. package/dist/esm/divider/divider.template.js +12 -1
  253. package/dist/esm/divider/divider.template.js.map +1 -1
  254. package/dist/esm/divider/index.js +2 -2
  255. package/dist/esm/divider/index.js.map +1 -1
  256. package/dist/esm/form-associated/form-associated.js +458 -0
  257. package/dist/esm/form-associated/form-associated.js.map +1 -0
  258. package/dist/esm/image/image.js +1 -6
  259. package/dist/esm/image/image.js.map +1 -1
  260. package/dist/esm/image/index.js +2 -2
  261. package/dist/esm/image/index.js.map +1 -1
  262. package/dist/esm/index-rollup.js +35 -1
  263. package/dist/esm/index-rollup.js.map +1 -1
  264. package/dist/esm/index.js +36 -29
  265. package/dist/esm/index.js.map +1 -1
  266. package/dist/esm/label/index.js +2 -1
  267. package/dist/esm/label/index.js.map +1 -1
  268. package/dist/esm/label/label.js +1 -6
  269. package/dist/esm/label/label.js.map +1 -1
  270. package/dist/esm/label/label.styles.js +1 -1
  271. package/dist/esm/label/label.styles.js.map +1 -1
  272. package/dist/esm/menu/define.js +4 -0
  273. package/dist/esm/menu/define.js.map +1 -0
  274. package/dist/esm/menu/index.js +5 -0
  275. package/dist/esm/menu/index.js.map +1 -0
  276. package/dist/esm/menu/menu.definition.js +17 -0
  277. package/dist/esm/menu/menu.definition.js.map +1 -0
  278. package/dist/esm/menu/menu.js +408 -0
  279. package/dist/esm/menu/menu.js.map +1 -0
  280. package/dist/esm/menu/menu.styles.js +17 -0
  281. package/dist/esm/menu/menu.styles.js.map +1 -0
  282. package/dist/esm/menu/menu.template.js +24 -0
  283. package/dist/esm/menu/menu.template.js.map +1 -0
  284. package/dist/esm/menu-button/index.js +2 -2
  285. package/dist/esm/menu-button/index.js.map +1 -1
  286. package/dist/esm/menu-button/menu-button.definition.js +0 -6
  287. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  288. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  289. package/dist/esm/menu-button/menu-button.template.js +6 -2
  290. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  291. package/dist/esm/menu-item/index.js +2 -1
  292. package/dist/esm/menu-item/index.js.map +1 -1
  293. package/dist/esm/menu-item/menu-item.definition.js +0 -4
  294. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  295. package/dist/esm/menu-item/menu-item.js +265 -4
  296. package/dist/esm/menu-item/menu-item.js.map +1 -1
  297. package/dist/esm/menu-item/menu-item.options.js +27 -0
  298. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  299. package/dist/esm/menu-item/menu-item.styles.js +1 -1
  300. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  301. package/dist/esm/menu-item/menu-item.template.js +57 -2
  302. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  303. package/dist/esm/menu-list/index.js +1 -1
  304. package/dist/esm/menu-list/index.js.map +1 -1
  305. package/dist/esm/menu-list/menu-list.definition.js +0 -4
  306. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  307. package/dist/esm/menu-list/menu-list.js +260 -10
  308. package/dist/esm/menu-list/menu-list.js.map +1 -1
  309. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  310. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  311. package/dist/esm/menu-list/menu-list.template.js +13 -1
  312. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  313. package/dist/esm/patterns/aria-globals.js +72 -0
  314. package/dist/esm/patterns/aria-globals.js.map +1 -0
  315. package/dist/esm/patterns/index.js +3 -0
  316. package/dist/esm/patterns/index.js.map +1 -0
  317. package/dist/esm/patterns/start-end.js +29 -0
  318. package/dist/esm/patterns/start-end.js.map +1 -0
  319. package/dist/esm/progress-bar/base-progress.js +56 -0
  320. package/dist/esm/progress-bar/base-progress.js.map +1 -0
  321. package/dist/esm/progress-bar/index.js +2 -2
  322. package/dist/esm/progress-bar/index.js.map +1 -1
  323. package/dist/esm/progress-bar/progress-bar.js +11 -9
  324. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  325. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  326. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  327. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  328. package/dist/esm/progress-bar/progress-bar.template.js +25 -1
  329. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  330. package/dist/esm/radio/index.js +1 -1
  331. package/dist/esm/radio/index.js.map +1 -1
  332. package/dist/esm/radio/radio.form-associated.js +14 -0
  333. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  334. package/dist/esm/radio/radio.js +91 -3
  335. package/dist/esm/radio/radio.js.map +1 -1
  336. package/dist/esm/radio/radio.styles.js +1 -1
  337. package/dist/esm/radio/radio.styles.js.map +1 -1
  338. package/dist/esm/radio/radio.template.js +28 -2
  339. package/dist/esm/radio/radio.template.js.map +1 -1
  340. package/dist/esm/radio-group/index.js +2 -2
  341. package/dist/esm/radio-group/index.js.map +1 -1
  342. package/dist/esm/radio-group/radio-group.js +347 -9
  343. package/dist/esm/radio-group/radio-group.js.map +1 -1
  344. package/dist/esm/radio-group/radio-group.options.js +7 -0
  345. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  346. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  347. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  348. package/dist/esm/radio-group/radio-group.template.js +30 -1
  349. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  350. package/dist/esm/slider/index.js +2 -2
  351. package/dist/esm/slider/index.js.map +1 -1
  352. package/dist/esm/slider/slider-utilities.js +12 -0
  353. package/dist/esm/slider/slider-utilities.js.map +1 -0
  354. package/dist/esm/slider/slider.form-associated.js +14 -0
  355. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  356. package/dist/esm/slider/slider.js +433 -22
  357. package/dist/esm/slider/slider.js.map +1 -1
  358. package/dist/esm/slider/slider.options.js +11 -1
  359. package/dist/esm/slider/slider.options.js.map +1 -1
  360. package/dist/esm/slider/slider.styles.js +1 -1
  361. package/dist/esm/slider/slider.styles.js.map +1 -1
  362. package/dist/esm/slider/slider.template.js +38 -1
  363. package/dist/esm/slider/slider.template.js.map +1 -1
  364. package/dist/esm/spinner/index.js +2 -2
  365. package/dist/esm/spinner/index.js.map +1 -1
  366. package/dist/esm/spinner/spinner.definition.js +0 -4
  367. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  368. package/dist/esm/spinner/spinner.js +13 -9
  369. package/dist/esm/spinner/spinner.js.map +1 -1
  370. package/dist/esm/spinner/spinner.styles.js +3 -17
  371. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  372. package/dist/esm/spinner/spinner.template.js +8 -21
  373. package/dist/esm/spinner/spinner.template.js.map +1 -1
  374. package/dist/esm/styles/partials/badge.partials.js +1 -1
  375. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  376. package/dist/esm/styles/partials/index.js +1 -0
  377. package/dist/esm/styles/partials/index.js.map +1 -1
  378. package/dist/esm/styles/partials/typography.partials.js +105 -0
  379. package/dist/esm/styles/partials/typography.partials.js.map +1 -0
  380. package/dist/esm/switch/index.js +2 -2
  381. package/dist/esm/switch/index.js.map +1 -1
  382. package/dist/esm/switch/switch.form-associated.js +14 -0
  383. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  384. package/dist/esm/switch/switch.js +49 -9
  385. package/dist/esm/switch/switch.js.map +1 -1
  386. package/dist/esm/switch/switch.styles.js +4 -3
  387. package/dist/esm/switch/switch.styles.js.map +1 -1
  388. package/dist/esm/switch/switch.template.js +25 -1
  389. package/dist/esm/switch/switch.template.js.map +1 -1
  390. package/dist/esm/tab/index.js +1 -1
  391. package/dist/esm/tab/index.js.map +1 -1
  392. package/dist/esm/tab/tab.js +9 -3
  393. package/dist/esm/tab/tab.js.map +1 -1
  394. package/dist/esm/tab/tab.styles.js +1 -1
  395. package/dist/esm/tab/tab.styles.js.map +1 -1
  396. package/dist/esm/tab/tab.template.js +1 -1
  397. package/dist/esm/tab/tab.template.js.map +1 -1
  398. package/dist/esm/tab-panel/index.js +1 -1
  399. package/dist/esm/tab-panel/index.js.map +1 -1
  400. package/dist/esm/tab-panel/tab-panel.js +2 -2
  401. package/dist/esm/tab-panel/tab-panel.js.map +1 -1
  402. package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
  403. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  404. package/dist/esm/tab-panel/tab-panel.template.js +8 -1
  405. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  406. package/dist/esm/tabs/index.js +2 -2
  407. package/dist/esm/tabs/index.js.map +1 -1
  408. package/dist/esm/tabs/tabs.js +279 -11
  409. package/dist/esm/tabs/tabs.js.map +1 -1
  410. package/dist/esm/tabs/tabs.options.js +6 -2
  411. package/dist/esm/tabs/tabs.options.js.map +1 -1
  412. package/dist/esm/tabs/tabs.styles.js +1 -1
  413. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  414. package/dist/esm/tabs/tabs.template.js +14 -1
  415. package/dist/esm/tabs/tabs.template.js.map +1 -1
  416. package/dist/esm/text/index.js +2 -2
  417. package/dist/esm/text/index.js.map +1 -1
  418. package/dist/esm/text/text.js +1 -6
  419. package/dist/esm/text/text.js.map +1 -1
  420. package/dist/esm/text/text.styles.js +1 -1
  421. package/dist/esm/text/text.styles.js.map +1 -1
  422. package/dist/esm/text-input/index.js +4 -5
  423. package/dist/esm/text-input/index.js.map +1 -1
  424. package/dist/esm/text-input/text-input.definition.js +2 -3
  425. package/dist/esm/text-input/text-input.definition.js.map +1 -1
  426. package/dist/esm/text-input/text-input.js +340 -11
  427. package/dist/esm/text-input/text-input.js.map +1 -1
  428. package/dist/esm/text-input/text-input.options.js +35 -2
  429. package/dist/esm/text-input/text-input.options.js.map +1 -1
  430. package/dist/esm/text-input/text-input.styles.js +8 -3
  431. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  432. package/dist/esm/text-input/text-input.template.js +49 -2
  433. package/dist/esm/text-input/text-input.template.js.map +1 -1
  434. package/dist/esm/theme/design-tokens.js +437 -386
  435. package/dist/esm/theme/design-tokens.js.map +1 -1
  436. package/dist/esm/theme/set-theme.js +2 -2
  437. package/dist/esm/theme/set-theme.js.map +1 -1
  438. package/dist/esm/toggle-button/index.js +2 -2
  439. package/dist/esm/toggle-button/index.js.map +1 -1
  440. package/dist/esm/toggle-button/toggle-button.definition.js +0 -5
  441. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  442. package/dist/esm/toggle-button/toggle-button.js +43 -91
  443. package/dist/esm/toggle-button/toggle-button.js.map +1 -1
  444. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  445. package/dist/esm/toggle-button/toggle-button.styles.js +31 -26
  446. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  447. package/dist/esm/toggle-button/toggle-button.template.js +1 -1
  448. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
  449. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  450. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  451. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  452. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  453. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  454. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  455. package/dist/esm/utils/direction.js +15 -0
  456. package/dist/esm/utils/direction.js.map +1 -0
  457. package/dist/esm/utils/display.js +15 -0
  458. package/dist/esm/utils/display.js.map +1 -0
  459. package/dist/esm/utils/get-initials.js.map +1 -1
  460. package/dist/esm/utils/index.js +7 -0
  461. package/dist/esm/utils/index.js.map +1 -0
  462. package/dist/esm/utils/template-helpers.js +19 -0
  463. package/dist/esm/utils/template-helpers.js.map +1 -0
  464. package/dist/esm/utils/typings.js +3 -0
  465. package/dist/esm/utils/typings.js.map +1 -0
  466. package/dist/esm/utils/whitespace-filter.js +13 -0
  467. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  468. package/dist/fluent-web-components.api.json +19072 -7994
  469. package/dist/web-components.d.ts +4130 -1264
  470. package/dist/web-components.js +3675 -3856
  471. package/dist/web-components.min.js +340 -190
  472. package/docs/api-report.md +1352 -527
  473. package/package.json +20 -11
  474. package/playwright.config.ts +2 -3
  475. package/project.json +6 -0
  476. package/tensile.config.js +22 -0
  477. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
  478. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
  479. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
  480. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
  481. package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
  482. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
  483. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
  484. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
  485. package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
  486. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
  487. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
  488. package/dist/storybook/651.e36cf1e8.iframe.bundle.js +0 -462
  489. package/dist/storybook/651.e36cf1e8.iframe.bundle.js.LICENSE.txt +0 -46
  490. package/dist/storybook/651.e36cf1e8.iframe.bundle.js.map +0 -1
  491. package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
  492. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
  493. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
  494. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
  495. package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
  496. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
  497. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
  498. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
  499. package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
  500. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
  501. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
  502. package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
  503. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
  504. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  505. package/dist/storybook/favicon.ico +0 -0
  506. package/dist/storybook/favicon.png +0 -0
  507. package/dist/storybook/iframe.html +0 -364
  508. package/dist/storybook/index.html +0 -165
  509. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
  510. package/dist/storybook/main.696937e6.iframe.bundle.js +0 -1
  511. package/dist/storybook/project.json +0 -1
  512. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
  513. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
  514. package/dist/storybook/shell.css +0 -83
  515. package/dist/storybook/theme-switch.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.template.js","sourceRoot":"","sources":["../../../src/menu/menu.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG5F,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAG;;wBAEQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;0BAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;0BACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;gCACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB;kBACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAsB,CAAC;;6BAE5C,OAAO,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;UAE/E,GAAG,CAAC,sBAAsB,CAAC;;;mBAGlB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;;gBAEf,OAAO,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;;GAGzE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAA8B,YAAY,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- export * from './menu-button.js';
2
- export * from './menu-button.options.js';
1
+ export { MenuButton } from './menu-button.js';
2
+ export { MenuButtonAppearance, MenuButtonShape, MenuButtonSize } from './menu-button.options.js';
3
3
  export { template as MenuButtonTemplate } from './menu-button.template.js';
4
4
  export { styles as MenuButtonStyles } from '../button/button.styles.js';
5
5
  export { definition as MenuButtonDefinition } from './menu-button.definition.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -3,9 +3,6 @@ import { styles } from '../button/button.styles.js';
3
3
  import { MenuButton } from './menu-button.js';
4
4
  import { template } from './menu-button.template.js';
5
5
  /**
6
- * The Fluent Menu Button Element. Implements {@link @microsoft/fast-foundation#Button },
7
- * {@link @microsoft/fast-foundation#buttonTemplate}
8
- *
9
6
  * @public
10
7
  * @remarks
11
8
  * HTML Element: \<fluent-button\>
@@ -14,8 +11,5 @@ export const definition = MenuButton.compose({
14
11
  name: `${FluentDesignSystem.prefix}-menu-button`,
15
12
  template,
16
13
  styles,
17
- shadowOptions: {
18
- delegatesFocus: true,
19
- },
20
14
  });
21
15
  //# sourceMappingURL=menu-button.definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.definition.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,cAAc;IAChD,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-button.definition.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,cAAc;IAChD,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.options.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAQrD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAQ3C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"menu-button.options.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGxF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAQrD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAQ3C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC"}
@@ -1,10 +1,14 @@
1
1
  import { html } from '@microsoft/fast-element';
2
- import { buttonTemplate } from '@microsoft/fast-foundation/button.js';
2
+ import { buttonTemplate } from '../button/button.template.js';
3
3
  /**
4
4
  * The template for the Button component.
5
5
  * @public
6
6
  */
7
7
  export const template = buttonTemplate({
8
- end: html.partial(`<svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path></svg>`),
8
+ end: html.partial(/* html */ `
9
+ <svg slot="end" fill="currentColor" aria-hidden="true" width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
10
+ <path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z" fill="currentColor"></path>
11
+ </svg>
12
+ `),
9
13
  });
10
14
  //# sourceMappingURL=menu-button.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-button.template.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAoC,cAAc,CAAa;IAClF,GAAG,EAAE,IAAI,CAAC,OAAO,CACf,ySAAyS,CAC1S;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-button.template.js","sourceRoot":"","sources":["../../../src/menu-button/menu-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAoC,cAAc,CAAa;IAClF,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;;;;GAI5B,CAAC;CACH,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- export * from './menu-item.js';
1
+ export { MenuItem } from './menu-item.js';
2
+ export { MenuItemRole, roleForMenuItem } from './menu-item.options.js';
2
3
  export { template as MenuItemTemplate } from './menu-item.template.js';
3
4
  export { styles as MenuItemStyles } from './menu-item.styles.js';
4
5
  export { definition as MenuItemDefinition } from './menu-item.definition.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-item/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -3,10 +3,6 @@ import { MenuItem } from './menu-item.js';
3
3
  import { styles } from './menu-item.styles.js';
4
4
  import { template } from './menu-item.template.js';
5
5
  /**
6
- * The Fluent Menu Item Element. Implements {@link @microsoft/fast-foundation#MenuItem },
7
- * {@link @microsoft/fast-foundation#menuItemTemplate}
8
- *
9
- *
10
6
  * @public
11
7
  * @remarks
12
8
  * HTML Element: <fluent-menu-item>
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.definition.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-item.definition.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -1,9 +1,270 @@
1
- import { FASTMenuItem, MenuItemRole } from '@microsoft/fast-foundation/menu-item.js';
2
- export { MenuItemRole };
1
+ import { __decorate } from "tslib";
2
+ import { autoUpdate, computePosition, flip, shift, size } from '@floating-ui/dom';
3
+ import { attr, FASTElement, observable, Updates } from '@microsoft/fast-element';
4
+ import { keyArrowLeft, keyArrowRight, keyEnter, keyEscape, keySpace } from '@microsoft/fast-web-utilities';
5
+ import { StartEnd } from '../patterns/start-end.js';
6
+ import { applyMixins } from '../utils/apply-mixins.js';
7
+ import { MenuItemRole, roleForMenuItem } from './menu-item.options.js';
8
+ export { MenuItemRole, roleForMenuItem };
3
9
  /**
4
- * The base class used for constructing a fluent-menu-item custom element
10
+ * A Switch Custom HTML Element.
11
+ * 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 }.
12
+ *
13
+ * @slot checked-indicator - The checked indicator
14
+ * @slot radio-indicator - The radio indicator
15
+ * @slot start - Content which can be provided before the menu item content
16
+ * @slot end - Content which can be provided after the menu item content
17
+ * @slot - The default slot for menu item content
18
+ * @slot expand-collapse-indicator - The expand/collapse indicator
19
+ * @slot submenu - Used to nest menu's within menu items
20
+ * @csspart input-container - The element representing the visual checked or radio indicator
21
+ * @csspart checkbox - The element wrapping the `menuitemcheckbox` indicator
22
+ * @csspart radio - The element wrapping the `menuitemradio` indicator
23
+ * @csspart content - The element wrapping the menu item content
24
+ * @csspart expand-collapse-glyph-container - The element wrapping the expand collapse element
25
+ * @csspart expand-collapse - The expand/collapse element
26
+ * @csspart submenu-region - The container for the submenu, used for positioning
27
+ * @fires expanded-change - Fires a custom 'expanded-change' event when the expanded state changes
28
+ * @fires change - Fires a custom 'change' event when a non-submenu item with a role of `menuitemcheckbox`, `menuitemradio`, or `menuitem` is invoked
29
+ *
5
30
  * @public
6
31
  */
7
- export class MenuItem extends FASTMenuItem {
32
+ export class MenuItem extends FASTElement {
33
+ constructor() {
34
+ super(...arguments);
35
+ /**
36
+ * The role of the element.
37
+ *
38
+ * @public
39
+ * @remarks
40
+ * HTML Attribute: role
41
+ */
42
+ this.role = MenuItemRole.menuitem;
43
+ /**
44
+ * The checked value of the element.
45
+ *
46
+ * @public
47
+ * @remarks
48
+ * HTML Attribute: checked
49
+ */
50
+ this.checked = false;
51
+ this.focusSubmenuOnLoad = false;
52
+ /**
53
+ * @internal
54
+ */
55
+ this.handleMenuItemKeyDown = (e) => {
56
+ if (e.defaultPrevented) {
57
+ return false;
58
+ }
59
+ switch (e.key) {
60
+ case keyEnter:
61
+ case keySpace:
62
+ this.invoke();
63
+ return false;
64
+ case keyArrowRight:
65
+ //open/focus on submenu
66
+ this.expanded && this.submenu ? this.submenu.focus() : this.expandAndFocus();
67
+ return false;
68
+ case keyEscape:
69
+ // close submenu
70
+ if (this.expanded) {
71
+ this.closeSubMenu();
72
+ return false;
73
+ }
74
+ break;
75
+ case keyArrowLeft:
76
+ //close submenu
77
+ if (this.expanded) {
78
+ this.closeSubMenu();
79
+ return false;
80
+ }
81
+ }
82
+ return true;
83
+ };
84
+ /**
85
+ * @internal
86
+ */
87
+ this.handleMenuItemClick = (e) => {
88
+ if (e.defaultPrevented || this.disabled) {
89
+ return false;
90
+ }
91
+ this.invoke();
92
+ return false;
93
+ };
94
+ /**
95
+ * @internal
96
+ */
97
+ this.submenuLoaded = () => {
98
+ if (!this.focusSubmenuOnLoad) {
99
+ return;
100
+ }
101
+ this.focusSubmenuOnLoad = false;
102
+ if (this.submenu) {
103
+ this.submenu.focus();
104
+ this.setAttribute('tabindex', '-1');
105
+ }
106
+ };
107
+ /**
108
+ * @internal
109
+ */
110
+ this.handleMouseOver = (e) => {
111
+ if (this.disabled || !this.hasSubmenu || this.expanded) {
112
+ return false;
113
+ }
114
+ this.expanded = true;
115
+ return false;
116
+ };
117
+ /**
118
+ * @internal
119
+ */
120
+ this.handleMouseOut = (e) => {
121
+ if (!this.expanded || this.contains(document.activeElement)) {
122
+ return false;
123
+ }
124
+ this.expanded = false;
125
+ return false;
126
+ };
127
+ /**
128
+ * @internal
129
+ */
130
+ this.closeSubMenu = () => {
131
+ // close submenu
132
+ this.expanded = false;
133
+ this.focus();
134
+ };
135
+ /**
136
+ * @internal
137
+ */
138
+ this.expandAndFocus = () => {
139
+ if (!this.hasSubmenu) {
140
+ return;
141
+ }
142
+ this.focusSubmenuOnLoad = true;
143
+ this.expanded = true;
144
+ };
145
+ /**
146
+ * @internal
147
+ */
148
+ this.invoke = () => {
149
+ if (this.disabled) {
150
+ return;
151
+ }
152
+ switch (this.role) {
153
+ case MenuItemRole.menuitemcheckbox:
154
+ this.checked = !this.checked;
155
+ break;
156
+ case MenuItemRole.menuitem:
157
+ if (this.hasSubmenu) {
158
+ this.expandAndFocus();
159
+ break;
160
+ }
161
+ this.$emit('change');
162
+ break;
163
+ case MenuItemRole.menuitemradio:
164
+ if (!this.checked) {
165
+ this.checked = true;
166
+ }
167
+ break;
168
+ }
169
+ };
170
+ }
171
+ expandedChanged(prev, next) {
172
+ if (this.$fastController.isConnected) {
173
+ if (next && this.submenu) {
174
+ this.updateSubmenu();
175
+ }
176
+ this.$emit('expanded-change', this, { bubbles: false });
177
+ }
178
+ }
179
+ checkedChanged(oldValue, newValue) {
180
+ if (this.$fastController.isConnected) {
181
+ this.$emit('change');
182
+ }
183
+ }
184
+ /**
185
+ * @internal
186
+ */
187
+ get hasSubmenu() {
188
+ return !!this.submenu;
189
+ }
190
+ /**
191
+ * Sets the submenu and updates its position.
192
+ *
193
+ * @internal
194
+ */
195
+ slottedSubmenuChanged(prev, next) {
196
+ if (next.length) {
197
+ this.submenu = next[0];
198
+ this.updateSubmenu();
199
+ }
200
+ }
201
+ /**
202
+ * @internal
203
+ */
204
+ disconnectedCallback() {
205
+ var _a;
206
+ (_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
207
+ super.disconnectedCallback();
208
+ }
209
+ /**
210
+ * Calculate and apply submenu positioning.
211
+ *
212
+ * @public
213
+ */
214
+ updateSubmenu() {
215
+ var _a;
216
+ (_a = this.cleanup) === null || _a === void 0 ? void 0 : _a.call(this);
217
+ if (!this.submenu || !this.expanded) {
218
+ return;
219
+ }
220
+ Updates.enqueue(() => {
221
+ this.cleanup = autoUpdate(this, this.submenuContainer, async () => {
222
+ const fallbackPlacements = ['left-start', 'right-start'];
223
+ const { x, y } = await computePosition(this, this.submenuContainer, {
224
+ middleware: [
225
+ shift(),
226
+ size({
227
+ apply: ({ availableWidth, rects }) => {
228
+ if (availableWidth < rects.floating.width) {
229
+ fallbackPlacements.push('bottom-end', 'top-end');
230
+ }
231
+ },
232
+ }),
233
+ flip({ fallbackPlacements }),
234
+ ],
235
+ placement: 'right-start',
236
+ strategy: 'fixed',
237
+ });
238
+ Object.assign(this.submenuContainer.style, {
239
+ left: `${x}px`,
240
+ position: 'fixed',
241
+ top: `${y}px`,
242
+ });
243
+ this.submenuLoaded();
244
+ });
245
+ });
246
+ }
8
247
  }
248
+ __decorate([
249
+ attr({ mode: 'boolean' })
250
+ ], MenuItem.prototype, "disabled", void 0);
251
+ __decorate([
252
+ attr({ mode: 'boolean' })
253
+ ], MenuItem.prototype, "expanded", void 0);
254
+ __decorate([
255
+ attr
256
+ ], MenuItem.prototype, "role", void 0);
257
+ __decorate([
258
+ attr({ mode: 'boolean' })
259
+ ], MenuItem.prototype, "checked", void 0);
260
+ __decorate([
261
+ attr({ mode: 'boolean' })
262
+ ], MenuItem.prototype, "hidden", void 0);
263
+ __decorate([
264
+ observable
265
+ ], MenuItem.prototype, "slottedSubmenu", void 0);
266
+ __decorate([
267
+ observable
268
+ ], MenuItem.prototype, "submenu", void 0);
269
+ applyMixins(MenuItem, StartEnd);
9
270
  //# sourceMappingURL=menu-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAIrF,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;CAAG"}
1
+ {"version":3,"file":"menu-item.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Menu items roles.
3
+ * @public
4
+ */
5
+ export const MenuItemRole = {
6
+ /**
7
+ * The menu item has a "menuitem" role
8
+ */
9
+ menuitem: 'menuitem',
10
+ /**
11
+ * The menu item has a "menuitemcheckbox" role
12
+ */
13
+ menuitemcheckbox: 'menuitemcheckbox',
14
+ /**
15
+ * The menu item has a "menuitemradio" role
16
+ */
17
+ menuitemradio: 'menuitemradio',
18
+ };
19
+ /**
20
+ * @internal
21
+ */
22
+ export const roleForMenuItem = {
23
+ [MenuItemRole.menuitem]: 'menuitem',
24
+ [MenuItemRole.menuitemcheckbox]: 'menuitemcheckbox',
25
+ [MenuItemRole.menuitemradio]: 'menuitemradio',
26
+ };
27
+ //# sourceMappingURL=menu-item.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.options.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.options.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B;;OAEG;IACH,QAAQ,EAAE,UAAU;IAEpB;;OAEG;IACH,gBAAgB,EAAE,kBAAkB;IAEpC;;OAEG;IACH,aAAa,EAAE,eAAe;CACtB,CAAC;AAQX;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAExB;IACF,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,kBAAkB;IACnD,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,eAAe;CAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { css } from '@microsoft/fast-element';
2
- import { display } from '@microsoft/fast-foundation/utilities.js';
2
+ import { display } from '../utils/index.js';
3
3
  import { borderRadiusMedium, colorCompoundBrandForeground1Hover, colorCompoundBrandForeground1Pressed, colorNeutralBackground1, colorNeutralBackground1Hover, colorNeutralBackground1Selected, colorNeutralBackgroundDisabled, colorNeutralForeground2, colorNeutralForeground2Hover, colorNeutralForeground2Pressed, colorNeutralForeground3, colorNeutralForegroundDisabled, fontFamilyBase, fontSizeBase200, fontSizeBase300, fontSizeBase500, fontWeightRegular, lineHeightBase200, lineHeightBase300, } from '../theme/design-tokens.js';
4
4
  /** MenuItem styles
5
5
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.styles.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,kCAAkC,EAClC,oCAAoC,EACpC,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;kBAOD,uBAAuB;YAC7B,iBAAiB,IAAI,eAAe,MAAM,iBAAiB,IAAI,cAAc;qBACpE,kBAAkB;aAC1B,uBAAuB;;;;;;;;kBAQlB,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;aAwBjC,uBAAuB;;;;;;;iBAOnB,eAAe;;;;;;;;;aASnB,uBAAuB;YACxB,iBAAiB,IAAI,eAAe,MAAM,iBAAiB,IAAI,cAAc;;;;;;;;;;;;;;aAc5E,4BAA4B;;;;aAI5B,kCAAkC;;;;wBAIvB,+BAA+B;;;;;;aAM1C,8BAA8B;;;;aAI9B,oCAAoC;;;;wBAIzB,8BAA8B;;;;;;;aAOzC,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE1C,CAAC"}
1
+ {"version":3,"file":"menu-item.styles.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,kCAAkC,EAClC,oCAAoC,EACpC,uBAAuB,EACvB,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;kBAOD,uBAAuB;YAC7B,iBAAiB,IAAI,eAAe,MAAM,iBAAiB,IAAI,cAAc;qBACpE,kBAAkB;aAC1B,uBAAuB;;;;;;;;kBAQlB,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;aAwBjC,uBAAuB;;;;;;;iBAOnB,eAAe;;;;;;;;;aASnB,uBAAuB;YACxB,iBAAiB,IAAI,eAAe,MAAM,iBAAiB,IAAI,cAAc;;;;;;;;;;;;;;aAc5E,4BAA4B;;;;aAI5B,kCAAkC;;;;wBAIvB,+BAA+B;;;;;;aAM1C,8BAA8B;;;;aAI9B,oCAAoC;;;;wBAIzB,8BAA8B;;;;;;;aAOzC,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwE1C,CAAC"}
@@ -1,7 +1,62 @@
1
- import { html } from '@microsoft/fast-element';
2
- import { menuItemTemplate } from '@microsoft/fast-foundation/menu-item.js';
1
+ import { elements, html, ref, slotted, when } from '@microsoft/fast-element';
2
+ import { staticallyCompose } from '../utils/template-helpers.js';
3
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
4
+ import { MenuItemRole } from './menu-item.js';
3
5
  const Checkmark16Filled = html.partial(`<svg fill="currentColor" class="___12fm75w f1w7gpdv fez10in fg4l7m0" aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.05 3.49c.28.3.27.77-.04 1.06l-7.93 7.47A.85.85 0 014.9 12L2.22 9.28a.75.75 0 111.06-1.06l2.24 2.27 7.47-7.04a.75.75 0 011.06.04z" fill="currentColor"></path></svg>`);
4
6
  const chevronRight16Filled = html.partial(`<svg fill="currentColor" class="___12fm75w f1w7gpdv fez10in fg4l7m0" aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M5.74 3.2a.75.75 0 00-.04 1.06L9.23 8 5.7 11.74a.75.75 0 101.1 1.02l4-4.25a.75.75 0 000-1.02l-4-4.25a.75.75 0 00-1.06-.04z" fill="currentColor"></path></svg>`);
7
+ export function menuItemTemplate(options = {}) {
8
+ return html `
9
+ <template
10
+ aria-haspopup="${x => (x.hasSubmenu ? 'menu' : void 0)}"
11
+ aria-checked="${x => (x.role !== MenuItemRole.menuitem ? x.checked : void 0)}"
12
+ aria-disabled="${x => x.disabled}"
13
+ aria-expanded="${x => x.expanded}"
14
+ @keydown="${(x, c) => x.handleMenuItemKeyDown(c.event)}"
15
+ @click="${(x, c) => x.handleMenuItemClick(c.event)}"
16
+ @mouseover="${(x, c) => x.handleMouseOver(c.event)}"
17
+ @mouseout="${(x, c) => x.handleMouseOut(c.event)}"
18
+ >
19
+ ${when(x => x.role === MenuItemRole.menuitemcheckbox, html `
20
+ <div part="input-container" class="input-container">
21
+ <span part="checkbox" class="checkbox">
22
+ <slot name="checkbox-indicator"> ${staticallyCompose(options.checkboxIndicator)} </slot>
23
+ </span>
24
+ </div>
25
+ `)}
26
+ ${when(x => x.role === MenuItemRole.menuitemradio, html `
27
+ <div part="input-container" class="input-container">
28
+ <span part="radio" class="radio">
29
+ <slot name="radio-indicator"> ${staticallyCompose(options.radioIndicator)} </slot>
30
+ </span>
31
+ </div>
32
+ `)}
33
+ </div>
34
+ ${startSlotTemplate(options)}
35
+ <span class="content" part="content">
36
+ <slot></slot>
37
+ </span>
38
+ ${endSlotTemplate(options)}
39
+ ${when(x => x.hasSubmenu, html `
40
+ <div part="expand-collapse-glyph-container" class="expand-collapse-glyph-container">
41
+ <span part="expand-collapse" class="expand-collapse">
42
+ <slot name="expand-collapse-indicator"> ${staticallyCompose(options.expandCollapseGlyph)} </slot>
43
+ </span>
44
+ </div>
45
+ `)}
46
+ <span
47
+ ?hidden="${x => !x.expanded}"
48
+ class="submenu-container"
49
+ part="submenu-container"
50
+ ${ref('submenuContainer')}
51
+ >
52
+ <slot name="submenu" ${slotted({
53
+ property: 'slottedSubmenu',
54
+ filter: elements("[role='menu']"),
55
+ })}></slot>
56
+ </span>
57
+ </template>
58
+ `;
59
+ }
5
60
  export const template = menuItemTemplate({
6
61
  checkboxIndicator: Checkmark16Filled,
7
62
  expandCollapseGlyph: chevronRight16Filled,
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item.template.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAG3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,wVAAwV,CACzV,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CACvC,8UAA8U,CAC/U,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAkC,gBAAgB,CAAC;IACtE,iBAAiB,EAAE,iBAAiB;IACpC,mBAAmB,EAAE,oBAAoB;IACzC,cAAc,EAAE,iBAAiB;CAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-item.template.js","sourceRoot":"","sources":["../../../src/menu-item/menu-item.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CACpC,wVAAwV,CACzV,CAAC;AACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CACvC,8UAA8U,CAC/U,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAqB,UAA2B,EAAE;IAChF,OAAO,IAAI,CAAG;;uBAEO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;sBACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;uBAC3D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;kBACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAsB,CAAC;gBAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAmB,CAAC;oBAClD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAmB,CAAC;mBACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAmB,CAAC;;YAExD,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,gBAAgB,EAC7C,IAAI,CAAU;;;qDAG2B,iBAAiB,CAAC,OAAO,CAAC,iBAAiB,CAAC;;;aAGpF,CACF;YACC,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAC1C,IAAI,CAAU;;;kDAGwB,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC;;;aAG9E,CACF;;QAEH,iBAAiB,CAAC,OAAO,CAAC;;;;QAI1B,eAAe,CAAC,OAAO,CAAC;QACxB,IAAI,CACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EACjB,IAAI,CAAG;;;wDAGyC,iBAAiB,CAAC,OAAO,CAAC,mBAAmB,CAAC;;;SAG7F,CACF;;qBAEc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;;;YAGzB,GAAG,CAAC,kBAAkB,CAAC;;iCAEF,OAAO,CAAC;QAC7B,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC;KAClC,CAAC;;;GAGT,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAkC,gBAAgB,CAAC;IACtE,iBAAiB,EAAE,iBAAiB;IACpC,mBAAmB,EAAE,oBAAoB;IACzC,cAAc,EAAE,iBAAiB;CAClC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export * from './menu-list.js';
1
+ export { MenuList } from './menu-list.js';
2
2
  export { template as MenuListTemplate } from './menu-list.template.js';
3
3
  export { styles as MenuListStyles } from './menu-list.styles.js';
4
4
  export { definition as MenuListDefinition } from './menu-list.definition.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/menu-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -3,10 +3,6 @@ import { MenuList } from './menu-list.js';
3
3
  import { styles } from './menu-list.styles.js';
4
4
  import { template } from './menu-list.template.js';
5
5
  /**
6
- * The Fluent MenuList Element. Implements {@link @microsoft/fast-foundation#Menu },
7
- * {@link @microsoft/fast-foundation#menuTemplate}
8
- *
9
- *
10
6
  * @public
11
7
  * @remarks
12
8
  * HTML Element: <fluent-menu-list>
@@ -1 +1 @@
1
- {"version":3,"file":"menu-list.definition.js","sourceRoot":"","sources":["../../../src/menu-list/menu-list.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"menu-list.definition.js","sourceRoot":"","sources":["../../../src/menu-list/menu-list.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}