@1771technologies/lytenyte-pro 0.9.4 → 1.0.0-beta.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 (653) hide show
  1. package/README.md +3 -2
  2. package/dist/+types.d.ts +5299 -0
  3. package/dist/+types.js +1 -0
  4. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +2 -0
  5. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +43 -0
  6. package/dist/cell-selection/are-rects-equal.d.ts +2 -0
  7. package/dist/cell-selection/are-rects-equal.js +6 -0
  8. package/dist/cell-selection/bound-selection-rect.d.ts +2 -0
  9. package/dist/cell-selection/bound-selection-rect.js +17 -0
  10. package/dist/cell-selection/cell-selection-containers.d.ts +3 -0
  11. package/dist/cell-selection/cell-selection-containers.js +91 -0
  12. package/dist/cell-selection/cell-selection-driver.js +272 -0
  13. package/dist/{types/cell-selection → cell-selection}/cell-style-row.d.ts +2 -2
  14. package/dist/cell-selection/cell-style-row.js +84 -0
  15. package/dist/cell-selection/deselect-rect-range.d.ts +2 -0
  16. package/dist/cell-selection/deselect-rect-range.js +43 -0
  17. package/dist/cell-selection/expand-cell-selection-down.d.ts +5 -0
  18. package/dist/cell-selection/expand-cell-selection-down.js +39 -0
  19. package/dist/cell-selection/expand-cell-selection-end.d.ts +5 -0
  20. package/dist/cell-selection/expand-cell-selection-end.js +40 -0
  21. package/dist/cell-selection/expand-cell-selection-start.d.ts +5 -0
  22. package/dist/cell-selection/expand-cell-selection-start.js +39 -0
  23. package/dist/cell-selection/expand-cell-selection-up.d.ts +5 -0
  24. package/dist/cell-selection/expand-cell-selection-up.js +39 -0
  25. package/dist/cell-selection/full-width-start-end-index.d.ts +2 -0
  26. package/dist/cell-selection/full-width-start-end-index.js +5 -0
  27. package/dist/cell-selection/get-root-cell.d.ts +2 -0
  28. package/dist/cell-selection/get-root-cell.js +86 -0
  29. package/dist/cell-selection/index.d.ts +19 -0
  30. package/dist/cell-selection/index.js +19 -0
  31. package/dist/cell-selection/is-bottom-rect.d.ts +2 -0
  32. package/dist/cell-selection/is-bottom-rect.js +7 -0
  33. package/dist/cell-selection/is-center-col-rect.d.ts +5 -0
  34. package/dist/cell-selection/is-center-col-rect.js +5 -0
  35. package/dist/cell-selection/is-center-rect.d.ts +2 -0
  36. package/dist/cell-selection/is-center-rect.js +5 -0
  37. package/dist/cell-selection/is-end-rect.d.ts +5 -0
  38. package/dist/cell-selection/is-end-rect.js +4 -0
  39. package/dist/cell-selection/is-overlapping-rect.d.ts +2 -0
  40. package/dist/cell-selection/is-overlapping-rect.js +6 -0
  41. package/dist/cell-selection/is-start-rect.d.ts +5 -0
  42. package/dist/cell-selection/is-start-rect.js +4 -0
  43. package/dist/cell-selection/is-top-rect.d.ts +2 -0
  44. package/dist/cell-selection/is-top-rect.js +4 -0
  45. package/dist/cell-selection/is-within-selection-rect.d.ts +2 -0
  46. package/dist/cell-selection/is-within-selection-rect.js +3 -0
  47. package/dist/cell-selection/split-cell-selection-rect.d.ts +39 -0
  48. package/dist/cell-selection/split-cell-selection-rect.js +79 -0
  49. package/dist/cell-selection/update-additive-cell-selection.d.ts +5 -0
  50. package/dist/cell-selection/update-additive-cell-selection.js +25 -0
  51. package/dist/cell-selection/use-edge-scroll.d.ts +10 -0
  52. package/dist/cell-selection/use-edge-scroll.js +66 -0
  53. package/dist/cells/cell-default.d.ts +2 -0
  54. package/dist/cells/cell-default.js +8 -0
  55. package/dist/cells/cell-editor.d.ts +6 -0
  56. package/dist/cells/cell-editor.js +96 -0
  57. package/dist/cells/cell.d.ts +7 -0
  58. package/dist/cells/cell.js +37 -0
  59. package/dist/column-manager/branch-lookup-context.d.ts +4 -0
  60. package/dist/column-manager/branch-lookup-context.js +3 -0
  61. package/dist/column-manager/branch.d.ts +9 -0
  62. package/dist/column-manager/branch.js +38 -0
  63. package/dist/column-manager/column-manager.d.ts +15 -0
  64. package/dist/column-manager/column-manager.js +20 -0
  65. package/dist/column-manager/context.d.ts +7 -0
  66. package/dist/column-manager/context.js +3 -0
  67. package/dist/column-manager/label.d.ts +5 -0
  68. package/dist/column-manager/label.js +18 -0
  69. package/dist/column-manager/leaf.d.ts +6 -0
  70. package/dist/column-manager/leaf.js +40 -0
  71. package/dist/column-manager/move-handle.d.ts +12 -0
  72. package/dist/column-manager/move-handle.js +58 -0
  73. package/dist/column-manager/passive-scroll.d.ts +2 -0
  74. package/dist/column-manager/passive-scroll.js +2 -0
  75. package/dist/column-manager/root.d.ts +9 -0
  76. package/dist/column-manager/root.js +20 -0
  77. package/dist/column-manager/use-column-manager.d.ts +19 -0
  78. package/dist/column-manager/use-column-manager.js +24 -0
  79. package/dist/column-manager/use-columns-from-context.d.ts +3 -0
  80. package/dist/column-manager/use-columns-from-context.js +23 -0
  81. package/dist/column-manager/visibility-checkbox.d.ts +9 -0
  82. package/dist/column-manager/visibility-checkbox.js +30 -0
  83. package/dist/context.d.ts +10 -0
  84. package/dist/context.js +4 -0
  85. package/dist/filter-tree/branch.d.ts +10 -0
  86. package/dist/filter-tree/branch.js +21 -0
  87. package/dist/filter-tree/context.d.ts +27 -0
  88. package/dist/filter-tree/context.js +5 -0
  89. package/dist/filter-tree/filter-tree.d.ts +14 -0
  90. package/dist/filter-tree/filter-tree.js +18 -0
  91. package/dist/filter-tree/hooks/use-filter-tree.d.ts +37 -0
  92. package/dist/filter-tree/hooks/use-filter-tree.js +96 -0
  93. package/dist/filter-tree/hooks/use-tree-item.d.ts +8 -0
  94. package/dist/filter-tree/hooks/use-tree-item.js +116 -0
  95. package/dist/filter-tree/inclusion-checkbox.d.ts +9 -0
  96. package/dist/filter-tree/inclusion-checkbox.js +14 -0
  97. package/dist/filter-tree/label.d.ts +5 -0
  98. package/dist/filter-tree/label.js +18 -0
  99. package/dist/filter-tree/leaf.d.ts +6 -0
  100. package/dist/filter-tree/leaf.js +12 -0
  101. package/dist/filter-tree/root.d.ts +13 -0
  102. package/dist/filter-tree/root.js +30 -0
  103. package/dist/grid-box/+types.d.ts +13 -0
  104. package/dist/grid-box/+types.js +1 -0
  105. package/dist/grid-box/context.d.ts +9 -0
  106. package/dist/grid-box/context.js +3 -0
  107. package/dist/grid-box/grid-box.d.ts +12 -0
  108. package/dist/grid-box/grid-box.js +14 -0
  109. package/dist/grid-box/item.d.ts +7 -0
  110. package/dist/grid-box/item.js +33 -0
  111. package/dist/grid-box/panel.d.ts +1 -0
  112. package/dist/grid-box/panel.js +9 -0
  113. package/dist/grid-box/root.d.ts +9 -0
  114. package/dist/grid-box/root.js +8 -0
  115. package/dist/grid-box/use-aggregation-box-items.d.ts +18 -0
  116. package/dist/grid-box/use-aggregation-box-items.js +60 -0
  117. package/dist/grid-box/use-column-box-items.d.ts +31 -0
  118. package/dist/grid-box/use-column-box-items.js +81 -0
  119. package/dist/grid-box/use-row-group-box-items.d.ts +18 -0
  120. package/dist/grid-box/use-row-group-box-items.js +134 -0
  121. package/dist/grid-provider/context.d.ts +5 -0
  122. package/dist/grid-provider/context.js +2 -0
  123. package/dist/grid-provider/provider.d.ts +3 -0
  124. package/dist/grid-provider/provider.js +2 -0
  125. package/dist/grid-provider/use-grid.d.ts +3 -0
  126. package/dist/grid-provider/use-grid.js +3 -0
  127. package/dist/grid.d.ts +29 -0
  128. package/dist/grid.js +38 -0
  129. package/dist/header/header-cell.d.ts +10 -0
  130. package/dist/header/header-cell.js +24 -0
  131. package/dist/header/header-group-cell.d.ts +5 -0
  132. package/dist/header/header-group-cell.js +14 -0
  133. package/dist/header/header-row.d.ts +4 -0
  134. package/dist/header/header-row.js +10 -0
  135. package/dist/header/header.d.ts +1 -0
  136. package/dist/header/header.js +10 -0
  137. package/dist/header/resize-handler.d.ts +12 -0
  138. package/dist/header/resize-handler.js +128 -0
  139. package/dist/header/use-drag-move.d.ts +14 -0
  140. package/dist/header/use-drag-move.js +90 -0
  141. package/dist/header/use-header-cell-renderer.d.ts +4 -0
  142. package/dist/header/use-header-cell-renderer.js +36 -0
  143. package/dist/index.d.ts +6 -0
  144. package/dist/index.js +6 -3860
  145. package/dist/license.d.ts +2 -0
  146. package/dist/license.js +217 -0
  147. package/dist/listbox/context.d.ts +6 -0
  148. package/dist/listbox/context.js +3 -0
  149. package/dist/listbox/item.d.ts +1 -0
  150. package/dist/listbox/item.js +25 -0
  151. package/dist/listbox/panel.d.ts +1 -0
  152. package/dist/listbox/panel.js +50 -0
  153. package/dist/listbox/root.d.ts +6 -0
  154. package/dist/listbox/root.js +12 -0
  155. package/dist/root/dialog-driver.js +21 -0
  156. package/dist/root/popover-driver.js +21 -0
  157. package/dist/root/root.d.ts +8 -0
  158. package/dist/root/root.js +120 -0
  159. package/dist/row-data-source-client/+constants.d.ts +2 -0
  160. package/dist/row-data-source-client/+constants.js +2 -0
  161. package/dist/row-data-source-client/+types.d.ts +27 -0
  162. package/dist/row-data-source-client/+types.js +1 -0
  163. package/dist/row-data-source-client/built-ins/avg.d.ts +10 -0
  164. package/dist/row-data-source-client/built-ins/avg.js +16 -0
  165. package/dist/row-data-source-client/built-ins/built-ins.d.ts +44 -0
  166. package/dist/row-data-source-client/built-ins/built-ins.js +44 -0
  167. package/dist/row-data-source-client/built-ins/count.d.ts +10 -0
  168. package/dist/row-data-source-client/built-ins/count.js +16 -0
  169. package/dist/row-data-source-client/built-ins/first.d.ts +10 -0
  170. package/dist/row-data-source-client/built-ins/first.js +12 -0
  171. package/dist/row-data-source-client/built-ins/group.d.ts +1 -0
  172. package/dist/row-data-source-client/built-ins/group.js +3 -0
  173. package/dist/row-data-source-client/built-ins/last.d.ts +10 -0
  174. package/dist/row-data-source-client/built-ins/last.js +12 -0
  175. package/dist/row-data-source-client/built-ins/max.d.ts +11 -0
  176. package/dist/row-data-source-client/built-ins/max.js +25 -0
  177. package/dist/row-data-source-client/built-ins/min.d.ts +11 -0
  178. package/dist/row-data-source-client/built-ins/min.js +25 -0
  179. package/dist/row-data-source-client/built-ins/sum.d.ts +10 -0
  180. package/dist/row-data-source-client/built-ins/sum.js +21 -0
  181. package/dist/row-data-source-client/filter/+types.d.ts +23 -0
  182. package/dist/row-data-source-client/filter/+types.js +1 -0
  183. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +2 -0
  184. package/dist/row-data-source-client/filter/compute-filtered-rows.js +109 -0
  185. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +6 -0
  186. package/dist/row-data-source-client/pivots/create-agg-model.js +13 -0
  187. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +2 -0
  188. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +50 -0
  189. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +2 -0
  190. package/dist/row-data-source-client/pivots/create-pivot-columns.js +22 -0
  191. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +2 -0
  192. package/dist/row-data-source-client/pivots/create-pivot-tree.js +23 -0
  193. package/dist/row-data-source-client/tree/client-tree.d.ts +18 -0
  194. package/dist/row-data-source-client/tree/client-tree.js +76 -0
  195. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +2 -0
  196. package/dist/row-data-source-client/tree/evaluator-aggregation.js +8 -0
  197. package/dist/row-data-source-client/tree/evaluator-group.d.ts +2 -0
  198. package/dist/row-data-source-client/tree/evaluator-group.js +9 -0
  199. package/dist/row-data-source-client/tree/traverse.d.ts +2 -0
  200. package/dist/row-data-source-client/tree/traverse.js +22 -0
  201. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +10 -0
  202. package/dist/row-data-source-client/use-client-data-source-paginated.js +538 -0
  203. package/dist/row-data-source-client/use-client-data-source.d.ts +10 -0
  204. package/dist/row-data-source-client/use-client-data-source.js +667 -0
  205. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +9 -0
  206. package/dist/row-data-source-client/use-client-tree-data-source.js +513 -0
  207. package/dist/row-data-source-server/async-tree/+constants.async-tree.d.ts +1 -0
  208. package/dist/row-data-source-server/async-tree/+constants.async-tree.js +1 -0
  209. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +59 -0
  210. package/dist/row-data-source-server/async-tree/+types.async-tree.js +1 -0
  211. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +2 -0
  212. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +27 -0
  213. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +2 -0
  214. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +36 -0
  215. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.d.ts +2 -0
  216. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +24 -0
  217. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.d.ts +2 -0
  218. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +14 -0
  219. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +2 -0
  220. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +18 -0
  221. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.d.ts +2 -0
  222. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +14 -0
  223. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +2 -0
  224. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +18 -0
  225. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +2 -0
  226. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +3 -0
  227. package/dist/row-data-source-server/async-tree/make-async-tree.d.ts +2 -0
  228. package/dist/row-data-source-server/async-tree/make-async-tree.js +19 -0
  229. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +2 -0
  230. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +8 -0
  231. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +2 -0
  232. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +17 -0
  233. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +2 -0
  234. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +51 -0
  235. package/dist/row-data-source-server/range-tree/range-tree.d.ts +66 -0
  236. package/dist/row-data-source-server/range-tree/range-tree.js +102 -0
  237. package/dist/row-data-source-server/use-server-data-source.d.ts +3 -0
  238. package/dist/row-data-source-server/use-server-data-source.js +679 -0
  239. package/dist/row-data-source-server/utils/get-node-depth.d.ts +2 -0
  240. package/dist/row-data-source-server/utils/get-node-depth.js +9 -0
  241. package/dist/row-data-source-server/utils/get-node-path.d.ts +2 -0
  242. package/dist/row-data-source-server/utils/get-node-path.js +9 -0
  243. package/dist/row-data-source-server/utils/get-request-id.d.ts +1 -0
  244. package/dist/row-data-source-server/utils/get-request-id.js +6 -0
  245. package/dist/rows/row/context.d.ts +6 -0
  246. package/dist/rows/row/context.js +3 -0
  247. package/dist/rows/row/row.d.ts +7 -0
  248. package/dist/rows/row/row.js +16 -0
  249. package/dist/rows/row/use-row-context-value.d.ts +6 -0
  250. package/dist/rows/row/use-row-context-value.js +29 -0
  251. package/dist/rows/row-detail-row.d.ts +4 -0
  252. package/dist/rows/row-detail-row.js +131 -0
  253. package/dist/rows/row-full-width.d.ts +8 -0
  254. package/dist/rows/row-full-width.js +17 -0
  255. package/dist/rows/rows-container.d.ts +1 -0
  256. package/dist/rows/rows-container.js +9 -0
  257. package/dist/rows/rows-sections.d.ts +3 -0
  258. package/dist/rows/rows-sections.js +27 -0
  259. package/dist/rows/scrollers/native-scroller.d.ts +2 -0
  260. package/dist/rows/scrollers/native-scroller.js +18 -0
  261. package/dist/{types/sort-manager/use-sort-state.d.ts → sort-manager/+types.d.ts} +5 -2
  262. package/dist/sort-manager/+types.js +1 -0
  263. package/dist/sort-manager/context.d.ts +14 -0
  264. package/dist/sort-manager/context.js +5 -0
  265. package/dist/sort-manager/hooks/use-sort-manager.d.ts +15 -0
  266. package/dist/sort-manager/hooks/use-sort-manager.js +56 -0
  267. package/dist/{types/sort-manager/sort-manager-container.d.ts → sort-manager/hooks/use-sort-row-item.d.ts} +5 -7
  268. package/dist/sort-manager/hooks/use-sort-row-item.js +145 -0
  269. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +5 -0
  270. package/dist/sort-manager/hooks/use-sortable-column-items.js +13 -0
  271. package/dist/sort-manager/root.d.ts +3 -0
  272. package/dist/sort-manager/root.js +14 -0
  273. package/dist/sort-manager/sort-add.d.ts +8 -0
  274. package/dist/sort-manager/sort-add.js +14 -0
  275. package/dist/sort-manager/sort-apply.d.ts +7 -0
  276. package/dist/sort-manager/sort-apply.js +24 -0
  277. package/dist/sort-manager/sort-cancel.d.ts +7 -0
  278. package/dist/sort-manager/sort-cancel.js +27 -0
  279. package/dist/sort-manager/sort-clear.d.ts +7 -0
  280. package/dist/sort-manager/sort-clear.js +22 -0
  281. package/dist/sort-manager/sort-column-select.d.ts +10 -0
  282. package/dist/sort-manager/sort-column-select.js +20 -0
  283. package/dist/sort-manager/sort-direction-select.d.ts +10 -0
  284. package/dist/sort-manager/sort-direction-select.js +24 -0
  285. package/dist/sort-manager/sort-manager.d.ts +16 -0
  286. package/dist/sort-manager/sort-manager.js +26 -0
  287. package/dist/sort-manager/sort-remove.d.ts +7 -0
  288. package/dist/sort-manager/sort-remove.js +14 -0
  289. package/dist/sort-manager/sort-row.d.ts +5 -0
  290. package/dist/sort-manager/sort-row.js +7 -0
  291. package/dist/sort-manager/sort-rows.d.ts +1 -0
  292. package/dist/sort-manager/sort-rows.js +6 -0
  293. package/dist/sort-manager/sort-value-select.d.ts +11 -0
  294. package/dist/sort-manager/sort-value-select.js +25 -0
  295. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +3 -0
  296. package/dist/sort-manager/utils/sort-item-to-sort-model.js +57 -0
  297. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +3 -0
  298. package/dist/sort-manager/utils/sort-model-to-sort-items.js +49 -0
  299. package/dist/state/+types.d.ts +34 -0
  300. package/dist/state/+types.js +1 -0
  301. package/dist/state/api/column-autosize.d.ts +5 -0
  302. package/dist/state/api/column-autosize.js +72 -0
  303. package/dist/state/api/column-by-id.d.ts +2 -0
  304. package/dist/state/api/column-by-id.js +6 -0
  305. package/dist/state/api/column-field.d.ts +2 -0
  306. package/dist/state/api/column-field.js +23 -0
  307. package/dist/state/api/column-from-index.d.ts +2 -0
  308. package/dist/state/api/column-from-index.js +6 -0
  309. package/dist/state/api/column-group-toggle.d.ts +2 -0
  310. package/dist/state/api/column-group-toggle.js +10 -0
  311. package/dist/state/api/column-index.d.ts +2 -0
  312. package/dist/state/api/column-index.js +7 -0
  313. package/dist/state/api/column-move.d.ts +2 -0
  314. package/dist/state/api/column-move.js +49 -0
  315. package/dist/state/api/column-resize.d.ts +2 -0
  316. package/dist/state/api/column-resize.js +9 -0
  317. package/dist/state/api/column-update.d.ts +2 -0
  318. package/dist/state/api/column-update.js +13 -0
  319. package/dist/state/api/dialog-frame.d.ts +8 -0
  320. package/dist/state/api/dialog-frame.js +16 -0
  321. package/dist/state/api/edit-begin.d.ts +5 -0
  322. package/dist/state/api/edit-begin.js +91 -0
  323. package/dist/state/api/edit-end.d.ts +5 -0
  324. package/dist/state/api/edit-end.js +43 -0
  325. package/dist/state/api/edit-is-cell-active.d.ts +5 -0
  326. package/dist/state/api/edit-is-cell-active.js +27 -0
  327. package/dist/state/api/edit-update.d.ts +5 -0
  328. package/dist/state/api/edit-update.js +88 -0
  329. package/dist/state/api/event-listeners.d.ts +5 -0
  330. package/dist/state/api/event-listeners.js +19 -0
  331. package/dist/state/api/export-csv.d.ts +3 -0
  332. package/dist/state/api/export-csv.js +40 -0
  333. package/dist/state/api/export-data-rect.d.ts +2 -0
  334. package/dist/state/api/export-data-rect.js +24 -0
  335. package/dist/state/api/focus-cell.d.ts +5 -0
  336. package/dist/state/api/focus-cell.js +117 -0
  337. package/dist/state/api/popover-frame.d.ts +8 -0
  338. package/dist/state/api/popover-frame.js +16 -0
  339. package/dist/state/api/position-from-element.d.ts +2 -0
  340. package/dist/state/api/position-from-element.js +9 -0
  341. package/dist/state/api/row-by-id.d.ts +2 -0
  342. package/dist/state/api/row-by-id.js +5 -0
  343. package/dist/state/api/row-by-index.d.ts +2 -0
  344. package/dist/state/api/row-by-index.js +9 -0
  345. package/dist/state/api/row-detail-is-expanded.d.ts +2 -0
  346. package/dist/state/api/row-detail-is-expanded.js +6 -0
  347. package/dist/state/api/row-detail-rendered-height.d.ts +5 -0
  348. package/dist/state/api/row-detail-rendered-height.js +14 -0
  349. package/dist/state/api/row-detail-toggle.d.ts +2 -0
  350. package/dist/state/api/row-detail-toggle.js +32 -0
  351. package/dist/state/api/row-group-apply-expansions.d.ts +2 -0
  352. package/dist/state/api/row-group-apply-expansions.js +20 -0
  353. package/dist/state/api/row-group-column-index.d.ts +2 -0
  354. package/dist/state/api/row-group-column-index.js +14 -0
  355. package/dist/state/api/row-group-is-expanded.d.ts +2 -0
  356. package/dist/state/api/row-group-is-expanded.js +15 -0
  357. package/dist/state/api/row-group-toggle.d.ts +2 -0
  358. package/dist/state/api/row-group-toggle.js +7 -0
  359. package/dist/state/api/row-handle-select.d.ts +5 -0
  360. package/dist/state/api/row-handle-select.js +43 -0
  361. package/dist/state/api/row-select-all.d.ts +2 -0
  362. package/dist/state/api/row-select-all.js +17 -0
  363. package/dist/state/api/row-select.d.ts +5 -0
  364. package/dist/state/api/row-select.js +35 -0
  365. package/dist/state/api/row-selected.d.ts +2 -0
  366. package/dist/state/api/row-selected.js +13 -0
  367. package/dist/state/api/scroll-into-view.d.ts +5 -0
  368. package/dist/state/api/scroll-into-view.js +50 -0
  369. package/dist/state/api/sort-for-column.d.ts +2 -0
  370. package/dist/state/api/sort-for-column.js +9 -0
  371. package/dist/state/api/use-row-drag.d.ts +2 -0
  372. package/dist/state/api/use-row-drag.js +27 -0
  373. package/dist/state/helpers/cell-row-group.d.ts +2 -0
  374. package/dist/state/helpers/cell-row-group.js +19 -0
  375. package/dist/state/helpers/column-add-row-group.d.ts +9 -0
  376. package/dist/state/helpers/column-add-row-group.js +66 -0
  377. package/dist/state/helpers/column-layout.d.ts +3 -0
  378. package/dist/state/helpers/column-layout.js +65 -0
  379. package/dist/state/helpers/column-marker.d.ts +8 -0
  380. package/dist/state/helpers/column-marker.js +43 -0
  381. package/dist/state/helpers/column-view.d.ts +21 -0
  382. package/dist/state/helpers/column-view.js +33 -0
  383. package/dist/state/helpers/edit-on-change.d.ts +15 -0
  384. package/dist/state/helpers/edit-on-change.js +26 -0
  385. package/dist/state/helpers/empty-row-data-source.d.ts +2 -0
  386. package/dist/state/helpers/empty-row-data-source.js +17 -0
  387. package/dist/state/helpers/get-data-rect.d.ts +13 -0
  388. package/dist/state/helpers/get-data-rect.js +65 -0
  389. package/dist/state/helpers/get-full-width-callback.d.ts +2 -0
  390. package/dist/state/helpers/get-full-width-callback.js +8 -0
  391. package/dist/state/helpers/get-span-callback.d.ts +2 -0
  392. package/dist/state/helpers/get-span-callback.js +20 -0
  393. package/dist/state/helpers/resolve-column.d.ts +4 -0
  394. package/dist/state/helpers/resolve-column.js +22 -0
  395. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +17 -0
  396. package/dist/state/helpers/row-layout/get-focus-criteria.js +62 -0
  397. package/dist/state/helpers/row-layout/row-layout.d.ts +18 -0
  398. package/dist/state/helpers/row-layout/row-layout.js +414 -0
  399. package/dist/state/use-lytenyte.d.ts +3 -0
  400. package/dist/state/use-lytenyte.js +579 -0
  401. package/dist/tree-view/branch/branch.d.ts +11 -0
  402. package/dist/tree-view/branch/branch.js +61 -0
  403. package/dist/tree-view/branch/use-branch-keys.d.ts +2 -0
  404. package/dist/tree-view/branch/use-branch-keys.js +87 -0
  405. package/dist/tree-view/context.d.ts +22 -0
  406. package/dist/tree-view/context.js +3 -0
  407. package/dist/tree-view/depth-provider.d.ts +2 -0
  408. package/dist/tree-view/depth-provider.js +3 -0
  409. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +2 -0
  410. package/dist/tree-view/hooks/use-tree-view-paths.js +9 -0
  411. package/dist/tree-view/index.d.ts +16 -0
  412. package/dist/tree-view/index.js +16 -0
  413. package/dist/tree-view/leaf.d.ts +4 -0
  414. package/dist/tree-view/leaf.js +27 -0
  415. package/dist/tree-view/navigation/get-all-ids.d.ts +1 -0
  416. package/dist/tree-view/navigation/get-all-ids.js +7 -0
  417. package/dist/tree-view/navigation/get-first-node.d.ts +1 -0
  418. package/dist/tree-view/navigation/get-first-node.js +7 -0
  419. package/dist/tree-view/navigation/get-last-node.d.ts +1 -0
  420. package/dist/tree-view/navigation/get-last-node.js +7 -0
  421. package/dist/tree-view/navigation/get-next-node.d.ts +1 -0
  422. package/dist/tree-view/navigation/get-next-node.js +13 -0
  423. package/dist/tree-view/navigation/get-prev-node.d.ts +1 -0
  424. package/dist/tree-view/navigation/get-prev-node.js +13 -0
  425. package/dist/tree-view/panel/make-handle-navigation.d.ts +2 -0
  426. package/dist/tree-view/panel/make-handle-navigation.js +39 -0
  427. package/dist/tree-view/panel/make-handle-selection.d.ts +2 -0
  428. package/dist/tree-view/panel/make-handle-selection.js +92 -0
  429. package/dist/tree-view/panel/make-handle-typeahead.d.ts +1 -0
  430. package/dist/tree-view/panel/make-handle-typeahead.js +45 -0
  431. package/dist/tree-view/panel/panel.d.ts +1 -0
  432. package/dist/tree-view/panel/panel.js +30 -0
  433. package/dist/tree-view/panel/use-tree-navigation.d.ts +1 -0
  434. package/dist/tree-view/panel/use-tree-navigation.js +63 -0
  435. package/dist/tree-view/root.d.ts +17 -0
  436. package/dist/tree-view/root.js +63 -0
  437. package/dist/tree-view/utils/get-focusable-nodes.d.ts +1 -0
  438. package/dist/tree-view/utils/get-focusable-nodes.js +5 -0
  439. package/dist/tree-view/utils/get-focused-node.d.ts +1 -0
  440. package/dist/tree-view/utils/get-focused-node.js +14 -0
  441. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +1 -0
  442. package/dist/tree-view/utils/get-ids-between-nodes.js +15 -0
  443. package/dist/tree-view/utils/get-panel.d.ts +1 -0
  444. package/dist/tree-view/utils/get-panel.js +7 -0
  445. package/dist/tree-view/utils/get-parent-node.d.ts +1 -0
  446. package/dist/tree-view/utils/get-parent-node.js +10 -0
  447. package/dist/tree-view/utils/get-sibling-branches.d.ts +1 -0
  448. package/dist/tree-view/utils/get-sibling-branches.js +14 -0
  449. package/dist/tree-view/utils/get-tree-node-id.d.ts +1 -0
  450. package/dist/tree-view/utils/get-tree-node-id.js +3 -0
  451. package/dist/tree-view/utils/is-branch-node.d.ts +1 -0
  452. package/dist/tree-view/utils/is-branch-node.js +3 -0
  453. package/dist/tree-view/utils/is-leaf-node.d.ts +1 -0
  454. package/dist/tree-view/utils/is-leaf-node.js +3 -0
  455. package/dist/tree-view/utils/is-tree-node-disabled.d.ts +1 -0
  456. package/dist/tree-view/utils/is-tree-node-disabled.js +3 -0
  457. package/dist/tree-view/utils/select-node.d.ts +2 -0
  458. package/dist/tree-view/utils/select-node.js +15 -0
  459. package/dist/tree-view/utils/toggle-all-selections.d.ts +2 -0
  460. package/dist/tree-view/utils/toggle-all-selections.js +9 -0
  461. package/dist/tree-view/utils/toggle-selection.d.ts +2 -0
  462. package/dist/tree-view/utils/toggle-selection.js +21 -0
  463. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +2 -0
  464. package/dist/tree-view/virtualized/force-sync-scrolling.js +23 -0
  465. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +2 -0
  466. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +14 -0
  467. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +31 -0
  468. package/dist/tree-view/virtualized/make-virtual-tree.js +90 -0
  469. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +9 -0
  470. package/dist/tree-view/virtualized/use-flattened-tree.js +36 -0
  471. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +2 -0
  472. package/dist/tree-view/virtualized/use-row-start-and-end.js +27 -0
  473. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +22 -0
  474. package/dist/tree-view/virtualized/use-virtualized-tree.js +100 -0
  475. package/dist/types/types.d.ts +8 -13
  476. package/dist/types/types.js +1 -0
  477. package/dist/utils/cycle-sorts.d.ts +2 -0
  478. package/dist/utils/cycle-sorts.js +16 -0
  479. package/dist/viewport/begin-editing.d.ts +5 -0
  480. package/dist/viewport/begin-editing.js +15 -0
  481. package/dist/viewport/viewport.d.ts +1 -0
  482. package/dist/viewport/viewport.js +77 -0
  483. package/main.css +315 -0
  484. package/package.json +29 -77
  485. package/dist/CompositeList-CGRaS6LQ.js +0 -149
  486. package/dist/DialogPortalContext-C2WZTqJ3.js +0 -47
  487. package/dist/DirectionContext-DIPP5cAe.js +0 -15
  488. package/dist/InternalBackdrop-C4RACVzs.js +0 -324
  489. package/dist/PopoverPortalContext-BdsDjihw.js +0 -26
  490. package/dist/anchor-context-Cqr_oiJt.js +0 -11
  491. package/dist/arrow-down-icon-B-3ldODD.js +0 -27
  492. package/dist/column-manager.js +0 -1228
  493. package/dist/column-menu-driver-cG-EZgLa.js +0 -491
  494. package/dist/cross-icon-CEMLAlFX.js +0 -20
  495. package/dist/dialog.js +0 -506
  496. package/dist/drag-store-BMsDBUy_.js +0 -1039
  497. package/dist/filter-manager.js +0 -1057
  498. package/dist/getPseudoElementBounds-BSHt6WYm.js +0 -26
  499. package/dist/grid-container.js +0 -18
  500. package/dist/icons.js +0 -516
  501. package/dist/lytenyte-pro.css +0 -2167
  502. package/dist/manage-columns-icon-D4CElo5H.js +0 -146
  503. package/dist/menu-lIx6h6Vn.js +0 -1885
  504. package/dist/menu.js +0 -4
  505. package/dist/more-dots-icon-CzAH3xHG.js +0 -26
  506. package/dist/pill-BHBLeJ6k.js +0 -1012
  507. package/dist/pill-manager.js +0 -737
  508. package/dist/plus-icon-ToqW5CC-.js +0 -15
  509. package/dist/popover.js +0 -795
  510. package/dist/proptypes-BjYr2nFr.js +0 -6472
  511. package/dist/row-group-icon-DFUMye0v.js +0 -186
  512. package/dist/search-icon-CcG1lqsn.js +0 -86
  513. package/dist/select-Db5ksjoS.js +0 -2256
  514. package/dist/separator-BnPPeAk8.js +0 -21
  515. package/dist/sort-descending-BMtfaa2L.js +0 -34
  516. package/dist/sort-manager.js +0 -308
  517. package/dist/tickmark-icon-CoogRMoO.js +0 -51
  518. package/dist/types/anchor-context/anchor-context.d.ts +0 -6
  519. package/dist/types/cell-selection/cell-selection-containers.d.ts +0 -3
  520. package/dist/types/column-manager/column-manager-context.d.ts +0 -12
  521. package/dist/types/column-manager/column-manager-drag-box-controls.d.ts +0 -1
  522. package/dist/types/column-manager/column-manager-drag-box-expander.d.ts +0 -1
  523. package/dist/types/column-manager/column-manager-drag-box-label.d.ts +0 -5
  524. package/dist/types/column-manager/column-manager-drag-box.d.ts +0 -13
  525. package/dist/types/column-manager/column-manager-drag-placeholder.d.ts +0 -5
  526. package/dist/types/column-manager/column-manager-drop-zone.d.ts +0 -10
  527. package/dist/types/column-manager/column-manager-impl.d.ts +0 -36
  528. package/dist/types/column-manager/column-manager-pill.d.ts +0 -4
  529. package/dist/types/column-manager/column-manager-pivot-mode-toggle.d.ts +0 -1
  530. package/dist/types/column-manager/column-manager-search.d.ts +0 -1
  531. package/dist/types/column-manager/column-manager-state.d.ts +0 -8
  532. package/dist/types/column-manager/column-manager-tree-item.d.ts +0 -6
  533. package/dist/types/column-manager/column-manager-tree.d.ts +0 -11
  534. package/dist/types/column-manager/column-manager-types.d.ts +0 -1
  535. package/dist/types/column-manager/column-manager.d.ts +0 -1
  536. package/dist/types/column-manager/utils/all-leafs.d.ts +0 -3
  537. package/dist/types/column-manager/utils/can-hide-item.d.ts +0 -3
  538. package/dist/types/column-manager/utils/handle-item-hide.d.ts +0 -3
  539. package/dist/types/components-internal/button/button.d.ts +0 -9
  540. package/dist/types/components-internal/grid-frame/grid-frame.d.ts +0 -11
  541. package/dist/types/components-internal/radio/radio.d.ts +0 -5
  542. package/dist/types/components-internal/separator/separator.d.ts +0 -8
  543. package/dist/types/components-internal/toggle/toggle.d.ts +0 -7
  544. package/dist/types/dialog/dialog-impl.d.ts +0 -6
  545. package/dist/types/dialog/dialog.d.ts +0 -8
  546. package/dist/types/dialog/use-dialog-class.d.ts +0 -1
  547. package/dist/types/external.d.ts +0 -2
  548. package/dist/types/filter-manager/combined-to-flat.d.ts +0 -3
  549. package/dist/types/filter-manager/components/apply-filter-button.d.ts +0 -1
  550. package/dist/types/filter-manager/components/clear-filter-button.d.ts +0 -1
  551. package/dist/types/filter-manager/components/flatten-tree-items.d.ts +0 -4
  552. package/dist/types/filter-manager/components/get-child-values.d.ts +0 -2
  553. package/dist/types/filter-manager/components/in-filter-container.d.ts +0 -1
  554. package/dist/types/filter-manager/components/in-filter-error.d.ts +0 -5
  555. package/dist/types/filter-manager/components/in-filter-loading.d.ts +0 -1
  556. package/dist/types/filter-manager/components/in-filter-root.d.ts +0 -11
  557. package/dist/types/filter-manager/components/in-filter-tree.d.ts +0 -15
  558. package/dist/types/filter-manager/components/simple-filter-additional-switch.d.ts +0 -1
  559. package/dist/types/filter-manager/components/simple-filter-operator/date-operator.d.ts +0 -1
  560. package/dist/types/filter-manager/components/simple-filter-operator/number-operator.d.ts +0 -1
  561. package/dist/types/filter-manager/components/simple-filter-operator/simple-filter-operator.d.ts +0 -1
  562. package/dist/types/filter-manager/components/simple-filter-operator/text-operator.d.ts +0 -1
  563. package/dist/types/filter-manager/components/simple-filter-root.d.ts +0 -9
  564. package/dist/types/filter-manager/components/simple-filter-value/date-value.d.ts +0 -1
  565. package/dist/types/filter-manager/components/simple-filter-value/number-value.d.ts +0 -1
  566. package/dist/types/filter-manager/components/simple-filter-value/simple-filter-value.d.ts +0 -1
  567. package/dist/types/filter-manager/components/simple-filter-value/text-value.d.ts +0 -1
  568. package/dist/types/filter-manager/components/use-date-filter-callbacks.d.ts +0 -9
  569. package/dist/types/filter-manager/components/use-in-filter-item-loader.d.ts +0 -7
  570. package/dist/types/filter-manager/components/use-number-filter-callbacks.d.ts +0 -8
  571. package/dist/types/filter-manager/components/use-text-filter-callbacks.d.ts +0 -8
  572. package/dist/types/filter-manager/filter-manager-impl.d.ts +0 -27
  573. package/dist/types/filter-manager/filter-manager.d.ts +0 -1
  574. package/dist/types/filter-manager/filter-state-context.d.ts +0 -16
  575. package/dist/types/filter-manager/flat-to-combined.d.ts +0 -3
  576. package/dist/types/filter-manager/flatten-combined-filter.d.ts +0 -3
  577. package/dist/types/filter-manager/is-filter-complete.d.ts +0 -2
  578. package/dist/types/filter-manager/types.d.ts +0 -15
  579. package/dist/types/filter-manager/use-in-filter.d.ts +0 -5
  580. package/dist/types/filter-manager/use-simple-filters.d.ts +0 -8
  581. package/dist/types/grid-container/grid-container-impl.d.ts +0 -6
  582. package/dist/types/grid-container/grid-container.d.ts +0 -2
  583. package/dist/types/header-cell/header-cell-default.d.ts +0 -2
  584. package/dist/types/icons.d.ts +0 -1
  585. package/dist/types/index.d.ts +0 -8
  586. package/dist/types/license.d.ts +0 -12
  587. package/dist/types/list-view/list-view-context.d.ts +0 -21
  588. package/dist/types/list-view/list-view.d.ts +0 -26
  589. package/dist/types/lytenyte-pro.d.ts +0 -7
  590. package/dist/types/menu/arrow-svg.d.ts +0 -1
  591. package/dist/types/menu/column-menu/column-menu-driver.d.ts +0 -4
  592. package/dist/types/menu/context-menu/context-menu-driver.d.ts +0 -1
  593. package/dist/types/menu/context-menu/use-context-menu-listener.d.ts +0 -6
  594. package/dist/types/menu/menu-impl.d.ts +0 -18
  595. package/dist/types/menu/menu.d.ts +0 -19
  596. package/dist/types/menu/use-menu-class-name.d.ts +0 -1
  597. package/dist/types/menu-frame/menu-frame-driver.d.ts +0 -1
  598. package/dist/types/overlay/load-error-overlay.d.ts +0 -1
  599. package/dist/types/overlay/loading-overlay.d.ts +0 -1
  600. package/dist/types/overlay/no-data-overlay.d.ts +0 -1
  601. package/dist/types/overlay/overlay-driver.d.ts +0 -1
  602. package/dist/types/pill/pill.d.ts +0 -5
  603. package/dist/types/pill-manager/pill-manager-agg-menu.d.ts +0 -7
  604. package/dist/types/pill-manager/pill-manager-controls.d.ts +0 -9
  605. package/dist/types/pill-manager/pill-manager-drag-placeholder.d.ts +0 -5
  606. package/dist/types/pill-manager/pill-manager-expander.d.ts +0 -1
  607. package/dist/types/pill-manager/pill-manager-impl.d.ts +0 -50
  608. package/dist/types/pill-manager/pill-manager-pill.d.ts +0 -5
  609. package/dist/types/pill-manager/pill-manager-pills/pill-manager-pills.d.ts +0 -2
  610. package/dist/types/pill-manager/pill-manager-pills/use-aggregation-source.d.ts +0 -2
  611. package/dist/types/pill-manager/pill-manager-pills/use-column-pivot-source.d.ts +0 -2
  612. package/dist/types/pill-manager/pill-manager-pills/use-column-source.d.ts +0 -2
  613. package/dist/types/pill-manager/pill-manager-pills/use-measures-source.d.ts +0 -2
  614. package/dist/types/pill-manager/pill-manager-pills/use-row-groups-source.d.ts +0 -2
  615. package/dist/types/pill-manager/pill-manager-pills/utils.d.ts +0 -3
  616. package/dist/types/pill-manager/pill-manager-row-label.d.ts +0 -22
  617. package/dist/types/pill-manager/pill-manager-row.d.ts +0 -12
  618. package/dist/types/pill-manager/pill-manager-rows.d.ts +0 -1
  619. package/dist/types/pill-manager/pill-manager-separator.d.ts +0 -1
  620. package/dist/types/pill-manager/pill-manager-types.d.ts +0 -36
  621. package/dist/types/pill-manager/pill-manager.d.ts +0 -1
  622. package/dist/types/popover/popover-impl.d.ts +0 -8
  623. package/dist/types/popover/popover.d.ts +0 -10
  624. package/dist/types/popover/use-popover-class.d.ts +0 -1
  625. package/dist/types/select/select.d.ts +0 -26
  626. package/dist/types/sort-manager/sort-adder.d.ts +0 -4
  627. package/dist/types/sort-manager/sort-apply.d.ts +0 -1
  628. package/dist/types/sort-manager/sort-cancel.d.ts +0 -1
  629. package/dist/types/sort-manager/sort-clear.d.ts +0 -1
  630. package/dist/types/sort-manager/sort-column-select.d.ts +0 -6
  631. package/dist/types/sort-manager/sort-direction-select.d.ts +0 -6
  632. package/dist/types/sort-manager/sort-items-to-sort-model.d.ts +0 -3
  633. package/dist/types/sort-manager/sort-manager-context.d.ts +0 -4
  634. package/dist/types/sort-manager/sort-manager-impl.d.ts +0 -32
  635. package/dist/types/sort-manager/sort-manager.d.ts +0 -1
  636. package/dist/types/sort-manager/sort-model-to-sort-items.d.ts +0 -4
  637. package/dist/types/sort-manager/sort-remove.d.ts +0 -4
  638. package/dist/types/sort-manager/sort-sort-select.d.ts +0 -6
  639. package/dist/types/sort-manager/use-sortable-column-items.d.ts +0 -9
  640. package/dist/types/use-client-data-source.d.ts +0 -6
  641. package/dist/types/use-edge-scroll.d.ts +0 -7
  642. package/dist/types/use-grid.d.ts +0 -6
  643. package/dist/types/use-lytenyte.d.ts +0 -11
  644. package/dist/types/use-server-data-source.d.ts +0 -3
  645. package/dist/types/use-tree-data-source.d.ts +0 -3
  646. package/dist/types/watermark.d.ts +0 -3
  647. package/dist/types.js +0 -1
  648. package/dist/useAnchorPositioning-52zK7jlD.js +0 -241
  649. package/dist/useButton-DWXzFgcr.js +0 -184
  650. package/dist/useScrollLock-D4UY33Sb.js +0 -425
  651. /package/dist/{types/cell-selection → cell-selection}/cell-selection-driver.d.ts +0 -0
  652. /package/dist/{types/dialog → root}/dialog-driver.d.ts +0 -0
  653. /package/dist/{types/popover → root}/popover-driver.d.ts +0 -0
