@zengrid/core 1.1.0 → 1.2.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 (283) hide show
  1. package/dist/index.cjs.js +19925 -16577
  2. package/dist/index.esm.js +19899 -16577
  3. package/dist/package.json +5 -2
  4. package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -1
  5. package/dist/src/data/data-manager.d.ts +5 -7
  6. package/dist/src/data/data-manager.d.ts.map +1 -1
  7. package/dist/src/datetime-core/popup/popup-manager.d.ts +4 -12
  8. package/dist/src/datetime-core/popup/popup-manager.d.ts.map +1 -1
  9. package/dist/src/editing/datetime/date-editor/date-editor.d.ts +1 -0
  10. package/dist/src/editing/datetime/date-editor/date-editor.d.ts.map +1 -1
  11. package/dist/src/editing/datetime/date-range-editor/date-range-calendar.d.ts.map +1 -1
  12. package/dist/src/editing/datetime/date-range-editor/date-range-dom.d.ts.map +1 -1
  13. package/dist/src/editing/datetime/date-range-editor/date-range-validation.d.ts.map +1 -1
  14. package/dist/src/editing/datetime/date-range-editor/types.d.ts +0 -3
  15. package/dist/src/editing/datetime/date-range-editor/types.d.ts.map +1 -1
  16. package/dist/src/events/grid-events.d.ts +4 -0
  17. package/dist/src/events/grid-events.d.ts.map +1 -1
  18. package/dist/src/features/column-drag/column-drag.styles.css +8 -18
  19. package/dist/src/features/column-drag/drop-zone-detector.d.ts.map +1 -1
  20. package/dist/src/features/column-resize/column-resize.styles.css +5 -4
  21. package/dist/src/features/column-resize/programmatic-operations.d.ts +1 -1
  22. package/dist/src/features/column-resize/programmatic-operations.d.ts.map +1 -1
  23. package/dist/src/features/filtering/filter-ast-compiler.d.ts +30 -0
  24. package/dist/src/features/filtering/filter-ast-compiler.d.ts.map +1 -0
  25. package/dist/src/features/filtering/filter-ast.d.ts +39 -0
  26. package/dist/src/features/filtering/filter-ast.d.ts.map +1 -0
  27. package/dist/src/features/filtering/filter-export-manager.d.ts +0 -8
  28. package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -1
  29. package/dist/src/features/filtering/filter-expression.d.ts +15 -0
  30. package/dist/src/features/filtering/filter-expression.d.ts.map +1 -0
  31. package/dist/src/features/filtering/filter-manager/filter-core.d.ts +63 -11
  32. package/dist/src/features/filtering/filter-manager/filter-core.d.ts.map +1 -1
  33. package/dist/src/features/filtering/filter-manager/filter-export.d.ts +3 -49
  34. package/dist/src/features/filtering/filter-manager/filter-export.d.ts.map +1 -1
  35. package/dist/src/features/filtering/filter-manager/filter-optimizer.d.ts.map +1 -1
  36. package/dist/src/features/filtering/filter-manager/filter-query.d.ts +14 -48
  37. package/dist/src/features/filtering/filter-manager/filter-query.d.ts.map +1 -1
  38. package/dist/src/features/filtering/filter-manager/index.d.ts +11 -129
  39. package/dist/src/features/filtering/filter-manager/index.d.ts.map +1 -1
  40. package/dist/src/features/filtering/filter-manager/types.d.ts +0 -11
  41. package/dist/src/features/filtering/filter-manager/types.d.ts.map +1 -1
  42. package/dist/src/features/filtering/filter-query-parser.d.ts +10 -50
  43. package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -1
  44. package/dist/src/features/filtering/index.d.ts +3 -0
  45. package/dist/src/features/filtering/index.d.ts.map +1 -1
  46. package/dist/src/features/loading/loading.styles.css +19 -90
  47. package/dist/src/features/pagination/pagination.styles.css +34 -74
  48. package/dist/src/features/query/query-state.d.ts +12 -0
  49. package/dist/src/features/query/query-state.d.ts.map +1 -0
  50. package/dist/src/features/sorting/sort-manager.d.ts +9 -23
  51. package/dist/src/features/sorting/sort-manager.d.ts.map +1 -1
  52. package/dist/src/features/sorting/sort-request.d.ts +5 -0
  53. package/dist/src/features/sorting/sort-request.d.ts.map +1 -0
  54. package/dist/src/grid/api/column-api.d.ts +23 -0
  55. package/dist/src/grid/api/column-api.d.ts.map +1 -0
  56. package/dist/src/grid/api/export-api.d.ts +9 -0
  57. package/dist/src/grid/api/export-api.d.ts.map +1 -0
  58. package/dist/src/grid/api/filter-api.d.ts +28 -0
  59. package/dist/src/grid/api/filter-api.d.ts.map +1 -0
  60. package/dist/src/grid/api/index.d.ts +15 -0
  61. package/dist/src/grid/api/index.d.ts.map +1 -0
  62. package/dist/src/grid/api/pagination-api.d.ts +14 -0
  63. package/dist/src/grid/api/pagination-api.d.ts.map +1 -0
  64. package/dist/src/grid/api/scroll-api.d.ts +26 -0
  65. package/dist/src/grid/api/scroll-api.d.ts.map +1 -0
  66. package/dist/src/grid/api/sort-api.d.ts +17 -0
  67. package/dist/src/grid/api/sort-api.d.ts.map +1 -0
  68. package/dist/src/grid/api/state-api.d.ts +10 -0
  69. package/dist/src/grid/api/state-api.d.ts.map +1 -0
  70. package/dist/src/grid/filter-ui.d.ts +34 -5
  71. package/dist/src/grid/filter-ui.d.ts.map +1 -1
  72. package/dist/src/grid/grid-api.d.ts +0 -3
  73. package/dist/src/grid/grid-api.d.ts.map +1 -1
  74. package/dist/src/grid/grid-context.d.ts +5 -29
  75. package/dist/src/grid/grid-context.d.ts.map +1 -1
  76. package/dist/src/grid/grid-core.d.ts +92 -95
  77. package/dist/src/grid/grid-core.d.ts.map +1 -1
  78. package/dist/src/grid/grid-setup.d.ts +3 -3
  79. package/dist/src/grid/grid-setup.d.ts.map +1 -1
  80. package/dist/src/grid/grid-theme-methods.d.ts +17 -0
  81. package/dist/src/grid/grid-theme-methods.d.ts.map +1 -0
  82. package/dist/src/grid/index.d.ts +5 -10
  83. package/dist/src/grid/index.d.ts.map +1 -1
  84. package/dist/src/index.d.ts +21 -3
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/overlay/index.d.ts +2 -0
  87. package/dist/src/overlay/index.d.ts.map +1 -0
  88. package/dist/src/overlay/overlay-manager.d.ts +46 -0
  89. package/dist/src/overlay/overlay-manager.d.ts.map +1 -0
  90. package/dist/src/plugins/async-filter-plugin.d.ts.map +1 -1
  91. package/dist/src/plugins/async-sort-plugin.d.ts.map +1 -1
  92. package/dist/src/plugins/column/column-plugin.d.ts +18 -0
  93. package/dist/src/plugins/column/column-plugin.d.ts.map +1 -0
  94. package/dist/src/{grid → plugins/column}/grid-state.d.ts +2 -2
  95. package/dist/src/plugins/column/grid-state.d.ts.map +1 -0
  96. package/dist/src/plugins/column/index.d.ts +3 -0
  97. package/dist/src/plugins/column/index.d.ts.map +1 -0
  98. package/dist/src/plugins/data-plugin.d.ts +14 -0
  99. package/dist/src/plugins/data-plugin.d.ts.map +1 -0
  100. package/dist/src/plugins/dom/dom-plugin.d.ts +14 -0
  101. package/dist/src/plugins/dom/dom-plugin.d.ts.map +1 -0
  102. package/dist/src/plugins/dom/index.d.ts +3 -0
  103. package/dist/src/plugins/dom/index.d.ts.map +1 -0
  104. package/dist/src/plugins/editing/editing-plugin.d.ts +11 -12
  105. package/dist/src/plugins/editing/editing-plugin.d.ts.map +1 -1
  106. package/dist/src/plugins/filter-plugin.d.ts +1 -1
  107. package/dist/src/plugins/filter-plugin.d.ts.map +1 -1
  108. package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts +1 -0
  109. package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts.map +1 -1
  110. package/dist/src/{grid → plugins/header}/header-dom-operations.d.ts +3 -3
  111. package/dist/src/plugins/header/header-dom-operations.d.ts.map +1 -0
  112. package/dist/src/{grid → plugins/header}/header-event-handlers.d.ts +3 -3
  113. package/dist/src/plugins/header/header-event-handlers.d.ts.map +1 -0
  114. package/dist/src/plugins/header/header-plugin.d.ts +18 -0
  115. package/dist/src/plugins/header/header-plugin.d.ts.map +1 -0
  116. package/dist/src/{grid → plugins/header}/header-reactive-subscription.d.ts +1 -1
  117. package/dist/src/plugins/header/header-reactive-subscription.d.ts.map +1 -0
  118. package/dist/src/{grid → plugins/header}/header-registry-setup.d.ts +1 -1
  119. package/dist/src/plugins/header/header-registry-setup.d.ts.map +1 -0
  120. package/dist/src/{grid → plugins/header}/header-render-params.d.ts +4 -4
  121. package/dist/src/plugins/header/header-render-params.d.ts.map +1 -0
  122. package/dist/src/{grid → plugins/header}/header-rendering.d.ts +2 -2
  123. package/dist/src/plugins/header/header-rendering.d.ts.map +1 -0
  124. package/dist/src/{grid → plugins/header}/header-types.d.ts +5 -5
  125. package/dist/src/plugins/header/header-types.d.ts.map +1 -0
  126. package/dist/src/plugins/header/index.d.ts +3 -0
  127. package/dist/src/plugins/header/index.d.ts.map +1 -0
  128. package/dist/src/plugins/index.d.ts +14 -1
  129. package/dist/src/plugins/index.d.ts.map +1 -1
  130. package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts +4 -2
  131. package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts.map +1 -1
  132. package/dist/src/plugins/legacy-bridge/devtools-connector.d.ts.map +1 -1
  133. package/dist/src/plugins/legacy-bridge/index.d.ts +0 -1
  134. package/dist/src/plugins/legacy-bridge/index.d.ts.map +1 -1
  135. package/dist/src/plugins/lifecycle/index.d.ts +3 -0
  136. package/dist/src/plugins/lifecycle/index.d.ts.map +1 -0
  137. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts +19 -0
  138. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts.map +1 -0
  139. package/dist/src/plugins/pagination/index.d.ts +3 -0
  140. package/dist/src/plugins/pagination/index.d.ts.map +1 -0
  141. package/dist/src/plugins/pagination/pagination-plugin.d.ts +13 -0
  142. package/dist/src/plugins/pagination/pagination-plugin.d.ts.map +1 -0
  143. package/dist/src/plugins/rendering/index.d.ts +3 -0
  144. package/dist/src/plugins/rendering/index.d.ts.map +1 -0
  145. package/dist/src/plugins/rendering/rendering-plugin.d.ts +22 -0
  146. package/dist/src/plugins/rendering/rendering-plugin.d.ts.map +1 -0
  147. package/dist/src/plugins/resize/resize-plugin.d.ts.map +1 -1
  148. package/dist/src/plugins/scroll/scroll-plugin.d.ts.map +1 -1
  149. package/dist/src/plugins/selection/selection-plugin.d.ts.map +1 -1
  150. package/dist/src/plugins/sort-plugin.d.ts +3 -2
  151. package/dist/src/plugins/sort-plugin.d.ts.map +1 -1
  152. package/dist/src/reactive/debug.d.ts +3 -0
  153. package/dist/src/reactive/debug.d.ts.map +1 -1
  154. package/dist/src/reactive/store.d.ts +3 -1
  155. package/dist/src/reactive/store.d.ts.map +1 -1
  156. package/dist/src/reactive/types.d.ts +5 -2
  157. package/dist/src/reactive/types.d.ts.map +1 -1
  158. package/dist/src/rendering/cache/renderer-cache.d.ts +4 -0
  159. package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -1
  160. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +5 -0
  161. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -1
  162. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +9 -0
  163. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -1
  164. package/dist/src/rendering/headers/renderers/filterable-header-renderer.d.ts.map +1 -1
  165. package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts +4 -1
  166. package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts.map +1 -1
  167. package/dist/src/rendering/renderers/button/button-renderer.d.ts.map +1 -1
  168. package/dist/src/rendering/renderers/chip/chip-renderer.d.ts.map +1 -1
  169. package/dist/src/rendering/renderers/date-range/date-range-renderer.d.ts.map +1 -1
  170. package/dist/src/rendering/renderers/datetime/date-renderer.d.ts.map +1 -1
  171. package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts +1 -1
  172. package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts.map +1 -1
  173. package/dist/src/rendering/renderers/dropdown/dropdown-events.d.ts.map +1 -1
  174. package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts.map +1 -1
  175. package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts +10 -6
  176. package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts.map +1 -1
  177. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +4 -0
  178. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -1
  179. package/dist/src/rendering/width-provider/column-model-width-provider.d.ts +6 -7
  180. package/dist/src/rendering/width-provider/column-model-width-provider.d.ts.map +1 -1
  181. package/dist/src/styles/grid.css +362 -362
  182. package/dist/src/styles.css +183 -45
  183. package/dist/src/theming/color-utils.d.ts +10 -0
  184. package/dist/src/theming/color-utils.d.ts.map +1 -0
  185. package/dist/src/theming/index.d.ts +10 -0
  186. package/dist/src/theming/index.d.ts.map +1 -0
  187. package/dist/src/theming/theme-builder.d.ts +46 -0
  188. package/dist/src/theming/theme-builder.d.ts.map +1 -0
  189. package/dist/src/theming/theme-manager.d.ts +11 -0
  190. package/dist/src/theming/theme-manager.d.ts.map +1 -0
  191. package/dist/src/theming/theme-registry.d.ts +17 -0
  192. package/dist/src/theming/theme-registry.d.ts.map +1 -0
  193. package/dist/src/theming/theme.interface.d.ts +88 -0
  194. package/dist/src/theming/theme.interface.d.ts.map +1 -0
  195. package/dist/src/theming/themes/dark.d.ts +3 -0
  196. package/dist/src/theming/themes/dark.d.ts.map +1 -0
  197. package/dist/src/theming/themes/dracula.d.ts +3 -0
  198. package/dist/src/theming/themes/dracula.d.ts.map +1 -0
  199. package/dist/src/theming/themes/github.d.ts +3 -0
  200. package/dist/src/theming/themes/github.d.ts.map +1 -0
  201. package/dist/src/theming/themes/index.d.ts +14 -0
  202. package/dist/src/theming/themes/index.d.ts.map +1 -0
  203. package/dist/src/theming/themes/light.d.ts +3 -0
  204. package/dist/src/theming/themes/light.d.ts.map +1 -0
  205. package/dist/src/theming/themes/material.d.ts +3 -0
  206. package/dist/src/theming/themes/material.d.ts.map +1 -0
  207. package/dist/src/theming/themes/nord.d.ts +3 -0
  208. package/dist/src/theming/themes/nord.d.ts.map +1 -0
  209. package/dist/src/theming/themes/one-dark.d.ts +3 -0
  210. package/dist/src/theming/themes/one-dark.d.ts.map +1 -0
  211. package/dist/src/theming/themes/solarized.d.ts +3 -0
  212. package/dist/src/theming/themes/solarized.d.ts.map +1 -0
  213. package/dist/src/types/data.d.ts +34 -60
  214. package/dist/src/types/data.d.ts.map +1 -1
  215. package/dist/src/types/filter.d.ts +107 -35
  216. package/dist/src/types/filter.d.ts.map +1 -1
  217. package/dist/src/types/grid.d.ts +11 -46
  218. package/dist/src/types/grid.d.ts.map +1 -1
  219. package/dist/src/types/index.d.ts +1 -0
  220. package/dist/src/types/index.d.ts.map +1 -1
  221. package/dist/src/types/query.d.ts +64 -0
  222. package/dist/src/types/query.d.ts.map +1 -0
  223. package/dist/src/types/sort.d.ts +9 -6
  224. package/dist/src/types/sort.d.ts.map +1 -1
  225. package/package.json +7 -4
  226. package/dist/src/editing/date-range/calendar-manager.d.ts +0 -17
  227. package/dist/src/editing/date-range/calendar-manager.d.ts.map +0 -1
  228. package/dist/src/editing/date-range/event-handlers.d.ts +0 -30
  229. package/dist/src/editing/date-range/event-handlers.d.ts.map +0 -1
  230. package/dist/src/editing/date-range/formatters.d.ts +0 -26
  231. package/dist/src/editing/date-range/formatters.d.ts.map +0 -1
  232. package/dist/src/editing/date-range/positioning.d.ts +0 -14
  233. package/dist/src/editing/date-range/positioning.d.ts.map +0 -1
  234. package/dist/src/editing/date-range/types.d.ts +0 -41
  235. package/dist/src/editing/date-range/types.d.ts.map +0 -1
  236. package/dist/src/editing/date-range/ui-builder.d.ts +0 -33
  237. package/dist/src/editing/date-range/ui-builder.d.ts.map +0 -1
  238. package/dist/src/editing/date-range/validator.d.ts +0 -7
  239. package/dist/src/editing/date-range/validator.d.ts.map +0 -1
  240. package/dist/src/grid/data.d.ts +0 -74
  241. package/dist/src/grid/data.d.ts.map +0 -1
  242. package/dist/src/grid/dom.d.ts +0 -37
  243. package/dist/src/grid/dom.d.ts.map +0 -1
  244. package/dist/src/grid/drag.d.ts +0 -50
  245. package/dist/src/grid/drag.d.ts.map +0 -1
  246. package/dist/src/grid/grid-column-methods.d.ts +0 -37
  247. package/dist/src/grid/grid-column-methods.d.ts.map +0 -1
  248. package/dist/src/grid/grid-editing.d.ts +0 -43
  249. package/dist/src/grid/grid-editing.d.ts.map +0 -1
  250. package/dist/src/grid/grid-filter-methods.d.ts +0 -24
  251. package/dist/src/grid/grid-filter-methods.d.ts.map +0 -1
  252. package/dist/src/grid/grid-header-methods.d.ts +0 -10
  253. package/dist/src/grid/grid-header-methods.d.ts.map +0 -1
  254. package/dist/src/grid/grid-lifecycle.d.ts +0 -10
  255. package/dist/src/grid/grid-lifecycle.d.ts.map +0 -1
  256. package/dist/src/grid/grid-sort-methods.d.ts +0 -17
  257. package/dist/src/grid/grid-sort-methods.d.ts.map +0 -1
  258. package/dist/src/grid/grid-state.d.ts.map +0 -1
  259. package/dist/src/grid/grid-wiring.d.ts +0 -11
  260. package/dist/src/grid/grid-wiring.d.ts.map +0 -1
  261. package/dist/src/grid/header-dom-operations.d.ts.map +0 -1
  262. package/dist/src/grid/header-event-handlers.d.ts.map +0 -1
  263. package/dist/src/grid/header-manager.d.ts +0 -119
  264. package/dist/src/grid/header-manager.d.ts.map +0 -1
  265. package/dist/src/grid/header-reactive-subscription.d.ts.map +0 -1
  266. package/dist/src/grid/header-registry-setup.d.ts.map +0 -1
  267. package/dist/src/grid/header-render-params.d.ts.map +0 -1
  268. package/dist/src/grid/header-rendering.d.ts.map +0 -1
  269. package/dist/src/grid/header-types.d.ts.map +0 -1
  270. package/dist/src/grid/init.d.ts +0 -56
  271. package/dist/src/grid/init.d.ts.map +0 -1
  272. package/dist/src/grid/pagination.d.ts +0 -63
  273. package/dist/src/grid/pagination.d.ts.map +0 -1
  274. package/dist/src/grid/resize.d.ts +0 -87
  275. package/dist/src/grid/resize.d.ts.map +0 -1
  276. package/dist/src/grid/scroll.d.ts +0 -86
  277. package/dist/src/grid/scroll.d.ts.map +0 -1
  278. package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts +0 -3
  279. package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts.map +0 -1
  280. package/dist/src/rendering/renderers/date/date-renderer.d.ts +0 -156
  281. package/dist/src/rendering/renderers/date/date-renderer.d.ts.map +0 -1
  282. package/dist/src/rendering/renderers/date/index.d.ts +0 -3
  283. package/dist/src/rendering/renderers/date/index.d.ts.map +0 -1
