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

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 (283) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/dts/accordion/accordion.d.ts +47 -3
  3. package/dist/dts/accordion/accordion.definition.d.ts +0 -4
  4. package/dist/dts/accordion/accordion.options.d.ts +14 -0
  5. package/dist/dts/accordion/accordion.template.d.ts +4 -0
  6. package/dist/dts/accordion-item/accordion-item.d.ts +78 -3
  7. package/dist/dts/accordion-item/accordion-item.definition.d.ts +0 -3
  8. package/dist/dts/accordion-item/accordion-item.options.d.ts +1 -1
  9. package/dist/dts/accordion-item/accordion-item.template.d.ts +2 -1
  10. package/dist/dts/anchor-button/anchor-button.d.ts +116 -4
  11. package/dist/dts/anchor-button/anchor-button.definition.d.ts +0 -3
  12. package/dist/dts/anchor-button/anchor-button.options.d.ts +19 -2
  13. package/dist/dts/anchor-button/anchor-button.template.d.ts +7 -2
  14. package/dist/dts/avatar/avatar.options.d.ts +1 -1
  15. package/dist/dts/badge/badge.d.ts +1 -1
  16. package/dist/dts/badge/badge.definition.d.ts +0 -3
  17. package/dist/dts/badge/badge.options.d.ts +2 -2
  18. package/dist/dts/button/button.d.ts +142 -4
  19. package/dist/dts/button/button.definition.d.ts +0 -3
  20. package/dist/dts/button/button.form-associated.d.ts +14 -0
  21. package/dist/dts/button/button.options.d.ts +24 -3
  22. package/dist/dts/button/button.template.d.ts +2 -0
  23. package/dist/dts/checkbox/checkbox.d.ts +46 -3
  24. package/dist/dts/checkbox/checkbox.form-associated.d.ts +14 -0
  25. package/dist/dts/checkbox/checkbox.options.d.ts +1 -1
  26. package/dist/dts/checkbox/checkbox.template.d.ts +6 -1
  27. package/dist/dts/compound-button/compound-button.definition.d.ts +0 -3
  28. package/dist/dts/compound-button/compound-button.options.d.ts +6 -6
  29. package/dist/dts/counter-badge/counter-badge.d.ts +1 -1
  30. package/dist/dts/counter-badge/counter-badge.definition.d.ts +0 -4
  31. package/dist/dts/counter-badge/counter-badge.options.d.ts +1 -1
  32. package/dist/dts/dialog/dialog.options.d.ts +1 -1
  33. package/dist/dts/divider/divider.d.ts +20 -4
  34. package/dist/dts/divider/divider.options.d.ts +30 -6
  35. package/dist/dts/divider/divider.template.d.ts +1 -0
  36. package/dist/dts/form-associated/form-associated.d.ts +178 -0
  37. package/dist/dts/image/image.options.d.ts +1 -1
  38. package/dist/dts/label/label.options.d.ts +1 -1
  39. package/dist/dts/menu-button/menu-button.definition.d.ts +0 -3
  40. package/dist/dts/menu-button/menu-button.options.d.ts +2 -2
  41. package/dist/dts/menu-item/menu-item.d.ts +161 -4
  42. package/dist/dts/menu-item/menu-item.definition.d.ts +0 -4
  43. package/dist/dts/menu-item/menu-item.options.d.ts +30 -0
  44. package/dist/dts/menu-item/menu-item.template.d.ts +2 -1
  45. package/dist/dts/menu-list/menu-list.d.ts +71 -4
  46. package/dist/dts/menu-list/menu-list.definition.d.ts +0 -4
  47. package/dist/dts/menu-list/menu-list.template.d.ts +1 -0
  48. package/dist/dts/patterns/aria-globals.d.ts +189 -0
  49. package/dist/dts/patterns/index.d.ts +2 -0
  50. package/dist/dts/patterns/start-end.d.ts +44 -0
  51. package/dist/dts/progress-bar/base-progress.d.ts +41 -0
  52. package/dist/dts/progress-bar/progress-bar.d.ts +11 -4
  53. package/dist/dts/progress-bar/progress-bar.options.d.ts +10 -1
  54. package/dist/dts/progress-bar/progress-bar.template.d.ts +2 -0
  55. package/dist/dts/progress-ring/progress-ring.d.ts +15 -0
  56. package/dist/dts/progress-ring/progress-ring.options.d.ts +9 -0
  57. package/dist/dts/radio/radio.d.ts +54 -3
  58. package/dist/dts/radio/radio.form-associated.d.ts +14 -0
  59. package/dist/dts/radio/radio.template.d.ts +2 -1
  60. package/dist/dts/radio-group/index.d.ts +0 -1
  61. package/dist/dts/radio-group/radio-group.d.ts +91 -2
  62. package/dist/dts/radio-group/radio-group.options.d.ts +17 -0
  63. package/dist/dts/radio-group/radio-group.template.d.ts +1 -0
  64. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  65. package/dist/dts/slider/slider.d.ts +195 -5
  66. package/dist/dts/slider/slider.form-associated.d.ts +14 -0
  67. package/dist/dts/slider/slider.options.d.ts +43 -2
  68. package/dist/dts/slider/slider.template.d.ts +4 -2
  69. package/dist/dts/spinner/spinner.d.ts +2 -2
  70. package/dist/dts/spinner/spinner.definition.d.ts +0 -4
  71. package/dist/dts/spinner/spinner.options.d.ts +1 -1
  72. package/dist/dts/spinner/spinner.template.d.ts +2 -0
  73. package/dist/dts/switch/switch.d.ts +34 -2
  74. package/dist/dts/switch/switch.form-associated.d.ts +14 -0
  75. package/dist/dts/switch/switch.options.d.ts +1 -1
  76. package/dist/dts/switch/switch.template.d.ts +2 -1
  77. package/dist/dts/tab/tab.d.ts +17 -2
  78. package/dist/dts/tab/tab.template.d.ts +3 -3
  79. package/dist/dts/tab-panel/tab-panel.d.ts +2 -2
  80. package/dist/dts/tab-panel/tab-panel.template.d.ts +4 -1
  81. package/dist/dts/tabs/tabs.d.ts +89 -4
  82. package/dist/dts/tabs/tabs.options.d.ts +21 -3
  83. package/dist/dts/tabs/tabs.template.d.ts +5 -1
  84. package/dist/dts/text/text.options.d.ts +1 -1
  85. package/dist/dts/text-input/index.d.ts +0 -1
  86. package/dist/dts/text-input/text-field.form-associated.d.ts +14 -0
  87. package/dist/dts/text-input/text-input.d.ts +134 -6
  88. package/dist/dts/text-input/text-input.options.d.ts +32 -1
  89. package/dist/dts/text-input/text-input.template.d.ts +2 -1
  90. package/dist/dts/toggle-button/toggle-button.definition.d.ts +0 -2
  91. package/dist/dts/toggle-button/toggle-button.options.d.ts +2 -2
  92. package/dist/dts/utils/direction.d.ts +10 -0
  93. package/dist/dts/utils/index.d.ts +4 -0
  94. package/dist/dts/utils/template-helpers.d.ts +16 -0
  95. package/dist/dts/utils/typings.d.ts +6 -0
  96. package/dist/dts/utils/whitespace-filter.d.ts +12 -0
  97. package/dist/esm/accordion/accordion.definition.js +0 -4
  98. package/dist/esm/accordion/accordion.definition.js.map +1 -1
  99. package/dist/esm/accordion/accordion.js +216 -3
  100. package/dist/esm/accordion/accordion.js.map +1 -1
  101. package/dist/esm/accordion/accordion.options.js +9 -0
  102. package/dist/esm/accordion/accordion.options.js.map +1 -0
  103. package/dist/esm/accordion/accordion.template.js +11 -1
  104. package/dist/esm/accordion/accordion.template.js.map +1 -1
  105. package/dist/esm/accordion-item/accordion-item.definition.js +0 -3
  106. package/dist/esm/accordion-item/accordion-item.definition.js.map +1 -1
  107. package/dist/esm/accordion-item/accordion-item.js +80 -4
  108. package/dist/esm/accordion-item/accordion-item.js.map +1 -1
  109. package/dist/esm/accordion-item/accordion-item.template.js +47 -2
  110. package/dist/esm/accordion-item/accordion-item.template.js.map +1 -1
  111. package/dist/esm/anchor-button/anchor-button.definition.js +0 -3
  112. package/dist/esm/anchor-button/anchor-button.definition.js.map +1 -1
  113. package/dist/esm/anchor-button/anchor-button.js +52 -4
  114. package/dist/esm/anchor-button/anchor-button.js.map +1 -1
  115. package/dist/esm/anchor-button/anchor-button.options.js +11 -0
  116. package/dist/esm/anchor-button/anchor-button.options.js.map +1 -1
  117. package/dist/esm/anchor-button/anchor-button.template.js +49 -1
  118. package/dist/esm/anchor-button/anchor-button.template.js.map +1 -1
  119. package/dist/esm/badge/badge.definition.js +0 -3
  120. package/dist/esm/badge/badge.definition.js.map +1 -1
  121. package/dist/esm/badge/badge.js +1 -1
  122. package/dist/esm/badge/badge.js.map +1 -1
  123. package/dist/esm/badge/badge.template.js +2 -2
  124. package/dist/esm/badge/badge.template.js.map +1 -1
  125. package/dist/esm/button/button.definition.js +0 -3
  126. package/dist/esm/button/button.definition.js.map +1 -1
  127. package/dist/esm/button/button.form-associated.js +14 -0
  128. package/dist/esm/button/button.form-associated.js.map +1 -0
  129. package/dist/esm/button/button.js +124 -4
  130. package/dist/esm/button/button.js.map +1 -1
  131. package/dist/esm/button/button.options.js +10 -0
  132. package/dist/esm/button/button.options.js.map +1 -1
  133. package/dist/esm/button/button.template.js +49 -1
  134. package/dist/esm/button/button.template.js.map +1 -1
  135. package/dist/esm/checkbox/checkbox.form-associated.js +14 -0
  136. package/dist/esm/checkbox/checkbox.form-associated.js.map +1 -0
  137. package/dist/esm/checkbox/checkbox.js +62 -4
  138. package/dist/esm/checkbox/checkbox.js.map +1 -1
  139. package/dist/esm/checkbox/checkbox.template.js +35 -7
  140. package/dist/esm/checkbox/checkbox.template.js.map +1 -1
  141. package/dist/esm/compound-button/compound-button.definition.js +0 -3
  142. package/dist/esm/compound-button/compound-button.definition.js.map +1 -1
  143. package/dist/esm/compound-button/compound-button.options.js.map +1 -1
  144. package/dist/esm/compound-button/compound-button.template.js +1 -1
  145. package/dist/esm/compound-button/compound-button.template.js.map +1 -1
  146. package/dist/esm/counter-badge/counter-badge.definition.js +0 -4
  147. package/dist/esm/counter-badge/counter-badge.definition.js.map +1 -1
  148. package/dist/esm/counter-badge/counter-badge.js +1 -1
  149. package/dist/esm/counter-badge/counter-badge.js.map +1 -1
  150. package/dist/esm/divider/divider.js +29 -4
  151. package/dist/esm/divider/divider.js.map +1 -1
  152. package/dist/esm/divider/divider.options.js +14 -5
  153. package/dist/esm/divider/divider.options.js.map +1 -1
  154. package/dist/esm/divider/divider.template.js +12 -1
  155. package/dist/esm/divider/divider.template.js.map +1 -1
  156. package/dist/esm/form-associated/form-associated.js +458 -0
  157. package/dist/esm/form-associated/form-associated.js.map +1 -0
  158. package/dist/esm/menu-button/menu-button.definition.js +0 -3
  159. package/dist/esm/menu-button/menu-button.definition.js.map +1 -1
  160. package/dist/esm/menu-button/menu-button.options.js.map +1 -1
  161. package/dist/esm/menu-button/menu-button.template.js +1 -1
  162. package/dist/esm/menu-button/menu-button.template.js.map +1 -1
  163. package/dist/esm/menu-item/menu-item.definition.js +0 -4
  164. package/dist/esm/menu-item/menu-item.definition.js.map +1 -1
  165. package/dist/esm/menu-item/menu-item.js +270 -4
  166. package/dist/esm/menu-item/menu-item.js.map +1 -1
  167. package/dist/esm/menu-item/menu-item.options.js +27 -0
  168. package/dist/esm/menu-item/menu-item.options.js.map +1 -0
  169. package/dist/esm/menu-item/menu-item.template.js +57 -2
  170. package/dist/esm/menu-item/menu-item.template.js.map +1 -1
  171. package/dist/esm/menu-list/menu-list.definition.js +0 -4
  172. package/dist/esm/menu-list/menu-list.definition.js.map +1 -1
  173. package/dist/esm/menu-list/menu-list.js +265 -10
  174. package/dist/esm/menu-list/menu-list.js.map +1 -1
  175. package/dist/esm/menu-list/menu-list.template.js +13 -1
  176. package/dist/esm/menu-list/menu-list.template.js.map +1 -1
  177. package/dist/esm/patterns/aria-globals.js +77 -0
  178. package/dist/esm/patterns/aria-globals.js.map +1 -0
  179. package/dist/esm/patterns/index.js +3 -0
  180. package/dist/esm/patterns/index.js.map +1 -0
  181. package/dist/esm/patterns/start-end.js +29 -0
  182. package/dist/esm/patterns/start-end.js.map +1 -0
  183. package/dist/esm/progress-bar/base-progress.js +61 -0
  184. package/dist/esm/progress-bar/base-progress.js.map +1 -0
  185. package/dist/esm/progress-bar/progress-bar.js +10 -3
  186. package/dist/esm/progress-bar/progress-bar.js.map +1 -1
  187. package/dist/esm/progress-bar/progress-bar.options.js.map +1 -1
  188. package/dist/esm/progress-bar/progress-bar.template.js +25 -1
  189. package/dist/esm/progress-bar/progress-bar.template.js.map +1 -1
  190. package/dist/esm/progress-ring/progress-ring.js +16 -0
  191. package/dist/esm/progress-ring/progress-ring.js.map +1 -0
  192. package/dist/esm/progress-ring/progress-ring.options.js +2 -0
  193. package/dist/esm/progress-ring/progress-ring.options.js.map +1 -0
  194. package/dist/esm/radio/radio.form-associated.js +14 -0
  195. package/dist/esm/radio/radio.form-associated.js.map +1 -0
  196. package/dist/esm/radio/radio.js +96 -3
  197. package/dist/esm/radio/radio.js.map +1 -1
  198. package/dist/esm/radio/radio.template.js +28 -2
  199. package/dist/esm/radio/radio.template.js.map +1 -1
  200. package/dist/esm/radio-group/index.js +0 -1
  201. package/dist/esm/radio-group/index.js.map +1 -1
  202. package/dist/esm/radio-group/radio-group.js +346 -3
  203. package/dist/esm/radio-group/radio-group.js.map +1 -1
  204. package/dist/esm/radio-group/radio-group.options.js +7 -0
  205. package/dist/esm/radio-group/radio-group.options.js.map +1 -0
  206. package/dist/esm/radio-group/radio-group.template.js +30 -1
  207. package/dist/esm/radio-group/radio-group.template.js.map +1 -1
  208. package/dist/esm/slider/slider-utilities.js +12 -0
  209. package/dist/esm/slider/slider-utilities.js.map +1 -0
  210. package/dist/esm/slider/slider.form-associated.js +14 -0
  211. package/dist/esm/slider/slider.form-associated.js.map +1 -0
  212. package/dist/esm/slider/slider.js +432 -16
  213. package/dist/esm/slider/slider.js.map +1 -1
  214. package/dist/esm/slider/slider.options.js +11 -1
  215. package/dist/esm/slider/slider.options.js.map +1 -1
  216. package/dist/esm/slider/slider.template.js +38 -1
  217. package/dist/esm/slider/slider.template.js.map +1 -1
  218. package/dist/esm/spinner/spinner.definition.js +0 -4
  219. package/dist/esm/spinner/spinner.definition.js.map +1 -1
  220. package/dist/esm/spinner/spinner.js +2 -2
  221. package/dist/esm/spinner/spinner.js.map +1 -1
  222. package/dist/esm/spinner/spinner.template.js +27 -1
  223. package/dist/esm/spinner/spinner.template.js.map +1 -1
  224. package/dist/esm/switch/switch.form-associated.js +14 -0
  225. package/dist/esm/switch/switch.form-associated.js.map +1 -0
  226. package/dist/esm/switch/switch.js +48 -3
  227. package/dist/esm/switch/switch.js.map +1 -1
  228. package/dist/esm/switch/switch.template.js +25 -1
  229. package/dist/esm/switch/switch.template.js.map +1 -1
  230. package/dist/esm/tab/tab.js +14 -3
  231. package/dist/esm/tab/tab.js.map +1 -1
  232. package/dist/esm/tab/tab.template.js +1 -1
  233. package/dist/esm/tab/tab.template.js.map +1 -1
  234. package/dist/esm/tab-panel/tab-panel.js +2 -2
  235. package/dist/esm/tab-panel/tab-panel.js.map +1 -1
  236. package/dist/esm/tab-panel/tab-panel.template.js +8 -1
  237. package/dist/esm/tab-panel/tab-panel.template.js.map +1 -1
  238. package/dist/esm/tabs/tabs.js +278 -5
  239. package/dist/esm/tabs/tabs.js.map +1 -1
  240. package/dist/esm/tabs/tabs.options.js +6 -2
  241. package/dist/esm/tabs/tabs.options.js.map +1 -1
  242. package/dist/esm/tabs/tabs.template.js +14 -1
  243. package/dist/esm/tabs/tabs.template.js.map +1 -1
  244. package/dist/esm/text-input/index.js +0 -1
  245. package/dist/esm/text-input/index.js.map +1 -1
  246. package/dist/esm/text-input/text-field.form-associated.js +14 -0
  247. package/dist/esm/text-input/text-field.form-associated.js.map +1 -0
  248. package/dist/esm/text-input/text-input.js +167 -7
  249. package/dist/esm/text-input/text-input.js.map +1 -1
  250. package/dist/esm/text-input/text-input.options.js +26 -0
  251. package/dist/esm/text-input/text-input.options.js.map +1 -1
  252. package/dist/esm/text-input/text-input.template.js +64 -1
  253. package/dist/esm/text-input/text-input.template.js.map +1 -1
  254. package/dist/esm/toggle-button/toggle-button.definition.js +0 -2
  255. package/dist/esm/toggle-button/toggle-button.definition.js.map +1 -1
  256. package/dist/esm/toggle-button/toggle-button.options.js.map +1 -1
  257. package/dist/esm/toggle-button/toggle-button.template.js +1 -1
  258. package/dist/esm/toggle-button/toggle-button.template.js.map +1 -1
  259. package/dist/esm/utils/direction.js +15 -0
  260. package/dist/esm/utils/direction.js.map +1 -0
  261. package/dist/esm/utils/index.js +5 -0
  262. package/dist/esm/utils/index.js.map +1 -0
  263. package/dist/esm/utils/template-helpers.js +19 -0
  264. package/dist/esm/utils/template-helpers.js.map +1 -0
  265. package/dist/esm/utils/typings.js +3 -0
  266. package/dist/esm/utils/typings.js.map +1 -0
  267. package/dist/esm/utils/whitespace-filter.js +13 -0
  268. package/dist/esm/utils/whitespace-filter.js.map +1 -0
  269. package/dist/fluent-web-components.api.json +9315 -3940
  270. package/dist/storybook/711.b5d63aa3.iframe.bundle.js +2 -0
  271. package/dist/storybook/iframe.html +1 -1
  272. package/dist/storybook/main.588112e6.iframe.bundle.js +2 -0
  273. package/dist/storybook/project.json +1 -1
  274. package/dist/web-components.d.ts +2194 -241
  275. package/dist/web-components.js +1964 -3195
  276. package/dist/web-components.min.js +123 -123
  277. package/docs/api-report.md +600 -90
  278. package/package.json +1 -1
  279. package/dist/storybook/350.e4be85c2.iframe.bundle.js +0 -462
  280. package/dist/storybook/350.e4be85c2.iframe.bundle.js.map +0 -1
  281. package/dist/storybook/main.b095c2e8.iframe.bundle.js +0 -2
  282. /package/dist/storybook/{350.e4be85c2.iframe.bundle.js.LICENSE.txt → 711.b5d63aa3.iframe.bundle.js.LICENSE.txt} +0 -0
  283. /package/dist/storybook/{main.b095c2e8.iframe.bundle.js.LICENSE.txt → main.588112e6.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -1,4 +1,52 @@
1
- import { anchorTemplate } from '@microsoft/fast-foundation/anchor.js';
1
+ import { html, ref, slotted } from '@microsoft/fast-element';
2
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
3
+ /**
4
+ * The template for the Button component.
5
+ * @public
6
+ */
7
+ export function anchorTemplate(options = {}) {
8
+ return html `
9
+ <a
10
+ class="control"
11
+ part="control"
12
+ download="${x => x.download}"
13
+ href="${x => x.href}"
14
+ hreflang="${x => x.hreflang}"
15
+ ping="${x => x.ping}"
16
+ referrerpolicy="${x => x.referrerpolicy}"
17
+ rel="${x => x.rel}"
18
+ target="${x => x.target}"
19
+ type="${x => x.type}"
20
+ aria-atomic="${x => x.ariaAtomic}"
21
+ aria-busy="${x => x.ariaBusy}"
22
+ aria-controls="${x => x.ariaControls}"
23
+ aria-current="${x => x.ariaCurrent}"
24
+ aria-describedby="${x => x.ariaDescribedby}"
25
+ aria-details="${x => x.ariaDetails}"
26
+ aria-disabled="${x => x.ariaDisabled}"
27
+ aria-errormessage="${x => x.ariaErrormessage}"
28
+ aria-expanded="${x => x.ariaExpanded}"
29
+ aria-flowto="${x => x.ariaFlowto}"
30
+ aria-haspopup="${x => x.ariaHaspopup}"
31
+ aria-hidden="${x => x.ariaHidden}"
32
+ aria-invalid="${x => x.ariaInvalid}"
33
+ aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
34
+ aria-label="${x => x.ariaLabel}"
35
+ aria-labelledby="${x => x.ariaLabelledby}"
36
+ aria-live="${x => x.ariaLive}"
37
+ aria-owns="${x => x.ariaOwns}"
38
+ aria-relevant="${x => x.ariaRelevant}"
39
+ aria-roledescription="${x => x.ariaRoledescription}"
40
+ ${ref('control')}
41
+ >
42
+ ${startSlotTemplate(options)}
43
+ <span class="content" part="content">
44
+ <slot ${slotted('defaultSlottedContent')}></slot>
45
+ </span>
46
+ ${endSlotTemplate(options)}
47
+ </a>
48
+ `;
49
+ }
2
50
  /**
3
51
  * The template for the Button component.
4
52
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-button.template.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"anchor-button.template.js","sourceRoot":"","sources":["../../../src/anchor-button/anchor-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAgB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG1E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAyB,UAAyB,EAAE;IAChF,OAAO,IAAI,CAAG;;;;kBAIE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;cACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;kBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;cACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;wBACD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;aAChC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;cACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;qBACJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;mBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;sBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;0BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;sBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;2BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;uBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;sBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;2BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;oBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;8BACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAChD,GAAG,CAAC,SAAS,CAAC;;QAEd,iBAAiB,CAAC,OAAO,CAAC;;gBAElB,OAAO,CAAC,uBAAuB,CAAC;;QAExC,eAAe,CAAC,OAAO,CAAC;;GAE7B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAsC,cAAc,EAAE,CAAC"}
@@ -3,9 +3,6 @@ import { Badge } from './badge.js';
3
3
  import { styles } from './badge.styles.js';
4
4
  import { template } from './badge.template.js';
5
5
  /**
6
- * The Fluent Badge Element. Implements {@link @microsoft/fast-foundation#Badge },
7
- * {@link @microsoft/fast-foundation#badgeTemplate}
8
- *
9
6
  *
10
7
  * @public
11
8
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"badge.definition.js","sourceRoot":"","sources":["../../../src/badge/badge.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;;;;;;;;GAQG;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"}
1
+ {"version":3,"file":"badge.definition.js","sourceRoot":"","sources":["../../../src/badge/badge.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;;;;;GAKG;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"}
@@ -5,9 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { attr, FASTElement } from '@microsoft/fast-element';
8
- import { StartEnd } from '@microsoft/fast-foundation/patterns.js';
9
8
  // TODO: Remove with https://github.com/microsoft/fast/pull/6797
10
9
  import { applyMixins } from '../utils/apply-mixins.js';
10
+ import { StartEnd } from '../patterns/index.js';
11
11
  import { BadgeAppearance, BadgeColor } from './badge.options.js';
12
12
  /**
13
13
  * The base class used for constructing a fluent-badge custom element
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/badge/badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAyB,MAAM,oBAAoB,CAAC;AAExF;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAAtC;;QACE;;;;;;WAMG;QAEI,eAAU,GAAoB,eAAe,CAAC,MAAM,CAAC;QAE5D;;;;;;WAMG;QAEI,UAAK,GAAe,UAAU,CAAC,KAAK,CAAC;IAoB9C,CAAC;CAAA;AA9BC;IADC,IAAI;yCACuD;AAU5D;IADC,IAAI;oCACuC;AAS5C;IADC,IAAI;oCACqB;AAU1B;IADC,IAAI;mCACmB;AAW1B,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/badge/badge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC5D,gEAAgE;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAyB,MAAM,oBAAoB,CAAC;AAExF;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAAtC;;QACE;;;;;;WAMG;QAEI,eAAU,GAAoB,eAAe,CAAC,MAAM,CAAC;QAE5D;;;;;;WAMG;QAEI,UAAK,GAAe,UAAU,CAAC,KAAK,CAAC;IAoB9C,CAAC;CAAA;AA9BC;IADC,IAAI;yCACuD;AAU5D;IADC,IAAI;oCACuC;AAS5C;IADC,IAAI;oCACqB;AAU1B;IADC,IAAI;mCACmB;AAW1B,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { html } from '@microsoft/fast-element';
2
- import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation/patterns.js';
3
- import { staticallyCompose } from '@microsoft/fast-foundation/utilities.js';
2
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
3
+ import { staticallyCompose } from '../utils/template-helpers.js';
4
4
  /**
5
5
  * The template for the Badge component.
6
6
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"badge.template.js","sourceRoot":"","sources":["../../../src/badge/badge.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAI5E;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAkB,UAAwB,EAAE;IACvE,OAAO,IAAI,CAAG;MACV,iBAAiB,CAAC,OAAO,CAAC;YACpB,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC;MAC/C,eAAe,CAAC,OAAO,CAAC;GAC3B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAA+B,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"badge.template.js","sourceRoot":"","sources":["../../../src/badge/badge.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAkB,UAAwB,EAAE;IACvE,OAAO,IAAI,CAAG;MACV,iBAAiB,CAAC,OAAO,CAAC;YACpB,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC;MAC/C,eAAe,CAAC,OAAO,CAAC;GAC3B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAA+B,aAAa,EAAE,CAAC"}
@@ -3,9 +3,6 @@ import { Button } from './button.js';
3
3
  import { styles } from './button.styles.js';
4
4
  import { template } from './button.template.js';
5
5
  /**
6
- * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button },
7
- * {@link @microsoft/fast-foundation#buttonTemplate}
8
- *
9
6
  * @public
10
7
  * @remarks
11
8
  * HTML Element: \<fluent-button\>
@@ -1 +1 @@
1
- {"version":3,"file":"button.definition.js","sourceRoot":"","sources":["../../../src/button/button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IACvC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,SAAS;IAC3C,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"button.definition.js","sourceRoot":"","sources":["../../../src/button/button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IACvC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,SAAS;IAC3C,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import { FormAssociated } from '../form-associated/form-associated.js';
3
+ class _Button extends FASTElement {
4
+ }
5
+ /**
6
+ * @beta
7
+ */
8
+ export class FormAssociatedButton extends FormAssociated(_Button) {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.proxy = document.createElement('input');
12
+ }
13
+ }
14
+ //# sourceMappingURL=button.form-associated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.form-associated.js","sourceRoot":"","sources":["../../../src/button/button.form-associated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,MAAM,OAAQ,SAAQ,WAAW;CAAG;AAIpC;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAc,CAAC,OAAO,CAAC;IAAjE;;QACE,UAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CAAA"}
@@ -4,13 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { attr } from '@microsoft/fast-element';
8
- import { FASTButton } from '@microsoft/fast-foundation/button.js';
7
+ import { attr, observable } from '@microsoft/fast-element';
8
+ import { ARIAGlobalStatesAndProperties, StartEnd } from '../patterns/index.js';
9
+ import { applyMixins } from '../utils/apply-mixins.js';
10
+ import { FormAssociatedButton } from './button.form-associated.js';
11
+ import { ButtonType } from './button.options.js';
9
12
  /**
10
- * The base class used for constructing a fluent-button custom element
13
+ * A Button Custom HTML Element.
14
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | <button> element }.
15
+ *
16
+ * @slot start - Content which can be provided before the button content
17
+ * @slot end - Content which can be provided after the button content
18
+ * @slot - The default slot for button content
19
+ * @csspart control - The button element
20
+ * @csspart content - The element wrapping button content
21
+ *
11
22
  * @public
12
23
  */
