@fluentui/web-components 3.0.0-beta.3 → 3.0.0-beta.30

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 (663) hide show
  1. package/CHANGELOG.md +420 -103
  2. package/README.md +46 -15
  3. package/dist/dts/accordion/accordion.bench.d.ts +3 -0
  4. package/dist/dts/accordion/accordion.d.ts +47 -3
  5. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  6. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  7. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  8. package/dist/dts/accordion/index.d.ts +2 -1
  9. package/dist/dts/accordion-item/accordion-item.bench.d.ts +3 -0
  10. package/dist/dts/accordion-item/accordion-item.d.ts +78 -6
  11. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  12. package/dist/dts/accordion-item/accordion-item.options.d.ts +3 -3
  13. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  14. package/dist/dts/accordion-item/index.d.ts +3 -2
  15. package/dist/dts/anchor-button/anchor-button.bench.d.ts +3 -0
  16. package/dist/dts/anchor-button/anchor-button.d.ts +144 -26
  17. package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
  18. package/dist/dts/anchor-button/anchor-button.options.d.ts +43 -5
  19. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
  20. package/dist/dts/anchor-button/index.d.ts +4 -3
  21. package/dist/dts/avatar/avatar.bench.d.ts +3 -0
  22. package/dist/dts/avatar/avatar.d.ts +22 -2
  23. package/dist/dts/avatar/avatar.options.d.ts +7 -7
  24. package/dist/dts/avatar/index.d.ts +2 -2
  25. package/dist/dts/badge/badge.bench.d.ts +3 -0
  26. package/dist/dts/badge/badge.d.ts +1 -1
  27. package/dist/dts/badge/badge.definition.d.ts +0 -3
  28. package/dist/dts/badge/badge.options.d.ts +7 -7
  29. package/dist/dts/badge/index.d.ts +2 -2
  30. package/dist/dts/button/button.bench.d.ts +3 -0
  31. package/dist/dts/button/button.d.ts +243 -22
  32. package/dist/dts/button/button.definition.d.ts +2 -3
  33. package/dist/dts/button/button.options.d.ts +42 -6
  34. package/dist/dts/button/button.styles.d.ts +9 -0
  35. package/dist/dts/button/button.template.d.ts +8 -0
  36. package/dist/dts/button/index.d.ts +5 -4
  37. package/dist/dts/checkbox/checkbox.bench.d.ts +3 -0
  38. package/dist/dts/checkbox/checkbox.d.ts +282 -16
  39. package/dist/dts/checkbox/checkbox.options.d.ts +15 -12
  40. package/dist/dts/checkbox/checkbox.template.d.ts +7 -1
  41. package/dist/dts/checkbox/index.d.ts +4 -3
  42. package/dist/dts/compound-button/compound-button.bench.d.ts +3 -0
  43. package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
  44. package/dist/dts/compound-button/compound-button.options.d.ts +9 -9
  45. package/dist/dts/compound-button/index.d.ts +2 -2
  46. package/dist/dts/counter-badge/counter-badge.bench.d.ts +3 -0
  47. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  48. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  49. package/dist/dts/counter-badge/counter-badge.options.d.ts +6 -6
  50. package/dist/dts/counter-badge/index.d.ts +2 -2
  51. package/dist/dts/dialog/define.d.ts +1 -0
  52. package/dist/dts/dialog/dialog.bench.d.ts +3 -0
  53. package/dist/dts/dialog/dialog.d.ts +58 -0
  54. package/dist/dts/dialog/dialog.definition.d.ts +9 -0
  55. package/dist/dts/dialog/dialog.options.d.ts +11 -0
  56. package/dist/dts/dialog/dialog.styles.d.ts +4 -0
  57. package/dist/dts/dialog/dialog.template.d.ts +7 -0
  58. package/dist/dts/dialog/index.d.ts +5 -0
  59. package/dist/dts/dialog-body/define.d.ts +1 -0
  60. package/dist/dts/dialog-body/dialog-body.bench.d.ts +3 -0
  61. package/dist/dts/dialog-body/dialog-body.d.ts +14 -0
  62. package/dist/dts/dialog-body/dialog-body.definition.d.ts +9 -0
  63. package/dist/dts/dialog-body/dialog-body.styles.d.ts +4 -0
  64. package/dist/dts/dialog-body/dialog-body.template.d.ts +6 -0
  65. package/dist/dts/dialog-body/index.d.ts +4 -0
  66. package/dist/dts/divider/divider.bench.d.ts +3 -0
  67. package/dist/dts/divider/divider.d.ts +47 -11
  68. package/dist/dts/divider/divider.options.d.ts +32 -8
  69. package/dist/dts/divider/divider.template.d.ts +1 -0
  70. package/dist/dts/divider/index.d.ts +2 -2
  71. package/dist/dts/field/define.d.ts +1 -0
  72. package/dist/dts/field/field.bench.d.ts +3 -0
  73. package/dist/dts/field/field.d.ts +99 -0
  74. package/dist/dts/field/field.definition.d.ts +9 -0
  75. package/dist/dts/field/field.options.d.ts +41 -0
  76. package/dist/dts/field/field.styles.d.ts +6 -0
  77. package/dist/dts/field/field.template.d.ts +6 -0
  78. package/dist/dts/field/index.d.ts +6 -0
  79. package/dist/dts/form-associated/form-associated.d.ts +104 -0
  80. package/dist/dts/image/image.bench.d.ts +3 -0
  81. package/dist/dts/image/image.options.d.ts +3 -3
  82. package/dist/dts/image/index.d.ts +2 -2
  83. package/dist/dts/index-rollup.d.ts +32 -1
  84. package/dist/dts/index.d.ts +53 -30
  85. package/dist/dts/label/index.d.ts +2 -1
  86. package/dist/dts/label/label.bench.d.ts +3 -0
  87. package/dist/dts/label/label.d.ts +0 -2
  88. package/dist/dts/label/label.options.d.ts +3 -3
  89. package/dist/dts/link/define.d.ts +1 -0
  90. package/dist/dts/link/index.d.ts +4 -0
  91. package/dist/dts/link/link.bench.d.ts +3 -0
  92. package/dist/dts/link/link.d.ts +33 -0
  93. package/dist/dts/link/link.definition.d.ts +7 -0
  94. package/dist/dts/link/link.options.d.ts +52 -0
  95. package/dist/dts/link/link.styles.d.ts +1 -0
  96. package/dist/dts/link/link.template.d.ts +12 -0
  97. package/dist/dts/menu/index.d.ts +1 -1
  98. package/dist/dts/menu/menu.bench.d.ts +3 -0
  99. package/dist/dts/menu/menu.d.ts +27 -25
  100. package/dist/dts/menu-button/index.d.ts +4 -3
  101. package/dist/dts/menu-button/menu-button.bench.d.ts +3 -0
  102. package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
  103. package/dist/dts/menu-button/menu-button.options.d.ts +6 -6
  104. package/dist/dts/menu-item/index.d.ts +5 -3
  105. package/dist/dts/menu-item/menu-item.bench.d.ts +3 -0
  106. package/dist/dts/menu-item/menu-item.d.ts +162 -5
  107. package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
  108. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  109. package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
  110. package/dist/dts/menu-list/index.d.ts +1 -1
  111. package/dist/dts/menu-list/menu-list.bench.d.ts +3 -0
  112. package/dist/dts/menu-list/menu-list.d.ts +71 -4
  113. package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
  114. package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
  115. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  116. package/dist/dts/patterns/index.d.ts +2 -0
  117. package/dist/dts/patterns/start-end.d.ts +44 -0
  118. package/dist/dts/progress-bar/index.d.ts +2 -2
  119. package/dist/dts/progress-bar/progress-bar.bench.d.ts +3 -0
  120. package/dist/dts/progress-bar/progress-bar.d.ts +60 -10
  121. package/dist/dts/progress-bar/progress-bar.options.d.ts +4 -4
  122. package/dist/dts/progress-bar/progress-bar.template.d.ts +1 -0
  123. package/dist/dts/radio/index.d.ts +2 -1
  124. package/dist/dts/radio/radio.bench.d.ts +3 -0
  125. package/dist/dts/radio/radio.d.ts +54 -3
  126. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  127. package/dist/dts/radio/radio.template.d.ts +2 -1
  128. package/dist/dts/radio-group/index.d.ts +2 -2
  129. package/dist/dts/radio-group/radio-group.bench.d.ts +3 -0
  130. package/dist/dts/radio-group/radio-group.d.ts +91 -2
  131. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  132. package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
  133. package/dist/dts/slider/index.d.ts +3 -2
  134. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  135. package/dist/dts/slider/slider.bench.d.ts +3 -0
  136. package/dist/dts/slider/slider.d.ts +195 -5
  137. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  138. package/dist/dts/slider/slider.options.d.ts +44 -3
  139. package/dist/dts/slider/slider.template.d.ts +4 -2
  140. package/dist/dts/spinner/index.d.ts +2 -2
  141. package/dist/dts/spinner/spinner.bench.d.ts +3 -0
  142. package/dist/dts/spinner/spinner.d.ts +9 -4
  143. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  144. package/dist/dts/spinner/spinner.options.d.ts +3 -3
  145. package/dist/dts/spinner/spinner.template.d.ts +1 -2
  146. package/dist/dts/styles/partials/index.d.ts +1 -0
  147. package/dist/dts/styles/partials/typography.partials.d.ts +18 -0
  148. package/dist/dts/switch/index.d.ts +3 -2
  149. package/dist/dts/switch/switch.bench.d.ts +3 -0
  150. package/dist/dts/switch/switch.d.ts +6 -12
  151. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  152. package/dist/dts/switch/switch.options.d.ts +2 -2
  153. package/dist/dts/switch/switch.template.d.ts +2 -1
  154. package/dist/dts/tab/index.d.ts +4 -3
  155. package/dist/dts/tab/tab.bench.d.ts +3 -0
  156. package/dist/dts/tab/tab.d.ts +17 -2
  157. package/dist/dts/tab/tab.template.d.ts +3 -3
  158. package/dist/dts/tab-panel/index.d.ts +1 -1
  159. package/dist/dts/tab-panel/tab-panel.bench.d.ts +3 -0
  160. package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
  161. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
  162. package/dist/dts/tabs/index.d.ts +5 -4
  163. package/dist/dts/tabs/tabs.bench.d.ts +3 -0
  164. package/dist/dts/tabs/tabs.d.ts +102 -13
  165. package/dist/dts/tabs/tabs.options.d.ts +23 -5
  166. package/dist/dts/tabs/tabs.template.d.ts +5 -1
  167. package/dist/dts/text/index.d.ts +2 -2
  168. package/dist/dts/text/text.bench.d.ts +3 -0
  169. package/dist/dts/text/text.options.d.ts +5 -5
  170. package/dist/dts/text-input/index.d.ts +5 -5
  171. package/dist/dts/text-input/text-input.bench.d.ts +3 -0
  172. package/dist/dts/text-input/text-input.d.ts +395 -11
  173. package/dist/dts/text-input/text-input.definition.d.ts +2 -3
  174. package/dist/dts/text-input/text-input.options.d.ts +31 -10
  175. package/dist/dts/text-input/text-input.styles.d.ts +5 -2
  176. package/dist/dts/text-input/text-input.template.d.ts +8 -1
  177. package/dist/dts/theme/design-tokens.d.ts +2180 -384
  178. package/dist/dts/theme/set-theme.d.ts +6 -3
  179. package/dist/dts/toggle-button/index.d.ts +5 -4
  180. package/dist/dts/toggle-button/toggle-button.bench.d.ts +3 -0
  181. package/dist/dts/toggle-button/toggle-button.d.ts +29 -26
  182. package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
  183. package/dist/dts/toggle-button/toggle-button.options.d.ts +6 -6
  184. package/dist/dts/toggle-button/toggle-button.styles.d.ts +7 -0
  185. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  186. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  187. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  188. package/dist/dts/utils/direction.d.ts +10 -0
  189. package/dist/dts/utils/display.d.ts +17 -0
  190. package/dist/dts/utils/element-internals.d.ts +20 -0
  191. package/dist/dts/utils/index.d.ts +6 -0
  192. package/dist/dts/utils/template-helpers.d.ts +16 -0
  193. package/dist/dts/utils/typings.d.ts +6 -0
  194. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  195. package/dist/esm/accordion/accordion.bench.js +30 -0
  196. package/dist/esm/accordion/accordion.bench.js.map +1 -0
  197. package/dist/esm/accordion/accordion.definition.js +0 -4
  198. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  199. package/dist/esm/accordion/accordion.js +211 -3
  200. package/dist/esm/accordion/accordion.js.map +1 -1
  201. package/dist/esm/accordion/accordion.options.js +9 -0
  202. package/dist/esm/accordion/accordion.options.js.map +1 -0
  203. package/dist/esm/accordion/accordion.styles.js +1 -1
  204. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  205. package/dist/esm/accordion/accordion.template.js +11 -1
  206. package/dist/esm/accordion/accordion.template.js.map +1 -1
  207. package/dist/esm/accordion/index.js +2 -1
  208. package/dist/esm/accordion/index.js.map +1 -1
  209. package/dist/esm/accordion-item/accordion-item.bench.js +14 -0
  210. package/dist/esm/accordion-item/accordion-item.bench.js.map +1 -0
  211. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  212. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  213. package/dist/esm/accordion-item/accordion-item.js +80 -10
  214. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  215. package/dist/esm/accordion-item/accordion-item.styles.js +1 -1
  216. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  217. package/dist/esm/accordion-item/accordion-item.template.js +47 -2
  218. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  219. package/dist/esm/accordion-item/index.js +2 -2
  220. package/dist/esm/accordion-item/index.js.map +1 -1
  221. package/dist/esm/anchor-button/anchor-button.bench.js +11 -0
  222. package/dist/esm/anchor-button/anchor-button.bench.js.map +1 -0
  223. package/dist/esm/anchor-button/anchor-button.definition.js +0 -6
  224. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  225. package/dist/esm/anchor-button/anchor-button.js +123 -64
  226. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  227. package/dist/esm/anchor-button/anchor-button.options.js +26 -0
  228. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  229. package/dist/esm/anchor-button/anchor-button.styles.js +8 -8
  230. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  231. package/dist/esm/anchor-button/anchor-button.template.js +21 -1
  232. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  233. package/dist/esm/anchor-button/index.js +3 -3
  234. package/dist/esm/anchor-button/index.js.map +1 -1
  235. package/dist/esm/avatar/avatar.bench.js +10 -0
  236. package/dist/esm/avatar/avatar.bench.js.map +1 -0
  237. package/dist/esm/avatar/avatar.js +43 -23
  238. package/dist/esm/avatar/avatar.js.map +1 -1
  239. package/dist/esm/avatar/avatar.styles.js +36 -36
  240. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  241. package/dist/esm/avatar/avatar.template.js +2 -4
  242. package/dist/esm/avatar/avatar.template.js.map +1 -1
  243. package/dist/esm/avatar/index.js +2 -2
  244. package/dist/esm/avatar/index.js.map +1 -1
  245. package/dist/esm/badge/badge.bench.js +11 -0
  246. package/dist/esm/badge/badge.bench.js.map +1 -0
  247. package/dist/esm/badge/badge.definition.js +0 -3
  248. package/dist/esm/badge/badge.definition.js.map +1 -1
  249. package/dist/esm/badge/badge.js +2 -7
  250. package/dist/esm/badge/badge.js.map +1 -1
  251. package/dist/esm/badge/badge.styles.js +8 -1
  252. package/dist/esm/badge/badge.styles.js.map +1 -1
  253. package/dist/esm/badge/badge.template.js +2 -2
  254. package/dist/esm/badge/badge.template.js.map +1 -1
  255. package/dist/esm/badge/index.js +2 -2
  256. package/dist/esm/badge/index.js.map +1 -1
  257. package/dist/esm/button/button.bench.js +11 -0
  258. package/dist/esm/button/button.bench.js.map +1 -0
  259. package/dist/esm/button/button.definition.js +2 -6
  260. package/dist/esm/button/button.definition.js.map +1 -1
  261. package/dist/esm/button/button.js +264 -42
  262. package/dist/esm/button/button.js.map +1 -1
  263. package/dist/esm/button/button.options.js +20 -0
  264. package/dist/esm/button/button.options.js.map +1 -1
  265. package/dist/esm/button/button.styles.js +79 -70
  266. package/dist/esm/button/button.styles.js.map +1 -1
  267. package/dist/esm/button/button.template.js +23 -1
  268. package/dist/esm/button/button.template.js.map +1 -1
  269. package/dist/esm/button/index.js +4 -4
  270. package/dist/esm/button/index.js.map +1 -1
  271. package/dist/esm/checkbox/checkbox.bench.js +11 -0
  272. package/dist/esm/checkbox/checkbox.bench.js.map +1 -0
  273. package/dist/esm/checkbox/checkbox.definition.js +1 -1
  274. package/dist/esm/checkbox/checkbox.definition.js.map +1 -1
  275. package/dist/esm/checkbox/checkbox.js +371 -13
  276. package/dist/esm/checkbox/checkbox.js.map +1 -1
  277. package/dist/esm/checkbox/checkbox.options.js +0 -8
  278. package/dist/esm/checkbox/checkbox.options.js.map +1 -1
  279. package/dist/esm/checkbox/checkbox.styles.js +145 -123
  280. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  281. package/dist/esm/checkbox/checkbox.template.js +34 -17
  282. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  283. package/dist/esm/checkbox/index.js +3 -3
  284. package/dist/esm/checkbox/index.js.map +1 -1
  285. package/dist/esm/compound-button/compound-button.bench.js +15 -0
  286. package/dist/esm/compound-button/compound-button.bench.js.map +1 -0
  287. package/dist/esm/compound-button/compound-button.definition.js +0 -6
  288. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  289. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  290. package/dist/esm/compound-button/compound-button.styles.js +7 -7
  291. package/dist/esm/compound-button/compound-button.template.js +4 -40
  292. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  293. package/dist/esm/compound-button/index.js +2 -2
  294. package/dist/esm/compound-button/index.js.map +1 -1
  295. package/dist/esm/counter-badge/counter-badge.bench.js +11 -0
  296. package/dist/esm/counter-badge/counter-badge.bench.js.map +1 -0
  297. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  298. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  299. package/dist/esm/counter-badge/counter-badge.js +2 -7
  300. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  301. package/dist/esm/counter-badge/index.js +2 -2
  302. package/dist/esm/counter-badge/index.js.map +1 -1
  303. package/dist/esm/dialog/define.js +4 -0
  304. package/dist/esm/dialog/define.js.map +1 -0
  305. package/dist/esm/dialog/dialog.bench.js +11 -0
  306. package/dist/esm/dialog/dialog.bench.js.map +1 -0
  307. package/dist/esm/dialog/dialog.definition.js +17 -0
  308. package/dist/esm/dialog/dialog.definition.js.map +1 -0
  309. package/dist/esm/dialog/dialog.js +91 -0
  310. package/dist/esm/dialog/dialog.js.map +1 -0
  311. package/dist/esm/dialog/dialog.options.js +10 -0
  312. package/dist/esm/dialog/dialog.options.js.map +1 -0
  313. package/dist/esm/dialog/dialog.styles.js +86 -0
  314. package/dist/esm/dialog/dialog.styles.js.map +1 -0
  315. package/dist/esm/dialog/dialog.template.js +24 -0
  316. package/dist/esm/dialog/dialog.template.js.map +1 -0
  317. package/dist/esm/dialog/index.js +6 -0
  318. package/dist/esm/dialog/index.js.map +1 -0
  319. package/dist/esm/dialog-body/define.js +4 -0
  320. package/dist/esm/dialog-body/define.js.map +1 -0
  321. package/dist/esm/dialog-body/dialog-body.bench.js +11 -0
  322. package/dist/esm/dialog-body/dialog-body.bench.js.map +1 -0
  323. package/dist/esm/dialog-body/dialog-body.definition.js +17 -0
  324. package/dist/esm/dialog-body/dialog-body.definition.js.map +1 -0
  325. package/dist/esm/dialog-body/dialog-body.js +22 -0
  326. package/dist/esm/dialog-body/dialog-body.js.map +1 -0
  327. package/dist/esm/dialog-body/dialog-body.styles.js +79 -0
  328. package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -0
  329. package/dist/esm/dialog-body/dialog-body.template.js +42 -0
  330. package/dist/esm/dialog-body/dialog-body.template.js.map +1 -0
  331. package/dist/esm/dialog-body/index.js +5 -0
  332. package/dist/esm/dialog-body/index.js.map +1 -0
  333. package/dist/esm/divider/divider.bench.js +10 -0
  334. package/dist/esm/divider/divider.bench.js.map +1 -0
  335. package/dist/esm/divider/divider.js +56 -11
  336. package/dist/esm/divider/divider.js.map +1 -1
  337. package/dist/esm/divider/divider.options.js +14 -5
  338. package/dist/esm/divider/divider.options.js.map +1 -1
  339. package/dist/esm/divider/divider.styles.js +1 -1
  340. package/dist/esm/divider/divider.styles.js.map +1 -1
  341. package/dist/esm/divider/divider.template.js +4 -1
  342. package/dist/esm/divider/divider.template.js.map +1 -1
  343. package/dist/esm/divider/index.js +2 -2
  344. package/dist/esm/divider/index.js.map +1 -1
  345. package/dist/esm/field/define.js +4 -0
  346. package/dist/esm/field/define.js.map +1 -0
  347. package/dist/esm/field/field.bench.js +10 -0
  348. package/dist/esm/field/field.bench.js.map +1 -0
  349. package/dist/esm/field/field.definition.js +20 -0
  350. package/dist/esm/field/field.definition.js.map +1 -0
  351. package/dist/esm/field/field.js +139 -0
  352. package/dist/esm/field/field.js.map +1 -0
  353. package/dist/esm/field/field.options.js +27 -0
  354. package/dist/esm/field/field.options.js.map +1 -0
  355. package/dist/esm/field/field.styles.js +186 -0
  356. package/dist/esm/field/field.styles.js.map +1 -0
  357. package/dist/esm/field/field.template.js +26 -0
  358. package/dist/esm/field/field.template.js.map +1 -0
  359. package/dist/esm/field/index.js +6 -0
  360. package/dist/esm/field/index.js.map +1 -0
  361. package/dist/esm/form-associated/form-associated.js +458 -0
  362. package/dist/esm/form-associated/form-associated.js.map +1 -0
  363. package/dist/esm/image/image.bench.js +14 -0
  364. package/dist/esm/image/image.bench.js.map +1 -0
  365. package/dist/esm/image/image.js +1 -6
  366. package/dist/esm/image/image.js.map +1 -1
  367. package/dist/esm/image/index.js +2 -2
  368. package/dist/esm/image/index.js.map +1 -1
  369. package/dist/esm/index-rollup.js +32 -1
  370. package/dist/esm/index-rollup.js.map +1 -1
  371. package/dist/esm/index.js +39 -30
  372. package/dist/esm/index.js.map +1 -1
  373. package/dist/esm/label/index.js +2 -1
  374. package/dist/esm/label/index.js.map +1 -1
  375. package/dist/esm/label/label.bench.js +11 -0
  376. package/dist/esm/label/label.bench.js.map +1 -0
  377. package/dist/esm/label/label.js +1 -6
  378. package/dist/esm/label/label.js.map +1 -1
  379. package/dist/esm/label/label.styles.js +13 -6
  380. package/dist/esm/label/label.styles.js.map +1 -1
  381. package/dist/esm/link/define.js +4 -0
  382. package/dist/esm/link/define.js.map +1 -0
  383. package/dist/esm/link/index.js +5 -0
  384. package/dist/esm/link/index.js.map +1 -0
  385. package/dist/esm/link/link.bench.js +11 -0
  386. package/dist/esm/link/link.bench.js.map +1 -0
  387. package/dist/esm/link/link.definition.js +15 -0
  388. package/dist/esm/link/link.definition.js.map +1 -0
  389. package/dist/esm/link/link.js +36 -0
  390. package/dist/esm/link/link.js.map +1 -0
  391. package/dist/esm/link/link.options.js +21 -0
  392. package/dist/esm/link/link.options.js.map +1 -0
  393. package/dist/esm/link/link.styles.js +67 -0
  394. package/dist/esm/link/link.styles.js.map +1 -0
  395. package/dist/esm/link/link.template.js +22 -0
  396. package/dist/esm/link/link.template.js.map +1 -0
  397. package/dist/esm/menu/index.js +1 -1
  398. package/dist/esm/menu/index.js.map +1 -1
  399. package/dist/esm/menu/menu.bench.js +31 -0
  400. package/dist/esm/menu/menu.bench.js.map +1 -0
  401. package/dist/esm/menu/menu.js +26 -29
  402. package/dist/esm/menu/menu.js.map +1 -1
  403. package/dist/esm/menu-button/index.js +3 -3
  404. package/dist/esm/menu-button/index.js.map +1 -1
  405. package/dist/esm/menu-button/menu-button.bench.js +11 -0
  406. package/dist/esm/menu-button/menu-button.bench.js.map +1 -0
  407. package/dist/esm/menu-button/menu-button.definition.js +0 -6
  408. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  409. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  410. package/dist/esm/menu-button/menu-button.template.js +6 -2
  411. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  412. package/dist/esm/menu-item/index.js +4 -3
  413. package/dist/esm/menu-item/index.js.map +1 -1
  414. package/dist/esm/menu-item/menu-item.bench.js +11 -0
  415. package/dist/esm/menu-item/menu-item.bench.js.map +1 -0
  416. package/dist/esm/menu-item/menu-item.definition.js +0 -4
  417. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  418. package/dist/esm/menu-item/menu-item.js +265 -4
  419. package/dist/esm/menu-item/menu-item.js.map +1 -1
  420. package/dist/esm/menu-item/menu-item.options.js +27 -0
  421. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  422. package/dist/esm/menu-item/menu-item.styles.js +1 -1
  423. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  424. package/dist/esm/menu-item/menu-item.template.js +57 -2
  425. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  426. package/dist/esm/menu-list/index.js +1 -1
  427. package/dist/esm/menu-list/index.js.map +1 -1
  428. package/dist/esm/menu-list/menu-list.bench.js +21 -0
  429. package/dist/esm/menu-list/menu-list.bench.js.map +1 -0
  430. package/dist/esm/menu-list/menu-list.definition.js +0 -4
  431. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  432. package/dist/esm/menu-list/menu-list.js +262 -11
  433. package/dist/esm/menu-list/menu-list.js.map +1 -1
  434. package/dist/esm/menu-list/menu-list.styles.js +1 -1
  435. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  436. package/dist/esm/menu-list/menu-list.template.js +13 -1
  437. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  438. package/dist/esm/patterns/aria-globals.js +72 -0
  439. package/dist/esm/patterns/aria-globals.js.map +1 -0
  440. package/dist/esm/patterns/index.js +3 -0
  441. package/dist/esm/patterns/index.js.map +1 -0
  442. package/dist/esm/patterns/start-end.js +29 -0
  443. package/dist/esm/patterns/start-end.js.map +1 -0
  444. package/dist/esm/progress-bar/index.js +2 -2
  445. package/dist/esm/progress-bar/index.js.map +1 -1
  446. package/dist/esm/progress-bar/progress-bar.bench.js +10 -0
  447. package/dist/esm/progress-bar/progress-bar.bench.js.map +1 -0
  448. package/dist/esm/progress-bar/progress-bar.js +66 -13
  449. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  450. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  451. package/dist/esm/progress-bar/progress-bar.styles.js +49 -128
  452. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  453. package/dist/esm/progress-bar/progress-bar.template.js +11 -5
  454. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  455. package/dist/esm/radio/index.js +1 -1
  456. package/dist/esm/radio/index.js.map +1 -1
  457. package/dist/esm/radio/radio.bench.js +11 -0
  458. package/dist/esm/radio/radio.bench.js.map +1 -0
  459. package/dist/esm/radio/radio.form-associated.js +14 -0
  460. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  461. package/dist/esm/radio/radio.js +91 -3
  462. package/dist/esm/radio/radio.js.map +1 -1
  463. package/dist/esm/radio/radio.styles.js +1 -1
  464. package/dist/esm/radio/radio.styles.js.map +1 -1
  465. package/dist/esm/radio/radio.template.js +28 -2
  466. package/dist/esm/radio/radio.template.js.map +1 -1
  467. package/dist/esm/radio-group/index.js +2 -2
  468. package/dist/esm/radio-group/index.js.map +1 -1
  469. package/dist/esm/radio-group/radio-group.bench.js +21 -0
  470. package/dist/esm/radio-group/radio-group.bench.js.map +1 -0
  471. package/dist/esm/radio-group/radio-group.js +347 -9
  472. package/dist/esm/radio-group/radio-group.js.map +1 -1
  473. package/dist/esm/radio-group/radio-group.options.js +7 -0
  474. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  475. package/dist/esm/radio-group/radio-group.styles.js +1 -1
  476. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  477. package/dist/esm/radio-group/radio-group.template.js +30 -1
  478. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  479. package/dist/esm/slider/index.js +2 -2
  480. package/dist/esm/slider/index.js.map +1 -1
  481. package/dist/esm/slider/slider-utilities.js +12 -0
  482. package/dist/esm/slider/slider-utilities.js.map +1 -0
  483. package/dist/esm/slider/slider.bench.js +10 -0
  484. package/dist/esm/slider/slider.bench.js.map +1 -0
  485. package/dist/esm/slider/slider.form-associated.js +14 -0
  486. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  487. package/dist/esm/slider/slider.js +433 -22
  488. package/dist/esm/slider/slider.js.map +1 -1
  489. package/dist/esm/slider/slider.options.js +11 -1
  490. package/dist/esm/slider/slider.options.js.map +1 -1
  491. package/dist/esm/slider/slider.styles.js +1 -1
  492. package/dist/esm/slider/slider.styles.js.map +1 -1
  493. package/dist/esm/slider/slider.template.js +39 -2
  494. package/dist/esm/slider/slider.template.js.map +1 -1
  495. package/dist/esm/spinner/index.js +2 -2
  496. package/dist/esm/spinner/index.js.map +1 -1
  497. package/dist/esm/spinner/spinner.bench.js +10 -0
  498. package/dist/esm/spinner/spinner.bench.js.map +1 -0
  499. package/dist/esm/spinner/spinner.definition.js +0 -4
  500. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  501. package/dist/esm/spinner/spinner.js +13 -9
  502. package/dist/esm/spinner/spinner.js.map +1 -1
  503. package/dist/esm/spinner/spinner.styles.js +3 -17
  504. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  505. package/dist/esm/spinner/spinner.template.js +8 -21
  506. package/dist/esm/spinner/spinner.template.js.map +1 -1
  507. package/dist/esm/styles/partials/badge.partials.js +1 -1
  508. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  509. package/dist/esm/styles/partials/index.js +1 -0
  510. package/dist/esm/styles/partials/index.js.map +1 -1
  511. package/dist/esm/styles/partials/typography.partials.js +105 -0
  512. package/dist/esm/styles/partials/typography.partials.js.map +1 -0
  513. package/dist/esm/switch/index.js +2 -2
  514. package/dist/esm/switch/index.js.map +1 -1
  515. package/dist/esm/switch/switch.bench.js +11 -0
  516. package/dist/esm/switch/switch.bench.js.map +1 -0
  517. package/dist/esm/switch/switch.form-associated.js +14 -0
  518. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  519. package/dist/esm/switch/switch.js +2 -12
  520. package/dist/esm/switch/switch.js.map +1 -1
  521. package/dist/esm/switch/switch.styles.js +38 -58
  522. package/dist/esm/switch/switch.styles.js.map +1 -1
  523. package/dist/esm/switch/switch.template.js +15 -1
  524. package/dist/esm/switch/switch.template.js.map +1 -1
  525. package/dist/esm/tab/index.js +3 -3
  526. package/dist/esm/tab/index.js.map +1 -1
  527. package/dist/esm/tab/tab.bench.js +11 -0
  528. package/dist/esm/tab/tab.bench.js.map +1 -0
  529. package/dist/esm/tab/tab.js +9 -3
  530. package/dist/esm/tab/tab.js.map +1 -1
  531. package/dist/esm/tab/tab.styles.js +1 -1
  532. package/dist/esm/tab/tab.styles.js.map +1 -1
  533. package/dist/esm/tab/tab.template.js +1 -1
  534. package/dist/esm/tab/tab.template.js.map +1 -1
  535. package/dist/esm/tab-panel/index.js +1 -1
  536. package/dist/esm/tab-panel/index.js.map +1 -1
  537. package/dist/esm/tab-panel/tab-panel.bench.js +13 -0
  538. package/dist/esm/tab-panel/tab-panel.bench.js.map +1 -0
  539. package/dist/esm/tab-panel/tab-panel.js +2 -2
  540. package/dist/esm/tab-panel/tab-panel.js.map +1 -1
  541. package/dist/esm/tab-panel/tab-panel.styles.js +1 -1
  542. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  543. package/dist/esm/tab-panel/tab-panel.template.js +8 -1
  544. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  545. package/dist/esm/tabs/index.js +4 -4
  546. package/dist/esm/tabs/index.js.map +1 -1
  547. package/dist/esm/tabs/tabs.bench.js +32 -0
  548. package/dist/esm/tabs/tabs.bench.js.map +1 -0
  549. package/dist/esm/tabs/tabs.js +292 -20
  550. package/dist/esm/tabs/tabs.js.map +1 -1
  551. package/dist/esm/tabs/tabs.options.js +6 -2
  552. package/dist/esm/tabs/tabs.options.js.map +1 -1
  553. package/dist/esm/tabs/tabs.styles.js +1 -1
  554. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  555. package/dist/esm/tabs/tabs.template.js +14 -1
  556. package/dist/esm/tabs/tabs.template.js.map +1 -1
  557. package/dist/esm/text/index.js +2 -2
  558. package/dist/esm/text/index.js.map +1 -1
  559. package/dist/esm/text/text.bench.js +13 -0
  560. package/dist/esm/text/text.bench.js.map +1 -0
  561. package/dist/esm/text/text.js +1 -6
  562. package/dist/esm/text/text.js.map +1 -1
  563. package/dist/esm/text/text.styles.js +49 -25
  564. package/dist/esm/text/text.styles.js.map +1 -1
  565. package/dist/esm/text-input/index.js +4 -5
  566. package/dist/esm/text-input/index.js.map +1 -1
  567. package/dist/esm/text-input/text-input.bench.js +10 -0
  568. package/dist/esm/text-input/text-input.bench.js.map +1 -0
  569. package/dist/esm/text-input/text-input.definition.js +5 -3
  570. package/dist/esm/text-input/text-input.definition.js.map +1 -1
  571. package/dist/esm/text-input/text-input.js +398 -11
  572. package/dist/esm/text-input/text-input.js.map +1 -1
  573. package/dist/esm/text-input/text-input.options.js +35 -2
  574. package/dist/esm/text-input/text-input.options.js.map +1 -1
  575. package/dist/esm/text-input/text-input.styles.js +22 -12
  576. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  577. package/dist/esm/text-input/text-input.template.js +55 -2
  578. package/dist/esm/text-input/text-input.template.js.map +1 -1
  579. package/dist/esm/theme/design-tokens.js +2181 -386
  580. package/dist/esm/theme/design-tokens.js.map +1 -1
  581. package/dist/esm/theme/set-theme.js +26 -3
  582. package/dist/esm/theme/set-theme.js.map +1 -1
  583. package/dist/esm/toggle-button/index.js +4 -4
  584. package/dist/esm/toggle-button/index.js.map +1 -1
  585. package/dist/esm/toggle-button/toggle-button.bench.js +11 -0
  586. package/dist/esm/toggle-button/toggle-button.bench.js.map +1 -0
  587. package/dist/esm/toggle-button/toggle-button.definition.js +0 -5
  588. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  589. package/dist/esm/toggle-button/toggle-button.js +43 -91
  590. package/dist/esm/toggle-button/toggle-button.js.map +1 -1
  591. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  592. package/dist/esm/toggle-button/toggle-button.styles.js +31 -26
  593. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  594. package/dist/esm/toggle-button/toggle-button.template.js +1 -1
  595. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
  596. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  597. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  598. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  599. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  600. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  601. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  602. package/dist/esm/utils/direction.js +15 -0
  603. package/dist/esm/utils/direction.js.map +1 -0
  604. package/dist/esm/utils/display.js +15 -0
  605. package/dist/esm/utils/display.js.map +1 -0
  606. package/dist/esm/utils/element-internals.js +32 -0
  607. package/dist/esm/utils/element-internals.js.map +1 -0
  608. package/dist/esm/utils/get-initials.js.map +1 -1
  609. package/dist/esm/utils/index.js +7 -0
  610. package/dist/esm/utils/index.js.map +1 -0
  611. package/dist/esm/utils/template-helpers.js +19 -0
  612. package/dist/esm/utils/template-helpers.js.map +1 -0
  613. package/dist/esm/utils/typings.js +3 -0
  614. package/dist/esm/utils/typings.js.map +1 -0
  615. package/dist/esm/utils/whitespace-filter.js +13 -0
  616. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  617. package/dist/web-components.d.ts +6220 -1635
  618. package/dist/web-components.js +5383 -6596
  619. package/dist/web-components.min.js +337 -191
  620. package/package.json +40 -13
  621. package/dist/fluent-web-components.api.json +0 -19686
  622. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
  623. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
  624. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
  625. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
  626. package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
  627. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
  628. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
  629. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
  630. package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
  631. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
  632. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
  633. package/dist/storybook/677.939f187f.iframe.bundle.js +0 -462
  634. package/dist/storybook/677.939f187f.iframe.bundle.js.LICENSE.txt +0 -46
  635. package/dist/storybook/677.939f187f.iframe.bundle.js.map +0 -1
  636. package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
  637. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
  638. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
  639. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
  640. package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
  641. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
  642. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
  643. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
  644. package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
  645. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
  646. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
  647. package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
  648. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
  649. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  650. package/dist/storybook/favicon.ico +0 -0
  651. package/dist/storybook/favicon.png +0 -0
  652. package/dist/storybook/iframe.html +0 -364
  653. package/dist/storybook/index.html +0 -165
  654. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
  655. package/dist/storybook/main.b782e9fb.iframe.bundle.js +0 -2
  656. package/dist/storybook/main.b782e9fb.iframe.bundle.js.LICENSE.txt +0 -1
  657. package/dist/storybook/project.json +0 -1
  658. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
  659. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
  660. package/dist/storybook/shell.css +0 -83
  661. package/dist/storybook/theme-switch.ts +0 -13
  662. package/docs/api-report.md +0 -2427
  663. package/playwright.config.ts +0 -25