@@ -1,81 +1,31 @@
1
1
  /**
2
2
  * Data loading request/response types
3
3
  */
4
- import type { SortState } from './sort';
5
- import type { FilterModel } from './filter';
4
+ import type { QueryState } from './query';
6
5
  /**
7
- * Data loading request parameters
8
- * Enhanced with field-based filter exports for backend convenience
6
+ * Data loading request parameters.
9
7
  */
10
8
  export interface DataLoadRequest {
11
9
  /**
12
- * Start row index (for pagination)
10
+ * Start row index of the requested window.
13
11
  */
14
12
  startRow: number;
15
13
  /**
16
- * End row index (for pagination)
14
+ * End row index of the requested window.
17
15
  */
18
16
  endRow: number;
19
17
  /**
20
- * Current sort state
18
+ * Monotonic identifier for this request lifecycle.
21
19
  */
22
- sortState?: SortState[];
20
+ requestId?: number;
23
21
  /**
24
- * Current filter state (column-based - DEPRECATED)
25
- * @deprecated Use `filter` field-based format instead
26
- * Kept for backwards compatibility
22
+ * Abort signal for cancellation-aware backends.
27
23
  */
28
- filterState?: FilterModel[];
24
+ signal?: AbortSignal;
29
25
  /**
30
- * Field-based filter state (NEW - recommended)
31
- * Uses field names instead of column indices
26
+ * Canonical query envelope for filter, sort, and pagination state.
32
27
  */
33
- filter?: import('../features/filtering/types').FieldFilterState;
34
- /**
35
- * Pre-computed filter exports (NEW)
36
- * Ready-to-use formats for backend queries
37
- *
38
- * @example REST
39
- * ```typescript
40
- * fetch(`/api/users?${request.filterExport.queryString}`)
41
- * // => /api/users?filter[age][gt]=18
42
- * ```
43
- *
44
- * @example GraphQL
45
- * ```typescript
46
- * graphqlClient.query({
47
- * query: GET_USERS,
48
- * variables: { where: request.filterExport.graphqlWhere }
49
- * })
50
- * ```
51
- *
52
- * @example SQL
53
- * ```typescript
54
- * db.query(
55
- * `SELECT * FROM users WHERE ${request.filterExport.sql.whereClause}`,
56
- * request.filterExport.sql.positionalParams
57
- * )
58
- * ```
59
- */
60
- filterExport?: {
61
- /** REST query string (URL-encoded) */
62
- queryString: string;
63
- /** GraphQL where clause */
64
- graphqlWhere: Record<string, any>;
65
- /** SQL WHERE clause with parameters */
66
- sql: import('../features/filtering/adapters/types').SQLFilterExport;
67
- };
68
- /**
69
- * Pagination info (NEW)
70
- */
71
- pagination?: {
72
- /** Current page (0-based) */
73
- page: number;
74
- /** Items per page */
75
- pageSize: number;
76
- /** Row offset (startRow) */
77
- offset: number;
78
- };
28
+ query: QueryState;
79
29
  }
