@apia/table2-controller 5.0.0 → 5.0.1
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/dist/data/TableController.d.ts +174 -0
- package/dist/data/TableController.d.ts.map +1 -0
- package/dist/data/TableController.js +348 -0
- package/dist/data/TableController.js.map +1 -0
- package/dist/data/body/TableBody.d.ts +16 -0
- package/dist/data/body/TableBody.d.ts.map +1 -0
- package/dist/data/body/TableBody.js +35 -0
- package/dist/data/body/TableBody.js.map +1 -0
- package/dist/data/filter/ComboFilter.d.ts +18 -0
- package/dist/data/filter/ComboFilter.d.ts.map +1 -0
- package/dist/data/filter/ComboFilter.js +32 -0
- package/dist/data/filter/ComboFilter.js.map +1 -0
- package/dist/data/filter/DateFilter.d.ts +7 -0
- package/dist/data/filter/DateFilter.d.ts.map +1 -0
- package/dist/data/filter/DateFilter.js +7 -0
- package/dist/data/filter/DateFilter.js.map +1 -0
- package/dist/data/filter/DateRangeFilter.d.ts +52 -0
- package/dist/data/filter/DateRangeFilter.d.ts.map +1 -0
- package/dist/data/filter/DateRangeFilter.js +208 -0
- package/dist/data/filter/DateRangeFilter.js.map +1 -0
- package/dist/data/filter/DateTimeRangeFilter.d.ts +23 -0
- package/dist/data/filter/DateTimeRangeFilter.d.ts.map +1 -0
- package/dist/data/filter/DateTimeRangeFilter.js +87 -0
- package/dist/data/filter/DateTimeRangeFilter.js.map +1 -0
- package/dist/data/filter/Filter.d.ts +49 -0
- package/dist/data/filter/Filter.d.ts.map +1 -0
- package/dist/data/filter/Filter.js +63 -0
- package/dist/data/filter/Filter.js.map +1 -0
- package/dist/data/head/Column.d.ts +23 -0
- package/dist/data/head/Column.d.ts.map +1 -0
- package/dist/data/head/Column.js +26 -0
- package/dist/data/head/Column.js.map +1 -0
- package/dist/data/head/Columns.d.ts +16 -0
- package/dist/data/head/Columns.d.ts.map +1 -0
- package/dist/data/head/Columns.js +57 -0
- package/dist/data/head/Columns.js.map +1 -0
- package/dist/data/head/Filters.d.ts +20 -0
- package/dist/data/head/Filters.d.ts.map +1 -0
- package/dist/data/head/Filters.js +132 -0
- package/dist/data/head/Filters.js.map +1 -0
- package/dist/data/head/NullFilter.js +25 -0
- package/dist/data/head/NullFilter.js.map +1 -0
- package/dist/data/head/TableHead.d.ts +26 -0
- package/dist/data/head/TableHead.d.ts.map +1 -0
- package/dist/data/head/TableHead.js +59 -0
- package/dist/data/head/TableHead.js.map +1 -0
- package/dist/data/plugins/FocusControllerPlugin/index.d.ts +26 -0
- package/dist/data/plugins/FocusControllerPlugin/index.d.ts.map +1 -0
- package/dist/data/plugins/FocusControllerPlugin/index.js +130 -0
- package/dist/data/plugins/FocusControllerPlugin/index.js.map +1 -0
- package/dist/data/plugins/FocusControllerPlugin/useFocusByClick.js +80 -0
- package/dist/data/plugins/FocusControllerPlugin/useFocusByClick.js.map +1 -0
- package/dist/data/plugins/FocusControllerPlugin/useFocusByKey.js +156 -0
- package/dist/data/plugins/FocusControllerPlugin/useFocusByKey.js.map +1 -0
- package/dist/data/plugins/TablePlugin.d.ts +30 -0
- package/dist/data/plugins/TablePlugin.d.ts.map +1 -0
- package/dist/data/plugins/TablePlugin.js +10 -0
- package/dist/data/plugins/TablePlugin.js.map +1 -0
- package/dist/data/plugins/WaiAriaPlugin.d.ts +42 -0
- package/dist/data/plugins/WaiAriaPlugin.d.ts.map +1 -0
- package/dist/data/plugins/WaiAriaPlugin.js +29 -0
- package/dist/data/plugins/WaiAriaPlugin.js.map +1 -0
- package/dist/data/primitive/AdditionalCell.d.ts +11 -0
- package/dist/data/primitive/AdditionalCell.d.ts.map +1 -0
- package/dist/data/primitive/AdditionalCell.js +38 -0
- package/dist/data/primitive/AdditionalCell.js.map +1 -0
- package/dist/data/primitive/AdditionalRow.d.ts +12 -0
- package/dist/data/primitive/AdditionalRow.d.ts.map +1 -0
- package/dist/data/primitive/AdditionalRow.js +16 -0
- package/dist/data/primitive/AdditionalRow.js.map +1 -0
- package/dist/data/primitive/Cell.d.ts +39 -0
- package/dist/data/primitive/Cell.d.ts.map +1 -0
- package/dist/data/primitive/Cell.js +41 -0
- package/dist/data/primitive/Cell.js.map +1 -0
- package/dist/data/primitive/Element.d.ts +18 -0
- package/dist/data/primitive/Element.d.ts.map +1 -0
- package/dist/data/primitive/Element.js +40 -0
- package/dist/data/primitive/Element.js.map +1 -0
- package/dist/data/primitive/Row.d.ts +58 -0
- package/dist/data/primitive/Row.d.ts.map +1 -0
- package/dist/data/primitive/Row.js +193 -0
- package/dist/data/primitive/Row.js.map +1 -0
- package/dist/data/primitive/RowsGroup.d.ts +29 -0
- package/dist/data/primitive/RowsGroup.d.ts.map +1 -0
- package/dist/data/primitive/RowsGroup.js +86 -0
- package/dist/data/primitive/RowsGroup.js.map +1 -0
- package/dist/index.d.ts +20 -433
- package/dist/index.js +20 -1300
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,434 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
insertBefore(anchor: Row, newElement: Row): void;
|
|
22
|
-
removeRow(row: Row): void;
|
|
23
|
-
swapRows(a: Row, b: Row): void;
|
|
24
|
-
protected runAddRowPlugin(newRow: Row): void;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
type RowProperties = {
|
|
28
|
-
id: string;
|
|
29
|
-
cells: Cell[];
|
|
30
|
-
isExpandible?: boolean;
|
|
31
|
-
isExpanded?: boolean;
|
|
32
|
-
isHidden?: boolean;
|
|
33
|
-
isSelectable?: boolean;
|
|
34
|
-
isSelected?: boolean;
|
|
35
|
-
domProperties?: HTMLAttributes<HTMLTableRowElement>;
|
|
36
|
-
properties?: Record<string, unknown>;
|
|
37
|
-
};
|
|
38
|
-
type TBuildRow = Omit<RowProperties, 'cells'> & {
|
|
39
|
-
cells: (Omit<CellState, 'colName'> & {
|
|
40
|
-
colName?: string;
|
|
41
|
-
})[];
|
|
42
|
-
};
|
|
43
|
-
type RowState = Omit<RowProperties, 'isSelected'>;
|
|
44
|
-
declare class Row extends Element<RowState> {
|
|
45
|
-
protected properties?: Omit<RowProperties, "id"> | undefined;
|
|
46
|
-
protected container: null | RowsGroup<RowsGroupBaseState>;
|
|
47
|
-
hiddenCells: Map<string, Cell>;
|
|
48
|
-
addCell(cell: Cell): this;
|
|
49
|
-
addCellAfter(anchor: Cell, newElement: Cell): void;
|
|
50
|
-
addCellBefore(anchor: Cell, newElement: Cell): void;
|
|
51
|
-
build(data: TBuildRow): void;
|
|
52
|
-
constructor(id: string, properties?: Omit<RowProperties, "id"> | undefined);
|
|
53
|
-
get cells(): Cell[];
|
|
54
|
-
get isSelected(): boolean;
|
|
55
|
-
getCellByColumnName(colName: string): Cell<CellState<any>> | undefined;
|
|
56
|
-
getCellByIndex(index: number): Cell<CellState<any>>;
|
|
57
|
-
getCellIndex(cell: Cell): number;
|
|
58
|
-
getContainer(): RowsGroup<RowsGroupBaseState> | null;
|
|
59
|
-
getFollowingRow(): Row;
|
|
60
|
-
getHiddenCell(colName: string): Cell<CellState<any>> | undefined;
|
|
61
|
-
getIndex(): number;
|
|
62
|
-
getPreviousRow(): Row;
|
|
63
|
-
insertAfter(row: Row): void;
|
|
64
|
-
insertBefore(row: Row): void;
|
|
65
|
-
remove(): void;
|
|
66
|
-
replaceCellOnIndex(index: number, newCell: Cell): void;
|
|
67
|
-
scrollIntoView(): void;
|
|
68
|
-
setContainer(container: null | RowsGroup<RowsGroupBaseState>): this;
|
|
69
|
-
setTable(table: null | TableController): this;
|
|
70
|
-
swap(withRow: Row): void;
|
|
71
|
-
toggleSelection(forceState?: boolean): void;
|
|
72
|
-
protected attachCell(cell: Cell): void;
|
|
73
|
-
protected detachCell(cell: Cell): void;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
type TableBodyState = ElementBaseState & RowsGroupBaseState & {};
|
|
77
|
-
type TBuildBody = {
|
|
78
|
-
rows: TBuildRow[];
|
|
79
|
-
};
|
|
80
|
-
declare class TableBody extends RowsGroup<TableBodyState> {
|
|
81
|
-
constructor(table: TableController);
|
|
82
|
-
build(data: TBuildBody): void;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
type ColumnState<T extends ColumnState<any> = ColumnState<any>> = CellState<T> & {
|
|
86
|
-
asAdditional?: boolean;
|
|
87
|
-
sortable?: boolean;
|
|
88
|
-
sortState?: TSortType;
|
|
89
|
-
};
|
|
90
|
-
declare class Column extends Cell<ColumnState> {
|
|
91
|
-
asAdditional(): boolean;
|
|
92
|
-
isHidden(): boolean;
|
|
93
|
-
/**
|
|
94
|
-
* A visible column is that which is not additional nor hidden.
|
|
95
|
-
*/
|
|
96
|
-
isVisible(): boolean;
|
|
97
|
-
sort(order?: ColumnState['sortState']): void;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
declare class Filters extends Row {
|
|
101
|
-
filters: Map<string, Filter<any>>;
|
|
102
|
-
private buildFilterFromDefinition;
|
|
103
|
-
buildFilters(filters: Omit<FilterState, 'colName'>[]): boolean;
|
|
104
|
-
getAdditionalFilters(): Filter<any>[];
|
|
105
|
-
getCells(): Filter<string>[];
|
|
106
|
-
getContainer(): TableHead;
|
|
107
|
-
getFilter(name: string): Filter<any> | undefined;
|
|
108
|
-
getFilters(): Filter<any>[];
|
|
109
|
-
getFiltersInTable(): Filter<any>[];
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
type FilterRenderer = FC<{
|
|
113
|
-
cell: Filter<any>;
|
|
114
|
-
}>;
|
|
115
|
-
type FilterState<ValueType = string, T extends FilterState<any> = FilterState<ValueType, any>> = CellState<T> & {
|
|
116
|
-
asAdditional?: boolean;
|
|
117
|
-
name: string;
|
|
118
|
-
columnName?: string;
|
|
119
|
-
isRequired?: boolean;
|
|
120
|
-
Renderer?: FilterRenderer;
|
|
121
|
-
runAutomatically?: boolean;
|
|
122
|
-
title: string;
|
|
123
|
-
tooltip: string;
|
|
124
|
-
value: ValueType;
|
|
125
|
-
type: 'DATE' | 'INPUT' | 'COMBO' | 'DATERANGE' | 'SIZE' | 'SIZERANGE' | 'DATEHOUR' | 'DATEHOURRANGE';
|
|
126
|
-
};
|
|
127
|
-
type FilterEvents = Pick<TableEvents, 'filterBlur' | 'filterChange' | 'filterPressEnter'>;
|
|
128
|
-
declare class Filter<ValueType = string> extends Cell<FilterState<ValueType>> {
|
|
129
|
-
asAdditional(): boolean;
|
|
130
|
-
constructor(state: FilterState<ValueType>);
|
|
131
|
-
clear(): void;
|
|
132
|
-
getCorrespondingColumn(): Column | undefined;
|
|
133
|
-
fire(ev: keyof FilterEvents): void;
|
|
134
|
-
getRow(): Filters;
|
|
135
|
-
getValue(): ValueType;
|
|
136
|
-
hasValue(): boolean;
|
|
137
|
-
setValue(val: ValueType): void;
|
|
138
|
-
validate(): boolean;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
declare class Columns extends Row {
|
|
142
|
-
columns: Map<string, Column>;
|
|
143
|
-
buildColumnsRow(columns: ColumnState[]): void;
|
|
144
|
-
getColumn(name: string): Column;
|
|
145
|
-
getColumns(): Column[];
|
|
146
|
-
getAdditionalColumns(): Column[];
|
|
147
|
-
getShownColumns(): Column[];
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
type TableHeadState = ElementBaseState & RowsGroupBaseState & {};
|
|
151
|
-
type TBuildHead = {
|
|
152
|
-
columns: ColumnState[];
|
|
153
|
-
filters: Omit<FilterState, 'colName'>[];
|
|
154
|
-
};
|
|
155
|
-
declare class TableHead extends RowsGroup<TableHeadState> {
|
|
156
|
-
constructor(table: TableController);
|
|
157
|
-
columnsRow: Columns | null;
|
|
158
|
-
filtersRow: Filters | null;
|
|
159
|
-
getHeaderRow(): Columns | undefined;
|
|
160
|
-
getFiltersRow(): Filters | undefined;
|
|
161
|
-
build(data: TBuildHead): void;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* This class is the default way to customize the table behavior.
|
|
166
|
-
*/
|
|
167
|
-
interface TablePlugin {
|
|
168
|
-
getRenderers?: () => {
|
|
169
|
-
cell?: React.FC<{
|
|
170
|
-
cell: Cell;
|
|
171
|
-
}>;
|
|
172
|
-
};
|
|
173
|
-
onAddRow?: (controller: TableController, target: RowsGroup<any>, newRow: Row) => void;
|
|
174
|
-
onResize?: (controller: TableController, colName: string, newSize: number) => void;
|
|
175
|
-
/**
|
|
176
|
-
* This hook is called when the table is renderized.
|
|
177
|
-
* The elements returned by this hook will be added to the dom of the element.
|
|
178
|
-
*/
|
|
179
|
-
useElementDomProps?: (controller: TableController, _element: TableController | Element<any>, _context: any) => HTMLAttributes<HTMLElement>;
|
|
180
|
-
}
|
|
181
|
-
declare const defaultPlugins: () => (WaiAriaPlugin | FocusControllerPlugin)[];
|
|
182
|
-
|
|
183
|
-
type TableState = {
|
|
184
|
-
allowEdition: boolean;
|
|
185
|
-
allowResize: boolean;
|
|
186
|
-
allowSelection: boolean;
|
|
187
|
-
editionMode: boolean;
|
|
188
|
-
focusedCell: Cell | null;
|
|
189
|
-
isSelectionMultiple: boolean;
|
|
190
|
-
onRowExpand?: (row: Row) => Promise<false | ReactNode>;
|
|
191
|
-
plugins: TablePlugin[];
|
|
192
|
-
selection: Set<Row>;
|
|
193
|
-
};
|
|
194
|
-
type TBuildTable = TBuildHead & TBuildBody;
|
|
195
|
-
type TableEvents = {
|
|
196
|
-
cellFocus: {
|
|
197
|
-
cell: Cell;
|
|
198
|
-
doFocus: boolean;
|
|
199
|
-
};
|
|
200
|
-
columnSort: Column;
|
|
201
|
-
editionMode: boolean;
|
|
202
|
-
filterChange: Filter<any>;
|
|
203
|
-
filterPressEnter: Filter<any>;
|
|
204
|
-
filterBlur: Filter<any>;
|
|
205
|
-
keyEnter: null;
|
|
206
|
-
rowDelete: Row;
|
|
207
|
-
scrollIntoRow: Row;
|
|
208
|
-
selectionChange: Row[];
|
|
209
|
-
};
|
|
210
|
-
declare class TableController extends EventEmitter<TableEvents> {
|
|
211
|
-
protected state: TableState;
|
|
212
|
-
constructor(props?: Partial<Omit<TableState, 'selection'>>);
|
|
213
|
-
body: TableBody;
|
|
214
|
-
head: TableHead;
|
|
215
|
-
/**
|
|
216
|
-
* Clears all data in the table, except for the events
|
|
217
|
-
* listeners and recreates the structure based on the passed data.
|
|
218
|
-
*/
|
|
219
|
-
build(data: TBuildTable): void;
|
|
220
|
-
fromGenericTable(table: TLoadStructure): void;
|
|
221
|
-
getColumn(name: string): Column | undefined;
|
|
222
|
-
getColumns(): Column[];
|
|
223
|
-
getFilter(name: string): Filter<any> | undefined;
|
|
224
|
-
getFilters(): Filter<any>[];
|
|
225
|
-
getRowById(id: string | number): Row | undefined;
|
|
226
|
-
hasAdditionalContent(): true | ((row: Row) => Promise<false | ReactNode>) | undefined;
|
|
227
|
-
onRowExpand(row: Row): string | Promise<ReactNode> | undefined;
|
|
228
|
-
/**
|
|
229
|
-
* EDITION MODE
|
|
230
|
-
*/
|
|
231
|
-
get isEditionMode(): boolean;
|
|
232
|
-
toggleEditionMode(force?: boolean): void;
|
|
233
|
-
/**
|
|
234
|
-
* SELECTION
|
|
235
|
-
*/
|
|
236
|
-
clearSelection(): void;
|
|
237
|
-
/**
|
|
238
|
-
* Returns the selected rows.
|
|
239
|
-
*/
|
|
240
|
-
getSelectedRows(): Row[];
|
|
241
|
-
isSelected(row: Row): boolean;
|
|
242
|
-
toggleColumnVisibility(colName: string, isVisible?: boolean): void;
|
|
243
|
-
toggleFiltersRowVisibility(): void;
|
|
244
|
-
/**
|
|
245
|
-
* Toggles the selection state of a given row.
|
|
246
|
-
*
|
|
247
|
-
* If the `isSelected` parameter is provided, it explicitly sets the selection
|
|
248
|
-
* state of the row to the given value (`true` for selected, `false` for deselected).
|
|
249
|
-
* If `isSelected` is not provided, the method will toggle the current selection state
|
|
250
|
-
* of the row (i.e., select it if it's currently not selected, or deselect it if it is).
|
|
251
|
-
*
|
|
252
|
-
* @param row - The row to toggle selection for.
|
|
253
|
-
* @param isSelected - Optional. A boolean indicating whether the row should be selected (`true`)
|
|
254
|
-
* or deselected (`false`). If not provided, the selection state will be toggled.
|
|
255
|
-
*/
|
|
256
|
-
toggleRowSelection(row: Row, isSelected?: boolean): void;
|
|
257
|
-
protected restoreFocus(): void;
|
|
258
|
-
removeRow(row: Row): void;
|
|
259
|
-
/**
|
|
260
|
-
* FOCUS
|
|
261
|
-
*/
|
|
262
|
-
/**
|
|
263
|
-
* @returns The currently focused cell in the table.
|
|
264
|
-
*/
|
|
265
|
-
getFocusedCell(): Cell<CellState<any>> | null;
|
|
266
|
-
setFocusedCell(cell: Cell, doFocus?: boolean): void;
|
|
267
|
-
setSelection(indices: number[]): void;
|
|
268
|
-
scrollRowIntoView(row: Row): void;
|
|
269
|
-
/**
|
|
270
|
-
* STATE
|
|
271
|
-
*/
|
|
272
|
-
/**
|
|
273
|
-
* Returns the current state of the `TableController` instance.
|
|
274
|
-
*
|
|
275
|
-
* @param prop - The property of the state to retrieve.
|
|
276
|
-
*/
|
|
277
|
-
getState<K extends keyof TableState>(prop: K): TableState[K];
|
|
278
|
-
/**
|
|
279
|
-
* Updates the state of the `TableController` instance.
|
|
280
|
-
*
|
|
281
|
-
* This method provides two overloads:
|
|
282
|
-
* 1. A callback function that takes the current state and returns a new state.
|
|
283
|
-
* 2. A key-value pair where the key is a property of the state, and the value is the new value for that property.
|
|
284
|
-
*
|
|
285
|
-
* @param prop - Either a callback function to update the state or the key of the state property to update.
|
|
286
|
-
* @param value - (Optional) The new value for the specified state property. This is required if `prop` is a key.
|
|
287
|
-
*
|
|
288
|
-
* @returns The `TableController` instance for method chaining.
|
|
289
|
-
*
|
|
290
|
-
* ### Usage:
|
|
291
|
-
*
|
|
292
|
-
* **Using a callback function:**
|
|
293
|
-
* ```tsx
|
|
294
|
-
* tableController.setState((state) => ({
|
|
295
|
-
* ...state,
|
|
296
|
-
* allowEdition: false,
|
|
297
|
-
* }));
|
|
298
|
-
* ```
|
|
299
|
-
*
|
|
300
|
-
* **Using a key-value pair:**
|
|
301
|
-
* ```tsx
|
|
302
|
-
* tableController.setState('allowEdition', false);
|
|
303
|
-
* ```
|
|
304
|
-
*/
|
|
305
|
-
setState(cb: (s: TableState) => TableState): this;
|
|
306
|
-
setState<K extends keyof TableState>(prop: K, value: TableState[K]): this;
|
|
307
|
-
sortColumn(col: Column, sortState?: TSortType): void;
|
|
308
|
-
/**
|
|
309
|
-
* PLUGINS
|
|
310
|
-
*/
|
|
311
|
-
getPluginOfType<T extends TablePlugin>(clazz: new (...args: any[]) => T): T | undefined;
|
|
312
|
-
/**
|
|
313
|
-
* Sets the plugins for the table.
|
|
314
|
-
*/
|
|
315
|
-
setPlugins(cb: (currentPlugins: TablePlugin[]) => TablePlugin[]): void;
|
|
316
|
-
getApplicablePlugins<K extends keyof TablePlugin>(method: K): ((...args: Parameters<NonNullable<TablePlugin[K]>> extends [
|
|
317
|
-
any,
|
|
318
|
-
...infer Rest
|
|
319
|
-
] ? Rest : void[]) => ReturnType<NonNullable<TablePlugin[K]>>)[];
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
type ElementBaseState = {
|
|
323
|
-
properties?: Record<string, unknown>;
|
|
324
|
-
};
|
|
325
|
-
declare abstract class Element<T extends ElementBaseState> {
|
|
326
|
-
protected state: T;
|
|
327
|
-
protected table: TableController;
|
|
328
|
-
constructor(state: T);
|
|
329
|
-
getTable(): TableController;
|
|
330
|
-
setTable(table: null | TableController): this;
|
|
331
|
-
getState<K extends keyof T>(prop: K): T[K];
|
|
332
|
-
setState(cb: (s: T) => T): this;
|
|
333
|
-
setState<K extends keyof T>(prop: K, value: T[K]): this;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
type CellState<T extends CellState<any> = CellState<any>> = {
|
|
337
|
-
colName: string;
|
|
338
|
-
content?: ReactNode;
|
|
339
|
-
className?: string;
|
|
340
|
-
isFocused?: boolean;
|
|
341
|
-
isHidden?: boolean;
|
|
342
|
-
tag?: 'td' | 'th;';
|
|
343
|
-
Renderer?: FC<{
|
|
344
|
-
cell: Cell<T>;
|
|
345
|
-
}>;
|
|
346
|
-
domProperties?: ThHTMLAttributes<HTMLTableCellElement>;
|
|
347
|
-
properties?: Record<string, unknown>;
|
|
348
|
-
};
|
|
349
|
-
declare class Cell<State extends CellState<any> = CellState<any>> extends Element<State> {
|
|
350
|
-
protected parentRow: Row | null;
|
|
351
|
-
getColumnName(): State["colName"];
|
|
352
|
-
getIndex(): number;
|
|
353
|
-
getRow(): Row | null;
|
|
354
|
-
setRow(row: Row | null): this;
|
|
355
|
-
/**
|
|
356
|
-
*
|
|
357
|
-
* @param doFocus - If true, the cell will be focused after being set as the focused cell.
|
|
358
|
-
* If false, the cell will contain the tabIndex = 0 but will not be focused.
|
|
359
|
-
*/
|
|
360
|
-
focus(doFocus?: boolean): void;
|
|
361
|
-
updateState(state: Partial<State>): void;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
declare class AdditionalCell extends Cell<CellState & {
|
|
365
|
-
expanded: boolean;
|
|
366
|
-
}> {
|
|
367
|
-
constructor();
|
|
368
|
-
onToggle(): Promise<void>;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
declare class AdditionalRow extends Row {
|
|
372
|
-
constructor(id: string);
|
|
373
|
-
get cells(): Cell<CellState<any>>[];
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
declare class FocusControllerPlugin implements TablePlugin {
|
|
377
|
-
rootElement: HTMLElement | null;
|
|
378
|
-
scrollIntoView(rowId: string): void;
|
|
379
|
-
useElementDomProps(controller: TableController, element: TableController | Element<any>, _context: any): {
|
|
380
|
-
className: string;
|
|
381
|
-
onClick: (ev: react.MouseEvent) => void;
|
|
382
|
-
onKeyDown: (ev: react.KeyboardEvent) => void;
|
|
383
|
-
onBlur: (ev: FocusEvent) => void;
|
|
384
|
-
ref: (el: HTMLElement | null) => void;
|
|
385
|
-
} | {
|
|
386
|
-
className?: undefined;
|
|
387
|
-
onClick?: undefined;
|
|
388
|
-
onKeyDown?: undefined;
|
|
389
|
-
onBlur?: undefined;
|
|
390
|
-
ref?: undefined;
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
declare class WaiAriaPlugin implements TablePlugin {
|
|
395
|
-
useElementDomProps(controller: TableController, element: TableController | Element<any>, context: any): {
|
|
396
|
-
'aria-selected': boolean;
|
|
397
|
-
'aria-rowindex': any;
|
|
398
|
-
'aria-colindex'?: undefined;
|
|
399
|
-
role?: undefined;
|
|
400
|
-
'aria-multiselectable'?: undefined;
|
|
401
|
-
'aria-colcount'?: undefined;
|
|
402
|
-
'aria-rowcount'?: undefined;
|
|
403
|
-
} | {
|
|
404
|
-
'aria-colindex': any;
|
|
405
|
-
'aria-selected'?: undefined;
|
|
406
|
-
'aria-rowindex'?: undefined;
|
|
407
|
-
role?: undefined;
|
|
408
|
-
'aria-multiselectable'?: undefined;
|
|
409
|
-
'aria-colcount'?: undefined;
|
|
410
|
-
'aria-rowcount'?: undefined;
|
|
411
|
-
} | {
|
|
412
|
-
role: string;
|
|
413
|
-
'aria-multiselectable': boolean | undefined;
|
|
414
|
-
'aria-colcount': number;
|
|
415
|
-
'aria-rowcount': number;
|
|
416
|
-
'aria-selected'?: undefined;
|
|
417
|
-
'aria-rowindex'?: undefined;
|
|
418
|
-
'aria-colindex'?: undefined;
|
|
419
|
-
} | {
|
|
420
|
-
'aria-selected'?: undefined;
|
|
421
|
-
'aria-rowindex'?: undefined;
|
|
422
|
-
'aria-colindex'?: undefined;
|
|
423
|
-
role?: undefined;
|
|
424
|
-
'aria-multiselectable'?: undefined;
|
|
425
|
-
'aria-colcount'?: undefined;
|
|
426
|
-
'aria-rowcount'?: undefined;
|
|
427
|
-
};
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
declare class DateFilter extends Filter<number | null> {
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
export { AdditionalCell, AdditionalRow, Cell, type CellState, Column, type ColumnState, Columns, DateFilter, Element, type ElementBaseState, Filter, type FilterEvents, type FilterRenderer, type FilterState, Filters, FocusControllerPlugin, Row, type RowProperties, type RowState, RowsGroup, type RowsGroupBaseState, type TBuildBody, type TBuildHead, type TBuildRow, type TBuildTable, TableBody, type TableBodyState, TableController, type TableEvents, TableHead, type TableHeadState, type TablePlugin, type TableState, WaiAriaPlugin, defaultPlugins };
|
|
1
|
+
export { AdditionalCell } from './data/primitive/AdditionalCell.js';
|
|
2
|
+
export { AdditionalRow } from './data/primitive/AdditionalRow.js';
|
|
3
|
+
export { Cell, CellState } from './data/primitive/Cell.js';
|
|
4
|
+
export { Row, RowProperties, RowState, TBuildRow } from './data/primitive/Row.js';
|
|
5
|
+
export { TBuildTable, TTableEnvironment, TableController, TableEvents, TableState } from './data/TableController.js';
|
|
6
|
+
export { TBuildBody, TableBody, TableBodyState } from './data/body/TableBody.js';
|
|
7
|
+
export { TablePlugin, defaultPlugins } from './data/plugins/TablePlugin.js';
|
|
8
|
+
export { FocusControllerPlugin } from './data/plugins/FocusControllerPlugin/index.js';
|
|
9
|
+
export { WaiAriaPlugin } from './data/plugins/WaiAriaPlugin.js';
|
|
10
|
+
export { Element, ElementBaseState } from './data/primitive/Element.js';
|
|
11
|
+
export { RowsGroup, RowsGroupBaseState } from './data/primitive/RowsGroup.js';
|
|
12
|
+
export { Filter, FilterEvents, FilterRenderer, FilterState, TFilterType, TFilterValueType } from './data/filter/Filter.js';
|
|
13
|
+
export { DateFilter } from './data/filter/DateFilter.js';
|
|
14
|
+
export { TBuildHead, TableHead, TableHeadState } from './data/head/TableHead.js';
|
|
15
|
+
export { Column, ColumnState } from './data/head/Column.js';
|
|
16
|
+
export { Columns } from './data/head/Columns.js';
|
|
17
|
+
export { Filters } from './data/head/Filters.js';
|
|
18
|
+
export { ComboFilter } from './data/filter/ComboFilter.js';
|
|
19
|
+
export { DateRangeFilter } from './data/filter/DateRangeFilter.js';
|
|
20
|
+
export { DateTimeRangeFilter } from './data/filter/DateTimeRangeFilter.js';
|
|
434
21
|
//# sourceMappingURL=index.d.ts.map
|