@lilydesignsystem/angular-data-grid 0.9.0 → 0.10.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.
- package/README.md +36 -0
- package/fesm2022/lilydesignsystem-angular-data-grid.mjs +683 -101
- package/fesm2022/lilydesignsystem-angular-data-grid.mjs.map +1 -1
- package/package.json +1 -1
- package/types/lilydesignsystem-angular-data-grid.d.ts +249 -4
- package/types/lilydesignsystem-angular-data-grid.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -60,6 +60,14 @@ export declare function exportBlob(table: ExportTable, format: ExportFormat, opt
|
|
|
60
60
|
export declare function exportFilename(base: string, format: ExportFormat): string;
|
|
61
61
|
/** Saves a blob through a temporary link. Does nothing outside a browser. */
|
|
62
62
|
export declare function downloadBlob(blob: Blob, filename: string): void;
|
|
63
|
+
/** The table as tab-separated text with its header row, ready to paste into a spreadsheet (no byte-order mark, formula text defused). */
|
|
64
|
+
export declare function toClipboardText(table: ExportTable): string;
|
|
65
|
+
/**
|
|
66
|
+
* Write `text` to the clipboard: the async Clipboard API where there is one, otherwise a hidden, selected `<textarea>` and
|
|
67
|
+
* `document.execCommand("copy")`. Resolves true when something was copied, false when neither path worked (no permission, no
|
|
68
|
+
* secure context, no DOM). Never throws.
|
|
69
|
+
*/
|
|
70
|
+
export declare function copyToClipboard(text: string): Promise<boolean>;
|
|
63
71
|
type DataGridCellType = "text" | "number" | "link" | "date" | "time" | "time-zone" | "select" | "radio" | "person" | "file" | "rollup" | "formula";
|
|
64
72
|
/** A time of day and the zone it is stated in (an IANA zone id, or a bare offset such as `+01:00`). */
|
|
65
73
|
type DataGridZonedTime = {
|
|
@@ -276,6 +284,8 @@ type DataGridColumn = {
|
|
|
276
284
|
/** The kind of value in this column: a bundle of defaults for `format`, `compare`, `filterText`, `exportValue`, `align` and `editor`. */
|
|
277
285
|
type?: DataGridCellType;
|
|
278
286
|
/** BCP 47 locale for this column's formatting and collation. */
|
|
287
|
+
/** Shown instead of nothing when this column's value is missing (`null`, `undefined` or `""`). Overrides the grid's `emptyValue`. A missing value always carries `data-empty` on its cell. */
|
|
288
|
+
emptyValue?: string;
|
|
279
289
|
locale?: string;
|
|
280
290
|
/** `select` and `radio`: the choices. */
|
|
281
291
|
options?: DataGridOption[];
|
|
@@ -354,6 +364,22 @@ type DataGridColumn = {
|
|
|
354
364
|
*/
|
|
355
365
|
type DataGridLabels = {
|
|
356
366
|
search?: string;
|
|
367
|
+
/** Accessible name of the select that limits the search to one column. Gates the select (needs `searchAllFields` too). */
|
|
368
|
+
searchField?: string;
|
|
369
|
+
/** The select's first option: search every column. */
|
|
370
|
+
searchAllFields?: string;
|
|
371
|
+
/** Accessible name of the pager. When given, the pager is a labelled `<nav>` landmark (the headless `PaginationNav`); without it the pager is a plain `<div>`. */
|
|
372
|
+
pagination?: string;
|
|
373
|
+
/** Visible text of the copy button, which puts the export (header row first, tab-separated) on the clipboard for pasting into a spreadsheet. Gates the button. */
|
|
374
|
+
copy?: string;
|
|
375
|
+
/** Announced after a copy: (how many rows). */
|
|
376
|
+
copyAnnouncement?: (rowCount: number) => string;
|
|
377
|
+
/** Announced when the clipboard could not be written. */
|
|
378
|
+
copyFailed?: string;
|
|
379
|
+
/** Announced after Ctrl/Cmd+Z puts an earlier value back: (column header, the restored text). */
|
|
380
|
+
undoAnnouncement?: (header: string, text: string) => string;
|
|
381
|
+
/** Announced after Ctrl/Cmd+Shift+Z (or Ctrl+Y) re-applies an edit: (column header, the text). */
|
|
382
|
+
redoAnnouncement?: (header: string, text: string) => string;
|
|
357
383
|
columnVisibility?: string;
|
|
358
384
|
columnVisibilityOption?: (header: string) => string;
|
|
359
385
|
resizeHandle?: (header: string) => string;
|
|
@@ -442,6 +468,16 @@ export declare class DataGrid {
|
|
|
442
468
|
readonly rows: import("@angular/core/types/core").InputSignal<DataGridRow[]>;
|
|
443
469
|
/** BCP 47 locale for the typed columns' formatting and collation. Never defaulted: with none, values show as stored. */
|
|
444
470
|
readonly locale: import("@angular/core/types/core").InputSignal<string | undefined>;
|
|
471
|
+
/** What a cell shows when its value is missing (`null`, `undefined` or `""`), for example `"—"`. A column's own `emptyValue` wins. No default: Lily ships no text. The cell always carries `data-empty`, and an export is unaffected. */
|
|
472
|
+
readonly emptyValue: import("@angular/core/types/core").InputSignal<string | undefined>;
|
|
473
|
+
/** In development, log (once per grid) the labels the grid's features call for but `labels` leaves out. Default `true`; it never logs in production. */
|
|
474
|
+
readonly warnMissingLabels: import("@angular/core/types/core").InputSignal<boolean>;
|
|
475
|
+
/** Where missing values sort: `"last"` (default, in both directions) or `"first"`. */
|
|
476
|
+
readonly nulls: import("@angular/core/types/core").InputSignal<"first" | "last">;
|
|
477
|
+
/** Make every column movable (Alt+Arrow on its header, or drag it) unless its own `movable` is `false`. Default `false`. */
|
|
478
|
+
readonly movableColumns: import("@angular/core/types/core").InputSignal<boolean>;
|
|
479
|
+
/** Hides rows for which it returns false (a status or date-range filter). Combines with the text filter; both must pass. */
|
|
480
|
+
readonly rowFilter: import("@angular/core/types/core").InputSignal<((row: DataGridRow) => boolean) | undefined>;
|
|
445
481
|
/** Derives a stable id per row. Defaults to the row's index in `rows`. */
|
|
446
482
|
readonly rowId: import("@angular/core/types/core").InputSignal<(row: DataGridRow, index: number) => string>;
|
|
447
483
|
/** Row selection mode. */
|
|
@@ -478,6 +514,11 @@ export declare class DataGrid {
|
|
|
478
514
|
readonly exportFormulas: import("@angular/core/types/core").InputSignal<boolean>;
|
|
479
515
|
/** Called with the file before it is saved. Return `false` to keep the grid from saving it. */
|
|
480
516
|
readonly exportHandler: import("@angular/core/types/core").InputSignal<((file: DataGridExport) => boolean | void) | undefined>;
|
|
517
|
+
/** Called before a copy puts text on the clipboard. Return `false` to take over (nothing is copied). The `copy` output fires first. */
|
|
518
|
+
readonly copyHandler: import("@angular/core/types/core").InputSignal<((copy: {
|
|
519
|
+
text: string;
|
|
520
|
+
rowCount: number;
|
|
521
|
+
}) => boolean | void) | undefined>;
|
|
481
522
|
/** Renders only the rows in view, in a scroll region of `height` px (needs `scroll`). */
|
|
482
523
|
readonly virtualize: import("@angular/core/types/core").InputSignal<{
|
|
483
524
|
rowHeight: number;
|
|
@@ -490,6 +531,10 @@ export declare class DataGrid {
|
|
|
490
531
|
readonly selected: import("@angular/core/types/core").ModelSignal<string[]>;
|
|
491
532
|
/** Text filter. Two-way bindable: `[(filter)]`. */
|
|
492
533
|
readonly filter: import("@angular/core/types/core").ModelSignal<string>;
|
|
534
|
+
/** Limits the text filter to one column: a column id, or `""` for every filterable column. Two-way bindable: `[(filterField)]`. */
|
|
535
|
+
readonly filterField: import("@angular/core/types/core").ModelSignal<string>;
|
|
536
|
+
/** Further sort keys after `sort`, for ties: Shift+click on another sortable header adds it. Two-way bindable: `[(thenBy)]`. */
|
|
537
|
+
readonly thenBy: import("@angular/core/types/core").ModelSignal<DataGridSort[]>;
|
|
493
538
|
/** Current sort. Two-way bindable: `[(sort)]`. */
|
|
494
539
|
readonly sort: import("@angular/core/types/core").ModelSignal<DataGridSort>;
|
|
495
540
|
/** Column ids in display order. Two-way bindable: `[(columnOrder)]`; columns it does not name follow in their `columns` order. */
|
|
@@ -514,6 +559,10 @@ export declare class DataGrid {
|
|
|
514
559
|
id: string;
|
|
515
560
|
}>;
|
|
516
561
|
readonly exportFile: import("@angular/core/types/_api-chunk").OutputEmitterRef<DataGridExport>;
|
|
562
|
+
readonly copy: import("@angular/core/types/_api-chunk").OutputEmitterRef<{
|
|
563
|
+
text: string;
|
|
564
|
+
rowCount: number;
|
|
565
|
+
}>;
|
|
517
566
|
protected readonly gridId: string;
|
|
518
567
|
protected readonly minColumnWidth = 40;
|
|
519
568
|
private readonly rootRef;
|
|
@@ -541,9 +590,16 @@ export declare class DataGrid {
|
|
|
541
590
|
/** Each cell's value and formatted text, read once per row object and column (reset when the columns change). */
|
|
542
591
|
private readonly cellCache;
|
|
543
592
|
protected cellFor(column: DataGridColumn, row: DataGridRow): DataGridCellContext;
|
|
544
|
-
/**
|
|
593
|
+
/** A missing value: `null`, `undefined` or an empty string. */
|
|
594
|
+
protected readonly isMissing: (value: unknown) => boolean;
|
|
595
|
+
/** A column the user can move: its own `movable`, else the grid's `movableColumns`. */
|
|
596
|
+
protected isMovable(column: DataGridColumn): boolean;
|
|
597
|
+
protected readonly filterableColumns: import("@angular/core/types/_chrome_dev_tools_performance-chunk").Signal<DataGridColumn[]>;
|
|
598
|
+
/** One folded (lower-case, no diacritics) text per filterable cell, built once per rows/columns change. */
|
|
545
599
|
private readonly searchIndex;
|
|
546
600
|
private readonly filteredEntries;
|
|
601
|
+
/** The sort keys in order: the primary, then `thenBy`, each with a real column and a direction. */
|
|
602
|
+
private readonly sortKeys;
|
|
547
603
|
protected readonly sortedEntries: import("@angular/core/types/_chrome_dev_tools_performance-chunk").Signal<DataGridEntry[]>;
|
|
548
604
|
protected readonly pageCount: import("@angular/core/types/_chrome_dev_tools_performance-chunk").Signal<number>;
|
|
549
605
|
protected readonly clampedPage: import("@angular/core/types/_chrome_dev_tools_performance-chunk").Signal<number>;
|
|
@@ -566,8 +622,13 @@ export declare class DataGrid {
|
|
|
566
622
|
constructor();
|
|
567
623
|
private announce;
|
|
568
624
|
protected ariaSortFor(column: DataGridColumn): DataGridSortDirection | null;
|
|
569
|
-
|
|
570
|
-
protected
|
|
625
|
+
/** 1 for the primary key, 2… for `thenBy`, only while more than one key is in force. */
|
|
626
|
+
protected sortOrderFor(column: DataGridColumn): number | null;
|
|
627
|
+
protected toggleSort(column: DataGridColumn, additive?: boolean): void;
|
|
628
|
+
protected setFilter(value: string): void;
|
|
629
|
+
/** Escape in the search field clears it. */
|
|
630
|
+
protected onFilterKeydown(event: Event): void;
|
|
631
|
+
protected onFilterFieldChange(event: Event): void;
|
|
571
632
|
protected isSelected(id: string): boolean;
|
|
572
633
|
private setSelected;
|
|
573
634
|
protected onRowSelectClick(index: number, event: Event): void;
|
|
@@ -595,6 +656,9 @@ export declare class DataGrid {
|
|
|
595
656
|
/** One cell for an export: typed values stay typed, everything else is the text the grid shows. */
|
|
596
657
|
private exportCell;
|
|
597
658
|
private hasUtcColumn;
|
|
659
|
+
private buildExportTable;
|
|
660
|
+
/** Copy the export (what a download would hold) to the clipboard as tab-separated text. `copyHandler` may return false to take over. */
|
|
661
|
+
protected runCopy(): Promise<void>;
|
|
598
662
|
protected runExport(format: ExportFormat): void;
|
|
599
663
|
/** Files dropped on an editable file cell: the same report as the file input. The grid uploads nothing. */
|
|
600
664
|
protected onFileDragOver(column: DataGridColumn, event: Event): void;
|
|
@@ -606,6 +670,10 @@ export declare class DataGrid {
|
|
|
606
670
|
protected startEdit(entry: DataGridEntry, column: DataGridColumn): void;
|
|
607
671
|
private parseDraft;
|
|
608
672
|
/** Two link values with the same address and label are the same edit. */
|
|
673
|
+
/** Accepted cell edits, for Ctrl/Cmd+Z. The consumer owns the data, so an undo is reported through the `cellEdit` output like any edit. */
|
|
674
|
+
private history;
|
|
675
|
+
/** Put an earlier cell value back, or re-apply it, through `cellEdit`. */
|
|
676
|
+
private stepHistory;
|
|
609
677
|
private isStructurallyEqual;
|
|
610
678
|
/** Validate and report one new value for a cell. Returns false (and keeps editing, if the editor is open) when it is refused. */
|
|
611
679
|
protected commitValue(entry: DataGridEntry, column: DataGridColumn, value: unknown): boolean;
|
|
@@ -633,6 +701,7 @@ export declare class DataGrid {
|
|
|
633
701
|
protected onGridClick(event: Event): void;
|
|
634
702
|
/** A double click on an editable body cell starts editing it. */
|
|
635
703
|
protected onGridDblclick(event: Event): void;
|
|
704
|
+
private typeahead;
|
|
636
705
|
protected onGridKeydown(event: Event): void;
|
|
637
706
|
private restoreView;
|
|
638
707
|
protected rowLabelOf(entry: DataGridEntry): string;
|
|
@@ -674,6 +743,31 @@ export declare class DataGrid {
|
|
|
674
743
|
"required": false;
|
|
675
744
|
"isSignal": true;
|
|
676
745
|
};
|
|
746
|
+
"emptyValue": {
|
|
747
|
+
"alias": "emptyValue";
|
|
748
|
+
"required": false;
|
|
749
|
+
"isSignal": true;
|
|
750
|
+
};
|
|
751
|
+
"warnMissingLabels": {
|
|
752
|
+
"alias": "warnMissingLabels";
|
|
753
|
+
"required": false;
|
|
754
|
+
"isSignal": true;
|
|
755
|
+
};
|
|
756
|
+
"nulls": {
|
|
757
|
+
"alias": "nulls";
|
|
758
|
+
"required": false;
|
|
759
|
+
"isSignal": true;
|
|
760
|
+
};
|
|
761
|
+
"movableColumns": {
|
|
762
|
+
"alias": "movableColumns";
|
|
763
|
+
"required": false;
|
|
764
|
+
"isSignal": true;
|
|
765
|
+
};
|
|
766
|
+
"rowFilter": {
|
|
767
|
+
"alias": "rowFilter";
|
|
768
|
+
"required": false;
|
|
769
|
+
"isSignal": true;
|
|
770
|
+
};
|
|
677
771
|
"rowId": {
|
|
678
772
|
"alias": "rowId";
|
|
679
773
|
"required": false;
|
|
@@ -759,6 +853,11 @@ export declare class DataGrid {
|
|
|
759
853
|
"required": false;
|
|
760
854
|
"isSignal": true;
|
|
761
855
|
};
|
|
856
|
+
"copyHandler": {
|
|
857
|
+
"alias": "copyHandler";
|
|
858
|
+
"required": false;
|
|
859
|
+
"isSignal": true;
|
|
860
|
+
};
|
|
762
861
|
"virtualize": {
|
|
763
862
|
"alias": "virtualize";
|
|
764
863
|
"required": false;
|
|
@@ -779,6 +878,16 @@ export declare class DataGrid {
|
|
|
779
878
|
"required": false;
|
|
780
879
|
"isSignal": true;
|
|
781
880
|
};
|
|
881
|
+
"filterField": {
|
|
882
|
+
"alias": "filterField";
|
|
883
|
+
"required": false;
|
|
884
|
+
"isSignal": true;
|
|
885
|
+
};
|
|
886
|
+
"thenBy": {
|
|
887
|
+
"alias": "thenBy";
|
|
888
|
+
"required": false;
|
|
889
|
+
"isSignal": true;
|
|
890
|
+
};
|
|
782
891
|
"sort": {
|
|
783
892
|
"alias": "sort";
|
|
784
893
|
"required": false;
|
|
@@ -797,6 +906,8 @@ export declare class DataGrid {
|
|
|
797
906
|
}, {
|
|
798
907
|
"selected": "selectedChange";
|
|
799
908
|
"filter": "filterChange";
|
|
909
|
+
"filterField": "filterFieldChange";
|
|
910
|
+
"thenBy": "thenByChange";
|
|
800
911
|
"sort": "sortChange";
|
|
801
912
|
"columnOrder": "columnOrderChange";
|
|
802
913
|
"page": "pageChange";
|
|
@@ -805,7 +916,141 @@ export declare class DataGrid {
|
|
|
805
916
|
"fileRemove": "fileRemove";
|
|
806
917
|
"rowActivate": "rowActivate";
|
|
807
918
|
"exportFile": "exportFile";
|
|
919
|
+
"copy": "copy";
|
|
808
920
|
}, never, never, true, never>;
|
|
809
921
|
}
|
|
810
|
-
|
|
922
|
+
/**
|
|
923
|
+
* Search matching shared by the data grid, kanban board, Gantt chart and calendar: pure, so it is unit-tested without a browser.
|
|
924
|
+
*
|
|
925
|
+
* A query is split on whitespace into terms; every term must appear (AND), in any order, ignoring case and diacritics
|
|
926
|
+
* ("cafe" finds "Café"). An empty query matches everything.
|
|
927
|
+
*/
|
|
928
|
+
/** Lower-case and strip combining marks, so matching ignores case and diacritics. */
|
|
929
|
+
export declare function foldText(text: string): string;
|
|
930
|
+
/** The terms of a query, folded; empty when the query is blank. */
|
|
931
|
+
export declare function searchTerms(query: string): string[];
|
|
932
|
+
/** True when every term of `query` appears in `text`. */
|
|
933
|
+
export declare function matchesSearch(text: string, query: string): boolean;
|
|
934
|
+
type SearchSegment = {
|
|
935
|
+
text: string;
|
|
936
|
+
match: boolean;
|
|
937
|
+
};
|
|
938
|
+
/**
|
|
939
|
+
* `text` cut into runs, marking the parts any term matches (for `<mark>`). Folding can change a string's length (a precomposed "é"
|
|
940
|
+
* is one character, its folded form too, but a ligature may not be), so matching works on a per-character fold and falls back to
|
|
941
|
+
* one unmarked segment if the two ever disagree.
|
|
942
|
+
*/
|
|
943
|
+
export declare function highlightSegments(text: string, query: string): SearchSegment[];
|
|
944
|
+
export declare const TYPEAHEAD_RESET_MS = 700;
|
|
945
|
+
type TypeaheadState = {
|
|
946
|
+
prefix: string;
|
|
947
|
+
at: number;
|
|
948
|
+
};
|
|
949
|
+
/** Whether a key press is a type-ahead character: one printable character, no Ctrl, Alt or Meta. */
|
|
950
|
+
export declare function isTypeaheadKey(event: {
|
|
951
|
+
key: string;
|
|
952
|
+
ctrlKey?: boolean;
|
|
953
|
+
altKey?: boolean;
|
|
954
|
+
metaKey?: boolean;
|
|
955
|
+
}): boolean;
|
|
956
|
+
/** The prefix after `key` is pressed at time `now`: it grows while presses are within `resetMs` of each other, else starts over. */
|
|
957
|
+
export declare function nextTypeaheadState(previous: TypeaheadState, key: string, now: number, resetMs?: number): TypeaheadState;
|
|
958
|
+
/**
|
|
959
|
+
* The index of the row to move to, or -1. Searches from the row after `from` and wraps. A prefix of one repeated letter ("ss") is
|
|
960
|
+
* treated as that single letter, so pressing it again steps through the rows starting with it.
|
|
961
|
+
*/
|
|
962
|
+
export declare function findTypeaheadMatch(labels: readonly string[], from: number, prefix: string): number;
|
|
963
|
+
/**
|
|
964
|
+
* Undo / redo for typed-field edits: pure, so it is unit-tested without a browser. The components own nothing but the stacks:
|
|
965
|
+
* the consumer owns the data, so an undo is reported the same way an edit is — through `onFieldEdit`, with the earlier value.
|
|
966
|
+
*/
|
|
967
|
+
/** One accepted edit: which record and field, the value it took and the value it replaced. */
|
|
968
|
+
type EditRecord = {
|
|
969
|
+
ownerId: string;
|
|
970
|
+
fieldId: string;
|
|
971
|
+
value: unknown;
|
|
972
|
+
previous: unknown;
|
|
973
|
+
};
|
|
974
|
+
type EditHistory = {
|
|
975
|
+
undo: readonly EditRecord[];
|
|
976
|
+
redo: readonly EditRecord[];
|
|
977
|
+
};
|
|
978
|
+
export declare const EMPTY_HISTORY: EditHistory;
|
|
979
|
+
/** Most steps kept; the oldest fall off. */
|
|
980
|
+
export declare const HISTORY_LIMIT = 100;
|
|
981
|
+
/** A new edit goes on the undo stack and ends any redo chain. */
|
|
982
|
+
export declare function recordEdit(history: EditHistory, record: EditRecord, limit?: number): EditHistory;
|
|
983
|
+
/** Step back: the record to reverse (apply `previous`), and the history with it moved to the redo stack. */
|
|
984
|
+
export declare function undoEdit(history: EditHistory): {
|
|
985
|
+
history: EditHistory;
|
|
986
|
+
record: EditRecord | undefined;
|
|
987
|
+
};
|
|
988
|
+
/** Step forward: the record to re-apply (apply `value`), and the history with it moved back to the undo stack. */
|
|
989
|
+
export declare function redoEdit(history: EditHistory): {
|
|
990
|
+
history: EditHistory;
|
|
991
|
+
record: EditRecord | undefined;
|
|
992
|
+
};
|
|
993
|
+
/** Whether a key press is Undo (Ctrl/Cmd+Z) or Redo (Ctrl/Cmd+Shift+Z, or Ctrl+Y), or neither. */
|
|
994
|
+
export declare function historyKey(event: {
|
|
995
|
+
key: string;
|
|
996
|
+
ctrlKey?: boolean;
|
|
997
|
+
metaKey?: boolean;
|
|
998
|
+
shiftKey?: boolean;
|
|
999
|
+
altKey?: boolean;
|
|
1000
|
+
}): "undo" | "redo" | null;
|
|
1001
|
+
/**
|
|
1002
|
+
* Which `labels` a grid needs, by what it renders — so an app can check that it has supplied every string for its locale, and a
|
|
1003
|
+
* grid can say, in development, which control it is about to leave unnamed. Lily ships no English: a missing label is a control with
|
|
1004
|
+
* no name, or an announcement that is never made, never English text. Pure, so it is unit-tested on its own.
|
|
1005
|
+
*/
|
|
1006
|
+
/** What the grid is showing, as far as labels are concerned. */
|
|
1007
|
+
type LabelFeatures = {
|
|
1008
|
+
/** `selectionMode` is not `none`. */
|
|
1009
|
+
selection?: boolean;
|
|
1010
|
+
/** `pageSize` is set. */
|
|
1011
|
+
pagination?: boolean;
|
|
1012
|
+
/** Some column is `hidable`. */
|
|
1013
|
+
hidableColumns?: boolean;
|
|
1014
|
+
/** Some column is `resizable`. */
|
|
1015
|
+
resizableColumns?: boolean;
|
|
1016
|
+
/** Some column is editable (`onCellEdit` is set). */
|
|
1017
|
+
editing?: boolean;
|
|
1018
|
+
/** Some column is `sortable`. */
|
|
1019
|
+
sorting?: boolean;
|
|
1020
|
+
/** The search field is wanted (the field itself is gated by `labels.search`). */
|
|
1021
|
+
search?: boolean;
|
|
1022
|
+
/** Export or copy buttons are wanted. */
|
|
1023
|
+
exporting?: boolean;
|
|
1024
|
+
};
|
|
1025
|
+
/** Labels that **name a control**: without one the control is unnamed to a screen reader (or not rendered at all). */
|
|
1026
|
+
export declare const CONTROL_LABELS: {
|
|
1027
|
+
readonly selection: readonly ["selectAll", "selectionColumn", "selectRow"];
|
|
1028
|
+
readonly pagination: readonly ["previousPage", "nextPage", "pageStatus"];
|
|
1029
|
+
readonly hidableColumns: readonly ["columnVisibility", "columnVisibilityOption"];
|
|
1030
|
+
readonly resizableColumns: readonly ["resizeHandle"];
|
|
1031
|
+
readonly editing: readonly ["editCell", "cellEditor"];
|
|
1032
|
+
readonly search: readonly ["search"];
|
|
1033
|
+
readonly exporting: readonly ["export"];
|
|
1034
|
+
};
|
|
1035
|
+
/** Labels that make an **announcement** through the live region: without one the change is silent. */
|
|
1036
|
+
export declare const ANNOUNCEMENT_LABELS: {
|
|
1037
|
+
readonly sorting: readonly ["sortAnnouncement"];
|
|
1038
|
+
readonly search: readonly ["filterAnnouncement"];
|
|
1039
|
+
readonly selection: readonly ["selectionAnnouncement"];
|
|
1040
|
+
readonly pagination: readonly ["pageAnnouncement"];
|
|
1041
|
+
readonly editing: readonly ["editAnnouncement", "editCancelAnnouncement", "editError", "undoAnnouncement", "redoAnnouncement"];
|
|
1042
|
+
readonly exporting: readonly ["exportAnnouncement", "copyAnnouncement", "copyFailed"];
|
|
1043
|
+
};
|
|
1044
|
+
type LabelKind = "control" | "announcement";
|
|
1045
|
+
/** Every label key the features in use call for, with its kind. */
|
|
1046
|
+
export declare function requiredLabels(features: LabelFeatures): {
|
|
1047
|
+
key: string;
|
|
1048
|
+
kind: LabelKind;
|
|
1049
|
+
}[];
|
|
1050
|
+
/** The required labels that are absent (`undefined`, `null` or an empty string) from `labels`. */
|
|
1051
|
+
export declare function missingLabels(features: LabelFeatures, labels: Record<string, unknown> | undefined): {
|
|
1052
|
+
key: string;
|
|
1053
|
+
kind: LabelKind;
|
|
1054
|
+
}[];
|
|
1055
|
+
export type { DataGridAggregate, DataGridCellContext, DataGridCellEdit, DataGridCellType, DataGridColumn, DataGridEntry, DataGridExport, DataGridFile, DataGridFooterContext, DataGridFormulaContext, DataGridFormulaResult, DataGridLabels, DataGridLink, DataGridOption, DataGridPerson, DataGridPersonEditorContext, DataGridRow, DataGridSelectionMode, DataGridSort, DataGridSortDirection, DataGridZonedTime, DelimitedOptions, EditHistory, EditRecord, ExportFormat, ExportFormula, ExportTable, LabelFeatures, LabelKind, SearchSegment, TypeaheadState, XlsxOptions };
|
|
811
1056
|
//# sourceMappingURL=lilydesignsystem-angular-data-grid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lilydesignsystem-angular-data-grid.d.ts","names":[],"sources":["../../export-data.ts","../../cell-types.ts","../../data-grid.component.ts"],"mappings":";;KAYY;;;;;KAMA;EAAkB;EAAiB;;;wBAG/B,gBAAgB,iBAAiB,SAAS;;KAK9C;EACR;EACA;;KAGQ;;EAER;;EAEA;;EAEA;;EAEA;;EAEA;;KAGQ;;EAER;;EAEA;;qBAGS,YAAY,OAAO;;wBAahB,SAAS,gBAAgB;;wBAoBzB,YAAY,OAAO,aAAa,UAAS;wBAUzC,MAAM,OAAO,aAAa,UAAS,KAAK;wBAIxC,MAAM,OAAO,aAAa,UAAS,KAAK;;wBAoBxC,WAAW;;wBA0FX,OAAO,OAAO,aAAa,UAAS,cAAmB;wBAuCvD,MAAM,OAAO;;wBAmBb,SAAS;EAAW;EAAc,MAAM;MAAiB;;wBA4DzD,WAAW,OAAO,aAAa,QAAQ,cAAc;EAAW;EAAoB;IAA0B;;wBAO9G,eAAe,cAAc,QAAQ;;wBAMrC,aAAa,MAAM,MAAM;
|
|
1
|
+
{"version":3,"file":"lilydesignsystem-angular-data-grid.d.ts","names":[],"sources":["../../export-data.ts","../../cell-types.ts","../../data-grid.component.ts","../../search-text.ts","../../typeahead.ts","../../edit-history.ts","../../label-coverage.ts"],"mappings":"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"}
|