@bsol-oss/react-datatable5 12.0.0-beta.5 → 12.0.0-beta.7

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 (44) hide show
  1. package/dist/index.d.ts +18 -18
  2. package/dist/index.js +31 -0
  3. package/dist/index.mjs +31 -0
  4. package/dist/types/components/DataTable/DataTable.d.ts +1 -1
  5. package/dist/types/components/DataTable/DataTableServer.d.ts +1 -1
  6. package/dist/types/components/DataTable/DefaultTable.d.ts +5 -5
  7. package/dist/types/components/DataTable/context/DataTableContext.d.ts +2 -1
  8. package/dist/types/components/DataTable/controls/DensityFeature.d.ts +23 -0
  9. package/dist/types/components/DataTable/controls/DensityToggleButton.d.ts +6 -0
  10. package/dist/types/components/DataTable/controls/EditSortingButton.d.ts +7 -0
  11. package/dist/types/components/DataTable/controls/FilterDialog.d.ts +5 -0
  12. package/dist/types/components/DataTable/controls/PageSizeControl.d.ts +4 -0
  13. package/dist/types/components/DataTable/controls/Pagination.d.ts +1 -0
  14. package/dist/types/components/DataTable/controls/ReloadButton.d.ts +5 -0
  15. package/dist/types/components/DataTable/controls/ResetFilteringButton.d.ts +4 -0
  16. package/dist/types/components/DataTable/controls/ResetSelectionButton.d.ts +4 -0
  17. package/dist/types/components/DataTable/controls/ResetSortingButton.d.ts +4 -0
  18. package/dist/types/components/DataTable/controls/RowCountText.d.ts +1 -0
  19. package/dist/types/components/DataTable/controls/SelectAllRowsToggle.d.ts +8 -0
  20. package/dist/types/components/DataTable/controls/TableControls.d.ts +21 -0
  21. package/dist/types/components/DataTable/controls/TableFilterTags.d.ts +1 -0
  22. package/dist/types/components/DataTable/controls/TableFilters.d.ts +1 -0
  23. package/dist/types/components/DataTable/controls/TableSelector.d.ts +1 -0
  24. package/dist/types/components/DataTable/controls/TableSorter.d.ts +1 -0
  25. package/dist/types/components/DataTable/controls/TableViewer.d.ts +1 -0
  26. package/dist/types/components/DataTable/controls/ViewDialog.d.ts +5 -0
  27. package/dist/types/components/DataTable/display/CardHeader.d.ts +13 -0
  28. package/dist/types/components/DataTable/display/DataDisplay.d.ts +6 -0
  29. package/dist/types/components/DataTable/display/EmptyState.d.ts +5 -0
  30. package/dist/types/components/DataTable/display/ErrorAlert.d.ts +4 -0
  31. package/dist/types/components/DataTable/display/RecordDisplay.d.ts +9 -0
  32. package/dist/types/components/DataTable/display/Table.d.ts +10 -0
  33. package/dist/types/components/DataTable/display/TableBody.d.ts +21 -0
  34. package/dist/types/components/DataTable/display/TableCardContainer.d.ts +7 -0
  35. package/dist/types/components/DataTable/display/TableCards.d.ts +11 -0
  36. package/dist/types/components/DataTable/display/TableComponent.d.ts +6 -0
  37. package/dist/types/components/DataTable/display/TableDataDisplay.d.ts +1 -0
  38. package/dist/types/components/DataTable/display/TableFooter.d.ts +9 -0
  39. package/dist/types/components/DataTable/display/TableHeader.d.ts +13 -0
  40. package/dist/types/components/DataTable/display/TableLoadingComponent.d.ts +5 -0
  41. package/dist/types/components/DataTable/display/TextCell.d.ts +10 -0
  42. package/dist/types/components/DataTable/useDataTable.d.ts +1 -1
  43. package/dist/types/index.d.ts +31 -31
  44. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Row, Table as Table$1, OnChangeFn, RowData, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnOrderState, ColumnFiltersState, PaginationState, SortingState, VisibilityState, Column } from '@tanstack/react-table';
