@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
@@ -1,8 +1,7 @@
1
1
  import type { Theme } from '@fluentui/tokens';
2
- import { FASTElement } from '@microsoft/fast-element';
3
2
  /**
4
3
  * Sets the theme tokens on defaultNode.
5
4
  * @param theme Flat object of theme token values.
6
5
  */
7
6
  export declare const setTheme: (theme: Theme) => void;
8
- export declare const setThemeFor: (element: FASTElement, theme: Theme) => void;
7
+ export declare const setThemeFor: (element: HTMLElement, theme: Theme) => void;
@@ -1,5 +1,5 @@
1
- export * from './toggle-button.js';
2
- export * from './toggle-button.options.js';
1
+ export { ToggleButton } from './toggle-button.js';
2
+ export { ToggleButtonAppearance, ToggleButtonOptions, ToggleButtonShape, ToggleButtonSize, } from './toggle-button.options.js';
3
3
  export { template as ToggleButtonTemplate } from './toggle-button.template.js';
4
4
  export { styles as ToggleButtonStyles } from './toggle-button.styles.js';
5
5
  export { definition as ToggleButtonDefinition } from './toggle-button.definition.js';
@@ -1,48 +1,51 @@
1
1
  import { Button } from '../button/button.js';
2
2
  /**
3
- * The base class used for constructing a fluent-toggle-button custom element
3
+ * The base class used for constructing a `<fluent-toggle-button>` custom element.
4
+ *
4
5
  * @public
5
6
  */
6
7
  export declare class ToggleButton extends Button {
7
8
  /**
8
- * Tracks whether the "checked" property has been changed.
9
- * This is necessary to provide consistent behavior with
10
- * normal input checkboxes
9
+ * Indicates the pressed state of the control.
10
+ *
11
+ * @public
12
+ * @remarks
13
+ * HTML Attribute: `pressed`
11
14
  */
12
- protected dirtyChecked: boolean;
15
+ pressed: boolean;
13
16
  /**
14
- * Provides the default checkedness of the input element
15
- * Passed down to proxy
17
+ * Updates the pressed state when the `pressed` property changes.
18
+ *
19
+ * @internal
20
+ */
21
+ protected pressedChanged(): void;
22
+ /**
23
+ * Indicates the mixed state of the control. This property takes precedence over `pressed`.
16
24
  *
17
25
  * @public
18
26
  * @remarks
19
- * HTML Attribute: checked
27
+ * HTML Attribute: `mixed`
20
28
  */
21
- checkedAttribute: boolean;
22
- protected checkedAttributeChanged(): void;
23
- defaultChecked: boolean;
24
- protected defaultCheckedChanged(): void;
29
+ mixed?: boolean;
25
30
  /**
26
- * The checked state of the control.
31
+ * Updates the pressed state when the `mixed` property changes.
27
32
  *
28
- * @public
33
+ * @param previous - the previous mixed state
34
+ * @param next - the current mixed state
35
+ * @internal
29
36
  */
30
- checked: boolean;
31
- protected checkedChanged(prev: boolean | undefined, next: boolean): void;
37
+ protected mixedChanged(): void;
32
38
  /**
33
- * The current checkedness of the element. This property serves as a mechanism
34
- * to set the `checked` property through both property assignment and the
35
- * .setAttribute() method. This is useful for setting the field's checkedness
36
- * in UI libraries that bind data through the .setAttribute() API
37
- * and don't support IDL attribute binding.
39
+ * Toggles the pressed state of the button.
40
+ *
41
+ * @override
38
42
  */
39
- currentChecked: boolean;
40
- currentCheckedChanged(prev: boolean | undefined, next: boolean): void;
41
- constructor();
43
+ protected press(): void;
42
44
  connectedCallback(): void;
43
- disconnectedCallback(): void;
44
45
  /**
46
+ * Sets the `aria-pressed` attribute based on the `pressed` and `mixed` properties.
47
+ *
45
48
  * @internal
46
49
  */
47
- protected handleToggleButtonClick: (e: MouseEvent) => void;
50
+ private setPressedState;
48
51
  }
@@ -1,7 +1,5 @@
1
1
  import { ToggleButton } from './toggle-button.js';
