@bsol-oss/react-datatable5 12.0.0-beta.8 → 12.0.0-beta.81
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/README.md +224 -5
- package/dist/index.d.ts +780 -258
- package/dist/index.js +3431 -1184
- package/dist/index.mjs +3328 -1086
- package/dist/types/components/DataTable/DataTable.d.ts +12 -7
- package/dist/types/components/DataTable/DataTableServer.d.ts +6 -4
- package/dist/types/components/DataTable/DefaultTable.d.ts +12 -14
- package/dist/types/components/DataTable/DefaultTableServer.d.ts +23 -0
- package/dist/types/components/DataTable/context/DataTableContext.d.ts +21 -3
- package/dist/types/components/DataTable/context/useDataTableContext.d.ts +2 -2
- package/dist/types/components/DataTable/controls/ReloadButton.d.ts +1 -2
- package/dist/types/components/DataTable/controls/ResetFilteringButton.d.ts +1 -4
- package/dist/types/components/DataTable/controls/ResetSelectionButton.d.ts +1 -4
- package/dist/types/components/DataTable/controls/ResetSortingButton.d.ts +1 -4
- package/dist/types/components/DataTable/controls/TableControls.d.ts +10 -2
- package/dist/types/components/DataTable/display/Table.d.ts +4 -3
- package/dist/types/components/DataTable/display/TableBody.d.ts +1 -2
- package/dist/types/components/DataTable/display/TableBodySkeleton.d.ts +5 -0
- package/dist/types/components/DataTable/display/TableCardContainer.d.ts +6 -3
- package/dist/types/components/DataTable/display/TableDataDisplay.d.ts +6 -1
- package/dist/types/components/DataTable/display/TableFooter.d.ts +1 -5
- package/dist/types/components/DataTable/display/TableHeader.d.ts +46 -8
- package/dist/types/components/DataTable/hooks/useResponsiveColumnVisibility.d.ts +13 -0
- package/dist/types/components/DataTable/useDataTableServer.d.ts +55 -3
- package/dist/types/components/DatePicker/DatePicker.d.ts +23 -0
- package/dist/types/components/DatePicker/DateTimePicker.d.ts +11 -0
- package/dist/types/components/DatePicker/DurationPicker.d.ts +12 -0
- package/dist/types/components/DatePicker/IsoTimePicker.d.ts +16 -0
- package/dist/types/components/DatePicker/PickerDemo.d.ts +1 -0
- package/dist/types/components/DatePicker/UniversalPicker.d.ts +9 -0
- package/dist/types/components/DatePicker/index.d.ts +7 -0
- package/dist/types/components/Filter/TagFilter.d.ts +5 -1
- package/dist/types/components/Form/SchemaFormContext.d.ts +22 -6
- package/dist/types/components/Form/components/FileDropzone.d.ts +2 -2
- package/dist/types/components/Form/components/core/DefaultForm.d.ts +1 -0
- package/dist/types/components/Form/components/core/FormBody.d.ts +2 -1
- package/dist/types/components/Form/components/core/FormRoot.d.ts +21 -8
- package/dist/types/components/Form/components/fields/BooleanPicker.d.ts +1 -1
- package/dist/types/components/Form/components/fields/ColumnRenderer.d.ts +3 -2
- package/dist/types/components/Form/components/fields/CustomInput.d.ts +8 -0
- package/dist/types/components/Form/components/fields/DatePicker.d.ts +2 -7
- package/dist/types/components/Form/components/fields/DateRangePicker.d.ts +2 -0
- package/dist/types/components/Form/components/fields/DateTimePicker.d.ts +2 -0
- package/dist/types/components/Form/components/fields/EnumPicker.d.ts +3 -2
- package/dist/types/components/Form/components/fields/FilePicker.d.ts +2 -5
- package/dist/types/components/Form/components/fields/IdPicker.d.ts +1 -1
- package/dist/types/components/Form/components/fields/NumberInputField.d.ts +1 -1
- package/dist/types/components/Form/components/fields/ObjectInput.d.ts +1 -1
- package/dist/types/components/Form/components/fields/RecordInput.d.ts +1 -1
- package/dist/types/components/Form/components/fields/SchemaRenderer.d.ts +1 -1
- package/dist/types/components/Form/components/fields/StringInputField.d.ts +23 -5
- package/dist/types/components/Form/components/fields/TextAreaInput.d.ts +12 -0
- package/dist/types/components/Form/components/{DatePicker.d.ts → fields/TimePicker.d.ts} +2 -2
- package/dist/types/components/Form/components/fields/types.d.ts +6 -0
- package/dist/types/components/Form/components/types/CustomJSONSchema7.d.ts +77 -4
- package/dist/types/components/Form/components/viewers/CustomViewer.d.ts +8 -0
- package/dist/types/components/Form/components/viewers/DateTimeViewer.d.ts +7 -0
- package/dist/types/components/Form/components/viewers/NumberViewer.d.ts +1 -1
- package/dist/types/components/Form/components/viewers/TextAreaViewer.d.ts +12 -0
- package/dist/types/components/Form/components/viewers/TimeViewer.d.ts +7 -0
- package/dist/types/components/Form/useForm.d.ts +6 -3
- package/dist/types/components/Form/utils/ajvResolver.d.ts +13 -0
- package/dist/types/components/Form/utils/buildErrorMessages.d.ts +223 -0
- package/dist/types/components/Form/utils/formatBytes.d.ts +6 -0
- package/dist/types/components/Form/utils/getFieldError.d.ts +6 -0
- package/dist/types/components/Form/utils/useFormI18n.d.ts +53 -0
- package/dist/types/components/Form/utils/validateData.d.ts +9 -0
- package/dist/types/components/TextArea/TextArea.d.ts +22 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +21 -0
- package/dist/types/components/ui/field.d.ts +3 -3
- package/dist/types/index.d.ts +79 -55
- package/package.json +18 -3
- package/dist/types/components/Controls/DensityFeature.d.ts +0 -23
- package/dist/types/components/Controls/DensityToggleButton.d.ts +0 -6
- package/dist/types/components/Controls/EditFilterButton.d.ts +0 -9
- package/dist/types/components/Controls/EditOrderButton.d.ts +0 -7
- package/dist/types/components/Controls/EditSortingButton.d.ts +0 -7
- package/dist/types/components/Controls/EditViewButton.d.ts +0 -7
- package/dist/types/components/Controls/FilterDialog.d.ts +0 -5
- package/dist/types/components/Controls/PageSizeControl.d.ts +0 -4
- package/dist/types/components/Controls/Pagination.d.ts +0 -1
- package/dist/types/components/Controls/ResetFilteringButton.d.ts +0 -4
- package/dist/types/components/Controls/ResetSelectionButton.d.ts +0 -4
- package/dist/types/components/Controls/ResetSortingButton.d.ts +0 -4
- package/dist/types/components/Controls/RowCountText.d.ts +0 -1
- package/dist/types/components/Controls/SelectAllRowsToggle.d.ts +0 -8
- package/dist/types/components/Controls/TablePagination.d.ts +0 -1
- package/dist/types/components/Controls/ViewDialog.d.ts +0 -5
- package/dist/types/components/DataTable/CardHeader.d.ts +0 -13
- package/dist/types/components/DataTable/DataDisplay.d.ts +0 -6
- package/dist/types/components/DataTable/ReloadButton.d.ts +0 -5
- package/dist/types/components/DataTable/Table.d.ts +0 -10
- package/dist/types/components/DataTable/TableBody.d.ts +0 -21
- package/dist/types/components/DataTable/TableCardContainer.d.ts +0 -7
- package/dist/types/components/DataTable/TableCards.d.ts +0 -11
- package/dist/types/components/DataTable/TableComponent.d.ts +0 -6
- package/dist/types/components/DataTable/TableControls.d.ts +0 -21
- package/dist/types/components/DataTable/TableFilter.d.ts +0 -1
- package/dist/types/components/DataTable/TableFilterTags.d.ts +0 -1
- package/dist/types/components/DataTable/TableFilters.d.ts +0 -1
- package/dist/types/components/DataTable/TableFooter.d.ts +0 -9
- package/dist/types/components/DataTable/TableHeader.d.ts +0 -13
- package/dist/types/components/DataTable/TableLoadingComponent.d.ts +0 -5
- package/dist/types/components/DataTable/TableOrderer.d.ts +0 -1
- package/dist/types/components/DataTable/TableSelector.d.ts +0 -1
- package/dist/types/components/DataTable/TableSorter.d.ts +0 -1
- package/dist/types/components/DataTable/TableViewer.d.ts +0 -1
- package/dist/types/components/DataTable/TextCell.d.ts +0 -10
- package/dist/types/components/DataTable/components/EmptyState.d.ts +0 -5
- package/dist/types/components/DataTable/components/ErrorAlert.d.ts +0 -4
- package/dist/types/components/DataTable/components/RecordDisplay.d.ts +0 -9
- package/dist/types/components/DataTable/components/TextCell.d.ts +0 -10
- package/dist/types/components/Filter/DateRangeFilter.d.ts +0 -9
- package/dist/types/components/Filter/FilterOptions.d.ts +0 -4
- package/dist/types/components/Form/Form.d.ts +0 -36
- package/dist/types/components/Form/components/ArrayRenderer.d.ts +0 -7
- package/dist/types/components/Form/components/BooleanPicker.d.ts +0 -7
- package/dist/types/components/Form/components/ColumnRenderer.d.ts +0 -7
- package/dist/types/components/Form/components/EnumPicker.d.ts +0 -8
- package/dist/types/components/Form/components/FilePicker.d.ts +0 -5
- package/dist/types/components/Form/components/IdPicker.d.ts +0 -8
- package/dist/types/components/Form/components/IdViewer.d.ts +0 -5
- package/dist/types/components/Form/components/NumberInputField.d.ts +0 -7
- package/dist/types/components/Form/components/ObjectInput.d.ts +0 -7
- package/dist/types/components/Form/components/RecordInput.d.ts +0 -7
- package/dist/types/components/Form/components/SchemaRenderer.d.ts +0 -7
- package/dist/types/components/Form/components/StringInputField.d.ts +0 -20
- package/dist/types/components/Form/components/TagPicker.d.ts +0 -30
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from
|
|
2
|
-
import { ReactNode } from
|
|
3
|
-
import { RankingInfo } from
|
|
4
|
-
import { DensityState } from
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { RankingInfo } from '@tanstack/match-sorter-utils';
|
|
4
|
+
import { DensityState } from './controls/DensityFeature';
|
|
5
|
+
import { DataTableLabel } from './context/DataTableContext';
|
|
6
|
+
import { UseTranslationResponse } from 'react-i18next';
|
|
7
|
+
declare module '@tanstack/react-table' {
|
|
7
8
|
interface FilterFns {
|
|
8
9
|
fuzzy: FilterFn<unknown>;
|
|
9
10
|
}
|
|
@@ -17,6 +18,9 @@ export interface DataTableProps<TData = unknown> {
|
|
|
17
18
|
* Data array for the table.
|
|
18
19
|
*
|
|
19
20
|
* It will pass into as the data in `@tanstack/react-table`
|
|
21
|
+
* Do not toggle the data array, it will cause the table to re-render in infinite loop.
|
|
22
|
+
*
|
|
23
|
+
* @default []
|
|
20
24
|
*
|
|
21
25
|
*/
|
|
22
26
|
data: TData[];
|
|
@@ -49,6 +53,7 @@ export interface DataTableProps<TData = unknown> {
|
|
|
49
53
|
setDensity: OnChangeFn<DensityState>;
|
|
50
54
|
setColumnVisibility: OnChangeFn<VisibilityState>;
|
|
51
55
|
translate: UseTranslationResponse<any, any>;
|
|
56
|
+
tableLabel?: DataTableLabel;
|
|
52
57
|
}
|
|
53
58
|
/**
|
|
54
59
|
* DataTable will create a context to hold all values to
|
|
@@ -60,4 +65,4 @@ export interface DataTableProps<TData = unknown> {
|
|
|
60
65
|
*
|
|
61
66
|
* @link https://tanstack.com/table/latest/docs/guide/column-defs
|
|
62
67
|
*/
|
|
63
|
-
export 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>): import("react/jsx-runtime").JSX.Element;
|
|
68
|
+
export 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, tableLabel, }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,9 +2,10 @@ 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
4
|
import { DensityState } from "./controls/DensityFeature";
|
|
5
|
+
import { DataTableLabel } from "./context/DataTableContext";
|
|
5
6
|
import { DataResponse } from "./useDataTableServer";
|
|
6
7
|
import { UseTranslationResponse } from "react-i18next";
|
|
7
|
-
export interface DataTableServerProps<TData
|
|
8
|
+
export interface DataTableServerProps<TData = unknown> {
|
|
8
9
|
children: ReactNode | ReactNode[];
|
|
9
10
|
/**
|
|
10
11
|
* Column definitions for the table.
|
|
@@ -33,9 +34,10 @@ export interface DataTableServerProps<TData extends DataResponse = DataResponse<
|
|
|
33
34
|
setColumnOrder: OnChangeFn<ColumnOrderState>;
|
|
34
35
|
setDensity: OnChangeFn<DensityState>;
|
|
35
36
|
setColumnVisibility: OnChangeFn<VisibilityState>;
|
|
36
|
-
query: UseQueryResult<TData
|
|
37
|
-
url
|
|
37
|
+
query: UseQueryResult<DataResponse<TData>>;
|
|
38
|
+
url?: string;
|
|
38
39
|
translate: UseTranslationResponse<any, any>;
|
|
40
|
+
tableLabel?: DataTableLabel;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* DataTableServer will create a context to hold all values to
|
|
@@ -48,4 +50,4 @@ export interface DataTableServerProps<TData extends DataResponse = DataResponse<
|
|
|
48
50
|
*
|
|
49
51
|
* @link https://tanstack.com/table/latest/docs/guide/column-defs
|
|
50
52
|
*/
|
|
51
|
-
export declare function DataTableServer<TData
|
|
53
|
+
export declare function DataTableServer<TData = unknown>({ columns, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, columnOrder, columnFilters, columnVisibility, density, globalFilter, pagination, sorting, rowSelection, setPagination, setSorting, setColumnFilters, setRowSelection, setGlobalFilter, setColumnOrder, setDensity, setColumnVisibility, query, url, translate, children, tableLabel, }: DataTableServerProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { TableFooterProps } from
|
|
5
|
-
import { TableHeaderProps } from
|
|
6
|
-
import { TableProps } from "./display/Table";
|
|
1
|
+
import { TableControlsProps } from './controls/TableControls';
|
|
2
|
+
import { TableProps } from './display/Table';
|
|
3
|
+
import { TableBodyProps } from './display/TableBody';
|
|
4
|
+
import { TableFooterProps } from './display/TableFooter';
|
|
5
|
+
import { TableHeaderProps } from './display/TableHeader';
|
|
7
6
|
export interface DefaultTableProps {
|
|
8
7
|
showFooter?: boolean;
|
|
9
|
-
|
|
10
|
-
tableProps?: Omit<TableProps, "children">;
|
|
11
|
-
tHeadProps?: ChakraHeaderProps;
|
|
12
|
-
controlProps?: TableControlsProps;
|
|
13
|
-
tableFooterProps?: TableFooterProps;
|
|
14
|
-
tableBodyProps?: TableBodyProps;
|
|
8
|
+
tableProps?: Omit<TableProps, 'children'>;
|
|
15
9
|
tableHeaderProps?: TableHeaderProps;
|
|
16
|
-
|
|
10
|
+
tableBodyProps?: TableBodyProps;
|
|
11
|
+
tableFooterProps?: TableFooterProps;
|
|
12
|
+
controlProps?: TableControlsProps;
|
|
13
|
+
variant?: '' | 'greedy';
|
|
14
|
+
isLoading?: boolean;
|
|
17
15
|
}
|
|
18
|
-
export declare const DefaultTable: ({ showFooter, tableProps, tableHeaderProps, tableBodyProps,
|
|
16
|
+
export declare const DefaultTable: ({ showFooter, tableProps, tableHeaderProps, tableBodyProps, tableFooterProps, controlProps, variant, isLoading, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DefaultTableProps } from './DefaultTable';
|
|
2
|
+
export interface DefaultTableServerProps extends DefaultTableProps {
|
|
3
|
+
/**
|
|
4
|
+
* Optional isLoading prop to override auto-detected loading state.
|
|
5
|
+
* If not provided, will automatically detect from DataTableServerContext.
|
|
6
|
+
*/
|
|
7
|
+
isLoading?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* DefaultTableServer is a wrapper around DefaultTable that automatically
|
|
11
|
+
* detects server-side loading state from DataTableServerContext.
|
|
12
|
+
*
|
|
13
|
+
* Use this component when working with DataTableServer to automatically
|
|
14
|
+
* show skeleton loading state during data fetching.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <DataTableServer columns={columns} {...datatableServer}>
|
|
19
|
+
* <DefaultTableServer />
|
|
20
|
+
* </DataTableServer>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const DefaultTableServer: ({ isLoading: isLoadingOverride, ...props }: DefaultTableServerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,11 +2,29 @@
|
|
|
2
2
|
import { OnChangeFn, Table } from "@tanstack/react-table";
|
|
3
3
|
import { UseTranslationResponse } from "react-i18next";
|
|
4
4
|
import { DataTableProps } from "../DataTable";
|
|
5
|
-
export interface
|
|
5
|
+
export interface DataTableLabel {
|
|
6
|
+
view: string;
|
|
7
|
+
edit: string;
|
|
8
|
+
filterButtonText: string;
|
|
9
|
+
filterTitle: string;
|
|
10
|
+
filterReset: string;
|
|
11
|
+
filterClose: string;
|
|
12
|
+
reloadTooltip: string;
|
|
13
|
+
reloadButtonText: string;
|
|
14
|
+
resetSelection: string;
|
|
15
|
+
resetSorting: string;
|
|
16
|
+
rowCountText: string;
|
|
17
|
+
hasErrorText: string;
|
|
18
|
+
globalFilterPlaceholder: string;
|
|
19
|
+
trueLabel: string;
|
|
20
|
+
falseLabel: string;
|
|
21
|
+
}
|
|
22
|
+
export interface DataTableContextProps<TData = unknown> extends DataTableProps {
|
|
6
23
|
table: Table<TData>;
|
|
7
24
|
globalFilter: string;
|
|
8
25
|
setGlobalFilter: OnChangeFn<string>;
|
|
9
26
|
type: "client" | "server";
|
|
10
|
-
translate: UseTranslationResponse<any,
|
|
27
|
+
translate: UseTranslationResponse<any, unknown>;
|
|
28
|
+
tableLabel: DataTableLabel;
|
|
11
29
|
}
|
|
12
|
-
export declare const DataTableContext: import("react").Context<
|
|
30
|
+
export declare const DataTableContext: import("react").Context<DataTableContextProps<unknown>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useDataTableContext: <TData>() =>
|
|
1
|
+
import { DataTableContextProps } from "./DataTableContext";
|
|
2
|
+
export declare const useDataTableContext: <TData>() => DataTableContextProps<TData>;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export interface ReloadButtonProps {
|
|
2
|
-
text?: string;
|
|
3
2
|
variant?: string;
|
|
4
3
|
}
|
|
5
|
-
export declare const ReloadButton: ({
|
|
4
|
+
export declare const ReloadButton: ({ variant, }: ReloadButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
text?: string;
|
|
3
|
-
}
|
|
4
|
-
export declare const ResetFilteringButton: ({ text, }: ResetFilteringButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare const ResetFilteringButton: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
text?: string;
|
|
3
|
-
}
|
|
4
|
-
export declare const ResetSelectionButton: ({ text, }: ResetSelectionButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare const ResetSelectionButton: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
text?: string;
|
|
3
|
-
}
|
|
4
|
-
export declare const ResetSortingButton: ({ text, }: ResetSortingButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare const ResetSortingButton: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GridProps } from "@chakra-ui/react";
|
|
1
2
|
import { ReactNode } from "react";
|
|
2
3
|
export interface TableControlsProps {
|
|
3
4
|
totalText?: string;
|
|
@@ -13,9 +14,16 @@ export interface TableControlsProps {
|
|
|
13
14
|
showPageSizeControl?: boolean;
|
|
14
15
|
showPageCountText?: boolean;
|
|
15
16
|
showView?: boolean;
|
|
16
|
-
|
|
17
|
+
filterTagsOptions?: {
|
|
18
|
+
column: string;
|
|
19
|
+
options: {
|
|
20
|
+
label: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}[];
|
|
23
|
+
}[];
|
|
17
24
|
extraItems?: ReactNode;
|
|
18
25
|
loading?: boolean;
|
|
19
26
|
hasError?: boolean;
|
|
27
|
+
gridProps?: GridProps;
|
|
20
28
|
}
|
|
21
|
-
export declare const TableControls: ({ fitTableWidth, fitTableHeight, children, showGlobalFilter, showFilter, showFilterName, showFilterTags, showReload, showPagination, showPageSizeControl, showPageCountText, showView,
|
|
29
|
+
export declare const TableControls: ({ fitTableWidth, fitTableHeight, children, showGlobalFilter, showFilter, showFilterName, showFilterTags, showReload, showPagination, showPageSizeControl, showPageCountText, showView, filterTagsOptions, extraItems, loading, hasError, gridProps, }: TableControlsProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { TableRootProps } from
|
|
2
|
-
import { ReactNode } from
|
|
1
|
+
import { TableRootProps } from '@chakra-ui/react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
3
|
export interface TableProps extends TableRootProps {
|
|
4
4
|
showLoading?: boolean;
|
|
5
5
|
loadingComponent?: ReactNode;
|
|
6
6
|
emptyComponent?: ReactNode;
|
|
7
7
|
canResize?: boolean;
|
|
8
|
+
showSelector?: boolean;
|
|
8
9
|
children: ReactNode;
|
|
9
10
|
}
|
|
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;
|
|
11
|
+
export declare const Table: ({ children, emptyComponent, canResize, showLoading, showSelector, ...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;
|
|
@@ -16,6 +16,5 @@ export interface TableRowSelectorProps<TData> {
|
|
|
16
16
|
light: string;
|
|
17
17
|
dark: string;
|
|
18
18
|
};
|
|
19
|
-
alwaysShowSelector?: boolean;
|
|
20
19
|
}
|
|
21
|
-
export declare const TableBody: ({
|
|
20
|
+
export declare const TableBody: ({ showSelector, canResize, }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BoxProps, FlexProps } from "@chakra-ui/react";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
export interface TableCardContainerProps extends
|
|
3
|
+
export interface TableCardContainerProps extends BoxProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
variant?: "carousel" | "";
|
|
6
|
+
gap?: string;
|
|
7
|
+
gridTemplateColumns?: string;
|
|
8
|
+
direction?: FlexProps["direction"];
|
|
6
9
|
}
|
|
7
|
-
export declare const TableCardContainer: ({ children, variant, ...props }: TableCardContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare const TableCardContainer: ({ children, variant, gap, gridTemplateColumns, direction, ...props }: TableCardContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export interface TableDataDisplayProps {
|
|
3
|
+
colorPalette?: string;
|
|
4
|
+
emptyComponent?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare const TableDataDisplay: ({ colorPalette, emptyComponent, }: TableDataDisplayProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export interface TableFooterProps {
|
|
2
|
-
pinnedBgColor?: {
|
|
3
|
-
light: string;
|
|
4
|
-
dark: string;
|
|
5
|
-
};
|
|
6
2
|
showSelector?: boolean;
|
|
7
3
|
alwaysShowSelector?: boolean;
|
|
8
4
|
}
|
|
9
|
-
export declare const TableFooter: ({
|
|
5
|
+
export declare const TableFooter: ({ showSelector, alwaysShowSelector, }: TableFooterProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,13 +1,51 @@
|
|
|
1
|
-
import { TableHeaderProps as ChakraTableHeaderProps } from "@chakra-ui/react";
|
|
1
|
+
import { TableHeaderProps as ChakraTableHeaderProps, TableRowProps } from "@chakra-ui/react";
|
|
2
|
+
export interface TableHeaderTexts {
|
|
3
|
+
pinColumn?: string;
|
|
4
|
+
cancelPin?: string;
|
|
5
|
+
sortAscending?: string;
|
|
6
|
+
sortDescending?: string;
|
|
7
|
+
clearSorting?: string;
|
|
8
|
+
}
|
|
2
9
|
export interface TableHeaderProps {
|
|
3
10
|
canResize?: boolean;
|
|
4
|
-
pinnedBgColor?: {
|
|
5
|
-
light: string;
|
|
6
|
-
dark: string;
|
|
7
|
-
};
|
|
8
11
|
showSelector?: boolean;
|
|
9
12
|
isSticky?: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
tableHeaderProps?: ChakraTableHeaderProps;
|
|
14
|
+
tableRowProps?: TableRowProps;
|
|
15
|
+
/**
|
|
16
|
+
* Default text configuration for all columns.
|
|
17
|
+
* Can be overridden per column via meta.headerTexts.
|
|
18
|
+
*/
|
|
19
|
+
defaultTexts?: TableHeaderTexts;
|
|
12
20
|
}
|
|
13
|
-
|
|
21
|
+
/**
|
|
22
|
+
* TableHeader component with configurable text strings.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // Using default texts
|
|
26
|
+
* <TableHeader />
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* // Customizing default texts for all columns
|
|
30
|
+
* <TableHeader
|
|
31
|
+
* defaultTexts={{
|
|
32
|
+
* pinColumn: "Pin This Column",
|
|
33
|
+
* sortAscending: "Sort A-Z"
|
|
34
|
+
* }}
|
|
35
|
+
* />
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // Customizing texts per column via meta
|
|
39
|
+
* const columns = [
|
|
40
|
+
* columnHelper.accessor("name", {
|
|
41
|
+
* header: "Name",
|
|
42
|
+
* meta: {
|
|
43
|
+
* headerTexts: {
|
|
44
|
+
* pinColumn: "Pin Name Column",
|
|
45
|
+
* sortAscending: "Sort Names A-Z"
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
* })
|
|
49
|
+
* ];
|
|
50
|
+
*/
|
|
51
|
+
export declare const TableHeader: ({ canResize, showSelector, isSticky, tableHeaderProps, tableRowProps, defaultTexts, }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
interface UseResponsiveColumnVisibilityOptions {
|
|
3
|
+
containerRef: RefObject<HTMLElement>;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
showSelector?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Hook to automatically hide/show columns based on container width.
|
|
9
|
+
* Columns are hidden based on their responsivePriority (lower = hide first).
|
|
10
|
+
* Only activates when canResize={false}.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useResponsiveColumnVisibility: ({ containerRef, enabled, showSelector, }: UseResponsiveColumnVisibilityOptions) => void;
|
|
13
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UseQueryResult } from "@tanstack/react-query";
|
|
2
|
+
import { ColumnFiltersState, SortingState } from "@tanstack/react-table";
|
|
2
3
|
import { UseDataTableProps, UseDataTableReturn } from "./useDataTable";
|
|
3
|
-
export interface UseDataTableServerProps extends UseDataTableProps {
|
|
4
|
+
export interface UseDataTableServerProps<TData> extends UseDataTableProps {
|
|
4
5
|
/**
|
|
5
6
|
* Delay to send the request if the `refreshData` called multiple times
|
|
6
7
|
*
|
|
@@ -13,7 +14,51 @@ export interface UseDataTableServerProps extends UseDataTableProps {
|
|
|
13
14
|
* default: `1000`
|
|
14
15
|
*/
|
|
15
16
|
debounceDelay?: number;
|
|
16
|
-
|
|
17
|
+
/**
|
|
18
|
+
* The url to fetch the data from.
|
|
19
|
+
*
|
|
20
|
+
* Remark:
|
|
21
|
+
* it is the server responsibility to handle the params and return the data.
|
|
22
|
+
* especially the pagination and sorting.
|
|
23
|
+
*
|
|
24
|
+
* The response must be like this:
|
|
25
|
+
* ```ts
|
|
26
|
+
* {
|
|
27
|
+
* data: TData[],
|
|
28
|
+
* count: number,
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Example:
|
|
33
|
+
* ```ts
|
|
34
|
+
* const url = "https://jsonplaceholder.typicode.com/posts";
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* If not provided, the `queryFn` will be used.
|
|
38
|
+
*
|
|
39
|
+
* @default undefined
|
|
40
|
+
*/
|
|
41
|
+
url?: string;
|
|
42
|
+
placeholderData?: DataResponse<TData>;
|
|
43
|
+
/**
|
|
44
|
+
* The query function to fetch the data from.
|
|
45
|
+
*
|
|
46
|
+
* Remark:
|
|
47
|
+
* it is the server responsibility to handle the params and return the data.
|
|
48
|
+
* especially the pagination and sorting.
|
|
49
|
+
*
|
|
50
|
+
* Example:
|
|
51
|
+
* ```ts
|
|
52
|
+
* const queryFn = (params: QueryParams) => {
|
|
53
|
+
* return axios.get<DataResponse<TData>>(url, { params });
|
|
54
|
+
* };
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* If not provided, the `url` will be used.
|
|
58
|
+
*
|
|
59
|
+
* @default undefined
|
|
60
|
+
*/
|
|
61
|
+
queryFn?: (params: QueryParams) => Promise<DataResponse<TData>>;
|
|
17
62
|
}
|
|
18
63
|
export interface UseDataTableServerReturn<TData> extends UseDataTableReturn {
|
|
19
64
|
query: UseQueryResult<DataResponse<TData>, Error>;
|
|
@@ -24,4 +69,11 @@ export interface Result<T = unknown> {
|
|
|
24
69
|
export interface DataResponse<T = unknown> extends Result<T> {
|
|
25
70
|
count: number;
|
|
26
71
|
}
|
|
27
|
-
export
|
|
72
|
+
export interface QueryParams {
|
|
73
|
+
offset: number;
|
|
74
|
+
limit: number;
|
|
75
|
+
sorting: SortingState;
|
|
76
|
+
where: ColumnFiltersState;
|
|
77
|
+
searching: string;
|
|
78
|
+
}
|
|
79
|
+
export declare const useDataTableServer: <TData>(props: UseDataTableServerProps<TData>) => UseDataTableServerReturn<TData>;
|
|
@@ -14,6 +14,29 @@ export interface GetVariantProps {
|
|
|
14
14
|
selectable: boolean;
|
|
15
15
|
}
|
|
16
16
|
export interface DatePickerProps extends Props {
|
|
17
|
+
onDateSelected?: (obj: {
|
|
18
|
+
date: Date;
|
|
19
|
+
}) => void;
|
|
20
|
+
selected: Date | Date[];
|
|
21
|
+
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
22
|
+
showOutsideDays?: boolean;
|
|
23
|
+
date?: Date;
|
|
24
|
+
minDate?: Date;
|
|
25
|
+
maxDate?: Date;
|
|
26
|
+
monthsToDisplay?: number;
|
|
27
|
+
labels?: {
|
|
28
|
+
monthNamesShort: string[];
|
|
29
|
+
weekdayNamesShort: string[];
|
|
30
|
+
backButtonLabel?: string;
|
|
31
|
+
forwardButtonLabel?: string;
|
|
32
|
+
};
|
|
33
|
+
render?: (dayzedData: any) => React.ReactNode;
|
|
34
|
+
}
|
|
35
|
+
export interface DatePickerLabels {
|
|
36
|
+
monthNamesShort: string[];
|
|
37
|
+
weekdayNamesShort: string[];
|
|
38
|
+
backButtonLabel?: string;
|
|
39
|
+
forwardButtonLabel?: string;
|
|
17
40
|
}
|
|
18
41
|
declare class DatePicker extends React.Component<DatePickerProps> {
|
|
19
42
|
render(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DatePickerLabels } from "./DatePicker";
|
|
2
|
+
interface DateTimePickerProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (date?: string) => void;
|
|
5
|
+
format?: "date-time" | "iso-date-time";
|
|
6
|
+
showSeconds?: boolean;
|
|
7
|
+
labels?: DatePickerLabels;
|
|
8
|
+
timezone?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function DateTimePicker({ value, onChange, format, showSeconds, labels, timezone, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface DurationPickerProps {
|
|
2
|
+
value?: string | null;
|
|
3
|
+
onChange?: (duration: string | null) => void;
|
|
4
|
+
showYears?: boolean;
|
|
5
|
+
showMonths?: boolean;
|
|
6
|
+
showDays?: boolean;
|
|
7
|
+
showHours?: boolean;
|
|
8
|
+
showMinutes?: boolean;
|
|
9
|
+
showSeconds?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function DurationPicker({ value, onChange, showYears, showMonths, showDays, showHours, showMinutes, showSeconds, }: DurationPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from "react";
|
|
2
|
+
interface IsoTimePickerProps {
|
|
3
|
+
hour: number | null;
|
|
4
|
+
setHour: Dispatch<SetStateAction<number | null>>;
|
|
5
|
+
minute: number | null;
|
|
6
|
+
setMinute: Dispatch<SetStateAction<number | null>>;
|
|
7
|
+
second: number | null;
|
|
8
|
+
setSecond: Dispatch<SetStateAction<number | null>>;
|
|
9
|
+
onChange?: (newValue: {
|
|
10
|
+
hour: number | null;
|
|
11
|
+
minute: number | null;
|
|
12
|
+
second: number | null;
|
|
13
|
+
}) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function IsoTimePicker({ hour, setHour, minute, setMinute, second, setSecond, onChange, }: IsoTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function PickerDemo(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type FormatType = "date" | "time" | "date-time" | "iso-time" | "iso-date-time" | "duration";
|
|
2
|
+
interface UniversalPickerProps {
|
|
3
|
+
format: FormatType;
|
|
4
|
+
value?: string | null;
|
|
5
|
+
onChange?: (value: string | null) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function UniversalPicker({ format, value, onChange, placeholder, }: UniversalPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as DatePicker } from './DatePicker';
|
|
2
|
+
export { TimePicker } from '../TimePicker/TimePicker';
|
|
3
|
+
export { IsoTimePicker } from './IsoTimePicker';
|
|
4
|
+
export { DateTimePicker } from './DateTimePicker';
|
|
5
|
+
export { DurationPicker } from './DurationPicker';
|
|
6
|
+
export { UniversalPicker } from './UniversalPicker';
|
|
7
|
+
export type { DatePickerProps, CalendarProps, GetDateColorProps, GetVariantProps } from './DatePicker';
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface TagFilterProps {
|
|
3
|
-
availableTags:
|
|
3
|
+
availableTags: {
|
|
4
|
+
label?: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}[];
|
|
4
7
|
selectedTags: string[];
|
|
8
|
+
selectOne?: boolean;
|
|
5
9
|
onTagChange: (tags: string[]) => void;
|
|
6
10
|
}
|
|
7
11
|
export declare const TagFilter: React.FC<TagFilterProps>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from
|
|
2
|
-
import { JSONSchema7 } from
|
|
3
|
-
import { Dispatch, SetStateAction } from
|
|
4
|
-
import { FieldValues } from
|
|
5
|
-
import { UseTranslationResponse } from
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { JSONSchema7 } from 'json-schema';
|
|
3
|
+
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
|
4
|
+
import { FieldValues, Resolver } from 'react-hook-form';
|
|
5
|
+
import { UseTranslationResponse } from 'react-i18next';
|
|
6
|
+
import { DateTimePickerLabels, IdPickerLabels, EnumPickerLabels, FilePickerLabels } from './components/types/CustomJSONSchema7';
|
|
6
7
|
export interface SchemaFormContext<TData extends FieldValues> {
|
|
7
8
|
schema: JSONSchema7;
|
|
8
9
|
serverUrl: string;
|
|
@@ -14,7 +15,7 @@ export interface SchemaFormContext<TData extends FieldValues> {
|
|
|
14
15
|
rowNumber?: number | string;
|
|
15
16
|
idMap: Record<string, object>;
|
|
16
17
|
setIdMap: Dispatch<SetStateAction<Record<string, object>>>;
|
|
17
|
-
translate: UseTranslationResponse<
|
|
18
|
+
translate: UseTranslationResponse<string, string>;
|
|
18
19
|
requestOptions: AxiosRequestConfig;
|
|
19
20
|
isSuccess: boolean;
|
|
20
21
|
setIsSuccess: Dispatch<SetStateAction<boolean>>;
|
|
@@ -29,5 +30,20 @@ export interface SchemaFormContext<TData extends FieldValues> {
|
|
|
29
30
|
error: unknown;
|
|
30
31
|
setError: Dispatch<SetStateAction<unknown>>;
|
|
31
32
|
getUpdatedData: () => TData | Promise<TData>;
|
|
33
|
+
customErrorRenderer?: (error: unknown) => ReactNode;
|
|
34
|
+
customSuccessRenderer?: (resetHandler: () => void | Promise<void>) => ReactNode;
|
|
35
|
+
timezone?: string;
|
|
36
|
+
displayConfig: {
|
|
37
|
+
showSubmitButton?: boolean;
|
|
38
|
+
showResetButton?: boolean;
|
|
39
|
+
showTitle?: boolean;
|
|
40
|
+
};
|
|
41
|
+
requireConfirmation: boolean;
|
|
42
|
+
onFormSubmit: (data: TData) => Promise<void>;
|
|
43
|
+
dateTimePickerLabels?: DateTimePickerLabels;
|
|
44
|
+
idPickerLabels?: IdPickerLabels;
|
|
45
|
+
enumPickerLabels?: EnumPickerLabels;
|
|
46
|
+
filePickerLabels?: FilePickerLabels;
|
|
47
|
+
ajvResolver: Resolver<FieldValues>;
|
|
32
48
|
}
|
|
33
49
|
export declare const SchemaFormContext: import("react").Context<SchemaFormContext<unknown>>;
|
|
@@ -2,5 +2,6 @@ import { FormRootProps } from "./FormRoot";
|
|
|
2
2
|
import { FieldValues } from "react-hook-form";
|
|
3
3
|
export interface DefaultFormProps<TData extends FieldValues> {
|
|
4
4
|
formConfig: Omit<FormRootProps<TData>, "children">;
|
|
5
|
+
showTitle?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export declare const DefaultForm: <TData extends FieldValues>({ formConfig, }: DefaultFormProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const FormBody: <TData extends object>() => string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|