@bsol-oss/react-datatable5 1.0.64 → 2.0.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 (51) hide show
  1. package/dist/index.d.ts +40 -31
  2. package/dist/index.js +77 -104
  3. package/dist/index.mjs +78 -105
  4. package/dist/types/components/Controls/SelectAllRowsToggle.d.ts +4 -4
  5. package/dist/types/components/DataTable/DataTable.d.ts +18 -13
  6. package/dist/types/components/DataTable/DataTableContext.d.ts +3 -3
  7. package/dist/types/components/DataTable/DataTableServer.d.ts +18 -14
  8. package/dist/types/components/DataTable/useDataTable.d.ts +33 -8
  9. package/dist/types/components/DataTable/useDataTableContext.d.ts +8 -0
  10. package/dist/types/index.d.ts +1 -1
  11. package/package.json +1 -1
  12. package/dist/types/components/DataTable.d.ts +0 -33
  13. package/dist/types/components/DataTableContext.d.ts +0 -10
  14. package/dist/types/components/DataTableServer.d.ts +0 -38
  15. package/dist/types/components/DefaultTable.d.ts +0 -5
  16. package/dist/types/components/DensityFeature.d.ts +0 -23
  17. package/dist/types/components/DensityToggle.d.ts +0 -1
  18. package/dist/types/components/DensityToggleButton.d.ts +0 -6
  19. package/dist/types/components/EditFilterButton.d.ts +0 -9
  20. package/dist/types/components/EditOrderButton.d.ts +0 -7
  21. package/dist/types/components/EditSortingButton.d.ts +0 -7
  22. package/dist/types/components/EditViewButton.d.ts +0 -7
  23. package/dist/types/components/FilterOptions.d.ts +0 -4
  24. package/dist/types/components/GlobalFilter.d.ts +0 -3
  25. package/dist/types/components/PageSizeControl.d.ts +0 -4
  26. package/dist/types/components/ResetFilteringButton.d.ts +0 -4
  27. package/dist/types/components/ResetSelectionButton.d.ts +0 -4
  28. package/dist/types/components/ResetSortingButton.d.ts +0 -4
  29. package/dist/types/components/RowCountText.d.ts +0 -1
  30. package/dist/types/components/SelectAllRowsToggle.d.ts +0 -8
  31. package/dist/types/components/Table.d.ts +0 -8
  32. package/dist/types/components/TableBody.d.ts +0 -17
  33. package/dist/types/components/TableCardContainer.d.ts +0 -6
  34. package/dist/types/components/TableCards.d.ts +0 -4
  35. package/dist/types/components/TableComponent.d.ts +0 -6
  36. package/dist/types/components/TableComponentRenderer.d.ts +0 -6
  37. package/dist/types/components/TableControls.d.ts +0 -13
  38. package/dist/types/components/TableFilter.d.ts +0 -8
  39. package/dist/types/components/TableFilterTags.d.ts +0 -1
  40. package/dist/types/components/TableFooter.d.ts +0 -7
  41. package/dist/types/components/TableHeader.d.ts +0 -8
  42. package/dist/types/components/TableLoadingComponent.d.ts +0 -5
  43. package/dist/types/components/TableOrderer.d.ts +0 -1
  44. package/dist/types/components/TablePagination.d.ts +0 -3
  45. package/dist/types/components/TableReloadButton.d.ts +0 -4
  46. package/dist/types/components/TableSelector.d.ts +0 -1
  47. package/dist/types/components/TableSorter.d.ts +0 -1
  48. package/dist/types/components/TableViewer.d.ts +0 -1
  49. package/dist/types/components/TextCell.d.ts +0 -10
  50. package/dist/types/components/useDataFromUrl.d.ts +0 -14
  51. package/dist/types/components/useDataTable.d.ts +0 -7
