@ni/fast-foundation 0.0.2

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 (416) hide show
  1. package/README.md +58 -0
  2. package/dist/dts/accordion/accordion.d.ts +65 -0
  3. package/dist/dts/accordion/accordion.template.d.ts +8 -0
  4. package/dist/dts/accordion/index.d.ts +2 -0
  5. package/dist/dts/accordion-item/accordion-item.d.ts +76 -0
  6. package/dist/dts/accordion-item/accordion-item.template.d.ts +8 -0
  7. package/dist/dts/accordion-item/index.d.ts +2 -0
  8. package/dist/dts/anchor/anchor.d.ts +128 -0
  9. package/dist/dts/anchor/anchor.template.d.ts +8 -0
  10. package/dist/dts/anchor/index.d.ts +2 -0
  11. package/dist/dts/anchored-region/anchored-region-config.d.ts +117 -0
  12. package/dist/dts/anchored-region/anchored-region.d.ts +389 -0
  13. package/dist/dts/anchored-region/anchored-region.template.d.ts +8 -0
  14. package/dist/dts/anchored-region/index.d.ts +3 -0
  15. package/dist/dts/avatar/avatar.d.ts +62 -0
  16. package/dist/dts/avatar/avatar.template.d.ts +8 -0
  17. package/dist/dts/avatar/index.d.ts +2 -0
  18. package/dist/dts/badge/badge.d.ts +36 -0
  19. package/dist/dts/badge/badge.template.d.ts +8 -0
  20. package/dist/dts/badge/index.d.ts +2 -0
  21. package/dist/dts/breadcrumb/breadcrumb.d.ts +27 -0
  22. package/dist/dts/breadcrumb/breadcrumb.template.d.ts +8 -0
  23. package/dist/dts/breadcrumb/index.d.ts +2 -0
  24. package/dist/dts/breadcrumb-item/breadcrumb-item.d.ts +36 -0
  25. package/dist/dts/breadcrumb-item/breadcrumb-item.template.d.ts +8 -0
  26. package/dist/dts/breadcrumb-item/index.d.ts +2 -0
  27. package/dist/dts/button/button.d.ts +167 -0
  28. package/dist/dts/button/button.form-associated.d.ts +16 -0
  29. package/dist/dts/button/button.template.d.ts +8 -0
  30. package/dist/dts/button/index.d.ts +2 -0
  31. package/dist/dts/calendar/calendar.d.ts +178 -0
  32. package/dist/dts/calendar/calendar.template.d.ts +58 -0
  33. package/dist/dts/calendar/date-formatter.d.ts +124 -0
  34. package/dist/dts/calendar/index.d.ts +3 -0
  35. package/dist/dts/card/card.d.ts +10 -0
  36. package/dist/dts/card/card.template.d.ts +8 -0
  37. package/dist/dts/card/index.d.ts +2 -0
  38. package/dist/dts/checkbox/checkbox.d.ts +58 -0
  39. package/dist/dts/checkbox/checkbox.form-associated.d.ts +16 -0
  40. package/dist/dts/checkbox/checkbox.template.d.ts +8 -0
  41. package/dist/dts/checkbox/index.d.ts +2 -0
  42. package/dist/dts/combobox/combobox.d.ts +341 -0
  43. package/dist/dts/combobox/combobox.form-associated.d.ts +16 -0
  44. package/dist/dts/combobox/combobox.options.d.ts +15 -0
  45. package/dist/dts/combobox/combobox.template.d.ts +8 -0
  46. package/dist/dts/combobox/index.d.ts +3 -0
  47. package/dist/dts/data-grid/data-grid-cell.d.ts +62 -0
  48. package/dist/dts/data-grid/data-grid-cell.template.d.ts +9 -0
  49. package/dist/dts/data-grid/data-grid-row.d.ts +119 -0
  50. package/dist/dts/data-grid/data-grid-row.template.d.ts +10 -0
  51. package/dist/dts/data-grid/data-grid.d.ts +218 -0
  52. package/dist/dts/data-grid/data-grid.options.d.ts +49 -0
  53. package/dist/dts/data-grid/data-grid.template.d.ts +10 -0
  54. package/dist/dts/data-grid/index.d.ts +6 -0
  55. package/dist/dts/design-system/component-presentation.d.ts +66 -0
  56. package/dist/dts/design-system/design-system.d.ts +104 -0
  57. package/dist/dts/design-system/index.d.ts +3 -0
  58. package/dist/dts/design-system/registration-context.d.ts +106 -0
  59. package/dist/dts/design-token/custom-property-manager.d.ts +35 -0
  60. package/dist/dts/design-token/design-token.d.ts +139 -0
  61. package/dist/dts/design-token/interfaces.d.ts +31 -0
  62. package/dist/dts/di/di.d.ts +858 -0
  63. package/dist/dts/di/index.d.ts +1 -0
  64. package/dist/dts/dialog/dialog.d.ts +153 -0
  65. package/dist/dts/dialog/dialog.template.d.ts +8 -0
  66. package/dist/dts/dialog/index.d.ts +2 -0
  67. package/dist/dts/directives/reflect-attributes.d.ts +18 -0
  68. package/dist/dts/disclosure/disclosure.d.ts +59 -0
  69. package/dist/dts/disclosure/disclosure.template.d.ts +8 -0
  70. package/dist/dts/disclosure/index.d.ts +2 -0
  71. package/dist/dts/divider/divider.d.ts +28 -0
  72. package/dist/dts/divider/divider.options.d.ts +19 -0
  73. package/dist/dts/divider/divider.template.d.ts +8 -0
  74. package/dist/dts/divider/index.d.ts +2 -0
  75. package/dist/dts/flipper/flipper.d.ts +57 -0
  76. package/dist/dts/flipper/flipper.options.d.ts +13 -0
  77. package/dist/dts/flipper/flipper.template.d.ts +8 -0
  78. package/dist/dts/flipper/index.d.ts +2 -0
  79. package/dist/dts/form-associated/form-associated.d.ts +177 -0
  80. package/dist/dts/form-associated/index.d.ts +1 -0
  81. package/dist/dts/foundation-element/foundation-element.d.ts +120 -0
  82. package/dist/dts/foundation-element/index.d.ts +1 -0
  83. package/dist/dts/horizontal-scroll/horizontal-scroll.d.ts +242 -0
  84. package/dist/dts/horizontal-scroll/horizontal-scroll.template.d.ts +7 -0
  85. package/dist/dts/horizontal-scroll/index.d.ts +2 -0
  86. package/dist/dts/index-rollup.d.ts +2 -0
  87. package/dist/dts/index.d.ts +53 -0
  88. package/dist/dts/interfaces.d.ts +4 -0
  89. package/dist/dts/listbox/index.d.ts +3 -0
  90. package/dist/dts/listbox/listbox.d.ts +314 -0
  91. package/dist/dts/listbox/listbox.element.d.ts +223 -0
  92. package/dist/dts/listbox/listbox.template.d.ts +8 -0
  93. package/dist/dts/listbox-option/index.d.ts +2 -0
  94. package/dist/dts/listbox-option/listbox-option.d.ts +176 -0
  95. package/dist/dts/listbox-option/listbox-option.template.d.ts +8 -0
  96. package/dist/dts/menu/index.d.ts +2 -0
  97. package/dist/dts/menu/menu.d.ts +78 -0
  98. package/dist/dts/menu/menu.template.d.ts +8 -0
  99. package/dist/dts/menu-item/index.d.ts +2 -0
  100. package/dist/dts/menu-item/menu-item.d.ts +160 -0
  101. package/dist/dts/menu-item/menu-item.options.d.ts +29 -0
  102. package/dist/dts/menu-item/menu-item.template.d.ts +10 -0
  103. package/dist/dts/number-field/index.d.ts +2 -0
  104. package/dist/dts/number-field/number-field.d.ts +227 -0
  105. package/dist/dts/number-field/number-field.form-associated.d.ts +16 -0
  106. package/dist/dts/number-field/number-field.template.d.ts +8 -0
  107. package/dist/dts/patterns/aria-global.d.ts +189 -0
  108. package/dist/dts/patterns/index.d.ts +2 -0
  109. package/dist/dts/patterns/start-end.d.ts +65 -0
  110. package/dist/dts/picker/index.d.ts +10 -0
  111. package/dist/dts/picker/picker-list-item.d.ts +38 -0
  112. package/dist/dts/picker/picker-list-item.template.d.ts +8 -0
  113. package/dist/dts/picker/picker-list.d.ts +8 -0
  114. package/dist/dts/picker/picker-list.template.d.ts +8 -0
  115. package/dist/dts/picker/picker-menu-option.d.ts +37 -0
  116. package/dist/dts/picker/picker-menu-option.template.d.ts +8 -0
  117. package/dist/dts/picker/picker-menu.d.ts +46 -0
  118. package/dist/dts/picker/picker-menu.template.d.ts +8 -0
  119. package/dist/dts/picker/picker.d.ts +390 -0
  120. package/dist/dts/picker/picker.form-associated.d.ts +16 -0
  121. package/dist/dts/picker/picker.template.d.ts +8 -0
  122. package/dist/dts/progress/base-progress.d.ts +71 -0
  123. package/dist/dts/progress/index.d.ts +2 -0
  124. package/dist/dts/progress/progress.template.d.ts +8 -0
  125. package/dist/dts/progress-ring/index.d.ts +1 -0
  126. package/dist/dts/progress-ring/progress-ring.template.d.ts +8 -0
  127. package/dist/dts/radio/index.d.ts +2 -0
  128. package/dist/dts/radio/radio.d.ts +70 -0
  129. package/dist/dts/radio/radio.form-associated.d.ts +16 -0
  130. package/dist/dts/radio/radio.template.d.ts +8 -0
  131. package/dist/dts/radio-group/index.d.ts +2 -0
  132. package/dist/dts/radio-group/radio-group.d.ts +101 -0
  133. package/dist/dts/radio-group/radio-group.template.d.ts +8 -0
  134. package/dist/dts/search/index.d.ts +2 -0
  135. package/dist/dts/search/search.d.ts +162 -0
  136. package/dist/dts/search/search.form-associated.d.ts +16 -0
  137. package/dist/dts/search/search.template.d.ts +8 -0
  138. package/dist/dts/select/index.d.ts +3 -0
  139. package/dist/dts/select/select.d.ts +289 -0
  140. package/dist/dts/select/select.form-associated.d.ts +16 -0
  141. package/dist/dts/select/select.options.d.ts +13 -0
  142. package/dist/dts/select/select.template.d.ts +8 -0
  143. package/dist/dts/skeleton/index.d.ts +2 -0
  144. package/dist/dts/skeleton/skeleton.d.ts +47 -0
  145. package/dist/dts/skeleton/skeleton.template.d.ts +8 -0
  146. package/dist/dts/slider/index.d.ts +2 -0
  147. package/dist/dts/slider/slider-utilities.d.ts +5 -0
  148. package/dist/dts/slider/slider.d.ts +230 -0
  149. package/dist/dts/slider/slider.form-associated.d.ts +16 -0
  150. package/dist/dts/slider/slider.template.d.ts +8 -0
  151. package/dist/dts/slider-label/index.d.ts +2 -0
  152. package/dist/dts/slider-label/slider-label.d.ts +81 -0
  153. package/dist/dts/slider-label/slider-label.template.d.ts +8 -0
  154. package/dist/dts/switch/index.d.ts +2 -0
  155. package/dist/dts/switch/switch.d.ts +60 -0
  156. package/dist/dts/switch/switch.form-associated.d.ts +16 -0
  157. package/dist/dts/switch/switch.template.d.ts +8 -0
  158. package/dist/dts/tab/index.d.ts +2 -0
  159. package/dist/dts/tab/tab.d.ts +17 -0
  160. package/dist/dts/tab/tab.template.d.ts +8 -0
  161. package/dist/dts/tab-panel/index.d.ts +2 -0
  162. package/dist/dts/tab-panel/tab-panel.d.ts +10 -0
  163. package/dist/dts/tab-panel/tab-panel.template.d.ts +8 -0
  164. package/dist/dts/tabs/index.d.ts +2 -0
  165. package/dist/dts/tabs/tabs.d.ts +140 -0
  166. package/dist/dts/tabs/tabs.template.d.ts +8 -0
  167. package/dist/dts/test-utilities/fixture.d.ts +89 -0
  168. package/dist/dts/test-utilities/timeout.d.ts +4 -0
  169. package/dist/dts/text-area/index.d.ts +2 -0
  170. package/dist/dts/text-area/text-area.d.ts +149 -0
  171. package/dist/dts/text-area/text-area.form-associated.d.ts +16 -0
  172. package/dist/dts/text-area/text-area.options.d.ts +27 -0
  173. package/dist/dts/text-area/text-area.template.d.ts +8 -0
  174. package/dist/dts/text-field/index.d.ts +2 -0
  175. package/dist/dts/text-field/text-field.d.ts +166 -0
  176. package/dist/dts/text-field/text-field.form-associated.d.ts +16 -0
  177. package/dist/dts/text-field/text-field.options.d.ts +31 -0
  178. package/dist/dts/text-field/text-field.template.d.ts +8 -0
  179. package/dist/dts/toolbar/index.d.ts +2 -0
  180. package/dist/dts/toolbar/toolbar.d.ts +167 -0
  181. package/dist/dts/toolbar/toolbar.template.d.ts +9 -0
  182. package/dist/dts/tooltip/index.d.ts +2 -0
  183. package/dist/dts/tooltip/tooltip.d.ts +239 -0
  184. package/dist/dts/tooltip/tooltip.options.d.ts +69 -0
  185. package/dist/dts/tooltip/tooltip.template.d.ts +8 -0
  186. package/dist/dts/tree-item/index.d.ts +2 -0
  187. package/dist/dts/tree-item/tree-item.d.ts +141 -0
  188. package/dist/dts/tree-item/tree-item.template.d.ts +8 -0
  189. package/dist/dts/tree-view/index.d.ts +2 -0
  190. package/dist/dts/tree-view/tree-view.d.ts +99 -0
  191. package/dist/dts/tree-view/tree-view.template.d.ts +8 -0
  192. package/dist/dts/utilities/apply-mixins.d.ts +6 -0
  193. package/dist/dts/utilities/composed-contains.d.ts +12 -0
  194. package/dist/dts/utilities/composed-parent.d.ts +10 -0
  195. package/dist/dts/utilities/direction.d.ts +7 -0
  196. package/dist/dts/utilities/index.d.ts +8 -0
  197. package/dist/dts/utilities/intersection-service.d.ts +30 -0
  198. package/dist/dts/utilities/match-media-stylesheet-behavior.d.ts +124 -0
  199. package/dist/dts/utilities/property-stylesheet-behavior.d.ts +38 -0
  200. package/dist/dts/utilities/resize-observer.d.ts +31 -0
  201. package/dist/dts/utilities/root-active-element.d.ts +1 -0
  202. package/dist/dts/utilities/style/disabled.d.ts +5 -0
  203. package/dist/dts/utilities/style/display.d.ts +17 -0
  204. package/dist/dts/utilities/style/focus.d.ts +8 -0
  205. package/dist/dts/utilities/style/index.d.ts +3 -0
  206. package/dist/dts/utilities/whitespace-filter.d.ts +9 -0
  207. package/dist/esm/accordion/accordion.js +185 -0
  208. package/dist/esm/accordion/accordion.template.js +11 -0
  209. package/dist/esm/accordion/index.js +2 -0
  210. package/dist/esm/accordion-item/accordion-item.js +72 -0
  211. package/dist/esm/accordion-item/accordion-item.template.js +49 -0
  212. package/dist/esm/accordion-item/index.js +2 -0
  213. package/dist/esm/anchor/anchor.js +85 -0
  214. package/dist/esm/anchor/anchor.template.js +47 -0
  215. package/dist/esm/anchor/index.js +2 -0
  216. package/dist/esm/anchored-region/anchored-region-config.js +59 -0
  217. package/dist/esm/anchored-region/anchored-region.js +964 -0
  218. package/dist/esm/anchored-region/anchored-region.template.js +12 -0
  219. package/dist/esm/anchored-region/index.js +3 -0
  220. package/dist/esm/avatar/avatar.js +39 -0
  221. package/dist/esm/avatar/avatar.template.js +23 -0
  222. package/dist/esm/avatar/index.js +2 -0
  223. package/dist/esm/badge/badge.js +40 -0
  224. package/dist/esm/badge/badge.template.js +12 -0
  225. package/dist/esm/badge/index.js +2 -0
  226. package/dist/esm/breadcrumb/breadcrumb.js +70 -0
  227. package/dist/esm/breadcrumb/breadcrumb.template.js +14 -0
  228. package/dist/esm/breadcrumb/index.js +2 -0
  229. package/dist/esm/breadcrumb-item/breadcrumb-item.js +23 -0
  230. package/dist/esm/breadcrumb-item/breadcrumb-item.template.js +24 -0
  231. package/dist/esm/breadcrumb-item/index.js +2 -0
  232. package/dist/esm/button/button.form-associated.js +15 -0
  233. package/dist/esm/button/button.js +183 -0
  234. package/dist/esm/button/button.template.js +51 -0
  235. package/dist/esm/button/index.js +2 -0
  236. package/dist/esm/calendar/calendar.js +280 -0
  237. package/dist/esm/calendar/calendar.template.js +191 -0
  238. package/dist/esm/calendar/date-formatter.js +144 -0
  239. package/dist/esm/calendar/index.js +3 -0
  240. package/dist/esm/card/card.js +10 -0
  241. package/dist/esm/card/card.template.js +8 -0
  242. package/dist/esm/card/index.js +2 -0
  243. package/dist/esm/checkbox/checkbox.form-associated.js +15 -0
  244. package/dist/esm/checkbox/checkbox.js +75 -0
  245. package/dist/esm/checkbox/checkbox.template.js +35 -0
  246. package/dist/esm/checkbox/index.js +2 -0
  247. package/dist/esm/combobox/combobox.form-associated.js +15 -0
  248. package/dist/esm/combobox/combobox.js +587 -0
  249. package/dist/esm/combobox/combobox.options.js +10 -0
  250. package/dist/esm/combobox/combobox.template.js +66 -0
  251. package/dist/esm/combobox/index.js +3 -0
  252. package/dist/esm/data-grid/data-grid-cell.js +229 -0
  253. package/dist/esm/data-grid/data-grid-cell.template.js +23 -0
  254. package/dist/esm/data-grid/data-grid-row.js +203 -0
  255. package/dist/esm/data-grid/data-grid-row.template.js +47 -0
  256. package/dist/esm/data-grid/data-grid.js +440 -0
  257. package/dist/esm/data-grid/data-grid.options.js +31 -0
  258. package/dist/esm/data-grid/data-grid.template.js +36 -0
  259. package/dist/esm/data-grid/index.js +6 -0
  260. package/dist/esm/design-system/component-presentation.js +86 -0
  261. package/dist/esm/design-system/design-system.js +207 -0
  262. package/dist/esm/design-system/index.js +3 -0
  263. package/dist/esm/design-system/registration-context.js +1 -0
  264. package/dist/esm/design-token/custom-property-manager.js +216 -0
  265. package/dist/esm/design-token/design-token.js +657 -0
  266. package/dist/esm/design-token/interfaces.js +1 -0
  267. package/dist/esm/di/di.js +1341 -0
  268. package/dist/esm/di/index.js +1 -0
  269. package/dist/esm/dialog/dialog.js +280 -0
  270. package/dist/esm/dialog/dialog.template.js +30 -0
  271. package/dist/esm/dialog/index.js +2 -0
  272. package/dist/esm/directives/reflect-attributes.js +88 -0
  273. package/dist/esm/disclosure/disclosure.js +72 -0
  274. package/dist/esm/disclosure/disclosure.template.js +20 -0
  275. package/dist/esm/disclosure/index.js +2 -0
  276. package/dist/esm/divider/divider.js +39 -0
  277. package/dist/esm/divider/divider.options.js +14 -0
  278. package/dist/esm/divider/divider.template.js +8 -0
  279. package/dist/esm/divider/index.js +2 -0
  280. package/dist/esm/flipper/flipper.js +65 -0
  281. package/dist/esm/flipper/flipper.options.js +8 -0
  282. package/dist/esm/flipper/flipper.template.js +30 -0
  283. package/dist/esm/flipper/index.js +2 -0
  284. package/dist/esm/form-associated/form-associated.js +464 -0
  285. package/dist/esm/form-associated/index.js +1 -0
  286. package/dist/esm/foundation-element/foundation-element.js +132 -0
  287. package/dist/esm/foundation-element/index.js +1 -0
  288. package/dist/esm/horizontal-scroll/horizontal-scroll.js +380 -0
  289. package/dist/esm/horizontal-scroll/horizontal-scroll.template.js +62 -0
  290. package/dist/esm/horizontal-scroll/index.js +2 -0
  291. package/dist/esm/index-rollup.js +2 -0
  292. package/dist/esm/index.js +54 -0
  293. package/dist/esm/interfaces.js +1 -0
  294. package/dist/esm/listbox/index.js +3 -0
  295. package/dist/esm/listbox/listbox.element.js +448 -0
  296. package/dist/esm/listbox/listbox.js +528 -0
  297. package/dist/esm/listbox/listbox.template.js +27 -0
  298. package/dist/esm/listbox-option/index.js +2 -0
  299. package/dist/esm/listbox-option/listbox-option.js +200 -0
  300. package/dist/esm/listbox-option/listbox-option.template.js +25 -0
  301. package/dist/esm/menu/index.js +2 -0
  302. package/dist/esm/menu/menu.js +290 -0
  303. package/dist/esm/menu/menu.template.js +15 -0
  304. package/dist/esm/menu-item/index.js +2 -0
  305. package/dist/esm/menu-item/menu-item.js +251 -0
  306. package/dist/esm/menu-item/menu-item.options.js +26 -0
  307. package/dist/esm/menu-item/menu-item.template.js +78 -0
  308. package/dist/esm/number-field/index.js +2 -0
  309. package/dist/esm/number-field/number-field.form-associated.js +15 -0
  310. package/dist/esm/number-field/number-field.js +288 -0
  311. package/dist/esm/number-field/number-field.template.js +84 -0
  312. package/dist/esm/patterns/aria-global.js +70 -0
  313. package/dist/esm/patterns/index.js +2 -0
  314. package/dist/esm/patterns/start-end.js +84 -0
  315. package/dist/esm/picker/index.js +10 -0
  316. package/dist/esm/picker/picker-list-item.js +71 -0
  317. package/dist/esm/picker/picker-list-item.template.js +17 -0
  318. package/dist/esm/picker/picker-list.js +8 -0
  319. package/dist/esm/picker/picker-list.template.js +13 -0
  320. package/dist/esm/picker/picker-menu-option.js +61 -0
  321. package/dist/esm/picker/picker-menu-option.template.js +16 -0
  322. package/dist/esm/picker/picker-menu.js +59 -0
  323. package/dist/esm/picker/picker-menu.template.js +29 -0
  324. package/dist/esm/picker/picker.form-associated.js +15 -0
  325. package/dist/esm/picker/picker.js +759 -0
  326. package/dist/esm/picker/picker.template.js +97 -0
  327. package/dist/esm/progress/base-progress.js +69 -0
  328. package/dist/esm/progress/index.js +2 -0
  329. package/dist/esm/progress/progress.template.js +31 -0
  330. package/dist/esm/progress-ring/index.js +1 -0
  331. package/dist/esm/progress-ring/progress-ring.template.js +45 -0
  332. package/dist/esm/radio/index.js +2 -0
  333. package/dist/esm/radio/radio.form-associated.js +15 -0
  334. package/dist/esm/radio/radio.js +108 -0
  335. package/dist/esm/radio/radio.template.js +31 -0
  336. package/dist/esm/radio-group/index.js +2 -0
  337. package/dist/esm/radio-group/radio-group.js +390 -0
  338. package/dist/esm/radio-group/radio-group.template.js +29 -0
  339. package/dist/esm/search/index.js +2 -0
  340. package/dist/esm/search/search.form-associated.js +15 -0
  341. package/dist/esm/search/search.js +157 -0
  342. package/dist/esm/search/search.template.js +93 -0
  343. package/dist/esm/select/index.js +3 -0
  344. package/dist/esm/select/select.form-associated.js +15 -0
  345. package/dist/esm/select/select.js +490 -0
  346. package/dist/esm/select/select.options.js +8 -0
  347. package/dist/esm/select/select.template.js +72 -0
  348. package/dist/esm/skeleton/index.js +2 -0
  349. package/dist/esm/skeleton/skeleton.js +35 -0
  350. package/dist/esm/skeleton/skeleton.template.js +20 -0
  351. package/dist/esm/slider/index.js +2 -0
  352. package/dist/esm/slider/slider-utilities.js +11 -0
  353. package/dist/esm/slider/slider.form-associated.js +15 -0
  354. package/dist/esm/slider/slider.js +452 -0
  355. package/dist/esm/slider/slider.template.js +40 -0
  356. package/dist/esm/slider-label/index.js +2 -0
  357. package/dist/esm/slider-label/slider-label.js +158 -0
  358. package/dist/esm/slider-label/slider-label.template.js +24 -0
  359. package/dist/esm/switch/index.js +2 -0
  360. package/dist/esm/switch/switch.form-associated.js +15 -0
  361. package/dist/esm/switch/switch.js +79 -0
  362. package/dist/esm/switch/switch.template.js +37 -0
  363. package/dist/esm/tab/index.js +2 -0
  364. package/dist/esm/tab/tab.js +15 -0
  365. package/dist/esm/tab/tab.template.js +10 -0
  366. package/dist/esm/tab-panel/index.js +2 -0
  367. package/dist/esm/tab-panel/tab-panel.js +10 -0
  368. package/dist/esm/tab-panel/tab-panel.template.js +10 -0
  369. package/dist/esm/tabs/index.js +2 -0
  370. package/dist/esm/tabs/tabs.js +375 -0
  371. package/dist/esm/tabs/tabs.template.js +26 -0
  372. package/dist/esm/test-utilities/fixture.js +90 -0
  373. package/dist/esm/test-utilities/timeout.js +13 -0
  374. package/dist/esm/text-area/index.js +2 -0
  375. package/dist/esm/text-area/text-area.form-associated.js +15 -0
  376. package/dist/esm/text-area/text-area.js +146 -0
  377. package/dist/esm/text-area/text-area.options.js +22 -0
  378. package/dist/esm/text-area/text-area.template.js +64 -0
  379. package/dist/esm/text-field/index.js +2 -0
  380. package/dist/esm/text-field/text-field.form-associated.js +15 -0
  381. package/dist/esm/text-field/text-field.js +183 -0
  382. package/dist/esm/text-field/text-field.options.js +26 -0
  383. package/dist/esm/text-field/text-field.template.js +70 -0
  384. package/dist/esm/toolbar/index.js +2 -0
  385. package/dist/esm/toolbar/toolbar.js +271 -0
  386. package/dist/esm/toolbar/toolbar.template.js +37 -0
  387. package/dist/esm/tooltip/index.js +2 -0
  388. package/dist/esm/tooltip/tooltip.js +512 -0
  389. package/dist/esm/tooltip/tooltip.options.js +63 -0
  390. package/dist/esm/tooltip/tooltip.template.js +32 -0
  391. package/dist/esm/tree-item/index.js +2 -0
  392. package/dist/esm/tree-item/tree-item.js +150 -0
  393. package/dist/esm/tree-item/tree-item.template.js +52 -0
  394. package/dist/esm/tree-view/index.js +2 -0
  395. package/dist/esm/tree-view/tree-view.js +268 -0
  396. package/dist/esm/tree-view/tree-view.template.js +18 -0
  397. package/dist/esm/utilities/apply-mixins.js +20 -0
  398. package/dist/esm/utilities/composed-contains.js +22 -0
  399. package/dist/esm/utilities/composed-parent.js +23 -0
  400. package/dist/esm/utilities/direction.js +10 -0
  401. package/dist/esm/utilities/index.js +8 -0
  402. package/dist/esm/utilities/intersection-service.js +91 -0
  403. package/dist/esm/utilities/match-media-stylesheet-behavior.js +140 -0
  404. package/dist/esm/utilities/property-stylesheet-behavior.js +52 -0
  405. package/dist/esm/utilities/resize-observer.js +5 -0
  406. package/dist/esm/utilities/root-active-element.js +8 -0
  407. package/dist/esm/utilities/style/disabled.js +5 -0
  408. package/dist/esm/utilities/style/display.js +14 -0
  409. package/dist/esm/utilities/style/focus.js +9 -0
  410. package/dist/esm/utilities/style/index.js +3 -0
  411. package/dist/esm/utilities/whitespace-filter.js +13 -0
  412. package/dist/fast-foundation.d.ts +9744 -0
  413. package/dist/fast-foundation.js +19097 -0
  414. package/dist/fast-foundation.min.js +19 -0
  415. package/dist/tsdoc-metadata.json +11 -0
  416. package/package.json +101 -0
