@fluentui/web-components 3.0.0-alpha.9 → 3.0.0-beta.10

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 (598) hide show
  1. package/CHANGELOG.md +298 -2
  2. package/README.md +4 -0
  3. package/dist/dts/accordion/accordion.d.ts +47 -3
  4. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  5. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  6. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  7. package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
  8. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  9. package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
  10. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  11. package/dist/dts/anchor-button/anchor-button.d.ts +176 -0
  12. package/dist/dts/anchor-button/anchor-button.definition.d.ts +7 -0
  13. package/dist/dts/anchor-button/anchor-button.options.d.ts +64 -0
  14. package/dist/dts/anchor-button/anchor-button.styles.d.ts +1 -0
  15. package/dist/dts/anchor-button/anchor-button.template.d.ts +12 -0
  16. package/dist/dts/anchor-button/define.d.ts +1 -0
  17. package/dist/dts/anchor-button/index.d.ts +4 -0
  18. package/dist/dts/avatar/avatar.options.d.ts +1 -1
  19. package/dist/dts/badge/badge.d.ts +1 -1
  20. package/dist/dts/badge/badge.definition.d.ts +0 -3
  21. package/dist/dts/badge/badge.options.d.ts +2 -1
  22. package/dist/dts/button/button.d.ts +193 -0
  23. package/dist/dts/button/button.definition.d.ts +7 -0
  24. package/dist/dts/button/button.form-associated.d.ts +14 -0
  25. package/dist/dts/button/button.options.d.ts +68 -0
  26. package/dist/dts/button/button.styles.d.ts +1 -0
  27. package/dist/dts/button/button.template.d.ts +9 -0
  28. package/dist/dts/button/define.d.ts +1 -0
  29. package/dist/dts/button/index.d.ts +5 -0
  30. package/dist/dts/checkbox/checkbox.d.ts +78 -0
  31. package/dist/dts/checkbox/checkbox.definition.d.ts +9 -0
  32. package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
  33. package/dist/dts/checkbox/checkbox.options.d.ts +28 -0
  34. package/dist/dts/checkbox/checkbox.styles.d.ts +5 -0
  35. package/dist/dts/checkbox/checkbox.template.d.ts +12 -0
  36. package/dist/dts/checkbox/define.d.ts +1 -0
  37. package/dist/dts/checkbox/index.d.ts +5 -0
  38. package/dist/dts/compound-button/compound-button.d.ts +7 -0
  39. package/dist/dts/compound-button/compound-button.definition.d.ts +7 -0
  40. package/dist/dts/compound-button/compound-button.options.d.ts +51 -0
  41. package/dist/dts/compound-button/compound-button.styles.d.ts +1 -0
  42. package/dist/dts/compound-button/compound-button.template.d.ts +13 -0
  43. package/dist/dts/compound-button/define.d.ts +1 -0
  44. package/dist/dts/compound-button/index.d.ts +5 -0
  45. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  46. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  47. package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
  48. package/dist/dts/dialog/define.d.ts +1 -0
  49. package/dist/dts/dialog/dialog.d.ts +192 -0
  50. package/dist/dts/dialog/dialog.definition.d.ts +9 -0
  51. package/dist/dts/dialog/dialog.options.d.ts +11 -0
  52. package/dist/dts/dialog/dialog.styles.d.ts +4 -0
  53. package/dist/dts/dialog/dialog.template.d.ts +7 -0
  54. package/dist/dts/dialog/index.d.ts +4 -0
  55. package/dist/dts/divider/divider.d.ts +20 -4
  56. package/dist/dts/divider/divider.options.d.ts +30 -5
  57. package/dist/dts/divider/divider.template.d.ts +1 -0
  58. package/dist/dts/form-associated/form-associated.d.ts +178 -0
  59. package/dist/dts/helpers.tests.d.ts +8 -0
  60. package/dist/dts/image/image.options.d.ts +1 -1
  61. package/dist/dts/index.d.ts +19 -0
  62. package/dist/dts/label/define.d.ts +1 -0
  63. package/dist/dts/label/index.d.ts +4 -0
  64. package/dist/dts/label/label.d.ts +42 -0
  65. package/dist/dts/label/label.definition.d.ts +10 -0
  66. package/dist/dts/label/label.options.d.ts +26 -0
  67. package/dist/dts/label/label.styles.d.ts +4 -0
  68. package/dist/dts/label/label.template.d.ts +8 -0
  69. package/dist/dts/menu/define.d.ts +1 -0
  70. package/dist/dts/menu/index.d.ts +4 -0
  71. package/dist/dts/menu/menu.d.ts +194 -0
  72. package/dist/dts/menu/menu.definition.d.ts +9 -0
  73. package/dist/dts/menu/menu.styles.d.ts +4 -0
  74. package/dist/dts/menu/menu.template.d.ts +4 -0
  75. package/dist/dts/menu-button/define.d.ts +1 -0
  76. package/dist/dts/menu-button/index.d.ts +5 -0
  77. package/dist/dts/menu-button/menu-button.d.ts +7 -0
  78. package/dist/dts/menu-button/menu-button.definition.d.ts +7 -0
  79. package/dist/dts/menu-button/menu-button.options.d.ts +47 -0
  80. package/dist/dts/menu-button/menu-button.template.d.ts +7 -0
  81. package/dist/dts/menu-item/define.d.ts +1 -0
  82. package/dist/dts/menu-item/index.d.ts +4 -0
  83. package/dist/dts/menu-item/menu-item.d.ts +166 -0
  84. package/dist/dts/menu-item/menu-item.definition.d.ts +7 -0
  85. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  86. package/dist/dts/menu-item/menu-item.styles.d.ts +4 -0
  87. package/dist/dts/menu-item/menu-item.template.d.ts +4 -0
  88. package/dist/dts/menu-list/define.d.ts +1 -0
  89. package/dist/dts/menu-list/index.d.ts +4 -0
  90. package/dist/dts/menu-list/menu-list.d.ts +76 -0
  91. package/dist/dts/menu-list/menu-list.definition.d.ts +7 -0
  92. package/dist/dts/menu-list/menu-list.styles.d.ts +4 -0
  93. package/dist/dts/menu-list/menu-list.template.d.ts +4 -0
  94. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  95. package/dist/dts/patterns/index.d.ts +2 -0
  96. package/dist/dts/patterns/start-end.d.ts +44 -0
  97. package/dist/dts/progress-bar/base-progress.d.ts +41 -0
  98. package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
  99. package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
  100. package/dist/dts/progress-bar/progress-bar.styles.d.ts +1 -1
  101. package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
  102. package/dist/dts/progress-ring/progress-ring.d.ts +15 -0
  103. package/dist/dts/progress-ring/progress-ring.options.d.ts +9 -0
  104. package/dist/dts/radio/define.d.ts +1 -0
  105. package/dist/dts/radio/index.d.ts +4 -0
  106. package/dist/dts/radio/radio.d.ts +58 -0
  107. package/dist/dts/radio/radio.definition.d.ts +10 -0
  108. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  109. package/dist/dts/radio/radio.styles.d.ts +4 -0
  110. package/dist/dts/radio/radio.template.d.ts +4 -0
  111. package/dist/dts/radio-group/define.d.ts +1 -0
  112. package/dist/dts/radio-group/index.d.ts +4 -0
  113. package/dist/dts/radio-group/radio-group.d.ts +104 -0
  114. package/dist/dts/radio-group/radio-group.definition.d.ts +10 -0
  115. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  116. package/dist/dts/radio-group/radio-group.styles.d.ts +4 -0
  117. package/dist/dts/radio-group/radio-group.template.d.ts +4 -0
  118. package/dist/dts/slider/define.d.ts +1 -0
  119. package/dist/dts/slider/index.d.ts +5 -0
  120. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  121. package/dist/dts/slider/slider.d.ts +214 -0
  122. package/dist/dts/slider/slider.definition.d.ts +10 -0
  123. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  124. package/dist/dts/slider/slider.options.d.ts +56 -0
  125. package/dist/dts/slider/slider.styles.d.ts +4 -0
  126. package/dist/dts/slider/slider.template.d.ts +5 -0
  127. package/dist/dts/spinner/spinner.d.ts +2 -2
  128. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  129. package/dist/dts/spinner/spinner.options.d.ts +1 -1
  130. package/dist/dts/spinner/spinner.template.d.ts +2 -0
  131. package/dist/dts/switch/index.d.ts +3 -3
  132. package/dist/dts/switch/switch.d.ts +34 -2
  133. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  134. package/dist/dts/switch/switch.options.d.ts +1 -1
  135. package/dist/dts/switch/switch.template.d.ts +2 -1
  136. package/dist/dts/tab/define.d.ts +1 -0
  137. package/dist/dts/tab/index.d.ts +4 -0
  138. package/dist/dts/tab/tab.d.ts +23 -0
  139. package/dist/dts/tab/tab.definition.d.ts +2 -0
  140. package/dist/dts/tab/tab.styles.d.ts +1 -0
  141. package/dist/dts/tab/tab.template.d.ts +4 -0
  142. package/dist/dts/tab-panel/define.d.ts +1 -0
  143. package/dist/dts/tab-panel/index.d.ts +4 -0
  144. package/dist/dts/tab-panel/tab-panel.d.ts +3 -0
  145. package/dist/dts/tab-panel/tab-panel.definition.d.ts +2 -0
  146. package/dist/dts/tab-panel/tab-panel.styles.d.ts +1 -0
  147. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -0
  148. package/dist/dts/tabs/define.d.ts +1 -0
  149. package/dist/dts/tabs/index.d.ts +5 -0
  150. package/dist/dts/tabs/tabs.d.ts +173 -0
  151. package/dist/dts/tabs/tabs.definition.d.ts +2 -0
  152. package/dist/dts/tabs/tabs.options.d.ts +32 -0
  153. package/dist/dts/tabs/tabs.styles.d.ts +1 -0
  154. package/dist/dts/tabs/tabs.template.d.ts +5 -0
  155. package/dist/dts/text/text.options.d.ts +1 -1
  156. package/dist/dts/text-input/define.d.ts +1 -0
  157. package/dist/dts/text-input/index.d.ts +5 -0
  158. package/dist/dts/text-input/text-field.form-associated.d.ts +14 -0
  159. package/dist/dts/text-input/text-input.d.ts +154 -0
  160. package/dist/dts/text-input/text-input.definition.d.ts +10 -0
  161. package/dist/dts/text-input/text-input.options.d.ts +61 -0
  162. package/dist/dts/text-input/text-input.styles.d.ts +4 -0
  163. package/dist/dts/text-input/text-input.template.d.ts +7 -0
  164. package/dist/dts/theme/design-tokens.d.ts +384 -384
  165. package/dist/dts/theme/index.d.ts +2 -2
  166. package/dist/dts/theme/set-theme.d.ts +1 -0
  167. package/dist/dts/toggle-button/define.d.ts +1 -0
  168. package/dist/dts/toggle-button/index.d.ts +5 -0
  169. package/dist/dts/toggle-button/toggle-button.d.ts +48 -0
  170. package/dist/dts/toggle-button/toggle-button.definition.d.ts +8 -0
  171. package/dist/dts/toggle-button/toggle-button.options.d.ts +47 -0
  172. package/dist/dts/toggle-button/toggle-button.styles.d.ts +1 -0
  173. package/dist/dts/toggle-button/toggle-button.template.d.ts +7 -0
  174. package/dist/dts/utils/apply-mixins.d.ts +11 -0
  175. package/dist/dts/utils/benchmark-dependencies/tokens.d.ts +1 -0
  176. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  177. package/dist/dts/utils/direction.d.ts +10 -0
  178. package/dist/dts/utils/index.d.ts +4 -0
  179. package/dist/dts/utils/template-helpers.d.ts +16 -0
  180. package/dist/dts/utils/typings.d.ts +6 -0
  181. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  182. package/dist/esm/accordion/accordion.definition.js +0 -4
  183. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  184. package/dist/esm/accordion/accordion.js +216 -3
  185. package/dist/esm/accordion/accordion.js.map +1 -1
  186. package/dist/esm/accordion/accordion.options.js +9 -0
  187. package/dist/esm/accordion/accordion.options.js.map +1 -0
  188. package/dist/esm/accordion/accordion.styles.js +2 -1
  189. package/dist/esm/accordion/accordion.styles.js.map +1 -1
  190. package/dist/esm/accordion/accordion.template.js +11 -1
  191. package/dist/esm/accordion/accordion.template.js.map +1 -1
  192. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  193. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  194. package/dist/esm/accordion-item/accordion-item.js +86 -5
  195. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  196. package/dist/esm/accordion-item/accordion-item.styles.js +2 -1
  197. package/dist/esm/accordion-item/accordion-item.styles.js.map +1 -1
  198. package/dist/esm/accordion-item/accordion-item.template.js +49 -4
  199. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  200. package/dist/esm/anchor-button/anchor-button.definition.js +18 -0
  201. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -0
  202. package/dist/esm/anchor-button/anchor-button.js +146 -0
  203. package/dist/esm/anchor-button/anchor-button.js.map +1 -0
  204. package/dist/esm/anchor-button/anchor-button.options.js +28 -0
  205. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -0
  206. package/dist/esm/anchor-button/anchor-button.styles.js +11 -0
  207. package/dist/esm/anchor-button/anchor-button.styles.js.map +1 -0
  208. package/dist/esm/anchor-button/anchor-button.template.js +55 -0
  209. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -0
  210. package/dist/esm/anchor-button/define.js +4 -0
  211. package/dist/esm/anchor-button/define.js.map +1 -0
  212. package/dist/esm/anchor-button/index.js +5 -0
  213. package/dist/esm/anchor-button/index.js.map +1 -0
  214. package/dist/esm/avatar/avatar.js +6 -1
  215. package/dist/esm/avatar/avatar.js.map +1 -1
  216. package/dist/esm/avatar/avatar.styles.js +6 -5
  217. package/dist/esm/avatar/avatar.styles.js.map +1 -1
  218. package/dist/esm/badge/badge.definition.js +0 -3
  219. package/dist/esm/badge/badge.definition.js.map +1 -1
  220. package/dist/esm/badge/badge.js +9 -2
  221. package/dist/esm/badge/badge.js.map +1 -1
  222. package/dist/esm/badge/badge.options.js.map +1 -1
  223. package/dist/esm/badge/badge.template.js +2 -1
  224. package/dist/esm/badge/badge.template.js.map +1 -1
  225. package/dist/esm/button/button.definition.js +18 -0
  226. package/dist/esm/button/button.definition.js.map +1 -0
  227. package/dist/esm/button/button.form-associated.js +14 -0
  228. package/dist/esm/button/button.form-associated.js.map +1 -0
  229. package/dist/esm/button/button.js +197 -0
  230. package/dist/esm/button/button.js.map +1 -0
  231. package/dist/esm/button/button.options.js +40 -0
  232. package/dist/esm/button/button.options.js.map +1 -0
  233. package/dist/esm/button/button.styles.js +260 -0
  234. package/dist/esm/button/button.styles.js.map +1 -0
  235. package/dist/esm/button/button.template.js +55 -0
  236. package/dist/esm/button/button.template.js.map +1 -0
  237. package/dist/esm/button/define.js +4 -0
  238. package/dist/esm/button/define.js.map +1 -0
  239. package/dist/esm/button/index.js +6 -0
  240. package/dist/esm/button/index.js.map +1 -0
  241. package/dist/esm/checkbox/checkbox.definition.js +17 -0
  242. package/dist/esm/checkbox/checkbox.definition.js.map +1 -0
  243. package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
  244. package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
  245. package/dist/esm/checkbox/checkbox.js +82 -0
  246. package/dist/esm/checkbox/checkbox.js.map +1 -0
  247. package/dist/esm/checkbox/checkbox.options.js +25 -0
  248. package/dist/esm/checkbox/checkbox.options.js.map +1 -0
  249. package/dist/esm/checkbox/checkbox.styles.js +164 -0
  250. package/dist/esm/checkbox/checkbox.styles.js.map +1 -0
  251. package/dist/esm/checkbox/checkbox.template.js +55 -0
  252. package/dist/esm/checkbox/checkbox.template.js.map +1 -0
  253. package/dist/esm/checkbox/define.js +4 -0
  254. package/dist/esm/checkbox/define.js.map +1 -0
  255. package/dist/esm/checkbox/index.js +6 -0
  256. package/dist/esm/checkbox/index.js.map +1 -0
  257. package/dist/esm/compound-button/compound-button.definition.js +18 -0
  258. package/dist/esm/compound-button/compound-button.definition.js.map +1 -0
  259. package/dist/esm/compound-button/compound-button.js +8 -0
  260. package/dist/esm/compound-button/compound-button.js.map +1 -0
  261. package/dist/esm/compound-button/compound-button.options.js +17 -0
  262. package/dist/esm/compound-button/compound-button.options.js.map +1 -0
  263. package/dist/esm/compound-button/compound-button.styles.js +105 -0
  264. package/dist/esm/compound-button/compound-button.styles.js.map +1 -0
  265. package/dist/esm/compound-button/compound-button.template.js +60 -0
  266. package/dist/esm/compound-button/compound-button.template.js.map +1 -0
  267. package/dist/esm/compound-button/define.js +4 -0
  268. package/dist/esm/compound-button/define.js.map +1 -0
  269. package/dist/esm/compound-button/index.js +6 -0
  270. package/dist/esm/compound-button/index.js.map +1 -0
  271. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  272. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  273. package/dist/esm/counter-badge/counter-badge.js +9 -2
  274. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  275. package/dist/esm/dialog/define.js +4 -0
  276. package/dist/esm/dialog/define.js.map +1 -0
  277. package/dist/esm/dialog/dialog.definition.js +17 -0
  278. package/dist/esm/dialog/dialog.definition.js.map +1 -0
  279. package/dist/esm/dialog/dialog.js +370 -0
  280. package/dist/esm/dialog/dialog.js.map +1 -0
  281. package/dist/esm/dialog/dialog.options.js +10 -0
  282. package/dist/esm/dialog/dialog.options.js.map +1 -0
  283. package/dist/esm/dialog/dialog.styles.js +102 -0
  284. package/dist/esm/dialog/dialog.styles.js.map +1 -0
  285. package/dist/esm/dialog/dialog.template.js +61 -0
  286. package/dist/esm/dialog/dialog.template.js.map +1 -0
  287. package/dist/esm/dialog/index.js +5 -0
  288. package/dist/esm/dialog/index.js.map +1 -0
  289. package/dist/esm/divider/divider.js +35 -5
  290. package/dist/esm/divider/divider.js.map +1 -1
  291. package/dist/esm/divider/divider.options.js +14 -5
  292. package/dist/esm/divider/divider.options.js.map +1 -1
  293. package/dist/esm/divider/divider.styles.js +18 -2
  294. package/dist/esm/divider/divider.styles.js.map +1 -1
  295. package/dist/esm/divider/divider.template.js +12 -1
  296. package/dist/esm/divider/divider.template.js.map +1 -1
  297. package/dist/esm/form-associated/form-associated.js +458 -0
  298. package/dist/esm/form-associated/form-associated.js.map +1 -0
  299. package/dist/esm/helpers.tests.js +29 -0
  300. package/dist/esm/helpers.tests.js.map +1 -0
  301. package/dist/esm/image/image.js +6 -1
  302. package/dist/esm/image/image.js.map +1 -1
  303. package/dist/esm/image/image.styles.js +8 -1
  304. package/dist/esm/image/image.styles.js.map +1 -1
  305. package/dist/esm/index.js +19 -0
  306. package/dist/esm/index.js.map +1 -1
  307. package/dist/esm/label/define.js +4 -0
  308. package/dist/esm/label/define.js.map +1 -0
  309. package/dist/esm/label/index.js +5 -0
  310. package/dist/esm/label/index.js.map +1 -0
  311. package/dist/esm/label/label.definition.js +18 -0
  312. package/dist/esm/label/label.definition.js.map +1 -0
  313. package/dist/esm/label/label.js +45 -0
  314. package/dist/esm/label/label.js.map +1 -0
  315. package/dist/esm/label/label.options.js +16 -0
  316. package/dist/esm/label/label.options.js.map +1 -0
  317. package/dist/esm/label/label.styles.js +38 -0
  318. package/dist/esm/label/label.styles.js.map +1 -0
  319. package/dist/esm/label/label.template.js +13 -0
  320. package/dist/esm/label/label.template.js.map +1 -0
  321. package/dist/esm/menu/define.js +4 -0
  322. package/dist/esm/menu/define.js.map +1 -0
  323. package/dist/esm/menu/index.js +5 -0
  324. package/dist/esm/menu/index.js.map +1 -0
  325. package/dist/esm/menu/menu.definition.js +17 -0
  326. package/dist/esm/menu/menu.definition.js.map +1 -0
  327. package/dist/esm/menu/menu.js +413 -0
  328. package/dist/esm/menu/menu.js.map +1 -0
  329. package/dist/esm/menu/menu.styles.js +17 -0
  330. package/dist/esm/menu/menu.styles.js.map +1 -0
  331. package/dist/esm/menu/menu.template.js +24 -0
  332. package/dist/esm/menu/menu.template.js.map +1 -0
  333. package/dist/esm/menu-button/define.js +4 -0
  334. package/dist/esm/menu-button/define.js.map +1 -0
  335. package/dist/esm/menu-button/index.js +6 -0
  336. package/dist/esm/menu-button/index.js.map +1 -0
  337. package/dist/esm/menu-button/menu-button.definition.js +18 -0
  338. package/dist/esm/menu-button/menu-button.definition.js.map +1 -0
  339. package/dist/esm/menu-button/menu-button.js +8 -0
  340. package/dist/esm/menu-button/menu-button.js.map +1 -0
  341. package/dist/esm/menu-button/menu-button.options.js +17 -0
  342. package/dist/esm/menu-button/menu-button.options.js.map +1 -0
  343. package/dist/esm/menu-button/menu-button.template.js +10 -0
  344. package/dist/esm/menu-button/menu-button.template.js.map +1 -0
  345. package/dist/esm/menu-item/define.js +4 -0
  346. package/dist/esm/menu-item/define.js.map +1 -0
  347. package/dist/esm/menu-item/index.js +5 -0
  348. package/dist/esm/menu-item/index.js.map +1 -0
  349. package/dist/esm/menu-item/menu-item.definition.js +15 -0
  350. package/dist/esm/menu-item/menu-item.definition.js.map +1 -0
  351. package/dist/esm/menu-item/menu-item.js +275 -0
  352. package/dist/esm/menu-item/menu-item.js.map +1 -0
  353. package/dist/esm/menu-item/menu-item.options.js +27 -0
  354. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  355. package/dist/esm/menu-item/menu-item.styles.js +183 -0
  356. package/dist/esm/menu-item/menu-item.styles.js.map +1 -0
  357. package/dist/esm/menu-item/menu-item.template.js +65 -0
  358. package/dist/esm/menu-item/menu-item.template.js.map +1 -0
  359. package/dist/esm/menu-list/define.js +4 -0
  360. package/dist/esm/menu-list/define.js.map +1 -0
  361. package/dist/esm/menu-list/index.js +5 -0
  362. package/dist/esm/menu-list/index.js.map +1 -0
  363. package/dist/esm/menu-list/menu-list.definition.js +15 -0
  364. package/dist/esm/menu-list/menu-list.definition.js.map +1 -0
  365. package/dist/esm/menu-list/menu-list.js +291 -0
  366. package/dist/esm/menu-list/menu-list.js.map +1 -0
  367. package/dist/esm/menu-list/menu-list.styles.js +24 -0
  368. package/dist/esm/menu-list/menu-list.styles.js.map +1 -0
  369. package/dist/esm/menu-list/menu-list.template.js +15 -0
  370. package/dist/esm/menu-list/menu-list.template.js.map +1 -0
  371. package/dist/esm/patterns/aria-globals.js +77 -0
  372. package/dist/esm/patterns/aria-globals.js.map +1 -0
  373. package/dist/esm/patterns/index.js +3 -0
  374. package/dist/esm/patterns/index.js.map +1 -0
  375. package/dist/esm/patterns/start-end.js +29 -0
  376. package/dist/esm/patterns/start-end.js.map +1 -0
  377. package/dist/esm/progress-bar/base-progress.js +61 -0
  378. package/dist/esm/progress-bar/base-progress.js.map +1 -0
  379. package/dist/esm/progress-bar/progress-bar.js +16 -4
  380. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  381. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  382. package/dist/esm/progress-bar/progress-bar.styles.js +20 -3
  383. package/dist/esm/progress-bar/progress-bar.styles.js.map +1 -1
  384. package/dist/esm/progress-bar/progress-bar.template.js +25 -1
  385. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  386. package/dist/esm/progress-ring/progress-ring.js +16 -0
  387. package/dist/esm/progress-ring/progress-ring.js.map +1 -0
  388. package/dist/esm/progress-ring/progress-ring.options.js +2 -0
  389. package/dist/esm/progress-ring/progress-ring.options.js.map +1 -0
  390. package/dist/esm/radio/define.js +4 -0
  391. package/dist/esm/radio/define.js.map +1 -0
  392. package/dist/esm/radio/index.js +5 -0
  393. package/dist/esm/radio/index.js.map +1 -0
  394. package/dist/esm/radio/radio.definition.js +18 -0
  395. package/dist/esm/radio/radio.definition.js.map +1 -0
  396. package/dist/esm/radio/radio.form-associated.js +14 -0
  397. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  398. package/dist/esm/radio/radio.js +101 -0
  399. package/dist/esm/radio/radio.js.map +1 -0
  400. package/dist/esm/radio/radio.styles.js +118 -0
  401. package/dist/esm/radio/radio.styles.js.map +1 -0
  402. package/dist/esm/radio/radio.template.js +32 -0
  403. package/dist/esm/radio/radio.template.js.map +1 -0
  404. package/dist/esm/radio-group/define.js +4 -0
  405. package/dist/esm/radio-group/define.js.map +1 -0
  406. package/dist/esm/radio-group/index.js +5 -0
  407. package/dist/esm/radio-group/index.js.map +1 -0
  408. package/dist/esm/radio-group/radio-group.definition.js +18 -0
  409. package/dist/esm/radio-group/radio-group.definition.js.map +1 -0
  410. package/dist/esm/radio-group/radio-group.js +372 -0
  411. package/dist/esm/radio-group/radio-group.js.map +1 -0
  412. package/dist/esm/radio-group/radio-group.options.js +7 -0
  413. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  414. package/dist/esm/radio-group/radio-group.styles.js +52 -0
  415. package/dist/esm/radio-group/radio-group.styles.js.map +1 -0
  416. package/dist/esm/radio-group/radio-group.template.js +32 -0
  417. package/dist/esm/radio-group/radio-group.template.js.map +1 -0
  418. package/dist/esm/slider/define.js +4 -0
  419. package/dist/esm/slider/define.js.map +1 -0
  420. package/dist/esm/slider/index.js +6 -0
  421. package/dist/esm/slider/index.js.map +1 -0
  422. package/dist/esm/slider/slider-utilities.js +12 -0
  423. package/dist/esm/slider/slider-utilities.js.map +1 -0
  424. package/dist/esm/slider/slider.definition.js +18 -0
  425. package/dist/esm/slider/slider.definition.js.map +1 -0
  426. package/dist/esm/slider/slider.form-associated.js +14 -0
  427. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  428. package/dist/esm/slider/slider.js +480 -0
  429. package/dist/esm/slider/slider.js.map +1 -0
  430. package/dist/esm/slider/slider.options.js +20 -0
  431. package/dist/esm/slider/slider.options.js.map +1 -0
  432. package/dist/esm/slider/slider.styles.js +203 -0
  433. package/dist/esm/slider/slider.styles.js.map +1 -0
  434. package/dist/esm/slider/slider.template.js +42 -0
  435. package/dist/esm/slider/slider.template.js.map +1 -0
  436. package/dist/esm/spinner/spinner.definition.js +0 -4
  437. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  438. package/dist/esm/spinner/spinner.js +8 -3
  439. package/dist/esm/spinner/spinner.js.map +1 -1
  440. package/dist/esm/spinner/spinner.styles.js +2 -1
  441. package/dist/esm/spinner/spinner.styles.js.map +1 -1
  442. package/dist/esm/spinner/spinner.template.js +27 -1
  443. package/dist/esm/spinner/spinner.template.js.map +1 -1
  444. package/dist/esm/styles/partials/badge.partials.js +5 -4
  445. package/dist/esm/styles/partials/badge.partials.js.map +1 -1
  446. package/dist/esm/switch/index.js +3 -3
  447. package/dist/esm/switch/index.js.map +1 -1
  448. package/dist/esm/switch/switch.form-associated.js +14 -0
  449. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  450. package/dist/esm/switch/switch.js +54 -4
  451. package/dist/esm/switch/switch.js.map +1 -1
  452. package/dist/esm/switch/switch.styles.js +33 -5
  453. package/dist/esm/switch/switch.styles.js.map +1 -1
  454. package/dist/esm/switch/switch.template.js +25 -1
  455. package/dist/esm/switch/switch.template.js.map +1 -1
  456. package/dist/esm/tab/define.js +4 -0
  457. package/dist/esm/tab/define.js.map +1 -0
  458. package/dist/esm/tab/index.js +5 -0
  459. package/dist/esm/tab/index.js.map +1 -0
  460. package/dist/esm/tab/tab.definition.js +10 -0
  461. package/dist/esm/tab/tab.definition.js.map +1 -0
  462. package/dist/esm/tab/tab.js +31 -0
  463. package/dist/esm/tab/tab.js.map +1 -0
  464. package/dist/esm/tab/tab.styles.js +98 -0
  465. package/dist/esm/tab/tab.styles.js.map +1 -0
  466. package/dist/esm/tab/tab.template.js +13 -0
  467. package/dist/esm/tab/tab.template.js.map +1 -0
  468. package/dist/esm/tab-panel/define.js +4 -0
  469. package/dist/esm/tab-panel/define.js.map +1 -0
  470. package/dist/esm/tab-panel/index.js +5 -0
  471. package/dist/esm/tab-panel/index.js.map +1 -0
  472. package/dist/esm/tab-panel/tab-panel.definition.js +10 -0
  473. package/dist/esm/tab-panel/tab-panel.definition.js.map +1 -0
  474. package/dist/esm/tab-panel/tab-panel.js +4 -0
  475. package/dist/esm/tab-panel/tab-panel.js.map +1 -0
  476. package/dist/esm/tab-panel/tab-panel.styles.js +12 -0
  477. package/dist/esm/tab-panel/tab-panel.styles.js.map +1 -0
  478. package/dist/esm/tab-panel/tab-panel.template.js +10 -0
  479. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -0
  480. package/dist/esm/tabs/define.js +4 -0
  481. package/dist/esm/tabs/define.js.map +1 -0
  482. package/dist/esm/tabs/index.js +6 -0
  483. package/dist/esm/tabs/index.js.map +1 -0
  484. package/dist/esm/tabs/tabs.definition.js +10 -0
  485. package/dist/esm/tabs/tabs.definition.js.map +1 -0
  486. package/dist/esm/tabs/tabs.js +436 -0
  487. package/dist/esm/tabs/tabs.js.map +1 -0
  488. package/dist/esm/tabs/tabs.options.js +16 -0
  489. package/dist/esm/tabs/tabs.options.js.map +1 -0
  490. package/dist/esm/tabs/tabs.styles.js +230 -0
  491. package/dist/esm/tabs/tabs.styles.js.map +1 -0
  492. package/dist/esm/tabs/tabs.template.js +16 -0
  493. package/dist/esm/tabs/tabs.template.js.map +1 -0
  494. package/dist/esm/text/text.js +6 -1
  495. package/dist/esm/text/text.js.map +1 -1
  496. package/dist/esm/text/text.styles.js +8 -2
  497. package/dist/esm/text/text.styles.js.map +1 -1
  498. package/dist/esm/text-input/define.js +4 -0
  499. package/dist/esm/text-input/define.js.map +1 -0
  500. package/dist/esm/text-input/index.js +6 -0
  501. package/dist/esm/text-input/index.js.map +1 -0
  502. package/dist/esm/text-input/text-field.form-associated.js +14 -0
  503. package/dist/esm/text-input/text-field.form-associated.js.map +1 -0
  504. package/dist/esm/text-input/text-input.definition.js +18 -0
  505. package/dist/esm/text-input/text-input.definition.js.map +1 -0
  506. package/dist/esm/text-input/text-input.js +181 -0
  507. package/dist/esm/text-input/text-input.js.map +1 -0
  508. package/dist/esm/text-input/text-input.options.js +46 -0
  509. package/dist/esm/text-input/text-input.options.js.map +1 -0
  510. package/dist/esm/text-input/text-input.styles.js +200 -0
  511. package/dist/esm/text-input/text-input.styles.js.map +1 -0
  512. package/dist/esm/text-input/text-input.template.js +69 -0
  513. package/dist/esm/text-input/text-input.template.js.map +1 -0
  514. package/dist/esm/theme/design-tokens.js +385 -386
  515. package/dist/esm/theme/design-tokens.js.map +1 -1
  516. package/dist/esm/theme/index.js +2 -2
  517. package/dist/esm/theme/index.js.map +1 -1
  518. package/dist/esm/theme/set-theme.js +6 -1
  519. package/dist/esm/theme/set-theme.js.map +1 -1
  520. package/dist/esm/toggle-button/define.js +4 -0
  521. package/dist/esm/toggle-button/define.js.map +1 -0
  522. package/dist/esm/toggle-button/index.js +6 -0
  523. package/dist/esm/toggle-button/index.js.map +1 -0
  524. package/dist/esm/toggle-button/toggle-button.definition.js +19 -0
  525. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -0
  526. package/dist/esm/toggle-button/toggle-button.js +107 -0
  527. package/dist/esm/toggle-button/toggle-button.js.map +1 -0
  528. package/dist/esm/toggle-button/toggle-button.options.js +17 -0
  529. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -0
  530. package/dist/esm/toggle-button/toggle-button.styles.js +94 -0
  531. package/dist/esm/toggle-button/toggle-button.styles.js.map +1 -0
  532. package/dist/esm/toggle-button/toggle-button.template.js +7 -0
  533. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -0
  534. package/dist/esm/utils/apply-mixins.js +26 -0
  535. package/dist/esm/utils/apply-mixins.js.map +1 -0
  536. package/dist/esm/utils/benchmark-dependencies/tokens.js +2 -0
  537. package/dist/esm/utils/benchmark-dependencies/tokens.js.map +1 -0
  538. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  539. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  540. package/dist/esm/utils/direction.js +15 -0
  541. package/dist/esm/utils/direction.js.map +1 -0
  542. package/dist/esm/utils/index.js +5 -0
  543. package/dist/esm/utils/index.js.map +1 -0
  544. package/dist/esm/utils/template-helpers.js +19 -0
  545. package/dist/esm/utils/template-helpers.js.map +1 -0
  546. package/dist/esm/utils/typings.js +3 -0
  547. package/dist/esm/utils/typings.js.map +1 -0
  548. package/dist/esm/utils/whitespace-filter.js +13 -0
  549. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  550. package/dist/fluent-web-components.api.json +18374 -7750
  551. package/dist/storybook/108.78b731e00015540915a8.manager.bundle.js +1 -0
  552. package/dist/storybook/108.b31ec3a1.iframe.bundle.js +1 -0
  553. package/dist/storybook/284.0946b1fb.iframe.bundle.js +2 -0
  554. package/dist/storybook/284.0946b1fb.iframe.bundle.js.LICENSE.txt +51 -0
  555. package/dist/storybook/316.bc4aabd3.iframe.bundle.js +2 -0
  556. package/dist/storybook/316.bc4aabd3.iframe.bundle.js.LICENSE.txt +17 -0
  557. package/dist/storybook/401.7edec720.iframe.bundle.js +2 -0
  558. package/dist/storybook/401.7edec720.iframe.bundle.js.LICENSE.txt +12 -0
  559. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js +2 -0
  560. package/dist/storybook/401.c9bdfaf0dda8b194127f.manager.bundle.js.LICENSE.txt +12 -0
  561. package/dist/storybook/491.77b24750.iframe.bundle.js +1 -0
  562. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js +2 -0
  563. package/dist/storybook/591.f5bf0d78d2f203de19f5.manager.bundle.js.LICENSE.txt +94 -0
  564. package/dist/storybook/709.22096ad4.iframe.bundle.js +2 -0
  565. package/dist/storybook/709.22096ad4.iframe.bundle.js.LICENSE.txt +8 -0
  566. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js +2 -0
  567. package/dist/storybook/709.b131e33993a6b94d7ad8.manager.bundle.js.LICENSE.txt +8 -0
  568. package/dist/storybook/721.46fa9f53.iframe.bundle.js +2 -0
  569. package/dist/storybook/721.46fa9f53.iframe.bundle.js.LICENSE.txt +31 -0
  570. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js +2 -0
  571. package/dist/storybook/721.c225c101a0a55a8f98eb.manager.bundle.js.LICENSE.txt +31 -0
  572. package/dist/storybook/858.da40ed98.iframe.bundle.js +1 -0
  573. package/dist/storybook/858.e08e25a6901d2e21e9d8.manager.bundle.js +1 -0
  574. package/dist/storybook/950.674e7934b4a26a022608.manager.bundle.js +1 -0
  575. package/dist/storybook/954.630c5748.iframe.bundle.js +1 -0
  576. package/dist/storybook/954.7f985e2fdf9f15a7748b.manager.bundle.js +1 -0
  577. package/dist/storybook/SegoeUI-VF.ttf +0 -0
  578. package/dist/storybook/favicon.ico +0 -0
  579. package/dist/storybook/favicon.png +0 -0
  580. package/dist/storybook/iframe.html +364 -0
  581. package/dist/storybook/index.html +165 -0
  582. package/dist/storybook/main.5d7b916dc1e37293b1d8.manager.bundle.js +1 -0
  583. package/dist/storybook/main.b9de79ac.iframe.bundle.js +2 -0
  584. package/dist/storybook/main.b9de79ac.iframe.bundle.js.LICENSE.txt +1 -0
  585. package/dist/storybook/project.json +1 -0
  586. package/dist/storybook/runtime~main.5d918fe7.iframe.bundle.js +1 -0
  587. package/dist/storybook/runtime~main.dbf00b470fe610082919.manager.bundle.js +1 -0
  588. package/dist/storybook/shell.css +83 -0
  589. package/dist/storybook/theme-switch.ts +13 -0
  590. package/dist/web-components.d.ts +4414 -917
  591. package/dist/web-components.js +6209 -3672
  592. package/dist/web-components.min.js +185 -115
  593. package/docs/api-report.md +1583 -434
  594. package/package.json +142 -63
  595. package/playwright.config.ts +25 -0
  596. package/tensile.config.js +24 -0
  597. package/CHANGELOG.json +0 -2935
  598. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,458 @@
