@vueye-table/core 3.0.0-alpha.1 → 3.0.0-alpha.3

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/README.md CHANGED
@@ -5,6 +5,10 @@ filtering, stable multi-column sorting, pagination, selection, column visibility
5
5
  editing with undo, spreadsheet addressing, clipboard text, and CSV export. No DOM, no Node.js,
6
6
  no framework.
7
7
 
8
+ Nested and adjacency trees share sibling sorting, hierarchical filtering, cascading selection,
9
+ immutable child edits and lazy loading with injected cancellation. Read the
10
+ [tree guide](https://github.com/boussadjra/vueye-table/blob/main/docs/guide/trees.md) for the API and runnable example.
11
+
8
12
  ```bash
9
13
  pnpm add @vueye-table/core
10
14
  ```
package/dist/index.d.ts CHANGED
@@ -1,10 +1,57 @@
1
- //#region src/path.d.ts
1
+ //#region src/state.d.ts
2
+ /** A stable identity for a row, read from the row itself or produced by a function. */
3
+ type RowKey = string | number;
4
+ type ExpandedState = readonly RowKey[] | true;
5
+ type SortDirection = "asc" | "desc";
6
+ /** One level of a sort. Several rules sort by the first, then break ties with the next. */
7
+ interface SortRule {
8
+ readonly column: string;
9
+ readonly direction: SortDirection;
10
+ }
11
+ /** Pages are counted from 1. */
12
+ interface PaginationState {
13
+ readonly page: number;
14
+ readonly pageSize: number;
15
+ }
2
16
  /**
3
- * Dotted property paths.
17
+ * Everything a user can change about a table, as plain serializable data.
4
18
  *
5
- * A column addresses nested data with a path such as `"address.city"`. The types below give every
6
- * such path its value type, and the functions read and write through a path without mutating.
19
+ * Being plain data, the state can be stored, restored, sent to a server that sorts and pages, or
20
+ * written to the URL with a library such as QueryWeave.
21
+ */
22
+ interface TableState {
23
+ readonly sorting: readonly SortRule[];
24
+ /** Free text matched against every searchable column. */
25
+ readonly search: string;
26
+ /** Filter value per column id, interpreted by that column's `filter`. */
27
+ readonly filters: Readonly<Record<string, unknown>>;
28
+ readonly pagination: PaginationState;
29
+ readonly selection: readonly RowKey[];
30
+ /** Expanded keys, or true for every expandable row. */
31
+ readonly expanded: ExpandedState;
32
+ readonly hiddenColumns: readonly string[];
33
+ /** Column ids in display order. Columns missing from the list keep their definition order. */
34
+ readonly columnOrder: readonly string[];
35
+ }
36
+ /** A partial state, as accepted by `setState` and `initialState`. */
37
+ type TableStatePatch = { readonly [K in keyof TableState]?: TableState[K] | undefined; };
38
+ declare const DEFAULT_PAGE_SIZE = 10;
39
+ //#endregion
40
+ //#region src/issues.d.ts
41
+ /** Every problem the engine can report. The union grows in minor versions. */
42
+ type TableIssueCode = "duplicate_row_key" | "unknown_column" | "invalid_page_size" | "unknown_row" | "read_only_cell" | "invalid_value" | "invalid_expanded" | "unsafe_path" | "paste_truncated" | "invalid_paste_limit" | "invalid_virtual_option" | "invalid_virtual_size" | "invalid_virtual_viewport" | "duplicate_virtual_key" | "tree_cycle" | "tree_depth_exceeded" | "tree_orphan" | "tree_duplicate_key" | "tree_load_error" | "invalid_tree_option";
43
+ /**
44
+ * A problem the engine recovered from. Invalid input is never dropped silently: the engine falls
45
+ * back to something safe and reports what it did here.
7
46
  */
47
+ interface TableIssue {
48
+ readonly code: TableIssueCode;
49
+ readonly message: string;
50
+ readonly column?: string | undefined;
51
+ readonly rowKey?: RowKey | undefined;
52
+ }
53
+ //#endregion
54
+ //#region src/path.d.ts
8
55
  type Leaf = string | number | boolean | bigint | symbol | null | undefined | Date | readonly unknown[] | ((...args: never[]) => unknown);
9
56
  type Depth = [never, 0, 1, 2, 3];
10
57
  /** Every dotted path into `T`, four levels deep. Arrays, dates, and functions are leaves. */
@@ -15,9 +62,10 @@ type PathValue<T, TPath extends string> = TPath extends `${infer THead}.${infer
15
62
  declare function getPath(source: unknown, path: string): unknown;
16
63
  /**
17
64
  * Return a copy of `source` with `value` at `path`. Only the objects along the path are copied;
18
- * everything else is shared. Missing steps are created as plain objects.
65
+ * everything else is shared. Missing steps are created as plain objects. Unsafe paths return
66
+ * `source` unchanged and report an `unsafe_path` issue through `onIssue`, when supplied.
19
67
  */
20
- declare function setPath<T>(source: T, path: string, value: unknown): T;
68
+ declare function setPath<T>(source: T, path: string, value: unknown, onIssue?: (problem: TableIssue) => void): T;
21
69
  //#endregion
22
70
  //#region src/column.d.ts
23
71
  type ColumnAlign = "start" | "center" | "end";
@@ -257,69 +305,53 @@ interface UndoStack<TEntry> {
257
305
  }
258
306
  declare function createUndoStack<TEntry>(limit?: number): UndoStack<TEntry>;
259
307
  //#endregion
260
- //#region src/humanize.d.ts
261
- /**
262
- * Turn a column id into a readable header: `"name.first_name"` becomes `"Name first name"` and
263
- * `"createdAt"` becomes `"Created at"`.
264
- */
265
- declare function humanize(id: string): string;
266
- //#endregion
267
- //#region src/infer.d.ts
268
- /**
269
- * Columns for data that has none declared: one path column per leaf of the first `sample` rows,
270
- * nested objects flattened into dotted paths, in first-seen order.
271
- */
272
- declare function inferColumns<TRow>(rows: readonly TRow[], sample?: number): readonly ColumnDef<TRow>[];
273
- //#endregion
274
- //#region src/state.d.ts
275
- /** A stable identity for a row, read from the row itself or produced by a function. */
276
- type RowKey = string | number;
277
- type SortDirection = "asc" | "desc";
278
- /** One level of a sort. Several rules sort by the first, then break ties with the next. */
279
- interface SortRule {
280
- readonly column: string;
281
- readonly direction: SortDirection;
308
+ //#region src/virtualizer.d.ts
309
+ type VirtualAlign = "start" | "center" | "end" | "auto";
310
+ interface VirtualizerOptions {
311
+ readonly count: number;
312
+ readonly estimateSize: number | ((index: number) => number);
313
+ /** Extra items on each side. Defaults to 5. */
314
+ readonly overscan?: number | undefined;
315
+ /** Stable, unique identities preserve measurements across reorder and filtering. */
316
+ readonly getKey?: ((index: number) => RowKey) | undefined;
317
+ readonly onIssue?: ((problem: TableIssue) => void) | undefined;
282
318
  }
283
- /** Pages are counted from 1. */
284
- interface PaginationState {
285
- readonly page: number;
286
- readonly pageSize: number;
319
+ interface VirtualItem {
320
+ readonly index: number;
321
+ readonly key: RowKey;
322
+ readonly start: number;
323
+ readonly size: number;
287
324
  }
288
- /**
289
- * Everything a user can change about a table, as plain serializable data.
290
- *
291
- * Being plain data, the state can be stored, restored, sent to a server that sorts and pages, or
292
- * written to the URL with a library such as QueryWeave.
293
- */
294
- interface TableState {
295
- readonly sorting: readonly SortRule[];
296
- /** Free text matched against every searchable column. */
297
- readonly search: string;
298
- /** Filter value per column id, interpreted by that column's `filter`. */
299
- readonly filters: Readonly<Record<string, unknown>>;
300
- readonly pagination: PaginationState;
301
- readonly selection: readonly RowKey[];
302
- readonly hiddenColumns: readonly string[];
303
- /** Column ids in display order. Columns missing from the list keep their definition order. */
304
- readonly columnOrder: readonly string[];
325
+ interface VirtualWindow {
326
+ readonly items: readonly VirtualItem[];
327
+ readonly totalSize: number;
328
+ readonly paddingStart: number;
329
+ readonly paddingEnd: number;
330
+ /** Inclusive indices; an empty result uses 0 and -1. */
331
+ readonly startIndex: number;
332
+ readonly endIndex: number;
333
+ /** Clamped viewport values, excluding overscan. */
334
+ readonly offset: number;
335
+ readonly viewportSize: number;
336
+ readonly issues: readonly TableIssue[];
305
337
  }
306
- /** A partial state, as accepted by `setState` and `initialState`. */
307
- type TableStatePatch = { readonly [K in keyof TableState]?: TableState[K] | undefined; };
308
- declare const DEFAULT_PAGE_SIZE = 10;
338
+ interface Virtualizer {
339
+ setOptions(options: VirtualizerOptions): void;
340
+ setViewport(offset: number, size: number): void;
341
+ measure(key: RowKey, size: number): void;
342
+ getWindow(): VirtualWindow;
343
+ getOffsetForIndex(index: number, align?: VirtualAlign): number;
344
+ subscribe(listener: (view: VirtualWindow) => void): () => void;
345
+ }
346
+ /** Layout arithmetic for either axis. All viewport values and measurements come from the caller. */
347
+ declare function createVirtualizer(initialOptions: VirtualizerOptions): Virtualizer;
309
348
  //#endregion
310
- //#region src/issues.d.ts
311
- /** Every problem the engine can report. The union grows in minor versions. */
312
- type TableIssueCode = "duplicate_row_key" | "unknown_column" | "invalid_page_size" | "unknown_row" | "read_only_cell" | "invalid_value";
349
+ //#region src/humanize.d.ts
313
350
  /**
314
- * A problem the engine recovered from. Invalid input is never dropped silently: the engine falls
315
- * back to something safe and reports what it did here.
351
+ * Turn a column id into a readable header: `"name.first_name"` becomes `"Name first name"` and
352
+ * `"createdAt"` becomes `"Created at"`.
316
353
  */
317
- interface TableIssue {
318
- readonly code: TableIssueCode;
319
- readonly message: string;
320
- readonly column?: string | undefined;
321
- readonly rowKey?: RowKey | undefined;
322
- }
354
+ declare function humanize(id: string): string;
323
355
  //#endregion
324
356
  //#region src/row.d.ts
325
357
  /**
@@ -331,10 +363,64 @@ interface TableRow<TRow> {
331
363
  /** Position in the data the table was given. */
332
364
  readonly index: number;
333
365
  readonly original: TRow;
366
+ readonly canExpand: boolean;
367
+ readonly isExpanded: boolean;
368
+ readonly depth: number;
369
+ readonly parentKey: RowKey | undefined;
370
+ readonly childCount: number | undefined;
371
+ readonly childStatus: ChildStatus;
372
+ /** Coverage of this row and its loaded descendants. */
373
+ readonly selection: "none" | "some" | "all";
334
374
  getValue(columnId: string): unknown;
335
375
  /** The formatted text of a cell, as shown, searched, copied, and exported. */
336
376
  getDisplay(columnId: string): string;
337
377
  }
378
+ type RowItemKind = "row" | "detail";
379
+ /** A renderer item; detail items do not count as data rows or grid coordinates. */
380
+ interface TableRenderItem<TRow> {
381
+ readonly kind: RowItemKind;
382
+ readonly key: string;
383
+ /** The parent data row, also for detail items. */
384
+ readonly row: TableRow<TRow>;
385
+ /** Position of the parent in snapshot.rows. */
386
+ readonly rowIndex: number;
387
+ }
388
+ /** Disjoint namespaces and typed keys avoid collisions between 1, "1", and detail-like ids. */
389
+ declare function getRowItemKey(key: RowKey, kind?: RowItemKind): string;
390
+ //#endregion
391
+ //#region src/tree.d.ts
392
+ /** A runtime supplies its own cancellation primitive; core needs no platform globals. */
393
+ interface TreeLoadSignal {
394
+ readonly aborted: boolean;
395
+ }
396
+ interface TreeLoadController<TSignal extends TreeLoadSignal = TreeLoadSignal> {
397
+ readonly signal: TSignal;
398
+ abort(): void;
399
+ }
400
+ type TreeFilter = "ancestors" | "descendants" | "strict";
401
+ type TreePagination = "root" | "row";
402
+ type ChildStatus = "idle" | "loading" | "loaded" | "error";
403
+ interface TreeOptions<TRow, TSignal extends TreeLoadSignal = TreeLoadSignal> {
404
+ readonly getChildren?: ((row: TRow) => readonly TRow[] | undefined) | undefined;
405
+ /** Immutable counterpart of getChildren, required when editing nested descendants. */
406
+ readonly setChildren?: ((row: TRow, children: readonly TRow[]) => TRow) | undefined;
407
+ readonly getParentKey?: ((row: TRow) => RowKey | null | undefined) | undefined;
408
+ readonly hasChildren?: ((row: TRow) => boolean) | undefined;
409
+ readonly loadChildren?: ((row: TableRow<TRow>, signal: TSignal) => Promise<readonly TRow[]>) | undefined;
410
+ /** Required with loadChildren. Supply a controller from the caller's runtime. */
411
+ readonly createChildLoadController?: (() => TreeLoadController<TSignal>) | undefined;
412
+ readonly treeFilter?: TreeFilter | undefined;
413
+ readonly paginateBy?: TreePagination | undefined;
414
+ /** Maximum edges from a root. Deeper rows recover as roots. Defaults to 1,000. */
415
+ readonly maxDepth?: number | undefined;
416
+ }
417
+ //#endregion
418
+ //#region src/infer.d.ts
419
+ /**
420
+ * Columns for data that has none declared: one path column per leaf of the first `sample` rows,
421
+ * nested objects flattened into dotted paths, in first-seen order.
422
+ */
423
+ declare function inferColumns<TRow>(rows: readonly TRow[], sample?: number): readonly ColumnDef<TRow>[];
338
424
  //#endregion
339
425
  //#region src/pipeline.d.ts
340
426
  /**
@@ -367,9 +453,16 @@ declare function paginationItems(page: number, pageCount: number, siblings?: num
367
453
  //#endregion
368
454
  //#region src/table.d.ts
369
455
  type SelectionMode = "none" | "single" | "multiple";
456
+ type ExpandMode = "single" | "multiple";
370
457
  /** Which rows "select all" covers: the current page, or every row that passes the filters. */
371
458
  type SelectScope = "page" | "all";
372
- interface TableOptions<TRow> {
459
+ interface PasteLimit {
460
+ /** Maximum fields examined per paste, including clipped columns. Defaults to 100,000. */
461
+ readonly maxCells?: number | undefined;
462
+ /** Maximum UTF-16 code units examined per paste. Defaults to 5,000,000. */
463
+ readonly maxLength?: number | undefined;
464
+ }
465
+ interface TableOptions<TRow, TSignal extends TreeLoadSignal = TreeLoadSignal> extends TreeOptions<TRow, TSignal> {
373
466
  readonly data: readonly TRow[];
374
467
  readonly columns: readonly ColumnDef<TRow>[];
375
468
  /**
@@ -378,6 +471,10 @@ interface TableOptions<TRow> {
378
471
  */
379
472
  readonly rowKey?: DeepKeys<TRow> | ((row: TRow, index: number) => RowKey) | undefined;
380
473
  readonly initialState?: TableStatePatch | undefined;
474
+ /** Present all processed rows rather than a page. Defaults to true. */
475
+ readonly paginate?: boolean | undefined;
476
+ readonly getRowCanExpand?: ((row: TRow) => boolean) | undefined;
477
+ readonly expandMode?: ExpandMode | undefined;
381
478
  /** Defaults to `"multiple"`. */
382
479
  readonly selectionMode?: SelectionMode | undefined;
383
480
  /** Defaults to `"all"`. */
@@ -397,6 +494,8 @@ interface TableOptions<TRow> {
397
494
  readonly onEditIssues?: ((issues: readonly TableIssue[]) => void) | undefined;
398
495
  /** The most edit batches `undo` can reach. Defaults to 100. */
399
496
  readonly historyLimit?: number | undefined;
497
+ /** Bound clipboard parsing. Only complete cells inside the visible grid are applied. */
498
+ readonly pasteLimit?: PasteLimit | undefined;
400
499
  }
401
500
  type SelectionCoverage = "none" | "some" | "all";
402
501
  interface SortInfo {
@@ -414,8 +513,11 @@ interface TableSnapshot<TRow> {
414
513
  readonly columns: readonly TableColumn<TRow>[];
415
514
  /** Every column in display order, hidden ones included. */
416
515
  readonly allColumns: readonly TableColumn<TRow>[];
417
- /** Rows on the current page. */
516
+ /** Rows on the current page, or all processed rows when pagination is disabled. */
418
517
  readonly rows: readonly TableRow<TRow>[];
518
+ /** Data rows followed by their open details; details do not affect pagination or grid positions. */
519
+ readonly renderItems: readonly TableRenderItem<TRow>[];
520
+ readonly paginate: boolean;
419
521
  /** Rows on every page, filtered and sorted. For `manual` tables this is the current page. */
420
522
  readonly processedRows: readonly TableRow<TRow>[];
421
523
  /** The current page, clamped into range. */
@@ -478,7 +580,17 @@ interface EditResult<TRow> {
478
580
  readonly changes: readonly CellChange<TRow>[];
479
581
  readonly issues: readonly TableIssue[];
480
582
  }
481
- interface ExportOptions {
583
+ interface CopyOptions {
584
+ /** Prefix formula-like text with an apostrophe. Defaults to false for clipboard copies. */
585
+ readonly escapeFormulas?: boolean | undefined;
586
+ }
587
+ interface ExportOptions extends CopyOptions {
588
+ /** Prepend a numeric Depth column for hierarchical exports. */
589
+ readonly depth?: boolean | undefined;
590
+ /** Prefix the first data column with this text repeated per level. */
591
+ readonly indent?: string | undefined;
592
+ /** Prefix formula-like text with an apostrophe. Defaults to true for exports. */
593
+ readonly escapeFormulas?: boolean | undefined;
482
594
  /** Defaults to `"csv"`. */
483
595
  readonly format?: "csv" | "tsv" | undefined;
484
596
  /** Column ids to export. Defaults to the visible columns. */
@@ -530,13 +642,16 @@ interface DataTable<TRow> {
530
642
  clearSelection(): void;
531
643
  /** The selected rows that are present in the data. */
532
644
  getSelectedRows(): readonly TableRow<TRow>[];
645
+ toggleExpanded(key: RowKey, expanded?: boolean): void;
646
+ expandAll(): void;
647
+ collapseAll(): void;
533
648
  toggleColumn(columnId: string, visible?: boolean): void;
534
649
  moveColumn(columnId: string, toIndex: number): void;
535
650
  edit(edits: CellEdit | readonly CellEdit[]): EditResult<TRow>;
536
651
  undo(): boolean;
537
652
  redo(): boolean;
538
653
  /** The text of a range of shown cells, tab-separated like a spreadsheet clipboard. */
539
- copy(range: CellRange): string;
654
+ copy(range: CellRange, options?: CopyOptions): string;
540
655
  /** Paste tab-separated text with its top-left cell at `origin`, clipped to the grid. */
541
656
  paste(origin: CellPosition, text: string): EditResult<TRow>;
542
657
  /** Empty every editable cell in a range. */
@@ -548,7 +663,7 @@ interface DataTable<TRow> {
548
663
  destroy(): void;
549
664
  }
550
665
  /** Create a data table. */
551
- declare function createTable<TRow>(options: TableOptions<TRow>): DataTable<TRow>;
666
+ declare function createTable<TRow, TSignal extends TreeLoadSignal = TreeLoadSignal>(options: TableOptions<TRow, TSignal>): DataTable<TRow>;
552
667
  //#endregion
553
- export { type AnyColumnDef, type CellChange, type CellEdit, type CellInputEdit, type CellPosition, type CellRange, type CellValueEdit, type ColumnAlign, type ColumnDef, type ColumnOptions, type ColumnType, type ComputedColumnDef, DEFAULT_PAGE_SIZE, type DataTable, type DeepKeys, type EditResult, type EditStatus, type ExportOptions, type GridBounds, type GridCommand, type GridDirection, type GridKey, type GridSelection, type MoveOptions, type PageItem, type PaginationState, type ParseResult, type PathColumnDef, type PathValue, type RangeFilter, type RowKey, type SelectScope, type SelectionCoverage, type SelectionMode, type SortDirection, type SortInfo, type SortRule, type TableColumn, type TableIssue, type TableIssueCode, type TableOptions, type TableRow, type TableSnapshot, type TableState, type TableStatePatch, type UndoStack, clampPage, clampPosition, columnLabel, compareValues, countPages, createTable, createUndoStack, defineColumns, filterRows, formatValue, fromA1, getPath, gridCommand, humanize, inferColumns, matchesFilter, moveSelection, paginateRows, paginationItems, parseAs, parseDelimited, rangeContains, resolveColumn, selectCell, selectionRange, setPath, sortRows, toA1, toDelimited, typeOf };
668
+ export { type AnyColumnDef, type CellChange, type CellEdit, type CellInputEdit, type CellPosition, type CellRange, type CellValueEdit, type ChildStatus, type ColumnAlign, type ColumnDef, type ColumnOptions, type ColumnType, type ComputedColumnDef, type CopyOptions, DEFAULT_PAGE_SIZE, type DataTable, type DeepKeys, type EditResult, type EditStatus, type ExpandMode, type ExpandedState, type ExportOptions, type GridBounds, type GridCommand, type GridDirection, type GridKey, type GridSelection, type MoveOptions, type PageItem, type PaginationState, type ParseResult, type PasteLimit, type PathColumnDef, type PathValue, type RangeFilter, type RowItemKind, type RowKey, type SelectScope, type SelectionCoverage, type SelectionMode, type SortDirection, type SortInfo, type SortRule, type TableColumn, type TableIssue, type TableIssueCode, type TableOptions, type TableRenderItem, type TableRow, type TableSnapshot, type TableState, type TableStatePatch, type TreeFilter, type TreeLoadController, type TreeLoadSignal, type TreeOptions, type TreePagination, type UndoStack, type VirtualAlign, type VirtualItem, type VirtualWindow, type Virtualizer, type VirtualizerOptions, clampPage, clampPosition, columnLabel, compareValues, countPages, createTable, createUndoStack, createVirtualizer, defineColumns, filterRows, formatValue, fromA1, getPath, getRowItemKey, gridCommand, humanize, inferColumns, matchesFilter, moveSelection, paginateRows, paginationItems, parseAs, parseDelimited, rangeContains, resolveColumn, selectCell, selectionRange, setPath, sortRows, toA1, toDelimited, typeOf };
554
669
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/path.ts","../src/column.ts","../src/delimited.ts","../src/grid.ts","../src/undo-stack.ts","../src/humanize.ts","../src/infer.ts","../src/state.ts","../src/issues.ts","../src/row.ts","../src/pipeline.ts","../src/table.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/state.ts","../src/issues.ts","../src/path.ts","../src/column.ts","../src/delimited.ts","../src/grid.ts","../src/undo-stack.ts","../src/virtualizer.ts","../src/humanize.ts","../src/row.ts","../src/tree.ts","../src/infer.ts","../src/pipeline.ts","../src/table.ts"],"mappings":"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"}