@bsol-oss/react-datatable5 12.0.0-beta.6 → 12.0.0-beta.61

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 (74) hide show
  1. package/README.md +192 -0
  2. package/dist/index.d.ts +212 -91
  3. package/dist/index.js +1399 -426
  4. package/dist/index.mjs +1405 -432
  5. package/dist/types/components/DataTable/DataTable.d.ts +4 -2
  6. package/dist/types/components/DataTable/DataTableServer.d.ts +4 -2
  7. package/dist/types/components/DataTable/DefaultTable.d.ts +9 -12
  8. package/dist/types/components/DataTable/context/DataTableContext.d.ts +22 -3
  9. package/dist/types/components/DataTable/context/useDataTableContext.d.ts +2 -2
  10. package/dist/types/components/DataTable/controls/DensityFeature.d.ts +23 -0
  11. package/dist/types/components/DataTable/controls/DensityToggleButton.d.ts +6 -0
  12. package/dist/types/components/DataTable/controls/EditSortingButton.d.ts +7 -0
  13. package/dist/types/components/DataTable/controls/FilterDialog.d.ts +5 -0
  14. package/dist/types/components/DataTable/controls/PageSizeControl.d.ts +4 -0
  15. package/dist/types/components/DataTable/controls/Pagination.d.ts +1 -0
  16. package/dist/types/components/DataTable/controls/ReloadButton.d.ts +4 -0
  17. package/dist/types/components/DataTable/controls/ResetFilteringButton.d.ts +1 -0
  18. package/dist/types/components/DataTable/controls/ResetSelectionButton.d.ts +1 -0
  19. package/dist/types/components/DataTable/controls/ResetSortingButton.d.ts +1 -0
  20. package/dist/types/components/DataTable/controls/RowCountText.d.ts +1 -0
  21. package/dist/types/components/DataTable/controls/SelectAllRowsToggle.d.ts +8 -0
  22. package/dist/types/components/DataTable/controls/TableControls.d.ts +29 -0
  23. package/dist/types/components/DataTable/controls/TableFilterTags.d.ts +1 -0
  24. package/dist/types/components/DataTable/controls/TableFilters.d.ts +1 -0
  25. package/dist/types/components/DataTable/controls/TableSelector.d.ts +1 -0
  26. package/dist/types/components/DataTable/controls/TableSorter.d.ts +1 -0
  27. package/dist/types/components/DataTable/controls/TableViewer.d.ts +1 -0
  28. package/dist/types/components/DataTable/controls/ViewDialog.d.ts +5 -0
  29. package/dist/types/components/DataTable/display/CardHeader.d.ts +13 -0
  30. package/dist/types/components/DataTable/display/DataDisplay.d.ts +6 -0
  31. package/dist/types/components/DataTable/display/EmptyState.d.ts +5 -0
  32. package/dist/types/components/DataTable/display/ErrorAlert.d.ts +4 -0
  33. package/dist/types/components/DataTable/display/RecordDisplay.d.ts +9 -0
  34. package/dist/types/components/DataTable/display/Table.d.ts +10 -0
  35. package/dist/types/components/DataTable/display/TableBody.d.ts +20 -0
  36. package/dist/types/components/DataTable/display/TableCardContainer.d.ts +10 -0
  37. package/dist/types/components/DataTable/display/TableCards.d.ts +11 -0
  38. package/dist/types/components/DataTable/display/TableComponent.d.ts +6 -0
  39. package/dist/types/components/DataTable/display/TableDataDisplay.d.ts +6 -0
  40. package/dist/types/components/DataTable/display/TableFooter.d.ts +5 -0
  41. package/dist/types/components/DataTable/display/TableHeader.d.ts +51 -0
  42. package/dist/types/components/DataTable/display/TableLoadingComponent.d.ts +5 -0
  43. package/dist/types/components/DataTable/display/TextCell.d.ts +10 -0
  44. package/dist/types/components/DataTable/useDataTable.d.ts +1 -1
  45. package/dist/types/components/DatePicker/DatePicker.d.ts +23 -0
  46. package/dist/types/components/DatePicker/DateTimePicker.d.ts +11 -0
  47. package/dist/types/components/DatePicker/DurationPicker.d.ts +12 -0
  48. package/dist/types/components/DatePicker/IsoTimePicker.d.ts +16 -0
  49. package/dist/types/components/DatePicker/PickerDemo.d.ts +1 -0
  50. package/dist/types/components/DatePicker/UniversalPicker.d.ts +9 -0
  51. package/dist/types/components/DatePicker/index.d.ts +7 -0
  52. package/dist/types/components/Filter/TagFilter.d.ts +5 -1
  53. package/dist/types/components/Form/SchemaFormContext.d.ts +3 -1
  54. package/dist/types/components/Form/components/core/DefaultForm.d.ts +2 -1
  55. package/dist/types/components/Form/components/core/FormRoot.d.ts +4 -2
  56. package/dist/types/components/Form/components/fields/CustomInput.d.ts +8 -0
  57. package/dist/types/components/Form/components/fields/DatePicker.d.ts +2 -7
  58. package/dist/types/components/Form/components/fields/DateTimePicker.d.ts +2 -0
  59. package/dist/types/components/Form/components/fields/EnumPicker.d.ts +2 -1
  60. package/dist/types/components/Form/components/fields/FilePicker.d.ts +2 -5
  61. package/dist/types/components/Form/components/fields/StringInputField.d.ts +2 -5
  62. package/dist/types/components/Form/components/fields/TextAreaInput.d.ts +12 -0
  63. package/dist/types/components/Form/components/fields/TimePicker.d.ts +7 -0
  64. package/dist/types/components/Form/components/fields/types.d.ts +6 -0
  65. package/dist/types/components/Form/components/types/CustomJSONSchema7.d.ts +19 -1
  66. package/dist/types/components/Form/components/viewers/CustomViewer.d.ts +8 -0
  67. package/dist/types/components/Form/components/viewers/DateTimeViewer.d.ts +7 -0
  68. package/dist/types/components/Form/components/viewers/TextAreaViewer.d.ts +12 -0
  69. package/dist/types/components/Form/components/viewers/TimeViewer.d.ts +7 -0
  70. package/dist/types/components/Form/utils/translateWrapper.d.ts +6 -0
  71. package/dist/types/components/Form/utils/validation.d.ts +104 -0
  72. package/dist/types/components/TimePicker/TimePicker.d.ts +20 -0
  73. package/dist/types/index.d.ts +48 -33
  74. package/package.json +9 -2
