@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
@@ -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);
@@ -197,6 +250,79 @@
197
250
  accent-color: var(--zg-selected-border);
198
251
  }
199
252
 
253
+ /* Active filter chips */
254
+ .zg-filter-chip-bar {
255
+ position: absolute;
256
+ left: 0;
257
+ right: 0;
258
+ z-index: 9;
259
+ display: flex;
260
+ align-items: flex-start;
261
+ gap: 8px;
262
+ padding: 6px 8px;
263
+ border-bottom: 1px solid var(--zg-border-color);
264
+ background: var(--zg-bg-secondary, #f9f9f9);
265
+ box-sizing: border-box;
266
+ }
267
+
268
+ .zg-filter-chip-bar__title {
269
+ font-size: 12px;
270
+ font-weight: 600;
271
+ color: var(--zg-text-secondary, #666666);
272
+ line-height: 24px;
273
+ }
274
+
275
+ .zg-filter-chip-bar__list {
276
+ display: flex;
277
+ flex: 1;
278
+ flex-wrap: wrap;
279
+ gap: 6px;
280
+ }
281
+
282
+ .zg-filter-chip-bar__clear {
283
+ flex-shrink: 0;
284
+ padding: 4px 8px;
285
+ border: 1px solid var(--zg-border-color);
286
+ border-radius: 999px;
287
+ background: transparent;
288
+ color: var(--zg-text-secondary, #666666);
289
+ font-size: 12px;
290
+ cursor: pointer;
291
+ }
292
+
293
+ .zg-filter-chip {
294
+ display: inline-flex;
295
+ align-items: center;
296
+ gap: 6px;
297
+ min-width: 0;
298
+ padding: 4px 8px;
299
+ border: 1px solid var(--zg-border-color);
300
+ border-radius: 999px;
301
+ background: var(--zg-bg-color);
302
+ color: var(--zg-text-color);
303
+ box-shadow: var(--zg-shadow-sm);
304
+ }
305
+
306
+ .zg-filter-chip__label {
307
+ min-width: 0;
308
+ max-width: 320px;
309
+ overflow: hidden;
310
+ text-overflow: ellipsis;
311
+ white-space: nowrap;
312
+ font-size: 12px;
313
+ }
314
+
315
+ .zg-filter-chip__remove {
316
+ flex-shrink: 0;
317
+ border: 0;
318
+ padding: 0;
319
+ background: transparent;
320
+ color: inherit;
321
+ font-size: 14px;
322
+ line-height: 1;
323
+ cursor: pointer;
324
+ }
325
+
200
326
  /* Filter popup */
201
327
  .zg-filter-popup {
202
328
  position: fixed;
@@ -338,16 +464,9 @@
338
464
  inset 0 -1px 0 0 var(--zg-border-color);
339
465
  }
340
466
 
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
- }
467
+ /* Dark theme - applied via ThemeManager inline CSS variables on container.
468
+ Legacy .zg-theme-dark class is still set for backwards compat but
469
+ no CSS overrides are needed here since the theme manager handles it. */
351
470
 
352
471
  /* High contrast mode */
353
472
  @media (prefers-contrast: high) {
@@ -366,7 +485,7 @@
366
485
  }
367
486
 
368
487
  .zg-cell-negative {
369
- color: #d32f2f;
488
+ color: var(--zg-text-negative, #d32f2f);
370
489
  }
371
490
 
372
491
  /* Image renderer */
@@ -437,12 +556,13 @@
437
556
 
438
557
  /* Scroll mode (scrolls within fixed cell height) */
439
558
  .zg-cell-overflow-scroll {
440
- overflow-y: auto !important;
441
- overflow-x: hidden !important;
442
- white-space: normal !important;
559
+ overflow-y: auto;
560
+ overflow-x: hidden;
561
+ white-space: normal;
443
562
  word-wrap: break-word;
444
563
  scroll-behavior: smooth;
445
564
  scrollbar-width: thin;
565
+ contain: layout style; /* Remove paint containment so scrollbar can render */
446
566
  }
447
567
 
448
568
  .zg-cell-overflow-scroll::-webkit-scrollbar {
@@ -473,18 +593,20 @@
473
593
 
474
594
  /* Chip cell overrides - allow proper overflow handling */
475
595
  .zg-cell-chip {
476
- white-space: normal; /* Override default nowrap */
477
- overflow: visible; /* Allow chip container to handle overflow */
596
+ white-space: nowrap;
597
+ overflow: hidden; /* Clip chips to cell bounds by default */
598
+ contain: layout style; /* Relax paint containment for chip rendering */
478
599
  }
479
600
 
480
601
  /* When chip cell has scroll mode, enable horizontal scrolling */
481
602
  .zg-cell-overflow-scroll.zg-cell-chip {
482
- overflow-x: auto !important; /* Allow horizontal scrolling */
483
- overflow-y: hidden !important; /* Prevent vertical overflow */
603
+ overflow-x: auto; /* Allow horizontal scrolling */
604
+ overflow-y: hidden; /* Prevent vertical overflow */
484
605
  display: flex; /* Enable flexbox for proper containment */
485
606
  align-items: center; /* Vertically center chips */
486
607
  white-space: nowrap; /* Keep chips in single line */
487
608
  scrollbar-width: thin; /* Thin scrollbar for Firefox */
609
+ contain: layout style; /* Remove paint containment so scrollbar can render */
488
610
  }
489
611
 
490
612
  .zg-cell-overflow-scroll.zg-cell-chip::-webkit-scrollbar {
@@ -520,10 +642,14 @@
520
642
 
521
643
  .zg-chip-container--scroll {
522
644
  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 */
645
+ overflow-x: auto;
646
+ overflow-y: hidden;
647
+ max-height: 100%;
648
+ scrollbar-width: none; /* Firefox */
649
+ }
650
+
651
+ .zg-chip-container--scroll::-webkit-scrollbar {
652
+ display: none; /* Chrome/Safari */
527
653
  }
528
654
 
529
655
  .zg-chip-container--collapse {
@@ -531,6 +657,18 @@
531
657
  overflow: hidden;
532
658
  }
533
659
 
660
+ /* Button Renderer Styles */
661
+ .zg-cell.zg-cell-button {
662
+ display: flex;
663
+ align-items: center;
664
+ justify-content: center;
665
+ }
666
+
667
+ .zg-button {
668
+ line-height: 1;
669
+ text-align: center;
670
+ }
671
+
534
672
  /* Checkbox Renderer Styles */
535
673
  .zg-cell.zg-cell-checkbox-container {
536
674
  display: flex;
@@ -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"}