mig-schema-table 4.0.7 → 4.0.8

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.
@@ -0,0 +1,9 @@
1
+ interface IColumnResizersProps {
2
+ columnWidths: number[];
3
+ onColumnWidthsChange: (newColumnWidths: number[]) => void;
4
+ resizeColumnIndex: number;
5
+ setResizeColumnIndex: (newResizeColumnIndex: number) => void;
6
+ tableBodyHeight: number;
7
+ }
8
+ declare const ColumnResizers: ({ columnWidths, onColumnWidthsChange, resizeColumnIndex, setResizeColumnIndex, tableBodyHeight, }: IColumnResizersProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default ColumnResizers;
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ import { oas31 } from 'openapi3-ts';
3
+ import { IColumnConfig, IRenderData } from '../../types';
4
+
5
+ interface ITdProps<T> {
6
+ checkedIndexes?: number[];
7
+ disabledCheckedIndexes?: number[];
8
+ columnIndex: number;
9
+ data: T[];
10
+ getRowClassName?: (rowData: T, dataIndex: number, filteredSortedData: IRenderData[]) => string;
11
+ getRowSelected?: (rowData: T, dataIndex: number) => boolean;
12
+ rowIndex: number;
13
+ onCheckedIndexesChange?: (dataIndex: number[]) => void;
14
+ onRowClick?: (rowData: T, dataIndex: number, event: React.MouseEvent) => void;
15
+ onRowDoubleClick?: (rowData: T, dataIndex: number, event: React.MouseEvent) => void;
16
+ propConfig?: IColumnConfig<T>;
17
+ propName: string;
18
+ propSchema?: oas31.SchemaObject;
19
+ sortedRenderData?: IRenderData[];
20
+ style: React.CSSProperties;
21
+ translate: (key: string, ...args: Array<string | number>) => string;
22
+ }
23
+ declare const MemoizedTd: <T>({ checkedIndexes, disabledCheckedIndexes, columnIndex, data, getRowClassName, getRowSelected, onCheckedIndexesChange, onRowClick, onRowDoubleClick, propConfig, propName, propSchema, rowIndex, sortedRenderData, style, translate, }: ITdProps<T>) => import("react/jsx-runtime").JSX.Element | null;
24
+ export default MemoizedTd;
@@ -0,0 +1,26 @@
1
+ import { oas31 } from 'openapi3-ts';
2
+ import { default as React, CSSProperties, Dispatch, SetStateAction } from 'react';
3
+ import { IColumnConfig } from '../../types';
4
+ import { IThMenuConfig } from '../ThMenu';
5
+ import { EColumnFilterStatus } from '../../inc/constant.ts';
6
+
7
+ interface IThProps<T> {
8
+ columnFilterStatus: EColumnFilterStatus;
9
+ isAllChecked?: boolean;
10
+ isSortable: boolean;
11
+ numberOfSelectedRows?: number;
12
+ onColumnPositionChange?: (sourceColumnName: string, destinationColumnName: string) => void;
13
+ onSelectAllIndexesHandler?: (e: React.ChangeEvent<HTMLInputElement>) => void;
14
+ propConfig?: IColumnConfig<T>;
15
+ propIsRequired: boolean;
16
+ propName: string;
17
+ schema?: oas31.SchemaObject;
18
+ setMenuConfig: Dispatch<SetStateAction<IThMenuConfig<T> | undefined>>;
19
+ setSortAsc: Dispatch<SetStateAction<boolean>>;
20
+ setSortColumn: Dispatch<SetStateAction<string>>;
21
+ sortAsc?: boolean;
22
+ style: CSSProperties;
23
+ translate: (key: string, ...args: Array<string | number>) => string;
24
+ }
25
+ declare const MemoizedTh: <T>({ columnFilterStatus, isAllChecked, isSortable, numberOfSelectedRows, onColumnPositionChange, onSelectAllIndexesHandler, propConfig, propIsRequired, propName, schema, setMenuConfig, setSortAsc, setSortColumn, sortAsc, style, translate, }: IThProps<T>) => import("react/jsx-runtime").JSX.Element;
26
+ export default MemoizedTh;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { oas31 } from 'openapi3-ts';
3
+ import { TColumnFilterValue } from '../../index';
4
+
5
+ export interface IFilterMenuComponentProps {
6
+ columnFilterValue: TColumnFilterValue;
7
+ onChange: (newValue: TColumnFilterValue | undefined, persistState?: boolean) => void;
8
+ onInputKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
9
+ propIsRequired: boolean;
10
+ propName: string;
11
+ propSchema?: oas31.SchemaObject;
12
+ translate: (key: string, ...args: Array<string | number>) => string;
13
+ }
14
+ declare const FilterMenuComponent: React.MemoExoticComponent<({ columnFilterValue, onChange, onInputKeyDown, propIsRequired, propName, propSchema, translate, }: IFilterMenuComponentProps) => import("react/jsx-runtime").JSX.Element>;
15
+ export default FilterMenuComponent;
@@ -0,0 +1,26 @@
1
+ import { default as React, Dispatch, SetStateAction } from 'react';
2
+ import { oas31 } from 'openapi3-ts';
3
+ import { TColumnFilterValue } from '../index';
4
+ import { IColumnConfig } from '../../types';
5
+
6
+ export interface IThMenuConfig<T> {
7
+ referenceElement: HTMLElement;
8
+ propName: string;
9
+ propConfig?: IColumnConfig<T>;
10
+ propIsRequired: boolean;
11
+ }
12
+ type TThMenuProps<T> = IThMenuConfig<T> & {
13
+ isSortable: boolean;
14
+ isFilterable: boolean;
15
+ onChange: (newValue: TColumnFilterValue | undefined, persistState?: boolean) => void;
16
+ onClose: (e: MouseEvent | React.MouseEvent) => void;
17
+ onInputKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;
18
+ propIsRequired: boolean;
19
+ propSchema: oas31.SchemaObject;
20
+ setSortAsc: Dispatch<SetStateAction<boolean>>;
21
+ setSortColumn: Dispatch<SetStateAction<string>>;
22
+ translate: (key: string, ...args: Array<string | number>) => string;
23
+ value: TColumnFilterValue;
24
+ };
25
+ declare const MemoizedThMenu: <T>({ isSortable, isFilterable, onChange, onClose, onInputKeyDown, propConfig, propIsRequired, propName, propSchema, referenceElement, setSortAsc, setSortColumn, translate, value, }: TThMenuProps<T>) => import("react/jsx-runtime").JSX.Element | null;
26
+ export default MemoizedThMenu;
@@ -0,0 +1,2 @@
1
+ export declare const SELECT_ALL_COLUMN_NAME = "SELECT_ALL_COLUMN_NAME";
2
+ export declare const SELECT_ALL_COLUMN_WIDTH = 40;
@@ -0,0 +1,73 @@
1
+ import { default as React, Dispatch, SetStateAction } from 'react';
2
+ import { oas31 } from 'openapi3-ts';
3
+ import { VariableSizeGrid, VariableSizeListProps } from 'react-window';
4
+ import { IColumnConfig, IRenderData } from '../types';
5
+ import { ENumberColumnFilterOperation } from '../inc/constant';
6
+
7
+ export interface IGetDataProps {
8
+ searchQuery: string;
9
+ columnFilterMap: {
10
+ [propName: string]: TColumnFilterValue;
11
+ };
12
+ sortColumn?: string;
13
+ sortAsc: boolean;
14
+ }
15
+ interface IColumnFilterMap {
16
+ [propName: string]: TColumnFilterValue;
17
+ }
18
+ export interface ISchemaTableProps<T> {
19
+ Heading?: React.FC<VariableSizeListProps & {
20
+ setSortAsc: Dispatch<SetStateAction<boolean>>;
21
+ setSortColumn: Dispatch<SetStateAction<string>>;
22
+ sortAsc: boolean;
23
+ sortColumn: string;
24
+ sortedRenderData?: IRenderData[];
25
+ }>;
26
+ checkedIndexes?: number[];
27
+ config?: {
28
+ [propName: string]: IColumnConfig<T>;
29
+ };
30
+ customElement?: React.ReactNode;
31
+ data: T[] | ((getDataProps: IGetDataProps) => Promise<T[]>);
32
+ defaultColumnFilters?: IColumnFilterMap;
33
+ defaultSortAsc?: boolean;
34
+ defaultSortColumn?: keyof T;
35
+ disabledCheckedIndexes?: number[];
36
+ enableAutoFocus?: boolean;
37
+ enableRowCounter?: boolean;
38
+ getRowClassName?: (rowData: T, dataIndex: number, filteredSortedData: IRenderData[]) => string;
39
+ getRowSelected?: (rowData: T, dataIndex: number) => boolean;
40
+ isColumnFilterable?: boolean;
41
+ isExportable?: boolean;
42
+ isResizable?: boolean;
43
+ isSearchable?: boolean;
44
+ isSortable?: boolean;
45
+ maxHeight?: number;
46
+ onCheckedIndexesChange?: (dataIndex: number[]) => void;
47
+ onRowClick?: (rowData: T, dataIndex: number, event: React.MouseEvent) => void;
48
+ onRowDoubleClick?: (rowData: T, dataIndex: number, event: React.MouseEvent) => void;
49
+ onSearchEnter?: (searchQuery: string) => void;
50
+ rowHeight?: number;
51
+ schema: oas31.SchemaObject;
52
+ searchPlaceholder?: string;
53
+ settingsStorageKey?: string;
54
+ style?: React.CSSProperties;
55
+ translate?: (key: string, ...args: Array<string | number>) => string;
56
+ useFilterStateHash?: boolean;
57
+ width: number;
58
+ tableRef?: React.RefObject<VariableSizeGrid>;
59
+ }
60
+ export interface IDateColumnFilterValue {
61
+ from?: Date;
62
+ to?: Date;
63
+ filterEmpty?: true;
64
+ }
65
+ export interface INumberColumnFilterValue {
66
+ [ENumberColumnFilterOperation.GT]: number;
67
+ [ENumberColumnFilterOperation.LT]: number;
68
+ [ENumberColumnFilterOperation.EQ]: number;
69
+ filterEmpty?: true;
70
+ }
71
+ export type TColumnFilterValue = string | boolean | number | IDateColumnFilterValue | INumberColumnFilterValue;
72
+ declare const MemoizedSchemaTable: <T>({ Heading, checkedIndexes, config, customElement, data, defaultColumnFilters, defaultSortAsc, defaultSortColumn, disabledCheckedIndexes, enableAutoFocus, enableRowCounter, getRowClassName, getRowSelected, isColumnFilterable, isExportable, isResizable, isSearchable, isSortable, maxHeight, onCheckedIndexesChange, onRowClick, onRowDoubleClick, onSearchEnter, rowHeight, schema, searchPlaceholder, settingsStorageKey, style, translate, useFilterStateHash, width, tableRef, }: ISchemaTableProps<T>) => import("react/jsx-runtime").JSX.Element;
73
+ export default MemoizedSchemaTable;
@@ -0,0 +1,3 @@
1
+ import { IRenderData } from '../../types.ts';
2
+
3
+ export declare const renderDataToExcel: (sortedRenderData: IRenderData[]) => void;
@@ -0,0 +1,14 @@
1
+ export declare const DEFAULT_DATE_FORMAT = "dd MMM yyyy";
2
+ export declare const DEFAULT_DATE_TIME_FORMAT = "dd MMM yyyy HH:mm";
3
+ export declare const MINIMUM_COLUMN_WIDTH = 25;
4
+ export declare const RESIZER_WIDTH = 3;
5
+ export declare enum ENumberColumnFilterOperation {
6
+ "GT" = "GT",
7
+ "LT" = "LT",
8
+ "EQ" = "EQ"
9
+ }
10
+ export declare enum EColumnFilterStatus {
11
+ UNAVAILABLE = "UNAVAILABLE",
12
+ AVAILABLE = "AVAILABLE",
13
+ ACTIVE = "ACTIVE"
14
+ }
@@ -0,0 +1,2 @@
1
+ export declare const parseLocationHash: <T extends object>(search: string) => T | null;
2
+ export declare const serializeLocationHash: (params: object) => string;
@@ -0,0 +1,3 @@
1
+ export declare const localeFormat: (date: Date | number, dateFormat: string) => string;
2
+ export declare const localeFormatInTimeZone: (date: Date | number, timezone: string, dateFormat: string) => string;
3
+ export declare const timeZone: string;
@@ -0,0 +1,3 @@
1
+ import { SchemaObject } from 'openapi3-ts/oas31';
2
+
3
+ export declare function getEmptyObject<T>(schema: SchemaObject): T;
@@ -0,0 +1,2 @@
1
+ export declare function uncamel(camel: string): string;
2
+ export declare function defaultTranslate(key: string, ...args: (string | number)[]): string;
@@ -0,0 +1,8 @@
1
+ import { default as SchemaTable, ISchemaTableProps, TColumnFilterValue } from './SchemaTable';
2
+ import { IColumnConfig, IRenderData, ITdBodyProps } from './types';
3
+ import { default as Th } from './SchemaTable/Th';
4
+ import { DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, EColumnFilterStatus, MINIMUM_COLUMN_WIDTH, RESIZER_WIDTH } from './inc/constant';
5
+ import { IFilterMenuComponentProps } from './SchemaTable/ThMenu/FilterMenuComponent';
6
+
7
+ export type { IColumnConfig, IRenderData, TColumnFilterValue, ISchemaTableProps, IFilterMenuComponentProps, ITdBodyProps };
8
+ export { DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, EColumnFilterStatus, MINIMUM_COLUMN_WIDTH, RESIZER_WIDTH, SchemaTable, Th, };
@@ -0,0 +1,32 @@
1
+ import { default as React } from 'react';
2
+ import { TColumnFilterValue } from './SchemaTable';
3
+ import { IFilterMenuComponentProps } from './SchemaTable/ThMenu/FilterMenuComponent';
4
+
5
+ export interface ITdBodyProps<T> {
6
+ rowData: T;
7
+ dataIndex: number;
8
+ rowIndex: number;
9
+ }
10
+ export interface IColumnConfig<T> {
11
+ FilterMenu?: React.ComponentType<IFilterMenuComponentProps>;
12
+ align?: "start" | "center" | "end";
13
+ dateFormat?: string;
14
+ defaultSortDesc?: boolean;
15
+ filter?: (rowData: T, columnFilterValue: TColumnFilterValue) => boolean;
16
+ hidden?: boolean;
17
+ hoverTitle?: string;
18
+ isFilterable?: boolean;
19
+ order?: number;
20
+ TdBody?: React.ComponentType<ITdBodyProps<T>>;
21
+ renderData?: (rowData: T, dataIndex: number) => string;
22
+ showTimezones?: false;
23
+ sort?: (a: T, b: T, sortAsc: boolean) => number;
24
+ sortByValue?: boolean;
25
+ isSortable?: boolean;
26
+ title?: string | React.ReactElement;
27
+ width?: number;
28
+ }
29
+ export interface IRenderData {
30
+ _index: number;
31
+ [key: string]: string;
32
+ }
@@ -1,4 +1,4 @@
1
- import { c as $t, l as Ve } from "./index-D0LyByZk.js";
1
+ import { c as $t, l as Ve } from "./index-D9lDdiIf.js";
2
2
  function Fe(ye) {
3
3
  throw new Error('Could not dynamically require "' + ye + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
4
4
  }