@vuu-ui/vuu-table 0.8.12 → 0.8.13

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 (199) hide show
  1. package/cjs/index.js +1 -1
  2. package/cjs/index.js.map +4 -4
  3. package/esm/index.js +1 -1
  4. package/esm/index.js.map +4 -4
  5. package/index.css +1 -1
  6. package/index.css.map +3 -3
  7. package/package.json +9 -9
  8. package/types/vuu-table/src/{table-next/Row.d.ts → Row.d.ts} +5 -5
  9. package/types/vuu-table/src/Table.d.ts +72 -0
  10. package/types/vuu-table/src/cell-renderers/cell-utils.d.ts +7 -0
  11. package/types/vuu-table/src/cell-renderers/checkbox-cell/CheckboxCell.d.ts +3 -0
  12. package/types/vuu-table/src/cell-renderers/checkbox-cell/index.d.ts +1 -0
  13. package/types/vuu-table/src/cell-renderers/dropdown-cell/DropdownCell.d.ts +4 -0
  14. package/types/vuu-table/src/cell-renderers/index.d.ts +5 -0
  15. package/types/vuu-table/src/{table-next/cell-renderers → cell-renderers}/input-cell/InputCell.d.ts +1 -1
  16. package/types/vuu-table/src/cell-renderers/lookup-cell/LookupCell.d.ts +3 -0
  17. package/types/vuu-table/src/cell-renderers/lookup-cell/index.d.ts +1 -0
  18. package/types/vuu-table/src/cell-renderers/toggle-cell/ToggleCell.d.ts +4 -0
  19. package/types/vuu-table/src/cell-renderers/toggle-cell/index.d.ts +1 -0
  20. package/types/vuu-table/src/{table-next/column-header-pill → column-header-pill}/ColumnHeaderPill.d.ts +3 -3
  21. package/types/vuu-table/src/{table-next/column-header-pill → column-header-pill}/GroupColumnPill.d.ts +2 -2
  22. package/types/vuu-table/src/{table-next/column-header-pill → column-header-pill}/SortIndicator.d.ts +2 -2
  23. package/types/vuu-table/src/{table-next/column-menu → column-menu}/ColumnMenu.d.ts +2 -2
  24. package/types/vuu-table/src/{table-next/column-resizing → column-resizing}/useTableColumnResize.d.ts +2 -2
  25. package/types/vuu-table/src/{table-next/context-menu → context-menu}/index.d.ts +1 -1
  26. package/types/vuu-table/src/{table-next/context-menu/useTableContextMenu.d.ts → context-menu/useHandleTableContextMenu.d.ts} +3 -3
  27. package/types/vuu-table/src/header-cell/GroupHeaderCellNext.d.ts +10 -0
  28. package/types/vuu-table/src/{table-next/header-cell → header-cell}/HeaderCell.d.ts +2 -2
  29. package/types/vuu-table/src/{table-next/header-cell → header-cell}/index.d.ts +0 -1
  30. package/types/vuu-table/src/index.d.ts +9 -4
  31. package/types/vuu-table/src/{table-next/table-cell → table-cell}/TableCell.d.ts +1 -1
  32. package/types/vuu-table/src/{table-next/table-cell → table-cell}/TableGroupCell.d.ts +1 -1
  33. package/types/vuu-table/src/{table-next/table-config.d.ts → table-config.d.ts} +1 -1
  34. package/types/vuu-table/src/{table-next/table-dom-utils.d.ts → table-dom-utils.d.ts} +3 -1
  35. package/types/vuu-table/src/table-header/TableHeader.d.ts +18 -0
  36. package/types/vuu-table/src/table-header/useTableHeader.d.ts +15 -0
  37. package/types/vuu-table/src/useCell.d.ts +6 -0
  38. package/types/vuu-table/src/useCellEditing.d.ts +10 -0
  39. package/types/vuu-table/src/useControlledTableNavigation.d.ts +7 -0
  40. package/types/vuu-table/src/{table-next/useDataSource.d.ts → useDataSource.d.ts} +5 -3
  41. package/types/vuu-table/src/{table-next/useKeyboardNavigation.d.ts → useKeyboardNavigation.d.ts} +9 -2
  42. package/types/vuu-table/src/useSelection.d.ts +14 -0
  43. package/types/vuu-table/src/useTable.d.ts +66 -0
  44. package/types/vuu-table/src/useTableContextMenu.d.ts +11 -0
  45. package/types/vuu-table/src/{table-next/useTableModel.d.ts → useTableModel.d.ts} +12 -14
  46. package/types/vuu-table/src/{table-next/useTableViewport.d.ts → useTableViewport.d.ts} +2 -2
  47. package/types/vuu-table/src/{table-next/useVirtualViewport.d.ts → useVirtualViewport.d.ts} +2 -2
  48. package/types/vuu-ui-controls/src/drag-drop/DragDropState.d.ts +15 -0
  49. package/types/vuu-ui-controls/src/drag-drop/dragDropTypesNext.d.ts +91 -0
  50. package/types/vuu-layout/src/Component.d.ts +0 -7
  51. package/types/vuu-layout/src/DraggableLayout.d.ts +0 -7
  52. package/types/vuu-layout/src/dock-layout/DockLayout.d.ts +0 -10
  53. package/types/vuu-layout/src/dock-layout/Drawer.d.ts +0 -18
  54. package/types/vuu-layout/src/dock-layout/index.d.ts +0 -2
  55. package/types/vuu-layout/src/drag-drop/BoxModel.d.ts +0 -143
  56. package/types/vuu-layout/src/drag-drop/DragState.d.ts +0 -46
  57. package/types/vuu-layout/src/drag-drop/Draggable.d.ts +0 -24
  58. package/types/vuu-layout/src/drag-drop/DropMenu.d.ts +0 -10
  59. package/types/vuu-layout/src/drag-drop/DropTarget.d.ts +0 -61
  60. package/types/vuu-layout/src/drag-drop/DropTargetRenderer.d.ts +0 -18
  61. package/types/vuu-layout/src/drag-drop/dragDropTypes.d.ts +0 -51
  62. package/types/vuu-layout/src/drag-drop/index.d.ts +0 -4
  63. package/types/vuu-layout/src/flexbox/Flexbox.d.ts +0 -5
  64. package/types/vuu-layout/src/flexbox/FlexboxLayout.d.ts +0 -6
  65. package/types/vuu-layout/src/flexbox/FluidGrid.d.ts +0 -7
  66. package/types/vuu-layout/src/flexbox/FluidGridLayout.d.ts +0 -6
  67. package/types/vuu-layout/src/flexbox/Splitter.d.ts +0 -13
  68. package/types/vuu-layout/src/flexbox/flexbox-utils.d.ts +0 -12
  69. package/types/vuu-layout/src/flexbox/flexboxTypes.d.ts +0 -51
  70. package/types/vuu-layout/src/flexbox/index.d.ts +0 -4
  71. package/types/vuu-layout/src/flexbox/useResponsiveSizing.d.ts +0 -10
  72. package/types/vuu-layout/src/flexbox/useSplitterResizing.d.ts +0 -2
  73. package/types/vuu-layout/src/index.d.ts +0 -22
  74. package/types/vuu-layout/src/layout-action.d.ts +0 -22
  75. package/types/vuu-layout/src/layout-header/Header.d.ts +0 -13
  76. package/types/vuu-layout/src/layout-header/index.d.ts +0 -1
  77. package/types/vuu-layout/src/layout-persistence/LayoutPersistenceManager.d.ts +0 -53
  78. package/types/vuu-layout/src/layout-persistence/LocalLayoutPersistenceManager.d.ts +0 -18
  79. package/types/vuu-layout/src/layout-persistence/data.d.ts +0 -3
  80. package/types/vuu-layout/src/layout-persistence/index.d.ts +0 -4
  81. package/types/vuu-layout/src/layout-persistence/useLayoutContextMenuItems.d.ts +0 -8
  82. package/types/vuu-layout/src/layout-provider/LayoutProvider.d.ts +0 -15
  83. package/types/vuu-layout/src/layout-provider/LayoutProviderContext.d.ts +0 -9
  84. package/types/vuu-layout/src/layout-provider/index.d.ts +0 -2
  85. package/types/vuu-layout/src/layout-provider/useLayoutDragDrop.d.ts +0 -4
  86. package/types/vuu-layout/src/layout-reducer/flexUtils.d.ts +0 -22
  87. package/types/vuu-layout/src/layout-reducer/index.d.ts +0 -4
  88. package/types/vuu-layout/src/layout-reducer/insert-layout-element.d.ts +0 -8
  89. package/types/vuu-layout/src/layout-reducer/layout-reducer.d.ts +0 -3
  90. package/types/vuu-layout/src/layout-reducer/layoutTypes.d.ts +0 -168
  91. package/types/vuu-layout/src/layout-reducer/layoutUtils.d.ts +0 -31
  92. package/types/vuu-layout/src/layout-reducer/move-layout-element.d.ts +0 -3
  93. package/types/vuu-layout/src/layout-reducer/remove-layout-element.d.ts +0 -3
  94. package/types/vuu-layout/src/layout-reducer/replace-layout-element.d.ts +0 -6
  95. package/types/vuu-layout/src/layout-reducer/resize-flex-children.d.ts +0 -4
  96. package/types/vuu-layout/src/layout-reducer/wrap-layout-element.d.ts +0 -9
  97. package/types/vuu-layout/src/layout-view/View.d.ts +0 -11
  98. package/types/vuu-layout/src/layout-view/ViewContext.d.ts +0 -30
  99. package/types/vuu-layout/src/layout-view/index.d.ts +0 -4
  100. package/types/vuu-layout/src/layout-view/useView.d.ts +0 -21
  101. package/types/vuu-layout/src/layout-view/useViewActionDispatcher.d.ts +0 -9
  102. package/types/vuu-layout/src/layout-view/useViewResize.d.ts +0 -7
  103. package/types/vuu-layout/src/layout-view/viewTypes.d.ts +0 -21
  104. package/types/vuu-layout/src/measured-container/MeasuredContainer.d.ts +0 -9
  105. package/types/vuu-layout/src/measured-container/index.d.ts +0 -2
  106. package/types/vuu-layout/src/measured-container/useMeasuredContainer.d.ts +0 -22
  107. package/types/vuu-layout/src/measured-container/useResizeObserver.d.ts +0 -15
  108. package/types/vuu-layout/src/overflow-container/OverflowContainer.d.ts +0 -17
  109. package/types/vuu-layout/src/overflow-container/index.d.ts +0 -2
  110. package/types/vuu-layout/src/overflow-container/overflow-utils.d.ts +0 -49
  111. package/types/vuu-layout/src/overflow-container/useOverflowContainer.d.ts +0 -20
  112. package/types/vuu-layout/src/palette/Palette.d.ts +0 -22
  113. package/types/vuu-layout/src/palette/index.d.ts +0 -1
  114. package/types/vuu-layout/src/placeholder/Placeholder.d.ts +0 -12
  115. package/types/vuu-layout/src/placeholder/index.d.ts +0 -1
  116. package/types/vuu-layout/src/registry/ComponentRegistry.d.ts +0 -13
  117. package/types/vuu-layout/src/registry/index.d.ts +0 -1
  118. package/types/vuu-layout/src/responsive/breakpoints.d.ts +0 -4
  119. package/types/vuu-layout/src/responsive/index.d.ts +0 -3
  120. package/types/vuu-layout/src/responsive/use-breakpoints.d.ts +0 -7
  121. package/types/vuu-layout/src/responsive/useResizeObserver.d.ts +0 -13
  122. package/types/vuu-layout/src/responsive/utils.d.ts +0 -6
  123. package/types/vuu-layout/src/stack/Stack.d.ts +0 -4
  124. package/types/vuu-layout/src/stack/StackLayout.d.ts +0 -7
  125. package/types/vuu-layout/src/stack/index.d.ts +0 -3
  126. package/types/vuu-layout/src/stack/stackTypes.d.ts +0 -21
  127. package/types/vuu-layout/src/toolbar/Toolbar.d.ts +0 -19
  128. package/types/vuu-layout/src/toolbar/index.d.ts +0 -1
  129. package/types/vuu-layout/src/toolbar/toolbar-dom-utils.d.ts +0 -3
  130. package/types/vuu-layout/src/toolbar/useKeyboardNavigation.d.ts +0 -32
  131. package/types/vuu-layout/src/toolbar/useSelection.d.ts +0 -22
  132. package/types/vuu-layout/src/toolbar/useToolbar.d.ts +0 -28
  133. package/types/vuu-layout/src/tools/config-wrapper/ConfigWrapper.d.ts +0 -2
  134. package/types/vuu-layout/src/tools/config-wrapper/index.d.ts +0 -1
  135. package/types/vuu-layout/src/tools/devtools-box/layout-configurator.d.ts +0 -31
  136. package/types/vuu-layout/src/tools/devtools-tree/layout-tree-viewer.d.ts +0 -5
  137. package/types/vuu-layout/src/tools/index.d.ts +0 -3
  138. package/types/vuu-layout/src/use-persistent-state.d.ts +0 -11
  139. package/types/vuu-layout/src/utils/index.d.ts +0 -6
  140. package/types/vuu-layout/src/utils/pathUtils.d.ts +0 -31
  141. package/types/vuu-layout/src/utils/propUtils.d.ts +0 -5
  142. package/types/vuu-layout/src/utils/react-utils.d.ts +0 -4
  143. package/types/vuu-layout/src/utils/refUtils.d.ts +0 -2
  144. package/types/vuu-layout/src/utils/styleUtils.d.ts +0 -3
  145. package/types/vuu-layout/src/utils/typeOf.d.ts +0 -4
  146. package/types/vuu-table/src/table/ColumnResizer.d.ts +0 -8
  147. package/types/vuu-table/src/table/DragVisualizer.d.ts +0 -8
  148. package/types/vuu-table/src/table/RowBasedTable.d.ts +0 -4
  149. package/types/vuu-table/src/table/SortIndicator.d.ts +0 -7
  150. package/types/vuu-table/src/table/Table.d.ts +0 -9
  151. package/types/vuu-table/src/table/TableCell.d.ts +0 -4
  152. package/types/vuu-table/src/table/TableGroupCell.d.ts +0 -4
  153. package/types/vuu-table/src/table/TableGroupHeaderCell.d.ts +0 -13
  154. package/types/vuu-table/src/table/TableHeaderCell.d.ts +0 -11
  155. package/types/vuu-table/src/table/TableRow.d.ts +0 -16
  156. package/types/vuu-table/src/table/cell-renderers/index.d.ts +0 -1
  157. package/types/vuu-table/src/table/cell-renderers/json-cell/JsonCell.d.ts +0 -1
  158. package/types/vuu-table/src/table/cell-renderers/json-cell/index.d.ts +0 -1
  159. package/types/vuu-table/src/table/context-menu/buildContextMenuDescriptors.d.ts +0 -4
  160. package/types/vuu-table/src/table/context-menu/index.d.ts +0 -2
  161. package/types/vuu-table/src/table/context-menu/useTableContextMenu.d.ts +0 -16
  162. package/types/vuu-table/src/table/dataTableTypes.d.ts +0 -109
  163. package/types/vuu-table/src/table/filter-indicator.d.ts +0 -13
  164. package/types/vuu-table/src/table/index.d.ts +0 -10
  165. package/types/vuu-table/src/table/keyUtils.d.ts +0 -19
  166. package/types/vuu-table/src/table/useDataSource.d.ts +0 -41
  167. package/types/vuu-table/src/table/useDraggableColumn.d.ts +0 -9
  168. package/types/vuu-table/src/table/useKeyboardNavigation.d.ts +0 -22
  169. package/types/vuu-table/src/table/useMeasuredContainer.d.ts +0 -30
  170. package/types/vuu-table/src/table/useMeasuredSize.d.ts +0 -26
  171. package/types/vuu-table/src/table/useResizeObserver.d.ts +0 -15
  172. package/types/vuu-table/src/table/useSelection.d.ts +0 -9
  173. package/types/vuu-table/src/table/useTable.d.ts +0 -62
  174. package/types/vuu-table/src/table/useTableColumnResize.d.ts +0 -17
  175. package/types/vuu-table/src/table/useTableModel.d.ts +0 -80
  176. package/types/vuu-table/src/table/useTableScroll.d.ts +0 -29
  177. package/types/vuu-table/src/table/useVirtualViewport.d.ts +0 -17
  178. package/types/vuu-table/src/table-next/TableNext.d.ts +0 -4
  179. package/types/vuu-table/src/table-next/cell-renderers/dropdown-cell/DropdownCell.d.ts +0 -4
  180. package/types/vuu-table/src/table-next/cell-renderers/index.d.ts +0 -2
  181. package/types/vuu-table/src/table-next/header-cell/GroupHeaderCell.d.ts +0 -9
  182. package/types/vuu-table/src/table-next/header-cell/GroupHeaderCellNext.d.ts +0 -9
  183. package/types/vuu-table/src/table-next/index.d.ts +0 -5
  184. package/types/vuu-table/src/table-next/useCell.d.ts +0 -6
  185. package/types/vuu-table/src/table-next/useCellEditing.d.ts +0 -7
  186. package/types/vuu-table/src/table-next/useTableContextMenu.d.ts +0 -8
  187. package/types/vuu-table/src/table-next/useTableNext.d.ts +0 -66
  188. /package/types/vuu-table/src/{table-next/cell-renderers → cell-renderers}/dropdown-cell/index.d.ts +0 -0
  189. /package/types/vuu-table/src/{table-next/cell-renderers → cell-renderers}/input-cell/index.d.ts +0 -0
  190. /package/types/vuu-table/src/{table-next/column-header-pill → column-header-pill}/index.d.ts +0 -0
  191. /package/types/vuu-table/src/{table-next/column-menu → column-menu}/index.d.ts +0 -0
  192. /package/types/vuu-table/src/{table-next/column-resizing → column-resizing}/ColumnResizer.d.ts +0 -0
  193. /package/types/vuu-table/src/{table-next/column-resizing → column-resizing}/index.d.ts +0 -0
  194. /package/types/vuu-table/src/{table-next/context-menu → context-menu}/buildContextMenuDescriptors.d.ts +0 -0
  195. /package/types/vuu-table/src/{table-next/moving-window.d.ts → moving-window.d.ts} +0 -0
  196. /package/types/vuu-table/src/{table-next/table-cell → table-cell}/index.d.ts +0 -0
  197. /package/types/vuu-table/src/{table-next/useInitialValue.d.ts → useInitialValue.d.ts} +0 -0
  198. /package/types/vuu-table/src/{table-next/useResizeObserver.d.ts → useResizeObserver.d.ts} +0 -0
  199. /package/types/vuu-table/src/{table-next/useTableScroll.d.ts → useTableScroll.d.ts} +0 -0