@@ -1,33 +0,0 @@
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 "./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;
@@ -1,10 +0,0 @@
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>>;
@@ -1,38 +0,0 @@
1
- /// <reference types="react" />
2
- import { ColumnDef, ColumnFiltersState, RowData, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
3
- import { DensityState } from "./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
- declare module "@tanstack/react-table" {
34
- interface ColumnMeta<TData extends RowData, TValue> {
35
- displayName?: string;
36
- }
37
- }
38
- 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;
@@ -1,5 +0,0 @@
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;
@@ -1,23 +0,0 @@
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>;
@@ -1 +0,0 @@
1
- export declare const SelectAllRowsToggle: () => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +0,0 @@
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;
@@ -1,9 +0,0 @@
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;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- export interface EditOrderButtonProps {
3
- title?: string;
4
- icon?: React.ReactElement;
5
- text?: string;
6
- }
7
- export declare const EditOrderButton: ({ text, icon, title, }: EditOrderButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
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;
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- export interface EditViewButtonProps {
3
- text?: string;
4
- icon?: React.ReactElement;
5
- title?: string;
6
- }
7
- export declare const EditViewButton: ({ text, icon, title, }: EditViewButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface FilterOptionsProps {
2
- column: string;
3
- }
4
- export declare const FilterOptions: ({ column }: FilterOptionsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export declare const GlobalFilter: ({ icon }: {
2
- icon?: import("react-icons/lib").IconType | undefined;
3
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface PageSizeControlProps {
2
- pageSizes?: number[];
3
- }
4
- export declare const PageSizeControl: ({ pageSizes, }: PageSizeControlProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ResetFilteringButtonProps {
2
- text?: string;
3
- }
4
- export declare const ResetFilteringButton: ({ text, }: ResetFilteringButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ResetSelectionButtonProps {
2
- text?: string;
3
- }
4
- export declare const ResetSelectionButton: ({ text, }: ResetSelectionButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ResetSortingButtonProps {
2
- text?: string;
3
- }
4
- export declare const ResetSortingButton: ({ text, }: ResetSortingButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const RowCountText: () => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +0,0 @@
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;
@@ -1,8 +0,0 @@
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;
@@ -1,17 +0,0 @@
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;
@@ -1,6 +0,0 @@
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;
@@ -1,4 +0,0 @@
1
- export interface TableCardsProps {
2
- isSelectable?: boolean;
3
- }
4
- export declare const TableCards: ({ isSelectable }: TableCardsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +0,0 @@
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>>;
@@ -1,6 +0,0 @@
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 TableComponentRenderer: <TData>({ render, }: TableRendererProps<TData>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
@@ -1,13 +0,0 @@
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;
@@ -1,8 +0,0 @@
1
- import { RowData } from "@tanstack/react-table";
2
- declare module "@tanstack/react-table" {
3
- interface ColumnMeta<TData extends RowData, TValue> {
4
- filterVariant?: "text" | "range" | "select";
5
- filterOptions?: string[];
6
- }
7
- }
8
- export declare const TableFilter: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const TableFilterTags: () => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +0,0 @@
1
- export interface TableFooterProps {
2
- pinnedBgColor?: {
3
- light: string;
4
- dark: string;
5
- };
6
- }
7
- export declare const TableFooter: ({ pinnedBgColor, }: TableFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +0,0 @@
1
- export interface TableHeaderProps {
2
- canResize?: boolean;
3
- pinnedBgColor?: {
4
- light: string;
5
- dark: string;
6
- };
7
- }
8
- export declare const TableHeader: ({ canResize, pinnedBgColor, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +0,0 @@
1
- /// <reference types="react" />
2
- export interface TableLoadingComponentProps {
3
- render: (loading: boolean) => JSX.Element;
4
- }
5
- export declare const TableLoadingComponent: ({ render, }: TableLoadingComponentProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const TableOrderer: () => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +0,0 @@
1
- export interface PaginationProps {
2
- }
3
- export declare const TablePagination: ({}: PaginationProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +0,0 @@
1
- export interface ReloadButtonProps {
2
- text?: string;
3
- }
4
- export declare const ReloadButton: ({ text }: ReloadButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const TableSelector: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const TableSorter: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export declare const TableViewer: () => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
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;
@@ -1,14 +0,0 @@
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>;
@@ -1,7 +0,0 @@
1
- export declare const useDataTable: () => {
2
- table: import("@tanstack/table-core").Table<any>;
3
- refreshData: () => void;
4
- globalFilter: string;
5
- setGlobalFilter: (filter: string) => void;
6
- loading: boolean;
7
- };