@rozie-ui/data-table-lit 0.7.0 → 0.7.2

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/index.d.mts CHANGED
@@ -1,6 +1,107 @@
1
1
  import * as _$lit from "lit";
2
2
  import { LitElement } from "lit";
3
+ import { Column as Column$1, ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, ColumnSizingState, ExpandedState, GroupingState, PaginationState, RowSelectionState, SortingState, VisibilityState } from "@tanstack/table-core";
4
+
3
5
  //#region src/DataTable.d.ts
6
+ /** A cell position as integers over the visible (display-order) model. */
7
+ interface DataTableCellPosition {
8
+ rowIndex: number;
9
+ colIndex: number;
10
+ }
11
+ /** The active (roving-focus) cell. A header cell reports `rowIndex: null` and `isHeader: true`. */
12
+ interface DataTableActiveCell {
13
+ rowIndex: number | null;
14
+ colIndex: number;
15
+ isHeader: boolean;
16
+ }
17
+ /** The rectangular cell-range selection. Both corners are `null` when there is no range. */
18
+ interface DataTableRange {
19
+ anchor: DataTableCellPosition | null;
20
+ focus: DataTableCellPosition | null;
21
+ }
22
+ /** One data column offered to the `#groupBar` slot. */
23
+ interface DataTableGroupableColumn {
24
+ id: string;
25
+ label: string;
26
+ }
27
+ /** One changed cell inside a row edit commit. */
28
+ interface DataTableCellChange {
29
+ columnId: string;
30
+ oldValue: any;
31
+ newValue: any;
32
+ }
33
+ /** The `activecell-change` payload. `isHeader` is set when the move landed on or left a header cell. */
34
+ interface DataTableActiveCellChangePayload {
35
+ rowIndex: number | null;
36
+ colIndex: number;
37
+ isHeader?: boolean;
38
+ }
39
+ /** The `cell-edit-commit` payload: one committed cell. */
40
+ interface DataTableCellEditCommitPayload {
41
+ rowId: string;
42
+ columnId: string;
43
+ oldValue: any;
44
+ newValue: any;
45
+ }
46
+ /** The `row-edit-commit` payload: the row and every cell the save changed. */
47
+ interface DataTableRowEditCommitPayload {
48
+ rowId: string;
49
+ changes: DataTableCellChange[];
50
+ }
51
+ /** The `filter-change` payload: `globalFilter` for the search box, `columnFilters` for a per-column filter. Exactly one key is set. */
52
+ interface DataTableFilterChangePayload {
53
+ globalFilter?: string;
54
+ columnFilters?: ColumnFiltersState;
55
+ }
56
+ /** The `history-change` payload: undo/redo availability. */
57
+ interface DataTableHistoryChangePayload {
58
+ canUndo: boolean;
59
+ canRedo: boolean;
60
+ }
61
+ /** The `range-change` payload: the new range corners (both `null` when the range cleared). */
62
+ type DataTableRangeChangePayload = DataTableRange;
63
+ /** The `row-activate` payload. `row` is the original data object and `index` its position in the rendered model. */
64
+ interface DataTableRowActivatePayload {
65
+ row: any;
66
+ index: number;
67
+ trigger: 'keyboard' | 'click';
68
+ }
69
+ /** The `visible-range-change` payload: the rendered row window, `end` exclusive. */
70
+ interface DataTableVisibleRangeChangePayload {
71
+ start: number;
72
+ end: number;
73
+ }
74
+ interface RozieDataTableEventMap extends Omit<HTMLElementEventMap, 'activecell-change' | 'cell-edit-commit' | 'expand-change' | 'filter-change' | 'group-change' | 'history-change' | 'page-change' | 'pin-change' | 'range-change' | 'reorder-change' | 'resize-change' | 'row-activate' | 'row-edit-commit' | 'selection-change' | 'sort-change' | 'visibility-change' | 'visible-range-change' | 'data-change' | 'sorting-change' | 'global-filter-change' | 'column-filters-change' | 'pagination-change' | 'expanded-change' | 'grouping-change' | 'row-selection-change' | 'column-visibility-change' | 'column-sizing-change' | 'column-order-change' | 'column-pinning-change'> {
75
+ 'activecell-change': CustomEvent<DataTableActiveCellChangePayload>;
76
+ 'cell-edit-commit': CustomEvent<DataTableCellEditCommitPayload>;
77
+ 'expand-change': CustomEvent<ExpandedState>;
78
+ 'filter-change': CustomEvent<DataTableFilterChangePayload>;
79
+ 'group-change': CustomEvent<GroupingState>;
80
+ 'history-change': CustomEvent<DataTableHistoryChangePayload>;
81
+ 'page-change': CustomEvent<PaginationState>;
82
+ 'pin-change': CustomEvent<ColumnPinningState>;
83
+ 'range-change': CustomEvent<DataTableRangeChangePayload>;
84
+ 'reorder-change': CustomEvent<ColumnOrderState>;
85
+ 'resize-change': CustomEvent<ColumnSizingState>;
86
+ 'row-activate': CustomEvent<DataTableRowActivatePayload>;
87
+ 'row-edit-commit': CustomEvent<DataTableRowEditCommitPayload>;
88
+ 'selection-change': CustomEvent<RowSelectionState>;
89
+ 'sort-change': CustomEvent<SortingState>;
90
+ 'visibility-change': CustomEvent<VisibilityState>;
91
+ 'visible-range-change': CustomEvent<DataTableVisibleRangeChangePayload>;
92
+ 'data-change': CustomEvent<any[]>;
93
+ 'sorting-change': CustomEvent<any[]>;
94
+ 'global-filter-change': CustomEvent<string>;
95
+ 'column-filters-change': CustomEvent<any[]>;
96
+ 'pagination-change': CustomEvent<any>;
97
+ 'expanded-change': CustomEvent<any | boolean>;
98
+ 'grouping-change': CustomEvent<any[]>;
99
+ 'row-selection-change': CustomEvent<any>;
100
+ 'column-visibility-change': CustomEvent<any>;
101
+ 'column-sizing-change': CustomEvent<any>;
102
+ 'column-order-change': CustomEvent<any[]>;
103
+ 'column-pinning-change': CustomEvent<any>;
104
+ }
4
105
  declare const DataTable_base: typeof LitElement;