80
30
  /**
81
31
  * Data loading response
@@ -98,4 +48,28 @@ export interface DataLoadResponse {
98
48
  */
99
49
  endRow: number;
100
50
  }
51
+ /**
52
+ * Backend data request lifecycle state
53
+ */
54
+ export interface DataRequestState {
55
+ /** Resolved data mode */
56
+ mode: 'frontend' | 'backend';
57
+ /** Current request status */
58
+ status: 'idle' | 'loading' | 'success' | 'empty' | 'error';
59
+ /** Whether a backend request is currently in flight */
60
+ isLoading: boolean;
61
+ /** Last request error, if any */
62
+ error: Error | null;
63
+ /** Last request sent to the backend */
64
+ lastRequest: DataLoadRequest | null;
65
+ /** Last successfully loaded row window */
66
+ lastLoadedRange: {
67
+ startRow: number;
68
+ endRow: number;
69
+ } | null;
70
+ /** Latest known total row count */
71
+ totalRows: number;
72
+ /** Whether retry is currently possible */
73
+ canRetry: boolean;
74
+ }
101
75
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAE5B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,6BAA6B,EAAE,gBAAgB,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YAAY,CAAC,EAAE;QACb,sCAAsC;QACtC,WAAW,EAAE,MAAM,CAAC;QACpB,2BAA2B;QAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,uCAAuC;QACvC,GAAG,EAAE,OAAO,sCAAsC,EAAE,eAAe,CAAC;KACrE,CAAC;IAEF;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,6BAA6B;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,qBAAqB;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,4BAA4B;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/types/data.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;IAEd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAE7B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAE3D,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IAEnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IAEpC,0CAA0C;IAC1C,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI,CAAC;IAET,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Filter types
3
3
  */