2
2
  /**
3
- * The Fluent Toggle Button Element. Implements {@link @microsoft/fast-foundation#Button },
4
- * {@link @microsoft/fast-foundation#buttonTemplate}
5
3
  *
6
4
  * @public
7
5
  * @remarks
@@ -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
  * Toggle Button Appearance constants
5
5
  * @public
@@ -1 +1,8 @@
1
+ /**
2
+ * The styles for the ToggleButton component.
3
+ *
4
+ * @public
5
+ * @privateRemarks
6
+ * TODO: Need to support icon hover styles
7
+ */
1
8
  export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,124 @@
1
+ import type { ElementStyles, HostBehavior, HostController } from '@microsoft/fast-element';
2
+ /**
3
+ * An event listener fired by a {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList | MediaQueryList }.
4
+ * @public
5
+ */
6
+ export declare type MediaQueryListListener = (this: MediaQueryList, ev?: MediaQueryListEvent) => void;
7
+ /**
8
+ * An abstract behavior to react to media queries. Implementations should implement
9
+ * the `constructListener` method to perform some action based on media query changes.
10
+ *
11
+ * @public
12
+ */
13
+ export declare abstract class MatchMediaBehavior implements HostBehavior {
14
+ /**
15
+ * The behavior needs to operate on element instances but elements might share a behavior instance.
16
+ * To ensure proper attachment / detachment per instance, we construct a listener for
17
+ * each bind invocation and cache the listeners by element reference.
18
+ */
19
+ private listenerCache;
20
+ /**
21
+ * The media query that the behavior operates on.
22
+ */
23
+ readonly query: MediaQueryList;
24
+ /**
25
+ *
26
+ * @param query - The media query to operate from.
27
+ */
28
+ constructor(query: MediaQueryList);
29
+ /**
30
+ * Constructs a function that will be invoked with the MediaQueryList context
31
+ * @param controller - The host controller orchestrating this behavior.
32
+ */
33
+ protected abstract constructListener(controller: HostController): MediaQueryListListener;
34
+ /**
35
+ * Binds the behavior to the element.
36
+ * @param controller - The host controller orchestrating this behavior.
37
+ */
38
+ connectedCallback(controller: HostController): void;
39
+ /**
40
+ * Unbinds the behavior from the element.
41
+ * @param controller - The host controller orchestrating this behavior.
42
+ */
43
+ disconnectedCallback(controller: HostController): void;
44
+ }
45
+ /**
46
+ * A behavior to add or remove a stylesheet from an element based on a media query. The behavior ensures that
47
+ * styles are applied while the a query matches the environment and that styles are not applied if the query does
48
+ * not match the environment.
49
+ *
50
+ * @public
51
+ */
52
+ export declare class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {
53
+ /**
54
+ * The media query that the behavior operates on.
55
+ */
56
+ readonly query: MediaQueryList;
57
+ /**
58
+ * The styles object to be managed by the behavior.
59
+ */
60
+ readonly styles: ElementStyles;
61
+ /**
62
+ * Constructs a {@link MatchMediaStyleSheetBehavior} instance.
63
+ * @param query - The media query to operate from.
64
+ * @param styles - The styles to coordinate with the query.
65
+ */
66
+ constructor(query: MediaQueryList, styles: ElementStyles);
67
+ /**
68
+ * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for
69
+ * a provided query.
70
+ * @param query - The media query to operate from.
71
+ *
72
+ * @public
73
+ * @example
74
+ *
75
+ * ```ts
76
+ * import { css } from "@microsoft/fast-element";
77
+ * import { MatchMediaStyleSheetBehavior } from "@fluentui/web-components";
78
+ *
79
+ * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(
80
+ * window.matchMedia("(orientation: landscape)")
81
+ * );
82
+ *
83
+ * const styles = css`
84
+ * :host {
85
+ * width: 200px;
86
+ * height: 400px;
87
+ * }
88
+ * `
89
+ * .withBehaviors(landscapeBehavior(css`
90
+ * :host {
91
+ * width: 400px;
92
+ * height: 200px;
93
+ * }
94
+ * `))
95
+ * ```
96
+ */
97
+ static with(query: MediaQueryList): (styles: ElementStyles) => MatchMediaStyleSheetBehavior;
98
+ /**
99
+ * Constructs a match-media listener for a provided element.
100
+ * @param source - the element for which to attach or detach styles.
101
+ */
102
+ protected constructListener(controller: HostController): MediaQueryListListener;
103
+ /**
104
+ * Unbinds the behavior from the element.
105
+ * @param controller - The host controller orchestrating this behavior.
106
+ * @internal
107
+ */
108
+ removedCallback(controller: HostController<any>): void;
109
+ }
110
+ /**
111
+ * This can be used to construct a behavior to apply a forced-colors only stylesheet.
112
+ * @public
113
+ */
114
+ export declare const forcedColorsStylesheetBehavior: (styles: ElementStyles) => MatchMediaStyleSheetBehavior;
115
+ /**
116
+ * This can be used to construct a behavior to apply a prefers color scheme: dark only stylesheet.
117
+ * @public
118
+ */
119
+ export declare const darkModeStylesheetBehavior: (styles: ElementStyles) => MatchMediaStyleSheetBehavior;
120
+ /**
121
+ * This can be used to construct a behavior to apply a prefers color scheme: light only stylesheet.
122
+ * @public
123
+ */
124
+ export declare const lightModeStylesheetBehavior: (styles: ElementStyles) => MatchMediaStyleSheetBehavior;
@@ -0,0 +1 @@
1
+ export * from '@fluentui/tokens';
@@ -0,0 +1,2 @@
1
+ declare const wrappedTests: {};
2
+ export { wrappedTests as tests };
@@ -0,0 +1,10 @@
1
+ import { Direction } from '@microsoft/fast-web-utilities';
2
+ /**
3
+ * Determines the current localization direction of an element.
4
+ *
5
+ * @param rootNode - the HTMLElement to begin the query from, usually "this" when used in a component controller
6
+ * @returns the localization direction of the element
7
+ *
8
+ * @public
9
+ */
10
+ export declare const getDirection: (rootNode: HTMLElement) => Direction;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Define all possible CSS display values.
3
+ * @public
4
+ */
5
+ export declare type CSSDisplayPropertyValue = 'block' | 'contents' | 'flex' | 'grid' | 'inherit' | 'initial' | 'inline' | 'inline-block' | 'inline-flex' | 'inline-grid' | 'inline-table' | 'list-item' | 'none' | 'run-in' | 'table' | 'table-caption' | 'table-cell' | 'table-column' | 'table-column-group' | 'table-footer-group' | 'table-header-group' | 'table-row' | 'table-row-group';
6
+ /**
7
+ * A CSS fragment to set `display: none;` when the host is hidden using the [hidden] attribute.
8
+ * @public
9
+ */
10
+ export declare const hidden = ":host([hidden]){display:none}";
11
+ /**
12
+ * Applies a CSS display property.
13
+ * Also adds CSS rules to not display the element when the [hidden] attribute is applied to the element.
14
+ * @param display - The CSS display property value
15
+ * @public
16
+ */
17
+ export declare function display(displayValue: CSSDisplayPropertyValue): string;
@@ -0,0 +1,6 @@
1
+ export * from './direction.js';
2
+ export * from './typings.js';
3
+ export * from './template-helpers.js';
4
+ export * from './whitespace-filter.js';
5
+ export * from './display.js';
6
+ export * from './behaviors/match-media-stylesheet-behavior.js';
@@ -0,0 +1,16 @@
1
+ import { CaptureType, HTMLDirective } from '@microsoft/fast-element';
2
+ import type { SyntheticViewTemplate } from '@microsoft/fast-element';
3
+ /**
4
+ * A value that can be statically composed into a
5
+ * foundation template.
6
+ * @remarks
7
+ * When providing a string, take care to ensure that it is
8
+ * safe and will not enable an XSS attack.
9
+ * @public
10
+ */
11
+ export declare type StaticallyComposableHTML<TSource = any, TParent = any> = string | HTMLDirective | SyntheticViewTemplate<TSource, TParent> | undefined;
12
+ /**
13
+ * A function to compose template options.
14
+ * @public
15
+ */
16
+ export declare function staticallyCompose<TSource = any, TParent = any>(item: StaticallyComposableHTML<TSource, TParent>): CaptureType<TSource, TParent>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Helper for enumerating a type from a const object
3
+ * Example: export type Foo = ValuesOf\<typeof Foo\>
4
+ * @public
5
+ */
6
+ export declare type ValuesOf<T> = T[keyof T];
@@ -0,0 +1,12 @@
1
+ import type { ElementsFilter } from '@microsoft/fast-element';
2
+ /**
3
+ * filters out any whitespace-only nodes, to be used inside a template.
4
+ *
5
+ * @param value - The Node that is being inspected
6
+ * @param index - The index of the node within the array
7
+ * @param array - The Node array that is being filtered
8
+ * @returns true if the node is not a whitespace-only node, false otherwise
9
+ *
10
+ * @public
11
+ */
12
+ export declare const whitespaceFilter: ElementsFilter;
@@ -3,10 +3,6 @@ import { Accordion } from './accordion.js';
3
3
  import { styles } from './accordion.styles.js';
