@fluentui/web-components 3.0.0-rc.15 → 3.0.0-rc.17

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 (547) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/custom-elements.json +10660 -11092
  3. package/dist/esm/accordion/accordion.d.ts +4 -7
  4. package/dist/esm/accordion/accordion.definition.js +2 -2
  5. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  6. package/dist/esm/accordion/accordion.js +4 -7
  7. package/dist/esm/accordion/accordion.js.map +1 -1
  8. package/dist/esm/accordion/accordion.options.d.ts +7 -1
  9. package/dist/esm/accordion/accordion.options.js +7 -0
  10. package/dist/esm/accordion/accordion.options.js.map +1 -1
  11. package/dist/esm/accordion/accordion.styles.js +1 -1
  12. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  13. package/dist/esm/accordion/index.d.ts +1 -0
  14. package/dist/esm/accordion/index.js +1 -0
  15. package/dist/esm/accordion/index.js.map +1 -1
  16. package/dist/esm/accordion-item/accordion-item.d.ts +2 -4
  17. package/dist/esm/accordion-item/accordion-item.definition.js +2 -2
  18. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  19. package/dist/esm/accordion-item/accordion-item.js +1 -1
  20. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  21. package/dist/esm/accordion-item/accordion-item.options.d.ts +6 -0
  22. package/dist/esm/accordion-item/accordion-item.options.js +7 -0
  23. package/dist/esm/accordion-item/accordion-item.options.js.map +1 -1
  24. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  25. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  26. package/dist/esm/accordion-item/accordion-item.template.js +2 -2
  27. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  28. package/dist/esm/accordion-item/index.d.ts +1 -0
  29. package/dist/esm/accordion-item/index.js +1 -0
  30. package/dist/esm/accordion-item/index.js.map +1 -1
  31. package/dist/esm/anchor-button/anchor-button.base.d.ts +1 -1
  32. package/dist/esm/anchor-button/anchor-button.base.js +8 -9
  33. package/dist/esm/anchor-button/anchor-button.base.js.map +1 -1
  34. package/dist/esm/anchor-button/anchor-button.d.ts +1 -2
  35. package/dist/esm/anchor-button/anchor-button.definition.js +2 -2
  36. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  37. package/dist/esm/anchor-button/anchor-button.js +1 -1
  38. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  39. package/dist/esm/anchor-button/anchor-button.options.d.ts +7 -1
  40. package/dist/esm/anchor-button/anchor-button.options.js +7 -0
  41. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  42. package/dist/esm/anchor-button/anchor-button.styles.js +4 -3
  43. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  44. package/dist/esm/anchor-button/anchor-button.template.js +1 -1
  45. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  46. package/dist/esm/anchor-button/index.d.ts +1 -0
  47. package/dist/esm/anchor-button/index.js +1 -0
  48. package/dist/esm/anchor-button/index.js.map +1 -1
  49. package/dist/esm/avatar/avatar.definition.js +2 -2
  50. package/dist/esm/avatar/avatar.definition.js.map +1 -1
  51. package/dist/esm/avatar/avatar.options.d.ts +7 -1
  52. package/dist/esm/avatar/avatar.options.js +7 -0
  53. package/dist/esm/avatar/avatar.options.js.map +1 -1
  54. package/dist/esm/avatar/avatar.styles.js +1 -1
  55. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  56. package/dist/esm/avatar/index.d.ts +1 -0
  57. package/dist/esm/avatar/index.js +1 -0
  58. package/dist/esm/avatar/index.js.map +1 -1
  59. package/dist/esm/badge/badge.d.ts +1 -1
  60. package/dist/esm/badge/badge.definition.js +2 -2
  61. package/dist/esm/badge/badge.definition.js.map +1 -1
  62. package/dist/esm/badge/badge.js +1 -1
  63. package/dist/esm/badge/badge.js.map +1 -1
  64. package/dist/esm/badge/badge.options.d.ts +9 -2
  65. package/dist/esm/badge/badge.options.js +7 -0
  66. package/dist/esm/badge/badge.options.js.map +1 -1
  67. package/dist/esm/badge/badge.styles.js +5 -4
  68. package/dist/esm/badge/badge.styles.js.map +1 -1
  69. package/dist/esm/badge/badge.template.js +1 -1
  70. package/dist/esm/badge/badge.template.js.map +1 -1
  71. package/dist/esm/badge/index.d.ts +1 -0
  72. package/dist/esm/badge/index.js +1 -0
  73. package/dist/esm/badge/index.js.map +1 -1
  74. package/dist/esm/button/button.base.js +1 -2
  75. package/dist/esm/button/button.base.js.map +1 -1
  76. package/dist/esm/button/button.d.ts +1 -1
  77. package/dist/esm/button/button.definition.js +2 -2
  78. package/dist/esm/button/button.definition.js.map +1 -1
  79. package/dist/esm/button/button.js +1 -1
  80. package/dist/esm/button/button.js.map +1 -1
  81. package/dist/esm/button/button.options.d.ts +8 -2
  82. package/dist/esm/button/button.options.js +7 -0
  83. package/dist/esm/button/button.options.js.map +1 -1
  84. package/dist/esm/button/button.styles.js +5 -3
  85. package/dist/esm/button/button.styles.js.map +1 -1
  86. package/dist/esm/button/button.template.js +1 -1
  87. package/dist/esm/button/button.template.js.map +1 -1
  88. package/dist/esm/button/index.d.ts +1 -0
  89. package/dist/esm/button/index.js +1 -0
  90. package/dist/esm/button/index.js.map +1 -1
  91. package/dist/esm/checkbox/checkbox.definition.js +2 -2
  92. package/dist/esm/checkbox/checkbox.definition.js.map +1 -1
  93. package/dist/esm/checkbox/checkbox.options.d.ts +6 -0
  94. package/dist/esm/checkbox/checkbox.options.js +7 -0
  95. package/dist/esm/checkbox/checkbox.options.js.map +1 -1
  96. package/dist/esm/checkbox/checkbox.styles.js +4 -3
  97. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  98. package/dist/esm/checkbox/index.d.ts +1 -0
  99. package/dist/esm/checkbox/index.js +1 -0
  100. package/dist/esm/checkbox/index.js.map +1 -1
  101. package/dist/esm/compound-button/compound-button.definition.js +2 -2
  102. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  103. package/dist/esm/compound-button/compound-button.options.d.ts +7 -1
  104. package/dist/esm/compound-button/compound-button.options.js +7 -0
  105. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  106. package/dist/esm/compound-button/compound-button.styles.js +4 -3
  107. package/dist/esm/compound-button/compound-button.styles.js.map +1 -1
  108. package/dist/esm/compound-button/compound-button.template.js +1 -1
  109. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  110. package/dist/esm/compound-button/index.d.ts +1 -0
  111. package/dist/esm/compound-button/index.js +1 -0
  112. package/dist/esm/compound-button/index.js.map +1 -1
  113. package/dist/esm/counter-badge/counter-badge.d.ts +1 -1
  114. package/dist/esm/counter-badge/counter-badge.definition.js +2 -2
  115. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  116. package/dist/esm/counter-badge/counter-badge.js +1 -1
  117. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  118. package/dist/esm/counter-badge/counter-badge.options.d.ts +7 -1
  119. package/dist/esm/counter-badge/counter-badge.options.js +7 -0
  120. package/dist/esm/counter-badge/counter-badge.options.js.map +1 -1
  121. package/dist/esm/counter-badge/counter-badge.styles.js +1 -1
  122. package/dist/esm/counter-badge/counter-badge.styles.js.map +1 -1
  123. package/dist/esm/counter-badge/index.d.ts +1 -0
  124. package/dist/esm/counter-badge/index.js +1 -0
  125. package/dist/esm/counter-badge/index.js.map +1 -1
  126. package/dist/esm/dialog/dialog.definition.js +2 -2
  127. package/dist/esm/dialog/dialog.definition.js.map +1 -1
  128. package/dist/esm/dialog/dialog.options.d.ts +7 -1
  129. package/dist/esm/dialog/dialog.options.js +7 -0
  130. package/dist/esm/dialog/dialog.options.js.map +1 -1
  131. package/dist/esm/dialog/dialog.styles.js +4 -3
  132. package/dist/esm/dialog/dialog.styles.js.map +1 -1
  133. package/dist/esm/dialog/index.d.ts +1 -0
  134. package/dist/esm/dialog/index.js +1 -0
  135. package/dist/esm/dialog/index.js.map +1 -1
  136. package/dist/esm/dialog-body/dialog-body.definition.js +2 -2
  137. package/dist/esm/dialog-body/dialog-body.definition.js.map +1 -1
  138. package/dist/esm/dialog-body/dialog-body.options.d.ts +6 -0
  139. package/dist/esm/dialog-body/dialog-body.options.js +8 -0
  140. package/dist/esm/dialog-body/dialog-body.options.js.map +1 -0
  141. package/dist/esm/dialog-body/dialog-body.styles.js +1 -1
  142. package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -1
  143. package/dist/esm/dialog-body/index.d.ts +1 -0
  144. package/dist/esm/dialog-body/index.js +1 -0
  145. package/dist/esm/dialog-body/index.js.map +1 -1
  146. package/dist/esm/divider/divider.definition.js +2 -2
  147. package/dist/esm/divider/divider.definition.js.map +1 -1
  148. package/dist/esm/divider/divider.options.d.ts +7 -1
  149. package/dist/esm/divider/divider.options.js +8 -1
  150. package/dist/esm/divider/divider.options.js.map +1 -1
  151. package/dist/esm/divider/divider.styles.js +5 -3
  152. package/dist/esm/divider/divider.styles.js.map +1 -1
  153. package/dist/esm/divider/index.d.ts +1 -0
  154. package/dist/esm/divider/index.js +1 -0
  155. package/dist/esm/divider/index.js.map +1 -1
  156. package/dist/esm/drawer/drawer.d.ts +8 -7
  157. package/dist/esm/drawer/drawer.definition.js +2 -2
  158. package/dist/esm/drawer/drawer.definition.js.map +1 -1
  159. package/dist/esm/drawer/drawer.js +8 -7
  160. package/dist/esm/drawer/drawer.js.map +1 -1
  161. package/dist/esm/drawer/drawer.options.d.ts +7 -1
  162. package/dist/esm/drawer/drawer.options.js +7 -0
  163. package/dist/esm/drawer/drawer.options.js.map +1 -1
  164. package/dist/esm/drawer/drawer.styles.js +1 -1
  165. package/dist/esm/drawer/drawer.styles.js.map +1 -1
  166. package/dist/esm/drawer/index.d.ts +1 -0
  167. package/dist/esm/drawer/index.js +1 -0
  168. package/dist/esm/drawer/index.js.map +1 -1
  169. package/dist/esm/drawer-body/drawer-body.definition.js +2 -2
  170. package/dist/esm/drawer-body/drawer-body.definition.js.map +1 -1
  171. package/dist/esm/drawer-body/drawer-body.options.d.ts +6 -0
  172. package/dist/esm/drawer-body/drawer-body.options.js +8 -0
  173. package/dist/esm/drawer-body/drawer-body.options.js.map +1 -0
  174. package/dist/esm/drawer-body/drawer-body.styles.js +1 -1
  175. package/dist/esm/drawer-body/drawer-body.styles.js.map +1 -1
  176. package/dist/esm/drawer-body/index.d.ts +1 -0
  177. package/dist/esm/drawer-body/index.js +1 -0
  178. package/dist/esm/drawer-body/index.js.map +1 -1
  179. package/dist/esm/dropdown/dropdown.definition.js +2 -2
  180. package/dist/esm/dropdown/dropdown.definition.js.map +1 -1
  181. package/dist/esm/dropdown/dropdown.options.d.ts +6 -0
  182. package/dist/esm/dropdown/dropdown.options.js +7 -0
  183. package/dist/esm/dropdown/dropdown.options.js.map +1 -1
  184. package/dist/esm/dropdown/index.d.ts +1 -0
  185. package/dist/esm/dropdown/index.js +1 -0
  186. package/dist/esm/dropdown/index.js.map +1 -1
  187. package/dist/esm/field/field.base.js +1 -1
  188. package/dist/esm/field/field.base.js.map +1 -1
  189. package/dist/esm/field/field.definition.js +2 -2
  190. package/dist/esm/field/field.definition.js.map +1 -1
  191. package/dist/esm/field/field.options.d.ts +6 -0
  192. package/dist/esm/field/field.options.js +7 -0
  193. package/dist/esm/field/field.options.js.map +1 -1
  194. package/dist/esm/field/index.d.ts +1 -0
  195. package/dist/esm/field/index.js +1 -0
  196. package/dist/esm/field/index.js.map +1 -1
  197. package/dist/esm/fluent-design-system.js +1 -1
  198. package/dist/esm/fluent-design-system.js.map +1 -1
  199. package/dist/esm/image/image.definition.js +2 -2
  200. package/dist/esm/image/image.definition.js.map +1 -1
  201. package/dist/esm/image/image.options.d.ts +7 -1
  202. package/dist/esm/image/image.options.js +7 -0
  203. package/dist/esm/image/image.options.js.map +1 -1
  204. package/dist/esm/image/index.d.ts +1 -0
  205. package/dist/esm/image/index.js +1 -0
  206. package/dist/esm/image/index.js.map +1 -1
  207. package/dist/esm/index.d.ts +2 -3
  208. package/dist/esm/index.js +2 -2
  209. package/dist/esm/index.js.map +1 -1
  210. package/dist/esm/label/index.d.ts +1 -0
  211. package/dist/esm/label/index.js +1 -0
  212. package/dist/esm/label/index.js.map +1 -1
  213. package/dist/esm/label/label.definition.js +2 -2
  214. package/dist/esm/label/label.definition.js.map +1 -1
  215. package/dist/esm/label/label.options.d.ts +7 -1
  216. package/dist/esm/label/label.options.js +7 -0
  217. package/dist/esm/label/label.options.js.map +1 -1
  218. package/dist/esm/label/label.styles.js +1 -1
  219. package/dist/esm/label/label.styles.js.map +1 -1
  220. package/dist/esm/link/index.d.ts +1 -0
  221. package/dist/esm/link/index.js +1 -0
  222. package/dist/esm/link/index.js.map +1 -1
  223. package/dist/esm/link/link.definition.js +2 -2
  224. package/dist/esm/link/link.definition.js.map +1 -1
  225. package/dist/esm/link/link.options.d.ts +7 -1
  226. package/dist/esm/link/link.options.js +7 -0
  227. package/dist/esm/link/link.options.js.map +1 -1
  228. package/dist/esm/link/link.styles.js +5 -3
  229. package/dist/esm/link/link.styles.js.map +1 -1
  230. package/dist/esm/listbox/index.d.ts +1 -0
  231. package/dist/esm/listbox/index.js +1 -0
  232. package/dist/esm/listbox/index.js.map +1 -1
  233. package/dist/esm/listbox/listbox.definition.js +2 -2
  234. package/dist/esm/listbox/listbox.definition.js.map +1 -1
  235. package/dist/esm/listbox/listbox.options.d.ts +6 -0
  236. package/dist/esm/listbox/listbox.options.js +7 -0
  237. package/dist/esm/listbox/listbox.options.js.map +1 -1
  238. package/dist/esm/menu/index.d.ts +1 -0
  239. package/dist/esm/menu/index.js +1 -0
  240. package/dist/esm/menu/index.js.map +1 -1
  241. package/dist/esm/menu/menu.definition.js +2 -2
  242. package/dist/esm/menu/menu.definition.js.map +1 -1
  243. package/dist/esm/menu/menu.js +8 -8
  244. package/dist/esm/menu/menu.js.map +1 -1
  245. package/dist/esm/menu/menu.options.d.ts +6 -0
  246. package/dist/esm/menu/menu.options.js +8 -0
  247. package/dist/esm/menu/menu.options.js.map +1 -0
  248. package/dist/esm/menu/menu.styles.js +1 -1
  249. package/dist/esm/menu/menu.styles.js.map +1 -1
  250. package/dist/esm/menu-button/index.d.ts +1 -0
  251. package/dist/esm/menu-button/index.js +1 -0
  252. package/dist/esm/menu-button/index.js.map +1 -1
  253. package/dist/esm/menu-button/menu-button.definition.js +2 -2
  254. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  255. package/dist/esm/menu-button/menu-button.options.d.ts +7 -1
  256. package/dist/esm/menu-button/menu-button.options.js +7 -0
  257. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  258. package/dist/esm/menu-item/index.d.ts +1 -0
  259. package/dist/esm/menu-item/index.js +1 -0
  260. package/dist/esm/menu-item/index.js.map +1 -1
  261. package/dist/esm/menu-item/menu-item.d.ts +3 -1
  262. package/dist/esm/menu-item/menu-item.definition.js +2 -2
  263. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  264. package/dist/esm/menu-item/menu-item.js +23 -12
  265. package/dist/esm/menu-item/menu-item.js.map +1 -1
  266. package/dist/esm/menu-item/menu-item.options.d.ts +7 -1
  267. package/dist/esm/menu-item/menu-item.options.js +7 -0
  268. package/dist/esm/menu-item/menu-item.options.js.map +1 -1
  269. package/dist/esm/menu-item/menu-item.styles.js +5 -3
  270. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  271. package/dist/esm/menu-item/menu-item.template.js +3 -2
  272. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  273. package/dist/esm/menu-list/index.d.ts +1 -0
  274. package/dist/esm/menu-list/index.js +1 -0
  275. package/dist/esm/menu-list/index.js.map +1 -1
  276. package/dist/esm/menu-list/menu-list.base.d.ts +5 -24
  277. package/dist/esm/menu-list/menu-list.base.js +20 -125
  278. package/dist/esm/menu-list/menu-list.base.js.map +1 -1
  279. package/dist/esm/menu-list/menu-list.d.ts +5 -1
  280. package/dist/esm/menu-list/menu-list.definition.js +2 -2
  281. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  282. package/dist/esm/menu-list/menu-list.js +23 -1
  283. package/dist/esm/menu-list/menu-list.js.map +1 -1
  284. package/dist/esm/menu-list/menu-list.options.d.ts +6 -0
  285. package/dist/esm/menu-list/menu-list.options.js +8 -0
  286. package/dist/esm/menu-list/menu-list.options.js.map +1 -0
  287. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  288. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  289. package/dist/esm/menu-list/menu-list.template.js +1 -5
  290. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  291. package/dist/esm/message-bar/index.d.ts +1 -0
  292. package/dist/esm/message-bar/index.js +1 -0
  293. package/dist/esm/message-bar/index.js.map +1 -1
  294. package/dist/esm/message-bar/message-bar.definition.js +2 -1
  295. package/dist/esm/message-bar/message-bar.definition.js.map +1 -1
  296. package/dist/esm/message-bar/message-bar.options.d.ts +6 -0
  297. package/dist/esm/message-bar/message-bar.options.js +7 -0
  298. package/dist/esm/message-bar/message-bar.options.js.map +1 -1
  299. package/dist/esm/message-bar/message-bar.template.d.ts +3 -3
  300. package/dist/esm/message-bar/message-bar.template.js +3 -3
  301. package/dist/esm/option/index.d.ts +1 -0
  302. package/dist/esm/option/index.js +1 -0
  303. package/dist/esm/option/index.js.map +1 -1
  304. package/dist/esm/option/option.definition.js +2 -2
  305. package/dist/esm/option/option.definition.js.map +1 -1
  306. package/dist/esm/option/option.options.d.ts +6 -0
  307. package/dist/esm/option/option.options.js +7 -0
  308. package/dist/esm/option/option.options.js.map +1 -1
  309. package/dist/esm/patterns/start-end.d.ts +1 -1
  310. package/dist/esm/patterns/start-end.js +1 -1
  311. package/dist/esm/patterns/start-end.js.map +1 -1
  312. package/dist/esm/progress-bar/index.d.ts +1 -0
  313. package/dist/esm/progress-bar/index.js +1 -0
  314. package/dist/esm/progress-bar/index.js.map +1 -1
  315. package/dist/esm/progress-bar/progress-bar.definition.js +2 -2
  316. package/dist/esm/progress-bar/progress-bar.definition.js.map +1 -1
  317. package/dist/esm/progress-bar/progress-bar.options.d.ts +7 -1
  318. package/dist/esm/progress-bar/progress-bar.options.js +7 -0
  319. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  320. package/dist/esm/progress-bar/progress-bar.styles.js +5 -3
  321. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  322. package/dist/esm/radio/index.d.ts +1 -0
  323. package/dist/esm/radio/index.js +1 -0
  324. package/dist/esm/radio/index.js.map +1 -1
  325. package/dist/esm/radio/radio.d.ts +1 -1
  326. package/dist/esm/radio/radio.definition.js +2 -2
  327. package/dist/esm/radio/radio.definition.js.map +1 -1
  328. package/dist/esm/radio/radio.js +1 -1
  329. package/dist/esm/radio/radio.options.d.ts +6 -0
  330. package/dist/esm/radio/radio.options.js +7 -0
  331. package/dist/esm/radio/radio.options.js.map +1 -1
  332. package/dist/esm/radio/radio.styles.js +4 -3
  333. package/dist/esm/radio/radio.styles.js.map +1 -1
  334. package/dist/esm/radio/radio.template.js +1 -1
  335. package/dist/esm/radio/radio.template.js.map +1 -1
  336. package/dist/esm/radio-group/index.d.ts +1 -0
  337. package/dist/esm/radio-group/index.js +1 -0
  338. package/dist/esm/radio-group/index.js.map +1 -1
  339. package/dist/esm/radio-group/radio-group.base.d.ts +3 -16
  340. package/dist/esm/radio-group/radio-group.base.js +30 -89
  341. package/dist/esm/radio-group/radio-group.base.js.map +1 -1
  342. package/dist/esm/radio-group/radio-group.d.ts +5 -0
  343. package/dist/esm/radio-group/radio-group.definition.js +2 -2
  344. package/dist/esm/radio-group/radio-group.definition.js.map +1 -1
  345. package/dist/esm/radio-group/radio-group.js +22 -0
  346. package/dist/esm/radio-group/radio-group.js.map +1 -1
  347. package/dist/esm/radio-group/radio-group.options.d.ts +7 -1
  348. package/dist/esm/radio-group/radio-group.options.js +8 -1
  349. package/dist/esm/radio-group/radio-group.options.js.map +1 -1
  350. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  351. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  352. package/dist/esm/radio-group/radio-group.template.js +1 -1
  353. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  354. package/dist/esm/rating-display/index.d.ts +1 -0
  355. package/dist/esm/rating-display/index.js +1 -0
  356. package/dist/esm/rating-display/index.js.map +1 -1
  357. package/dist/esm/rating-display/rating-display.definition.js +2 -2
  358. package/dist/esm/rating-display/rating-display.definition.js.map +1 -1
  359. package/dist/esm/rating-display/rating-display.options.d.ts +7 -1
  360. package/dist/esm/rating-display/rating-display.options.js +7 -0
  361. package/dist/esm/rating-display/rating-display.options.js.map +1 -1
  362. package/dist/esm/rating-display/rating-display.styles.js +5 -3
  363. package/dist/esm/rating-display/rating-display.styles.js.map +1 -1
  364. package/dist/esm/slider/index.d.ts +1 -0
  365. package/dist/esm/slider/index.js +1 -0
  366. package/dist/esm/slider/index.js.map +1 -1
  367. package/dist/esm/slider/slider-utilities.d.ts +1 -1
  368. package/dist/esm/slider/slider-utilities.js +2 -1
  369. package/dist/esm/slider/slider-utilities.js.map +1 -1
  370. package/dist/esm/slider/slider.d.ts +2 -1
  371. package/dist/esm/slider/slider.definition.js +2 -2
  372. package/dist/esm/slider/slider.definition.js.map +1 -1
  373. package/dist/esm/slider/slider.js +9 -7
  374. package/dist/esm/slider/slider.js.map +1 -1
  375. package/dist/esm/slider/slider.options.d.ts +9 -2
  376. package/dist/esm/slider/slider.options.js +8 -1
  377. package/dist/esm/slider/slider.options.js.map +1 -1
  378. package/dist/esm/slider/slider.styles.js +5 -3
  379. package/dist/esm/slider/slider.styles.js.map +1 -1
  380. package/dist/esm/spinner/index.d.ts +1 -0
  381. package/dist/esm/spinner/index.js +1 -0
  382. package/dist/esm/spinner/index.js.map +1 -1
  383. package/dist/esm/spinner/spinner.definition.js +2 -2
  384. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  385. package/dist/esm/spinner/spinner.options.d.ts +7 -1
  386. package/dist/esm/spinner/spinner.options.js +7 -0
  387. package/dist/esm/spinner/spinner.options.js.map +1 -1
  388. package/dist/esm/spinner/spinner.styles.js +5 -3
  389. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  390. package/dist/esm/styles/index.d.ts +2 -1
  391. package/dist/esm/styles/index.js +2 -1
  392. package/dist/esm/styles/index.js.map +1 -1
  393. package/dist/esm/styles/partials/badge.partials.js +1 -1
  394. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  395. package/dist/esm/switch/index.d.ts +1 -0
  396. package/dist/esm/switch/index.js +1 -0
  397. package/dist/esm/switch/index.js.map +1 -1
  398. package/dist/esm/switch/switch.d.ts +1 -1
  399. package/dist/esm/switch/switch.definition.js +2 -2
  400. package/dist/esm/switch/switch.definition.js.map +1 -1
  401. package/dist/esm/switch/switch.options.d.ts +7 -1
  402. package/dist/esm/switch/switch.options.js +7 -0
  403. package/dist/esm/switch/switch.options.js.map +1 -1
  404. package/dist/esm/switch/switch.styles.js +4 -3
  405. package/dist/esm/switch/switch.styles.js.map +1 -1
  406. package/dist/esm/switch/switch.template.js +1 -1
  407. package/dist/esm/switch/switch.template.js.map +1 -1
  408. package/dist/esm/tab/index.d.ts +1 -0
  409. package/dist/esm/tab/index.js +1 -0
  410. package/dist/esm/tab/index.js.map +1 -1
  411. package/dist/esm/tab/tab.d.ts +2 -0
  412. package/dist/esm/tab/tab.definition.js +2 -2
  413. package/dist/esm/tab/tab.definition.js.map +1 -1
  414. package/dist/esm/tab/tab.js +13 -3
  415. package/dist/esm/tab/tab.js.map +1 -1
  416. package/dist/esm/tab/tab.options.d.ts +6 -0
  417. package/dist/esm/tab/tab.options.js +7 -0
  418. package/dist/esm/tab/tab.options.js.map +1 -1
  419. package/dist/esm/tab/tab.styles.js +23 -3
  420. package/dist/esm/tab/tab.styles.js.map +1 -1
  421. package/dist/esm/tab/tab.template.js +2 -2
  422. package/dist/esm/tab/tab.template.js.map +1 -1
  423. package/dist/esm/tablist/index.d.ts +1 -0
  424. package/dist/esm/tablist/index.js +1 -0
  425. package/dist/esm/tablist/index.js.map +1 -1
  426. package/dist/esm/tablist/tablist.base.d.ts +13 -45
  427. package/dist/esm/tablist/tablist.base.js +76 -185
  428. package/dist/esm/tablist/tablist.base.js.map +1 -1
  429. package/dist/esm/tablist/tablist.d.ts +5 -73
  430. package/dist/esm/tablist/tablist.definition.js +2 -2
  431. package/dist/esm/tablist/tablist.definition.js.map +1 -1
  432. package/dist/esm/tablist/tablist.js +20 -130
  433. package/dist/esm/tablist/tablist.js.map +1 -1
  434. package/dist/esm/tablist/tablist.options.d.ts +7 -1
  435. package/dist/esm/tablist/tablist.options.js +8 -1
  436. package/dist/esm/tablist/tablist.options.js.map +1 -1
  437. package/dist/esm/tablist/tablist.styles.js +83 -65
  438. package/dist/esm/tablist/tablist.styles.js.map +1 -1
  439. package/dist/esm/tablist/tablist.template.js +5 -1
  440. package/dist/esm/tablist/tablist.template.js.map +1 -1
  441. package/dist/esm/text/index.d.ts +1 -0
  442. package/dist/esm/text/index.js +1 -0
  443. package/dist/esm/text/index.js.map +1 -1
  444. package/dist/esm/text/text.definition.js +2 -2
  445. package/dist/esm/text/text.definition.js.map +1 -1
  446. package/dist/esm/text/text.options.d.ts +7 -1
  447. package/dist/esm/text/text.options.js +7 -0
  448. package/dist/esm/text/text.options.js.map +1 -1
  449. package/dist/esm/text/text.styles.js +1 -1
  450. package/dist/esm/text/text.styles.js.map +1 -1
  451. package/dist/esm/text-input/index.d.ts +1 -0
  452. package/dist/esm/text-input/index.js +1 -0
  453. package/dist/esm/text-input/index.js.map +1 -1
  454. package/dist/esm/text-input/text-input.definition.js +2 -2
  455. package/dist/esm/text-input/text-input.definition.js.map +1 -1
  456. package/dist/esm/text-input/text-input.options.d.ts +6 -0
  457. package/dist/esm/text-input/text-input.options.js +7 -0
  458. package/dist/esm/text-input/text-input.options.js.map +1 -1
  459. package/dist/esm/textarea/index.d.ts +1 -0
  460. package/dist/esm/textarea/index.js +1 -0
  461. package/dist/esm/textarea/index.js.map +1 -1
  462. package/dist/esm/textarea/textarea.base.js +1 -1
  463. package/dist/esm/textarea/textarea.base.js.map +1 -1
  464. package/dist/esm/textarea/textarea.definition.js +2 -2
  465. package/dist/esm/textarea/textarea.definition.js.map +1 -1
  466. package/dist/esm/textarea/textarea.options.d.ts +6 -0
  467. package/dist/esm/textarea/textarea.options.js +7 -0
  468. package/dist/esm/textarea/textarea.options.js.map +1 -1
  469. package/dist/esm/textarea/textarea.styles.js +4 -3
  470. package/dist/esm/textarea/textarea.styles.js.map +1 -1
  471. package/dist/esm/theme/set-theme.js +1 -1
  472. package/dist/esm/theme/set-theme.js.map +1 -1
  473. package/dist/esm/toggle-button/index.d.ts +1 -0
  474. package/dist/esm/toggle-button/index.js +1 -0
  475. package/dist/esm/toggle-button/index.js.map +1 -1
  476. package/dist/esm/toggle-button/toggle-button.definition.js +2 -2
  477. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  478. package/dist/esm/toggle-button/toggle-button.options.d.ts +8 -2
  479. package/dist/esm/toggle-button/toggle-button.options.js +7 -0
  480. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  481. package/dist/esm/toggle-button/toggle-button.styles.js +4 -3
  482. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  483. package/dist/esm/tooltip/index.d.ts +1 -0
  484. package/dist/esm/tooltip/index.js +1 -0
  485. package/dist/esm/tooltip/index.js.map +1 -1
  486. package/dist/esm/tooltip/tooltip.d.ts +2 -2
  487. package/dist/esm/tooltip/tooltip.definition.js +2 -2
  488. package/dist/esm/tooltip/tooltip.definition.js.map +1 -1
  489. package/dist/esm/tooltip/tooltip.js +3 -3
  490. package/dist/esm/tooltip/tooltip.js.map +1 -1
  491. package/dist/esm/tooltip/tooltip.options.d.ts +6 -0
  492. package/dist/esm/tooltip/tooltip.options.js +7 -0
  493. package/dist/esm/tooltip/tooltip.options.js.map +1 -1
  494. package/dist/esm/tree/index.d.ts +1 -0
  495. package/dist/esm/tree/index.js +1 -0
  496. package/dist/esm/tree/index.js.map +1 -1
  497. package/dist/esm/tree/tree.base.d.ts +5 -28
  498. package/dist/esm/tree/tree.base.js +23 -109
  499. package/dist/esm/tree/tree.base.js.map +1 -1
  500. package/dist/esm/tree/tree.d.ts +5 -0
  501. package/dist/esm/tree/tree.definition.js +2 -2
  502. package/dist/esm/tree/tree.definition.js.map +1 -1
  503. package/dist/esm/tree/tree.js +23 -0
  504. package/dist/esm/tree/tree.js.map +1 -1
  505. package/dist/esm/tree/tree.options.d.ts +6 -0
  506. package/dist/esm/tree/tree.options.js +8 -0
  507. package/dist/esm/tree/tree.options.js.map +1 -0
  508. package/dist/esm/tree/tree.template.js +2 -3
  509. package/dist/esm/tree/tree.template.js.map +1 -1
  510. package/dist/esm/tree-item/index.d.ts +1 -0
  511. package/dist/esm/tree-item/index.js +1 -0
  512. package/dist/esm/tree-item/index.js.map +1 -1
  513. package/dist/esm/tree-item/tree-item.base.d.ts +6 -3
  514. package/dist/esm/tree-item/tree-item.base.js +31 -11
  515. package/dist/esm/tree-item/tree-item.base.js.map +1 -1
  516. package/dist/esm/tree-item/tree-item.definition.js +2 -2
  517. package/dist/esm/tree-item/tree-item.definition.js.map +1 -1
  518. package/dist/esm/tree-item/tree-item.options.d.ts +6 -0
  519. package/dist/esm/tree-item/tree-item.options.js +7 -0
  520. package/dist/esm/tree-item/tree-item.options.js.map +1 -1
  521. package/dist/esm/tree-item/tree-item.template.js +1 -1
  522. package/dist/esm/tree-item/tree-item.template.js.map +1 -1
  523. package/dist/esm/utils/direction.d.ts +13 -1
  524. package/dist/esm/utils/direction.js +8 -1
  525. package/dist/esm/utils/direction.js.map +1 -1
  526. package/dist/esm/utils/focusgroup.d.ts +22 -0
  527. package/dist/esm/utils/focusgroup.js +42 -0
  528. package/dist/esm/utils/focusgroup.js.map +1 -0
  529. package/dist/esm/utils/index.d.ts +2 -1
  530. package/dist/esm/utils/index.js +2 -1
  531. package/dist/esm/utils/index.js.map +1 -1
  532. package/dist/esm/utils/numbers.d.ts +5 -0
  533. package/dist/esm/utils/numbers.js +9 -0
  534. package/dist/esm/utils/numbers.js.map +1 -0
  535. package/dist/esm/utils/orientation.d.ts +13 -0
  536. package/dist/esm/utils/orientation.js +10 -0
  537. package/dist/esm/utils/orientation.js.map +1 -0
  538. package/dist/esm/utils/typings.d.ts +4 -0
  539. package/dist/esm/utils/typings.js +6 -0
  540. package/dist/esm/utils/typings.js.map +1 -1
  541. package/dist/web-components.d.ts +100 -341
  542. package/dist/web-components.js +1271 -1375
  543. package/dist/web-components.min.js +244 -261
  544. package/package.json +4 -4
  545. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.d.ts +0 -124
  546. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +0 -142
  547. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +0 -1
