@bsol-oss/react-datatable5 12.0.0-beta.94 → 13.0.1-beta.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.
- package/README.md +1 -0
- package/dist/index.d.ts +170 -43
- package/dist/index.js +1166 -637
- package/dist/index.mjs +1168 -640
- package/dist/types/components/DataTable/DataTable.d.ts +1 -3
- package/dist/types/components/DataTable/DataTableServer.d.ts +7 -9
- package/dist/types/components/DataTable/DefaultTable.d.ts +2 -1
- package/dist/types/components/DataTable/context/DataTableContext.d.ts +4 -6
- package/dist/types/components/DataTable/controls/MobileTableControls.d.ts +29 -0
- package/dist/types/components/DataTable/controls/TableControls.d.ts +2 -2
- package/dist/types/components/DataTable/display/CalendarDisplay.d.ts +84 -0
- package/dist/types/components/DataTable/display/DataDisplay.d.ts +0 -2
- package/dist/types/components/DataTable/display/MobileTableDisplay.d.ts +5 -0
- package/dist/types/components/DataTable/display/RecordDisplay.d.ts +1 -3
- package/dist/types/components/DataTable/display/TextCell.d.ts +2 -1
- package/dist/types/components/DataTable/hooks/useIsMobile.d.ts +6 -0
- package/dist/types/components/DataTable/useDataTable.d.ts +3 -6
- package/dist/types/components/DataTable/useDataTableServer.d.ts +4 -4
- package/dist/types/components/DataTable/utils/getColumns.d.ts +3 -5
- package/dist/types/components/DatePicker/DatePicker.d.ts +7 -8
- package/dist/types/components/DatePicker/DateTimePicker.d.ts +3 -1
- package/dist/types/components/DatePicker/IsoTimePicker.d.ts +5 -1
- package/dist/types/components/DatePicker/RangeDatePicker.d.ts +4 -4
- package/dist/types/components/DatePicker/useCalendar.d.ts +48 -0
- package/dist/types/components/Form/SchemaFormContext.d.ts +5 -3
- package/dist/types/components/Form/components/core/FormBody.d.ts +1 -2
- package/dist/types/components/Form/components/core/FormRoot.d.ts +6 -4
- package/dist/types/components/Form/components/fields/FilePicker.d.ts +1 -2
- package/dist/types/components/Form/components/fields/IdPicker.d.ts +8 -0
- package/dist/types/components/Form/components/fields/IdPickerMultiple.d.ts +7 -0
- package/dist/types/components/Form/components/fields/IdPickerSingle.d.ts +7 -0
- package/dist/types/components/Form/components/fields/useIdPickerData.d.ts +46 -0
- package/dist/types/components/Form/components/types/CustomJSONSchema7.d.ts +9 -0
- package/dist/types/components/Form/useForm.d.ts +7 -2
- package/dist/types/components/Form/utils/useFormI18n.d.ts +14 -12
- package/dist/types/components/TimePicker/TimePicker.d.ts +4 -6
- package/dist/types/components/ui/provider.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -3
|
@@ -3,7 +3,6 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import { RankingInfo } from '@tanstack/match-sorter-utils';
|
|
4
4
|
import { DensityState } from './controls/DensityFeature';
|
|
5
5
|
import { DataTableLabel } from './context/DataTableContext';
|
|
6
|
-
import { UseTranslationResponse } from 'react-i18next';
|
|
7
6
|
declare module '@tanstack/react-table' {
|
|
8
7
|
interface FilterFns {
|
|
9
8
|
fuzzy: FilterFn<unknown>;
|
|
@@ -52,7 +51,6 @@ export interface DataTableProps<TData = unknown> {
|
|
|
52
51
|
setColumnOrder: OnChangeFn<ColumnOrderState>;
|
|
53
52
|
setDensity: OnChangeFn<DensityState>;
|
|
54
53
|
setColumnVisibility: OnChangeFn<VisibilityState>;
|
|
55
|
-
translate: UseTranslationResponse<any, any>;
|
|
56
54
|
tableLabel?: DataTableLabel;
|
|
57
55
|
}
|
|
58
56
|
/**
|
|
@@ -65,4 +63,4 @@ export interface DataTableProps<TData = unknown> {
|
|
|
65
63
|
*
|
|
66
64
|
* @link https://tanstack.com/table/latest/docs/guide/column-defs
|
|
67
65
|
*/
|
|
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,
|
|
66
|
+
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, children, tableLabel, }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { ReactNode } from
|
|
2
|
-
import { UseQueryResult } from
|
|
3
|
-
import { ColumnDef, ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from
|
|
4
|
-
import { DensityState } from
|
|
5
|
-
import { DataTableLabel } from
|
|
6
|
-
import { DataResponse } from
|
|
7
|
-
import { UseTranslationResponse } from "react-i18next";
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import { ColumnDef, ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
4
|
+
import { DensityState } from './controls/DensityFeature';
|
|
5
|
+
import { DataTableLabel } from './context/DataTableContext';
|
|
6
|
+
import { DataResponse } from './useDataTableServer';
|
|
8
7
|
export interface DataTableServerProps<TData = unknown> {
|
|
9
8
|
children: ReactNode | ReactNode[];
|
|
10
9
|
/**
|
|
@@ -36,7 +35,6 @@ export interface DataTableServerProps<TData = unknown> {
|
|
|
36
35
|
setColumnVisibility: OnChangeFn<VisibilityState>;
|
|
37
36
|
query: UseQueryResult<DataResponse<TData>>;
|
|
38
37
|
url?: string;
|
|
39
|
-
translate: UseTranslationResponse<any, any>;
|
|
40
38
|
tableLabel?: DataTableLabel;
|
|
41
39
|
}
|
|
42
40
|
/**
|
|
@@ -50,4 +48,4 @@ export interface DataTableServerProps<TData = unknown> {
|
|
|
50
48
|
*
|
|
51
49
|
* @link https://tanstack.com/table/latest/docs/guide/column-defs
|
|
52
50
|
*/
|
|
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,
|
|
51
|
+
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, children, tableLabel, }: DataTableServerProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,6 +5,7 @@ import { TableFooterProps } from './display/TableFooter';
|
|
|
5
5
|
import { TableHeaderProps } from './display/TableHeader';
|
|
6
6
|
export interface DefaultTableProps {
|
|
7
7
|
showFooter?: boolean;
|
|
8
|
+
showHeader?: boolean;
|
|
8
9
|
tableProps?: Omit<TableProps, 'children'>;
|
|
9
10
|
tableHeaderProps?: TableHeaderProps;
|
|
10
11
|
tableBodyProps?: TableBodyProps;
|
|
@@ -13,4 +14,4 @@ export interface DefaultTableProps {
|
|
|
13
14
|
variant?: '' | 'greedy';
|
|
14
15
|
isLoading?: boolean;
|
|
15
16
|
}
|
|
16
|
-
export declare const DefaultTable: ({ showFooter, tableProps, tableHeaderProps, tableBodyProps, tableFooterProps, controlProps, variant, isLoading, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const DefaultTable: ({ showFooter, showHeader, tableProps, tableHeaderProps, tableBodyProps, tableFooterProps, controlProps, variant, isLoading, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { OnChangeFn, Table } from
|
|
3
|
-
import {
|
|
4
|
-
import { DataTableProps } from "../DataTable";
|
|
2
|
+
import { OnChangeFn, Table } from '@tanstack/react-table';
|
|
3
|
+
import { DataTableProps } from '../DataTable';
|
|
5
4
|
export interface DataTableLabel {
|
|
6
5
|
view: string;
|
|
7
6
|
edit: string;
|
|
@@ -19,12 +18,11 @@ export interface DataTableLabel {
|
|
|
19
18
|
trueLabel: string;
|
|
20
19
|
falseLabel: string;
|
|
21
20
|
}
|
|
22
|
-
export interface DataTableContextProps<TData = unknown> extends DataTableProps {
|
|
21
|
+
export interface DataTableContextProps<TData = unknown> extends Omit<DataTableProps, 'translate'> {
|
|
23
22
|
table: Table<TData>;
|
|
24
23
|
globalFilter: string;
|
|
25
24
|
setGlobalFilter: OnChangeFn<string>;
|
|
26
|
-
type:
|
|
27
|
-
translate: UseTranslationResponse<any, unknown>;
|
|
25
|
+
type: 'client' | 'server';
|
|
28
26
|
tableLabel: DataTableLabel;
|
|
29
27
|
}
|
|
30
28
|
export declare const DataTableContext: import("react").Context<DataTableContextProps<unknown>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GridProps } from '@chakra-ui/react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export interface MobileTableControlsProps {
|
|
4
|
+
totalText?: string;
|
|
5
|
+
fitTableWidth?: boolean;
|
|
6
|
+
fitTableHeight?: boolean;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
showGlobalFilter?: boolean;
|
|
9
|
+
showFilter?: boolean;
|
|
10
|
+
showFilterName?: boolean;
|
|
11
|
+
showFilterTags?: boolean;
|
|
12
|
+
showReload?: boolean;
|
|
13
|
+
showPagination?: boolean;
|
|
14
|
+
showPageSizeControl?: boolean;
|
|
15
|
+
showPageCountText?: boolean;
|
|
16
|
+
showView?: boolean;
|
|
17
|
+
filterTagsOptions?: {
|
|
18
|
+
column: string;
|
|
19
|
+
options: {
|
|
20
|
+
label: string;
|
|
21
|
+
value: string;
|
|
22
|
+
}[];
|
|
23
|
+
}[];
|
|
24
|
+
extraItems?: ReactNode;
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
hasError?: boolean;
|
|
27
|
+
gridProps?: GridProps;
|
|
28
|
+
}
|
|
29
|
+
export declare const MobileTableControls: ({ fitTableWidth, fitTableHeight, children, showGlobalFilter, showFilter, showFilterName, showFilterTags, showReload, showPagination, showPageSizeControl, showPageCountText, showView, filterTagsOptions, extraItems, loading, hasError, gridProps, }: MobileTableControlsProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface CalendarEvent<TData = unknown> {
|
|
3
|
+
data: TData;
|
|
4
|
+
date: Date;
|
|
5
|
+
title?: string;
|
|
6
|
+
color?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CalendarDisplayProps<TData = unknown> {
|
|
9
|
+
/**
|
|
10
|
+
* Column ID or accessor key that contains the date for each event
|
|
11
|
+
*/
|
|
12
|
+
dateColumn: string;
|
|
13
|
+
/**
|
|
14
|
+
* Optional function to extract date from row data
|
|
15
|
+
* If not provided, will use the dateColumn to get the date
|
|
16
|
+
*/
|
|
17
|
+
getDate?: (row: TData) => Date | string | number | null | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Optional function to get event title from row data
|
|
20
|
+
* If not provided, will use the first column's value
|
|
21
|
+
*/
|
|
22
|
+
getEventTitle?: (row: TData) => string;
|
|
23
|
+
/**
|
|
24
|
+
* Optional function to get event color from row data
|
|
25
|
+
*/
|
|
26
|
+
getEventColor?: (row: TData) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional function to render event content
|
|
29
|
+
*/
|
|
30
|
+
renderEvent?: (event: CalendarEvent<TData>) => React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* First day of week (0 = Sunday, 1 = Monday, etc.)
|
|
33
|
+
*/
|
|
34
|
+
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
35
|
+
/**
|
|
36
|
+
* Show days outside the current month
|
|
37
|
+
*/
|
|
38
|
+
showOutsideDays?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Number of months to display
|
|
41
|
+
*/
|
|
42
|
+
monthsToDisplay?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Calendar labels
|
|
45
|
+
*/
|
|
46
|
+
labels?: {
|
|
47
|
+
monthNamesShort: string[];
|
|
48
|
+
weekdayNamesShort: string[];
|
|
49
|
+
backButtonLabel?: string;
|
|
50
|
+
forwardButtonLabel?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Callback when a date is clicked
|
|
54
|
+
*/
|
|
55
|
+
onDateClick?: (date: Date, events: CalendarEvent<TData>[]) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Callback when an event is clicked
|
|
58
|
+
*/
|
|
59
|
+
onEventClick?: (event: CalendarEvent<TData>) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Maximum number of events to show per day before showing "+N more"
|
|
62
|
+
*/
|
|
63
|
+
maxEventsPerDay?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Color palette for the calendar
|
|
66
|
+
*/
|
|
67
|
+
colorPalette?: 'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink';
|
|
68
|
+
/**
|
|
69
|
+
* Fixed placeholder text to show when width is too narrow
|
|
70
|
+
* @default "..."
|
|
71
|
+
*/
|
|
72
|
+
eventPlaceholder?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Minimum width (in pixels) before showing placeholder instead of title
|
|
75
|
+
* @default 80
|
|
76
|
+
*/
|
|
77
|
+
minEventWidth?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Minimum number of characters to show before ellipsis
|
|
80
|
+
* @default 2
|
|
81
|
+
*/
|
|
82
|
+
minCharsBeforeEllipsis?: number;
|
|
83
|
+
}
|
|
84
|
+
export declare function CalendarDisplay<TData = unknown>({ dateColumn, getDate, getEventTitle, getEventColor, renderEvent, firstDayOfWeek, showOutsideDays, monthsToDisplay, labels, onDateClick, onEventClick, maxEventsPerDay, colorPalette, eventPlaceholder, minEventWidth, minCharsBeforeEllipsis, }: CalendarDisplayProps<TData>): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { UseTranslationResponse } from 'react-i18next';
|
|
2
1
|
export interface DataDisplayProps {
|
|
3
2
|
variant?: 'horizontal' | 'stats' | '';
|
|
4
|
-
translate?: UseTranslationResponse<any, any>;
|
|
5
3
|
}
|
|
6
4
|
export declare const DataDisplay: ({ variant }: DataDisplayProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { BoxProps } from '@chakra-ui/react';
|
|
2
|
-
import { UseTranslationResponse } from 'react-i18next';
|
|
3
2
|
export interface RecordDisplayProps {
|
|
4
3
|
object: object | null;
|
|
5
4
|
boxProps?: BoxProps;
|
|
6
|
-
translate?: UseTranslationResponse<any, any>;
|
|
7
5
|
prefix?: string;
|
|
8
6
|
}
|
|
9
|
-
export declare const RecordDisplay: ({ object, boxProps,
|
|
7
|
+
export declare const RecordDisplay: ({ object, boxProps, prefix, }: RecordDisplayProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,6 +6,7 @@ export interface TextCellProps {
|
|
|
6
6
|
onClick?: () => void;
|
|
7
7
|
isCopyable?: boolean;
|
|
8
8
|
isBadge?: boolean;
|
|
9
|
+
alignEnd?: boolean;
|
|
9
10
|
badgeColor?: 'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink';
|
|
10
11
|
colorPalette?: 'gray' | 'red' | 'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'cyan' | 'purple' | 'pink';
|
|
11
12
|
label?: string;
|
|
@@ -14,4 +15,4 @@ export interface TextCellProps {
|
|
|
14
15
|
containerProps?: FlexProps;
|
|
15
16
|
textProps?: TextProps;
|
|
16
17
|
}
|
|
17
|
-
export declare const TextCell: ({ text, href, onClick, isCopyable, isBadge, badgeColor, colorPalette, label, containerProps, textProps, children, }: TextCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const TextCell: ({ text, href, onClick, isCopyable, isBadge, badgeColor, colorPalette, alignEnd, label, containerProps, textProps, children, }: TextCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to detect if the current window width is mobile (< 768px)
|
|
3
|
+
* @param breakpoint - The breakpoint in pixels to consider as mobile (default: 768)
|
|
4
|
+
* @returns boolean indicating if the window is mobile
|
|
5
|
+
*/
|
|
6
|
+
export declare const useIsMobile: (breakpoint?: number) => boolean;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from
|
|
2
|
-
import { DensityState } from
|
|
3
|
-
import { UseTranslationResponse } from "react-i18next";
|
|
1
|
+
import { ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
2
|
+
import { DensityState } from './controls/DensityFeature';
|
|
4
3
|
export interface DataTableDefaultState {
|
|
5
4
|
sorting?: SortingState;
|
|
6
5
|
columnFilters?: ColumnFiltersState;
|
|
@@ -13,7 +12,6 @@ export interface DataTableDefaultState {
|
|
|
13
12
|
}
|
|
14
13
|
export interface UseDataTableProps {
|
|
15
14
|
default?: DataTableDefaultState;
|
|
16
|
-
keyPrefix?: string;
|
|
17
15
|
}
|
|
18
16
|
export interface UseDataTableReturn {
|
|
19
17
|
sorting: SortingState;
|
|
@@ -32,6 +30,5 @@ export interface UseDataTableReturn {
|
|
|
32
30
|
setColumnOrder: OnChangeFn<ColumnOrderState>;
|
|
33
31
|
setDensity: OnChangeFn<DensityState>;
|
|
34
32
|
setColumnVisibility: OnChangeFn<VisibilityState>;
|
|
35
|
-
translate: UseTranslationResponse<any, any>;
|
|
36
33
|
}
|
|
37
|
-
export declare const useDataTable: ({ default: { sorting: defaultSorting, pagination: defaultPagination, rowSelection: defaultRowSelection, columnFilters: defaultColumnFilters, columnOrder: defaultColumnOrder, columnVisibility: defaultColumnVisibility, globalFilter: defaultGlobalFilter, density: defaultDensity, },
|
|
34
|
+
export declare const useDataTable: ({ default: { sorting: defaultSorting, pagination: defaultPagination, rowSelection: defaultRowSelection, columnFilters: defaultColumnFilters, columnOrder: defaultColumnOrder, columnVisibility: defaultColumnVisibility, globalFilter: defaultGlobalFilter, density: defaultDensity, }, }?: UseDataTableProps) => UseDataTableReturn;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { UseQueryResult } from
|
|
2
|
-
import { ColumnFiltersState, SortingState } from
|
|
3
|
-
import { UseDataTableProps, UseDataTableReturn } from
|
|
4
|
-
export interface UseDataTableServerProps<TData> extends UseDataTableProps {
|
|
1
|
+
import { UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import { ColumnFiltersState, SortingState } from '@tanstack/react-table';
|
|
3
|
+
import { UseDataTableProps, UseDataTableReturn } from './useDataTable';
|
|
4
|
+
export interface UseDataTableServerProps<TData> extends Omit<UseDataTableProps, 'keyPrefix'> {
|
|
5
5
|
/**
|
|
6
6
|
* Delay to send the request if the `refreshData` called multiple times
|
|
7
7
|
*
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ColumnDef, RowData } from
|
|
2
|
-
import { JSONSchema7 } from
|
|
3
|
-
import { UseTranslationResponse } from "react-i18next";
|
|
1
|
+
import { ColumnDef, RowData } from '@tanstack/react-table';
|
|
2
|
+
import { JSONSchema7 } from 'json-schema';
|
|
4
3
|
export interface GetColumnsConfigs<K extends RowData> {
|
|
5
4
|
schema: JSONSchema7;
|
|
6
5
|
include?: K[];
|
|
@@ -10,7 +9,6 @@ export interface GetColumnsConfigs<K extends RowData> {
|
|
|
10
9
|
[key in K as string]?: object;
|
|
11
10
|
};
|
|
12
11
|
defaultWidth?: number;
|
|
13
|
-
translate?: UseTranslationResponse<any, any>;
|
|
14
12
|
}
|
|
15
13
|
export declare const widthSanityCheck: <K extends unknown>(widthList: number[], ignoreList: K[], properties: { [key in K as string]?: object | undefined; }) => void;
|
|
16
|
-
export declare const getColumns: <TData extends unknown>({ schema, include, ignore, width, meta, defaultWidth,
|
|
14
|
+
export declare const getColumns: <TData extends unknown>({ schema, include, ignore, width, meta, defaultWidth, }: GetColumnsConfigs<TData>) => ColumnDef<TData>[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
export interface CalendarProps extends
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type CalendarRenderProps } from './useCalendar';
|
|
3
|
+
export interface CalendarProps extends CalendarRenderProps {
|
|
4
4
|
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
5
|
}
|
|
6
6
|
export interface GetDateColorProps {
|
|
@@ -13,9 +13,10 @@ export interface GetVariantProps {
|
|
|
13
13
|
selected: boolean;
|
|
14
14
|
selectable: boolean;
|
|
15
15
|
}
|
|
16
|
-
export interface DatePickerProps
|
|
16
|
+
export interface DatePickerProps {
|
|
17
17
|
onDateSelected?: (obj: {
|
|
18
18
|
date: Date;
|
|
19
|
+
selected: Date | Date[];
|
|
19
20
|
}) => void;
|
|
20
21
|
selected: Date | Date[];
|
|
21
22
|
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
@@ -30,7 +31,7 @@ export interface DatePickerProps extends Props {
|
|
|
30
31
|
backButtonLabel?: string;
|
|
31
32
|
forwardButtonLabel?: string;
|
|
32
33
|
};
|
|
33
|
-
render?: (
|
|
34
|
+
render?: (calendarData: CalendarRenderProps) => React.ReactNode;
|
|
34
35
|
}
|
|
35
36
|
export interface DatePickerLabels {
|
|
36
37
|
monthNamesShort: string[];
|
|
@@ -38,7 +39,5 @@ export interface DatePickerLabels {
|
|
|
38
39
|
backButtonLabel?: string;
|
|
39
40
|
forwardButtonLabel?: string;
|
|
40
41
|
}
|
|
41
|
-
declare
|
|
42
|
-
render(): import("react/jsx-runtime").JSX.Element;
|
|
43
|
-
}
|
|
42
|
+
declare const DatePicker: React.FC<DatePickerProps>;
|
|
44
43
|
export default DatePicker;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { DatePickerLabels } from './DatePicker';
|
|
2
|
+
import { TimePickerLabels } from '../Form/components/types/CustomJSONSchema7';
|
|
2
3
|
interface DateTimePickerProps {
|
|
3
4
|
value?: string;
|
|
4
5
|
onChange?: (date?: string) => void;
|
|
5
6
|
format?: 'date-time' | 'iso-date-time';
|
|
6
7
|
showSeconds?: boolean;
|
|
7
8
|
labels?: DatePickerLabels;
|
|
9
|
+
timePickerLabels?: TimePickerLabels;
|
|
8
10
|
timezone?: string;
|
|
9
11
|
startTime?: string;
|
|
10
12
|
minDate?: Date;
|
|
11
13
|
maxDate?: Date;
|
|
12
14
|
portalled?: boolean;
|
|
13
15
|
}
|
|
14
|
-
export declare function DateTimePicker({ value, onChange, format, showSeconds, labels, timezone, startTime, minDate, maxDate, portalled, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function DateTimePicker({ value, onChange, format, showSeconds, labels, timePickerLabels, timezone, startTime, minDate, maxDate, portalled, }: DateTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
15
17
|
export {};
|
|
@@ -15,6 +15,10 @@ interface IsoTimePickerProps {
|
|
|
15
15
|
selectedDate?: string;
|
|
16
16
|
timezone?: string;
|
|
17
17
|
portalled?: boolean;
|
|
18
|
+
labels?: {
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
emptyMessage?: string;
|
|
21
|
+
};
|
|
18
22
|
}
|
|
19
|
-
export declare function IsoTimePicker({ hour, setHour, minute, setMinute, second, setSecond, onChange, startTime, selectedDate, timezone, portalled, }: IsoTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function IsoTimePicker({ hour, setHour, minute, setMinute, second, setSecond, onChange, startTime, selectedDate, timezone, portalled, labels, }: IsoTimePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
24
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Props, RenderProps } from '@bsol-oss/dayzed-react19';
|
|
2
1
|
import React from 'react';
|
|
3
|
-
|
|
2
|
+
import { CalendarRenderProps } from './useCalendar';
|
|
3
|
+
export interface RangeCalendarProps extends CalendarRenderProps {
|
|
4
4
|
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
5
|
selected?: Date[];
|
|
6
6
|
}
|
|
@@ -16,7 +16,7 @@ export interface RangeDatePickerLabels {
|
|
|
16
16
|
backButtonLabel?: string;
|
|
17
17
|
forwardButtonLabel?: string;
|
|
18
18
|
}
|
|
19
|
-
export interface RangeDatePickerProps
|
|
19
|
+
export interface RangeDatePickerProps {
|
|
20
20
|
onDateSelected?: (obj: {
|
|
21
21
|
selected: Date[];
|
|
22
22
|
selectable: boolean;
|
|
@@ -68,7 +68,7 @@ export interface RangeDatePickerProps extends Props {
|
|
|
68
68
|
* @default true
|
|
69
69
|
*/
|
|
70
70
|
portalled?: boolean;
|
|
71
|
-
render?: (
|
|
71
|
+
render?: (calendarData: CalendarRenderProps) => React.ReactNode;
|
|
72
72
|
}
|
|
73
73
|
declare const RangeDatePicker: React.FC<RangeDatePickerProps>;
|
|
74
74
|
export default RangeDatePicker;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface CalendarDate {
|
|
2
|
+
date: Date;
|
|
3
|
+
selected: boolean;
|
|
4
|
+
selectable: boolean;
|
|
5
|
+
today: boolean;
|
|
6
|
+
isCurrentMonth: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface Calendar {
|
|
9
|
+
month: number;
|
|
10
|
+
year: number;
|
|
11
|
+
weeks: Array<Array<CalendarDate | null>>;
|
|
12
|
+
}
|
|
13
|
+
export interface UseCalendarProps {
|
|
14
|
+
selected?: Date | Date[];
|
|
15
|
+
firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
16
|
+
showOutsideDays?: boolean;
|
|
17
|
+
date?: Date;
|
|
18
|
+
minDate?: Date;
|
|
19
|
+
maxDate?: Date;
|
|
20
|
+
monthsToDisplay?: number;
|
|
21
|
+
onDateSelected?: (obj: {
|
|
22
|
+
date: Date;
|
|
23
|
+
selected: Date | Date[];
|
|
24
|
+
}) => void;
|
|
25
|
+
}
|
|
26
|
+
export interface CalendarRenderProps {
|
|
27
|
+
calendars: Calendar[];
|
|
28
|
+
getBackProps: (props?: {
|
|
29
|
+
calendars?: Calendar[];
|
|
30
|
+
offset?: number;
|
|
31
|
+
}) => {
|
|
32
|
+
onClick: () => void;
|
|
33
|
+
};
|
|
34
|
+
getForwardProps: (props?: {
|
|
35
|
+
calendars?: Calendar[];
|
|
36
|
+
offset?: number;
|
|
37
|
+
}) => {
|
|
38
|
+
onClick: () => void;
|
|
39
|
+
};
|
|
40
|
+
getDateProps: (props: {
|
|
41
|
+
dateObj: CalendarDate;
|
|
42
|
+
onMouseEnter?: () => void;
|
|
43
|
+
}) => {
|
|
44
|
+
onClick: () => void;
|
|
45
|
+
onMouseEnter?: () => void;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export declare function useCalendar({ selected, firstDayOfWeek, showOutsideDays, date, minDate, maxDate, monthsToDisplay, onDateSelected, }: UseCalendarProps): CalendarRenderProps;
|
|
@@ -2,8 +2,8 @@ import { AxiosRequestConfig } from 'axios';
|
|
|
2
2
|
import { JSONSchema7 } from 'json-schema';
|
|
3
3
|
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
|
4
4
|
import { FieldValues, Resolver } from 'react-hook-form';
|
|
5
|
-
import {
|
|
6
|
-
import { DateTimePickerLabels, IdPickerLabels, EnumPickerLabels, FilePickerLabels, FormButtonLabels } from './components/types/CustomJSONSchema7';
|
|
5
|
+
import { Translate } from './useForm';
|
|
6
|
+
import { DateTimePickerLabels, IdPickerLabels, EnumPickerLabels, FilePickerLabels, FormButtonLabels, TimePickerLabels } from './components/types/CustomJSONSchema7';
|
|
7
7
|
export interface SchemaFormContext<TData extends FieldValues> {
|
|
8
8
|
schema: JSONSchema7;
|
|
9
9
|
serverUrl: string;
|
|
@@ -15,7 +15,8 @@ export interface SchemaFormContext<TData extends FieldValues> {
|
|
|
15
15
|
rowNumber?: number | string;
|
|
16
16
|
idMap: Record<string, object>;
|
|
17
17
|
setIdMap: Dispatch<SetStateAction<Record<string, object>>>;
|
|
18
|
-
|
|
18
|
+
/** Translate object for fallback text (components prefer label objects) */
|
|
19
|
+
translate: Translate;
|
|
19
20
|
requestOptions: AxiosRequestConfig;
|
|
20
21
|
isSuccess: boolean;
|
|
21
22
|
setIsSuccess: Dispatch<SetStateAction<boolean>>;
|
|
@@ -45,6 +46,7 @@ export interface SchemaFormContext<TData extends FieldValues> {
|
|
|
45
46
|
enumPickerLabels?: EnumPickerLabels;
|
|
46
47
|
filePickerLabels?: FilePickerLabels;
|
|
47
48
|
formButtonLabels?: FormButtonLabels;
|
|
49
|
+
timePickerLabels?: TimePickerLabels;
|
|
48
50
|
ajvResolver: Resolver<FieldValues>;
|
|
49
51
|
insideDialog?: boolean;
|
|
50
52
|
}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
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;
|
|
1
|
+
export declare const FormBody: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -3,8 +3,8 @@ import { AxiosRequestConfig } from 'axios';
|
|
|
3
3
|
import { JSONSchema7 } from 'json-schema';
|
|
4
4
|
import { Dispatch, ReactNode, SetStateAction } from 'react';
|
|
5
5
|
import { FieldValues, SubmitHandler, UseFormReturn } from 'react-hook-form';
|
|
6
|
-
import {
|
|
7
|
-
import { CustomJSONSchema7, DateTimePickerLabels, IdPickerLabels, EnumPickerLabels, FilePickerLabels, FormButtonLabels } from '../types/CustomJSONSchema7';
|
|
6
|
+
import { Translate } from '../../useForm';
|
|
7
|
+
import { CustomJSONSchema7, DateTimePickerLabels, IdPickerLabels, EnumPickerLabels, FilePickerLabels, FormButtonLabels, TimePickerLabels } from '../types/CustomJSONSchema7';
|
|
8
8
|
export interface FormRootProps<TData extends FieldValues> {
|
|
9
9
|
schema: CustomJSONSchema7;
|
|
10
10
|
serverUrl: string;
|
|
@@ -12,7 +12,8 @@ export interface FormRootProps<TData extends FieldValues> {
|
|
|
12
12
|
idMap: Record<string, object>;
|
|
13
13
|
setIdMap: Dispatch<SetStateAction<Record<string, object>>>;
|
|
14
14
|
form: UseFormReturn;
|
|
15
|
-
|
|
15
|
+
/** Translate object for fallback text (components prefer label objects) */
|
|
16
|
+
translate: Translate;
|
|
16
17
|
children: ReactNode;
|
|
17
18
|
order?: string[];
|
|
18
19
|
ignore?: string[];
|
|
@@ -34,6 +35,7 @@ export interface FormRootProps<TData extends FieldValues> {
|
|
|
34
35
|
enumPickerLabels?: EnumPickerLabels;
|
|
35
36
|
filePickerLabels?: FilePickerLabels;
|
|
36
37
|
formButtonLabels?: FormButtonLabels;
|
|
38
|
+
timePickerLabels?: TimePickerLabels;
|
|
37
39
|
insideDialog?: boolean;
|
|
38
40
|
}
|
|
39
41
|
export interface CustomJSONSchema7Definition extends JSONSchema7 {
|
|
@@ -49,4 +51,4 @@ export declare const idPickerSanityCheck: (column: string, foreign_key?: {
|
|
|
49
51
|
table?: string | undefined;
|
|
50
52
|
column?: string | undefined;
|
|
51
53
|
} | undefined) => void;
|
|
52
|
-
export declare const FormRoot: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, children, order, ignore, include, onSubmit, rowNumber, requestOptions, getUpdatedData, customErrorRenderer, customSuccessRenderer, displayConfig, requireConfirmation, dateTimePickerLabels, idPickerLabels, enumPickerLabels, filePickerLabels, formButtonLabels, insideDialog, }: FormRootProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export declare const FormRoot: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, children, order, ignore, include, onSubmit, rowNumber, requestOptions, getUpdatedData, customErrorRenderer, customSuccessRenderer, displayConfig, requireConfirmation, dateTimePickerLabels, idPickerLabels, enumPickerLabels, filePickerLabels, formButtonLabels, timePickerLabels, insideDialog, }: FormRootProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,9 +10,8 @@ interface MediaBrowserDialogProps {
|
|
|
10
10
|
onUploadFile?: (file: File) => Promise<string>;
|
|
11
11
|
enableUpload?: boolean;
|
|
12
12
|
labels?: FilePickerLabels;
|
|
13
|
-
translate: (key: string) => string;
|
|
14
13
|
colLabel: string;
|
|
15
14
|
}
|
|
16
|
-
export declare function MediaBrowserDialog({ open, onClose, onSelect, title, filterImageOnly, onFetchFiles, onUploadFile, enableUpload, labels,
|
|
15
|
+
export declare function MediaBrowserDialog({ open, onClose, onSelect, title, filterImageOnly, onFetchFiles, onUploadFile, enableUpload, labels, colLabel, }: MediaBrowserDialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
16
|
export declare const FilePicker: ({ column, schema, prefix }: InputDefaultProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
17
|
export {};
|
|
@@ -5,4 +5,12 @@ export interface IdPickerProps {
|
|
|
5
5
|
prefix: string;
|
|
6
6
|
isMultiple?: boolean;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* IdPicker component - supports both single and multiple selection
|
|
10
|
+
*
|
|
11
|
+
* @deprecated For better type safety and clarity, use IdPickerSingle or IdPickerMultiple directly
|
|
12
|
+
* This component is kept for backward compatibility
|
|
13
|
+
*/
|
|
8
14
|
export declare const IdPicker: ({ column, schema, prefix, isMultiple, }: IdPickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export { IdPickerSingle } from './IdPickerSingle';
|
|
16
|
+
export { IdPickerMultiple } from './IdPickerMultiple';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CustomJSONSchema7 } from '../types/CustomJSONSchema7';
|
|
2
|
+
export interface IdPickerMultipleProps {
|
|
3
|
+
column: string;
|
|
4
|
+
schema: CustomJSONSchema7;
|
|
5
|
+
prefix: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const IdPickerMultiple: ({ column, schema, prefix, }: IdPickerMultipleProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CustomJSONSchema7 } from '../types/CustomJSONSchema7';
|
|
2
|
+
export interface IdPickerSingleProps {
|
|
3
|
+
column: string;
|
|
4
|
+
schema: CustomJSONSchema7;
|
|
5
|
+
prefix: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const IdPickerSingle: ({ column, schema, prefix, }: IdPickerSingleProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CustomJSONSchema7 } from '../types/CustomJSONSchema7';
|
|
3
|
+
export interface RecordType {
|
|
4
|
+
[key: string]: any;
|
|
5
|
+
}
|
|
6
|
+
export interface UseIdPickerDataProps {
|
|
7
|
+
column: string;
|
|
8
|
+
schema: CustomJSONSchema7;
|
|
9
|
+
prefix: string;
|
|
10
|
+
isMultiple: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface UseIdPickerDataReturn {
|
|
13
|
+
colLabel: string;
|
|
14
|
+
currentValue: string[];
|
|
15
|
+
searchText: string;
|
|
16
|
+
setSearchText: (text: string) => void;
|
|
17
|
+
debouncedSearchText: string;
|
|
18
|
+
isLoading: boolean;
|
|
19
|
+
isFetching: boolean;
|
|
20
|
+
isPending: boolean;
|
|
21
|
+
isError: boolean;
|
|
22
|
+
isSearching: boolean;
|
|
23
|
+
isLoadingInitialValues: boolean;
|
|
24
|
+
isFetchingInitialValues: boolean;
|
|
25
|
+
missingIds: string[];
|
|
26
|
+
comboboxItems: Array<{
|
|
27
|
+
label: string;
|
|
28
|
+
value: string;
|
|
29
|
+
raw: RecordType;
|
|
30
|
+
}>;
|
|
31
|
+
collection: any;
|
|
32
|
+
filter: (text: string) => void;
|
|
33
|
+
set: (items: Array<{
|
|
34
|
+
label: string;
|
|
35
|
+
value: string;
|
|
36
|
+
raw: RecordType;
|
|
37
|
+
}>) => void;
|
|
38
|
+
idMap: Record<string, object>;
|
|
39
|
+
idPickerLabels: any;
|
|
40
|
+
insideDialog: boolean;
|
|
41
|
+
renderDisplay: ((item: RecordType) => React.ReactNode) | undefined;
|
|
42
|
+
column_ref: string;
|
|
43
|
+
errors: any;
|
|
44
|
+
setValue: (name: string, value: any) => void;
|
|
45
|
+
}
|
|
46
|
+
export declare const useIdPickerData: ({ column, schema, prefix, isMultiple, }: UseIdPickerDataProps) => UseIdPickerDataReturn;
|