2
+ import { Row, RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnOrderState, ColumnFiltersState, PaginationState, SortingState, VisibilityState, Table as Table$1, Column } from '@tanstack/react-table';
3
3
  import * as React$1 from 'react';
4
4
  import React__default, { ReactNode, Dispatch, SetStateAction } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -85,23 +85,6 @@ interface ErrorAlertProps {
85
85
  }
86
86
  declare const ErrorAlert: ({ showMessage }: ErrorAlertProps) => react_jsx_runtime.JSX.Element;
87
87
 
88
- interface DataTableContext<TData = unknown> {
89
- table: Table$1<TData>;
90
- globalFilter: string;
91
- setGlobalFilter: OnChangeFn<string>;
92
- type: "client" | "server";
93
- translate: UseTranslationResponse<any, any>;
94
- }
95
- declare const DataTableContext: React$1.Context<DataTableContext<unknown>>;
96
-
97
- declare const useDataTableContext: <TData>() => DataTableContext<TData>;
98
-
99
- interface DataDisplayProps {
100
- variant?: "horizontal" | "stats" | "";
101
- translate?: UseTranslationResponse<any, any>;
102
- }
103
- declare const DataDisplay: ({ variant }: DataDisplayProps) => react_jsx_runtime.JSX.Element;
104
-
105
88
  type DensityState = "sm" | "md" | "lg";
106
89
  interface DensityTableState {
107
90
  density: DensityState;
@@ -183,6 +166,23 @@ interface DataTableProps<TData = unknown> {
183
166
  */
184
167
  declare function DataTable<TData = unknown>({ columns, data, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, columnOrder, columnFilters, columnVisibility, density, globalFilter, pagination, sorting, rowSelection, setPagination, setSorting, setColumnFilters, setRowSelection, setGlobalFilter, setColumnOrder, setDensity, setColumnVisibility, translate, children, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
185
168
 
169
+ interface DataTableContext<TData = unknown> extends DataTableProps {
170
+ table: Table$1<TData>;
171
+ globalFilter: string;
172
+ setGlobalFilter: OnChangeFn<string>;
173
+ type: "client" | "server";
174
+ translate: UseTranslationResponse<any, any>;
175
+ }
176
+ declare const DataTableContext: React$1.Context<DataTableContext<unknown>>;
177
+
178
+ declare const useDataTableContext: <TData>() => DataTableContext<TData>;
179
+
180
+ interface DataDisplayProps {
181
+ variant?: "horizontal" | "stats" | "";
182
+ translate?: UseTranslationResponse<any, any>;
183
+ }
184
+ declare const DataDisplay: ({ variant }: DataDisplayProps) => react_jsx_runtime.JSX.Element;
185
+
186
186
  interface DataTableDefaultState {
187
187
  sorting?: SortingState;
188
188
  columnFilters?: ColumnFiltersState;
package/dist/index.js CHANGED
@@ -2814,6 +2814,21 @@ function DataTable({ columns, data, enableRowSelection = true, enableMultiRowSel
2814
2814
  setGlobalFilter,
2815
2815
  type: "client",
2816
2816
  translate,
2817
+ columns,
2818
+ sorting,
2819
+ setSorting,
2820
+ columnFilters,
2821
+ setColumnFilters,
2822
+ pagination,
2823
+ setPagination,
2824
+ rowSelection,
2825
+ setRowSelection,
2826
+ columnOrder,
2827
+ setColumnOrder,
2828
+ density,
2829
+ setDensity,
2830
+ columnVisibility,
2831
+ setColumnVisibility,
2817
2832
  }, children: children }));
2818
2833
  }
2819
2834
 
@@ -2882,6 +2897,21 @@ function DataTableServer({ columns, enableRowSelection = true, enableMultiRowSel
2882
2897
  setGlobalFilter,
2883
2898
  type: "server",
2884
2899
  translate,
2900
+ columns,
2901
+ sorting,
2902
+ setSorting,
2903
+ columnFilters,
2904
+ setColumnFilters,
2905
+ pagination,
2906
+ setPagination,
2907
+ rowSelection,
2908
+ setRowSelection,
2909
+ columnOrder,
2910
+ setColumnOrder,
2911
+ density,
2912
+ setDensity,
2913
+ columnVisibility,
2914
+ setColumnVisibility,
2885
2915
  }, children: jsxRuntime.jsx(DataTableServerContext.Provider, { value: { url, query }, children: children }) }));