@@ -1,34 +1,14 @@
1
1
  import type { Tab } from '../tab/tab.js';
2
2
  import { BaseTablist } from './tablist.base.js';
3
- import { TablistAppearance, TablistSize } from './tablist.options.js';
3
+ import { TablistAppearance, type TablistSize } from './tablist.options.js';
4
4
  /**
5
- * A BaseTablist component with extra logic for handling the styled active tab indicator.
5
+ * A Tablist component.
6
6
  *
7
7
  * @tag fluent-tablist
8
8
  *
9
9
  * @public
10
10
  */
11
11
  export declare class Tablist extends BaseTablist {
12
- /**
13
- * activeTabData
14
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
15
- */
16
- private activeTabData;
17
- /**
18
- * previousActiveTabData
19
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
20
- */
21
- private previousActiveTabData;
22
- /**
23
- * activeTabOffset
24
- * Used to position the active indicator for animations of the active indicator on active tab changes.
25
- */
26
- private activeTabOffset;
27
- /**
28
- * activeTabScale
29
- * Used to scale the tab active indicator up or down as animations of the active indicator occur.
30
- */
31
- private activeTabScale;
32
12
  /**
33
13
  * appearance
34
14
  * There are two modes of appearance: transparent and subtle.
@@ -40,56 +20,8 @@ export declare class Tablist extends BaseTablist {
40
20
  * Used to set the size of all the tab controls, which effects text size and margins. Three sizes: small, medium and large.
41
21
  */
42
22
  size?: TablistSize;
43
- /**
44
- * calculateAnimationProperties
45
- *
46
- * Recalculates the active tab offset and scale.
47
- * These values will be applied to css variables that control the tab active indicator position animations
48
- */
49
- private calculateAnimationProperties;
50
- /**
51
- * getSelectedTabPosition - gets the x or y coordinates of the tab
52
- */
53
- private getTabPosition;
54
- /**
55
- * getSelectedTabScale - gets the scale of the tab
56
- */
57
- private getTabScale;
58
- /**
59
- * Calculates and applies updated values to CSS variables.
60
- *
61
- * @param tab - the tab element to apply the updated values to
62
- * @internal
63
- */
64
- private applyUpdatedCSSValues;
65
- /**
66
- * Runs through all the operations required for setting the tab active indicator to its starting location, ending
67
- * location, and applying the animated css class to the tab.
68
- *
69
- * @param tab - the tab element to apply the updated values to
70
- * @internal
71
- */
72
- private animationLoop;
73
- /**
74
- * Sets the data from the active tab onto the class. used for making all the animation calculations for the active
75
- * tab indicator.
76
- *
77
- * @internal
78
- */
79
- private setTabData;
80
- /**
81
- * Sets the css variables for the active tab indicator.
82
- * @internal
83
- */
84
- private setAnimationVars;
85
- /**
86
- * Initiates the active tab indicator animation loop when activeid changes.
87
- * @param oldValue - the previous tabId
88
- * @param newValue - the new tabId
89
- */
90
- activeidChanged(oldValue: string, newValue: string): void;
91
- /**
92
- * Initiates the active tab indicator animation loop when tabs change.
93
- */
23
+ private fg?;
24
+ private fgItems?;
25
+ disconnectedCallback(): void;
94
26
  tabsChanged(prev: Tab[] | undefined, next: Tab[] | undefined): void;
95
27
  }