1
+ import { attr, booleanConverter, emptyArray, observable, Updates } from '@microsoft/fast-element';
2
+ import { keyEnter } from '@microsoft/fast-web-utilities';
3
+ const proxySlotName = 'form-associated-proxy';
4
+ const ElementInternalsKey = 'ElementInternals';
5
+ /**
6
+ * @alpha
7
+ */
8
+ export const supportsElementInternals = ElementInternalsKey in window && 'setFormValue' in window[ElementInternalsKey].prototype;
9
+ const InternalsMap = new WeakMap();
10
+ /**
11
+ * Base function for providing Custom Element Form Association.
12
+ *
13
+ * @beta
14
+ */
15
+ export function FormAssociated(BaseCtor) {
16
+ const C = class extends BaseCtor {
17
+ constructor(...args) {
18
+ super(...args);
19
+ /**
20
+ * Track whether the value has been changed from the initial value
21
+ */
22
+ this.dirtyValue = false;
23
+ /**
24
+ * The initial value of the form. This value sets the `value` property
25
+ * only when the `value` property has not been explicitly set.
26
+ *
27
+ * @remarks
28
+ * HTML Attribute: value
29
+ */
30
+ this.initialValue = '';
31
+ /**
32
+ * Sets the element's disabled state. A disabled element will not be included during form submission.
33
+ *
34
+ * @remarks
35
+ * HTML Attribute: disabled
36
+ */
37
+ this.disabled = false;
38
+ /**
39
+ * These are events that are still fired by the proxy
40
+ * element based on user / programmatic interaction.
41
+ *
42
+ * The proxy implementation should be transparent to
43
+ * the app author, so block these events from emitting.
44
+ */
45
+ this.proxyEventsToBlock = ['change', 'click'];
46
+ this.proxyInitialized = false;
47
+ this.required = false;
48
+ this.initialValue = this.initialValue || '';
49
+ if (!this.elementInternals) {
50
+ // When elementInternals is not supported, formResetCallback is
51
+ // bound to an event listener, so ensure the handler's `this`
52
+ // context is correct.
53
+ this.formResetCallback = this.formResetCallback.bind(this);
54
+ }
55
+ }
56
+ /**
57
+ * Must evaluate to true to enable elementInternals.
58
+ * Feature detects API support and resolve respectively
59
+ *
60
+ * @internal
61
+ */
62
+ static get formAssociated() {
63
+ return supportsElementInternals;
64
+ }
65
+ /**
66
+ * Returns the validity state of the element
67
+ *
68
+ * @beta
69
+ */
70
+ get validity() {
71
+ return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
72
+ }
73
+ /**
74
+ * Retrieve a reference to the associated form.
75
+ * Returns null if not associated to any form.
76
+ *
77
+ * @beta
78
+ */
79
+ get form() {
80
+ return this.elementInternals ? this.elementInternals.form : this.proxy.form;
81
+ }
82
+ /**
83
+ * Retrieve the localized validation message,
84
+ * or custom validation message if set.
85
+ *
86
+ * @beta
87
+ */
88
+ get validationMessage() {
89
+ return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
90
+ }
91
+ /**
92
+ * Whether the element will be validated when the
93
+ * form is submitted
94
+ */
95
+ get willValidate() {
96
+ return this.elementInternals ? this.elementInternals.willValidate : this.proxy.willValidate;
97
+ }
98
+ /**
99
+ * A reference to all associated label elements
100
+ */
101
+ get labels() {
102
+ if (this.elementInternals) {
103
+ return Object.freeze(Array.from(this.elementInternals.labels));
104
+ }
105
+ else if (this.proxy instanceof HTMLElement && this.proxy.ownerDocument && this.id) {
106
+ // Labels associated by wrapping the element: <label><custom-element></custom-element></label>
107
+ const parentLabels = this.proxy.labels;
108
+ // Labels associated using the `for` attribute
109
+ const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));
110
+ const labels = parentLabels ? forLabels.concat(Array.from(parentLabels)) : forLabels;
111
+ return Object.freeze(labels);
112
+ }
113
+ else {
114
+ return emptyArray;
115
+ }
116
+ }
117
+ /**
118
+ * Invoked when the `value` property changes
119
+ * @param previous - the previous value
120
+ * @param next - the new value
121
+ *
122
+ * @remarks
123
+ * If elements extending `FormAssociated` implement a `valueChanged` method
124
+ * They must be sure to invoke `super.valueChanged(previous, next)` to ensure
125
+ * proper functioning of `FormAssociated`
126
+ */
127
+ valueChanged(previous, next) {
128
+ this.dirtyValue = true;
129
+ if (this.proxy instanceof HTMLElement) {
130
+ this.proxy.value = this.value;
131
+ }
132
+ this.currentValue = this.value;
133
+ this.setFormValue(this.value);
134
+ this.validate();
135
+ }
136
+ currentValueChanged() {
137
+ this.value = this.currentValue;
138
+ }
139
+ /**
140
+ * Invoked when the `initialValue` property changes
141
+ *
142
+ * @param previous - the previous value
143
+ * @param next - the new value
144
+ *
145
+ * @remarks
146
+ * If elements extending `FormAssociated` implement a `initialValueChanged` method
147
+ * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
148
+ * proper functioning of `FormAssociated`
149
+ */
150
+ initialValueChanged(previous, next) {
151
+ // If the value is clean and the component is connected to the DOM
152
+ // then set value equal to the attribute value.
153
+ if (!this.dirtyValue) {
154
+ this.value = this.initialValue;
155
+ this.dirtyValue = false;
156
+ }
157
+ }
158
+ /**
159
+ * Invoked when the `disabled` property changes
160
+ *
161
+ * @param previous - the previous value
162
+ * @param next - the new value
163
+ *
164
+ * @remarks
165
+ * If elements extending `FormAssociated` implement a `disabledChanged` method
166
+ * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
167
+ * proper functioning of `FormAssociated`
168
+ */
169
+ disabledChanged(previous, next) {
170
+ if (this.proxy instanceof HTMLElement) {
171
+ this.proxy.disabled = this.disabled;
172
+ }
173
+ Updates.enqueue(() => this.classList.toggle('disabled', this.disabled));
174
+ }
175
+ /**
176
+ * Invoked when the `name` property changes
177
+ *
178
+ * @param previous - the previous value
179
+ * @param next - the new value
180
+ *
181
+ * @remarks
182
+ * If elements extending `FormAssociated` implement a `nameChanged` method
183
+ * They must be sure to invoke `super.nameChanged(previous, next)` to ensure
184
+ * proper functioning of `FormAssociated`
185
+ */
186
+ nameChanged(previous, next) {
187
+ if (this.proxy instanceof HTMLElement) {
188
+ this.proxy.name = this.name;
189
+ }
190
+ }
191
+ /**
192
+ * Invoked when the `required` property changes
193
+ *
194
+ * @param previous - the previous value
195
+ * @param next - the new value
196
+ *
197
+ * @remarks
198
+ * If elements extending `FormAssociated` implement a `requiredChanged` method
199
+ * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
200
+ * proper functioning of `FormAssociated`
201
+ */
202
+ requiredChanged(prev, next) {
203
+ if (this.proxy instanceof HTMLElement) {
204
+ this.proxy.required = this.required;
205
+ }
206
+ Updates.enqueue(() => this.classList.toggle('required', this.required));
207
+ this.validate();
208
+ }
209
+ /**
210
+ * The element internals object. Will only exist
211
+ * in browsers supporting the attachInternals API
212
+ */
213
+ get elementInternals() {
214
+ if (!supportsElementInternals) {
215
+ return null;
216
+ }
217
+ let internals = InternalsMap.get(this);
218
+ if (!internals) {
219
+ internals = this.attachInternals();
220
+ InternalsMap.set(this, internals);
221
+ }
222
+ return internals;
223
+ }
224
+ /**
225
+ * @internal
226
+ */
227
+ connectedCallback() {
228
+ super.connectedCallback();
229
+ this.addEventListener('keypress', this._keypressHandler);
230
+ if (!this.value) {
231
+ this.value = this.initialValue;
232
+ this.dirtyValue = false;
233
+ }
234
+ if (!this.elementInternals) {
235
+ this.attachProxy();
236
+ if (this.form) {
237
+ this.form.addEventListener('reset', this.formResetCallback);
238
+ }
239
+ }
240
+ }
241
+ /**
242
+ * @internal
243
+ */
244
+ disconnectedCallback() {
245
+ this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));
246
+ if (!this.elementInternals && this.form) {
247
+ this.form.removeEventListener('reset', this.formResetCallback);
248
+ }
249
+ }
250
+ /**
251
+ * Return the current validity of the element.
252
+ */
253
+ checkValidity() {
254
+ return this.elementInternals ? this.elementInternals.checkValidity() : this.proxy.checkValidity();
255
+ }
256
+ /**
257
+ * Return the current validity of the element.
258
+ * If false, fires an invalid event at the element.
259
+ */
260
+ reportValidity() {
261
+ return this.elementInternals ? this.elementInternals.reportValidity() : this.proxy.reportValidity();
262
+ }
263
+ /**
264
+ * Set the validity of the control. In cases when the elementInternals object is not
265
+ * available (and the proxy element is used to report validity), this function will
266
+ * do nothing unless a message is provided, at which point the setCustomValidity method
267
+ * of the proxy element will be invoked with the provided message.
268
+ * @param flags - Validity flags
269
+ * @param message - Optional message to supply
270
+ * @param anchor - Optional element used by UA to display an interactive validation UI
271
+ */
272
+ setValidity(flags, message, anchor) {
273
+ if (this.elementInternals) {
274
+ this.elementInternals.setValidity(flags, message, anchor);
275
+ }
276
+ else if (typeof message === 'string') {
277
+ this.proxy.setCustomValidity(message);
278
+ }
279
+ }
280
+ /**
281
+ * Invoked when a connected component's form or fieldset has its disabled
282
+ * state changed.
283
+ * @param disabled - the disabled value of the form / fieldset
284
+ */
285
+ formDisabledCallback(disabled) {
286
+ this.disabled = disabled;
287
+ }
288
+ formResetCallback() {
289
+ this.value = this.initialValue;
290
+ this.dirtyValue = false;
291
+ }
292
+ /**
293
+ * Attach the proxy element to the DOM
294
+ */
295
+ attachProxy() {
296
+ var _a;
297
+ if (!this.proxyInitialized) {
298
+ this.proxyInitialized = true;
299
+ this.proxy.style.display = 'none';
300
+ this.proxyEventsToBlock.forEach(name => this.proxy.addEventListener(name, this.stopPropagation));
301
+ // These are typically mapped to the proxy during
302
+ // property change callbacks, but during initialization
303
+ // on the initial call of the callback, the proxy is
304
+ // still undefined. We should find a better way to address this.
305
+ this.proxy.disabled = this.disabled;
306
+ this.proxy.required = this.required;
307
+ if (typeof this.name === 'string') {
308
+ this.proxy.name = this.name;
309
+ }
310
+ if (typeof this.value === 'string') {
311
+ this.proxy.value = this.value;
312
+ }
313
+ this.proxy.setAttribute('slot', proxySlotName);
314
+ this.proxySlot = document.createElement('slot');
315
+ this.proxySlot.setAttribute('name', proxySlotName);
316
+ }
317
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);
318
+ this.appendChild(this.proxy);
319
+ }
320
+ /**
321
+ * Detach the proxy element from the DOM
322
+ */
323
+ detachProxy() {
324
+ var _a;
325
+ this.removeChild(this.proxy);
326
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);
327
+ }
328
+ /** {@inheritDoc (FormAssociated:interface).validate} */
329
+ validate(anchor) {
330
+ if (this.proxy instanceof HTMLElement) {
331
+ this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);
332
+ }
333
+ }
334
+ /**
335
+ * Associates the provided value (and optional state) with the parent form.
336
+ * @param value - The value to set
337
+ * @param state - The state object provided to during session restores and when autofilling.
338
+ */
339
+ setFormValue(value, state) {
340
+ if (this.elementInternals) {
341
+ this.elementInternals.setFormValue(value, state || value);
342
+ }
343
+ }
344
+ _keypressHandler(e) {
345
+ switch (e.key) {
346
+ case keyEnter:
347
+ if (this.form instanceof HTMLFormElement) {
348
+ // Implicit submission
349
+ const defaultButton = this.form.querySelector('[type=submit]');
350
+ defaultButton === null || defaultButton === void 0 ? void 0 : defaultButton.click();
351
+ }
352
+ break;
353
+ }
354
+ }
355
+ /**
356
+ * Used to stop propagation of proxy element events
357
+ * @param e - Event object
358
+ */
359
+ stopPropagation(e) {
360
+ e.stopPropagation();
361
+ }
362
+ };
363
+ attr({ mode: 'boolean' })(C.prototype, 'disabled');
364
+ attr({ mode: 'fromView', attribute: 'value' })(C.prototype, 'initialValue');
365
+ attr({ attribute: 'current-value' })(C.prototype, 'currentValue');
366
+ attr(C.prototype, 'name');
367
+ attr({ mode: 'boolean' })(C.prototype, 'required');
368
+ observable(C.prototype, 'value');
369
+ return C;
370
+ }
371
+ /**
372
+ * Creates a checkable form associated component.
373
+ * @beta
374
+ */
375
+ export function CheckableFormAssociated(BaseCtor) {
376
+ class C extends FormAssociated(BaseCtor) {
377
+ }
378
+ class D extends C {
379
+ constructor(...args) {
380
+ super(args);
381
+ /**
382
+ * Tracks whether the "checked" property has been changed.
383
+ * This is necessary to provide consistent behavior with
384
+ * normal input checkboxes
385
+ */
386
+ this.dirtyChecked = false;
387
+ /**
388
+ * Provides the default checkedness of the input element
389
+ * Passed down to proxy
390
+ *
391
+ * @public
392
+ * @remarks
393
+ * HTML Attribute: checked
394
+ */
395
+ this.checkedAttribute = false;
396
+ /**
397
+ * The checked state of the control.
398
+ *
399
+ * @public
400
+ */
401
+ this.checked = false;
402
+ // Re-initialize dirtyChecked because initialization of other values
403
+ // causes it to become true
404
+ this.dirtyChecked = false;
405
+ }
406
+ checkedAttributeChanged() {
407
+ this.defaultChecked = this.checkedAttribute;
408
+ }
409
+ /**
410
+ * @internal
411
+ */
412
+ defaultCheckedChanged() {
413
+ if (!this.dirtyChecked) {
414
+ // Setting this.checked will cause us to enter a dirty state,
415
+ // but if we are clean when defaultChecked is changed, we want to stay
416
+ // in a clean state, so reset this.dirtyChecked
417
+ this.checked = this.defaultChecked;
418
+ this.dirtyChecked = false;
419
+ }
420
+ }
421
+ checkedChanged(prev, next) {
422
+ if (!this.dirtyChecked) {
423
+ this.dirtyChecked = true;
424
+ }
425
+ this.currentChecked = this.checked;
426
+ this.updateForm();
427
+ if (this.proxy instanceof HTMLInputElement) {
428
+ this.proxy.checked = this.checked;
429
+ }
430
+ if (prev !== undefined) {
431
+ this.$emit('change');
432
+ }
433
+ this.validate();
434
+ }
435
+ currentCheckedChanged(prev, next) {
436
+ this.checked = this.currentChecked;
437
+ }
438
+ updateForm() {
439
+ const value = this.checked ? this.value : null;
440
+ this.setFormValue(value, value);
441
+ }
442
+ connectedCallback() {
443
+ super.connectedCallback();
444
+ this.updateForm();
445
+ }
446
+ formResetCallback() {
447
+ super.formResetCallback();
448
+ this.checked = !!this.checkedAttribute;
449
+ this.dirtyChecked = false;
450
+ }
451
+ }
452
+ attr({ attribute: 'checked', mode: 'boolean' })(D.prototype, 'checkedAttribute');
453
+ attr({ attribute: 'current-checked', converter: booleanConverter })(D.prototype, 'currentChecked');
454
+ observable(D.prototype, 'defaultChecked');
455
+ observable(D.prototype, 'checked');
456
+ return D;
457
+ }
458
+ //# sourceMappingURL=form-associated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-associated.js","sourceRoot":"","sources":["../../../src/form-associated/form-associated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import qs from 'qs';
2
+ /**
3
+ * Returns a formatted URL for a given Storybook fixture.
4
+ *
5
+ * @param id - the Storybook fixture ID
6
+ * @param args - Story args
7
+ * @returns - the local URL for the Storybook fixture iframe
8
+ */
9
+ export function fixtureURL(id = 'debug--blank', args) {
10
+ const params = { id };
11
+ if (args) {
12
+ params.args = qs
13
+ .stringify(args, {
14
+ allowDots: true,
15
+ delimiter: ';',
16
+ format: 'RFC1738',
17
+ encode: false,
18
+ })
19
+ .replace(/=/g, ':')
20
+ .replace(/\//g, '--');
21
+ }
22
+ const url = qs.stringify(params, {
23
+ addQueryPrefix: true,
24
+ format: 'RFC1738',
25
+ encode: false,
26
+ });
27
+ return url;
28
+ }
29
+ //# sourceMappingURL=helpers.tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.tests.js","sourceRoot":"","sources":["../../src/helpers.tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,cAAc,EAAE,IAA0B;IAChF,MAAM,MAAM,GAAwB,EAAE,EAAE,EAAE,CAAC;IAC3C,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,IAAI,GAAG,EAAE;aACb,SAAS,CAAC,IAAI,EAAE;YACf,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;aACD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACzB;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE;QAC/B,cAAc,EAAE,IAAI;QACpB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,4 +1,9 @@
1
- import { __decorate } from "tslib";
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
+ };
2
7
  import { attr, FASTElement } from '@microsoft/fast-element';