2886
2916
  }
2887
2917
 
@@ -2891,6 +2921,7 @@ const Checkbox = React__namespace.forwardRef(function Checkbox(props, ref) {
2891
2921
  });
2892
2922
 
2893
2923
  const TableBody = ({ pinnedBgColor = { light: "gray.50", dark: "gray.700" }, showSelector = false, alwaysShowSelector = true, canResize = true, }) => {
2924
+ "use no memo";
2894
2925
  const { table } = useDataTableContext();
2895
2926
  const SELECTION_BOX_WIDTH = 20;
2896
2927
  const [hoveredRow, setHoveredRow] = React.useState(-1);
package/dist/index.mjs CHANGED
@@ -2794,6 +2794,21 @@ function DataTable({ columns, data, enableRowSelection = true, enableMultiRowSel
2794
2794
  setGlobalFilter,
2795
2795
  type: "client",
2796
2796
  translate,
2797
+ columns,
2798
+ sorting,
2799
+ setSorting,
2800
+ columnFilters,
2801
+ setColumnFilters,
2802
+ pagination,
2803
+ setPagination,
2804
+ rowSelection,
2805
+ setRowSelection,
2806
+ columnOrder,
2807
+ setColumnOrder,
2808
+ density,
2809
+ setDensity,
2810
+ columnVisibility,
2811
+ setColumnVisibility,
2797
2812
  }, children: children }));
2798
2813
  }
2799
2814
 
@@ -2862,6 +2877,21 @@ function DataTableServer({ columns, enableRowSelection = true, enableMultiRowSel
2862
2877
  setGlobalFilter,
2863
2878
  type: "server",
2864
2879
  translate,
2880
+ columns,
2881
+ sorting,
2882
+ setSorting,
2883
+ columnFilters,
2884
+ setColumnFilters,
2885
+ pagination,
2886
+ setPagination,
2887
+ rowSelection,
2888
+ setRowSelection,
2889
+ columnOrder,
2890
+ setColumnOrder,
2891
+ density,
2892
+ setDensity,
2893
+ columnVisibility,
2894
+ setColumnVisibility,
2865
2895
  }, children: jsx(DataTableServerContext.Provider, { value: { url, query }, children: children }) }));
2866
2896
  }
2867
2897
 
@@ -2871,6 +2901,7 @@ const Checkbox = React.forwardRef(function Checkbox(props, ref) {
2871
2901
  });
2872
2902
 
