@vuu-ui/vuu-data-react 0.13.45 → 0.13.46

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 (274) hide show
  1. package/cjs/data-editing/get-data-item-edit-control.js +30 -13
  2. package/cjs/data-editing/get-data-item-edit-control.js.map +1 -1
  3. package/cjs/hooks/useRemoteConnection.js +58 -0
  4. package/cjs/hooks/useRemoteConnection.js.map +1 -0
  5. package/cjs/hooks/useVuuMenuActions.js +5 -4
  6. package/cjs/hooks/useVuuMenuActions.js.map +1 -1
  7. package/cjs/index.js +4 -2
  8. package/cjs/index.js.map +1 -1
  9. package/cjs/lost-connection-indicator/LostConnectionIndicator.css.js +6 -0
  10. package/cjs/lost-connection-indicator/LostConnectionIndicator.css.js.map +1 -0
  11. package/cjs/lost-connection-indicator/LostConnectionIndicator.js +24 -0
  12. package/cjs/lost-connection-indicator/LostConnectionIndicator.js.map +1 -0
  13. package/esm/data-editing/get-data-item-edit-control.js +30 -13
  14. package/esm/data-editing/get-data-item-edit-control.js.map +1 -1
  15. package/esm/hooks/useRemoteConnection.js +56 -0
  16. package/esm/hooks/useRemoteConnection.js.map +1 -0
  17. package/esm/hooks/useVuuMenuActions.js +5 -4
  18. package/esm/hooks/useVuuMenuActions.js.map +1 -1
  19. package/esm/index.js +2 -1
  20. package/esm/index.js.map +1 -1
  21. package/esm/lost-connection-indicator/LostConnectionIndicator.css.js +4 -0
  22. package/esm/lost-connection-indicator/LostConnectionIndicator.css.js.map +1 -0
  23. package/esm/lost-connection-indicator/LostConnectionIndicator.js +22 -0
  24. package/esm/lost-connection-indicator/LostConnectionIndicator.js.map +1 -0
  25. package/package.json +15 -14
  26. package/types/vuu-context-menu/src/ContextMenu.d.ts +10 -0
  27. package/types/vuu-context-menu/src/ContextMenuProvider.d.ts +16 -0
  28. package/types/vuu-context-menu/src/index.d.ts +3 -0
  29. package/types/vuu-context-menu/src/menu-utils.d.ts +17 -0
  30. package/types/vuu-context-menu/src/useContextMenu.d.ts +10 -0
  31. package/types/{data-editing → vuu-data-react/src/data-editing}/get-data-item-edit-control.d.ts +9 -1
  32. package/types/{hooks → vuu-data-react/src/hooks}/index.d.ts +0 -1
  33. package/types/vuu-data-react/src/hooks/useConnectionStatus.d.ts +6 -0
  34. package/types/vuu-data-react/src/hooks/useRemoteConnection.d.ts +6 -0
  35. package/types/{index.d.ts → vuu-data-react/src/index.d.ts} +2 -0
  36. package/types/vuu-data-react/src/lost-connection-indicator/LostConnectionIndicator.d.ts +1 -0
  37. package/types/vuu-popups/src/index.d.ts +5 -0
  38. package/types/vuu-popups/src/notifications/NotificationsCenter.d.ts +5 -0
  39. package/types/vuu-popups/src/notifications/NotificationsContext.d.ts +36 -0
  40. package/types/vuu-popups/src/notifications/NotificationsProvider.d.ts +9 -0
  41. package/types/vuu-popups/src/notifications/ToastNotification.d.ts +7 -0
  42. package/types/vuu-popups/src/notifications/WorkspaceNotification.d.ts +5 -0
  43. package/types/vuu-popups/src/notifications/index.d.ts +3 -0
  44. package/types/vuu-popups/src/popup/Popup.d.ts +12 -0
  45. package/types/vuu-popups/src/popup/getPositionRelativeToAnchor.d.ts +19 -0
  46. package/types/vuu-popups/src/popup/index.d.ts +2 -0
  47. package/types/vuu-popups/src/popup/useAnchoredPosition.d.ts +7 -0
  48. package/types/vuu-popups/src/popup-menu/PopupMenu.d.ts +45 -0
  49. package/types/vuu-popups/src/popup-menu/index.d.ts +1 -0
  50. package/types/vuu-popups/src/popup-menu/usePopupMenu.d.ts +19 -0
  51. package/types/vuu-popups/src/portal/Portal.d.ts +42 -0
  52. package/types/vuu-popups/src/portal/index.d.ts +1 -0
  53. package/types/vuu-popups/src/tooltip/Tooltip.d.ts +15 -0
  54. package/types/vuu-popups/src/tooltip/index.d.ts +2 -0
  55. package/types/vuu-popups/src/tooltip/useTooltip.d.ts +19 -0
  56. package/types/vuu-popups/src/tooltip/useTooltipAnchoredPosition.d.ts +7 -0
  57. package/types/vuu-ui-controls/src/calendar/Calendar.d.ts +13 -0
  58. package/types/vuu-ui-controls/src/calendar/index.d.ts +4 -0
  59. package/types/vuu-ui-controls/src/calendar/internal/CalendarCarousel.d.ts +3 -0
  60. package/types/vuu-ui-controls/src/calendar/internal/CalendarContext.d.ts +8 -0
  61. package/types/vuu-ui-controls/src/calendar/internal/CalendarDay.d.ts +14 -0
  62. package/types/vuu-ui-controls/src/calendar/internal/CalendarMonth.d.ts +10 -0
  63. package/types/vuu-ui-controls/src/calendar/internal/CalendarNavigation.d.ts +16 -0
  64. package/types/vuu-ui-controls/src/calendar/internal/CalendarWeekHeader.d.ts +3 -0
  65. package/types/vuu-ui-controls/src/calendar/internal/useFocusManagement.d.ts +9 -0
  66. package/types/vuu-ui-controls/src/calendar/internal/utils.d.ts +15 -0
  67. package/types/vuu-ui-controls/src/calendar/useCalendar.d.ts +54 -0
  68. package/types/vuu-ui-controls/src/calendar/useCalendarDay.d.ts +22 -0
  69. package/types/vuu-ui-controls/src/calendar/useSelection.d.ts +78 -0
  70. package/types/vuu-ui-controls/src/column-picker/ColumnPicker.d.ts +7 -0
  71. package/types/vuu-ui-controls/src/column-picker/ColumnSearch.d.ts +12 -0
  72. package/types/vuu-ui-controls/src/column-picker/index.d.ts +2 -0
  73. package/types/vuu-ui-controls/src/common-hooks/index.d.ts +3 -0
  74. package/types/vuu-ui-controls/src/common-hooks/selectionTypes.d.ts +70 -0
  75. package/types/vuu-ui-controls/src/common-hooks/use-resize-observer.d.ts +16 -0
  76. package/types/vuu-ui-controls/src/common-hooks/useControlled.d.ts +24 -0
  77. package/types/vuu-ui-controls/src/context-panel-provider/ContextPanelProvider.d.ts +17 -0
  78. package/types/vuu-ui-controls/src/cycle-state-button/CycleStateButton.d.ts +11 -0
  79. package/types/vuu-ui-controls/src/cycle-state-button/index.d.ts +1 -0
  80. package/types/vuu-ui-controls/src/date-input/DateInput.d.ts +60 -0
  81. package/types/vuu-ui-controls/src/date-input/index.d.ts +1 -0
  82. package/types/vuu-ui-controls/src/date-picker/DatePicker.d.ts +66 -0
  83. package/types/vuu-ui-controls/src/date-picker/DatePickerContext.d.ts +19 -0
  84. package/types/vuu-ui-controls/src/date-picker/DatePickerPanel.d.ts +10 -0
  85. package/types/vuu-ui-controls/src/date-picker/index.d.ts +1 -0
  86. package/types/vuu-ui-controls/src/drag-drop/DragDropProvider.d.ts +38 -0
  87. package/types/vuu-ui-controls/src/drag-drop/DragDropState.d.ts +15 -0
  88. package/types/vuu-ui-controls/src/drag-drop/Draggable.d.ts +13 -0
  89. package/types/vuu-ui-controls/src/drag-drop/dragDropTypes.d.ts +100 -0
  90. package/types/vuu-ui-controls/src/drag-drop/drop-target-utils.d.ts +82 -0
  91. package/types/vuu-ui-controls/src/drag-drop/index.d.ts +6 -0
  92. package/types/vuu-ui-controls/src/drag-drop/useAutoScroll.d.ts +11 -0
  93. package/types/vuu-ui-controls/src/drag-drop/useDragDisplacers.d.ts +17 -0
  94. package/types/vuu-ui-controls/src/drag-drop/useDragDrop.d.ts +2 -0
  95. package/types/vuu-ui-controls/src/drag-drop/useDragDropCopy.d.ts +6 -0
  96. package/types/vuu-ui-controls/src/drag-drop/useDragDropIndicator.d.ts +2 -0
  97. package/types/vuu-ui-controls/src/drag-drop/useDragDropNaturalMovement.d.ts +2 -0
  98. package/types/vuu-ui-controls/src/drag-drop/useDropIndicator.d.ts +8 -0
  99. package/types/vuu-ui-controls/src/drag-drop/useGlobalDragDrop.d.ts +11 -0
  100. package/types/vuu-ui-controls/src/editable/index.d.ts +1 -0
  101. package/types/vuu-ui-controls/src/editable/useEditableText.d.ts +19 -0
  102. package/types/vuu-ui-controls/src/editable-label/EditableLabel.d.ts +19 -0
  103. package/types/vuu-ui-controls/src/editable-label/index.d.ts +1 -0
  104. package/types/vuu-ui-controls/src/expando-input/ExpandoInput.d.ts +6 -0
  105. package/types/vuu-ui-controls/src/expando-input/index.d.ts +1 -0
  106. package/types/vuu-ui-controls/src/icon-button/Icon.d.ts +6 -0
  107. package/types/vuu-ui-controls/src/icon-button/IconButton.d.ts +6 -0
  108. package/types/vuu-ui-controls/src/icon-button/ToggleIconButton.d.ts +5 -0
  109. package/types/vuu-ui-controls/src/icon-button/index.d.ts +3 -0
  110. package/types/vuu-ui-controls/src/index.d.ts +30 -0
  111. package/types/vuu-ui-controls/src/instrument-picker/TablePicker.d.ts +10 -0
  112. package/types/vuu-ui-controls/src/instrument-picker/index.d.ts +1 -0
  113. package/types/vuu-ui-controls/src/instrument-picker/useTablePicker.d.ts +47 -0
  114. package/types/vuu-ui-controls/src/measured-container/MeasuredContainer.d.ts +14 -0
  115. package/types/vuu-ui-controls/src/measured-container/index.d.ts +2 -0
  116. package/types/vuu-ui-controls/src/measured-container/useMeasuredContainer.d.ts +23 -0
  117. package/types/vuu-ui-controls/src/measured-container/useResizeObserver.d.ts +15 -0
  118. package/types/vuu-ui-controls/src/modal-provider/ModalProvider.d.ts +13 -0
  119. package/types/vuu-ui-controls/src/overflow-container/OverflowContainer.d.ts +15 -0
  120. package/types/vuu-ui-controls/src/overflow-container/index.d.ts +2 -0
  121. package/types/vuu-ui-controls/src/overflow-container/overflow-utils.d.ts +48 -0
  122. package/types/vuu-ui-controls/src/overflow-container/useOverflowContainer.d.ts +19 -0
  123. package/types/vuu-ui-controls/src/price-ticker/PriceTicker.d.ts +7 -0
  124. package/types/vuu-ui-controls/src/price-ticker/index.d.ts +1 -0
  125. package/types/vuu-ui-controls/src/prompt/Prompt.d.ts +48 -0
  126. package/types/vuu-ui-controls/src/sortable-list/SortableList.d.ts +8 -0
  127. package/types/vuu-ui-controls/src/split-button/SplitButton.d.ts +11 -0
  128. package/types/vuu-ui-controls/src/split-button/SplitStateButton.d.ts +5 -0
  129. package/types/vuu-ui-controls/src/split-button/index.d.ts +2 -0
  130. package/types/vuu-ui-controls/src/split-button/useSplitButton.d.ts +311 -0
  131. package/types/vuu-ui-controls/src/table-search/SearchCell.d.ts +2 -0
  132. package/types/vuu-ui-controls/src/table-search/TableSearch.d.ts +9 -0
  133. package/types/vuu-ui-controls/src/table-search/index.d.ts +1 -0
  134. package/types/vuu-ui-controls/src/table-search/useTableSearch.d.ts +15 -0
  135. package/types/vuu-ui-controls/src/tabs-next/TabBar.d.ts +12 -0
  136. package/types/vuu-ui-controls/src/tabs-next/TabListNext.d.ts +12 -0
  137. package/types/vuu-ui-controls/src/tabs-next/TabNext.d.ts +12 -0
  138. package/types/vuu-ui-controls/src/tabs-next/TabNextAction.d.ts +5 -0
  139. package/types/vuu-ui-controls/src/tabs-next/TabNextContext.d.ts +12 -0
  140. package/types/vuu-ui-controls/src/tabs-next/TabNextPanel.d.ts +8 -0
  141. package/types/vuu-ui-controls/src/tabs-next/TabNextTrigger.d.ts +5 -0
  142. package/types/vuu-ui-controls/src/tabs-next/TabOverflowList.d.ts +11 -0
  143. package/types/vuu-ui-controls/src/tabs-next/TabsNext.d.ts +17 -0
  144. package/types/vuu-ui-controls/src/tabs-next/TabsNextContext.d.ts +21 -0
  145. package/types/vuu-ui-controls/src/tabs-next/hooks/useCollection.d.ts +18 -0
  146. package/types/vuu-ui-controls/src/tabs-next/hooks/useFocusOutside.d.ts +2 -0
  147. package/types/vuu-ui-controls/src/tabs-next/hooks/useOverflow.d.ts +11 -0
  148. package/types/vuu-ui-controls/src/tabs-next/index.d.ts +7 -0
  149. package/types/vuu-ui-controls/src/tabstrip/Tab.d.ts +27 -0
  150. package/types/vuu-ui-controls/src/tabstrip/TabMenu.d.ts +23 -0
  151. package/types/vuu-ui-controls/src/tabstrip/TabMenuOptions.d.ts +10 -0
  152. package/types/vuu-ui-controls/src/tabstrip/TabsTypes.d.ts +127 -0
  153. package/types/vuu-ui-controls/src/tabstrip/Tabstrip.d.ts +2 -0
  154. package/types/vuu-ui-controls/src/tabstrip/index.d.ts +5 -0
  155. package/types/vuu-ui-controls/src/tabstrip/tabstrip-dom-utils.d.ts +2 -0
  156. package/types/vuu-ui-controls/src/tabstrip/useAnimatedSelectionThumb.d.ts +7 -0
  157. package/types/vuu-ui-controls/src/tabstrip/useKeyboardNavigation.d.ts +29 -0
  158. package/types/vuu-ui-controls/src/tabstrip/useSelection.d.ts +13 -0
  159. package/types/vuu-ui-controls/src/tabstrip/useTabstrip.d.ts +55 -0
  160. package/types/vuu-ui-controls/src/time-input/MaskedInput.d.ts +49 -0
  161. package/types/vuu-ui-controls/src/time-input/TimeInput.d.ts +5 -0
  162. package/types/vuu-ui-controls/src/time-input/useTimeInput.d.ts +21 -0
  163. package/types/vuu-ui-controls/src/toolbar/Toolbar.d.ts +19 -0
  164. package/types/vuu-ui-controls/src/toolbar/index.d.ts +1 -0
  165. package/types/vuu-ui-controls/src/toolbar/toolbar-dom-utils.d.ts +3 -0
  166. package/types/vuu-ui-controls/src/toolbar/useKeyboardNavigation.d.ts +32 -0
  167. package/types/vuu-ui-controls/src/toolbar/useSelection.d.ts +22 -0
  168. package/types/vuu-ui-controls/src/toolbar/useToolbar.d.ts +28 -0
  169. package/types/vuu-ui-controls/src/utils/deprecated-types.d.ts +2 -0
  170. package/types/vuu-ui-controls/src/utils/escapeRegExp.d.ts +1 -0
  171. package/types/vuu-ui-controls/src/utils/forwardCallbackProps.d.ts +3 -0
  172. package/types/vuu-ui-controls/src/utils/index.d.ts +5 -0
  173. package/types/vuu-ui-controls/src/utils/isOverflowElement.d.ts +1 -0
  174. package/types/vuu-ui-controls/src/utils/isPlainObject.d.ts +1 -0
  175. package/types/vuu-ui-controls/src/vuu-date-picker/VuuDatePicker.d.ts +7 -0
  176. package/types/vuu-ui-controls/src/vuu-date-picker/index.d.ts +1 -0
  177. package/types/vuu-ui-controls/src/vuu-input/VuuInput.d.ts +18 -0
  178. package/types/vuu-ui-controls/src/vuu-input/index.d.ts +1 -0
  179. package/types/vuu-ui-controls/src/vuu-time-picker/VuuTimePicker.d.ts +7 -0
  180. package/types/vuu-ui-controls/src/vuu-typeahead-input/VuuTypeaheadInput.d.ts +6 -0
  181. package/types/vuu-ui-controls/src/vuu-typeahead-input/index.d.ts +1 -0
  182. package/types/vuu-ui-controls/src/vuu-typeahead-input/useVuuTypeaheadInput.d.ts +49 -0
  183. package/types/vuu-utils/src/Clock.d.ts +20 -0
  184. package/types/vuu-utils/src/DataWindow.d.ts +39 -0
  185. package/types/vuu-utils/src/ShellContext.d.ts +11 -0
  186. package/types/vuu-utils/src/ThemeProvider.d.ts +32 -0
  187. package/types/vuu-utils/src/array-utils.d.ts +8 -0
  188. package/types/vuu-utils/src/box-utils.d.ts +24 -0
  189. package/types/vuu-utils/src/broadcast-channel.d.ts +16 -0
  190. package/types/vuu-utils/src/column-utils.d.ts +181 -0
  191. package/types/vuu-utils/src/common-types.d.ts +6 -0
  192. package/types/vuu-utils/src/component-registry.d.ts +65 -0
  193. package/types/vuu-utils/src/context-definitions/DataContext.d.ts +18 -0
  194. package/types/vuu-utils/src/context-definitions/DataProvider.d.ts +7 -0
  195. package/types/vuu-utils/src/context-definitions/DataSourceProvider.d.ts +12 -0
  196. package/types/vuu-utils/src/context-definitions/WorkspaceContext.d.ts +17 -0
  197. package/types/vuu-utils/src/cookie-utils.d.ts +1 -0
  198. package/types/vuu-utils/src/css-utils.d.ts +1 -0
  199. package/types/vuu-utils/src/data-utils.d.ts +19 -0
  200. package/types/vuu-utils/src/datasource/BaseDataSource.d.ts +60 -0
  201. package/types/vuu-utils/src/datasource/datasource-action-utils.d.ts +7 -0
  202. package/types/vuu-utils/src/datasource/datasource-filter-utils.d.ts +2 -0
  203. package/types/vuu-utils/src/datasource/datasource-utils.d.ts +49 -0
  204. package/types/vuu-utils/src/date/date-utils.d.ts +36 -0
  205. package/types/vuu-utils/src/date/dateTimePattern.d.ts +8 -0
  206. package/types/vuu-utils/src/date/formatter.d.ts +4 -0
  207. package/types/vuu-utils/src/date/index.d.ts +4 -0
  208. package/types/vuu-utils/src/date/types.d.ts +24 -0
  209. package/types/vuu-utils/src/debug-utils.d.ts +9 -0
  210. package/types/vuu-utils/src/event-emitter.d.ts +21 -0
  211. package/types/vuu-utils/src/feature-utils.d.ts +110 -0
  212. package/types/vuu-utils/src/filters/filter-utils.d.ts +82 -0
  213. package/types/vuu-utils/src/filters/filterAsQuery.d.ts +7 -0
  214. package/types/vuu-utils/src/filters/index.d.ts +2 -0
  215. package/types/vuu-utils/src/form-utils.d.ts +23 -0
  216. package/types/vuu-utils/src/formatting-utils.d.ts +14 -0
  217. package/types/vuu-utils/src/getUniqueId.d.ts +1 -0
  218. package/types/vuu-utils/src/group-utils.d.ts +10 -0
  219. package/types/vuu-utils/src/html-utils.d.ts +21 -0
  220. package/types/vuu-utils/src/index.d.ts +74 -0
  221. package/types/vuu-utils/src/input-utils.d.ts +2 -0
  222. package/types/vuu-utils/src/invariant.d.ts +1 -0
  223. package/types/vuu-utils/src/itemToString.d.ts +2 -0
  224. package/types/vuu-utils/src/json-types.d.ts +52 -0
  225. package/types/vuu-utils/src/json-utils.d.ts +6 -0
  226. package/types/vuu-utils/src/keyboard-utils.d.ts +15 -0
  227. package/types/vuu-utils/src/keyset.d.ts +16 -0
  228. package/types/vuu-utils/src/layout-types.d.ts +22 -0
  229. package/types/vuu-utils/src/list-utils.d.ts +2 -0
  230. package/types/vuu-utils/src/local-storage-utils.d.ts +3 -0
  231. package/types/vuu-utils/src/logging-utils.d.ts +45 -0
  232. package/types/vuu-utils/src/menu-utils.d.ts +6 -0
  233. package/types/vuu-utils/src/module-utils.d.ts +8 -0
  234. package/types/vuu-utils/src/moving-window.d.ts +18 -0
  235. package/types/vuu-utils/src/nanoid/index.d.ts +1 -0
  236. package/types/vuu-utils/src/perf-utils.d.ts +5 -0
  237. package/types/vuu-utils/src/promise-utils.d.ts +8 -0
  238. package/types/vuu-utils/src/protocol-message-utils.d.ts +34 -0
  239. package/types/vuu-utils/src/range-utils.d.ts +31 -0
  240. package/types/vuu-utils/src/react-utils.d.ts +8 -0
  241. package/types/vuu-utils/src/round-decimal.d.ts +1 -0
  242. package/types/vuu-utils/src/row-utils.d.ts +27 -0
  243. package/types/vuu-utils/src/selection-utils.d.ts +4 -0
  244. package/types/vuu-utils/src/shell-layout-types.d.ts +15 -0
  245. package/types/vuu-utils/src/sort-utils.d.ts +11 -0
  246. package/types/vuu-utils/src/table-schema-utils.d.ts +3 -0
  247. package/types/vuu-utils/src/text-utils.d.ts +2 -0
  248. package/types/vuu-utils/src/tree-types.d.ts +9 -0
  249. package/types/vuu-utils/src/tree-utils.d.ts +9 -0
  250. package/types/vuu-utils/src/ts-utils.d.ts +20 -0
  251. package/types/vuu-utils/src/typeahead-utils.d.ts +1 -0
  252. package/types/vuu-utils/src/url-utils.d.ts +2 -0
  253. package/types/vuu-utils/src/useId.d.ts +1 -0
  254. package/types/vuu-utils/src/useLayoutEffectSkipFirst.d.ts +2 -0
  255. package/types/vuu-utils/src/useStateRef.d.ts +2 -0
  256. package/types/vuu-utils/src/user-types.d.ts +4 -0
  257. /package/types/{data-editing → vuu-data-react/src/data-editing}/EditForm.d.ts +0 -0
  258. /package/types/{data-editing → vuu-data-react/src/data-editing}/UnsavedChangesReport.d.ts +0 -0
  259. /package/types/{data-editing → vuu-data-react/src/data-editing}/edit-rule-validation-checker.d.ts +0 -0
  260. /package/types/{data-editing → vuu-data-react/src/data-editing}/edit-validation-rules.d.ts +0 -0
  261. /package/types/{data-editing → vuu-data-react/src/data-editing}/form-edit-state.d.ts +0 -0
  262. /package/types/{data-editing → vuu-data-react/src/data-editing}/index.d.ts +0 -0
  263. /package/types/{data-editing → vuu-data-react/src/data-editing}/useEditForm.d.ts +0 -0
  264. /package/types/{datasource-provider → vuu-data-react/src/datasource-provider}/VuuDataSourceProvider.d.ts +0 -0
  265. /package/types/{datasource-provider → vuu-data-react/src/datasource-provider}/index.d.ts +0 -0
  266. /package/types/{datasource-provider → vuu-data-react/src/datasource-provider}/useAutoLoginToVuuServer.d.ts +0 -0
  267. /package/types/{hooks → vuu-data-react/src/hooks}/useLookupValues.d.ts +0 -0
  268. /package/types/{hooks → vuu-data-react/src/hooks}/useSessionDataSource.d.ts +0 -0
  269. /package/types/{hooks → vuu-data-react/src/hooks}/useTypeaheadSuggestions.d.ts +0 -0
  270. /package/types/{hooks → vuu-data-react/src/hooks}/useVisualLinks.d.ts +0 -0
  271. /package/types/{hooks → vuu-data-react/src/hooks}/useVuuMenuActions.d.ts +0 -0
  272. /package/types/{hooks → vuu-data-react/src/hooks}/useVuuTables.d.ts +0 -0
  273. /package/types/{session-editing-form → vuu-data-react/src/session-editing-form}/SessionEditingForm.d.ts +0 -0
  274. /package/types/{session-editing-form → vuu-data-react/src/session-editing-form}/index.d.ts +0 -0
