@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
@@ -0,0 +1,448 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, DOM, nullableNumberConverter, observable } from "@ni/fast-element";
3
+ import { inRange, keyArrowDown, keyArrowUp, keyEnd, keyEscape, keyHome, keySpace, keyTab, } from "@ni/fast-web-utilities";
4
+ import { Listbox } from "./listbox.js";
5
+ /**
6
+ * A Listbox Custom HTML Element.
7
+ * Implements the {@link https://w3c.github.io/aria/#listbox | ARIA listbox }.
8
+ *
9
+ * @public
10
+ */
11
+ export class ListboxElement extends Listbox {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * The index of the most recently checked option.
16
+ *
17
+ * @internal
18
+ * @remarks
19
+ * Multiple-selection mode only.
20
+ */
21
+ this.activeIndex = -1;
22
+ /**
23
+ * The start index when checking a range of options.
24
+ *
25
+ * @internal
26
+ */
27
+ this.rangeStartIndex = -1;
28
+ }
29
+ /**
30
+ * Returns the last checked option.
31
+ *
32
+ * @internal
33
+ */
34
+ get activeOption() {
35
+ return this.options[this.activeIndex];
36
+ }
37
+ /**
38
+ * Returns the list of checked options.
39
+ *
40
+ * @internal
41
+ */
42
+ get checkedOptions() {
43
+ var _a;
44
+ return (_a = this.options) === null || _a === void 0 ? void 0 : _a.filter(o => o.checked);
45
+ }
46
+ /**
47
+ * Returns the index of the first selected option.
48
+ *
49
+ * @internal
50
+ */
51
+ get firstSelectedOptionIndex() {
52
+ return this.options.indexOf(this.firstSelectedOption);
53
+ }
54
+ /**
55
+ * Updates the `ariaActiveDescendant` property when the active index changes.
56
+ *
57
+ * @param prev - the previous active index
58
+ * @param next - the next active index
59
+ *
60
+ * @internal
61
+ */
62
+ activeIndexChanged(prev, next) {
63
+ var _a, _b;
64
+ this.ariaActiveDescendant = (_b = (_a = this.options[next]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "";
65
+ this.focusAndScrollOptionIntoView();
66
+ }
67
+ /**
68
+ * Toggles the checked state for the currently active option.
69
+ *
70
+ * @remarks
71
+ * Multiple-selection mode only.
72
+ *
73
+ * @internal
74
+ */
75
+ checkActiveIndex() {
76
+ if (!this.multiple) {
77
+ return;
78
+ }
79
+ const activeItem = this.activeOption;
80
+ if (activeItem) {
81
+ activeItem.checked = true;
82
+ }
83
+ }
84
+ /**
85
+ * Sets the active index to the first option and marks it as checked.
86
+ *
87
+ * @remarks
88
+ * Multi-selection mode only.
89
+ *
90
+ * @param preserveChecked - mark all options unchecked before changing the active index
91
+ *
92
+ * @internal
93
+ */
94
+ checkFirstOption(preserveChecked = false) {
95
+ if (preserveChecked) {
96
+ if (this.rangeStartIndex === -1) {
97
+ this.rangeStartIndex = this.activeIndex + 1;
98
+ }
99
+ this.options.forEach((o, i) => {
100
+ o.checked = inRange(i, this.rangeStartIndex);
101
+ });
102
+ }
103
+ else {
104
+ this.uncheckAllOptions();
105
+ }
106
+ this.activeIndex = 0;
107
+ this.checkActiveIndex();
108
+ }
109
+ /**
110
+ * Decrements the active index and sets the matching option as checked.
111
+ *
112
+ * @remarks
113
+ * Multi-selection mode only.
114
+ *
115
+ * @param preserveChecked - mark all options unchecked before changing the active index
116
+ *
117
+ * @internal
118
+ */
119
+ checkLastOption(preserveChecked = false) {
120
+ if (preserveChecked) {
121
+ if (this.rangeStartIndex === -1) {
122
+ this.rangeStartIndex = this.activeIndex;
123
+ }
124
+ this.options.forEach((o, i) => {
125
+ o.checked = inRange(i, this.rangeStartIndex, this.options.length);
126
+ });
127
+ }
128
+ else {
129
+ this.uncheckAllOptions();
130
+ }
131
+ this.activeIndex = this.options.length - 1;
132
+ this.checkActiveIndex();
133
+ }
134
+ /**
135
+ * @override
136
+ * @internal
137
+ */
138
+ connectedCallback() {
139
+ super.connectedCallback();
140
+ this.addEventListener("focusout", this.focusoutHandler);
141
+ }
142
+ /**
143
+ * @override
144
+ * @internal
145
+ */
146
+ disconnectedCallback() {
147
+ this.removeEventListener("focusout", this.focusoutHandler);
148
+ super.disconnectedCallback();
149
+ }
150
+ /**
151
+ * Increments the active index and marks the matching option as checked.
152
+ *
153
+ * @remarks
154
+ * Multiple-selection mode only.
155
+ *
156
+ * @param preserveChecked - mark all options unchecked before changing the active index
157
+ *
158
+ * @internal
159
+ */
160
+ checkNextOption(preserveChecked = false) {
161
+ if (preserveChecked) {
162
+ if (this.rangeStartIndex === -1) {
163
+ this.rangeStartIndex = this.activeIndex;
164
+ }
165
+ this.options.forEach((o, i) => {
166
+ o.checked = inRange(i, this.rangeStartIndex, this.activeIndex + 1);
167
+ });
168
+ }
169
+ else {
170
+ this.uncheckAllOptions();
171
+ }
172
+ this.activeIndex += this.activeIndex < this.options.length - 1 ? 1 : 0;
173
+ this.checkActiveIndex();
174
+ }
175
+ /**
176
+ * Decrements the active index and marks the matching option as checked.
177
+ *
178
+ * @remarks
179
+ * Multiple-selection mode only.
180
+ *
181
+ * @param preserveChecked - mark all options unchecked before changing the active index
182
+ *
183
+ * @internal
184
+ */
185
+ checkPreviousOption(preserveChecked = false) {
186
+ if (preserveChecked) {
187
+ if (this.rangeStartIndex === -1) {
188
+ this.rangeStartIndex = this.activeIndex;
189
+ }
190
+ if (this.checkedOptions.length === 1) {
191
+ this.rangeStartIndex += 1;
192
+ }
193
+ this.options.forEach((o, i) => {
194
+ o.checked = inRange(i, this.activeIndex, this.rangeStartIndex);
195
+ });
196
+ }
197
+ else {
198
+ this.uncheckAllOptions();
199
+ }
200
+ this.activeIndex -= this.activeIndex > 0 ? 1 : 0;
201
+ this.checkActiveIndex();
202
+ }
203
+ /**
204
+ * Handles click events for listbox options.
205
+ *
206
+ * @param e - the event object
207
+ *
208
+ * @override
209
+ * @internal
210
+ */
211
+ clickHandler(e) {
212
+ var _a;
213
+ if (!this.multiple) {
214
+ return super.clickHandler(e);
215
+ }
216
+ const captured = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest(`[role=option]`);
217
+ if (!captured || captured.disabled) {
218
+ return;
219
+ }
220
+ this.uncheckAllOptions();
221
+ this.activeIndex = this.options.indexOf(captured);
222
+ this.checkActiveIndex();
223
+ this.toggleSelectedForAllCheckedOptions();
224
+ return true;
225
+ }
226
+ /**
227
+ * @override
228
+ * @internal
229
+ */
230
+ focusAndScrollOptionIntoView() {
231
+ super.focusAndScrollOptionIntoView(this.activeOption);
232
+ }
233
+ /**
234
+ * In multiple-selection mode:
235
+ * If any options are selected, the first selected option is checked when
236
+ * the listbox receives focus. If no options are selected, the first
237
+ * selectable option is checked.
238
+ *
239
+ * @override
240
+ * @internal
241
+ */
242
+ focusinHandler(e) {
243
+ if (!this.multiple) {
244
+ return super.focusinHandler(e);
245
+ }
246
+ if (!this.shouldSkipFocus && e.target === e.currentTarget) {
247
+ this.uncheckAllOptions();
248
+ if (this.activeIndex === -1) {
249
+ this.activeIndex =
250
+ this.firstSelectedOptionIndex !== -1
251
+ ? this.firstSelectedOptionIndex
252
+ : 0;
253
+ }
254
+ this.checkActiveIndex();
255
+ this.setSelectedOptions();
256
+ this.focusAndScrollOptionIntoView();
257
+ }
258
+ this.shouldSkipFocus = false;
259
+ }
260
+ /**
261
+ * Unchecks all options when the listbox loses focus.
262
+ *
263
+ * @internal
264
+ */
265
+ focusoutHandler(e) {
266
+ if (this.multiple) {
267
+ this.uncheckAllOptions();
268
+ }
269
+ }
270
+ /**
271
+ * Handles keydown actions for listbox navigation and typeahead
272
+ *
273
+ * @override
274
+ * @internal
275
+ */
276
+ keydownHandler(e) {
277
+ if (!this.multiple) {
278
+ return super.keydownHandler(e);
279
+ }
280
+ if (this.disabled) {
281
+ return true;
282
+ }
283
+ const { key, shiftKey } = e;
284
+ this.shouldSkipFocus = false;
285
+ switch (key) {
286
+ // Select the first available option
287
+ case keyHome: {
288
+ this.checkFirstOption(shiftKey);
289
+ return;
290
+ }
291
+ // Select the next selectable option
292
+ case keyArrowDown: {
293
+ this.checkNextOption(shiftKey);
294
+ return;
295
+ }
296
+ // Select the previous selectable option
297
+ case keyArrowUp: {
298
+ this.checkPreviousOption(shiftKey);
299
+ return;
300
+ }
301
+ // Select the last available option
302
+ case keyEnd: {
303
+ this.checkLastOption(shiftKey);
304
+ return;
305
+ }
306
+ case keyTab: {
307
+ this.focusAndScrollOptionIntoView();
308
+ return true;
309
+ }
310
+ case keyEscape: {
311
+ this.uncheckAllOptions();
312
+ this.checkActiveIndex();
313
+ return true;
314
+ }
315
+ case keySpace: {
316
+ e.preventDefault();
317
+ if (this.typeAheadExpired) {
318
+ this.toggleSelectedForAllCheckedOptions();
319
+ return;
320
+ }
321
+ }
322
+ // Send key to Typeahead handler
323
+ default: {
324
+ if (key.length === 1) {
325
+ this.handleTypeAhead(`${key}`);
326
+ }
327
+ return true;
328
+ }
329
+ }
330
+ }
331
+ /**
332
+ * Prevents `focusin` events from firing before `click` events when the
333
+ * element is unfocused.
334
+ *
335
+ * @override
336
+ * @internal
337
+ */
338
+ mousedownHandler(e) {
339
+ if (e.offsetX >= 0 && e.offsetX <= this.scrollWidth) {
340
+ return super.mousedownHandler(e);
341
+ }
342
+ }
343
+ /**
344
+ * Switches between single-selection and multi-selection mode.
345
+ *
346
+ * @internal
347
+ */
348
+ multipleChanged(prev, next) {
349
+ var _a;
350
+ this.ariaMultiSelectable = next ? "true" : null;
351
+ (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(o => {
352
+ o.checked = next ? false : undefined;
353
+ });
354
+ this.setSelectedOptions();
355
+ }
356
+ /**
357
+ * Sets an option as selected and gives it focus.
358
+ *
359
+ * @override
360
+ * @public
361
+ */
362
+ setSelectedOptions() {
363
+ if (!this.multiple) {
364
+ super.setSelectedOptions();
365
+ return;
366
+ }
367
+ if (this.$fastController.isConnected && this.options) {
368
+ this.selectedOptions = this.options.filter(o => o.selected);
369
+ this.focusAndScrollOptionIntoView();
370
+ }
371
+ }
372
+ /**
373
+ * Ensures the size is a positive integer when the property is updated.
374
+ *
375
+ * @param prev - the previous size value
376
+ * @param next - the current size value
377
+ *
378
+ * @internal
379
+ */
380
+ sizeChanged(prev, next) {
381
+ var _a;
382
+ const size = Math.max(0, parseInt((_a = next === null || next === void 0 ? void 0 : next.toFixed()) !== null && _a !== void 0 ? _a : "", 10));
383
+ if (size !== next) {
384
+ DOM.queueUpdate(() => {
385
+ this.size = size;
386
+ });
387
+ }
388
+ }
389
+ /**
390
+ * Toggles the selected state of the provided options. If any provided items
391
+ * are in an unselected state, all items are set to selected. If every
392
+ * provided item is selected, they are all unselected.
393
+ *
394
+ * @internal
395
+ */
396
+ toggleSelectedForAllCheckedOptions() {
397
+ const enabledCheckedOptions = this.checkedOptions.filter(o => !o.disabled);
398
+ const force = !enabledCheckedOptions.every(o => o.selected);
399
+ enabledCheckedOptions.forEach(o => (o.selected = force));
400
+ this.selectedIndex = this.options.indexOf(enabledCheckedOptions[enabledCheckedOptions.length - 1]);
401
+ this.setSelectedOptions();
402
+ }
403
+ /**
404
+ * @override
405
+ * @internal
406
+ */
407
+ typeaheadBufferChanged(prev, next) {
408
+ if (!this.multiple) {
409
+ super.typeaheadBufferChanged(prev, next);
410
+ return;
411
+ }
412
+ if (this.$fastController.isConnected) {
413
+ const typeaheadMatches = this.getTypeaheadMatches();
414
+ const activeIndex = this.options.indexOf(typeaheadMatches[0]);
415
+ if (activeIndex > -1) {
416
+ this.activeIndex = activeIndex;
417
+ this.uncheckAllOptions();
418
+ this.checkActiveIndex();
419
+ }
420
+ this.typeAheadExpired = false;
421
+ }
422
+ }
423
+ /**
424
+ * Unchecks all options.
425
+ *
426
+ * @remarks
427
+ * Multiple-selection mode only.
428
+ *
429
+ * @param preserveChecked - reset the rangeStartIndex
430
+ *
431
+ * @internal
432
+ */
433
+ uncheckAllOptions(preserveChecked = false) {
434
+ this.options.forEach(o => (o.checked = this.multiple ? false : undefined));
435
+ if (!preserveChecked) {
436
+ this.rangeStartIndex = -1;
437
+ }
438
+ }
439
+ }
440
+ __decorate([
441
+ observable
442
+ ], ListboxElement.prototype, "activeIndex", void 0);
443
+ __decorate([
444
+ attr({ mode: "boolean" })
445
+ ], ListboxElement.prototype, "multiple", void 0);
446
+ __decorate([
447
+ attr({ converter: nullableNumberConverter })
448
+ ], ListboxElement.prototype, "size", void 0);