4
+ import type { FilterExportResult } from '../features/filtering/adapters/types';
5
+ import type { FieldFilterState, StandardFilterOperator } from '../features/filtering/types';
4
6
  /**
5
7
  * Filter operator types
6
8
  */
@@ -20,66 +22,136 @@ export interface FilterModel {
20
22
  conditions: FilterCondition[];
21
23
  logic?: 'AND' | 'OR';
22
24
  }
25
+ /**
26
+ * Quick filter state shared across frontend/backend request paths
27
+ */
28
+ export interface FilterQuickState {
29
+ query: string;
30
+ columns: number[] | null;
31
+ }
23
32
  /**
24
33
  * SQL-like filter query with parameterization
25
34
  * Supports cleaner syntax than FilterModel for complex queries
26
- *
27
- * @example
28
- * ```typescript
29
- * // Simple query
30
- * { sql: "age > 18" }
31
- *
32
- * // Parameterized query (recommended - prevents injection)
33
- * {
34
- * sql: "age > :minAge AND status = :status",
35
- * params: { minAge: 18, status: 'active' }
36
- * }
37
- *
38
- * // Complex query
39
- * {
40
- * sql: "age BETWEEN :min AND :max AND (name LIKE :search OR email LIKE :search)",
41
- * params: { min: 18, max: 65, search: '%john%' }
42
- * }
43
- * ```
44
35
  */