@@ -1,80 +1,144 @@
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 { attr } from '@microsoft/fast-element';
8
- import { FASTAnchor } from '@microsoft/fast-foundation/anchor.js';
1
+ import { __decorate } from "tslib";
2
+ import { attr, FASTElement, Observable } from '@microsoft/fast-element';
3
+ import { keyEnter } from '@microsoft/fast-web-utilities';
4
+ import { StartEnd } from '../patterns/index.js';
5
+ import { applyMixins } from '../utils/apply-mixins.js';
6
+ import { AnchorAttributes, } from './anchor-button.options.js';
9
7
  /**
10
- * The base class used for constructing a fluent-anchor-button custom element
8
+ * An Anchor Custom HTML Element.
9
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.
10
+ *
11
+ * @slot start - Content which can be provided before the anchor content
12
+ * @slot end - Content which can be provided after the anchor content
13
+ * @slot - The default slot for anchor content
14
+ * @csspart control - The anchor element
15
+ * @csspart content - The element wrapping anchor content
16
+ *
11
17
  * @public
12
18
  */
13
- export class AnchorButton extends FASTAnchor {
19
+ export class BaseAnchor extends FASTElement {
14
20
  constructor() {
15
- super(...arguments);
16
- /**
17
- * The anchor button has an icon only, no text content
18
- *
19
- * @public
20
- * @remarks
21
- * HTML Attribute: icon-only
22
- */
23
- this.iconOnly = false;
21
+ super();
24
22
  /**
25
- * The anchor button is disabled
23
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
26
24
  *
27
- * @public
28
- * @remarks
29
- * HTML Attribute: disabled-focusable
30
- */
31
- this.disabled = false;
32
- /**
33
- * The anchor button is disabled but focusable
34
- *
35
- * @public
36
- * @remarks
37
- * HTML Attribute: disabled-focusable
25
+ * @internal
38
26
  */
39
- this.disabledFocusable = false;
27
+ this.elementInternals = this.attachInternals();
40
28
  /**
41
- * Prevents disabledFocusable click events
29
+ * The proxy anchor element
30
+ * @internal
42
31
  */
43
- this.handleDisabledFocusableClick = (e) => {
44
- if ((e && this.disabled) || this.disabledFocusable) {
45
- e.stopImmediatePropagation();
46
- return;
47
- }
48
- };
32
+ this.internalProxyAnchor = this.createProxyElement();
33
+ this.elementInternals.role = 'link';
49
34
  }
50
- disabledChanged(prev, next) {
51
- if (this.disabled) {
52
- this.setAttribute('aria-disabled', 'true');
53
- this.setAttribute('tabindex', '-1');
54
- }
55
- else {
56
- this.removeAttribute('aria-disabled');
57
- this.removeAttribute('tabindex');
35
+ connectedCallback() {
36
+ super.connectedCallback();
37
+ Observable.getNotifier(this).subscribe(this);
38
+ Object.keys(this.$fastController.definition.attributeLookup).forEach(key => {
39
+ this.handleChange(this, key);
40
+ });
41
+ this.append(this.internalProxyAnchor);
42
+ }
43
+ disconnectedCallback() {
44
+ super.disconnectedCallback();
45
+ Observable.getNotifier(this).unsubscribe(this);
46
+ }
47
+ /**
48
+ * Handles changes to observable properties
49
+ * @internal
50
+ * @param source - the source of the change
51
+ * @param propertyName - the property name being changed
52
+ */
53
+ handleChange(source, propertyName) {
54
+ var _a;
55
+ if (propertyName in AnchorAttributes) {
56
+ const attribute = (_a = this.$fastController.definition.attributeLookup[propertyName]) === null || _a === void 0 ? void 0 : _a.attribute;
57
+ if (attribute) {
58
+ this.handleProxyAttributeChange(attribute, this[propertyName]);
59
+ }
58
60
  }
59
61
  }
60
- disabledFocusableChanged(prev, next) {
61
- if (!this.$fastController.isConnected) {
62
+ /**
63
+ * Handles the anchor click event.
64
+ *
65
+ * @param e - The event object
66
+ * @internal
67
+ */
68
+ clickHandler() {
69
+ this.internalProxyAnchor.click();
70
+ return true;
71
+ }
72
+ /**
73
+ * Handles keypress events for the anchor.
74
+ *
75
+ * @param e - the keyboard event
76
+ * @returns - the return value of the click handler
77
+ * @public
78
+ */
79
+ keypressHandler(e) {
80
+ if (e.key === keyEnter) {
81
+ this.internalProxyAnchor.click();
62
82
  return;
63
83
  }
64
- if (this.disabledFocusable) {
65
- this.setAttribute('aria-disabled', 'true');
84
+ return true;
85
+ }
86
+ /**
87
+ * A method for updating proxy attributes when attributes have changed
88
+ * @internal
89
+ * @param attribute - an attribute to set/remove
90
+ * @param value - the value of the attribute
91
+ */
92
+ handleProxyAttributeChange(attribute, value) {
93
+ if (value) {
94
+ this.internalProxyAnchor.setAttribute(attribute, value);
66
95
  }
67
96
  else {
68
- this.removeAttribute('aria-disabled');
97
+ this.internalProxyAnchor.removeAttribute(attribute);
69
98
  }
70
99
  }
71
- connectedCallback() {
72
- super.connectedCallback();
73
- this.addEventListener('click', this.handleDisabledFocusableClick);
100
+ createProxyElement() {
101
+ var _a;
102
+ const proxy = (_a = this.internalProxyAnchor) !== null && _a !== void 0 ? _a : document.createElement('a');
103
+ proxy.hidden = true;
104
+ return proxy;
74
105
  }
75
- disconnectedCallback() {
76
- super.disconnectedCallback();
77
- this.removeEventListener('click', this.handleDisabledFocusableClick);
106
+ }
107
+ __decorate([
108
+ attr
109
+ ], BaseAnchor.prototype, "download", void 0);
110
+ __decorate([
111
+ attr
112
+ ], BaseAnchor.prototype, "href", void 0);
113
+ __decorate([
114
+ attr
115
+ ], BaseAnchor.prototype, "hreflang", void 0);
116
+ __decorate([
117
+ attr
118
+ ], BaseAnchor.prototype, "ping", void 0);
119
+ __decorate([
120
+ attr
121
+ ], BaseAnchor.prototype, "referrerpolicy", void 0);
122
+ __decorate([
123
+ attr
124
+ ], BaseAnchor.prototype, "rel", void 0);
125
+ __decorate([
126
+ attr
127
+ ], BaseAnchor.prototype, "target", void 0);
128
+ __decorate([
129
+ attr
130
+ ], BaseAnchor.prototype, "type", void 0);
131
+ export class AnchorButton extends BaseAnchor {
132
+ constructor() {
133
+ super(...arguments);
134
+ /**
135
+ * The anchor button has an icon only, no text content
136
+ *
137
+ * @public
138
+ * @remarks
139
+ * HTML Attribute: `icon-only`
140
+ */
141
+ this.iconOnly = false;
78
142
  }
79
143
  }
80
144
  __decorate([
@@ -89,10 +153,5 @@ __decorate([
89
153
  __decorate([
90
154
  attr({ attribute: 'icon-only', mode: 'boolean' })
91
155
  ], AnchorButton.prototype, "iconOnly", void 0);
92
- __decorate([
93
- attr({ mode: 'boolean' })
94
- ], AnchorButton.prototype, "disabled", void 0);
95
- __decorate([
96
- attr({ attribute: 'disabled-focusable', mode: 'boolean' })
97
- ], AnchorButton.prototype, "disabledFocusable", void 0);
156
+ applyMixins(AnchorButton, StartEnd);
98
157
  //# sourceMappingURL=anchor-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QA+BE;;;;;;WAMG;QAEI,aAAQ,GAAY,KAAK,CAAC;QAEjC;;;;;;WAMG;QAEI,aAAQ,GAAa,KAAK,CAAC;QAWlC;;;;;;WAMG;QAEI,sBAAiB,GAAa,KAAK,CAAC;QAa3C;;WAEG;QACK,iCAA4B,GAAG,CAAC,CAAa,EAAQ,EAAE;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAClD,CAAC,CAAC,wBAAwB,EAAE,CAAC;gBAC7B,OAAO;aACR;QACH,CAAC,CAAC;IAaJ,CAAC;IApDW,eAAe,CAAC,IAAa,EAAE,IAAa;QACpD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAgC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YACvE,IAAgC,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnE;aAAM;YACH,IAAgC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YAClE,IAAgC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SAChE;IACH,CAAC;IAWS,wBAAwB,CAAC,IAAa,EAAE,IAAa;QAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACrC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAgC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;SAC1E;aAAM;YACH,IAAgC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrE;IACH,CAAC;IAYM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAExB,IAAgC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClG,CAAC;IAEM,oBAAoB;QACzB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE3B,IAAgC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrG,CAAC;CACF;AA7FC;IADC,IAAI;gDACkD;AAUvD;IADC,IAAI;2CACwC;AAU7C;IADC,IAAI;0CAC0B;AAU/B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CACjB;AAUjC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;8CACQ;AAmBlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDAChB"}
1
+ {"version":3,"file":"anchor-button.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,30 @@ export const AnchorButtonShape = ButtonShape;
14
14
  * @public
15
15
  */
16
16
  export const AnchorButtonSize = ButtonSize;
17
+ /**
18
+ * Anchor target values.
19
+ *
20
+ * @public
21
+ */
22
+ export const AnchorTarget = {
23
+ _self: '_self',
24
+ _blank: '_blank',
25
+ _parent: '_parent',
26
+ _top: '_top',
27
+ };
28
+ /**
29
+ * Reflected anchor attributes.
30
+ *
31
+ * @public
32
+ */
33
+ export const AnchorAttributes = {
34
+ download: 'download',
35
+ href: 'href',
36
+ hreflang: 'hreflang',
37
+ ping: 'ping',
38
+ referrerpolicy: 'referrerpolicy',
39
+ rel: 'rel',
40
+ target: 'target',
41
+ type: 'type',
42
+ };
17
43
  //# sourceMappingURL=anchor-button.options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.options.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAQvD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAQ7C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"anchor-button.options.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIxF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAQvD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAQ7C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAU3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AASX;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,gBAAgB;IAChC,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { css } from '@microsoft/fast-element';
2
- import { styles as ButtonStyles } from '../button/button.styles.js';
2
+ import { baseButtonStyles } from '../button/button.styles.js';
3
+ import { forcedColorsStylesheetBehavior } from '../utils/index.js';
3
4
  // Need to support icon hover styles
4
- export const styles = css `
5
- ${ButtonStyles}
6
-
7
- .content {
8
- text-align: center;
9
- }
10
- `;
5
+ export const styles = baseButtonStyles.withBehaviors(forcedColorsStylesheetBehavior(css `
6
+ :host {
7
+ border-color: LinkText;
8
+ color: LinkText;
9
+ }
10
+ `));
11
11
  //# sourceMappingURL=anchor-button.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.styles.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEpE,oCAAoC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,YAAY;;;;;CAKf,CAAC"}
1
+ {"version":3,"file":"anchor-button.styles.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAEnE,oCAAoC;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC,aAAa,CAClD,8BAA8B,CAAC,GAAG,CAAA;;;;;GAKjC,CAAC,CACH,CAAC"}
@@ -1,4 +1,24 @@
1
- import { anchorTemplate } from '@microsoft/fast-foundation/anchor.js';
1
+ import { html } from '@microsoft/fast-element';
2
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
3
+ /**
4
+ * The template for the Button component.
5
+ * @public
6
+ */
7
+ export function anchorTemplate(options = {}) {
8
+ return html `
9
+ <template
10
+ tabindex="0"
11
+ @click="${x => x.clickHandler()}"
12
+ @keypress="${(x, c) => x.keypressHandler(c.event)}"
13
+ >
14
+ ${startSlotTemplate(options)}
15
+ <span class="content" part="content">
16
+ <slot></slot>
17
+ </span>
18
+ ${endSlotTemplate(options)}
19
+ </template>
20
+ `;
21
+ }
2
22
  /**
3
23
  * The template for the Button component.
4
24
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.template.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"anchor-button.template.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAgB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG1E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAyB,UAAyB,EAAE;IAChF,OAAO,IAAI,CAAG;;;gBAGA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE;mBAClB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAsB,CAAC;;QAEhE,iBAAiB,CAAC,OAAO,CAAC;;;;QAI1B,eAAe,CAAC,OAAO,CAAC;;GAE7B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsC,cAAc,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- export * from './anchor-button.js';
2
- export * from './anchor-button.options.js';
3
- export { template as AnchorButtonTemplate } from './anchor-button.template.js';
4
1
  export { definition as AnchorButtonDefinition } from './anchor-button.definition.js';
2
+ export { AnchorButton } from './anchor-button.js';
3
+ export { AnchorButtonAppearance, AnchorButtonShape, AnchorButtonSize, AnchorTarget } from './anchor-button.options.js';
4
+ export { template as AnchorButtonTemplate } from './anchor-button.template.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-button/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,UAAU,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/anchor-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEvH,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './avatar.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ const itemRenderer = () => {
5
+ const avatar = document.createElement('fluent-avatar');
6
+ return avatar;
7
+ };
8
+ export default itemRenderer;
9
+ export { tests } from '../utils/benchmark-wrapper.js';
10
+ //# sourceMappingURL=avatar.bench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.bench.js","sourceRoot":"","sources":["../../../src/avatar/avatar.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,11 +1,7 @@
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 { attr, FASTElement, nullableNumberConverter } from '@microsoft/fast-element';
1
+ import { __decorate } from "tslib";
2
+ import { attr, FASTElement, nullableNumberConverter, Observable } from '@microsoft/fast-element';
8
3
  import { getInitials } from '../utils/get-initials.js';
4
+ import { toggleState } from '../utils/element-internals.js';
9
5
  import { AvatarColor, AvatarNamedColor, } from './avatar.options.js';
10
6
  /**
11
7
  * The base class used for constructing a fluent-avatar custom element
@@ -13,19 +9,39 @@ import { AvatarColor, AvatarNamedColor, } from './avatar.options.js';
13
9
  */
14
10
  export class Avatar extends FASTElement {
15
11
  constructor() {
16
- super(...arguments);
12
+ super();
17
13
  /**
18
- * The color when displaying either an icon or initials.
19
- * * neutral (default): gray
20
- * * brand: color from the brand palette
21
- * * colorful: picks a color from a set of pre-defined colors, based on a hash of the name (or colorId if provided)
22
- * * [AvatarNamedColor]: a specific color from the theme
14
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
23
15
  *
24
- * @public
25
- * @remarks
26
- * HTML Attribute: color
16
+ * @internal
27
17
  */
28
- this.color = 'neutral';
18
+ this.elementInternals = this.attachInternals();
19
+ this.elementInternals.role = 'img';
20
+ }
21
+ connectedCallback() {
22
+ super.connectedCallback();
23
+ Observable.getNotifier(this).subscribe(this);
24
+ this.generateColor();
25
+ }
26
+ disconnectedCallback() {
27
+ super.disconnectedCallback();
28
+ Observable.getNotifier(this).unsubscribe(this);
29
+ }
30
+ /**
31
+ * Handles changes to observable properties
32
+ * @internal
33
+ * @param source - the source of the change
34
+ * @param propertyName - the property name being changed
35
+ */
36
+ handleChange(source, propertyName) {
37
+ switch (propertyName) {
38
+ case 'color':
39
+ case 'colorId':
40
+ this.generateColor();
41
+ break;
42
+ default:
43
+ break;
44
+ }
29
45
  }
30
46
  /**
31
47
  * Sets the data-color attribute used for the visual presentation
@@ -33,12 +49,16 @@ export class Avatar extends FASTElement {
33
49
  */
34
50
  generateColor() {
35
51
  var _a, _b;
36
- if (!this.color) {
37
- return;
38
- }
39
- return this.color === AvatarColor.colorful
40
- ? Avatar.colors[getHashCode((_b = (_a = this.colorId) !== null && _a !== void 0 ? _a : this.name) !== null && _b !== void 0 ? _b : '') % Avatar.colors.length]
41
- : this.color;
52
+ const colorful = this.color === AvatarColor.colorful;
53
+ const prev = this.currentColor;
54
+ toggleState(this.elementInternals, `${prev}`, false);
55
+ this.currentColor =
56
+ colorful && this.colorId
57
+ ? this.colorId
58
+ : colorful
59
+ ? Avatar.colors[getHashCode((_a = this.name) !== null && _a !== void 0 ? _a : '') % Avatar.colors.length]
60
+ : (_b = this.color) !== null && _b !== void 0 ? _b : AvatarColor.neutral;
61
+ toggleState(this.elementInternals, `${this.currentColor}`, true);
42
62
  }
43
63
  /**
44
64
  * Generates and sets the initials for the template
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/avatar/avatar.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAGL,WAAW,EACX,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,WAAW;IAAvC;;QAuEE;;;;;;;;;;WAUG;QAEI,UAAK,GAAiB,SAAS,CAAC;IA+CzC,CAAC;IAtCC;;;OAGG;IACI,aAAa;;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QAED,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ;YACxC,CAAC,CAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAiB;YACrG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,gBAAgB;;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;SACR;QAED,wDAAwD;QACxD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;QAE7B,OAAO,CACL,MAAA,IAAI,CAAC,QAAQ,mCACb,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAE,IAA+B,CAAC,CAAC,SAAS,KAAK,KAAK,EAAE;YACpG,gBAAgB,EAAE,IAAI,IAAI,EAAE;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;;AAED;;GAEG;AACW,aAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAxHvD;IADC,IAAI;oCAC4B;AAUjC;IADC,IAAI;wCACgC;AAiBrC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;oCACR;AAUrC;IADC,IAAI;qCACkC;AAavC;IADC,IAAI;sCACoC;AAUzC;IADC,IAAI;0CAC4C;AAcjD;IADC,IAAI;qCACkC;AAOvC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;uCACc;AA0ChD,2BAA2B;AAC3B,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,GAAG,GAAW,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;QACtD,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,QAAQ,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iCAAiC;KACnF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/avatar/avatar.ts"],"names":[],"mappings":"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"}