@vuu-ui/vuu-ui-controls 0.0.26

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 (823) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +0 -0
  3. package/cjs/calendar/Calendar.css.js +6 -0
  4. package/cjs/calendar/Calendar.css.js.map +1 -0
  5. package/cjs/calendar/Calendar.js +74 -0
  6. package/cjs/calendar/Calendar.js.map +1 -0
  7. package/cjs/calendar/internal/CalendarCarousel.css.js +6 -0
  8. package/cjs/calendar/internal/CalendarCarousel.css.js.map +1 -0
  9. package/cjs/calendar/internal/CalendarCarousel.js +97 -0
  10. package/cjs/calendar/internal/CalendarCarousel.js.map +1 -0
  11. package/cjs/calendar/internal/CalendarContext.js +19 -0
  12. package/cjs/calendar/internal/CalendarContext.js.map +1 -0
  13. package/cjs/calendar/internal/CalendarDay.css.js +6 -0
  14. package/cjs/calendar/internal/CalendarDay.css.js.map +1 -0
  15. package/cjs/calendar/internal/CalendarDay.js +83 -0
  16. package/cjs/calendar/internal/CalendarDay.js.map +1 -0
  17. package/cjs/calendar/internal/CalendarMonth.css.js +6 -0
  18. package/cjs/calendar/internal/CalendarMonth.css.js.map +1 -0
  19. package/cjs/calendar/internal/CalendarMonth.js +73 -0
  20. package/cjs/calendar/internal/CalendarMonth.js.map +1 -0
  21. package/cjs/calendar/internal/CalendarNavigation.css.js +6 -0
  22. package/cjs/calendar/internal/CalendarNavigation.css.js.map +1 -0
  23. package/cjs/calendar/internal/CalendarNavigation.js +250 -0
  24. package/cjs/calendar/internal/CalendarNavigation.js.map +1 -0
  25. package/cjs/calendar/internal/CalendarWeekHeader.css.js +6 -0
  26. package/cjs/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
  27. package/cjs/calendar/internal/CalendarWeekHeader.js +43 -0
  28. package/cjs/calendar/internal/CalendarWeekHeader.js.map +1 -0
  29. package/cjs/calendar/internal/useFocusManagement.js +63 -0
  30. package/cjs/calendar/internal/useFocusManagement.js.map +1 -0
  31. package/cjs/calendar/internal/utils.js +63 -0
  32. package/cjs/calendar/internal/utils.js.map +1 -0
  33. package/cjs/calendar/useCalendar.js +131 -0
  34. package/cjs/calendar/useCalendar.js.map +1 -0
  35. package/cjs/calendar/useCalendarDay.js +70 -0
  36. package/cjs/calendar/useCalendarDay.js.map +1 -0
  37. package/cjs/calendar/useSelection.js +242 -0
  38. package/cjs/calendar/useSelection.js.map +1 -0
  39. package/cjs/combo-box/ComboBox.js +191 -0
  40. package/cjs/combo-box/ComboBox.js.map +1 -0
  41. package/cjs/combo-box/useCombobox.js +358 -0
  42. package/cjs/combo-box/useCombobox.js.map +1 -0
  43. package/cjs/common-hooks/collectionProvider.js +24 -0
  44. package/cjs/common-hooks/collectionProvider.js.map +1 -0
  45. package/cjs/common-hooks/isPlainObject.js +6 -0
  46. package/cjs/common-hooks/isPlainObject.js.map +1 -0
  47. package/cjs/common-hooks/itemToString.js +24 -0
  48. package/cjs/common-hooks/itemToString.js.map +1 -0
  49. package/cjs/common-hooks/selectionTypes.js +18 -0
  50. package/cjs/common-hooks/selectionTypes.js.map +1 -0
  51. package/cjs/common-hooks/use-resize-observer.js +123 -0
  52. package/cjs/common-hooks/use-resize-observer.js.map +1 -0
  53. package/cjs/common-hooks/useCollectionItems.js +309 -0
  54. package/cjs/common-hooks/useCollectionItems.js.map +1 -0
  55. package/cjs/common-hooks/useControlled.js +58 -0
  56. package/cjs/common-hooks/useControlled.js.map +1 -0
  57. package/cjs/common-hooks/useSelection.js +212 -0
  58. package/cjs/common-hooks/useSelection.js.map +1 -0
  59. package/cjs/common-hooks/useStateRef.js +23 -0
  60. package/cjs/common-hooks/useStateRef.js.map +1 -0
  61. package/cjs/cycle-state-button/CycleStateButton.js +54 -0
  62. package/cjs/cycle-state-button/CycleStateButton.js.map +1 -0
  63. package/cjs/date-input/DateInput.css.js +6 -0
  64. package/cjs/date-input/DateInput.css.js.map +1 -0
  65. package/cjs/date-input/DateInput.js +90 -0
  66. package/cjs/date-input/DateInput.js.map +1 -0
  67. package/cjs/date-input/DateRangeInput.js +77 -0
  68. package/cjs/date-input/DateRangeInput.js.map +1 -0
  69. package/cjs/date-input/useDatePicker.js +20 -0
  70. package/cjs/date-input/useDatePicker.js.map +1 -0
  71. package/cjs/date-popup/DatePopup.js +90 -0
  72. package/cjs/date-popup/DatePopup.js.map +1 -0
  73. package/cjs/date-popup/useDatePopup.js +77 -0
  74. package/cjs/date-popup/useDatePopup.js.map +1 -0
  75. package/cjs/drag-drop/DragDropProvider.js +145 -0
  76. package/cjs/drag-drop/DragDropProvider.js.map +1 -0
  77. package/cjs/drag-drop/DragDropState.js +29 -0
  78. package/cjs/drag-drop/DragDropState.js.map +1 -0
  79. package/cjs/drag-drop/Draggable.css.js +6 -0
  80. package/cjs/drag-drop/Draggable.css.js.map +1 -0
  81. package/cjs/drag-drop/Draggable.js +95 -0
  82. package/cjs/drag-drop/Draggable.js.map +1 -0
  83. package/cjs/drag-drop/dragDropTypes.js +8 -0
  84. package/cjs/drag-drop/dragDropTypes.js.map +1 -0
  85. package/cjs/drag-drop/drop-target-utils.js +245 -0
  86. package/cjs/drag-drop/drop-target-utils.js.map +1 -0
  87. package/cjs/drag-drop/useAutoScroll.js +71 -0
  88. package/cjs/drag-drop/useAutoScroll.js.map +1 -0
  89. package/cjs/drag-drop/useDragDisplacers.js +160 -0
  90. package/cjs/drag-drop/useDragDisplacers.js.map +1 -0
  91. package/cjs/drag-drop/useDragDrop.js +499 -0
  92. package/cjs/drag-drop/useDragDrop.js.map +1 -0
  93. package/cjs/drag-drop/useDragDropCopy.js +34 -0
  94. package/cjs/drag-drop/useDragDropCopy.js.map +1 -0
  95. package/cjs/drag-drop/useDragDropIndicator.js +251 -0
  96. package/cjs/drag-drop/useDragDropIndicator.js.map +1 -0
  97. package/cjs/drag-drop/useDragDropNaturalMovement.js +264 -0
  98. package/cjs/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  99. package/cjs/drag-drop/useDropIndicator.js +27 -0
  100. package/cjs/drag-drop/useDropIndicator.js.map +1 -0
  101. package/cjs/drag-drop/useGlobalDragDrop.js +89 -0
  102. package/cjs/drag-drop/useGlobalDragDrop.js.map +1 -0
  103. package/cjs/dropdown/Dropdown.css.js +6 -0
  104. package/cjs/dropdown/Dropdown.css.js.map +1 -0
  105. package/cjs/dropdown/Dropdown.js +150 -0
  106. package/cjs/dropdown/Dropdown.js.map +1 -0
  107. package/cjs/dropdown/DropdownBase.js +121 -0
  108. package/cjs/dropdown/DropdownBase.js.map +1 -0
  109. package/cjs/dropdown/DropdownButton.css.js +6 -0
  110. package/cjs/dropdown/DropdownButton.css.js.map +1 -0
  111. package/cjs/dropdown/DropdownButton.js +72 -0
  112. package/cjs/dropdown/DropdownButton.js.map +1 -0
  113. package/cjs/dropdown/useClickAway.js +67 -0
  114. package/cjs/dropdown/useClickAway.js.map +1 -0
  115. package/cjs/dropdown/useDropdown.js +115 -0
  116. package/cjs/dropdown/useDropdown.js.map +1 -0
  117. package/cjs/dropdown/useDropdownBase.js +169 -0
  118. package/cjs/dropdown/useDropdownBase.js.map +1 -0
  119. package/cjs/editable/editable-utils.js +37 -0
  120. package/cjs/editable/editable-utils.js.map +1 -0
  121. package/cjs/editable/useEditableText.js +106 -0
  122. package/cjs/editable/useEditableText.js.map +1 -0
  123. package/cjs/editable-label/EditableLabel.css.js +6 -0
  124. package/cjs/editable-label/EditableLabel.css.js.map +1 -0
  125. package/cjs/editable-label/EditableLabel.js +138 -0
  126. package/cjs/editable-label/EditableLabel.js.map +1 -0
  127. package/cjs/expando-input/ExpandoInput.css.js +6 -0
  128. package/cjs/expando-input/ExpandoInput.css.js.map +1 -0
  129. package/cjs/expando-input/ExpandoInput.js +53 -0
  130. package/cjs/expando-input/ExpandoInput.js.map +1 -0
  131. package/cjs/icon-button/Icon.css.js +6 -0
  132. package/cjs/icon-button/Icon.css.js.map +1 -0
  133. package/cjs/icon-button/Icon.js +37 -0
  134. package/cjs/icon-button/Icon.js.map +1 -0
  135. package/cjs/icon-button/IconButton.css.js +6 -0
  136. package/cjs/icon-button/IconButton.css.js.map +1 -0
  137. package/cjs/icon-button/IconButton.js +26 -0
  138. package/cjs/icon-button/IconButton.js.map +1 -0
  139. package/cjs/index.js +231 -0
  140. package/cjs/index.js.map +1 -0
  141. package/cjs/inputs/Checkbox.css.js +6 -0
  142. package/cjs/inputs/Checkbox.css.js.map +1 -0
  143. package/cjs/inputs/Checkbox.js +32 -0
  144. package/cjs/inputs/Checkbox.js.map +1 -0
  145. package/cjs/inputs/RadioButton.css.js +6 -0
  146. package/cjs/inputs/RadioButton.css.js.map +1 -0
  147. package/cjs/inputs/RadioButton.js +39 -0
  148. package/cjs/inputs/RadioButton.js.map +1 -0
  149. package/cjs/instrument-picker/InstrumentPicker.css.js +6 -0
  150. package/cjs/instrument-picker/InstrumentPicker.css.js.map +1 -0
  151. package/cjs/instrument-picker/InstrumentPicker.js +113 -0
  152. package/cjs/instrument-picker/InstrumentPicker.js.map +1 -0
  153. package/cjs/instrument-picker/SearchCell.css.js +6 -0
  154. package/cjs/instrument-picker/SearchCell.css.js.map +1 -0
  155. package/cjs/instrument-picker/SearchCell.js +33 -0
  156. package/cjs/instrument-picker/SearchCell.js.map +1 -0
  157. package/cjs/instrument-picker/useInstrumentPicker.js +87 -0
  158. package/cjs/instrument-picker/useInstrumentPicker.js.map +1 -0
  159. package/cjs/instrument-search/InstrumentSearch.css.js +6 -0
  160. package/cjs/instrument-search/InstrumentSearch.css.js.map +1 -0
  161. package/cjs/instrument-search/InstrumentSearch.js +96 -0
  162. package/cjs/instrument-search/InstrumentSearch.js.map +1 -0
  163. package/cjs/instrument-search/SearchCell.css.js +6 -0
  164. package/cjs/instrument-search/SearchCell.css.js.map +1 -0
  165. package/cjs/instrument-search/SearchCell.js +33 -0
  166. package/cjs/instrument-search/SearchCell.js.map +1 -0
  167. package/cjs/instrument-search/useInstrumentSearch.js +39 -0
  168. package/cjs/instrument-search/useInstrumentSearch.js.map +1 -0
  169. package/cjs/list/CheckboxIcon.css.js +6 -0
  170. package/cjs/list/CheckboxIcon.css.js.map +1 -0
  171. package/cjs/list/CheckboxIcon.js +33 -0
  172. package/cjs/list/CheckboxIcon.js.map +1 -0
  173. package/cjs/list/ChevronIcon.css.js +6 -0
  174. package/cjs/list/ChevronIcon.css.js.map +1 -0
  175. package/cjs/list/ChevronIcon.js +22 -0
  176. package/cjs/list/ChevronIcon.js.map +1 -0
  177. package/cjs/list/Highlighter.css.js +6 -0
  178. package/cjs/list/Highlighter.css.js.map +1 -0
  179. package/cjs/list/Highlighter.js +36 -0
  180. package/cjs/list/Highlighter.js.map +1 -0
  181. package/cjs/list/List.css.js +6 -0
  182. package/cjs/list/List.css.js.map +1 -0
  183. package/cjs/list/List.js +317 -0
  184. package/cjs/list/List.js.map +1 -0
  185. package/cjs/list/ListItem.css.js +6 -0
  186. package/cjs/list/ListItem.css.js.map +1 -0
  187. package/cjs/list/ListItem.js +84 -0
  188. package/cjs/list/ListItem.js.map +1 -0
  189. package/cjs/list/ListItemGroup.js +6 -0
  190. package/cjs/list/ListItemGroup.js.map +1 -0
  191. package/cjs/list/ListItemHeader.js +6 -0
  192. package/cjs/list/ListItemHeader.js.map +1 -0
  193. package/cjs/list/RadioIcon.css.js +6 -0
  194. package/cjs/list/RadioIcon.css.js.map +1 -0
  195. package/cjs/list/RadioIcon.js +27 -0
  196. package/cjs/list/RadioIcon.js.map +1 -0
  197. package/cjs/list/common-hooks/keyUtils.js +78 -0
  198. package/cjs/list/common-hooks/keyUtils.js.map +1 -0
  199. package/cjs/list/common-hooks/list-dom-utils.js +25 -0
  200. package/cjs/list/common-hooks/list-dom-utils.js.map +1 -0
  201. package/cjs/list/common-hooks/useCollapsibleGroups.js +82 -0
  202. package/cjs/list/common-hooks/useCollapsibleGroups.js.map +1 -0
  203. package/cjs/list/common-hooks/useImperativeScrollingAPI.js +52 -0
  204. package/cjs/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
  205. package/cjs/list/common-hooks/useKeyboardNavigation.js +289 -0
  206. package/cjs/list/common-hooks/useKeyboardNavigation.js.map +1 -0
  207. package/cjs/list/common-hooks/useTypeahead.js +74 -0
  208. package/cjs/list/common-hooks/useTypeahead.js.map +1 -0
  209. package/cjs/list/common-hooks/useViewportTracking.js +133 -0
  210. package/cjs/list/common-hooks/useViewportTracking.js.map +1 -0
  211. package/cjs/list/common-hooks/utils/collection-item-utils.js +181 -0
  212. package/cjs/list/common-hooks/utils/collection-item-utils.js.map +1 -0
  213. package/cjs/list/common-hooks/utils/filter-utils.js +11 -0
  214. package/cjs/list/common-hooks/utils/filter-utils.js.map +1 -0
  215. package/cjs/list/common-hooks/utils/isSelected.js +9 -0
  216. package/cjs/list/common-hooks/utils/isSelected.js.map +1 -0
  217. package/cjs/list/useList.js +278 -0
  218. package/cjs/list/useList.js.map +1 -0
  219. package/cjs/list/useListDrop.js +92 -0
  220. package/cjs/list/useListDrop.js.map +1 -0
  221. package/cjs/list/useListHeight.js +77 -0
  222. package/cjs/list/useListHeight.js.map +1 -0
  223. package/cjs/list/useScrollPosition.js +74 -0
  224. package/cjs/list/useScrollPosition.js.map +1 -0
  225. package/cjs/measured-container/MeasuredContainer.css.js +6 -0
  226. package/cjs/measured-container/MeasuredContainer.css.js.map +1 -0
  227. package/cjs/measured-container/MeasuredContainer.js +69 -0
  228. package/cjs/measured-container/MeasuredContainer.js.map +1 -0
  229. package/cjs/measured-container/useMeasuredContainer.js +127 -0
  230. package/cjs/measured-container/useMeasuredContainer.js.map +1 -0
  231. package/cjs/measured-container/useResizeObserver.js +130 -0
  232. package/cjs/measured-container/useResizeObserver.js.map +1 -0
  233. package/cjs/overflow-container/OverflowContainer.css.js +6 -0
  234. package/cjs/overflow-container/OverflowContainer.css.js.map +1 -0
  235. package/cjs/overflow-container/OverflowContainer.js +142 -0
  236. package/cjs/overflow-container/OverflowContainer.js.map +1 -0
  237. package/cjs/overflow-container/overflow-utils.js +286 -0
  238. package/cjs/overflow-container/overflow-utils.js.map +1 -0
  239. package/cjs/overflow-container/useOverflowContainer.js +143 -0
  240. package/cjs/overflow-container/useOverflowContainer.js.map +1 -0
  241. package/cjs/price-ticker/PriceTicker.css.js +6 -0
  242. package/cjs/price-ticker/PriceTicker.css.js.map +1 -0
  243. package/cjs/price-ticker/PriceTicker.js +50 -0
  244. package/cjs/price-ticker/PriceTicker.js.map +1 -0
  245. package/cjs/split-button/SplitButton.css.js +6 -0
  246. package/cjs/split-button/SplitButton.css.js.map +1 -0
  247. package/cjs/split-button/SplitButton.js +81 -0
  248. package/cjs/split-button/SplitButton.js.map +1 -0
  249. package/cjs/split-button/SplitStateButton.css.js +6 -0
  250. package/cjs/split-button/SplitStateButton.css.js.map +1 -0
  251. package/cjs/split-button/SplitStateButton.js +31 -0
  252. package/cjs/split-button/SplitStateButton.js.map +1 -0
  253. package/cjs/split-button/useSplitButton.js +84 -0
  254. package/cjs/split-button/useSplitButton.js.map +1 -0
  255. package/cjs/tabstrip/Tab.css.js +6 -0
  256. package/cjs/tabstrip/Tab.css.js.map +1 -0
  257. package/cjs/tabstrip/Tab.js +151 -0
  258. package/cjs/tabstrip/Tab.js.map +1 -0
  259. package/cjs/tabstrip/TabMenu.css.js +6 -0
  260. package/cjs/tabstrip/TabMenu.css.js.map +1 -0
  261. package/cjs/tabstrip/TabMenu.js +72 -0
  262. package/cjs/tabstrip/TabMenu.js.map +1 -0
  263. package/cjs/tabstrip/TabMenuOptions.js +20 -0
  264. package/cjs/tabstrip/TabMenuOptions.js.map +1 -0
  265. package/cjs/tabstrip/Tabstrip.css.js +6 -0
  266. package/cjs/tabstrip/Tabstrip.css.js.map +1 -0
  267. package/cjs/tabstrip/Tabstrip.js +156 -0
  268. package/cjs/tabstrip/Tabstrip.js.map +1 -0
  269. package/cjs/tabstrip/tabstrip-dom-utils.js +19 -0
  270. package/cjs/tabstrip/tabstrip-dom-utils.js.map +1 -0
  271. package/cjs/tabstrip/useAnimatedSelectionThumb.js +85 -0
  272. package/cjs/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  273. package/cjs/tabstrip/useKeyboardNavigation.js +243 -0
  274. package/cjs/tabstrip/useKeyboardNavigation.js.map +1 -0
  275. package/cjs/tabstrip/useSelection.js +60 -0
  276. package/cjs/tabstrip/useSelection.js.map +1 -0
  277. package/cjs/tabstrip/useTabstrip.js +261 -0
  278. package/cjs/tabstrip/useTabstrip.js.map +1 -0
  279. package/cjs/toolbar/Toolbar.css.js +6 -0
  280. package/cjs/toolbar/Toolbar.css.js.map +1 -0
  281. package/cjs/toolbar/Toolbar.js +90 -0
  282. package/cjs/toolbar/Toolbar.js.map +1 -0
  283. package/cjs/toolbar/toolbar-dom-utils.js +18 -0
  284. package/cjs/toolbar/toolbar-dom-utils.js.map +1 -0
  285. package/cjs/toolbar/useKeyboardNavigation.js +305 -0
  286. package/cjs/toolbar/useKeyboardNavigation.js.map +1 -0
  287. package/cjs/toolbar/useSelection.js +94 -0
  288. package/cjs/toolbar/useSelection.js.map +1 -0
  289. package/cjs/toolbar/useToolbar.js +100 -0
  290. package/cjs/toolbar/useToolbar.js.map +1 -0
  291. package/cjs/tree/Tree.css.js +6 -0
  292. package/cjs/tree/Tree.css.js.map +1 -0
  293. package/cjs/tree/Tree.js +179 -0
  294. package/cjs/tree/Tree.js.map +1 -0
  295. package/cjs/tree/hierarchical-data-utils.js +72 -0
  296. package/cjs/tree/hierarchical-data-utils.js.map +1 -0
  297. package/cjs/tree/key-code.js +62 -0
  298. package/cjs/tree/key-code.js.map +1 -0
  299. package/cjs/tree/list-dom-utils.js +19 -0
  300. package/cjs/tree/list-dom-utils.js.map +1 -0
  301. package/cjs/tree/treeTypeUtils.js +6 -0
  302. package/cjs/tree/treeTypeUtils.js.map +1 -0
  303. package/cjs/tree/use-collapsible-groups.js +85 -0
  304. package/cjs/tree/use-collapsible-groups.js.map +1 -0
  305. package/cjs/tree/use-hierarchical-data.js +51 -0
  306. package/cjs/tree/use-hierarchical-data.js.map +1 -0
  307. package/cjs/tree/use-items-with-ids.js +100 -0
  308. package/cjs/tree/use-items-with-ids.js.map +1 -0
  309. package/cjs/tree/use-keyboard-navigation.js +144 -0
  310. package/cjs/tree/use-keyboard-navigation.js.map +1 -0
  311. package/cjs/tree/use-selection.js +154 -0
  312. package/cjs/tree/use-selection.js.map +1 -0
  313. package/cjs/tree/use-tree-keyboard-navigation.js +41 -0
  314. package/cjs/tree/use-tree-keyboard-navigation.js.map +1 -0
  315. package/cjs/tree/use-viewport-tracking.js +76 -0
  316. package/cjs/tree/use-viewport-tracking.js.map +1 -0
  317. package/cjs/tree/useTree.js +106 -0
  318. package/cjs/tree/useTree.js.map +1 -0
  319. package/cjs/utils/escapeRegExp.js +9 -0
  320. package/cjs/utils/escapeRegExp.js.map +1 -0
  321. package/cjs/utils/forwardCallbackProps.js +22 -0
  322. package/cjs/utils/forwardCallbackProps.js.map +1 -0
  323. package/cjs/utils/isOverflowElement.js +8 -0
  324. package/cjs/utils/isOverflowElement.js.map +1 -0
  325. package/cjs/vuu-input/VuuInput.css.js +6 -0
  326. package/cjs/vuu-input/VuuInput.css.js.map +1 -0
  327. package/cjs/vuu-input/VuuInput.js +105 -0
  328. package/cjs/vuu-input/VuuInput.js.map +1 -0
  329. package/esm/calendar/Calendar.css.js +4 -0
  330. package/esm/calendar/Calendar.css.js.map +1 -0
  331. package/esm/calendar/Calendar.js +72 -0
  332. package/esm/calendar/Calendar.js.map +1 -0
  333. package/esm/calendar/internal/CalendarCarousel.css.js +4 -0
  334. package/esm/calendar/internal/CalendarCarousel.css.js.map +1 -0
  335. package/esm/calendar/internal/CalendarCarousel.js +95 -0
  336. package/esm/calendar/internal/CalendarCarousel.js.map +1 -0
  337. package/esm/calendar/internal/CalendarContext.js +16 -0
  338. package/esm/calendar/internal/CalendarContext.js.map +1 -0
  339. package/esm/calendar/internal/CalendarDay.css.js +4 -0
  340. package/esm/calendar/internal/CalendarDay.css.js.map +1 -0
  341. package/esm/calendar/internal/CalendarDay.js +81 -0
  342. package/esm/calendar/internal/CalendarDay.js.map +1 -0
  343. package/esm/calendar/internal/CalendarMonth.css.js +4 -0
  344. package/esm/calendar/internal/CalendarMonth.css.js.map +1 -0
  345. package/esm/calendar/internal/CalendarMonth.js +71 -0
  346. package/esm/calendar/internal/CalendarMonth.js.map +1 -0
  347. package/esm/calendar/internal/CalendarNavigation.css.js +4 -0
  348. package/esm/calendar/internal/CalendarNavigation.css.js.map +1 -0
  349. package/esm/calendar/internal/CalendarNavigation.js +248 -0
  350. package/esm/calendar/internal/CalendarNavigation.js.map +1 -0
  351. package/esm/calendar/internal/CalendarWeekHeader.css.js +4 -0
  352. package/esm/calendar/internal/CalendarWeekHeader.css.js.map +1 -0
  353. package/esm/calendar/internal/CalendarWeekHeader.js +41 -0
  354. package/esm/calendar/internal/CalendarWeekHeader.js.map +1 -0
  355. package/esm/calendar/internal/useFocusManagement.js +61 -0
  356. package/esm/calendar/internal/useFocusManagement.js.map +1 -0
  357. package/esm/calendar/internal/utils.js +55 -0
  358. package/esm/calendar/internal/utils.js.map +1 -0
  359. package/esm/calendar/useCalendar.js +129 -0
  360. package/esm/calendar/useCalendar.js.map +1 -0
  361. package/esm/calendar/useCalendarDay.js +68 -0
  362. package/esm/calendar/useCalendarDay.js.map +1 -0
  363. package/esm/calendar/useSelection.js +239 -0
  364. package/esm/calendar/useSelection.js.map +1 -0
  365. package/esm/combo-box/ComboBox.js +189 -0
  366. package/esm/combo-box/ComboBox.js.map +1 -0
  367. package/esm/combo-box/useCombobox.js +356 -0
  368. package/esm/combo-box/useCombobox.js.map +1 -0
  369. package/esm/common-hooks/collectionProvider.js +20 -0
  370. package/esm/common-hooks/collectionProvider.js.map +1 -0
  371. package/esm/common-hooks/isPlainObject.js +4 -0
  372. package/esm/common-hooks/isPlainObject.js.map +1 -0
  373. package/esm/common-hooks/itemToString.js +22 -0
  374. package/esm/common-hooks/itemToString.js.map +1 -0
  375. package/esm/common-hooks/selectionTypes.js +10 -0
  376. package/esm/common-hooks/selectionTypes.js.map +1 -0
  377. package/esm/common-hooks/use-resize-observer.js +118 -0
  378. package/esm/common-hooks/use-resize-observer.js.map +1 -0
  379. package/esm/common-hooks/useCollectionItems.js +307 -0
  380. package/esm/common-hooks/useCollectionItems.js.map +1 -0
  381. package/esm/common-hooks/useControlled.js +56 -0
  382. package/esm/common-hooks/useControlled.js.map +1 -0
  383. package/esm/common-hooks/useSelection.js +205 -0
  384. package/esm/common-hooks/useSelection.js.map +1 -0
  385. package/esm/common-hooks/useStateRef.js +21 -0
  386. package/esm/common-hooks/useStateRef.js.map +1 -0
  387. package/esm/cycle-state-button/CycleStateButton.js +52 -0
  388. package/esm/cycle-state-button/CycleStateButton.js.map +1 -0
  389. package/esm/date-input/DateInput.css.js +4 -0
  390. package/esm/date-input/DateInput.css.js.map +1 -0
  391. package/esm/date-input/DateInput.js +88 -0
  392. package/esm/date-input/DateInput.js.map +1 -0
  393. package/esm/date-input/DateRangeInput.js +75 -0
  394. package/esm/date-input/DateRangeInput.js.map +1 -0
  395. package/esm/date-input/useDatePicker.js +18 -0
  396. package/esm/date-input/useDatePicker.js.map +1 -0
  397. package/esm/date-popup/DatePopup.js +88 -0
  398. package/esm/date-popup/DatePopup.js.map +1 -0
  399. package/esm/date-popup/useDatePopup.js +75 -0
  400. package/esm/date-popup/useDatePopup.js.map +1 -0
  401. package/esm/drag-drop/DragDropProvider.js +142 -0
  402. package/esm/drag-drop/DragDropProvider.js.map +1 -0
  403. package/esm/drag-drop/DragDropState.js +27 -0
  404. package/esm/drag-drop/DragDropState.js.map +1 -0
  405. package/esm/drag-drop/Draggable.css.js +4 -0
  406. package/esm/drag-drop/Draggable.css.js.map +1 -0
  407. package/esm/drag-drop/Draggable.js +90 -0
  408. package/esm/drag-drop/Draggable.js.map +1 -0
  409. package/esm/drag-drop/dragDropTypes.js +5 -0
  410. package/esm/drag-drop/dragDropTypes.js.map +1 -0
  411. package/esm/drag-drop/drop-target-utils.js +228 -0
  412. package/esm/drag-drop/drop-target-utils.js.map +1 -0
  413. package/esm/drag-drop/useAutoScroll.js +69 -0
  414. package/esm/drag-drop/useAutoScroll.js.map +1 -0
  415. package/esm/drag-drop/useDragDisplacers.js +158 -0
  416. package/esm/drag-drop/useDragDisplacers.js.map +1 -0
  417. package/esm/drag-drop/useDragDrop.js +497 -0
  418. package/esm/drag-drop/useDragDrop.js.map +1 -0
  419. package/esm/drag-drop/useDragDropCopy.js +31 -0
  420. package/esm/drag-drop/useDragDropCopy.js.map +1 -0
  421. package/esm/drag-drop/useDragDropIndicator.js +249 -0
  422. package/esm/drag-drop/useDragDropIndicator.js.map +1 -0
  423. package/esm/drag-drop/useDragDropNaturalMovement.js +262 -0
  424. package/esm/drag-drop/useDragDropNaturalMovement.js.map +1 -0
  425. package/esm/drag-drop/useDropIndicator.js +25 -0
  426. package/esm/drag-drop/useDropIndicator.js.map +1 -0
  427. package/esm/drag-drop/useGlobalDragDrop.js +87 -0
  428. package/esm/drag-drop/useGlobalDragDrop.js.map +1 -0
  429. package/esm/dropdown/Dropdown.css.js +4 -0
  430. package/esm/dropdown/Dropdown.css.js.map +1 -0
  431. package/esm/dropdown/Dropdown.js +148 -0
  432. package/esm/dropdown/Dropdown.js.map +1 -0
  433. package/esm/dropdown/DropdownBase.js +119 -0
  434. package/esm/dropdown/DropdownBase.js.map +1 -0
  435. package/esm/dropdown/DropdownButton.css.js +4 -0
  436. package/esm/dropdown/DropdownButton.css.js.map +1 -0
  437. package/esm/dropdown/DropdownButton.js +70 -0
  438. package/esm/dropdown/DropdownButton.js.map +1 -0
  439. package/esm/dropdown/useClickAway.js +64 -0
  440. package/esm/dropdown/useClickAway.js.map +1 -0
  441. package/esm/dropdown/useDropdown.js +113 -0
  442. package/esm/dropdown/useDropdown.js.map +1 -0
  443. package/esm/dropdown/useDropdownBase.js +167 -0
  444. package/esm/dropdown/useDropdownBase.js.map +1 -0
  445. package/esm/editable/editable-utils.js +35 -0
  446. package/esm/editable/editable-utils.js.map +1 -0
  447. package/esm/editable/useEditableText.js +103 -0
  448. package/esm/editable/useEditableText.js.map +1 -0
  449. package/esm/editable-label/EditableLabel.css.js +4 -0
  450. package/esm/editable-label/EditableLabel.css.js.map +1 -0
  451. package/esm/editable-label/EditableLabel.js +135 -0
  452. package/esm/editable-label/EditableLabel.js.map +1 -0
  453. package/esm/expando-input/ExpandoInput.css.js +4 -0
  454. package/esm/expando-input/ExpandoInput.css.js.map +1 -0
  455. package/esm/expando-input/ExpandoInput.js +51 -0
  456. package/esm/expando-input/ExpandoInput.js.map +1 -0
  457. package/esm/icon-button/Icon.css.js +4 -0
  458. package/esm/icon-button/Icon.css.js.map +1 -0
  459. package/esm/icon-button/Icon.js +35 -0
  460. package/esm/icon-button/Icon.js.map +1 -0
  461. package/esm/icon-button/IconButton.css.js +4 -0
  462. package/esm/icon-button/IconButton.css.js.map +1 -0
  463. package/esm/icon-button/IconButton.js +24 -0
  464. package/esm/icon-button/IconButton.js.map +1 -0
  465. package/esm/index.js +73 -0
  466. package/esm/index.js.map +1 -0
  467. package/esm/inputs/Checkbox.css.js +4 -0
  468. package/esm/inputs/Checkbox.css.js.map +1 -0
  469. package/esm/inputs/Checkbox.js +30 -0
  470. package/esm/inputs/Checkbox.js.map +1 -0
  471. package/esm/inputs/RadioButton.css.js +4 -0
  472. package/esm/inputs/RadioButton.css.js.map +1 -0
  473. package/esm/inputs/RadioButton.js +37 -0
  474. package/esm/inputs/RadioButton.js.map +1 -0
  475. package/esm/instrument-picker/InstrumentPicker.css.js +4 -0
  476. package/esm/instrument-picker/InstrumentPicker.css.js.map +1 -0
  477. package/esm/instrument-picker/InstrumentPicker.js +111 -0
  478. package/esm/instrument-picker/InstrumentPicker.js.map +1 -0
  479. package/esm/instrument-picker/SearchCell.css.js +4 -0
  480. package/esm/instrument-picker/SearchCell.css.js.map +1 -0
  481. package/esm/instrument-picker/SearchCell.js +31 -0
  482. package/esm/instrument-picker/SearchCell.js.map +1 -0
  483. package/esm/instrument-picker/useInstrumentPicker.js +85 -0
  484. package/esm/instrument-picker/useInstrumentPicker.js.map +1 -0
  485. package/esm/instrument-search/InstrumentSearch.css.js +4 -0
  486. package/esm/instrument-search/InstrumentSearch.css.js.map +1 -0
  487. package/esm/instrument-search/InstrumentSearch.js +94 -0
  488. package/esm/instrument-search/InstrumentSearch.js.map +1 -0
  489. package/esm/instrument-search/SearchCell.css.js +4 -0
  490. package/esm/instrument-search/SearchCell.css.js.map +1 -0
  491. package/esm/instrument-search/SearchCell.js +31 -0
  492. package/esm/instrument-search/SearchCell.js.map +1 -0
  493. package/esm/instrument-search/useInstrumentSearch.js +37 -0
  494. package/esm/instrument-search/useInstrumentSearch.js.map +1 -0
  495. package/esm/list/CheckboxIcon.css.js +4 -0
  496. package/esm/list/CheckboxIcon.css.js.map +1 -0
  497. package/esm/list/CheckboxIcon.js +31 -0
  498. package/esm/list/CheckboxIcon.js.map +1 -0
  499. package/esm/list/ChevronIcon.css.js +4 -0
  500. package/esm/list/ChevronIcon.css.js.map +1 -0
  501. package/esm/list/ChevronIcon.js +20 -0
  502. package/esm/list/ChevronIcon.js.map +1 -0
  503. package/esm/list/Highlighter.css.js +4 -0
  504. package/esm/list/Highlighter.css.js.map +1 -0
  505. package/esm/list/Highlighter.js +34 -0
  506. package/esm/list/Highlighter.js.map +1 -0
  507. package/esm/list/List.css.js +4 -0
  508. package/esm/list/List.css.js.map +1 -0
  509. package/esm/list/List.js +315 -0
  510. package/esm/list/List.js.map +1 -0
  511. package/esm/list/ListItem.css.js +4 -0
  512. package/esm/list/ListItem.css.js.map +1 -0
  513. package/esm/list/ListItem.js +81 -0
  514. package/esm/list/ListItem.js.map +1 -0
  515. package/esm/list/ListItemGroup.js +4 -0
  516. package/esm/list/ListItemGroup.js.map +1 -0
  517. package/esm/list/ListItemHeader.js +4 -0
  518. package/esm/list/ListItemHeader.js.map +1 -0
  519. package/esm/list/RadioIcon.css.js +4 -0
  520. package/esm/list/RadioIcon.css.js.map +1 -0
  521. package/esm/list/RadioIcon.js +25 -0
  522. package/esm/list/RadioIcon.js.map +1 -0
  523. package/esm/list/common-hooks/keyUtils.js +64 -0
  524. package/esm/list/common-hooks/keyUtils.js.map +1 -0
  525. package/esm/list/common-hooks/list-dom-utils.js +19 -0
  526. package/esm/list/common-hooks/list-dom-utils.js.map +1 -0
  527. package/esm/list/common-hooks/useCollapsibleGroups.js +80 -0
  528. package/esm/list/common-hooks/useCollapsibleGroups.js.map +1 -0
  529. package/esm/list/common-hooks/useImperativeScrollingAPI.js +50 -0
  530. package/esm/list/common-hooks/useImperativeScrollingAPI.js.map +1 -0
  531. package/esm/list/common-hooks/useKeyboardNavigation.js +286 -0
  532. package/esm/list/common-hooks/useKeyboardNavigation.js.map +1 -0
  533. package/esm/list/common-hooks/useTypeahead.js +72 -0
  534. package/esm/list/common-hooks/useTypeahead.js.map +1 -0
  535. package/esm/list/common-hooks/useViewportTracking.js +131 -0
  536. package/esm/list/common-hooks/useViewportTracking.js.map +1 -0
  537. package/esm/list/common-hooks/utils/collection-item-utils.js +167 -0
  538. package/esm/list/common-hooks/utils/collection-item-utils.js.map +1 -0
  539. package/esm/list/common-hooks/utils/filter-utils.js +8 -0
  540. package/esm/list/common-hooks/utils/filter-utils.js.map +1 -0
  541. package/esm/list/common-hooks/utils/isSelected.js +7 -0
  542. package/esm/list/common-hooks/utils/isSelected.js.map +1 -0
  543. package/esm/list/useList.js +276 -0
  544. package/esm/list/useList.js.map +1 -0
  545. package/esm/list/useListDrop.js +90 -0
  546. package/esm/list/useListDrop.js.map +1 -0
  547. package/esm/list/useListHeight.js +75 -0
  548. package/esm/list/useListHeight.js.map +1 -0
  549. package/esm/list/useScrollPosition.js +72 -0
  550. package/esm/list/useScrollPosition.js.map +1 -0
  551. package/esm/measured-container/MeasuredContainer.css.js +4 -0
  552. package/esm/measured-container/MeasuredContainer.css.js.map +1 -0
  553. package/esm/measured-container/MeasuredContainer.js +67 -0
  554. package/esm/measured-container/MeasuredContainer.js.map +1 -0
  555. package/esm/measured-container/useMeasuredContainer.js +125 -0
  556. package/esm/measured-container/useMeasuredContainer.js.map +1 -0
  557. package/esm/measured-container/useResizeObserver.js +128 -0
  558. package/esm/measured-container/useResizeObserver.js.map +1 -0
  559. package/esm/overflow-container/OverflowContainer.css.js +4 -0
  560. package/esm/overflow-container/OverflowContainer.css.js.map +1 -0
  561. package/esm/overflow-container/OverflowContainer.js +140 -0
  562. package/esm/overflow-container/OverflowContainer.js.map +1 -0
  563. package/esm/overflow-container/overflow-utils.js +272 -0
  564. package/esm/overflow-container/overflow-utils.js.map +1 -0
  565. package/esm/overflow-container/useOverflowContainer.js +141 -0
  566. package/esm/overflow-container/useOverflowContainer.js.map +1 -0
  567. package/esm/price-ticker/PriceTicker.css.js +4 -0
  568. package/esm/price-ticker/PriceTicker.css.js.map +1 -0
  569. package/esm/price-ticker/PriceTicker.js +48 -0
  570. package/esm/price-ticker/PriceTicker.js.map +1 -0
  571. package/esm/split-button/SplitButton.css.js +4 -0
  572. package/esm/split-button/SplitButton.css.js.map +1 -0
  573. package/esm/split-button/SplitButton.js +79 -0
  574. package/esm/split-button/SplitButton.js.map +1 -0
  575. package/esm/split-button/SplitStateButton.css.js +4 -0
  576. package/esm/split-button/SplitStateButton.css.js.map +1 -0
  577. package/esm/split-button/SplitStateButton.js +29 -0
  578. package/esm/split-button/SplitStateButton.js.map +1 -0
  579. package/esm/split-button/useSplitButton.js +82 -0
  580. package/esm/split-button/useSplitButton.js.map +1 -0
  581. package/esm/tabstrip/Tab.css.js +4 -0
  582. package/esm/tabstrip/Tab.css.js.map +1 -0
  583. package/esm/tabstrip/Tab.js +149 -0
  584. package/esm/tabstrip/Tab.js.map +1 -0
  585. package/esm/tabstrip/TabMenu.css.js +4 -0
  586. package/esm/tabstrip/TabMenu.css.js.map +1 -0
  587. package/esm/tabstrip/TabMenu.js +70 -0
  588. package/esm/tabstrip/TabMenu.js.map +1 -0
  589. package/esm/tabstrip/TabMenuOptions.js +16 -0
  590. package/esm/tabstrip/TabMenuOptions.js.map +1 -0
  591. package/esm/tabstrip/Tabstrip.css.js +4 -0
  592. package/esm/tabstrip/Tabstrip.css.js.map +1 -0
  593. package/esm/tabstrip/Tabstrip.js +154 -0
  594. package/esm/tabstrip/Tabstrip.js.map +1 -0
  595. package/esm/tabstrip/tabstrip-dom-utils.js +16 -0
  596. package/esm/tabstrip/tabstrip-dom-utils.js.map +1 -0
  597. package/esm/tabstrip/useAnimatedSelectionThumb.js +83 -0
  598. package/esm/tabstrip/useAnimatedSelectionThumb.js.map +1 -0
  599. package/esm/tabstrip/useKeyboardNavigation.js +241 -0
  600. package/esm/tabstrip/useKeyboardNavigation.js.map +1 -0
  601. package/esm/tabstrip/useSelection.js +58 -0
  602. package/esm/tabstrip/useSelection.js.map +1 -0
  603. package/esm/tabstrip/useTabstrip.js +259 -0
  604. package/esm/tabstrip/useTabstrip.js.map +1 -0
  605. package/esm/toolbar/Toolbar.css.js +4 -0
  606. package/esm/toolbar/Toolbar.css.js.map +1 -0
  607. package/esm/toolbar/Toolbar.js +88 -0
  608. package/esm/toolbar/Toolbar.js.map +1 -0
  609. package/esm/toolbar/toolbar-dom-utils.js +15 -0
  610. package/esm/toolbar/toolbar-dom-utils.js.map +1 -0
  611. package/esm/toolbar/useKeyboardNavigation.js +303 -0
  612. package/esm/toolbar/useKeyboardNavigation.js.map +1 -0
  613. package/esm/toolbar/useSelection.js +92 -0
  614. package/esm/toolbar/useSelection.js.map +1 -0
  615. package/esm/toolbar/useToolbar.js +98 -0
  616. package/esm/toolbar/useToolbar.js.map +1 -0
  617. package/esm/tree/Tree.css.js +4 -0
  618. package/esm/tree/Tree.css.js.map +1 -0
  619. package/esm/tree/Tree.js +176 -0
  620. package/esm/tree/Tree.js.map +1 -0
  621. package/esm/tree/hierarchical-data-utils.js +65 -0
  622. package/esm/tree/hierarchical-data-utils.js.map +1 -0
  623. package/esm/tree/key-code.js +54 -0
  624. package/esm/tree/key-code.js.map +1 -0
  625. package/esm/tree/list-dom-utils.js +15 -0
  626. package/esm/tree/list-dom-utils.js.map +1 -0
  627. package/esm/tree/treeTypeUtils.js +4 -0
  628. package/esm/tree/treeTypeUtils.js.map +1 -0
  629. package/esm/tree/use-collapsible-groups.js +83 -0
  630. package/esm/tree/use-collapsible-groups.js.map +1 -0
  631. package/esm/tree/use-hierarchical-data.js +49 -0
  632. package/esm/tree/use-hierarchical-data.js.map +1 -0
  633. package/esm/tree/use-items-with-ids.js +98 -0
  634. package/esm/tree/use-items-with-ids.js.map +1 -0
  635. package/esm/tree/use-keyboard-navigation.js +142 -0
  636. package/esm/tree/use-keyboard-navigation.js.map +1 -0
  637. package/esm/tree/use-selection.js +147 -0
  638. package/esm/tree/use-selection.js.map +1 -0
  639. package/esm/tree/use-tree-keyboard-navigation.js +39 -0
  640. package/esm/tree/use-tree-keyboard-navigation.js.map +1 -0
  641. package/esm/tree/use-viewport-tracking.js +74 -0
  642. package/esm/tree/use-viewport-tracking.js.map +1 -0
  643. package/esm/tree/useTree.js +104 -0
  644. package/esm/tree/useTree.js.map +1 -0
  645. package/esm/utils/escapeRegExp.js +7 -0
  646. package/esm/utils/escapeRegExp.js.map +1 -0
  647. package/esm/utils/forwardCallbackProps.js +20 -0
  648. package/esm/utils/forwardCallbackProps.js.map +1 -0
  649. package/esm/utils/isOverflowElement.js +6 -0
  650. package/esm/utils/isOverflowElement.js.map +1 -0
  651. package/esm/vuu-input/VuuInput.css.js +4 -0
  652. package/esm/vuu-input/VuuInput.css.js.map +1 -0
  653. package/esm/vuu-input/VuuInput.js +103 -0
  654. package/esm/vuu-input/VuuInput.js.map +1 -0
  655. package/package.json +45 -0
  656. package/types/calendar/Calendar.d.ts +12 -0
  657. package/types/calendar/index.d.ts +4 -0
  658. package/types/calendar/internal/CalendarCarousel.d.ts +4 -0
  659. package/types/calendar/internal/CalendarContext.d.ts +9 -0
  660. package/types/calendar/internal/CalendarDay.d.ts +14 -0
  661. package/types/calendar/internal/CalendarMonth.d.ts +11 -0
  662. package/types/calendar/internal/CalendarNavigation.d.ts +20 -0
  663. package/types/calendar/internal/CalendarWeekHeader.d.ts +5 -0
  664. package/types/calendar/internal/useFocusManagement.d.ts +9 -0
  665. package/types/calendar/internal/utils.d.ts +14 -0
  666. package/types/calendar/useCalendar.d.ts +57 -0
  667. package/types/calendar/useCalendarDay.d.ts +19 -0
  668. package/types/calendar/useSelection.d.ts +75 -0
  669. package/types/combo-box/ComboBox.d.ts +24 -0
  670. package/types/combo-box/index.d.ts +1 -0
  671. package/types/combo-box/useCombobox.d.ts +20 -0
  672. package/types/common-hooks/collectionProvider.d.ts +13 -0
  673. package/types/common-hooks/collectionTypes.d.ts +58 -0
  674. package/types/common-hooks/index.d.ts +9 -0
  675. package/types/common-hooks/isPlainObject.d.ts +1 -0
  676. package/types/common-hooks/itemToString.d.ts +2 -0
  677. package/types/common-hooks/navigationTypes.d.ts +36 -0
  678. package/types/common-hooks/selectionTypes.d.ts +70 -0
  679. package/types/common-hooks/use-resize-observer.d.ts +16 -0
  680. package/types/common-hooks/useCollectionItems.d.ts +2 -0
  681. package/types/common-hooks/useControlled.d.ts +24 -0
  682. package/types/common-hooks/useSelection.d.ts +8 -0
  683. package/types/common-hooks/useStateRef.d.ts +2 -0
  684. package/types/cycle-state-button/CycleStateButton.d.ts +12 -0
  685. package/types/cycle-state-button/index.d.ts +1 -0
  686. package/types/date-input/DateInput.d.ts +12 -0
  687. package/types/date-input/DateRangeInput.d.ts +11 -0
  688. package/types/date-input/index.d.ts +2 -0
  689. package/types/date-input/types.d.ts +16 -0
  690. package/types/date-input/useBaseDatePickerDropdown.d.ts +15 -0
  691. package/types/date-input/useDatePicker.d.ts +7 -0
  692. package/types/date-popup/DatePopup.d.ts +12 -0
  693. package/types/date-popup/index.d.ts +1 -0
  694. package/types/date-popup/useDatePopup.d.ts +20 -0
  695. package/types/drag-drop/DragDropProvider.d.ts +38 -0
  696. package/types/drag-drop/DragDropState.d.ts +15 -0
  697. package/types/drag-drop/Draggable.d.ts +13 -0
  698. package/types/drag-drop/DropIndicator.d.ts +6 -0
  699. package/types/drag-drop/dragDropTypes.d.ts +100 -0
  700. package/types/drag-drop/drop-target-utils.d.ts +78 -0
  701. package/types/drag-drop/index.d.ts +6 -0
  702. package/types/drag-drop/useAutoScroll.d.ts +11 -0
  703. package/types/drag-drop/useDragDisplacers.d.ts +17 -0
  704. package/types/drag-drop/useDragDrop.d.ts +2 -0
  705. package/types/drag-drop/useDragDropCopy.d.ts +6 -0
  706. package/types/drag-drop/useDragDropIndicator.d.ts +2 -0
  707. package/types/drag-drop/useDragDropNaturalMovement.d.ts +2 -0
  708. package/types/drag-drop/useDropIndicator.d.ts +8 -0
  709. package/types/drag-drop/useGlobalDragDrop.d.ts +12 -0
  710. package/types/drag-drop/useTransition.d.ts +3 -0
  711. package/types/dropdown/Dropdown.d.ts +10 -0
  712. package/types/dropdown/DropdownBase.d.ts +9 -0
  713. package/types/dropdown/DropdownButton.d.ts +41 -0
  714. package/types/dropdown/dropdownTypes.d.ts +51 -0
  715. package/types/dropdown/index.d.ts +5 -0
  716. package/types/dropdown/useClickAway.d.ts +10 -0
  717. package/types/dropdown/useDropdown.d.ts +13 -0
  718. package/types/dropdown/useDropdownBase.d.ts +2 -0
  719. package/types/editable/editable-utils.d.ts +2 -0
  720. package/types/editable/index.d.ts +2 -0
  721. package/types/editable/useEditableText.d.ts +19 -0
  722. package/types/editable-label/EditableLabel.d.ts +19 -0
  723. package/types/editable-label/index.d.ts +1 -0
  724. package/types/expando-input/ExpandoInput.d.ts +6 -0
  725. package/types/expando-input/index.d.ts +1 -0
  726. package/types/icon-button/Icon.d.ts +6 -0
  727. package/types/icon-button/IconButton.d.ts +7 -0
  728. package/types/icon-button/index.d.ts +2 -0
  729. package/types/index.d.ts +27 -0
  730. package/types/inputs/Checkbox.d.ts +9 -0
  731. package/types/inputs/RadioButton.d.ts +9 -0
  732. package/types/inputs/index.d.ts +2 -0
  733. package/types/instrument-picker/InstrumentPicker.d.ts +24 -0
  734. package/types/instrument-picker/SearchCell.d.ts +3 -0
  735. package/types/instrument-picker/index.d.ts +1 -0
  736. package/types/instrument-picker/moving-window.d.ts +14 -0
  737. package/types/instrument-picker/useDataSource.d.ts +6 -0
  738. package/types/instrument-picker/useInstrumentPicker.d.ts +28 -0
  739. package/types/instrument-search/InstrumentSearch.d.ts +11 -0
  740. package/types/instrument-search/SearchCell.d.ts +3 -0
  741. package/types/instrument-search/index.d.ts +1 -0
  742. package/types/instrument-search/moving-window.d.ts +14 -0
  743. package/types/instrument-search/useDataSource.d.ts +6 -0
  744. package/types/instrument-search/useInstrumentSearch.d.ts +13 -0
  745. package/types/list/CheckboxIcon.d.ts +6 -0
  746. package/types/list/ChevronIcon.d.ts +7 -0
  747. package/types/list/Highlighter.d.ts +6 -0
  748. package/types/list/List.d.ts +6 -0
  749. package/types/list/ListItem.d.ts +6 -0
  750. package/types/list/ListItemGroup.d.ts +6 -0
  751. package/types/list/ListItemHeader.d.ts +5 -0
  752. package/types/list/RadioIcon.d.ts +5 -0
  753. package/types/list/common-hooks/index.d.ts +10 -0
  754. package/types/list/common-hooks/keyUtils.d.ts +14 -0
  755. package/types/list/common-hooks/list-dom-utils.d.ts +5 -0
  756. package/types/list/common-hooks/useCollapsibleGroups.d.ts +14 -0
  757. package/types/list/common-hooks/useImperativeScrollingAPI.d.ts +14 -0
  758. package/types/list/common-hooks/useKeyboardNavigation.d.ts +3 -0
  759. package/types/list/common-hooks/useTypeahead.d.ts +15 -0
  760. package/types/list/common-hooks/useViewportTracking.d.ts +14 -0
  761. package/types/list/common-hooks/utils/collection-item-utils.d.ts +21 -0
  762. package/types/list/common-hooks/utils/filter-utils.d.ts +4 -0
  763. package/types/list/common-hooks/utils/index.d.ts +4 -0
  764. package/types/list/common-hooks/utils/isSelected.d.ts +2 -0
  765. package/types/list/index.d.ts +10 -0
  766. package/types/list/keyset.d.ts +9 -0
  767. package/types/list/listTypes.d.ts +200 -0
  768. package/types/list/useList.d.ts +3 -0
  769. package/types/list/useListDrop.d.ts +15 -0
  770. package/types/list/useListHeight.d.ts +19 -0
  771. package/types/list/useScrollPosition.d.ts +19 -0
  772. package/types/measured-container/MeasuredContainer.d.ts +14 -0
  773. package/types/measured-container/index.d.ts +2 -0
  774. package/types/measured-container/useMeasuredContainer.d.ts +22 -0
  775. package/types/measured-container/useResizeObserver.d.ts +15 -0
  776. package/types/overflow-container/OverflowContainer.d.ts +15 -0
  777. package/types/overflow-container/index.d.ts +2 -0
  778. package/types/overflow-container/overflow-utils.d.ts +48 -0
  779. package/types/overflow-container/useOverflowContainer.d.ts +20 -0
  780. package/types/price-ticker/PriceTicker.d.ts +7 -0
  781. package/types/price-ticker/index.d.ts +1 -0
  782. package/types/split-button/SplitButton.d.ts +11 -0
  783. package/types/split-button/SplitStateButton.d.ts +6 -0
  784. package/types/split-button/index.d.ts +2 -0
  785. package/types/split-button/useSplitButton.d.ts +288 -0
  786. package/types/tabstrip/Tab.d.ts +26 -0
  787. package/types/tabstrip/TabMenu.d.ts +19 -0
  788. package/types/tabstrip/TabMenuOptions.d.ts +10 -0
  789. package/types/tabstrip/TabsTypes.d.ts +127 -0
  790. package/types/tabstrip/Tabstrip.d.ts +3 -0
  791. package/types/tabstrip/index.d.ts +4 -0
  792. package/types/tabstrip/tabstrip-dom-utils.d.ts +2 -0
  793. package/types/tabstrip/useAnimatedSelectionThumb.d.ts +7 -0
  794. package/types/tabstrip/useKeyboardNavigation.d.ts +29 -0
  795. package/types/tabstrip/useSelection.d.ts +13 -0
  796. package/types/tabstrip/useTabstrip.d.ts +49 -0
  797. package/types/toolbar/Toolbar.d.ts +20 -0
  798. package/types/toolbar/index.d.ts +1 -0
  799. package/types/toolbar/toolbar-dom-utils.d.ts +3 -0
  800. package/types/toolbar/useKeyboardNavigation.d.ts +32 -0
  801. package/types/toolbar/useSelection.d.ts +22 -0
  802. package/types/toolbar/useToolbar.d.ts +28 -0
  803. package/types/tree/Tree.d.ts +19 -0
  804. package/types/tree/hierarchical-data-utils.d.ts +8 -0
  805. package/types/tree/index.d.ts +4 -0
  806. package/types/tree/key-code.d.ts +11 -0
  807. package/types/tree/list-dom-utils.d.ts +6 -0
  808. package/types/tree/treeTypeUtils.d.ts +2 -0
  809. package/types/tree/treeTypes.d.ts +17 -0
  810. package/types/tree/use-collapsible-groups.d.ts +18 -0
  811. package/types/tree/use-hierarchical-data.d.ts +6 -0
  812. package/types/tree/use-items-with-ids.d.ts +8 -0
  813. package/types/tree/use-keyboard-navigation.d.ts +26 -0
  814. package/types/tree/use-selection.d.ts +31 -0
  815. package/types/tree/use-tree-keyboard-navigation.d.ts +12 -0
  816. package/types/tree/use-viewport-tracking.d.ts +2 -0
  817. package/types/tree/useTree.d.ts +30 -0
  818. package/types/utils/escapeRegExp.d.ts +1 -0
  819. package/types/utils/forwardCallbackProps.d.ts +3 -0
  820. package/types/utils/index.d.ts +3 -0
  821. package/types/utils/isOverflowElement.d.ts +1 -0
  822. package/types/vuu-input/VuuInput.d.ts +16 -0
  823. package/types/vuu-input/index.d.ts +1 -0
