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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/CHANGELOG.md +93 -2
  2. package/dist/dts/accordion/accordion.d.ts +47 -3
  3. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  4. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  5. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  6. package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
  7. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  8. package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
  9. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  10. package/dist/dts/anchor-button/anchor-button.d.ts +116 -4
  11. package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
  12. package/dist/dts/anchor-button/anchor-button.options.d.ts +19 -2
  13. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
  14. package/dist/dts/avatar/avatar.options.d.ts +1 -1
  15. package/dist/dts/badge/badge.d.ts +1 -1
  16. package/dist/dts/badge/badge.definition.d.ts +0 -3
  17. package/dist/dts/badge/badge.options.d.ts +2 -2
  18. package/dist/dts/button/button.d.ts +142 -4
  19. package/dist/dts/button/button.definition.d.ts +0 -3
  20. package/dist/dts/button/button.form-associated.d.ts +14 -0
  21. package/dist/dts/button/button.options.d.ts +24 -3
  22. package/dist/dts/button/button.template.d.ts +2 -0
  23. package/dist/dts/checkbox/checkbox.d.ts +46 -3
  24. package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
  25. package/dist/dts/checkbox/checkbox.options.d.ts +1 -1
  26. package/dist/dts/checkbox/checkbox.template.d.ts +6 -1
  27. package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
  28. package/dist/dts/compound-button/compound-button.options.d.ts +6 -6
  29. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  30. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  31. package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
  32. package/dist/dts/dialog/define.d.ts +1 -0
  33. package/dist/dts/dialog/dialog.d.ts +192 -0
  34. package/dist/dts/dialog/dialog.definition.d.ts +9 -0
  35. package/dist/dts/dialog/dialog.options.d.ts +11 -0
  36. package/dist/dts/dialog/dialog.styles.d.ts +4 -0
  37. package/dist/dts/dialog/dialog.template.d.ts +7 -0
  38. package/dist/dts/dialog/index.d.ts +4 -0
  39. package/dist/dts/divider/divider.d.ts +20 -4
  40. package/dist/dts/divider/divider.options.d.ts +30 -6
  41. package/dist/dts/divider/divider.template.d.ts +1 -0
  42. package/dist/dts/form-associated/form-associated.d.ts +178 -0
  43. package/dist/dts/image/image.options.d.ts +1 -1
  44. package/dist/dts/index.d.ts +5 -0
  45. package/dist/dts/label/label.options.d.ts +1 -1
  46. package/dist/dts/menu/define.d.ts +1 -0
  47. package/dist/dts/menu/index.d.ts +4 -0
  48. package/dist/dts/menu/menu.d.ts +194 -0
  49. package/dist/dts/menu/menu.definition.d.ts +9 -0
  50. package/dist/dts/menu/menu.styles.d.ts +4 -0
  51. package/dist/dts/menu/menu.template.d.ts +4 -0
  52. package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
  53. package/dist/dts/menu-button/menu-button.options.d.ts +2 -2
  54. package/dist/dts/menu-item/menu-item.d.ts +161 -4
  55. package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
  56. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  57. package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
  58. package/dist/dts/menu-list/menu-list.d.ts +71 -4
  59. package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
  60. package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
  61. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  62. package/dist/dts/patterns/index.d.ts +2 -0
  63. package/dist/dts/patterns/start-end.d.ts +44 -0
  64. package/dist/dts/progress-bar/base-progress.d.ts +41 -0
  65. package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
  66. package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
  67. package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
  68. package/dist/dts/progress-ring/progress-ring.d.ts +15 -0
  69. package/dist/dts/progress-ring/progress-ring.options.d.ts +9 -0
  70. package/dist/dts/radio/radio.d.ts +54 -3
  71. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  72. package/dist/dts/radio/radio.template.d.ts +2 -1
  73. package/dist/dts/radio-group/index.d.ts +0 -1
  74. package/dist/dts/radio-group/radio-group.d.ts +91 -2
  75. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  76. package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
  77. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  78. package/dist/dts/slider/slider.d.ts +195 -5
  79. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  80. package/dist/dts/slider/slider.options.d.ts +43 -2
  81. package/dist/dts/slider/slider.template.d.ts +4 -2
  82. package/dist/dts/spinner/spinner.d.ts +2 -2
  83. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  84. package/dist/dts/spinner/spinner.options.d.ts +1 -1
  85. package/dist/dts/spinner/spinner.template.d.ts +2 -0
  86. package/dist/dts/switch/switch.d.ts +34 -2
  87. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  88. package/dist/dts/switch/switch.options.d.ts +1 -1
  89. package/dist/dts/switch/switch.template.d.ts +2 -1
  90. package/dist/dts/tab/tab.d.ts +17 -2
  91. package/dist/dts/tab/tab.template.d.ts +3 -3
  92. package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
  93. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
  94. package/dist/dts/tabs/tabs.d.ts +89 -4
  95. package/dist/dts/tabs/tabs.options.d.ts +21 -3
  96. package/dist/dts/tabs/tabs.template.d.ts +5 -1
  97. package/dist/dts/text/text.options.d.ts +1 -1
  98. package/dist/dts/text-input/index.d.ts +0 -1
  99. package/dist/dts/text-input/text-field.form-associated.d.ts +14 -0
  100. package/dist/dts/text-input/text-input.d.ts +134 -6
  101. package/dist/dts/text-input/text-input.options.d.ts +32 -1
  102. package/dist/dts/text-input/text-input.template.d.ts +2 -1
  103. package/dist/dts/theme/design-tokens.d.ts +384 -384
  104. package/dist/dts/theme/set-theme.d.ts +1 -2
  105. package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
  106. package/dist/dts/toggle-button/toggle-button.options.d.ts +2 -2
  107. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  108. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  109. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  110. package/dist/dts/utils/direction.d.ts +10 -0
  111. package/dist/dts/utils/display.d.ts +17 -0
  112. package/dist/dts/utils/index.d.ts +6 -0
  113. package/dist/dts/utils/template-helpers.d.ts +16 -0
  114. package/dist/dts/utils/typings.d.ts +6 -0
  115. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  116. package/dist/esm/accordion/accordion.definition.js +0 -4
  117. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  118. package/dist/esm/accordion/accordion.js +216 -3
  119. package/dist/esm/accordion/accordion.js.map +1 -1
  120. package/dist/esm/accordion/accordion.options.js +9 -0
  121. package/dist/esm/accordion/accordion.options.js.map +1 -0
  122. package/dist/esm/accordion/accordion.styles.js +1 -1
  123. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  124. package/dist/esm/accordion/accordion.template.js +11 -1
  125. package/dist/esm/accordion/accordion.template.js.map +1 -1
  126. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  127. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  128. package/dist/esm/accordion-item/accordion-item.js +80 -4
  129. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  130. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  131. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  132. package/dist/esm/accordion-item/accordion-item.template.js +47 -2
  133. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  134. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  135. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  136. package/dist/esm/anchor-button/anchor-button.js +52 -4
  137. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  138. package/dist/esm/anchor-button/anchor-button.options.js +11 -0
  139. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  140. package/dist/esm/anchor-button/anchor-button.template.js +49 -1
  141. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  142. package/dist/esm/avatar/avatar.styles.js +5 -5
  143. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  144. package/dist/esm/badge/badge.definition.js +0 -3
  145. package/dist/esm/badge/badge.definition.js.map +1 -1
  146. package/dist/esm/badge/badge.js +1 -1
  147. package/dist/esm/badge/badge.js.map +1 -1
  148. package/dist/esm/badge/badge.template.js +2 -2
  149. package/dist/esm/badge/badge.template.js.map +1 -1
  150. package/dist/esm/button/button.definition.js +0 -3
  151. package/dist/esm/button/button.definition.js.map +1 -1
  152. package/dist/esm/button/button.form-associated.js +14 -0
  153. package/dist/esm/button/button.form-associated.js.map +1 -0
  154. package/dist/esm/button/button.js +124 -4
  155. package/dist/esm/button/button.js.map +1 -1
  156. package/dist/esm/button/button.options.js +10 -0
  157. package/dist/esm/button/button.options.js.map +1 -1
  158. package/dist/esm/button/button.styles.js +2 -2
  159. package/dist/esm/button/button.styles.js.map +1 -1
  160. package/dist/esm/button/button.template.js +49 -1
  161. package/dist/esm/button/button.template.js.map +1 -1
  162. package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
  163. package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
  164. package/dist/esm/checkbox/checkbox.js +62 -4
  165. package/dist/esm/checkbox/checkbox.js.map +1 -1
  166. package/dist/esm/checkbox/checkbox.styles.js +1 -1
  167. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  168. package/dist/esm/checkbox/checkbox.template.js +35 -7
  169. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  170. package/dist/esm/compound-button/compound-button.definition.js +0 -3
  171. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  172. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  173. package/dist/esm/compound-button/compound-button.template.js +1 -1
  174. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  175. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  176. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  177. package/dist/esm/counter-badge/counter-badge.js +1 -1
  178. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  179. package/dist/esm/dialog/define.js +4 -0
  180. package/dist/esm/dialog/define.js.map +1 -0
  181. package/dist/esm/dialog/dialog.definition.js +17 -0
  182. package/dist/esm/dialog/dialog.definition.js.map +1 -0
  183. package/dist/esm/dialog/dialog.js +370 -0
  184. package/dist/esm/dialog/dialog.js.map +1 -0
  185. package/dist/esm/dialog/dialog.options.js +10 -0
  186. package/dist/esm/dialog/dialog.options.js.map +1 -0
  187. package/dist/esm/dialog/dialog.styles.js +102 -0
  188. package/dist/esm/dialog/dialog.styles.js.map +1 -0
  189. package/dist/esm/dialog/dialog.template.js +61 -0
  190. package/dist/esm/dialog/dialog.template.js.map +1 -0
  191. package/dist/esm/dialog/index.js +5 -0
  192. package/dist/esm/dialog/index.js.map +1 -0
  193. package/dist/esm/divider/divider.js +29 -4
  194. package/dist/esm/divider/divider.js.map +1 -1
  195. package/dist/esm/divider/divider.options.js +14 -5
  196. package/dist/esm/divider/divider.options.js.map +1 -1
  197. package/dist/esm/divider/divider.styles.js +1 -1
  198. package/dist/esm/divider/divider.styles.js.map +1 -1
  199. package/dist/esm/divider/divider.template.js +12 -1
  200. package/dist/esm/divider/divider.template.js.map +1 -1
  201. package/dist/esm/form-associated/form-associated.js +458 -0
  202. package/dist/esm/form-associated/form-associated.js.map +1 -0
  203. package/dist/esm/index.js +5 -0
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/label/label.styles.js +1 -1
  206. package/dist/esm/label/label.styles.js.map +1 -1
  207. package/dist/esm/menu/define.js +4 -0
  208. package/dist/esm/menu/define.js.map +1 -0
  209. package/dist/esm/menu/index.js +5 -0
  210. package/dist/esm/menu/index.js.map +1 -0
  211. package/dist/esm/menu/menu.definition.js +17 -0
  212. package/dist/esm/menu/menu.definition.js.map +1 -0
  213. package/dist/esm/menu/menu.js +413 -0
  214. package/dist/esm/menu/menu.js.map +1 -0
  215. package/dist/esm/menu/menu.styles.js +17 -0
  216. package/dist/esm/menu/menu.styles.js.map +1 -0
  217. package/dist/esm/menu/menu.template.js +24 -0
  218. package/dist/esm/menu/menu.template.js.map +1 -0
  219. package/dist/esm/menu-button/menu-button.definition.js +0 -3
  220. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  221. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  222. package/dist/esm/menu-button/menu-button.template.js +1 -1
  223. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  224. package/dist/esm/menu-item/menu-item.definition.js +0 -4
  225. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  226. package/dist/esm/menu-item/menu-item.js +270 -4
  227. package/dist/esm/menu-item/menu-item.js.map +1 -1
  228. package/dist/esm/menu-item/menu-item.options.js +27 -0
  229. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  230. package/dist/esm/menu-item/menu-item.styles.js +1 -1
  231. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  232. package/dist/esm/menu-item/menu-item.template.js +57 -2
  233. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  234. package/dist/esm/menu-list/menu-list.definition.js +0 -4
  235. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  236. package/dist/esm/menu-list/menu-list.js +265 -10
  237. package/dist/esm/menu-list/menu-list.js.map +1 -1
  238. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  239. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  240. package/dist/esm/menu-list/menu-list.template.js +13 -1
  241. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  242. package/dist/esm/patterns/aria-globals.js +77 -0
  243. package/dist/esm/patterns/aria-globals.js.map +1 -0
  244. package/dist/esm/patterns/index.js +3 -0
  245. package/dist/esm/patterns/index.js.map +1 -0
  246. package/dist/esm/patterns/start-end.js +29 -0
  247. package/dist/esm/patterns/start-end.js.map +1 -0
  248. package/dist/esm/progress-bar/base-progress.js +61 -0
  249. package/dist/esm/progress-bar/base-progress.js.map +1 -0
  250. package/dist/esm/progress-bar/progress-bar.js +10 -3
  251. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  252. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  253. package/dist/esm/progress-bar/progress-bar.styles.js +1 -1
  254. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  255. package/dist/esm/progress-bar/progress-bar.template.js +25 -1
  256. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  257. package/dist/esm/progress-ring/progress-ring.js +16 -0
  258. package/dist/esm/progress-ring/progress-ring.js.map +1 -0
  259. package/dist/esm/progress-ring/progress-ring.options.js +2 -0
  260. package/dist/esm/progress-ring/progress-ring.options.js.map +1 -0
  261. package/dist/esm/radio/radio.form-associated.js +14 -0
  262. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  263. package/dist/esm/radio/radio.js +96 -3
  264. package/dist/esm/radio/radio.js.map +1 -1
  265. package/dist/esm/radio/radio.styles.js +1 -1
  266. package/dist/esm/radio/radio.styles.js.map +1 -1
  267. package/dist/esm/radio/radio.template.js +28 -2
  268. package/dist/esm/radio/radio.template.js.map +1 -1
  269. package/dist/esm/radio-group/index.js +0 -1
  270. package/dist/esm/radio-group/index.js.map +1 -1
  271. package/dist/esm/radio-group/radio-group.js +346 -3
  272. package/dist/esm/radio-group/radio-group.js.map +1 -1
  273. package/dist/esm/radio-group/radio-group.options.js +7 -0
  274. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  275. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  276. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  277. package/dist/esm/radio-group/radio-group.template.js +30 -1
  278. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  279. package/dist/esm/slider/slider-utilities.js +12 -0
  280. package/dist/esm/slider/slider-utilities.js.map +1 -0
  281. package/dist/esm/slider/slider.form-associated.js +14 -0
  282. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  283. package/dist/esm/slider/slider.js +432 -16
  284. package/dist/esm/slider/slider.js.map +1 -1
  285. package/dist/esm/slider/slider.options.js +11 -1
  286. package/dist/esm/slider/slider.options.js.map +1 -1
  287. package/dist/esm/slider/slider.styles.js +1 -1
  288. package/dist/esm/slider/slider.styles.js.map +1 -1
  289. package/dist/esm/slider/slider.template.js +38 -1
  290. package/dist/esm/slider/slider.template.js.map +1 -1
  291. package/dist/esm/spinner/spinner.definition.js +0 -4
  292. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  293. package/dist/esm/spinner/spinner.js +2 -2
  294. package/dist/esm/spinner/spinner.js.map +1 -1
  295. package/dist/esm/spinner/spinner.styles.js +1 -1
  296. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  297. package/dist/esm/spinner/spinner.template.js +27 -1
  298. package/dist/esm/spinner/spinner.template.js.map +1 -1
  299. package/dist/esm/styles/partials/badge.partials.js +1 -1
  300. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  301. package/dist/esm/switch/switch.form-associated.js +14 -0
  302. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  303. package/dist/esm/switch/switch.js +48 -3
  304. package/dist/esm/switch/switch.js.map +1 -1
  305. package/dist/esm/switch/switch.styles.js +4 -3
  306. package/dist/esm/switch/switch.styles.js.map +1 -1
  307. package/dist/esm/switch/switch.template.js +25 -1
  308. package/dist/esm/switch/switch.template.js.map +1 -1
  309. package/dist/esm/tab/tab.js +14 -3
  310. package/dist/esm/tab/tab.js.map +1 -1
  311. package/dist/esm/tab/tab.styles.js +1 -1
  312. package/dist/esm/tab/tab.styles.js.map +1 -1
  313. package/dist/esm/tab/tab.template.js +1 -1
  314. package/dist/esm/tab/tab.template.js.map +1 -1
  315. package/dist/esm/tab-panel/tab-panel.js +2 -2
  316. package/dist/esm/tab-panel/tab-panel.js.map +1 -1
  317. package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
  318. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  319. package/dist/esm/tab-panel/tab-panel.template.js +8 -1
  320. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  321. package/dist/esm/tabs/tabs.js +278 -5
  322. package/dist/esm/tabs/tabs.js.map +1 -1
  323. package/dist/esm/tabs/tabs.options.js +6 -2
  324. package/dist/esm/tabs/tabs.options.js.map +1 -1
  325. package/dist/esm/tabs/tabs.styles.js +1 -1
  326. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  327. package/dist/esm/tabs/tabs.template.js +14 -1
  328. package/dist/esm/tabs/tabs.template.js.map +1 -1
  329. package/dist/esm/text/text.styles.js +1 -1
  330. package/dist/esm/text/text.styles.js.map +1 -1
  331. package/dist/esm/text-input/index.js +0 -1
  332. package/dist/esm/text-input/index.js.map +1 -1
  333. package/dist/esm/text-input/text-field.form-associated.js +14 -0
  334. package/dist/esm/text-input/text-field.form-associated.js.map +1 -0
  335. package/dist/esm/text-input/text-input.js +167 -7
  336. package/dist/esm/text-input/text-input.js.map +1 -1
  337. package/dist/esm/text-input/text-input.options.js +26 -0
  338. package/dist/esm/text-input/text-input.options.js.map +1 -1
  339. package/dist/esm/text-input/text-input.styles.js +1 -1
  340. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  341. package/dist/esm/text-input/text-input.template.js +64 -1
  342. package/dist/esm/text-input/text-input.template.js.map +1 -1
  343. package/dist/esm/theme/design-tokens.js +385 -386
  344. package/dist/esm/theme/design-tokens.js.map +1 -1
  345. package/dist/esm/theme/set-theme.js +2 -2
  346. package/dist/esm/theme/set-theme.js.map +1 -1
  347. package/dist/esm/toggle-button/toggle-button.definition.js +0 -2
  348. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  349. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  350. package/dist/esm/toggle-button/toggle-button.styles.js +1 -1
  351. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  352. package/dist/esm/toggle-button/toggle-button.template.js +1 -1
  353. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
  354. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  355. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  356. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  357. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  358. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  359. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  360. package/dist/esm/utils/direction.js +15 -0
  361. package/dist/esm/utils/direction.js.map +1 -0
  362. package/dist/esm/utils/display.js +15 -0
  363. package/dist/esm/utils/display.js.map +1 -0
  364. package/dist/esm/utils/index.js +7 -0
  365. package/dist/esm/utils/index.js.map +1 -0
  366. package/dist/esm/utils/template-helpers.js +19 -0
  367. package/dist/esm/utils/template-helpers.js.map +1 -0
  368. package/dist/esm/utils/typings.js +3 -0
  369. package/dist/esm/utils/typings.js.map +1 -0
  370. package/dist/esm/utils/whitespace-filter.js +13 -0
  371. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  372. package/dist/fluent-web-components.api.json +16013 -6435
  373. package/dist/storybook/289.703b1698.iframe.bundle.js +2 -0
  374. package/dist/storybook/{885.6558041f.iframe.bundle.js.LICENSE.txt → 289.703b1698.iframe.bundle.js.LICENSE.txt} +5 -0
  375. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +2 -0
  376. package/dist/storybook/iframe.html +1 -1
  377. package/dist/storybook/index.html +1 -1
  378. package/dist/storybook/{main.18c2c615e57574af12cd.manager.bundle.js → main.5d7b916dc1e37293b1d8.manager.bundle.js} +1 -1
  379. package/dist/storybook/main.81e47c59.iframe.bundle.js +2 -0
  380. package/dist/storybook/main.81e47c59.iframe.bundle.js.LICENSE.txt +1 -0
  381. package/dist/storybook/project.json +1 -1
  382. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +1 -0
  383. package/dist/web-components.d.ts +3213 -669
  384. package/dist/web-components.js +2530 -3937
  385. package/dist/web-components.min.js +195 -186
  386. package/docs/api-report.md +1104 -476
  387. package/package.json +43 -30
  388. package/tensile.config.js +22 -0
  389. package/dist/storybook/761.21909e5ef44f985ae0d4.manager.bundle.js +0 -2
  390. package/dist/storybook/885.6558041f.iframe.bundle.js +0 -462
  391. package/dist/storybook/885.6558041f.iframe.bundle.js.map +0 -1
  392. package/dist/storybook/main.2c02ce39.iframe.bundle.js +0 -1
  393. package/dist/storybook/runtime~main.8db883e762072830487f.manager.bundle.js +0 -1
  394. /package/dist/storybook/{761.21909e5ef44f985ae0d4.manager.bundle.js.LICENSE.txt → 591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt} +0 -0
