@zengrid/core 1.1.0 → 1.2.0

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 (221) hide show
  1. package/dist/index.cjs.js +17116 -16303
  2. package/dist/index.esm.js +17090 -16303
  3. package/dist/package.json +1 -1
  4. package/dist/src/editing/datetime/date-editor/date-editor.d.ts +1 -0
  5. package/dist/src/editing/datetime/date-editor/date-editor.d.ts.map +1 -1
  6. package/dist/src/editing/datetime/date-range-editor/date-range-calendar.d.ts.map +1 -1
  7. package/dist/src/editing/datetime/date-range-editor/date-range-dom.d.ts.map +1 -1
  8. package/dist/src/editing/datetime/date-range-editor/date-range-validation.d.ts.map +1 -1
  9. package/dist/src/editing/datetime/date-range-editor/types.d.ts +0 -3
  10. package/dist/src/editing/datetime/date-range-editor/types.d.ts.map +1 -1
  11. package/dist/src/events/grid-events.d.ts +1 -0
  12. package/dist/src/events/grid-events.d.ts.map +1 -1
  13. package/dist/src/features/column-drag/column-drag.styles.css +8 -18
  14. package/dist/src/features/column-drag/drop-zone-detector.d.ts.map +1 -1
  15. package/dist/src/features/column-resize/column-resize.styles.css +5 -4
  16. package/dist/src/features/column-resize/programmatic-operations.d.ts +1 -1
  17. package/dist/src/features/column-resize/programmatic-operations.d.ts.map +1 -1
  18. package/dist/src/features/loading/loading.styles.css +19 -90
  19. package/dist/src/features/pagination/pagination.styles.css +34 -74
  20. package/dist/src/grid/api/column-api.d.ts +23 -0
  21. package/dist/src/grid/api/column-api.d.ts.map +1 -0
  22. package/dist/src/grid/api/export-api.d.ts +9 -0
  23. package/dist/src/grid/api/export-api.d.ts.map +1 -0
  24. package/dist/src/grid/api/filter-api.d.ts +24 -0
  25. package/dist/src/grid/api/filter-api.d.ts.map +1 -0
  26. package/dist/src/grid/api/index.d.ts +15 -0
  27. package/dist/src/grid/api/index.d.ts.map +1 -0
  28. package/dist/src/grid/api/pagination-api.d.ts +14 -0
  29. package/dist/src/grid/api/pagination-api.d.ts.map +1 -0
  30. package/dist/src/grid/api/scroll-api.d.ts +26 -0
  31. package/dist/src/grid/api/scroll-api.d.ts.map +1 -0
  32. package/dist/src/grid/api/sort-api.d.ts +17 -0
  33. package/dist/src/grid/api/sort-api.d.ts.map +1 -0
  34. package/dist/src/grid/api/state-api.d.ts +10 -0
  35. package/dist/src/grid/api/state-api.d.ts.map +1 -0
  36. package/dist/src/grid/grid-api.d.ts +0 -3
  37. package/dist/src/grid/grid-api.d.ts.map +1 -1
  38. package/dist/src/grid/grid-context.d.ts +5 -29
  39. package/dist/src/grid/grid-context.d.ts.map +1 -1
  40. package/dist/src/grid/grid-core.d.ts +83 -95
  41. package/dist/src/grid/grid-core.d.ts.map +1 -1
  42. package/dist/src/grid/grid-setup.d.ts +3 -3
  43. package/dist/src/grid/grid-setup.d.ts.map +1 -1
  44. package/dist/src/grid/grid-theme-methods.d.ts +17 -0
  45. package/dist/src/grid/grid-theme-methods.d.ts.map +1 -0
  46. package/dist/src/grid/index.d.ts +5 -10
  47. package/dist/src/grid/index.d.ts.map +1 -1
  48. package/dist/src/index.d.ts +21 -3
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/plugins/async-filter-plugin.d.ts.map +1 -1
  51. package/dist/src/plugins/async-sort-plugin.d.ts.map +1 -1
  52. package/dist/src/plugins/column/column-plugin.d.ts +18 -0
  53. package/dist/src/plugins/column/column-plugin.d.ts.map +1 -0
  54. package/dist/src/{grid → plugins/column}/grid-state.d.ts +2 -2
  55. package/dist/src/plugins/column/grid-state.d.ts.map +1 -0
  56. package/dist/src/plugins/column/index.d.ts +3 -0
  57. package/dist/src/plugins/column/index.d.ts.map +1 -0
  58. package/dist/src/plugins/dom/dom-plugin.d.ts +14 -0
  59. package/dist/src/plugins/dom/dom-plugin.d.ts.map +1 -0
  60. package/dist/src/plugins/dom/index.d.ts +3 -0
  61. package/dist/src/plugins/dom/index.d.ts.map +1 -0
  62. package/dist/src/plugins/editing/editing-plugin.d.ts +11 -12
  63. package/dist/src/plugins/editing/editing-plugin.d.ts.map +1 -1
  64. package/dist/src/plugins/filter-plugin.d.ts.map +1 -1
  65. package/dist/src/{grid → plugins/header}/header-dom-operations.d.ts +3 -3
  66. package/dist/src/plugins/header/header-dom-operations.d.ts.map +1 -0
  67. package/dist/src/{grid → plugins/header}/header-event-handlers.d.ts +3 -3
  68. package/dist/src/plugins/header/header-event-handlers.d.ts.map +1 -0
  69. package/dist/src/plugins/header/header-plugin.d.ts +18 -0
  70. package/dist/src/plugins/header/header-plugin.d.ts.map +1 -0
  71. package/dist/src/{grid → plugins/header}/header-reactive-subscription.d.ts +1 -1
  72. package/dist/src/plugins/header/header-reactive-subscription.d.ts.map +1 -0
  73. package/dist/src/{grid → plugins/header}/header-registry-setup.d.ts +1 -1
  74. package/dist/src/plugins/header/header-registry-setup.d.ts.map +1 -0
  75. package/dist/src/{grid → plugins/header}/header-render-params.d.ts +4 -4
  76. package/dist/src/plugins/header/header-render-params.d.ts.map +1 -0
  77. package/dist/src/{grid → plugins/header}/header-rendering.d.ts +2 -2
  78. package/dist/src/plugins/header/header-rendering.d.ts.map +1 -0
  79. package/dist/src/{grid → plugins/header}/header-types.d.ts +5 -5
  80. package/dist/src/plugins/header/header-types.d.ts.map +1 -0
  81. package/dist/src/plugins/header/index.d.ts +3 -0
  82. package/dist/src/plugins/header/index.d.ts.map +1 -0
  83. package/dist/src/plugins/index.d.ts +12 -1
  84. package/dist/src/plugins/index.d.ts.map +1 -1
  85. package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts +4 -2
  86. package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts.map +1 -1
  87. package/dist/src/plugins/legacy-bridge/devtools-connector.d.ts.map +1 -1
  88. package/dist/src/plugins/legacy-bridge/index.d.ts +0 -1
  89. package/dist/src/plugins/legacy-bridge/index.d.ts.map +1 -1
  90. package/dist/src/plugins/lifecycle/index.d.ts +3 -0
  91. package/dist/src/plugins/lifecycle/index.d.ts.map +1 -0
  92. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts +16 -0
  93. package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts.map +1 -0
  94. package/dist/src/plugins/pagination/index.d.ts +3 -0
  95. package/dist/src/plugins/pagination/index.d.ts.map +1 -0
  96. package/dist/src/plugins/pagination/pagination-plugin.d.ts +13 -0
  97. package/dist/src/plugins/pagination/pagination-plugin.d.ts.map +1 -0
  98. package/dist/src/plugins/rendering/index.d.ts +3 -0
  99. package/dist/src/plugins/rendering/index.d.ts.map +1 -0
  100. package/dist/src/plugins/rendering/rendering-plugin.d.ts +22 -0
  101. package/dist/src/plugins/rendering/rendering-plugin.d.ts.map +1 -0
  102. package/dist/src/plugins/resize/resize-plugin.d.ts.map +1 -1
  103. package/dist/src/plugins/scroll/scroll-plugin.d.ts.map +1 -1
  104. package/dist/src/plugins/selection/selection-plugin.d.ts.map +1 -1
  105. package/dist/src/plugins/sort-plugin.d.ts.map +1 -1
  106. package/dist/src/reactive/debug.d.ts +3 -0
  107. package/dist/src/reactive/debug.d.ts.map +1 -1
  108. package/dist/src/reactive/store.d.ts +3 -1
  109. package/dist/src/reactive/store.d.ts.map +1 -1
  110. package/dist/src/reactive/types.d.ts +5 -2
  111. package/dist/src/reactive/types.d.ts.map +1 -1
  112. package/dist/src/rendering/cache/renderer-cache.d.ts +4 -0
  113. package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -1
  114. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +5 -0
  115. package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -1
  116. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +9 -0
  117. package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -1
  118. package/dist/src/rendering/headers/renderers/filterable-header-renderer.d.ts.map +1 -1
  119. package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts.map +1 -1
  120. package/dist/src/rendering/renderers/button/button-renderer.d.ts.map +1 -1
  121. package/dist/src/rendering/renderers/chip/chip-renderer.d.ts.map +1 -1
  122. package/dist/src/rendering/renderers/date-range/date-range-renderer.d.ts.map +1 -1
  123. package/dist/src/rendering/renderers/datetime/date-renderer.d.ts.map +1 -1
  124. package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts.map +1 -1
  125. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +4 -0
  126. package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -1
  127. package/dist/src/rendering/width-provider/column-model-width-provider.d.ts +6 -7
  128. package/dist/src/rendering/width-provider/column-model-width-provider.d.ts.map +1 -1
  129. package/dist/src/styles/grid.css +362 -362
  130. package/dist/src/styles.css +94 -45
  131. package/dist/src/theming/color-utils.d.ts +10 -0
  132. package/dist/src/theming/color-utils.d.ts.map +1 -0
  133. package/dist/src/theming/index.d.ts +10 -0
  134. package/dist/src/theming/index.d.ts.map +1 -0
  135. package/dist/src/theming/theme-builder.d.ts +46 -0
  136. package/dist/src/theming/theme-builder.d.ts.map +1 -0
  137. package/dist/src/theming/theme-manager.d.ts +11 -0
  138. package/dist/src/theming/theme-manager.d.ts.map +1 -0
  139. package/dist/src/theming/theme-registry.d.ts +17 -0
  140. package/dist/src/theming/theme-registry.d.ts.map +1 -0
  141. package/dist/src/theming/theme.interface.d.ts +88 -0
  142. package/dist/src/theming/theme.interface.d.ts.map +1 -0
  143. package/dist/src/theming/themes/dark.d.ts +3 -0
  144. package/dist/src/theming/themes/dark.d.ts.map +1 -0
  145. package/dist/src/theming/themes/dracula.d.ts +3 -0
  146. package/dist/src/theming/themes/dracula.d.ts.map +1 -0
  147. package/dist/src/theming/themes/github.d.ts +3 -0
  148. package/dist/src/theming/themes/github.d.ts.map +1 -0
  149. package/dist/src/theming/themes/index.d.ts +14 -0
  150. package/dist/src/theming/themes/index.d.ts.map +1 -0
  151. package/dist/src/theming/themes/light.d.ts +3 -0
  152. package/dist/src/theming/themes/light.d.ts.map +1 -0
  153. package/dist/src/theming/themes/material.d.ts +3 -0
  154. package/dist/src/theming/themes/material.d.ts.map +1 -0
  155. package/dist/src/theming/themes/nord.d.ts +3 -0
  156. package/dist/src/theming/themes/nord.d.ts.map +1 -0
  157. package/dist/src/theming/themes/one-dark.d.ts +3 -0
  158. package/dist/src/theming/themes/one-dark.d.ts.map +1 -0
  159. package/dist/src/theming/themes/solarized.d.ts +3 -0
  160. package/dist/src/theming/themes/solarized.d.ts.map +1 -0
  161. package/dist/src/types/grid.d.ts +10 -0
  162. package/dist/src/types/grid.d.ts.map +1 -1
  163. package/package.json +2 -2
  164. package/dist/src/editing/date-range/calendar-manager.d.ts +0 -17
  165. package/dist/src/editing/date-range/calendar-manager.d.ts.map +0 -1
  166. package/dist/src/editing/date-range/event-handlers.d.ts +0 -30
  167. package/dist/src/editing/date-range/event-handlers.d.ts.map +0 -1
  168. package/dist/src/editing/date-range/formatters.d.ts +0 -26
  169. package/dist/src/editing/date-range/formatters.d.ts.map +0 -1
  170. package/dist/src/editing/date-range/positioning.d.ts +0 -14
  171. package/dist/src/editing/date-range/positioning.d.ts.map +0 -1
  172. package/dist/src/editing/date-range/types.d.ts +0 -41
  173. package/dist/src/editing/date-range/types.d.ts.map +0 -1
  174. package/dist/src/editing/date-range/ui-builder.d.ts +0 -33
  175. package/dist/src/editing/date-range/ui-builder.d.ts.map +0 -1
  176. package/dist/src/editing/date-range/validator.d.ts +0 -7
  177. package/dist/src/editing/date-range/validator.d.ts.map +0 -1
  178. package/dist/src/grid/data.d.ts +0 -74
  179. package/dist/src/grid/data.d.ts.map +0 -1
  180. package/dist/src/grid/dom.d.ts +0 -37
  181. package/dist/src/grid/dom.d.ts.map +0 -1
  182. package/dist/src/grid/drag.d.ts +0 -50
  183. package/dist/src/grid/drag.d.ts.map +0 -1
  184. package/dist/src/grid/grid-column-methods.d.ts +0 -37
  185. package/dist/src/grid/grid-column-methods.d.ts.map +0 -1
  186. package/dist/src/grid/grid-editing.d.ts +0 -43
  187. package/dist/src/grid/grid-editing.d.ts.map +0 -1
  188. package/dist/src/grid/grid-filter-methods.d.ts +0 -24
  189. package/dist/src/grid/grid-filter-methods.d.ts.map +0 -1
  190. package/dist/src/grid/grid-header-methods.d.ts +0 -10
  191. package/dist/src/grid/grid-header-methods.d.ts.map +0 -1
  192. package/dist/src/grid/grid-lifecycle.d.ts +0 -10
  193. package/dist/src/grid/grid-lifecycle.d.ts.map +0 -1
  194. package/dist/src/grid/grid-sort-methods.d.ts +0 -17
  195. package/dist/src/grid/grid-sort-methods.d.ts.map +0 -1
  196. package/dist/src/grid/grid-state.d.ts.map +0 -1
  197. package/dist/src/grid/grid-wiring.d.ts +0 -11
  198. package/dist/src/grid/grid-wiring.d.ts.map +0 -1
  199. package/dist/src/grid/header-dom-operations.d.ts.map +0 -1
  200. package/dist/src/grid/header-event-handlers.d.ts.map +0 -1
  201. package/dist/src/grid/header-manager.d.ts +0 -119
  202. package/dist/src/grid/header-manager.d.ts.map +0 -1
  203. package/dist/src/grid/header-reactive-subscription.d.ts.map +0 -1
  204. package/dist/src/grid/header-registry-setup.d.ts.map +0 -1
  205. package/dist/src/grid/header-render-params.d.ts.map +0 -1
  206. package/dist/src/grid/header-rendering.d.ts.map +0 -1
  207. package/dist/src/grid/header-types.d.ts.map +0 -1
  208. package/dist/src/grid/init.d.ts +0 -56
  209. package/dist/src/grid/init.d.ts.map +0 -1
  210. package/dist/src/grid/pagination.d.ts +0 -63
  211. package/dist/src/grid/pagination.d.ts.map +0 -1
  212. package/dist/src/grid/resize.d.ts +0 -87
  213. package/dist/src/grid/resize.d.ts.map +0 -1
  214. package/dist/src/grid/scroll.d.ts +0 -86
  215. package/dist/src/grid/scroll.d.ts.map +0 -1
  216. package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts +0 -3
  217. package/dist/src/plugins/legacy-bridge/legacy-api-plugin.d.ts.map +0 -1
  218. package/dist/src/rendering/renderers/date/date-renderer.d.ts +0 -156
  219. package/dist/src/rendering/renderers/date/date-renderer.d.ts.map +0 -1
  220. package/dist/src/rendering/renderers/date/index.d.ts +0 -3
  221. package/dist/src/rendering/renderers/date/index.d.ts.map +0 -1
