photon-grid-core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +0 -0
  3. package/cell-selection/active-grid-registry.d.ts +37 -0
  4. package/cell-selection/active-grid-registry.d.ts.map +1 -0
  5. package/cell-selection/active-grid-registry.js +25 -0
  6. package/cell-selection/active-grid-registry.js.map +1 -0
  7. package/cell-selection/cell-selection-engine.d.ts +336 -0
  8. package/cell-selection/cell-selection-engine.d.ts.map +1 -0
  9. package/cell-selection/cell-selection-engine.js +1534 -0
  10. package/cell-selection/cell-selection-engine.js.map +1 -0
  11. package/cell-selection/selection-range.d.ts +16 -0
  12. package/cell-selection/selection-range.d.ts.map +1 -0
  13. package/cell-selection/selection-range.js +48 -0
  14. package/cell-selection/selection-range.js.map +1 -0
  15. package/cell-selection/selection-renderer.d.ts +24 -0
  16. package/cell-selection/selection-renderer.d.ts.map +1 -0
  17. package/cell-selection/selection-renderer.js +107 -0
  18. package/cell-selection/selection-renderer.js.map +1 -0
  19. package/chart/chart-analyzer/aggregation-analyzer.d.ts +18 -0
  20. package/chart/chart-analyzer/aggregation-analyzer.d.ts.map +1 -0
  21. package/chart/chart-analyzer/aggregation-analyzer.js +63 -0
  22. package/chart/chart-analyzer/aggregation-analyzer.js.map +1 -0
  23. package/chart/chart-analyzer/bar-analyzer.d.ts +19 -0
  24. package/chart/chart-analyzer/bar-analyzer.d.ts.map +1 -0
  25. package/chart/chart-analyzer/bar-analyzer.js +56 -0
  26. package/chart/chart-analyzer/bar-analyzer.js.map +1 -0
  27. package/chart/chart-analyzer/bubble-analyzer.d.ts +16 -0
  28. package/chart/chart-analyzer/bubble-analyzer.d.ts.map +1 -0
  29. package/chart/chart-analyzer/bubble-analyzer.js +61 -0
  30. package/chart/chart-analyzer/bubble-analyzer.js.map +1 -0
  31. package/chart/chart-analyzer/cardinality-analyzer.d.ts +13 -0
  32. package/chart/chart-analyzer/cardinality-analyzer.d.ts.map +1 -0
  33. package/chart/chart-analyzer/cardinality-analyzer.js +28 -0
  34. package/chart/chart-analyzer/cardinality-analyzer.js.map +1 -0
  35. package/chart/chart-analyzer/dimension-analyzer.d.ts +12 -0
  36. package/chart/chart-analyzer/dimension-analyzer.d.ts.map +1 -0
  37. package/chart/chart-analyzer/dimension-analyzer.js +33 -0
  38. package/chart/chart-analyzer/dimension-analyzer.js.map +1 -0
  39. package/chart/chart-analyzer/histogram-analyzer.d.ts +11 -0
  40. package/chart/chart-analyzer/histogram-analyzer.d.ts.map +1 -0
  41. package/chart/chart-analyzer/histogram-analyzer.js +43 -0
  42. package/chart/chart-analyzer/histogram-analyzer.js.map +1 -0
  43. package/chart/chart-analyzer/index.d.ts +58 -0
  44. package/chart/chart-analyzer/index.d.ts.map +1 -0
  45. package/chart/chart-analyzer/index.js +130 -0
  46. package/chart/chart-analyzer/index.js.map +1 -0
  47. package/chart/chart-analyzer/line-analyzer.d.ts +23 -0
  48. package/chart/chart-analyzer/line-analyzer.d.ts.map +1 -0
  49. package/chart/chart-analyzer/line-analyzer.js +61 -0
  50. package/chart/chart-analyzer/line-analyzer.js.map +1 -0
  51. package/chart/chart-analyzer/measure-analyzer.d.ts +11 -0
  52. package/chart/chart-analyzer/measure-analyzer.d.ts.map +1 -0
  53. package/chart/chart-analyzer/measure-analyzer.js +44 -0
  54. package/chart/chart-analyzer/measure-analyzer.js.map +1 -0
  55. package/chart/chart-analyzer/pie-analyzer.d.ts +19 -0
  56. package/chart/chart-analyzer/pie-analyzer.d.ts.map +1 -0
  57. package/chart/chart-analyzer/pie-analyzer.js +64 -0
  58. package/chart/chart-analyzer/pie-analyzer.js.map +1 -0
  59. package/chart/chart-analyzer/recommendation-engine.d.ts +18 -0
  60. package/chart/chart-analyzer/recommendation-engine.d.ts.map +1 -0
  61. package/chart/chart-analyzer/recommendation-engine.js +82 -0
  62. package/chart/chart-analyzer/recommendation-engine.js.map +1 -0
  63. package/chart/chart-analyzer/scatter-analyzer.d.ts +16 -0
  64. package/chart/chart-analyzer/scatter-analyzer.d.ts.map +1 -0
  65. package/chart/chart-analyzer/scatter-analyzer.js +70 -0
  66. package/chart/chart-analyzer/scatter-analyzer.js.map +1 -0
  67. package/chart/chart-analyzer/types.d.ts +52 -0
  68. package/chart/chart-analyzer/types.d.ts.map +1 -0
  69. package/chart/chart-analyzer/types.js +10 -0
  70. package/chart/chart-analyzer/types.js.map +1 -0
  71. package/chart/chart-analyzer.d.ts +12 -0
  72. package/chart/chart-analyzer.d.ts.map +1 -0
  73. package/chart/chart-analyzer.js +77 -0
  74. package/chart/chart-analyzer.js.map +1 -0
  75. package/chart/chart-data-transformer.d.ts +26 -0
  76. package/chart/chart-data-transformer.d.ts.map +1 -0
  77. package/chart/chart-data-transformer.js +93 -0
  78. package/chart/chart-data-transformer.js.map +1 -0
  79. package/chart/chart-engine.d.ts +38 -0
  80. package/chart/chart-engine.d.ts.map +1 -0
  81. package/chart/chart-engine.js +96 -0
  82. package/chart/chart-engine.js.map +1 -0
  83. package/chart/chart-panel.d.ts +54 -0
  84. package/chart/chart-panel.d.ts.map +1 -0
  85. package/chart/chart-panel.js +350 -0
  86. package/chart/chart-panel.js.map +1 -0
  87. package/chart/chart-renderer.d.ts +93 -0
  88. package/chart/chart-renderer.d.ts.map +1 -0
  89. package/chart/chart-renderer.js +1330 -0
  90. package/chart/chart-renderer.js.map +1 -0
  91. package/chart/sparkline/sparkline-renderer.d.ts +269 -0
  92. package/chart/sparkline/sparkline-renderer.d.ts.map +1 -0
  93. package/chart/sparkline/sparkline-renderer.js +875 -0
  94. package/chart/sparkline/sparkline-renderer.js.map +1 -0
  95. package/chart/sparkline/sparkline.types.d.ts +214 -0
  96. package/chart/sparkline/sparkline.types.d.ts.map +1 -0
  97. package/chart/sparkline/sparkline.types.js +8 -0
  98. package/chart/sparkline/sparkline.types.js.map +1 -0
  99. package/column-groups/column-group-drag-handler.d.ts +169 -0
  100. package/column-groups/column-group-drag-handler.d.ts.map +1 -0
  101. package/column-groups/column-group-drag-handler.js +517 -0
  102. package/column-groups/column-group-drag-handler.js.map +1 -0
  103. package/column-groups/column-group-header-builder.d.ts +106 -0
  104. package/column-groups/column-group-header-builder.d.ts.map +1 -0
  105. package/column-groups/column-group-header-builder.js +311 -0
  106. package/column-groups/column-group-header-builder.js.map +1 -0
  107. package/column-groups/column-group-model.d.ts +248 -0
  108. package/column-groups/column-group-model.d.ts.map +1 -0
  109. package/column-groups/column-group-model.js +668 -0
  110. package/column-groups/column-group-model.js.map +1 -0
  111. package/column-groups/column-group-state-manager.d.ts +110 -0
  112. package/column-groups/column-group-state-manager.d.ts.map +1 -0
  113. package/column-groups/column-group-state-manager.js +153 -0
  114. package/column-groups/column-group-state-manager.js.map +1 -0
  115. package/column-groups/column-group.types.d.ts +250 -0
  116. package/column-groups/column-group.types.d.ts.map +1 -0
  117. package/column-groups/column-group.types.js +20 -0
  118. package/column-groups/column-group.types.js.map +1 -0
  119. package/column-groups/display-group-builder.d.ts +91 -0
  120. package/column-groups/display-group-builder.d.ts.map +1 -0
  121. package/column-groups/display-group-builder.js +225 -0
  122. package/column-groups/display-group-builder.js.map +1 -0
  123. package/column-groups/display-group-drag-handler.d.ts +205 -0
  124. package/column-groups/display-group-drag-handler.d.ts.map +1 -0
  125. package/column-groups/display-group-drag-handler.js +536 -0
  126. package/column-groups/display-group-drag-handler.js.map +1 -0
  127. package/column-groups/display-group-engine.d.ts +310 -0
  128. package/column-groups/display-group-engine.d.ts.map +1 -0
  129. package/column-groups/display-group-engine.js +549 -0
  130. package/column-groups/display-group-engine.js.map +1 -0
  131. package/column-groups/display-group-header-builder.d.ts +94 -0
  132. package/column-groups/display-group-header-builder.d.ts.map +1 -0
  133. package/column-groups/display-group-header-builder.js +224 -0
  134. package/column-groups/display-group-header-builder.js.map +1 -0
  135. package/column-groups/display-group.types.d.ts +140 -0
  136. package/column-groups/display-group.types.d.ts.map +1 -0
  137. package/column-groups/display-group.types.js +2 -0
  138. package/column-groups/display-group.types.js.map +1 -0
  139. package/column-groups/index.d.ts +25 -0
  140. package/column-groups/index.d.ts.map +1 -0
  141. package/column-groups/index.js +26 -0
  142. package/column-groups/index.js.map +1 -0
  143. package/column-groups/logical-group-registry.d.ts +77 -0
  144. package/column-groups/logical-group-registry.d.ts.map +1 -0
  145. package/column-groups/logical-group-registry.js +118 -0
  146. package/column-groups/logical-group-registry.js.map +1 -0
  147. package/core/column-model.d.ts +30 -0
  148. package/core/column-model.d.ts.map +1 -0
  149. package/core/column-model.js +203 -0
  150. package/core/column-model.js.map +1 -0
  151. package/core/grid-api.d.ts +187 -0
  152. package/core/grid-api.d.ts.map +1 -0
  153. package/core/grid-api.js +569 -0
  154. package/core/grid-api.js.map +1 -0
  155. package/core/grid-context.d.ts +61 -0
  156. package/core/grid-context.d.ts.map +1 -0
  157. package/core/grid-context.js +2 -0
  158. package/core/grid-context.js.map +1 -0
  159. package/core/grid-core.d.ts +49 -0
  160. package/core/grid-core.d.ts.map +1 -0
  161. package/core/grid-core.js +675 -0
  162. package/core/grid-core.js.map +1 -0
  163. package/core/grid-store.d.ts +62 -0
  164. package/core/grid-store.d.ts.map +1 -0
  165. package/core/grid-store.js +104 -0
  166. package/core/grid-store.js.map +1 -0
  167. package/core/row-model.d.ts +32 -0
  168. package/core/row-model.d.ts.map +1 -0
  169. package/core/row-model.js +150 -0
  170. package/core/row-model.js.map +1 -0
  171. package/drag-drop/drag-autoscroll.d.ts +14 -0
  172. package/drag-drop/drag-autoscroll.d.ts.map +1 -0
  173. package/drag-drop/drag-autoscroll.js +66 -0
  174. package/drag-drop/drag-autoscroll.js.map +1 -0
  175. package/drag-drop/drag-drop-engine.d.ts +55 -0
  176. package/drag-drop/drag-drop-engine.d.ts.map +1 -0
  177. package/drag-drop/drag-drop-engine.js +179 -0
  178. package/drag-drop/drag-drop-engine.js.map +1 -0
  179. package/drag-drop/drag-preview.d.ts +32 -0
  180. package/drag-drop/drag-preview.d.ts.map +1 -0
  181. package/drag-drop/drag-preview.js +74 -0
  182. package/drag-drop/drag-preview.js.map +1 -0
  183. package/engines/aggregation/aggregation-engine.d.ts +66 -0
  184. package/engines/aggregation/aggregation-engine.d.ts.map +1 -0
  185. package/engines/aggregation/aggregation-engine.js +149 -0
  186. package/engines/aggregation/aggregation-engine.js.map +1 -0
  187. package/engines/clipboard/clipboard-engine.d.ts +89 -0
  188. package/engines/clipboard/clipboard-engine.d.ts.map +1 -0
  189. package/engines/clipboard/clipboard-engine.js +323 -0
  190. package/engines/clipboard/clipboard-engine.js.map +1 -0
  191. package/engines/editing/cell-editor-engine.d.ts +62 -0
  192. package/engines/editing/cell-editor-engine.d.ts.map +1 -0
  193. package/engines/editing/cell-editor-engine.js +359 -0
  194. package/engines/editing/cell-editor-engine.js.map +1 -0
  195. package/engines/editing/custom-dropdown-editor.d.ts +99 -0
  196. package/engines/editing/custom-dropdown-editor.d.ts.map +1 -0
  197. package/engines/editing/custom-dropdown-editor.js +355 -0
  198. package/engines/editing/custom-dropdown-editor.js.map +1 -0
  199. package/engines/editing/value-parser.d.ts +12 -0
  200. package/engines/editing/value-parser.d.ts.map +1 -0
  201. package/engines/editing/value-parser.js +125 -0
  202. package/engines/editing/value-parser.js.map +1 -0
  203. package/engines/export/export-engine.d.ts +16 -0
  204. package/engines/export/export-engine.d.ts.map +1 -0
  205. package/engines/export/export-engine.js +99 -0
  206. package/engines/export/export-engine.js.map +1 -0
  207. package/engines/filter/filter-condition.d.ts +7 -0
  208. package/engines/filter/filter-condition.d.ts.map +1 -0
  209. package/engines/filter/filter-condition.js +126 -0
  210. package/engines/filter/filter-condition.js.map +1 -0
  211. package/engines/filter/filter-engine.d.ts +35 -0
  212. package/engines/filter/filter-engine.d.ts.map +1 -0
  213. package/engines/filter/filter-engine.js +150 -0
  214. package/engines/filter/filter-engine.js.map +1 -0
  215. package/engines/filter/filter-panel.d.ts +103 -0
  216. package/engines/filter/filter-panel.d.ts.map +1 -0
  217. package/engines/filter/filter-panel.js +645 -0
  218. package/engines/filter/filter-panel.js.map +1 -0
  219. package/engines/grouping/group-node.d.ts +21 -0
  220. package/engines/grouping/group-node.d.ts.map +1 -0
  221. package/engines/grouping/group-node.js +96 -0
  222. package/engines/grouping/group-node.js.map +1 -0
  223. package/engines/grouping/grouping-engine.d.ts +33 -0
  224. package/engines/grouping/grouping-engine.d.ts.map +1 -0
  225. package/engines/grouping/grouping-engine.js +118 -0
  226. package/engines/grouping/grouping-engine.js.map +1 -0
  227. package/engines/master-detail/master-detail-engine.d.ts +77 -0
  228. package/engines/master-detail/master-detail-engine.d.ts.map +1 -0
  229. package/engines/master-detail/master-detail-engine.js +199 -0
  230. package/engines/master-detail/master-detail-engine.js.map +1 -0
  231. package/engines/pagination/pagination-engine.d.ts +33 -0
  232. package/engines/pagination/pagination-engine.d.ts.map +1 -0
  233. package/engines/pagination/pagination-engine.js +110 -0
  234. package/engines/pagination/pagination-engine.js.map +1 -0
  235. package/engines/selection/row-selection-engine.d.ts +26 -0
  236. package/engines/selection/row-selection-engine.d.ts.map +1 -0
  237. package/engines/selection/row-selection-engine.js +145 -0
  238. package/engines/selection/row-selection-engine.js.map +1 -0
  239. package/engines/sort/sort-comparator.d.ts +43 -0
  240. package/engines/sort/sort-comparator.d.ts.map +1 -0
  241. package/engines/sort/sort-comparator.js +113 -0
  242. package/engines/sort/sort-comparator.js.map +1 -0
  243. package/engines/sort/sort-engine.d.ts +67 -0
  244. package/engines/sort/sort-engine.d.ts.map +1 -0
  245. package/engines/sort/sort-engine.js +178 -0
  246. package/engines/sort/sort-engine.js.map +1 -0
  247. package/engines/summary/summary-engine.d.ts +17 -0
  248. package/engines/summary/summary-engine.d.ts.map +1 -0
  249. package/engines/summary/summary-engine.js +72 -0
  250. package/engines/summary/summary-engine.js.map +1 -0
  251. package/engines/tree/tree-data-service.d.ts +117 -0
  252. package/engines/tree/tree-data-service.d.ts.map +1 -0
  253. package/engines/tree/tree-data-service.js +296 -0
  254. package/engines/tree/tree-data-service.js.map +1 -0
  255. package/engines/tree/tree-expansion-service.d.ts +35 -0
  256. package/engines/tree/tree-expansion-service.d.ts.map +1 -0
  257. package/engines/tree/tree-expansion-service.js +84 -0
  258. package/engines/tree/tree-expansion-service.js.map +1 -0
  259. package/engines/tree/tree-node.d.ts +40 -0
  260. package/engines/tree/tree-node.d.ts.map +1 -0
  261. package/engines/tree/tree-node.js +199 -0
  262. package/engines/tree/tree-node.js.map +1 -0
  263. package/engines/tree/tree-selection-service.d.ts +35 -0
  264. package/engines/tree/tree-selection-service.d.ts.map +1 -0
  265. package/engines/tree/tree-selection-service.js +72 -0
  266. package/engines/tree/tree-selection-service.js.map +1 -0
  267. package/engines/undo-redo/undo-redo-engine.d.ts +114 -0
  268. package/engines/undo-redo/undo-redo-engine.d.ts.map +1 -0
  269. package/engines/undo-redo/undo-redo-engine.js +165 -0
  270. package/engines/undo-redo/undo-redo-engine.js.map +1 -0
  271. package/event-bus/event-bus.d.ts +21 -0
  272. package/event-bus/event-bus.d.ts.map +1 -0
  273. package/event-bus/event-bus.js +106 -0
  274. package/event-bus/event-bus.js.map +1 -0
  275. package/icons/icon-registry.d.ts +19 -0
  276. package/icons/icon-registry.d.ts.map +1 -0
  277. package/icons/icon-registry.js +37 -0
  278. package/icons/icon-registry.js.map +1 -0
  279. package/icons/icon-renderer.d.ts +18 -0
  280. package/icons/icon-renderer.d.ts.map +1 -0
  281. package/icons/icon-renderer.js +75 -0
  282. package/icons/icon-renderer.js.map +1 -0
  283. package/icons/icon-sets/core-icons.d.ts +2 -0
  284. package/icons/icon-sets/core-icons.d.ts.map +1 -0
  285. package/icons/icon-sets/core-icons.js +48 -0
  286. package/icons/icon-sets/core-icons.js.map +1 -0
  287. package/index.d.ts +72 -0
  288. package/index.d.ts.map +1 -0
  289. package/index.js +54 -0
  290. package/index.js.map +1 -0
  291. package/package.json +64 -0
  292. package/photon-ai/builtins/filter.commands.d.ts +4 -0
  293. package/photon-ai/builtins/filter.commands.d.ts.map +1 -0
  294. package/photon-ai/builtins/filter.commands.js +189 -0
  295. package/photon-ai/builtins/filter.commands.js.map +1 -0
  296. package/photon-ai/builtins/grouping.commands.d.ts +4 -0
  297. package/photon-ai/builtins/grouping.commands.d.ts.map +1 -0
  298. package/photon-ai/builtins/grouping.commands.js +115 -0
  299. package/photon-ai/builtins/grouping.commands.js.map +1 -0
  300. package/photon-ai/builtins/index.d.ts +10 -0
  301. package/photon-ai/builtins/index.d.ts.map +1 -0
  302. package/photon-ai/builtins/index.js +26 -0
  303. package/photon-ai/builtins/index.js.map +1 -0
  304. package/photon-ai/builtins/info.commands.d.ts +4 -0
  305. package/photon-ai/builtins/info.commands.d.ts.map +1 -0
  306. package/photon-ai/builtins/info.commands.js +201 -0
  307. package/photon-ai/builtins/info.commands.js.map +1 -0
  308. package/photon-ai/builtins/move.commands.d.ts +4 -0
  309. package/photon-ai/builtins/move.commands.d.ts.map +1 -0
  310. package/photon-ai/builtins/move.commands.js +53 -0
  311. package/photon-ai/builtins/move.commands.js.map +1 -0
  312. package/photon-ai/builtins/pin.commands.d.ts +4 -0
  313. package/photon-ai/builtins/pin.commands.d.ts.map +1 -0
  314. package/photon-ai/builtins/pin.commands.js +106 -0
  315. package/photon-ai/builtins/pin.commands.js.map +1 -0
  316. package/photon-ai/builtins/selection.commands.d.ts +4 -0
  317. package/photon-ai/builtins/selection.commands.d.ts.map +1 -0
  318. package/photon-ai/builtins/selection.commands.js +102 -0
  319. package/photon-ai/builtins/selection.commands.js.map +1 -0
  320. package/photon-ai/builtins/sort.commands.d.ts +4 -0
  321. package/photon-ai/builtins/sort.commands.d.ts.map +1 -0
  322. package/photon-ai/builtins/sort.commands.js +67 -0
  323. package/photon-ai/builtins/sort.commands.js.map +1 -0
  324. package/photon-ai/builtins/visibility.commands.d.ts +4 -0
  325. package/photon-ai/builtins/visibility.commands.d.ts.map +1 -0
  326. package/photon-ai/builtins/visibility.commands.js +75 -0
  327. package/photon-ai/builtins/visibility.commands.js.map +1 -0
  328. package/photon-ai/command-builder.d.ts +21 -0
  329. package/photon-ai/command-builder.d.ts.map +1 -0
  330. package/photon-ai/command-builder.js +18 -0
  331. package/photon-ai/command-builder.js.map +1 -0
  332. package/photon-ai/command-executor.d.ts +15 -0
  333. package/photon-ai/command-executor.d.ts.map +1 -0
  334. package/photon-ai/command-executor.js +26 -0
  335. package/photon-ai/command-executor.js.map +1 -0
  336. package/photon-ai/entity-resolver.d.ts +121 -0
  337. package/photon-ai/entity-resolver.d.ts.map +1 -0
  338. package/photon-ai/entity-resolver.js +393 -0
  339. package/photon-ai/entity-resolver.js.map +1 -0
  340. package/photon-ai/fuzzy-match.d.ts +12 -0
  341. package/photon-ai/fuzzy-match.d.ts.map +1 -0
  342. package/photon-ai/fuzzy-match.js +37 -0
  343. package/photon-ai/fuzzy-match.js.map +1 -0
  344. package/photon-ai/index.d.ts +15 -0
  345. package/photon-ai/index.d.ts.map +1 -0
  346. package/photon-ai/index.js +13 -0
  347. package/photon-ai/index.js.map +1 -0
  348. package/photon-ai/intent-parser.d.ts +20 -0
  349. package/photon-ai/intent-parser.d.ts.map +1 -0
  350. package/photon-ai/intent-parser.js +52 -0
  351. package/photon-ai/intent-parser.js.map +1 -0
  352. package/photon-ai/photon-ai-memory.d.ts +42 -0
  353. package/photon-ai/photon-ai-memory.d.ts.map +1 -0
  354. package/photon-ai/photon-ai-memory.js +86 -0
  355. package/photon-ai/photon-ai-memory.js.map +1 -0
  356. package/photon-ai/photon-ai-panel.d.ts +54 -0
  357. package/photon-ai/photon-ai-panel.d.ts.map +1 -0
  358. package/photon-ai/photon-ai-panel.js +191 -0
  359. package/photon-ai/photon-ai-panel.js.map +1 -0
  360. package/photon-ai/photon-ai-registry.d.ts +25 -0
  361. package/photon-ai/photon-ai-registry.d.ts.map +1 -0
  362. package/photon-ai/photon-ai-registry.js +41 -0
  363. package/photon-ai/photon-ai-registry.js.map +1 -0
  364. package/photon-ai/photon-ai-service.d.ts +71 -0
  365. package/photon-ai/photon-ai-service.d.ts.map +1 -0
  366. package/photon-ai/photon-ai-service.js +165 -0
  367. package/photon-ai/photon-ai-service.js.map +1 -0
  368. package/photon-ai/photon-ai.types.d.ts +100 -0
  369. package/photon-ai/photon-ai.types.d.ts.map +1 -0
  370. package/photon-ai/photon-ai.types.js +2 -0
  371. package/photon-ai/photon-ai.types.js.map +1 -0
  372. package/photon-ai/query-splitter.d.ts +22 -0
  373. package/photon-ai/query-splitter.d.ts.map +1 -0
  374. package/photon-ai/query-splitter.js +81 -0
  375. package/photon-ai/query-splitter.js.map +1 -0
  376. package/photon-ai/text-normalizer.d.ts +33 -0
  377. package/photon-ai/text-normalizer.d.ts.map +1 -0
  378. package/photon-ai/text-normalizer.js +132 -0
  379. package/photon-ai/text-normalizer.js.map +1 -0
  380. package/renderer/auto-scroller.d.ts +78 -0
  381. package/renderer/auto-scroller.d.ts.map +1 -0
  382. package/renderer/auto-scroller.js +141 -0
  383. package/renderer/auto-scroller.js.map +1 -0
  384. package/renderer/body-renderer.d.ts +191 -0
  385. package/renderer/body-renderer.d.ts.map +1 -0
  386. package/renderer/body-renderer.js +806 -0
  387. package/renderer/body-renderer.js.map +1 -0
  388. package/renderer/cell-renderer.d.ts +26 -0
  389. package/renderer/cell-renderer.d.ts.map +1 -0
  390. package/renderer/cell-renderer.js +201 -0
  391. package/renderer/cell-renderer.js.map +1 -0
  392. package/renderer/column-menu.d.ts +285 -0
  393. package/renderer/column-menu.d.ts.map +1 -0
  394. package/renderer/column-menu.js +873 -0
  395. package/renderer/column-menu.js.map +1 -0
  396. package/renderer/column-style-manager.d.ts +38 -0
  397. package/renderer/column-style-manager.d.ts.map +1 -0
  398. package/renderer/column-style-manager.js +110 -0
  399. package/renderer/column-style-manager.js.map +1 -0
  400. package/renderer/detail-row-renderer.d.ts +153 -0
  401. package/renderer/detail-row-renderer.d.ts.map +1 -0
  402. package/renderer/detail-row-renderer.js +388 -0
  403. package/renderer/detail-row-renderer.js.map +1 -0
  404. package/renderer/dom-utils.d.ts +22 -0
  405. package/renderer/dom-utils.d.ts.map +1 -0
  406. package/renderer/dom-utils.js +132 -0
  407. package/renderer/dom-utils.js.map +1 -0
  408. package/renderer/footer-renderer.d.ts +25 -0
  409. package/renderer/footer-renderer.d.ts.map +1 -0
  410. package/renderer/footer-renderer.js +168 -0
  411. package/renderer/footer-renderer.js.map +1 -0
  412. package/renderer/grid-renderer.d.ts +295 -0
  413. package/renderer/grid-renderer.d.ts.map +1 -0
  414. package/renderer/grid-renderer.js +1456 -0
  415. package/renderer/grid-renderer.js.map +1 -0
  416. package/renderer/group-context-menu.d.ts +79 -0
  417. package/renderer/group-context-menu.d.ts.map +1 -0
  418. package/renderer/group-context-menu.js +238 -0
  419. package/renderer/group-context-menu.js.map +1 -0
  420. package/renderer/group-drop-zone.d.ts +56 -0
  421. package/renderer/group-drop-zone.d.ts.map +1 -0
  422. package/renderer/group-drop-zone.js +376 -0
  423. package/renderer/group-drop-zone.js.map +1 -0
  424. package/renderer/header-renderer.d.ts +264 -0
  425. package/renderer/header-renderer.d.ts.map +1 -0
  426. package/renderer/header-renderer.js +1321 -0
  427. package/renderer/header-renderer.js.map +1 -0
  428. package/renderer/overlay-renderer.d.ts +16 -0
  429. package/renderer/overlay-renderer.d.ts.map +1 -0
  430. package/renderer/overlay-renderer.js +64 -0
  431. package/renderer/overlay-renderer.js.map +1 -0
  432. package/renderer/renderer-resolver.d.ts +18 -0
  433. package/renderer/renderer-resolver.d.ts.map +1 -0
  434. package/renderer/renderer-resolver.js +18 -0
  435. package/renderer/renderer-resolver.js.map +1 -0
  436. package/renderer/row-animator.d.ts +72 -0
  437. package/renderer/row-animator.d.ts.map +1 -0
  438. package/renderer/row-animator.js +175 -0
  439. package/renderer/row-animator.js.map +1 -0
  440. package/renderer/row-drag-renderer.d.ts +58 -0
  441. package/renderer/row-drag-renderer.d.ts.map +1 -0
  442. package/renderer/row-drag-renderer.js +395 -0
  443. package/renderer/row-drag-renderer.js.map +1 -0
  444. package/renderer/row-offset-search.d.ts +17 -0
  445. package/renderer/row-offset-search.d.ts.map +1 -0
  446. package/renderer/row-offset-search.js +31 -0
  447. package/renderer/row-offset-search.js.map +1 -0
  448. package/renderer/row-position-sheet.d.ts +11 -0
  449. package/renderer/row-position-sheet.d.ts.map +1 -0
  450. package/renderer/row-position-sheet.js +29 -0
  451. package/renderer/row-position-sheet.js.map +1 -0
  452. package/renderer/scroll-controller.d.ts +58 -0
  453. package/renderer/scroll-controller.d.ts.map +1 -0
  454. package/renderer/scroll-controller.js +200 -0
  455. package/renderer/scroll-controller.js.map +1 -0
  456. package/renderer/sticky-row-tracker.d.ts +40 -0
  457. package/renderer/sticky-row-tracker.d.ts.map +1 -0
  458. package/renderer/sticky-row-tracker.js +63 -0
  459. package/renderer/sticky-row-tracker.js.map +1 -0
  460. package/renderer/tooltip-renderer.d.ts +36 -0
  461. package/renderer/tooltip-renderer.d.ts.map +1 -0
  462. package/renderer/tooltip-renderer.js +133 -0
  463. package/renderer/tooltip-renderer.js.map +1 -0
  464. package/renderer/tree-cell-renderer.d.ts +37 -0
  465. package/renderer/tree-cell-renderer.d.ts.map +1 -0
  466. package/renderer/tree-cell-renderer.js +75 -0
  467. package/renderer/tree-cell-renderer.js.map +1 -0
  468. package/renderer/tree-sticky-row-tracker.d.ts +62 -0
  469. package/renderer/tree-sticky-row-tracker.d.ts.map +1 -0
  470. package/renderer/tree-sticky-row-tracker.js +120 -0
  471. package/renderer/tree-sticky-row-tracker.js.map +1 -0
  472. package/renderer/virtual-scroll-renderer.d.ts +37 -0
  473. package/renderer/virtual-scroll-renderer.d.ts.map +1 -0
  474. package/renderer/virtual-scroll-renderer.js +133 -0
  475. package/renderer/virtual-scroll-renderer.js.map +1 -0
  476. package/styles/base-styles.d.ts +3 -0
  477. package/styles/base-styles.d.ts.map +1 -0
  478. package/styles/base-styles.js +3045 -0
  479. package/styles/base-styles.js.map +1 -0
  480. package/styles/themes/theme-alpine.d.ts +2 -0
  481. package/styles/themes/theme-alpine.d.ts.map +1 -0
  482. package/styles/themes/theme-alpine.js +120 -0
  483. package/styles/themes/theme-alpine.js.map +1 -0
  484. package/styles/themes/theme-balham.d.ts +2 -0
  485. package/styles/themes/theme-balham.d.ts.map +1 -0
  486. package/styles/themes/theme-balham.js +120 -0
  487. package/styles/themes/theme-balham.js.map +1 -0
  488. package/styles/themes/theme-dark.d.ts +2 -0
  489. package/styles/themes/theme-dark.d.ts.map +1 -0
  490. package/styles/themes/theme-dark.js +216 -0
  491. package/styles/themes/theme-dark.js.map +1 -0
  492. package/styles/themes/theme-material.d.ts +2 -0
  493. package/styles/themes/theme-material.d.ts.map +1 -0
  494. package/styles/themes/theme-material.js +134 -0
  495. package/styles/themes/theme-material.js.map +1 -0
  496. package/styles/themes/theme-quartz.d.ts +2 -0
  497. package/styles/themes/theme-quartz.d.ts.map +1 -0
  498. package/styles/themes/theme-quartz.js +120 -0
  499. package/styles/themes/theme-quartz.js.map +1 -0
  500. package/theme/css-var-injector.d.ts +10 -0
  501. package/theme/css-var-injector.d.ts.map +1 -0
  502. package/theme/css-var-injector.js +63 -0
  503. package/theme/css-var-injector.js.map +1 -0
  504. package/theme/theme-manager.d.ts +20 -0
  505. package/theme/theme-manager.d.ts.map +1 -0
  506. package/theme/theme-manager.js +79 -0
  507. package/theme/theme-manager.js.map +1 -0
  508. package/theme/themes/dark-theme.d.ts +3 -0
  509. package/theme/themes/dark-theme.d.ts.map +1 -0
  510. package/theme/themes/dark-theme.js +149 -0
  511. package/theme/themes/dark-theme.js.map +1 -0
  512. package/theme/themes/light-theme.d.ts +3 -0
  513. package/theme/themes/light-theme.d.ts.map +1 -0
  514. package/theme/themes/light-theme.js +149 -0
  515. package/theme/themes/light-theme.js.map +1 -0
  516. package/types/column.types.d.ts +195 -0
  517. package/types/column.types.d.ts.map +1 -0
  518. package/types/column.types.js +2 -0
  519. package/types/column.types.js.map +1 -0
  520. package/types/event.types.d.ts +213 -0
  521. package/types/event.types.d.ts.map +1 -0
  522. package/types/event.types.js +67 -0
  523. package/types/event.types.js.map +1 -0
  524. package/types/filter.types.d.ts +42 -0
  525. package/types/filter.types.d.ts.map +1 -0
  526. package/types/filter.types.js +2 -0
  527. package/types/filter.types.js.map +1 -0
  528. package/types/grid.types.d.ts +214 -0
  529. package/types/grid.types.d.ts.map +1 -0
  530. package/types/grid.types.js +2 -0
  531. package/types/grid.types.js.map +1 -0
  532. package/types/master-detail.types.d.ts +112 -0
  533. package/types/master-detail.types.d.ts.map +1 -0
  534. package/types/master-detail.types.js +2 -0
  535. package/types/master-detail.types.js.map +1 -0
  536. package/types/photon-ai.types.d.ts +19 -0
  537. package/types/photon-ai.types.d.ts.map +1 -0
  538. package/types/photon-ai.types.js +2 -0
  539. package/types/photon-ai.types.js.map +1 -0
  540. package/types/renderer.types.d.ts +156 -0
  541. package/types/renderer.types.d.ts.map +1 -0
  542. package/types/renderer.types.js +19 -0
  543. package/types/renderer.types.js.map +1 -0
  544. package/types/row.types.d.ts +127 -0
  545. package/types/row.types.d.ts.map +1 -0
  546. package/types/row.types.js +9 -0
  547. package/types/row.types.js.map +1 -0
  548. package/types/theme.types.d.ts +159 -0
  549. package/types/theme.types.d.ts.map +1 -0
  550. package/types/theme.types.js +2 -0
  551. package/types/theme.types.js.map +1 -0
  552. package/types/tree-data.types.d.ts +94 -0
  553. package/types/tree-data.types.d.ts.map +1 -0
  554. package/types/tree-data.types.js +2 -0
  555. package/types/tree-data.types.js.map +1 -0