45
36
  export interface FilterQuery {
46
- /**
47
- * SQL-like query string
48
- * Supported operators: =, !=, <, >, <=, >=, LIKE, NOT LIKE, BETWEEN, IN, IS NULL, IS NOT NULL
49
- * Supported logic: AND, OR, NOT, parentheses for grouping
50
- */
51
37
  sql: string;
52
- /**
53
- * Named parameters for the query
54
- * Use :paramName in sql and provide values here
55
- * Recommended for security and readability
56
- */
57
38
  params?: Record<string, any>;
58
39
  }
59
40
  /**
60
- * Parsed filter expression (internal use)
61
- * Result of parsing FilterQuery or FilterModel
41
+ * Canonical value classification for AST predicates.
42
+ */
43
+ export type FilterValueType = 'text' | 'number' | 'date' | 'boolean' | 'enum' | 'custom' | 'unknown';
44
+ /**
45
+ * Shared target reference for AST predicates and search nodes.
46
+ *
47
+ * The long-term canonical key is `field`, but `column` remains available
48
+ * for compatibility with existing index-based APIs.
49
+ */
50
+ export interface FilterAstTarget {
51
+ field?: string;
52
+ column?: number;
53
+ columnId?: string;
54
+ }
55
+ /**
56
+ * Base metadata shared across AST nodes.
57
+ */
58
+ export interface FilterAstBaseNode {
59
+ source?: 'model' | 'field' | 'quickFilter' | 'sql' | 'api';
60
+ }
61
+ /**
62
+ * Group node for boolean composition.
63
+ */
64
+ export interface FilterAstGroupNode extends FilterAstBaseNode {
65
+ kind: 'group';
66
+ logic: 'AND' | 'OR';
67
+ children: FilterAstNode[];
68
+ }
69
+ /**
70
+ * Predicate node for field/column constraints.
71
+ */
72
+ export interface FilterAstPredicateNode extends FilterAstBaseNode {
73
+ kind: 'predicate';
74
+ target: FilterAstTarget;
75
+ operator: StandardFilterOperator | string;
76
+ value?: any;
77
+ valueTo?: any;
78
+ valueType?: FilterValueType;
79
+ sourceOperator?: FilterOperator | string;
80
+ }
81
+ /**
82
+ * Search node for global or scoped quick-filter semantics.
83
+ */
84
+ export interface FilterAstSearchNode extends FilterAstBaseNode {
85
+ kind: 'search';
86
+ query: string;
87
+ targets?: FilterAstTarget[] | null;
88
+ }
89
+ /**
90
+ * NOT node for future advanced filtering support.
91
+ */
92
+ export interface FilterAstNotNode extends FilterAstBaseNode {
93
+ kind: 'not';
94
+ child: FilterAstNode;
95
+ }
96
+ /**
97
+ * Compatibility node used while SQL-like input is still accepted.
98
+ */
99
+ export interface FilterAstSqlNode extends FilterAstBaseNode {
100
+ kind: 'sql';
101
+ sql: string;
102
+ boundSql?: string;
103
+ params?: any[];
104
+ }
105
+ /**
106
+ * Filter AST node union.
107
+ */
108
+ export type FilterAstNode = FilterAstGroupNode | FilterAstPredicateNode | FilterAstSearchNode | FilterAstNotNode | FilterAstSqlNode;
109
+ /**
110
+ * Canonical filter AST envelope.
111
+ */
112
+ export interface FilterAst {
113
+ version: 1;
114
+ root: FilterAstGroupNode | null;
115
+ }
116
+ /**
117
+ * Parsed filter expression shared by backend callbacks and backend data requests.
62
118
  */