@@ -9,19 +9,42 @@
9
9
  --zg-header-height: 35px;
10
10
  --zg-col-width: 100px;
11
11
 
12
- /* Colors */
13
- --zg-bg-color: #ffffff;
14
- --zg-text-color: #000000;
15
- --zg-border-color: #d0d0d0;
16
- --zg-header-bg: #f5f5f5;
17
- --zg-header-text: #333333;
18
- --zg-selected-bg: #e3f2fd;
19
- --zg-selected-border: #1976d2;
20
- --zg-focus-ring: #1976d2;
21
- --zg-hover-bg: #f0f0f0;
12
+ /* Colors - Background */
13
+ --zg-bg-primary: #ffffff;
14
+ --zg-bg-secondary: #f5f5f5;
15
+ --zg-bg-hover: #f0f4f8;
16
+ --zg-bg-selected: #e3f2fd;
17
+ --zg-bg-active: #ffffff;
18
+ --zg-bg-editing: #ffffff;
19
+ --zg-bg-disabled: #fafafa;
20
+
21
+ /* Colors - Border */
22
+ --zg-border-color: #e0e0e0;
23
+ --zg-border-active: #2196f3;
24
+ --zg-border-selected: #2196f3;
25
+ --zg-border-editing: #4caf50;
26
+ --zg-border-focus: #2196f3;
27
+
28
+ /* Colors - Text */
29
+ --zg-text-primary: #333333;
30
+ --zg-text-secondary: #666666;
31
+ --zg-text-disabled: #999999;
32
+ --zg-text-negative: #d32f2f;
33
+ --zg-text-link: #1976d2;
34
+
35
+ /* Colors - State */
36
+ --zg-state-success: #4caf50;
37
+ --zg-state-warning: #ff9800;
38
+ --zg-state-error: #f44336;
39
+ --zg-state-info: #2196f3;
40
+
41
+ /* Colors - Scrollbar */
42
+ --zg-scrollbar-thumb: rgba(0, 0, 0, 0.3);
43
+ --zg-scrollbar-thumb-hover: rgba(0, 0, 0, 0.5);
22
44
 