3
8
  /**
4
9
  * The base class used for constucting a fluent image custom element
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/image/image.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;CA8CrC;AArCC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCACH;AASvB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uCACA;AAS1B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qCACF;AASxB;IADC,IAAI;kCACiB;AAStB;IADC,IAAI;oCACqB"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/image/image.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;CA8CrC;AArCC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCACH;AASvB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uCACA;AAS1B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qCACF;AASxB;IADC,IAAI;kCACiB;AAStB;IADC,IAAI;oCACqB"}
@@ -1,10 +1,14 @@
1
1
  import { css } from '@microsoft/fast-element';
2
- import { borderRadiusCircular, colorNeutralStroke2, shadow4, strokeWidthThin } from '../theme/design-tokens.js';
2
+ import { borderRadiusCircular, borderRadiusMedium, colorNeutralStroke2, shadow4, strokeWidthThin, } from '../theme/design-tokens.js';
3
3
  /** Image styles
4
4
  *
5
5
  * @public
6
6
  */
7
7
  export const styles = css `
8
+ :host {
9
+ contain: content;
10
+ }
11
+
8
12
  :host ::slotted(img) {
9
13
  box-sizing: border-box;
10
14
  min-height: 8px;
@@ -48,5 +52,8 @@ export const styles = css `
48
52
  :host([shape='circular']) ::slotted(img) {
49
53
  border-radius: ${borderRadiusCircular};
50
54
  }