13
- export class Button extends FASTButton {
24
+ export class Button extends FormAssociatedButton {
14
25
  constructor() {
15
26
  super(...arguments);
16
27
  /**
@@ -38,6 +49,65 @@ export class Button extends FASTButton {
38
49
  return;
39
50
  }
40
51
  };
52
+ /**
53
+ * Submits the parent form
54
+ */
55
+ this.handleSubmission = () => {
56
+ if (!this.form) {
57
+ return;
58
+ }
59
+ const attached = this.proxy.isConnected;
60
+ if (!attached) {
61
+ this.attachProxy();
62
+ }
63
+ // Browser support for requestSubmit is not comprehensive
64
+ // so click the proxy if it isn't supported
65
+ typeof this.form.requestSubmit === 'function' ? this.form.requestSubmit(this.proxy) : this.proxy.click();
66
+ if (!attached) {
67
+ this.detachProxy();
68
+ }
69
+ };
70
+ /**
71
+ * Resets the parent form
72
+ */
73
+ this.handleFormReset = () => {
74
+ var _a;
75
+ (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();
76
+ };
77
+ }
78
+ formactionChanged() {
79
+ if (this.proxy instanceof HTMLInputElement) {
80
+ this.proxy.formAction = this.formaction;
81
+ }
82
+ }
83
+ formenctypeChanged() {
84
+ if (this.proxy instanceof HTMLInputElement) {
85
+ this.proxy.formEnctype = this.formenctype;
86
+ }
87
+ }
88
+ formmethodChanged() {
89
+ if (this.proxy instanceof HTMLInputElement) {
90
+ this.proxy.formMethod = this.formmethod;
91
+ }
92
+ }
93
+ formnovalidateChanged() {
94
+ if (this.proxy instanceof HTMLInputElement) {
95
+ this.proxy.formNoValidate = this.formnovalidate;
96
+ }
97
+ }
98
+ formtargetChanged() {
99
+ if (this.proxy instanceof HTMLInputElement) {
100
+ this.proxy.formTarget = this.formtarget;
101
+ }
102
+ }
103
+ typeChanged(previous, next) {
104
+ if (this.proxy instanceof HTMLInputElement) {
105
+ this.proxy.type = this.type;
106
+ }
107
+ next === ButtonType.submit && this.addEventListener('click', this.handleSubmission);
108
+ previous === ButtonType.submit && this.removeEventListener('click', this.handleSubmission);
109
+ next === ButtonType.reset && this.addEventListener('click', this.handleFormReset);
110
+ previous === ButtonType.reset && this.removeEventListener('click', this.handleFormReset);
41
111
  }
42
112
  disabledFocusableChanged(prev, next) {
43
113
  if (!this.$fastController.isConnected) {
@@ -50,8 +120,16 @@ export class Button extends FASTButton {
50
120
  this.removeAttribute('aria-disabled');
51
121
  }
52
122
  }
123
+ /** {@inheritDoc (FormAssociated:interface).validate} */
124
+ validate() {
125
+ super.validate(this.control);
126
+ }
127
+ /**
128
+ * @internal
129
+ */
53
130
  connectedCallback() {
54
131
  super.connectedCallback();
132
+ this.proxy.setAttribute('type', this.type);
55
133
  this.addEventListener('click', this.handleDisabledFocusableClick);
56
134
  }
57
135
  disconnectedCallback() {
@@ -59,6 +137,30 @@ export class Button extends FASTButton {
59
137
  this.removeEventListener('click', this.handleDisabledFocusableClick);
60
138
  }
61
139
  }
140
+ __decorate([
141
+ attr({ mode: 'boolean' })
142
+ ], Button.prototype, "autofocus", void 0);
143
+ __decorate([
144
+ attr({ attribute: 'form' })
145
+ ], Button.prototype, "formId", void 0);
146
+ __decorate([
147
+ attr
148
+ ], Button.prototype, "formaction", void 0);
149
+ __decorate([
150
+ attr
151
+ ], Button.prototype, "formenctype", void 0);
152
+ __decorate([
153
+ attr
154
+ ], Button.prototype, "formmethod", void 0);
155
+ __decorate([
156
+ attr({ mode: 'boolean' })
157
+ ], Button.prototype, "formnovalidate", void 0);
158
+ __decorate([
159
+ attr
160
+ ], Button.prototype, "formtarget", void 0);
161
+ __decorate([
162
+ attr
163
+ ], Button.prototype, "type", void 0);
62
164
  __decorate([
63
165
  attr
64
166
  ], Button.prototype, "appearance", void 0);
@@ -74,4 +176,22 @@ __decorate([
74
176
  __decorate([
75
177
  attr({ attribute: 'disabled-focusable', mode: 'boolean' })
76
178
  ], Button.prototype, "disabledFocusable", void 0);
179
+ __decorate([
180
+ observable
181
+ ], Button.prototype, "defaultSlottedContent", void 0);
182
+ /**
183
+ * Includes ARIA states and properties relating to the ARIA button role
184
+ *
185
+ * @public
186
+ */
187
+ export class DelegatesARIAButton {
188
+ }
189
+ __decorate([
190
+ attr({ attribute: 'aria-expanded' })
191
+ ], DelegatesARIAButton.prototype, "ariaExpanded", void 0);
192
+ __decorate([
193
+ attr({ attribute: 'aria-pressed' })
194
+ ], DelegatesARIAButton.prototype, "ariaPressed", void 0);
195
+ applyMixins(DelegatesARIAButton, ARIAGlobalStatesAndProperties);
196
+ applyMixins(Button, StartEnd, DelegatesARIAButton);
77
197
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IAAtC;;QA+BE;;;;;;WAMG;QAEI,aAAQ,GAAY,KAAK,CAAC;QAEjC;;;;;;WAMG;QAEI,sBAAiB,GAAa,KAAK,CAAC;QAa3C;;WAEG;QACK,iCAA4B,GAAG,CAAC,CAAa,EAAQ,EAAE;YAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC/B,CAAC,CAAC,wBAAwB,EAAE,CAAC;gBAC7B,OAAO;aACR;QACH,CAAC,CAAC;IAaJ,CAAC;IAjCW,wBAAwB,CAAC,IAAa,EAAE,IAAa;QAC7D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACrC,OAAO;SACR;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAgC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;SAC1E;aAAM;YACH,IAAgC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACrE;IACH,CAAC;IAYM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAExB,IAAgC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAClG,CAAC;IAEM,oBAAoB;QACzB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE3B,IAAgC,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrG,CAAC;CACF;AA1EC;IADC,IAAI;0CAC4C;AAUjD;IADC,IAAI;qCACkC;AAUvC;IADC,IAAI;oCACoB;AAUzB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wCACjB;AAUjC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iDAChB"}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/button/button.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,14 @@ export const ButtonSize = {
27
27
  medium: 'medium',
28
28
  large: 'large',
29
29
  };
30
+ /**
31
+ * Button type values.
32
+ *
33
+ * @public
34
+ */
35
+ export const ButtonType = {
36
+ submit: 'submit',
37
+ reset: 'reset',
38
+ button: 'button',
39
+ };
30
40
  //# sourceMappingURL=button.options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.options.js","sourceRoot":"","sources":["../../../src/button/button.options.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;CAClB,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC"}
1
+ {"version":3,"file":"button.options.js","sourceRoot":"","sources":["../../../src/button/button.options.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;CAClB,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAQX;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAQX;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -1,7 +1,55 @@
1
- import { buttonTemplate } from '@microsoft/fast-foundation/button.js';
1
+ import { html, ref, slotted } from '@microsoft/fast-element';
2
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
2
3
  /**
3
4
  * The template for the Button component.
4
5
  * @public
5
6
  */
7
+ export function buttonTemplate(options = {}) {
8
+ return html `
9
+ <button
10
+ class="control"
11
+ part="control"
12
+ ?autofocus="${x => x.autofocus}"
13
+ ?disabled="${x => x.disabled}"
14
+ form="${x => x.formId}"
15
+ formaction="${x => x.formaction}"
16
+ formenctype="${x => x.formenctype}"
17
+ formmethod="${x => x.formmethod}"
18
+ ?formnovalidate="${x => x.formnovalidate}"
19
+ formtarget="${x => x.formtarget}"
20
+ name="${x => x.name}"
21
+ type="${x => x.type}"
22
+ value="${x => x.value}"
23
+ aria-atomic="${x => x.ariaAtomic}"
24
+ aria-busy="${x => x.ariaBusy}"
25
+ aria-controls="${x => x.ariaControls}"
26
+ aria-current="${x => x.ariaCurrent}"
27
+ aria-describedby="${x => x.ariaDescribedby}"
28
+ aria-details="${x => x.ariaDetails}"
29
+ aria-disabled="${x => x.ariaDisabled}"
30
+ aria-errormessage="${x => x.ariaErrormessage}"
31
+ aria-expanded="${x => x.ariaExpanded}"
32
+ aria-flowto="${x => x.ariaFlowto}"
33
+ aria-haspopup="${x => x.ariaHaspopup}"
34
+ aria-hidden="${x => x.ariaHidden}"
35
+ aria-invalid="${x => x.ariaInvalid}"
36
+ aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
37
+ aria-label="${x => x.ariaLabel}"
38
+ aria-labelledby="${x => x.ariaLabelledby}"
39
+ aria-live="${x => x.ariaLive}"
40
+ aria-owns="${x => x.ariaOwns}"
41
+ aria-pressed="${x => x.ariaPressed}"
42
+ aria-relevant="${x => x.ariaRelevant}"
43
+ aria-roledescription="${x => x.ariaRoledescription}"
44
+ ${ref('control')}
45
+ >
46
+ ${startSlotTemplate(options)}
47
+ <span class="content" part="content">
48
+ <slot ${slotted('defaultSlottedContent')}></slot>
49
+ </span>
50
+ ${endSlotTemplate(options)}
51
+ </button>
52
+ `;
53
+ }
6
54
  export const template = buttonTemplate();
7
55
  //# sourceMappingURL=button.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.template.js","sourceRoot":"","sources":["../../../src/button/button.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"button.template.js","sourceRoot":"","sources":["../../../src/button/button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI1E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAmB,UAAyB,EAAE;IAC1E,OAAO,IAAI,CAAG;;;;oBAII,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;mBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;cACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;cACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;cACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;eACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;qBACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;mBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;sBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;0BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;sBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;2BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;uBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;sBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;2BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;oBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;sBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;8BACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAChD,GAAG,CAAC,SAAS,CAAC;;QAEd,iBAAiB,CAAC,OAAO,CAAC;;gBAElB,OAAO,CAAC,uBAAuB,CAAC;;QAExC,eAAe,CAAC,OAAO,CAAC;;GAE7B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC,cAAc,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { FASTElement } from '@microsoft/fast-element';
2
+ import { CheckableFormAssociated } from '../form-associated/form-associated.js';
3
+ class _Checkbox extends FASTElement {
4
+ }
5
+ /**
6
+ * @beta
7
+ */
8
+ export class FormAssociatedCheckbox extends CheckableFormAssociated(_Checkbox) {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.proxy = document.createElement('input');
12
+ }
13
+ }
14
+ //# sourceMappingURL=checkbox.form-associated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.form-associated.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.form-associated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,MAAM,SAAU,SAAQ,WAAW;CAAG;AAItC;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB,CAAC,SAAS,CAAC;IAA9E;;QACE,UAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CAAA"}
@@ -4,13 +4,65 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { attr } from '@microsoft/fast-element';
8
- import { FASTCheckbox } from '@microsoft/fast-foundation/checkbox.js';
7
+ import { attr, observable } from '@microsoft/fast-element';
8
+ import { keySpace } from '@microsoft/fast-web-utilities';
9
+ import { FormAssociatedCheckbox } from './checkbox.form-associated.js';
9
10
  /**
10
- * The base class used for constucting a fluent checkbox custom element
11
+ * A Checkbox Custom HTML Element.
12
+ * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#checkbox | ARIA checkbox }.
13
+ *
14
+ * @slot checked-indicator - The checked indicator
15
+ * @slot indeterminate-indicator - The indeterminate indicator
16
+ * @slot - The default slot for the label
17
+ * @csspart control - The element representing the visual checkbox control
18
+ * @csspart label - The label
19
+ * @fires change - Emits a custom change event when the checked state changes
20
+ *
11
21
  * @public
12
22
  */
13
- export class Checkbox extends FASTCheckbox {
23
+ export class Checkbox extends FormAssociatedCheckbox {
24
+ constructor() {
25
+ super();
26
+ /**
27
+ * The element's value to be included in form submission when checked.
28
+ * Default to "on" to reach parity with input[type="checkbox"]
29
+ *
30
+ * @internal
31
+ */
32
+ this.initialValue = 'on';
33
+ /**
34
+ * The indeterminate state of the control
35
+ */
36
+ this.indeterminate = false;
37
+ /**
38
+ * @internal
39
+ */
40
+ this.keypressHandler = (e) => {
41
+ if (this.disabled) {
42
+ return;
43
+ }
44
+ switch (e.key) {
45
+ case keySpace:
46
+ this.toggleChecked();
47
+ break;
48
+ }
49
+ };
50
+ /**
51
+ * @internal
52
+ */
53
+ this.clickHandler = (e) => {
54
+ if (!this.disabled) {
55
+ this.toggleChecked();
56
+ }
57
+ };
58
+ this.proxy.setAttribute('type', 'checkbox');
59
+ }
60
+ toggleChecked() {
61
+ if (this.indeterminate) {
62
+ this.indeterminate = false;
63
+ }
64
+ this.checked = !this.checked;
65
+ }
14
66
  }
15
67
  __decorate([
16
68
  attr
@@ -21,4 +73,10 @@ __decorate([
21
73
  __decorate([
22
74
  attr({ attribute: 'label-position' })
23
75
  ], Checkbox.prototype, "labelPosition", void 0);
76
+ __decorate([
77
+ observable
78
+ ], Checkbox.prototype, "defaultSlottedNodes", void 0);
79
+ __decorate([
80
+ observable
81
+ ], Checkbox.prototype, "indeterminate", void 0);
24
82
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAGtE;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,YAAY;CAiCzC;AAvBC;IADC,IAAI;uCACwB;AAW7B;IADC,IAAI;sCACsB;AAW3B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;+CACO"}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAYvE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,QAAS,SAAQ,sBAAsB;IAqDlD;QACE,KAAK,EAAE,CAAC;QArBV;;;;;WAKG;QACI,iBAAY,GAAW,IAAI,CAAC;QAQnC;;WAEG;QAEI,kBAAa,GAAY,KAAK,CAAC;QAetC;;WAEG;QACI,oBAAe,GAAG,CAAC,CAAgB,EAAQ,EAAE;YAClD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO;aACR;YAED,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,QAAQ;oBACX,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,MAAM;aACT;QACH,CAAC,CAAC;QAEF;;WAEG;QACI,iBAAY,GAAG,CAAC,CAAa,EAAQ,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;QACH,CAAC,CAAC;QAhCA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;QACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/B,CAAC;CAyBF;AA/EC;IADC,IAAI;uCACwB;AAW7B;IADC,IAAI;sCACsB;AAW3B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;+CACO;AAa7C;IADC,UAAU;qDACyB;AAMpC;IADC,UAAU;+CAC2B"}
@@ -1,12 +1,12 @@
1
- import { html } from '@microsoft/fast-element';
2
- import { checkboxTemplate } from '@microsoft/fast-foundation/checkbox.js';
1
+ import { html, slotted } from '@microsoft/fast-element';
2
+ import { staticallyCompose } from '../utils/index.js';
3
3
  const checkedIndicator = html.partial(`
4
4
  <div class="checked-indicator">
5
- <svg fill="currentColor"
6
- aria-hidden="true"
7
- width="1em"
8
- height="1em"
9
- viewBox="0 0 12 12"
5
+ <svg fill="currentColor"
6
+ aria-hidden="true"
7
+ width="1em"
8
+ height="1em"
9
+ viewBox="0 0 12 12"
10
10
  xmlns="http://www.w3.org/2000/svg">
11
11
  <path d="M9.76 3.2c.3.29.32.76.04 1.06l-4.25 4.5a.75.75 0 0 1-1.08.02L2.22 6.53a.75.75 0 0 1 1.06-1.06l1.7 1.7L8.7 3.24a.75.75 0 0 1 1.06-.04Z" fill="currentColor">
12
12
  </path>
@@ -16,6 +16,34 @@ const checkedIndicator = html.partial(`
16
16
  const indeterminateIndicator = html.partial(`
17
17
  <div class="indeterminate-indicator"></div>
18
18
  `);
19
+ /**
20
+ * Template for the Checkbox component
21
+ * @public
22
+ */
23
+ export function checkboxTemplate(options = {}) {
24
+ return html `
25
+ <template
26
+ role="checkbox"
27
+ aria-checked="${x => (x.indeterminate ? 'mixed' : x.checked)}"
28
+ aria-required="${x => x.required}"
29
+ aria-disabled="${x => x.disabled}"
30
+ tabindex="${x => (x.disabled ? null : 0)}"
31
+ @keypress="${(x, c) => x.keypressHandler(c.event)}"
32
+ @click="${(x, c) => x.clickHandler(c.event)}"
33
+ >
34
+ <div part="control" class="control">
35
+ <slot name="checked-indicator"> ${staticallyCompose(options.checkedIndicator)} </slot>
36
+ <slot name="indeterminate-indicator"> ${staticallyCompose(options.indeterminateIndicator)} </slot>
37
+ </div>
38
+ <label
39
+ part="label"
40
+ class="${x => (x.defaultSlottedNodes && x.defaultSlottedNodes.length ? 'label' : 'label label__hidden')}"
41
+ >
42
+ <slot ${slotted('defaultSlottedNodes')}></slot>
43
+ </label>
44
+ </template>
45
+ `;
46
+ }
19
47
  /**
20
48
  * Template for the Checkbox component
21
49
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;CAYrC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC;;CAE3C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAkC,gBAAgB,CAAC;IACtE,gBAAgB,EAAE,gBAAgB;IAClC,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"checkbox.template.js","sourceRoot":"","sources":["../../../src/checkbox/checkbox.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;;;;;;;;;;;;CAYrC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC;;CAE3C,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAqB,UAA2B,EAAE;IAChF,OAAO,IAAI,CAAG;;;sBAGM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;uBAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;kBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;mBAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAsB,CAAC;gBACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;;;0CAGrB,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC;gDACrC,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC;;;;iBAIhF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;;gBAE/F,OAAO,CAAC,qBAAqB,CAAC;;;GAG3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAkC,gBAAgB,CAAC;IACtE,gBAAgB,EAAE,gBAAgB;IAClC,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC,CAAC"}
@@ -3,9 +3,6 @@ import { CompoundButton } from './compound-button.js';
3
3
  import { styles } from './compound-button.styles.js';
4
4
  import { template } from './compound-button.template.js';
5
5
  /**
6
- * The Fluent Compound Button Element. Implements {@link @microsoft/fast-foundation#Button },
7
- * {@link @microsoft/fast-foundation#buttonTemplate}
8
- *
9
6
  * @public
10
7
  * @remarks
11
8
  * HTML Element: \<fluent-comopund-button\>
@@ -1 +1 @@
1
- {"version":3,"file":"compound-button.definition.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;IAC/C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,kBAAkB;IACpD,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"compound-button.definition.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC;IAC/C,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,kBAAkB;IACpD,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compound-button.options.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAExF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAQzD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAQ/C;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"compound-button.options.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIxF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;AAQzD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAQ/C;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { html, ref, slotted } from '@microsoft/fast-element';
2
- import { endSlotTemplate, startSlotTemplate } from '@microsoft/fast-foundation/patterns.js';
2
+ import { endSlotTemplate, startSlotTemplate } from '../patterns/index.js';
3
3
  /**
4
4
  * The template for the Compound Button component.
5
5
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"compound-button.template.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAI5F;;;GAGG;AACH,MAAM,UAAU,cAAc,CAA2B,UAAiC,EAAE;IAC1F,OAAO,IAAI,CAAG;;;;oBAII,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;mBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;cACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;cACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;cACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;eACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;qBACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;mBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;sBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;0BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;sBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;2BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;uBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;sBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;2BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;oBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;sBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;8BACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAChD,GAAG,CAAC,SAAS,CAAC;;QAEd,iBAAiB,CAAC,OAAO,CAAC;;gBAElB,OAAO,CAAC,uBAAuB,CAAC;;;QAGxC,eAAe,CAAC,OAAO,CAAC;;GAE7B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAwC,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"compound-button.template.js","sourceRoot":"","sources":["../../../src/compound-button/compound-button.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI1E;;;GAGG;AACH,MAAM,UAAU,cAAc,CAA2B,UAAiC,EAAE;IAC1F,OAAO,IAAI,CAAG;;;;oBAII,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;mBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;cACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oBACP,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;qBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;oBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;yBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;oBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;cACvB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;cACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;eACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;qBACN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;mBACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;uBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;sBACpB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;0BACd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe;sBAC1B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;2BACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;uBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;uBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;qBACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;sBAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;2BACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB;oBAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;yBACX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;mBAC3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;mBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;sBACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;uBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;8BACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAChD,GAAG,CAAC,SAAS,CAAC;;QAEd,iBAAiB,CAAC,OAAO,CAAC;;gBAElB,OAAO,CAAC,uBAAuB,CAAC;;;QAGxC,eAAe,CAAC,OAAO,CAAC;;GAE7B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAwC,cAAc,EAAE,CAAC"}