@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,559 @@
1
+ /**
2
+ * Core types for ZenGrid
3
+ */
4
+ import type { RendererCacheConfig } from './rendering/cache';
5
+ import type { OperationMode } from '@zengrid/shared';
6
+ /**
7
+ * Column definition
8
+ */
9
+ export interface ColumnDef {
10
+ field: string;
11
+ header: string;
12
+ width?: number;
13
+ renderer?: string;
14
+ sortable?: boolean;
15
+ editable?: boolean;
16
+ filterable?: boolean;
17
+ resizable?: boolean;
18
+ minWidth?: number;
19
+ maxWidth?: number;
20
+ }
21
+ /**
22
+ * Sort icons configuration
23
+ */
24
+ export interface SortIcons {
25
+ asc?: string;
26
+ desc?: string;
27
+ }
28
+ /**
29
+ * Grid options
30
+ */
31
+ export interface GridOptions {
32
+ rowCount: number;
33
+ colCount: number;
34
+ rowHeight: number | number[];
35
+ colWidth: number | number[];
36
+ columns?: ColumnDef[];
37
+ enableSelection?: boolean;
38
+ enableMultiSelection?: boolean;
39
+ enableKeyboardNavigation?: boolean;
40
+ enableA11y?: boolean;
41
+ overscanRows?: number;
42
+ overscanCols?: number;
43
+ enableCellPooling?: boolean;
44
+ rendererCache?: RendererCacheConfig;
45
+ sortIcons?: SortIcons;
46
+ /**
47
+ * Data loading mode
48
+ * - 'frontend': All data loaded in memory (default)
49
+ * - 'backend': Data loaded on-demand via onDataRequest
50
+ * - 'auto': Use backend if onDataRequest provided, else frontend
51
+ */
52
+ dataMode?: OperationMode;
53
+ /**
54
+ * Sort mode
55
+ * - 'frontend': Sort in memory using IndexMap (default)
56
+ * - 'backend': Delegate sorting to server via onSortRequest
57
+ * - 'auto': Use backend if onSortRequest provided, else frontend
58
+ */
59
+ sortMode?: OperationMode;
60
+ /**
61
+ * Filter mode
62
+ * - 'frontend': Filter in memory (default)
63
+ * - 'backend': Delegate filtering to server via onFilterRequest
64
+ * - 'auto': Use backend if onFilterRequest provided, else frontend
65
+ */
66
+ filterMode?: OperationMode;
67
+ /**
68
+ * Backend data loading callback
69
+ * Called when dataMode is 'backend' or 'auto' (with callback present)
70
+ * Application should fetch data based on request parameters
71
+ */
72
+ onDataRequest?: (request: DataLoadRequest) => Promise<DataLoadResponse>;
73
+ /**
74
+ * Backend sorting callback
75
+ * Called when sortMode is 'backend' or 'auto' (with callback present)
76
+ * Application should fetch sorted data and call grid.setData()
77
+ */
78
+ onSortRequest?: (sortState: SortState[]) => Promise<void> | void;
79
+ /**
80
+ * Backend filtering callback
81
+ * Called when filterMode is 'backend' or 'auto' (with callback present)
82
+ * Application should fetch filtered data and call grid.setData()
83
+ *
84
+ * Receives FilterExpression which contains:
85
+ * - SQL query with parameters (if using SQL-like syntax)
86
+ * - Filter models (if using traditional approach)
87
+ *
88
+ * @example SQL-like filtering
89
+ * ```typescript
90
+ * onFilterRequest: async (filter) => {
91
+ * if (filter.type === 'sql') {
92
+ * // Backend receives: filter.sql = "age > ? AND status = ?"
93
+ * // Backend receives: filter.params = [18, 'active']
94
+ * const data = await api.get('/data', {
95
+ * filter: filter.sql,
96
+ * params: filter.params
97
+ * });
98
+ * grid.setData(data);
99
+ * }
100
+ * }
101
+ * ```
102
+ */
103
+ onFilterRequest?: (filterExpression: FilterExpression) => Promise<void> | void;
104
+ /**
105
+ * Pagination configuration
106
+ */
107
+ pagination?: PaginationConfig;
108
+ /**
109
+ * Loading indicator configuration
110
+ */
111
+ loading?: LoadingConfig;
112
+ /**
113
+ * Enable column resize feature (default: true)
114
+ */
115
+ enableColumnResize?: boolean;
116
+ /**
117
+ * Column resize configuration
118
+ */
119
+ columnResize?: {
120
+ /** Width of resize handle detection zone in pixels (default: 6) */
121
+ resizeZoneWidth?: number;
122
+ /** Default minimum width for all columns (default: 30) */
123
+ defaultMinWidth?: number;
124
+ /** Default maximum width for all columns (default: Infinity) */
125
+ defaultMaxWidth?: number;
126
+ /** Maximum rows to sample for auto-fit (default: 100) */
127
+ autoFitSampleSize?: number;
128
+ /** Padding to add to auto-fit width (default: 16) */
129
+ autoFitPadding?: number;
130
+ /** Show visual resize handles (default: true) */
131
+ showHandles?: boolean;
132
+ /** Show preview line during drag (default: true) */
133
+ showPreview?: boolean;
134
+ };
135
+ onScroll?: (scrollTop: number, scrollLeft: number) => void;
136
+ onCellClick?: (row: number, col: number) => void;
137
+ onCellDoubleClick?: (row: number, col: number) => void;
138
+ onSelectionChange?: (selection: CellRange[]) => void;
139
+ onPageChange?: (page: number, pageSize: number) => void;
140
+ onColumnWidthsChange?: (widths: number[]) => void;
141
+ }
142
+ /**
143
+ * Cell reference
144
+ */
145
+ export interface CellRef {
146
+ row: number;
147
+ col: number;
148
+ }
149
+ /**
150
+ * Cell range
151
+ */
152
+ export interface CellRange {
153
+ startRow: number;
154
+ startCol: number;
155
+ endRow: number;
156
+ endCol: number;
157
+ }
158
+ /**
159
+ * Visible range with overscan
160
+ */
161
+ export interface VisibleRange {
162
+ startRow: number;
163
+ endRow: number;
164
+ startCol: number;
165
+ endCol: number;
166
+ }
167
+ /**
168
+ * Sort direction
169
+ */
170
+ export type SortDirection = 'asc' | 'desc' | null;
171
+ /**
172
+ * Sort mode - alias for OperationMode for backward compatibility
173
+ * @deprecated Use OperationMode from @zengrid/shared instead
174
+ */
175
+ export type SortMode = OperationMode;
176
+ /**
177
+ * Sort state for a column
178
+ */
179
+ export interface SortState {
180
+ column: number;
181
+ direction: SortDirection;
182
+ sortIndex?: number;
183
+ }
184
+ /**
185
+ * Data loading request parameters
186
+ * Enhanced with field-based filter exports for backend convenience
187
+ */
188
+ export interface DataLoadRequest {
189
+ /**
190
+ * Start row index (for pagination)
191
+ */
192
+ startRow: number;
193
+ /**
194
+ * End row index (for pagination)
195
+ */
196
+ endRow: number;
197
+ /**
198
+ * Current sort state
199
+ */
200
+ sortState?: SortState[];
201
+ /**
202
+ * Current filter state (column-based - DEPRECATED)
203
+ * @deprecated Use `filter` field-based format instead
204
+ * Kept for backwards compatibility
205
+ */
206
+ filterState?: FilterModel[];
207
+ /**
208
+ * Field-based filter state (NEW - recommended)
209
+ * Uses field names instead of column indices
210
+ */
211
+ filter?: import('./features/filtering/types').FieldFilterState;
212
+ /**
213
+ * Pre-computed filter exports (NEW)
214
+ * Ready-to-use formats for backend queries
215
+ *
216
+ * @example REST
217
+ * ```typescript
218
+ * fetch(`/api/users?${request.filterExport.queryString}`)
219
+ * // => /api/users?filter[age][gt]=18
220
+ * ```
221
+ *
222
+ * @example GraphQL
223
+ * ```typescript
224
+ * graphqlClient.query({
225
+ * query: GET_USERS,
226
+ * variables: { where: request.filterExport.graphqlWhere }
227
+ * })
228
+ * ```
229
+ *
230
+ * @example SQL
231
+ * ```typescript
232
+ * db.query(
233
+ * `SELECT * FROM users WHERE ${request.filterExport.sql.whereClause}`,
234
+ * request.filterExport.sql.positionalParams
235
+ * )
236
+ * ```
237
+ */
238
+ filterExport?: {
239
+ /** REST query string (URL-encoded) */
240
+ queryString: string;
241
+ /** GraphQL where clause */
242
+ graphqlWhere: Record<string, any>;
243
+ /** SQL WHERE clause with parameters */
244
+ sql: import('./features/filtering/adapters/types').SQLFilterExport;
245
+ };
246
+ /**
247
+ * Pagination info (NEW)
248
+ */
249
+ pagination?: {
250
+ /** Current page (0-based) */
251
+ page: number;
252
+ /** Items per page */
253
+ pageSize: number;
254
+ /** Row offset (startRow) */
255
+ offset: number;
256
+ };
257
+ }
258
+ /**
259
+ * Data loading response
260
+ */
261
+ export interface DataLoadResponse {
262
+ /**
263
+ * Loaded data rows
264
+ */
265
+ data: any[][];
266
+ /**
267
+ * Total row count (for pagination)
268
+ */
269
+ totalRows: number;
270
+ /**
271
+ * Start row of loaded data
272
+ */
273
+ startRow: number;
274
+ /**
275
+ * End row of loaded data
276
+ */
277
+ endRow: number;
278
+ }
279
+ /**
280
+ * Filter operator types
281
+ */
282
+ export type FilterOperator = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'blank' | 'notBlank' | 'between' | 'in' | 'notIn' | 'regex';
283
+ /**
284
+ * Filter condition
285
+ */
286
+ export interface FilterCondition {
287
+ operator: FilterOperator;
288
+ value?: any;
289
+ }
290
+ /**
291
+ * Filter model for a column
292
+ */
293
+ export interface FilterModel {
294
+ column: number;
295
+ conditions: FilterCondition[];
296
+ logic?: 'AND' | 'OR';
297
+ }
298
+ /**
299
+ * SQL-like filter query with parameterization
300
+ * Supports cleaner syntax than FilterModel for complex queries
301
+ *
302
+ * @example
303
+ * ```typescript
304
+ * // Simple query
305
+ * { sql: "age > 18" }
306
+ *
307
+ * // Parameterized query (recommended - prevents injection)
308
+ * {
309
+ * sql: "age > :minAge AND status = :status",
310
+ * params: { minAge: 18, status: 'active' }
311
+ * }
312
+ *
313
+ * // Complex query
314
+ * {
315
+ * sql: "age BETWEEN :min AND :max AND (name LIKE :search OR email LIKE :search)",
316
+ * params: { min: 18, max: 65, search: '%john%' }
317
+ * }
318
+ * ```
319
+ */
320
+ export interface FilterQuery {
321
+ /**
322
+ * SQL-like query string
323
+ * Supported operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, BETWEEN, IN, IS NULL, IS NOT NULL
324
+ * Supported logic: AND, OR, NOT, parentheses for grouping
325
+ */
326
+ sql: string;
327
+ /**
328
+ * Named parameters for the query
329
+ * Use :paramName in sql and provide values here
330
+ * Recommended for security and readability
331
+ */
332
+ params?: Record<string, any>;
333
+ }
334
+ /**
335
+ * Parsed filter expression (internal use)
336
+ * Result of parsing FilterQuery or FilterModel
337
+ */
338
+ export interface FilterExpression {
339
+ /**
340
+ * Type of filter input
341
+ */
342
+ type: 'sql' | 'model';
343
+ /**
344
+ * Original SQL query (if type is 'sql')
345
+ */
346
+ sql?: string;
347
+ /**
348
+ * Bound parameters with values substituted
349
+ */
350
+ boundSql?: string;
351
+ /**
352
+ * Parameters array for positional binding
353
+ */
354
+ params?: any[];
355
+ /**
356
+ * Parsed filter models (if type is 'model' or converted from sql)
357
+ */
358
+ models?: FilterModel[];
359
+ }
360
+ /**
361
+ * Grid state
362
+ */
363
+ export interface GridState {
364
+ data: any[][];
365
+ selection: CellRange[];
366
+ activeCell: CellRef | null;
367
+ sortState: SortState[];
368
+ filterState: FilterModel[];
369
+ scrollPosition: {
370
+ top: number;
371
+ left: number;
372
+ };
373
+ editingCell: CellRef | null;
374
+ }
375
+ /**
376
+ * Scroll position
377
+ */
378
+ export interface ScrollPosition {
379
+ top: number;
380
+ left: number;
381
+ }
382
+ /**
383
+ * Cell position (in pixels)
384
+ */
385
+ export interface CellPosition {
386
+ x: number;
387
+ y: number;
388
+ width: number;
389
+ height: number;
390
+ }
391
+ /**
392
+ * Viewport dimensions
393
+ */
394
+ export interface ViewportDimensions {
395
+ width: number;
396
+ height: number;
397
+ }
398
+ /**
399
+ * Pagination state
400
+ */
401
+ export interface PaginationState {
402
+ /**
403
+ * Current page number (0-based)
404
+ */
405
+ currentPage: number;
406
+ /**
407
+ * Total number of pages
408
+ */
409
+ totalPages: number;
410
+ /**
411
+ * Number of rows per page
412
+ */
413
+ pageSize: number;
414
+ /**
415
+ * Total number of rows across all pages
416
+ */
417
+ totalRows: number;
418
+ /**
419
+ * Available page size options
420
+ */
421
+ pageSizeOptions: number[];
422
+ }
423
+ /**
424
+ * Pagination template type - 5 built-in styles
425
+ */
426
+ export type PaginationTemplate = 'simple' | 'material' | 'bootstrap' | 'compact' | 'full';
427
+ /**
428
+ * Pagination configuration
429
+ */
430
+ export interface PaginationConfig {
431
+ /**
432
+ * Enable pagination
433
+ * @default false
434
+ */
435
+ enabled?: boolean;
436
+ /**
437
+ * Page size (rows per page)
438
+ * @default 100
439
+ */
440
+ pageSize?: number;
441
+ /**
442
+ * Available page size options for selector
443
+ * @default [25, 50, 100, 200, 500]
444
+ */
445
+ pageSizeOptions?: number[];
446
+ /**
447
+ * Template style
448
+ * @default 'material'
449
+ */
450
+ template?: PaginationTemplate;
451
+ /**
452
+ * Custom template renderer
453
+ * If provided, overrides built-in templates
454
+ */
455
+ customTemplate?: (state: PaginationState, handlers: PaginationHandlers) => HTMLElement;
456
+ /**
457
+ * Position of pagination controls
458
+ * @default 'bottom'
459
+ */
460
+ position?: 'top' | 'bottom' | 'both';
461
+ /**
462
+ * Show page size selector
463
+ * @default true
464
+ */
465
+ showPageSizeSelector?: boolean;
466
+ /**
467
+ * Show total count
468
+ * @default true
469
+ */
470
+ showTotalCount?: boolean;
471
+ /**
472
+ * Show page info (e.g., "Showing 1-100 of 1000")
473
+ * @default true
474
+ */
475
+ showPageInfo?: boolean;
476
+ /**
477
+ * Maximum number of page buttons to show
478
+ * @default 7
479
+ */
480
+ maxPageButtons?: number;
481
+ }
482
+ /**
483
+ * Pagination event handlers
484
+ */
485
+ export interface PaginationHandlers {
486
+ onPageChange: (page: number) => void;
487
+ onPageSizeChange: (pageSize: number) => void;
488
+ onFirstPage: () => void;
489
+ onLastPage: () => void;
490
+ onNextPage: () => void;
491
+ onPreviousPage: () => void;
492
+ }
493
+ /**
494
+ * Loading indicator template type - 4 built-in styles
495
+ */
496
+ export type LoadingTemplate = 'simple' | 'animated' | 'modern' | 'skeleton';
497
+ /**
498
+ * Loading indicator state
499
+ */
500
+ export interface LoadingState {
501
+ /**
502
+ * Whether data is currently loading
503
+ */
504
+ isLoading: boolean;
505
+ /**
506
+ * Loading message to display
507
+ */
508
+ message?: string;
509
+ /**
510
+ * Loading progress (0-100) for progress bar
511
+ */
512
+ progress?: number;
513
+ }
514
+ /**
515
+ * Loading indicator configuration
516
+ */
517
+ export interface LoadingConfig {
518
+ /**
519
+ * Enable loading indicator
520
+ * @default true
521
+ */
522
+ enabled?: boolean;
523
+ /**
524
+ * Template style
525
+ * @default 'modern'
526
+ */
527
+ template?: LoadingTemplate;
528
+ /**
529
+ * Custom template renderer
530
+ * If provided, overrides built-in templates
531
+ */
532
+ customTemplate?: (state: LoadingState) => HTMLElement;
533
+ /**
534
+ * Loading message
535
+ * @default 'Loading...'
536
+ */
537
+ message?: string;
538
+ /**
539
+ * Minimum display time in ms (prevents flash for fast loads)
540
+ * @default 300
541
+ */
542
+ minDisplayTime?: number;
543
+ /**
544
+ * Position of loading indicator
545
+ * @default 'center'
546
+ */
547
+ position?: 'top' | 'center' | 'bottom';
548
+ /**
549
+ * Show overlay behind loading indicator
550
+ * @default true
551
+ */
552
+ showOverlay?: boolean;
553
+ /**
554
+ * Overlay opacity (0-1)
555
+ * @default 0.5
556
+ */
557
+ overlayOpacity?: number;
558
+ }
559
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/core/src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@zengrid/core",
3
+ "version": "1.0.1",
4
+ "description": "High-performance data grid library with 14 advanced data structures and virtual scrolling",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.esm.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.cjs"
13
+ },
14
+ "./styles/*": "./dist/src/*"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "keywords": [
21
+ "grid",
22
+ "data-grid",
23
+ "table",
24
+ "spreadsheet",
25
+ "virtual-scroll",
26
+ "datagrid",
27
+ "angular",
28
+ "react",
29
+ "vue"
30
+ ],
31
+ "author": "ZenGrid Team",
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/zengrid-dev/zengrid.git",
36
+ "directory": "packages/core"
37
+ },
38
+ "bugs": {
39
+ "url": "https://github.com/zengrid-dev/zengrid/issues"
40
+ },
41
+ "homepage": "https://github.com/zengrid-dev/zengrid#readme",
42
+ "dependencies": {
43
+ "@zengrid/shared": "^1.0.1"
44
+ },
45
+ "peerDependencies": {},
46
+ "devDependencies": {}
47
+ }