@vuu-ui/vuu-table 0.9.2 → 0.10.0

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 (181) hide show
  1. package/cjs/CellFocusState.js +1 -1
  2. package/cjs/CellFocusState.js.map +1 -1
  3. package/cjs/Row.js +3 -1
  4. package/cjs/Row.js.map +1 -1
  5. package/cjs/Table.css.js +1 -1
  6. package/cjs/Table.js +32 -0
  7. package/cjs/Table.js.map +1 -1
  8. package/cjs/VirtualColSpan.js.map +1 -1
  9. package/cjs/bulk-edit/{BulkEditPanelDialog.js → BulkEditDialog.js} +13 -8
  10. package/cjs/bulk-edit/BulkEditDialog.js.map +1 -0
  11. package/cjs/bulk-edit/BulkEditPanel.js.map +1 -1
  12. package/cjs/bulk-edit/BulkEditRow.js.map +1 -1
  13. package/cjs/bulk-edit/useBulkEditPanel.js +12 -8
  14. package/cjs/bulk-edit/useBulkEditPanel.js.map +1 -1
  15. package/cjs/bulk-edit/useBulkEditRow.js +1 -1
  16. package/cjs/bulk-edit/useBulkEditRow.js.map +1 -1
  17. package/cjs/cell-block/CellBlock.js.map +1 -1
  18. package/cjs/cell-block/cellblock-utils.js.map +1 -1
  19. package/cjs/cell-block/useCellBlockSelection.js.map +1 -1
  20. package/cjs/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -1
  21. package/cjs/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -1
  22. package/cjs/cell-renderers/input-cell/InputCell.js.map +1 -1
  23. package/cjs/cell-renderers/toggle-cell/ToggleCell.js.map +1 -1
  24. package/cjs/column-header-pill/ColumnHeaderPill.css.js +1 -1
  25. package/cjs/column-header-pill/ColumnHeaderPill.js.map +1 -1
  26. package/cjs/column-header-pill/GroupColumnPill.js.map +1 -1
  27. package/cjs/column-header-pill/SortIndicator.js.map +1 -1
  28. package/cjs/column-menu/ColumnMenu.js.map +1 -1
  29. package/cjs/column-resizing/ColumnResizer.js.map +1 -1
  30. package/cjs/column-resizing/useTableColumnResize.js.map +1 -1
  31. package/cjs/context-menu/buildContextMenuDescriptors.js.map +1 -1
  32. package/cjs/context-menu/useHandleTableContextMenu.js.map +1 -1
  33. package/cjs/header-cell/GroupHeaderCell.js.map +1 -1
  34. package/cjs/header-cell/HeaderCell.js.map +1 -1
  35. package/cjs/index.js +4 -2
  36. package/cjs/index.js.map +1 -1
  37. package/cjs/moving-window.js +1 -1
  38. package/cjs/moving-window.js.map +1 -1
  39. package/cjs/pagination/PaginationControl.js.map +1 -1
  40. package/cjs/pagination/usePagination.js.map +1 -1
  41. package/cjs/table-cell/TableCell.js +8 -3
  42. package/cjs/table-cell/TableCell.js.map +1 -1
  43. package/cjs/table-cell/TableGroupCell.css.js +1 -1
  44. package/cjs/table-cell/TableGroupCell.js +5 -2
  45. package/cjs/table-cell/TableGroupCell.js.map +1 -1
  46. package/cjs/table-config.js.map +1 -1
  47. package/cjs/table-dom-utils.js.map +1 -1
  48. package/cjs/table-header/HeaderProvider.js.map +1 -1
  49. package/cjs/table-header/TableHeader.js +6 -9
  50. package/cjs/table-header/TableHeader.js.map +1 -1
  51. package/cjs/table-header/useTableHeader.js.map +1 -1
  52. package/cjs/useCell.js.map +1 -1
  53. package/cjs/useCellEditing.js.map +1 -1
  54. package/cjs/useCellFocus.js.map +1 -1
  55. package/cjs/useControlledTableNavigation.js.map +1 -1
  56. package/cjs/useDataSource.js +29 -3
  57. package/cjs/useDataSource.js.map +1 -1
  58. package/cjs/useEditableCell.js.map +1 -1
  59. package/cjs/useHighlighting.js +33 -0
  60. package/cjs/useHighlighting.js.map +1 -0
  61. package/cjs/useKeyboardNavigation.js.map +1 -1
  62. package/cjs/useMeasuredHeight.js.map +1 -1
  63. package/cjs/useRowClassNameGenerators.js.map +1 -1
  64. package/cjs/useSelection.js +2 -1
  65. package/cjs/useSelection.js.map +1 -1
  66. package/cjs/useTable.js +28 -12
  67. package/cjs/useTable.js.map +1 -1
  68. package/cjs/useTableAndColumnSettings.js.map +1 -1
  69. package/cjs/useTableContextMenu.js.map +1 -1
  70. package/cjs/useTableModel.js +14 -6
  71. package/cjs/useTableModel.js.map +1 -1
  72. package/cjs/useTableScroll.js.map +1 -1
  73. package/cjs/useTableViewport.js.map +1 -1
  74. package/esm/CellFocusState.js +1 -1
  75. package/esm/CellFocusState.js.map +1 -1
  76. package/esm/Row.js +3 -1
  77. package/esm/Row.js.map +1 -1
  78. package/esm/Table.css.js +1 -1
  79. package/esm/Table.js +33 -1
  80. package/esm/Table.js.map +1 -1
  81. package/esm/VirtualColSpan.js.map +1 -1
  82. package/esm/bulk-edit/{BulkEditPanelDialog.js → BulkEditDialog.js} +14 -9
  83. package/esm/bulk-edit/BulkEditDialog.js.map +1 -0
  84. package/esm/bulk-edit/BulkEditPanel.js.map +1 -1
  85. package/esm/bulk-edit/BulkEditRow.js.map +1 -1
  86. package/esm/bulk-edit/useBulkEditPanel.js +12 -8
  87. package/esm/bulk-edit/useBulkEditPanel.js.map +1 -1
  88. package/esm/bulk-edit/useBulkEditRow.js +1 -1
  89. package/esm/bulk-edit/useBulkEditRow.js.map +1 -1
  90. package/esm/cell-block/CellBlock.js.map +1 -1
  91. package/esm/cell-block/cellblock-utils.js.map +1 -1
  92. package/esm/cell-block/useCellBlockSelection.js.map +1 -1
  93. package/esm/cell-renderers/checkbox-cell/CheckboxCell.js.map +1 -1
  94. package/esm/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.js.map +1 -1
  95. package/esm/cell-renderers/input-cell/InputCell.js.map +1 -1
  96. package/esm/cell-renderers/toggle-cell/ToggleCell.js.map +1 -1
  97. package/esm/column-header-pill/ColumnHeaderPill.css.js +1 -1
  98. package/esm/column-header-pill/ColumnHeaderPill.js.map +1 -1
  99. package/esm/column-header-pill/GroupColumnPill.js.map +1 -1
  100. package/esm/column-header-pill/SortIndicator.js.map +1 -1
  101. package/esm/column-menu/ColumnMenu.js.map +1 -1
  102. package/esm/column-resizing/ColumnResizer.js.map +1 -1
  103. package/esm/column-resizing/useTableColumnResize.js.map +1 -1
  104. package/esm/context-menu/buildContextMenuDescriptors.js.map +1 -1
  105. package/esm/context-menu/useHandleTableContextMenu.js.map +1 -1
  106. package/esm/header-cell/GroupHeaderCell.js.map +1 -1
  107. package/esm/header-cell/HeaderCell.js.map +1 -1
  108. package/esm/index.js +2 -1
  109. package/esm/index.js.map +1 -1
  110. package/esm/moving-window.js +1 -1
  111. package/esm/moving-window.js.map +1 -1
  112. package/esm/pagination/PaginationControl.js.map +1 -1
  113. package/esm/pagination/usePagination.js.map +1 -1
  114. package/esm/table-cell/TableCell.js +8 -3
  115. package/esm/table-cell/TableCell.js.map +1 -1
  116. package/esm/table-cell/TableGroupCell.css.js +1 -1
  117. package/esm/table-cell/TableGroupCell.js +5 -2
  118. package/esm/table-cell/TableGroupCell.js.map +1 -1
  119. package/esm/table-config.js.map +1 -1
  120. package/esm/table-dom-utils.js.map +1 -1
  121. package/esm/table-header/HeaderProvider.js.map +1 -1
  122. package/esm/table-header/TableHeader.js +6 -9
  123. package/esm/table-header/TableHeader.js.map +1 -1
  124. package/esm/table-header/useTableHeader.js.map +1 -1
  125. package/esm/useCell.js.map +1 -1
  126. package/esm/useCellEditing.js.map +1 -1
  127. package/esm/useCellFocus.js.map +1 -1
  128. package/esm/useControlledTableNavigation.js.map +1 -1
  129. package/esm/useDataSource.js +29 -3
  130. package/esm/useDataSource.js.map +1 -1
  131. package/esm/useEditableCell.js.map +1 -1
  132. package/esm/useHighlighting.js +31 -0
  133. package/esm/useHighlighting.js.map +1 -0
  134. package/esm/useKeyboardNavigation.js.map +1 -1
  135. package/esm/useMeasuredHeight.js.map +1 -1
  136. package/esm/useRowClassNameGenerators.js.map +1 -1
  137. package/esm/useSelection.js +2 -1
  138. package/esm/useSelection.js.map +1 -1
  139. package/esm/useTable.js +28 -12
  140. package/esm/useTable.js.map +1 -1
  141. package/esm/useTableAndColumnSettings.js.map +1 -1
  142. package/esm/useTableContextMenu.js.map +1 -1
  143. package/esm/useTableModel.js +14 -6
  144. package/esm/useTableModel.js.map +1 -1
  145. package/esm/useTableScroll.js.map +1 -1
  146. package/esm/useTableViewport.js.map +1 -1
  147. package/package.json +12 -12
  148. package/types/Row.d.ts +2 -3
  149. package/types/Table.d.ts +46 -3
  150. package/types/VirtualColSpan.d.ts +0 -1
  151. package/types/bulk-edit/BulkEditDialog.d.ts +9 -0
  152. package/types/bulk-edit/BulkEditRow.d.ts +1 -1
  153. package/types/bulk-edit/index.d.ts +1 -1
  154. package/types/bulk-edit/useBulkEditRow.d.ts +1 -1
  155. package/types/cell-renderers/checkbox-cell/CheckboxCell.d.ts +1 -2
  156. package/types/cell-renderers/checkbox-row-selector/CheckboxRowSelectorCell.d.ts +0 -1
  157. package/types/cell-renderers/input-cell/InputCell.d.ts +1 -2
  158. package/types/cell-renderers/toggle-cell/ToggleCell.d.ts +0 -1
  159. package/types/column-header-pill/ColumnHeaderPill.d.ts +1 -1
  160. package/types/column-header-pill/GroupColumnPill.d.ts +1 -2
  161. package/types/column-header-pill/SortIndicator.d.ts +1 -2
  162. package/types/column-menu/ColumnMenu.d.ts +1 -1
  163. package/types/column-resizing/ColumnResizer.d.ts +1 -2
  164. package/types/header-cell/GroupHeaderCell.d.ts +1 -2
  165. package/types/header-cell/HeaderCell.d.ts +1 -2
  166. package/types/index.d.ts +1 -0
  167. package/types/table-cell/TableCell.d.ts +1 -2
  168. package/types/table-cell/TableGroupCell.d.ts +1 -2
  169. package/types/table-header/HeaderProvider.d.ts +4 -2
  170. package/types/table-header/TableHeader.d.ts +1 -2
  171. package/types/table-header/useTableHeader.d.ts +0 -1
  172. package/types/useCell.d.ts +0 -1
  173. package/types/useControlledTableNavigation.d.ts +1 -1
  174. package/types/useDataSource.d.ts +4 -6
  175. package/types/useHighlighting.d.ts +1 -0
  176. package/types/useSelection.d.ts +3 -4
  177. package/types/useTable.d.ts +13 -13
  178. package/types/useTableModel.d.ts +13 -7
  179. package/cjs/bulk-edit/BulkEditPanelDialog.js.map +0 -1
  180. package/esm/bulk-edit/BulkEditPanelDialog.js.map +0 -1
  181. package/types/bulk-edit/BulkEditPanelDialog.d.ts +0 -10
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import { RuntimeColumnDescriptor } from "@vuu-ui/vuu-table-types";
3
2
  import { ColumnHeaderPillProps } from "./ColumnHeaderPill";