63
119
  export interface FilterExpression {
64
120
  /**
65
- * Type of filter input
121
+ * Canonical typed filter AST.
122
+ */
123
+ ast?: FilterAst | null;
124
+ /**
125
+ * Type of filter input.
66
126
  */
67
127
  type: 'sql' | 'model';
68
128
  /**
69
- * Original SQL query (if type is 'sql')
129
+ * Original SQL query (if type is 'sql').
70
130
  */
71
131
  sql?: string;
72
132
  /**
73
- * Bound parameters with values substituted
133
+ * Bound SQL converted to positional placeholders (if type is 'sql').
74
134
  */
75
135
  boundSql?: string;
76
136
  /**
77
- * Parameters array for positional binding
137
+ * Parameters array for positional binding.
78
138
  */
79
139
  params?: any[];
80
140
  /**
81
- * Parsed filter models (if type is 'model' or converted from sql)
141
+ * Column-based filter models.
82
142
  */
83
143
  models?: FilterModel[];
144
+ /**
145
+ * Quick filter state applied alongside column filters.
146
+ */
147
+ quickFilter?: FilterQuickState;
148
+ /**
149
+ * Field-based filter state for backend-friendly consumption.
150
+ */
151
+ fieldState?: FieldFilterState | null;
152
+ /**
153
+ * Pre-computed backend exports (REST / GraphQL / SQL).
154
+ */
155
+ filterExport?: FilterExportResult | null;
84
156
  }
85
157
  //# sourceMappingURL=filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/types/filter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,aAAa,GACb,UAAU,GACV,oBAAoB,GACpB,iBAAiB,GACjB,OAAO,GACP,UAAU,GACV,SAAS,GACT,IAAI,GACJ,OAAO,GACP,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAEtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/types/filter.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@ import type { OperationMode } from '@zengrid/shared';
6
6
  import type { CellRef, CellRange } from './cell';
7
7
  import type { ColumnDef, SortIcons } from './column';
8
8
  import type { SortState } from './sort';
9
- import type { FilterModel, FilterExpression } from './filter';
9
+ import type { FilterModel } from './filter';
10
10
  import type { DataLoadRequest, DataLoadResponse } from './data';
11
11
  import type { PaginationConfig } from './pagination';
12
12
  import type { LoadingConfig } from './loading';
13
+ import type { ZenGridTheme } from '../theming/theme.interface';
13
14
  /**
14
15
  * Grid options
15
16
  */
