@prt-ts/fluent-react-table-v2 9.46.8-build.3.0 → 9.46.8-build.5.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 (33) hide show
  1. package/index.cjs.js +353 -191
  2. package/index.esm.js +354 -193
  3. package/package.json +8 -4
  4. package/src/lib/components/GridContainer.d.ts +3 -2
  5. package/src/lib/components/filters/Filter.d.ts +1 -1
  6. package/src/lib/components/filters/FilterDate.d.ts +3 -3
  7. package/src/lib/components/filters/FilterDateRange.d.ts +3 -3
  8. package/src/lib/components/filters/FilterDrawer.d.ts +3 -3
  9. package/src/lib/components/filters/FilterMultiSelectCheckbox.d.ts +1 -1
  10. package/src/lib/components/filters/FilterNumberRange.d.ts +3 -3
  11. package/src/lib/components/filters/FilterSelectRadio.d.ts +1 -1
  12. package/src/lib/components/grid-header/GridHeader.d.ts +3 -3
  13. package/src/lib/components/grid-header/useGridHeaderStyles.d.ts +1 -1
  14. package/src/lib/components/index.d.ts +1 -0
  15. package/src/lib/components/pagination/Pagination.d.ts +3 -4
  16. package/src/lib/components/table/Table.d.ts +3 -4
  17. package/src/lib/components/tbody/TableBody.d.ts +6 -9
  18. package/src/lib/components/tbody/TableCell.d.ts +3 -3
  19. package/src/lib/components/tbody/TableRow.d.ts +7 -3
  20. package/src/lib/components/tbody/useTableBodyStyles.d.ts +1 -1
  21. package/src/lib/components/thead/HeaderCell.d.ts +3 -3
  22. package/src/lib/components/thead/HeaderRow.d.ts +3 -3
  23. package/src/lib/components/thead/TableHeader.d.ts +3 -3
  24. package/src/lib/components/thead/useTableHeaderStyles.d.ts +1 -1
  25. package/src/lib/components/useGridContainer.d.ts +2 -3
  26. package/src/lib/components/useSkipper.d.ts +1 -0
  27. package/src/lib/components/views/ViewSaveForm.d.ts +3 -3
  28. package/src/lib/components/views/ViewsDrawer.d.ts +4 -6
  29. package/src/lib/helpers/Helpers.d.ts +1 -1
  30. package/src/lib/helpers/StylesHelper.d.ts +4 -0
  31. package/src/lib/index.d.ts +13 -2
  32. package/src/lib/types/TableProps.d.ts +18 -2
  33. package/src/lib/types/TableRef.d.ts +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prt-ts/fluent-react-table-v2",
3
- "version": "9.46.8-build.3.0",
3
+ "version": "9.46.8-build.5.0",
4
4
  "peerDependencies": {
5
5
  "react": ">=17.0.0",
6
6
  "react-dom": ">=17.0.0",
@@ -9,9 +9,13 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@tanstack/react-table": ">=8.10.7",
12
- "react-dnd": ">=16.0.1",
13
- "react-dnd-html5-backend": ">=16.0.1",
14
- "react-virtual": ">=2.10.4"
12
+ "@tanstack/react-virtual": ">=3.0.0",
13
+ "@dnd-kit/core": ">6.0.0",
14
+ "@dnd-kit/modifiers": ">=7.0.0",
15
+ "@dnd-kit/sortable": ">=8.0.0",
16
+ "@dnd-kit/utilities": ">=3.2.2",
17
+ "react-virtual": ">=2.10.4",
18
+ "@prt-ts/react-control-flow": "latest"
15
19
  },
16
20
  "license": "MIT",
