@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,380 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, booleanConverter, DOM, nullableNumberConverter, observable, } from "@ni/fast-element";
3
+ import { FoundationElement } from "../foundation-element/foundation-element.js";
4
+ /**
5
+ * A HorizontalScroll Custom HTML Element
6
+ *
7
+ * @slot start - Content which can be provided before the scroll area
8
+ * @slot end - Content which can be provided after the scroll area
9
+ * @csspart scroll-area - Wraps the entire scrollable region
10
+ * @csspart scroll-view - The visible scroll area
11
+ * @csspart content-container - The container for the content
12
+ * @csspart scroll-prev - The previous flipper container
13
+ * @csspart scroll-action-previous - The element wrapping the previous flipper
14
+ * @csspart scroll-next - The next flipper container
15
+ * @csspart scroll-action-next - The element wrapping the next flipper
16
+ * @fires scrollstart - Fires a custom 'scrollstart' event when scrolling
17
+ * @fires scrollend - Fires a custom 'scrollend' event when scrolling stops
18
+ *
19
+ * @public
20
+ */
21
+ export class HorizontalScroll extends FoundationElement {
22
+ constructor() {
23
+ super(...arguments);
24
+ /**
25
+ * @internal
26
+ */
27
+ this.framesPerSecond = 60;
28
+ /**
29
+ * Flag indicating that the items are being updated
30
+ *
31
+ * @internal
32
+ */
33
+ this.updatingItems = false;
34
+ /**
35
+ * Speed of scroll in pixels per second
36
+ * @public
37
+ */
38
+ this.speed = 600;
39
+ /**
40
+ * Attribute used for easing, defaults to ease-in-out
41
+ * @public
42
+ */
43
+ this.easing = "ease-in-out";
44
+ /**
45
+ * Attribute to hide flippers from assistive technology
46
+ * @public
47
+ */
48
+ this.flippersHiddenFromAT = false;
49
+ /**
50
+ * Scrolling state
51
+ * @internal
52
+ */
53
+ this.scrolling = false;
54
+ /**
55
+ * Detects if the component has been resized
56
+ * @internal
57
+ */
58
+ this.resizeDetector = null;
59
+ }
60
+ /**
61
+ * The calculated duration for a frame.
62
+ *
63
+ * @internal
64
+ */
65
+ get frameTime() {
66
+ return 1000 / this.framesPerSecond;
67
+ }
68
+ /**
69
+ * Firing scrollstart and scrollend events
70
+ * @internal
71
+ */
72
+ scrollingChanged(prev, next) {
73
+ if (this.scrollContainer) {
74
+ const event = this.scrolling == true ? "scrollstart" : "scrollend";
75
+ this.$emit(event, this.scrollContainer.scrollLeft);
76
+ }
77
+ }
78
+ /**
79
+ * In RTL mode
80
+ * @internal
81
+ */
82
+ get isRtl() {
83
+ return (this.scrollItems.length > 1 &&
84
+ this.scrollItems[0].offsetLeft > this.scrollItems[1].offsetLeft);
85
+ }
86
+ connectedCallback() {
87
+ super.connectedCallback();
88
+ this.initializeResizeDetector();
89
+ }
90
+ disconnectedCallback() {
91
+ this.disconnectResizeDetector();
92
+ super.disconnectedCallback();
93
+ }
94
+ /**
95
+ * Updates scroll stops and flippers when scroll items change
96
+ * @param previous - current scroll items
97
+ * @param next - new updated scroll items
98
+ * @public
99
+ */
100
+ scrollItemsChanged(previous, next) {
101
+ if (next && !this.updatingItems) {
102
+ DOM.queueUpdate(() => this.setStops());
103
+ }
104
+ }
105
+ /**
106
+ * destroys the instance's resize observer
107
+ * @internal
108
+ */
109
+ disconnectResizeDetector() {
110
+ if (this.resizeDetector) {
111
+ this.resizeDetector.disconnect();
112
+ this.resizeDetector = null;
113
+ }
114
+ }
115
+ /**
116
+ * initializes the instance's resize observer
117
+ * @internal
118
+ */
119
+ initializeResizeDetector() {
120
+ this.disconnectResizeDetector();
121
+ this.resizeDetector = new window.ResizeObserver(this.resized.bind(this));
122
+ this.resizeDetector.observe(this);
123
+ }
124
+ /**
125
+ * Looks for slots and uses child nodes instead
126
+ * @internal
127
+ */
128
+ updateScrollStops() {
129
+ this.updatingItems = true;
130
+ const updatedItems = this.scrollItems.reduce((scrollItems, scrollItem) => {
131
+ if (scrollItem instanceof HTMLSlotElement) {
132
+ return scrollItems.concat(scrollItem.assignedElements());
133
+ }
134
+ scrollItems.push(scrollItem);
135
+ return scrollItems;
136
+ }, []);
137
+ this.scrollItems = updatedItems;
138
+ this.updatingItems = false;
139
+ }
140
+ /**
141
+ * Finds all of the scroll stops between elements
142
+ * @internal
143
+ */
144
+ setStops() {
145
+ this.updateScrollStops();
146
+ const { scrollContainer: container } = this;
147
+ const { scrollLeft } = container;
148
+ const { width: containerWidth, left: containerLeft, } = container.getBoundingClientRect();
149
+ this.width = containerWidth;
150
+ let lastStop = 0;
151
+ let stops = this.scrollItems
152
+ .map((item, index) => {
153
+ const { left, width } = item.getBoundingClientRect();
154
+ const leftPosition = Math.round(left + scrollLeft - containerLeft);
155
+ const right = Math.round(leftPosition + width);
156
+ if (this.isRtl) {
157
+ return -right;
158
+ }
159
+ lastStop = right;
160
+ return index === 0 ? 0 : leftPosition;
161
+ })
162
+ .concat(lastStop);
163
+ /* Fixes a FireFox bug where it doesn't scroll to the start */
164
+ stops = this.fixScrollMisalign(stops);
165
+ /* Sort to zero */
166
+ stops.sort((a, b) => Math.abs(a) - Math.abs(b));
167
+ this.scrollStops = stops;
168
+ this.setFlippers();
169
+ }
170
+ /**
171
+ * Checks to see if the stops are returning values
172
+ * otherwise it will try to reinitialize them
173
+ *
174
+ * @returns boolean indicating that current scrollStops are valid non-zero values
175
+ * @internal
176
+ */
177
+ validateStops(reinit = true) {
178
+ const hasStops = () => !!this.scrollStops.find((stop) => stop > 0);
179
+ if (!hasStops() && reinit) {
180
+ this.setStops();
181
+ }
182
+ return hasStops();
183
+ }
184
+ /**
185
+ *
186
+ */
187
+ fixScrollMisalign(stops) {
188
+ if (this.isRtl && stops.some(stop => stop > 0)) {
189
+ stops.sort((a, b) => b - a);
190
+ const offset = stops[0];
191
+ stops = stops.map(stop => stop - offset);
192
+ }
193
+ return stops;
194
+ }
195
+ /**
196
+ * Sets the controls view if enabled
197
+ * @internal
198
+ */
199
+ setFlippers() {
200
+ var _a, _b;
201
+ const position = this.scrollContainer.scrollLeft;
202
+ (_a = this.previousFlipperContainer) === null || _a === void 0 ? void 0 : _a.classList.toggle("disabled", position === 0);
203
+ if (this.scrollStops) {
204
+ const lastStop = Math.abs(this.scrollStops[this.scrollStops.length - 1]);
205
+ (_b = this.nextFlipperContainer) === null || _b === void 0 ? void 0 : _b.classList.toggle("disabled", this.validateStops(false) && Math.abs(position) + this.width >= lastStop);
206
+ }
207
+ }
208
+ /**
209
+ * Function that can scroll an item into view.
210
+ * @param item - An item index, a scroll item or a child of one of the scroll items
211
+ * @param padding - Padding of the viewport where the active item shouldn't be
212
+ * @param rightPadding - Optional right padding. Uses the padding if not defined
213
+ *
214
+ * @public
215
+ */
216
+ scrollInView(item, padding = 0, rightPadding) {
217
+ var _a;
218
+ if (typeof item !== "number" && item) {
219
+ item = this.scrollItems.findIndex(scrollItem => scrollItem === item || scrollItem.contains(item));
220
+ }
221
+ if (item !== undefined) {
222
+ rightPadding = rightPadding !== null && rightPadding !== void 0 ? rightPadding : padding;
223
+ const { scrollContainer: container, scrollStops, scrollItems: items } = this;
224
+ const { scrollLeft } = this.scrollContainer;
225
+ const { width: containerWidth } = container.getBoundingClientRect();
226
+ const itemStart = scrollStops[item];
227
+ const { width } = items[item].getBoundingClientRect();
228
+ const itemEnd = itemStart + width;
229
+ const isBefore = scrollLeft + padding > itemStart;
230
+ if (isBefore || scrollLeft + containerWidth - rightPadding < itemEnd) {
231
+ const stops = [...scrollStops].sort((a, b) => (isBefore ? b - a : a - b));
232
+ const scrollTo = (_a = stops.find(position => isBefore
233
+ ? position + padding < itemStart
234
+ : position + containerWidth - (rightPadding !== null && rightPadding !== void 0 ? rightPadding : 0) > itemEnd)) !== null && _a !== void 0 ? _a : 0;
235
+ this.scrollToPosition(scrollTo);
236
+ }
237
+ }
238
+ }
239
+ /**
240
+ * Lets the user arrow left and right through the horizontal scroll
241
+ * @param e - Keyboard event
242
+ * @public
243
+ */
244
+ keyupHandler(e) {
245
+ const key = e.key;
246
+ switch (key) {
247
+ case "ArrowLeft":
248
+ this.scrollToPrevious();
249
+ break;
250
+ case "ArrowRight":
251
+ this.scrollToNext();
252
+ break;
253
+ }
254
+ }
255
+ /**
256
+ * Scrolls items to the left
257
+ * @public
258
+ */
259
+ scrollToPrevious() {
260
+ this.validateStops();
261
+ const scrollPosition = this.scrollContainer.scrollLeft;
262
+ const current = this.scrollStops.findIndex((stop, index) => stop >= scrollPosition &&
263
+ (this.isRtl ||
264
+ index === this.scrollStops.length - 1 ||
265
+ this.scrollStops[index + 1] > scrollPosition));
266
+ const right = Math.abs(this.scrollStops[current + 1]);
267
+ let nextIndex = this.scrollStops.findIndex(stop => Math.abs(stop) + this.width > right);
268
+ if (nextIndex >= current || nextIndex === -1) {
269
+ nextIndex = current > 0 ? current - 1 : 0;
270
+ }
271
+ this.scrollToPosition(this.scrollStops[nextIndex], scrollPosition);
272
+ }
273
+ /**
274
+ * Scrolls items to the right
275
+ * @public
276
+ */
277
+ scrollToNext() {
278
+ this.validateStops();
279
+ const scrollPosition = this.scrollContainer.scrollLeft;
280
+ const current = this.scrollStops.findIndex(stop => Math.abs(stop) >= Math.abs(scrollPosition));
281
+ const outOfView = this.scrollStops.findIndex(stop => Math.abs(scrollPosition) + this.width <= Math.abs(stop));
282
+ let nextIndex = current;
283
+ if (outOfView > current + 2) {
284
+ nextIndex = outOfView - 2;
285
+ }
286
+ else if (current < this.scrollStops.length - 2) {
287
+ nextIndex = current + 1;
288
+ }
289
+ this.scrollToPosition(this.scrollStops[nextIndex], scrollPosition);
290
+ }
291
+ /**
292
+ * Handles scrolling with easing
293
+ * @param position - starting position
294
+ * @param newPosition - position to scroll to
295
+ * @public
296
+ */
297
+ scrollToPosition(newPosition, position = this.scrollContainer.scrollLeft) {
298
+ var _a;
299
+ if (this.scrolling) {
300
+ return;
301
+ }
302
+ this.scrolling = true;
303
+ const seconds = (_a = this.duration) !== null && _a !== void 0 ? _a : `${Math.abs(newPosition - position) / this.speed}s`;
304
+ this.content.style.setProperty("transition-duration", seconds);
305
+ const computedDuration = parseFloat(getComputedStyle(this.content).getPropertyValue("transition-duration"));
306
+ const transitionendHandler = (e) => {
307
+ if (e && e.target !== e.currentTarget) {
308
+ return;
309
+ }
310
+ this.content.style.setProperty("transition-duration", "0s");
311
+ this.content.style.removeProperty("transform");
312
+ this.scrollContainer.style.setProperty("scroll-behavior", "auto");
313
+ this.scrollContainer.scrollLeft = newPosition;
314
+ this.setFlippers();
315
+ this.content.removeEventListener("transitionend", transitionendHandler);
316
+ this.scrolling = false;
317
+ };
318
+ if (computedDuration === 0) {
319
+ transitionendHandler();
320
+ return;
321
+ }
322
+ this.content.addEventListener("transitionend", transitionendHandler);
323
+ const maxScrollValue = this.scrollContainer.scrollWidth - this.scrollContainer.clientWidth;
324
+ let transitionStop = this.scrollContainer.scrollLeft - Math.min(newPosition, maxScrollValue);
325
+ if (this.isRtl) {
326
+ transitionStop =
327
+ this.scrollContainer.scrollLeft +
328
+ Math.min(Math.abs(newPosition), maxScrollValue);
329
+ }
330
+ this.content.style.setProperty("transition-property", "transform");
331
+ this.content.style.setProperty("transition-timing-function", this.easing);
332
+ this.content.style.setProperty("transform", `translateX(${transitionStop}px)`);
333
+ }
334
+ /**
335
+ * Monitors resize event on the horizontal-scroll element
336
+ * @public
337
+ */
338
+ resized() {
339
+ if (this.resizeTimeout) {
340
+ this.resizeTimeout = clearTimeout(this.resizeTimeout);
341
+ }
342
+ this.resizeTimeout = setTimeout(() => {
343
+ this.width = this.scrollContainer.offsetWidth;
344
+ this.setFlippers();
345
+ }, this.frameTime);
346
+ }
347
+ /**
348
+ * Monitors scrolled event on the content container
349
+ * @public
350
+ */
351
+ scrolled() {
352
+ if (this.scrollTimeout) {
353
+ this.scrollTimeout = clearTimeout(this.scrollTimeout);
354
+ }
355
+ this.scrollTimeout = setTimeout(() => {
356
+ this.setFlippers();
357
+ }, this.frameTime);
358
+ }
359
+ }
360
+ __decorate([
361
+ attr({ converter: nullableNumberConverter })
362
+ ], HorizontalScroll.prototype, "speed", void 0);
363
+ __decorate([
364
+ attr
365
+ ], HorizontalScroll.prototype, "duration", void 0);
366
+ __decorate([
367
+ attr
368
+ ], HorizontalScroll.prototype, "easing", void 0);
369
+ __decorate([
370
+ attr({ attribute: "flippers-hidden-from-at", converter: booleanConverter })
371
+ ], HorizontalScroll.prototype, "flippersHiddenFromAT", void 0);
372
+ __decorate([
373
+ observable
374
+ ], HorizontalScroll.prototype, "scrolling", void 0);
375
+ __decorate([
376
+ observable
377
+ ], HorizontalScroll.prototype, "scrollItems", void 0);
378
+ __decorate([
379
+ attr({ attribute: "view" })
380
+ ], HorizontalScroll.prototype, "view", void 0);
@@ -0,0 +1,62 @@
1
+ import { elements, html, ref, slotted, when, } from "@ni/fast-element";
2
+ import { endSlotTemplate, startSlotTemplate } from "../patterns/start-end.js";
3
+ /**
4
+ * @public
5
+ */
6
+ export const horizontalScrollTemplate = (context, definition) => {
7
+ var _a, _b;
8
+ return html `
9
+ <template
10
+ class="horizontal-scroll"
11
+ @keyup="${(x, c) => x.keyupHandler(c.event)}"
12
+ >
13
+ ${startSlotTemplate(context, definition)}
14
+ <div class="scroll-area" part="scroll-area">
15
+ <div
16
+ class="scroll-view"
17
+ part="scroll-view"
18
+ @scroll="${x => x.scrolled()}"
19
+ ${ref("scrollContainer")}
20
+ >
21
+ <div class="content-container" part="content-container" ${ref("content")}>
22
+ <slot
23
+ ${slotted({
24
+ property: "scrollItems",
25
+ filter: elements(),
26
+ })}
27
+ ></slot>
28
+ </div>
29
+ </div>
30
+ ${when(x => x.view !== "mobile", html `
31
+ <div
32
+ class="scroll scroll-prev"
33
+ part="scroll-prev"
34
+ ${ref("previousFlipperContainer")}
35
+ >
36
+ <div class="scroll-action" part="scroll-action-previous">
37
+ <slot name="previous-flipper">
38
+ ${definition.previousFlipper instanceof Function
39
+ ? definition.previousFlipper(context, definition)
40
+ : (_a = definition.previousFlipper) !== null && _a !== void 0 ? _a : ""}
41
+ </slot>
42
+ </div>
43
+ </div>
44
+ <div
45
+ class="scroll scroll-next"
46
+ part="scroll-next"
47
+ ${ref("nextFlipperContainer")}
48
+ >
49
+ <div class="scroll-action" part="scroll-action-next">
50
+ <slot name="next-flipper">
51
+ ${definition.nextFlipper instanceof Function
52
+ ? definition.nextFlipper(context, definition)
53
+ : (_b = definition.nextFlipper) !== null && _b !== void 0 ? _b : ""}
54
+ </slot>
55
+ </div>
56
+ </div>
57
+ `)}
58
+ </div>
59
+ ${endSlotTemplate(context, definition)}
60
+ </template>
61
+ `;
62
+ };
@@ -0,0 +1,2 @@
1
+ export * from "./horizontal-scroll.js";
2
+ export * from "./horizontal-scroll.template.js";
@@ -0,0 +1,2 @@
1
+ export * from "./index.js";
2
+ export * from "@ni/fast-element";
@@ -0,0 +1,54 @@
1
+ export * from "./accordion-item/index.js";
2
+ export * from "./accordion/index.js";
3
+ export * from "./anchor/index.js";
4
+ export * from "./anchored-region/index.js";
5
+ export * from "./avatar/index.js";
6
+ export * from "./badge/index.js";
7
+ export * from "./breadcrumb-item/index.js";
8
+ export * from "./breadcrumb/index.js";
9
+ export * from "./button/index.js";
10
+ export * from "./calendar/index.js";
11
+ export * from "./card/index.js";
12
+ export * from "./checkbox/index.js";
13
+ export * from "./combobox/index.js";
14
+ export * from "./data-grid/index.js";
15
+ export * from "./design-system/index.js";
16
+ export { DesignToken, } from "./design-token/design-token.js";
17
+ export {} from "./design-token/interfaces.js";
18
+ export * from "./di/index.js";
19
+ export * from "./dialog/index.js";
20
+ export { reflectAttributes } from "./directives/reflect-attributes.js";
21
+ export * from "./disclosure/index.js";
22
+ export * from "./divider/index.js";
23
+ export * from "./flipper/index.js";
24
+ export * from "./form-associated/index.js";
25
+ export * from "./foundation-element/index.js";
26
+ export * from "./listbox-option/index.js";
27
+ export * from "./listbox/index.js";
28
+ export * from "./picker/index.js";
29
+ export * from "./menu-item/index.js";
30
+ export * from "./menu/index.js";
31
+ export * from "./number-field/index.js";
32
+ export * from "./patterns/index.js";
33
+ export * from "./progress-ring/index.js";
34
+ export * from "./progress/index.js";
35
+ export * from "./radio-group/index.js";
36
+ export * from "./radio/index.js";
37
+ export * from "./horizontal-scroll/index.js";
38
+ export * from "./search/index.js";
39
+ export * from "./select/index.js";
40
+ export * from "./skeleton/index.js";
41
+ export * from "./slider-label/index.js";
42
+ export * from "./slider/index.js";
43
+ export * from "./switch/index.js";
44
+ export * from "./tab-panel/index.js";
45
+ export * from "./tab/index.js";
46
+ export * from "./tabs/index.js";
47
+ export * from "./text-area/index.js";
48
+ export * from "./text-field/index.js";
49
+ export * from "./toolbar/index.js";
50
+ export * from "./tooltip/index.js";
51
+ export * from "./tree-item/index.js";
52
+ export * from "./tree-view/index.js";
53
+ // export our utilities
54
+ export * from "./utilities/index.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from "./listbox.js";
2
+ export * from "./listbox.element.js";
3
+ export * from "./listbox.template.js";