@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
@@ -19,9 +19,9 @@
19
19
  width: 100%;
20
20
  height: 100%;
21
21
  z-index: 1000;
22
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
23
- font-size: 14px;
24
- color: #333;
22
+ font-family: var(--zg-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif);
23
+ font-size: var(--zg-font-size, 14px);
24
+ color: var(--zg-text-primary, #333);
25
25
  user-select: none;
26
26
  pointer-events: all;
27
27
  opacity: 0;
@@ -47,7 +47,8 @@
47
47
  left: 0;
48
48
  right: 0;
49
49
  bottom: 0;
50
- background: rgba(255, 255, 255, 0.85);
50
+ background: var(--zg-bg-primary, rgba(255, 255, 255, 0.85));
51
+ opacity: 0.85;
51
52
  backdrop-filter: blur(3px);
52
53
  z-index: -1;
53
54
  }
@@ -71,18 +72,7 @@
71
72
  margin-top: 12px;
72
73
  text-align: center;
73
74
  font-size: 14px;
74
- color: #666;
75
- }
76
-
77
- /* Dark mode support */
78
- @media (prefers-color-scheme: dark) {
79
- .zg-loading {
80
- color: #e0e0e0;
81
- }
82
-
83
- .zg-loading-message {
84
- color: #aaa;
85
- }
75
+ color: var(--zg-text-secondary, #666);
86
76
  }
87
77
 
88
78
  /* ========================================
@@ -94,9 +84,9 @@
94
84
  flex-direction: column;
95
85
  align-items: center;
96
86
  padding: 20px 32px;
97
- background: rgba(255, 255, 255, 0.95);
87
+ background: var(--zg-bg-primary, rgba(255, 255, 255, 0.95));
98
88
  border-radius: 8px;
99
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
89
+ box-shadow: var(--zg-shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.15));
100
90
  backdrop-filter: blur(4px);
101
91
  }
102
92
 
@@ -106,13 +96,6 @@
106
96
  font-weight: 500;
107
97
  }
108
98
 
109
- @media (prefers-color-scheme: dark) {
110
- .zg-loading-simple {
111
- background: rgba(42, 42, 42, 0.95);
112
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
113
- }
114
- }
115
-
116
99
  /* ========================================
117
100
  Template 2: Animated - Rotating Dots
118
101
  ======================================== */
@@ -122,9 +105,9 @@
122
105
  flex-direction: column;
123
106
  align-items: center;
124
107
  padding: 24px 32px;
125
- background: rgba(255, 255, 255, 0.95);
108
+ background: var(--zg-bg-primary, rgba(255, 255, 255, 0.95));
126
109
  border-radius: 8px;
127
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
110
+ box-shadow: var(--zg-shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.15));
128
111
  backdrop-filter: blur(4px);
129
112
  }
130
113
 
@@ -138,7 +121,7 @@
138
121
  .zg-loading-dot {
139
122
  width: 12px;
140
123
  height: 12px;
141
- background: #2196f3;
124
+ background: var(--zg-border-active, #2196f3);
142
125
  border-radius: 50%;
143
126
  animation: zg-dot-bounce 1.4s infinite ease-in-out both;
144
127
  }
@@ -166,17 +149,6 @@
166
149
  }
167
150
  }
168
151
 
169
- @media (prefers-color-scheme: dark) {
170
- .zg-loading-animated {
171
- background: rgba(42, 42, 42, 0.95);
172
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
173
- }
174
-
175
- .zg-loading-dot {
176
- background: #64b5f6;
177
- }
178
- }
179
-
180
152
  /* ========================================
181
153
  Template 3: Modern - Circular Loader
182
154
  ======================================== */
@@ -186,9 +158,9 @@
186
158
  flex-direction: column;
187
159
  align-items: center;
188
160
  padding: 24px 32px;
189
- background: rgba(255, 255, 255, 0.95);
161
+ background: var(--zg-bg-primary, rgba(255, 255, 255, 0.95));
190
162
  border-radius: 8px;
191
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
163
+ box-shadow: var(--zg-shadow-lg, 0 4px 16px rgba(0, 0, 0, 0.15));
192
164
  backdrop-filter: blur(4px);
193
165
  }
194
166
 
@@ -204,7 +176,7 @@
204
176
  }
205
177
 
206
178
  .zg-loading-circle-path {
207
- stroke: #2196f3;
179
+ stroke: var(--zg-border-active, #2196f3);
208
180
  stroke-width: 3;
209
181
  stroke-linecap: round;
210
182
  stroke-dasharray: 90, 150;
@@ -233,17 +205,6 @@
233
205
  }
234
206
  }