@@ -0,0 +1,6 @@
1
+ import { ReactElement } from "react";
2
+ export interface HighlighterProps {
3
+ matchPattern?: RegExp | string;
4
+ text?: string;
5
+ }
6
+ export declare const Highlighter: (props: HighlighterProps) => ReactElement<HighlighterProps>;
@@ -0,0 +1,6 @@
1
+ import { ForwardedRef, ReactElement } from "react";
2
+ import { SelectionStrategy } from "../common-hooks";
3
+ import { ListProps } from "./listTypes";
4
+ export declare const List: <Item = string, S extends SelectionStrategy = "default">(props: ListProps<Item, S> & {
5
+ ref?: ForwardedRef<HTMLDivElement> | undefined;
6
+ }) => ReactElement<ListProps<Item, "default">, string | import("react").JSXElementConstructor<any>>;
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { ListItemType } from "./listTypes";
3
+ export declare const ListItemProxy: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
4
+ height?: number | undefined;
5
+ } & import("react").RefAttributes<HTMLDivElement>>;
6
+ export declare const ListItem: ListItemType<unknown>;
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from "react";
2
+ export interface ListItemGroupProps extends HTMLAttributes<HTMLDivElement> {
3
+ children?: JSX.Element | JSX.Element[];
4
+ label?: string;
5
+ }
6
+ export declare const ListItemGroup: (_: ListItemGroupProps) => null;
@@ -0,0 +1,5 @@
1
+ import { HTMLAttributes } from "react";
2
+ export interface ListItemHeaderProps extends HTMLAttributes<HTMLDivElement> {
3
+ label?: string;
4
+ }
5
+ export declare const ListItemHeader: (_: ListItemHeaderProps) => null;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const RadioIcon: ({ checked, ...htmlAttributes }: {
3
+ [x: string]: any;
4
+ checked?: boolean | undefined;
5
+ }) => JSX.Element;
@@ -0,0 +1,10 @@
1
+ export * from "./keyUtils";
2
+ export * from "./useCollapsibleGroups";
3
+ export * from "./list-dom-utils";
4
+ export * from "../../common-hooks/useCollectionItems";
5
+ export * from "./useImperativeScrollingAPI";
6
+ export * from "./useKeyboardNavigation";
7
+ export * from "../../common-hooks/useSelection";
8
+ export * from "./useTypeahead";
9
+ export * from "./useViewportTracking";
10
+ export * from "./utils";
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ export declare const ArrowUp = "ArrowUp";
3
+ export declare const ArrowDown = "ArrowDown";
4
+ export declare const ArrowLeft = "ArrowLeft";
5
+ export declare const ArrowRight = "ArrowRight";
6
+ export declare const Enter = "Enter";
7
+ export declare const Escape = "Escape";
8
+ export declare const Home = "Home";
9
+ export declare const End = "End";
10
+ export declare const PageUp = "PageUp";
11
+ export declare const PageDown = "PageDown";
12
+ export declare const Space = " ";
13
+ export declare const isCharacterKey: (evt: React.KeyboardEvent) => boolean;
14
+ export declare const isNavigationKey: ({ key }: React.KeyboardEvent) => boolean;
@@ -0,0 +1,5 @@
1
+ export declare const listItemElement: (listEl: HTMLElement, listItemIdx: number) => Element | null;
2
+ export declare function listItemIndex(listItemEl?: HTMLElement): number;
3
+ export declare const listItemId: (el: HTMLElement | null) => string | undefined;
4
+ export declare const closestListItemId: (el: HTMLElement) => string | undefined;
5
+ export declare const closestListItemIndex: (el: HTMLElement) => number;
@@ -0,0 +1,14 @@
1
+ import { ListHandlers } from "../../common-hooks";
2
+ import { CollectionHookResult } from "../../common-hooks/collectionTypes";
3
+ interface CollapsibleHookProps<Item> {
4
+ collapsibleHeaders?: boolean;
5
+ collectionHook: CollectionHookResult<Item>;
6
+ highlightedIdx: number;
7
+ onToggle?: (node: Item) => void;
8
+ }
9
+ interface CollapsibleHookResult {
10
+ onClick?: ListHandlers["onClick"];
11
+ onKeyDown?: ListHandlers["onKeyDown"];
12
+ }
13
+ export declare const useCollapsibleGroups: <Item>({ collapsibleHeaders, collectionHook, highlightedIdx, onToggle, }: CollapsibleHookProps<Item>) => CollapsibleHookResult;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ForwardedRef, MutableRefObject } from "react";
2
+ import { CollectionHookResult, CollectionItem } from "../../common-hooks/collectionTypes";
3
+ export interface ScrollingAPI<Item> {
4
+ scrollToIndex: (itemIndex: number) => void;
5
+ scrollToItem: (item: Item) => void;
6
+ scrollTo: (scrollOffset: number) => void;
7
+ }
8
+ export interface ScrollingAPIHook<Item> {
9
+ collectionHook: CollectionHookResult<Item>;
10
+ forwardedRef?: ForwardedRef<ScrollingAPI<Item>>;
11
+ scrollableRef: MutableRefObject<HTMLElement | null>;
12
+ scrollIntoView?: (item: CollectionItem<Item>) => void;
13
+ }
14
+ export declare const useImperativeScrollingAPI: <Item>({ collectionHook, forwardedRef, scrollableRef, scrollIntoView, }: ScrollingAPIHook<Item>) => void;
@@ -0,0 +1,3 @@
1
+ import { NavigationHookProps, NavigationHookResult } from "../../common-hooks";
2
+ export declare const LIST_FOCUS_VISIBLE = -2;
3
+ export declare const useKeyboardNavigation: ({ containerRef, defaultHighlightedIndex, disableHighlightOnFocus, highlightedIndex: highlightedIndexProp, itemCount, onHighlight, onKeyboardNavigation, restoreLastFocus, selected, viewportItemCount: _, }: NavigationHookProps) => NavigationHookResult;
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { CollectionItem } from "../../common-hooks/collectionTypes";
3
+ interface TypeaheadHookProps<Item> {
4
+ disableTypeToSelect?: boolean;
5
+ highlightedIdx: number;
6
+ highlightItemAtIndex: (idx: number) => void;
7
+ applyIncrementalSearch?: boolean;
8
+ typeToNavigate: boolean;
9
+ items: CollectionItem<Item>[];
10
+ }
11
+ interface TypeaheadHookResult {
12
+ onKeyDown?: (e: React.KeyboardEvent) => void;
13
+ }
14
+ export declare const useTypeahead: <Item>({ disableTypeToSelect, highlightedIdx, highlightItemAtIndex, typeToNavigate, items, applyIncrementalSearch, }: TypeaheadHookProps<Item>) => TypeaheadHookResult;
15
+ export {};
@@ -0,0 +1,14 @@
1
+ import { MutableRefObject, RefObject } from "react";
2
+ import { CollectionItem } from "../../common-hooks/collectionTypes";
3
+ export interface ViewportTrackingProps<Item> {
4
+ containerRef: RefObject<HTMLElement>;
5
+ contentRef?: RefObject<HTMLElement>;
6
+ highlightedIdx?: number;
7
+ indexPositions: CollectionItem<Item>[];
8
+ stickyHeaders?: boolean;
9
+ }
10
+ export interface ViewportTrackingResult<Item> {
11
+ isScrolling: MutableRefObject<boolean>;
12
+ scrollIntoView: (item: CollectionItem<Item>) => void;
13
+ }
14
+ export declare const useViewportTracking: <Item>({ containerRef, contentRef, highlightedIdx, indexPositions, stickyHeaders, }: ViewportTrackingProps<Item>) => ViewportTrackingResult<Item>;
@@ -0,0 +1,21 @@
1
+ import { ReactElement, ReactNode } from "react";
2
+ import { CollectionItem, CollectionOptions } from "../../../common-hooks/collectionTypes";
3
+ export declare const sourceItemHasProp: (item: unknown, propertyName: string) => boolean;
4
+ export declare const isHeader: (item: unknown) => boolean;
5
+ export declare const isGroupNode: (item: unknown) => boolean;
6
+ export declare const isDisabled: (item: unknown) => boolean;
7
+ export declare const isFocusable: (item: unknown) => boolean;
8
+ export declare const countChildItems: <Item>(item: CollectionItem<Item>, items: CollectionItem<Item>[], idx: number) => number;
9
+ export declare const getChildLabel: (element: ReactElement<{
10
+ children?: ReactNode;
11
+ label?: string;
12
+ title?: string;
13
+ }>) => string | undefined;
14
+ export declare const childIsGroup: (child: ReactElement) => boolean;
15
+ export declare const getChildNodes: (element: ReactElement) => CollectionItem<ReactElement>[] | undefined;
16
+ type CollectionItemWithoutId<T> = Omit<CollectionItem<T>, "id">;
17
+ export declare const sourceItems: <T>(source?: readonly T[] | undefined, options?: CollectionOptions<T> | undefined) => CollectionItemWithoutId<T>[] | undefined;
18
+ export declare const childItems: (children: ReactNode) => CollectionItem<ReactElement>[] | undefined;
19
+ export declare const isParentPath: (parentPath: string, childPath: string) => boolean;
20
+ export declare function replaceCollectionItem<Item>(nodes: CollectionItem<Item>[], id: string, props: Partial<CollectionItem<Item>>): CollectionItem<Item>[];
21
+ export {};
@@ -0,0 +1,4 @@
1
+ export type GetFilterRegex = (inputValue: string) => RegExp;
2
+ export type FilterPredicate = (item: string) => boolean;
3
+ export declare const getDefaultFilterRegex: GetFilterRegex;
4
+ export declare const getDefaultFilter: (inputValue?: string, getFilterRegex?: GetFilterRegex) => (itemValue?: string) => boolean;
@@ -0,0 +1,4 @@
1
+ export * from "./collection-item-utils";
2
+ export * from "./filter-utils";
3
+ export * from "./isSelected";
4
+ export * from "../../../common-hooks/useControlled";
@@ -0,0 +1,2 @@
1
+ import { CollectionItem } from "../../../common-hooks/collectionTypes";
2
+ export declare function isSelected<Item>(selectedId: string | string[] | null, item: CollectionItem<Item>): boolean;
@@ -0,0 +1,10 @@
1
+ export * from "./common-hooks";
2
+ export * from "./Highlighter";
3
+ export * from "./ListItem";
4
+ export * from "./List";
5
+ export * from "./listTypes";
6
+ export * from "./ListItemHeader";
7
+ export * from "./ListItemGroup";
8
+ export * from "./useList";
9
+ export * from "./CheckboxIcon";
10
+ export * from "./RadioIcon";
@@ -0,0 +1,9 @@
1
+ export declare class KeySet {
2
+ private keys;
3
+ private free;
4
+ private nextKeyValue;
5
+ constructor(from?: number, to?: number);
6
+ next(): number;
7
+ reset(from: number, to: number): void;
8
+ keyFor(rowIndex: number): number | undefined;
9
+ }
@@ -0,0 +1,200 @@
1
+ import React, { FocusEventHandler, ForwardedRef, HTMLAttributes, KeyboardEvent, KeyboardEventHandler, MouseEventHandler, PropsWithChildren, Ref, RefCallback, RefObject } from "react";
2
+ import { ScrollingAPI, ViewportTrackingResult } from "./common-hooks";
3
+ import { CollectionHookResult, ComponentSelectionProps, ListHandlers, NavigationHookResult, SelectionHookResult, SelectionStrategy } from "../common-hooks";
4
+ import { DragHookResult, DragStartHandler, dragStrategy, DropHandler } from "../drag-drop";
5
+ import { ViewportRange } from "./useScrollPosition";
6
+ export type ComponentType<T = unknown> = (props: PropsWithChildren<T>) => JSX.Element;
7
+ export type ListItemType<T = unknown> = ComponentType<ListItemProps<T> & {
8
+ ref?: Ref<HTMLDivElement>;
9
+ }>;
10
+ export type MoveItemHandler = (fromIndex: number, toIndex: number) => void;
11
+ export interface ListItemProps<T = unknown> extends HTMLAttributes<HTMLDivElement> {
12
+ children?: React.ReactNode;
13
+ disabled?: boolean;
14
+ item?: T;
15
+ itemHeight?: number;
16
+ itemTextHighlightPattern?: RegExp | string;
17
+ label?: string;
18
+ showCheckbox?: boolean;
19
+ /**
20
+ * selectable is a marker, used by List, not used by ListItem itself
21
+ */
22
+ selectable?: boolean;
23
+ selected?: boolean;
24
+ /**
25
+ * Will apply transform: translate style. Used for virtualised rendering,
26
+ * supplied by VirtualisedList.
27
+ */
28
+ translate3d?: number;
29
+ }
30
+ export interface ListScrollHandles<Item> {
31
+ scrollToIndex: (itemIndex: number) => void;
32
+ scrollToItem: (item: Item) => void;
33
+ scrollTo: (scrollOffset: number) => void;
34
+ }
35
+ export interface ListProps<Item = string, S extends SelectionStrategy = "default"> extends ComponentSelectionProps<Item, S>, Omit<HTMLAttributes<HTMLDivElement>, "onDragStart" | "onDrop" | "onSelect" | "defaultValue"> {
36
+ /**
37
+ * The component used to render a ListItem instead of the default. This must itself render a ListItem,
38
+ * must implement props that extend ListItemProps and must forward ListItem props to the ListItem.
39
+ */
40
+ ListItem?: ListItemType<Item>;
41
+ /**
42
+ * The component used when there are no items.
43
+ */
44
+ ListPlaceholder?: ComponentType<HTMLAttributes<unknown>>;
45
+ /**
46
+ * ListItems can be re-ordered by drag drop.
47
+ */
48
+ allowDragDrop?: boolean | dragStrategy;
49
+ borderless?: boolean;
50
+ /**
51
+ * Adds checkbox to list. Defaults to true for multiselect strategy. Only supported for
52
+ * multiple select strategies (multi selection and extended selection)
53
+ */
54
+ checkable?: boolean;
55
+ className?: string;
56
+ collapsibleHeaders?: boolean;
57
+ defaultHighlightedIndex?: number;
58
+ disabled?: boolean;
59
+ disableFocus?: boolean;
60
+ /**
61
+ * Use to turn off typeahead search functionality within List. Defaulst to false;
62
+ */
63
+ disableTypeToSelect?: boolean;
64
+ displayedItemCount?: number;
65
+ emptyMessage?: string;
66
+ focusVisible?: number;
67
+ /**
68
+ * Used for providing customized item height. It should return a number or a string if item height
69
+ * is in percentage. .
70
+ *
71
+ * @param {number} index The item index.
72
+ */
73
+ getItemHeight?: (index: number) => number;
74
+ /**
75
+ * Used for providing customized item ids.
76
+ * deprecated
77
+ * @param {number} index The item index.
78
+ */
79
+ getItemId?: (index: number) => string;
80
+ /**
81
+ * Height of the component.
82
+ */
83
+ height?: number | string;
84
+ highlightedIndex?: number;
85
+ /**
86
+ * The total number of items.
87
+ *
88
+ * Used for keyboard navigation (when `End` key is pressed) and when the list is virtualized.
89
+ */
90
+ itemCount?: number;
91
+ /**
92
+ * Size of the gap between list items. Defaults to zero.
93
+ */
94
+ itemGapSize?: number;
95
+ /**
96
+ * Height of an item. I can be a number or a string if item height is in percentage. If omitted
97
+ * default height values from Salt theme will be used.
98
+ *
99
+ * Note that when using a percentage value, the list must have a height.
100
+ */
101
+ itemHeight?: number;
102
+ /**
103
+ * Used for providing text highlight.
104
+ *
105
+ * It can be a capturing regex or a string for a straightforward string matching.
106
+ */
107
+ itemTextHighlightPattern?: RegExp | string;
108
+ /**
109
+ * Item `toString` function when list is not used declaratively and its items are objects
110
+ * instead of strings. The string value is also used in tooltip when item text is truncated.
111
+ *
112
+ * If omitted, component will look for a `label` property on the data object.
113
+ *
114
+ * @param {object} item The item.
115
+ */
116
+ itemToString?: (item: Item) => string;
117
+ listHandlers?: ListHandlers;
118
+ /**
119
+ * Maximum list height.
120
+ */
121
+ maxHeight?: number | string;
122
+ /**
123
+ * Maximum list width.
124
+ */
125
+ maxWidth?: number | string;
126
+ /**
127
+ * Minimum list height.
128
+ */
129
+ minHeight?: number | string;
130
+ /**
131
+ * Minimum list width.
132
+ */
133
+ minWidth?: number | string;
134
+ onDragStart?: DragStartHandler;
135
+ /**
136
+ * Handle item dropped onto list. Note, this will not be triggered if a list item is
137
+ * dragged within its owning list - this will trigger the onMoveListItem callback.
138
+ */
139
+ onDrop?: DropHandler;
140
+ onHighlight?: (index: number) => void;
141
+ onMoveListItem?: MoveItemHandler;
142
+ onViewportScroll?: (firstVisibleRowIndex: number, lastVisibleRowIndex: number) => void;
143
+ /**
144
+ * If `true`, the component will remember the last keyboard-interacted position
145
+ * and highlight it when list is focused again.
146
+ */
147
+ restoreLastFocus?: boolean;
148
+ scrollingApiRef?: ForwardedRef<ScrollingAPI<Item>>;
149
+ showEmptyMessage?: boolean;
150
+ source?: ReadonlyArray<Item>;
151
+ stickyHeaders?: boolean;
152
+ /**
153
+ * When set to `true`, 'Tab' key selects current highlighted item before focus is blurred away
154
+ * from the component. This would be the desirable behaviour for any dropdown menu based
155
+ * components like dropdown, combobox.
156
+ *
157
+ * @default false
158
+ */
159
+ tabToSelect?: boolean;
160
+ /**
161
+ * Width of the component.
162
+ */
163
+ width?: number | string;
164
+ }
165
+ export interface ListControlProps {
166
+ "aria-activedescendant"?: string;
167
+ onBlur: FocusEventHandler;
168
+ onFocus: FocusEventHandler;
169
+ onKeyDown: KeyboardEventHandler;
170
+ onMouseDown?: MouseEventHandler;
171
+ onMouseDownCapture: MouseEventHandler;
172
+ onMouseLeave: MouseEventHandler;
173
+ }
174
+ export interface ListHookProps<Item = string, S extends SelectionStrategy = "default"> extends Pick<ListProps<Item, S>, "allowDragDrop" | "collapsibleHeaders" | "disabled" | "id" | "onClick" | "onDragStart" | "onDrop" | "onHighlight" | "onMoveListItem" | "onSelect" | "onSelectionChange" | "restoreLastFocus" | "selectionKeys" | "selectionStrategy" | "stickyHeaders" | "tabToSelect"> {
175
+ collectionHook: CollectionHookResult<Item>;
176
+ contentRef?: RefObject<HTMLElement>;
177
+ defaultHighlightedIndex?: number;
178
+ defaultSelected?: string[];
179
+ disableAriaActiveDescendant?: boolean;
180
+ disableHighlightOnFocus?: boolean;
181
+ disableTypeToSelect?: boolean;
182
+ focusVisible?: boolean;
183
+ highlightedIndex?: number;
184
+ label?: string;
185
+ listHandlers?: ListHandlers;
186
+ onKeyboardNavigation?: (event: React.KeyboardEvent, currentIndex: number) => void;
187
+ onKeyDown?: (evt: KeyboardEvent) => void;
188
+ selected?: string[];
189
+ viewportRange?: ViewportRange;
190
+ }
191
+ export interface ListHookResult<Item> extends Partial<ViewportTrackingResult<Item>>, Pick<SelectionHookResult, "selected" | "setSelected">, Partial<Omit<NavigationHookResult, "listProps">>, Omit<DragHookResult, "isDragging" | "isScrolling"> {
192
+ containerRef: RefObject<HTMLDivElement>;
193
+ setContainerRef: RefCallback<HTMLDivElement>;
194
+ keyboardNavigation: RefObject<boolean>;
195
+ listHandlers: ListHandlers;
196
+ listItemHeaderHandlers: Partial<ListHandlers>;
197
+ listControlProps: ListControlProps;
198
+ setHighlightedIndex: (index: number) => void;
199
+ setIgnoreFocus: (ignoreFocus: boolean) => void;
200
+ }
@@ -0,0 +1,3 @@
1
+ import { SelectionStrategy } from "../common-hooks";
2
+ import { ListHookProps, ListHookResult } from "./listTypes";
3
+ export declare const useList: <Item, S extends SelectionStrategy>({ allowDragDrop, collapsibleHeaders, collectionHook: dataHook, contentRef, defaultHighlightedIndex, defaultSelected, disabled, disableAriaActiveDescendant, disableHighlightOnFocus, disableTypeToSelect, highlightedIndex: highlightedIndexProp, id, label, listHandlers: listHandlersProp, onClick: onClickProp, onDragStart, onDrop, onHighlight, onKeyboardNavigation, onKeyDown, onMoveListItem, onSelect, onSelectionChange, restoreLastFocus, selected, selectionStrategy, selectionKeys, stickyHeaders, tabToSelect, viewportRange, }: ListHookProps<Item, S>) => ListHookResult<Item>;
@@ -0,0 +1,15 @@
1
+ import { CollectionHookResult } from "../common-hooks";
2
+ import { DropHandler } from "../drag-drop";
3
+ import { MoveItemHandler } from "./listTypes";
4
+ export interface ListDropProps<Item = string> {
5
+ dataHook: CollectionHookResult<Item>;
6
+ onDrop?: DropHandler;
7
+ onMoveListItem?: MoveItemHandler;
8
+ selected: string[];
9
+ setHighlightedIndex: (idx: number) => void;
10
+ setSelected: (selected: string[]) => void;
11
+ }
12
+ export declare const useListDrop: <Item>({ dataHook, onDrop, onMoveListItem, selected, setHighlightedIndex, setSelected, }: ListDropProps<Item>) => {
13
+ handleDrop: DropHandler;
14
+ onDropSettle: (toIndex: number) => void;
15
+ };
@@ -0,0 +1,19 @@
1
+ import { MeasuredSize } from "@vuu-ui/vuu-ui-controls";
2
+ import { RefCallback } from "react";
3
+ export interface ListHeightHookProps {
4
+ displayedItemCount: number;
5
+ getItemHeight?: (index: number) => number;
6
+ height?: number | string;
7
+ itemCount: number;
8
+ itemGapSize: number;
9
+ itemHeight?: number;
10
+ size: MeasuredSize | undefined;
11
+ }
12
+ export interface HeightHookResult {
13
+ computedListHeight: number | undefined;
14
+ contentHeight: number;
15
+ listClientHeight?: number;
16
+ listItemHeight: number;
17
+ rowHeightProxyRef: RefCallback<HTMLDivElement>;
18
+ }
19
+ export declare const useListHeight: ({ displayedItemCount, getItemHeight, height, itemCount, itemGapSize, itemHeight: itemHeightProp, size, }: ListHeightHookProps) => HeightHookResult;
@@ -0,0 +1,19 @@
1
+ import { UIEvent } from "react";
2
+ export type ViewportRange = {
3
+ atEnd: boolean;
4
+ atStart: boolean;
5
+ from: number;
6
+ to: number;
7
+ };
8
+ interface ScrollPositionHookProps {
9
+ containerSize: number;
10
+ itemCount: number;
11
+ itemGapSize?: number;
12
+ itemSize: number;
13
+ onViewportScroll?: (firstVisibleItemIndex: number, lastVisibleitemIndex: number) => void;
14
+ }
15
+ export declare const useScrollPosition: ({ containerSize: listHeight, itemCount: listItemCount, itemGapSize: listItemGapSize, itemSize: listItemHeight, onViewportScroll, }: ScrollPositionHookProps) => {
16
+ onVerticalScroll: (e: UIEvent<HTMLElement>) => void;
17
+ viewportRange: ViewportRange;
18
+ };
19
+ export {};
@@ -0,0 +1,14 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { MeasuredSize } from "./useMeasuredContainer";
3
+ export interface MeasuredContainerProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * A numeric value for height will result in a fixed height. To adapt to container
6
+ * use either a percentage height or 'auto'. Always use 'auto' when rendering
7
+ * within a column based flex container, together with a flex value (use the
8
+ * --vuuMeasuredContainer-flex CSS custom property))
9
+ */
10
+ height?: number | string;
11
+ onResize?: (size: MeasuredSize) => void;
12
+ width?: number | string;
13
+ }
14
+ export declare const MeasuredContainer: import("react").ForwardRefExoticComponent<MeasuredContainerProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from "./MeasuredContainer";
2
+ export * from "./useMeasuredContainer";
@@ -0,0 +1,22 @@
1
+ import { CSSProperties, RefObject } from "react";
2
+ import { MeasuredContainerProps } from "./MeasuredContainer";
3
+ export interface ClientSize {
4
+ clientHeight: number;
5
+ clientWidth: number;
6
+ }
7
+ export interface MeasuredProps extends Pick<MeasuredContainerProps, "height" | "onResize" | "width"> {
8
+ defaultHeight?: number;
9
+ defaultWidth?: number;
10
+ }
11
+ export type CssSize = Pick<CSSProperties, "height" | "width">;
12
+ export interface MeasuredSize {
13
+ height: number;
14
+ width: number;
15
+ }
16
+ export interface MeasuredContainerHookResult {
17
+ containerRef: RefObject<HTMLDivElement>;
18
+ cssSize: CssSize;
19
+ outerSize: CssSize;
20
+ innerSize?: MeasuredSize;
21
+ }
22
+ export declare const useMeasuredContainer: ({ defaultHeight, defaultWidth, height, onResize: onResizeProp, width, }: MeasuredProps) => MeasuredContainerHookResult;
@@ -0,0 +1,15 @@
1
+ import { RefObject } from "react";
2
+ export declare const WidthHeight: string[];
3
+ export declare const WidthOnly: string[];
4
+ export type measurements<T = string | number> = {
5
+ height?: T;
6
+ clientHeight?: number;
7
+ clientWidth?: number;
8
+ contentHeight?: number;
9
+ contentWidth?: number;
10
+ scrollHeight?: number;
11
+ scrollWidth?: number;
12
+ width?: T;
13
+ };
14
+ export type ResizeHandler = (measurements: measurements<number>) => void;
15
+ export declare function useResizeObserver(ref: RefObject<Element | HTMLElement | null>, dimensions: readonly string[], onResize: ResizeHandler, reportInitialSize?: boolean): void;
@@ -0,0 +1,15 @@
1
+ import { PopupMenuProps } from "@vuu-ui/vuu-popups";
2
+ import { orientationType } from "@vuu-ui/vuu-utils";
3
+ import React, { HTMLAttributes } from "react";
4
+ import { OverflowItem } from "./overflow-utils";
5
+ export interface OverflowContainerProps extends HTMLAttributes<HTMLDivElement> {
6
+ PopupMenuProps?: Partial<PopupMenuProps>;
7
+ allowDragDrop?: boolean;
8
+ debugId?: string;
9
+ onMoveItem?: (fromIndex: number, toIndex: number) => void;
10
+ onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;
11
+ orientation?: orientationType;
12
+ overflowIcon?: string;
13
+ overflowPosition?: "start" | "end" | number;
14
+ }
15
+ export declare const OverflowContainer: React.ForwardRefExoticComponent<OverflowContainerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from "./OverflowContainer";
2
+ export * from "./overflow-utils";
@@ -0,0 +1,48 @@
1
+ import { orientationType } from "@vuu-ui/vuu-utils";
2
+ export type OverflowItem = {
3
+ index: string;
4
+ label: string;
5
+ overflowPriority: string;
6
+ };
7
+ export declare const sortByScreenOrder: (elements: HTMLElement[]) => HTMLElement[];
8
+ export declare const NO_WRAPPED_ITEMS: OverflowItem[];
9
+ /**
10
+ Identify wrapped items by comparing position of each item. Any item
11
+ not to the right of preceeding item has wrapped. Note: on-screen
12
+ position of items does not necessarily match document position, due
13
+ to use of css order. This is taken into account by sorting.
14
+ TODO support Vertical orientation
15
+ */
16
+ export declare const getNonWrappedAndWrappedItems: (container: HTMLElement, orientation: orientationType) => [OverflowItem[], OverflowItem[]];
17
+ export declare const applyOverflowClassToWrappedItems: (container: HTMLElement, overflowedItems: OverflowItem[], classBase?: string) => void;
18
+ export declare const overflowIndicatorHasWrappedButShouldNotHave: (wrappedItems: OverflowItem[]) => boolean;
19
+ export declare const highPriorityItemsHaveWrappedButShouldNotHave: (nonWrappedItems: OverflowItem[], wrappedItems: OverflowItem[]) => boolean;
20
+ /**
21
+ An edge case that may occur when reducing width from unwrapped to
22
+ wrapped, or on first render.
23
+ We overflow one or more items. Then, when the overflowIndicator assumes
24
+ full width, it may itself overflow.
25
+ */
26
+ export declare const correctForWrappedOverflowIndicator: (container: HTMLElement, overflowedItems: OverflowItem[], orientation: orientationType) => Promise<OverflowItem[]>;
27
+ /**
28
+ An edge case that may occur when reducing width from unwrapped to
29
+ wrapped, or on first render.
30
+ We overflow one or more items. Then, when the overflowIndicator assumes
31
+ full width, it may itself overflow.
32
+ */
33
+ export declare const correctForWrappedHighPriorityItems: (container: HTMLElement, nonWrapped: OverflowItem[], wrapped: OverflowItem[], orientation: orientationType) => Promise<[OverflowItem[], OverflowItem[]]>;
34
+ export declare const markElementAsWrapped: (container: HTMLElement, item: OverflowItem) => void;
35
+ export declare const getElementsMarkedAsWrapped: (container: HTMLElement) => HTMLElement[];
36
+ export declare const unmarkItemsWhichAreNoLongerWrapped: (container: HTMLElement, wrappedItems: OverflowItem[]) => void;
37
+ /**
38
+ An edge case. If container has grown but we still have one
39
+ wrapped item - could the wrapped item return to the fold if the overflow
40
+ indicaor were removed ?
41
+ */
42
+ export declare const removeOverflowIndicatorIfNoLongerNeeded: (container: HTMLElement, orientation: orientationType) => boolean;
43
+ /**
44
+ * This is used both when an overflow menu is used to select an overflowed item
45
+ * and when a high priority item has overflowed, whilst lower priority items
46
+ * remain in view.
47
+ */
48
+ export declare const switchWrappedItemIntoView: (container: HTMLElement, overflowItem: OverflowItem, orientation: orientationType) => [OverflowItem[], OverflowItem[]];
@@ -0,0 +1,20 @@
1
+ /// <reference types="react" />
2
+ import { MenuActionHandler, MenuBuilder } from "@vuu-ui/vuu-data-types";
3
+ import { OverflowItem } from "./overflow-utils";
4
+ import { OverflowContainerProps } from "./OverflowContainer";
5
+ export interface OverflowContainerHookProps extends Pick<OverflowContainerProps, "allowDragDrop" | "onMoveItem">, Required<Pick<OverflowContainerProps, "orientation">> {
6
+ itemCount: number;
7
+ onSwitchWrappedItemIntoView?: (overflowItem: OverflowItem) => void;
8
+ }
9
+ export declare const useOverflowContainer: ({ allowDragDrop, itemCount, onMoveItem, onSwitchWrappedItemIntoView, orientation, }: OverflowContainerHookProps) => {
10
+ draggable?: JSX.Element | undefined;
11
+ dropIndicator?: JSX.Element | undefined;
12
+ draggedItemIndex?: number | undefined;
13
+ isDragging: boolean;
14
+ isScrolling: import("react").RefObject<boolean>;
15
+ revealOverflowedItems?: boolean | undefined;
16
+ menuActionHandler: MenuActionHandler;
17
+ menuBuilder: MenuBuilder<string, unknown>;
18
+ onItemMouseDown: import("react").MouseEventHandler<Element> | undefined;
19
+ rootRef: (el: HTMLDivElement | null) => void;
20
+ };
@@ -0,0 +1,7 @@
1
+ import { HTMLAttributes } from "react";
2
+ export interface PriceTickerProps extends HTMLAttributes<HTMLDivElement> {
3
+ decimals?: number;
4
+ price?: number;
5
+ showArrow?: boolean;
6
+ }
7
+ export declare const PriceTicker: import("react").MemoExoticComponent<({ className, decimals, price, showArrow, ...htmlAttributes }: PriceTickerProps) => JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./PriceTicker";