@@ -0,0 +1,21 @@
1
+ import { type Dispatch, type MutableRefObject, type SetStateAction, type SyntheticEvent } from "react";
2
+ import type { useCollection } from "./hooks/useCollection";
3
+ export interface Item {
4
+ id: string;
5
+ value: string;
6
+ element: HTMLElement;
7
+ }
8
+ export interface TabsNextContextValue extends Omit<ReturnType<typeof useCollection>, "registerItem"> {
9
+ registerTab: (item: Item) => () => void;
10
+ registerPanel: (id: string, value: string) => () => void;
11
+ getPanelId: (value: string) => string | undefined;
12
+ getTabId: (value: string) => string | undefined;
13
+ selected?: string;
14
+ setSelected: (event: SyntheticEvent, value: string) => void;
15
+ activeTab: MutableRefObject<Pick<Item, "id" | "value"> | undefined>;
16
+ returnFocus: MutableRefObject<string | undefined>;
17
+ menuOpen: boolean;
18
+ setMenuOpen: Dispatch<SetStateAction<boolean>>;
19
+ }
20
+ export declare const TabsNextContext: import("react").Context<TabsNextContextValue>;
21
+ export declare function useTabsNext(): TabsNextContextValue;
@@ -0,0 +1,18 @@
1
+ export interface Item {
2
+ id: string;
3
+ element?: HTMLElement | null;
4
+ value: string;
5
+ }
6
+ interface UseCollectionProps {
7
+ wrap: boolean;
8
+ }
9
+ export declare function useCollection({ wrap }: UseCollectionProps): {
10
+ registerItem: (item: Item) => () => import("react").RefObject<Item[]>;
11
+ item: (id?: string | null) => Item | null;
12
+ getNext: (current: string) => Item | null;
13
+ getPrevious: (current: string) => Item | null;
14
+ getFirst: () => Item | null;
15
+ getLast: () => Item | null;
16
+ items: Item[];
17
+ };
18
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type RefObject } from "react";
2
+ export declare function useFocusOutside(elementRef: RefObject<HTMLElement | null>, onFocusOutside: () => void, enabled: boolean, ignore?: string): void;
@@ -0,0 +1,11 @@
1
+ import { type ReactNode, type RefObject } from "react";
2
+ import type { Item } from "./useCollection";
3
+ interface UseOverflowProps {
4
+ container: RefObject<HTMLElement | null>;
5
+ selected?: string;
6
+ children: ReactNode;
7
+ tabs: Item[];
8
+ overflowButton: RefObject<HTMLButtonElement | null>;
9
+ }
10
+ export declare function useOverflow({ tabs, container, overflowButton, children, selected, }: UseOverflowProps): readonly [(string | number | bigint | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | import("react").ReactPortal | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined>)[], (string | number | bigint | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | import("react").ReactPortal | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined>)[], false] | readonly [(string | number | bigint | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | import("react").ReactPortal | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined>)[], readonly [], true];
11
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from "./TabNext";
2
+ export * from "./TabListNext";
3
+ export * from "./TabsNext";
4
+ export * from "./TabNextPanel";
5
+ export * from "./TabBar";
6
+ export * from "./TabNextTrigger";
7
+ export * from "./TabNextAction";
@@ -0,0 +1,27 @@
1
+ import { KeyboardEvent, MouseEvent } from "react";
2
+ import { EditableLabelProps } from "../editable-label";
3
+ import { MenuActionHandler } from "@vuu-ui/vuu-context-menu";
4
+ export declare const Tab: import("react").ForwardRefExoticComponent<Omit<import("react").HTMLAttributes<HTMLElement>, "onClick" | "onKeyUp"> & {
5
+ ariaControls?: import("react").AriaAttributes["aria-controls"];
6
+ closeable?: boolean;
7
+ draggable?: boolean;
8
+ dragging?: boolean;
9
+ editable?: boolean;
10
+ editing?: EditableLabelProps["editing"];
11
+ focused?: boolean;
12
+ focusVisible?: boolean;
13
+ focusedChildIndex?: number;
14
+ location?: string;
15
+ selected?: boolean;
16
+ showMenuButton?: boolean;
17
+ index?: number;
18
+ label?: EditableLabelProps["defaultValue"];
19
+ onClick?: (e: MouseEvent<HTMLElement>, index: number) => void;
20
+ onClose?: (index: number) => void;
21
+ onEnterEditMode?: () => void;
22
+ onExitEditMode?: import("./TabsTypes").exitEditHandler;
23
+ onKeyUp?: (e: KeyboardEvent, index: number) => void;
24
+ onMenuAction?: MenuActionHandler;
25
+ onMenuClose?: () => void;
26
+ orientation?: "horizontal" | "vertical";
27
+ } & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,23 @@
1
+ import { MenuActionHandler } from "@vuu-ui/vuu-context-menu";
2
+ export type TabContextMenuOptions = {
3
+ controlledComponentId?: string;
4
+ controlledComponentTitle?: string;
5
+ tabIndex: number;
6
+ };
7
+ export interface TabMenuProps {
8
+ allowClose: boolean;
9
+ allowRename: boolean;
10
+ index: number;
11
+ location?: string;
12
+ onMenuAction: MenuActionHandler;
13
+ onMenuClose?: () => void;
14
+ /**
15
+ * The id of associated component, if available
16
+ */
17
+ controlledComponentId?: string;
18
+ /**
19
+ * The label of Tab, if available
20
+ */
21
+ controlledComponentTitle?: string;
22
+ }
23
+ export declare const TabMenu: ({ allowClose, allowRename, controlledComponentId, controlledComponentTitle, location, onMenuAction, onMenuClose, index, }: TabMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { ContextMenuItemDescriptor } from "@vuu-ui/vuu-context-menu";
2
+ export type MenuOptions = {
3
+ [key: string]: unknown;
4
+ };
5
+ export interface TabMenuOptions {
6
+ tabIndex: number;
7
+ }
8
+ export declare const isTabMenuOptions: (options: unknown) => options is TabMenuOptions;
9
+ export declare const closeCommand: (options?: MenuOptions) => ContextMenuItemDescriptor;
10
+ export declare const renameCommand: (options?: MenuOptions) => ContextMenuItemDescriptor;
@@ -0,0 +1,127 @@
1
+ import type { MenuActionHandler } from "@vuu-ui/vuu-context-menu";
2
+ import type { orientationType } from "@vuu-ui/vuu-utils";
3
+ import type { AriaAttributes, HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement } from "react";
4
+ import type { EditableLabelProps } from "../editable-label";
5
+ export type ExitTabEditModeHandler = (originalValue: string, editedValue: string, allowDeactivation: boolean, tabIndex: number) => void;
6
+ export interface FocusAPI {
7
+ focus: () => void;
8
+ }
9
+ export type navigationProps = Pick<TabProps, "onFocus" | "onKeyDown">;
10
+ export type composableTabProps = navigationProps & Pick<TabProps, "onClick" | "onEnterEditMode" | "onExitEditMode" | "onMouseDown">;
11
+ export type TabstripVariant = "primary" | "tertiary";
12
+ export interface TabstripProps extends HTMLAttributes<HTMLDivElement> {
13
+ /**
14
+ * index value of Active Tab.
15
+ */
16
+ activeTabIndex: number;
17
+ /**
18
+ * Boolean that enables add new tab
19
+ */
20
+ allowAddTab?: boolean;
21
+ /**
22
+ * when true Tabs may be re-arranged by dragging individual Tabs to new position within Tabstrip.
23
+ */
24
+ allowDragDrop?: boolean;
25
+ /**
26
+ * when true Tabs may be closed by user. This can be overridden on each individual Tab
27
+ */
28
+ allowCloseTab?: boolean;
29
+ /**
30
+ * when true Tab labels may be edited by user. This can be overridden on each individual Tab
31
+ */
32
+ allowRenameTab?: boolean;
33
+ animateSelectionThumb?: boolean;
34
+ /**
35
+ * Boolean that indicates if tabs are centered on the container
36
+ */
37
+ centered?: boolean;
38
+ /**
39
+ * index value of Selected Tab, used in uncontrolled mode
40
+ */
41
+ defaultActiveTabIndex?: number;
42
+ editing?: boolean;
43
+ keyBoardActivation?: "manual" | "automatic";
44
+ /**
45
+ * A custom context menu location for TabMenu, applied to all tabs
46
+ */
47
+ location?: string;
48
+ /**
49
+ * callback that fires when user has clicked Add Tab button.
50
+ * client is responsible for re-render with additional tab.
51
+ * It is also responsibility of client to select tne new tab
52
+ * by setting activeTabIndex, if that is the desired behaviour.
53
+ */
54
+ onAddTab?: () => void;
55
+ /**
56
+ * callback that fires when tab selection changes
57
+ */
58
+ onActiveChange?: (tabIndex: number) => void;
59
+ /**
60
+ * callback that fires when user has opted to remove tab.
61
+ * client is responsible for re-render with tab removed.
62
+ * It is also responsibility of client to select tne new tab
63
+ * by setting activeTabIndex, a suggested value for this is
64
+ * provided by newActiveTabIndex.
65
+ */
66
+ onCloseTab?: (tabIndex: number, newActiveTabIndex: number) => void;
67
+ onMoveTab?: (fromIndex: number, toIndex: number) => void;
68
+ /**
69
+ * vertical or horizontal (default)
70
+ */
71
+ orientation?: orientationType;
72
+ onEnterEditMode?: () => void;
73
+ onExitEditMode?: ExitTabEditModeHandler;
74
+ /**
75
+ * Boolean that indicates whether to enable overflow dropdown or not
76
+ */
77
+ overflowMenu?: boolean;
78
+ promptForNewTabName?: boolean;
79
+ /**
80
+ * Should each tab render a popup menu. Default is false if tab is
81
+ * not closeable, not renameable and has no tab-location , otherwise true.
82
+ */
83
+ showTabMenuButton?: boolean;
84
+ /**
85
+ * An optional classname that will be added to each tab
86
+ */
87
+ tabClassName?: string;
88
+ /**
89
+ * An optional classifier, used to create a classname, intended
90
+ * for promary vs secondary bavigation.
91
+ */
92
+ variant?: "primary" | "secondary";
93
+ }
94
+ export type exitEditHandler = (originalValue: string, editedValue: string, allowDeactivation: boolean, tabIndex: number) => void;
95
+ export interface responsiveDataAttributes {
96
+ "data-index": number;
97
+ "data-overflowed"?: boolean;
98
+ "data-priority": number;
99
+ }
100
+ export type TabProps = Omit<HTMLAttributes<HTMLElement>, "onClick" | "onKeyUp"> & {
101
+ ariaControls?: AriaAttributes["aria-controls"];
102
+ closeable?: boolean;
103
+ draggable?: boolean;
104
+ dragging?: boolean;
105
+ editable?: boolean;
106
+ editing?: EditableLabelProps["editing"];
107
+ focused?: boolean;
108
+ focusVisible?: boolean;
109
+ focusedChildIndex?: number;
110
+ location?: string;
111
+ selected?: boolean;
112
+ showMenuButton?: boolean;
113
+ /**
114
+ * index is injected by the Tabstrip is need not be specified by client
115
+ */
116
+ index?: number;
117
+ label?: EditableLabelProps["defaultValue"];
118
+ onClick?: (e: MouseEvent<HTMLElement>, index: number) => void;
119
+ onClose?: (index: number) => void;
120
+ onEnterEditMode?: () => void;
121
+ onExitEditMode?: exitEditHandler;
122
+ onKeyUp?: (e: KeyboardEvent, index: number) => void;
123
+ onMenuAction?: MenuActionHandler;
124
+ onMenuClose?: () => void;
125
+ orientation?: "horizontal" | "vertical";
126
+ };
127
+ export type TabElement = ReactElement<TabProps>;
@@ -0,0 +1,2 @@
1
+ import { TabstripProps } from "./TabsTypes";
2
+ export declare const Tabstrip: ({ activeTabIndex: activeTabIndexProp, allowAddTab, allowCloseTab, allowDragDrop, allowRenameTab, animateSelectionThumb, children, className: classNameProp, id: idProp, keyBoardActivation, location, onActiveChange, onAddTab, onCloseTab, onExitEditMode, onMoveTab, orientation, showTabMenuButton, style: styleProp, tabClassName, variant, ...htmlAttributes }: TabstripProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export * from "./Tabstrip";
2
+ export * from "./Tab";
3
+ export * from "./TabsTypes";
4
+ export * from "./tabstrip-dom-utils";
5
+ export type { TabContextMenuOptions } from "./TabMenu";
@@ -0,0 +1,2 @@
1
+ export declare const getIndexOfSelectedTab: (container: HTMLElement | null) => number;
2
+ export declare const getIndexOfEditedItem: (container: HTMLElement | null) => number;
@@ -0,0 +1,7 @@
1
+ import { orientationType } from "@vuu-ui/vuu-utils";
2
+ import { CSSProperties, RefObject } from "react";
3
+ export declare const useAnimatedSelectionThumb: (containerRef: RefObject<HTMLElement | null>, activeTabIndex: number, orientation?: orientationType) => {
4
+ containerStyle: CSSProperties;
5
+ resumeAnimation: () => void;
6
+ suspendAnimation: () => void;
7
+ };
@@ -0,0 +1,29 @@
1
+ import { orientationType } from "@vuu-ui/vuu-utils";
2
+ import { FocusEvent, FocusEventHandler, KeyboardEvent, MouseEvent as ReactMouseEvent, MouseEventHandler, RefObject } from "react";
3
+ export interface ContainerNavigationProps {
4
+ onBlur: FocusEventHandler;
5
+ onFocus: FocusEventHandler;
6
+ onMouseDownCapture: MouseEventHandler;
7
+ onMouseLeave: MouseEventHandler;
8
+ }
9
+ interface TabstripNavigationHookProps {
10
+ containerRef: RefObject<HTMLElement | null>;
11
+ defaultHighlightedIdx?: number;
12
+ highlightedIdx?: number;
13
+ keyBoardActivation?: "manual" | "automatic";
14
+ orientation: orientationType;
15
+ selectedIndex: number | null;
16
+ }
17
+ interface TabstripNavigationHookResult {
18
+ containerProps: ContainerNavigationProps;
19
+ highlightedIdx: number;
20
+ focusTab: (tabIndex: number, immediateFocus?: boolean, withKeyboard?: boolean, delay?: number) => void;
21
+ focusVisible: number;
22
+ focusIsWithinComponent: boolean;
23
+ onClick: (evt: ReactMouseEvent, tabIndex: number) => void;
24
+ onFocus: (evt: FocusEvent<HTMLElement>) => void;
25
+ onKeyDown: (evt: KeyboardEvent) => void;
26
+ setHighlightedIdx: (highlightedIndex: number) => void;
27
+ }
28
+ export declare const useKeyboardNavigation: ({ containerRef, defaultHighlightedIdx, highlightedIdx: highlightedIdxProp, keyBoardActivation, orientation, selectedIndex: selectedTabIndex, }: TabstripNavigationHookProps) => TabstripNavigationHookResult;
29
+ export {};
@@ -0,0 +1,13 @@
1
+ import { KeyboardEvent, MouseEvent } from "react";
2
+ export declare const useSelection: ({ defaultSelected, highlightedIdx, onSelectionChange, selected: selectedProp, }: {
3
+ defaultSelected?: number;
4
+ highlightedIdx: number;
5
+ onSelectionChange?: (tabIndex: number) => void;
6
+ selected?: number;
7
+ }) => {
8
+ activateTab: (tabIndex: number) => void;
9
+ isControlled: boolean;
10
+ onClick: (evt: MouseEvent<Element>, tabIndex: number) => void;
11
+ onKeyDown: (evt: KeyboardEvent) => void;
12
+ selected: number;
13
+ };
@@ -0,0 +1,55 @@
1
+ import type { OverflowItem } from "@vuu-ui/vuu-ui-controls";
2
+ import { orientationType } from "@vuu-ui/vuu-utils";
3
+ import { KeyboardEvent, MouseEvent as ReactMouseEvent, RefObject } from "react";
4
+ import { MenuActionHandler } from "@vuu-ui/vuu-context-menu";
5
+ export type ExitEditModeHandler = (originalValue: string, editedValue: string, allowDeactivation: boolean, tabIndex: number) => void;
6
+ export interface TabstripHookProps {
7
+ activeTabIndex: number;
8
+ allowDragDrop: boolean;
9
+ animateSelectionThumb: boolean;
10
+ containerRef: RefObject<HTMLElement | null>;
11
+ onActiveChange?: (tabIndex: number) => void;
12
+ onAddTab?: () => void;
13
+ onCloseTab?: (tabIndex: number, newActiveTabIndex: number) => void;
14
+ onExitEditMode?: ExitEditModeHandler;
15
+ onMoveTab?: (fromIndex: number, toIndex: number) => void;
16
+ orientation: orientationType;
17
+ keyBoardActivation?: "manual" | "automatic";
18
+ }
19
+ type InteractedTabState = {
20
+ index: number;
21
+ state: "rename";
22
+ };
23
+ export declare const useTabstrip: ({ activeTabIndex: activeTabIndexProp, allowDragDrop, animateSelectionThumb, containerRef, onActiveChange, onAddTab, onCloseTab, onExitEditMode, onMoveTab, orientation, keyBoardActivation, }: TabstripHookProps) => {
24
+ draggable?: import("react").ReactElement;
25
+ dropIndicator?: import("react").ReactElement;
26
+ draggedItemIndex?: number;
27
+ isDragging: boolean;
28
+ isScrolling: RefObject<boolean>;
29
+ revealOverflowedItems?: boolean;
30
+ activeTabIndex: number;
31
+ containerProps: {
32
+ onSwitchWrappedItemIntoView: (item: OverflowItem) => void;
33
+ onBlur: import("react").FocusEventHandler;
34
+ onFocus: import("react").FocusEventHandler;
35
+ onMouseDownCapture: import("react").MouseEventHandler;
36
+ onMouseLeave: import("react").MouseEventHandler;
37
+ };
38
+ containerStyle: import("react").CSSProperties;
39
+ focusVisible: number;
40
+ interactedTabState: InteractedTabState | undefined;
41
+ navigationProps: {
42
+ onFocus: (evt: import("react").FocusEvent<HTMLElement>) => void;
43
+ onKeyDown: (evt: KeyboardEvent) => void;
44
+ };
45
+ onClickAddTab: () => void;
46
+ tabProps: {
47
+ onClick: (evt: ReactMouseEvent<HTMLElement>, tabIndex: number) => void;
48
+ onKeyDown: (evt: KeyboardEvent) => void;
49
+ onExitEditMode: ExitEditModeHandler;
50
+ onMenuAction: MenuActionHandler;
51
+ onMenuClose: () => void;
52
+ onMouseDown: import("react").MouseEventHandler | undefined;
53
+ };
54
+ };
55
+ export {};
@@ -0,0 +1,49 @@
1
+ import { EventEmitter, TimeString, TimeUnit } from "@vuu-ui/vuu-utils";
2
+ import { ChangeEventHandler } from "react";
3
+ export type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
4
+ export type MaskedInputEvents = {
5
+ change: ChangeEventHandler<HTMLInputElement>;
6
+ };
7
+ export declare class MaskedInput extends EventEmitter<MaskedInputEvents> {
8
+ #private;
9
+ constructor(defaultValue: TimeString | undefined, inputEl?: HTMLInputElement | null);
10
+ set input(el: HTMLInputElement);
11
+ /**
12
+ * The change event is fired programatically. This will only be handled
13
+ * by a native event handler ( not a React handler). We handle this event
14
+ * and convert to a React (Synthetic) event.
15
+ */
16
+ private emitSyntheticChangeEvent;
17
+ get cursorPos(): number;
18
+ set cursorPos(value: number);
19
+ get isFocused(): boolean;
20
+ get selectionStart(): number;
21
+ set selectionStart(value: number);
22
+ get selectionEnd(): number;
23
+ set selectionEnd(value: number);
24
+ private setValue;
25
+ private setUnitValue;
26
+ private getUnitValue;
27
+ get value(): TimeString;
28
+ /**
29
+ * Setting the value this way invokes 'controlled' mode
30
+ */
31
+ set value(value: TimeString);
32
+ clear(unit: TimeUnit): void;
33
+ select(unit: TimeUnit, halfUnit?: boolean): void;
34
+ removeSelection(): void;
35
+ restoreSelection(): void;
36
+ advanceSelection(): void;
37
+ moveFocus(direction: "left" | "right"): void;
38
+ pasteValue(value: TimeString): void;
39
+ private getUnitAtCursorPos;
40
+ incrementValue(): void;
41
+ decrementValue(): void;
42
+ backspace(): void;
43
+ update(key: Digit): void;
44
+ private getSelection;
45
+ click(): void;
46
+ doubleClick(): void;
47
+ focus: () => void;
48
+ blur: () => void;
49
+ }
@@ -0,0 +1,5 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { TimeInputHookProps } from "./useTimeInput";
3
+ export interface TimeInputProps extends TimeInputHookProps, Omit<HTMLAttributes<HTMLInputElement>, "defaultValue" | "onChange" | "value">, Partial<Pick<HTMLInputElement, "placeholder">> {
4
+ }
5
+ export declare const TimeInput: import("react").ForwardRefExoticComponent<TimeInputProps & import("react").RefAttributes<HTMLInputElement>>;
@@ -0,0 +1,21 @@
1
+ import { type CommitHandler, DateStringISO, type TimeString } from "@vuu-ui/vuu-utils";
2
+ import { ChangeEventHandler, ClipboardEventHandler, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, RefCallback } from "react";
3
+ export interface TimeInputHookProps {
4
+ date?: Date | DateStringISO;
5
+ defaultValue?: TimeString;
6
+ onChange?: ChangeEventHandler<HTMLInputElement>;
7
+ onCommit: CommitHandler<HTMLInputElement, TimeString>;
8
+ value?: TimeString;
9
+ }
10
+ export declare const useTimeInput: ({ defaultValue, onChange, onCommit, value, }: TimeInputHookProps) => {
11
+ inputRef: RefCallback<HTMLInputElement>;
12
+ eventHandlers: {
13
+ onBlur: (() => void) | undefined;
14
+ onDoubleClick: () => void;
15
+ onFocus: FocusEventHandler<HTMLInputElement>;
16
+ onKeyDown: KeyboardEventHandler<HTMLInputElement>;
17
+ onMouseDown: MouseEventHandler;
18
+ onMouseUp: MouseEventHandler<HTMLInputElement>;
19
+ onPaste: ClipboardEventHandler<HTMLInputElement>;
20
+ };
21
+ };
@@ -0,0 +1,19 @@
1
+ import { OverflowContainerProps } from "../overflow-container";
2
+ import { SelectionStrategy, SpecialKeyMultipleSelection } from "../common-hooks";
3
+ export type ActiveItemChangeHandler = (itemIndex: number[]) => void;
4
+ export type NavigationOutOfBoundsHandler = (direction: "start" | "end") => void;
5
+ export interface ToolbarProps extends OverflowContainerProps {
6
+ activeItemIndex?: number[];
7
+ alignItems?: "start" | "center" | "end";
8
+ defaultActiveItemIndex?: number[];
9
+ onActiveChange?: ActiveItemChangeHandler;
10
+ /**
11
+ * Indicates that user has used Arrow key navigation to move beyond the
12
+ * last or before the first item. A higher level component may want to
13
+ * use this to implement a seamless navigation across components.
14
+ */
15
+ onNavigateOutOfBounds?: NavigationOutOfBoundsHandler;
16
+ selectionStrategy?: SelectionStrategy | SpecialKeyMultipleSelection;
17
+ showSeparators?: boolean;
18
+ }
19
+ export declare const Toolbar: ({ activeItemIndex: activeItemIndexProp, alignItems, defaultActiveItemIndex, children, className, id: idProp, onActiveChange, onNavigateOutOfBounds, orientation, selectionStrategy, showSeparators, ...props }: ToolbarProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./Toolbar";
@@ -0,0 +1,3 @@
1
+ export declare const getIndexOfItem: (container: HTMLElement | null, query: string) => number;
2
+ export declare const getIndexOfSelectedTab: (container: HTMLElement | null) => number;
3
+ export declare const getIndexOfEditedItem: (container: HTMLElement | null) => number;
@@ -0,0 +1,32 @@
1
+ import { orientationType } from "@vuu-ui/vuu-utils";
2
+ import { FocusEvent, FocusEventHandler, KeyboardEvent, MouseEvent as ReactMouseEvent, MouseEventHandler, RefObject } from "react";
3
+ import { NavigationOutOfBoundsHandler } from "./Toolbar";
4
+ import { MenuCloseHandler } from "@vuu-ui/vuu-popups";
5
+ export interface ContainerNavigationProps {
6
+ onBlur: FocusEventHandler;
7
+ onFocus: FocusEventHandler;
8
+ onMouseDownCapture: MouseEventHandler;
9
+ onMouseLeave: MouseEventHandler;
10
+ }
11
+ interface ToolbarNavigationHookProps {
12
+ containerRef: RefObject<HTMLElement | null>;
13
+ defaultHighlightedIdx?: number;
14
+ highlightedIdx?: number;
15
+ onNavigateOutOfBounds?: NavigationOutOfBoundsHandler;
16
+ orientation: orientationType;
17
+ }
18
+ interface ToolbarNavigationHookResult {
19
+ containerProps: ContainerNavigationProps;
20
+ focusableIdx: number;
21
+ highlightedIdx: number;
22
+ focusItem: (itemIndex: number, immediateFocus?: boolean, withKeyboard?: boolean, delay?: number) => void;
23
+ focusVisible: number;
24
+ focusIsWithinComponent: boolean;
25
+ onClick: (evt: ReactMouseEvent, tabIndex: number) => void;
26
+ onFocus: (evt: FocusEvent<HTMLElement>) => void;
27
+ onKeyDown: (evt: KeyboardEvent) => void;
28
+ onOverflowMenuClose?: MenuCloseHandler;
29
+ setHighlightedIdx: (highlightedIndex: number) => void;
30
+ }
31
+ export declare const useKeyboardNavigation: ({ containerRef, defaultHighlightedIdx, highlightedIdx: highlightedIdxProp, onNavigateOutOfBounds, orientation, }: ToolbarNavigationHookProps) => ToolbarNavigationHookResult;
32
+ export {};
@@ -0,0 +1,22 @@
1
+ import { MouseEvent, RefObject } from "react";
2
+ import { SelectionStrategy, SpecialKeyMultipleSelection } from "../common-hooks";
3
+ export interface SelectionHookProps {
4
+ containerRef: RefObject<HTMLElement | null>;
5
+ defaultSelected?: number[];
6
+ highlightedIdx: number;
7
+ itemQuery: string;
8
+ onSelectionChange?: (selectedIndices: number[]) => void;
9
+ selected?: number[];
10
+ selectionStrategy: SelectionStrategy | SpecialKeyMultipleSelection;
11
+ }
12
+ export interface ItemHandlers {
13
+ onClick?: (e: MouseEvent, itemIndex: number) => void;
14
+ onKeyDown?: (event: React.KeyboardEvent) => void;
15
+ }
16
+ export interface SelectionHookResult {
17
+ activateItem: (tabIndex: number) => void;
18
+ itemHandlers: ItemHandlers;
19
+ isControlled: boolean;
20
+ selected: number[];
21
+ }
22
+ export declare const useSelection: ({ defaultSelected, highlightedIdx, onSelectionChange, selected: selectedProp, selectionStrategy, }: SelectionHookProps) => SelectionHookResult;
@@ -0,0 +1,28 @@
1
+ import { KeyboardEvent, MouseEvent as ReactMouseEvent, RefObject } from "react";
2
+ import { OverflowItem } from "../overflow-container";
3
+ import { ToolbarProps } from "./Toolbar";
4
+ export interface ToolbarHookProps extends Pick<ToolbarProps, "activeItemIndex" | "defaultActiveItemIndex" | "onActiveChange" | "onNavigateOutOfBounds">, Required<Pick<ToolbarProps, "orientation" | "selectionStrategy">> {
5
+ containerRef: RefObject<HTMLElement | null>;
6
+ itemQuery?: string;
7
+ }
8
+ export declare const useToolbar: ({ activeItemIndex: activeItemIndexProp, defaultActiveItemIndex, containerRef, itemQuery, onActiveChange, onNavigateOutOfBounds, orientation, selectionStrategy, }: ToolbarHookProps) => {
9
+ activeItemIndex: number[];
10
+ focusableIdx: number;
11
+ focusVisible: number;
12
+ containerProps: {
13
+ onSwitchWrappedItemIntoView: (item: OverflowItem) => void;
14
+ onBlur: import("react").FocusEventHandler;
15
+ onFocus: import("react").FocusEventHandler;
16
+ onMouseDownCapture: import("react").MouseEventHandler;
17
+ onMouseLeave: import("react").MouseEventHandler;
18
+ PopupMenuProps: {
19
+ onKeyDown: (evt: KeyboardEvent) => void;
20
+ onMenuClose: import("@vuu-ui/vuu-popups").MenuCloseHandler | undefined;
21
+ };
22
+ };
23
+ itemProps: {
24
+ onClick: (evt: ReactMouseEvent<HTMLElement>) => void;
25
+ onFocus: (evt: import("react").FocusEvent<HTMLElement>) => void;
26
+ onKeyDown: (evt: KeyboardEvent) => void;
27
+ };
28
+ };
@@ -0,0 +1,2 @@
1
+ export type CloseReason = "blur" | "Escape" | "click-away" | "select" | "script" | "Tab" | "toggle";
2
+ export type OpenChangeHandler = <T extends boolean>(open: T, closeReason?: T extends false ? CloseReason : never) => void;
@@ -0,0 +1 @@
1
+ export declare function escapeRegExp(string: string): string;
@@ -0,0 +1,3 @@
1
+ type Props = Record<string, unknown>;
2
+ export declare const forwardCallbackProps: <P1 extends Props, P2 extends Props>(ownProps: P1, overrideProps: P2) => P1 & P2;
3
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from "./escapeRegExp";
2
+ export * from "./isOverflowElement";
3
+ export * from "./isPlainObject";
4
+ export * from "./forwardCallbackProps";
5
+ export * from "./deprecated-types";
@@ -0,0 +1 @@
1
+ export declare const isOverflowElement: (element: HTMLElement | null) => boolean;
@@ -0,0 +1 @@
1
+ export declare const isPlainObject: (obj: Record<never, never>) => boolean;
@@ -0,0 +1,7 @@
1
+ import { CommitHandler } from "@vuu-ui/vuu-utils";
2
+ import { SingleSelectionValueType } from "../calendar";
3
+ import { DatePickerProps } from "../date-picker";
4
+ export declare const VuuDatePicker: ({ className, onSelectionChange, selectedDate: selectedDateProp, onCommit, preserveFocusOnSelect, ...props }: Omit<DatePickerProps<SingleSelectionValueType>, "defaultSelectedDate"> & {
5
+ onCommit?: CommitHandler<HTMLElement, number>;
6
+ preserveFocusOnSelect?: boolean;
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./VuuDatePicker";
@@ -0,0 +1,18 @@
1
+ import { VuuRowDataItemType } from "@vuu-ui/vuu-protocol-types";
2
+ import { CommitHandler } from "@vuu-ui/vuu-utils";
3
+ import { InputProps } from "@salt-ds/core";
4
+ import { ForwardedRef, ReactElement, ReactNode } from "react";
5
+ export interface VuuInputProps<T extends VuuRowDataItemType = string> extends Omit<InputProps, "validationStatus"> {
6
+ commitOnBlur?: boolean;
7
+ commitWhenCleared?: boolean;
8
+ errorMessage?: ReactNode;
9
+ onCommit: CommitHandler;
10
+ type?: T;
11
+ }
12
+ /**
13
+ * A variant of Salt Input that provides a commit callback prop,
14
+ * TODO along with cancel behaviour ?
15
+ */
16
+ export declare const VuuInput: <T extends VuuRowDataItemType = string>(props: VuuInputProps<T> & {
17
+ ref?: ForwardedRef<HTMLDivElement>;
18
+ }) => ReactElement<VuuInputProps<T>>;
@@ -0,0 +1 @@
1
+ export * from "./VuuInput";