@bsol-oss/react-datatable5 12.0.0-beta.5 → 12.0.0-beta.51

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 (61) hide show
  1. package/dist/index.d.ts +183 -87
  2. package/dist/index.js +888 -359
  3. package/dist/index.mjs +893 -365
  4. package/dist/types/components/DataTable/DataTable.d.ts +4 -2
  5. package/dist/types/components/DataTable/DataTableServer.d.ts +4 -2
  6. package/dist/types/components/DataTable/DefaultTable.d.ts +9 -12
  7. package/dist/types/components/DataTable/context/DataTableContext.d.ts +19 -3
  8. package/dist/types/components/DataTable/context/useDataTableContext.d.ts +2 -2
  9. package/dist/types/components/DataTable/controls/DensityFeature.d.ts +23 -0
  10. package/dist/types/components/DataTable/controls/DensityToggleButton.d.ts +6 -0
  11. package/dist/types/components/DataTable/controls/EditSortingButton.d.ts +7 -0
  12. package/dist/types/components/DataTable/controls/FilterDialog.d.ts +5 -0
  13. package/dist/types/components/DataTable/controls/PageSizeControl.d.ts +4 -0
  14. package/dist/types/components/DataTable/controls/Pagination.d.ts +1 -0
  15. package/dist/types/components/DataTable/controls/ReloadButton.d.ts +4 -0
  16. package/dist/types/components/DataTable/controls/ResetFilteringButton.d.ts +1 -0
  17. package/dist/types/components/DataTable/controls/ResetSelectionButton.d.ts +1 -0
  18. package/dist/types/components/DataTable/controls/ResetSortingButton.d.ts +1 -0
  19. package/dist/types/components/DataTable/controls/RowCountText.d.ts +1 -0
  20. package/dist/types/components/DataTable/controls/SelectAllRowsToggle.d.ts +8 -0
  21. package/dist/types/components/DataTable/controls/TableControls.d.ts +26 -0
  22. package/dist/types/components/DataTable/controls/TableFilterTags.d.ts +1 -0
  23. package/dist/types/components/DataTable/controls/TableFilters.d.ts +1 -0
  24. package/dist/types/components/DataTable/controls/TableSelector.d.ts +1 -0
  25. package/dist/types/components/DataTable/controls/TableSorter.d.ts +1 -0
  26. package/dist/types/components/DataTable/controls/TableViewer.d.ts +1 -0
  27. package/dist/types/components/DataTable/controls/ViewDialog.d.ts +5 -0
  28. package/dist/types/components/DataTable/display/CardHeader.d.ts +13 -0
  29. package/dist/types/components/DataTable/display/DataDisplay.d.ts +6 -0
  30. package/dist/types/components/DataTable/display/EmptyState.d.ts +5 -0
  31. package/dist/types/components/DataTable/display/ErrorAlert.d.ts +4 -0
  32. package/dist/types/components/DataTable/display/RecordDisplay.d.ts +9 -0
  33. package/dist/types/components/DataTable/display/Table.d.ts +10 -0
  34. package/dist/types/components/DataTable/display/TableBody.d.ts +20 -0
  35. package/dist/types/components/DataTable/display/TableCardContainer.d.ts +10 -0
  36. package/dist/types/components/DataTable/display/TableCards.d.ts +11 -0
  37. package/dist/types/components/DataTable/display/TableComponent.d.ts +6 -0
  38. package/dist/types/components/DataTable/display/TableDataDisplay.d.ts +6 -0
  39. package/dist/types/components/DataTable/display/TableFooter.d.ts +5 -0
  40. package/dist/types/components/DataTable/display/TableHeader.d.ts +51 -0
  41. package/dist/types/components/DataTable/display/TableLoadingComponent.d.ts +5 -0
  42. package/dist/types/components/DataTable/display/TextCell.d.ts +10 -0
  43. package/dist/types/components/DataTable/useDataTable.d.ts +1 -1
  44. package/dist/types/components/Form/components/core/DefaultForm.d.ts +2 -1
  45. package/dist/types/components/Form/components/core/FormRoot.d.ts +2 -1
  46. package/dist/types/components/Form/components/fields/CustomInput.d.ts +8 -0
  47. package/dist/types/components/Form/components/fields/DatePicker.d.ts +2 -7
  48. package/dist/types/components/Form/components/fields/EnumPicker.d.ts +2 -1
  49. package/dist/types/components/Form/components/fields/FilePicker.d.ts +2 -5
  50. package/dist/types/components/Form/components/fields/StringInputField.d.ts +2 -5
  51. package/dist/types/components/Form/components/fields/TextAreaInput.d.ts +12 -0
  52. package/dist/types/components/Form/components/fields/TimePicker.d.ts +7 -0
  53. package/dist/types/components/Form/components/fields/types.d.ts +6 -0
  54. package/dist/types/components/Form/components/types/CustomJSONSchema7.d.ts +19 -1
  55. package/dist/types/components/Form/components/viewers/CustomViewer.d.ts +8 -0
  56. package/dist/types/components/Form/components/viewers/TextAreaViewer.d.ts +12 -0
  57. package/dist/types/components/Form/components/viewers/TimeViewer.d.ts +7 -0
  58. package/dist/types/components/Form/utils/translateWrapper.d.ts +6 -0
  59. package/dist/types/components/TimePicker/TimePicker.d.ts +20 -0
  60. package/dist/types/index.d.ts +48 -32
  61. package/package.json +3 -3