@@ -19,6 +20,15 @@ export interface GridOptions {
19
20
  rowHeight: number | number[];
20
21
  colWidth: number | number[];
21
22
  columns?: ColumnDef[];
23
+ /**
24
+ * Theme to apply - a theme ID string (e.g. 'dark', 'material') or a full ZenGridTheme object
25
+ */
26
+ theme?: string | ZenGridTheme;
27
+ /**
28
+ * Automatically switch between light/dark themes based on prefers-color-scheme
29
+ * When enabled, uses 'light' theme for light mode and 'dark' theme for dark mode
30
+ */
31
+ autoTheme?: boolean;
22
32
  enableSelection?: boolean;
23
33
  enableMultiSelection?: boolean;
24
34
  /**
@@ -42,57 +52,12 @@ export interface GridOptions {
42
52
  * - 'auto': Use backend if onDataRequest provided, else frontend
43
53
  */
44
54
  dataMode?: OperationMode;
45
- /**
46
- * Sort mode
47
- * - 'frontend': Sort in memory using IndexMap (default)
48
- * - 'backend': Delegate sorting to server via onSortRequest
49
- * - 'auto': Use backend if onSortRequest provided, else frontend
50
- */
51
- sortMode?: OperationMode;
52
- /**
53
- * Filter mode
54
- * - 'frontend': Filter in memory (default)
55
- * - 'backend': Delegate filtering to server via onFilterRequest
56
- * - 'auto': Use backend if onFilterRequest provided, else frontend
57
- */
58
- filterMode?: OperationMode;
59
55
  /**
60
56
  * Backend data loading callback
61
57
  * Called when dataMode is 'backend' or 'auto' (with callback present)
62
58
  * Application should fetch data based on request parameters
63
59
  */
64
60
  onDataRequest?: (request: DataLoadRequest) => Promise<DataLoadResponse>;
65
- /**
66
- * Backend sorting callback
67
- * Called when sortMode is 'backend' or 'auto' (with callback present)
68
- * Application should fetch sorted data and call grid.setData()
69
- */
70
- onSortRequest?: (sortState: SortState[]) => Promise<void> | void;
71
- /**
72
- * Backend filtering callback
73
- * Called when filterMode is 'backend' or 'auto' (with callback present)
74
- * Application should fetch filtered data and call grid.setData()
75
- *
76
- * Receives FilterExpression which contains:
77
- * - SQL query with parameters (if using SQL-like syntax)
78
- * - Filter models (if using traditional approach)
79
- *
80
- * @example SQL-like filtering
81
- * ```typescript
82
- * onFilterRequest: async (filter) => {
83
- * if (filter.type === 'sql') {
84
- * // Backend receives: filter.sql = "age > ? AND status = ?"
85
- * // Backend receives: filter.params = [18, 'active']
86
- * const data = await api.get('/data', {
87
- * filter: filter.sql,
88
- * params: filter.params
89
- * });
90
- * grid.setData(data);
91
- * }
92
- * }
93
- * ```
94
- */
95
- onFilterRequest?: (filterExpression: FilterExpression) => Promise<void> | void;
96
61
  /**
97
62
  * Pagination configuration
98
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/types/grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/types/grid.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from './cell';
6
6
  export * from './column';
7
7
  export * from './header';
8
8
  export * from './sort';
9
+ export * from './query';
9
10
  export * from './filter';
10
11
  export * from './pagination';
11
12
  export * from './loading';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Shared query-state envelope.
3
+ */
4
+ import type { FilterAst } from './filter';
5
+ import type { SortDescriptor } from './sort';
6
+ /**
7
+ * Query pagination slice.
8
+ */
9
+ export interface QueryPaginationState {
10
+ page: number;
11
+ pageSize: number;
12
+ offset: number;
13
+ cursor?: string | null;
14
+ }
15
+ /**
16
+ * Shared query-state contract.
17
+ */
18
+ export interface QueryState {
19
+ version: 1;
20
+ filter: FilterAst | null;
21
+ sort: SortDescriptor[] | null;
22
+ pagination: QueryPaginationState | null;
23
+ }
24
+ /**
25
+ * Persistence scope for a saved filter preset.
26
+ */
27
+ export type SavedFilterPresetScope = 'personal' | 'shared' | 'system';
28
+ /**
29
+ * Named common-view preset backed by the canonical query envelope.
30
+ *
31
+ * Presets intentionally reuse {@link QueryState} so saved views stay aligned
32
+ * with backend request state without depending on legacy filter-only shapes.
33
+ */
34
+ export interface SavedFilterPreset {
35
+ /**
36
+ * Stable application identifier for the preset.
37
+ */
38
+ id: string;
39
+ /**
40
+ * User-facing preset name.
41
+ */
42
+ name: string;
43
+ /**
44
+ * Optional helper text shown in preset pickers or menus.
45
+ */
46
+ description?: string;
47
+ /**
48
+ * Canonical query envelope for the common view.
49
+ */
50
+ query: QueryState;
51
+ /**
52
+ * Visibility / ownership scope for the preset.
53
+ */
54
+ scope?: SavedFilterPresetScope;
55
+ /**
56
+ * Whether the preset should be treated as the default starting view.
57
+ */
58
+ isDefault?: boolean;
59
+ /**
60
+ * Prevents end users from editing or deleting built-in presets.
61
+ */
62
+ readonly?: boolean;
63
+ }
64
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/types/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -1,16 +1,10 @@
1
1
  /**
2
2
  * Sort types
3
3
  */
4
- import type { OperationMode } from '@zengrid/shared';
5
4
  /**
6
5
  * Sort direction
7
6
  */
8
7
  export type SortDirection = 'asc' | 'desc' | null;
9
- /**
10
- * Sort mode - alias for OperationMode for backward compatibility
11
- * @deprecated Use OperationMode from @zengrid/shared instead
12
- */
13
- export type SortMode = OperationMode;
14
8
  /**
15
9
  * Sort state for a column
16
10
  */
@@ -19,4 +13,13 @@ export interface SortState {
19
13
  direction: SortDirection;
20
14
  sortIndex?: number;
21
15
  }
16
+ /**
17
+ * Backend-friendly sort descriptor derived from the grid sort state
18
+ */
19
+ export interface SortDescriptor {
20
+ column: number;
21
+ field?: string;
22
+ direction: Exclude<SortDirection, null>;
23
+ sortIndex: number;
24
+ }
22
25
  //# sourceMappingURL=sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/types/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/types/sort.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@zengrid/core",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "High-performance data grid library with 14 advanced data structures and virtual scrolling",
5
- "main": "./dist/index.cjs",
5
+ "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/index.esm.js",
12
- "require": "./dist/index.cjs"
12
+ "require": "./dist/index.cjs.js"
13
13
  },
