@bsol-oss/react-datatable5 5.0.1 → 6.0.1
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 +124 -26
- package/dist/index.js +1090 -93
- package/dist/index.mjs +1090 -99
- package/dist/types/components/Controls/TablePagination.d.ts +1 -0
- package/dist/types/components/DataTable/CardHeader.d.ts +13 -0
- package/dist/types/components/DataTable/DataDisplay.d.ts +4 -0
- package/dist/types/components/DataTable/DataTable.d.ts +1 -1
- package/dist/types/components/DataTable/DataTableContext.d.ts +2 -1
- package/dist/types/components/DataTable/DataTableServer.d.ts +1 -1
- package/dist/types/components/DataTable/Table.d.ts +1 -1
- package/dist/types/components/DataTable/TableCardContainer.d.ts +2 -1
- package/dist/types/components/DataTable/TableCards.d.ts +1 -1
- package/dist/types/components/DataTable/useDataFromUrl.d.ts +5 -4
- package/dist/types/components/DataTable/useDataTableContext.d.ts +1 -1
- package/dist/types/components/DataTable/useDataTableServer.d.ts +1 -2
- package/dist/types/components/DataTable/utils/getColumns.d.ts +13 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +21 -0
- package/dist/types/components/DatePicker/RangeDatePicker.d.ts +18 -0
- package/dist/types/components/DatePicker/getMultiDates.d.ts +7 -0
- package/dist/types/components/DatePicker/getRangeDates.d.ts +6 -0
- package/dist/types/components/Form/Form.d.ts +33 -0
- package/dist/types/components/Form/SchemaFormContext.d.ts +15 -0
- package/dist/types/components/Form/components/BooleanPicker.d.ts +4 -0
- package/dist/types/components/Form/components/DatePicker.d.ts +4 -0
- package/dist/types/components/Form/components/IdPicker.d.ts +7 -0
- package/dist/types/components/Form/components/IdViewer.d.ts +8 -0
- package/dist/types/components/Form/components/NumberInputField.d.ts +4 -0
- package/dist/types/components/Form/components/ObjectInput.d.ts +4 -0
- package/dist/types/components/Form/components/StringInputField.d.ts +10 -0
- package/dist/types/components/Form/useSchemaContext.d.ts +10 -0
- package/dist/types/components/Form/utils/clearEmptyString.d.ts +3 -0
- package/dist/types/components/Form/utils/getTableData.d.ts +12 -0
- package/dist/types/components/Form/utils/idListSanityCheck.d.ts +1 -0
- package/dist/types/components/Form/utils/snakeToLabel.d.ts +1 -0
- package/dist/types/components/ui/accordion.d.ts +12 -0
- package/dist/types/components/ui/checkbox-card.d.ts +13 -0
- package/dist/types/components/ui/data-list.d.ts +11 -0
- package/dist/types/components/ui/link-button.d.ts +5 -0
- package/dist/types/components/ui/number-input.d.ts +8 -0
- package/dist/types/components/ui/pagination.d.ts +20 -0
- package/dist/types/components/ui/radio-card.d.ts +16 -0
- package/dist/types/components/ui/toggle-tip.d.ts +10 -0
- package/dist/types/index.d.ts +9 -2
- package/package.json +8 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { RowData, OnChangeFn, Updater, FilterFn, ColumnDef, RowSelectionState, ColumnOrderState, ColumnFiltersState, PaginationState, SortingState, VisibilityState,
|
|
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 } from 'react';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
-
import {
|
|
6
|
+
import { ImageProps, TableHeaderProps as TableHeaderProps$1, TableRootProps, GridProps, CardBodyProps, TextProps } from '@chakra-ui/react';
|
|
7
7
|
import { IconType } from 'react-icons';
|
|
8
|
-
import {
|
|
8
|
+
import { RankingInfo } from '@tanstack/match-sorter-utils';
|
|
9
9
|
import * as _tanstack_table_core from '@tanstack/table-core';
|
|
10
|
+
import { JSONSchema7 } from 'json-schema';
|
|
11
|
+
import { FieldValues, SubmitHandler } from 'react-hook-form';
|
|
12
|
+
import { RenderProps, Props } from 'dayzed';
|
|
10
13
|
|
|
11
14
|
interface DensityToggleButtonProps {
|
|
12
15
|
icon?: React__default.ReactElement;
|
|
@@ -66,6 +69,22 @@ declare const ResetSortingButton: ({ text, }: ResetSortingButtonProps) => react_
|
|
|
66
69
|
|
|
67
70
|
declare const RowCountText: () => react_jsx_runtime.JSX.Element;
|
|
68
71
|
|
|
72
|
+
interface CardHeaderProps<TData> {
|
|
73
|
+
row: Row<TData>;
|
|
74
|
+
imageColumnId?: keyof TData;
|
|
75
|
+
titleColumnId?: keyof TData;
|
|
76
|
+
tagColumnId?: keyof TData;
|
|
77
|
+
tagIcon?: IconType;
|
|
78
|
+
showTag?: boolean;
|
|
79
|
+
imageProps?: ImageProps;
|
|
80
|
+
}
|
|
81
|
+
declare const CardHeader: <TData>({ row, imageColumnId, titleColumnId, tagColumnId, tagIcon, showTag, imageProps, }: CardHeaderProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
interface DataDisplayProps {
|
|
84
|
+
variant?: "horizontal" | "stats" | "";
|
|
85
|
+
}
|
|
86
|
+
declare const DataDisplay: ({ variant }: DataDisplayProps) => react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
69
88
|
type DensityState = "sm" | "md" | "lg";
|
|
70
89
|
interface DensityTableState {
|
|
71
90
|
density: DensityState;
|
|
@@ -99,7 +118,7 @@ declare module "@tanstack/react-table" {
|
|
|
99
118
|
interface DataTableProps<TData> {
|
|
100
119
|
children?: ReactNode | ReactNode[];
|
|
101
120
|
data: TData[];
|
|
102
|
-
columns: ColumnDef<TData,
|
|
121
|
+
columns: ColumnDef<TData, unknown>[];
|
|
103
122
|
enableRowSelection?: boolean;
|
|
104
123
|
enableMultiRowSelection?: boolean;
|
|
105
124
|
enableSubRowSelection?: boolean;
|
|
@@ -123,6 +142,10 @@ interface DataTableProps<TData> {
|
|
|
123
142
|
}
|
|
124
143
|
declare const DataTable: <TData>({ columns, data, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, onRowSelect, columnOrder, columnFilters, columnVisibility, density, globalFilter, pagination, sorting, rowSelection, setPagination, setSorting, setColumnFilters, setRowSelection, setGlobalFilter, setColumnOrder, setDensity, setColumnVisibility, children, }: DataTableProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
125
144
|
|
|
145
|
+
interface RefreshDataConfig {
|
|
146
|
+
debounce?: boolean;
|
|
147
|
+
delay?: number;
|
|
148
|
+
}
|
|
126
149
|
interface UseDataFromUrlReturn<T> {
|
|
127
150
|
data: T;
|
|
128
151
|
loading: boolean;
|
|
@@ -130,10 +153,7 @@ interface UseDataFromUrlReturn<T> {
|
|
|
130
153
|
/**
|
|
131
154
|
* Delays sending the request when the `refreshData` function is called multiple times within a short period.
|
|
132
155
|
*/
|
|
133
|
-
refreshData: (config?:
|
|
134
|
-
debounce?: boolean;
|
|
135
|
-
delay?: number;
|
|
136
|
-
}) => void;
|
|
156
|
+
refreshData: (config?: RefreshDataConfig) => void;
|
|
137
157
|
}
|
|
138
158
|
interface UseDataFromUrlProps<T> {
|
|
139
159
|
url: string;
|
|
@@ -196,17 +216,16 @@ interface UseDataTableServerProps<TData> extends Omit<UseDataFromUrlProps<DataRe
|
|
|
196
216
|
interface UseDataTableServerReturn<TData> extends UseDataFromUrlReturn<DataResponse<TData>>, UseDataTableReturn {
|
|
197
217
|
}
|
|
198
218
|
interface Result<T> {
|
|
199
|
-
|
|
219
|
+
data: T[];
|
|
200
220
|
}
|
|
201
221
|
interface DataResponse<T> extends Result<T> {
|
|
202
|
-
success: boolean;
|
|
203
222
|
count: number;
|
|
204
223
|
}
|
|
205
224
|
declare const useDataTableServer: <TData>({ url, onFetchSuccess, default: { sorting: defaultSorting, pagination: defaultPagination, rowSelection: defaultRowSelection, columnFilters: defaultColumnFilters, columnOrder: defaultColumnOrder, columnVisibility: defaultColumnVisibility, globalFilter: defaultGlobalFilter, density: defaultDensity, }, debounce, debounceDelay, }: UseDataTableServerProps<TData>) => UseDataTableServerReturn<TData>;
|
|
206
225
|
|
|
207
226
|
interface DataTableServerProps<TData> extends UseDataFromUrlReturn<DataResponse<TData>> {
|
|
208
227
|
children: ReactNode | ReactNode[];
|
|
209
|
-
columns: ColumnDef<TData
|
|
228
|
+
columns: ColumnDef<TData>[];
|
|
210
229
|
enableRowSelection?: boolean;
|
|
211
230
|
enableMultiRowSelection?: boolean;
|
|
212
231
|
enableSubRowSelection?: boolean;
|
|
@@ -230,16 +249,6 @@ interface DataTableServerProps<TData> extends UseDataFromUrlReturn<DataResponse<
|
|
|
230
249
|
}
|
|
231
250
|
declare const DataTableServer: <TData>({ columns, enableRowSelection, enableMultiRowSelection, enableSubRowSelection, onRowSelect, columnOrder, columnFilters, columnVisibility, density, globalFilter, pagination, sorting, rowSelection, setPagination, setSorting, setColumnFilters, setRowSelection, setGlobalFilter, setColumnOrder, setDensity, setColumnVisibility, data, loading, hasError, refreshData, children, }: DataTableServerProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
232
251
|
|
|
233
|
-
interface DefaultCardProps<TData> {
|
|
234
|
-
row: Row<TData>;
|
|
235
|
-
imageColumnId?: keyof TData;
|
|
236
|
-
titleColumnId?: keyof TData;
|
|
237
|
-
tagColumnId?: keyof TData;
|
|
238
|
-
tagIcon?: IconType;
|
|
239
|
-
showTag?: boolean;
|
|
240
|
-
}
|
|
241
|
-
declare const DefaultCard: <TData>({ row, imageColumnId, titleColumnId, tagColumnId, tagIcon, showTag, }: DefaultCardProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
242
|
-
|
|
243
252
|
interface TableControlsProps {
|
|
244
253
|
totalText?: string;
|
|
245
254
|
showFilter?: boolean;
|
|
@@ -275,7 +284,7 @@ interface TableProps extends TableRootProps {
|
|
|
275
284
|
emptyComponent?: ReactNode;
|
|
276
285
|
children: ReactNode;
|
|
277
286
|
}
|
|
278
|
-
declare const Table: ({ children, emptyComponent, ...props }: TableProps) => string | number | bigint | boolean |
|
|
287
|
+
declare const Table: ({ children, emptyComponent, ...props }: TableProps) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null;
|
|
279
288
|
|
|
280
289
|
interface TableBodyProps {
|
|
281
290
|
pinnedBgColor?: {
|
|
@@ -299,8 +308,9 @@ declare const TableBody: ({ pinnedBgColor, showSelector, alwaysShowSelector, }:
|
|
|
299
308
|
|
|
300
309
|
interface TableCardContainerProps extends GridProps {
|
|
301
310
|
children: ReactNode;
|
|
311
|
+
variant?: "carousel" | "";
|
|
302
312
|
}
|
|
303
|
-
declare const TableCardContainer: ({ children, ...props }: TableCardContainerProps) => react_jsx_runtime.JSX.Element;
|
|
313
|
+
declare const TableCardContainer: ({ children, variant, ...props }: TableCardContainerProps) => react_jsx_runtime.JSX.Element;
|
|
304
314
|
|
|
305
315
|
interface TableCardsProps<TData> {
|
|
306
316
|
isSelectable?: boolean;
|
|
@@ -309,7 +319,7 @@ interface TableCardsProps<TData> {
|
|
|
309
319
|
cardBodyProps?: CardBodyProps;
|
|
310
320
|
}
|
|
311
321
|
declare const DefaultCardTitle: () => react_jsx_runtime.JSX.Element;
|
|
312
|
-
declare const TableCards: <TData>({ isSelectable, showDisplayNameOnly, renderTitle, cardBodyProps }: TableCardsProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
322
|
+
declare const TableCards: <TData>({ isSelectable, showDisplayNameOnly, renderTitle, cardBodyProps, }: TableCardsProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
313
323
|
|
|
314
324
|
interface TableRendererProps<TData> {
|
|
315
325
|
render: (render: Table$1<TData>) => React__default.ReactElement;
|
|
@@ -368,7 +378,7 @@ declare const TextCell: ({ label, padding, children, ...props }: TextCellProps)
|
|
|
368
378
|
|
|
369
379
|
declare const useDataTableContext: () => {
|
|
370
380
|
table: _tanstack_table_core.Table<any>;
|
|
371
|
-
refreshData: () => void;
|
|
381
|
+
refreshData: (config?: RefreshDataConfig | undefined) => void;
|
|
372
382
|
globalFilter: string;
|
|
373
383
|
setGlobalFilter: _tanstack_table_core.OnChangeFn<string>;
|
|
374
384
|
loading: boolean;
|
|
@@ -382,6 +392,94 @@ declare const FilterOptions: ({ column }: FilterOptionsProps) => react_jsx_runti
|
|
|
382
392
|
|
|
383
393
|
declare const GlobalFilter: () => react_jsx_runtime.JSX.Element;
|
|
384
394
|
|
|
395
|
+
interface GetColumnsConfigs<K extends RowData> {
|
|
396
|
+
schema: JSONSchema7;
|
|
397
|
+
ignore?: K[];
|
|
398
|
+
width?: number[];
|
|
399
|
+
meta?: {
|
|
400
|
+
[key in K as string]?: object;
|
|
401
|
+
};
|
|
402
|
+
defaultWidth?: number;
|
|
403
|
+
}
|
|
404
|
+
declare const widthSanityCheck: <K extends unknown>(widthList: number[], ignoreList: K[], properties: { [key in K as string]?: object | undefined; }) => void;
|
|
405
|
+
declare const getColumns: <TData extends unknown>({ schema, ignore, width, meta, defaultWidth, }: GetColumnsConfigs<TData>) => ColumnDef<TData>[];
|
|
406
|
+
|
|
407
|
+
interface DisplayTextProps {
|
|
408
|
+
title?: string;
|
|
409
|
+
addNew?: string;
|
|
410
|
+
submit?: string;
|
|
411
|
+
confirm?: string;
|
|
412
|
+
save?: string;
|
|
413
|
+
empty?: string;
|
|
414
|
+
cancel?: string;
|
|
415
|
+
submitSuccess?: string;
|
|
416
|
+
submitAgain?: string;
|
|
417
|
+
fieldRequired?: string;
|
|
418
|
+
}
|
|
419
|
+
interface FormProps<TData extends FieldValues> {
|
|
420
|
+
schema: JSONSchema7;
|
|
421
|
+
serverUrl: string;
|
|
422
|
+
order?: string[];
|
|
423
|
+
ignore?: string[];
|
|
424
|
+
onSubmit?: SubmitHandler<TData>;
|
|
425
|
+
preLoadedValues?: object;
|
|
426
|
+
rowNumber?: number | string;
|
|
427
|
+
displayText?: DisplayTextProps;
|
|
428
|
+
}
|
|
429
|
+
interface CustomJSONSchema7Definition extends JSONSchema7 {
|
|
430
|
+
variant: string;
|
|
431
|
+
in_table: string;
|
|
432
|
+
column_ref: string;
|
|
433
|
+
display_column: string;
|
|
434
|
+
gridColumn: string;
|
|
435
|
+
gridRow: string;
|
|
436
|
+
}
|
|
437
|
+
declare const Form: <TData extends FieldValues>({ schema, serverUrl, order, ignore, onSubmit, preLoadedValues, rowNumber, displayText, }: FormProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
438
|
+
|
|
439
|
+
interface CalendarProps extends RenderProps {
|
|
440
|
+
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
441
|
+
}
|
|
442
|
+
interface GetDateColorProps {
|
|
443
|
+
today: boolean;
|
|
444
|
+
selected: boolean;
|
|
445
|
+
selectable: boolean;
|
|
446
|
+
}
|
|
447
|
+
interface GetVariantProps {
|
|
448
|
+
today: boolean;
|
|
449
|
+
selected: boolean;
|
|
450
|
+
selectable: boolean;
|
|
451
|
+
}
|
|
452
|
+
interface DatePickerProps extends Props {
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
interface GetMultiDatesProps {
|
|
456
|
+
selected: boolean;
|
|
457
|
+
selectable: boolean;
|
|
458
|
+
selectedDate: Date;
|
|
459
|
+
selectedDates: Date[];
|
|
460
|
+
}
|
|
461
|
+
declare const getMultiDates: ({ selected, selectedDate, selectedDates, selectable, }: GetMultiDatesProps) => Date[];
|
|
462
|
+
|
|
463
|
+
interface GetRangeDatesProps {
|
|
464
|
+
selectable: boolean;
|
|
465
|
+
date: Date;
|
|
466
|
+
selectedDates: Date[];
|
|
467
|
+
}
|
|
468
|
+
declare const getRangeDates: ({ selectable, date, selectedDates, }: GetRangeDatesProps) => Date[] | undefined;
|
|
469
|
+
|
|
470
|
+
interface RangeCalendarProps extends RenderProps {
|
|
471
|
+
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
472
|
+
selected?: Date[];
|
|
473
|
+
}
|
|
474
|
+
interface GetStyleProps {
|
|
475
|
+
today: boolean;
|
|
476
|
+
selected: boolean;
|
|
477
|
+
unavailable: boolean;
|
|
478
|
+
isInRange: boolean;
|
|
479
|
+
}
|
|
480
|
+
interface RangeDatePickerProps extends Props {
|
|
481
|
+
}
|
|
482
|
+
|
|
385
483
|
declare module "@tanstack/react-table" {
|
|
386
484
|
interface ColumnMeta<TData extends RowData, TValue> {
|
|
387
485
|
/**
|
|
@@ -434,4 +532,4 @@ declare module "@tanstack/react-table" {
|
|
|
434
532
|
}
|
|
435
533
|
}
|
|
436
534
|
|
|
437
|
-
export { type DataResponse, DataTable, type DataTableDefaultState, type DataTableProps, DataTableServer, type DataTableServerProps,
|
|
535
|
+
export { type CalendarProps, CardHeader, type CardHeaderProps, type CustomJSONSchema7Definition, DataDisplay, type DataDisplayProps, type DataResponse, DataTable, type DataTableDefaultState, type DataTableProps, DataTableServer, type DataTableServerProps, type DatePickerProps, DefaultCardTitle, DefaultTable, type DefaultTableProps, DensityToggleButton, type DensityToggleButtonProps, type DisplayTextProps, EditFilterButton, type EditFilterButtonProps, EditOrderButton, type EditOrderButtonProps, EditSortingButton, type EditSortingButtonProps, EditViewButton, type EditViewButtonProps, FilterOptions, type FilterOptionsProps, Form, type FormProps, type GetColumnsConfigs, type GetDateColorProps, type GetMultiDatesProps, type GetRangeDatesProps, type GetStyleProps, type GetVariantProps, GlobalFilter, PageSizeControl, type PageSizeControlProps, type RangeCalendarProps, type RangeDatePickerProps, type RefreshDataConfig, ReloadButton, type ReloadButtonProps, ResetFilteringButton, type ResetFilteringButtonProps, ResetSelectionButton, type ResetSelectionButtonProps, ResetSortingButton, type ResetSortingButtonProps, type Result, RowCountText, Table, TableBody, type TableBodyProps, TableCardContainer, type TableCardContainerProps, TableCards, type TableCardsProps, TableComponent, TableControls, type TableControlsProps, TableFilter, TableFilterTags, TableFooter, type TableFooterProps, TableHeader, type TableHeaderProps, TableLoadingComponent, type TableLoadingComponentProps, TableOrderer, TablePagination, type TableProps, type TableRendererProps, type TableRowSelectorProps, TableSelector, TableSorter, TableViewer, TextCell, type TextCellProps, type UseDataFromUrlProps, type UseDataFromUrlReturn, type UseDataTableProps, type UseDataTableReturn, type UseDataTableServerProps, type UseDataTableServerReturn, getColumns, getMultiDates, getRangeDates, useDataFromUrl, useDataTable, useDataTableContext, useDataTableServer, widthSanityCheck };
|