4
4
  import { template } from './accordion.template.js';
5
5
  /**
6
- * The Fluent Accordion Element. Implements {@link @microsoft/fast-foundation#Accordion },
7
- * {@link @microsoft/fast-foundation#accordionTemplate}
8
- *
9
- *
10
6
  * @public
11
7
  * @remarks
12
8
  * HTML Element: \<fluent-accordion\>
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.definition.js","sourceRoot":"","sources":["../../../src/accordion/accordion.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;IAC1C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"accordion.definition.js","sourceRoot":"","sources":["../../../src/accordion/accordion.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;IAC1C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -1,8 +1,216 @@
1
- import { FASTAccordion } from '@microsoft/fast-foundation/accordion.js';
1
+ import { __decorate } from "tslib";
2
+ import { Observable } from '@microsoft/fast-element';
3
+ import { attr, FASTElement, observable } from '@microsoft/fast-element';
4
+ import { keyArrowDown, keyArrowUp, keyEnd, keyHome, wrapInBounds } from '@microsoft/fast-web-utilities';
5
+ import { AccordionItem } from '../accordion-item/accordion-item.js';
6
+ import { AccordionExpandMode } from './accordion.options.js';
2
7
  /**
3
- * The base class used for constructing a fluent-accordion custom element
8
+ * An Accordion Custom HTML Element
9
+ * Implements {@link https://www.w3.org/TR/wai-aria-practices-1.1/#accordion | ARIA Accordion}.
10
+ *
11
+ * @fires change - Fires a custom 'change' event when the active item changes
12
+ * @csspart item - The slot for the accordion items
4
13
  * @public
5
14
  */
