@fluentui/web-components 3.0.0-beta.8 → 3.0.0-beta.80

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 (896) hide show
  1. package/CHANGELOG.md +858 -103
  2. package/README.md +49 -16
  3. package/dist/dts/accordion/accordion.bench.d.ts +3 -0
  4. package/dist/dts/accordion/accordion.d.ts +35 -12
  5. package/dist/dts/accordion/accordion.options.d.ts +3 -3
  6. package/dist/dts/accordion/accordion.template.d.ts +1 -1
  7. package/dist/dts/accordion/index.d.ts +2 -1
  8. package/dist/dts/accordion-item/accordion-item.bench.d.ts +3 -0
  9. package/dist/dts/accordion-item/accordion-item.d.ts +59 -26
  10. package/dist/dts/accordion-item/accordion-item.options.d.ts +3 -3
  11. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -2
  12. package/dist/dts/accordion-item/index.d.ts +3 -2
  13. package/dist/dts/anchor-button/anchor-button.bench.d.ts +3 -0
  14. package/dist/dts/anchor-button/anchor-button.d.ts +127 -80
  15. package/dist/dts/anchor-button/anchor-button.options.d.ts +26 -6
  16. package/dist/dts/anchor-button/anchor-button.template.d.ts +1 -1
  17. package/dist/dts/anchor-button/index.d.ts +4 -3
  18. package/dist/dts/avatar/avatar.bench.d.ts +3 -0
  19. package/dist/dts/avatar/avatar.d.ts +53 -25
  20. package/dist/dts/avatar/avatar.options.d.ts +6 -6
  21. package/dist/dts/avatar/avatar.template.d.ts +1 -1
  22. package/dist/dts/avatar/index.d.ts +2 -2
  23. package/dist/dts/badge/badge.bench.d.ts +3 -0
  24. package/dist/dts/badge/badge.d.ts +30 -0
  25. package/dist/dts/badge/badge.options.d.ts +6 -6
  26. package/dist/dts/badge/badge.template.d.ts +1 -1
  27. package/dist/dts/badge/index.d.ts +2 -2
  28. package/dist/dts/button/button.bench.d.ts +3 -0
  29. package/dist/dts/button/button.d.ts +206 -84
  30. package/dist/dts/button/button.definition.d.ts +3 -1
  31. package/dist/dts/button/button.options.d.ts +22 -8
  32. package/dist/dts/button/button.styles.d.ts +9 -0
  33. package/dist/dts/button/button.template.d.ts +9 -3
  34. package/dist/dts/button/index.d.ts +5 -4
  35. package/dist/dts/checkbox/checkbox.bench.d.ts +3 -0
  36. package/dist/dts/checkbox/checkbox.d.ts +324 -39
  37. package/dist/dts/checkbox/checkbox.options.d.ts +15 -12
  38. package/dist/dts/checkbox/checkbox.template.d.ts +3 -2
  39. package/dist/dts/checkbox/index.d.ts +4 -3
  40. package/dist/dts/compound-button/compound-button.bench.d.ts +3 -0
  41. package/dist/dts/compound-button/compound-button.options.d.ts +4 -9
  42. package/dist/dts/compound-button/compound-button.template.d.ts +1 -1
  43. package/dist/dts/compound-button/index.d.ts +2 -2
  44. package/dist/dts/counter-badge/counter-badge.bench.d.ts +3 -0
  45. package/dist/dts/counter-badge/counter-badge.d.ts +36 -0
  46. package/dist/dts/counter-badge/counter-badge.options.d.ts +6 -6
  47. package/dist/dts/counter-badge/counter-badge.template.d.ts +2 -2
  48. package/dist/dts/counter-badge/index.d.ts +2 -2
  49. package/dist/dts/dialog/dialog.bench.d.ts +3 -0
  50. package/dist/dts/dialog/dialog.d.ts +12 -146
  51. package/dist/dts/dialog/dialog.options.d.ts +2 -2
  52. package/dist/dts/dialog/dialog.template.d.ts +1 -1
  53. package/dist/dts/dialog/index.d.ts +2 -1
  54. package/dist/dts/dialog-body/define.d.ts +1 -0
  55. package/dist/dts/dialog-body/dialog-body.bench.d.ts +3 -0
  56. package/dist/dts/dialog-body/dialog-body.d.ts +14 -0
  57. package/dist/dts/dialog-body/dialog-body.definition.d.ts +9 -0
  58. package/dist/dts/dialog-body/dialog-body.styles.d.ts +4 -0
  59. package/dist/dts/dialog-body/dialog-body.template.d.ts +6 -0
  60. package/dist/dts/dialog-body/index.d.ts +4 -0
  61. package/dist/dts/divider/divider.bench.d.ts +3 -0
  62. package/dist/dts/divider/divider.d.ts +57 -11
  63. package/dist/dts/divider/divider.options.d.ts +4 -5
  64. package/dist/dts/divider/divider.template.d.ts +1 -1
  65. package/dist/dts/divider/index.d.ts +2 -2
  66. package/dist/dts/drawer/define.d.ts +1 -0
  67. package/dist/dts/drawer/drawer.d.ts +93 -0
  68. package/dist/dts/drawer/drawer.definition.d.ts +8 -0
  69. package/dist/dts/drawer/drawer.options.d.ts +40 -0
  70. package/dist/dts/drawer/drawer.styles.d.ts +4 -0
  71. package/dist/dts/drawer/drawer.template.d.ts +8 -0
  72. package/dist/dts/drawer/index.d.ts +5 -0
  73. package/dist/dts/drawer-body/define.d.ts +1 -0
  74. package/dist/dts/drawer-body/drawer-body.d.ts +20 -0
  75. package/dist/dts/drawer-body/drawer-body.definition.d.ts +8 -0
  76. package/dist/dts/drawer-body/drawer-body.styles.d.ts +4 -0
  77. package/dist/dts/drawer-body/drawer-body.template.d.ts +8 -0
  78. package/dist/dts/drawer-body/index.d.ts +4 -0
  79. package/dist/dts/dropdown/define.d.ts +1 -0
  80. package/dist/dts/dropdown/dropdown.d.ts +492 -0
  81. package/dist/dts/dropdown/dropdown.definition.d.ts +9 -0
  82. package/dist/dts/dropdown/dropdown.options.d.ts +53 -0
  83. package/dist/dts/dropdown/dropdown.styles.d.ts +6 -0
  84. package/dist/dts/dropdown/dropdown.template.d.ts +38 -0
  85. package/dist/dts/dropdown/index.d.ts +5 -0
  86. package/dist/dts/field/define.d.ts +1 -0
  87. package/dist/dts/field/field.bench.d.ts +3 -0
  88. package/dist/dts/field/field.d.ts +136 -0
  89. package/dist/dts/field/field.definition.d.ts +9 -0
  90. package/dist/dts/field/field.options.d.ts +43 -0
  91. package/dist/dts/field/field.styles.d.ts +6 -0
  92. package/dist/dts/field/field.template.d.ts +6 -0
  93. package/dist/dts/field/index.d.ts +6 -0
  94. package/dist/dts/form-associated/form-associated.d.ts +4 -78
  95. package/dist/dts/image/image.bench.d.ts +3 -0
  96. package/dist/dts/image/image.d.ts +36 -0
  97. package/dist/dts/image/image.options.d.ts +2 -3
  98. package/dist/dts/image/image.template.d.ts +1 -1
  99. package/dist/dts/image/index.d.ts +2 -2
  100. package/dist/dts/index-rollup.d.ts +42 -1
  101. package/dist/dts/index.d.ts +65 -31
  102. package/dist/dts/label/index.d.ts +2 -1
  103. package/dist/dts/label/label.bench.d.ts +3 -0
  104. package/dist/dts/label/label.d.ts +24 -2
  105. package/dist/dts/label/label.options.d.ts +2 -2
  106. package/dist/dts/label/label.template.d.ts +2 -2
  107. package/dist/dts/link/define.d.ts +1 -0
  108. package/dist/dts/link/index.d.ts +5 -0
  109. package/dist/dts/link/link.bench.d.ts +3 -0
  110. package/dist/dts/link/link.d.ts +45 -0
  111. package/dist/dts/link/link.definition.d.ts +7 -0
  112. package/dist/dts/link/link.options.d.ts +52 -0
  113. package/dist/dts/link/link.styles.d.ts +1 -0
  114. package/dist/dts/link/link.template.d.ts +12 -0
  115. package/dist/dts/listbox/define.d.ts +1 -0
  116. package/dist/dts/listbox/index.d.ts +5 -0
  117. package/dist/dts/listbox/listbox.d.ts +116 -0
  118. package/dist/dts/listbox/listbox.definition.d.ts +9 -0
  119. package/dist/dts/listbox/listbox.options.d.ts +10 -0
  120. package/dist/dts/listbox/listbox.styles.d.ts +6 -0
  121. package/dist/dts/listbox/listbox.template.d.ts +17 -0
  122. package/dist/dts/menu/index.d.ts +1 -1
  123. package/dist/dts/menu/menu.bench.d.ts +3 -0
  124. package/dist/dts/menu/menu.d.ts +87 -58
  125. package/dist/dts/menu/menu.template.d.ts +1 -1
  126. package/dist/dts/menu-button/index.d.ts +4 -3
  127. package/dist/dts/menu-button/menu-button.bench.d.ts +3 -0
  128. package/dist/dts/menu-button/menu-button.options.d.ts +5 -6
  129. package/dist/dts/menu-button/menu-button.template.d.ts +1 -1
  130. package/dist/dts/menu-item/index.d.ts +5 -3
  131. package/dist/dts/menu-item/menu-item.bench.d.ts +3 -0
  132. package/dist/dts/menu-item/menu-item.d.ts +34 -57
  133. package/dist/dts/menu-item/menu-item.options.d.ts +2 -2
  134. package/dist/dts/menu-list/index.d.ts +1 -1
  135. package/dist/dts/menu-list/menu-list.bench.d.ts +3 -0
  136. package/dist/dts/menu-list/menu-list.d.ts +12 -10
  137. package/dist/dts/menu-list/menu-list.template.d.ts +1 -1
  138. package/dist/dts/message-bar/define.d.ts +1 -0
  139. package/dist/dts/message-bar/index.d.ts +5 -0
  140. package/dist/dts/message-bar/message-bar.bench.d.ts +3 -0
  141. package/dist/dts/message-bar/message-bar.d.ts +66 -0
  142. package/dist/dts/message-bar/message-bar.definition.d.ts +9 -0
  143. package/dist/dts/message-bar/message-bar.options.d.ts +30 -0
  144. package/dist/dts/message-bar/message-bar.styles.d.ts +7 -0
  145. package/dist/dts/message-bar/message-bar.template.d.ts +14 -0
  146. package/dist/dts/option/define.d.ts +1 -0
  147. package/dist/dts/option/index.d.ts +5 -0
  148. package/dist/dts/option/option.d.ts +260 -0
  149. package/dist/dts/option/option.definition.d.ts +9 -0
  150. package/dist/dts/option/option.options.d.ts +20 -0
  151. package/dist/dts/option/option.styles.d.ts +6 -0
  152. package/dist/dts/option/option.template.d.ts +16 -0
  153. package/dist/dts/patterns/start-end.d.ts +20 -6
  154. package/dist/dts/progress-bar/index.d.ts +2 -2
  155. package/dist/dts/progress-bar/progress-bar.bench.d.ts +3 -0
  156. package/dist/dts/progress-bar/progress-bar.d.ts +85 -16
  157. package/dist/dts/progress-bar/progress-bar.options.d.ts +4 -13
  158. package/dist/dts/progress-bar/progress-bar.template.d.ts +1 -2
  159. package/dist/dts/radio/index.d.ts +2 -1
  160. package/dist/dts/radio/radio.bench.d.ts +3 -0
  161. package/dist/dts/radio/radio.d.ts +38 -35
  162. package/dist/dts/radio/radio.options.d.ts +14 -0
  163. package/dist/dts/radio/radio.styles.d.ts +3 -1
  164. package/dist/dts/radio/radio.template.d.ts +14 -2
  165. package/dist/dts/radio-group/index.d.ts +2 -1
  166. package/dist/dts/radio-group/radio-group.bench.d.ts +3 -0
  167. package/dist/dts/radio-group/radio-group.d.ts +211 -49
  168. package/dist/dts/radio-group/radio-group.options.d.ts +1 -1
  169. package/dist/dts/radio-group/radio-group.template.d.ts +1 -1
  170. package/dist/dts/rating-display/define.d.ts +1 -0
  171. package/dist/dts/rating-display/index.d.ts +5 -0
  172. package/dist/dts/rating-display/rating-display.d.ts +150 -0
  173. package/dist/dts/rating-display/rating-display.definition.d.ts +9 -0
  174. package/dist/dts/rating-display/rating-display.options.d.ts +29 -0
  175. package/dist/dts/rating-display/rating-display.styles.d.ts +6 -0
  176. package/dist/dts/rating-display/rating-display.template.d.ts +14 -0
  177. package/dist/dts/slider/index.d.ts +3 -2
  178. package/dist/dts/slider/slider.bench.d.ts +3 -0
  179. package/dist/dts/slider/slider.d.ts +182 -38
  180. package/dist/dts/slider/slider.options.d.ts +6 -6
  181. package/dist/dts/slider/slider.template.d.ts +2 -2
  182. package/dist/dts/spinner/index.d.ts +2 -2
  183. package/dist/dts/spinner/spinner.bench.d.ts +3 -0
  184. package/dist/dts/spinner/spinner.d.ts +30 -5
  185. package/dist/dts/spinner/spinner.options.d.ts +2 -2
  186. package/dist/dts/spinner/spinner.template.d.ts +2 -5
  187. package/dist/dts/styles/partials/index.d.ts +1 -0
  188. package/dist/dts/styles/partials/typography.partials.d.ts +18 -0
  189. package/dist/dts/styles/states/index.d.ts +634 -0
  190. package/dist/dts/switch/index.d.ts +3 -2
  191. package/dist/dts/switch/switch.bench.d.ts +3 -0
  192. package/dist/dts/switch/switch.d.ts +3 -40
  193. package/dist/dts/switch/switch.options.d.ts +1 -1
  194. package/dist/dts/switch/switch.template.d.ts +2 -2
  195. package/dist/dts/tab/index.d.ts +4 -3
  196. package/dist/dts/tab/tab.bench.d.ts +3 -0
  197. package/dist/dts/tab/tab.d.ts +3 -2
  198. package/dist/dts/tab/tab.template.d.ts +2 -2
  199. package/dist/dts/tab-panel/index.d.ts +1 -1
  200. package/dist/dts/tab-panel/tab-panel.bench.d.ts +3 -0
  201. package/dist/dts/tab-panel/tab-panel.template.d.ts +2 -2
  202. package/dist/dts/tablist/define.d.ts +1 -0
  203. package/dist/dts/tablist/index.d.ts +5 -0
  204. package/dist/dts/tablist/tablist.bench.d.ts +3 -0
  205. package/dist/dts/tablist/tablist.d.ts +191 -0
  206. package/dist/dts/tablist/tablist.definition.d.ts +7 -0
  207. package/dist/dts/tablist/tablist.options.d.ts +44 -0
  208. package/dist/dts/tablist/tablist.styles.d.ts +4 -0
  209. package/dist/dts/tablist/tablist.template.d.ts +5 -0
  210. package/dist/dts/tabs/index.d.ts +5 -4
  211. package/dist/dts/tabs/tabs.bench.d.ts +3 -0
  212. package/dist/dts/tabs/tabs.d.ts +14 -10
  213. package/dist/dts/tabs/tabs.options.d.ts +6 -6
  214. package/dist/dts/tabs/tabs.template.d.ts +3 -3
  215. package/dist/dts/text/index.d.ts +2 -2
  216. package/dist/dts/text/text.bench.d.ts +3 -0
  217. package/dist/dts/text/text.d.ts +41 -2
  218. package/dist/dts/text/text.options.d.ts +4 -4
  219. package/dist/dts/text/text.template.d.ts +1 -1
  220. package/dist/dts/text-input/index.d.ts +5 -4
  221. package/dist/dts/text-input/text-input.bench.d.ts +3 -0
  222. package/dist/dts/text-input/text-input.d.ts +350 -65
  223. package/dist/dts/text-input/text-input.definition.d.ts +2 -3
  224. package/dist/dts/text-input/text-input.options.d.ts +22 -32
  225. package/dist/dts/text-input/text-input.styles.d.ts +5 -2
  226. package/dist/dts/text-input/text-input.template.d.ts +9 -3
  227. package/dist/dts/textarea/define.d.ts +1 -0
  228. package/dist/dts/textarea/index.d.ts +5 -0
  229. package/dist/dts/textarea/textarea.bench.d.ts +3 -0
  230. package/dist/dts/textarea/textarea.d.ts +390 -0
  231. package/dist/dts/textarea/textarea.definition.d.ts +9 -0
  232. package/dist/dts/textarea/textarea.options.d.ts +49 -0
  233. package/dist/dts/textarea/textarea.styles.d.ts +7 -0
  234. package/dist/dts/textarea/textarea.template.d.ts +12 -0
  235. package/dist/dts/theme/design-tokens.d.ts +2220 -384
  236. package/dist/dts/theme/index.d.ts +1 -1
  237. package/dist/dts/theme/set-theme.d.ts +27 -5
  238. package/dist/dts/theme/set-theme.global.bench.d.ts +3 -0
  239. package/dist/dts/theme/set-theme.local.bench.d.ts +3 -0
  240. package/dist/dts/theme/set-theme.shadow.bench.d.ts +3 -0
  241. package/dist/dts/toggle-button/index.d.ts +5 -4
  242. package/dist/dts/toggle-button/toggle-button.bench.d.ts +3 -0
  243. package/dist/dts/toggle-button/toggle-button.d.ts +29 -26
  244. package/dist/dts/toggle-button/toggle-button.options.d.ts +4 -5
  245. package/dist/dts/toggle-button/toggle-button.styles.d.ts +7 -0
  246. package/dist/dts/toggle-button/toggle-button.template.d.ts +1 -1
  247. package/dist/dts/tooltip/define.d.ts +1 -0
  248. package/dist/dts/tooltip/index.d.ts +5 -0
  249. package/dist/dts/tooltip/tooltip.d.ts +95 -0
  250. package/dist/dts/tooltip/tooltip.definition.d.ts +9 -0
  251. package/dist/dts/tooltip/tooltip.options.d.ts +24 -0
  252. package/dist/dts/tooltip/tooltip.styles.d.ts +5 -0
  253. package/dist/dts/tooltip/tooltip.template.d.ts +6 -0
  254. package/dist/dts/tsdoc-metadata.json +11 -0
  255. package/dist/dts/utils/behaviors/match-media-stylesheet-behavior.d.ts +124 -0
  256. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  257. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  258. package/dist/dts/utils/converters.d.ts +17 -0
  259. package/dist/dts/utils/display.d.ts +17 -0
  260. package/dist/dts/utils/element-internals.d.ts +54 -0
  261. package/dist/dts/utils/focusable-element.d.ts +3 -0
  262. package/dist/dts/utils/index.d.ts +4 -0
  263. package/dist/dts/utils/language.d.ts +9 -0
  264. package/dist/dts/utils/root-active-element.d.ts +1 -0
  265. package/dist/dts/utils/support.d.ts +15 -0
  266. package/dist/dts/utils/template-helpers.d.ts +2 -3
  267. package/dist/dts/utils/typings.d.ts +1 -1
  268. package/dist/dts/utils/unique-id.d.ts +9 -0
  269. package/dist/esm/accordion/accordion.bench.js +30 -0
  270. package/dist/esm/accordion/accordion.bench.js.map +1 -0
  271. package/dist/esm/accordion/accordion.js +52 -97
  272. package/dist/esm/accordion/accordion.js.map +1 -1
  273. package/dist/esm/accordion/accordion.options.js +1 -1
  274. package/dist/esm/accordion/accordion.styles.js +1 -1
  275. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  276. package/dist/esm/accordion/accordion.template.js.map +1 -1
  277. package/dist/esm/accordion/index.js +2 -1
  278. package/dist/esm/accordion/index.js.map +1 -1
  279. package/dist/esm/accordion-item/accordion-item.bench.js +14 -0
  280. package/dist/esm/accordion-item/accordion-item.bench.js.map +1 -0
  281. package/dist/esm/accordion-item/accordion-item.js +80 -40
  282. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  283. package/dist/esm/accordion-item/accordion-item.options.js +1 -1
  284. package/dist/esm/accordion-item/accordion-item.options.js.map +1 -1
  285. package/dist/esm/accordion-item/accordion-item.styles.js +63 -85
  286. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  287. package/dist/esm/accordion-item/accordion-item.template.js +24 -43
  288. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  289. package/dist/esm/accordion-item/index.js +2 -2
  290. package/dist/esm/accordion-item/index.js.map +1 -1
  291. package/dist/esm/anchor-button/anchor-button.bench.js +11 -0
  292. package/dist/esm/anchor-button/anchor-button.bench.js.map +1 -0
  293. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  294. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  295. package/dist/esm/anchor-button/anchor-button.js +153 -85
  296. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  297. package/dist/esm/anchor-button/anchor-button.options.js +15 -0
  298. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  299. package/dist/esm/anchor-button/anchor-button.styles.js +12 -5
  300. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -1
  301. package/dist/esm/anchor-button/anchor-button.template.js +7 -35
  302. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  303. package/dist/esm/anchor-button/index.js +3 -3
  304. package/dist/esm/anchor-button/index.js.map +1 -1
  305. package/dist/esm/avatar/avatar.bench.js +10 -0
  306. package/dist/esm/avatar/avatar.bench.js.map +1 -0
  307. package/dist/esm/avatar/avatar.js +72 -46
  308. package/dist/esm/avatar/avatar.js.map +1 -1
  309. package/dist/esm/avatar/avatar.styles.js +133 -132
  310. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  311. package/dist/esm/avatar/avatar.template.js +2 -4
  312. package/dist/esm/avatar/avatar.template.js.map +1 -1
  313. package/dist/esm/avatar/index.js +2 -2
  314. package/dist/esm/avatar/index.js.map +1 -1
  315. package/dist/esm/badge/badge.bench.js +11 -0
  316. package/dist/esm/badge/badge.bench.js.map +1 -0
  317. package/dist/esm/badge/badge.js +41 -8
  318. package/dist/esm/badge/badge.js.map +1 -1
  319. package/dist/esm/badge/badge.styles.js +17 -9
  320. package/dist/esm/badge/badge.styles.js.map +1 -1
  321. package/dist/esm/badge/badge.template.js.map +1 -1
  322. package/dist/esm/badge/index.js +2 -2
  323. package/dist/esm/badge/index.js.map +1 -1
  324. package/dist/esm/button/button.bench.js +11 -0
  325. package/dist/esm/button/button.bench.js.map +1 -0
  326. package/dist/esm/button/button.definition.js +3 -4
  327. package/dist/esm/button/button.definition.js.map +1 -1
  328. package/dist/esm/button/button.js +283 -130
  329. package/dist/esm/button/button.js.map +1 -1
  330. package/dist/esm/button/button.options.js +10 -1
  331. package/dist/esm/button/button.options.js.map +1 -1
  332. package/dist/esm/button/button.styles.js +154 -136
  333. package/dist/esm/button/button.styles.js.map +1 -1
  334. package/dist/esm/button/button.template.js +13 -39
  335. package/dist/esm/button/button.template.js.map +1 -1
  336. package/dist/esm/button/index.js +4 -4
  337. package/dist/esm/button/index.js.map +1 -1
  338. package/dist/esm/checkbox/checkbox.bench.js +11 -0
  339. package/dist/esm/checkbox/checkbox.bench.js.map +1 -0
  340. package/dist/esm/checkbox/checkbox.definition.js +1 -1
  341. package/dist/esm/checkbox/checkbox.definition.js.map +1 -1
  342. package/dist/esm/checkbox/checkbox.js +417 -52
  343. package/dist/esm/checkbox/checkbox.js.map +1 -1
  344. package/dist/esm/checkbox/checkbox.options.js +0 -8
  345. package/dist/esm/checkbox/checkbox.options.js.map +1 -1
  346. package/dist/esm/checkbox/checkbox.styles.js +141 -128
  347. package/dist/esm/checkbox/checkbox.styles.js.map +1 -1
  348. package/dist/esm/checkbox/checkbox.template.js +23 -34
  349. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  350. package/dist/esm/checkbox/index.js +3 -3
  351. package/dist/esm/checkbox/index.js.map +1 -1
  352. package/dist/esm/compound-button/compound-button.bench.js +15 -0
  353. package/dist/esm/compound-button/compound-button.bench.js.map +1 -0
  354. package/dist/esm/compound-button/compound-button.definition.js +0 -3
  355. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  356. package/dist/esm/compound-button/compound-button.styles.js +34 -35
  357. package/dist/esm/compound-button/compound-button.styles.js.map +1 -1
  358. package/dist/esm/compound-button/compound-button.template.js +3 -39
  359. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  360. package/dist/esm/compound-button/index.js +2 -2
  361. package/dist/esm/compound-button/index.js.map +1 -1
  362. package/dist/esm/counter-badge/counter-badge.bench.js +11 -0
  363. package/dist/esm/counter-badge/counter-badge.bench.js.map +1 -0
  364. package/dist/esm/counter-badge/counter-badge.js +50 -9
  365. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  366. package/dist/esm/counter-badge/counter-badge.styles.js +9 -8
  367. package/dist/esm/counter-badge/counter-badge.styles.js.map +1 -1
  368. package/dist/esm/counter-badge/counter-badge.template.js.map +1 -1
  369. package/dist/esm/counter-badge/index.js +2 -2
  370. package/dist/esm/counter-badge/index.js.map +1 -1
  371. package/dist/esm/dialog/dialog.bench.js +11 -0
  372. package/dist/esm/dialog/dialog.bench.js.map +1 -0
  373. package/dist/esm/dialog/dialog.js +33 -312
  374. package/dist/esm/dialog/dialog.js.map +1 -1
  375. package/dist/esm/dialog/dialog.options.js +1 -1
  376. package/dist/esm/dialog/dialog.options.js.map +1 -1
  377. package/dist/esm/dialog/dialog.styles.js +69 -85
  378. package/dist/esm/dialog/dialog.styles.js.map +1 -1
  379. package/dist/esm/dialog/dialog.template.js +17 -54
  380. package/dist/esm/dialog/dialog.template.js.map +1 -1
  381. package/dist/esm/dialog/index.js +2 -1
  382. package/dist/esm/dialog/index.js.map +1 -1
  383. package/dist/esm/dialog-body/define.js +4 -0
  384. package/dist/esm/dialog-body/define.js.map +1 -0
  385. package/dist/esm/dialog-body/dialog-body.bench.js +11 -0
  386. package/dist/esm/dialog-body/dialog-body.bench.js.map +1 -0
  387. package/dist/esm/dialog-body/dialog-body.definition.js +17 -0
  388. package/dist/esm/dialog-body/dialog-body.definition.js.map +1 -0
  389. package/dist/esm/dialog-body/dialog-body.js +22 -0
  390. package/dist/esm/dialog-body/dialog-body.js.map +1 -0
  391. package/dist/esm/dialog-body/dialog-body.styles.js +79 -0
  392. package/dist/esm/dialog-body/dialog-body.styles.js.map +1 -0
  393. package/dist/esm/dialog-body/dialog-body.template.js +42 -0
  394. package/dist/esm/dialog-body/dialog-body.template.js.map +1 -0
  395. package/dist/esm/dialog-body/index.js +5 -0
  396. package/dist/esm/dialog-body/index.js.map +1 -0
  397. package/dist/esm/divider/divider.bench.js +10 -0
  398. package/dist/esm/divider/divider.bench.js.map +1 -0
  399. package/dist/esm/divider/divider.js +77 -26
  400. package/dist/esm/divider/divider.js.map +1 -1
  401. package/dist/esm/divider/divider.options.js +0 -1
  402. package/dist/esm/divider/divider.options.js.map +1 -1
  403. package/dist/esm/divider/divider.styles.js +45 -44
  404. package/dist/esm/divider/divider.styles.js.map +1 -1
  405. package/dist/esm/divider/divider.template.js +1 -9
  406. package/dist/esm/divider/divider.template.js.map +1 -1
  407. package/dist/esm/divider/index.js +2 -2
  408. package/dist/esm/divider/index.js.map +1 -1
  409. package/dist/esm/drawer/define.js +4 -0
  410. package/dist/esm/drawer/define.js.map +1 -0
  411. package/dist/esm/drawer/drawer.definition.js +16 -0
  412. package/dist/esm/drawer/drawer.definition.js.map +1 -0
  413. package/dist/esm/drawer/drawer.js +132 -0
  414. package/dist/esm/drawer/drawer.js.map +1 -0
  415. package/dist/esm/drawer/drawer.options.js +25 -0
  416. package/dist/esm/drawer/drawer.options.js.map +1 -0
  417. package/dist/esm/drawer/drawer.styles.js +138 -0
  418. package/dist/esm/drawer/drawer.styles.js.map +1 -0
  419. package/dist/esm/drawer/drawer.template.js +28 -0
  420. package/dist/esm/drawer/drawer.template.js.map +1 -0
  421. package/dist/esm/drawer/index.js +6 -0
  422. package/dist/esm/drawer/index.js.map +1 -0
  423. package/dist/esm/drawer-body/define.js +4 -0
  424. package/dist/esm/drawer-body/define.js.map +1 -0
  425. package/dist/esm/drawer-body/drawer-body.definition.js +16 -0
  426. package/dist/esm/drawer-body/drawer-body.definition.js.map +1 -0
  427. package/dist/esm/drawer-body/drawer-body.js +21 -0
  428. package/dist/esm/drawer-body/drawer-body.js.map +1 -0
  429. package/dist/esm/drawer-body/drawer-body.styles.js +31 -0
  430. package/dist/esm/drawer-body/drawer-body.styles.js.map +1 -0
  431. package/dist/esm/drawer-body/drawer-body.template.js +21 -0
  432. package/dist/esm/drawer-body/drawer-body.template.js.map +1 -0
  433. package/dist/esm/drawer-body/index.js +5 -0
  434. package/dist/esm/drawer-body/index.js.map +1 -0
  435. package/dist/esm/dropdown/define.js +4 -0
  436. package/dist/esm/dropdown/define.js.map +1 -0
  437. package/dist/esm/dropdown/dropdown.definition.js +20 -0
  438. package/dist/esm/dropdown/dropdown.definition.js.map +1 -0
  439. package/dist/esm/dropdown/dropdown.js +779 -0
  440. package/dist/esm/dropdown/dropdown.js.map +1 -0
  441. package/dist/esm/dropdown/dropdown.options.js +43 -0
  442. package/dist/esm/dropdown/dropdown.options.js.map +1 -0
  443. package/dist/esm/dropdown/dropdown.styles.js +213 -0
  444. package/dist/esm/dropdown/dropdown.styles.js.map +1 -0
  445. package/dist/esm/dropdown/dropdown.template.js +92 -0
  446. package/dist/esm/dropdown/dropdown.template.js.map +1 -0
  447. package/dist/esm/dropdown/index.js +6 -0
  448. package/dist/esm/dropdown/index.js.map +1 -0
  449. package/dist/esm/field/define.js +4 -0
  450. package/dist/esm/field/define.js.map +1 -0
  451. package/dist/esm/field/field.bench.js +10 -0
  452. package/dist/esm/field/field.bench.js.map +1 -0
  453. package/dist/esm/field/field.definition.js +20 -0
  454. package/dist/esm/field/field.definition.js.map +1 -0
  455. package/dist/esm/field/field.js +211 -0
  456. package/dist/esm/field/field.js.map +1 -0
  457. package/dist/esm/field/field.options.js +27 -0
  458. package/dist/esm/field/field.options.js.map +1 -0
  459. package/dist/esm/field/field.styles.js +135 -0
  460. package/dist/esm/field/field.styles.js.map +1 -0
  461. package/dist/esm/field/field.template.js +26 -0
  462. package/dist/esm/field/field.template.js.map +1 -0
  463. package/dist/esm/field/index.js +6 -0
  464. package/dist/esm/field/index.js.map +1 -0
  465. package/dist/esm/form-associated/form-associated.js +69 -71
  466. package/dist/esm/form-associated/form-associated.js.map +1 -1
  467. package/dist/esm/image/image.bench.js +14 -0
  468. package/dist/esm/image/image.bench.js.map +1 -0
  469. package/dist/esm/image/image.js +52 -6
  470. package/dist/esm/image/image.js.map +1 -1
  471. package/dist/esm/image/image.options.js +0 -1
  472. package/dist/esm/image/image.options.js.map +1 -1
  473. package/dist/esm/image/image.styles.js +14 -13
  474. package/dist/esm/image/image.styles.js.map +1 -1
  475. package/dist/esm/image/image.template.js.map +1 -1
  476. package/dist/esm/image/index.js +2 -2
  477. package/dist/esm/image/index.js.map +1 -1
  478. package/dist/esm/index-rollup.js +42 -1
  479. package/dist/esm/index-rollup.js.map +1 -1
  480. package/dist/esm/index.js +50 -31
  481. package/dist/esm/index.js.map +1 -1
  482. package/dist/esm/label/index.js +2 -1
  483. package/dist/esm/label/index.js.map +1 -1
  484. package/dist/esm/label/label.bench.js +11 -0
  485. package/dist/esm/label/label.bench.js.map +1 -0
  486. package/dist/esm/label/label.js +33 -6
  487. package/dist/esm/label/label.js.map +1 -1
  488. package/dist/esm/label/label.styles.js +28 -21
  489. package/dist/esm/label/label.styles.js.map +1 -1
  490. package/dist/esm/label/label.template.js.map +1 -1
  491. package/dist/esm/link/define.js +4 -0
  492. package/dist/esm/link/define.js.map +1 -0
  493. package/dist/esm/link/index.js +6 -0
  494. package/dist/esm/link/index.js.map +1 -0
  495. package/dist/esm/link/link.bench.js +11 -0
  496. package/dist/esm/link/link.bench.js.map +1 -0
  497. package/dist/esm/link/link.definition.js +15 -0
  498. package/dist/esm/link/link.definition.js.map +1 -0
  499. package/dist/esm/link/link.js +54 -0
  500. package/dist/esm/link/link.js.map +1 -0
  501. package/dist/esm/link/link.options.js +21 -0
  502. package/dist/esm/link/link.options.js.map +1 -0
  503. package/dist/esm/link/link.styles.js +72 -0
  504. package/dist/esm/link/link.styles.js.map +1 -0
  505. package/dist/esm/link/link.template.js +22 -0
  506. package/dist/esm/link/link.template.js.map +1 -0
  507. package/dist/esm/listbox/define.js +4 -0
  508. package/dist/esm/listbox/define.js.map +1 -0
  509. package/dist/esm/listbox/index.js +6 -0
  510. package/dist/esm/listbox/index.js.map +1 -0
  511. package/dist/esm/listbox/listbox.definition.js +17 -0
  512. package/dist/esm/listbox/listbox.definition.js.map +1 -0
  513. package/dist/esm/listbox/listbox.js +175 -0
  514. package/dist/esm/listbox/listbox.js.map +1 -0
  515. package/dist/esm/listbox/listbox.options.js +15 -0
  516. package/dist/esm/listbox/listbox.options.js.map +1 -0
  517. package/dist/esm/listbox/listbox.styles.js +26 -0
  518. package/dist/esm/listbox/listbox.styles.js.map +1 -0
  519. package/dist/esm/listbox/listbox.template.js +33 -0
  520. package/dist/esm/listbox/listbox.template.js.map +1 -0
  521. package/dist/esm/menu/index.js +1 -1
  522. package/dist/esm/menu/index.js.map +1 -1
  523. package/dist/esm/menu/menu.bench.js +31 -0
  524. package/dist/esm/menu/menu.bench.js.map +1 -0
  525. package/dist/esm/menu/menu.js +141 -182
  526. package/dist/esm/menu/menu.js.map +1 -1
  527. package/dist/esm/menu/menu.styles.js +53 -9
  528. package/dist/esm/menu/menu.styles.js.map +1 -1
  529. package/dist/esm/menu/menu.template.js +3 -9
  530. package/dist/esm/menu/menu.template.js.map +1 -1
  531. package/dist/esm/menu-button/index.js +3 -3
  532. package/dist/esm/menu-button/index.js.map +1 -1
  533. package/dist/esm/menu-button/menu-button.bench.js +11 -0
  534. package/dist/esm/menu-button/menu-button.bench.js.map +1 -0
  535. package/dist/esm/menu-button/menu-button.definition.js +0 -3
  536. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  537. package/dist/esm/menu-button/menu-button.template.js +5 -1
  538. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  539. package/dist/esm/menu-item/index.js +4 -3
  540. package/dist/esm/menu-item/index.js.map +1 -1
  541. package/dist/esm/menu-item/menu-item.bench.js +11 -0
  542. package/dist/esm/menu-item/menu-item.bench.js.map +1 -0
  543. package/dist/esm/menu-item/menu-item.js +101 -127
  544. package/dist/esm/menu-item/menu-item.js.map +1 -1
  545. package/dist/esm/menu-item/menu-item.styles.js +107 -131
  546. package/dist/esm/menu-item/menu-item.styles.js.map +1 -1
  547. package/dist/esm/menu-item/menu-item.template.js +15 -50
  548. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  549. package/dist/esm/menu-list/index.js +1 -1
  550. package/dist/esm/menu-list/index.js.map +1 -1
  551. package/dist/esm/menu-list/menu-list.bench.js +21 -0
  552. package/dist/esm/menu-list/menu-list.bench.js.map +1 -0
  553. package/dist/esm/menu-list/menu-list.js +33 -67
  554. package/dist/esm/menu-list/menu-list.js.map +1 -1
  555. package/dist/esm/menu-list/menu-list.styles.js +5 -5
  556. package/dist/esm/menu-list/menu-list.styles.js.map +1 -1
  557. package/dist/esm/menu-list/menu-list.template.js +0 -1
  558. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  559. package/dist/esm/message-bar/define.js +4 -0
  560. package/dist/esm/message-bar/define.js.map +1 -0
  561. package/dist/esm/message-bar/index.js +6 -0
  562. package/dist/esm/message-bar/index.js.map +1 -0
  563. package/dist/esm/message-bar/message-bar.bench.js +56 -0
  564. package/dist/esm/message-bar/message-bar.bench.js.map +1 -0
  565. package/dist/esm/message-bar/message-bar.definition.js +20 -0
  566. package/dist/esm/message-bar/message-bar.definition.js.map +1 -0
  567. package/dist/esm/message-bar/message-bar.js +65 -0
  568. package/dist/esm/message-bar/message-bar.js.map +1 -0
  569. package/dist/esm/message-bar/message-bar.options.js +27 -0
  570. package/dist/esm/message-bar/message-bar.options.js.map +1 -0
  571. package/dist/esm/message-bar/message-bar.styles.js +108 -0
  572. package/dist/esm/message-bar/message-bar.styles.js.map +1 -0
  573. package/dist/esm/message-bar/message-bar.template.js +25 -0
  574. package/dist/esm/message-bar/message-bar.template.js.map +1 -0
  575. package/dist/esm/option/define.js +4 -0
  576. package/dist/esm/option/define.js.map +1 -0
  577. package/dist/esm/option/index.js +6 -0
  578. package/dist/esm/option/index.js.map +1 -0
  579. package/dist/esm/option/option.definition.js +17 -0
  580. package/dist/esm/option/option.definition.js.map +1 -0
  581. package/dist/esm/option/option.js +296 -0
  582. package/dist/esm/option/option.js.map +1 -0
  583. package/dist/esm/option/option.options.js +15 -0
  584. package/dist/esm/option/option.options.js.map +1 -0
  585. package/dist/esm/option/option.styles.js +127 -0
  586. package/dist/esm/option/option.styles.js.map +1 -0
  587. package/dist/esm/option/option.template.js +42 -0
  588. package/dist/esm/option/option.template.js.map +1 -0
  589. package/dist/esm/patterns/aria-globals.js +1 -6
  590. package/dist/esm/patterns/aria-globals.js.map +1 -1
  591. package/dist/esm/patterns/start-end.js +12 -0
  592. package/dist/esm/patterns/start-end.js.map +1 -1
  593. package/dist/esm/progress-bar/index.js +2 -2
  594. package/dist/esm/progress-bar/index.js.map +1 -1
  595. package/dist/esm/progress-bar/progress-bar.bench.js +10 -0
  596. package/dist/esm/progress-bar/progress-bar.bench.js.map +1 -0
  597. package/dist/esm/progress-bar/progress-bar.js +100 -21
  598. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  599. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  600. package/dist/esm/progress-bar/progress-bar.styles.js +51 -129
  601. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  602. package/dist/esm/progress-bar/progress-bar.template.js +8 -26
  603. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  604. package/dist/esm/radio/index.js +1 -1
  605. package/dist/esm/radio/index.js.map +1 -1
  606. package/dist/esm/radio/radio.bench.js +11 -0
  607. package/dist/esm/radio/radio.bench.js.map +1 -0
  608. package/dist/esm/radio/radio.js +57 -76
  609. package/dist/esm/radio/radio.js.map +1 -1
  610. package/dist/esm/radio/radio.options.js +2 -0
  611. package/dist/esm/radio/radio.options.js.map +1 -0
  612. package/dist/esm/radio/radio.styles.js +97 -90
  613. package/dist/esm/radio/radio.styles.js.map +1 -1
  614. package/dist/esm/radio/radio.template.js +21 -24
  615. package/dist/esm/radio/radio.template.js.map +1 -1
  616. package/dist/esm/radio-group/index.js +2 -1
  617. package/dist/esm/radio-group/index.js.map +1 -1
  618. package/dist/esm/radio-group/radio-group.bench.js +21 -0
  619. package/dist/esm/radio-group/radio-group.bench.js.map +1 -0
  620. package/dist/esm/radio-group/radio-group.js +413 -319
  621. package/dist/esm/radio-group/radio-group.js.map +1 -1
  622. package/dist/esm/radio-group/radio-group.styles.js +28 -33
  623. package/dist/esm/radio-group/radio-group.styles.js.map +1 -1
  624. package/dist/esm/radio-group/radio-group.template.js +6 -21
  625. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  626. package/dist/esm/rating-display/define.js +4 -0
  627. package/dist/esm/rating-display/define.js.map +1 -0
  628. package/dist/esm/rating-display/index.js +6 -0
  629. package/dist/esm/rating-display/index.js.map +1 -0
  630. package/dist/esm/rating-display/rating-display.definition.js +17 -0
  631. package/dist/esm/rating-display/rating-display.definition.js.map +1 -0
  632. package/dist/esm/rating-display/rating-display.js +158 -0
  633. package/dist/esm/rating-display/rating-display.js.map +1 -0
  634. package/dist/esm/rating-display/rating-display.options.js +19 -0
  635. package/dist/esm/rating-display/rating-display.options.js.map +1 -0
  636. package/dist/esm/rating-display/rating-display.styles.js +126 -0
  637. package/dist/esm/rating-display/rating-display.styles.js.map +1 -0
  638. package/dist/esm/rating-display/rating-display.template.js +34 -0
  639. package/dist/esm/rating-display/rating-display.template.js.map +1 -0
  640. package/dist/esm/slider/index.js +2 -2
  641. package/dist/esm/slider/index.js.map +1 -1
  642. package/dist/esm/slider/slider-utilities.js.map +1 -1
  643. package/dist/esm/slider/slider.bench.js +10 -0
  644. package/dist/esm/slider/slider.bench.js.map +1 -0
  645. package/dist/esm/slider/slider.js +429 -229
  646. package/dist/esm/slider/slider.js.map +1 -1
  647. package/dist/esm/slider/slider.styles.js +128 -131
  648. package/dist/esm/slider/slider.styles.js.map +1 -1
  649. package/dist/esm/slider/slider.template.js +11 -28
  650. package/dist/esm/slider/slider.template.js.map +1 -1
  651. package/dist/esm/spinner/index.js +2 -2
  652. package/dist/esm/spinner/index.js.map +1 -1
  653. package/dist/esm/spinner/spinner.bench.js +10 -0
  654. package/dist/esm/spinner/spinner.bench.js.map +1 -0
  655. package/dist/esm/spinner/spinner.js +39 -9
  656. package/dist/esm/spinner/spinner.js.map +1 -1
  657. package/dist/esm/spinner/spinner.styles.js +123 -61
  658. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  659. package/dist/esm/spinner/spinner.template.js +16 -47
  660. package/dist/esm/spinner/spinner.template.js.map +1 -1
  661. package/dist/esm/styles/partials/badge.partials.js +119 -119
  662. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  663. package/dist/esm/styles/partials/index.js +1 -0
  664. package/dist/esm/styles/partials/index.js.map +1 -1
  665. package/dist/esm/styles/partials/typography.partials.js +105 -0
  666. package/dist/esm/styles/partials/typography.partials.js.map +1 -0
  667. package/dist/esm/styles/states/index.js +636 -0
  668. package/dist/esm/styles/states/index.js.map +1 -0
  669. package/dist/esm/switch/index.js +2 -2
  670. package/dist/esm/switch/index.js.map +1 -1
  671. package/dist/esm/switch/switch.bench.js +11 -0
  672. package/dist/esm/switch/switch.bench.js.map +1 -0
  673. package/dist/esm/switch/switch.js +3 -54
  674. package/dist/esm/switch/switch.js.map +1 -1
  675. package/dist/esm/switch/switch.styles.js +63 -83
  676. package/dist/esm/switch/switch.styles.js.map +1 -1
  677. package/dist/esm/switch/switch.template.js +6 -16
  678. package/dist/esm/switch/switch.template.js.map +1 -1
  679. package/dist/esm/tab/index.js +3 -3
  680. package/dist/esm/tab/index.js.map +1 -1
  681. package/dist/esm/tab/tab.bench.js +11 -0
  682. package/dist/esm/tab/tab.bench.js.map +1 -0
  683. package/dist/esm/tab/tab.js +2 -7
  684. package/dist/esm/tab/tab.js.map +1 -1
  685. package/dist/esm/tab/tab.styles.js +21 -21
  686. package/dist/esm/tab/tab.styles.js.map +1 -1
  687. package/dist/esm/tab/tab.template.js.map +1 -1
  688. package/dist/esm/tab-panel/index.js +1 -1
  689. package/dist/esm/tab-panel/index.js.map +1 -1
  690. package/dist/esm/tab-panel/tab-panel.bench.js +13 -0
  691. package/dist/esm/tab-panel/tab-panel.bench.js.map +1 -0
  692. package/dist/esm/tab-panel/tab-panel.styles.js +2 -2
  693. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -1
  694. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  695. package/dist/esm/tablist/define.js +4 -0
  696. package/dist/esm/tablist/define.js.map +1 -0
  697. package/dist/esm/tablist/index.js +6 -0
  698. package/dist/esm/tablist/index.js.map +1 -0
  699. package/dist/esm/tablist/tablist.bench.js +21 -0
  700. package/dist/esm/tablist/tablist.bench.js.map +1 -0
  701. package/dist/esm/tablist/tablist.definition.js +15 -0
  702. package/dist/esm/tablist/tablist.definition.js.map +1 -0
  703. package/dist/esm/tablist/tablist.js +389 -0
  704. package/dist/esm/tablist/tablist.js.map +1 -0
  705. package/dist/esm/tablist/tablist.options.js +24 -0
  706. package/dist/esm/tablist/tablist.options.js.map +1 -0
  707. package/dist/esm/tablist/tablist.styles.js +194 -0
  708. package/dist/esm/tablist/tablist.styles.js.map +1 -0
  709. package/dist/esm/tablist/tablist.template.js +10 -0
  710. package/dist/esm/tablist/tablist.template.js.map +1 -0
  711. package/dist/esm/tabs/index.js +4 -4
  712. package/dist/esm/tabs/index.js.map +1 -1
  713. package/dist/esm/tabs/tabs.bench.js +32 -0
  714. package/dist/esm/tabs/tabs.bench.js.map +1 -0
  715. package/dist/esm/tabs/tabs.js +19 -23
  716. package/dist/esm/tabs/tabs.js.map +1 -1
  717. package/dist/esm/tabs/tabs.styles.js +50 -50
  718. package/dist/esm/tabs/tabs.styles.js.map +1 -1
  719. package/dist/esm/tabs/tabs.template.js.map +1 -1
  720. package/dist/esm/text/index.js +2 -2
  721. package/dist/esm/text/index.js.map +1 -1
  722. package/dist/esm/text/text.bench.js +13 -0
  723. package/dist/esm/text/text.bench.js.map +1 -0
  724. package/dist/esm/text/text.js +73 -7
  725. package/dist/esm/text/text.js.map +1 -1
  726. package/dist/esm/text/text.styles.js +64 -61
  727. package/dist/esm/text/text.styles.js.map +1 -1
  728. package/dist/esm/text/text.template.js.map +1 -1
  729. package/dist/esm/text-input/index.js +4 -4
  730. package/dist/esm/text-input/index.js.map +1 -1
  731. package/dist/esm/text-input/text-input.bench.js +10 -0
  732. package/dist/esm/text-input/text-input.bench.js.map +1 -0
  733. package/dist/esm/text-input/text-input.definition.js +5 -3
  734. package/dist/esm/text-input/text-input.definition.js.map +1 -1
  735. package/dist/esm/text-input/text-input.js +366 -104
  736. package/dist/esm/text-input/text-input.js.map +1 -1
  737. package/dist/esm/text-input/text-input.options.js +26 -19
  738. package/dist/esm/text-input/text-input.options.js.map +1 -1
  739. package/dist/esm/text-input/text-input.styles.js +107 -96
  740. package/dist/esm/text-input/text-input.styles.js.map +1 -1
  741. package/dist/esm/text-input/text-input.template.js +45 -55
  742. package/dist/esm/text-input/text-input.template.js.map +1 -1
  743. package/dist/esm/textarea/define.js +4 -0
  744. package/dist/esm/textarea/define.js.map +1 -0
  745. package/dist/esm/textarea/index.js +6 -0
  746. package/dist/esm/textarea/index.js.map +1 -0
  747. package/dist/esm/textarea/textarea.bench.js +10 -0
  748. package/dist/esm/textarea/textarea.bench.js.map +1 -0
  749. package/dist/esm/textarea/textarea.definition.js +20 -0
  750. package/dist/esm/textarea/textarea.definition.js.map +1 -0
  751. package/dist/esm/textarea/textarea.js +583 -0
  752. package/dist/esm/textarea/textarea.js.map +1 -0
  753. package/dist/esm/textarea/textarea.options.js +48 -0
  754. package/dist/esm/textarea/textarea.options.js.map +1 -0
  755. package/dist/esm/textarea/textarea.styles.js +268 -0
  756. package/dist/esm/textarea/textarea.styles.js.map +1 -0
  757. package/dist/esm/textarea/textarea.template.js +54 -0
  758. package/dist/esm/textarea/textarea.template.js.map +1 -0
  759. package/dist/esm/theme/design-tokens.js +2220 -384
  760. package/dist/esm/theme/design-tokens.js.map +1 -1
  761. package/dist/esm/theme/index.js.map +1 -1
  762. package/dist/esm/theme/set-theme.global.bench.js +25 -0
  763. package/dist/esm/theme/set-theme.global.bench.js.map +1 -0
  764. package/dist/esm/theme/set-theme.js +185 -12
  765. package/dist/esm/theme/set-theme.js.map +1 -1
  766. package/dist/esm/theme/set-theme.local.bench.js +27 -0
  767. package/dist/esm/theme/set-theme.local.bench.js.map +1 -0
  768. package/dist/esm/theme/set-theme.shadow.bench.js +29 -0
  769. package/dist/esm/theme/set-theme.shadow.bench.js.map +1 -0
  770. package/dist/esm/toggle-button/index.js +4 -4
  771. package/dist/esm/toggle-button/index.js.map +1 -1
  772. package/dist/esm/toggle-button/toggle-button.bench.js +11 -0
  773. package/dist/esm/toggle-button/toggle-button.bench.js.map +1 -0
  774. package/dist/esm/toggle-button/toggle-button.definition.js +0 -3
  775. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  776. package/dist/esm/toggle-button/toggle-button.js +44 -91
  777. package/dist/esm/toggle-button/toggle-button.js.map +1 -1
  778. package/dist/esm/toggle-button/toggle-button.styles.js +56 -50
  779. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -1
  780. package/dist/esm/tooltip/define.js +4 -0
  781. package/dist/esm/tooltip/define.js.map +1 -0
  782. package/dist/esm/tooltip/index.js +6 -0
  783. package/dist/esm/tooltip/index.js.map +1 -0
  784. package/dist/esm/tooltip/tooltip.definition.js +17 -0
  785. package/dist/esm/tooltip/tooltip.definition.js.map +1 -0
  786. package/dist/esm/tooltip/tooltip.js +199 -0
  787. package/dist/esm/tooltip/tooltip.js.map +1 -0
  788. package/dist/esm/tooltip/tooltip.options.js +19 -0
  789. package/dist/esm/tooltip/tooltip.options.js.map +1 -0
  790. package/dist/esm/tooltip/tooltip.styles.js +96 -0
  791. package/dist/esm/tooltip/tooltip.styles.js.map +1 -0
  792. package/dist/esm/tooltip/tooltip.template.js +11 -0
  793. package/dist/esm/tooltip/tooltip.template.js.map +1 -0
  794. package/dist/esm/utils/apply-mixins.js.map +1 -1
  795. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js +142 -0
  796. package/dist/esm/utils/behaviors/match-media-stylesheet-behavior.js.map +1 -0
  797. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  798. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  799. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  800. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  801. package/dist/esm/utils/converters.js +26 -0
  802. package/dist/esm/utils/converters.js.map +1 -0
  803. package/dist/esm/utils/direction.js +1 -2
  804. package/dist/esm/utils/direction.js.map +1 -1
  805. package/dist/esm/utils/display.js +15 -0
  806. package/dist/esm/utils/display.js.map +1 -0
  807. package/dist/esm/utils/element-internals.js +96 -0
  808. package/dist/esm/utils/element-internals.js.map +1 -0
  809. package/dist/esm/utils/focusable-element.js +10 -0
  810. package/dist/esm/utils/focusable-element.js.map +1 -0
  811. package/dist/esm/utils/get-initials.js +2 -2
  812. package/dist/esm/utils/get-initials.js.map +1 -1
  813. package/dist/esm/utils/index.js +4 -0
  814. package/dist/esm/utils/index.js.map +1 -1
  815. package/dist/esm/utils/language.js +12 -0
  816. package/dist/esm/utils/language.js.map +1 -0
  817. package/dist/esm/utils/root-active-element.js +9 -0
  818. package/dist/esm/utils/root-active-element.js.map +1 -0
  819. package/dist/esm/utils/support.js +16 -0
  820. package/dist/esm/utils/support.js.map +1 -0
  821. package/dist/esm/utils/template-helpers.js +1 -1
  822. package/dist/esm/utils/template-helpers.js.map +1 -1
  823. package/dist/esm/utils/unique-id.js +14 -0
  824. package/dist/esm/utils/unique-id.js.map +1 -0
  825. package/dist/esm/utils/whitespace-filter.js +1 -1
  826. package/dist/esm/utils/whitespace-filter.js.map +1 -1
  827. package/dist/web-components.d.ts +8201 -2510
  828. package/dist/web-components.js +11337 -7453
  829. package/dist/web-components.min.js +464 -259
  830. package/package.json +60 -159
  831. package/dist/dts/button/button.form-associated.d.ts +0 -14
  832. package/dist/dts/checkbox/checkbox.form-associated.d.ts +0 -14
  833. package/dist/dts/helpers.tests.d.ts +0 -8
  834. package/dist/dts/progress-bar/base-progress.d.ts +0 -41
  835. package/dist/dts/progress-ring/progress-ring.d.ts +0 -15
  836. package/dist/dts/progress-ring/progress-ring.options.d.ts +0 -9
  837. package/dist/dts/radio/radio.form-associated.d.ts +0 -14
  838. package/dist/dts/text-input/text-field.form-associated.d.ts +0 -14
  839. package/dist/esm/button/button.form-associated.js +0 -14
  840. package/dist/esm/button/button.form-associated.js.map +0 -1
  841. package/dist/esm/checkbox/checkbox.form-associated.js +0 -14
  842. package/dist/esm/checkbox/checkbox.form-associated.js.map +0 -1
  843. package/dist/esm/helpers.tests.js +0 -29
  844. package/dist/esm/helpers.tests.js.map +0 -1
  845. package/dist/esm/progress-bar/base-progress.js +0 -61
  846. package/dist/esm/progress-bar/base-progress.js.map +0 -1
  847. package/dist/esm/progress-ring/progress-ring.js +0 -16
  848. package/dist/esm/progress-ring/progress-ring.js.map +0 -1
  849. package/dist/esm/progress-ring/progress-ring.options.js +0 -2
  850. package/dist/esm/progress-ring/progress-ring.options.js.map +0 -1
  851. package/dist/esm/radio/radio.form-associated.js +0 -14
  852. package/dist/esm/radio/radio.form-associated.js.map +0 -1
  853. package/dist/esm/text-input/text-field.form-associated.js +0 -14
  854. package/dist/esm/text-input/text-field.form-associated.js.map +0 -1
  855. package/dist/fluent-web-components.api.json +0 -27410
  856. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +0 -1
  857. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +0 -1
  858. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +0 -2
  859. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +0 -17
  860. package/dist/storybook/401.7edec720.iframe.bundle.js +0 -2
  861. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +0 -12
  862. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +0 -2
  863. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +0 -12
  864. package/dist/storybook/491.77b24750.iframe.bundle.js +0 -1
  865. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +0 -2
  866. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +0 -94
  867. package/dist/storybook/709.22096ad4.iframe.bundle.js +0 -2
  868. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +0 -8
  869. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +0 -2
  870. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +0 -8
  871. package/dist/storybook/711.b5d63aa3.iframe.bundle.js +0 -2
  872. package/dist/storybook/711.b5d63aa3.iframe.bundle.js.LICENSE.txt +0 -51
  873. package/dist/storybook/721.46fa9f53.iframe.bundle.js +0 -2
  874. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +0 -31
  875. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +0 -2
  876. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +0 -31
  877. package/dist/storybook/858.da40ed98.iframe.bundle.js +0 -1
  878. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +0 -1
  879. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +0 -1
  880. package/dist/storybook/954.630c5748.iframe.bundle.js +0 -1
  881. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +0 -1
  882. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  883. package/dist/storybook/favicon.ico +0 -0
  884. package/dist/storybook/favicon.png +0 -0
  885. package/dist/storybook/iframe.html +0 -364
  886. package/dist/storybook/index.html +0 -165
  887. package/dist/storybook/main.588112e6.iframe.bundle.js +0 -2
  888. package/dist/storybook/main.588112e6.iframe.bundle.js.LICENSE.txt +0 -1
  889. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +0 -1
  890. package/dist/storybook/project.json +0 -1
  891. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +0 -1
  892. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +0 -1
  893. package/dist/storybook/shell.css +0 -83
  894. package/dist/storybook/theme-switch.ts +0 -13
  895. package/docs/api-report.md +0 -2969
  896. package/playwright.config.ts +0 -25