235
207
 
236
- @media (prefers-color-scheme: dark) {
237
- .zg-loading-modern {
238
- background: rgba(42, 42, 42, 0.95);
239
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
240
- }
241
-
242
- .zg-loading-circle-path {
243
- stroke: #64b5f6;
244
- }
245
- }
246
-
247
208
  /* ========================================
248
209
  Template 4: Skeleton - Shimmer Screen
249
210
  ======================================== */
@@ -255,7 +216,7 @@
255
216
  flex-direction: column;
256
217
  align-items: center;
257
218
  justify-content: center;
258
- background: rgba(248, 248, 248, 0.98);
219
+ background: var(--zg-bg-secondary, rgba(248, 248, 248, 0.98));
259
220
  padding: 0;
260
221
  box-shadow: none;
261
222
  }
@@ -271,14 +232,14 @@
271
232
  .zg-loading-skeleton-row {
272
233
  display: flex;
273
234
  height: 32px;
274
- border-bottom: 1px solid #e0e0e0;
235
+ border-bottom: 1px solid var(--zg-border-color, #e0e0e0);
275
236
  }
276
237
 
277
238
  .zg-loading-skeleton-cell {
278
239
  flex: 1;
279
240
  min-width: 100px;
280
- background: #f5f5f5;
281
- border-right: 1px solid #e0e0e0;
241
+ background: var(--zg-bg-secondary, #f5f5f5);
242
+ border-right: 1px solid var(--zg-border-color, #e0e0e0);
282
243
  overflow: hidden;
283
244
  position: relative;
284
245
  padding: 8px;
@@ -288,7 +249,7 @@
288
249
  content: '';
289
250
  display: block;
290
251
  height: 12px;
291
- background: #e0e0e0;
252
+ background: var(--zg-border-color, #e0e0e0);
292
253
  border-radius: 2px;
293
254
  width: 80%;
294
255
  }
@@ -317,38 +278,6 @@
317
278
  }
318
279
  }
319
280
 
320
- @media (prefers-color-scheme: dark) {
321
- .zg-loading:not(.zg-loading-skeleton)::before {
322
- background: rgba(30, 30, 30, 0.85);
323
- }
324
-
325
- .zg-loading-skeleton {
326
- background: #1e1e1e;
327
- }
328
-
329
- .zg-loading-skeleton-row {
330
- border-bottom-color: #404040;
331
- }
332
-
333
- .zg-loading-skeleton-cell {
334
- background: #2a2a2a;
335
- border-right-color: #404040;
336
- }
337
-
338
- .zg-loading-skeleton-cell::before {
339
- background: #404040;
340
- }
341
-
342
- .zg-loading-skeleton-shimmer {
343
- background: linear-gradient(
344
- 90deg,
345
- transparent 0%,
346
- rgba(255, 255, 255, 0.05) 50%,
347
- transparent 100%
348
- );
349
- }
350
- }
351
-
352
281
  /* ========================================
353
282
  Responsive Design
354
283
  ======================================== */
@@ -9,10 +9,11 @@
9
9
  align-items: center;
10
10
  gap: 8px;
11
11
  padding: 12px 16px;
12
- background: #fff;
13
- border-top: 1px solid #e0e0e0;
14
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
15
- font-size: 14px;
12
+ background: var(--zg-bg-primary, #fff);
13
+ border-top: 1px solid var(--zg-border-color, #e0e0e0);
14
+ font-family: var(--zg-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
15
+ font-size: var(--zg-font-size, 14px);
16
+ color: var(--zg-text-primary, #333);
16
17
  user-select: none;
17
18
  }
18
19
 
@@ -21,18 +22,18 @@
21
22
  min-width: 32px;
22
23
  height: 32px;
23
24
  padding: 4px 8px;
24
- border: 1px solid #d0d0d0;
25
- background: #fff;
26
- color: #333;
25
+ border: 1px solid var(--zg-border-color, #d0d0d0);
26
+ background: var(--zg-bg-primary, #fff);
27
+ color: var(--zg-text-primary, #333);
27
28
  font-size: 14px;
28
29
  cursor: pointer;
29
30
  border-radius: 4px;
30
- transition: all 0.2s;
31
+ transition: all var(--zg-transition-normal, 0.2s ease);
31
32
  }
32
33
 
33
34
  .zg-pagination-btn:hover:not(:disabled) {
34
- background: #f5f5f5;
35
- border-color: #999;
35
+ background: var(--zg-bg-hover, #f5f5f5);
36
+ border-color: var(--zg-text-secondary, #999);
36
37
  }
37
38
 
38
39
  .zg-pagination-btn:active:not(:disabled) {
@@ -45,9 +46,9 @@
45
46
  }
46
47
 
47
48
  .zg-pagination-btn-active {
48
- background: #2196f3;
49
+ background: var(--zg-border-active, #2196f3);
49
50
  color: white;
50
- border-color: #2196f3;
51
+ border-color: var(--zg-border-active, #2196f3);
51
52
  }
52
53
 
53
54
  .zg-pagination-btn-icon {
@@ -59,34 +60,35 @@
59
60
  /* Select Styles */
60
61
  .zg-pagination-select {
61
62
  padding: 4px 24px 4px 8px;
62
- border: 1px solid #d0d0d0;
63
+ border: 1px solid var(--zg-border-color, #d0d0d0);
63
64
  border-radius: 4px;
64
- background: #fff;
65
+ background: var(--zg-bg-primary, #fff);
66
+ color: var(--zg-text-primary, #333);
65
67
  font-size: 14px;
66
68
  cursor: pointer;
67
69
  height: 32px;
68
70
  }
69
71
 
70
72
  .zg-pagination-select:hover {
71
- border-color: #999;
73
+ border-color: var(--zg-text-secondary, #999);
72
74
  }
73
75
 
74
76
  /* Label Styles */
75
77
  .zg-pagination-label {
76
- color: #666;
78
+ color: var(--zg-text-secondary, #666);
77
79
  margin: 0 4px;
78
80
  }
79
81
 
80
82
  /* Info Styles */
81
83
  .zg-pagination-info {
82
- color: #666;
84
+ color: var(--zg-text-secondary, #666);
83
85
  margin-right: 8px;
84
86
  }
85
87
 
86
88
  /* Ellipsis */
87
89
  .zg-pagination-ellipsis {
88
90
  padding: 0 4px;
89
- color: #999;
91
+ color: var(--zg-text-disabled, #999);
90
92
  }
91
93
 
92
94
  /* Input Styles */
@@ -94,8 +96,10 @@
94
96
  width: 50px;
95
97
  height: 32px;
96
98
  padding: 4px 8px;
97
- border: 1px solid #d0d0d0;
99
+ border: 1px solid var(--zg-border-color, #d0d0d0);
98
100
  border-radius: 4px;
101
+ background: var(--zg-bg-primary, #fff);
102
+ color: var(--zg-text-primary, #333);
99
103
  text-align: center;
100
104
  font-size: 14px;
101
105
  margin: 0 8px;
@@ -103,7 +107,7 @@
103
107
 
104
108
  .zg-pagination-input:focus {
105
109
  outline: none;
106
- border-color: #2196f3;
110
+ border-color: var(--zg-border-active, #2196f3);
107
111
  }
108
112
 
109
113
  /* Template 1: Simple */
@@ -149,33 +153,33 @@
149
153
  min-width: 36px;
150
154
  height: 36px;
151
155
  padding: 8px 12px;
152
- border: 1px solid #dee2e6;
153
- background: #fff;
154
- color: #0d6efd;
156
+ border: 1px solid var(--zg-border-color, #dee2e6);
157
+ background: var(--zg-bg-primary, #fff);
158
+ color: var(--zg-text-link, #0d6efd);
155
159
  font-size: 14px;
156
160
  cursor: pointer;
157
161
  border-radius: 4px;
158
- transition: all 0.2s;
162
+ transition: all var(--zg-transition-normal, 0.2s ease);
159
163
  display: flex;
160
164
  align-items: center;
161
165
  justify-content: center;
162
166
  }
163
167
 
164
168
  .zg-pagination-link:hover:not(:disabled) {
165
- background: #e9ecef;
166
- border-color: #0d6efd;
169
+ background: var(--zg-bg-hover, #e9ecef);
170
+ border-color: var(--zg-border-active, #0d6efd);
167
171
  }
168
172
 
169
173
  .zg-pagination-item-active .zg-pagination-link {
170
- background: #0d6efd;
174
+ background: var(--zg-border-active, #0d6efd);
171
175
  color: white;
172
- border-color: #0d6efd;
176
+ border-color: var(--zg-border-active, #0d6efd);
173
177
  }
174
178
 
175
179
  .zg-pagination-link:disabled {
176
180
  opacity: 0.5;
177
181
  cursor: not-allowed;
178
- color: #6c757d;
182
+ color: var(--zg-text-disabled, #6c757d);
179
183
  }
180
184
 
181
185
  /* Template 4: Compact */
@@ -207,54 +211,10 @@
207
211
  }
208
212
 
209
213
  .zg-pagination-counter {
210
- color: #666;
214
+ color: var(--zg-text-secondary, #666);
211
215
  font-weight: 500;
212
216
  }
213
217
 
214
- /* Dark Mode Support */
215
- @media (prefers-color-scheme: dark) {
216
- .zg-pagination {
217
- background: #1e1e1e;
218
- border-color: #404040;
219
- }
220
-
221
- .zg-pagination-btn,
222
- .zg-pagination-select,
223
- .zg-pagination-input,
224
- .zg-pagination-link {
225
- background: #2d2d2d;
226
- border-color: #404040;
227
- color: #e0e0e0;
228
- }
229
-
230
- .zg-pagination-btn:hover:not(:disabled),
231
- .zg-pagination-select:hover,
232
- .zg-pagination-link:hover:not(:disabled) {
233
- background: #3d3d3d;
234
- border-color: #606060;
235
- }
236
-
237
- .zg-pagination-btn-active {
238
- background: #1976d2;
239
- border-color: #1976d2;
240
- }
241
-
242
- .zg-pagination-item-active .zg-pagination-link {
243
- background: #1976d2;
244
- border-color: #1976d2;
245
- }
246
-
247
- .zg-pagination-label,
248
- .zg-pagination-info,
249
- .zg-pagination-counter {
250
- color: #b0b0b0;
251
- }
252
-
253
- .zg-pagination-ellipsis {
254
- color: #707070;
255
- }
256
- }
257
-
258
218
  /* Responsive Styles */
259
219
  @media (max-width: 768px) {
260
220
  .zg-pagination {
@@ -0,0 +1,12 @@
1
+ import type { ColumnDef, FilterAst, QueryPaginationState, QueryState, SortState } from '../../types';
2
+ export interface BuildQueryStateOptions {
3
+ sortState?: SortState[] | null;
4
+ filterAst?: FilterAst | null;
5
+ pagination?: QueryPaginationState | null;
6
+ columns?: ColumnDef[];
7
+ }
8
+ export declare function buildQueryPaginationState(page: number, pageSize: number, offset?: number): QueryPaginationState;
9
+ export declare function buildRangeQueryPaginationState(startRow: number, endRow: number): QueryPaginationState;
10
+ export declare function buildStoreQueryPaginationState(page: number | null | undefined, pageSize: number | null | undefined): QueryPaginationState | null;
11
+ export declare function buildQueryState(options?: BuildQueryStateOptions): QueryState;
12
+ //# sourceMappingURL=query-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-state.d.ts","sourceRoot":"","sources":["../../../../src/features/query/query-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAkB,GACvB,oBAAoB,CAMtB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,oBAAoB,CAKtB;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,oBAAoB,GAAG,IAAI,CAU7B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,UAAU,CAYhF"}
@@ -1,7 +1,7 @@
1
- import type { SortState, SortDirection, SortMode } from '../../types';
1
+ import type { SortState, SortDirection } from '../../types';
2
2
  import type { EventEmitter } from '../../events/event-emitter';
3
3
  import type { GridEvents } from '../../events/grid-events';
4
- import type { IndexMap } from '../../data/index-map';
4
+ import { type IndexMap } from '../../data/index-map';
5
5
  /**
6
6
  * Sort manager options
7
7
  */
@@ -27,20 +27,6 @@ export interface SortManagerOptions {
27
27
  * Initial sort state
28
28
  */
29
29
  initialSort?: SortState[];
30
- /**
31
- * Sort mode - determines where sorting is executed
32
- * - 'frontend': Sort data in memory (default)
33
- * - 'backend': Emit events only, application handles sorting
34
- * - 'auto': Use backend mode if onSortRequest is provided, otherwise frontend
35
- * @default 'frontend'
36
- */
37
- sortMode?: SortMode;
38
- /**
39
- * Callback for backend sorting
40
- * Called when sortMode is 'backend' or 'auto' (with callback present)
41
- * Application should fetch sorted data and call grid.setData()
42
- */
43
- onSortRequest?: (sortState: SortState[]) => Promise<void> | void;
44
30
  }
45
31
  /**
46
32
  * SortManager - Manages sorting state and execution
@@ -73,8 +59,6 @@ export declare class SortManager {
73
59
  private enableMultiSort;
74
60
  private sortState;
75
61
  private indexMap;
76
- private sortMode;
77
- private onSortRequest?;
78
62
  constructor(options: SortManagerOptions);
79
63
  /**
80
64
  * Toggle sort on a column
@@ -114,16 +98,18 @@ export declare class SortManager {
114
98
  * Execute the sort
115
99
  */
116
100
  private executeSort;
101
+ private sortMultipleColumns;
102
+ private compareRows;
103
+ private compareValues;
104
+ private compareNumbers;
105
+ private compareStrings;
106
+ private compareBooleans;
107
+ private compareDates;
117
108
  /**
118
109
  * Update row count
119
110
  * @param rowCount - New row count
120
111
  */
121
112
  updateRowCount(rowCount: number): void;
122
- /**
123
- * Get current sort mode (resolved from 'auto')
124
- * Returns the actual mode being used: 'frontend' or 'backend'
125
- */
126
- getSortMode(): 'frontend' | 'backend';
127
113
  /**
128
114
  * Destroy sort manager
129
115
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sort-manager.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAmD;gBAE7D,OAAO,EAAE,kBAAkB;IAmBvC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IA2D3D;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAc1C;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAK5C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA6GnB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAStC;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS;IAIrC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"sort-manager.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIrE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAA2B;IAC1C,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,OAAO,EAAE,kBAAkB;IAYvC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IA6D3D;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI;IAc1C;;OAEG;IACH,SAAS,IAAI,IAAI;IAajB;;OAEG;IACH,YAAY,IAAI,SAAS,EAAE;IAI3B;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAK5C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,WAAW,IAAI,QAAQ,GAAG,IAAI;IAI9B;;OAEG;IACH,OAAO,CAAC,WAAW;IA6DnB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAStC;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,5 @@
1
+ import type { ColumnDef } from '../../types/column';
2
+ import type { SortDescriptor, SortState } from '../../types/sort';
3
+ export declare function normalizeSortState(sortState: SortState[]): SortState[];
4
+ export declare function serializeSortState(sortState: SortState[], columns?: ColumnDef[]): SortDescriptor[];
5
+ //# sourceMappingURL=sort-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-request.d.ts","sourceRoot":"","sources":["../../../../src/features/sorting/sort-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAiB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CA6CtE;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EAAE,EACtB,OAAO,CAAC,EAAE,SAAS,EAAE,GACpB,cAAc,EAAE,CAOlB"}
@@ -0,0 +1,23 @@
1
+ import type { ColumnConstraints } from '../../features/column-resize';
2
+ import type { ColumnStateSnapshot } from '../../types';
3
+ import type { SlimGridContext } from '../grid-context';
4
+ export interface ColumnApi {
5
+ attachResize(headerElement: HTMLElement): void;
6
+ detachResize(): void;
7
+ resize(col: number, width: number): void;
8
+ autoFit(col: number): void;
9
+ autoFitAll(): void;
10
+ setConstraints(col: number, constraints: ColumnConstraints): void;
11
+ updateResizeHandles(): void;
12
+ attachDrag(headerElement: HTMLElement): void;
13
+ detachDrag(): void;
14
+ isDragging(): boolean;
15
+ getState(): ColumnStateSnapshot[];
16
+ applyState(state: ColumnStateSnapshot[], options?: {
17
+ applyWidth?: boolean;
18
+ applyVisibility?: boolean;
19
+ applyOrder?: boolean;
20
+ }): void;
21
+ }
22
+ export declare function createColumnApi(ctx: SlimGridContext): ColumnApi;
23
+ //# sourceMappingURL=column-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/column-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,YAAY,IAAI,IAAI,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,IAAI,IAAI,CAAC;IACnB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClE,mBAAmB,IAAI,IAAI,CAAC;IAC5B,UAAU,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7C,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,IAAI,mBAAmB,EAAE,CAAC;IAClC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACrI;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,CAoD/D"}
@@ -0,0 +1,9 @@
1
+ import type { GridExportOptions } from '../../types';
2
+ import type { SlimGridContext } from '../grid-context';
3
+ import type { DataAccessor } from '../../data/data-accessor';
4
+ export interface ExportApi {
5
+ csv(options?: GridExportOptions): string;
6
+ tsv(options?: GridExportOptions): string;
7
+ }
8
+ export declare function createExportApi(ctx: SlimGridContext, getDataAccessor: () => DataAccessor | null): ExportApi;
9
+ //# sourceMappingURL=export-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/export-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACzC,GAAG,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;CAC1C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,CAsB3G"}
@@ -0,0 +1,28 @@
1
+ import type { FilterExpression, FilterModel } from '../../types';
2
+ import type { FilterExportResult } from '../../features/filtering/adapters/types';
3
+ import type { FieldFilterState } from '../../features/filtering/types';
4
+ import type { SlimGridContext } from '../grid-context';
5
+ export interface FilterApi {
6
+ set(column: number, operator: string, value: any): void;
7
+ setColumn(column: number, conditions: Array<{
8
+ operator: string;
9
+ value: any;
10
+ }>, logic?: 'AND' | 'OR'): void;
11
+ setFieldState(state: FieldFilterState): void;
12
+ clear(): void;
13
+ clearColumn(column: number): void;
14
+ getState(): FilterModel[];
15
+ setState(models: FilterModel[]): void;
16
+ getFieldState(): FieldFilterState | null;
17
+ getExports(): FilterExportResult | null;
18
+ getExpression(): FilterExpression | null;
19
+ getMode(): 'frontend' | 'backend';
20
+ setQuick(query: string, columns?: number[]): void;
21
+ clearQuick(): void;
22
+ getQuick(): {
23
+ query: string;
24
+ columns: number[] | null;
25
+ };
26
+ }
27
+ export declare function createFilterApi(ctx: SlimGridContext): FilterApi;
28
+ //# sourceMappingURL=filter-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/filter-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACxD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3G,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,IAAI,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACtC,aAAa,IAAI,gBAAgB,GAAG,IAAI,CAAC;IACzC,UAAU,IAAI,kBAAkB,GAAG,IAAI,CAAC;IACxC,aAAa,IAAI,gBAAgB,GAAG,IAAI,CAAC;IACzC,OAAO,IAAI,UAAU,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CACzD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,CAoF/D"}
@@ -0,0 +1,15 @@
1
+ export { createSortApi } from './sort-api';
2
+ export type { SortApi } from './sort-api';
3
+ export { createFilterApi } from './filter-api';
4
+ export type { FilterApi } from './filter-api';
5
+ export { createPaginationApi } from './pagination-api';
6
+ export type { PaginationApi } from './pagination-api';
7
+ export { createColumnApi } from './column-api';
8
+ export type { ColumnApi } from './column-api';
9
+ export { createScrollApi } from './scroll-api';
10
+ export type { ScrollApi } from './scroll-api';
11
+ export { createStateApi } from './state-api';
12
+ export type { StateApi } from './state-api';
13
+ export { createExportApi } from './export-api';
14
+ export type { ExportApi } from './export-api';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { SlimGridContext } from '../grid-context';
2
+ export interface PaginationApi {
3
+ goTo(page: number): void;
4
+ next(): void;
5
+ previous(): void;
6
+ first(): void;
7
+ last(): void;
8
+ setPageSize(pageSize: number): void;
9
+ getCurrentPage(): number;
10
+ getPageSize(): number;
11
+ getTotalPages(): number;
12
+ }
13
+ export declare function createPaginationApi(ctx: SlimGridContext): PaginationApi;
14
+ //# sourceMappingURL=pagination-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination-api.d.ts","sourceRoot":"","sources":["../../../../src/grid/api/pagination-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC;IACb,QAAQ,IAAI,IAAI,CAAC;IACjB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,IAAI,MAAM,CAAC;IACzB,WAAW,IAAI,MAAM,CAAC;IACtB,aAAa,IAAI,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,aAAa,CA2CvE"}
@@ -0,0 +1,26 @@
1
+ import type { VisibleRange } from '../../types';
2
+ import type { SlimGridContext } from '../grid-context';
3
+ export interface ScrollApi {
4
+ toCell(row: number, col: number): void;
5
+ throughCells(cells: Array<{
6
+ row: number;
7
+ col: number;
8
+ }>, options?: {
9
+ delayMs?: number;
10
+ smooth?: boolean;
11
+ onCellReached?: (cell: {
12
+ row: number;
13
+ col: number;
14
+ }, index: number) => void;
15
+ }): {
16
+ promise: Promise<void>;
17
+ abort: () => void;
18
+ };
19
+ getPosition(): {
20
+ top: number;
21
+ left: number;
22
+ };
23
+ getVisibleRange(): VisibleRange | null;
24
+ }
25
+ export declare function createScrollApi(ctx: SlimGridContext): ScrollApi;
26
+ //# sourceMappingURL=scroll-api.d.ts.map