23
45
  /* Spacing */
24
- --zg-cell-padding: 8px 12px;
46
+ --zg-cell-padding-x: 8px;
47
+ --zg-cell-padding-y: 0;
25
48
  --zg-header-padding: 12px;
26
49
  --zg-border-width: 1px;
27
50
 
@@ -30,17 +53,37 @@
30
53
  --zg-font-size: 14px;
31
54
  --zg-line-height: 1.5;
32
55
 
56
+ /* Shadows */
57
+ --zg-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
58
+ --zg-shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
59
+ --zg-shadow-lg: 0 4px 8px rgba(0, 0, 0, 0.15);
60
+
61
+ /* Transitions */
62
+ --zg-transition-fast: 0.1s ease;
63
+ --zg-transition-normal: 0.2s ease;
64
+
65
+ /* Legacy aliases (backwards compat) */
66
+ --zg-bg-color: var(--zg-bg-primary);
67
+ --zg-text-color: var(--zg-text-primary);
68
+ --zg-header-bg: var(--zg-bg-secondary);
69
+ --zg-header-text: var(--zg-text-primary);
70
+ --zg-selected-bg: var(--zg-bg-selected);
71
+ --zg-selected-border: var(--zg-border-selected);
72
+ --zg-focus-ring: var(--zg-border-focus);
73
+ --zg-hover-bg: var(--zg-bg-hover);
74
+ --zg-cell-padding: var(--zg-cell-padding-y) var(--zg-cell-padding-x);
75
+
33
76
  /* Calendar theming variables */