@@ -1,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,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
@@ -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,221 @@
1
- import { FASTAccordion } from '@microsoft/fast-foundation/accordion.js';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Observable } from '@microsoft/fast-element';
8
+ import { attr, FASTElement, observable } from '@microsoft/fast-element';
9
+ import { keyArrowDown, keyArrowUp, keyEnd, keyHome, wrapInBounds } from '@microsoft/fast-web-utilities';
10
+ import { AccordionItem } from '../accordion-item/accordion-item.js';
11
+ import { AccordionExpandMode } from './accordion.options.js';
2
12
  /**
3
- * The base class used for constructing a fluent-accordion custom element
13
+ * An Accordion Custom HTML Element
14
+ * Implements {@link https://www.w3.org/TR/wai-aria-practices-1.1/#accordion | ARIA Accordion}.
15
+ *
16
+ * @fires change - Fires a custom 'change' event when the active item changes
17
+ * @csspart item - The slot for the accordion items
4
18
  * @public
5
19
  */
6
- export class Accordion extends FASTAccordion {
20
+ export class Accordion extends FASTElement {
21
+ constructor() {
22
+ super(...arguments);
23
+ /**
24
+ * Controls the expand mode of the Accordion, either allowing
25
+ * single or multiple item expansion.
26
+ * @public
27
+ *
28
+ * @remarks
29
+ * HTML attribute: expand-mode
30
+ */
31
+ this.expandmode = AccordionExpandMode.multi;
32
+ this.activeItemIndex = 0;
33
+ this.change = () => {
34
+ this.$emit('change', this.activeid);
35
+ };
36
+ this.setItems = () => {
37
+ if (this.slottedAccordionItems.length === 0) {
38
+ return;
39
+ }
40
+ const children = Array.from(this.children);
41
+ this.removeItemListeners(children);
42
+ children.forEach((child) => Observable.getNotifier(child).subscribe(this, 'disabled'));
43
+ this.accordionItems = children.filter(child => !child.hasAttribute('disabled'));
44
+ this.accordionIds = this.getItemIds();
45
+ this.accordionItems.forEach((item, index) => {
46
+ if (item instanceof AccordionItem) {
47
+ item.addEventListener('click', this.activeItemChange);
48
+ item.addEventListener('keydown', this.handleItemKeyDown);
49
+ item.addEventListener('focus', this.handleItemFocus);
50
+ Observable.getNotifier(item).subscribe(this, 'expanded');
51
+ }
52
+ const itemId = this.accordionIds[index];
53
+ item.setAttribute('id', typeof itemId !== 'string' ? `accordion-${index + 1}` : itemId);
54
+ this.activeid = this.accordionIds[this.activeItemIndex];
55
+ });
56
+ if (this.isSingleExpandMode()) {
57
+ const expandedItem = this.findExpandedItem();
58
+ this.setSingleExpandMode(expandedItem);
59
+ }
60
+ };
61
+ this.removeItemListeners = (oldValue) => {
62
+ oldValue.forEach((item, index) => {
63
+ Observable.getNotifier(item).unsubscribe(this, 'disabled');
64
+ Observable.getNotifier(item).unsubscribe(this, 'expanded');
65
+ item.removeEventListener('click', this.activeItemChange);
66
+ item.removeEventListener('keydown', this.handleItemKeyDown);
67
+ item.removeEventListener('focus', this.handleItemFocus);
68
+ });
69
+ };
70
+ this.activeItemChange = (event) => {
71
+ if (event.defaultPrevented || event.target !== event.currentTarget) {
72
+ return;
73
+ }
74
+ event.preventDefault();
75
+ this.handleExpandedChange(event.target);
76
+ };
77
+ this.handleExpandedChange = (item) => {
78
+ if (item instanceof AccordionItem) {
79
+ this.activeid = item.getAttribute('id');
80
+ if (!this.isSingleExpandMode()) {
81
+ item.expanded = !item.expanded;
82
+ // setSingleExpandMode sets activeItemIndex on its own
83
+ this.activeItemIndex = this.accordionItems.indexOf(item);
84
+ }
85
+ else {
86
+ this.setSingleExpandMode(item);
87
+ }
88
+ this.change();
89
+ }
90
+ };
91
+ this.handleItemKeyDown = (event) => {
92
+ // only handle the keydown if the event target is the accordion item
93
+ // prevents arrow keys from moving focus to accordion headers when focus is on accordion item panel content
94
+ if (event.target !== event.currentTarget) {
95
+ return;
96
+ }
97
+ this.accordionIds = this.getItemIds();
98
+ switch (event.key) {
99
+ case keyArrowUp:
100
+ event.preventDefault();
101
+ this.adjust(-1);
102
+ break;
103
+ case keyArrowDown:
104
+ event.preventDefault();
105
+ this.adjust(1);
106
+ break;
107
+ case keyHome:
108
+ this.activeItemIndex = 0;
109
+ this.focusItem();
110
+ break;
111
+ case keyEnd:
112
+ this.activeItemIndex = this.accordionItems.length - 1;
113
+ this.focusItem();
114
+ break;
115
+ }
116
+ };
117
+ this.handleItemFocus = (event) => {
118
+ // 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
119
+ // only do so if the focus is actually on the accordion item and not on any of its children
120
+ if (event.target === event.currentTarget) {
121
+ const focusedItem = event.target;
122
+ const focusedIndex = (this.activeItemIndex = Array.from(this.accordionItems).indexOf(focusedItem));
123
+ if (this.activeItemIndex !== focusedIndex && focusedIndex !== -1) {
124
+ this.activeItemIndex = focusedIndex;
125
+ this.activeid = this.accordionIds[this.activeItemIndex];
126
+ }
127
+ }
128
+ };
129
+ }
130
+ expandmodeChanged(prev, next) {
131
+ if (!this.$fastController.isConnected) {
132
+ return;
133
+ }
134
+ const expandedItem = this.findExpandedItem();
135
+ if (!expandedItem) {
136
+ return;
137
+ }
138
+ if (next !== AccordionExpandMode.single) {
139
+ expandedItem === null || expandedItem === void 0 ? void 0 : expandedItem.expandbutton.removeAttribute('aria-disabled');
140
+ }
141
+ else {
142
+ this.setSingleExpandMode(expandedItem);
143
+ }
144
+ }
145
+ /**
146
+ * @internal
147
+ */
148
+ slottedAccordionItemsChanged(oldValue, newValue) {
149
+ if (this.$fastController.isConnected) {
150
+ this.setItems();
151
+ }
152
+ }
153
+ /**
154
+ * @internal
155
+ */
156
+ handleChange(source, propertyName) {
157
+ if (propertyName === 'disabled') {
158
+ this.setItems();
159
+ }
160
+ else if (propertyName === 'expanded') {
161
+ // we only need to manage single expanded instances
162
+ // such as scenarios where a child is programatically expanded
163
+ if (source.expanded && this.isSingleExpandMode()) {
164
+ this.setSingleExpandMode(source);
165
+ }
166
+ }
167
+ }
168
+ findExpandedItem() {
169
+ var _a;
170
+ if (this.accordionItems.length === 0) {
171
+ return null;
172
+ }
173
+ return ((_a = this.accordionItems.find((item) => item instanceof AccordionItem && item.expanded)) !== null && _a !== void 0 ? _a : this.accordionItems[0]);
174
+ }
175
+ setSingleExpandMode(expandedItem) {
176
+ if (this.accordionItems.length === 0) {
177
+ return;
178
+ }
179
+ const currentItems = Array.from(this.accordionItems);
180
+ this.activeItemIndex = currentItems.indexOf(expandedItem);
181
+ currentItems.forEach((item, index) => {
182
+ if (item instanceof AccordionItem) {
183
+ if (this.activeItemIndex === index) {
184
+ item.expanded = true;
185
+ item.expandbutton.setAttribute('aria-disabled', 'true');
186
+ }
187
+ else {
188
+ item.expanded = false;
189
+ if (!item.hasAttribute('disabled')) {
190
+ item.expandbutton.removeAttribute('aria-disabled');
191
+ }
192
+ }
193
+ }
194
+ });
195
+ }
196
+ getItemIds() {
197
+ return this.slottedAccordionItems.map((accordionItem) => {
198
+ return accordionItem.id;
199
+ });
200
+ }
201
+ isSingleExpandMode() {
202
+ return this.expandmode === AccordionExpandMode.single;
203
+ }
204
+ adjust(adjustment) {
205
+ this.activeItemIndex = wrapInBounds(0, this.accordionItems.length - 1, this.activeItemIndex + adjustment);
206
+ this.focusItem();
207
+ }
208
+ focusItem() {
209
+ const element = this.accordionItems[this.activeItemIndex];
210
+ if (element instanceof AccordionItem) {
211
+ element.expandbutton.focus();
212
+ }
213
+ }
7
214
  }
215
+ __decorate([
216
+ attr({ attribute: 'expand-mode' })
217
+ ], Accordion.prototype, "expandmode", void 0);
218
+ __decorate([
219
+ observable
220
+ ], Accordion.prototype, "slottedAccordionItems", void 0);
8
221
  //# 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"}
@@ -3,9 +3,6 @@ import { AccordionItem } from './accordion-item.js';
3
3
  import { styles } from './accordion-item.styles.js';
4
4
  import { template } from './accordion-item.template.js';
5
5
  /**
6
- * The Fluent AccordionItem Element. Implements {@link @microsoft/fast-foundation#AccordionItem },
7
- * {@link @microsoft/fast-foundation#accordionItemTemplate}
8
- *
9
6
  *
10
7
  * @public
11
8
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"accordion-item.definition.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAC9C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,iBAAiB;IACnD,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"accordion-item.definition.js","sourceRoot":"","sources":["../../../src/accordion-item/accordion-item.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC;IAC9C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,iBAAiB;IACnD,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}