@innovaccer/design-system 4.5.0 → 4.6.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.
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { BaseProps } from "../../../utils/types";
3
3
  export declare type ProgressBarSize = 'small' | 'regular';
4
+ export declare type ProgressBarState = 'default' | 'indeterminate';
4
5
  export interface ProgressBarProps extends BaseProps {
5
- value: number;
6
+ value?: number;
6
7
  max: number;
7
8
  size: ProgressBarSize;
9
+ state?: ProgressBarState;
8
10
  }
9
11
  export declare const ProgressBar: {
10
12
  (props: ProgressBarProps): React.JSX.Element;
@@ -12,6 +14,7 @@ export declare const ProgressBar: {
12
14
  defaultProps: {
13
15
  max: number;
14
16
  size: string;
17
+ state: string;
15
18
  };
16
19
  };
17
20
  export default ProgressBar;
@@ -25,6 +25,7 @@ export declare type fetchDataFunction = (options: FetchDataOptions) => Promise<{
25
25
  count: number;
26
26
  data: Data;
27
27
  schema: Schema;
28
+ totalRowsCount?: number;
28
29
  }>;
29
30
  export declare type updateSortingListFunction = (newSortingList: GridProps['sortingList']) => void;
30
31
  export declare type updateFilterListFunction = (newFilterList: GridProps['filterList']) => void;
@@ -73,6 +74,17 @@ export declare type GridSize = 'comfortable' | 'standard' | 'compressed' | 'tigh
73
74
  export declare type GridType = 'resource' | 'data';
74
75
  export declare type Data = RowData[];
75
76
  export declare type Schema = ColumnSchema[];
77
+ export declare type thresholdTypes = 'early' | 'balanced' | 'lazy' | 'at-end';
78
+ export interface VirtualRowProps {
79
+ visibleRows?: number;
80
+ buffer?: number;
81
+ }
82
+ export interface InfiniteScrollProps {
83
+ fetchRowsCount: number;
84
+ fetchThreshold: thresholdTypes;
85
+ fetchErrorRenderer?: (fetchNextRowsFn: () => Promise<void>) => React.ReactNode;
86
+ retryFetchRenderer?: () => React.ReactNode;
87
+ }
76
88
  export interface GridProps extends BaseProps {
77
89
  size: GridSize;
78
90
  type: GridType;
@@ -112,6 +124,15 @@ export interface GridProps extends BaseProps {
112
124
  headCellTooltip?: boolean;
113
125
  separator?: boolean;
114
126
  showFilters: boolean;
127
+ enableRowVirtualization?: boolean;
128
+ virtualRowOptions: VirtualRowProps;
129
+ enableInfiniteScroll?: boolean;
130
+ infiniteScrollOptions: InfiniteScrollProps;
131
+ onScroll?: (event: Event) => void;
132
+ fetchDataOnScroll?: (props: {
133
+ page: number;
134
+ rowsCount: number;
135
+ }) => Promise<Data>;
115
136
  }
116
137
  export interface GridState {
117
138
  init: boolean;
@@ -1,9 +1,17 @@
1
+ import * as React from 'react';
1
2
  import { GridState, onSelectFn, Schema, updatePrevPageInfoFunction } from "./Grid";
3
+ import { GridProps } from "../../../index.type";
2
4
  export interface GridBodyProps {
3
5
  schema: Schema;
4
6
  onSelect: onSelectFn;
5
7
  prevPageInfo: GridState['prevPageInfo'];
6
8
  updatePrevPageInfo: updatePrevPageInfoFunction;
9
+ virtualRowOptions: GridProps['virtualRowOptions'];
10
+ infiniteScrollOptions: GridProps['infiniteScrollOptions'];
11
+ enableInfiniteScroll?: GridProps['enableInfiniteScroll'];
12
+ onScroll?: GridProps['onScroll'];
13
+ fetchDataOnScroll?: GridProps['fetchDataOnScroll'];
14
+ enableRowVirtualization?: GridProps['enableRowVirtualization'];
7
15
  }
8
- export declare const GridBody: (props: GridBodyProps) => any;
16
+ export declare const GridBody: (props: GridBodyProps) => React.JSX.Element;
9
17
  export default GridBody;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { BaseProps } from "../../../utils/types";
3
+ export declare const isElementInView: (container: HTMLElement, element: Element) => boolean;
4
+ interface VirtualScrollProps extends BaseProps {
5
+ buffer?: number;
6
+ length?: number;
7
+ offset?: number;
8
+ minItemHeight: number;
9
+ totalLength: number;
10
+ renderItem: (index: number, item?: object) => React.ReactElement;
11
+ onScroll?: (event: Event, element: HTMLElement) => void;
12
+ }
13
+ declare const VirtualList: (props: VirtualScrollProps) => React.JSX.Element;
14
+ export default VirtualList;
@@ -31,6 +31,10 @@ export declare const List: {
31
31
  searchDebounceDuration: number;
32
32
  pageJumpDebounceDuration: number;
33
33
  errorTemplate: (props: import("../table").ErrorTemplateProps) => React.JSX.Element;
34
+ infiniteScrollOptions: {
35
+ fetchRowsCount: number;
36
+ fetchThreshold: string;
37
+ };
34
38
  };
35
39
  };
36
40
  export default List;
@@ -36,6 +36,8 @@ export interface HeaderProps extends ExternalHeaderProps {
36
36
  onClearSelection?: () => void;
37
37
  onSelectAllRows?: () => void;
38
38
  uniqueColumnName?: string;
39
+ totalRowsCount?: number;
40
+ enableInfiniteScroll?: boolean;
39
41
  }
40
42
  export declare const Header: {
41
43
  (props: HeaderProps): React.JSX.Element;
@@ -49,6 +49,11 @@ interface SharedTableProps extends BaseProps {
49
49
  selectDisabledRow?: boolean;
50
50
  uniqueColumnName?: string;
51
51
  checkboxAlignment?: 'top' | 'center' | 'bottom';
52
+ enableRowVirtualization?: GridProps['enableRowVirtualization'];
53
+ virtualRowOptions?: GridProps['virtualRowOptions'];
54
+ enableInfiniteScroll?: GridProps['enableInfiniteScroll'];
55
+ infiniteScrollOptions?: GridProps['infiniteScrollOptions'];
56
+ onScroll?: GridProps['onScroll'];
52
57
  }
53
58
  export declare type SyncTableProps = SharedTableProps & TableSyncProps;
54
59
  export declare type AsyncTableProps = SharedTableProps & AsyncProps;
@@ -67,6 +72,7 @@ interface TableState {
67
72
  loading: TableProps['loading'];
68
73
  error: TableProps['error'];
69
74
  errorType?: TableProps['errorType'];
75
+ totalRowsCount?: number;
70
76
  }
71
77
  export declare const defaultProps: {
72
78
  type: string;
@@ -92,6 +98,10 @@ export declare const defaultProps: {
92
98
  searchDebounceDuration: number;
93
99
  pageJumpDebounceDuration: number;
94
100
  errorTemplate: (props: ErrorTemplateProps) => React.JSX.Element;
101
+ infiniteScrollOptions: {
102
+ fetchRowsCount: number;
103
+ fetchThreshold: string;
104
+ };
95
105
  };
96
106
  export declare class Table extends React.Component<TableProps, TableState> {
97
107
  static defaultProps: {
@@ -118,6 +128,10 @@ export declare class Table extends React.Component<TableProps, TableState> {
118
128
  searchDebounceDuration: number;
119
129
  pageJumpDebounceDuration: number;
120
130
  errorTemplate: (props: ErrorTemplateProps) => React.JSX.Element;
131
+ infiniteScrollOptions: {
132
+ fetchRowsCount: number;
133
+ fetchThreshold: string;
134
+ };
121
135
  };
122
136
  debounceUpdate: () => void;
123
137
  selectedRowsRef: React.MutableRefObject<any>;
@@ -127,6 +141,10 @@ export declare class Table extends React.Component<TableProps, TableState> {
127
141
  componentDidMount(): void;
128
142
  componentDidUpdate(prevProps: TableProps, prevState: TableState): void;
129
143
  updateData: (searchUpdate?: boolean | undefined) => void;
144
+ fetchDataOnScroll: (props: {
145
+ page: number;
146
+ rowsCount: number;
147
+ }) => Promise<Data>;
130
148
  updateDataFn: () => void;
131
149
  onSelect: onSelectFn;
132
150
  onSelectAll: onSelectAllFunction;