34
- --zg-calendar-bg: var(--zg-bg-color, #ffffff);
35
- --zg-calendar-text: var(--zg-text-color, #1a1a2e);
36
- --zg-calendar-border: var(--zg-border-color, #e0e0e0);
37
- --zg-calendar-header-bg: var(--zg-header-bg, #f5f5f5);
38
- --zg-calendar-selected-bg: var(--zg-selected-bg, #e3f2fd);
39
- --zg-calendar-selected-text: var(--zg-text-color, #1a1a2e);
40
- --zg-calendar-today-border: var(--zg-focus-ring, #2196f3);
41
- --zg-calendar-hover-bg: var(--zg-hover-bg, rgba(0, 0, 0, 0.04));
42
- --zg-calendar-disabled-text: #9e9e9e;
43
- --zg-calendar-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
77
+ --zg-calendar-bg: var(--zg-bg-primary);
78
+ --zg-calendar-text: var(--zg-text-primary);
79
+ --zg-calendar-border: var(--zg-border-color);
80
+ --zg-calendar-header-bg: var(--zg-bg-secondary);
81
+ --zg-calendar-selected-bg: var(--zg-bg-selected);
82
+ --zg-calendar-selected-text: var(--zg-text-primary);
83
+ --zg-calendar-today-border: var(--zg-border-focus);
84
+ --zg-calendar-hover-bg: var(--zg-bg-hover);
85
+ --zg-calendar-disabled-text: var(--zg-text-disabled);
86
+ --zg-calendar-shadow: var(--zg-shadow-lg);
44
87
  --zg-calendar-radius: 8px;
45
88
  }
46
89
 
@@ -114,13 +157,23 @@
114
157
  background: var(--zg-hover-bg);
115
158
  }
116
159
 
117
- /* Selected cell */
160
+ /* Selected cell - unified row highlight: hide vertical dividers, show only top/bottom edges */
118
161
  .zg-cell-selected {
119
162
  background: var(--zg-selected-bg);
120
- box-shadow: inset 0 0 0 2px var(--zg-selected-border);
163
+ box-shadow:
164
+ inset 0 1px 0 0 var(--zg-selected-border),
165
+ inset 0 -1px 0 0 var(--zg-selected-border);
121
166
  z-index: 1;
122
167
  }
123
168
 
169
+ /* First selected cell in row: add left edge */
170
+ .zg-cell-selected[data-col="0"] {
171
+ box-shadow:
172
+ inset 1px 0 0 0 var(--zg-selected-border),
173
+ inset 0 1px 0 0 var(--zg-selected-border),
174
+ inset 0 -1px 0 0 var(--zg-selected-border);
175
+ }
176
+
124
177
  /* Active/focused cell */
125
178
  .zg-cell-active {
126
179
  outline: 2px solid var(--zg-focus-ring);
@@ -338,16 +391,9 @@
338
391
  inset 0 -1px 0 0 var(--zg-border-color);
339
392
  }
340
393
 
341
- /* Dark theme */
342
- .zg-grid.zg-theme-dark {
343
- --zg-bg-color: #1e1e1e;
344
- --zg-text-color: #ffffff;
345
- --zg-border-color: #3e3e3e;
346
- --zg-header-bg: #2d2d2d;
347
- --zg-header-text: #ffffff;
348
- --zg-selected-bg: #1a3a52;
349
- --zg-hover-bg: #2d2d2d;
350
- }
394
+ /* Dark theme - applied via ThemeManager inline CSS variables on container.
395
+ Legacy .zg-theme-dark class is still set for backwards compat but
396
+ no CSS overrides are needed here since the theme manager handles it. */
351
397
 
352
398
  /* High contrast mode */
353
399
  @media (prefers-contrast: high) {
@@ -366,7 +412,7 @@
366
412
  }
367
413
 
368
414
  .zg-cell-negative {
369
- color: #d32f2f;
415
+ color: var(--zg-text-negative, #d32f2f);
370
416
  }
371
417
 
372
418
  /* Image renderer */
@@ -437,12 +483,13 @@
437
483
 
438
484
  /* Scroll mode (scrolls within fixed cell height) */
439
485
  .zg-cell-overflow-scroll {
440
- overflow-y: auto !important;
441
- overflow-x: hidden !important;
442
- white-space: normal !important;
486
+ overflow-y: auto;
487
+ overflow-x: hidden;
488
+ white-space: normal;
443
489
  word-wrap: break-word;
444
490
  scroll-behavior: smooth;
445
491
  scrollbar-width: thin;
492
+ contain: layout style; /* Remove paint containment so scrollbar can render */
446
493
  }
447
494
 
448
495
  .zg-cell-overflow-scroll::-webkit-scrollbar {
@@ -473,18 +520,20 @@
473
520
 
474
521
  /* Chip cell overrides - allow proper overflow handling */
475
522
  .zg-cell-chip {
476
- white-space: normal; /* Override default nowrap */
477
- overflow: visible; /* Allow chip container to handle overflow */
523
+ white-space: nowrap;
524
+ overflow: hidden; /* Clip chips to cell bounds by default */
525
+ contain: layout style; /* Relax paint containment for chip rendering */
478
526
  }
479
527
 
480
528
  /* When chip cell has scroll mode, enable horizontal scrolling */
481
529
  .zg-cell-overflow-scroll.zg-cell-chip {
482
- overflow-x: auto !important; /* Allow horizontal scrolling */
483
- overflow-y: hidden !important; /* Prevent vertical overflow */
530
+ overflow-x: auto; /* Allow horizontal scrolling */
531
+ overflow-y: hidden; /* Prevent vertical overflow */
484
532
  display: flex; /* Enable flexbox for proper containment */
485
533
  align-items: center; /* Vertically center chips */
486
534
  white-space: nowrap; /* Keep chips in single line */
487
535
  scrollbar-width: thin; /* Thin scrollbar for Firefox */
536
+ contain: layout style; /* Remove paint containment so scrollbar can render */
488
537
  }
489
538
 
490
539
  .zg-cell-overflow-scroll.zg-cell-chip::-webkit-scrollbar {
@@ -520,10 +569,10 @@
520
569
 
521
570
  .zg-chip-container--scroll {
522
571
  flex-wrap: nowrap;
523
- overflow: visible; /* Let parent cell handle scrolling */
524
- max-height: 100%; /* Constrain to cell height */
525
- width: max-content; /* Expand to fit all chips */
526
- min-width: 100%; /* At least full cell width */
572
+ overflow: hidden; /* Parent cell handles scrolling */
573
+ max-height: 100%; /* Constrain to cell height */
574
+ width: max-content; /* Expand to fit all chips */
575
+ min-width: 100%; /* At least full cell width */
527
576
  }
528
577
 
529
578
  .zg-chip-container--collapse {
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Color utility functions - tiny, no dependencies
3
+ */
4
+ /** Lighten a hex color by a percentage (0-100) */
5
+ export declare function lighten(hex: string, percent: number): string;
6
+ /** Darken a hex color by a percentage (0-100) */
7
+ export declare function darken(hex: string, percent: number): string;
8
+ /** Return a hex color as rgba with given alpha (0-1) */
9
+ export declare function alpha(hex: string, a: number): string;
10
+ //# sourceMappingURL=color-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/theming/color-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqBH,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED,iDAAiD;AACjD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wDAAwD;AACxD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAIpD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ZenGrid Theming System - Public API
3
+ */
4
+ export type { ZenGridTheme, PartialTheme, ThemeColors, ThemeTypography, ThemeSpacing, ThemeBorders, ThemeShadows, ThemeTransitions, } from './theme.interface';
5
+ export { applyTheme, removeTheme, themeToCSSVariables } from './theme-manager';
6
+ export { registerTheme, getTheme, hasTheme, listThemes, getAllThemes, unregisterTheme, } from './theme-registry';
7
+ export { ThemeBuilder, createTheme } from './theme-builder';
8
+ export { lighten, darken, alpha } from './color-utils';
9
+ export { lightTheme, darkTheme, materialTheme, githubTheme, nordTheme, draculaTheme, oneDarkTheme, solarizedTheme, } from './themes';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/theming/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EACL,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,UAAU,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * ThemeBuilder - Fluent API for creating custom themes
3
+ */
4
+ import type { ZenGridTheme, PartialTheme, ThemeColors } from './theme.interface';
5
+ export declare class ThemeBuilder {
6
+ private _theme;
7
+ constructor(base: ZenGridTheme);
8
+ /** Set the display name and id */
9
+ name(displayName: string, id?: string): this;
10
+ /** Set the accent color (applies to active, selected, focus borders and link text) */
11
+ accentColor(color: string): this;
12
+ /** Set the font family */
13
+ font(fontFamily: string): this;
14
+ /** Set the font size */
15
+ fontSize(size: string): this;
16
+ /** Override specific colors (deep merged) */
17
+ colors(overrides: {
18
+ [K in keyof ThemeColors]?: Partial<ThemeColors[K]>;
19
+ }): this;
20
+ /** Override the mode */
21
+ mode(mode: 'light' | 'dark'): this;
22
+ /** Apply partial theme overrides (deep merged) */
23
+ override(partial: PartialTheme): this;
24
+ /** Build and return the theme without registering */
25
+ build(): ZenGridTheme;
26
+ /** Build, register globally, and return the theme */
27
+ register(): ZenGridTheme;
28
+ }
29
+ /**
30
+ * Create a new theme based on an existing theme.
31
+ *
32
+ * @param baseThemeId - ID of an existing theme to base on (default: 'light')
33
+ * @returns ThemeBuilder instance
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const corporate = createTheme('dark')
38
+ * .name('Corporate', 'corporate')
39
+ * .accentColor('#ff6b35')
40
+ * .font('Inter, sans-serif')
41
+ * .colors({ background: { primary: '#1a1a2e' } })
42
+ * .register();
43
+ * ```
44
+ */
45
+ export declare function createTheme(baseThemeId?: string): ThemeBuilder;
46
+ //# sourceMappingURL=theme-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-builder.d.ts","sourceRoot":"","sources":["../../../src/theming/theme-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA0BjF,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;gBAEjB,IAAI,EAAE,YAAY;IAI9B,kCAAkC;IAClC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5C,sFAAsF;IACtF,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAShC,0BAA0B;IAC1B,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK9B,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,6CAA6C;IAC7C,MAAM,CAAC,SAAS,EAAE;SAAG,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,IAAI;IAK/E,wBAAwB;IACxB,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAKlC,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAKrC,qDAAqD;IACrD,KAAK,IAAI,YAAY;IAIrB,qDAAqD;IACrD,QAAQ,IAAI,YAAY;CAKzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,WAAW,GAAE,MAAgB,GAAG,YAAY,CAGvE"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ThemeManager - Applies themes as CSS custom properties on grid containers
3
+ */
4
+ import type { ZenGridTheme } from './theme.interface';
5
+ /** Flatten a ZenGridTheme into a Record of CSS custom property name → value */
6
+ export declare function themeToCSSVariables(theme: ZenGridTheme): Record<string, string>;
7
+ /** Apply a theme to a grid container element */
8
+ export declare function applyTheme(container: HTMLElement, theme: ZenGridTheme): void;
9
+ /** Remove all theme CSS variables from a container */
10
+ export declare function removeTheme(container: HTMLElement): void;
11
+ //# sourceMappingURL=theme-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../../src/theming/theme-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2F/E;AAED,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CA0B5E;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAiCxD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ThemeRegistry - Global registry of named themes
3
+ */
4
+ import type { ZenGridTheme } from './theme.interface';
5
+ /** Register a theme globally */
6
+ export declare function registerTheme(theme: ZenGridTheme): void;
7
+ /** Get a registered theme by id */
8
+ export declare function getTheme(id: string): ZenGridTheme | undefined;
9
+ /** Check if a theme is registered */
10
+ export declare function hasTheme(id: string): boolean;
11
+ /** List all registered theme ids */
12
+ export declare function listThemes(): string[];
13
+ /** Get all registered themes */
14
+ export declare function getAllThemes(): ZenGridTheme[];
15
+ /** Unregister a theme */
16
+ export declare function unregisterTheme(id: string): boolean;
17
+ //# sourceMappingURL=theme-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-registry.d.ts","sourceRoot":"","sources":["../../../src/theming/theme-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,gCAAgC;AAChC,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAEvD;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7D;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,oCAAoC;AACpC,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAED,gCAAgC;AAChC,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAE7C;AAED,yBAAyB;AACzB,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnD"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * ZenGrid Theme System - Type Definitions
3
+ */
4
+ export interface ThemeColors {
5
+ background: {
6
+ primary: string;
7
+ secondary: string;
8
+ hover: string;
9
+ selected: string;
10
+ active: string;
11
+ editing: string;
12
+ disabled: string;
13
+ };
14
+ border: {
15
+ default: string;
16
+ active: string;
17
+ selected: string;
18
+ editing: string;
19
+ focus: string;
20
+ };
21
+ text: {
22
+ primary: string;
23
+ secondary: string;
24
+ disabled: string;
25
+ negative: string;
26
+ link: string;
27
+ };
28
+ state: {
29
+ success: string;
30
+ warning: string;
31
+ error: string;
32
+ info: string;
33
+ };
34
+ scrollbar: {
35
+ thumb: string;
36
+ thumbHover: string;
37
+ };
38
+ }
39
+ export interface ThemeTypography {
40
+ fontFamily: string;
41
+ fontSize: string;
42
+ lineHeight: string | number;
43
+ fontWeight: {
44
+ normal: number;
45
+ medium: number;
46
+ semibold: number;
47
+ bold: number;
48
+ };
49
+ }
50
+ export interface ThemeSpacing {
51
+ cellPaddingX: string;
52
+ cellPaddingY: string;
53
+ headerPadding: string;
54
+ }
55
+ export interface ThemeBorders {
56
+ width: string;
57
+ radius: string;
58
+ }
59
+ export interface ThemeShadows {
60
+ sm: string;
61
+ md: string;
62
+ lg: string;
63
+ }
64
+ export interface ThemeTransitions {
65
+ fast: string;
66
+ normal: string;
67
+ slow: string;
68
+ }
69
+ export interface ZenGridTheme {
70
+ name: string;
71
+ id: string;
72
+ mode: 'light' | 'dark';
73
+ colors: ThemeColors;
74
+ typography: ThemeTypography;
75
+ spacing: ThemeSpacing;
76
+ borders: ThemeBorders;
77
+ shadows: ThemeShadows;
78
+ transitions: ThemeTransitions;
79
+ }
80
+ /** Deep partial for theme overrides */
81
+ export type PartialTheme = {
82
+ [K in keyof ZenGridTheme]?: K extends 'colors' ? {
83
+ [C in keyof ThemeColors]?: Partial<ThemeColors[C]>;
84
+ } : K extends 'typography' ? Partial<ThemeTypography> & {
85
+ fontWeight?: Partial<ThemeTypography['fontWeight']>;
86
+ } : K extends keyof ZenGridTheme ? Partial<ZenGridTheme[K]> : never;
87
+ };
88
+ //# sourceMappingURL=theme.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.interface.d.ts","sourceRoot":"","sources":["../../../src/theming/theme.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const darkTheme: ZenGridTheme;
3
+ //# sourceMappingURL=dark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,SAAS,EAAE,YA6DvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const draculaTheme: ZenGridTheme;
3
+ //# sourceMappingURL=dracula.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dracula.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/dracula.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,YA6D1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const githubTheme: ZenGridTheme;
3
+ //# sourceMappingURL=github.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,WAAW,EAAE,YA6DzB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Built-in themes - exports and auto-registration
3
+ */
4
+ export { lightTheme } from './light';
5
+ export { darkTheme } from './dark';
6
+ export { materialTheme } from './material';
7
+ export { githubTheme } from './github';
8
+ export { nordTheme } from './nord';
9
+ export { draculaTheme } from './dracula';
10
+ export { oneDarkTheme } from './one-dark';
11
+ export { solarizedTheme } from './solarized';
12
+ /** Register all built-in themes. Called once on import. */
13
+ export declare function registerBuiltInThemes(): void;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAuB7C,2DAA2D;AAC3D,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const lightTheme: ZenGridTheme;
3
+ //# sourceMappingURL=light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,YA6DxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const materialTheme: ZenGridTheme;
3
+ //# sourceMappingURL=material.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/material.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,YA6D3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const nordTheme: ZenGridTheme;
3
+ //# sourceMappingURL=nord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nord.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/nord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,SAAS,EAAE,YA6DvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const oneDarkTheme: ZenGridTheme;
3
+ //# sourceMappingURL=one-dark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one-dark.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/one-dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,YA6D1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ZenGridTheme } from '../theme.interface';
2
+ export declare const solarizedTheme: ZenGridTheme;
3
+ //# sourceMappingURL=solarized.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solarized.d.ts","sourceRoot":"","sources":["../../../../src/theming/themes/solarized.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,eAAO,MAAM,cAAc,EAAE,YA6D5B,CAAC"}
@@ -10,6 +10,7 @@ import type { FilterModel, FilterExpression } 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
  /**
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zengrid/core",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "High-performance data grid library with 14 advanced data structures and virtual scrolling",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.esm.js",
@@ -45,4 +45,4 @@
45
45
  "@zengrid/shared": "^1.1.0",
46
46
  "vanilla-calendar-pro": "^3.0.5"
47
47
  }
48
- }
48
+ }
@@ -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