@@ -1,4 +1,4 @@
1
- import { FluentDesignSystem } from '../fluent-design-system.js';
1
+ import { tagName } from './tablist.options.js';
2
2
  import { Tablist } from './tablist.js';
3
3
  import { template } from './tablist.template.js';
4
4
  import { styles } from './tablist.styles.js';
@@ -8,7 +8,7 @@ import { styles } from './tablist.styles.js';
8
8
  * HTML Element: \<fluent-tablist\>
9
9
  */
10
10
  export const definition = Tablist.compose({
11
- name: `${FluentDesignSystem.prefix}-tablist`,
11
+ name: tagName,
12
12
  template,
13
13
  styles,
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tablist.definition.js","sourceRoot":"","sources":["../../../src/tablist/tablist.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACxC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,UAAU;IAC5C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"tablist.definition.js","sourceRoot":"","sources":["../../../src/tablist/tablist.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IACxC,IAAI,EAAE,OAAO;IACb,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { attr } from '@microsoft/fast-element';
3
+ import { FocusGroup } from '@microsoft/focusgroup-polyfill/shadowless';
4
+ import { ArrayItemCollection } from '../utils/focusgroup.js';
3
5
  import { BaseTablist } from './tablist.base.js';
4
- import { TablistAppearance, TablistOrientation } from './tablist.options.js';
6
+ import { TablistAppearance } from './tablist.options.js';
5
7
  /**
6
- * A BaseTablist component with extra logic for handling the styled active tab indicator.
8
+ * A Tablist component.
7
9
  *
8
10
  * @tag fluent-tablist
9
11
  *
@@ -12,143 +14,31 @@ import { TablistAppearance, TablistOrientation } from './tablist.options.js';
12
14
  export class Tablist extends BaseTablist {
13
15
  constructor() {
14
16
  super(...arguments);
15
- /**
16
- * activeTabData
17
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
18
- */
19
- this.activeTabData = { x: 0, y: 0, height: 0, width: 0 };
20
- /**
21
- * previousActiveTabData
22
- * The positional coordinates and size dimensions of the active tab. Used for calculating the offset and scale of the tab active indicator.
23
- */
24
- this.previousActiveTabData = { x: 0, y: 0, height: 0, width: 0 };
25
- /**
26
- * activeTabOffset
27
- * Used to position the active indicator for animations of the active indicator on active tab changes.
28
- */
29
- this.activeTabOffset = 0;
30
- /**
31
- * activeTabScale
32
- * Used to scale the tab active indicator up or down as animations of the active indicator occur.
33
- */
34
- this.activeTabScale = 1;
35
17
  /**
36
18
  * appearance
37
19
  * There are two modes of appearance: transparent and subtle.
38
20
  */
39
21
  this.appearance = TablistAppearance.transparent;
40
22
  }
41
- /**
42
- * calculateAnimationProperties
43
- *
44
- * Recalculates the active tab offset and scale.
45
- * These values will be applied to css variables that control the tab active indicator position animations
46
- */
47
- calculateAnimationProperties(tab) {
48
- this.activeTabOffset = this.getTabPosition(tab);
49
- this.activeTabScale = this.getTabScale(tab);
50
- }
51
- /**
52
- * getSelectedTabPosition - gets the x or y coordinates of the tab
53
- */
54
- getTabPosition(tab) {
55
- if (this.orientation === TablistOrientation.horizontal) {
56
- return this.previousActiveTabData.x - (tab.getBoundingClientRect().x - this.getBoundingClientRect().x);
57
- }
58
- else
59
- return this.previousActiveTabData.y - (tab.getBoundingClientRect().y - this.getBoundingClientRect().y);
60
- }
61
- /**
62
- * getSelectedTabScale - gets the scale of the tab
63
- */
64
- getTabScale(tab) {
65
- if (this.orientation === TablistOrientation.horizontal) {
66
- return this.previousActiveTabData.width / tab.getBoundingClientRect().width;
67
- }
68
- else
69
- return this.previousActiveTabData.height / tab.getBoundingClientRect().height;
70
- }
71
- /**
72
- * Calculates and applies updated values to CSS variables.
73
- *
74
- * @param tab - the tab element to apply the updated values to
75
- * @internal
76
- */
77
- applyUpdatedCSSValues(tab) {
78
- this.calculateAnimationProperties(tab);
79
- this.setAnimationVars();
80
- }
81
- /**
82
- * Runs through all the operations required for setting the tab active indicator to its starting location, ending
83
- * location, and applying the animated css class to the tab.
84
- *
85
- * @param tab - the tab element to apply the updated values to
86
- * @internal
87
- */
88
- animationLoop(tab) {
89
- // remove the animated class so nothing animates yet
90
- tab.setAttribute('data-animate', 'false');
91
- // animation start - this applyUpdatedCSSValues sets the active indicator to the location of the previously selected tab
92
- this.applyUpdatedCSSValues(tab);
93
- // changing the previously active tab allows the applyUpdatedCSSValues method to calculate the correct end to the animation.
94
- this.previousActiveTabData = this.activeTabData;
95
- // calculate and apply updated css values for animation.
96
- this.applyUpdatedCSSValues(tab);
97
- // add the css class and active indicator will animate from the previous tab location to its tab location
98
- tab.setAttribute('data-animate', 'true');
99
- }
100
- /**
101
- * Sets the data from the active tab onto the class. used for making all the animation calculations for the active
102
- * tab indicator.
103
- *
104
- * @internal
105
- */
106
- setTabData() {
107
- if (this.tabs && this.tabs.length > 0) {
108
- const tabs = this.tabs;
109
- const activeTab = this.activetab || tabs[0];
110
- const activeRect = activeTab?.getBoundingClientRect();
111
- const parentRect = this.getBoundingClientRect();
112
- this.activeTabData = {
113
- x: activeRect.x - parentRect.x,
114
- y: activeRect.y - parentRect.y,
115
- height: activeRect.height,
116
- width: activeRect.width,
117
- };
118
- if (this.previousActiveTabData?.x !== this.activeTabData?.x &&
119
- this.previousActiveTabData?.y !== this.activeTabData?.y) {
120
- this.previousActiveTabData = this.activeTabData;
121
- }
122
- }
123
- }
124
- /**
125
- * Sets the css variables for the active tab indicator.
126
- * @internal
127
- */
128
- setAnimationVars() {
129
- this.style.setProperty('--tabIndicatorOffset', `${this.activeTabOffset}px`);
130
- this.style.setProperty('--tabIndicatorScale', `${this.activeTabScale}`);
23
+ disconnectedCallback() {
24
+ this.fg?.disconnect();
25
+ super.disconnectedCallback();
131
26
  }
132
- /**
133
- * Initiates the active tab indicator animation loop when activeid changes.
134
- * @param oldValue - the previous tabId
135
- * @param newValue - the new tabId
136
- */
137
- activeidChanged(oldValue, newValue) {
138
- super.activeidChanged(oldValue, newValue);
139
- this.setTabData();
140
- if (this.activetab) {
141
- this.animationLoop(this.activetab);
142
- }
143
- }
144
- /**
145
- * Initiates the active tab indicator animation loop when tabs change.
146
- */
147
27
  tabsChanged(prev, next) {
148
28
  super.tabsChanged(prev, next);
149
- this.setTabData();
150
- if (this.activetab) {
151
- this.animationLoop(this.activetab);
29
+ this.fgItems ??= new ArrayItemCollection(() => this.tabs?.filter(t => (t.getAttribute('aria-selected') === 'true' || !t.disabled) && !t.hidden) ?? [], () => this.activetab ?? null);
30
+ if (!this.fg) {
31
+ this.fg = new FocusGroup(this, this.fgItems, {
32
+ definition: {
33
+ behavior: 'tablist',
34
+ axis: undefined,
35
+ memory: false,
36
+ wrap: true,
37
+ },
38
+ });
39
+ }
40
+ else {
41
+ this.fg.update();
152
42
  }
153
43
  }
154
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tablist.js","sourceRoot":"","sources":["../../../src/tablist/tablist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tablist.js","sourceRoot":"","sources":["../../../src/tablist/tablist.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAAxC;;QACE;;;WAGG;QAEI,eAAU,GAAuB,iBAAiB,CAAC,WAAW,CAAC;IAuCxE,CAAC;IAzBC,oBAAoB;QAClB,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAEQ,WAAW,CAAC,IAAuB,EAAE,IAAuB;QACnE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,KAAK,IAAI,mBAAmB,CACtC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAC5G,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAC7B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;gBAC3C,UAAU,EAAE;oBACV,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAvCQ;IADN,IAAI;2CACiE;AAQ/D;IADN,IAAI;qCACqB"}
@@ -1,4 +1,4 @@
1
- import type { ValuesOf } from '../utils/index.js';
1
+ import type { ValuesOf } from '../utils/typings.js';
2
2
  /**
3
3
  * The appearance of the component
4
4
  * @public
@@ -39,3 +39,9 @@ export declare const TablistOrientation: {
39
39
  * @public
40
40
  */
41
41
  export type TablistOrientation = ValuesOf<typeof TablistOrientation>;
42
+ /**
43
+ * The tag name for the tablist element.
44
+ *
45
+ * @public
46
+ */
47
+ export declare const tagName: "fluent-tablist";
@@ -1,4 +1,5 @@
1
- import { Orientation } from '@microsoft/fast-web-utilities';
1
+ import { Orientation } from '../utils/orientation.js';
2
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
3
  /**
3
4
  * The appearance of the component
4
5
  * @public
@@ -21,4 +22,10 @@ export const TablistSize = {
21
22
  * @public
22
23
  */
23
24
  export const TablistOrientation = Orientation;
25
+ /**
26
+ * The tag name for the tablist element.
27
+ *
28
+ * @public
29
+ */
30
+ export const tagName = `${FluentDesignSystem.prefix}-tablist`;
24
31
  //# sourceMappingURL=tablist.options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tablist.options.js","sourceRoot":"","sources":["../../../src/tablist/tablist.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;CAClB,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"tablist.options.js","sourceRoot":"","sources":["../../../src/tablist/tablist.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;CAClB,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAQ9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,kBAAkB,CAAC,MAAM,UAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { css } from '@microsoft/fast-element';
2
- import { display } from '../utils/index.js';
3
- import { borderRadiusCircular, colorCompoundBrandForeground1Hover, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground2, colorNeutralForegroundDisabled, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, curveDecelerateMax, durationSlow, fontSizeBase300, fontSizeBase400, lineHeightBase300, lineHeightBase400, spacingHorizontalMNudge, spacingHorizontalSNudge, spacingVerticalL, spacingVerticalMNudge, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXXS, strokeWidthThicker, } from '../theme/design-tokens.js';
2
+ import { display } from '../utils/display.js';
3
+ import { borderRadiusCircular, colorCompoundBrandForeground1Hover, colorCompoundBrandStroke, colorNeutralForeground1, colorNeutralForeground1Hover, colorNeutralForeground2, colorNeutralForegroundDisabled, colorSubtleBackgroundHover, colorSubtleBackgroundPressed, curveDecelerateMax, durationSlow, fontSizeBase300, fontSizeBase400, lineHeightBase300, lineHeightBase400, spacingHorizontalM, spacingHorizontalMNudge, spacingHorizontalSNudge, spacingVerticalL, spacingVerticalMNudge, spacingVerticalS, spacingVerticalSNudge, spacingVerticalXXS, strokeWidthThicker, } from '../theme/design-tokens.js';
4
4
  /**
5
5
  * @public
6
6
  */
@@ -8,43 +8,60 @@ export const styles = css `
8
8
  ${display('flex')}
9
9
 
10
10
  :host {
11
- --tabPaddingInline: inherit;
12
- --tabPaddingBlock: inherit;
13
- --tabIndicatorInsetInline: 0;
11
+ --tabPaddingInline: ${spacingHorizontalMNudge};
12
+ --tabPaddingBlock: ${spacingHorizontalM};
13
+ --tabIndicatorInsetInline: var(--tabPaddingInline);
14
14
  --tabIndicatorInsetBlock: 0;
15
15
  box-sizing: border-box;
16
16
  color: ${colorNeutralForeground2};
17
17
  flex-direction: row;
18
+ position: relative;
19
+ }
20
+
21
+ :host([size='small']) {
22
+ --tabPaddingBlock: ${spacingVerticalSNudge};
23
+ --tabPaddingInline: ${spacingHorizontalSNudge};
24
+ }
25
+
26
+ :host([size='large']) {
27
+ --tabPaddingBlock: ${spacingVerticalL};
28
+ --tabPaddingInline: ${spacingHorizontalMNudge};
18
29
  }
19
30
 
20
31
  :host([orientation='vertical']) {
32
+ --tabPaddingBlock: ${spacingVerticalS};
33
+ --tabIndicatorInsetBlock: ${spacingVerticalS};
21
34
  flex-direction: column;
22
35
  }
23
36
 
24
- :host([orientation='vertical']) ::slotted([role='tab']) {
25
- justify-content: flex-start;
37
+ :host([orientation='vertical'][size='small']) {
38
+ --tabPaddingBlock: ${spacingVerticalXXS};
39
+ --tabIndicatorInsetBlock: ${spacingVerticalSNudge};
40
+ }
41
+
42
+ :host([orientation='vertical'][size='large']) {
43
+ --tabPaddingBlock: ${spacingVerticalS};
44
+ --tabIndicatorInsetBlock: ${spacingVerticalMNudge};
26
45
  }
27
46
 
28
- /* indicator animation */
29
- :host ::slotted([slot='tab'][data-animate='true'])::after {
30
- transition-property: transform;
31
- transition-duration: ${durationSlow};
32
- transition-timing-function: ${curveDecelerateMax};
47
+ ::slotted([slot='tab']) {
48
+ padding-inline: var(--tabPaddingInline);
49
+ padding-block: var(--tabPaddingBlock);
50
+ }
51
+
52
+ :host([orientation='vertical']) ::slotted([role='tab']) {
53
+ justify-content: flex-start;
33
54
  }
34
55
 
35
56
  :host ::slotted([slot='tab'])::after {
36
57
  height: ${strokeWidthThicker};
37
58
  margin-block-start: auto;
38
- transform-origin: left;
39
- transform: translateX(var(--tabIndicatorOffset)) scaleX(var(--tabIndicatorScale));
40
59
  }
41
60
 
42
61
  :host([orientation='vertical']) ::slotted([slot='tab'])::after {
43
62
  width: ${strokeWidthThicker};
44
63
  height: unset;
45
64
  margin-block-start: unset;
46
- transform-origin: top;
47
- transform: translateY(var(--tabIndicatorOffset)) scaleY(var(--tabIndicatorScale));
48
65
  }
49
66
 
50
67
  /* ::before adds a secondary indicator placeholder that appears right after click on the active tab */
@@ -81,21 +98,12 @@ export const styles = css `
81
98
  transform-origin: top;
82
99
  }
83
100
 
84
- :host(:where([size='small'], [size='large'])) ::slotted([slot='tab']) {
85
- padding-inline: var(--tabPaddingInline);
86
- padding-block: var(--tabPaddingBlock);
87
- }
88
-
89
101
  :host([size='small']) ::slotted([slot='tab']) {
90
- --tabPaddingBlock: ${spacingVerticalSNudge};
91
- --tabPaddingInline: ${spacingHorizontalSNudge};
92
102
  font-size: ${fontSizeBase300};
93
103
  line-height: ${lineHeightBase300};
94
104
  }
95
105
 
96
106
  :host([size='large']) ::slotted([slot='tab']) {
97
- --tabPaddingBlock: ${spacingVerticalL};
98
- --tabPaddingInline: ${spacingHorizontalMNudge};
99
107
  font-size: ${fontSizeBase400};
100
108
  line-height: ${lineHeightBase400};
101
109
  }
@@ -107,34 +115,6 @@ export const styles = css `
107
115
  inset-inline: var(--tabIndicatorInsetInline);
108
116
  }
109
117
 
110
- :host ::slotted([slot='tab']) {
111
- --tabIndicatorInsetInline: ${spacingHorizontalMNudge};
112
- }
113
-
114
- :host([size='small']) ::slotted([slot='tab']) {
115
- --tabIndicatorInsetInline: ${spacingHorizontalSNudge};
116
- }
117
-
118
- :host([size='large']) ::slotted([slot='tab']) {
119
- --tabIndicatorInsetInline: ${spacingHorizontalMNudge};
120
- }
121
-
122
- :host([orientation='vertical']) ::slotted([slot='tab']) {
123
- padding-block: var(--tabPaddingBlock);
124
- }
125
-
126
- :host([orientation='vertical']) ::slotted([slot='tab']) {
127
- --tabPaddingBlock: ${spacingVerticalS};
128
- }
129
-
130
- :host([orientation='vertical'][size='small']) ::slotted([slot='tab']) {
131
- --tabPaddingBlock: ${spacingVerticalXXS};
132
- }
133
-
134
- :host([orientation='vertical'][size='large']) ::slotted([slot='tab']) {
135
- --tabPaddingBlock: ${spacingVerticalS};
136
- }
137
-
138
118
  :host([orientation='vertical']) ::slotted([slot='tab'])::after,
139
119
  :host([orientation='vertical']) ::slotted([slot='tab'])::before,
140
120
  :host([orientation='vertical']) ::slotted([slot='tab']:hover)::after {
@@ -142,18 +122,6 @@ export const styles = css `
142
122
  inset-block: var(--tabIndicatorInsetBlock);
143
123
  }
144
124
 
145
- :host([orientation='vertical']) {
146
- --tabIndicatorInsetBlock: ${spacingVerticalS};
147
- }
148
-
149
- :host([orientation='vertical'][size='small']) {
150
- --tabIndicatorInsetBlock: ${spacingVerticalSNudge};
151
- }
152
-
153
- :host([orientation='vertical'][size='large']) {
154
- --tabIndicatorInsetBlock: ${spacingVerticalMNudge};
155
- }
156
-
157
125
  /* disabled styles */
158
126
  :host([disabled]) {
159
127
  cursor: not-allowed;
@@ -189,5 +157,55 @@ export const styles = css `
189
157
  fill: ${colorSubtleBackgroundPressed};
190
158
  color: ${colorNeutralForeground1};
191
159
  }
160
+
161
+ /*
162
+ * TODO: Remove '(text-size-adjust: auto)' after this bug is fixed:
163
+ * https://bugs.webkit.org/show_bug.cgi?id=298646
164
+ * Also remove the same trick from tab.styles.ts.
165
+ * Using '@supports (text-size-adjust: auto)' here to exclude Safari 26 from
166
+ * using CSS Anchor Positioning here because it crashes.
167
+ */
168
+ @supports (anchor-name: --a) and (text-size-adjust: auto) {
169
+ ::slotted([slot='tab'][aria-selected='true']) {
170
+ anchor-name: --tab;
171
+ }
172
+
173
+ :host::after {
174
+ background-color: ${colorCompoundBrandStroke};
175
+ content: '';
176
+ inline-size: 100%;
177
+ inset: auto auto anchor(end) anchor(center);
178
+ position: absolute;
179
+ position-anchor: --tab;
180
+ transform: translateX(-50%);
181
+ transition-property: inset-inline, width;
182
+ transition-duration: ${durationSlow};
183
+ transition-timing-function: ${curveDecelerateMax};
184
+ z-index: 3;
185
+
186
+ /* These styles should be in sync with tab.styles.ts’s :host::after */
187
+ border-radius: ${borderRadiusCircular};
188
+ width: calc(anchor-size() - var(--tabIndicatorInsetInline) * 2);
189
+ height: ${strokeWidthThicker};
190
+ }
191
+
192
+ :host([orientation='vertical'])::after {
193
+ inset: anchor(center) anchor(end) auto 0;
194
+ transform: translateY(-50%);
195
+ transition-property: inset-block, height;
196
+
197
+ /* These styles should be in sync with #vertical-tab-highlight above */
198
+ width: ${strokeWidthThicker};
199
+ height: calc(anchor-size() - var(--tabIndicatorInsetBlock) * 2);
200
+ }
201
+
202
+ :host(:dir(rtl)[orientation='vertical'])::after {
203
+ inset: anchor(center) anchor(start) auto 0;
204
+ }
205
+
206
+ :host([disabled])::after {
207
+ background-color: ${colorNeutralForegroundDisabled};
208
+ }
209
+ }
192
210
  `;
193
211
  //# sourceMappingURL=tablist.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tablist.styles.js","sourceRoot":"","sources":["../../../src/tablist/tablist.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,kCAAkC,EAClC,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;;;;;;aAQN,uBAAuB;;;;;;;;;;;;;;;2BAeT,YAAY;kCACL,kBAAkB;;;;cAItC,kBAAkB;;;;;;;aAOnB,kBAAkB;;;;;;;;;cASjB,kBAAkB;qBACX,oBAAoB;;;;;;;;;;;;;;wBAcjB,8BAA8B;;;;cAIxC,kBAAkB;;;;;;;;aAQnB,kBAAkB;;;;;;;;;;;yBAWN,qBAAqB;0BACpB,uBAAuB;iBAChC,eAAe;mBACb,iBAAiB;;;;yBAIX,gBAAgB;0BACf,uBAAuB;iBAChC,eAAe;mBACb,iBAAiB;;;;;;;;;;;iCAWH,uBAAuB;;;;iCAIvB,uBAAuB;;;;iCAIvB,uBAAuB;;;;;;;;yBAQ/B,gBAAgB;;;;yBAIhB,kBAAkB;;;;yBAIlB,gBAAgB;;;;;;;;;;;gCAWT,gBAAgB;;;;gCAIhB,qBAAqB;;;;gCAIrB,qBAAqB;;;;;;aAMxC,8BAA8B;;;;;;aAM9B,8BAA8B;;;;wBAInB,8BAA8B;;;;wBAI9B,8BAA8B;;;;;;;;wBAQ9B,0BAA0B;aACrC,4BAA4B;YAC7B,kCAAkC;;;;wBAItB,4BAA4B;YACxC,4BAA4B;aAC3B,uBAAuB;;CAEnC,CAAC"}
1
+ {"version":3,"file":"tablist.styles.js","sourceRoot":"","sources":["../../../src/tablist/tablist.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,kCAAkC,EAClC,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,MAAM,CAAC;;;0BAGO,uBAAuB;yBACxB,kBAAkB;;;;aAI9B,uBAAuB;;;;;;yBAMX,qBAAqB;0BACpB,uBAAuB;;;;yBAIxB,gBAAgB;0BACf,uBAAuB;;;;yBAIxB,gBAAgB;gCACT,gBAAgB;;;;;yBAKvB,kBAAkB;gCACX,qBAAqB;;;;yBAI5B,gBAAgB;gCACT,qBAAqB;;;;;;;;;;;;;cAavC,kBAAkB;;;;;aAKnB,kBAAkB;;;;;;;cAOjB,kBAAkB;qBACX,oBAAoB;;;;;;;;;;;;;;wBAcjB,8BAA8B;;;;cAIxC,kBAAkB;;;;;;;;aAQnB,kBAAkB;;;;;;iBAMd,eAAe;mBACb,iBAAiB;;;;iBAInB,eAAe;mBACb,iBAAiB;;;;;;;;;;;;;;;;;;;;aAoBvB,8BAA8B;;;;;;aAM9B,8BAA8B;;;;wBAInB,8BAA8B;;;;wBAI9B,8BAA8B;;;;;;;;wBAQ9B,0BAA0B;aACrC,4BAA4B;YAC7B,kCAAkC;;;;wBAItB,4BAA4B;YACxC,4BAA4B;aAC3B,uBAAuB;;;;;;;;;;;;;;;;0BAgBV,wBAAwB;;;;;;;;6BAQrB,YAAY;oCACL,kBAAkB;;;;uBAI/B,oBAAoB;;gBAE3B,kBAAkB;;;;;;;;;eASnB,kBAAkB;;;;;;;;;0BASP,8BAA8B;;;CAGvD,CAAC"}
@@ -3,7 +3,11 @@ import { html, slotted } from '@microsoft/fast-element';
3
3
  * @public
4
4
  */
5
5
  export const template = html `
6
- <template role="tablist">
6
+ <template
7
+ role="tablist"
8
+ focusgroup="tablist inline block"
9
+ @focusin="${(x, c) => x.handleFocusIn(c.event)}"
10
+ >
7
11
  <slot name="tab" ${slotted('slottedTabs')}></slot>
8
12
  </template>
9
13
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"tablist.template.js","sourceRoot":"","sources":["../../../src/tablist/tablist.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAS;;uBAEd,OAAO,CAAC,aAAa,CAAC;;CAE5C,CAAC"}
1
+ {"version":3,"file":"tablist.template.js","sourceRoot":"","sources":["../../../src/tablist/tablist.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAS;;;;gBAIrB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAmB,CAAC;;uBAEzC,OAAO,CAAC,aAAa,CAAC;;CAE5C,CAAC"}
@@ -3,3 +3,4 @@ export { TextAlign, TextFont, TextSize, TextWeight } from './text.options.js';
3
3
  export { template as TextTemplate } from './text.template.js';
4
4
  export { styles as TextStyles } from './text.styles.js';
5
5
  export { definition as TextDefinition } from './text.definition.js';
6
+ export { tagName as TextTagName } from './text.options.js';
@@ -3,4 +3,5 @@ export { TextAlign, TextFont, TextSize, TextWeight } from './text.options.js';
3
3
  export { template as TextTemplate } from './text.template.js';
4
4
  export { styles as TextStyles } from './text.styles.js';
5
5
  export { definition as TextDefinition } from './text.definition.js';
6
+ export { tagName as TextTagName } from './text.options.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { FluentDesignSystem } from '../fluent-design-system.js';
1
+ import { tagName } from './text.options.js';
2
2
  import { Text } from './text.js';
3
3
  import { styles } from './text.styles.js';
4
4
  import { template } from './text.template.js';
@@ -11,7 +11,7 @@ import { template } from './text.template.js';
11
11
  * HTML Element: \<fluent-text\>
12
12
  */
13
13
  export const definition = Text.compose({
14
- name: `${FluentDesignSystem.prefix}-text`,
14
+ name: tagName,
15
15
  template,
16
16
  styles,
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"text.definition.js","sourceRoot":"","sources":["../../../src/text/text.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,OAAO;IACzC,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"text.definition.js","sourceRoot":"","sources":["../../../src/text/text.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,IAAI,EAAE,OAAO;IACb,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { ValuesOf } from '../utils/index.js';
1
+ import type { ValuesOf } from '../utils/typings.js';
2
2
  /**
3
3
  * TextSize constants
4
4
  * @public
@@ -65,3 +65,9 @@ export declare const TextAlign: {
65
65
  * @public
66
66
  */
67
67
  export type TextAlign = ValuesOf<typeof TextAlign>;
68
+ /**
69
+ * The tag name for the text element.
70
+ *
71
+ * @public
72
+ */
73
+ export declare const tagName: "fluent-text";