@@ -0,0 +1,40 @@
1
+ import { getRootCell } from "./get-root-cell";
2
+ export function expandCellSelectionEnd(grid, meta) {
3
+ const selections = grid.state.cellSelections.get();
4
+ const cellSelectionPivot = grid.internal.cellSelectionPivot.get();
5
+ const rect = selections.at(-1);
6
+ const pivot = cellSelectionPivot;
7
+ if (!rect || !pivot)
8
+ return;
9
+ if (meta) {
10
+ const colCount = grid.state.columnMeta.get().columnsVisible.length;
11
+ if (pivot.columnStart === colCount - 1)
12
+ return;
13
+ const next = { ...rect, columnStart: pivot.columnStart, columnEnd: colCount };
14
+ const nextSelections = [...selections];
15
+ nextSelections[nextSelections.length - 1] = next;
16
+ grid.state.cellSelections.set(nextSelections);
17
+ return;
18
+ }
19
+ let next;
20
+ let focusColumn;
21
+ if (rect.columnStart < pivot.columnStart) {
22
+ let colOffset = 1;
23
+ for (let i = rect.rowStart; i < rect.rowEnd; i++) {
24
+ const cell = getRootCell(grid, i, rect.columnStart);
25
+ if (cell)
26
+ colOffset = Math.max(colOffset, cell.colSpan);
27
+ }
28
+ focusColumn = rect.columnStart + colOffset;
29
+ next = { ...rect, columnStart: focusColumn };
30
+ }
31
+ else {
32
+ focusColumn = rect.columnEnd + 1;
33
+ next = { ...rect, columnEnd: focusColumn };
34
+ focusColumn -= 1;
35
+ }
36
+ grid.api.scrollIntoView({ column: focusColumn });
37
+ const nextSelections = [...selections];
38
+ nextSelections[nextSelections.length - 1] = next;
39
+ grid.state.cellSelections.set(nextSelections);
40
+ }
@@ -0,0 +1,5 @@
1
+ import type { InternalAtoms } from "../state/+types";
2
+ import type { Grid } from "../+types";
3
+ export declare function expandCellSelectionStart(grid: Grid<any> & {
4
+ internal: InternalAtoms;
5
+ }, meta: boolean): void;
@@ -0,0 +1,39 @@
1
+ import { getRootCell } from "./get-root-cell";
2
+ export function expandCellSelectionStart(grid, meta) {
3
+ const selections = grid.state.cellSelections.get();
4
+ const cellSelectionPivot = grid.internal.cellSelectionPivot.get();
5
+ const rect = selections.at(-1);
6
+ const pivot = cellSelectionPivot;
7
+ if (!rect || !pivot)
8
+ return;
9
+ if (meta) {
10
+ if (pivot.columnStart === 0)
11
+ return;
12
+ const next = { ...rect, columnStart: 0, columnEnd: pivot.columnEnd };
13
+ const nextSelections = [...selections];
14
+ nextSelections[nextSelections.length - 1] = next;
15
+ grid.state.cellSelections.set(nextSelections);
16
+ return;
17
+ }
18
+ let next;
19
+ let focusColumn;
20
+ if (rect.columnEnd > pivot.columnEnd) {
21
+ let colOffset = 1;
22
+ for (let i = rect.rowStart; i < rect.rowEnd; i++) {
23
+ const cell = getRootCell(grid, i, rect.columnEnd - 1);
24
+ if (cell)
25
+ colOffset = Math.max(colOffset, cell.colSpan);
26
+ }
27
+ focusColumn = rect.columnEnd - colOffset;
28
+ next = { ...rect, columnEnd: focusColumn };
29
+ focusColumn -= 1;
30
+ }
31
+ else {
32
+ focusColumn = rect.columnStart - 1;
33
+ next = { ...rect, columnStart: focusColumn };
34
+ }
35
+ grid.api.scrollIntoView({ column: focusColumn });
36
+ const nextSelections = [...selections];
37
+ nextSelections[nextSelections.length - 1] = next;
38
+ grid.state.cellSelections.set(nextSelections);
39
+ }
@@ -0,0 +1,5 @@
1
+ import type { InternalAtoms } from "../state/+types";
2
+ import type { Grid } from "../+types";
3
+ export declare function expandCellSelectionUp(grid: Grid<any> & {
4
+ internal: InternalAtoms;
5
+ }, meta: boolean): void;
@@ -0,0 +1,39 @@
1
+ import { getRootCell } from "./get-root-cell";
2
+ export function expandCellSelectionUp(grid, meta) {
3
+ const selections = grid.state.cellSelections.get();
4
+ const cellSelectionPivot = grid.internal.cellSelectionPivot.get();
5
+ const rect = selections.at(-1);
6
+ const pivot = cellSelectionPivot;
7
+ if (!rect || !pivot)
8
+ return;
9
+ if (meta) {
10
+ if (pivot.rowStart === 0)
11
+ return;
12
+ const next = { ...rect, rowEnd: pivot.rowEnd, rowStart: 0 };
13
+ const nextSelections = [...selections];
14
+ nextSelections[nextSelections.length - 1] = next;
15
+ grid.state.cellSelections.set(nextSelections);
16
+ return;
17
+ }
18
+ let next;
19
+ let focusRow;
20
+ if (rect.rowEnd > pivot.rowEnd) {
21
+ let rowOffset = 1;
22
+ for (let i = rect.columnStart; i < rect.columnEnd; i++) {
23
+ const cell = getRootCell(grid, rect.rowEnd - 1, i);
24
+ if (cell)
25
+ rowOffset = Math.max(rowOffset, cell.rowSpan);
26
+ }
27
+ focusRow = rect.rowEnd - rowOffset;
28
+ next = { ...rect, rowEnd: focusRow };
29
+ focusRow -= 1;
30
+ }
31
+ else {
32
+ focusRow = rect.rowStart - 1;
33
+ next = { ...rect, rowStart: focusRow };
34
+ }
35
+ grid.api.scrollIntoView({ row: focusRow });
36
+ const nextSelections = [...selections];
37
+ nextSelections[nextSelections.length - 1] = next;
38
+ grid.state.cellSelections.set(nextSelections);
39
+ }
@@ -0,0 +1,2 @@
1
+ import type { Grid } from "../+types";
2
+ export declare function fullWidthStartEndIndex(grid: Grid<any>): number[];
@@ -0,0 +1,5 @@
1
+ export function fullWidthStartEndIndex(grid) {
2
+ const meta = grid.state.columnMeta.get();
3
+ const lastIndex = meta.columnsVisible.length;
4
+ return [0, lastIndex];
5
+ }
@@ -0,0 +1,2 @@
1
+ import type { Grid, PositionGridCell } from "../+types";
2
+ export declare const getRootCell: (grid: Grid<any>, rowIndex: number, columnIndex: number) => PositionGridCell["root"];
@@ -0,0 +1,86 @@
1
+ import { getSpanFn } from "../state/helpers/get-span-callback";
2
+ import { getFullWidthCallback } from "../state/helpers/get-full-width-callback";
3
+ import { applyLayoutUpdate } from "@1771technologies/lytenyte-shared";
4
+ export const getRootCell = (grid, rowIndex, columnIndex) => {
5
+ const rds = grid.state.rowDataSource.get();
6
+ const meta = grid.state.columnMeta.get();
7
+ const columns = meta.columnsVisible;
8
+ const rowScan = grid.state.rowScanDistance.get();
9
+ const colScan = grid.state.colScanDistance.get();
10
+ const fullWidth = grid.state.rowFullWidthPredicate.get().fn;
11
+ const layoutMap = new Map();
12
+ const topCount = grid.state.rowDataStore.rowTopCount.get();
13
+ const botCount = grid.state.rowDataStore.rowBottomCount.get();
14
+ const rowCenterCount = grid.state.rowDataStore.rowCenterCount.get();
15
+ const isTop = rowIndex < topCount;
16
+ const isBot = rowIndex >= topCount + rowCenterCount;
17
+ const isStart = columns[columnIndex].pin === "start";
18
+ const isEnd = columns[columnIndex].pin === "end";
19
+ applyLayoutUpdate({
20
+ computeColSpan: getSpanFn(rds, grid, columns, "col"),
21
+ computeRowSpan: getSpanFn(rds, grid, columns, "row"),
22
+ colScanDistance: colScan,
23
+ rowScanDistance: rowScan,
24
+ invalidated: true,
25
+ isFullWidth: getFullWidthCallback(rds, fullWidth, grid),
26
+ isRowCutoff: (r) => {
27
+ const row = rds.rowByIndex(r);
28
+ return !row || row.kind === "branch";
29
+ },
30
+ layoutMap,
31
+ nextLayout: {
32
+ rowTopStart: 0,
33
+ rowTopEnd: topCount,
34
+ rowBotStart: topCount + rowCenterCount,
35
+ rowBotEnd: topCount + rowCenterCount + botCount,
36
+ rowCenterStart: isTop || isBot ? 0 : rowIndex,
37
+ rowCenterEnd: isTop || isBot ? 0 : rowIndex + 1,
38
+ rowCenterLast: topCount + rowCenterCount,
39
+ colStartStart: 0,
40
+ colStartEnd: meta.columnVisibleStartCount,
41
+ colEndStart: meta.columnVisibleStartCount + meta.columnVisibleCenterCount,
42
+ colEndEnd: columns.length,
43
+ colCenterStart: isStart || isEnd ? 0 : columnIndex,
44
+ colCenterEnd: isStart || isEnd ? 0 : columnIndex + 1,
45
+ colCenterLast: meta.columnVisibleStartCount + meta.columnVisibleCenterCount,
46
+ },
47
+ prevLayout: {
48
+ colCenterEnd: -1,
49
+ colCenterLast: -1,
50
+ colCenterStart: -1,
51
+ colEndEnd: -1,
52
+ colEndStart: -1,
53
+ colStartEnd: -1,
54
+ colStartStart: -1,
55
+ rowBotEnd: -1,
56
+ rowBotStart: -1,
57
+ rowCenterEnd: -1,
58
+ rowCenterLast: -1,
59
+ rowCenterStart: -1,
60
+ rowTopEnd: -1,
61
+ rowTopStart: -1,
62
+ },
63
+ });
64
+ const row = layoutMap.get(rowIndex);
65
+ const cell = row?.get(columnIndex);
66
+ if (!cell)
67
+ return null;
68
+ if (cell?.length === 2)
69
+ return {
70
+ colIndex: columnIndex,
71
+ colSpan: 1,
72
+ rowIndex: rowIndex,
73
+ rowSpan: 1,
74
+ };
75
+ // Otherwise this is a spanning cell hence we need to find the spans layout.
76
+ const root = layoutMap.get(cell[1]);
77
+ const rootCell = root?.get(cell[2]);
78
+ if (!rootCell)
79
+ return null;
80
+ return {
81
+ colIndex: cell[2],
82
+ rowIndex: cell[1],
83
+ rowSpan: rootCell[0],
84
+ colSpan: rootCell[1],
85
+ };
86
+ };
@@ -0,0 +1,19 @@
1
+ export { isWithinSelectionRect } from "./is-within-selection-rect.js";
2
+ export { splitCellSelectionRect } from "./split-cell-selection-rect.js";
3
+ export { boundSelectionRect } from "./bound-selection-rect.js";
4
+ export { fullWidthStartEndIndex } from "./full-width-start-end-index.js";
5
+ export { areRectsEqual } from "./are-rects-equal.js";
6
+ export { deselectRectRange } from "./deselect-rect-range.js";
7
+ export { isOverlappingRect } from "./is-overlapping-rect.js";
8
+ export { adjustRectForRowAndCellSpan } from "./adjust-rect-for-row-and-cell-span.js";
9
+ export { updateAdditiveCellSelection } from "./update-additive-cell-selection.js";
10
+ export { expandCellSelectionDown } from "./expand-cell-selection-down.js";
11
+ export { expandCellSelectionUp } from "./expand-cell-selection-up.js";
12
+ export { expandCellSelectionStart } from "./expand-cell-selection-start.js";
13
+ export { expandCellSelectionEnd } from "./expand-cell-selection-end.js";
14
+ export { isBottomRect } from "./is-bottom-rect.js";
15
+ export { isCenterRect } from "./is-center-rect.js";
16
+ export { isTopRect } from "./is-top-rect.js";
17
+ export { isCenterColRect } from "./is-center-col-rect.js";
18
+ export { isStartRect } from "./is-start-rect.js";
19
+ export { isEndRect } from "./is-end-rect.js";
@@ -0,0 +1,19 @@
1
+ export { isWithinSelectionRect } from "./is-within-selection-rect.js";
2
+ export { splitCellSelectionRect } from "./split-cell-selection-rect.js";
3
+ export { boundSelectionRect } from "./bound-selection-rect.js";
4
+ export { fullWidthStartEndIndex } from "./full-width-start-end-index.js";
5
+ export { areRectsEqual } from "./are-rects-equal.js";
6
+ export { deselectRectRange } from "./deselect-rect-range.js";
7
+ export { isOverlappingRect } from "./is-overlapping-rect.js";
8
+ export { adjustRectForRowAndCellSpan } from "./adjust-rect-for-row-and-cell-span.js";
9
+ export { updateAdditiveCellSelection } from "./update-additive-cell-selection.js";
10
+ export { expandCellSelectionDown } from "./expand-cell-selection-down.js";
11
+ export { expandCellSelectionUp } from "./expand-cell-selection-up.js";
12
+ export { expandCellSelectionStart } from "./expand-cell-selection-start.js";
13
+ export { expandCellSelectionEnd } from "./expand-cell-selection-end.js";
14
+ export { isBottomRect } from "./is-bottom-rect.js";
15
+ export { isCenterRect } from "./is-center-rect.js";
16
+ export { isTopRect } from "./is-top-rect.js";
17
+ export { isCenterColRect } from "./is-center-col-rect.js";
18
+ export { isStartRect } from "./is-start-rect.js";
19
+ export { isEndRect } from "./is-end-rect.js";
@@ -0,0 +1,2 @@
1
+ import type { DataRect, Grid } from "../+types";
2
+ export declare function isBottomRect(grid: Grid<any>, rect: DataRect): boolean;
@@ -0,0 +1,7 @@
1
+ export function isBottomRect(grid, rect) {
2
+ const s = grid.state.rowDataStore;
3
+ const rowCount = s.rowCount.get();
4
+ const botCount = s.rowBottomCount.get();
5
+ const bottomStart = rowCount - botCount;
6
+ return rect.rowStart >= bottomStart;
7
+ }
@@ -0,0 +1,5 @@
1
+ import type { Grid } from "../+types";
2
+ export declare function isCenterColRect(grid: Grid<any>, rect: {
3
+ columnStart: number;
4
+ columnEnd: number;
5
+ }): boolean;
@@ -0,0 +1,5 @@
1
+ export function isCenterColRect(grid, rect) {
2
+ const s = grid.state.columnMeta.get();
3
+ return (rect.columnStart >= s.columnVisibleStartCount &&
4
+ rect.columnStart < s.columnVisibleCenterCount + s.columnVisibleStartCount);
5
+ }
@@ -0,0 +1,2 @@
1
+ import type { DataRect, Grid } from "../+types";
2
+ export declare function isCenterRect(grid: Grid<any>, rect: DataRect): boolean;
@@ -0,0 +1,5 @@
1
+ export function isCenterRect(grid, rect) {
2
+ const ds = grid.state.rowDataStore;
3
+ const bottomStart = ds.rowCount.get() - ds.rowBottomCount.get();
4
+ return rect.rowStart < bottomStart && rect.rowStart >= ds.rowTopCount.get();
5
+ }
@@ -0,0 +1,5 @@
1
+ import type { Grid } from "../+types";
2
+ export declare function isEndRect(grid: Grid<any>, rect: {
3
+ columnStart: number;
4
+ columnEnd: number;
5
+ }): boolean;
@@ -0,0 +1,4 @@
1
+ export function isEndRect(grid, rect) {
2
+ const meta = grid.state.columnMeta.get();
3
+ return rect.columnStart >= meta.columnVisibleStartCount + meta.columnVisibleCenterCount;
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { DataRect } from "../+types";
2
+ export declare function isOverlappingRect(rect1: DataRect, rect2: DataRect): boolean;
@@ -0,0 +1,6 @@
1
+ export function isOverlappingRect(rect1, rect2) {
2
+ return !(rect1.rowEnd < rect2.rowStart ||
3
+ rect1.rowStart > rect2.rowEnd ||
4
+ rect1.columnEnd < rect2.columnStart ||
5
+ rect1.columnStart > rect2.columnEnd);
6
+ }
@@ -0,0 +1,5 @@
1
+ import type { Grid } from "../+types";
2
+ export declare function isStartRect(grid: Grid<any>, rect: {
3
+ columnStart: number;
4
+ columnEnd: number;
5
+ }): boolean;
@@ -0,0 +1,4 @@
1
+ export function isStartRect(grid, rect) {
2
+ const meta = grid.state.columnMeta.get();
3
+ return rect.columnStart < meta.columnVisibleStartCount;
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { DataRect, Grid } from "../+types";
2
+ export declare function isTopRect(grid: Grid<any>, rect: DataRect): boolean;
@@ -0,0 +1,4 @@
1
+ export function isTopRect(grid, rect) {
2
+ const topCount = grid.state.rowDataStore.rowTopCount.get();
3
+ return rect.rowStart < topCount;
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { DataRect } from "../+types";
2
+ export declare function isWithinSelectionRect(rect: DataRect, r: number, c: number): boolean;
@@ -0,0 +1,3 @@
1
+ export function isWithinSelectionRect(rect, r, c) {
2
+ return r >= rect.rowStart && r < rect.rowEnd && c >= rect.columnStart && c < rect.columnEnd;
3
+ }
@@ -0,0 +1,39 @@
1
+ import type { DataRect } from "../+types";
2
+ interface SplitCellSelectionRectArgs {
3
+ readonly rect: DataRect;
4
+ readonly colStartCount: number;
5
+ readonly colCenterCount: number;
6
+ readonly rowTopCount: number;
7
+ readonly rowCenterCount: number;
8
+ }
9
+ /**
10
+ * Splits a cell selection rectangle into multiple rectangles when it crosses specified boundary regions.
11
+ * This is useful for handling selections that span across different grid sections (e.g., fixed columns/rows,
12
+ * scrollable areas).
13
+ *
14
+ * The splitting process happens in two phases:
15
+ * 1. Column-wise splitting: Splits rectangles that cross column section boundaries
16
+ * 2. Row-wise splitting: Further splits the resulting rectangles if they cross row section boundaries
17
+ *
18
+ * Splitting does not support full width rows. It is assumed that if full width rows are present then
19
+ * the cell selection will just be drawn over them
20
+ *
21
+ * @example
22
+ * // For a grid with 2 fixed start columns and 1 fixed top row:
23
+ * const splits = splitCellSelectionRect({
24
+ * rect: { columnStart: 0, columnEnd: 3, rowStart: 0, rowEnd: 2 },
25
+ * colStartCount: 2, // Number of fixed start columns
26
+ * colCenterCount: 10, // Number of scrollable columns
27
+ * rowTopCount: 1, // Number of fixed top rows
28
+ * rowCenterCount: 50 // Number of scrollable rows
29
+ * });
30
+ *
31
+ * @param rect - The original cell selection rectangle to split
32
+ * @param colStartCount - Number of columns in the start (usually fixed) section
33
+ * @param colCenterCount - Number of columns in the center (usually scrollable) section
34
+ * @param rowTopCount - Number of rows in the top (usually fixed) section
35
+ * @param rowCenterCount - Number of rows in the center (usually scrollable) section
36
+ * @returns An array of split rectangles. If no splits were necessary, returns an array with just the original rectangle
37
+ */
38
+ export declare function splitCellSelectionRect({ rect, colStartCount, colCenterCount, rowTopCount, rowCenterCount, }: SplitCellSelectionRectArgs): DataRect[];
39
+ export {};
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Splits a cell selection rectangle into multiple rectangles when it crosses specified boundary regions.
3
+ * This is useful for handling selections that span across different grid sections (e.g., fixed columns/rows,
4
+ * scrollable areas).
5
+ *
6
+ * The splitting process happens in two phases:
7
+ * 1. Column-wise splitting: Splits rectangles that cross column section boundaries
8
+ * 2. Row-wise splitting: Further splits the resulting rectangles if they cross row section boundaries
9
+ *
10
+ * Splitting does not support full width rows. It is assumed that if full width rows are present then
11
+ * the cell selection will just be drawn over them
12
+ *
13
+ * @example
14
+ * // For a grid with 2 fixed start columns and 1 fixed top row:
15
+ * const splits = splitCellSelectionRect({
16
+ * rect: { columnStart: 0, columnEnd: 3, rowStart: 0, rowEnd: 2 },
17
+ * colStartCount: 2, // Number of fixed start columns
18
+ * colCenterCount: 10, // Number of scrollable columns
19
+ * rowTopCount: 1, // Number of fixed top rows
20
+ * rowCenterCount: 50 // Number of scrollable rows
21
+ * });
22
+ *
23
+ * @param rect - The original cell selection rectangle to split
24
+ * @param colStartCount - Number of columns in the start (usually fixed) section
25
+ * @param colCenterCount - Number of columns in the center (usually scrollable) section
26
+ * @param rowTopCount - Number of rows in the top (usually fixed) section
27
+ * @param rowCenterCount - Number of rows in the center (usually scrollable) section
28
+ * @returns An array of split rectangles. If no splits were necessary, returns an array with just the original rectangle
29
+ */
30
+ export function splitCellSelectionRect({ rect, colStartCount, colCenterCount, rowTopCount, rowCenterCount, }) {
31
+ // Calculate the boundary positions for columns
32
+ const colStartBound = colStartCount;
33
+ const colEndBound = colStartCount + colCenterCount;
34
+ const colSplits = [];
35
+ // Handle column splits first
36
+ // Case 1: Selection starts before the fixed columns and extends into the scrollable area
37
+ if (rect.columnStart < colStartBound && rect.columnEnd > colStartBound) {
38
+ const startSplit = {
39
+ ...rect,
40
+ columnEnd: colStartBound,
41
+ };
42
+ colSplits.push(startSplit);
43
+ rect = { ...rect, columnStart: colStartBound };
44
+ }
45
+ // Case 2: Selection starts in the scrollable area and extends into the end section
46
+ if (rect.columnStart < colEndBound && rect.columnEnd > colEndBound) {
47
+ const endSplit = {
48
+ ...rect,
49
+ columnStart: colEndBound,
50
+ };
51
+ rect = { ...rect, columnEnd: colEndBound };
52
+ colSplits.push(endSplit);
53
+ }
54
+ // Add the remaining rectangle after column splits
55
+ colSplits.push(rect);
56
+ // Calculate the boundary positions for rows
57
+ const topBound = rowTopCount;
58
+ const bottomBound = rowTopCount + rowCenterCount;
59
+ // Process row splits for each column-split rectangle
60
+ const rowSplits = [];
61
+ for (let split of colSplits) {
62
+ // Case 1: Selection spans from top section into center section
63
+ if (split.rowStart < topBound && split.rowEnd > topBound) {
64
+ const topSplit = { ...split, rowEnd: topBound };
65
+ split = { ...split, rowStart: topBound };
66
+ rowSplits.push(topSplit);
67
+ }
68
+ // Case 2: Selection spans from center section into bottom section
69
+ if (split.rowStart < bottomBound && split.rowEnd > bottomBound) {
70
+ const bottomSplit = { ...split, rowStart: bottomBound };
71
+ split = { ...split, rowEnd: bottomBound };
72
+ rowSplits.push(bottomSplit);
73
+ }
74
+ rowSplits.push(split);
75
+ }
76
+ return rowSplits.sort((l, r) => {
77
+ return l.rowStart - r.rowStart || l.columnStart - r.columnStart;
78
+ });
79
+ }
@@ -0,0 +1,5 @@
1
+ import type { DataRect, Grid } from "../+types";
2
+ import type { InternalAtoms } from "../state/+types";
3
+ export declare function updateAdditiveCellSelection(grid: Grid<any> & {
4
+ internal: InternalAtoms;
5
+ }, rect: DataRect): void;
@@ -0,0 +1,25 @@
1
+ import { boundSelectionRect } from "./bound-selection-rect";
2
+ import { adjustRectForRowAndCellSpan } from "./adjust-rect-for-row-and-cell-span";
3
+ import { areRectsEqual } from "./are-rects-equal";
4
+ import { splitCellSelectionRect } from "./split-cell-selection-rect";
5
+ export function updateAdditiveCellSelection(grid, rect) {
6
+ const s = grid.state.columnMeta.get();
7
+ const ds = grid.state.rowDataStore;
8
+ const rowTopCount = ds.rowTopCount.get();
9
+ const adjustedRect = adjustRectForRowAndCellSpan(grid, rect);
10
+ console.log(adjustedRect);
11
+ const rects = splitCellSelectionRect({
12
+ rect: boundSelectionRect(grid, adjustedRect),
13
+ colCenterCount: s.columnVisibleCenterCount,
14
+ colStartCount: s.columnVisibleStartCount,
15
+ rowCenterCount: ds.rowCenterCount.get(),
16
+ rowTopCount: rowTopCount,
17
+ });
18
+ console.log(rects);
19
+ const current = grid.internal.cellSelectionAdditiveRects.get();
20
+ if (current && current.length === rects.length) {
21
+ if (current.every((c, i) => areRectsEqual(c, rects[i])))
22
+ return;
23
+ }
24
+ grid.internal.cellSelectionAdditiveRects.set(rects);
25
+ }
@@ -0,0 +1,10 @@
1
+ import type { Grid } from "../+types";
2
+ import type { InternalAtoms } from "../state/+types";
3
+ export declare function useEdgeScroll(grid: Grid<any> & {
4
+ internal: InternalAtoms;
5
+ }): {
6
+ cancelX: () => void;
7
+ edgeScrollX: (visualPositionX: number, isRtl: boolean) => void;
8
+ cancelY: () => void;
9
+ edgeScrollY: (visualPositionY: number) => void;
10
+ };
@@ -0,0 +1,66 @@
1
+ import { useCallback, useRef } from "react";
2
+ export function useEdgeScroll(grid) {
3
+ const intervalIdX = useRef(null);
4
+ const intervalIdY = useRef(null);
5
+ const cancelX = useCallback(() => {
6
+ if (intervalIdX.current) {
7
+ clearInterval(intervalIdX.current);
8
+ intervalIdX.current = null;
9
+ }
10
+ }, []);
11
+ const cancelY = useCallback(() => {
12
+ if (intervalIdY.current) {
13
+ clearInterval(intervalIdY.current);
14
+ intervalIdY.current = null;
15
+ }
16
+ }, []);
17
+ const edgeScrollY = useCallback((visualPositionY) => {
18
+ const viewport = grid.state.viewport.get();
19
+ if (!viewport)
20
+ return;
21
+ const viewportClientHeight = grid.state.viewportHeightInner.get();
22
+ const viewportHeight = Math.min(viewportClientHeight * 0.1, 100);
23
+ const buffer = viewportHeight;
24
+ const topBound = buffer + grid.internal.headerHeightTotal.get();
25
+ const botBound = viewportClientHeight - buffer;
26
+ const speed = 6;
27
+ if (visualPositionY < topBound && !intervalIdY.current) {
28
+ intervalIdY.current = setInterval(() => {
29
+ viewport.scrollBy({ top: -speed });
30
+ }, 6);
31
+ }
32
+ else if (visualPositionY > botBound && !intervalIdY.current) {
33
+ intervalIdY.current = setInterval(() => {
34
+ viewport.scrollBy({ top: speed });
35
+ }, 6);
36
+ }
37
+ if (intervalIdY.current && visualPositionY > topBound && visualPositionY < botBound) {
38
+ cancelY();
39
+ }
40
+ }, [cancelY, grid.internal.headerHeightTotal, grid.state.viewport, grid.state.viewportHeightInner]);
41
+ const edgeScrollX = useCallback((visualPositionX, isRtl) => {
42
+ const viewport = grid.state.viewport.get();
43
+ if (!viewport)
44
+ return;
45
+ const viewportClientWidth = grid.state.viewportWidthInner.get();
46
+ const viewportWidth = Math.min(viewportClientWidth * 0.1, 100);
47
+ const buffer = viewportWidth;
48
+ const leftBound = buffer;
49
+ const rightBound = viewportClientWidth - buffer;
50
+ const speed = 3;
51
+ if (visualPositionX < leftBound && !intervalIdX.current) {
52
+ intervalIdX.current = setInterval(() => {
53
+ viewport.scrollBy({ left: isRtl ? speed : -speed });
54
+ }, 6);
55
+ }
56
+ else if (visualPositionX > rightBound && !intervalIdX.current) {
57
+ intervalIdX.current = setInterval(() => {
58
+ viewport.scrollBy({ left: isRtl ? -speed : speed });
59
+ }, 6);
60
+ }
61
+ if (intervalIdX.current && visualPositionX > leftBound && visualPositionX < rightBound) {
62
+ cancelX();
63
+ }
64
+ }, [cancelX, grid.state.viewport, grid.state.viewportWidthInner]);
65
+ return { cancelX, edgeScrollX, cancelY, edgeScrollY };
66
+ }
@@ -0,0 +1,2 @@
1
+ import type { CellRendererParams } from "../+types";
2
+ export declare function CellDefault<T>({ grid, column, row }: CellRendererParams<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function CellDefault({ grid, column, row }) {
3
+ const r = grid.api.columnField(column, row);
4
+ if (row.data == null && row.loading) {
5
+ return _jsx("div", { children: "Loading..." });
6
+ }
7
+ return _jsx("div", { children: `${r ?? ""}` });
8
+ }
@@ -0,0 +1,6 @@
1
+ import type { RowCellLayout } from "../+types";
2
+ interface CellEditorParams<T> {
3
+ readonly cell: RowCellLayout<T>;
4
+ }
5
+ export declare function CellEditor<T>({ cell }: CellEditorParams<T>): import("react/jsx-runtime").JSX.Element;
6
+ export {};