55
+ :host([shape='rounded']) ::slotted(img) {
56
+ border-radius: ${borderRadiusMedium};
57
+ }
51
58
  `;
52
59
  //# sourceMappingURL=image.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.styles.js","sourceRoot":"","sources":["../../../src/image/image.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEhH;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;cAYX,eAAe,UAAU,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BxC,OAAO;;;qBAGJ,oBAAoB;;CAExC,CAAC"}
1
+ {"version":3,"file":"image.styles.js","sourceRoot":"","sources":["../../../src/image/image.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EACP,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;cAgBX,eAAe,UAAU,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2BxC,OAAO;;;qBAGJ,oBAAoB;;;qBAGpB,kBAAkB;;CAEtC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,13 +1,32 @@
1
1
  export * from './accordion/index.js';
2
2
  export * from './accordion-item/index.js';
3
+ export * from './anchor-button/index.js';
3
4
  export * from './avatar/index.js';
4
5
  export * from './badge/index.js';
6
+ export * from './button/index.js';
7
+ export * from './checkbox/index.js';
8
+ export * from './compound-button/index.js';
5
9
  export * from './counter-badge/index.js';
10
+ export * from './dialog/index.js';
6
11
  export * from './divider/index.js';
7
12
  export * from './image/index.js';
13
+ export * from './label/index.js';
14
+ export * from './menu/index.js';
15
+ export * from './menu-button/index.js';
16
+ export * from './menu-item/index.js';
17
+ export * from './menu-list/index.js';
8
18
  export * from './progress-bar/index.js';
19
+ export * from './radio/index.js';
20
+ export * from './radio-group/index.js';
21
+ export * from './slider/index.js';
9
22
  export * from './spinner/index.js';
10
23
  export * from './switch/index.js';
24
+ export * from './tabs/index.js';
25
+ export * from './tab/index.js';
26
+ export * from './tab-panel/index.js';
11
27
  export * from './text/index.js';
28
+ export * from './text-input/index.js';
29
+ export * from './toggle-button/index.js';
30
+ export * from './fluent-design-system.js';
12
31
  export * from './theme/index.js';
13
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './label.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/label/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './label.js';
2
+ export { definition as LabelDefinition } from './label.definition.js';
3
+ export { styles as LabelStyles } from './label.styles.js';
4
+ export { template as LabelTemplate } from './label.template.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/label/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { Label } from './label.js';
3
+ import { styles } from './label.styles.js';
4
+ import { template } from './label.template.js';
5
+ /**
6
+ * The Fluent Label Element.
7
+ *
8
+ *
9
+ * @public
10
+ * @remarks
11
+ * HTML Element: \<fluent-label\>
12
+ */
13
+ export const definition = Label.compose({
14
+ name: `${FluentDesignSystem.prefix}-label`,
15
+ template,
16
+ styles,
17
+ });
18
+ //# sourceMappingURL=label.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.definition.js","sourceRoot":"","sources":["../../../src/label/label.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;IACtC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,QAAQ;IAC1C,QAAQ;IACR,MAAM;CACP,CAAC,CAAC"}