package/README.md ADDED
@@ -0,0 +1,58 @@
1
+ # FAST Foundation
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![npm version](https://badge.fury.io/js/%40microsoft%2Ffast-foundation.svg)](https://badge.fury.io/js/%40microsoft%2Ffast-foundation)
5
+
6
+ The `fast-foundation` package is a library of Web Component classes, templates, and other utilities intended to be composed into registered Web Components by design systems (e.g. Fluent Design, Material Design, etc.). The exports of this package can generally be thought of as un-styled base components that implement semantic and accessible markup and behavior.
7
+
8
+ This package does not export Web Components registered as [custom elements](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements) - it exports parts and pieces intended to be *composed* into Web Components, allowing you to implement your own design language by simply applying CSS styles and behaviors without having to write all the JavaScript that's involved in building production-quality component implementations.
9
+
10
+ ## Installation
11
+
12
+ ### From NPM
13
+
14
+ To install the `fast-foundation` library, use either `npm` or `yarn` as follows:
15
+
16
+ ```shell
17
+ npm install --save @microsoft/fast-foundation
18
+ ```
19
+
20
+ ```shell
21
+ yarn add @microsoft/fast-foundation
22
+ ```
23
+
24
+ Within your JavaScript or TypeScript code, you can then import library APIs like this:
25
+
26
+ ```ts
27
+ import { Anchor } from '@microsoft/fast-foundation';
28
+ ```
29
+
30
+ Looking for a setup that integrates with a particular front-end framework or bundler? Check out [our integration docs](https://fast.design/docs/integrations/introduction).
31
+
32
+ ### From CDN
33
+
34
+ A pre-bundled script that contains all APIs needed to use FAST Foundation is available on CDN. You can use this script by adding [`type="module"`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) to the script element and then importing from the CDN.
35
+
36
+ ```html
37
+ <!DOCTYPE html>
38
+ <html lang="en">
39
+ <head>
40
+ <script type="module">
41
+ import { Anchor } from "https://cdn.jsdelivr.net/npm/@microsoft/fast-foundation/dist/fast-foundation.min.js";
42
+
43
+ // your code here
44
+ </script>
45
+ </head>
46
+ <!-- ... -->
47
+ </html>
48
+ ```
49
+
50
+ The markup above always references the latest release. When deploying to production, you will want to ship with a specific version. Here's an example of the markup for that:
51
+
52
+ ```html
53
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@microsoft/fast-foundation@2.26.2/dist/fast-foundation.min.js"></script>
54
+ ```
55
+
56
+ :::note
57
+ For simplicity, examples throughout the documentation will assume the library has been installed from NPM, but you can always replace the import location with the CDN URL.
58
+ :::
@@ -0,0 +1,65 @@
1
+ import { FoundationElement } from "../foundation-element/foundation-element.js";
2
+ /**
3
+ * Expand mode for {@link Accordion}
4
+ * @public
5
+ */
6
+ export declare const AccordionExpandMode: {
7
+ /**
8
+ * Designates only a single {@link @ni/fast-foundation#(AccordionItem:class) } can be open a time.
9
+ */
10
+ readonly single: "single";
11
+ /**
12
+ * Designates multiple {@link @ni/fast-foundation#(AccordionItem:class) | AccordionItems} can be open simultaneously.
13
+ */
14
+ readonly multi: "multi";
15
+ };
16
+ /**
17
+ * Type for the {@link Accordion} Expand Mode
18
+ * @public
19
+ */
20
+ export type AccordionExpandMode = typeof AccordionExpandMode[keyof typeof AccordionExpandMode];
21
+ /**
22
+ * An Accordion Custom HTML Element
23
+ * Implements {@link https://www.w3.org/TR/wai-aria-practices-1.1/#accordion | ARIA Accordion}.
24
+ *
25
+ * @fires change - Fires a custom 'change' event when the active item changes
26
+ * @csspart item - The slot for the accordion items
27
+ * @public
28
+ *
29
+ * @remarks
30
+ * Designed to be used with {@link @ni/fast-foundation#accordionTemplate} and {@link @ni/fast-foundation#(AccordionItem:class)}.
31
+ */
32
+ export declare class Accordion extends FoundationElement {
33
+ /**
34
+ * Controls the expand mode of the Accordion, either allowing
35
+ * single or multiple item expansion.
36
+ * @public
37
+ *
38
+ * @remarks
39
+ * HTML attribute: expand-mode
40
+ */
41
+ expandmode: AccordionExpandMode;
42
+ /**
43
+ * @internal
44
+ */
45
+ accordionItems: HTMLElement[];
46
+ /**
47
+ * @internal
48
+ */
49
+ accordionItemsChanged(oldValue: HTMLElement[], newValue: HTMLElement[]): void;
50
+ private activeid;
51
+ private activeItemIndex;
52
+ private accordionIds;
53
+ private change;
54
+ private findExpandedItem;
55
+ private setItems;
56
+ private resetItems;
57
+ private removeItemListeners;
58
+ private activeItemChange;
59
+ private getItemIds;
60
+ private isSingleExpandMode;
61
+ private handleItemKeyDown;
62
+ private handleItemFocus;
63
+ private adjust;
64
+ private focusItem;
65
+ }
@@ -0,0 +1,8 @@
1
+ import type { ViewTemplate } from "@ni/fast-element";
2
+ import type { FoundationElementTemplate } from "../foundation-element/foundation-element.js";
3
+ import type { Accordion } from "./accordion.js";
4
+ /**
5
+ * The template for the {@link @ni/fast-foundation#Accordion} component.
6
+ * @public
7
+ */
8
+ export declare const accordionTemplate: FoundationElementTemplate<ViewTemplate<Accordion>>;
@@ -0,0 +1,2 @@
1
+ export * from "./accordion.template.js";
2
+ export * from "./accordion.js";
@@ -0,0 +1,76 @@
1
+ import { SyntheticViewTemplate } from "@ni/fast-element";
2
+ import { FoundationElement, FoundationElementDefinition } from "../foundation-element/foundation-element.js";
3
+ import { StartEnd, StartEndOptions } from "../patterns/start-end.js";
4
+ /**
5
+ * Accordion Item configuration options
6
+ * @public
7
+ */
8
+ export type AccordionItemOptions = FoundationElementDefinition & StartEndOptions & {
9
+ expandedIcon?: string | SyntheticViewTemplate;
10
+ collapsedIcon?: string | SyntheticViewTemplate;
11
+ };
12
+ /**
13
+ * An individual item in an {@link @ni/fast-foundation#(Accordion:class) }.
14
+ *
15
+ * @slot start - Content which can be provided between the heading and the icon
16
+ * @slot end - Content which can be provided between the start slot and icon
17
+ * @slot heading - Content which serves as the accordion item heading and text of the expand button
18
+ * @slot - The default slot for accordion item content
19
+ * @slot expanded-icon - The expanded icon
20
+ * @slot collapsed-icon - The collapsed icon
21
+ * @fires change - Fires a custom 'change' event when the button is invoked
22
+ * @csspart heading - Wraps the button
23
+ * @csspart button - The button which serves to invoke the item
24
+ * @csspart heading-content - Wraps the slot for the heading content within the button
25
+ * @csspart icon - The icon container
26
+ * @csspart expanded-icon - The expanded icon slot
27
+ * @csspart collapsed-icon - The collapsed icon
28
+ * @csspart region - The wrapper for the accordion item content
29
+ *
30
+ * @public
31
+ */
32
+ export declare class AccordionItem extends FoundationElement {
33
+ /**
34
+ * Configures the {@link https://www.w3.org/TR/wai-aria-1.1/#aria-level | level} of the
35
+ * heading element.
36
+ *
37
+ * @defaultValue 2
38
+ * @public
39
+ * @remarks
40
+ * HTML attribute: heading-level
41
+ */
42
+ headinglevel: 1 | 2 | 3 | 4 | 5 | 6;
43
+ /**
44
+ * Expands or collapses the item.
45
+ *
46
+ * @public
47
+ * @remarks
48
+ * HTML attribute: expanded
49
+ */
50
+ expanded: boolean;
51
+ /**
52
+ * The item ID
53
+ *
54
+ * @public
55
+ * @remarks
56
+ * HTML Attribute: id
57
+ */
58
+ id: string;
59
+ /**
60
+ * @internal
61
+ */
62
+ expandbutton: HTMLElement;
63
+ /**
64
+ * @internal
65
+ */
66
+ clickHandler: (e: MouseEvent) => void;
67
+ private change;
68
+ }
69
+ /**
70
+ * Mark internal because exporting class and interface of the same name
71
+ * confuses API documenter.
72
+ * TODO: https://github.com/microsoft/fast/issues/3317
73
+ * @internal
74
+ */
75
+ export interface AccordionItem extends StartEnd {
76
+ }
@@ -0,0 +1,8 @@
1
+ import type { ViewTemplate } from "@ni/fast-element";
2
+ import type { FoundationElementTemplate } from "../foundation-element/foundation-element.js";
3
+ import type { AccordionItem, AccordionItemOptions } from "./accordion-item.js";
4
+ /**
5
+ * The template for the {@link @ni/fast-foundation#(AccordionItem:class)} component.
6
+ * @public
7
+ */
8
+ export declare const accordionItemTemplate: FoundationElementTemplate<ViewTemplate<AccordionItem>, AccordionItemOptions>;
@@ -0,0 +1,2 @@
1
+ export * from "./accordion-item.template.js";
2
+ export * from "./accordion-item.js";
@@ -0,0 +1,128 @@
1
+ import { FoundationElement, FoundationElementDefinition } from "../foundation-element/foundation-element.js";
2
+ import { ARIAGlobalStatesAndProperties, StartEnd, StartEndOptions } from "../patterns/index.js";
3
+ /**
4
+ * Anchor configuration options
5
+ * @public
6
+ */
7
+ export type AnchorOptions = FoundationElementDefinition & StartEndOptions;
8
+ /**
9
+ * An Anchor Custom HTML Element.
10
+ * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element }.
11
+ *
12
+ * @slot start - Content which can be provided before the anchor content
13
+ * @slot end - Content which can be provided after the anchor content
14
+ * @slot - The default slot for anchor content
15
+ * @csspart control - The anchor element
16
+ * @csspart content - The element wrapping anchor content
17
+ *
18
+ * @public
19
+ */
20
+ export declare class Anchor extends FoundationElement {
21
+ /**
22
+ * Prompts the user to save the linked URL. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
23
+ * @public
24
+ * @remarks
25
+ * HTML Attribute: download
26
+ */
27
+ download: string;
28
+ /**
29
+ * The URL the hyperlink references. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
30
+ * @public
31
+ * @remarks
32
+ * HTML Attribute: href
33
+ */
34
+ href: string;
35
+ /**
36
+ * Hints at the language of the referenced resource. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
37
+ * @public
38
+ * @remarks
39
+ * HTML Attribute: hreflang
40
+ */
41
+ hreflang: string;
42
+ /**
43
+ * See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
44
+ * @public
45
+ * @remarks
46
+ * HTML Attribute: ping
47
+ */
48
+ ping: string;
49
+ /**
50
+ * See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
51
+ * @public
52
+ * @remarks
53
+ * HTML Attribute: referrerpolicy
54
+ */
55
+ referrerpolicy: string;
56
+ /**
57
+ * See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
58
+ * @public
59
+ * @remarks
60
+ * HTML Attribute: rel
61
+ */
62
+ rel: string;
63
+ /**
64
+ * See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
65
+ * @public
66
+ * @remarks
67
+ * HTML Attribute: target
68
+ */
69
+ target: "_self" | "_blank" | "_parent" | "_top";
70
+ /**
71
+ * See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | <a> element } for more information.
72
+ * @public
73
+ * @remarks
74
+ * HTML Attribute: type
75
+ */
76
+ type: string;
77
+ /**
78
+ *
79
+ * Default slotted content
80
+ *
81
+ * @internal
82
+ */
83
+ defaultSlottedContent: HTMLElement[];
84
+ /**
85
+ * References the root element
86
+ */
87
+ control: HTMLAnchorElement | undefined;
88
+ /**
89
+ * @internal
90
+ */
91
+ connectedCallback(): void;
92
+ /**
93
+ * Overrides the focus call for where delegatesFocus is unsupported.
94
+ * This check works for Chrome, Edge Chromium, FireFox, and Safari
95
+ * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
96
+ */
97
+ private handleUnsupportedDelegatesFocus;
98
+ }
99
+ /**
100
+ * Includes ARIA states and properties relating to the ARIA link role
101
+ *
102
+ * @public
103
+ */
104
+ export declare class DelegatesARIALink {
105
+ /**
106
+ * See {@link https://www.w3.org/WAI/PF/aria/roles#link} for more information
107
+ * @public
108
+ * @remarks
109
+ * HTML Attribute: aria-expanded
110
+ */
111
+ ariaExpanded: "true" | "false" | string | null;
112
+ }
113
+ /**
114
+ * Mark internal because exporting class and interface of the same name
115
+ * confuses API documenter.
116
+ * TODO: https://github.com/microsoft/fast/issues/3317
117
+ * @internal
118
+ */
119
+ export interface DelegatesARIALink extends ARIAGlobalStatesAndProperties {
120
+ }
121
+ /**
122
+ * Mark internal because exporting class and interface of the same name
123
+ * confuses API documenter.
124
+ * TODO: https://github.com/microsoft/fast/issues/3317
125
+ * @internal
126
+ */
127
+ export interface Anchor extends StartEnd, DelegatesARIALink {
128
+ }
@@ -0,0 +1,8 @@
1
+ import type { ViewTemplate } from "@ni/fast-element";
2
+ import type { FoundationElementTemplate } from "../foundation-element/foundation-element.js";
3
+ import type { Anchor, AnchorOptions } from "./anchor.js";
4
+ /**
5
+ * The template for the {@link @ni/fast-foundation#(Anchor:class)} component.
6
+ * @public
7
+ */
8
+ export declare const anchorTemplate: FoundationElementTemplate<ViewTemplate<Anchor>, AnchorOptions>;
@@ -0,0 +1,2 @@
1
+ export * from "./anchor.template.js";
2
+ export * from "./anchor.js";
@@ -0,0 +1,117 @@
1
+ import type { AutoUpdateMode, AxisPositioningMode, AxisScalingMode, HorizontalPosition, VerticalPosition } from "./anchored-region.js";
2
+ /**
3
+ * A utility interface to store anchored region
4
+ * configurations that correspond to various common flyout
5
+ * positioning schemes
6
+ *
7
+ * @public
8
+ */
9
+ export interface AnchoredRegionConfig {
10
+ /**
11
+ * Whether the region is positioned using css "position: fixed".
12
+ * Otherwise the region uses "position: absolute".
13
+ * Fixed placement allows the region to break out of parent containers,
14
+ */
15
+ readonly fixedPlacement?: boolean;
16
+ /**
17
+ * The auto-update setting of the component
18
+ */
19
+ readonly autoUpdateMode?: AutoUpdateMode;
20
+ /**
21
+ * Sets what logic the component uses to determine vertical placement.
22
+ */
23
+ readonly verticalPositioningMode?: AxisPositioningMode;
24
+ /**
25
+ * The default vertical position of the region relative to the anchor element
26
+ */
27
+ readonly verticalDefaultPosition?: VerticalPosition;
28
+ /**
29
+ * Whether the region overlaps the anchor on the vertical axis
30
+ */
31
+ readonly verticalInset?: boolean;
32
+ /**
33
+ * Defines how the height of the region is calculated
34
+ */
35
+ readonly verticalScaling?: AxisScalingMode;
36
+ /**
37
+ * How short the space allocated to the default position has to be before the tallest area
38
+ * is selected for layout
39
+ */
40
+ readonly verticalThreshold?: number;
41
+ /**
42
+ * Whether the region remains in the viewport (ie. detaches from the anchor) on the vertical axis
43
+ */
44
+ readonly verticalViewportLock?: boolean;
45
+ /**
46
+ * Sets what logic the component uses to determine horizontal placement.
47
+ */
48
+ readonly horizontalPositioningMode?: AxisPositioningMode;
49
+ /**
50
+ * The default horizontal position of the region relative to the anchor element
51
+ */
52
+ readonly horizontalDefaultPosition?: HorizontalPosition;
53
+ /**
54
+ * hether the region overlaps the anchor on the horizontal axis
55
+ */
56
+ readonly horizontalInset?: boolean;
57
+ /**
58
+ * Defines how the width of the region is calculate
59
+ */
60
+ readonly horizontalScaling?: AxisScalingMode;
61
+ /**
62
+ * Whether the region remains in the viewport (ie. detaches from the anchor) on the horizontal axis
63
+ */
64
+ readonly horizontalViewportLock?: boolean;
65
+ /**
66
+ * How short the space allocated to the default position has to be before the widest area
67
+ * is selected for layout
68
+ */
69
+ readonly horizontalThreshold?: number;
70
+ }
71
+ /**
72
+ * Exported configs
73
+ */
74
+ /**
75
+ * A region that always places itself above the anchor, has
76
+ * a width to match the anchor, and is sized vertically by content
77
+ *
78
+ * @public
79
+ */
80
+ export declare const FlyoutPosTop: AnchoredRegionConfig;
81
+ /**
82
+ * A region that always places itself below the anchor, has
83
+ * a width to match the anchor, and is sized vertically by content
84
+ *
85
+ * @public
86
+ */
87
+ export declare const FlyoutPosBottom: AnchoredRegionConfig;
88
+ /**
89
+ * A region that places itself above or below the anchor
90
+ * based on available space, has a width to match the anchor,
91
+ * and is sized vertically by content
92
+ *
93
+ * @public
94
+ */
95
+ export declare const FlyoutPosTallest: AnchoredRegionConfig;
96
+ /**
97
+ * A region that always places itself above the anchor, has
98
+ * a width to match the anchor, and is sized vertically by available space
99
+ *
100
+ * @public
101
+ */
102
+ export declare const FlyoutPosTopFill: AnchoredRegionConfig;
103
+ /**
104
+ * A region that always places itself below the anchor, has
105
+ * a width to match the anchor, and is sized vertically by available space
106
+ *
107
+ * @public
108
+ */
109
+ export declare const FlyoutPosBottomFill: AnchoredRegionConfig;
110
+ /**
111
+ * A region that places itself above or below the anchor
112
+ * based on available space, has a width to match the anchor,
113
+ * and is sized vertically by available space
114
+ *
115
+ * @public
116
+ */
117
+ export declare const FlyoutPosTallestFill: AnchoredRegionConfig;