14
14
  "./dist/styles.css": "./dist/src/styles.css",
15
15
  "./styles/*": "./dist/src/*"
@@ -42,7 +42,10 @@
42
42
  "homepage": "https://github.com/zengrid-dev/zengrid#readme",
43
43
  "dependencies": {
44
44
  "@preact/signals-core": "^1.13.0",
45
- "@zengrid/shared": "^1.1.0",
45
+ "@zengrid/shared": "^1.2.1",
46
46
  "vanilla-calendar-pro": "^3.0.5"
47
+ },
48
+ "publishConfig": {
49
+ "access": "public"
47
50
  }
48
51
  }
@@ -1,17 +0,0 @@
1
- import type { DateRange, DateRangeEditorNormalizedOptions } from './types';
2
- /**
3
- * Initialize both start and end calendars
4
- */
5
- export declare function initializeCalendars(startCalendarDiv: HTMLDivElement, endCalendarDiv: HTMLDivElement, currentValue: DateRange, options: DateRangeEditorNormalizedOptions, onStartDateSelect: (date: Date) => void, onEndDateSelect: (date: Date) => void): Promise<{
6
- startCalendar: any;
7
- endCalendar: any;
8
- }>;
9
- /**
10
- * Update end calendar's minimum date after start date selection
11
- */
12
- export declare function updateEndCalendarMinDate(endCalendar: any, startDate: Date | null, endDate: Date | null): void;
13
- /**
14
- * Reinitialize calendars (for Clear button)
15
- */
16
- export declare function reinitializeCalendars(startCalendar: any, endCalendar: any, minDate: Date | string): void;
17
- //# sourceMappingURL=calendar-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calendar-manager.d.ts","sourceRoot":"","sources":["../../../../src/editing/date-range/calendar-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAG3E;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,gBAAgB,EAAE,cAAc,EAChC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,gCAAgC,EACzC,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,EACvC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GACpC,OAAO,CAAC;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAAC,CAwDnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,GAAG,EAChB,SAAS,EAAE,IAAI,GAAG,IAAI,EACtB,OAAO,EAAE,IAAI,GAAG,IAAI,GACnB,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,IAAI,GAAG,MAAM,GACrB,IAAI,CAeN"}
@@ -1,30 +0,0 @@
1
- import type { EditorParams } from '../cell-editor.interface';
2
- import type { DateRange, DateRangeEditorNormalizedOptions } from './types';
3
- /**
4
- * Create date selection handlers
5
- */
6
- export declare function createDateSelectionHandlers(currentValue: DateRange, _inputElement: HTMLInputElement | null, calendarWrapper: HTMLDivElement | null, endCalendar: any, _options: DateRangeEditorNormalizedOptions, updateInputDisplay: () => void): {
7
- handleStartDateSelect: (date: Date) => void;
8
- handleEndDateSelect: (date: Date) => void;
9
- };
10
- /**
11
- * Create button action handlers
12
- */
13
- export declare function createButtonHandlers(currentValue: DateRange, initialValue: DateRange, calendarWrapper: HTMLDivElement | null, startCalendar: any, endCalendar: any, options: DateRangeEditorNormalizedOptions, params: EditorParams | null, updateInputDisplay: () => void): {
14
- handleClear: () => void;
15
- handleCancel: () => void;
16
- handleApply: () => void;
17
- };
18
- /**
19
- * Setup scroll handler for calendar repositioning
20
- */
21
- export declare function setupScrollHandler(calendarWrapper: HTMLDivElement | null, inputElement: HTMLInputElement | null, cellElement: HTMLElement | null, gridScrollContainer: HTMLElement | null, currentValue: DateRange, params: EditorParams | null): ((e: Event) => void) | null;
22
- /**
23
- * Setup resize handler for calendar repositioning
24
- */
25
- export declare function setupResizeHandler(calendarWrapper: HTMLDivElement | null, inputElement: HTMLInputElement | null): (() => void) | null;
26
- /**
27
- * Update input display with current value
28
- */
29
- export declare function updateInputElementDisplay(inputElement: HTMLInputElement | null, currentValue: DateRange, format: string): void;
30
- //# sourceMappingURL=event-handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handlers.d.ts","sourceRoot":"","sources":["../../../../src/editing/date-range/event-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAO3E;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,gBAAgB,GAAG,IAAI,EACtC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,WAAW,EAAE,GAAG,EAChB,QAAQ,EAAE,gCAAgC,EAC1C,kBAAkB,EAAE,MAAM,IAAI;kCAEO,IAAI,KAAG,IAAI;gCAYb,IAAI,KAAG,IAAI;EAS/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,aAAa,EAAE,GAAG,EAClB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,gCAAgC,EACzC,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,kBAAkB,EAAE,MAAM,IAAI;uBAEN,IAAI;wBAUH,IAAI;uBAML,IAAI;EAO7B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,mBAAmB,EAAE,WAAW,GAAG,IAAI,EACvC,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,YAAY,GAAG,IAAI,GAC1B,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAkB7B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,GAAG,IAAI,EACtC,YAAY,EAAE,gBAAgB,GAAG,IAAI,GACpC,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CASrB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,gBAAgB,GAAG,IAAI,EACrC,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,MAAM,GACb,IAAI,CAUN"}