@@ -1,19 +0,0 @@
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 Tab = "Tab";
14
- export declare const isCharacterKey: (evt: React.KeyboardEvent) => boolean;
15
- export type ArrowKey = "ArrowUp" | "ArrowDown" | "ArrowLeft" | "ArrowRight";
16
- export type PageKey = "Home" | "End" | "PageUp" | "PageDown";
17
- export type NavigationKey = PageKey | ArrowKey;
18
- export declare const isPagingKey: (key: string) => key is PageKey;
19
- export declare const isNavigationKey: (key: string) => key is NavigationKey;
@@ -1,41 +0,0 @@
1
- import { DataSource, DataSourceConfigMessage, DataSourceSubscribedMessage, VuuFeatureInvocationMessage, VuuFeatureMessage } from "@vuu-ui/vuu-data";
2
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
3
- import { VuuRange, VuuSortCol } from "@vuu-ui/vuu-protocol-types";
4
- export type SubscriptionDetails = {
5
- columnNames?: string[];
6
- range: {
7
- from: number;
8
- to: number;
9
- };
10
- sort?: VuuSortCol[];
11
- };
12
- export interface DataSourceHookProps {
13
- dataSource: DataSource;
14
- onConfigChange?: (message: DataSourceConfigMessage) => void;
15
- onFeatureEnabled?: (message: VuuFeatureMessage) => void;
16
- onFeatureInvocation?: (message: VuuFeatureInvocationMessage) => void;
17
- onSizeChange: (size: number) => void;
18
- onSubscribed: (subscription: DataSourceSubscribedMessage) => void;
19
- range?: VuuRange;
20
- renderBufferSize?: number;
21
- viewportRowCount: number;
22
- }
23
- export declare function useDataSource({ dataSource, onConfigChange, onFeatureEnabled, onFeatureInvocation, onSizeChange, onSubscribed, range, renderBufferSize, viewportRowCount, }: DataSourceHookProps): {
24
- data: DataSourceRow[];
25
- getSelectedRows: () => DataSourceRow[];
26
- range: VuuRange;
27
- setRange: (range: VuuRange) => void;
28
- dataSource: DataSource;
29
- };
30
- export declare class MovingWindow {
31
- data: DataSourceRow[];
32
- rowCount: number;
33
- private range;
34
- constructor({ from, to }: VuuRange);
35
- setRowCount: (rowCount: number) => void;
36
- add(data: DataSourceRow): void;
37
- getAtIndex(index: number): DataSourceRow | undefined;
38
- isWithinRange(index: number): boolean;
39
- setRange({ from, to }: VuuRange): void;
40
- getSelectedRows(): DataSourceRow[];
41
- }
@@ -1,9 +0,0 @@
1
- import { MouseEvent } from "react";
2
- export interface DraggableColumnHookProps {
3
- onDrop: (fromIndex: number, toIndex: number) => void;
4
- }
5
- export declare const useDraggableColumn: ({ onDrop }: DraggableColumnHookProps) => {
6
- draggable: JSX.Element | undefined;
7
- draggedItemIndex: number | undefined;
8
- onHeaderCellDragStart: (evt: MouseEvent) => void;
9
- };
@@ -1,22 +0,0 @@
1
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- import { VuuRange } from "@vuu-ui/vuu-protocol-types";
3
- import { KeyboardEvent, MouseEvent, RefObject } from "react";
4
- import { ScrollRequestHandler } from "./useTableScroll";
5
- export type CellPos = [number, number];
6
- export interface NavigationHookProps {
7
- containerRef: RefObject<HTMLElement>;
8
- columnCount?: number;
9
- data: DataSourceRow[];
10
- disableHighlightOnFocus?: boolean;
11
- label?: string;
12
- viewportRange: VuuRange;
13
- requestScroll?: ScrollRequestHandler;
14
- restoreLastFocus?: boolean;
15
- rowCount?: number;
16
- selected?: unknown;
17
- }
18
- export declare const useKeyboardNavigation: ({ columnCount, containerRef, disableHighlightOnFocus, data, requestScroll, rowCount, viewportRange, }: NavigationHookProps) => {
19
- onClick: (evt: MouseEvent) => void;
20
- onFocus: () => void;
21
- onKeyDown: (e: KeyboardEvent) => void;
22
- };
@@ -1,30 +0,0 @@
1
- import { RefObject } from "react";
2
- export interface ClientSize {
3
- clientHeight: number;
4
- clientWidth: number;
5
- }
6
- export interface MeasuredProps {
7
- defaultHeight?: number;
8
- defaultWidth?: number;
9
- height?: number;
10
- width?: number;
11
- }
12
- export interface Size {
13
- height: number | "100%";
14
- width: number | "100%";
15
- }
16
- export interface MeasuredSize {
17
- height: number;
18
- width: number;
19
- }
20
- export type CssSize = {
21
- height: string;
22
- width: string;
23
- };
24
- export interface MeasuredContainerHookResult {
25
- containerRef: RefObject<HTMLDivElement>;
26
- cssSize: CssSize;
27
- outerSize: Size;
28
- innerSize?: MeasuredSize;
29
- }
30
- export declare const useMeasuredContainer: ({ defaultHeight, defaultWidth, height, width, }: MeasuredProps) => MeasuredContainerHookResult;
@@ -1,26 +0,0 @@
1
- import { RefObject } from "react";
2
- export type Size = {
3
- pixelHeight: number;
4
- pixelWidth: number;
5
- clientHeight?: number;
6
- clientWidth?: number;
7
- height: number | "100%";
8
- width: number | "100%";
9
- };
10
- export type FullSize = {
11
- clientHeight?: number;
12
- clientWidth?: number;
13
- height: "100%";
14
- width: "100%";
15
- };
16
- export type ClientSize = {
17
- clientHeight: number;
18
- clientWidth: number;
19
- };
20
- export type MeasuredSize = ClientSize & {
21
- height: number | "100%";
22
- width: number | "100%";
23
- };
24
- export declare const isMeasured: (size: Size | MeasuredSize) => size is MeasuredSize;
25
- export declare const isFullSize: (size: Size | MeasuredSize | FullSize) => size is FullSize;
26
- export declare const useMeasuredSize: (containerRef: RefObject<HTMLDivElement>, height?: number | "100%", width?: number | "100%") => Size;
@@ -1,15 +0,0 @@
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: string[], onResize: ResizeHandler, reportInitialSize?: boolean): void;
@@ -1,9 +0,0 @@
1
- import { SelectionChangeHandler, TableSelectionModel } from "@vuu-ui/vuu-datagrid-types";
2
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
3
- import { RowClickHandler } from "./dataTableTypes";
4
- export interface SelectionHookProps {
5
- selectionModel: TableSelectionModel;
6
- onSelect?: (row: DataSourceRow) => void;
7
- onSelectionChange: SelectionChangeHandler;
8
- }
9
- export declare const useSelection: ({ selectionModel, onSelect, onSelectionChange, }: SelectionHookProps) => RowClickHandler;
@@ -1,62 +0,0 @@
1
- import { DataSource, VuuFeatureInvocationMessage, VuuFeatureMessage } from "@vuu-ui/vuu-data";
2
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
3
- import { GridConfig, KeyedColumnDescriptor, SelectionChangeHandler, TableSelectionModel } from "@vuu-ui/vuu-datagrid-types";
4
- import { VuuSortType } from "@vuu-ui/vuu-protocol-types";
5
- import { MouseEvent } from "react";
6
- import { TableColumnResizeHandler } from "./dataTableTypes";
7
- import { MeasuredProps } from "./useMeasuredContainer";
8
- export interface TableHookProps extends MeasuredProps {
9
- config: Omit<GridConfig, "headings">;
10
- dataSource: DataSource;
11
- headerHeight: number;
12
- onConfigChange?: (config: Omit<GridConfig, "headings">) => void;
13
- onFeatureEnabled?: (message: VuuFeatureMessage) => void;
14
- onFeatureInvocation?: (message: VuuFeatureInvocationMessage) => void;
15
- renderBufferSize?: number;
16
- rowHeight: number;
17
- onSelectionChange?: SelectionChangeHandler;
18
- selectionModel: TableSelectionModel;
19
- }
20
- export declare const useTable: ({ config, dataSource, headerHeight, onConfigChange, onFeatureEnabled, onFeatureInvocation, onSelectionChange, renderBufferSize, rowHeight, selectionModel, ...measuredProps }: TableHookProps) => {
21
- draggable: JSX.Element | undefined;
22
- draggedItemIndex: number | undefined;
23
- onHeaderCellDragStart: (evt: MouseEvent<Element, globalThis.MouseEvent>) => void;
24
- columns: KeyedColumnDescriptor[];
25
- columnsWithinViewport: KeyedColumnDescriptor[];
26
- containerMeasurements: import("./useMeasuredContainer").MeasuredContainerHookResult;
27
- containerProps: {
28
- onClick: (evt: MouseEvent<Element, globalThis.MouseEvent>) => void;
29
- onFocus: () => void;
30
- onKeyDown: (e: import("react").KeyboardEvent<Element>) => void;
31
- };
32
- data: DataSourceRow[];
33
- dispatchColumnAction: import("react").Dispatch<import("./useTableModel").GridModelAction>;
34
- getRowOffset: import("@vuu-ui/vuu-utils").RowOffsetFunc;
35
- handleContextMenuAction: import("@vuu-ui/vuu-data-types").MenuActionHandler;
36
- headings: import("@vuu-ui/vuu-datagrid-types").TableHeadings;
37
- onColumnResize: TableColumnResizeHandler;
38
- onContextMenu: (evt: MouseEvent<HTMLElement>) => void;
39
- onRemoveColumnFromGroupBy: (column?: KeyedColumnDescriptor) => void;
40
- onRowClick: import("./dataTableTypes").RowClickHandler;
41
- onSort: (column: KeyedColumnDescriptor, extendSort?: any, sortType?: VuuSortType) => void;
42
- onToggleGroup: (row: DataSourceRow, column: KeyedColumnDescriptor) => void;
43
- virtualColSpan: number;
44
- scrollProps: {
45
- scrollbarContainerRef: (el: HTMLDivElement | null) => void;
46
- contentContainerRef: (el: HTMLDivElement | null) => void;
47
- };
48
- rowCount: number;
49
- viewportMeasurements: {
50
- contentHeight: number;
51
- horizontalScrollbarHeight: number;
52
- maxScrollContainerScrollHorizontal: number;
53
- maxScrollContainerScrollVertical: number;
54
- pinnedWidthLeft: number;
55
- pinnedWidthRight: number;
56
- rowCount: number;
57
- contentWidth: number;
58
- totalHeaderHeight: number;
59
- verticalScrollbarWidth: number;
60
- viewportBodyHeight: number;
61
- };
62
- };
@@ -1,17 +0,0 @@
1
- import { Heading, KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
2
- import { RefObject } from "react";
3
- export type ResizeHandler = (evt: MouseEvent, moveBy: number) => void;
4
- export interface CellResizeHookProps {
5
- column: KeyedColumnDescriptor | Heading;
6
- onResize?: (phase: resizePhase, columnName: string, width?: number) => void;
7
- rootRef: RefObject<HTMLDivElement>;
8
- }
9
- type resizePhase = "begin" | "resize" | "end";
10
- export interface CellResizeHookResult {
11
- isResizing: boolean;
12
- onDrag: (evt: MouseEvent, moveBy: number) => void;
13
- onDragStart: (evt: React.MouseEvent) => void;
14
- onDragEnd: (evt: MouseEvent) => void;
15
- }
16
- export declare const useTableColumnResize: ({ column, onResize, rootRef, }: CellResizeHookProps) => CellResizeHookResult;
17
- export {};
@@ -1,80 +0,0 @@
1
- import { ColumnDescriptor, GridConfig, KeyedColumnDescriptor, PinLocation, TableConfig } from "@vuu-ui/vuu-datagrid-types";
2
- import { Reducer } from "react";
3
- import { DataSourceConfig } from "@vuu-ui/vuu-data";
4
- import { TableSchema } from "@vuu-ui/vuu-data/src/message-utils";
5
- export interface TableModel extends Omit<GridConfig, "columns"> {
6
- columns: KeyedColumnDescriptor[];
7
- tableSchema?: Readonly<TableSchema>;
8
- }
9
- export interface ColumnActionInit {
10
- type: "init";
11
- tableConfig: TableConfig;
12
- dataSourceConfig?: DataSourceConfig;
13
- }
14
- export interface ColumnActionHide {
15
- type: "hideColumns";
16
- columns: KeyedColumnDescriptor[];
17
- }
18
- export interface ColumnActionShow {
19
- type: "showColumns";
20
- columns: KeyedColumnDescriptor[];
21
- }
22
- export interface ColumnActionMove {
23
- type: "moveColumn";
24
- column: KeyedColumnDescriptor;
25
- moveBy?: 1 | -1;
26
- moveTo?: number;
27
- }
28
- export interface ColumnActionPin {
29
- type: "pinColumn";
30
- column: ColumnDescriptor;
31
- pin?: PinLocation;
32
- }
33
- export interface ColumnActionResize {
34
- type: "resizeColumn";
35
- column: KeyedColumnDescriptor;
36
- phase: "begin" | "resize" | "end";
37
- width?: number;
38
- }
39
- export interface ColumnActionSetTableSchema {
40
- type: "setTableSchema";
41
- tableSchema: TableSchema;
42
- }
43
- export interface ColumnActionUpdate {
44
- type: "updateColumn";
45
- column: ColumnDescriptor;
46
- }
47
- export interface ColumnActionUpdateProp {
48
- align?: ColumnDescriptor["align"];
49
- column: KeyedColumnDescriptor;
50
- hidden?: ColumnDescriptor["hidden"];
51
- label?: ColumnDescriptor["label"];
52
- resizing?: KeyedColumnDescriptor["resizing"];
53
- type: "updateColumnProp";
54
- width?: ColumnDescriptor["width"];
55
- }
56
- export interface ColumnActionTableConfig extends DataSourceConfig {
57
- confirmed?: boolean;
58
- type: "tableConfig";
59
- }
60
- export interface ColumnActionColumnSettings extends DataSourceConfig {
61
- type: "columnSettings";
62
- column: KeyedColumnDescriptor;
63
- }
64
- export interface ColumnActionTableSettings extends DataSourceConfig {
65
- type: "tableSettings";
66
- }
67
- /**
68
- * PersistentColumnActions are those actions that require us to persist user changes across sessions
69
- */
70
- export type PersistentColumnAction = ColumnActionPin | ColumnActionHide | ColumnActionColumnSettings | ColumnActionTableSettings;
71
- export declare const isShowColumnSettings: (action: PersistentColumnAction) => action is ColumnActionColumnSettings;
72
- export declare const isShowTableSettings: (action: PersistentColumnAction) => action is ColumnActionTableSettings;
73
- export type GridModelAction = ColumnActionColumnSettings | ColumnActionHide | ColumnActionInit | ColumnActionMove | ColumnActionPin | ColumnActionResize | ColumnActionSetTableSchema | ColumnActionShow | ColumnActionUpdate | ColumnActionUpdateProp | ColumnActionTableConfig;
74
- export type GridModelReducer = Reducer<TableModel, GridModelAction>;
75
- export type ColumnActionDispatch = (action: GridModelAction) => void;
76
- export declare const useTableModel: (tableConfig: Omit<GridConfig, "headings">, dataSourceConfig?: DataSourceConfig) => {
77
- columns: KeyedColumnDescriptor[];
78
- dispatchColumnAction: import("react").Dispatch<GridModelAction>;
79
- headings: import("@vuu-ui/vuu-datagrid-types").TableHeadings;
80
- };
@@ -1,29 +0,0 @@
1
- import { Viewport } from "./dataTableTypes";
2
- export interface ScrollRequestEnd {
3
- type: "scroll-end";
4
- direction: "home" | "end";
5
- }
6
- export interface ScrollRequestPage {
7
- type: "scroll-page";
8
- direction: "up" | "down";
9
- }
10
- export interface ScrollRequestDistance {
11
- type: "scroll-distance";
12
- distance: number;
13
- }
14
- export type ScrollRequest = ScrollRequestPage | ScrollRequestDistance | ScrollRequestEnd;
15
- export type ScrollRequestHandler = (request: ScrollRequest) => void;
16
- export interface TableScrollHookProps {
17
- onHorizontalScroll?: (scrollLeft: number) => void;
18
- onVerticalScroll?: (scrollTop: number, pctScrollTop: number) => void;
19
- viewportHeight: number;
20
- viewport: Viewport;
21
- }
22
- export declare const useTableScroll: ({ onHorizontalScroll, onVerticalScroll, viewport, }: TableScrollHookProps) => {
23
- /** Ref to be assigned to ScrollbarContainer */
24
- scrollbarContainerRef: (el: HTMLDivElement | null) => void;
25
- /** Ref to be assigned to ContentContainer */
26
- contentContainerRef: (el: HTMLDivElement | null) => void;
27
- /** Scroll the table */
28
- requestScroll: ScrollRequestHandler;
29
- };
@@ -1,17 +0,0 @@
1
- import { KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
2
- import { RowAtPositionFunc } from "@vuu-ui/vuu-utils";
3
- import { VuuRange } from "@vuu-ui/vuu-protocol-types";
4
- import { ViewportMeasurements } from "../table-next/useTableViewport";
5
- export interface VirtualViewportHookProps {
6
- columns: KeyedColumnDescriptor[];
7
- getRowAtPosition: RowAtPositionFunc;
8
- setRange: (range: VuuRange) => void;
9
- viewportMeasurements: ViewportMeasurements;
10
- }
11
- export interface VirtualViewportHookResult {
12
- onHorizontalScroll: (scrollLeft: number) => void;
13
- onVerticalScroll: (scrollTop: number) => void;
14
- columnsWithinViewport: KeyedColumnDescriptor[];
15
- virtualColSpan: number;
16
- }
17
- export declare const useVirtualViewport: ({ columns, getRowAtPosition, setRange, viewportMeasurements, }: VirtualViewportHookProps) => VirtualViewportHookResult;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import { TableProps } from "@vuu-ui/vuu-table";
3
- import "./TableNext.css";
4
- export declare const TableNext: import("react").ForwardRefExoticComponent<TableProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +0,0 @@
1
- /// <reference types="react" />
2
- import { TableCellProps } from "@vuu-ui/vuu-datagrid-types";
3
- import "./DropdownCell.css";
4
- export declare const DropdownCell: ({ column, columnMap, row }: TableCellProps) => JSX.Element;
@@ -1,2 +0,0 @@
1
- export * from "./dropdown-cell";
2
- export * from "./input-cell";
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { GroupColumnDescriptor, KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
3
- import { HeaderCellProps } from "./HeaderCell";
4
- import "./GroupHeaderCell.css";
5
- export interface GroupHeaderCellProps extends Omit<HeaderCellProps, "onDragStart" | "onDrag" | "onDragEnd"> {
6
- column: GroupColumnDescriptor;
7
- onRemoveColumn: (column: KeyedColumnDescriptor) => void;
8
- }
9
- export declare const GroupHeaderCell: ({ column: groupColumn, className: classNameProp, onRemoveColumn, onResize, ...htmlAttributes }: GroupHeaderCellProps) => JSX.Element;
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { GroupColumnDescriptor, KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
3
- import { HeaderCellProps } from "./HeaderCell";
4
- import "./GroupHeaderCell.css";
5
- export interface GroupHeaderCellNextProps extends Omit<HeaderCellProps, "onDragStart" | "onDrag" | "onDragEnd"> {
6
- column: GroupColumnDescriptor;
7
- onRemoveColumn: (column: KeyedColumnDescriptor) => void;
8
- }
9
- export declare const GroupHeaderCellNext: ({ column: groupColumn, className: classNameProp, onRemoveColumn, onResize, ...htmlAttributes }: GroupHeaderCellNextProps) => JSX.Element;
@@ -1,5 +0,0 @@
1
- export { GroupHeaderCellNext } from "./header-cell";
2
- export * from "./TableNext";
3
- export * from "./table-config";
4
- export * from "./cell-renderers";
5
- export type { RowProps } from "./Row";
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- import { KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
3
- export declare const useCell: (column: KeyedColumnDescriptor, classBase: string, isHeader?: boolean) => {
4
- className: string;
5
- style: import("react").CSSProperties;
6
- };
@@ -1,7 +0,0 @@
1
- import { KeyboardEvent as ReactKeyboardEvent } from "react";
2
- export interface CellEditingHookProps {
3
- navigate: () => void;
4
- }
5
- export declare const useCellEditing: ({ navigate }: CellEditingHookProps) => {
6
- onKeyDown: (e: ReactKeyboardEvent<HTMLElement>) => void;
7
- };
@@ -1,8 +0,0 @@
1
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- import { KeyedColumnDescriptor } from "@vuu-ui/vuu-datagrid-types";
3
- import { MouseEvent } from "react";
4
- export interface TableContextMenuHookProps {
5
- columns: KeyedColumnDescriptor[];
6
- data: DataSourceRow[];
7
- }
8
- export declare const useTableContextMenu: ({ columns, data, }: TableContextMenuHookProps) => (evt: MouseEvent<HTMLElement>) => void;
@@ -1,66 +0,0 @@
1
- import { DataSourceRow } from "@vuu-ui/vuu-data-types";
2
- import { DataCellEditHandler, KeyedColumnDescriptor, TableSelectionModel } from "@vuu-ui/vuu-datagrid-types";
3
- import { MeasuredSize } from "@vuu-ui/vuu-layout";
4
- import { KeyboardEvent, MouseEvent, RefObject } from "react";
5
- import { MeasuredProps, RowClickHandler, TableProps } from "../table";
6
- import { TableColumnResizeHandler } from "./column-resizing";
7
- export interface TableHookProps extends MeasuredProps, Pick<TableProps, "availableColumns" | "config" | "dataSource" | "navigationStyle" | "onAvailableColumnsChange" | "onConfigChange" | "onFeatureEnabled" | "onFeatureInvocation" | "onSelect" | "onSelectionChange" | "onRowClick" | "renderBufferSize"> {
8
- containerRef: RefObject<HTMLDivElement>;
9
- headerHeight: number;
10
- rowHeight: number;
11
- selectionModel: TableSelectionModel;
12
- }
13
- export declare const useTable: ({ availableColumns, config, containerRef, dataSource, headerHeight, navigationStyle, onAvailableColumnsChange, onConfigChange, onFeatureEnabled, onFeatureInvocation, onRowClick: onRowClickProp, onSelect, onSelectionChange, renderBufferSize, rowHeight, selectionModel, }: TableHookProps) => {
14
- onKeyDown: (e: KeyboardEvent<HTMLElement>) => void;
15
- columnMap: import("@vuu-ui/vuu-utils").ColumnMap;
16
- columns: KeyedColumnDescriptor[];
17
- data: DataSourceRow[];
18
- handleContextMenuAction: import("@vuu-ui/vuu-data-types").MenuActionHandler;
19
- headerProps: {
20
- onClick: (evt: MouseEvent) => void;
21
- onMouseDown: import("react").MouseEventHandler<Element> | undefined;
22
- onResize: TableColumnResizeHandler;
23
- };
24
- menuBuilder: import("@vuu-ui/vuu-data-types").MenuBuilder<string, unknown>;
25
- onContextMenu: (evt: MouseEvent<HTMLElement, globalThis.MouseEvent>) => void;
26
- onDataEdited: DataCellEditHandler;
27
- onRemoveGroupColumn: (column: KeyedColumnDescriptor) => void;
28
- onResize: (size: MeasuredSize) => void;
29
- onRowClick: RowClickHandler;
30
- onToggleGroup: (row: DataSourceRow, column: KeyedColumnDescriptor) => void;
31
- scrollProps: {
32
- scrollbarContainerRef: (el: HTMLDivElement | null) => void;
33
- contentContainerRef: (el: HTMLDivElement | null) => void;
34
- };
35
- tableAttributes: {
36
- columnDefaultWidth?: number | undefined;
37
- columnFormatHeader?: "capitalize" | "uppercase" | undefined;
38
- columnSeparators?: boolean | undefined;
39
- showHighlightedRow?: boolean | undefined;
40
- rowSeparators?: boolean | undefined;
41
- zebraStripes?: boolean | undefined;
42
- };
43
- viewportMeasurements: {
44
- contentHeight: number;
45
- horizontalScrollbarHeight: number;
46
- maxScrollContainerScrollHorizontal: number;
47
- maxScrollContainerScrollVertical: number;
48
- pinnedWidthLeft: number;
49
- pinnedWidthRight: number;
50
- rowCount: number;
51
- contentWidth: number;
52
- totalHeaderHeight: number;
53
- verticalScrollbarWidth: number;
54
- viewportBodyHeight: number;
55
- };
56
- dragDropHook: {
57
- draggable?: JSX.Element | undefined;
58
- dropIndicator?: JSX.Element | undefined;
59
- draggedItemIndex?: number | undefined;
60
- isDragging: boolean;
61
- isScrolling: RefObject<boolean>;
62
- revealOverflowedItems: boolean;
63
- };
64
- onClick: (evt: MouseEvent<Element, globalThis.MouseEvent>) => void;
65
- onFocus: () => void;
66
- };