@@ -1,7 +1,8 @@
1
1
  import { ColumnDef, ColumnFiltersState, ColumnOrderState, FilterFn, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
2
  import { ReactNode } from "react";
3
3
  import { RankingInfo } from "@tanstack/match-sorter-utils";
4
- import { DensityState } from "../Controls/DensityFeature";
4
+ import { DensityState } from "./controls/DensityFeature";
5
+ import { DataTableLabel } from "./context/DataTableContext";
5
6
  import { UseTranslationResponse } from "react-i18next";
6
7
  declare module "@tanstack/react-table" {
7
8
  interface FilterFns {
@@ -49,6 +50,7 @@ export interface DataTableProps<TData = unknown> {
49
50
  setDensity: OnChangeFn<DensityState>;
50
51
  setColumnVisibility: OnChangeFn<VisibilityState>;
51
52
  translate: UseTranslationResponse<any, any>;
53
+ tableLabel: DataTableLabel;
52
54
  }
53
55
  /**
54
56
  * DataTable will create a context to hold all values to
@@ -60,4 +62,4 @@ export interface DataTableProps<TData = unknown> {
60
62
  *
61
63
  * @link https://tanstack.com/table/latest/docs/guide/column-defs
62
64
  */
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;
65
+ 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;
@@ -1,7 +1,8 @@
1
1
  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
- import { DensityState } from "../Controls/DensityFeature";
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
8
  export interface DataTableServerProps<TData extends DataResponse = DataResponse<unknown>> {
@@ -36,6 +37,7 @@ export interface DataTableServerProps<TData extends DataResponse = DataResponse<
36
37
  query: UseQueryResult<TData>;
37
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 extends DataResponse = DataResponse<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, }: DataTableServerProps<TData>): import("react/jsx-runtime").JSX.Element;
53
+ export declare function DataTableServer<TData extends DataResponse = DataResponse<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,15 @@
1
- import { TableHeaderProps as ChakraHeaderProps } from "@chakra-ui/react";
2
- import { TableBodyProps } from "./TableBody";
3
- import { TableControlsProps } from "./TableControls";
4
- import { TableFooterProps } from "./TableFooter";
5
- import { TableHeaderProps } from "./TableHeader";
6
- import { TableProps } from "./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
- showSelector?: boolean;
10
8
  tableProps?: Omit<TableProps, "children">;
11
- tHeadProps?: ChakraHeaderProps;
12
- controlProps?: TableControlsProps;
13
- tableFooterProps?: TableFooterProps;
14
- tableBodyProps?: TableBodyProps;
15
9
  tableHeaderProps?: TableHeaderProps;
10
+ tableBodyProps?: TableBodyProps;
11
+ tableFooterProps?: TableFooterProps;
12
+ controlProps?: TableControlsProps;
16
13
  variant?: "" | "greedy";
17
14
  }
18
- export declare const DefaultTable: ({ showFooter, tableProps, tableHeaderProps, tableBodyProps, controlProps, tableFooterProps, variant, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const DefaultTable: ({ showFooter, tableProps, tableHeaderProps, tableBodyProps, tableFooterProps, controlProps, variant, }: DefaultTableProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,27 @@
1
1
  /// <reference types="react" />
2
2
  import { OnChangeFn, Table } from "@tanstack/react-table";
3
3
  import { UseTranslationResponse } from "react-i18next";
4
- export interface DataTableContext<TData = unknown> {
4
+ import { DataTableProps } from "../DataTable";
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
+ }
19
+ export interface DataTableContextProps<TData = unknown> extends DataTableProps {
5
20
  table: Table<TData>;
6
21
  globalFilter: string;
7
22
  setGlobalFilter: OnChangeFn<string>;
8
23
  type: "client" | "server";
9
- translate: UseTranslationResponse<any, any>;
24
+ translate: UseTranslationResponse<any, unknown>;
25
+ tableLabel: DataTableLabel;
10
26
  }
11
- export declare const DataTableContext: import("react").Context<DataTableContext<unknown>>;
27
+ export declare const DataTableContext: import("react").Context<DataTableContextProps<unknown>>;
@@ -1,2 +1,2 @@
1
- import { DataTableContext } from "./DataTableContext";
2
- export declare const useDataTableContext: <TData>() => DataTableContext<TData>;
1
+ import { DataTableContextProps } from "./DataTableContext";
2
+ export declare const useDataTableContext: <TData>() => DataTableContextProps<TData>;
@@ -0,0 +1,23 @@
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>;
@@ -0,0 +1,6 @@
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;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface EditSortingButtonProps {
3
+ title?: string;
4
+ icon?: React.ReactElement;
5
+ text?: string;
6
+ }
7
+ export declare const EditSortingButton: ({ text, icon, title, }: EditSortingButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export interface EditFilterButtonProps {
3
+ icon?: React.ReactElement;
4
+ }
5
+ export declare const FilterDialog: ({ icon, }: EditFilterButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface PageSizeControlProps {
2
+ pageSizes?: number[];
3
+ }
4
+ export declare const PageSizeControl: ({ pageSizes, }: PageSizeControlProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const Pagination: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ReloadButtonProps {
2
+ variant?: string;
3
+ }
4
+ export declare const ReloadButton: ({ variant, }: ReloadButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ResetFilteringButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ResetSelectionButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const ResetSortingButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const RowCountText: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface SelectAllRowsToggleProps {
3
+ selectAllIcon?: React.ReactElement;
4
+ clearAllIcon?: React.ReactElement;
5
+ selectAllText?: string;
6
+ clearAllText?: string;
7
+ }
8
+ export declare const SelectAllRowsToggle: ({ selectAllIcon, clearAllIcon, selectAllText, clearAllText, }: SelectAllRowsToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { GridProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TableControlsProps {
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
+ filterOptions?: {
18
+ label: string;
19
+ value: string;
20
+ }[];
21
+ extraItems?: ReactNode;
22
+ loading?: boolean;
23
+ hasError?: boolean;
24
+ gridProps?: GridProps;
25
+ }
26
+ export declare const TableControls: ({ fitTableWidth, fitTableHeight, children, showGlobalFilter, showFilter, showFilterName, showFilterTags, showReload, showPagination, showPageSizeControl, showPageCountText, showView, filterOptions, extraItems, loading, hasError, gridProps, }: TableControlsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableFilterTags: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableFilter: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableSelector: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableSorter: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const TableViewer: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface EditViewButtonProps {
3
+ icon?: React.ReactElement;
4
+ }
5
+ export declare const ViewDialog: ({ icon }: EditViewButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ImageProps } from "@chakra-ui/react";
2
+ import { Row } from "@tanstack/react-table";
3
+ import { IconType } from "react-icons";
4
+ export interface CardHeaderProps<TData> {
5
+ row: Row<TData>;
6
+ imageColumnId?: keyof TData;
7
+ titleColumnId?: keyof TData;
8
+ tagColumnId?: keyof TData;
9
+ tagIcon?: IconType;
10
+ showTag?: boolean;
11
+ imageProps?: ImageProps;
12
+ }
13
+ export declare const CardHeader: <TData>({ row, imageColumnId, titleColumnId, tagColumnId, tagIcon, showTag, imageProps, }: CardHeaderProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { UseTranslationResponse } from "react-i18next";
2
+ export interface DataDisplayProps {
3
+ variant?: "horizontal" | "stats" | "";
4
+ translate?: UseTranslationResponse<any, any>;
5
+ }
6
+ export declare const DataDisplay: ({ variant }: DataDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export interface EmptyStateProps {
2
+ title?: string;
3
+ description?: string;
4
+ }
5
+ export declare const EmptyState: ({ title, description, }: EmptyStateProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export interface ErrorAlertProps {
2
+ showMessage?: boolean;
3
+ }
4
+ export declare const ErrorAlert: ({ showMessage }: ErrorAlertProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { BoxProps } from "@chakra-ui/react";
2
+ import { UseTranslationResponse } from "react-i18next";
3
+ export interface RecordDisplayProps {
4
+ object: object | null;
5
+ boxProps?: BoxProps;
6
+ translate?: UseTranslationResponse<any, any>;
7
+ prefix?: string;
8
+ }
9
+ export declare const RecordDisplay: ({ object, boxProps, translate, prefix, }: RecordDisplayProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { TableRootProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TableProps extends TableRootProps {
4
+ showLoading?: boolean;
5
+ loadingComponent?: ReactNode;
6
+ emptyComponent?: ReactNode;
7
+ canResize?: boolean;
8
+ children: ReactNode;
9
+ }
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;
@@ -0,0 +1,20 @@
1
+ import { Row } from "@tanstack/react-table";
2
+ export interface TableBodyProps {
3
+ pinnedBgColor?: {
4
+ light: string;
5
+ dark: string;
6
+ };
7
+ showSelector?: boolean;
8
+ alwaysShowSelector?: boolean;
9
+ canResize?: boolean;
10
+ }
11
+ export interface TableRowSelectorProps<TData> {
12
+ index: number;
13
+ row: Row<TData>;
14
+ hoveredRow: number;
15
+ pinnedBgColor?: {
16
+ light: string;
17
+ dark: string;
18
+ };
19
+ }
20
+ export declare const TableBody: ({ showSelector, canResize, }: TableBodyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { BoxProps, FlexProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TableCardContainerProps extends BoxProps {
4
+ children: ReactNode;
5
+ variant?: "carousel" | "";
6
+ gap?: string;
7
+ gridTemplateColumns?: string;
8
+ direction?: FlexProps["direction"];
9
+ }
10
+ export declare const TableCardContainer: ({ children, variant, gap, gridTemplateColumns, direction, ...props }: TableCardContainerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { CardBodyProps } from "@chakra-ui/react";
2
+ import { Row } from "@tanstack/react-table";
3
+ import { ReactNode } from "react";
4
+ export interface TableCardsProps<TData> {
5
+ isSelectable?: boolean;
6
+ showDisplayNameOnly?: boolean;
7
+ renderTitle?: (row: Row<TData>) => ReactNode | undefined;
8
+ cardBodyProps?: CardBodyProps;
9
+ }
10
+ export declare const DefaultCardTitle: () => import("react/jsx-runtime").JSX.Element;
11
+ export declare const TableCards: <TData>({ isSelectable, showDisplayNameOnly, renderTitle, cardBodyProps, }: TableCardsProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ import React from "react";
3
+ export interface TableRendererProps<TData> {
4
+ render: (render: Table<TData>) => React.ReactElement;
5
+ }
6
+ export declare const TableComponent: <TData>({ render, }: TableRendererProps<TData>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1,6 @@
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;
@@ -0,0 +1,5 @@
1
+ export interface TableFooterProps {
2
+ showSelector?: boolean;
3
+ alwaysShowSelector?: boolean;
4
+ }
5
+ export declare const TableFooter: ({ showSelector, alwaysShowSelector, }: TableFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,51 @@
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
+ }
9
+ export interface TableHeaderProps {
10
+ canResize?: boolean;
11
+ showSelector?: boolean;
12
+ isSticky?: boolean;
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;
20
+ }
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,5 @@
1
+ import { ReactNode } from "react";
2
+ export interface TableLoadingComponentProps {
3
+ render: (loading: boolean) => ReactNode;
4
+ }
5
+ export declare const TableLoadingComponent: ({ render, }: TableLoadingComponentProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { FlexProps, TextProps } from "@chakra-ui/react";
2
+ import { ReactNode } from "react";
3
+ export interface TextCellProps {
4
+ label?: string;
5
+ noOfLines?: number[];
6
+ children: string | number | ReactNode | ReactNode[];
7
+ containerProps?: FlexProps;
8
+ textProps?: TextProps;
9
+ }
10
+ export declare const TextCell: ({ label, containerProps, textProps, children, }: TextCellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { ColumnFiltersState, ColumnOrderState, OnChangeFn, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/react-table";
2
- import { DensityState } from "../Controls/DensityFeature";
2
+ import { DensityState } from "./controls/DensityFeature";
3
3
  import { UseTranslationResponse } from "react-i18next";
4
4
  export interface DataTableDefaultState {
5
5
  sorting?: SortingState;
@@ -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
- export declare const DefaultForm: <TData extends FieldValues>({ formConfig, }: DefaultFormProps<TData>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const DefaultForm: <TData extends FieldValues>({ formConfig, showTitle, }: DefaultFormProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -4,8 +4,9 @@ import { JSONSchema7 } from "json-schema";
4
4
  import { Dispatch, ReactNode, SetStateAction } from "react";
5
5
  import { FieldValues, SubmitHandler, UseFormReturn } from "react-hook-form";
6
6
  import { UseTranslationResponse } from "react-i18next";
7
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
7
8
  export interface FormRootProps<TData extends FieldValues> {
8
- schema: JSONSchema7;
9
+ schema: CustomJSONSchema7;
9
10
  serverUrl: string;
10
11
  requestUrl?: string;
11
12
  idMap: Record<string, object>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
3
+ export interface DatePickerProps {
4
+ column: string;
5
+ schema: CustomJSONSchema7;
6
+ prefix: string;
7
+ }
8
+ export declare const CustomInput: ({ column, schema, prefix }: DatePickerProps) => import("react").ReactNode;
@@ -1,7 +1,2 @@
1
- import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
- export interface DatePickerProps {
3
- column: string;
4
- schema: CustomJSONSchema7;
5
- prefix: string;
6
- }
7
- export declare const DatePicker: ({ column, schema, prefix }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { InputDefaultProps } from "./types";
2
+ export declare const DatePicker: ({ column, schema, prefix }: InputDefaultProps) => import("react/jsx-runtime").JSX.Element;
@@ -4,5 +4,6 @@ export interface IdPickerProps {
4
4
  isMultiple?: boolean;
5
5
  schema: CustomJSONSchema7;
6
6
  prefix: string;
7
+ showTotalAndLimit?: boolean;
7
8
  }
8
- export declare const EnumPicker: ({ column, isMultiple, schema, prefix, }: IdPickerProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const EnumPicker: ({ column, isMultiple, schema, prefix, showTotalAndLimit, }: IdPickerProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,2 @@
1
- export declare const FilePicker: ({ column, schema, prefix }: {
2
- column: any;
3
- schema: any;
4
- prefix: any;
5
- }) => import("react/jsx-runtime").JSX.Element;
1
+ import { InputDefaultProps } from "./types";
2
+ export declare const FilePicker: ({ column, schema, prefix }: InputDefaultProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,5 @@
1
- import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
- export interface StringInputFieldProps {
3
- column: string;
4
- schema: CustomJSONSchema7;
5
- prefix: string;
1
+ import { InputDefaultProps } from "./types";
2
+ export interface StringInputFieldProps extends InputDefaultProps {
6
3
  }
7
4
  export interface ForeignKeyProps {
8
5
  column: string;
@@ -0,0 +1,12 @@
1
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
+ export interface TextAreaInputProps {
3
+ column: string;
4
+ schema: CustomJSONSchema7;
5
+ prefix: string;
6
+ }
7
+ export interface ForeignKeyProps {
8
+ column: string;
9
+ table: string;
10
+ display_column: string;
11
+ }
12
+ export declare const TextAreaInput: ({ column, schema, prefix, }: TextAreaInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
+ export interface DatePickerProps {
3
+ column: string;
4
+ schema: CustomJSONSchema7;
5
+ prefix: string;
6
+ }
7
+ export declare const TimePicker: ({ column, schema, prefix }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
+ export type InputDefaultProps = {
3
+ column: string;
4
+ schema: CustomJSONSchema7;
5
+ prefix: string;
6
+ };
@@ -1,12 +1,30 @@
1
1
  import { JSONSchema7 } from "json-schema";
2
2
  import { ReactNode } from "react";
3
3
  import { ForeignKeyProps } from "../fields/StringInputField";
4
+ import { UseFormReturn } from "react-hook-form";
4
5
  export interface CustomJSONSchema7 extends JSONSchema7 {
5
6
  gridColumn?: string;
6
7
  gridRow?: string;
7
8
  foreign_key?: ForeignKeyProps;
8
9
  variant?: string;
9
- renderDisplay: (item: unknown) => ReactNode;
10
+ renderDisplay?: (item: unknown) => ReactNode;
11
+ inputRender?: (props: {
12
+ column: string;
13
+ schema: CustomJSONSchema7;
14
+ prefix: string;
15
+ formContext: UseFormReturn;
16
+ }) => ReactNode;
17
+ inputViewerRender?: (props: {
18
+ column: string;
19
+ schema: CustomJSONSchema7;
20
+ prefix: string;
21
+ formContext: UseFormReturn;
22
+ }) => ReactNode;
23
+ dateFormat?: string;
24
+ displayDateFormat?: string;
25
+ timeFormat?: string;
26
+ displayTimeFormat?: string;
27
+ showLabel?: boolean;
10
28
  }
11
29
  export interface TagPickerProps {
12
30
  column: string;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
3
+ export interface DatePickerProps {
4
+ column: string;
5
+ schema: CustomJSONSchema7;
6
+ prefix: string;
7
+ }
8
+ export declare const CustomViewer: ({ column, schema, prefix }: DatePickerProps) => import("react").ReactNode;
@@ -0,0 +1,12 @@
1
+ import { CustomJSONSchema7 } from "../types/CustomJSONSchema7";
2
+ export interface TextAreaViewerProps {
3
+ column: string;
4
+ schema: CustomJSONSchema7;
5
+ prefix: string;
6
+ }
7
+ export interface ForeignKeyProps {
8
+ column: string;
9
+ table: string;
10
+ display_column: string;
11
+ }
12
+ export declare const TextAreaViewer: ({ column, schema, prefix, }: TextAreaViewerProps) => import("react/jsx-runtime").JSX.Element;