@bsol-oss/react-datatable5 1.0.61 → 1.0.63
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.
- package/dist/index.d.ts +19 -12
- package/dist/index.js +297 -216
- package/dist/index.mjs +300 -219
- package/dist/types/components/Controls/DensityFeature.d.ts +23 -0
- package/dist/types/components/Controls/DensityToggleButton.d.ts +6 -0
- package/dist/types/components/Controls/EditFilterButton.d.ts +9 -0
- package/dist/types/components/Controls/EditOrderButton.d.ts +7 -0
- package/dist/types/components/Controls/EditSortingButton.d.ts +7 -0
- package/dist/types/components/Controls/EditViewButton.d.ts +7 -0
- package/dist/types/components/Controls/PageSizeControl.d.ts +4 -0
- package/dist/types/components/Controls/ResetFilteringButton.d.ts +4 -0
- package/dist/types/components/Controls/ResetSelectionButton.d.ts +4 -0
- package/dist/types/components/Controls/ResetSortingButton.d.ts +4 -0
- package/dist/types/components/Controls/RowCountText.d.ts +1 -0
- package/dist/types/components/Controls/SelectAllRowsToggle.d.ts +8 -0
- package/dist/types/components/DataTable/DataTable.d.ts +33 -0
- package/dist/types/components/DataTable/DataTableContext.d.ts +10 -0
- package/dist/types/components/DataTable/DataTableServer.d.ts +33 -0
- package/dist/types/components/DataTable/DefaultTable.d.ts +5 -0
- package/dist/types/components/DataTable/Table.d.ts +8 -0
- package/dist/types/components/DataTable/TableBody.d.ts +17 -0
- package/dist/types/components/DataTable/TableCardContainer.d.ts +6 -0
- package/dist/types/components/DataTable/TableCards.d.ts +4 -0
- package/dist/types/components/DataTable/TableComponent.d.ts +6 -0
- package/dist/types/components/DataTable/TableControls.d.ts +13 -0
- package/dist/types/components/DataTable/TableFilter.d.ts +1 -0
- package/dist/types/components/DataTable/TableFilterTags.d.ts +1 -0
- package/dist/types/components/DataTable/TableFooter.d.ts +7 -0
- package/dist/types/components/DataTable/TableHeader.d.ts +8 -0
- package/dist/types/components/DataTable/TableLoadingComponent.d.ts +5 -0
- package/dist/types/components/DataTable/TableOrderer.d.ts +1 -0
- package/dist/types/components/DataTable/TablePagination.d.ts +3 -0
- package/dist/types/components/DataTable/TableReloadButton.d.ts +4 -0
- package/dist/types/components/DataTable/TableSelector.d.ts +1 -0
- package/dist/types/components/DataTable/TableSorter.d.ts +1 -0
- package/dist/types/components/DataTable/TableViewer.d.ts +1 -0
- package/dist/types/components/DataTable/TextCell.d.ts +10 -0
- package/dist/types/components/DataTable/useDataFromUrl.d.ts +14 -0
- package/dist/types/components/DataTable/useDataTable.d.ts +7 -0
- package/dist/types/components/Filter/DateRangeFilter.d.ts +9 -0
- package/dist/types/components/Filter/FilterOptions.d.ts +4 -0
- package/dist/types/components/Filter/GlobalFilter.d.ts +3 -0
- package/dist/types/components/Filter/RangeFilter.d.ts +11 -0
- package/dist/types/components/Filter/TagFilter.d.ts +8 -0
- package/dist/types/index.d.ts +54 -35
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface EditFilterButtonProps {
|
|
3
|
+
text?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
closeText?: string;
|
|
6
|
+
resetText?: string;
|
|
7
|
+
icon?: React.ReactElement;
|
|
8
|
+
}
|
|
9
|
+
export declare const EditFilterButton: ({ text, title, closeText, resetText, icon, ...props }: EditFilterButtonProps) => 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 @@
|
|
|
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,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ColumnDef, ColumnFiltersState, FilterFn, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
|
|
3
|
+
import { RankingInfo } from "@tanstack/match-sorter-utils";
|
|
4
|
+
import { DensityState } from "../Controls/DensityFeature";
|
|
5
|
+
declare module "@tanstack/react-table" {
|
|
6
|
+
interface FilterFns {
|
|
7
|
+
fuzzy: FilterFn<unknown>;
|
|
8
|
+
}
|
|
9
|
+
interface FilterMeta {
|
|
10
|
+
itemRank: RankingInfo;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export interface DataTableProps<TData> {
|
|
14
|
+
children?: JSX.Element | JSX.Element[];
|
|
15
|
+
data: TData[];
|
|
16
|
+
columns: ColumnDef<TData, any>[];
|
|
17
|
+
enableRowSelection?: boolean;
|
|
18
|
+
enableMultiRowSelection?: boolean;
|
|
19
|
+
enableSubRowSelection?: boolean;
|
|
20
|
+
onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
|
|
21
|
+
columnOrder?: string[];
|
|
22
|
+
columnFilters?: ColumnFiltersState;
|
|
23
|
+
globalFilter?: string;
|
|
24
|
+
density?: DensityState;
|
|
25
|
+
pagination?: {
|
|
26
|
+
pageIndex: number;
|
|
27
|
+
pageSize: number;
|
|
28
|
+
};
|
|
29
|
+
sorting?: SortingState;
|
|
30
|
+
rowSelection?: RowSelectionState;
|
|
31
|
+
columnVisibility?: VisibilityState;
|
|
32
|
+
}
|
|
33
|
+
export declare const DataTable: <TData>({ columns, data, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, onRowSelect, columnOrder: defaultColumnOrder, columnFilters: defaultColumnFilter, density, globalFilter: defaultGlobalFilter, pagination: defaultPagination, sorting: defaultSorting, rowSelection: defaultRowSelection, columnVisibility: defaultColumnVisibility, children, }: DataTableProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Table } from "@tanstack/react-table";
|
|
3
|
+
export interface DataTableContext<TData> {
|
|
4
|
+
table: Table<TData>;
|
|
5
|
+
refreshData: () => void;
|
|
6
|
+
globalFilter: string;
|
|
7
|
+
setGlobalFilter: (filter: string) => void;
|
|
8
|
+
loading: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const TableContext: import("react").Context<DataTableContext<any>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ColumnDef, ColumnFiltersState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
|
|
3
|
+
import { DensityState } from "../Controls/DensityFeature";
|
|
4
|
+
export interface DataTableServerProps<TData> {
|
|
5
|
+
children: JSX.Element | JSX.Element[];
|
|
6
|
+
url: string;
|
|
7
|
+
columns: ColumnDef<TData, any>[];
|
|
8
|
+
enableRowSelection?: boolean;
|
|
9
|
+
enableMultiRowSelection?: boolean;
|
|
10
|
+
enableSubRowSelection?: boolean;
|
|
11
|
+
onRowSelect?: (rowSelectionState: RowSelectionState, data: TData[]) => void;
|
|
12
|
+
columnOrder?: string[];
|
|
13
|
+
columnFilters?: ColumnFiltersState;
|
|
14
|
+
globalFilter?: string;
|
|
15
|
+
density?: DensityState;
|
|
16
|
+
pagination?: {
|
|
17
|
+
pageIndex: number;
|
|
18
|
+
pageSize: number;
|
|
19
|
+
};
|
|
20
|
+
sorting?: SortingState;
|
|
21
|
+
rowSelection?: RowSelectionState;
|
|
22
|
+
loadingComponent?: JSX.Element;
|
|
23
|
+
columnVisibility?: VisibilityState;
|
|
24
|
+
}
|
|
25
|
+
export interface Result<T> {
|
|
26
|
+
results: T[];
|
|
27
|
+
}
|
|
28
|
+
export interface DataResponse<T> extends Result<T> {
|
|
29
|
+
success: boolean;
|
|
30
|
+
count: number;
|
|
31
|
+
filterCount: number;
|
|
32
|
+
}
|
|
33
|
+
export declare const DataTableServer: <TData>({ columns, url, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, onRowSelect, columnOrder: defaultColumnOrder, columnFilters: defaultColumnFilter, density, globalFilter: defaultGlobalFilter, pagination: defaultPagination, sorting: defaultSorting, rowSelection: defaultRowSelection, columnVisibility: defaultColumnVisibility, children, }: DataTableServerProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TableControlsProps } from "./TableControls";
|
|
2
|
+
export interface DefaultTableProps extends TableControlsProps {
|
|
3
|
+
showFooter?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const DefaultTable: ({ totalText, showFilter, showFooter, fitTableWidth, fitTableHeight, isMobile, filterOptions, showFilterTags, showFilterName, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableProps as ChakraTableProps } from "@chakra-ui/react";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
export interface TableProps extends ChakraTableProps {
|
|
4
|
+
showLoading?: boolean;
|
|
5
|
+
loadingComponent?: JSX.Element;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const Table: ({ children, showLoading, loadingComponent, ...props }: TableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Row } from "@tanstack/react-table";
|
|
2
|
+
export interface TableBodyProps {
|
|
3
|
+
pinnedBgColor?: {
|
|
4
|
+
light: string;
|
|
5
|
+
dark: string;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface TableRowSelectorProps<TData> {
|
|
9
|
+
index: number;
|
|
10
|
+
row: Row<TData>;
|
|
11
|
+
hoveredRow: number;
|
|
12
|
+
pinnedBgColor?: {
|
|
13
|
+
light: string;
|
|
14
|
+
dark: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare const TableBody: ({ pinnedBgColor, }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { GridProps } from "@chakra-ui/react";
|
|
3
|
+
export interface TableCardContainerProps extends GridProps {
|
|
4
|
+
children: JSX.Element;
|
|
5
|
+
}
|
|
6
|
+
export declare const TableCardContainer: ({ children, ...props }: TableCardContainerProps) => 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<any, string | React.JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface TableControlsProps {
|
|
3
|
+
totalText?: string;
|
|
4
|
+
showFilter?: boolean;
|
|
5
|
+
fitTableWidth?: boolean;
|
|
6
|
+
fitTableHeight?: boolean;
|
|
7
|
+
isMobile?: boolean;
|
|
8
|
+
children?: JSX.Element;
|
|
9
|
+
showFilterName?: boolean;
|
|
10
|
+
showFilterTags?: boolean;
|
|
11
|
+
filterOptions?: string[];
|
|
12
|
+
}
|
|
13
|
+
export declare const TableControls: ({ totalText, showFilter, fitTableWidth, fitTableHeight, isMobile, children, showFilterName, showFilterTags, filterOptions, }: TableControlsProps) => 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 TableFilterTags: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TableOrderer: () => 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,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TextProps, TooltipProps } from "@chakra-ui/react";
|
|
3
|
+
export interface TextCellProps extends TextProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
noOfLines?: number[];
|
|
6
|
+
padding?: string;
|
|
7
|
+
children: string | number | JSX.Element | JSX.Element[];
|
|
8
|
+
tooltipProps?: TooltipProps;
|
|
9
|
+
}
|
|
10
|
+
export declare const TextCell: ({ label, noOfLines, padding, children, tooltipProps, ...props }: TextCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface useDataFromUrlReturn<T> {
|
|
2
|
+
data: T;
|
|
3
|
+
loading: boolean;
|
|
4
|
+
hasError: boolean;
|
|
5
|
+
refreshData: () => void;
|
|
6
|
+
}
|
|
7
|
+
export interface useDataFromUrlProps<T> {
|
|
8
|
+
url: string;
|
|
9
|
+
params?: object;
|
|
10
|
+
defaultData: T;
|
|
11
|
+
disableFirstFetch?: boolean;
|
|
12
|
+
onFetchSuccess?: (data: T) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const useDataFromUrl: <T>({ url, params, disableFirstFetch, onFetchSuccess, defaultData, }: useDataFromUrlProps<T>) => useDataFromUrlReturn<T>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface DateRangeFilterProps {
|
|
3
|
+
startDate: string;
|
|
4
|
+
endDate: string;
|
|
5
|
+
setStartDate: (value: string) => void;
|
|
6
|
+
setEndDate: (value: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const DateRangeFilter: React.FC<DateRangeFilterProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface RangeFilterProps {
|
|
3
|
+
range: [number, number];
|
|
4
|
+
setRange: (value: [number, number]) => void;
|
|
5
|
+
defaultValue: [number, number];
|
|
6
|
+
min: number;
|
|
7
|
+
max: number;
|
|
8
|
+
step: number;
|
|
9
|
+
}
|
|
10
|
+
declare const RangeFilter: React.FC<RangeFilterProps>;
|
|
11
|
+
export default RangeFilter;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,35 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export * from "./components/
|
|
21
|
-
export * from "./components/
|
|
22
|
-
export * from "./components/
|
|
23
|
-
export * from "./components/
|
|
24
|
-
export * from "./components/
|
|
25
|
-
export * from "./components/
|
|
26
|
-
export * from "./components/
|
|
27
|
-
export * from "./components/
|
|
28
|
-
export * from "./components/
|
|
29
|
-
export * from "./components/
|
|
30
|
-
export * from "./components/
|
|
31
|
-
export * from "./components/
|
|
32
|
-
export * from "./components/
|
|
33
|
-
export * from "./components/
|
|
34
|
-
export * from "./components/
|
|
35
|
-
export * from "./components/
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Column, RowData } from "@tanstack/react-table";
|
|
3
|
+
declare module "@tanstack/react-table" {
|
|
4
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
5
|
+
displayName?: string;
|
|
6
|
+
/**
|
|
7
|
+
* @note you should provide a proper `filterfn` to handle the filtering when choosing `boolean`, `dateRange` and `custom`
|
|
8
|
+
*/
|
|
9
|
+
filterVariant?: "text" | "range" | "select" | "tag" | "boolean" | "dateRange" | "custom";
|
|
10
|
+
filterOptions?: string[];
|
|
11
|
+
filterRangeConfig?: {
|
|
12
|
+
min: number;
|
|
13
|
+
max: number;
|
|
14
|
+
step: number;
|
|
15
|
+
defaultValue: [number, number];
|
|
16
|
+
};
|
|
17
|
+
renderFilter?: (column: Column<TData>) => JSX.Element;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export * from "./components/DataTable/DataTable";
|
|
21
|
+
export * from "./components/DataTable/DataTableServer";
|
|
22
|
+
export * from "./components/DataTable/DefaultTable";
|
|
23
|
+
export * from "./components/Controls/DensityToggleButton";
|
|
24
|
+
export * from "./components/Controls/EditFilterButton";
|
|
25
|
+
export * from "./components/Controls/EditOrderButton";
|
|
26
|
+
export * from "./components/Controls/EditSortingButton";
|
|
27
|
+
export * from "./components/Controls/EditViewButton";
|
|
28
|
+
export * from "./components/Filter/FilterOptions";
|
|
29
|
+
export * from "./components/Filter/GlobalFilter";
|
|
30
|
+
export * from "./components/Controls/PageSizeControl";
|
|
31
|
+
export * from "./components/Controls/ResetFilteringButton";
|
|
32
|
+
export * from "./components/Controls/ResetSelectionButton";
|
|
33
|
+
export * from "./components/Controls/ResetSortingButton";
|
|
34
|
+
export * from "./components/Controls/RowCountText";
|
|
35
|
+
export * from "./components/DataTable/Table";
|
|
36
|
+
export * from "./components/DataTable/TableBody";
|
|
37
|
+
export * from "./components/DataTable/TableCardContainer";
|
|
38
|
+
export * from "./components/DataTable/TableCards";
|
|
39
|
+
export * from "./components/DataTable/TableComponent";
|
|
40
|
+
export * from "./components/DataTable/TableControls";
|
|
41
|
+
export * from "./components/DataTable/TableFilter";
|
|
42
|
+
export * from "./components/DataTable/TableFilterTags";
|
|
43
|
+
export * from "./components/DataTable/TableFooter";
|
|
44
|
+
export * from "./components/DataTable/TableHeader";
|
|
45
|
+
export * from "./components/DataTable/TableLoadingComponent";
|
|
46
|
+
export * from "./components/DataTable/TableOrderer";
|
|
47
|
+
export * from "./components/DataTable/TablePagination";
|
|
48
|
+
export * from "./components/DataTable/TableReloadButton";
|
|
49
|
+
export * from "./components/DataTable/TableSelector";
|
|
50
|
+
export * from "./components/DataTable/TableSorter";
|
|
51
|
+
export * from "./components/DataTable/TableViewer";
|
|
52
|
+
export * from "./components/DataTable/TextCell";
|
|
53
|
+
export * from "./components/DataTable/useDataFromUrl";
|
|
54
|
+
export * from "./components/DataTable/useDataTable";
|