@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.
Files changed (252) hide show
  1. package/README.md +55 -0
  2. package/dist/README.md +55 -0
  3. package/dist/index.cjs.default.js +1 -0
  4. package/dist/index.cjs.js +9882 -0
  5. package/dist/index.cjs.mjs +2 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.esm.js +9847 -0
  8. package/dist/package.json +49 -0
  9. package/dist/src/a11y/aria-manager.d.ts +171 -0
  10. package/dist/src/a11y/aria-manager.d.ts.map +1 -0
  11. package/dist/src/a11y/focus-manager.d.ts +124 -0
  12. package/dist/src/a11y/focus-manager.d.ts.map +1 -0
  13. package/dist/src/a11y/index.d.ts +8 -0
  14. package/dist/src/a11y/index.d.ts.map +1 -0
  15. package/dist/src/data/data-accessor/array-accessor.d.ts +38 -0
  16. package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -0
  17. package/dist/src/data/data-accessor/column-store-accessor.d.ts +41 -0
  18. package/dist/src/data/data-accessor/column-store-accessor.d.ts.map +1 -0
  19. package/dist/src/data/data-accessor/data-accessor.interface.d.ts +41 -0
  20. package/dist/src/data/data-accessor/data-accessor.interface.d.ts.map +1 -0
  21. package/dist/src/data/data-accessor/index.d.ts +9 -0
  22. package/dist/src/data/data-accessor/index.d.ts.map +1 -0
  23. package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts +39 -0
  24. package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts.map +1 -0
  25. package/dist/src/data/data-manager.d.ts +161 -0
  26. package/dist/src/data/data-manager.d.ts.map +1 -0
  27. package/dist/src/data/data-source.interface.d.ts +82 -0
  28. package/dist/src/data/data-source.interface.d.ts.map +1 -0
  29. package/dist/src/data/grid-data-model.d.ts +102 -0
  30. package/dist/src/data/grid-data-model.d.ts.map +1 -0
  31. package/dist/src/data/index-map/index-map.d.ts +30 -0
  32. package/dist/src/data/index-map/index-map.d.ts.map +1 -0
  33. package/dist/src/data/index-map/index-map.interface.d.ts +49 -0
  34. package/dist/src/data/index-map/index-map.interface.d.ts.map +1 -0
  35. package/dist/src/data/index-map/index.d.ts +7 -0
  36. package/dist/src/data/index-map/index.d.ts.map +1 -0
  37. package/dist/src/data/index.d.ts +9 -0
  38. package/dist/src/data/index.d.ts.map +1 -0
  39. package/dist/src/editing/cell-editor.interface.d.ts +87 -0
  40. package/dist/src/editing/cell-editor.interface.d.ts.map +1 -0
  41. package/dist/src/editing/date-editor.d.ts +67 -0
  42. package/dist/src/editing/date-editor.d.ts.map +1 -0
  43. package/dist/src/editing/editor-manager.d.ts +141 -0
  44. package/dist/src/editing/editor-manager.d.ts.map +1 -0
  45. package/dist/src/editing/index.d.ts +15 -0
  46. package/dist/src/editing/index.d.ts.map +1 -0
  47. package/dist/src/editing/number-editor.d.ts +68 -0
  48. package/dist/src/editing/number-editor.d.ts.map +1 -0
  49. package/dist/src/editing/select-editor.d.ts +53 -0
  50. package/dist/src/editing/select-editor.d.ts.map +1 -0
  51. package/dist/src/editing/text-editor.d.ts +69 -0
  52. package/dist/src/editing/text-editor.d.ts.map +1 -0
  53. package/dist/src/events/event-emitter.d.ts +90 -0
  54. package/dist/src/events/event-emitter.d.ts.map +1 -0
  55. package/dist/src/events/grid-events.d.ts +277 -0
  56. package/dist/src/events/grid-events.d.ts.map +1 -0
  57. package/dist/src/events/index.d.ts +6 -0
  58. package/dist/src/events/index.d.ts.map +1 -0
  59. package/dist/src/features/autofill/autofill-manager.d.ts +103 -0
  60. package/dist/src/features/autofill/autofill-manager.d.ts.map +1 -0
  61. package/dist/src/features/autofill/index.d.ts +6 -0
  62. package/dist/src/features/autofill/index.d.ts.map +1 -0
  63. package/dist/src/features/column-resize/auto-fit-calculator.d.ts +52 -0
  64. package/dist/src/features/column-resize/auto-fit-calculator.d.ts.map +1 -0
  65. package/dist/src/features/column-resize/column-resize-manager.d.ts +114 -0
  66. package/dist/src/features/column-resize/column-resize-manager.d.ts.map +1 -0
  67. package/dist/src/features/column-resize/column-resize-manager.interface.d.ts +167 -0
  68. package/dist/src/features/column-resize/column-resize-manager.interface.d.ts.map +1 -0
  69. package/dist/src/features/column-resize/column-resize.styles.css +30 -0
  70. package/dist/src/features/column-resize/index.d.ts +15 -0
  71. package/dist/src/features/column-resize/index.d.ts.map +1 -0
  72. package/dist/src/features/column-resize/resize-constraint-manager.d.ts +52 -0
  73. package/dist/src/features/column-resize/resize-constraint-manager.d.ts.map +1 -0
  74. package/dist/src/features/column-resize/resize-handle-renderer.d.ts +41 -0
  75. package/dist/src/features/column-resize/resize-handle-renderer.d.ts.map +1 -0
  76. package/dist/src/features/column-resize/resize-preview.d.ts +32 -0
  77. package/dist/src/features/column-resize/resize-preview.d.ts.map +1 -0
  78. package/dist/src/features/column-resize/resize-state-manager.d.ts +75 -0
  79. package/dist/src/features/column-resize/resize-state-manager.d.ts.map +1 -0
  80. package/dist/src/features/column-resize/resize-strategies.d.ts +26 -0
  81. package/dist/src/features/column-resize/resize-strategies.d.ts.map +1 -0
  82. package/dist/src/features/column-resize/resize-test-helper.d.ts +71 -0
  83. package/dist/src/features/column-resize/resize-test-helper.d.ts.map +1 -0
  84. package/dist/src/features/column-resize/resize-zone-detector.d.ts +32 -0
  85. package/dist/src/features/column-resize/resize-zone-detector.d.ts.map +1 -0
  86. package/dist/src/features/copy-paste/clipboard-manager.d.ts +116 -0
  87. package/dist/src/features/copy-paste/clipboard-manager.d.ts.map +1 -0
  88. package/dist/src/features/copy-paste/index.d.ts +6 -0
  89. package/dist/src/features/copy-paste/index.d.ts.map +1 -0
  90. package/dist/src/features/filtering/adapters/adapter.interface.d.ts +100 -0
  91. package/dist/src/features/filtering/adapters/adapter.interface.d.ts.map +1 -0
  92. package/dist/src/features/filtering/adapters/graphql-adapter.d.ts +124 -0
  93. package/dist/src/features/filtering/adapters/graphql-adapter.d.ts.map +1 -0
  94. package/dist/src/features/filtering/adapters/index.d.ts +11 -0
  95. package/dist/src/features/filtering/adapters/index.d.ts.map +1 -0
  96. package/dist/src/features/filtering/adapters/rest-adapter.d.ts +108 -0
  97. package/dist/src/features/filtering/adapters/rest-adapter.d.ts.map +1 -0
  98. package/dist/src/features/filtering/adapters/sql-adapter.d.ts +123 -0
  99. package/dist/src/features/filtering/adapters/sql-adapter.d.ts.map +1 -0
  100. package/dist/src/features/filtering/adapters/types.d.ts +201 -0
  101. package/dist/src/features/filtering/adapters/types.d.ts.map +1 -0
  102. package/dist/src/features/filtering/column-filter.d.ts +117 -0
  103. package/dist/src/features/filtering/column-filter.d.ts.map +1 -0
  104. package/dist/src/features/filtering/filter-autocomplete.d.ts +78 -0
  105. package/dist/src/features/filtering/filter-autocomplete.d.ts.map +1 -0
  106. package/dist/src/features/filtering/filter-cache.d.ts +113 -0
  107. package/dist/src/features/filtering/filter-cache.d.ts.map +1 -0
  108. package/dist/src/features/filtering/filter-compiler.d.ts +66 -0
  109. package/dist/src/features/filtering/filter-compiler.d.ts.map +1 -0
  110. package/dist/src/features/filtering/filter-export-manager.d.ts +131 -0
  111. package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -0
  112. package/dist/src/features/filtering/filter-index-manager.d.ts +126 -0
  113. package/dist/src/features/filtering/filter-index-manager.d.ts.map +1 -0
  114. package/dist/src/features/filtering/filter-manager.d.ts +408 -0
  115. package/dist/src/features/filtering/filter-manager.d.ts.map +1 -0
  116. package/dist/src/features/filtering/filter-optimizer.d.ts +101 -0
  117. package/dist/src/features/filtering/filter-optimizer.d.ts.map +1 -0
  118. package/dist/src/features/filtering/filter-query-parser.d.ts +69 -0
  119. package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -0
  120. package/dist/src/features/filtering/index.d.ts +20 -0
  121. package/dist/src/features/filtering/index.d.ts.map +1 -0
  122. package/dist/src/features/filtering/range-filter-optimizer.d.ts +138 -0
  123. package/dist/src/features/filtering/range-filter-optimizer.d.ts.map +1 -0
  124. package/dist/src/features/filtering/substring-filter.d.ts +90 -0
  125. package/dist/src/features/filtering/substring-filter.d.ts.map +1 -0
  126. package/dist/src/features/filtering/types.d.ts +204 -0
  127. package/dist/src/features/filtering/types.d.ts.map +1 -0
  128. package/dist/src/features/formulas/formula-calculator.d.ts +151 -0
  129. package/dist/src/features/formulas/formula-calculator.d.ts.map +1 -0
  130. package/dist/src/features/formulas/index.d.ts +6 -0
  131. package/dist/src/features/formulas/index.d.ts.map +1 -0
  132. package/dist/src/features/hit-testing/index.d.ts +7 -0
  133. package/dist/src/features/hit-testing/index.d.ts.map +1 -0
  134. package/dist/src/features/hit-testing/spatial-hit-tester.d.ts +137 -0
  135. package/dist/src/features/hit-testing/spatial-hit-tester.d.ts.map +1 -0
  136. package/dist/src/features/loading/index.d.ts +5 -0
  137. package/dist/src/features/loading/index.d.ts.map +1 -0
  138. package/dist/src/features/loading/loading-indicator.d.ts +79 -0
  139. package/dist/src/features/loading/loading-indicator.d.ts.map +1 -0
  140. package/dist/src/features/loading/loading.styles.css +413 -0
  141. package/dist/src/features/pagination/index.d.ts +5 -0
  142. package/dist/src/features/pagination/index.d.ts.map +1 -0
  143. package/dist/src/features/pagination/pagination.styles.css +288 -0
  144. package/dist/src/features/pagination/paginator.d.ts +89 -0
  145. package/dist/src/features/pagination/paginator.d.ts.map +1 -0
  146. package/dist/src/features/selection/index.d.ts +7 -0
  147. package/dist/src/features/selection/index.d.ts.map +1 -0
  148. package/dist/src/features/selection/selection-manager.d.ts +167 -0
  149. package/dist/src/features/selection/selection-manager.d.ts.map +1 -0
  150. package/dist/src/features/sorting/index.d.ts +13 -0
  151. package/dist/src/features/sorting/index.d.ts.map +1 -0
  152. package/dist/src/features/sorting/row-sorter.interface.d.ts +63 -0
  153. package/dist/src/features/sorting/row-sorter.interface.d.ts.map +1 -0
  154. package/dist/src/features/sorting/single-column-sorter.d.ts +75 -0
  155. package/dist/src/features/sorting/single-column-sorter.d.ts.map +1 -0
  156. package/dist/src/features/sorting/sort-manager.d.ts +132 -0
  157. package/dist/src/features/sorting/sort-manager.d.ts.map +1 -0
  158. package/dist/src/features/undo-redo/index.d.ts +8 -0
  159. package/dist/src/features/undo-redo/index.d.ts.map +1 -0
  160. package/dist/src/features/undo-redo/undo-redo-manager.d.ts +215 -0
  161. package/dist/src/features/undo-redo/undo-redo-manager.d.ts.map +1 -0
  162. package/dist/src/grid.d.ts +412 -0
  163. package/dist/src/grid.d.ts.map +1 -0
  164. package/dist/src/i18n/index.d.ts +8 -0
  165. package/dist/src/i18n/index.d.ts.map +1 -0
  166. package/dist/src/i18n/locale-manager.d.ts +123 -0
  167. package/dist/src/i18n/locale-manager.d.ts.map +1 -0
  168. package/dist/src/i18n/rtl-support.d.ts +120 -0
  169. package/dist/src/i18n/rtl-support.d.ts.map +1 -0
  170. package/dist/src/index.d.ts +38 -0
  171. package/dist/src/index.d.ts.map +1 -0
  172. package/dist/src/keyboard/index.d.ts +6 -0
  173. package/dist/src/keyboard/index.d.ts.map +1 -0
  174. package/dist/src/keyboard/keyboard-navigator.d.ts +171 -0
  175. package/dist/src/keyboard/keyboard-navigator.d.ts.map +1 -0
  176. package/dist/src/rendering/cache/index.d.ts +3 -0
  177. package/dist/src/rendering/cache/index.d.ts.map +1 -0
  178. package/dist/src/rendering/cache/renderer-cache.d.ts +100 -0
  179. package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -0
  180. package/dist/src/rendering/cache/renderer-cache.interface.d.ts +89 -0
  181. package/dist/src/rendering/cache/renderer-cache.interface.d.ts.map +1 -0
  182. package/dist/src/rendering/cell-pool/cell-pool.d.ts +36 -0
  183. package/dist/src/rendering/cell-pool/cell-pool.d.ts.map +1 -0
  184. package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts +76 -0
  185. package/dist/src/rendering/cell-pool/cell-pool.interface.d.ts.map +1 -0
  186. package/dist/src/rendering/cell-pool/index.d.ts +6 -0
  187. package/dist/src/rendering/cell-pool/index.d.ts.map +1 -0
  188. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +46 -0
  189. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -0
  190. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +86 -0
  191. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -0
  192. package/dist/src/rendering/cell-positioner/index.d.ts +6 -0
  193. package/dist/src/rendering/cell-positioner/index.d.ts.map +1 -0
  194. package/dist/src/rendering/height-provider/height-provider.interface.d.ts +62 -0
  195. package/dist/src/rendering/height-provider/height-provider.interface.d.ts.map +1 -0
  196. package/dist/src/rendering/height-provider/index.d.ts +7 -0
  197. package/dist/src/rendering/height-provider/index.d.ts.map +1 -0
  198. package/dist/src/rendering/height-provider/uniform-height-provider.d.ts +31 -0
  199. package/dist/src/rendering/height-provider/uniform-height-provider.d.ts.map +1 -0
  200. package/dist/src/rendering/height-provider/variable-height-provider.d.ts +33 -0
  201. package/dist/src/rendering/height-provider/variable-height-provider.d.ts.map +1 -0
  202. package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts +105 -0
  203. package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts.map +1 -0
  204. package/dist/src/rendering/renderers/image-renderer.d.ts +60 -0
  205. package/dist/src/rendering/renderers/image-renderer.d.ts.map +1 -0
  206. package/dist/src/rendering/renderers/index.d.ts +13 -0
  207. package/dist/src/rendering/renderers/index.d.ts.map +1 -0
  208. package/dist/src/rendering/renderers/number-renderer.d.ts +71 -0
  209. package/dist/src/rendering/renderers/number-renderer.d.ts.map +1 -0
  210. package/dist/src/rendering/renderers/renderer-registry.d.ts +55 -0
  211. package/dist/src/rendering/renderers/renderer-registry.d.ts.map +1 -0
  212. package/dist/src/rendering/renderers/renderer.interface.d.ts +79 -0
  213. package/dist/src/rendering/renderers/renderer.interface.d.ts.map +1 -0
  214. package/dist/src/rendering/renderers/text-renderer.d.ts +20 -0
  215. package/dist/src/rendering/renderers/text-renderer.d.ts.map +1 -0
  216. package/dist/src/rendering/spatial-hit-tester.d.ts +108 -0
  217. package/dist/src/rendering/spatial-hit-tester.d.ts.map +1 -0
  218. package/dist/src/rendering/virtual-scroller/index.d.ts +6 -0
  219. package/dist/src/rendering/virtual-scroller/index.d.ts.map +1 -0
  220. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +56 -0
  221. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -0
  222. package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts +170 -0
  223. package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts.map +1 -0
  224. package/dist/src/rendering/width-provider/index.d.ts +7 -0
  225. package/dist/src/rendering/width-provider/index.d.ts.map +1 -0
  226. package/dist/src/rendering/width-provider/uniform-width-provider.d.ts +31 -0
  227. package/dist/src/rendering/width-provider/uniform-width-provider.d.ts.map +1 -0
  228. package/dist/src/rendering/width-provider/variable-width-provider.d.ts +33 -0
  229. package/dist/src/rendering/width-provider/variable-width-provider.d.ts.map +1 -0
  230. package/dist/src/rendering/width-provider/width-provider.interface.d.ts +62 -0
  231. package/dist/src/rendering/width-provider/width-provider.interface.d.ts.map +1 -0
  232. package/dist/src/selection/hit-tester.d.ts +168 -0
  233. package/dist/src/selection/hit-tester.d.ts.map +1 -0
  234. package/dist/src/selection/hit-tester.interface.d.ts +108 -0
  235. package/dist/src/selection/hit-tester.interface.d.ts.map +1 -0
  236. package/dist/src/selection/index.d.ts +9 -0
  237. package/dist/src/selection/index.d.ts.map +1 -0
  238. package/dist/src/selection/range-utils.d.ts +219 -0
  239. package/dist/src/selection/range-utils.d.ts.map +1 -0
  240. package/dist/src/selection/range-utils.interface.d.ts +51 -0
  241. package/dist/src/selection/range-utils.interface.d.ts.map +1 -0
  242. package/dist/src/styles/grid.css +356 -0
  243. package/dist/src/styles.css +273 -0
  244. package/dist/src/touch/index.d.ts +6 -0
  245. package/dist/src/touch/index.d.ts.map +1 -0
  246. package/dist/src/touch/touch-handler.d.ts +167 -0
  247. package/dist/src/touch/touch-handler.d.ts.map +1 -0
  248. package/dist/src/types/index.d.ts +133 -0
  249. package/dist/src/types/index.d.ts.map +1 -0
  250. package/dist/src/types.d.ts +559 -0
  251. package/dist/src/types.d.ts.map +1 -0
  252. 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,6 @@
1
+ /**
2
+ * Event system for ZenGrid
3
+ */
4
+ export { EventEmitter } from './event-emitter';
5
+ export type { GridEvents } from './grid-events';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Autofill components
3
+ */
4
+ export { AutofillManager } from './autofill-manager';
5
+ export type { AutofillDirection, AutofillPreview } from './autofill-manager';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}