2873
2903
  const TableBody = ({ pinnedBgColor = { light: "gray.50", dark: "gray.700" }, showSelector = false, alwaysShowSelector = true, canResize = true, }) => {
2904
+ "use no memo";
2874
2905
  const { table } = useDataTableContext();
2875
2906
  const SELECTION_BOX_WIDTH = 20;
2876
2907
  const [hoveredRow, setHoveredRow] = useState(-1);
@@ -1,7 +1,7 @@
1
1
  import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
2
  import { ReactNode } from "react";
3
3
  import { RankingInfo } from "@tanstack/match-sorter-utils";
4
- import { DensityState } from "../Controls/DensityFeature";
4
+ import { DensityState } from "./controls/DensityFeature";
5
5
  import { UseTranslationResponse } from "react-i18next";
6
6
  declare module "@tanstack/react-table" {
7
7
  interface FilterFns {
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from "react";
2
2
  import { UseQueryResult } from "@tanstack/react-query";
3
3
  import { ColumnDef, ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
4
- import { DensityState } from "../Controls/DensityFeature";
4
+ import { DensityState } from "./controls/DensityFeature";
5
5
  import { DataResponse } from "./useDataTableServer";
6
6
  import { UseTranslationResponse } from "react-i18next";
7
7
  export interface DataTableServerProps<TData extends DataResponse = DataResponse<unknown>> {
@@ -1,9 +1,9 @@
1
1
  import { TableHeaderProps as ChakraHeaderProps } from "@chakra-ui/react";
2
- import { TableBodyProps } from "./TableBody";
3
- import { TableControlsProps } from "./TableControls";
4
- import { TableFooterProps } from "./TableFooter";
5
- import { TableHeaderProps } from "./TableHeader";
6
- import { TableProps } from "./Table";
2
+ import { TableBodyProps } from "./display/TableBody";
3
+ import { TableControlsProps } from "./controls/TableControls";
4
+ import { TableFooterProps } from "./display/TableFooter";
5
+ import { TableHeaderProps } from "./display/TableHeader";
6
+ import { TableProps } from "./display/Table";
7
7
  export interface DefaultTableProps {
8
8
  showFooter?: boolean;
9
9
  showSelector?: boolean;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { OnChangeFn, Table } from "@tanstack/react-table";
3
3
  import { UseTranslationResponse } from "react-i18next";
4
- export interface DataTableContext<TData = unknown> {
4
+ import { DataTableProps } from "../DataTable";
5
+ export interface DataTableContext<TData = unknown> extends DataTableProps {
5
6
  table: Table<TData>;
6
7
  globalFilter: string;
7
8
  setGlobalFilter: OnChangeFn<string>;
@@ -0,0 +1,23 @@
1
+ import { OnChangeFn, Updater, RowData, TableFeature } from "@tanstack/react-table";
2
+ export type DensityState = "sm" | "md" | "lg";
3
+ export interface DensityTableState {
4
+ density: DensityState;
5
+ }
6
+ export interface DensityOptions {
7
+ enableDensity?: boolean;
8
+ onDensityChange?: OnChangeFn<DensityState>;
9
+ }
10
+ export interface DensityInstance {
11
+ setDensity: (updater: Updater<DensityState>) => void;
12
+ toggleDensity: (value?: DensityState) => void;
13
+ getDensityValue: (value?: DensityState) => number;
14
+ }
15
+ declare module "@tanstack/react-table" {
16
+ interface TableState extends DensityTableState {
17
+ }
18
+ interface TableOptionsResolved<TData extends RowData> extends DensityOptions {
19
+ }
20
+ interface Table<TData extends RowData> extends DensityInstance {
21
+ }
22
+ }
23
+ export declare const DensityFeature: TableFeature<any>;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface DensityToggleButtonProps {
3
+ icon?: React.ReactElement;
4
+ text?: string;
5
+ }
6
+ export declare const DensityToggleButton: ({ text, icon, }: DensityToggleButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface EditSortingButtonProps {
3
+ title?: string;
4
+ icon?: React.ReactElement;
5
+ text?: string;
6
+ }
7
+ export declare const EditSortingButton: ({ text, icon, title, }: EditSortingButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export interface EditFilterButtonProps {
3
+ icon?: React.ReactElement;
4
+ }
5
+ export declare const FilterDialog: ({ icon, }: EditFilterButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface PageSizeControlProps {
2
+ pageSizes?: number[];
3
+ }
4
+ export declare const PageSizeControl: ({ pageSizes, }: PageSizeControlProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const Pagination: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface ReloadButtonProps {
2
+ text?: string;
3
+ variant?: string;
4
+ }
5
+ export declare const ReloadButton: ({ text, variant, }: ReloadButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ResetFilteringButtonProps {
2
+ text?: string;
3
+ }
4
+ export declare const ResetFilteringButton: ({ text, }: ResetFilteringButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ResetSelectionButtonProps {
2
+ text?: string;
3
+ }
4
+ export declare const ResetSelectionButton: ({ text, }: ResetSelectionButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ResetSortingButtonProps {
2
+ text?: string;
3
+ }
4
+ export declare const ResetSortingButton: ({ text, }: ResetSortingButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const RowCountText: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface SelectAllRowsToggleProps {
3
+ selectAllIcon?: React.ReactElement;
4
+ clearAllIcon?: React.ReactElement;
5
+ selectAllText?: string;
6
+ clearAllText?: string;
7
+ }
8
+ export declare const SelectAllRowsToggle: ({ selectAllIcon, clearAllIcon, selectAllText, clearAllText, }: SelectAllRowsToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from "react";
2
+ export interface TableControlsProps {
3
+ totalText?: string;
4
+ fitTableWidth?: boolean;
5
+ fitTableHeight?: boolean;
6
+ children?: ReactNode;
7
+ showGlobalFilter?: boolean;
8
+ showFilter?: boolean;
9
+ showFilterName?: boolean;
10
+ showFilterTags?: boolean;
11
+ showReload?: boolean;
12
+ showPagination?: boolean;
13
+ showPageSizeControl?: boolean;
14
+ showPageCountText?: boolean;
15
+ showView?: boolean;
16
+ filterOptions?: string[];
17
+ extraItems?: ReactNode;
18
+ loading?: boolean;
19
+ hasError?: boolean;
20
+ }
21
+ export declare const TableControls: ({ fitTableWidth, fitTableHeight, children, showGlobalFilter, showFilter, showFilterName, showFilterTags, showReload, showPagination, showPageSizeControl, showPageCountText, showView, filterOptions, extraItems, loading, hasError, }: TableControlsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableFilterTags: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableFilter: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableSelector: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableSorter: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableViewer: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface EditViewButtonProps {
3
+ icon?: React.ReactElement;
4
+ }
5
+ export declare const ViewDialog: ({ icon }: EditViewButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ImageProps } from "@chakra-ui/react";
2
+ import { Row } from "@tanstack/react-table";
3
+ import { IconType } from "react-icons";
4
+ export interface CardHeaderProps<TData> {
5
+ row: Row<TData>;
6
+ imageColumnId?: keyof TData;
7
+ titleColumnId?: keyof TData;
8
+ tagColumnId?: keyof TData;
9
+ tagIcon?: IconType;
10
+ showTag?: boolean;
11
+ imageProps?: ImageProps;
12
+ }
13
+ export declare const CardHeader: <TData>({ row, imageColumnId, titleColumnId, tagColumnId, tagIcon, showTag, imageProps, }: CardHeaderProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { UseTranslationResponse } from "react-i18next";
2
+ export interface DataDisplayProps {
3
+ variant?: "horizontal" | "stats" | "";
4
+ translate?: UseTranslationResponse<any, any>;
5
+ }
6
+ export declare const DataDisplay: ({ variant }: DataDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface EmptyStateProps {
2
+ title?: string;
3
+ description?: string;
4
+ }
5
+ export declare const EmptyState: ({ title, description, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ErrorAlertProps {
2
+ showMessage?: boolean;
3
+ }
4
+ export declare const ErrorAlert: ({ showMessage }: ErrorAlertProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { BoxProps } from "@chakra-ui/react";
2
+ import { UseTranslationResponse } from "react-i18next";
3
+ export interface RecordDisplayProps {
4
+ object: object | null;
5
+ boxProps?: BoxProps;
6
+ translate?: UseTranslationResponse<any, any>;
7
+ prefix?: string;
8
+ }
9
+ export declare const RecordDisplay: ({ object, boxProps, translate, prefix, }: RecordDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { TableRootProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TableProps extends TableRootProps {
4
+ showLoading?: boolean;
5
+ loadingComponent?: ReactNode;
6
+ emptyComponent?: ReactNode;
7
+ canResize?: boolean;
8
+ children: ReactNode;
9
+ }
10
+ export declare const Table: ({ children, emptyComponent, canResize, ...props }: TableProps) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import { Row } from "@tanstack/react-table";
2
+ export interface TableBodyProps {
3
+ pinnedBgColor?: {
4
+ light: string;
5
+ dark: string;
6
+ };
7
+ showSelector?: boolean;
8
+ alwaysShowSelector?: boolean;
9
+ canResize?: boolean;
10
+ }
11
+ export interface TableRowSelectorProps<TData> {
12
+ index: number;
13
+ row: Row<TData>;
14
+ hoveredRow: number;
15
+ pinnedBgColor?: {
16
+ light: string;
17
+ dark: string;
18
+ };
19
+ alwaysShowSelector?: boolean;
20
+ }
21
+ export declare const TableBody: ({ pinnedBgColor, showSelector, alwaysShowSelector, canResize, }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { GridProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TableCardContainerProps extends GridProps {
4
+ children: ReactNode;
5
+ variant?: "carousel" | "";
6
+ }
7
+ export declare const TableCardContainer: ({ children, variant, ...props }: TableCardContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { CardBodyProps } from "@chakra-ui/react";
2
+ import { Row } from "@tanstack/react-table";
3
+ import { ReactNode } from "react";
4
+ export interface TableCardsProps<TData> {
5
+ isSelectable?: boolean;
6
+ showDisplayNameOnly?: boolean;
7
+ renderTitle?: (row: Row<TData>) => ReactNode | undefined;
8
+ cardBodyProps?: CardBodyProps;
9
+ }
10
+ export declare const DefaultCardTitle: () => import("react/jsx-runtime").JSX.Element;
11
+ export declare const TableCards: <TData>({ isSelectable, showDisplayNameOnly, renderTitle, cardBodyProps, }: TableCardsProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ import React from "react";
3
+ export interface TableRendererProps<TData> {
4
+ render: (render: Table<TData>) => React.ReactElement;
5
+ }
6
+ export declare const TableComponent: <TData>({ render, }: TableRendererProps<TData>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1 @@
1
+ export declare const TableDataDisplay: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ export interface TableFooterProps {
2
+ pinnedBgColor?: {
3
+ light: string;
4
+ dark: string;
5
+ };
6
+ showSelector?: boolean;
7
+ alwaysShowSelector?: boolean;
8
+ }
9
+ export declare const TableFooter: ({ pinnedBgColor, showSelector, alwaysShowSelector, }: TableFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { TableHeaderProps as ChakraTableHeaderProps } from "@chakra-ui/react";
2
+ export interface TableHeaderProps {
3
+ canResize?: boolean;
4
+ pinnedBgColor?: {
5
+ light: string;
6
+ dark: string;
7
+ };
8
+ showSelector?: boolean;
9
+ isSticky?: boolean;
10
+ alwaysShowSelector?: boolean;
11
+ tHeadProps?: ChakraTableHeaderProps;
12
+ }
13
+ export declare const TableHeader: ({ canResize, pinnedBgColor, showSelector, isSticky, alwaysShowSelector, tHeadProps, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { ReactNode } from "react";
2
+ export interface TableLoadingComponentProps {
3
+ render: (loading: boolean) => ReactNode;
4
+ }
5
+ export declare const TableLoadingComponent: ({ render, }: TableLoadingComponentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { FlexProps, TextProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TextCellProps {
4
+ label?: string;
5
+ noOfLines?: number[];
6
+ children: string | number | ReactNode | ReactNode[];
7
+ containerProps?: FlexProps;
8
+ textProps?: TextProps;
9
+ }
10
+ export declare const TextCell: ({ label, containerProps, textProps, children, }: TextCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
- import { DensityState } from "../Controls/DensityFeature";
2
+ import { DensityState } from "./controls/DensityFeature";
3
3
  import { UseTranslationResponse } from "react-i18next";
4
4
  export interface DataTableDefaultState {
5
5
  sorting?: SortingState;
@@ -57,40 +57,40 @@ declare module "@tanstack/react-table" {
57
57
  renderFilter?: (column: Column<TData>) => ReactNode;
58
58
  }
59
59
  }
60
- export * from "./components/Controls/DensityToggleButton";
61
- export * from "./components/Controls/EditSortingButton";
62
- export * from "./components/Controls/FilterDialog";
63
- export * from "./components/Controls/PageSizeControl";
64
- export * from "./components/Controls/Pagination";
65
- export * from "./components/Controls/ResetFilteringButton";
66
- export * from "./components/Controls/ResetSelectionButton";
67
- export * from "./components/Controls/ResetSortingButton";
68
- export * from "./components/Controls/RowCountText";
69
- export * from "./components/Controls/ViewDialog";
70
- export * from "./components/DataTable/CardHeader";
71
- export * from "./components/DataTable/components/EmptyState";
72
- export * from "./components/DataTable/components/ErrorAlert";
60
+ export * from "./components/DataTable/controls/DensityToggleButton";
61
+ export * from "./components/DataTable/controls/EditSortingButton";
62
+ export * from "./components/DataTable/controls/FilterDialog";
63
+ export * from "./components/DataTable/controls/PageSizeControl";
64
+ export * from "./components/DataTable/controls/Pagination";
65
+ export * from "./components/DataTable/controls/ResetFilteringButton";
66
+ export * from "./components/DataTable/controls/ResetSelectionButton";
67
+ export * from "./components/DataTable/controls/ResetSortingButton";
68
+ export * from "./components/DataTable/controls/RowCountText";
69
+ export * from "./components/DataTable/controls/ViewDialog";
70
+ export * from "./components/DataTable/display/CardHeader";
71
+ export * from "./components/DataTable/display/EmptyState";
72
+ export * from "./components/DataTable/display/ErrorAlert";
73
73
  export * from "./components/DataTable/context/useDataTableContext";
74
- export * from "./components/DataTable/DataDisplay";
74
+ export * from "./components/DataTable/display/DataDisplay";
75
75
  export * from "./components/DataTable/DataTable";
76
76
  export * from "./components/DataTable/DataTableServer";
77
77
  export * from "./components/DataTable/DefaultTable";
78
- export * from "./components/DataTable/ReloadButton";
79
- export * from "./components/DataTable/Table";
80
- export * from "./components/DataTable/TableBody";
81
- export * from "./components/DataTable/TableCardContainer";
82
- export * from "./components/DataTable/TableCards";
83
- export * from "./components/DataTable/TableComponent";
84
- export * from "./components/DataTable/TableControls";
85
- export * from "./components/DataTable/TableFilters";
86
- export * from "./components/DataTable/TableFilterTags";
87
- export * from "./components/DataTable/TableFooter";
88
- export * from "./components/DataTable/TableHeader";
89
- export * from "./components/DataTable/TableLoadingComponent";
90
- export * from "./components/DataTable/TableSelector";
91
- export * from "./components/DataTable/TableSorter";
92
- export * from "./components/DataTable/TableViewer";
93
- export * from "./components/DataTable/components/TextCell";
78
+ export * from "./components/DataTable/controls/ReloadButton";
79
+ export * from "./components/DataTable/display/Table";
80
+ export * from "./components/DataTable/display/TableBody";
81
+ export * from "./components/DataTable/display/TableCardContainer";
82
+ export * from "./components/DataTable/display/TableCards";
83
+ export * from "./components/DataTable/display/TableComponent";
84
+ export * from "./components/DataTable/controls/TableControls";
85
+ export * from "./components/DataTable/controls/TableFilters";
86
+ export * from "./components/DataTable/controls/TableFilterTags";
87
+ export * from "./components/DataTable/display/TableFooter";
88
+ export * from "./components/DataTable/display/TableHeader";
89
+ export * from "./components/DataTable/display/TableLoadingComponent";
90
+ export * from "./components/DataTable/controls/TableSelector";
91
+ export * from "./components/DataTable/controls/TableSorter";
92
+ export * from "./components/DataTable/controls/TableViewer";
93
+ export * from "./components/DataTable/display/TextCell";
94
94
  export * from "./components/DataTable/useDataTable";
95
95
  export * from "./components/DataTable/useDataTableServer";
96
96
  export * from "./components/DataTable/utils/getColumns";
@@ -105,4 +105,4 @@ export * from "./components/DatePicker/DatePicker";
105
105
  export * from "./components/DatePicker/getMultiDates";
106
106
  export * from "./components/DatePicker/getRangeDates";
107
107
  export * from "./components/DatePicker/RangeDatePicker";
108
- export * from "./components/DataTable/components/RecordDisplay";
108
+ export * from "./components/DataTable/display/RecordDisplay";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsol-oss/react-datatable5",
3
- "version": "12.0.0-beta.5",
3
+ "version": "12.0.0-beta.7",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -41,7 +41,7 @@
41
41
  "@emotion/react": "^11.13.5",
42
42
  "@tanstack/match-sorter-utils": "^8.15.1",
43
43
  "@tanstack/react-query": "^5.66.9",
44
- "@tanstack/react-table": "^8.16.0",
44
+ "@tanstack/react-table": "^8.21.2",
45
45
  "@uidotdev/usehooks": "^2.4.1",
46
46
  "axios": "^1.7.9",
47
47
  "dayjs": "^1.11.13",