@@ -1,22 +1,317 @@
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, css, nullableNumberConverter, observable, Observable } from '@microsoft/fast-element';
1
+ import { __decorate } from "tslib";
2
+ import { attr, css, FASTElement, observable, Observable } from '@microsoft/fast-element';
8
3
  import { Direction, keyArrowDown, keyArrowLeft, keyArrowRight, keyArrowUp, keyEnd, keyHome, limit, Orientation, } from '@microsoft/fast-web-utilities';
9
- import { getDirection } from '../utils/index.js';
10
- import { SliderMode } from './slider.options.js';
11
- import { FormAssociatedSlider } from './slider.form-associated.js';
4
+ import { numberLikeStringConverter } from '../utils/converters.js';
5
+ import { getDirection } from '../utils/direction.js';
6
+ import { swapStates } from '../utils/element-internals.js';
7
+ import { SliderMode, SliderOrientation, SliderSize } from './slider.options.js';
12
8
  import { convertPixelToPercent } from './slider-utilities.js';
13
9
  /**
14
10
  * The base class used for constructing a fluent-slider custom element
11
+ *
12
+ * @slot thumb - The slot for a custom thumb element.
13
+ * @csspart thumb-container - The container element of the thumb.
14
+ * @csspart track-container - The container element of the track.
15
+ * @fires change - Fires a custom 'change' event when the value changes.
16
+ *
15
17
  * @public
16
18
  */