17
21
  "publishConfig": {
@@ -1,7 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { TableProps, TableRef } from "../types";
3
- export declare function AdvancedTable<TItem extends object>(props: TableProps<TItem>, ref: React.ForwardedRef<TableRef<TItem>>): import("react/jsx-runtime").JSX.Element;
4
- export declare const ForwardedAdvancedTable: <TItem extends object>(props: TableProps<TItem> & {
3
+ import { RowData } from "@tanstack/react-table";
4
+ export declare function AdvancedTable<TItem extends RowData>(props: TableProps<TItem>, ref: React.ForwardedRef<TableRef<TItem>>): import("react/jsx-runtime").JSX.Element;
5
+ export declare const ForwardedAdvancedTable: <TItem extends unknown>(props: TableProps<TItem> & {
5
6
  ref?: React.ForwardedRef<TableRef<TItem>> | undefined;
6
7
  }) => React.ReactElement<TableProps<TItem> & {
7
8
  ref?: React.ForwardedRef<TableRef<TItem>> | undefined;
@@ -1,5 +1,5 @@
1
1
  import { Column, Table } from '@tanstack/react-table';
2
- export declare const Filter: <TItem extends object>({ column, table, }: {
2
+ export declare const Filter: <TItem extends unknown>({ column, table, }: {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
- import { Column, Table } from '@tanstack/react-table';
2
- type FilterNumberRangeProps<TItem extends object> = {
1
+ import { Column, RowData, Table } from '@tanstack/react-table';
2
+ type FilterNumberRangeProps<TItem extends RowData> = {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  };
6
- export declare const FilterDate: <TItem extends object>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const FilterDate: <TItem extends unknown>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -1,7 +1,7 @@
1
- import { Column, Table } from '@tanstack/react-table';
2
- type FilterNumberRangeProps<TItem extends object> = {
1
+ import { Column, RowData, Table } from '@tanstack/react-table';
2
+ type FilterNumberRangeProps<TItem extends RowData> = {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  };
6
- export declare const FilterDateRange: <TItem extends object>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const FilterDateRange: <TItem extends unknown>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { Table } from '@tanstack/react-table';
2
+ import { RowData, Table } from '@tanstack/react-table';
3
3
  import { ActionType, DrawerTableState } from '../reducer';
4
- type FilterDrawerProps<TItem extends object> = {
4
+ type FilterDrawerProps<TItem extends RowData> = {
5
5
  drawerState: DrawerTableState;
6
6
  dispatch: React.Dispatch<ActionType<string>>;
7
7
  table: Table<TItem>;
8
8
  };
9
- export declare const FilterDrawer: <TItem extends object>({ drawerState, dispatch, table }: FilterDrawerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const FilterDrawer: <TItem extends unknown>({ drawerState, dispatch, table }: FilterDrawerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
10
10
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Column, Table } from '@tanstack/react-table';
2
- export declare const FilterMultiSelectCheckbox: <TItem extends object>({ column, table, }: {
2
+ export declare const FilterMultiSelectCheckbox: <TItem extends unknown>({ column, table, }: {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
- import { Column, Table } from '@tanstack/react-table';
2
- type FilterNumberRangeProps<TItem extends object> = {
1
+ import { Column, RowData, Table } from '@tanstack/react-table';
2
+ type FilterNumberRangeProps<TItem extends RowData> = {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  };
6
- export declare const FilterNumberRange: <TItem extends object>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const FilterNumberRange: <TItem extends unknown>(props: FilterNumberRangeProps<TItem>) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Column, Table } from "@tanstack/react-table";
2
- export declare const FilterSelectRadio: <TItem extends object>({ column, table, }: {
2
+ export declare const FilterSelectRadio: <TItem extends unknown>({ column, table, }: {
3
3
  column: Column<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { Table, TableState } from '@tanstack/react-table';
2
+ import { RowData, Table, TableState } from '@tanstack/react-table';
3
3
  import { ActionType, DrawerTableState } from '../reducer';
4
- type GridHeaderProps<TItem extends object> = {
4
+ type GridHeaderProps<TItem extends RowData> = {
5
5
  table: Table<TItem>;
6
6
  gridTitle: JSX.Element | React.ReactNode;
7
7
  headerMenu?: JSX.Element | React.ReactNode;
@@ -11,5 +11,5 @@ type GridHeaderProps<TItem extends object> = {
11
11
  drawerState: DrawerTableState;
12
12
  dispatch: React.Dispatch<ActionType<string>>;
13
13
  };
14
- export declare const GridHeader: <TItem extends object>(props: GridHeaderProps<TItem>) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const GridHeader: <TItem extends unknown>(props: GridHeaderProps<TItem>) => import("react/jsx-runtime").JSX.Element;
15
15
  export {};
@@ -1 +1 @@
1
- export declare const useGridHeaderStyles: () => Record<"tableTopHeaderContainer" | "tableTopHeaderLeft" | "tableTopHeaderRight" | "tableTopHeaderColumnTogglePopover", string>;
1
+ export declare const useGridHeaderStyles: () => Record<"tableTopHeaderContainer" | "tableTopHeaderLeft" | "tableTopHeaderRight" | "tableTopHeaderColumnTogglePopover" | "popoverSurface", string>;
@@ -1 +1,2 @@
1
1
  export { ForwardedAdvancedTable as Table } from "./GridContainer";
2
+ export { useSkipper } from "./useSkipper";
@@ -1,7 +1,6 @@
1
- import { Table } from "@tanstack/react-table";
2
- type PaginationProps<TItem extends object> = {
1
+ import { RowData, Table } from "@tanstack/react-table";
2
+ type PaginationProps<TItem extends RowData> = {
3
3
  table: Table<TItem>;
4
- pageSizeOptions?: number[];
5
4
  };
6
- export declare const Pagination: <TItem extends object>(props: PaginationProps<TItem>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const Pagination: <TItem extends unknown>(props: PaginationProps<TItem>) => import("react/jsx-runtime").JSX.Element;
7
6
  export {};
@@ -1,12 +1,11 @@
1
1
  import * as React from 'react';
2
- import { Table } from '@tanstack/react-table';
3
- type TableContainerProps<TItem extends object> = {
4
- rowSelectionMode?: 'single' | 'multiple';
2
+ import { RowData, Table } from '@tanstack/react-table';
3
+ type TableContainerProps<TItem extends RowData> = {
5
4
  table: Table<TItem>;
6
5
  noItemPage?: React.ReactNode;
7
6
  noFilterMatchPage?: React.ReactNode;
8
7
  isLoading: boolean;
9
8
  data: TItem[];
10
9
  };
11
- export declare const TableContainer: <TItem extends object>(props: TableContainerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const TableContainer: <TItem extends unknown>(props: TableContainerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -1,11 +1,8 @@
1
- import { Row } from '@tanstack/react-table';
2
- import { TableProps } from '../../types';
3
- import { VirtualItem } from 'react-virtual';
4
- type TableBodyProps<TItem extends object> = {
5
- rows: Row<TItem>[];
6
- rowSelectionMode?: TableProps<TItem>['rowSelectionMode'];
7
- virtualRows: VirtualItem[];
8
- totalSize: number;
1
+ /// <reference types="react" />
2
+ import { RowData, Table } from '@tanstack/react-table';
3
+ type TableBodyProps<TItem extends RowData> = {
4
+ table: Table<TItem>;
5
+ tableContainerRef: React.RefObject<HTMLDivElement>;
9
6
  };
10
- export declare function TableBody<TItem extends object>(props: TableBodyProps<TItem>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function TableBody<TItem extends RowData>(props: TableBodyProps<TItem>): import("react/jsx-runtime").JSX.Element;
11
8
  export {};
@@ -1,7 +1,7 @@
1
- import { Cell, Row } from '@tanstack/react-table';
2
- type TableCellProps<TItem extends object> = {
1
+ import { Cell, Row, RowData } from '@tanstack/react-table';
2
+ type TableCellProps<TItem extends RowData> = {
3
3
  cell: Cell<TItem, unknown>;
4
4
  row: Row<TItem>;
5
5
  };
6
- export declare function TableCell<TItem extends object>({ cell, row }: TableCellProps<TItem>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function TableCell<TItem extends RowData>({ cell, row }: TableCellProps<TItem>): import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -1,8 +1,12 @@
1
- import { Row } from '@tanstack/react-table';
1
+ /// <reference types="react" />
2
+ import { Row, RowData } from '@tanstack/react-table';
2
3
  import { TableProps } from '../../types';
3
- type TableRowProps<TItem extends object> = {
4
+ type TableRowProps<TItem extends RowData> = {
4
5
  row: Row<TItem>;
5
6
  rowSelectionMode?: TableProps<TItem>['rowSelectionMode'];
7
+ bottomRowLength?: number;
8
+ style?: React.CSSProperties;
6
9
  };
7
- export declare function TableRow<TItem extends object>({ row, rowSelectionMode }: TableRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function TableRow<TItem extends RowData>({ row, rowSelectionMode, style }: TableRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function PinnedRow<TItem extends RowData>({ row, rowSelectionMode, style, bottomRowLength }: TableRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
8
12
  export {};
@@ -1 +1 @@
1
- export declare const useTableBodyStyles: () => Record<"tBody" | "tBodyRow" | "tBodySelectedRow" | "tBodyCell", string>;
1
+ export declare const useTableBodyStyles: () => Record<"tBody" | "tBodyRow" | "tBodySelectedRow" | "tBodyCell" | "tBodyRowPinnedCell" | "tBodyPinnedCell" | "tBodySelectedCell", string>;
@@ -1,10 +1,10 @@
1
- import { Header, Table } from "@tanstack/react-table";
2
- type HeaderCellProps<TItem extends object> = {
1
+ import { Header, RowData, Table } from "@tanstack/react-table";
2
+ type HeaderCellProps<TItem extends RowData> = {
3
3
  header: Header<TItem, unknown>;
4
4
  table: Table<TItem>;
5
5
  hideMenu?: boolean;
6
6
  headerDepth: number;
7
7
  totalNumberOfHeaderDepth: number;
8
8
  };
9
- export declare function HeaderCell<TItem extends object>({ header, table, hideMenu, headerDepth, totalNumberOfHeaderDepth, }: HeaderCellProps<TItem>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function HeaderCell<TItem extends RowData>({ header, table, hideMenu, headerDepth, totalNumberOfHeaderDepth, }: HeaderCellProps<TItem>): import("react/jsx-runtime").JSX.Element;
10
10
  export {};
@@ -1,10 +1,10 @@
1
- import { HeaderGroup, Table } from '@tanstack/react-table';
1
+ import { HeaderGroup, RowData, Table } from '@tanstack/react-table';
2
2
  import { TableProps } from '../../types';
3
- type HeaderRowProps<TItem extends object> = {
3
+ type HeaderRowProps<TItem extends RowData> = {
4
4
  table: Table<TItem>;
5
5
  rowSelectionMode?: TableProps<TItem>['rowSelectionMode'];
6
6
  headerGroup: HeaderGroup<TItem>;
7
7
  headerGroupsLength: number;
8
8
  };
9
- export declare function HeaderRow<TItem extends object>(props: HeaderRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function HeaderRow<TItem extends RowData>(props: HeaderRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
10
10
  export {};
@@ -1,9 +1,9 @@
1
- import { HeaderGroup, Table } from '@tanstack/react-table';
1
+ import { HeaderGroup, RowData, Table } from '@tanstack/react-table';
2
2
  import { TableProps } from '../../types';
3
- type HeaderRowProps<TItem extends object> = {
3
+ type HeaderRowProps<TItem extends RowData> = {
4
4
  table: Table<TItem>;
5
5
  rowSelectionMode?: TableProps<TItem>['rowSelectionMode'];
6
6
  headerGroups: HeaderGroup<TItem>[];
7
7
  };
8
- export declare function TableHeader<TItem extends object>(props: HeaderRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function TableHeader<TItem extends RowData>(props: HeaderRowProps<TItem>): import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -1 +1 @@
1
- export declare const useTableHeaderStyles: () => Record<"tHead" | "tHeadRow" | "tHeadCell" | "tHeadNonLeafCell" | "tHeadCellDraggable" | "tHeadCellDragging" | "tHeadCellOver" | "tLeafHeadCellContent" | "tNonLeafHeadCellContent" | "tHeadContentBtn" | "tHeadMenuPopover" | "resizer" | "resizerActive", string>;
1
+ export declare const useTableHeaderStyles: () => Record<"tHead" | "tHeadRow" | "tHeadCell" | "tHeadNonLeafCell" | "tHeadNonLeafCellFakeBorder" | "tHeadCellDraggable" | "tHeadCellDragging" | "tHeadCellOver" | "tLeafHeadCellContent" | "tNonLeafHeadCellContent" | "tHeadContentBtn" | "tHeadMenuPopover" | "resizer" | "resizerActive", string>;
@@ -1,8 +1,7 @@
1
1
  import { TableState } from '@tanstack/react-table';
2
- import { TableProps } from '..';
3
- import { TableRef, TableView } from '../types';
2
+ import { TableProps, TableRef, TableView } from '../types';
4
3
  import * as React from 'react';
5
- export declare const useGridContainer: <TItem extends object>(props: TableProps<TItem>, ref: React.ForwardedRef<TableRef<TItem>>) => {
4
+ export declare const useGridContainer: <TItem extends unknown>(props: TableProps<TItem>, ref: React.ForwardedRef<TableRef<TItem>>) => {
6
5
  table: import("@tanstack/react-table").Table<TItem>;
7
6
  globalFilter: string;
8
7
  tableViews: TableView[];
@@ -0,0 +1 @@
1
+ export declare function useSkipper(): readonly [boolean, () => void];
@@ -1,9 +1,9 @@
1
1
  import { TableProps } from "../../types";
2
- import { TableState } from '@tanstack/react-table';
3
- type ViewSaveFormProps<TItem extends object> = {
2
+ import { RowData, TableState } from '@tanstack/react-table';
3
+ type ViewSaveFormProps<TItem extends RowData> = {
4
4
  mode: 'create' | 'edit';
5
5
  onSave: TableProps<TItem>['onTableViewSave'];
6
6
  getTableState: () => TableState;
7
7
  };
8
- export declare const ViewSaveForm: <TItem extends object>(props: ViewSaveFormProps<TItem>) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const ViewSaveForm: <TItem extends unknown>(props: ViewSaveFormProps<TItem>) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -1,16 +1,14 @@
1
1
  import * as React from 'react';
2
- import { TableProps, TableView } from '../../types';
3
- import { Table, TableState } from '@tanstack/react-table';
2
+ import { TableView } from '../../types';
3
+ import { RowData, Table, TableState } from '@tanstack/react-table';
4
4
  import { ActionType, DrawerTableState } from '../reducer';
5
- type ViewsDrawerProps<TItem extends object> = {
5
+ type ViewsDrawerProps<TItem extends RowData> = {
6
6
  drawerState: DrawerTableState;
7
7
  dispatch: React.Dispatch<ActionType<string>>;
8
8
  table: Table<TItem>;
9
9
  tableViews: TableView[];
10
10
  applyTableState: (tableView: TableState) => boolean;
11
11
  resetToGridDefaultView: () => boolean;
12
- onTableViewSave?: TableProps<TItem>['onTableViewSave'];
13
- onTableViewDelete?: TableProps<TItem>['onTableViewDelete'];
14
12
  };
15
- export declare const ViewsDrawer: <TItem extends object>(props: ViewsDrawerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const ViewsDrawer: <TItem extends unknown>(props: ViewsDrawerProps<TItem>) => import("react/jsx-runtime").JSX.Element;
16
14
  export {};
@@ -1,2 +1,2 @@
1
1
  import { Column } from "@tanstack/react-table";
2
- export declare const getLeafColumns: <TItem extends object>(columns: Column<TItem, unknown>[]) => Column<TItem, unknown>[];
2
+ export declare const getLeafColumns: <TItem extends unknown>(columns: Column<TItem, unknown>[]) => Column<TItem, unknown>[];
@@ -0,0 +1,4 @@
1
+ import { Column } from "@tanstack/react-table";
2
+ import { CSSProperties } from "react";
3
+ export declare const getHeaderCellPinningStyles: <TItem extends unknown>(column: Column<TItem, unknown>) => CSSProperties;
4
+ export declare const getBodyCellPinningStyles: <TItem extends unknown>(column: Column<TItem, unknown>) => CSSProperties;
@@ -1,4 +1,5 @@
1
- import { FilterFn } from "@tanstack/react-table";
1
+ import { FilterFn, RowData } from "@tanstack/react-table";
2
+ import { TableProps } from "./types";
2
3
  declare module '@tanstack/table-core' {
3
4
  interface FilterFns {
4
5
  arrIncludesSome: FilterFn<unknown>;
@@ -11,7 +12,17 @@ declare module '@tanstack/react-table' {
11
12
  filterFnDefinition?: (data: TData) => TValue;
12
13
  }
13
14
  }
14
- export { Table } from "./components";
15
+ declare module '@tanstack/react-table' {
16
+ interface TableMeta<TData extends RowData> {
17
+ rowSelectionMode: TableProps<TData>["rowSelectionMode"];
18
+ pageSizeOptions: TableProps<TData>["pageSizeOptions"];
19
+ tableHeight: string;
20
+ updateData?: (rowIndex: number, columnId: string, value: unknown) => void;
21
+ onTableViewSave?: TableProps<TData>["onTableViewSave"];
22
+ onTableViewDelete?: TableProps<TData>["onTableViewDelete"];
23
+ }
24
+ }
25
+ export { Table, useSkipper } from "./components";
15
26
  export type { TableProps, TableRef, TableView } from "./types";
16
27
  export type { TableState, ColumnDef } from '@tanstack/react-table';
17
28
  export { createColumnHelper } from "@tanstack/react-table";
@@ -1,14 +1,16 @@
1
1
  import * as React from "react";
2
- import { ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, ExpandedState, GroupingState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
+ import { ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, ExpandedState, GroupingState, RowData, RowPinningState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
3
3
  import { TableView } from "./TableView";
4
- export type TableProps<TItem extends object> = {
4
+ export type TableProps<TItem extends RowData> = {
5
5
  /**
6
6
  * Table Columns definitions.
7
7
  */
8
+ defaultColumn?: Partial<ColumnDef<TItem>>;
8
9
  columns: ColumnDef<TItem>[];
9
10
  /**
10
11
  * Table data.
11
12
  */
13
+ dataPrimaryKye?: keyof TItem;
12
14
  data: TItem[];
13
15
  /**
14
16
  * Table loading state.
@@ -70,6 +72,10 @@ export type TableProps<TItem extends object> = {
70
72
  * Column order state
71
73
  */
72
74
  columnOrderState?: ColumnOrderState;
75
+ /**
76
+ * Row pinning state
77
+ */
78
+ rowPinningState?: RowPinningState;
73
79
  /**
74
80
  * Component visible if the no item match the filter condition
75
81
  * @default defaultNoItemComponent
@@ -84,6 +90,12 @@ export type TableProps<TItem extends object> = {
84
90
  * Table Views
85
91
  */
86
92
  views?: TableView[];
93
+ /**
94
+ * Max height of the table
95
+ */
96
+ tableHeight?: string;
97
+ autoResetPageIndex?: boolean;
98
+ onUpdateData?: (rowIndex: number, columnId: string, value: unknown) => void;
87
99
  /**
88
100
  * Callback when a table view is saved
89
101
  */
@@ -92,4 +104,8 @@ export type TableProps<TItem extends object> = {
92
104
  * Callback when a table view is deleted
93
105
  */
94
106
  onTableViewDelete?: (tableView: TableView) => void;
107
+ /**
108
+ * disable table header
109
+ */
110
+ disableTableHeader?: boolean;
95
111
  };
@@ -1,5 +1,5 @@
1
- import { Table, TableState } from "@tanstack/react-table";
2
- export type TableRef<TItem extends object> = {
1
+ import { RowData, Table, TableState } from "@tanstack/react-table";
2
+ export type TableRef<TItem extends RowData> = {
3
3
  table: Table<TItem>;
4
4
  getTableState: () => TableState;
5
5
  applyTableState: (tableState: TableState) => boolean;