6
- export class Accordion extends FASTAccordion {
15
+ export class Accordion extends FASTElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ /**
19
+ * Controls the expand mode of the Accordion, either allowing
20
+ * single or multiple item expansion.
21
+ * @public
22
+ *
23
+ * @remarks
24
+ * HTML attribute: expand-mode
25
+ */
26
+ this.expandmode = AccordionExpandMode.multi;
27
+ this.activeItemIndex = 0;
28
+ this.change = () => {
29
+ this.$emit('change', this.activeid);
30
+ };
31
+ this.setItems = () => {
32
+ if (this.slottedAccordionItems.length === 0) {
33
+ return;
34
+ }
35
+ const children = Array.from(this.children);
36
+ this.removeItemListeners(children);
37
+ children.forEach((child) => Observable.getNotifier(child).subscribe(this, 'disabled'));
38
+ this.accordionItems = children.filter(child => !child.hasAttribute('disabled'));
39
+ this.accordionIds = this.getItemIds();
40
+ this.accordionItems.forEach((item, index) => {
41
+ if (item instanceof AccordionItem) {
42
+ item.addEventListener('click', this.activeItemChange);
43
+ item.addEventListener('keydown', this.handleItemKeyDown);
44
+ item.addEventListener('focus', this.handleItemFocus);
45
+ Observable.getNotifier(item).subscribe(this, 'expanded');
46
+ }
47
+ const itemId = this.accordionIds[index];
48
+ item.setAttribute('id', typeof itemId !== 'string' ? `accordion-${index + 1}` : itemId);
49
+ this.activeid = this.accordionIds[this.activeItemIndex];
50
+ });
51
+ if (this.isSingleExpandMode()) {
52
+ const expandedItem = this.findExpandedItem();
53
+ this.setSingleExpandMode(expandedItem);
54
+ }
55
+ };
56
+ this.removeItemListeners = (oldValue) => {
57
+ oldValue.forEach((item, index) => {
58
+ Observable.getNotifier(item).unsubscribe(this, 'disabled');
59
+ Observable.getNotifier(item).unsubscribe(this, 'expanded');
60
+ item.removeEventListener('click', this.activeItemChange);
61
+ item.removeEventListener('keydown', this.handleItemKeyDown);
62
+ item.removeEventListener('focus', this.handleItemFocus);
63
+ });
64
+ };
65
+ this.activeItemChange = (event) => {
66
+ if (event.defaultPrevented || event.target !== event.currentTarget) {
67
+ return;
68
+ }
69
+ event.preventDefault();
70
+ this.handleExpandedChange(event.target);
71
+ };
72
+ this.handleExpandedChange = (item) => {
73
+ if (item instanceof AccordionItem) {
74
+ this.activeid = item.getAttribute('id');
75
+ if (!this.isSingleExpandMode()) {
76
+ item.expanded = !item.expanded;
77
+ // setSingleExpandMode sets activeItemIndex on its own
78
+ this.activeItemIndex = this.accordionItems.indexOf(item);
79
+ }
80
+ else {
81
+ this.setSingleExpandMode(item);
82
+ }
83
+ this.change();
84
+ }
85
+ };
86
+ this.handleItemKeyDown = (event) => {
87
+ // only handle the keydown if the event target is the accordion item
88
+ // prevents arrow keys from moving focus to accordion headers when focus is on accordion item panel content
89
+ if (event.target !== event.currentTarget) {
90
+ return;
91
+ }
92
+ this.accordionIds = this.getItemIds();
93
+ switch (event.key) {
94
+ case keyArrowUp:
95
+ event.preventDefault();
96
+ this.adjust(-1);
97
+ break;
98
+ case keyArrowDown:
99
+ event.preventDefault();
100
+ this.adjust(1);
101
+ break;
102
+ case keyHome:
103
+ this.activeItemIndex = 0;
104
+ this.focusItem();
105
+ break;
106
+ case keyEnd:
107
+ this.activeItemIndex = this.accordionItems.length - 1;
108
+ this.focusItem();
109
+ break;
110
+ }
111
+ };
112
+ this.handleItemFocus = (event) => {
113
+ // update the active item index if the focus moves to an accordion item via a different method other than the up and down arrow key actions
114
+ // only do so if the focus is actually on the accordion item and not on any of its children
115
+ if (event.target === event.currentTarget) {
116
+ const focusedItem = event.target;
117
+ const focusedIndex = (this.activeItemIndex = Array.from(this.accordionItems).indexOf(focusedItem));
118
+ if (this.activeItemIndex !== focusedIndex && focusedIndex !== -1) {
119
+ this.activeItemIndex = focusedIndex;
120
+ this.activeid = this.accordionIds[this.activeItemIndex];
121
+ }
122
+ }
123
+ };
124
+ }
125
+ expandmodeChanged(prev, next) {
126
+ if (!this.$fastController.isConnected) {
127
+ return;
128
+ }
129
+ const expandedItem = this.findExpandedItem();
130
+ if (!expandedItem) {
131
+ return;
132
+ }
133
+ if (next !== AccordionExpandMode.single) {
134
+ expandedItem === null || expandedItem === void 0 ? void 0 : expandedItem.expandbutton.removeAttribute('aria-disabled');
135
+ }
136
+ else {
137
+ this.setSingleExpandMode(expandedItem);
138
+ }
139
+ }
140
+ /**
141
+ * @internal
142
+ */
143
+ slottedAccordionItemsChanged(oldValue, newValue) {
144
+ if (this.$fastController.isConnected) {
145
+ this.setItems();
146
+ }
147
+ }
148
+ /**
149
+ * @internal
150
+ */
151
+ handleChange(source, propertyName) {
152
+ if (propertyName === 'disabled') {
153
+ this.setItems();
154
+ }
155
+ else if (propertyName === 'expanded') {
156
+ // we only need to manage single expanded instances
157
+ // such as scenarios where a child is programatically expanded
158
+ if (source.expanded && this.isSingleExpandMode()) {
159
+ this.setSingleExpandMode(source);
160
+ }
161
+ }
162
+ }
163
+ findExpandedItem() {
164
+ var _a;
165
+ if (this.accordionItems.length === 0) {
166
+ return null;
167
+ }
168
+ return ((_a = this.accordionItems.find((item) => item instanceof AccordionItem && item.expanded)) !== null && _a !== void 0 ? _a : this.accordionItems[0]);
169
+ }
170
+ setSingleExpandMode(expandedItem) {
171
+ if (this.accordionItems.length === 0) {
172
+ return;
173
+ }
174
+ const currentItems = Array.from(this.accordionItems);
175
+ this.activeItemIndex = currentItems.indexOf(expandedItem);
176
+ currentItems.forEach((item, index) => {
177
+ if (item instanceof AccordionItem) {
178
+ if (this.activeItemIndex === index) {
179
+ item.expanded = true;
180
+ item.expandbutton.setAttribute('aria-disabled', 'true');
181
+ }
182
+ else {
183
+ item.expanded = false;
184
+ if (!item.hasAttribute('disabled')) {
185
+ item.expandbutton.removeAttribute('aria-disabled');
186
+ }
187
+ }
188
+ }
189
+ });
190
+ }
191
+ getItemIds() {
192
+ return this.slottedAccordionItems.map((accordionItem) => {
193
+ return accordionItem.id;
194
+ });
195
+ }
196
+ isSingleExpandMode() {
197
+ return this.expandmode === AccordionExpandMode.single;
198
+ }
199
+ adjust(adjustment) {
200
+ this.activeItemIndex = wrapInBounds(0, this.accordionItems.length - 1, this.activeItemIndex + adjustment);
201
+ this.focusItem();
202
+ }
203
+ focusItem() {
204
+ const element = this.accordionItems[this.activeItemIndex];
205
+ if (element instanceof AccordionItem) {
206
+ element.expandbutton.focus();
207
+ }
208
+ }
7
209
  }
