@zengrid/core 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -0
- package/dist/README.md +55 -0
- package/dist/index.cjs.default.js +1 -0
- package/dist/index.cjs.js +9882 -0
- package/dist/index.cjs.mjs +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +9847 -0
- package/dist/package.json +49 -0
- package/dist/src/a11y/aria-manager.d.ts +171 -0
- package/dist/src/a11y/aria-manager.d.ts.map +1 -0
- package/dist/src/a11y/focus-manager.d.ts +124 -0
- package/dist/src/a11y/focus-manager.d.ts.map +1 -0
- package/dist/src/a11y/index.d.ts +8 -0
- package/dist/src/a11y/index.d.ts.map +1 -0
- package/dist/src/data/data-accessor/array-accessor.d.ts +38 -0
- package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -0
- package/dist/src/data/data-accessor/column-store-accessor.d.ts +41 -0
- package/dist/src/data/data-accessor/column-store-accessor.d.ts.map +1 -0
- package/dist/src/data/data-accessor/data-accessor.interface.d.ts +41 -0
- package/dist/src/data/data-accessor/data-accessor.interface.d.ts.map +1 -0
- package/dist/src/data/data-accessor/index.d.ts +9 -0
- package/dist/src/data/data-accessor/index.d.ts.map +1 -0
- package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts +39 -0
- package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts.map +1 -0
- package/dist/src/data/data-manager.d.ts +161 -0
- package/dist/src/data/data-manager.d.ts.map +1 -0
- package/dist/src/data/data-source.interface.d.ts +82 -0
- package/dist/src/data/data-source.interface.d.ts.map +1 -0
- package/dist/src/data/grid-data-model.d.ts +102 -0
- package/dist/src/data/grid-data-model.d.ts.map +1 -0
- package/dist/src/data/index-map/index-map.d.ts +30 -0
- package/dist/src/data/index-map/index-map.d.ts.map +1 -0
- package/dist/src/data/index-map/index-map.interface.d.ts +49 -0
- package/dist/src/data/index-map/index-map.interface.d.ts.map +1 -0
- package/dist/src/data/index-map/index.d.ts +7 -0
- package/dist/src/data/index-map/index.d.ts.map +1 -0
- package/dist/src/data/index.d.ts +9 -0
- package/dist/src/data/index.d.ts.map +1 -0
- package/dist/src/editing/cell-editor.interface.d.ts +87 -0
- package/dist/src/editing/cell-editor.interface.d.ts.map +1 -0
- package/dist/src/editing/date-editor.d.ts +67 -0
- package/dist/src/editing/date-editor.d.ts.map +1 -0
- package/dist/src/editing/editor-manager.d.ts +141 -0
- package/dist/src/editing/editor-manager.d.ts.map +1 -0
- package/dist/src/editing/index.d.ts +15 -0
- package/dist/src/editing/index.d.ts.map +1 -0
- package/dist/src/editing/number-editor.d.ts +68 -0
- package/dist/src/editing/number-editor.d.ts.map +1 -0
- package/dist/src/editing/select-editor.d.ts +53 -0
- package/dist/src/editing/select-editor.d.ts.map +1 -0
- package/dist/src/editing/text-editor.d.ts +69 -0
- package/dist/src/editing/text-editor.d.ts.map +1 -0
- package/dist/src/events/event-emitter.d.ts +90 -0
- package/dist/src/events/event-emitter.d.ts.map +1 -0
- package/dist/src/events/grid-events.d.ts +277 -0
- package/dist/src/events/grid-events.d.ts.map +1 -0
- package/dist/src/events/index.d.ts +6 -0
- package/dist/src/events/index.d.ts.map +1 -0
- package/dist/src/features/autofill/autofill-manager.d.ts +103 -0
- package/dist/src/features/autofill/autofill-manager.d.ts.map +1 -0
- package/dist/src/features/autofill/index.d.ts +6 -0
- package/dist/src/features/autofill/index.d.ts.map +1 -0
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts +52 -0
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize-manager.d.ts +114 -0
- package/dist/src/features/column-resize/column-resize-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts +167 -0
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts.map +1 -0
- package/dist/src/features/column-resize/column-resize.styles.css +30 -0
- package/dist/src/features/column-resize/index.d.ts +15 -0
- package/dist/src/features/column-resize/index.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts +52 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts +41 -0
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-preview.d.ts +32 -0
- package/dist/src/features/column-resize/resize-preview.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-state-manager.d.ts +75 -0
- package/dist/src/features/column-resize/resize-state-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-strategies.d.ts +26 -0
- package/dist/src/features/column-resize/resize-strategies.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-test-helper.d.ts +71 -0
- package/dist/src/features/column-resize/resize-test-helper.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-zone-detector.d.ts +32 -0
- package/dist/src/features/column-resize/resize-zone-detector.d.ts.map +1 -0
- package/dist/src/features/copy-paste/clipboard-manager.d.ts +116 -0
- package/dist/src/features/copy-paste/clipboard-manager.d.ts.map +1 -0
- package/dist/src/features/copy-paste/index.d.ts +6 -0
- package/dist/src/features/copy-paste/index.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/adapter.interface.d.ts +100 -0
- package/dist/src/features/filtering/adapters/adapter.interface.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/graphql-adapter.d.ts +124 -0
- package/dist/src/features/filtering/adapters/graphql-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/index.d.ts +11 -0
- package/dist/src/features/filtering/adapters/index.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/rest-adapter.d.ts +108 -0
- package/dist/src/features/filtering/adapters/rest-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/sql-adapter.d.ts +123 -0
- package/dist/src/features/filtering/adapters/sql-adapter.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/types.d.ts +201 -0
- package/dist/src/features/filtering/adapters/types.d.ts.map +1 -0
- package/dist/src/features/filtering/column-filter.d.ts +117 -0
- package/dist/src/features/filtering/column-filter.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-autocomplete.d.ts +78 -0
- package/dist/src/features/filtering/filter-autocomplete.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-cache.d.ts +113 -0
- package/dist/src/features/filtering/filter-cache.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-compiler.d.ts +66 -0
- package/dist/src/features/filtering/filter-compiler.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-export-manager.d.ts +131 -0
- package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-index-manager.d.ts +126 -0
- package/dist/src/features/filtering/filter-index-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager.d.ts +408 -0
- package/dist/src/features/filtering/filter-manager.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-optimizer.d.ts +101 -0
- package/dist/src/features/filtering/filter-optimizer.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-query-parser.d.ts +69 -0
- package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -0
- package/dist/src/features/filtering/index.d.ts +20 -0
- package/dist/src/features/filtering/index.d.ts.map +1 -0
- package/dist/src/features/filtering/range-filter-optimizer.d.ts +138 -0
- package/dist/src/features/filtering/range-filter-optimizer.d.ts.map +1 -0
- package/dist/src/features/filtering/substring-filter.d.ts +90 -0
- package/dist/src/features/filtering/substring-filter.d.ts.map +1 -0
- package/dist/src/features/filtering/types.d.ts +204 -0
- package/dist/src/features/filtering/types.d.ts.map +1 -0
- package/dist/src/features/formulas/formula-calculator.d.ts +151 -0
- package/dist/src/features/formulas/formula-calculator.d.ts.map +1 -0
- package/dist/src/features/formulas/index.d.ts +6 -0
- package/dist/src/features/formulas/index.d.ts.map +1 -0
- package/dist/src/features/hit-testing/index.d.ts +7 -0
- package/dist/src/features/hit-testing/index.d.ts.map +1 -0
- package/dist/src/features/hit-testing/spatial-hit-tester.d.ts +137 -0
- package/dist/src/features/hit-testing/spatial-hit-tester.d.ts.map +1 -0
- package/dist/src/features/loading/index.d.ts +5 -0
- package/dist/src/features/loading/index.d.ts.map +1 -0
- package/dist/src/features/loading/loading-indicator.d.ts +79 -0
- package/dist/src/features/loading/loading-indicator.d.ts.map +1 -0
- package/dist/src/features/loading/loading.styles.css +413 -0
- package/dist/src/features/pagination/index.d.ts +5 -0
- package/dist/src/features/pagination/index.d.ts.map +1 -0
- package/dist/src/features/pagination/pagination.styles.css +288 -0
- package/dist/src/features/pagination/paginator.d.ts +89 -0
- package/dist/src/features/pagination/paginator.d.ts.map +1 -0
- package/dist/src/features/selection/index.d.ts +7 -0
- package/dist/src/features/selection/index.d.ts.map +1 -0
- package/dist/src/features/selection/selection-manager.d.ts +167 -0
- package/dist/src/features/selection/selection-manager.d.ts.map +1 -0
- package/dist/src/features/sorting/index.d.ts +13 -0
- package/dist/src/features/sorting/index.d.ts.map +1 -0
- package/dist/src/features/sorting/row-sorter.interface.d.ts +63 -0
- package/dist/src/features/sorting/row-sorter.interface.d.ts.map +1 -0
- package/dist/src/features/sorting/single-column-sorter.d.ts +75 -0
- package/dist/src/features/sorting/single-column-sorter.d.ts.map +1 -0
- package/dist/src/features/sorting/sort-manager.d.ts +132 -0
- package/dist/src/features/sorting/sort-manager.d.ts.map +1 -0
- package/dist/src/features/undo-redo/index.d.ts +8 -0
- package/dist/src/features/undo-redo/index.d.ts.map +1 -0
- package/dist/src/features/undo-redo/undo-redo-manager.d.ts +215 -0
- package/dist/src/features/undo-redo/undo-redo-manager.d.ts.map +1 -0
- package/dist/src/grid.d.ts +412 -0
- package/dist/src/grid.d.ts.map +1 -0
- package/dist/src/i18n/index.d.ts +8 -0
- package/dist/src/i18n/index.d.ts.map +1 -0
- package/dist/src/i18n/locale-manager.d.ts +123 -0
- package/dist/src/i18n/locale-manager.d.ts.map +1 -0
- package/dist/src/i18n/rtl-support.d.ts +120 -0
- package/dist/src/i18n/rtl-support.d.ts.map +1 -0
- package/dist/src/index.d.ts +38 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/keyboard/index.d.ts +6 -0
- package/dist/src/keyboard/index.d.ts.map +1 -0
- package/dist/src/keyboard/keyboard-navigator.d.ts +171 -0
- package/dist/src/keyboard/keyboard-navigator.d.ts.map +1 -0
- package/dist/src/rendering/cache/index.d.ts +3 -0
- package/dist/src/rendering/cache/index.d.ts.map +1 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts +100 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -0
- package/dist/src/rendering/cache/renderer-cache.interface.d.ts +89 -0
- package/dist/src/rendering/cache/renderer-cache.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/cell-pool.d.ts +36 -0
- package/dist/src/rendering/cell-pool/cell-pool.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts +76 -0
- package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-pool/index.d.ts +6 -0
- package/dist/src/rendering/cell-pool/index.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +46 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +86 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -0
- package/dist/src/rendering/cell-positioner/index.d.ts +6 -0
- package/dist/src/rendering/cell-positioner/index.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts +62 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/index.d.ts +7 -0
- package/dist/src/rendering/height-provider/index.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/uniform-height-provider.d.ts +31 -0
- package/dist/src/rendering/height-provider/uniform-height-provider.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/variable-height-provider.d.ts +33 -0
- package/dist/src/rendering/height-provider/variable-height-provider.d.ts.map +1 -0
- package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts +105 -0
- package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/image-renderer.d.ts +60 -0
- package/dist/src/rendering/renderers/image-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/index.d.ts +13 -0
- package/dist/src/rendering/renderers/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/number-renderer.d.ts +71 -0
- package/dist/src/rendering/renderers/number-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/renderer-registry.d.ts +55 -0
- package/dist/src/rendering/renderers/renderer-registry.d.ts.map +1 -0
- package/dist/src/rendering/renderers/renderer.interface.d.ts +79 -0
- package/dist/src/rendering/renderers/renderer.interface.d.ts.map +1 -0
- package/dist/src/rendering/renderers/text-renderer.d.ts +20 -0
- package/dist/src/rendering/renderers/text-renderer.d.ts.map +1 -0
- package/dist/src/rendering/spatial-hit-tester.d.ts +108 -0
- package/dist/src/rendering/spatial-hit-tester.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/index.d.ts +6 -0
- package/dist/src/rendering/virtual-scroller/index.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +56 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts +170 -0
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/index.d.ts +7 -0
- package/dist/src/rendering/width-provider/index.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/uniform-width-provider.d.ts +31 -0
- package/dist/src/rendering/width-provider/uniform-width-provider.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/variable-width-provider.d.ts +33 -0
- package/dist/src/rendering/width-provider/variable-width-provider.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/width-provider.interface.d.ts +62 -0
- package/dist/src/rendering/width-provider/width-provider.interface.d.ts.map +1 -0
- package/dist/src/selection/hit-tester.d.ts +168 -0
- package/dist/src/selection/hit-tester.d.ts.map +1 -0
- package/dist/src/selection/hit-tester.interface.d.ts +108 -0
- package/dist/src/selection/hit-tester.interface.d.ts.map +1 -0
- package/dist/src/selection/index.d.ts +9 -0
- package/dist/src/selection/index.d.ts.map +1 -0
- package/dist/src/selection/range-utils.d.ts +219 -0
- package/dist/src/selection/range-utils.d.ts.map +1 -0
- package/dist/src/selection/range-utils.interface.d.ts +51 -0
- package/dist/src/selection/range-utils.interface.d.ts.map +1 -0
- package/dist/src/styles/grid.css +356 -0
- package/dist/src/styles.css +273 -0
- package/dist/src/touch/index.d.ts +6 -0
- package/dist/src/touch/index.d.ts.map +1 -0
- package/dist/src/touch/touch-handler.d.ts +167 -0
- package/dist/src/touch/touch-handler.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +133 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types.d.ts +559 -0
- package/dist/src/types.d.ts.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UndoRedoManager - Undo/Redo functionality for grid operations
|
|
3
|
+
*
|
|
4
|
+
* Uses CommandStack from shared package for managing command history.
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Cell value changes
|
|
7
|
+
* - Filter changes
|
|
8
|
+
* - Sort changes
|
|
9
|
+
* - Selection changes
|
|
10
|
+
* - Custom commands
|
|
11
|
+
*/
|
|
12
|
+
import { type ICommand } from '@zengrid/shared';
|
|
13
|
+
import type { EventEmitter } from '../../events/event-emitter';
|
|
14
|
+
import type { GridEvents } from '../../events/grid-events';
|
|
15
|
+
/**
|
|
16
|
+
* Undo/Redo manager options
|
|
17
|
+
*/
|
|
18
|
+
export interface UndoRedoManagerOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Maximum number of commands to keep in history
|
|
21
|
+
* @default 100
|
|
22
|
+
*/
|
|
23
|
+
maxHistorySize?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Event emitter for grid events
|
|
26
|
+
*/
|
|
27
|
+
events?: EventEmitter<GridEvents>;
|
|
28
|
+
/**
|
|
29
|
+
* Enable automatic grouping of similar commands
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
enableCommandGrouping?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Time window (ms) for grouping similar commands
|
|
35
|
+
* @default 1000
|
|
36
|
+
*/
|
|
37
|
+
groupingTimeWindow?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Cell edit command
|
|
41
|
+
*/
|
|
42
|
+
export declare class CellEditCommand implements ICommand {
|
|
43
|
+
private row;
|
|
44
|
+
private col;
|
|
45
|
+
private oldValue;
|
|
46
|
+
private newValue;
|
|
47
|
+
private setValue;
|
|
48
|
+
description: string;
|
|
49
|
+
constructor(row: number, col: number, oldValue: any, newValue: any, setValue: (row: number, col: number, value: any) => void);
|
|
50
|
+
execute(): void;
|
|
51
|
+
undo(): void;
|
|
52
|
+
redo(): void;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Batch cell edit command (for multiple cells)
|
|
56
|
+
*/
|
|
57
|
+
export declare class BatchCellEditCommand implements ICommand {
|
|
58
|
+
private edits;
|
|
59
|
+
private setValue;
|
|
60
|
+
description: string;
|
|
61
|
+
constructor(edits: Array<{
|
|
62
|
+
row: number;
|
|
63
|
+
col: number;
|
|
64
|
+
oldValue: any;
|
|
65
|
+
newValue: any;
|
|
66
|
+
}>, setValue: (row: number, col: number, value: any) => void);
|
|
67
|
+
execute(): void;
|
|
68
|
+
undo(): void;
|
|
69
|
+
redo(): void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Filter change command
|
|
73
|
+
*/
|
|
74
|
+
export declare class FilterChangeCommand implements ICommand {
|
|
75
|
+
private oldFilters;
|
|
76
|
+
private newFilters;
|
|
77
|
+
private setFilters;
|
|
78
|
+
description: string;
|
|
79
|
+
constructor(oldFilters: any[], newFilters: any[], setFilters: (filters: any[]) => void);
|
|
80
|
+
execute(): void;
|
|
81
|
+
undo(): void;
|
|
82
|
+
redo(): void;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Sort change command
|
|
86
|
+
*/
|
|
87
|
+
export declare class SortChangeCommand implements ICommand {
|
|
88
|
+
private oldSortState;
|
|
89
|
+
private newSortState;
|
|
90
|
+
private setSortState;
|
|
91
|
+
description: string;
|
|
92
|
+
constructor(oldSortState: any[], newSortState: any[], setSortState: (sortState: any[]) => void);
|
|
93
|
+
execute(): void;
|
|
94
|
+
undo(): void;
|
|
95
|
+
redo(): void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Generic command for custom operations
|
|
99
|
+
*/
|
|
100
|
+
export declare class GenericCommand implements ICommand {
|
|
101
|
+
description: string;
|
|
102
|
+
private executeCallback;
|
|
103
|
+
private undoCallback;
|
|
104
|
+
private redoCallback?;
|
|
105
|
+
constructor(description: string, executeCallback: () => void, undoCallback: () => void, redoCallback?: (() => void) | undefined);
|
|
106
|
+
execute(): void;
|
|
107
|
+
undo(): void;
|
|
108
|
+
redo(): void;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* UndoRedoManager implementation using CommandStack
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const undoRedoManager = new UndoRedoManager({
|
|
116
|
+
* maxHistorySize: 50,
|
|
117
|
+
* events: gridEvents,
|
|
118
|
+
* });
|
|
119
|
+
*
|
|
120
|
+
* // Record a cell edit
|
|
121
|
+
* undoRedoManager.recordCellEdit(5, 10, 'old', 'new', (r, c, v) => {
|
|
122
|
+
* grid.setCellValue(r, c, v);
|
|
123
|
+
* });
|
|
124
|
+
*
|
|
125
|
+
* // Undo last change
|
|
126
|
+
* undoRedoManager.undo();
|
|
127
|
+
*
|
|
128
|
+
* // Redo
|
|
129
|
+
* undoRedoManager.redo();
|
|
130
|
+
*
|
|
131
|
+
* // Check if can undo/redo
|
|
132
|
+
* console.log(undoRedoManager.canUndo()); // true
|
|
133
|
+
* console.log(undoRedoManager.canRedo()); // false
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
export declare class UndoRedoManager {
|
|
137
|
+
private commandStack;
|
|
138
|
+
private events?;
|
|
139
|
+
private enableCommandGrouping;
|
|
140
|
+
private groupingTimeWindow;
|
|
141
|
+
private lastCommandTime;
|
|
142
|
+
private lastCommandType;
|
|
143
|
+
private pendingBatchEdits;
|
|
144
|
+
private batchEditTimer;
|
|
145
|
+
constructor(options?: UndoRedoManagerOptions);
|
|
146
|
+
/**
|
|
147
|
+
* Record a cell edit
|
|
148
|
+
*/
|
|
149
|
+
recordCellEdit(row: number, col: number, oldValue: any, newValue: any, setValue: (row: number, col: number, value: any) => void): void;
|
|
150
|
+
/**
|
|
151
|
+
* Record a filter change
|
|
152
|
+
*/
|
|
153
|
+
recordFilterChange(oldFilters: any[], newFilters: any[], setFilters: (filters: any[]) => void): void;
|
|
154
|
+
/**
|
|
155
|
+
* Record a sort change
|
|
156
|
+
*/
|
|
157
|
+
recordSortChange(oldSortState: any[], newSortState: any[], setSortState: (sortState: any[]) => void): void;
|
|
158
|
+
/**
|
|
159
|
+
* Execute a custom command
|
|
160
|
+
*/
|
|
161
|
+
executeCommand(command: ICommand): void;
|
|
162
|
+
/**
|
|
163
|
+
* Create and execute a generic command
|
|
164
|
+
*/
|
|
165
|
+
recordCustomCommand(description: string, execute: () => void, undo: () => void, redo?: () => void): void;
|
|
166
|
+
/**
|
|
167
|
+
* Undo last command
|
|
168
|
+
*/
|
|
169
|
+
undo(): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Redo last undone command
|
|
172
|
+
*/
|
|
173
|
+
redo(): boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Check if can undo
|
|
176
|
+
*/
|
|
177
|
+
canUndo(): boolean;
|
|
178
|
+
/**
|
|
179
|
+
* Check if can redo
|
|
180
|
+
*/
|
|
181
|
+
canRedo(): boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Clear all history
|
|
184
|
+
*/
|
|
185
|
+
clear(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Get undo history
|
|
188
|
+
*/
|
|
189
|
+
getUndoHistory(): string[];
|
|
190
|
+
/**
|
|
191
|
+
* Get redo history
|
|
192
|
+
*/
|
|
193
|
+
getRedoHistory(): string[];
|
|
194
|
+
/**
|
|
195
|
+
* Get undo count
|
|
196
|
+
*/
|
|
197
|
+
getUndoCount(): number;
|
|
198
|
+
/**
|
|
199
|
+
* Get redo count
|
|
200
|
+
*/
|
|
201
|
+
getRedoCount(): number;
|
|
202
|
+
/**
|
|
203
|
+
* Flush pending batch edits
|
|
204
|
+
*/
|
|
205
|
+
private flushBatchEdits;
|
|
206
|
+
/**
|
|
207
|
+
* Emit history change event
|
|
208
|
+
*/
|
|
209
|
+
private emitHistoryChange;
|
|
210
|
+
/**
|
|
211
|
+
* Cleanup
|
|
212
|
+
*/
|
|
213
|
+
destroy(): void;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=undo-redo-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undo-redo-manager.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/features/undo-redo/undo-redo-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
import type { GridOptions, CellRef, VisibleRange } from './types';
|
|
2
|
+
import type { GridEvents } from './events/grid-events';
|
|
3
|
+
import { SpatialHitTester } from './rendering/spatial-hit-tester';
|
|
4
|
+
import { FilterAutocomplete } from './features/filtering/filter-autocomplete';
|
|
5
|
+
import { FilterOptimizer } from './features/filtering/filter-optimizer';
|
|
6
|
+
import { SubstringFilter } from './features/filtering/substring-filter';
|
|
7
|
+
import { FormulaCalculator } from './features/formulas/formula-calculator';
|
|
8
|
+
import { AutofillManager } from './features/autofill/autofill-manager';
|
|
9
|
+
import type { ColumnConstraints } from './features/column-resize';
|
|
10
|
+
/**
|
|
11
|
+
* Grid - Main grid class that integrates all components
|
|
12
|
+
*
|
|
13
|
+
* Orchestrates VirtualScroller, CellPool, CellPositioner, and Renderers
|
|
14
|
+
* to create a high-performance virtual scrolling data grid.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const container = document.getElementById('grid-container');
|
|
19
|
+
* const grid = new Grid(container, {
|
|
20
|
+
* rowCount: 100000,
|
|
21
|
+
* colCount: 10,
|
|
22
|
+
* rowHeight: 30,
|
|
23
|
+
* colWidth: 100,
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Set data
|
|
27
|
+
* const data = Array.from({ length: 100000 }, (_, i) =>
|
|
28
|
+
* Array.from({ length: 10 }, (_, j) => `Cell ${i},${j}`)
|
|
29
|
+
* );
|
|
30
|
+
* grid.setData(data);
|
|
31
|
+
*
|
|
32
|
+
* // Render
|
|
33
|
+
* grid.render();
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare class Grid {
|
|
37
|
+
private container;
|
|
38
|
+
private options;
|
|
39
|
+
private state;
|
|
40
|
+
private scroller;
|
|
41
|
+
private pool;
|
|
42
|
+
private positioner;
|
|
43
|
+
private registry;
|
|
44
|
+
private cache;
|
|
45
|
+
private dataAccessor;
|
|
46
|
+
spatialHitTester: SpatialHitTester;
|
|
47
|
+
filterAutocomplete: FilterAutocomplete;
|
|
48
|
+
filterOptimizer: FilterOptimizer;
|
|
49
|
+
substringFilter: SubstringFilter;
|
|
50
|
+
formulaCalculator: FormulaCalculator;
|
|
51
|
+
autofillManager: AutofillManager;
|
|
52
|
+
private dataManager;
|
|
53
|
+
private sortManager;
|
|
54
|
+
private filterManager;
|
|
55
|
+
private paginator;
|
|
56
|
+
private loadingIndicator;
|
|
57
|
+
private resizeManager;
|
|
58
|
+
private cachedVisibleRows;
|
|
59
|
+
private events;
|
|
60
|
+
private currentPage;
|
|
61
|
+
private pageSize;
|
|
62
|
+
private viewport;
|
|
63
|
+
private canvas;
|
|
64
|
+
private scrollContainer;
|
|
65
|
+
private paginationTop;
|
|
66
|
+
private paginationBottom;
|
|
67
|
+
private isDestroyed;
|
|
68
|
+
private rafId;
|
|
69
|
+
constructor(container: HTMLElement, options: GridOptions);
|
|
70
|
+
/**
|
|
71
|
+
* Set grid data
|
|
72
|
+
* @param data - 2D array of cell values
|
|
73
|
+
*/
|
|
74
|
+
setData(data: any[][]): void;
|
|
75
|
+
/**
|
|
76
|
+
* Render the grid
|
|
77
|
+
*/
|
|
78
|
+
render(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Refresh all visible cells
|
|
81
|
+
*/
|
|
82
|
+
refresh(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Clear renderer cache
|
|
85
|
+
* Useful when data changes significantly and cached content is invalid
|
|
86
|
+
*/
|
|
87
|
+
clearCache(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Update specific cells
|
|
90
|
+
* @param cells - Array of cell references to update
|
|
91
|
+
*/
|
|
92
|
+
updateCells(cells: CellRef[]): void;
|
|
93
|
+
/**
|
|
94
|
+
* Scroll to a specific cell
|
|
95
|
+
* @param row - Target row
|
|
96
|
+
* @param col - Target column
|
|
97
|
+
*/
|
|
98
|
+
scrollToCell(row: number, col: number): void;
|
|
99
|
+
/**
|
|
100
|
+
* Get current scroll position
|
|
101
|
+
*/
|
|
102
|
+
getScrollPosition(): {
|
|
103
|
+
top: number;
|
|
104
|
+
left: number;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Get visible range
|
|
108
|
+
*/
|
|
109
|
+
getVisibleRange(): VisibleRange | null;
|
|
110
|
+
/**
|
|
111
|
+
* Register a custom renderer
|
|
112
|
+
* @param name - Renderer name
|
|
113
|
+
* @param renderer - Renderer instance
|
|
114
|
+
*/
|
|
115
|
+
registerRenderer(name: string, renderer: any): void;
|
|
116
|
+
/**
|
|
117
|
+
* Update grid options
|
|
118
|
+
* @param options - Partial options to update
|
|
119
|
+
*/
|
|
120
|
+
updateOptions(options: Partial<GridOptions>): void;
|
|
121
|
+
/**
|
|
122
|
+
* Get grid statistics
|
|
123
|
+
*/
|
|
124
|
+
getStats(): {
|
|
125
|
+
rowCount: number;
|
|
126
|
+
colCount: number;
|
|
127
|
+
visibleCells: number;
|
|
128
|
+
poolStats: any;
|
|
129
|
+
cacheStats?: any;
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Get total grid dimensions (useful for header sizing)
|
|
133
|
+
*/
|
|
134
|
+
getDimensions(): {
|
|
135
|
+
width: number;
|
|
136
|
+
height: number;
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Get column position for a given column index (useful for header positioning)
|
|
140
|
+
*/
|
|
141
|
+
getColumnPosition(col: number): {
|
|
142
|
+
x: number;
|
|
143
|
+
width: number;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Sort grid by column
|
|
147
|
+
* @param column - Column index to sort by
|
|
148
|
+
* @param direction - Sort direction ('asc', 'desc', or null to clear)
|
|
149
|
+
*/
|
|
150
|
+
sort(column: number, direction?: 'asc' | 'desc' | null): void;
|
|
151
|
+
/**
|
|
152
|
+
* Toggle sort on a column (cycles: asc -> desc -> none)
|
|
153
|
+
* @param column - Column index to toggle sort
|
|
154
|
+
*/
|
|
155
|
+
toggleSort(column: number): void;
|
|
156
|
+
/**
|
|
157
|
+
* Get current sort state
|
|
158
|
+
*/
|
|
159
|
+
getSortState(): import("./types").SortState[];
|
|
160
|
+
/**
|
|
161
|
+
* Get sort direction for a specific column
|
|
162
|
+
* @param column - Column index
|
|
163
|
+
*/
|
|
164
|
+
getColumnSort(column: number): "asc" | "desc" | null;
|
|
165
|
+
/**
|
|
166
|
+
* Get sort icons with defaults
|
|
167
|
+
* Returns configured icons or defaults ('▲' for asc, '▼' for desc)
|
|
168
|
+
*/
|
|
169
|
+
getSortIcons(): {
|
|
170
|
+
asc: string;
|
|
171
|
+
desc: string;
|
|
172
|
+
};
|
|
173
|
+
/**
|
|
174
|
+
* Get current data mode
|
|
175
|
+
* Returns 'frontend' | 'backend' (resolved from 'auto')
|
|
176
|
+
*/
|
|
177
|
+
getDataMode(): 'frontend' | 'backend';
|
|
178
|
+
/**
|
|
179
|
+
* Get current sort mode
|
|
180
|
+
* Returns 'frontend' | 'backend' (resolved from 'auto')
|
|
181
|
+
*/
|
|
182
|
+
getSortMode(): 'frontend' | 'backend';
|
|
183
|
+
/**
|
|
184
|
+
* Clear all sorting
|
|
185
|
+
*/
|
|
186
|
+
clearSort(): void;
|
|
187
|
+
/**
|
|
188
|
+
* Set filter for a specific column (replaces existing filter)
|
|
189
|
+
*
|
|
190
|
+
* **Note:** This replaces any existing filter on the column.
|
|
191
|
+
* For multiple conditions on the same column, use `setColumnFilter()` instead.
|
|
192
|
+
*
|
|
193
|
+
* @param column - Column index
|
|
194
|
+
* @param operator - Filter operator
|
|
195
|
+
* @param value - Filter value
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* // Single condition - this is fine
|
|
200
|
+
* grid.setFilter(3, 'greaterThan', 100);
|
|
201
|
+
*
|
|
202
|
+
* // Multiple conditions - use setColumnFilter instead!
|
|
203
|
+
* grid.setColumnFilter(3, [
|
|
204
|
+
* { operator: 'greaterThan', value: 100 },
|
|
205
|
+
* { operator: 'lessThan', value: 500 }
|
|
206
|
+
* ], 'AND');
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
setFilter(column: number, operator: string, value: any): void;
|
|
210
|
+
/**
|
|
211
|
+
* Set multiple filter conditions for a column with AND/OR logic
|
|
212
|
+
*
|
|
213
|
+
* Use this method when you need multiple conditions on the same column.
|
|
214
|
+
* Conditions can be combined with 'AND' or 'OR' logic.
|
|
215
|
+
*
|
|
216
|
+
* @param column - Column index
|
|
217
|
+
* @param conditions - Array of filter conditions
|
|
218
|
+
* @param logic - Logic operator ('AND' or 'OR'), default 'AND'
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* // Salary between 100 and 500 (AND logic)
|
|
223
|
+
* grid.setColumnFilter(3, [
|
|
224
|
+
* { operator: 'greaterThanOrEqual', value: 100 },
|
|
225
|
+
* { operator: 'lessThanOrEqual', value: 500 }
|
|
226
|
+
* ], 'AND');
|
|
227
|
+
*
|
|
228
|
+
* // Status is 'Active' OR 'Remote' (OR logic)
|
|
229
|
+
* grid.setColumnFilter(5, [
|
|
230
|
+
* { operator: 'equals', value: 'Active' },
|
|
231
|
+
* { operator: 'equals', value: 'Remote' }
|
|
232
|
+
* ], 'OR');
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
setColumnFilter(column: number, conditions: Array<{
|
|
236
|
+
operator: string;
|
|
237
|
+
value: any;
|
|
238
|
+
}>, logic?: 'AND' | 'OR'): void;
|
|
239
|
+
/**
|
|
240
|
+
* Get current filter state (column-based)
|
|
241
|
+
*/
|
|
242
|
+
getFilterState(): import("./types").FilterModel[];
|
|
243
|
+
/**
|
|
244
|
+
* Get field-based filter state (for backends)
|
|
245
|
+
*/
|
|
246
|
+
getFieldFilterState(): import("./features/filtering").FieldFilterState | null;
|
|
247
|
+
/**
|
|
248
|
+
* Get filter exports in all formats (REST, GraphQL, SQL)
|
|
249
|
+
*/
|
|
250
|
+
getFilterExports(): import("./features/filtering").FilterExportResult | null;
|
|
251
|
+
/**
|
|
252
|
+
* Get current filter mode
|
|
253
|
+
* Returns 'frontend' | 'backend' (resolved from 'auto')
|
|
254
|
+
*/
|
|
255
|
+
getFilterMode(): 'frontend' | 'backend';
|
|
256
|
+
/**
|
|
257
|
+
* Update viewport dimensions and re-render
|
|
258
|
+
* Call this when container size changes (e.g., panels expand/collapse, window resize)
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* // After a panel expands/collapses
|
|
263
|
+
* grid.updateViewport();
|
|
264
|
+
*
|
|
265
|
+
* // On window resize
|
|
266
|
+
* window.addEventListener('resize', () => grid.updateViewport());
|
|
267
|
+
* ```
|
|
268
|
+
*/
|
|
269
|
+
updateViewport(): void;
|
|
270
|
+
/**
|
|
271
|
+
* Clear all filters
|
|
272
|
+
*/
|
|
273
|
+
clearFilters(): void;
|
|
274
|
+
/**
|
|
275
|
+
* Go to specific page
|
|
276
|
+
* @param page - Page number (0-based)
|
|
277
|
+
*/
|
|
278
|
+
goToPage(page: number): void;
|
|
279
|
+
/**
|
|
280
|
+
* Go to next page
|
|
281
|
+
*/
|
|
282
|
+
nextPage(): void;
|
|
283
|
+
/**
|
|
284
|
+
* Go to previous page
|
|
285
|
+
*/
|
|
286
|
+
previousPage(): void;
|
|
287
|
+
/**
|
|
288
|
+
* Go to first page
|
|
289
|
+
*/
|
|
290
|
+
firstPage(): void;
|
|
291
|
+
/**
|
|
292
|
+
* Go to last page
|
|
293
|
+
*/
|
|
294
|
+
lastPage(): void;
|
|
295
|
+
/**
|
|
296
|
+
* Change page size
|
|
297
|
+
* @param pageSize - New page size
|
|
298
|
+
*/
|
|
299
|
+
setPageSize(pageSize: number): void;
|
|
300
|
+
/**
|
|
301
|
+
* Get current page number
|
|
302
|
+
*/
|
|
303
|
+
getCurrentPage(): number;
|
|
304
|
+
/**
|
|
305
|
+
* Get page size
|
|
306
|
+
*/
|
|
307
|
+
getPageSize(): number;
|
|
308
|
+
/**
|
|
309
|
+
* Get total number of pages
|
|
310
|
+
*/
|
|
311
|
+
getTotalPages(): number;
|
|
312
|
+
/**
|
|
313
|
+
* Update pagination controls
|
|
314
|
+
*/
|
|
315
|
+
private updatePagination;
|
|
316
|
+
/**
|
|
317
|
+
* Validate and synchronize pagination state
|
|
318
|
+
*/
|
|
319
|
+
private validatePaginationState;
|
|
320
|
+
/**
|
|
321
|
+
* Set up loading event listeners
|
|
322
|
+
*/
|
|
323
|
+
private setupLoadingListeners;
|
|
324
|
+
/**
|
|
325
|
+
* Initialize column resize manager
|
|
326
|
+
*/
|
|
327
|
+
private initializeColumnResize;
|
|
328
|
+
/**
|
|
329
|
+
* Attach column resize to a header element
|
|
330
|
+
* Call this after creating your header to enable column resizing on it
|
|
331
|
+
*
|
|
332
|
+
* @param headerElement - The header container element (usually contains column header cells)
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* const grid = new Grid(container, options);
|
|
337
|
+
* const header = document.getElementById('my-header');
|
|
338
|
+
* grid.attachColumnResize(header);
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
attachColumnResize(headerElement: HTMLElement): void;
|
|
342
|
+
/**
|
|
343
|
+
* Detach column resize from header
|
|
344
|
+
*/
|
|
345
|
+
detachColumnResize(): void;
|
|
346
|
+
/**
|
|
347
|
+
* Update column resize handle positions
|
|
348
|
+
* Call this when scrolling to keep handles in sync
|
|
349
|
+
*/
|
|
350
|
+
updateColumnResizeHandles(): void;
|
|
351
|
+
/**
|
|
352
|
+
* Update canvas size after column resize
|
|
353
|
+
*/
|
|
354
|
+
private updateCanvasSize;
|
|
355
|
+
/**
|
|
356
|
+
* Resize a column programmatically
|
|
357
|
+
*/
|
|
358
|
+
resizeColumn(col: number, width: number): void;
|
|
359
|
+
/**
|
|
360
|
+
* Auto-fit a column to its content
|
|
361
|
+
*/
|
|
362
|
+
autoFitColumn(col: number): void;
|
|
363
|
+
/**
|
|
364
|
+
* Auto-fit all columns to their content
|
|
365
|
+
*/
|
|
366
|
+
autoFitAllColumns(): void;
|
|
367
|
+
/**
|
|
368
|
+
* Set column width constraints
|
|
369
|
+
*/
|
|
370
|
+
setColumnConstraints(col: number, constraints: ColumnConstraints): void;
|
|
371
|
+
/**
|
|
372
|
+
* Check if resize is in progress
|
|
373
|
+
*/
|
|
374
|
+
isResizing(): boolean;
|
|
375
|
+
/**
|
|
376
|
+
* Destroy the grid and clean up resources
|
|
377
|
+
*/
|
|
378
|
+
destroy(): void;
|
|
379
|
+
/**
|
|
380
|
+
* Setup DOM structure
|
|
381
|
+
*/
|
|
382
|
+
private setupDOM;
|
|
383
|
+
/**
|
|
384
|
+
* Initialize core components
|
|
385
|
+
*/
|
|
386
|
+
private initializeComponents;
|
|
387
|
+
/**
|
|
388
|
+
* Update scroller with new dimensions
|
|
389
|
+
*/
|
|
390
|
+
private updateScroller;
|
|
391
|
+
/**
|
|
392
|
+
* Handle scroll events
|
|
393
|
+
*/
|
|
394
|
+
private handleScroll;
|
|
395
|
+
/**
|
|
396
|
+
* Subscribe to grid events
|
|
397
|
+
* @param event - Event name
|
|
398
|
+
* @param handler - Event handler
|
|
399
|
+
*/
|
|
400
|
+
on<K extends keyof GridEvents>(event: K, handler: (payload: GridEvents[K]) => void): void;
|
|
401
|
+
/**
|
|
402
|
+
* Unsubscribe from grid events
|
|
403
|
+
* @param event - Event name
|
|
404
|
+
* @param handler - Event handler
|
|
405
|
+
*/
|
|
406
|
+
off<K extends keyof GridEvents>(event: K, handler: (payload: GridEvents[K]) => void): void;
|
|
407
|
+
/**
|
|
408
|
+
* Validate and normalize options
|
|
409
|
+
*/
|
|
410
|
+
private validateOptions;
|
|
411
|
+
}
|
|
412
|
+
//# sourceMappingURL=grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../packages/core/src/grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internationalization (i18n) support for ZenGrid
|
|
3
|
+
*/
|
|
4
|
+
export { RTLSupport } from './rtl-support';
|
|
5
|
+
export type { RTLSupportOptions } from './rtl-support';
|
|
6
|
+
export { LocaleManager } from './locale-manager';
|
|
7
|
+
export type { LocaleConfig } from './locale-manager';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/i18n/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|