@@ -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,30 @@
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
+ globalFilterPlaceholder: string;
19
+ trueLabel: string;
20
+ falseLabel: string;
21
+ }
22
+ export interface DataTableContextProps<TData = unknown> extends DataTableProps {
5
23
  table: Table<TData>;
6
24
  globalFilter: string;
7
25
  setGlobalFilter: OnChangeFn<string>;
8
26
  type: "client" | "server";
9
- translate: UseTranslationResponse<any, any>;
27
+ translate: UseTranslationResponse<any, unknown>;
28
+ tableLabel: DataTableLabel;
10
29
  }
11
- export declare const DataTableContext: import("react").Context<DataTableContext<unknown>>;
30
+ 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,29 @@
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
+ 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 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;
@@ -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;
@@ -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: string[];
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,6 +1,6 @@
1
1
  import { AxiosRequestConfig } from "axios";
2
2
  import { JSONSchema7 } from "json-schema";
3
- import { Dispatch, SetStateAction } from "react";
3
+ import { Dispatch, ReactNode, SetStateAction } from "react";
4
4
  import { FieldValues } from "react-hook-form";
5
5
  import { UseTranslationResponse } from "react-i18next";
6
6
  export interface SchemaFormContext<TData extends FieldValues> {
@@ -29,5 +29,7 @@ export interface SchemaFormContext<TData extends FieldValues> {
29
29
  error: unknown;
30
30
  setError: Dispatch<SetStateAction<unknown>>;
31
31
  getUpdatedData: () => TData | Promise<TData>;
32
+ customErrorRenderer?: (error: unknown) => ReactNode;
33
+ timezone?: string;
32
34
  }
33
35
  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
- 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;