@rozie-ui/data-table-lit 0.1.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.
@@ -0,0 +1,1120 @@
1
+ import * as _$lit from "lit";
2
+ import { LitElement } from "lit";
3
+
4
+ //#region src/DataTable.d.ts
5
+ declare const DataTable_base: typeof LitElement;
6
+ declare class DataTable extends DataTable_base {
7
+ static styles: _$lit.CSSResult;
8
+ /**
9
+ * The row data — `model: true`, so a committed cell/row edit writes a **fresh** array back through `r-model:data` (uncontrolled fallback `dataDefault`). A stable reference per Rozie's setup-once model — fed directly into table-core (never map/cloned in the watcher).
10
+ * @example
11
+ * <DataTable r-model:data="rows" :columns="cols" />
12
+ */
13
+ _data_attr: any[];
14
+ private _dataControllable;
15
+ /**
16
+ * Config-array column fallback (lower precedence than `<Column>` children). Each entry: `{ id?, field, header?, sortable?, filterable?, pinned?, width? }`. Columns may come from this array, from `<Column>` children, or both (id-keyed last-write-wins union).
17
+ */
18
+ columns: any[];
19
+ /**
20
+ * Row-selection mode: `'none'` | `'single'` | `'multiple'`. `'multiple'` auto-injects a leading checkbox column with a select-all header.
21
+ */
22
+ selectionMode: string;
23
+ /**
24
+ * `SortingState` — `[{ id, desc }]`. Uncontrolled fallback when unbound. Two-way: writes funnel a fresh value through the `sort-change` event regardless of binding.
25
+ */
26
+ _sorting_attr: any[];
27
+ private _sortingControllable;
28
+ /**
29
+ * The global search string — narrows all columns. Feeds `getFilteredRowModel()`. Surfaces through `filter-change`. Two-way: fires `filter-change` regardless of binding.
30
+ */
31
+ _globalFilter_attr: string;
32
+ private _globalFilterControllable;
33
+ /**
34
+ * `ColumnFiltersState` — `[{ id, value }]` per-column narrowing (gated by each column's `filterable`). Two-way: whole-array replace on write, fires `filter-change`.
35
+ */
36
+ _columnFilters_attr: any[];
37
+ private _columnFiltersControllable;
38
+ /**
39
+ * `{ pageIndex, pageSize }`. Defaults to `{ pageIndex: 0, pageSize: 10 }`; feeds the prev/next + page-size chrome (and `getPaginationRowModel()`). Two-way: funnels a fresh object through `page-change`.
40
+ */
41
+ _pagination_attr: any;
42
+ private _paginationControllable;
43
+ /**
44
+ * Server-side hook: sets `manualPagination` / `manualFiltering` / `manualSorting` so table-core trusts the consumer-supplied rows and only emits the change events (the consumer fetches each page).
45
+ */
46
+ manual: boolean;
47
+ /**
48
+ * Total server-side row count for `manual` pagination; lets the table compute page count when it doesn't hold the full dataset.
49
+ */
50
+ rowCount: number | null;
51
+ /**
52
+ * Explicit total page count for `manual` pagination; overrides rowCount-derived count.
53
+ */
54
+ pageCount: number | null;
55
+ /**
56
+ * Opt-in **expandable rows**. When `true`, a leading chevron expander column auto-injects (after the select column) and `getExpandedRowModel` activates; default `false` is byte-identical-off. Every row can expand to reveal a `#detail` panel unless `getSubRows` is supplied (then only rows with children expand). Bind `:expandable="true"` (a bare attr only coerces on Vue+Lit).
57
+ */
58
+ expandable: boolean;
59
+ /**
60
+ * `ExpandedState` — `{ [rowId]: true }`, or the `true` literal after `expandAll` (declared `type: [Object, Boolean]`). Multi-expand (multiple rows open at once). Surfaces through `expand-change`; uncontrolled fallback (`$data.expandedDefault`) when unbound — the default is `null` so the uncontrolled fallback AND the grouping auto-expand default are reachable (a non-null default would short-circuit them). When grouping is active and `expanded` is untouched, group subtrees auto-expand.
61
+ */
62
+ _expanded_attr: any | boolean;
63
+ private _expandedControllable;
64
+ /**
65
+ * Table-level child-row accessor `(originalRow, index) => TData[] | undefined` that drives nested sub-rows. When supplied (with `expandable`), table-core flattens the hierarchy and the expand seam reveals depth-indented child rows. Null → the `#detail` scoped slot is the expand mode.
66
+ */
67
+ getSubRows: ((...args: unknown[]) => unknown) | null;
68
+ /**
69
+ * Opt-in gate for the **headless `#groupBar`** host region. Default `false` is byte-identical-off. `getGroupedRowModel` is wired unconditionally (inert when `grouping` is empty), so grouping is driven by the `grouping` model; this flag only gates the consumer-facing group-bar surface (the component ships **no** built-in drag UI).
70
+ */
71
+ groupable: boolean;
72
+ /**
73
+ * `GroupingState` — an ordered `string[]` of column ids (multi-column → nested groups, e.g. `['region','category']`). An empty/unbound list is ungrouped (byte-identical-off). Group-header rows are collapsible (they ride the expand model). Surfaces through `group-change`; uncontrolled fallback (`$data.groupingDefault`, default `[]`) when unbound — the default is `null` (mirroring `expanded`) so the uncontrolled fallback is reachable and the grouping auto-expand default can activate when a consumer applies grouping without binding `r-model:grouping` (a non-null `[]` default would short-circuit it). All reads are null-guarded, so table-core still receives an array.
74
+ */
75
+ _grouping_attr: any[] | null;
76
+ private _groupingControllable;
77
+ /**
78
+ * `RowSelectionState` — `{ [rowId]: true }`. Checkbox-only toggle (the row body does not select). Driven by the `selectionMode` chrome. Two-way: fires `selection-change` regardless of binding.
79
+ */
80
+ _rowSelection_attr: any;
81
+ private _rowSelectionControllable;
82
+ /**
83
+ * `VisibilityState` — `{ [colId]: boolean }`. Hidden columns drop automatically from header + body. Two-way: funnels a fresh object through `visibility-change`.
84
+ */
85
+ _columnVisibility_attr: any;
86
+ private _columnVisibilityControllable;
87
+ /**
88
+ * `ColumnSizingState` — `{ [colId]: number }`. Driven live by the pointer-drag resize handle (`columnResizeMode: 'onChange'`). Two-way: fires `resize-change`.
89
+ */
90
+ _columnSizing_attr: any;
91
+ private _columnSizingControllable;
92
+ /**
93
+ * `ColumnOrderState` — `string[]`. A fresh order array on reorder (never an in-place splice). Two-way: fires `reorder-change`.
94
+ */
95
+ _columnOrder_attr: any[];
96
+ private _columnOrderControllable;
97
+ /**
98
+ * `ColumnPinningState` — `{ left: string[], right: string[] }`. Pinned columns get `position: sticky` + computed offsets. Defaults to `{ left: [], right: [] }`. Two-way: fires `pin-change`.
99
+ */
100
+ _columnPinning_attr: any;
101
+ private _columnPinningControllable;
102
+ /**
103
+ * Pure-CSS sticky header: the `<thead>` sticks to the top of the scroll container.
104
+ */
105
+ stickyHeader: boolean;
106
+ /**
107
+ * `'table'` (default, row-oriented, byte-behaviorally identical to a plain accessible table) | `'grid'` (GA since Phase 63) — lights up the full WAI-ARIA **[grid interaction mode](/components/data-table-grid-mode)**: `role="grid"`, a roving single tab-stop, 2-D APG arrow-key cell navigation, range selection, and clipboard support.
108
+ */
109
+ interactionMode: string;
110
+ /**
111
+ * Grid mode only. When `true`, a plain click on an **editable** cell opens its editor immediately (single-click-to-edit) instead of just activating the cell. Default `false` keeps click-to-activate (double-click opens the editor). Shift+click (range selection) and clicks on non-editable cells are unaffected.
112
+ */
113
+ singleClickEdit: boolean;
114
+ /**
115
+ * Grid mode. When `true`, every committed data mutation (cell/row edit, paste, fill, cut, clear) becomes one undo step: Ctrl/Cmd+Z undoes, Ctrl/Cmd+Y or Ctrl/Cmd+Shift+Z redoes. Default `false` records no history and Ctrl+Z/Y are inert.
116
+ */
117
+ undoable: boolean;
118
+ /**
119
+ * The maximum number of undo steps retained (oldest evicted past this depth). Only consulted when `undoable` is `true`.
120
+ */
121
+ undoLimit: number;
122
+ /**
123
+ * Opt-in vertical **row windowing**. When `true`, only the visible slice of rows renders inside a bounded `rdt-scroll` container (with leading/trailing spacer rows preserving total scroll height), windowing over the full filtered + sorted (pre-pagination) model and suppressing the client pagination chrome. Default `false` is byte-identical to a non-virtual table.
124
+ */
125
+ virtual: boolean;
126
+ /**
127
+ * Estimated row height (px) seeding the windowing engine before `measureElement` refines actual heights. Only consulted when `virtual` is on.
128
+ */
129
+ estimateRowHeight: number;
130
+ /**
131
+ * A CSS length string bounding the `rdt-scroll` container when `virtual` is on (e.g. `'400px'`). Mirrored to the `--rozie-data-table-max-height` custom property; the prop wins, the token is the fallback.
132
+ */
133
+ maxHeight: string;
134
+ private _dataDefault;
135
+ private _sortingDefault;
136
+ private _globalFilterDefault;
137
+ private _columnFiltersDefault;
138
+ private _paginationDefault;
139
+ private _rowSelectionDefault;
140
+ private _expandedDefault;
141
+ private _groupingDefault;
142
+ private _columnVisibilityDefault;
143
+ private _columnSizingDefault;
144
+ private _columnOrderDefault;
145
+ private _columnPinningDefault;
146
+ private _columnSizingInfo;
147
+ private _colReg;
148
+ private _rows;
149
+ private _headerGroups;
150
+ private _rowModelVer;
151
+ private _windowVer;
152
+ private _activeRow;
153
+ private _activeColIndex;
154
+ private _activeIsHeader;
155
+ private _activeHeaderLevel;
156
+ private _activeInControl;
157
+ private _editingRow;
158
+ private _editingCol;
159
+ private _draftValue;
160
+ private _invalidMsg;
161
+ private _editVer;
162
+ private _editingRowIndex;
163
+ private _rowDraft;
164
+ private _rangeAnchor;
165
+ private _rangeFocus;
166
+ private _pasteAnnounce;
167
+ private _liveAnnounce;
168
+ private _ref__rozieRoot;
169
+ private __rozieWatchInitial_0;
170
+ private __rozieWatchInitial_1;
171
+ private __rozieCtxProvider_data_table_columns;
172
+ private _hasSlotDefault;
173
+ private _slotDefaultElements;
174
+ private _hasSlotGroupBar;
175
+ private _slotGroupBarElements;
176
+ groupBar?: (scope: {
177
+ grouping: unknown;
178
+ groupableColumns: unknown;
179
+ applyGrouping: unknown;
180
+ clearGrouping: unknown;
181
+ }) => unknown;
182
+ private _hasSlotSelectAll;
183
+ private _slotSelectAllElements;
184
+ selectAll?: (scope: {
185
+ checked: unknown;
186
+ indeterminate: unknown;
187
+ toggle: unknown;
188
+ }) => unknown;
189
+ private _hasSlotColHeader;
190
+ private _slotColHeaderElements;
191
+ colHeader?: (scope: {
192
+ columnId: unknown;
193
+ column: unknown;
194
+ label: unknown;
195
+ }) => unknown;
196
+ private _hasSlotFilter;
197
+ private _slotFilterElements;
198
+ filter?: (scope: {
199
+ columnId: unknown;
200
+ value: unknown;
201
+ uniqueValues: unknown;
202
+ minMax: unknown;
203
+ setFilter: unknown;
204
+ }) => unknown;
205
+ private _hasSlotSelectCell;
206
+ private _slotSelectCellElements;
207
+ selectCell?: (scope: {
208
+ row: unknown;
209
+ checked: unknown;
210
+ toggle: unknown;
211
+ }) => unknown;
212
+ private _hasSlotCell;
213
+ private _slotCellElements;
214
+ cell?: (scope: {
215
+ columnId: unknown;
216
+ column: unknown;
217
+ row: unknown;
218
+ value: unknown;
219
+ }) => unknown;
220
+ private _hasSlotEditor;
221
+ private _slotEditorElements;
222
+ editor?: (scope: {
223
+ columnId: unknown;
224
+ column: unknown;
225
+ row: unknown;
226
+ value: unknown;
227
+ commit: unknown;
228
+ cancel: unknown;
229
+ }) => unknown;
230
+ private _hasSlotDetail;
231
+ private _slotDetailElements;
232
+ detail?: (scope: {
233
+ row: unknown;
234
+ }) => unknown;
235
+ private _disconnectCleanups;
236
+ private _rozieTornDown;
237
+ private _armListeners;
238
+ connectedCallback(): void;
239
+ firstUpdated(): void;
240
+ updated(changedProperties: Map<string, unknown>): void;
241
+ disconnectedCallback(): void;
242
+ attributeChangedCallback(name: string, old: string | null, value: string | null): void;
243
+ render(): _$lit.TemplateResult<1>;
244
+ table: any;
245
+ virtualizer: any;
246
+ virtualizerCleanup: any;
247
+ gridScrollEl: any;
248
+ remeasurePending: boolean;
249
+ GRID_PAGE_STEP: number;
250
+ gridRoot: any;
251
+ programmatic: number;
252
+ focusIntentEpoch: number;
253
+ DATA_WRITE_TOKEN_KEY: string;
254
+ undoStack: unknown[];
255
+ redoStack: unknown[];
256
+ restoringHistory: boolean;
257
+ expandedTouched: boolean;
258
+ groupingActiveDefault: () => boolean;
259
+ effectiveColumnPinning: () => any;
260
+ currentState: () => any;
261
+ currentData: () => any;
262
+ isSafeKey: (k: any) => boolean;
263
+ wrapAggregationFn: (fn: any) => string | ((columnId: any, leafRows: any, childRows: any) => any);
264
+ buildConfigDef: (c: any) => {
265
+ id: string;
266
+ header: any;
267
+ columns: any[];
268
+ accessorKey?: undefined;
269
+ enableSorting?: undefined;
270
+ enableColumnFilter?: undefined;
271
+ filterable?: undefined;
272
+ expandable?: undefined;
273
+ groupable?: undefined;
274
+ aggregationFn?: undefined;
275
+ pinned?: undefined;
276
+ width?: undefined;
277
+ meta?: undefined;
278
+ } | {
279
+ id: string;
280
+ accessorKey: any;
281
+ header: any;
282
+ enableSorting: boolean;
283
+ enableColumnFilter: boolean;
284
+ filterable: boolean;
285
+ expandable: boolean;
286
+ groupable: boolean;
287
+ aggregationFn: string | ((columnId: any, leafRows: any, childRows: any) => any);
288
+ pinned: any;
289
+ width: any;
290
+ meta: {
291
+ editable: boolean;
292
+ editor: any;
293
+ editorOptions: any;
294
+ validate: any;
295
+ };
296
+ columns?: undefined;
297
+ };
298
+ columnDefs: () => any[];
299
+ SELECT_COL_ID: string;
300
+ EXPANDER_COL_ID: string;
301
+ selectionEnabled: () => boolean;
302
+ tableColumns: () => any[];
303
+ writeSorting: (next: any) => void;
304
+ applyUpdater: (updater: any, current: any) => any;
305
+ writeExpanded: (next: any) => void;
306
+ writeGrouping: (next: any) => void;
307
+ writeGlobalFilter: (next: any) => void;
308
+ writeColumnFilters: (next: any) => void;
309
+ writePagination: (next: any) => void;
310
+ writeRowSelection: (next: any) => void;
311
+ writeColumnVisibility: (next: any) => void;
312
+ writeColumnSizing: (next: any) => void;
313
+ writeColumnOrder: (next: any) => void;
314
+ writeColumnPinning: (next: any) => void;
315
+ writeData: (next: any) => void;
316
+ columnFilterValue: (colId: any) => any;
317
+ setColumnFilter: (colId: any, value: any) => void;
318
+ recordSnapshot: (current: any) => void;
319
+ canUndo: () => boolean;
320
+ canRedo: () => boolean;
321
+ clearHistory: () => void;
322
+ emitHistoryChange: () => void;
323
+ emitHistoryChangeIfEdged: (prevU: any, prevR: any) => void;
324
+ undo: () => void;
325
+ redo: () => void;
326
+ refreshRowModel: any;
327
+ onSortingChangeCb: (updater: any) => void;
328
+ onExpandedChangeCb: (updater: any) => void;
329
+ onGroupingChangeCb: (updater: any) => void;
330
+ onGlobalFilterChangeCb: (updater: any) => void;
331
+ onColumnFiltersChangeCb: (updater: any) => void;
332
+ onPaginationChangeCb: (updater: any) => void;
333
+ onRowSelectionChangeCb: (updater: any) => void;
334
+ onColumnVisibilityChangeCb: (updater: any) => void;
335
+ onColumnSizingChangeCb: (updater: any) => void;
336
+ onColumnOrderChangeCb: (updater: any) => void;
337
+ onColumnPinningChangeCb: (updater: any) => void;
338
+ onColumnSizingInfoChangeCb: (updater: any) => void;
339
+ windowSource: () => any;
340
+ scheduleRemeasure: () => void;
341
+ pinnedEditIndex: () => any;
342
+ pinnedMeasurement: (pin: any) => any;
343
+ remeasureWindow: () => void;
344
+ virtualItemKey: (i: any) => any;
345
+ virtualizerOptions: () => any;
346
+ pinMeasurement: (pin: number) => {
347
+ start: number;
348
+ size: number;
349
+ index: number;
350
+ end: number;
351
+ } | null;
352
+ windowedRows: () => any;
353
+ padTop: () => any;
354
+ padBottom: () => number;
355
+ pmIndexInWindow: (items: any, idx: any) => boolean;
356
+ rowIsOutsideWindow: (r: any) => boolean;
357
+ announceState: {
358
+ sorting: unknown;
359
+ columnFilters: unknown;
360
+ globalFilter: unknown;
361
+ };
362
+ effectiveSorting: () => any[];
363
+ effectiveColumnFilters: () => any[];
364
+ effectiveGlobalFilter: () => string;
365
+ buildSortFilterAnnounce: () => string;
366
+ reFeed: () => void;
367
+ lastPropsData: unknown;
368
+ maybeClearHistoryOnExternalSwap: () => void;
369
+ lastData: any;
370
+ lastDataLen: number;
371
+ onHeaderSort: (colId: any, evt: any) => void;
372
+ tick: () => number;
373
+ ariaSortFor: (colId: any) => "none" | "ascending" | "descending";
374
+ sortIndicator: (colId: any) => "" | "▲" | "▼";
375
+ defFor: (colId: any) => any;
376
+ visibleCellsFor: (row: any) => any;
377
+ editMetaOf: (colId: any) => any;
378
+ columnEditable: (colId: any) => boolean;
379
+ editorTypeOf: (colId: any) => any;
380
+ editorOptionsOf: (colId: any) => any;
381
+ hasEditorSlot: (colId: any) => boolean;
382
+ hasFilterSlot: () => boolean;
383
+ columnIsFilterable: (colId: any) => boolean;
384
+ headerLabel: (colId: any) => any;
385
+ headerWidth: (colId: any) => string;
386
+ onResizeStart: (colId: any, evt: any) => void;
387
+ findHeader: (colId: any) => any;
388
+ columnIsResizing: (colId: any) => boolean;
389
+ columnIsVisible: (colId: any) => boolean;
390
+ onToggleVisibility: (colId: any) => void;
391
+ allLeafColumns: () => any[];
392
+ columnPinSide: (colId: any) => any;
393
+ onPinColumn: (colId: any, side: any, evt: any) => void;
394
+ pinStyle: (colId: any, zIndex?: number) => string;
395
+ thStyle: (colId: any) => string;
396
+ onGlobalFilterInput: (evt: any) => void;
397
+ onColumnFilterInput: (colId: any, evt: any) => void;
398
+ globalFilterValue: () => any;
399
+ pageIndex: () => any;
400
+ pageSize: () => any;
401
+ displayPageCount: () => any;
402
+ canPrevPage: () => boolean;
403
+ canNextPage: () => boolean;
404
+ onPrevPage: () => void;
405
+ onNextPage: () => void;
406
+ onPageSizeChange: (evt: any) => void;
407
+ isSelectColumn: (colId: any) => boolean;
408
+ isExpanderColumn: (colId: any) => boolean;
409
+ rowCanExpand: (row: any) => boolean;
410
+ rowIsExpanded: (row: any) => boolean;
411
+ rowShowsDetail: (row: any) => boolean;
412
+ onToggleExpand: (row: any, evt: any) => void;
413
+ bodyCellStyle: (row: any, colId: any) => string;
414
+ rowIsGrouped: (row: any) => boolean;
415
+ groupingActive: () => boolean;
416
+ cellIsGrouped: (cellCtx: any) => boolean;
417
+ cellIsAggregated: (cellCtx: any) => boolean;
418
+ cellIsPlaceholder: (cellCtx: any) => boolean;
419
+ groupSubRowCount: (row: any) => any;
420
+ groupingKeys: () => any;
421
+ groupableColumns: () => any[];
422
+ stopEvent: (evt: any) => void;
423
+ isAllRowsSelected: () => boolean;
424
+ isSomeRowsSelected: () => boolean;
425
+ onToggleAllRows: (evt: any) => void;
426
+ rowIsSelected: (row: any) => boolean;
427
+ onToggleRow: (row: any, evt: any) => void;
428
+ onHideColumn: (colId: any, evt: any) => void;
429
+ hasAnyFilterableColumn: () => boolean;
430
+ selectAllBox: any;
431
+ syncIndeterminate: () => void;
432
+ sortColumn: (colId: any, desc: any) => void;
433
+ clearSorting: () => void;
434
+ getColumnDefs: () => any[];
435
+ toggleAllRows: (value: any) => void;
436
+ clearSelection: () => void;
437
+ getSelectedRows: () => any;
438
+ setPage: (idx: any) => void;
439
+ setRowsPerPage: (size: any) => void;
440
+ toggleColumnVisibility: (colId: any) => void;
441
+ applyColumnOrder: (order: any) => void;
442
+ resetColumnSizing: () => void;
443
+ pinColumn: (colId: any, side: any) => void;
444
+ getRowIndexRelativeToPage: (absRow: any) => any;
445
+ cut: () => void;
446
+ isGrid: () => boolean;
447
+ tableRole: () => "grid" | "table";
448
+ cellRole: () => "gridcell" | "cell";
449
+ rowIndexOf: (row: any) => number;
450
+ colIndexOf: (row: any, cellCtx: any) => any;
451
+ headerColIndexOf: (hg: any, header: any) => any;
452
+ pageRowOffset: () => number;
453
+ toAbsRow: (localRow: any) => any;
454
+ prePaginationRowCount: () => any;
455
+ cellTabindex: (rowKey: any, colIndex: any, level?: any) => 0 | -1;
456
+ isActiveCell: (rowKey: any, colIndex: any, level?: any) => boolean;
457
+ resolveCellEl: (rowKey: any, colIndex: any, level?: any) => any;
458
+ focusActiveCell: (nextRow?: any, nextCol?: any, nextIsHeader?: any, nextLevel?: any) => void;
459
+ totalRowCount: () => any;
460
+ headerRowCount: () => number;
461
+ gridAriaRowCount: () => any;
462
+ ariaPageOffset: () => number;
463
+ bodyAriaRowIndex: (row: any) => number;
464
+ visibleColCount: () => any;
465
+ bodyRowCount: () => number;
466
+ clamp: (v: any, lo: any, hi: any) => any;
467
+ headerLeafLevel: () => number;
468
+ headerCountAtLevel: (level: any) => any;
469
+ headerAt: (level: any, colIndex: any) => any;
470
+ parentHeaderColIndex: (level: any, colIndex: any) => number;
471
+ firstChildHeaderColIndex: (level: any, colIndex: any) => number;
472
+ moveCol: (delta: any) => any;
473
+ moveRow: (delta: any) => {
474
+ row: any;
475
+ col: number;
476
+ isHeader: boolean;
477
+ level: number;
478
+ };
479
+ gotoColEdge: (toEnd: any) => number;
480
+ gotoRowEdge: (toEnd: any) => number;
481
+ gotoStart: () => {
482
+ row: number;
483
+ col: number;
484
+ };
485
+ gotoEnd: () => {
486
+ row: number;
487
+ col: number;
488
+ };
489
+ currentCellEl: () => any;
490
+ focusables: (cellEl: any) => any[];
491
+ enterControl: () => void;
492
+ cycleWithinCell: (cellEl: any, forward: any) => void;
493
+ onGridKeyDown: (e: any) => void;
494
+ syncActiveFromEvent: (e: any) => void;
495
+ onGridMouseDown: (e: any) => void;
496
+ onGridDblClick: (e: any) => void;
497
+ onGridClick: (e: any) => void;
498
+ onGridFocusOut: (e: any) => void;
499
+ recoverGridFocus: (rowKey: any, col: any, level: any, guardMoved?: boolean) => void;
500
+ clampActiveCell: (rowCount: any, colCount: any) => void;
501
+ gridEmptyFallback: boolean;
502
+ rangeTransition: boolean;
503
+ rangeClickPending: boolean;
504
+ rangeActive: boolean;
505
+ inRange: (rIdx: any, cIdx: any) => boolean;
506
+ getSelectedRange: () => {
507
+ anchor: {
508
+ rowIndex: any;
509
+ colIndex: any;
510
+ };
511
+ focus: {
512
+ rowIndex: any;
513
+ colIndex: any;
514
+ };
515
+ };
516
+ isFillHandleCell: (rIdx: any, cIdx: any) => boolean;
517
+ emitRangeChange: (anchor: any, focus: any) => void;
518
+ extendRange: (dRow: any, dCol: any) => void;
519
+ setRangeFocus: (rIdx: any, cIdx: any) => void;
520
+ selectAllBody: () => void;
521
+ clearRange: () => void;
522
+ clampRange: (maxRowArg: any, maxColArg: any) => void;
523
+ announce: (msg: any) => void;
524
+ clipboardActiveAllowed: () => boolean;
525
+ fieldOfColId: (colId: any) => any;
526
+ normalizedRange: () => {
527
+ r0: any;
528
+ r1: any;
529
+ c0: any;
530
+ c1: any;
531
+ };
532
+ escapeTsvField: (s: any) => any;
533
+ rangeToTsv: () => string;
534
+ parseTsv: (text: any) => any[];
535
+ copyRange: () => void;
536
+ applyGridToRange: (grid: any, originRow: any, originCol: any) => {
537
+ wrote: number;
538
+ total: number;
539
+ };
540
+ rowOriginalAt: (rowIndex: any) => any;
541
+ rowIdAt: (rowIndex: any) => any;
542
+ tileGridToBox: (grid: any, box: any) => any;
543
+ pasteRange: () => void;
544
+ cutRange: () => void;
545
+ clearActiveRange: () => void;
546
+ tileIndex: (i: any, lo: any, hi: any) => any;
547
+ fillRange: (sourceBox: any, endCell: any) => void;
548
+ fillDragging: boolean;
549
+ fillDragMove: any;
550
+ fillDragUp: any;
551
+ teardownFillDrag: () => void;
552
+ cellIndexFromPoint: (clientX: any, clientY: any) => {
553
+ r: number;
554
+ c: number;
555
+ };
556
+ onFillHandlePointerDown: (e: any) => void;
557
+ rangeDragging: boolean;
558
+ rangeDragMove: any;
559
+ rangeDragUp: any;
560
+ rangeDragMoved: boolean;
561
+ teardownRangeDrag: () => void;
562
+ beginRangeDrag: (anchorR: any, anchorC: any) => void;
563
+ activeCellColumnId: () => any;
564
+ isActiveCellEditable: () => boolean;
565
+ isEditing: (rowIndex: any, colIndex: any) => boolean;
566
+ cellAriaInvalid: (rowIndex: any, colIndex: any) => "true" | null;
567
+ runValidator: (colId: any, value: any, row: any) => string | true;
568
+ setInvalid: (msg: any) => void;
569
+ replaceRowValue: (rows: any, rowIndex: any, field: any, value: any) => any[];
570
+ sourceIndexOfRow: (visibleRowIndex: any) => any;
571
+ editingColumnId: () => any;
572
+ editingColumnField: () => any;
573
+ editingCellValue: () => any;
574
+ editingRowOriginal: () => any;
575
+ editingRowId: () => any;
576
+ focusEditorWhenReady: (selectAll?: boolean) => void;
577
+ columnIdAt: (rowIndex: any, colIndex: any) => any;
578
+ cellValueAt: (rowIndex: any, colIndex: any) => any;
579
+ beginEdit: (rowIndex: any, colIndex: any, seed: any) => void;
580
+ focusCellWhenReady: (row: any, col: any) => void;
581
+ indexOfRowIn: (rows: any, rowOriginal: any, rowId: any) => number;
582
+ endEdit: () => void;
583
+ endRowEdit: () => void;
584
+ coerceCellValue: (colId: any, raw: any) => any;
585
+ commitEdit: (overrideValue?: any, skipFocusReturn?: boolean) => boolean;
586
+ toggleActiveBooleanCell: () => void;
587
+ cancelEdit: () => void;
588
+ editableColumnsForRow: (rowIndex: any) => any[];
589
+ focusRowEditorAt: (rowIndex: any, colIndex: any) => void;
590
+ beginRowEdit: (row: any) => void;
591
+ commitRow: () => boolean;
592
+ cancelRow: () => void;
593
+ replaceRowValues: (rows: any, rowIndex: any, fieldValues: any) => any[];
594
+ nextEditableCell: (fromRow: any, fromCol: any) => {
595
+ row: any;
596
+ col: any;
597
+ };
598
+ prevEditableCell: (fromRow: any, fromCol: any) => {
599
+ row: any;
600
+ col: number;
601
+ };
602
+ editTransition: boolean;
603
+ pendingEditFollow: any;
604
+ committedThisSession: boolean;
605
+ inRowEdit: () => boolean;
606
+ editorValueFor: (colId: any) => any;
607
+ editorCheckedFor: (colId: any) => boolean;
608
+ editorCommitFor: (colId: any) => (value: any) => void;
609
+ editorCancelFor: () => () => void;
610
+ onCellEditorInput: (colId: any, evt: any) => void;
611
+ onCellEditorCheckbox: (colId: any, evt: any) => void;
612
+ setRowDraft: (colId: any, value: any) => void;
613
+ rowEditTab: (target: any, backward: any) => void;
614
+ onEditorKeyDown: (e: any) => void;
615
+ onEditorBlur: (e: any) => void;
616
+ editCell: (rowIndex: any, colIndex: any) => void;
617
+ commitEditing: () => void;
618
+ editRow: (rowIndex: any) => void;
619
+ focusAbsCellWhenReady: (absRow: any, localRow: any, col: any) => void;
620
+ focusCell: (rowIndex: any, colIndex: any) => void;
621
+ getActiveCell: () => {
622
+ rowIndex: any;
623
+ colIndex: number;
624
+ isHeader: boolean;
625
+ };
626
+ clearActiveCell: () => void;
627
+ toggleRowExpanded: (rowId: any) => void;
628
+ expandAll: () => void;
629
+ collapseAll: () => void;
630
+ getExpandedRows: () => any[];
631
+ applyGrouping: (cols: any) => void;
632
+ clearGrouping: () => void;
633
+ getFacetedUniqueValues: (colId: any) => unknown[];
634
+ getFacetedMinMaxValues: (colId: any) => any;
635
+ get data(): any[];
636
+ set data(v: any[]);
637
+ get sorting(): any[];
638
+ set sorting(v: any[]);
639
+ get globalFilter(): string;
640
+ set globalFilter(v: string);
641
+ get columnFilters(): any[];
642
+ set columnFilters(v: any[]);
643
+ get pagination(): any;
644
+ set pagination(v: any);
645
+ get expanded(): any | boolean;
646
+ set expanded(v: any | boolean);
647
+ get grouping(): any[];
648
+ set grouping(v: any[]);
649
+ get rowSelection(): any;
650
+ set rowSelection(v: any);
651
+ get columnVisibility(): any;
652
+ set columnVisibility(v: any);
653
+ get columnSizing(): any;
654
+ set columnSizing(v: any);
655
+ get columnOrder(): any[];
656
+ set columnOrder(v: any[]);
657
+ get columnPinning(): any;
658
+ set columnPinning(v: any);
659
+ }
660
+ //#endregion
661
+ //#region src/Column.d.ts
662
+ declare const Column_base: typeof LitElement;
663
+ declare class Column extends Column_base {
664
+ static styles: _$lit.CSSResult;
665
+ /**
666
+ * The column id. Optional — defaults to `field` when omitted. Used as the key in the id-keyed registry union and in the `#cell` / `#colHeader` slot dispatch.
667
+ */
668
+ id: string;
669
+ /**
670
+ * The row field this column reads (table-core `accessorKey`). The plain accessor value renders when the `#cell` slot falls through.
671
+ * @example
672
+ * <Column field="email" header="Email" />
673
+ */
674
+ field: string;
675
+ /**
676
+ * The header label, rendered when the parent `#colHeader` slot falls through to the plain label.
677
+ */
678
+ header: string;
679
+ /**
680
+ * Whether this column participates in click-to-sort. Default `false`. Bind `:sortable="true"` (a bare attr only coerces on Vue+Lit).
681
+ */
682
+ sortable: boolean;
683
+ /**
684
+ * Whether this column participates in per-column filtering (the `#filter` slot / faceted filter chrome). Default `false`.
685
+ */
686
+ filterable: boolean;
687
+ /**
688
+ * Pin side: `''` (unpinned) | `'left'` | `'right'`. Reserved metadata carried into the parent's column pinning state.
689
+ */
690
+ pinned: string;
691
+ /**
692
+ * Optional fixed/initial column width — a CSS length string or a px number.
693
+ */
694
+ width: string | number;
695
+ /**
696
+ * Reserved per-column metadata flagging participation in the expand affordance. The expander chevron is its own auto-injected leading column on `<DataTable expandable>`, so this is forward-compat metadata, not the toggle host. Default `false`.
697
+ */
698
+ expandable: boolean;
699
+ /**
700
+ * Whether this column is offered to the headless `#groupBar` as a grouping target. Defaults `true` (opt-OUT via `:groupable="false"`); this only filters the groupable-columns list. Whether grouping is engaged is driven by the parent's `grouping` model, never this flag.
701
+ */
702
+ groupable: boolean;
703
+ /**
704
+ * The table-core aggregation for this column inside a group-header cell. Either a built-in name string — `'sum'` | `'min'` | `'max'` | `'extent'` | `'mean'` | `'median'` | `'unique'` | `'uniqueCount'` | `'count'` — or a custom function `(columnId, leafRows, childRows) => any` (defensively wrapped by the parent so a throw cannot crash grouping). Null → no aggregation (the group-header cell renders as a placeholder).
705
+ */
706
+ aggregationFn: string | (((...args: unknown[]) => unknown) | null);
707
+ /**
708
+ * Whether this column's cells are editable (opt-in). Default `false` → the column is read-only and the display↔editor branch never mounts an editor. Bind `:editable="true"` (a bare attr only coerces on Vue+Lit).
709
+ */
710
+ editable: boolean;
711
+ /**
712
+ * Built-in editor type for this column: `'text'` | `'number'` | `'select'` | `'checkbox'`. Ignored when a custom `#editor` scoped slot handles the column. Default `'text'`.
713
+ */
714
+ editor: string;
715
+ /**
716
+ * Options for `editor: 'select'` — `[{ value, label }]`. Empty for other editor types.
717
+ */
718
+ editorOptions: any[];
719
+ /**
720
+ * Synchronous per-column validator `(value, row) => true | string`. A string return is the error message (the editor stays open and the aria-live region announces it). Null → no validation. The parent wraps it defensively against a thrown/non-bool/non-string return.
721
+ */
722
+ validate: ((...args: unknown[]) => unknown) | null;
723
+ private __rozieFirstUpdateDone;
724
+ private __rozieCtxConsumer_data_table_columns;
725
+ private get registry();
726
+ private _disconnectCleanups;
727
+ private _rozieTornDown;
728
+ firstUpdated(): void;
729
+ updated(changedProperties: Map<string, unknown>): void;
730
+ disconnectedCallback(): void;
731
+ render(): _$lit.TemplateResult<1>;
732
+ reg: any;
733
+ registered: boolean;
734
+ colId: () => string;
735
+ buildSpec: () => {
736
+ id: string;
737
+ field: string;
738
+ header: string;
739
+ sortable: boolean;
740
+ filterable: boolean;
741
+ pinned: string;
742
+ width: string | number;
743
+ expandable: boolean;
744
+ groupable: boolean;
745
+ aggregationFn: string | ((...args: unknown[]) => unknown);
746
+ editable: boolean;
747
+ editor: string;
748
+ editorOptions: any[];
749
+ validate: (...args: unknown[]) => unknown;
750
+ };
751
+ }
752
+ //#endregion
753
+ //#region src/EditorText.d.ts
754
+ declare const EditorText_base: typeof LitElement;
755
+ declare class EditorText extends EditorText_base {
756
+ static styles: _$lit.CSSResult;
757
+ /**
758
+ * The column id (mirrors the `#editor` slot scope). Used as the input `aria-label` fallback.
759
+ */
760
+ columnId: string;
761
+ /**
762
+ * The table-core column object (opaque passthrough from the `#editor` slot scope).
763
+ */
764
+ column: unknown;
765
+ /**
766
+ * The consumer's row data object (opaque passthrough from the `#editor` slot scope).
767
+ */
768
+ row: unknown;
769
+ /**
770
+ * The current cell value the editor seeds its local draft from (setup-once).
771
+ */
772
+ value: unknown;
773
+ /**
774
+ * `(value) => void` — commit the edited cell value (from the `#editor` slot scope). Null-guarded at call sites.
775
+ */
776
+ commit: ((...args: unknown[]) => unknown) | null;
777
+ /**
778
+ * `() => void` — revert the edit and close the editor (from the `#editor` slot scope). Null-guarded at call sites.
779
+ */
780
+ cancel: ((...args: unknown[]) => unknown) | null;
781
+ private _draft;
782
+ private _disconnectCleanups;
783
+ private _rozieTornDown;
784
+ firstUpdated(): void;
785
+ disconnectedCallback(): void;
786
+ render(): _$lit.TemplateResult<1>;
787
+ onInput: (e: any) => void;
788
+ doCommit: () => void;
789
+ doCancel: () => void;
790
+ onKeydown: (e: any) => void;
791
+ onBlur: () => void;
792
+ }
793
+ //#endregion
794
+ //#region src/EditorNumber.d.ts
795
+ declare const EditorNumber_base: typeof LitElement;
796
+ declare class EditorNumber extends EditorNumber_base {
797
+ static styles: _$lit.CSSResult;
798
+ /**
799
+ * The column id (mirrors the `#editor` slot scope). Used as the input `aria-label`.
800
+ */
801
+ columnId: string;
802
+ /**
803
+ * The table-core column object (opaque passthrough from the `#editor` slot scope).
804
+ */
805
+ column: unknown;
806
+ /**
807
+ * The consumer's row data object (opaque passthrough from the `#editor` slot scope).
808
+ */
809
+ row: unknown;
810
+ /**
811
+ * The current cell value the local draft string seeds from (setup-once).
812
+ */
813
+ value: unknown;
814
+ /**
815
+ * `(value) => void` — commit the cell. The draft is coerced with `Number()` at commit time; an empty/whitespace or non-numeric draft commits `null` (never `NaN`). Null-guarded at call sites.
816
+ */
817
+ commit: ((...args: unknown[]) => unknown) | null;
818
+ /**
819
+ * `() => void` — revert the edit (Escape). Null-guarded at call sites.
820
+ */
821
+ cancel: ((...args: unknown[]) => unknown) | null;
822
+ private _draft;
823
+ private _disconnectCleanups;
824
+ private _rozieTornDown;
825
+ firstUpdated(): void;
826
+ disconnectedCallback(): void;
827
+ render(): _$lit.TemplateResult<1>;
828
+ onInput: (e: any) => void;
829
+ doCommit: () => void;
830
+ doCancel: () => void;
831
+ onKeydown: (e: any) => void;
832
+ onBlur: () => void;
833
+ }
834
+ //#endregion
835
+ //#region src/EditorSelect.d.ts
836
+ declare const EditorSelect_base: typeof LitElement;
837
+ declare class EditorSelect extends EditorSelect_base {
838
+ static styles: _$lit.CSSResult;
839
+ /**
840
+ * The column id (mirrors the `#editor` slot scope). Used as the select `aria-label`.
841
+ */
842
+ columnId: string;
843
+ /**
844
+ * The table-core column object (opaque passthrough from the `#editor` slot scope).
845
+ */
846
+ column: unknown;
847
+ /**
848
+ * The consumer's row data object (opaque passthrough from the `#editor` slot scope).
849
+ */
850
+ row: unknown;
851
+ /**
852
+ * The current cell value the local draft seeds from (setup-once); String-coerced for the `<select>` binding.
853
+ */
854
+ value: unknown;
855
+ /**
856
+ * `(value) => void` — commit the cell with the selected value (Enter / blur). Null-guarded at call sites.
857
+ */
858
+ commit: ((...args: unknown[]) => unknown) | null;
859
+ /**
860
+ * `() => void` — revert the edit (Escape). Null-guarded at call sites.
861
+ */
862
+ cancel: ((...args: unknown[]) => unknown) | null;
863
+ /**
864
+ * The select options — `[{ value, label }]`. Mirrors `<Column editorOptions>`.
865
+ */
866
+ options: any[];
867
+ private _draft;
868
+ private _disconnectCleanups;
869
+ private _rozieTornDown;
870
+ firstUpdated(): void;
871
+ disconnectedCallback(): void;
872
+ render(): _$lit.TemplateResult<1>;
873
+ onChange: (e: any) => void;
874
+ doCommit: () => void;
875
+ doCancel: () => void;
876
+ onKeydown: (e: any) => void;
877
+ onBlur: () => void;
878
+ }
879
+ //#endregion
880
+ //#region src/EditorCheckbox.d.ts
881
+ declare const EditorCheckbox_base: typeof LitElement;
882
+ declare class EditorCheckbox extends EditorCheckbox_base {
883
+ static styles: _$lit.CSSResult;
884
+ /**
885
+ * The column id (mirrors the `#editor` slot scope). Used as the input `aria-label`.
886
+ */
887
+ columnId: string;
888
+ /**
889
+ * The table-core column object (opaque passthrough from the `#editor` slot scope).
890
+ */
891
+ column: unknown;
892
+ /**
893
+ * The consumer's row data object (opaque passthrough from the `#editor` slot scope).
894
+ */
895
+ row: unknown;
896
+ /**
897
+ * The current cell value — coerced to a real boolean via `!!` to seed the checkbox `checked` state.
898
+ */
899
+ value: unknown;
900
+ /**
901
+ * `(value) => void` — commit the cell. This editor immediately commits the boolean checked state on `@change`. Null-guarded at call sites.
902
+ */
903
+ commit: ((...args: unknown[]) => unknown) | null;
904
+ /**
905
+ * `() => void` — revert the edit (Escape). Null-guarded at call sites.
906
+ */
907
+ cancel: ((...args: unknown[]) => unknown) | null;
908
+ private _disconnectCleanups;
909
+ private _rozieTornDown;
910
+ disconnectedCallback(): void;
911
+ render(): _$lit.TemplateResult<1>;
912
+ onChange: (e: any) => void;
913
+ onKeydown: (e: any) => void;
914
+ }
915
+ //#endregion
916
+ //#region src/EditorDate.d.ts
917
+ declare const EditorDate_base: typeof LitElement;
918
+ declare class EditorDate extends EditorDate_base {
919
+ static styles: _$lit.CSSResult;
920
+ /**
921
+ * The column id (mirrors the `#editor` slot scope). Used as the input `aria-label`.
922
+ */
923
+ columnId: string;
924
+ /**
925
+ * The table-core column object (opaque passthrough from the `#editor` slot scope).
926
+ */
927
+ column: unknown;
928
+ /**
929
+ * The consumer's row data object (opaque passthrough from the `#editor` slot scope).
930
+ */
931
+ row: unknown;
932
+ /**
933
+ * The current cell value the local draft seeds from (setup-once); String-coerced to an ISO `YYYY-MM-DD` string for the native date input.
934
+ */
935
+ value: unknown;
936
+ /**
937
+ * `(value) => void` — commit the cell with the ISO `YYYY-MM-DD` string (Enter / blur). Null-guarded at call sites.
938
+ */
939
+ commit: ((...args: unknown[]) => unknown) | null;
940
+ /**
941
+ * `() => void` — revert the edit (Escape). Null-guarded at call sites.
942
+ */
943
+ cancel: ((...args: unknown[]) => unknown) | null;
944
+ private _draft;
945
+ private _disconnectCleanups;
946
+ private _rozieTornDown;
947
+ firstUpdated(): void;
948
+ disconnectedCallback(): void;
949
+ render(): _$lit.TemplateResult<1>;
950
+ onInput: (e: any) => void;
951
+ doCommit: () => void;
952
+ doCancel: () => void;
953
+ onChange: (e: any) => void;
954
+ onKeydown: (e: any) => void;
955
+ onBlur: () => void;
956
+ }
957
+ //#endregion
958
+ //#region src/FilterText.d.ts
959
+ declare const FilterText_base: typeof LitElement;
960
+ declare class FilterText extends FilterText_base {
961
+ static styles: _$lit.CSSResult;
962
+ /**
963
+ * The column id (mirrors the `#filter` slot scope) — used as the filter key and the input `aria-label`.
964
+ */
965
+ columnId: string;
966
+ /**
967
+ * The table-core column object (opaque passthrough from the `#filter` slot scope).
968
+ */
969
+ column: unknown;
970
+ /**
971
+ * The current column filter value the local draft seeds from (setup-once).
972
+ */
973
+ value: unknown;
974
+ /**
975
+ * `(columnId, value) => void` — apply the column filter (Enter / blur applies, Escape clears). Null-guarded at call sites.
976
+ */
977
+ setFilter: ((...args: unknown[]) => unknown) | null;
978
+ private _draft;
979
+ private _disconnectCleanups;
980
+ private _rozieTornDown;
981
+ firstUpdated(): void;
982
+ disconnectedCallback(): void;
983
+ render(): _$lit.TemplateResult<1>;
984
+ onInput: (e: any) => void;
985
+ applyFilter: () => void;
986
+ clearFilter: () => void;
987
+ onKeydown: (e: any) => void;
988
+ onBlur: () => void;
989
+ }
990
+ //#endregion
991
+ //#region src/FilterNumberRange.d.ts
992
+ declare const FilterNumberRange_base: typeof LitElement;
993
+ declare class FilterNumberRange extends FilterNumberRange_base {
994
+ static styles: _$lit.CSSResult;
995
+ /**
996
+ * The column id (mirrors the `#filter` slot scope) — used as the filter key and the input `aria-label` base.
997
+ */
998
+ columnId: string;
999
+ /**
1000
+ * The table-core column object (opaque passthrough from the `#filter` slot scope).
1001
+ */
1002
+ column: unknown;
1003
+ /**
1004
+ * The current column filter value (`[min, max]` tuple or null) the two inputs seed from (setup-once).
1005
+ */
1006
+ value: unknown;
1007
+ /**
1008
+ * `(columnId, value) => void` — apply the column filter as a `[min, max]` tuple (each side coerced to a Number or `undefined`, so a one-sided range works); both empty clears the filter. Null-guarded at call sites.
1009
+ */
1010
+ setFilter: ((...args: unknown[]) => unknown) | null;
1011
+ /**
1012
+ * The faceted `[min, max]` bounds for this column (`[number, number]` or null) — drives the input placeholders only.
1013
+ */
1014
+ minMax: unknown;
1015
+ private _minDraft;
1016
+ private _maxDraft;
1017
+ private _disconnectCleanups;
1018
+ private _rozieTornDown;
1019
+ firstUpdated(): void;
1020
+ disconnectedCallback(): void;
1021
+ render(): _$lit.TemplateResult<1>;
1022
+ onMinInput: (e: any) => void;
1023
+ onMaxInput: (e: any) => void;
1024
+ minPlaceholder: () => string;
1025
+ maxPlaceholder: () => string;
1026
+ applyRange: () => void;
1027
+ }
1028
+ //#endregion
1029
+ //#region src/FilterSelect.d.ts
1030
+ declare const FilterSelect_base: typeof LitElement;
1031
+ declare class FilterSelect extends FilterSelect_base {
1032
+ static styles: _$lit.CSSResult;
1033
+ /**
1034
+ * The column id (mirrors the `#filter` slot scope) — used as the filter key and the select `aria-label`.
1035
+ */
1036
+ columnId: string;
1037
+ /**
1038
+ * The table-core column object (opaque passthrough from the `#filter` slot scope).
1039
+ */
1040
+ column: unknown;
1041
+ /**
1042
+ * The current column filter value the select seeds from (String-coerced).
1043
+ */
1044
+ value: unknown;
1045
+ /**
1046
+ * `(columnId, value) => void` — apply the column filter on change; the leading empty "All" option clears it. Null-guarded at call sites.
1047
+ */
1048
+ setFilter: ((...args: unknown[]) => unknown) | null;
1049
+ /**
1050
+ * The faceted distinct keys for this column (cross-filtered, keys only — no occurrence counts) used to build the `<option>` list.
1051
+ */
1052
+ uniqueValues: any[];
1053
+ private _disconnectCleanups;
1054
+ private _rozieTornDown;
1055
+ disconnectedCallback(): void;
1056
+ render(): _$lit.TemplateResult<1>;
1057
+ selectValue: () => string;
1058
+ onChange: (e: any) => void;
1059
+ }
1060
+ //#endregion
1061
+ //#region src/GroupBar.d.ts
1062
+ declare const GroupBar_base: typeof LitElement;
1063
+ declare class GroupBar extends GroupBar_base {
1064
+ static styles: _$lit.CSSResult;
1065
+ /**
1066
+ * The ordered active grouping key array (read-only source of truth from the `#groupBar` slot scope). This drop-in never keeps its own copy — it always reads this and writes through `applyGrouping` / `clearGrouping`.
1067
+ */
1068
+ grouping: any[];
1069
+ /**
1070
+ * The columns offered as grouping targets — `[{ id, label }]` — rendered as draggable chips.
1071
+ */
1072
+ groupableColumns: any[];
1073
+ /**
1074
+ * `(cols: string[]) => void` — the only add/reorder writer for the grouping order. Null-guarded at call sites.
1075
+ */
1076
+ applyGrouping: ((...args: unknown[]) => unknown) | null;
1077
+ /**
1078
+ * `() => void` — the only clear writer; resets grouping to empty. Null-guarded at call sites.
1079
+ */
1080
+ clearGrouping: ((...args: unknown[]) => unknown) | null;
1081
+ private _draggingId;
1082
+ private _isOver;
1083
+ private _dragKind;
1084
+ private _dropKey;
1085
+ private _disconnectCleanups;
1086
+ private _rozieTornDown;
1087
+ disconnectedCallback(): void;
1088
+ render(): _$lit.TemplateResult<1>;
1089
+ onChipDragStart: (e: any, id: any) => void;
1090
+ onTokenDragStart: (e: any, gk: any) => void;
1091
+ onDragOver: (e: any) => void;
1092
+ onTokenDragOver: (e: any, gk: any) => void;
1093
+ onDragLeave: (e: any) => void;
1094
+ resetDrag: () => void;
1095
+ onDragEnd: () => void;
1096
+ onDrop: (e: any) => void;
1097
+ removeKey: (key: any) => void;
1098
+ clearAll: () => void;
1099
+ labelFor: (key: any) => any;
1100
+ }
1101
+ //#endregion
1102
+ //#region src/DetailPanel.d.ts
1103
+ declare const DetailPanel_base: typeof LitElement;
1104
+ declare class DetailPanel extends DetailPanel_base {
1105
+ static styles: _$lit.CSSResult;
1106
+ /**
1107
+ * The raw row object (the `#detail` slot scope `row` = `row.original`). This drop-in walks its own enumerable keys and String-coerces each value into a key/value definition list; a null row renders an empty list.
1108
+ */
1109
+ row: unknown;
1110
+ private _disconnectCleanups;
1111
+ private _rozieTornDown;
1112
+ disconnectedCallback(): void;
1113
+ render(): _$lit.TemplateResult<1>;
1114
+ entries: () => {
1115
+ key: any;
1116
+ value: string;
1117
+ }[];
1118
+ }
1119
+ //#endregion
1120
+ export { Column, DataTable, DataTable as default, DetailPanel, EditorCheckbox, EditorDate, EditorNumber, EditorSelect, EditorText, FilterNumberRange, FilterSelect, FilterText, GroupBar };