4
3
  export interface GroupColumnPillProps extends ColumnHeaderPillProps {
5
4
  column: RuntimeColumnDescriptor;
6
5
  }
7
- export declare const GroupColumnPill: ({ column, ...columnHeaderProps }: GroupColumnPillProps) => JSX.Element;
6
+ export declare const GroupColumnPill: ({ column, ...columnHeaderProps }: GroupColumnPillProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { RuntimeColumnDescriptor } from "@vuu-ui/vuu-table-types";
3
2
  export interface SortIndicatorProps {
4
3
  column: RuntimeColumnDescriptor;
5
4
  }
6
- export declare const SortIndicator: ({ column }: SortIndicatorProps) => JSX.Element | null;
5
+ export declare const SortIndicator: ({ column }: SortIndicatorProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -3,4 +3,4 @@ import { HTMLAttributes } from "react";
3
3
  export interface ColumnMenuProps extends HTMLAttributes<HTMLSpanElement> {
4
4
  column: RuntimeColumnDescriptor;
5
5
  }
6
- export declare const ColumnMenu: ({ className, column }: ColumnMenuProps) => JSX.Element;
6
+ export declare const ColumnMenu: ({ className, column }: ColumnMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  export interface TableColumnResizerProps {
3
2
  onDrag: (evt: MouseEvent, moveBy: number, totalDistanceMoved: number) => void;
4
3
  onDragEnd: (evt: MouseEvent, totalDistanceMoved: number) => void;
5
4
  onDragStart: (evt: React.MouseEvent) => void;
6
5
  }
7
- export declare const ColumnResizer: ({ onDrag, onDragEnd, onDragStart, }: TableColumnResizerProps) => JSX.Element;
6
+ export declare const ColumnResizer: ({ onDrag, onDragEnd, onDragStart, }: TableColumnResizerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { ColumnDescriptor, GroupColumnDescriptor, HeaderCellProps, RuntimeColumnDescriptor } from "@vuu-ui/vuu-table-types";
3
2
  export interface GroupHeaderCellProps extends Omit<HeaderCellProps, "onDragStart" | "onDrag" | "onDragEnd"> {
4
3
  column: GroupColumnDescriptor;
5
4
  onMoveColumn?: (columns: ColumnDescriptor[]) => void;
6
5
  onRemoveColumn: (column: RuntimeColumnDescriptor) => void;
7
6
  }
8
- export declare const GroupHeaderCell: ({ column: groupColumn, className: classNameProp, onMoveColumn, onRemoveColumn, onResize, ...htmlAttributes }: GroupHeaderCellProps) => JSX.Element;
7
+ export declare const GroupHeaderCell: ({ column: groupColumn, className: classNameProp, onMoveColumn, onRemoveColumn, onResize, ...htmlAttributes }: GroupHeaderCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { HeaderCellProps } from "@vuu-ui/vuu-table-types";
3
- export declare const HeaderCell: ({ className: classNameProp, column, onClick, onResize, showMenu, ...htmlAttributes }: HeaderCellProps) => JSX.Element;
2
+ export declare const HeaderCell: ({ className: classNameProp, column, onClick, onResize, showMenu, ...htmlAttributes }: HeaderCellProps) => import("react/jsx-runtime").JSX.Element;
package/types/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./table-config";
8
8
  export * from "./table-header";
9
9
  export * from "./useControlledTableNavigation";
10
10
  export * from "./useEditableCell";
11
+ export * from "./useHighlighting";
11
12
  export * from "./useKeyboardNavigation";
12
13
  export * from "./useTableModel";
13
14
  export * from "./useTableScroll";
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import type { TableCellProps } from "@vuu-ui/vuu-table-types";
3
- export declare const TableCell: ({ column, columnMap, onClick, onDataEdited, row, }: TableCellProps) => JSX.Element;
2
+ export declare const TableCell: ({ column, columnMap, onClick, onDataEdited, row, searchPattern, }: TableCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { TableCellProps } from "@vuu-ui/vuu-table-types";
3
- export declare const TableGroupCell: ({ column, columnMap, onClick, row, }: TableCellProps) => JSX.Element;
2
+ export declare const TableGroupCell: ({ column, columnMap, onClick, row, searchPattern, }: TableCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,6 @@
1
1
  import { BaseRowProps } from "@vuu-ui/vuu-table-types";
2
- import { FC } from "react";
3
- export declare const HeaderProvider: FC<BaseRowProps>;
2
+ import { FC, ReactNode } from "react";
3
+ export declare const HeaderProvider: FC<BaseRowProps & {
4
+ children: ReactNode;
5
+ }>;
4
6
  export declare const useHeaderProps: () => BaseRowProps;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { VuuSortType } from "@vuu-ui/vuu-protocol-types";
3
2
  import { ColumnDescriptor, CustomHeader, RuntimeColumnDescriptor, TableColumnResizeHandler, TableConfig, TableHeadings } from "@vuu-ui/vuu-table-types";
4
3
  export type ColumnSortHandler = (column: ColumnDescriptor, addToExistingSort: boolean, sortType?: VuuSortType) => void;
@@ -19,4 +18,4 @@ export interface TableHeaderProps {
19
18
  tableId: string;
20
19
  virtualColSpan?: number;
21
20
  }
22
- export declare const TableHeader: import("react").MemoExoticComponent<({ allowDragColumnHeader, classBase, columns, customHeader, headings, onHeightMeasured, onMoveColumn, onMoveGroupColumn, onRemoveGroupColumn, onResizeColumn, onSortColumn, showColumnHeaderMenus, tableConfig, tableId, virtualColSpan, }: TableHeaderProps) => JSX.Element>;
21
+ export declare const TableHeader: import("react").MemoExoticComponent<({ allowDragColumnHeader, classBase, columns, customHeader, headings, onHeightMeasured, onMoveColumn, onMoveGroupColumn, onRemoveGroupColumn, onResizeColumn, onSortColumn, showColumnHeaderMenus, tableConfig, tableId, virtualColSpan, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ColumnDescriptor, TableHeadings } from "@vuu-ui/vuu-table-types";
3
2
  import { TableHeaderProps } from "./TableHeader";
4
3
  export interface TableHeaderHookProps extends Pick<TableHeaderProps, "allowDragColumnHeader" | "columns" | "onMoveColumn" | "onSortColumn" | "tableConfig"> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { RuntimeColumnDescriptor } from "@vuu-ui/vuu-table-types";
3
2
  export declare const useCell: (column: RuntimeColumnDescriptor, classBase: string, isHeader?: boolean, hasError?: boolean) => {
4
3
  className: string;
@@ -1,5 +1,5 @@
1
1
  import { KeyboardEventHandler } from "react";
2
- export declare const isRowSelectionKey: (key: string) => boolean;
2
+ export declare const isRowSelectionKey: (key: string) => key is "Enter" | " ";
3
3
  export declare const useControlledTableNavigation: (initialValue: number, rowCount: number) => {
4
4
  highlightedIndexRef: import("react").MutableRefObject<number | undefined>;
5
5
  onHighlight: (idx: number) => void;
@@ -1,13 +1,11 @@
1
- /// <reference types="react" />
2
- import { DataSource, DataSourceRow, DataSourceSubscribedMessage } from "@vuu-ui/vuu-data-types";
1
+ import { DataSourceRow, DataSourceSubscribedMessage } from "@vuu-ui/vuu-data-types";
3
2
  import { VuuRange } from "@vuu-ui/vuu-protocol-types";
4
- export interface DataSourceHookProps {
5
- dataSource: DataSource;
3
+ import { TableProps } from "./Table";
4
+ export interface DataSourceHookProps extends Pick<TableProps, "dataSource" | "defaultSelectedIndexValues" | "defaultSelectedKeyValues" | "renderBufferSize" | "revealSelected"> {
6
5
  onSizeChange: (size: number) => void;
7
6
  onSubscribed: (subscription: DataSourceSubscribedMessage) => void;
8
- renderBufferSize?: number;
9
7
  }
10
- export declare const useDataSource: ({ dataSource, onSizeChange, onSubscribed, renderBufferSize, }: DataSourceHookProps) => {
8
+ export declare const useDataSource: ({ dataSource, defaultSelectedIndexValues, defaultSelectedKeyValues, onSizeChange, onSubscribed, renderBufferSize, revealSelected, }: DataSourceHookProps) => {
11
9
  data: DataSourceRow[];
12
10
  dataRef: import("react").MutableRefObject<DataSourceRow[]>;
13
11
  getSelectedRows: () => DataSourceRow[];
@@ -0,0 +1 @@
1
+ export declare const useHighlighting: (value: string, pattern: Lowercase<string>) => string | JSX.Element;
@@ -1,15 +1,14 @@
1
1
  import { TableRowClickHandlerInternal, TableRowSelectHandlerInternal, TableSelectionModel } from "@vuu-ui/vuu-table-types";
2
- import { SelectionChangeHandler } from "@vuu-ui/vuu-data-types";
3
2
  import { KeyboardEventHandler, MutableRefObject, RefObject } from "react";
4
- export interface SelectionHookProps {
3
+ import { TableProps } from "./Table";
4
+ export interface SelectionHookProps extends Pick<TableProps, "defaultSelectedIndexValues" | "onSelectionChange"> {
5
5
  containerRef: RefObject<HTMLElement>;
6
6
  highlightedIndexRef: MutableRefObject<number | undefined>;
7
7
  selectionKeys?: string[];
8
8
  selectionModel: TableSelectionModel;
9
9
  onSelect?: TableRowSelectHandlerInternal;
10
- onSelectionChange: SelectionChangeHandler;
11
10
  }
12
- export declare const useSelection: ({ containerRef, highlightedIndexRef, selectionKeys, selectionModel, onSelect, onSelectionChange, }: SelectionHookProps) => {
11
+ export declare const useSelection: ({ containerRef, defaultSelectedIndexValues, highlightedIndexRef, selectionKeys, selectionModel, onSelect, onSelectionChange, }: SelectionHookProps) => {
13
12
  onKeyDown: KeyboardEventHandler<HTMLElement>;
14
13
  onRowClick: TableRowClickHandlerInternal;
15
14
  };
@@ -8,13 +8,13 @@ type HeaderState = {
8
8
  height: number;
9
9
  count: number;
10
10
  };
11
- export interface TableHookProps extends MeasuredProps, Pick<TableProps, "allowCellBlockSelection" | "allowDragDrop" | "availableColumns" | "config" | "dataSource" | "disableFocus" | "highlightedIndex" | "id" | "navigationStyle" | "onAvailableColumnsChange" | "onConfigChange" | "onDataEdited" | "onDragStart" | "onDrop" | "onHighlight" | "onSelect" | "onSelectCellBlock" | "onSelectionChange" | "onRowClick" | "renderBufferSize" | "scrollingApiRef" | "selectionBookendWidth" | "showColumnHeaders" | "showPaginationControls"> {
11
+ export interface TableHookProps extends MeasuredProps, Pick<TableProps, "allowCellBlockSelection" | "allowDragDrop" | "availableColumns" | "config" | "dataSource" | "defaultSelectedIndexValues" | "defaultSelectedKeyValues" | "disableFocus" | "highlightedIndex" | "id" | "navigationStyle" | "onAvailableColumnsChange" | "onConfigChange" | "onDataEdited" | "onDragStart" | "onDrop" | "onHighlight" | "onSelect" | "onSelectCellBlock" | "onSelectionChange" | "onRowClick" | "renderBufferSize" | "revealSelected" | "rowToObject" | "scrollingApiRef" | "selectionBookendWidth" | "showColumnHeaders" | "showPaginationControls"> {
12
12
  containerRef: RefObject<HTMLDivElement>;
13
13
  rowHeight: number;
14
14
  selectionModel: TableSelectionModel;
15
15
  size: MeasuredSize;
16
16
  }
17
- export declare const useTable: ({ allowCellBlockSelection, allowDragDrop, availableColumns, config, containerRef, dataSource, disableFocus, highlightedIndex: highlightedIndexProp, id, navigationStyle, onAvailableColumnsChange, onConfigChange, onDataEdited: onDataEditedProp, onDragStart, onDrop, onHighlight, onRowClick: onRowClickProp, onSelect, onSelectCellBlock, onSelectionChange, renderBufferSize, rowHeight, scrollingApiRef, selectionBookendWidth, selectionModel, showColumnHeaders, showPaginationControls, size, }: TableHookProps) => {
17
+ export declare const useTable: ({ allowCellBlockSelection, allowDragDrop, availableColumns, config, containerRef, dataSource, defaultSelectedIndexValues, defaultSelectedKeyValues, disableFocus, highlightedIndex: highlightedIndexProp, id, navigationStyle, onAvailableColumnsChange, onConfigChange, onDataEdited: onDataEditedProp, onDragStart, onDrop, onHighlight, onRowClick: onRowClickProp, onSelect, onSelectCellBlock, onSelectionChange, renderBufferSize, revealSelected, rowHeight, rowToObject, scrollingApiRef, selectionBookendWidth, selectionModel, showColumnHeaders, showPaginationControls, size, }: TableHookProps) => {
18
18
  "aria-rowcount": number;
19
19
  cellBlock: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
20
20
  columnMap: import("@vuu-ui/vuu-utils").ColumnMap;
@@ -30,18 +30,18 @@ export declare const useTable: ({ allowCellBlockSelection, allowDragDrop, availa
30
30
  highlightedIndex: number | undefined;
31
31
  menuBuilder: import("@vuu-ui/vuu-data-types").MenuBuilder;
32
32
  onBlur: import("react").FocusEventHandler;
33
- onDoubleClick: (e: import("react").MouseEvent<HTMLElement, MouseEvent>) => void;
33
+ onDoubleClick: (e: import("react").MouseEvent<HTMLElement>) => void;
34
34
  onFocus: (e: FocusEvent<HTMLElement>) => void;
35
35
  onKeyDown: (e: KeyboardEvent<HTMLElement>) => void;
36
36
  onMouseDown: MouseEventHandler;
37
- onContextMenu: (evt: import("react").MouseEvent<HTMLElement, MouseEvent>) => void;
37
+ onContextMenu: (evt: import("react").MouseEvent<HTMLElement>) => void;
38
38
  onDataEdited: (editState: DataCellEditEvent) => Promise<string | true | undefined>;
39
39
  onHeaderHeightMeasured: (height: number, count: number) => void;
40
40
  onMoveColumn: (columns: ColumnDescriptor[]) => void;
41
41
  onMoveGroupColumn: (columns: ColumnDescriptor[]) => void;
42
42
  onRemoveGroupColumn: (column: RuntimeColumnDescriptor) => void;
43
43
  onRowClick: TableRowClickHandlerInternal;
44
- onSortColumn: (column: ColumnDescriptor, extendSort?: any, sortType?: VuuSortType) => void;
44
+ onSortColumn: (column: ColumnDescriptor, extendSort?: boolean, sortType?: VuuSortType) => void;
45
45
  onResizeColumn: TableColumnResizeHandler;
46
46
  onToggleGroup: (row: DataSourceRow, column: RuntimeColumnDescriptor) => void;
47
47
  rowClassNameGenerator: import("@vuu-ui/vuu-utils").RowClassNameGenerator | undefined;
@@ -53,12 +53,12 @@ export declare const useTable: ({ allowCellBlockSelection, allowDragDrop, availa
53
53
  };
54
54
  tableAttributes: {
55
55
  availableWidth: number;
56
- columnDefaultWidth?: number | undefined;
57
- columnFormatHeader?: "capitalize" | "uppercase" | undefined;
58
- columnLayout?: import("@vuu-ui/vuu-table-types").ColumnLayout | undefined;
59
- columnSeparators?: boolean | undefined;
60
- rowSeparators?: boolean | undefined;
61
- zebraStripes?: boolean | undefined;
56
+ columnDefaultWidth?: number;
57
+ columnFormatHeader?: "capitalize" | "uppercase";
58
+ columnLayout?: import("@vuu-ui/vuu-table-types").ColumnLayout;
59
+ columnSeparators?: boolean;
60
+ rowSeparators?: boolean;
61
+ zebraStripes?: boolean;
62
62
  };
63
63
  tableBodyRef: import("react").RefCallback<HTMLDivElement>;
64
64
  tableConfig: Readonly<TableConfig>;
@@ -77,8 +77,8 @@ export declare const useTable: ({ allowCellBlockSelection, allowDragDrop, availa
77
77
  viewportBodyHeight: number;
78
78
  viewportWidth: number;
79
79
  };
80
- onClick: (evt: import("react").MouseEvent<Element, MouseEvent>) => void;
80
+ onClick: (evt: import("react").MouseEvent) => void;
81
81
  onMouseLeave: (() => void) | undefined;
82
- onMouseMove: ((evt: import("react").MouseEvent<Element, MouseEvent>) => void) | undefined;
82
+ onMouseMove: ((evt: import("react").MouseEvent) => void) | undefined;
83
83
  };
84
84
  export {};
@@ -89,18 +89,24 @@ export type PersistentColumnAction = ColumnActionPin | ColumnActionHide | Column
89
89
  export type GridModelAction = ColumnActionHide | ColumnActionInit | ColumnActionMove | ColumnActionPin | ColumnActionResize | ColumnActionSetTableSchema | ColumnActionShow | ColumnActionUpdate | ColumnActionUpdateProp | ColumnActionTableConfig;
90
90
  export type GridModelReducer = Reducer<InternalTableModel, GridModelAction>;
91
91
  export type ColumnActionDispatch = (action: GridModelAction) => void;
92
- export declare const useTableModel: (tableConfigProp: TableConfig, dataSource: DataSource, selectionModel: TableSelectionModel, availableWidth: number) => {
92
+ export interface TableModelHookProps {
93
+ config: TableConfig;
94
+ dataSource: DataSource;
95
+ selectionModel: TableSelectionModel;
96
+ availableWidth: number;
97
+ }
98
+ export declare const useTableModel: ({ config: tableConfigProp, dataSource, selectionModel, availableWidth, }: TableModelHookProps) => {
93
99
  columns: RuntimeColumnDescriptor[];
94
100
  dispatchTableModelAction: import("react").Dispatch<GridModelAction>;
95
101
  headings: TableHeadings;
96
102
  tableAttributes: {
97
103
  availableWidth: number;
98
- columnDefaultWidth?: number | undefined;
99
- columnFormatHeader?: "capitalize" | "uppercase" | undefined;
100
- columnLayout?: ColumnLayout | undefined;
101
- columnSeparators?: boolean | undefined;
102
- rowSeparators?: boolean | undefined;
103
- zebraStripes?: boolean | undefined;
104
+ columnDefaultWidth?: number;
105
+ columnFormatHeader?: "capitalize" | "uppercase";
106
+ columnLayout?: ColumnLayout;
107
+ columnSeparators?: boolean;
108
+ rowSeparators?: boolean;
109
+ zebraStripes?: boolean;
104
110
  };
105
111
  tableConfig: Readonly<TableConfig>;
106
112
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkEditPanelDialog.js","sources":["../../src/bulk-edit/BulkEditPanelDialog.tsx"],"sourcesContent":["import { DataSource } from \"@vuu-ui/vuu-data-types\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { HTMLAttributes, useCallback, useState } from \"react\";\n\nimport bulkEditPanelCss from \"./BulkEditPanel.css\";\nimport { BulkEditPanel } from \"./BulkEditPanel\";\nimport { Button, DialogActions } from \"@salt-ds/core\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { viewportRpcRequest } from \"@vuu-ui/vuu-utils\";\n\nexport interface BulkEditPanelDialogProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n columns?: ColumnDescriptor[];\n sessionDs: DataSource;\n parentDs: DataSource;\n closeDialog: () => void;\n}\n\nexport const BulkEditPanelDialog = ({\n columns,\n sessionDs,\n parentDs,\n closeDialog,\n // ...htmlAttributes\n}: BulkEditPanelDialogProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-bulk-edit-row\",\n css: bulkEditPanelCss,\n window: targetWindow,\n });\n\n const [valid, setValid] = useState(true);\n const handleValidationStatusChange = useCallback((isValid: boolean) => {\n setValid(isValid);\n }, []);\n\n const handleSubmit = () => {\n sessionDs?.rpcCall?.(viewportRpcRequest(\"VP_BULK_EDIT_SUBMIT_RPC\"));\n closeDialog();\n };\n\n return (\n <>\n <BulkEditPanel\n columns={columns}\n dataSource={sessionDs}\n onSubmit={handleSubmit}\n parentDs={parentDs}\n onValidationStatusChange={handleValidationStatusChange}\n />\n <DialogActions>\n <Button key=\"cancel\" onClick={closeDialog}>\n Cancel\n </Button>\n <Button key=\"submit\" onClick={handleSubmit} disabled={!valid}>\n Save\n </Button>\n </DialogActions>\n </>\n );\n};\n"],"names":["useWindow","useComponentCssInjection","bulkEditPanelCss","useState","useCallback","viewportRpcRequest","jsxs","Fragment","jsx","BulkEditPanel","DialogActions","Button"],"mappings":";;;;;;;;;;;AAmBO,MAAM,sBAAsB,CAAC;AAAA,EAClC,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA;AAEF,CAAgC,KAAA;AAC9B,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,aAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIC,eAAS,IAAI,CAAA,CAAA;AACvC,EAAM,MAAA,4BAAA,GAA+BC,iBAAY,CAAA,CAAC,OAAqB,KAAA;AACrE,IAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAAA,GAClB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,eAAe,MAAM;AACzB,IAAW,SAAA,EAAA,OAAA,GAAUC,2BAAmB,CAAA,yBAAyB,CAAC,CAAA,CAAA;AAClE,IAAY,WAAA,EAAA,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,uBAEIC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,6BAAA;AAAA,MAAA;AAAA,QACC,OAAA;AAAA,QACA,UAAY,EAAA,SAAA;AAAA,QACZ,QAAU,EAAA,YAAA;AAAA,QACV,QAAA;AAAA,QACA,wBAA0B,EAAA,4BAAA;AAAA,OAAA;AAAA,KAC5B;AAAA,oCACCC,kBACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAAF,cAAA,CAACG,WAAoB,EAAA,EAAA,OAAA,EAAS,WAAa,EAAA,QAAA,EAAA,QAAA,EAAA,EAA/B,QAEZ,CAAA;AAAA,sBACAH,cAAA,CAACG,eAAoB,OAAS,EAAA,YAAA,EAAc,UAAU,CAAC,KAAA,EAAO,oBAAlD,QAEZ,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkEditPanelDialog.js","sources":["../../src/bulk-edit/BulkEditPanelDialog.tsx"],"sourcesContent":["import { DataSource } from \"@vuu-ui/vuu-data-types\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { HTMLAttributes, useCallback, useState } from \"react\";\n\nimport bulkEditPanelCss from \"./BulkEditPanel.css\";\nimport { BulkEditPanel } from \"./BulkEditPanel\";\nimport { Button, DialogActions } from \"@salt-ds/core\";\nimport { ColumnDescriptor } from \"@vuu-ui/vuu-table-types\";\nimport { viewportRpcRequest } from \"@vuu-ui/vuu-utils\";\n\nexport interface BulkEditPanelDialogProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n columns?: ColumnDescriptor[];\n sessionDs: DataSource;\n parentDs: DataSource;\n closeDialog: () => void;\n}\n\nexport const BulkEditPanelDialog = ({\n columns,\n sessionDs,\n parentDs,\n closeDialog,\n // ...htmlAttributes\n}: BulkEditPanelDialogProps) => {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"vuu-bulk-edit-row\",\n css: bulkEditPanelCss,\n window: targetWindow,\n });\n\n const [valid, setValid] = useState(true);\n const handleValidationStatusChange = useCallback((isValid: boolean) => {\n setValid(isValid);\n }, []);\n\n const handleSubmit = () => {\n sessionDs?.rpcCall?.(viewportRpcRequest(\"VP_BULK_EDIT_SUBMIT_RPC\"));\n closeDialog();\n };\n\n return (\n <>\n <BulkEditPanel\n columns={columns}\n dataSource={sessionDs}\n onSubmit={handleSubmit}\n parentDs={parentDs}\n onValidationStatusChange={handleValidationStatusChange}\n />\n <DialogActions>\n <Button key=\"cancel\" onClick={closeDialog}>\n Cancel\n </Button>\n <Button key=\"submit\" onClick={handleSubmit} disabled={!valid}>\n Save\n </Button>\n </DialogActions>\n </>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAmBO,MAAM,sBAAsB,CAAC;AAAA,EAClC,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA;AAEF,CAAgC,KAAA;AAC9B,EAAA,MAAM,eAAe,SAAU,EAAA,CAAA;AAC/B,EAAyB,wBAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAA,gBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AACvC,EAAM,MAAA,4BAAA,GAA+B,WAAY,CAAA,CAAC,OAAqB,KAAA;AACrE,IAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AAAA,GAClB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,MAAM,eAAe,MAAM;AACzB,IAAW,SAAA,EAAA,OAAA,GAAU,kBAAmB,CAAA,yBAAyB,CAAC,CAAA,CAAA;AAClE,IAAY,WAAA,EAAA,CAAA;AAAA,GACd,CAAA;AAEA,EAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,OAAA;AAAA,QACA,UAAY,EAAA,SAAA;AAAA,QACZ,QAAU,EAAA,YAAA;AAAA,QACV,QAAA;AAAA,QACA,wBAA0B,EAAA,4BAAA;AAAA,OAAA;AAAA,KAC5B;AAAA,yBACC,aACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAoB,EAAA,EAAA,OAAA,EAAS,WAAa,EAAA,QAAA,EAAA,QAAA,EAAA,EAA/B,QAEZ,CAAA;AAAA,sBACA,GAAA,CAAC,UAAoB,OAAS,EAAA,YAAA,EAAc,UAAU,CAAC,KAAA,EAAO,oBAAlD,QAEZ,CAAA;AAAA,KACF,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
@@ -1,10 +0,0 @@
1
- import { DataSource } from "@vuu-ui/vuu-data-types";
2
- import { HTMLAttributes } from "react";
3
- import { ColumnDescriptor } from "@vuu-ui/vuu-table-types";
4
- export interface BulkEditPanelDialogProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
5
- columns?: ColumnDescriptor[];
6
- sessionDs: DataSource;
7
- parentDs: DataSource;
8
- closeDialog: () => void;
9
- }
10
- export declare const BulkEditPanelDialog: ({ columns, sessionDs, parentDs, closeDialog, }: BulkEditPanelDialogProps) => JSX.Element;