package/LICENSE ADDED
@@ -0,0 +1 @@
1
+
package/README.md ADDED
File without changes
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Tracks which grid instance's cell selection is currently "active" on the
3
+ * page, so exactly one `CellSelectionEngine` ever has a live selection at a
4
+ * time.
5
+ *
6
+ * Every `GridCore` — including nested Master/Detail instances — shares the
7
+ * same `document`-level keydown listener pattern (see `CellSelectionEngine.
8
+ * attach`). Without this registry, clicking a cell in one grid never clears
9
+ * the previous grid's visual selection, and a global shortcut like Ctrl+A
10
+ * would apply to every grid on the page simultaneously instead of just the
11
+ * one the user is interacting with.
12
+ *
13
+ * The fix doesn't require any DOM containment checks: `CellSelectionEngine.
14
+ * onKeydown` already no-ops when its own `activeCell` is `null` (nothing to
15
+ * act on). This registry's only job is ensuring that whenever a NEW grid
16
+ * becomes active, the PREVIOUSLY active one is deactivated — which clears
17
+ * its `activeCell`, and that existing guard does the rest for free.
18
+ */
19
+ export interface ActivatableSelection {
20
+ /** Clears this grid's own selection/active-cell state and its visual classes. */
21
+ clearSelection(): void;
22
+ }
23
+ declare class ActiveGridRegistry {
24
+ private active;
25
+ /**
26
+ * Marks `grid` as the active selection surface, deactivating whichever
27
+ * grid held that role before (if different). Called on every user-driven
28
+ * selection start (cell click, range extend, ctrl+click).
29
+ */
30
+ setActive(grid: ActivatableSelection): void;
31
+ /** Releases `grid`'s claim on activeness — call from `detach()`/`destroy()` so a torn-down grid is never left "active". */
32
+ release(grid: ActivatableSelection): void;
33
+ }
34
+ /** Single shared instance — every `CellSelectionEngine` on the page coordinates through this one registry. */
35
+ export declare const activeGridRegistry: ActiveGridRegistry;
36
+ export {};
37
+ //# sourceMappingURL=active-grid-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-grid-registry.d.ts","sourceRoot":"","sources":["../../src/cell-selection/active-grid-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAqC;IAEnD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAO3C,2HAA2H;IAC3H,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;CAG1C;AAED,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,25 @@
1
+ class ActiveGridRegistry {
2
+ constructor() {
3
+ this.active = null;
4
+ }
5
+ /**
6
+ * Marks `grid` as the active selection surface, deactivating whichever
7
+ * grid held that role before (if different). Called on every user-driven
8
+ * selection start (cell click, range extend, ctrl+click).
9
+ */
10
+ setActive(grid) {
11
+ if (this.active === grid)
12
+ return;
13
+ const previous = this.active;
14
+ this.active = grid;
15
+ previous?.clearSelection();
16
+ }
17
+ /** Releases `grid`'s claim on activeness — call from `detach()`/`destroy()` so a torn-down grid is never left "active". */
18
+ release(grid) {
19
+ if (this.active === grid)
20
+ this.active = null;
21
+ }
22
+ }
23
+ /** Single shared instance — every `CellSelectionEngine` on the page coordinates through this one registry. */
24
+ export const activeGridRegistry = new ActiveGridRegistry();
25
+ //# sourceMappingURL=active-grid-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-grid-registry.js","sourceRoot":"","sources":["../../src/cell-selection/active-grid-registry.ts"],"names":[],"mappings":"AAuBA,MAAM,kBAAkB;IAAxB;QACU,WAAM,GAAgC,IAAI,CAAC;IAkBrD,CAAC;IAhBC;;;;OAIG;IACH,SAAS,CAAC,IAA0B;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC7B,CAAC;IAED,2HAA2H;IAC3H,OAAO,CAAC,IAA0B;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/C,CAAC;CACF;AAED,8GAA8G;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,336 @@
1
+ import type { RowNode } from '../types/row.types';
2
+ import type { ColumnDef } from '../types/column.types';
3
+ import type { GridStore } from '../core/grid-store';
4
+ import type { EventBus } from '../event-bus/event-bus';
5
+ import { ClipboardEngine } from '../engines/clipboard/clipboard-engine';
6
+ import { UndoRedoEngine } from '../engines/undo-redo/undo-redo-engine';
7
+ export declare class CellSelectionEngine {
8
+ private store;
9
+ private eventBus;
10
+ private clipboardEngine;
11
+ /** Optional undo/redo engine. When provided, cut, paste, and edit operations are recorded. */
12
+ private undoRedoEngine?;
13
+ private _isSelecting;
14
+ private anchorCell;
15
+ private bodyPanels;
16
+ private contextMenuEl;
17
+ private chartOpenCallback;
18
+ /**
19
+ * Optional callback invoked when the user presses Enter on a focused (non-editing) cell.
20
+ * Return `true` to absorb the event (editing started); `false` to fall through to
21
+ * the default down-navigation behavior.
22
+ */
23
+ private enterEditHandler;
24
+ /** Optional callback invoked on ArrowLeft/ArrowRight for Tree Data collapse/expand — see `setTreeToggleHandler`. */
25
+ private treeToggleHandler;
26
+ /**
27
+ * Optional callback invoked after every active-cell change so the grid body
28
+ * can scroll the newly active cell into view (AG Grid-style auto-scroll).
29
+ */
30
+ private scrollToCellCallback;
31
+ /**
32
+ * Returns the number of rows that fit in the visible body viewport.
33
+ * Used by PageUp / PageDown to determine how far to jump.
34
+ */
35
+ private getViewportRowCountCallback;
36
+ /**
37
+ * Optional callback invoked after a data mutation (fill, cut, paste, undo/redo).
38
+ * When `nodeIds` is provided the renderer evicts only those rows from its cache
39
+ * so custom cell renderers in untouched rows are NOT re-executed.
40
+ * Omitting `nodeIds` falls back to a full cache clear (safe but unoptimised).
41
+ */
42
+ private dataChangedCallback;
43
+ private boundKeydown;
44
+ private boundHideCtx;
45
+ /** DOM element for the interactive fill handle corner square. */
46
+ private fillHandleEl;
47
+ /** The `.pg-cell` element that currently hosts the fill handle as a child. */
48
+ private fillHandleParentCell;
49
+ /** `true` while the user is dragging the fill handle. */
50
+ private isFillDragging;
51
+ /** Normalised source range captured at the start of a fill drag. */
52
+ private fillSourceRange;
53
+ /** DOM cells currently showing the dashed fill-preview overlay. */
54
+ private fillPreviewCells;
55
+ /** Locked fill direction; null until the user moves far enough in one axis. */
56
+ private fillDirection;
57
+ /** Target row index for up/down fills; null when direction is horizontal. */
58
+ private fillTargetRow;
59
+ /** Target column index for left/right fills; null when direction is vertical. */
60
+ private fillTargetCol;
61
+ /** Callback invoked on every fill-drag mousemove to drive the edge auto-scroller. */
62
+ private fillDragScrollCallback;
63
+ /** Callback invoked when the fill drag ends to stop the edge auto-scroller. */
64
+ private fillDragEndCallback;
65
+ /**
66
+ * Returns the bounding rect of the grid's scroll viewport. Used by
67
+ * `processFillPosition` to clamp the hit-test coordinates when the cursor
68
+ * has moved outside the body area so edge cells are always reachable.
69
+ */
70
+ private dragViewportRectFn;
71
+ private boundFillMouseMove;
72
+ private boundFillMouseUp;
73
+ constructor(store: GridStore, eventBus: EventBus, clipboardEngine: ClipboardEngine,
74
+ /** Optional undo/redo engine. When provided, cut, paste, and edit operations are recorded. */
75
+ undoRedoEngine?: UndoRedoEngine | undefined);
76
+ get isSelecting(): boolean;
77
+ attach(containerEl: HTMLElement): void;
78
+ setBodyPanels(panels: HTMLElement[]): void;
79
+ /**
80
+ * Register a callback that is invoked when the user presses Enter on a focused
81
+ * cell that is not in edit mode. Return `true` to absorb the event (editing
82
+ * started); return `false` to fall through to the default down-navigation.
83
+ */
84
+ setEnterEditHandler(fn: (rowIndex: number, colIndex: number) => boolean): void;
85
+ /**
86
+ * Register a callback invoked when Left/Right is pressed (without Ctrl/Cmd
87
+ * or Shift) on a row with children — Tree Data's collapse/expand-via-
88
+ * keyboard convention. Return `true` to absorb the key press (the tree
89
+ * toggled, or focus jumped to a parent/first child); return `false` to
90
+ * fall through to normal column navigation. `CellSelectionEngine` never
91
+ * imports tree types itself — this indirection is how it stays unaware of
92
+ * Tree Data entirely, same as `setEnterEditHandler` above for editing.
93
+ */
94
+ setTreeToggleHandler(fn: (row: RowNode, direction: 'left' | 'right') => boolean): void;
95
+ /**
96
+ * Register a callback invoked after every active-cell change so the grid body
97
+ * can scroll the newly active cell into view (AG Grid-style auto-scroll).
98
+ * The renderer wires this in `buildLayout`.
99
+ *
100
+ * @param fn - Called with the new `rowIndex` and `colIndex` after each navigation.
101
+ */
102
+ setScrollToCellCallback(fn: (rowIndex: number, colIndex: number) => void): void;
103
+ /**
104
+ * Registers a callback that returns the number of data rows currently
105
+ * visible in the body viewport. Used by PageUp / PageDown to compute the
106
+ * jump distance. Wired by `GridRenderer` via the scroll controller.
107
+ *
108
+ * @param fn - Returns the visible row count (≥ 1).
109
+ */
110
+ setGetViewportRowCountCallback(fn: () => number): void;
111
+ /**
112
+ * Register a callback invoked after a data mutation (fill, cut, paste, undo/redo).
113
+ * Pass `nodeIds` to evict only the mutated rows from the renderer cache;
114
+ * omit to fall back to a full cache clear.
115
+ *
116
+ * @param fn - Called with an optional set of mutated row node IDs.
117
+ */
118
+ setDataChangedCallback(fn: (nodeIds?: Set<string>) => void): void;
119
+ /**
120
+ * Registers a callback invoked on every fill-drag `mousemove` with the
121
+ * current cursor coordinates. Wire this to `AutoScroller.updateMouse` in
122
+ * the grid renderer to enable edge auto-scrolling during fill-handle drags.
123
+ *
124
+ * @param fn - Called with `clientX` and `clientY` of each mousemove event.
125
+ */
126
+ setFillDragScrollCallback(fn: (clientX: number, clientY: number) => void): void;
127
+ /**
128
+ * Registers a callback invoked when the fill drag ends (mouseup).
129
+ * Wire this to `AutoScroller.stop` in the grid renderer so the RAF loop
130
+ * terminates as soon as the user releases the fill handle.
131
+ *
132
+ * @param fn - Called with no arguments when the fill drag terminates.
133
+ */
134
+ setFillDragEndCallback(fn: () => void): void;
135
+ /**
136
+ * Registers a callback that returns the bounding rect of the grid's scroll
137
+ * viewport (`bodyWrapEl`). When set, `processFillPosition` clamps its
138
+ * hit-test coordinates to just inside this rect so edge cells are always
139
+ * found even when the cursor has moved outside the grid boundary.
140
+ *
141
+ * @param fn - Returns the current viewport `DOMRect`, or `null` when unmounted.
142
+ */
143
+ setDragViewportRectCallback(fn: () => DOMRect | null): void;
144
+ /**
145
+ * Re-evaluates which cell lies at `(clientX, clientY)` and updates the fill
146
+ * direction and dashed preview accordingly. Called by the auto-scroller's
147
+ * `onScrolled` callback so the preview stays current after the grid has
148
+ * scrolled under a stationary cursor.
149
+ *
150
+ * No-op when no fill drag is currently active.
151
+ *
152
+ * @param clientX - Viewport X coordinate of the drag cursor.
153
+ * @param clientY - Viewport Y coordinate of the drag cursor.
154
+ */
155
+ updateFillPosition(clientX: number, clientY: number): void;
156
+ detach(): void;
157
+ startSelection(rowIndex: number, colIndex: number, extend?: boolean): void;
158
+ extendSelection(rowIndex: number, colIndex: number): void;
159
+ endSelection(): void;
160
+ clearSelection(): void;
161
+ isCellSelected(rowIndex: number, colIndex: number): boolean;
162
+ /**
163
+ * Adds the given cell as a new independent 1×1 range to the selection
164
+ * (Ctrl+Click multi-range). If the cell is already the sole member of a
165
+ * 1×1 range it is deselected instead (toggle behaviour matching AG Grid).
166
+ *
167
+ * @param rowIndex - Row index of the clicked cell.
168
+ * @param colIndex - Column index of the clicked cell.
169
+ */
170
+ addRangeCell(rowIndex: number, colIndex: number): void;
171
+ /**
172
+ * Applies selection CSS classes to every visible cell DOM element.
173
+ *
174
+ * For multi-range selections (Ctrl+Click) edge classes are unioned across
175
+ * all ranges a cell belongs to, so each range always renders a complete
176
+ * closed border regardless of how many ranges share a cell.
177
+ *
178
+ * After updating classes, repositions the fill handle at the primary
179
+ * range's bottom-right corner.
180
+ */
181
+ applySelectionClasses(): void;
182
+ /** @deprecated Use `applySelectionClasses` directly. Kept for caller compatibility. */
183
+ renderSelection(_getCellRect: (r: number, c: number) => DOMRect | null): void;
184
+ /**
185
+ * Creates (once) or repositions the fill handle at the bottom-right corner
186
+ * of the primary selection range. Hidden during an active fill drag or when
187
+ * there are multiple ranges (Ctrl+Click mode).
188
+ *
189
+ * The element uses `position: fixed` so it always sits above the grid
190
+ * regardless of overflow or scroll state.
191
+ */
192
+ private updateFillHandle;
193
+ /** Hides the fill handle and clears the overflow-visible class from its host cell. */
194
+ private hideFillHandle;
195
+ /**
196
+ * Begins a fill-handle drag operation. Captures the current selection as
197
+ * the fill source and attaches document-level mouse event listeners.
198
+ */
199
+ private startFillDrag;
200
+ /**
201
+ * Handles fill-drag `mousemove` by delegating position processing and
202
+ * notifying the auto-scroller callback so edge scrolling can be triggered.
203
+ */
204
+ private onFillMouseMove;
205
+ /**
206
+ * Core fill-drag position logic: resolves the fill direction and target
207
+ * cell from a viewport coordinate pair, then refreshes the dashed preview.
208
+ *
209
+ * Separated from `onFillMouseMove` so it can also be called by the
210
+ * auto-scroller's `onScrolled` callback — keeping the preview accurate
211
+ * after the grid has scrolled under a stationary cursor.
212
+ *
213
+ * @param clientX - Viewport X coordinate of the drag cursor.
214
+ * @param clientY - Viewport Y coordinate of the drag cursor.
215
+ */
216
+ private processFillPosition;
217
+ /**
218
+ * Applies `pg-cell--fill-preview` and its directional edge classes to
219
+ * cells in the fill target area, replacing any previous preview.
220
+ */
221
+ private updateFillPreview;
222
+ /**
223
+ * Finalises the fill drag: applies data, clears preview classes, and
224
+ * restores the fill handle to its resting position.
225
+ */
226
+ private onFillMouseUp;
227
+ /**
228
+ * Copies source cell values into the fill target area.
229
+ *
230
+ * Cycling semantics:
231
+ * - Vertical fill: each column in the fill area copies from the same
232
+ * column in the source range, cycling rows (`srcH` modulo).
233
+ * - Horizontal fill: each row copies from the same row in the source
234
+ * range, cycling columns (`srcW` modulo).
235
+ *
236
+ * The operation is recorded in the undo/redo engine and triggers an
237
+ * immediate renderer refresh via `dataChangedCallback`.
238
+ */
239
+ private applyFill;
240
+ /**
241
+ * Flashes the cells in the filled area with a success colour overlay,
242
+ * giving clear visual feedback that the fill operation succeeded.
243
+ *
244
+ * Uses `::before` so it never conflicts with the selection `::after` border.
245
+ *
246
+ * @param startRow - First row of the fill target area.
247
+ * @param endRow - Last row of the fill target area.
248
+ * @param startCol - First column of the fill target area.
249
+ * @param endCol - Last column of the fill target area.
250
+ */
251
+ /**
252
+ * Applies a flash animation to all visible cells within the given row/column
253
+ * bounding box.
254
+ *
255
+ * @param startRow - First row index (inclusive).
256
+ * @param endRow - Last row index (inclusive).
257
+ * @param startCol - First column index (inclusive, ≥ 0).
258
+ * @param endCol - Last column index (inclusive).
259
+ * @param flashClass - CSS class that carries the animation keyframe.
260
+ * Defaults to `'pg-cell--fill-flash'` (green success).
261
+ * Pass `'pg-cell--cut-flash'` for the red danger flash.
262
+ */
263
+ private flashFillArea;
264
+ moveActiveCell(dRow: number, dCol: number, rowCount: number, colCount: number, extend?: boolean): void;
265
+ jumpToEdge(direction: 'up' | 'down' | 'left' | 'right', rowCount: number, colCount: number, extend?: boolean): void;
266
+ setChartOpenCallback(fn: (type: string) => void): void;
267
+ copySelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
268
+ copySelectionWithHeaders(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
269
+ cutSelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
270
+ pasteSelection(rows: RowNode[], columns: ColumnDef[]): Promise<void>;
271
+ /**
272
+ * Reverts the most recent recorded action (edit / cut / paste) by applying
273
+ * the inverse cell changes and triggering a re-render.
274
+ * No-op when the undo stack is empty or no engine is wired up.
275
+ */
276
+ private performUndo;
277
+ /**
278
+ * Re-applies the most recently undone action and triggers a re-render.
279
+ * No-op when the redo stack is empty or no engine is wired up.
280
+ */
281
+ private performRedo;
282
+ /**
283
+ * Writes the given cell changes into `allRows`, triggers a renderer refresh,
284
+ * scrolls the first affected cell into view, and flashes the affected region.
285
+ *
286
+ * Used by both `performUndo` and `performRedo`.
287
+ *
288
+ * A `Map<nodeId, RowNode>` is built once before the change loop so each row
289
+ * lookup is O(1) instead of O(n) — important for large paste undo operations.
290
+ *
291
+ * @param changes - Ordered list of `{ nodeId, field, newValue }` to apply.
292
+ */
293
+ private applyUndoRedoChanges;
294
+ /**
295
+ * Returns the `field` name of the innermost (deepest) grouping column, or
296
+ * `undefined` when no grouping is active.
297
+ *
298
+ * Reads from the store's full column list (including hidden columns) rather
299
+ * than the visible-columns slice passed to copy/cut/paste methods — the
300
+ * grouped column is often hidden from the regular column display (visible: false)
301
+ * but the leaf group cell must still be able to copy its value.
302
+ */
303
+ private getLeafGroupField;
304
+ showContextMenu(x: number, y: number): void;
305
+ hideContextMenu(): void;
306
+ private flashSelection;
307
+ private clearCutCellsInDom;
308
+ private getVisibleColumns;
309
+ /**
310
+ * Coerces `value` to the primitive type expected by `targetType`.
311
+ *
312
+ * Called by `applyFill` whenever the source column type differs from the
313
+ * destination column type so that data remains correctly typed after a
314
+ * cross-type fill — even if the result is `NaN` or an `Invalid Date`.
315
+ *
316
+ * | `targetType` | Conversion |
317
+ * |---------------------------------|-------------------------------------|
318
+ * | `'number'` / `'currency'` / | `Number(value)` — may produce `NaN` |
319
+ * | `'percentage'` | |
320
+ * | `'date'` | `new Date(String(value))` — may |
321
+ * | | produce `Invalid Date` |
322
+ * | `'boolean'` | `Boolean(value)` |
323
+ * | `'string'` | `String(value)` if not already |
324
+ * | anything else | unchanged |
325
+ *
326
+ * @param value - Raw value from the source cell.
327
+ * @param targetType - `ColumnDef.type` of the destination column.
328
+ */
329
+ private coerceToColumnType;
330
+ private onKeydown;
331
+ private selectAll;
332
+ private buildContextMenu;
333
+ private exportAsCsv;
334
+ private emitSelectionChanged;
335
+ }
336
+ //# sourceMappingURL=cell-selection-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-selection-engine.d.ts","sourceRoot":"","sources":["../../src/cell-selection/cell-selection-engine.ts"],"names":[],"mappings":"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"}