5
106
  declare class DataTable extends DataTable_base {
6
107
  static shadowRootOptions: ShadowRootInit;
@@ -186,17 +287,17 @@ declare class DataTable extends DataTable_base {
186
287
  private _hasSlotGroupBar;
187
288
  private _slotGroupBarElements;
188
289
  groupBar?: (scope: {
189
- grouping: any;
190
- groupableColumns: any;
191
- applyGrouping: any;
192
- clearGrouping: any;
290
+ grouping: string[];
291
+ groupableColumns: DataTableGroupableColumn[];
292
+ applyGrouping: (cols: string[]) => void;
293
+ clearGrouping: () => void;
193
294
  }) => unknown;
194
295
  private _hasSlotSelectAll;
195
296
  private _slotSelectAllElements;
196
297
  selectAll?: (scope: {
197
- checked: any;
198
- indeterminate: any;
199
- toggle: any;
298
+ checked: boolean;
299
+ indeterminate: boolean;
300
+ toggle: (event: any) => void;
200
301
  }) => unknown;
201
302
  private _hasSlotDynamicColHeader;
202
303
  private _slotDynamicColHeaderElements;
@@ -205,15 +306,15 @@ declare class DataTable extends DataTable_base {
205
306
  private _hasSlotPlaceholder;
206
307
  private _slotPlaceholderElements;
207
308
  placeholder?: (scope: {
208
- index: any;
209
- columnId: any;
309
+ index: number;
310
+ columnId: string;
210
311
  }) => unknown;
211
312
  private _hasSlotSelectCell;
212
313
  private _slotSelectCellElements;
213
314
  selectCell?: (scope: {
214
315
  row: any;
215
- checked: any;
216
- toggle: any;
316
+ checked: boolean;
317
+ toggle: (event: any) => void;
217
318
  }) => unknown;
218
319
  private _hasSlotDynamicCell;
219
320
  private _slotDynamicCellElements;
@@ -227,69 +328,69 @@ declare class DataTable extends DataTable_base {
227
328
  private _hasSlotColHeader;
228
329
  private _slotColHeaderElements;
229
330
  colHeader?: (scope: {
230
- columnId: any;
231
- column: any;
232
- label: any;
331
+ columnId: string;
332
+ column: Column$1<any, unknown>;
333
+ label: string;
233
334
  }) => unknown;
234
335
  private _hasSlotFilter;
235
336
  private _slotFilterElements;
236
337
  filter?: (scope: {
237
- columnId: any;
338
+ columnId: string;
238
339
  value: any;
239
- uniqueValues: any;
240
- minMax: any;
241
- columnLabel: any;
242
- setFilter: any;
340
+ uniqueValues: any[];
341
+ minMax: [number, number] | null;
342
+ columnLabel: string;
343
+ setFilter: (columnId: string, value: any) => void;
243
344
  }) => unknown;
244
345
  private _hasSlotCell;
245
346
  private _slotCellElements;
246
347
  cell?: (scope: {
247
- columnId: any;
248
- column: any;
348
+ columnId: string;
349
+ column: Column$1<any, unknown>;
249
350
  row: any;
250
351
  value: any;
251
352
  }) => unknown;
252
353
  private _hasSlotEditor;
253
354
  private _slotEditorElements;
254
355
  editor?: (scope: {
255
- columnId: any;
256
- column: any;
356
+ columnId: string;
357
+ column: Column$1<any, unknown>;
257
358
  row: any;
258
359
  value: any;
259
- commit: any;
260
- cancel: any;
261
- columnLabel: any;
262
- autofocus: any;
360
+ commit: (value: any) => void;
361
+ cancel: () => void;
362
+ columnLabel: string;
363
+ autofocus: boolean;
263
364
  }) => unknown;
264
365
  rozieSlots?: {
265
366
  [key: `colHeader-${string}`]: (scope: {
266
- columnId: any;
267
- column: any;
268
- label: any;
367
+ columnId: string;
368
+ column: Column$1<any, unknown>;
369
+ label: string;
269
370
  }) => unknown;
270
371
  [key: `filter-${string}`]: (scope: {
271
- columnId: any;
372
+ columnId: string;
272
373
  value: any;
273
- uniqueValues: any;
274
- minMax: any;
275
- columnLabel: any;
276
- setFilter: any;
374
+ uniqueValues: any[];
375
+ minMax: [number, number] | null;
376
+ columnLabel: string;
377
+ setFilter: (columnId: string, value: any) => void;
277
378
  }) => unknown;
278
379
  [key: `cell-${string}`]: (scope: {
279
- columnId: any;
280
- column: any;
380
+ columnId: string;
381
+ column: Column$1<any, unknown>;
281
382
  row: any;
282
383
  value: any;
283
384
  }) => unknown;
284
385
  [key: `editor-${string}`]: (scope: {
285
- columnId: any;
286
- column: any;
386
+ columnId: string;
387
+ column: Column$1<any, unknown>;
287
388
  row: any;
288
389
  value: any;
289
- commit: any;
290
- cancel: any;
291
- columnLabel: any;
292
- autofocus: any;
390
+ commit: (value: any) => void;
391
+ cancel: () => void;
392
+ columnLabel: string;
393
+ autofocus: boolean;
293
394
  }) => unknown;
294
395
  } & Record<string, (scope: any) => unknown>;
295
396
  private _disconnectCleanups;
@@ -451,7 +552,7 @@ declare class DataTable extends DataTable_base {
451
552
  align?: "start" | "center" | "end" | "auto";
452
553
  behavior?: "auto" | "smooth" | "instant";
453
554
  }) => void;
454
- getScrollElement: () => any;
555
+ getScrollElement: () => HTMLElement | null;
455
556
  virtualItemKey: (i: any) => any;
456
557
  COL_OVERSCAN: number;
457
558
  colRtlObserver: any;
@@ -567,19 +668,19 @@ declare class DataTable extends DataTable_base {
567
668
  hasAnyFilterableColumn: () => boolean;
568
669
  selectAllBox: any;
569
670
  syncIndeterminate: () => void;
570
- sortColumn: (colId: any, desc: any) => void;
671
+ sortColumn: (colId: string, desc?: boolean) => void;
571
672
  clearSorting: () => void;
572
- getColumnDefs: () => any[];
573
- toggleAllRows: (value: any) => void;
673
+ getColumnDefs: () => ColumnDef<any, any>[];
674
+ toggleAllRows: (value?: boolean) => void;
574
675
  clearSelection: () => void;
575
- getSelectedRows: () => any;
576
- setPage: (idx: any) => void;
577
- setRowsPerPage: (size: any) => void;
578
- toggleColumnVisibility: (colId: any) => void;
579
- applyColumnOrder: (order: any) => void;
676
+ getSelectedRows: () => any[];
677
+ setPage: (idx: number) => void;
678
+ setRowsPerPage: (size: number) => void;
679
+ toggleColumnVisibility: (colId: string) => void;
680
+ applyColumnOrder: (order: string[]) => void;
580
681
  resetColumnSizing: () => void;
581
- pinColumn: (colId: any, side: any) => void;
582
- getRowIndexRelativeToPage: (absRow: any) => any;
682
+ pinColumn: (colId: string, side: 'left' | 'right' | false) => void;
683
+ getRowIndexRelativeToPage: (absRow?: number) => number;
583
684
  cut: () => void;
584
685
  isGrid: () => boolean;
585
686
  tableRole: () => "grid" | "table";
@@ -650,16 +751,7 @@ declare class DataTable extends DataTable_base {
650
751
  rangeClickPending: any;
651
752
  rangeActive: boolean;
652
753
  inRange: (rIdx: any, cIdx: any) => boolean;
653
- getSelectedRange: () => {
654
- anchor: {
655
- rowIndex: any;
656
- colIndex: any;
657
- };
658
- focus: {
659
- rowIndex: any;
660
- colIndex: any;
661
- };
662
- };
754
+ getSelectedRange: () => DataTableRange;
663
755
  isFillHandleCell: (rIdx: any, cIdx: any) => boolean;
664
756
  rangeSummary: (anchor: any, focus: any) => string;
665
757
  emitRangeChange: (anchor: any, focus: any) => void;
@@ -781,25 +873,21 @@ declare class DataTable extends DataTable_base {
781
873
  onEditorKeyDown: (e: any) => void;
782
874
  onEditorDropinKeyDown: (e: any) => void;
783
875
  onEditorBlur: (e: any) => void;
784
- editCell: (rowIndex: any, colIndex: any) => void;
876
+ editCell: (rowIndex: number, colIndex: number) => void;
785
877
  commitEditing: () => void;
786
- editRow: (rowIndex: any) => void;
878
+ editRow: (rowIndex: number) => void;
787
879
  focusAbsCellWhenReady: (absRow: any, localRow: any, col: any) => void;
788
- focusCell: (rowIndex: any, colIndex: any) => void;
789
- getActiveCell: () => {
790
- rowIndex: any;
791
- colIndex: number;
792
- isHeader: boolean;
793
- };
880
+ focusCell: (rowIndex: number, colIndex: number) => void;
881
+ getActiveCell: () => DataTableActiveCell;
794
882
  clearActiveCell: () => void;
795
- toggleRowExpanded: (rowId: any) => void;
883
+ toggleRowExpanded: (rowId: string | number) => void;
796
884
  expandAll: () => void;
797
885
  collapseAll: () => void;
798
886
  getExpandedRows: () => any[];
799
- applyGrouping: (cols: any) => void;
887
+ applyGrouping: (cols: string[]) => void;
800
888
  clearGrouping: () => void;
801
- getFacetedUniqueValues: (colId: any) => unknown[];
802
- getFacetedMinMaxValues: (colId: any) => any;
889
+ getFacetedUniqueValues: (colId: string) => any[];
890
+ getFacetedMinMaxValues: (colId: string) => [number, number] | null;
803
891
  get data(): any[];
804
892
  set data(v: any[]);
805
893
  get sorting(): any[];
@@ -824,6 +912,10 @@ declare class DataTable extends DataTable_base {
824
912
  set columnOrder(v: any[]);
825
913
  get columnPinning(): any;
826
914
  set columnPinning(v: any);
915
+ addEventListener<K extends keyof RozieDataTableEventMap>(type: K, listener: (this: DataTable, ev: RozieDataTableEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
916
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
917
+ removeEventListener<K extends keyof RozieDataTableEventMap>(type: K, listener: (this: DataTable, ev: RozieDataTableEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
918
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
827
919
  }
828
920
  //#endregion
829
921
  //#region src/Column.d.ts
@@ -1381,4 +1473,4 @@ declare class DetailPanel extends DetailPanel_base {
1381
1473
  }[];
1382
1474
  }
1383
1475
  //#endregion
1384
- export { Column, DataTable, DataTable as default, DetailPanel, EditorCheckbox, EditorDate, EditorNumber, EditorSelect, EditorText, FilterNumberRange, FilterSelect, FilterText, GroupBar };
1476
+ export { Column, DataTable, DataTable as default, DataTableActiveCell, DataTableActiveCellChangePayload, DataTableCellChange, DataTableCellEditCommitPayload, DataTableCellPosition, DataTableFilterChangePayload, DataTableGroupableColumn, DataTableHistoryChangePayload, DataTableRange, DataTableRangeChangePayload, DataTableRowActivatePayload, DataTableRowEditCommitPayload, DataTableVisibleRangeChangePayload, DetailPanel, EditorCheckbox, EditorDate, EditorNumber, EditorSelect, EditorText, FilterNumberRange, FilterSelect, FilterText, GroupBar, type RozieDataTableEventMap };