17
- export class Slider extends FormAssociatedSlider {
19
+ export class Slider extends FASTElement {
20
+ /**
21
+ * The form-associated flag.
22
+ * @see {@link https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example | Form-associated custom elements}
23
+ *
24
+ * @public
25
+ */
26
+ static { this.formAssociated = true; }
27
+ /**
28
+ * A reference to all associated `<label>` elements.
29
+ *
30
+ * @public
31
+ */
32
+ get labels() {
33
+ return Object.freeze(Array.from(this.elementInternals.labels));
34
+ }
35
+ sizeChanged(prev, next) {
36
+ swapStates(this.elementInternals, prev, next, SliderSize);
37
+ }
38
+ handleChange(_, propertyName) {
39
+ switch (propertyName) {
40
+ case 'min':
41
+ case 'max':
42
+ this.setSliderPosition();
43
+ case 'step':
44
+ this.handleStepStyles();
45
+ break;
46
+ }
47
+ }
48
+ /**
49
+ * Handles changes to step styling based on the step value
50
+ * NOTE: This function is not a changed callback, stepStyles is not observable
51
+ */
52
+ handleStepStyles() {
53
+ if (this.step) {
54
+ const totalSteps = (100 / Math.floor((this.maxAsNumber - this.minAsNumber) / this.stepAsNumber));
55
+ if (this.stepStyles !== undefined) {
56
+ this.$fastController.removeStyles(this.stepStyles);
57
+ }
58
+ this.stepStyles = css /**css*/ `
59
+ :host {
60
+ --step-rate: ${totalSteps}%;
61
+ }
62
+ `;
63
+ this.$fastController.addStyles(this.stepStyles);
64
+ }
65
+ else if (this.stepStyles !== undefined) {
66
+ this.$fastController.removeStyles(this.stepStyles);
67
+ }
68
+ }
69
+ /**
70
+ * Sets the value of the input when the value attribute changes.
71
+ *
72
+ * @param prev - The previous value
73
+ * @param next - The current value
74
+ * @internal
75
+ */
76
+ initialValueChanged(_, next) {
77
+ if (this.$fastController.isConnected) {
78
+ this.value = next;
79
+ }
80
+ else {
81
+ this._value = next;
82
+ }
83
+ }
84
+ /**
85
+ * The element's validity state.
86
+ *
87
+ * @public
88
+ * @remarks
89
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/validity | `ElementInternals.validity`} property.
90
+ */
91
+ get validity() {
92
+ return this.elementInternals.validity;
93
+ }
94
+ /**
95
+ * The element's validation message.
96
+ *
97
+ * @public
98
+ * @remarks
99
+ * Reflects the {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/validationMessage | `ElemenentInternals.validationMessage`} property.
100
+ */
101
+ get validationMessage() {
102
+ return this.elementInternals.validationMessage;
103
+ }
104
+ /**
105
+ * Whether the element is a candidate for its owning form's constraint validation.
106
+ *
107
+ * @public
108
+ * @remarks
109
+ * Reflects the {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/willValidate | `ElemenentInternals.willValidate`} property.
110
+ */
111
+ get willValidate() {
112
+ return this.elementInternals.willValidate;
113
+ }
114
+ /**
115
+ * Checks the element's validity.
116
+ * @public
117
+ * @remarks
118
+ * Reflects the {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/checkValidity | `ElemenentInternals.checkValidity`} method.
119
+ */
120
+ checkValidity() {
121
+ return this.elementInternals.checkValidity();
122
+ }
123
+ /**
124
+ * Reports the element's validity.
125
+ * @public
126
+ * @remarks
127
+ * Reflects the {@link https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/reportValidity | `ElemenentInternals.reportValidity`} method.
128
+ */
129
+ reportValidity() {
130
+ return this.elementInternals.reportValidity();
131
+ }
132
+ /**
133
+ * Sets a custom validity message.
134
+ * @public
135
+ */
136
+ setCustomValidity(message) {
137
+ this.setValidity({ customError: !!message }, message);
138
+ }
139
+ /**
140
+ * Sets the validity of the control.
141
+ *
142
+ * @param flags - Validity flags to set.
143
+ * @param message - Optional message to supply. If not provided, the control's `validationMessage` will be used.
144
+ * @param anchor - Optional anchor to use for the validation message.
145
+ *
146
+ * @internal
147
+ */
148
+ setValidity(flags, message, anchor) {
149
+ if (this.$fastController.isConnected) {
150
+ if (this.disabled) {
151
+ this.elementInternals.setValidity({});
152
+ return;
153
+ }
154
+ this.elementInternals.setValidity({ customError: !!message, ...flags }, message ?? this.validationMessage, anchor);
155
+ }
156
+ }
157
+ /**
158
+ * The current value of the input.
159
+ *
160
+ * @public
161
+ */
162
+ get value() {
163
+ Observable.track(this, 'value');
164
+ return this._value?.toString() ?? '';
165
+ }
166
+ set value(value) {
167
+ if (!this.$fastController.isConnected) {
168
+ this._value = value.toString();
169
+ return;
170
+ }
171
+ const nextAsNumber = parseFloat(value);
172
+ const newValue = limit(this.minAsNumber, this.maxAsNumber, this.convertToConstrainedValue(nextAsNumber)).toString();
173
+ if (newValue !== value) {
174
+ this.value = newValue;
175
+ return;
176
+ }
177
+ this._value = value.toString();
178
+ this.elementInternals.ariaValueNow = this._value;
179
+ this.elementInternals.ariaValueText = this.valueTextFormatter(this._value);
180
+ this.setSliderPosition();
181
+ this.$emit('change');
182
+ this.setFormValue(value);
183
+ Observable.notify(this, 'value');
184
+ }
185
+ /**
186
+ * Resets the form value to its initial value when the form is reset.
187
+ *
188
+ * @internal
189
+ */
190
+ formResetCallback() {
191
+ this.value = this.initialValue ?? this.midpoint;
192
+ }
193
+ /**
194
+ * Disabled the component when its associated form is disabled.
195
+ *
196
+ * @internal
197
+ *
198
+ * @privateRemarks
199
+ * DO NOT change the `disabled` property or attribute here, because if the
200
+ * `disabled` attribute is present, reenabling an ancestor `<fieldset>`
201
+ * element will not reenabling this component.
202
+ */
203
+ formDisabledCallback(disabled) {
204
+ this.setDisabledSideEffect(disabled);
205
+ }
206
+ /**
207
+ * Reflects the {@link https://developer.mozilla.org/docs/Web/API/ElementInternals/setFormValue | `ElementInternals.setFormValue()`} method.
208
+ *
209
+ * @internal
210
+ */
211
+ setFormValue(value, state) {
212
+ this.elementInternals.setFormValue(value, value ?? state);
213
+ }
214
+ directionChanged() {
215
+ this.setSliderPosition();
216
+ }
217
+ /**
218
+ * The value property, typed as a number.
219
+ *
220
+ * @public
221
+ */
222
+ get valueAsNumber() {
223
+ return parseFloat(this.value);
224
+ }
225
+ set valueAsNumber(next) {
226
+ this.value = next.toString();
227
+ }
228
+ valueTextFormatterChanged() {
229
+ if (typeof this.valueTextFormatter === 'function') {
230
+ this.elementInternals.ariaValueText = this.valueTextFormatter(this._value);
231
+ }
232
+ else {
233
+ this.elementInternals.ariaValueText = '';
234
+ }
235
+ }
236
+ disabledChanged() {
237
+ this.setDisabledSideEffect(this.disabled);
238
+ }
239
+ minChanged() {
240
+ this.elementInternals.ariaValueMin = `${this.minAsNumber}`;
241
+ if (this.$fastController.isConnected && this.minAsNumber > this.valueAsNumber) {
242
+ this.value = this.min;
243
+ }
244
+ }
245
+ /**
246
+ * Returns the min property or the default value
247
+ *
248
+ * @internal
249
+ */
250
+ get minAsNumber() {
251
+ if (this.min !== undefined) {
252
+ const parsed = parseFloat(this.min);
253
+ if (!Number.isNaN(parsed)) {
254
+ return parsed;
255
+ }
256
+ }
257
+ return 0;
258
+ }
259
+ maxChanged() {
260
+ this.elementInternals.ariaValueMax = `${this.maxAsNumber}`;
261
+ if (this.$fastController.isConnected && this.maxAsNumber < this.valueAsNumber) {
262
+ this.value = this.max;
263
+ }
264
+ }
265
+ /**
266
+ * Returns the max property or the default value
267
+ *
268
+ * @internal
269
+ */
270
+ get maxAsNumber() {
271
+ if (this.max !== undefined) {
272
+ const parsed = parseFloat(this.max);
273
+ if (!Number.isNaN(parsed)) {
274
+ return parsed;
275
+ }
276
+ }
277
+ return 100;
278
+ }
279
+ stepChanged() {
280
+ this.updateStepMultiplier();
281
+ // Update value to align with the new step if needed.
282
+ if (this.$fastController.isConnected) {
283
+ this.value = this._value;
284
+ }
285
+ }
286
+ /**
287
+ * Returns the step property as a number.
288
+ *
289
+ * @internal
290
+ */
291
+ get stepAsNumber() {
292
+ if (this.step !== undefined) {
293
+ const parsed = parseFloat(this.step);
294
+ if (!Number.isNaN(parsed) && parsed > 0) {
295
+ return parsed;
296
+ }
297
+ }
298
+ return 1;
299
+ }
300
+ orientationChanged(prev, next) {
301
+ this.elementInternals.ariaOrientation = next ?? Orientation.horizontal;
302
+ swapStates(this.elementInternals, prev, next, Orientation);
303
+ if (this.$fastController.isConnected) {
304
+ this.setSliderPosition();
305
+ }
306
+ }
18
307
  constructor() {
19
- super(...arguments);
308
+ super();
309
+ /**
310
+ * The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
311
+ *
312
+ * @internal
313
+ */
314
+ this.elementInternals = this.attachInternals();
20
315
  /**
21
316
  * @internal
22
317
  */
@@ -46,37 +341,42 @@ export class Slider extends FormAssociatedSlider {
46
341
  */
47
342
  this.trackMinHeight = 0;
48
343
  /**
49
- * Custom function that generates a string for the component's "aria-valuetext" attribute based on the current value.
344
+ * Custom function that generates a string for the component's "ariaValueText" on element internals based on the current value.
50
345
  *
51
346
  * @public
52
347
  */
53
- this.valueTextFormatter = () => null;
348
+ this.valueTextFormatter = () => '';
349
+ /**
350
+ * The element's disabled state.
351
+ * @public
352
+ * @remarks
353
+ * HTML Attribute: `disabled`
354
+ */
355
+ this.disabled = false;
54
356
  /**
55
357
  * The minimum allowed value.
56
358
  *
57
- * @defaultValue - 0
58
359
  * @public
59
360
  * @remarks
60
361
  * HTML Attribute: min
61
362
  */
62
- this.min = 0; // Map to proxy element.
363
+ this.min = '';
63
364
  /**
64
365
  * The maximum allowed value.
65
366
  *
66
- * @defaultValue - 10
67
367
  * @public
68
368
  * @remarks
69
369
  * HTML Attribute: max
70
370
  */
71
- this.max = 10; // Map to proxy element.
371
+ this.max = '';
72
372
  /**
73
- * The orientation of the slider.
373
+ * Value to increment or decrement via arrow keys, mouse click or drag.
74
374
  *
75
375
  * @public
76
376
  * @remarks
77
- * HTML Attribute: orientation
377
+ * HTML Attribute: step
78
378
  */
79
- this.orientation = Orientation.horizontal;
379
+ this.step = '';
80
380
  /**
81
381
  * The selection mode.
82
382
  *
@@ -85,35 +385,39 @@ export class Slider extends FormAssociatedSlider {
85
385
  * HTML Attribute: mode
86
386
  */
87
387
  this.mode = SliderMode.singleValue;
88
- this.keypressHandler = (e) => {
89
- if (this.readOnly || this.disabled) {
388
+ this.keypressHandler = (event) => {
389
+ if (this.disabled) {
90
390
  return;
91
391
  }
92
- if (e.key === keyHome) {
93
- e.preventDefault();
94
- this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
95
- ? (this.value = `${this.min}`)
96
- : (this.value = `${this.max}`);
97
- }
98
- else if (e.key === keyEnd) {
99
- e.preventDefault();
100
- this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
101
- ? (this.value = `${this.max}`)
102
- : (this.value = `${this.min}`);
103
- }
104
- else if (!e.shiftKey) {
105
- switch (e.key) {
106
- case keyArrowRight:
107
- case keyArrowUp:
108
- e.preventDefault();
392
+ switch (event.key) {
393
+ case keyHome:
394
+ event.preventDefault();
395
+ this.value =
396
+ this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
397
+ ? `${this.minAsNumber}`
398
+ : `${this.maxAsNumber}`;
399
+ break;
400
+ case keyEnd:
401
+ event.preventDefault();
402
+ this.value =
403
+ this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
404
+ ? `${this.maxAsNumber}`
405
+ : `${this.minAsNumber}`;
406
+ break;
407
+ case keyArrowRight:
408
+ case keyArrowUp:
409
+ if (!event.shiftKey) {
410
+ event.preventDefault();
109
411
  this.increment();
110
- break;
111
- case keyArrowLeft:
112
- case keyArrowDown:
113
- e.preventDefault();
412
+ }
413
+ break;
414
+ case keyArrowLeft:
415
+ case keyArrowDown:
416
+ if (!event.shiftKey) {
417
+ event.preventDefault();
114
418
  this.decrement();
115
- break;
116
- }
419
+ }
420
+ break;
117
421
  }
118
422
  };
119
423
  this.setupTrackConstraints = () => {
@@ -127,180 +431,85 @@ export class Slider extends FormAssociatedSlider {
127
431
  this.trackWidth = 1;
128
432
  }
129
433
  };
130
- //Remove
131
434
  this.setupListeners = (remove = false) => {
132
435
  //TODO Bug: https://github.com/microsoft/fluentui/issues/30087
133
436
  this.addEventListener('keydown', this.keypressHandler);
134
- this.addEventListener('mousedown', this.handleMouseDown);
135
- // removes handlers attached by mousedown handlers
136
437
  if (remove) {
137
438
  this.removeEventListener('keydown', this.keypressHandler);
138
- this.removeEventListener('mousedown', this.handleMouseDown);
139
439
  }
140
440
  };
141
- /**
142
- * @internal
143
- */
144
- this.initialValue = '';
145
441
  /**
146
442
  * Handle mouse moves during a thumb drag operation
147
443
  * If the event handler is null it removes the events
148
444
  */
149
- this.handleThumbMouseDown = (event) => {
445
+ this.handleThumbPointerDown = (event) => {
150
446
  const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
151
- windowFn('mouseup', this.handleWindowMouseUp);
152
- windowFn('mousemove', this.handleMouseMove, { passive: true });
153
- windowFn('touchmove', this.handleMouseMove, { passive: true });
154
- windowFn('touchend', this.handleWindowMouseUp);
447
+ windowFn('pointerup', this.handleWindowPointerUp);
448
+ windowFn('pointermove', this.handlePointerMove, { passive: true });
449
+ windowFn('touchmove', this.handlePointerMove, { passive: true });
450
+ windowFn('touchend', this.handleWindowPointerUp);
155
451
  this.isDragging = event !== null;
156
452
  };
157
453
  /**
158
454
  * Handle mouse moves during a thumb drag operation
159
455
  */
160
- this.handleMouseMove = (e) => {
161
- if (this.readOnly || this.disabled || e.defaultPrevented) {
456
+ this.handlePointerMove = (event) => {
457
+ if (this.disabled || event.defaultPrevented) {
162
458
  return;
163
459
  }
164
460
  // update the value based on current position
165
- const sourceEvent = window.TouchEvent && e instanceof TouchEvent ? e.touches[0] : e;
166
- const eventValue = this.orientation === Orientation.horizontal
167
- ? sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft
168
- : sourceEvent.pageY - document.documentElement.scrollTop;
461
+ const sourceEvent = window.TouchEvent && event instanceof TouchEvent ? event.touches[0] : event;
462
+ const eventValue = this.orientation === Orientation.vertical
463
+ ? sourceEvent.pageY - document.documentElement.scrollTop
464
+ : sourceEvent.pageX - document.documentElement.scrollLeft - this.trackLeft;
169
465
  this.value = `${this.calculateNewValue(eventValue)}`;
170
466
  };
171
467
  /**
172
468
  * Handle a window mouse up during a drag operation
173
469
  */
174
- this.handleWindowMouseUp = (event) => {
470
+ this.handleWindowPointerUp = () => {
175
471
  this.stopDragging();
176
472
  };
177
473
  this.stopDragging = () => {
178
474
  this.isDragging = false;
179
- this.handleMouseDown(null);
180
- this.handleThumbMouseDown(null);
475
+ this.handlePointerDown(null);
476
+ this.handleThumbPointerDown(null);
181
477
  };
182
478
  /**
183
479
  *
184
- * @param e - MouseEvent or null. If there is no event handler it will remove the events
480
+ * @param event - PointerEvent or null. If there is no event handler it will remove the events
185
481
  */
186
- this.handleMouseDown = (e) => {
187
- if (e === null || (!this.disabled && !this.readOnly)) {
188
- const windowFn = e !== null ? window.addEventListener : window.removeEventListener;
189
- const documentFn = e !== null ? document.addEventListener : document.removeEventListener;
190
- windowFn('mouseup', this.handleWindowMouseUp);
191
- documentFn('mouseleave', this.handleWindowMouseUp);
192
- windowFn('mousemove', this.handleMouseMove);
193
- if (e) {
482
+ this.handlePointerDown = (event) => {
483
+ if (event === null || !this.disabled) {
484
+ const windowFn = event !== null ? window.addEventListener : window.removeEventListener;
485
+ const documentFn = event !== null ? document.addEventListener : document.removeEventListener;
486
+ windowFn('pointerup', this.handleWindowPointerUp);
487
+ documentFn('mouseleave', this.handleWindowPointerUp);
488
+ windowFn('pointermove', this.handlePointerMove);
489
+ if (event) {
194
490
  this.setupTrackConstraints();
195
- const controlValue = this.orientation === Orientation.horizontal
196
- ? e.pageX - document.documentElement.scrollLeft - this.trackLeft
197
- : e.pageY - document.documentElement.scrollTop;
491
+ const controlValue = this.orientation === Orientation.vertical
492
+ ? event.pageY - document.documentElement.scrollTop
493
+ : event.pageX - document.documentElement.scrollLeft - this.trackLeft;
198
494
  this.value = `${this.calculateNewValue(controlValue)}`;
199
495
  }
200
496
  }
201
497
  };
202
- }
203
- handleChange(source, propertyName) {
204
- switch (propertyName) {
205
- case 'min':
206
- case 'max':
207
- case 'step':
208
- this.handleStepStyles();
209
- break;
210
- default:
211
- break;
212
- }
213
- }
214
- /**
215
- * Handles changes to step styling based on the step value
216
- * NOTE: This function is not a changed callback, stepStyles is not observable
217
- */
218
- handleStepStyles() {
219
- if (this.step) {
220
- const totalSteps = (100 / Math.floor((this.max - this.min) / this.step));
221
- if (this.stepStyles !== undefined) {
222
- this.$fastController.removeStyles(this.stepStyles);
223
- }
224
- this.stepStyles = css /**css*/ `
225
- :host {
226
- --step-rate: ${totalSteps}%;
227
- color: blue;
228
- }
229
- `;
230
- this.$fastController.addStyles(this.stepStyles);
231
- }
232
- else if (this.stepStyles !== undefined) {
233
- this.$fastController.removeStyles(this.stepStyles);
234
- }
235
- }
236
- readOnlyChanged() {
237
- if (this.proxy instanceof HTMLInputElement) {
238
- this.proxy.readOnly = this.readOnly;
239
- }
240
- }
241
- /**
242
- * The value property, typed as a number.
243
- *
244
- * @public
245
- */
246
- get valueAsNumber() {
247
- return parseFloat(super.value);
248
- }
249
- set valueAsNumber(next) {
250
- this.value = next.toString();
251
- }
252
- /**
253
- * @internal
254
- */
255
- valueChanged(previous, next) {
256
- if (this.$fastController.isConnected) {
257
- const nextAsNumber = parseFloat(next);
258
- const value = limit(this.min, this.max, this.convertToConstrainedValue(nextAsNumber)).toString();
259
- if (value !== next) {
260
- this.value = value;
261
- return;
262
- }
263
- super.valueChanged(previous, next);
264
- this.setThumbPositionForOrientation(this.direction);
265
- this.$emit('change');
266
- }
267
- }
268
- minChanged() {
269
- if (this.proxy instanceof HTMLInputElement) {
270
- this.proxy.min = `${this.min}`;
271
- }
272
- this.validate();
273
- }
274
- maxChanged() {
275
- if (this.proxy instanceof HTMLInputElement) {
276
- this.proxy.max = `${this.max}`;
277
- }
278
- this.validate();
279
- }
280
- stepChanged() {
281
- if (this.proxy instanceof HTMLInputElement) {
282
- this.proxy.step = `${this.step}`;
283
- }
284
- this.updateStepMultiplier();
285
- this.validate();
286
- }
287
- orientationChanged() {
288
- if (this.$fastController.isConnected) {
289
- this.setThumbPositionForOrientation(this.direction);
290
- }
498
+ this.elementInternals.role = 'slider';
499
+ this.elementInternals.ariaOrientation = this.orientation ?? SliderOrientation.horizontal;
291
500
  }
292
501
  /**
293
502
  * @internal
294
503
  */
295
504
  connectedCallback() {
296
505
  super.connectedCallback();
297
- this.proxy.setAttribute('type', 'range');
298
506
  this.direction = getDirection(this);
507
+ this.setDisabledSideEffect(this.disabled);
299
508
  this.updateStepMultiplier();
300
509
  this.setupTrackConstraints();
301
510
  this.setupListeners();
302
511
  this.setupDefaultValue();
303
- this.setThumbPositionForOrientation(this.direction);
512
+ this.setSliderPosition();
304
513
  Observable.getNotifier(this).subscribe(this, 'max');
305
514
  Observable.getNotifier(this).subscribe(this, 'min');
306
515
  Observable.getNotifier(this).subscribe(this, 'step');
@@ -322,11 +531,11 @@ export class Slider extends FormAssociatedSlider {
322
531
  * @public
323
532
  */
324
533
  increment() {
325
- const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
326
- ? Number(this.value) + Number(this.stepValue)
327
- : Number(this.value) + Number(this.stepValue);
534
+ const newVal = this.direction !== Direction.rtl
535
+ ? Number(this.value) + this.stepAsNumber
536
+ : Number(this.value) - this.stepAsNumber;
328
537
  const incrementedVal = this.convertToConstrainedValue(newVal);
329
- const incrementedValString = incrementedVal < Number(this.max) ? `${incrementedVal}` : `${this.max}`;
538
+ const incrementedValString = incrementedVal < this.maxAsNumber ? `${incrementedVal}` : `${this.maxAsNumber}`;
330
539
  this.value = incrementedValString;
331
540
  }
332
541
  /**
@@ -335,64 +544,42 @@ export class Slider extends FormAssociatedSlider {
335
544
  * @public
336
545
  */
337
546
  decrement() {
338
- const newVal = this.direction !== Direction.rtl && this.orientation !== Orientation.vertical
339
- ? Number(this.value) - Number(this.stepValue)
340
- : Number(this.value) - Number(this.stepValue);
547
+ const newVal = this.direction !== Direction.rtl
548
+ ? Number(this.value) - Number(this.stepAsNumber)
549
+ : Number(this.value) + Number(this.stepAsNumber);
341
550
  const decrementedVal = this.convertToConstrainedValue(newVal);
342
- const decrementedValString = decrementedVal > Number(this.min) ? `${decrementedVal}` : `${this.min}`;
551
+ const decrementedValString = decrementedVal > this.minAsNumber ? `${decrementedVal}` : `${this.minAsNumber}`;
343
552
  this.value = decrementedValString;
344
553
  }
345
- /**
346
- * Gets the actual step value for the slider
347
- *
348
- */
349
- get stepValue() {
350
- return this.step === undefined ? 1 : this.step;
351
- }
352
554
  /**
353
555
  * Places the thumb based on the current value
354
- *
355
- * @public
356
- * @param direction - writing mode
357
556
  */
358
- setThumbPositionForOrientation(direction) {
359
- const newPct = convertPixelToPercent(Number(this.value), Number(this.min), Number(this.max), direction);
360
- const percentage = (1 - newPct) * 100;
361
- if (this.orientation === Orientation.horizontal) {
362
- this.position = this.isDragging
363
- ? `right: ${percentage}%; transition: none;`
364
- : `right: ${percentage}%; transition: all 0.2s ease;`;
365
- }
366
- else {
367
- this.position = this.isDragging
368
- ? `top: ${percentage}%; transition: none;`
369
- : `top: ${percentage}%; transition: all 0.2s ease;`;
370
- }
557
+ setSliderPosition() {
558
+ const newPct = convertPixelToPercent(parseFloat(this.value), this.minAsNumber, this.maxAsNumber, this.direction);
559
+ const percentage = newPct * 100;
560
+ this.position = `--slider-thumb: ${percentage}%; --slider-progress: ${percentage}%`;
371
561
  }
372
562
  /**
373
563
  * Update the step multiplier used to ensure rounding errors from steps that
374
564
  * are not whole numbers
375
565
  */
376
566
  updateStepMultiplier() {
377
- const stepString = this.stepValue + '';
378
- const decimalPlacesOfStep = !!(this.stepValue % 1) ? stepString.length - stepString.indexOf('.') - 1 : 0;
567
+ const stepString = this.stepAsNumber + '';
568
+ const decimalPlacesOfStep = !!(this.stepAsNumber % 1) ? stepString.length - stepString.indexOf('.') - 1 : 0;
379
569
  this.stepMultiplier = Math.pow(10, decimalPlacesOfStep);
380
570
  }
381
571
  get midpoint() {
382
- return `${this.convertToConstrainedValue((this.max + this.min) / 2)}`;
572
+ return `${this.convertToConstrainedValue((this.maxAsNumber + this.minAsNumber) / 2)}`;
383
573
  }
384
574
  setupDefaultValue() {
385
- if (typeof this.value === 'string') {
386
- if (this.value.length === 0) {
387
- this.initialValue = this.midpoint;
388
- }
389
- else {
390
- const value = parseFloat(this.value);
391
- if (!Number.isNaN(value) && (value < this.min || value > this.max)) {
392
- this.value = this.midpoint;
393
- }
394
- }
575
+ if (!this._value) {
576
+ this.value = this.initialValue ?? this.midpoint;
577
+ }
578
+ if (!Number.isNaN(this.valueAsNumber) &&
579
+ (this.valueAsNumber < this.minAsNumber || this.valueAsNumber > this.maxAsNumber)) {
580
+ this.value = this.midpoint;
395
581
  }
582
+ this.elementInternals.ariaValueNow = this.value;
396
583
  }
397
584
  /**
398
585
  * Calculate the new value based on the given raw pixel value.
@@ -405,13 +592,13 @@ export class Slider extends FormAssociatedSlider {
405
592
  calculateNewValue(rawValue) {
406
593
  this.setupTrackConstraints();
407
594
  // update the value based on current position
408
- const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.horizontal ? this.trackMinWidth : this.trackMinHeight, this.orientation === Orientation.horizontal ? this.trackWidth : this.trackHeight, this.direction);
409
- const newValue = (this.max - this.min) * newPosition + this.min;
595
+ const newPosition = convertPixelToPercent(rawValue, this.orientation === Orientation.vertical ? this.trackMinHeight : this.trackMinWidth, this.orientation === Orientation.vertical ? this.trackHeight : this.trackWidth, this.direction);
596
+ const newValue = (this.maxAsNumber - this.minAsNumber) * newPosition + this.minAsNumber;
410
597
  return this.convertToConstrainedValue(newValue);
411
598
  }
412
599
  convertToConstrainedValue(value) {
413
600
  if (isNaN(value)) {
414
- value = this.min;
601
+ value = this.minAsNumber;
415
602
  }
416
603
  /**
417
604
  * The following logic intends to overcome the issue with math in JavaScript with regards to floating point numbers.
@@ -419,22 +606,32 @@ export class Slider extends FormAssociatedSlider {
419
606
  * and is converted to an integer by determining the number of decimal places it represent, multiplying it until it is an
420
607
  * integer and then dividing it to get back to the correct number.
421
608
  */
422
- let constrainedValue = value - this.min;
423
- const roundedConstrainedValue = Math.round(constrainedValue / this.stepValue);
424
- const remainderValue = constrainedValue - (roundedConstrainedValue * (this.stepMultiplier * this.stepValue)) / this.stepMultiplier;
609
+ let constrainedValue = value - this.minAsNumber;
610
+ const roundedConstrainedValue = Math.round(constrainedValue / this.stepAsNumber);
611
+ const remainderValue = constrainedValue - (roundedConstrainedValue * (this.stepMultiplier * this.stepAsNumber)) / this.stepMultiplier;
425
612
  constrainedValue =
426
- remainderValue >= Number(this.stepValue) / 2
427
- ? constrainedValue - remainderValue + Number(this.stepValue)
613
+ remainderValue >= Number(this.stepAsNumber) / 2
614
+ ? constrainedValue - remainderValue + Number(this.stepAsNumber)
428
615
  : constrainedValue - remainderValue;
429
- return constrainedValue + this.min;
616
+ return constrainedValue + this.minAsNumber;
617
+ }
618
+ /**
619
+ * Makes sure the side effects of set up when the disabled state changes.
620
+ */
621
+ setDisabledSideEffect(disabled) {
622
+ if (!this.$fastController.isConnected) {
623
+ return;
624
+ }
625
+ this.elementInternals.ariaDisabled = disabled.toString();
626
+ this.tabIndex = disabled ? -1 : 0;
430
627
  }
431
628
  }
432
629
  __decorate([
433
630
  attr
434
631
  ], Slider.prototype, "size", void 0);
435
632
  __decorate([
436
- attr({ attribute: 'readonly', mode: 'boolean' })
437
- ], Slider.prototype, "readOnly", void 0);
633
+ attr({ attribute: 'value', mode: 'fromView' })
634
+ ], Slider.prototype, "initialValue", void 0);
438
635
  __decorate([
439
636
  observable
440
637
  ], Slider.prototype, "direction", void 0);
@@ -463,13 +660,16 @@ __decorate([
463
660
  observable
464
661
  ], Slider.prototype, "valueTextFormatter", void 0);
465
662
  __decorate([
466
- attr({ converter: nullableNumberConverter })
663
+ attr({ mode: 'boolean' })
664
+ ], Slider.prototype, "disabled", void 0);
665
+ __decorate([
666
+ attr({ converter: numberLikeStringConverter })
467
667
  ], Slider.prototype, "min", void 0);
468
668
  __decorate([
469
- attr({ converter: nullableNumberConverter })
669
+ attr({ converter: numberLikeStringConverter })
470
670
  ], Slider.prototype, "max", void 0);
471
671
  __decorate([
472
- attr({ converter: nullableNumberConverter })
672
+ attr({ converter: numberLikeStringConverter })
473
673
  ], Slider.prototype, "step", void 0);
474
674
  __decorate([
475
675
  attr