@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,277 @@
|
|
|
1
|
+
import type { CellRef, CellRange, SortState, FilterModel } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Grid event types
|
|
4
|
+
*
|
|
5
|
+
* Defines all events emitted by the grid component.
|
|
6
|
+
*/
|
|
7
|
+
export interface GridEvents {
|
|
8
|
+
'cell:click': {
|
|
9
|
+
cell: CellRef;
|
|
10
|
+
value: any;
|
|
11
|
+
nativeEvent: MouseEvent;
|
|
12
|
+
};
|
|
13
|
+
'cell:doubleClick': {
|
|
14
|
+
cell: CellRef;
|
|
15
|
+
value: any;
|
|
16
|
+
nativeEvent: MouseEvent;
|
|
17
|
+
};
|
|
18
|
+
'cell:contextMenu': {
|
|
19
|
+
cell: CellRef;
|
|
20
|
+
value: any;
|
|
21
|
+
nativeEvent: MouseEvent;
|
|
22
|
+
};
|
|
23
|
+
'cell:change': {
|
|
24
|
+
cell: CellRef;
|
|
25
|
+
oldValue: any;
|
|
26
|
+
newValue: any;
|
|
27
|
+
};
|
|
28
|
+
'cell:beforeChange': {
|
|
29
|
+
cell: CellRef;
|
|
30
|
+
oldValue: any;
|
|
31
|
+
newValue: any;
|
|
32
|
+
cancel: () => void;
|
|
33
|
+
};
|
|
34
|
+
'cell:afterChange': {
|
|
35
|
+
cell: CellRef;
|
|
36
|
+
oldValue: any;
|
|
37
|
+
newValue: any;
|
|
38
|
+
};
|
|
39
|
+
'selection:change': {
|
|
40
|
+
ranges: CellRange[];
|
|
41
|
+
previousRanges: CellRange[];
|
|
42
|
+
};
|
|
43
|
+
'selection:start': {
|
|
44
|
+
startCell: CellRef;
|
|
45
|
+
};
|
|
46
|
+
'selection:end': {
|
|
47
|
+
ranges: CellRange[];
|
|
48
|
+
};
|
|
49
|
+
'edit:start': {
|
|
50
|
+
cell: CellRef;
|
|
51
|
+
value: any;
|
|
52
|
+
};
|
|
53
|
+
'edit:end': {
|
|
54
|
+
cell: CellRef;
|
|
55
|
+
value: any;
|
|
56
|
+
cancelled: boolean;
|
|
57
|
+
};
|
|
58
|
+
'edit:commit': {
|
|
59
|
+
cell: CellRef;
|
|
60
|
+
oldValue: any;
|
|
61
|
+
newValue: any;
|
|
62
|
+
};
|
|
63
|
+
'edit:cancel': {
|
|
64
|
+
cell: CellRef;
|
|
65
|
+
value: any;
|
|
66
|
+
};
|
|
67
|
+
'scroll': {
|
|
68
|
+
scrollTop: number;
|
|
69
|
+
scrollLeft: number;
|
|
70
|
+
visibleRange: {
|
|
71
|
+
startRow: number;
|
|
72
|
+
endRow: number;
|
|
73
|
+
startCol: number;
|
|
74
|
+
endCol: number;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
'scroll:start': {
|
|
78
|
+
scrollTop: number;
|
|
79
|
+
scrollLeft: number;
|
|
80
|
+
};
|
|
81
|
+
'scroll:end': {
|
|
82
|
+
scrollTop: number;
|
|
83
|
+
scrollLeft: number;
|
|
84
|
+
};
|
|
85
|
+
'sort:change': {
|
|
86
|
+
sortState: SortState[];
|
|
87
|
+
previousSortState: SortState[];
|
|
88
|
+
};
|
|
89
|
+
'sort:beforeSort': {
|
|
90
|
+
sortState: SortState[];
|
|
91
|
+
cancel: () => void;
|
|
92
|
+
};
|
|
93
|
+
'sort:afterSort': {
|
|
94
|
+
sortState: SortState[];
|
|
95
|
+
rowsAffected: number;
|
|
96
|
+
};
|
|
97
|
+
'filter:change': {
|
|
98
|
+
filterState: FilterModel[];
|
|
99
|
+
previousFilterState: FilterModel[];
|
|
100
|
+
};
|
|
101
|
+
'filter:beforeFilter': {
|
|
102
|
+
filterState: FilterModel[];
|
|
103
|
+
cancel: () => void;
|
|
104
|
+
};
|
|
105
|
+
'filter:afterFilter': {
|
|
106
|
+
filterState: FilterModel[];
|
|
107
|
+
rowsVisible: number;
|
|
108
|
+
rowsHidden: number;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Emitted when filters are exported to backend-friendly formats
|
|
112
|
+
* Contains all export formats (REST, GraphQL, SQL) from a single filter state
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* grid.on('filter:export', (event) => {
|
|
117
|
+
* // REST
|
|
118
|
+
* fetch(`/api/users?${event.rest.queryString}`);
|
|
119
|
+
*
|
|
120
|
+
* // GraphQL
|
|
121
|
+
* graphqlClient.query({
|
|
122
|
+
* query: GET_USERS,
|
|
123
|
+
* variables: { where: event.graphql.where }
|
|
124
|
+
* });
|
|
125
|
+
*
|
|
126
|
+
* // SQL
|
|
127
|
+
* db.query(
|
|
128
|
+
* `SELECT * FROM users WHERE ${event.sql.whereClause}`,
|
|
129
|
+
* event.sql.positionalParams
|
|
130
|
+
* );
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
'filter:export': {
|
|
135
|
+
/** Field-based filter state */
|
|
136
|
+
state: import('../features/filtering/types').FieldFilterState;
|
|
137
|
+
/** REST export (query strings, params) */
|
|
138
|
+
rest: import('../features/filtering/adapters/types').RESTFilterExport;
|
|
139
|
+
/** GraphQL export (where clause, variables) */
|
|
140
|
+
graphql: import('../features/filtering/adapters/types').GraphQLFilterExport;
|
|
141
|
+
/** SQL export (WHERE clause, params) */
|
|
142
|
+
sql: import('../features/filtering/adapters/types').SQLFilterExport;
|
|
143
|
+
/** Previous filter state */
|
|
144
|
+
previousState: import('../features/filtering/types').FieldFilterState;
|
|
145
|
+
};
|
|
146
|
+
'filter:start': {
|
|
147
|
+
timestamp: number;
|
|
148
|
+
filter: import('../types').FilterExpression;
|
|
149
|
+
};
|
|
150
|
+
'filter:end': {
|
|
151
|
+
timestamp: number;
|
|
152
|
+
resultCount: number;
|
|
153
|
+
};
|
|
154
|
+
'filter:error': {
|
|
155
|
+
timestamp: number;
|
|
156
|
+
error: Error;
|
|
157
|
+
};
|
|
158
|
+
'filter:clear': {
|
|
159
|
+
timestamp: number;
|
|
160
|
+
};
|
|
161
|
+
'focus:change': {
|
|
162
|
+
cell: CellRef | null;
|
|
163
|
+
previousCell: CellRef | null;
|
|
164
|
+
};
|
|
165
|
+
'focus:in': {
|
|
166
|
+
cell: CellRef;
|
|
167
|
+
};
|
|
168
|
+
'focus:out': {
|
|
169
|
+
cell: CellRef;
|
|
170
|
+
};
|
|
171
|
+
'key:down': {
|
|
172
|
+
cell: CellRef;
|
|
173
|
+
key: string;
|
|
174
|
+
nativeEvent: KeyboardEvent;
|
|
175
|
+
preventDefault: () => void;
|
|
176
|
+
};
|
|
177
|
+
'key:up': {
|
|
178
|
+
cell: CellRef;
|
|
179
|
+
key: string;
|
|
180
|
+
nativeEvent: KeyboardEvent;
|
|
181
|
+
};
|
|
182
|
+
'key:press': {
|
|
183
|
+
cell: CellRef;
|
|
184
|
+
key: string;
|
|
185
|
+
nativeEvent: KeyboardEvent;
|
|
186
|
+
};
|
|
187
|
+
'copy': {
|
|
188
|
+
ranges: CellRange[];
|
|
189
|
+
data: string;
|
|
190
|
+
};
|
|
191
|
+
'cut': {
|
|
192
|
+
ranges: CellRange[];
|
|
193
|
+
data: string;
|
|
194
|
+
};
|
|
195
|
+
'paste': {
|
|
196
|
+
cell: CellRef;
|
|
197
|
+
data: string;
|
|
198
|
+
};
|
|
199
|
+
'render:start': {
|
|
200
|
+
timestamp: number;
|
|
201
|
+
};
|
|
202
|
+
'render:end': {
|
|
203
|
+
timestamp: number;
|
|
204
|
+
duration: number;
|
|
205
|
+
};
|
|
206
|
+
'data:load': {
|
|
207
|
+
rowCount: number;
|
|
208
|
+
colCount: number;
|
|
209
|
+
};
|
|
210
|
+
'data:change': {
|
|
211
|
+
changes: Array<{
|
|
212
|
+
cell: CellRef;
|
|
213
|
+
oldValue: any;
|
|
214
|
+
newValue: any;
|
|
215
|
+
}>;
|
|
216
|
+
};
|
|
217
|
+
'loading:start': {
|
|
218
|
+
timestamp: number;
|
|
219
|
+
message?: string;
|
|
220
|
+
};
|
|
221
|
+
'loading:end': {
|
|
222
|
+
timestamp: number;
|
|
223
|
+
duration: number;
|
|
224
|
+
};
|
|
225
|
+
'loading:progress': {
|
|
226
|
+
progress: number;
|
|
227
|
+
message?: string;
|
|
228
|
+
};
|
|
229
|
+
'undo-redo:change': {
|
|
230
|
+
canUndo: boolean;
|
|
231
|
+
canRedo: boolean;
|
|
232
|
+
undoCount: number;
|
|
233
|
+
redoCount: number;
|
|
234
|
+
};
|
|
235
|
+
'destroy': {
|
|
236
|
+
timestamp: number;
|
|
237
|
+
};
|
|
238
|
+
'error': {
|
|
239
|
+
message: string;
|
|
240
|
+
error: Error;
|
|
241
|
+
context?: any;
|
|
242
|
+
};
|
|
243
|
+
'warning': {
|
|
244
|
+
message: string;
|
|
245
|
+
context?: any;
|
|
246
|
+
};
|
|
247
|
+
'column:resize': {
|
|
248
|
+
column: number;
|
|
249
|
+
oldWidth: number;
|
|
250
|
+
newWidth: number;
|
|
251
|
+
};
|
|
252
|
+
'column:move': {
|
|
253
|
+
column: number;
|
|
254
|
+
oldIndex: number;
|
|
255
|
+
newIndex: number;
|
|
256
|
+
};
|
|
257
|
+
'column:hide': {
|
|
258
|
+
column: number;
|
|
259
|
+
};
|
|
260
|
+
'column:show': {
|
|
261
|
+
column: number;
|
|
262
|
+
};
|
|
263
|
+
'row:insert': {
|
|
264
|
+
index: number;
|
|
265
|
+
count: number;
|
|
266
|
+
};
|
|
267
|
+
'row:delete': {
|
|
268
|
+
index: number;
|
|
269
|
+
count: number;
|
|
270
|
+
};
|
|
271
|
+
'row:move': {
|
|
272
|
+
oldIndex: number;
|
|
273
|
+
newIndex: number;
|
|
274
|
+
count: number;
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=grid-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-events.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/events/grid-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/events/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autofill Manager using Pattern Detection
|
|
3
|
+
*
|
|
4
|
+
* Provides Excel-like smart autofill functionality.
|
|
5
|
+
*/
|
|
6
|
+
import { type SequencePattern } from '@zengrid/shared/algorithms/pattern';
|
|
7
|
+
/**
|
|
8
|
+
* Autofill direction
|
|
9
|
+
*/
|
|
10
|
+
export type AutofillDirection = 'horizontal' | 'vertical';
|
|
11
|
+
/**
|
|
12
|
+
* Autofill preview result
|
|
13
|
+
*/
|
|
14
|
+
export interface AutofillPreview {
|
|
15
|
+
values: any[];
|
|
16
|
+
pattern: string;
|
|
17
|
+
confidence: number;
|
|
18
|
+
patternType: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* AutofillManager - Smart autofill using pattern detection
|
|
22
|
+
*
|
|
23
|
+
* Detects patterns in source cells and intelligently fills target range.
|
|
24
|
+
* Supports arithmetic sequences (1,2,3), geometric sequences (2,4,8),
|
|
25
|
+
* text patterns ("Item 1", "Item 2"), and more.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const autofill = new AutofillManager();
|
|
30
|
+
*
|
|
31
|
+
* // User selects [1, 2, 3] and drags fill handle
|
|
32
|
+
* const preview = autofill.previewFill([1, 2, 3], 10);
|
|
33
|
+
* // {
|
|
34
|
+
* // values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
35
|
+
* // pattern: 'Linear sequence (+1)',
|
|
36
|
+
* // confidence: 1.0,
|
|
37
|
+
* // patternType: 'arithmetic'
|
|
38
|
+
* // }
|
|
39
|
+
*
|
|
40
|
+
* // Apply autofill
|
|
41
|
+
* const filled = autofill.fillRange([1, 2, 3], 10);
|
|
42
|
+
* // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare class AutofillManager {
|
|
46
|
+
/**
|
|
47
|
+
* Fill a range based on source cells
|
|
48
|
+
*
|
|
49
|
+
* @param sourceValues - Source cell values
|
|
50
|
+
* @param targetLength - Desired total length of result
|
|
51
|
+
* @param direction - Fill direction (for future use)
|
|
52
|
+
* @returns Filled array
|
|
53
|
+
*/
|
|
54
|
+
fillRange(sourceValues: any[], targetLength: number, _direction?: AutofillDirection): any[];
|
|
55
|
+
/**
|
|
56
|
+
* Preview autofill before applying
|
|
57
|
+
*
|
|
58
|
+
* Shows what will be filled and the detected pattern.
|
|
59
|
+
*
|
|
60
|
+
* @param sourceValues - Source cell values
|
|
61
|
+
* @param targetLength - Desired total length
|
|
62
|
+
* @returns Preview with values, pattern description, and confidence
|
|
63
|
+
*/
|
|
64
|
+
previewFill(sourceValues: any[], targetLength: number): AutofillPreview;
|
|
65
|
+
/**
|
|
66
|
+
* Detect pattern in source values
|
|
67
|
+
*
|
|
68
|
+
* @param sourceValues - Source cell values
|
|
69
|
+
* @returns Detected pattern
|
|
70
|
+
*/
|
|
71
|
+
detectPattern(sourceValues: any[]): SequencePattern;
|
|
72
|
+
/**
|
|
73
|
+
* Check if source values have a detectable pattern
|
|
74
|
+
*
|
|
75
|
+
* @param sourceValues - Source cell values
|
|
76
|
+
* @param minConfidence - Minimum confidence threshold (0-1)
|
|
77
|
+
* @returns true if pattern detected with sufficient confidence
|
|
78
|
+
*/
|
|
79
|
+
hasPattern(sourceValues: any[], minConfidence?: number): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Get pattern description
|
|
82
|
+
*
|
|
83
|
+
* @param sourceValues - Source cell values
|
|
84
|
+
* @returns Human-readable pattern description
|
|
85
|
+
*/
|
|
86
|
+
getPatternDescription(sourceValues: any[]): string;
|
|
87
|
+
/**
|
|
88
|
+
* Fill with custom pattern
|
|
89
|
+
*
|
|
90
|
+
* Advanced: directly specify the pattern to use.
|
|
91
|
+
*
|
|
92
|
+
* @param sourceValues - Source cell values
|
|
93
|
+
* @param targetLength - Desired total length
|
|
94
|
+
* @param pattern - Custom pattern to apply
|
|
95
|
+
* @returns Filled array
|
|
96
|
+
*/
|
|
97
|
+
fillWithPattern(sourceValues: any[], targetLength: number, _pattern: SequencePattern): any[];
|
|
98
|
+
/**
|
|
99
|
+
* Convert pattern to human-readable string
|
|
100
|
+
*/
|
|
101
|
+
private patternToString;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=autofill-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autofill-manager.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/features/autofill/autofill-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,SAAS,CACP,YAAY,EAAE,GAAG,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,iBAA8B,GACzC,GAAG,EAAE;IAIR;;;;;;;;OAQG;IACH,WAAW,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe;IAYvE;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,eAAe;IAInD;;;;;;OAMG;IACH,UAAU,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,GAAE,MAAY,GAAG,OAAO;IAKrE;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM;IAKlD;;;;;;;;;OASG;IACH,eAAe,CACb,YAAY,EAAE,GAAG,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,eAAe,GACxB,GAAG,EAAE;IAWR;;OAEG;IACH,OAAO,CAAC,eAAe;CA6BxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/features/autofill/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for auto-fit calculation
|
|
3
|
+
*/
|
|
4
|
+
export interface AutoFitCalculatorOptions {
|
|
5
|
+
/** Get cell value */
|
|
6
|
+
getValue: (row: number, col: number) => any;
|
|
7
|
+
/** Total row count */
|
|
8
|
+
rowCount: number;
|
|
9
|
+
/** Maximum rows to sample (default: 100) */
|
|
10
|
+
sampleSize?: number;
|
|
11
|
+
/** Padding to add to calculated width (default: 16) */
|
|
12
|
+
padding?: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* AutoFitCalculator - Calculates optimal column width based on content
|
|
16
|
+
*
|
|
17
|
+
* Uses a sample of rows to estimate the maximum content width.
|
|
18
|
+
* Creates a temporary off-screen element to measure text width.
|
|
19
|
+
*/
|
|
20
|
+
export declare class AutoFitCalculator {
|
|
21
|
+
private getValue;
|
|
22
|
+
private rowCount;
|
|
23
|
+
private sampleSize;
|
|
24
|
+
private padding;
|
|
25
|
+
private measureElement;
|
|
26
|
+
constructor(options: AutoFitCalculatorOptions);
|
|
27
|
+
/**
|
|
28
|
+
* Calculate optimal width for a column
|
|
29
|
+
*/
|
|
30
|
+
calculateOptimalWidth(col: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Get evenly distributed sample indices
|
|
33
|
+
*/
|
|
34
|
+
private getSampleIndices;
|
|
35
|
+
/**
|
|
36
|
+
* Measure text width using DOM element
|
|
37
|
+
*/
|
|
38
|
+
private measureTextWidth;
|
|
39
|
+
/**
|
|
40
|
+
* Get or create measurement element
|
|
41
|
+
*/
|
|
42
|
+
private getMeasureElement;
|
|
43
|
+
/**
|
|
44
|
+
* Update row count
|
|
45
|
+
*/
|
|
46
|
+
updateRowCount(rowCount: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Cleanup
|
|
49
|
+
*/
|
|
50
|
+
destroy(): void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=auto-fit-calculator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-fit-calculator.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/features/column-resize/auto-fit-calculator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAC5C,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,cAAc,CAA4B;gBAEtC,OAAO,EAAE,wBAAwB;IAO7C;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAgB1C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { ColumnResizeOptions, ColumnConstraints } from './column-resize-manager.interface';
|
|
2
|
+
/**
|
|
3
|
+
* ColumnResizeManager - Refactored with Strategy Pattern and Sub-managers
|
|
4
|
+
*
|
|
5
|
+
* Architecture:
|
|
6
|
+
* - Delegates to specialized sub-managers
|
|
7
|
+
* - Uses Strategy Pattern for resize behaviors
|
|
8
|
+
* - Implements lifecycle hooks for extensibility
|
|
9
|
+
* - Loosely coupled through ResizableDataSource interface
|
|
10
|
+
*/
|
|
11
|
+
export declare class ColumnResizeManager {
|
|
12
|
+
private events?;
|
|
13
|
+
private dataSource;
|
|
14
|
+
private enabled;
|
|
15
|
+
private getScrollLeftCallback?;
|
|
16
|
+
private getViewportHeightCallback?;
|
|
17
|
+
private constraintManager;
|
|
18
|
+
private zoneDetector;
|
|
19
|
+
private stateManager;
|
|
20
|
+
private autoFitCalculator;
|
|
21
|
+
private handleRenderer;
|
|
22
|
+
private previewRenderer;
|
|
23
|
+
private strategy;
|
|
24
|
+
private onBeforeResize?;
|
|
25
|
+
private onDuringResize?;
|
|
26
|
+
private showHandles;
|
|
27
|
+
private showPreview;
|
|
28
|
+
private boundHandleMouseMove;
|
|
29
|
+
private boundHandleMouseUp;
|
|
30
|
+
private boundHandleMouseDown;
|
|
31
|
+
private boundHandleDblClick;
|
|
32
|
+
private boundHandleTouchStart;
|
|
33
|
+
private boundHandleTouchMove;
|
|
34
|
+
private boundHandleTouchEnd;
|
|
35
|
+
private container;
|
|
36
|
+
constructor(options: ColumnResizeOptions);
|
|
37
|
+
/**
|
|
38
|
+
* Attach event listeners to container
|
|
39
|
+
*/
|
|
40
|
+
attach(container: HTMLElement): void;
|
|
41
|
+
/**
|
|
42
|
+
* Detach event listeners from container
|
|
43
|
+
*/
|
|
44
|
+
detach(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Update handle positions (call after scroll or column changes)
|
|
47
|
+
*/
|
|
48
|
+
updateHandles(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get scroll left position
|
|
51
|
+
*/
|
|
52
|
+
private getScrollLeft;
|
|
53
|
+
/**
|
|
54
|
+
* Handle mouse move for cursor and resize drag
|
|
55
|
+
*/
|
|
56
|
+
private handleMouseMove;
|
|
57
|
+
/**
|
|
58
|
+
* Handle mouse down to start resize
|
|
59
|
+
*/
|
|
60
|
+
private handleMouseDown;
|
|
61
|
+
/**
|
|
62
|
+
* Handle mouse up to end resize
|
|
63
|
+
*/
|
|
64
|
+
private handleMouseUp;
|
|
65
|
+
/**
|
|
66
|
+
* Perform resize during drag
|
|
67
|
+
*/
|
|
68
|
+
private performResize;
|
|
69
|
+
/**
|
|
70
|
+
* Handle double-click to auto-fit
|
|
71
|
+
*/
|
|
72
|
+
private handleDblClick;
|
|
73
|
+
/**
|
|
74
|
+
* Handle touch start
|
|
75
|
+
*/
|
|
76
|
+
private handleTouchStart;
|
|
77
|
+
/**
|
|
78
|
+
* Handle touch move
|
|
79
|
+
*/
|
|
80
|
+
private handleTouchMove;
|
|
81
|
+
/**
|
|
82
|
+
* Handle touch end
|
|
83
|
+
*/
|
|
84
|
+
private handleTouchEnd;
|
|
85
|
+
/**
|
|
86
|
+
* Auto-fit a single column
|
|
87
|
+
*/
|
|
88
|
+
autoFitColumn(column: number): void;
|
|
89
|
+
/**
|
|
90
|
+
* Auto-fit all columns
|
|
91
|
+
*/
|
|
92
|
+
autoFitAllColumns(): void;
|
|
93
|
+
/**
|
|
94
|
+
* Resize a column programmatically
|
|
95
|
+
*/
|
|
96
|
+
resizeColumn(column: number, width: number): void;
|
|
97
|
+
/**
|
|
98
|
+
* Set constraints for a column
|
|
99
|
+
*/
|
|
100
|
+
setColumnConstraints(column: number, constraints: ColumnConstraints): void;
|
|
101
|
+
/**
|
|
102
|
+
* Check if resize is currently active
|
|
103
|
+
*/
|
|
104
|
+
isResizing(): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Notify about width changes (for persistence)
|
|
107
|
+
*/
|
|
108
|
+
private notifyWidthChange;
|
|
109
|
+
/**
|
|
110
|
+
* Destroy and cleanup
|
|
111
|
+
*/
|
|
112
|
+
destroy(): void;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=column-resize-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-resize-manager.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/features/column-resize/column-resize-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAKlB,MAAM,mCAAmC,CAAC;AA+C3C;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,qBAAqB,CAAC,CAAe;IAC7C,OAAO,CAAC,yBAAyB,CAAC,CAAe;IAGjD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,eAAe,CAA8B;IAGrD,OAAO,CAAC,QAAQ,CAAiB;IAGjC,OAAO,CAAC,cAAc,CAAC,CAA2D;IAClF,OAAO,CAAC,cAAc,CAAC,CAAqC;IAG5D,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,WAAW,CAAU;IAG7B,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,mBAAmB,CAA0B;IAGrD,OAAO,CAAC,SAAS,CAA4B;gBAEjC,OAAO,EAAE,mBAAmB;IA6DxC;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAwBpC;;OAEG;IACH,MAAM,IAAI,IAAI;IAiBd;;OAEG;IACH,aAAa,IAAI,IAAI;IAsBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,eAAe;IAyB7B;;OAEG;YACW,eAAe;IAgD7B;;OAEG;YACW,aAAa;IAmD3B;;OAEG;YACW,aAAa;IA0B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgCtB;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwBnC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjD;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAI1E;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|