210
+ __decorate([
211
+ attr({ attribute: 'expand-mode' })
212
+ ], Accordion.prototype, "expandmode", void 0);
213
+ __decorate([
214
+ observable
215
+ ], Accordion.prototype, "slottedAccordionItems", void 0);
8
216
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/accordion/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../../src/accordion/accordion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Expand mode for {@link FASTAccordion}
3
+ * @public
4
+ */
5
+ export const AccordionExpandMode = {
6
+ single: 'single',
7
+ multi: 'multi',
8
+ };
9
+ //# sourceMappingURL=accordion.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.options.js","sourceRoot":"","sources":["../../../src/accordion/accordion.options.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,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
  export const styles = css `
4
4
  ${display('flex')}
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.styles.js","sourceRoot":"","sources":["../../../src/accordion/accordion.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAElE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;CAOlB,CAAC"}
1
+ {"version":3,"file":"accordion.styles.js","sourceRoot":"","sources":["../../../src/accordion/accordion.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;CAOlB,CAAC"}
@@ -1,3 +1,13 @@
1
- import { accordionTemplate } from '@microsoft/fast-foundation/accordion.js';
1
+ import { elements, html, slotted } from '@microsoft/fast-element';
2
+ /**
3
+ * @public
4
+ */
5
+ export function accordionTemplate() {
6
+ return html `
7
+ <template>
8
+ <slot ${slotted({ property: 'slottedAccordionItems', filter: elements() })}></slot>
9
+ </template>
10
+ `;
11
+ }
2
12
  export const template = accordionTemplate();
3
13
  //# sourceMappingURL=accordion.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.template.js","sourceRoot":"","sources":["../../../src/accordion/accordion.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAG5E,MAAM,CAAC,MAAM,QAAQ,GAAmC,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"accordion.template.js","sourceRoot":"","sources":["../../../src/accordion/accordion.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvF;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAG;;cAEF,OAAO,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;GAE7E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAmC,iBAAiB,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- export * from './accordion.js';
1
+ export { Accordion } from './accordion.js';
2
+ export { AccordionExpandMode } from './accordion.options.js';
2
3
  export { template as accordionTemplate } from './accordion.template.js';
3
4
  export { styles as accordionStyles } from './accordion.styles.js';
4
5
  export { definition as accordionDefinition } from './accordion.definition.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}