@1771technologies/lytenyte-pro 1.0.12-dev.0 → 1.0.12-dev.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 (499) hide show
  1. package/package.json +7 -7
  2. package/dist/+types.d.ts +0 -5836
  3. package/dist/+types.js +0 -1
  4. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +0 -2
  5. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +0 -43
  6. package/dist/cell-selection/are-rects-equal.d.ts +0 -2
  7. package/dist/cell-selection/are-rects-equal.js +0 -6
  8. package/dist/cell-selection/bound-selection-rect.d.ts +0 -2
  9. package/dist/cell-selection/bound-selection-rect.js +0 -17
  10. package/dist/cell-selection/cell-selection-containers.d.ts +0 -3
  11. package/dist/cell-selection/cell-selection-containers.js +0 -91
  12. package/dist/cell-selection/cell-selection-driver.d.ts +0 -1
  13. package/dist/cell-selection/cell-selection-driver.js +0 -285
  14. package/dist/cell-selection/cell-style-row.d.ts +0 -8
  15. package/dist/cell-selection/cell-style-row.js +0 -84
  16. package/dist/cell-selection/deselect-rect-range.d.ts +0 -2
  17. package/dist/cell-selection/deselect-rect-range.js +0 -43
  18. package/dist/cell-selection/expand-cell-selection-down.d.ts +0 -5
  19. package/dist/cell-selection/expand-cell-selection-down.js +0 -39
  20. package/dist/cell-selection/expand-cell-selection-end.d.ts +0 -5
  21. package/dist/cell-selection/expand-cell-selection-end.js +0 -40
  22. package/dist/cell-selection/expand-cell-selection-start.d.ts +0 -5
  23. package/dist/cell-selection/expand-cell-selection-start.js +0 -39
  24. package/dist/cell-selection/expand-cell-selection-up.d.ts +0 -5
  25. package/dist/cell-selection/expand-cell-selection-up.js +0 -39
  26. package/dist/cell-selection/full-width-start-end-index.d.ts +0 -2
  27. package/dist/cell-selection/full-width-start-end-index.js +0 -5
  28. package/dist/cell-selection/get-root-cell.d.ts +0 -2
  29. package/dist/cell-selection/get-root-cell.js +0 -6
  30. package/dist/cell-selection/index.d.ts +0 -18
  31. package/dist/cell-selection/index.js +0 -18
  32. package/dist/cell-selection/is-bottom-rect.d.ts +0 -2
  33. package/dist/cell-selection/is-bottom-rect.js +0 -7
  34. package/dist/cell-selection/is-center-col-rect.d.ts +0 -5
  35. package/dist/cell-selection/is-center-col-rect.js +0 -5
  36. package/dist/cell-selection/is-center-rect.d.ts +0 -2
  37. package/dist/cell-selection/is-center-rect.js +0 -5
  38. package/dist/cell-selection/is-end-rect.d.ts +0 -5
  39. package/dist/cell-selection/is-end-rect.js +0 -4
  40. package/dist/cell-selection/is-overlapping-rect.d.ts +0 -2
  41. package/dist/cell-selection/is-overlapping-rect.js +0 -6
  42. package/dist/cell-selection/is-start-rect.d.ts +0 -5
  43. package/dist/cell-selection/is-start-rect.js +0 -4
  44. package/dist/cell-selection/is-top-rect.d.ts +0 -2
  45. package/dist/cell-selection/is-top-rect.js +0 -4
  46. package/dist/cell-selection/is-within-selection-rect.d.ts +0 -2
  47. package/dist/cell-selection/is-within-selection-rect.js +0 -3
  48. package/dist/cell-selection/split-cell-selection-rect.d.ts +0 -46
  49. package/dist/cell-selection/split-cell-selection-rect.js +0 -88
  50. package/dist/cell-selection/split-on-pivot.d.ts +0 -3
  51. package/dist/cell-selection/split-on-pivot.js +0 -50
  52. package/dist/cell-selection/update-additive-cell-selection.d.ts +0 -5
  53. package/dist/cell-selection/update-additive-cell-selection.js +0 -23
  54. package/dist/cell-selection/use-edge-scroll.d.ts +0 -10
  55. package/dist/cell-selection/use-edge-scroll.js +0 -66
  56. package/dist/cells/+types.cell.d.ts +0 -13
  57. package/dist/cells/+types.cell.js +0 -1
  58. package/dist/cells/cell-default.d.ts +0 -2
  59. package/dist/cells/cell-default.js +0 -8
  60. package/dist/cells/cell-editor.d.ts +0 -6
  61. package/dist/cells/cell-editor.js +0 -103
  62. package/dist/cells/cell-spacer.d.ts +0 -9
  63. package/dist/cells/cell-spacer.js +0 -34
  64. package/dist/cells/cell.d.ts +0 -5
  65. package/dist/cells/cell.js +0 -43
  66. package/dist/cells/use-cell-style.d.ts +0 -3
  67. package/dist/cells/use-cell-style.js +0 -51
  68. package/dist/column-manager/branch-lookup-context.d.ts +0 -4
  69. package/dist/column-manager/branch-lookup-context.js +0 -3
  70. package/dist/column-manager/branch.d.ts +0 -15
  71. package/dist/column-manager/branch.js +0 -54
  72. package/dist/column-manager/column-manager.d.ts +0 -13
  73. package/dist/column-manager/column-manager.js +0 -18
  74. package/dist/column-manager/context.d.ts +0 -7
  75. package/dist/column-manager/context.js +0 -3
  76. package/dist/column-manager/label.d.ts +0 -5
  77. package/dist/column-manager/label.js +0 -18
  78. package/dist/column-manager/leaf.d.ts +0 -6
  79. package/dist/column-manager/leaf.js +0 -58
  80. package/dist/column-manager/move-handle.d.ts +0 -5
  81. package/dist/column-manager/move-handle.js +0 -73
  82. package/dist/column-manager/panel.d.ts +0 -1
  83. package/dist/column-manager/panel.js +0 -2
  84. package/dist/column-manager/root.d.ts +0 -8
  85. package/dist/column-manager/root.js +0 -7
  86. package/dist/column-manager/use-column-manager.d.ts +0 -10
  87. package/dist/column-manager/use-column-manager.js +0 -24
  88. package/dist/column-manager/use-columns-from-context.d.ts +0 -3
  89. package/dist/column-manager/use-columns-from-context.js +0 -23
  90. package/dist/column-manager/visibility-checkbox.d.ts +0 -9
  91. package/dist/column-manager/visibility-checkbox.js +0 -30
  92. package/dist/context.d.ts +0 -10
  93. package/dist/context.js +0 -4
  94. package/dist/filter-tree/branch.d.ts +0 -13
  95. package/dist/filter-tree/branch.js +0 -21
  96. package/dist/filter-tree/context.d.ts +0 -27
  97. package/dist/filter-tree/context.js +0 -5
  98. package/dist/filter-tree/filter-tree.d.ts +0 -14
  99. package/dist/filter-tree/filter-tree.js +0 -18
  100. package/dist/filter-tree/hooks/use-filter-tree.d.ts +0 -38
  101. package/dist/filter-tree/hooks/use-filter-tree.js +0 -101
  102. package/dist/filter-tree/hooks/use-tree-item.d.ts +0 -8
  103. package/dist/filter-tree/hooks/use-tree-item.js +0 -116
  104. package/dist/filter-tree/inclusion-checkbox.d.ts +0 -9
  105. package/dist/filter-tree/inclusion-checkbox.js +0 -14
  106. package/dist/filter-tree/label.d.ts +0 -5
  107. package/dist/filter-tree/label.js +0 -18
  108. package/dist/filter-tree/leaf.d.ts +0 -6
  109. package/dist/filter-tree/leaf.js +0 -14
  110. package/dist/filter-tree/root.d.ts +0 -13
  111. package/dist/filter-tree/root.js +0 -30
  112. package/dist/grid-box/+types.d.ts +0 -15
  113. package/dist/grid-box/+types.js +0 -1
  114. package/dist/grid-box/context.d.ts +0 -9
  115. package/dist/grid-box/context.js +0 -3
  116. package/dist/grid-box/grid-box.d.ts +0 -12
  117. package/dist/grid-box/grid-box.js +0 -14
  118. package/dist/grid-box/item.d.ts +0 -10
  119. package/dist/grid-box/item.js +0 -63
  120. package/dist/grid-box/panel.d.ts +0 -1
  121. package/dist/grid-box/panel.js +0 -9
  122. package/dist/grid-box/root.d.ts +0 -9
  123. package/dist/grid-box/root.js +0 -8
  124. package/dist/grid-box/use-aggregation-box-items.d.ts +0 -18
  125. package/dist/grid-box/use-aggregation-box-items.js +0 -61
  126. package/dist/grid-box/use-column-box-items.d.ts +0 -34
  127. package/dist/grid-box/use-column-box-items.js +0 -78
  128. package/dist/grid-box/use-row-group-box-items.d.ts +0 -18
  129. package/dist/grid-box/use-row-group-box-items.js +0 -169
  130. package/dist/grid-provider/context.d.ts +0 -5
  131. package/dist/grid-provider/context.js +0 -2
  132. package/dist/grid-provider/provider.d.ts +0 -3
  133. package/dist/grid-provider/provider.js +0 -2
  134. package/dist/grid-provider/use-grid.d.ts +0 -3
  135. package/dist/grid-provider/use-grid.js +0 -3
  136. package/dist/grid.d.ts +0 -18
  137. package/dist/grid.js +0 -28
  138. package/dist/header/header-cell.d.ts +0 -10
  139. package/dist/header/header-cell.js +0 -24
  140. package/dist/header/header-group-cell.d.ts +0 -5
  141. package/dist/header/header-group-cell.js +0 -16
  142. package/dist/header/header-row.d.ts +0 -4
  143. package/dist/header/header-row.js +0 -10
  144. package/dist/header/header.d.ts +0 -1
  145. package/dist/header/header.js +0 -10
  146. package/dist/header/resize-handler.d.ts +0 -12
  147. package/dist/header/resize-handler.js +0 -139
  148. package/dist/header/use-drag-move.d.ts +0 -14
  149. package/dist/header/use-drag-move.js +0 -97
  150. package/dist/header/use-header-cell-renderer.d.ts +0 -4
  151. package/dist/header/use-header-cell-renderer.js +0 -36
  152. package/dist/icons/index.d.ts +0 -1
  153. package/dist/icons/index.js +0 -3
  154. package/dist/index.d.ts +0 -13
  155. package/dist/index.js +0 -13
  156. package/dist/license.d.ts +0 -3
  157. package/dist/license.js +0 -214
  158. package/dist/listbox/context.d.ts +0 -6
  159. package/dist/listbox/context.js +0 -3
  160. package/dist/listbox/item.d.ts +0 -1
  161. package/dist/listbox/item.js +0 -25
  162. package/dist/listbox/panel.d.ts +0 -1
  163. package/dist/listbox/panel.js +0 -50
  164. package/dist/listbox/root.d.ts +0 -6
  165. package/dist/listbox/root.js +0 -12
  166. package/dist/root/dialog-driver.d.ts +0 -1
  167. package/dist/root/dialog-driver.js +0 -21
  168. package/dist/root/popover-driver.d.ts +0 -1
  169. package/dist/root/popover-driver.js +0 -21
  170. package/dist/root/root.d.ts +0 -8
  171. package/dist/root/root.js +0 -125
  172. package/dist/row-data-source-client/+constants.d.ts +0 -2
  173. package/dist/row-data-source-client/+constants.js +0 -2
  174. package/dist/row-data-source-client/+types.d.ts +0 -27
  175. package/dist/row-data-source-client/+types.js +0 -1
  176. package/dist/row-data-source-client/built-ins/avg.d.ts +0 -10
  177. package/dist/row-data-source-client/built-ins/avg.js +0 -16
  178. package/dist/row-data-source-client/built-ins/built-ins.d.ts +0 -44
  179. package/dist/row-data-source-client/built-ins/built-ins.js +0 -44
  180. package/dist/row-data-source-client/built-ins/count.d.ts +0 -10
  181. package/dist/row-data-source-client/built-ins/count.js +0 -16
  182. package/dist/row-data-source-client/built-ins/first.d.ts +0 -10
  183. package/dist/row-data-source-client/built-ins/first.js +0 -12
  184. package/dist/row-data-source-client/built-ins/group.d.ts +0 -1
  185. package/dist/row-data-source-client/built-ins/group.js +0 -3
  186. package/dist/row-data-source-client/built-ins/last.d.ts +0 -10
  187. package/dist/row-data-source-client/built-ins/last.js +0 -12
  188. package/dist/row-data-source-client/built-ins/max.d.ts +0 -11
  189. package/dist/row-data-source-client/built-ins/max.js +0 -25
  190. package/dist/row-data-source-client/built-ins/min.d.ts +0 -11
  191. package/dist/row-data-source-client/built-ins/min.js +0 -25
  192. package/dist/row-data-source-client/built-ins/sum.d.ts +0 -10
  193. package/dist/row-data-source-client/built-ins/sum.js +0 -21
  194. package/dist/row-data-source-client/filter/+types.d.ts +0 -23
  195. package/dist/row-data-source-client/filter/+types.js +0 -1
  196. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +0 -2
  197. package/dist/row-data-source-client/filter/compute-filtered-rows.js +0 -109
  198. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +0 -6
  199. package/dist/row-data-source-client/pivots/create-agg-model.js +0 -13
  200. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +0 -2
  201. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +0 -50
  202. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +0 -2
  203. package/dist/row-data-source-client/pivots/create-pivot-columns.js +0 -22
  204. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +0 -2
  205. package/dist/row-data-source-client/pivots/create-pivot-tree.js +0 -23
  206. package/dist/row-data-source-client/tree/client-tree.d.ts +0 -18
  207. package/dist/row-data-source-client/tree/client-tree.js +0 -76
  208. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +0 -2
  209. package/dist/row-data-source-client/tree/evaluator-aggregation.js +0 -8
  210. package/dist/row-data-source-client/tree/evaluator-group.d.ts +0 -2
  211. package/dist/row-data-source-client/tree/evaluator-group.js +0 -9
  212. package/dist/row-data-source-client/tree/traverse.d.ts +0 -2
  213. package/dist/row-data-source-client/tree/traverse.js +0 -22
  214. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +0 -10
  215. package/dist/row-data-source-client/use-client-data-source-paginated.js +0 -572
  216. package/dist/row-data-source-client/use-client-data-source.d.ts +0 -10
  217. package/dist/row-data-source-client/use-client-data-source.js +0 -666
  218. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +0 -9
  219. package/dist/row-data-source-client/use-client-tree-data-source.js +0 -511
  220. package/dist/row-data-source-server/async-tree/+constants.async-tree.d.ts +0 -1
  221. package/dist/row-data-source-server/async-tree/+constants.async-tree.js +0 -1
  222. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +0 -59
  223. package/dist/row-data-source-server/async-tree/+types.async-tree.js +0 -1
  224. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +0 -2
  225. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +0 -27
  226. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +0 -2
  227. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +0 -36
  228. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.d.ts +0 -2
  229. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +0 -24
  230. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.d.ts +0 -2
  231. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +0 -14
  232. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +0 -2
  233. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +0 -18
  234. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.d.ts +0 -2
  235. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +0 -14
  236. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +0 -2
  237. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +0 -18
  238. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +0 -2
  239. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +0 -3
  240. package/dist/row-data-source-server/async-tree/make-async-tree.d.ts +0 -2
  241. package/dist/row-data-source-server/async-tree/make-async-tree.js +0 -19
  242. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +0 -2
  243. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +0 -8
  244. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +0 -2
  245. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +0 -17
  246. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +0 -2
  247. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +0 -52
  248. package/dist/row-data-source-server/range-tree/range-tree.d.ts +0 -66
  249. package/dist/row-data-source-server/range-tree/range-tree.js +0 -102
  250. package/dist/row-data-source-server/server-data.d.ts +0 -48
  251. package/dist/row-data-source-server/server-data.js +0 -378
  252. package/dist/row-data-source-server/use-server-data-source.d.ts +0 -3
  253. package/dist/row-data-source-server/use-server-data-source.js +0 -344
  254. package/dist/row-data-source-server/utils/get-node-depth.d.ts +0 -2
  255. package/dist/row-data-source-server/utils/get-node-depth.js +0 -9
  256. package/dist/row-data-source-server/utils/get-node-path.d.ts +0 -2
  257. package/dist/row-data-source-server/utils/get-node-path.js +0 -9
  258. package/dist/row-data-source-server/utils/get-request-id.d.ts +0 -1
  259. package/dist/row-data-source-server/utils/get-request-id.js +0 -6
  260. package/dist/rows/row/context.d.ts +0 -14
  261. package/dist/rows/row/context.js +0 -13
  262. package/dist/rows/row/row.d.ts +0 -7
  263. package/dist/rows/row/row.js +0 -25
  264. package/dist/rows/row/use-row-context-value.d.ts +0 -6
  265. package/dist/rows/row/use-row-context-value.js +0 -44
  266. package/dist/rows/row-detail-row.d.ts +0 -4
  267. package/dist/rows/row-detail-row.js +0 -130
  268. package/dist/rows/row-full-width.d.ts +0 -8
  269. package/dist/rows/row-full-width.js +0 -19
  270. package/dist/rows/rows-container.d.ts +0 -1
  271. package/dist/rows/rows-container.js +0 -9
  272. package/dist/rows/rows-sections.d.ts +0 -3
  273. package/dist/rows/rows-sections.js +0 -27
  274. package/dist/rows/scrollers/native-scroller.d.ts +0 -2
  275. package/dist/rows/scrollers/native-scroller.js +0 -4
  276. package/dist/sort-manager/+types.d.ts +0 -13
  277. package/dist/sort-manager/+types.js +0 -1
  278. package/dist/sort-manager/context.d.ts +0 -14
  279. package/dist/sort-manager/context.js +0 -5
  280. package/dist/sort-manager/hooks/use-sort-manager.d.ts +0 -15
  281. package/dist/sort-manager/hooks/use-sort-manager.js +0 -56
  282. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +0 -51
  283. package/dist/sort-manager/hooks/use-sort-row-item.js +0 -145
  284. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +0 -5
  285. package/dist/sort-manager/hooks/use-sortable-column-items.js +0 -13
  286. package/dist/sort-manager/root.d.ts +0 -3
  287. package/dist/sort-manager/root.js +0 -14
  288. package/dist/sort-manager/sort-add.d.ts +0 -8
  289. package/dist/sort-manager/sort-add.js +0 -14
  290. package/dist/sort-manager/sort-apply.d.ts +0 -7
  291. package/dist/sort-manager/sort-apply.js +0 -24
  292. package/dist/sort-manager/sort-cancel.d.ts +0 -7
  293. package/dist/sort-manager/sort-cancel.js +0 -27
  294. package/dist/sort-manager/sort-clear.d.ts +0 -7
  295. package/dist/sort-manager/sort-clear.js +0 -22
  296. package/dist/sort-manager/sort-column-select.d.ts +0 -10
  297. package/dist/sort-manager/sort-column-select.js +0 -20
  298. package/dist/sort-manager/sort-direction-select.d.ts +0 -10
  299. package/dist/sort-manager/sort-direction-select.js +0 -24
  300. package/dist/sort-manager/sort-manager.d.ts +0 -16
  301. package/dist/sort-manager/sort-manager.js +0 -26
  302. package/dist/sort-manager/sort-remove.d.ts +0 -7
  303. package/dist/sort-manager/sort-remove.js +0 -14
  304. package/dist/sort-manager/sort-row.d.ts +0 -5
  305. package/dist/sort-manager/sort-row.js +0 -7
  306. package/dist/sort-manager/sort-rows.d.ts +0 -1
  307. package/dist/sort-manager/sort-rows.js +0 -6
  308. package/dist/sort-manager/sort-value-select.d.ts +0 -11
  309. package/dist/sort-manager/sort-value-select.js +0 -25
  310. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +0 -3
  311. package/dist/sort-manager/utils/sort-item-to-sort-model.js +0 -62
  312. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +0 -3
  313. package/dist/sort-manager/utils/sort-model-to-sort-items.js +0 -50
  314. package/dist/state/+types.d.ts +0 -35
  315. package/dist/state/+types.js +0 -1
  316. package/dist/state/api/cell-root.d.ts +0 -5
  317. package/dist/state/api/cell-root.js +0 -64
  318. package/dist/state/api/column-autosize.d.ts +0 -5
  319. package/dist/state/api/column-autosize.js +0 -72
  320. package/dist/state/api/column-by-id.d.ts +0 -2
  321. package/dist/state/api/column-by-id.js +0 -6
  322. package/dist/state/api/column-field.d.ts +0 -2
  323. package/dist/state/api/column-field.js +0 -23
  324. package/dist/state/api/column-from-index.d.ts +0 -2
  325. package/dist/state/api/column-from-index.js +0 -6
  326. package/dist/state/api/column-group-toggle.d.ts +0 -2
  327. package/dist/state/api/column-group-toggle.js +0 -10
  328. package/dist/state/api/column-index.d.ts +0 -2
  329. package/dist/state/api/column-index.js +0 -7
  330. package/dist/state/api/column-move.d.ts +0 -2
  331. package/dist/state/api/column-move.js +0 -49
  332. package/dist/state/api/column-resize.d.ts +0 -2
  333. package/dist/state/api/column-resize.js +0 -9
  334. package/dist/state/api/column-update.d.ts +0 -5
  335. package/dist/state/api/column-update.js +0 -26
  336. package/dist/state/api/dialog-frame.d.ts +0 -8
  337. package/dist/state/api/dialog-frame.js +0 -16
  338. package/dist/state/api/edit-begin.d.ts +0 -5
  339. package/dist/state/api/edit-begin.js +0 -87
  340. package/dist/state/api/edit-end.d.ts +0 -5
  341. package/dist/state/api/edit-end.js +0 -43
  342. package/dist/state/api/edit-is-cell-active.d.ts +0 -5
  343. package/dist/state/api/edit-is-cell-active.js +0 -22
  344. package/dist/state/api/edit-update.d.ts +0 -5
  345. package/dist/state/api/edit-update.js +0 -88
  346. package/dist/state/api/event-listeners.d.ts +0 -5
  347. package/dist/state/api/event-listeners.js +0 -19
  348. package/dist/state/api/export-csv.d.ts +0 -3
  349. package/dist/state/api/export-csv.js +0 -40
  350. package/dist/state/api/export-data-rect.d.ts +0 -2
  351. package/dist/state/api/export-data-rect.js +0 -24
  352. package/dist/state/api/focus-cell.d.ts +0 -5
  353. package/dist/state/api/focus-cell.js +0 -117
  354. package/dist/state/api/popover-frame.d.ts +0 -8
  355. package/dist/state/api/popover-frame.js +0 -16
  356. package/dist/state/api/position-from-element.d.ts +0 -2
  357. package/dist/state/api/position-from-element.js +0 -9
  358. package/dist/state/api/row-by-id.d.ts +0 -2
  359. package/dist/state/api/row-by-id.js +0 -5
  360. package/dist/state/api/row-by-index.d.ts +0 -2
  361. package/dist/state/api/row-by-index.js +0 -9
  362. package/dist/state/api/row-detail-is-expanded.d.ts +0 -2
  363. package/dist/state/api/row-detail-is-expanded.js +0 -6
  364. package/dist/state/api/row-detail-rendered-height.d.ts +0 -5
  365. package/dist/state/api/row-detail-rendered-height.js +0 -14
  366. package/dist/state/api/row-detail-toggle.d.ts +0 -2
  367. package/dist/state/api/row-detail-toggle.js +0 -32
  368. package/dist/state/api/row-group-apply-expansions.d.ts +0 -2
  369. package/dist/state/api/row-group-apply-expansions.js +0 -20
  370. package/dist/state/api/row-group-column-index.d.ts +0 -2
  371. package/dist/state/api/row-group-column-index.js +0 -14
  372. package/dist/state/api/row-group-is-expanded.d.ts +0 -2
  373. package/dist/state/api/row-group-is-expanded.js +0 -15
  374. package/dist/state/api/row-group-toggle.d.ts +0 -2
  375. package/dist/state/api/row-group-toggle.js +0 -7
  376. package/dist/state/api/row-handle-select.d.ts +0 -5
  377. package/dist/state/api/row-handle-select.js +0 -43
  378. package/dist/state/api/row-select-all.d.ts +0 -2
  379. package/dist/state/api/row-select-all.js +0 -17
  380. package/dist/state/api/row-select.d.ts +0 -5
  381. package/dist/state/api/row-select.js +0 -35
  382. package/dist/state/api/row-selected.d.ts +0 -2
  383. package/dist/state/api/row-selected.js +0 -13
  384. package/dist/state/api/scroll-into-view.d.ts +0 -5
  385. package/dist/state/api/scroll-into-view.js +0 -50
  386. package/dist/state/api/sort-for-column.d.ts +0 -2
  387. package/dist/state/api/sort-for-column.js +0 -9
  388. package/dist/state/api/use-row-drag.d.ts +0 -2
  389. package/dist/state/api/use-row-drag.js +0 -27
  390. package/dist/state/helpers/cell-row-group.d.ts +0 -2
  391. package/dist/state/helpers/cell-row-group.js +0 -19
  392. package/dist/state/helpers/column-add-row-group.d.ts +0 -10
  393. package/dist/state/helpers/column-add-row-group.js +0 -74
  394. package/dist/state/helpers/column-layout.d.ts +0 -3
  395. package/dist/state/helpers/column-layout.js +0 -59
  396. package/dist/state/helpers/column-marker.d.ts +0 -8
  397. package/dist/state/helpers/column-marker.js +0 -43
  398. package/dist/state/helpers/column-view.d.ts +0 -21
  399. package/dist/state/helpers/column-view.js +0 -33
  400. package/dist/state/helpers/edit-on-change.d.ts +0 -15
  401. package/dist/state/helpers/edit-on-change.js +0 -27
  402. package/dist/state/helpers/empty-row-data-source.d.ts +0 -2
  403. package/dist/state/helpers/empty-row-data-source.js +0 -18
  404. package/dist/state/helpers/get-data-rect.d.ts +0 -13
  405. package/dist/state/helpers/get-data-rect.js +0 -65
  406. package/dist/state/helpers/get-full-width-callback.d.ts +0 -2
  407. package/dist/state/helpers/get-full-width-callback.js +0 -10
  408. package/dist/state/helpers/get-span-callback.d.ts +0 -2
  409. package/dist/state/helpers/get-span-callback.js +0 -22
  410. package/dist/state/helpers/resolve-column.d.ts +0 -4
  411. package/dist/state/helpers/resolve-column.js +0 -29
  412. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +0 -17
  413. package/dist/state/helpers/row-layout/get-focus-criteria.js +0 -62
  414. package/dist/state/helpers/row-layout/row-layout.d.ts +0 -19
  415. package/dist/state/helpers/row-layout/row-layout.js +0 -181
  416. package/dist/state/use-lytenyte.d.ts +0 -3
  417. package/dist/state/use-lytenyte.js +0 -671
  418. package/dist/tree-view/branch/branch.d.ts +0 -14
  419. package/dist/tree-view/branch/branch.js +0 -63
  420. package/dist/tree-view/branch/use-branch-keys.d.ts +0 -2
  421. package/dist/tree-view/branch/use-branch-keys.js +0 -87
  422. package/dist/tree-view/context.d.ts +0 -22
  423. package/dist/tree-view/context.js +0 -3
  424. package/dist/tree-view/depth-provider.d.ts +0 -2
  425. package/dist/tree-view/depth-provider.js +0 -3
  426. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +0 -2
  427. package/dist/tree-view/hooks/use-tree-view-paths.js +0 -9
  428. package/dist/tree-view/index.d.ts +0 -16
  429. package/dist/tree-view/index.js +0 -16
  430. package/dist/tree-view/leaf.d.ts +0 -4
  431. package/dist/tree-view/leaf.js +0 -28
  432. package/dist/tree-view/navigation/get-all-ids.d.ts +0 -1
  433. package/dist/tree-view/navigation/get-all-ids.js +0 -7
  434. package/dist/tree-view/navigation/get-first-node.d.ts +0 -1
  435. package/dist/tree-view/navigation/get-first-node.js +0 -7
  436. package/dist/tree-view/navigation/get-last-node.d.ts +0 -1
  437. package/dist/tree-view/navigation/get-last-node.js +0 -7
  438. package/dist/tree-view/navigation/get-next-node.d.ts +0 -1
  439. package/dist/tree-view/navigation/get-next-node.js +0 -13
  440. package/dist/tree-view/navigation/get-prev-node.d.ts +0 -1
  441. package/dist/tree-view/navigation/get-prev-node.js +0 -13
  442. package/dist/tree-view/panel/make-handle-navigation.d.ts +0 -2
  443. package/dist/tree-view/panel/make-handle-navigation.js +0 -39
  444. package/dist/tree-view/panel/make-handle-selection.d.ts +0 -2
  445. package/dist/tree-view/panel/make-handle-selection.js +0 -92
  446. package/dist/tree-view/panel/make-handle-typeahead.d.ts +0 -1
  447. package/dist/tree-view/panel/make-handle-typeahead.js +0 -45
  448. package/dist/tree-view/panel/panel.d.ts +0 -1
  449. package/dist/tree-view/panel/panel.js +0 -30
  450. package/dist/tree-view/panel/use-tree-navigation.d.ts +0 -1
  451. package/dist/tree-view/panel/use-tree-navigation.js +0 -63
  452. package/dist/tree-view/root.d.ts +0 -17
  453. package/dist/tree-view/root.js +0 -63
  454. package/dist/tree-view/utils/get-focusable-nodes.d.ts +0 -1
  455. package/dist/tree-view/utils/get-focusable-nodes.js +0 -5
  456. package/dist/tree-view/utils/get-focused-node.d.ts +0 -1
  457. package/dist/tree-view/utils/get-focused-node.js +0 -14
  458. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +0 -1
  459. package/dist/tree-view/utils/get-ids-between-nodes.js +0 -15
  460. package/dist/tree-view/utils/get-panel.d.ts +0 -1
  461. package/dist/tree-view/utils/get-panel.js +0 -7
  462. package/dist/tree-view/utils/get-parent-node.d.ts +0 -1
  463. package/dist/tree-view/utils/get-parent-node.js +0 -10
  464. package/dist/tree-view/utils/get-sibling-branches.d.ts +0 -1
  465. package/dist/tree-view/utils/get-sibling-branches.js +0 -14
  466. package/dist/tree-view/utils/get-tree-node-id.d.ts +0 -1
  467. package/dist/tree-view/utils/get-tree-node-id.js +0 -3
  468. package/dist/tree-view/utils/is-branch-node.d.ts +0 -1
  469. package/dist/tree-view/utils/is-branch-node.js +0 -3
  470. package/dist/tree-view/utils/is-leaf-node.d.ts +0 -1
  471. package/dist/tree-view/utils/is-leaf-node.js +0 -3
  472. package/dist/tree-view/utils/is-tree-node-disabled.d.ts +0 -1
  473. package/dist/tree-view/utils/is-tree-node-disabled.js +0 -3
  474. package/dist/tree-view/utils/select-node.d.ts +0 -2
  475. package/dist/tree-view/utils/select-node.js +0 -15
  476. package/dist/tree-view/utils/toggle-all-selections.d.ts +0 -2
  477. package/dist/tree-view/utils/toggle-all-selections.js +0 -9
  478. package/dist/tree-view/utils/toggle-selection.d.ts +0 -2
  479. package/dist/tree-view/utils/toggle-selection.js +0 -21
  480. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +0 -2
  481. package/dist/tree-view/virtualized/force-sync-scrolling.js +0 -23
  482. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +0 -2
  483. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +0 -14
  484. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +0 -31
  485. package/dist/tree-view/virtualized/make-virtual-tree.js +0 -90
  486. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +0 -9
  487. package/dist/tree-view/virtualized/use-flattened-tree.js +0 -36
  488. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +0 -2
  489. package/dist/tree-view/virtualized/use-row-start-and-end.js +0 -27
  490. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +0 -22
  491. package/dist/tree-view/virtualized/use-virtualized-tree.js +0 -100
  492. package/dist/types/types.d.ts +0 -8
  493. package/dist/types/types.js +0 -1
  494. package/dist/utils/cycle-sorts.d.ts +0 -2
  495. package/dist/utils/cycle-sorts.js +0 -16
  496. package/dist/viewport/begin-editing.d.ts +0 -5
  497. package/dist/viewport/begin-editing.js +0 -15
  498. package/dist/viewport/viewport.d.ts +0 -1
  499. package/dist/viewport/viewport.js +0 -78
@@ -1,572 +0,0 @@
1
- import {} from "../+types.js";
2
- import { useRef } from "react";
3
- import { traverse } from "./tree/traverse.js";
4
- import { computed, dateComparator, effect, makeAtom, numberComparator, peek, signal, stringComparator, } from "@1771technologies/lytenyte-shared";
5
- import { clamp, equal, get } from "@1771technologies/lytenyte-js-utils";
6
- import { makeClientTree } from "./tree/client-tree.js";
7
- import { computeFilteredRows } from "./filter/compute-filtered-rows.js";
8
- import { builtIns } from "./built-ins/built-ins.js";
9
- export function makeClientDataSourcePaginated(p) {
10
- const pageInternal = signal(0);
11
- const rowsPerPage = signal(p.rowsPerPage ?? 50);
12
- const pageCount = computed(() => Math.max(Math.ceil(flatLength() / rowsPerPage()), 1));
13
- const page = computed(() => clamp(0, pageInternal(), pageCount() - 1));
14
- page.set = (n) => {
15
- const res = typeof n === "function" ? n(peek(pageInternal)) : n;
16
- pageInternal.set(clamp(0, res, peek(pageCount) - 1));
17
- return res;
18
- };
19
- const data = signal(p.data);
20
- const topData = signal(p.topData ?? []);
21
- const bottomData = signal(p.bottomData ?? []);
22
- const dataToSrc$ = computed(() => {
23
- return new Map(data().map((c, i) => [c, i]));
24
- });
25
- const cache = new Map();
26
- const centerNodes = computed(() => {
27
- const nodes = [];
28
- const d = data();
29
- for (let i = 0; i < d.length; i++) {
30
- if (!cache.has(i)) {
31
- cache.set(i, {
32
- id: "",
33
- kind: "leaf",
34
- data: d[i],
35
- });
36
- }
37
- const node = cache.get(i);
38
- node.data = d[i];
39
- nodes.push(node);
40
- }
41
- return nodes;
42
- });
43
- const topNodes = computed(() => {
44
- return topData().map((c, i) => ({ data: c, id: `top-${i}`, kind: "leaf" }));
45
- });
46
- const botNodes = computed(() => {
47
- return bottomData().map((c, i) => ({ data: c, id: `bottom-${i}`, kind: "leaf" }));
48
- });
49
- const pinnedIdMap = computed(() => {
50
- const combined = new Map([...topNodes(), ...botNodes()].map((c) => [c.id, c]));
51
- return combined;
52
- });
53
- const models = signal({
54
- sort: [],
55
- filter: {},
56
- filterIn: {},
57
- quickSearch: null,
58
- agg: {},
59
- group: [],
60
- groupExpansions: {},
61
- });
62
- const sortModel = computed(() => models().sort);
63
- const filterModel = computed(() => models().filter);
64
- const filterInModel = computed(() => models().filterIn);
65
- const rowGroupModel = computed(() => models().group);
66
- const groupExpansions = computed(() => models().groupExpansions);
67
- const aggModel = computed(() => models().agg);
68
- const quickSearch = computed(() => models().quickSearch);
69
- const grid$ = signal(null);
70
- const snapshot = signal(0);
71
- const tree = computed(() => {
72
- snapshot();
73
- const grid = grid$();
74
- const rows = centerNodes();
75
- const filtered = computeFilteredRows(rows, grid, filterModel(), filterInModel(), quickSearch(), grid?.state.quickSearchSensitivity.get() ?? "case-sensitive", false);
76
- const rowGroups = rowGroupModel()
77
- .map((c) => {
78
- if (typeof c === "string")
79
- return (r) => grid.api.columnField(c, r);
80
- if (typeof c.field === "string" || typeof c.field === "number")
81
- return (r) => r.data[c.field];
82
- if (typeof c.field === "function")
83
- return (r) => c.field({ data: r.data, grid: grid });
84
- return (r) => get(r.data, c.field.path);
85
- })
86
- .map((c) => ({ fn: c }));
87
- const rowAggModel = Object.entries(aggModel()).map(([name, agg]) => {
88
- if (typeof agg.fn === "function") {
89
- const fn = agg.fn;
90
- return {
91
- name,
92
- fn: (rows) => fn(rows.map((c) => c.data), grid),
93
- };
94
- }
95
- const key = agg.fn;
96
- const fn = (data) => {
97
- const fieldData = data.map((r) => grid?.api.columnField(name, { kind: "leaf", data: r.data }));
98
- return builtIns[key](fieldData);
99
- };
100
- return { name, fn };
101
- });
102
- return makeClientTree({
103
- rowData: filtered,
104
- rowAggModel: grid ? rowAggModel : [],
105
- rowBranchModel: grid ? rowGroups : [],
106
- rowIdGroup: p.rowIdBranch,
107
- rowIdLeaf: p.rowIdLeaf,
108
- });
109
- });
110
- const sortComparator = computed(() => {
111
- const model = sortModel();
112
- const grid = grid$();
113
- if (!model.length || !grid)
114
- return { fn: () => 0 };
115
- const comparator = (l, r) => {
116
- let res = 0;
117
- for (const sortSpec of model) {
118
- const sort = sortSpec.sort;
119
- const columnId = sortSpec.columnId;
120
- const ld = l.kind === 2
121
- ? { kind: "branch", data: l.data, key: l.key }
122
- : { kind: "leaf", data: l.data.data };
123
- const rd = r.kind === 2
124
- ? { kind: "branch", data: r.data, key: r.key }
125
- : { kind: "leaf", data: r.data.data };
126
- if (sort.kind === "custom") {
127
- res = sort.comparator(ld, rd, sort.options ?? {});
128
- }
129
- else if (sort.kind === "number") {
130
- const left = grid.api.columnField(columnId, ld);
131
- const right = grid.api.columnField(columnId, rd);
132
- res = numberComparator(left, right, sort.options ?? {});
133
- }
134
- else if (sort.kind === "date") {
135
- const left = grid.api.columnField(columnId, ld);
136
- const right = grid.api.columnField(columnId, rd);
137
- res = dateComparator(left, right, sort.options ?? {});
138
- }
139
- else if (sort.kind === "string") {
140
- const left = grid.api.columnField(columnId, ld);
141
- const right = grid.api.columnField(columnId, rd);
142
- res = stringComparator(left, right, sort.options ?? {});
143
- }
144
- else {
145
- res = 0;
146
- }
147
- res = sortSpec.isDescending ? -res : res;
148
- if (res !== 0)
149
- break;
150
- }
151
- return res;
152
- };
153
- return { fn: comparator };
154
- });
155
- const idToNode = computed(() => {
156
- const map = new Map();
157
- traverse(tree().root, (node) => {
158
- map.set(node.id, node);
159
- });
160
- return map;
161
- });
162
- const initialized = signal(false);
163
- const flat = computed(() => {
164
- if (!initialized())
165
- return { flat: [], idMap: new Map(), idToIndexMap: new Map() };
166
- const idMap = new Map();
167
- const idToIndexMap = new Map();
168
- const flattened = [];
169
- const comparator = sortComparator();
170
- const expansions = groupExpansions();
171
- const defaultExpansion = grid$()?.state.rowGroupDefaultExpansion.get() ?? false;
172
- let index = topNodes().length;
173
- traverse(tree().root, (node) => {
174
- if (node.kind === 1) {
175
- node.data.id = node.id;
176
- flattened.push(node.data);
177
- }
178
- else {
179
- flattened.push({
180
- kind: "branch",
181
- data: node.data,
182
- id: node.id,
183
- key: node.key,
184
- depth: node.depth,
185
- });
186
- }
187
- idMap.set(node.id, flattened.at(-1));
188
- idToIndexMap.set(node.id, index);
189
- index++;
190
- if (node.kind === 2) {
191
- const expanded = expansions[node.id] ??
192
- (typeof defaultExpansion === "number"
193
- ? node.depth <= defaultExpansion
194
- : defaultExpansion);
195
- return expanded;
196
- }
197
- }, comparator.fn);
198
- return { flat: flattened, idMap, idToIndexMap };
199
- });
200
- const flatLength = computed(() => flat().flat.length);
201
- const cleanup = [];
202
- const init = (grid) => {
203
- while (cleanup.length)
204
- cleanup.pop()?.();
205
- grid$.set(grid);
206
- const store = grid.state.rowDataStore;
207
- // Monitor row count changes
208
- const rowCount = flatLength();
209
- const perPage = rowsPerPage();
210
- const currentPage = pageInternal();
211
- const center = clamp(0, rowCount - currentPage * perPage, perPage);
212
- store.rowCenterCount.set(center);
213
- const updateCounts = () => {
214
- const rowCount = flatLength();
215
- const perPage = rowsPerPage();
216
- const currentPage = pageInternal();
217
- const center = clamp(0, rowCount - currentPage * perPage, perPage);
218
- // Move to the last page if we are past the boundary
219
- if (center === 0 && currentPage !== 0) {
220
- const currentPage = pageCount() - 1;
221
- page.set(currentPage);
222
- snapshot.set((prev) => prev + 1);
223
- const center = clamp(0, rowCount - currentPage * perPage, perPage);
224
- store.rowCenterCount.set(center);
225
- grid.state.rowDataStore.rowClearCache();
226
- return;
227
- }
228
- store.rowCenterCount.set(center);
229
- grid.state.rowDataStore.rowClearCache();
230
- };
231
- cleanup.push(effect(() => {
232
- flatLength();
233
- page();
234
- rowsPerPage();
235
- updateCounts();
236
- }));
237
- cleanup.push(effect(() => {
238
- pageInternal();
239
- grid.state.rowDataStore.rowClearCache();
240
- }));
241
- const top = topData().length;
242
- store.rowTopCount.set(top);
243
- const bottom = bottomData().length;
244
- store.rowBottomCount.set(bottom);
245
- cleanup.push(effect(() => {
246
- store.rowTopCount.set(topData().length);
247
- store.rowBottomCount.set(bottomData().length);
248
- grid.state.rowDataStore.rowClearCache();
249
- }));
250
- const sort = grid.state.sortModel.get();
251
- const filter = grid.state.filterModel.get();
252
- const filterIn = grid.state.filterInModel.get();
253
- const group = grid.state.rowGroupModel.get();
254
- const groupExpansions = grid.state.rowGroupExpansions.get();
255
- const agg = grid.state.aggModel.get();
256
- const quickSearch = grid.state.quickSearch.get();
257
- models.set({
258
- agg,
259
- filter,
260
- filterIn,
261
- group,
262
- quickSearch,
263
- groupExpansions,
264
- sort,
265
- });
266
- initialized.set(true);
267
- cleanup.push(effect(() => {
268
- models.set({
269
- // @ts-expect-error The $ is defined, but only internally
270
- sort: grid.state.sortModel.$(),
271
- // @ts-expect-error The $ is defined, but only internally
272
- agg: grid.state.aggModel.$(),
273
- // @ts-expect-error The $ is defined, but only internally
274
- filter: grid.state.filterModel.$(),
275
- // @ts-expect-error The $ is defined, but only internally
276
- group: grid.state.rowGroupModel.$(),
277
- // @ts-expect-error The $ is defined, but only internally
278
- groupExpansions: grid.state.rowGroupExpansions.$(),
279
- // @ts-expect-error The $ is defined, but only internally
280
- columnPivotGroupExpansions: grid.state.columnPivotColumnGroupExpansions.$(),
281
- // @ts-expect-error The $ is defined, but only internally
282
- filterIn: grid.state.filterInModel.$(),
283
- // @ts-expect-error The $ is defined, but only internally
284
- quickSearch: grid.state.quickSearch.$(),
285
- });
286
- grid.state.rowDataStore.rowClearCache();
287
- }));
288
- };
289
- const rowById = (id) => {
290
- const pinned = peek(pinnedIdMap);
291
- if (pinned.has(id))
292
- return pinned.get(id);
293
- const t = peek(flat);
294
- return t.idMap.get(id) ?? null;
295
- };
296
- const rowByIndex = (index) => {
297
- const top = peek(topNodes);
298
- const bot = peek(botNodes);
299
- const center = peek(flat).flat;
300
- const topOffset = top.length;
301
- const centerOffset = topOffset + center.length;
302
- const botOffset = centerOffset + bot.length;
303
- if (index < topOffset)
304
- return top[index];
305
- if (index < centerOffset) {
306
- const pageOffset = index + peek(rowsPerPage) * peek(pageInternal);
307
- return center[pageOffset - topOffset];
308
- }
309
- if (index < botOffset)
310
- return bot[index - centerOffset];
311
- return null;
312
- };
313
- const rowUpdate = (updates) => {
314
- const grid = peek(grid$);
315
- const d = peek(data);
316
- const idMap = peek(idToNode);
317
- const dataToSrc = peek(dataToSrc$);
318
- for (const [key, next] of updates.entries()) {
319
- const row = typeof key === "string" ? rowById(key) : rowByIndex(key);
320
- const treeNode = typeof key === "string" ? idMap.get(key) : null;
321
- if ((!row && !treeNode) || !grid) {
322
- console.error(`Failed to find the row with identifier ${key} which is being updated.`);
323
- continue;
324
- }
325
- if (row?.kind === "branch") {
326
- row.data = next;
327
- }
328
- else {
329
- const data = row?.kind === "leaf" ? row.data : treeNode?.data.data;
330
- const source = dataToSrc.get(data);
331
- if (source == null) {
332
- console.error(`Failed to find the row with identifier ${key} which is being updated.`);
333
- continue;
334
- }
335
- d[source] = next;
336
- cache.delete(source);
337
- }
338
- }
339
- data.set([...d]);
340
- snapshot.set((prev) => prev + 1);
341
- grid.state.rowDataStore.rowClearCache();
342
- };
343
- const rowToIndex = (rowId) => {
344
- const f = peek(flat);
345
- const top = peek(topNodes);
346
- const bot = peek(botNodes);
347
- const topCount = top.length;
348
- const center = f.flat.length;
349
- const rowIndex = f.idToIndexMap.get(rowId);
350
- if (rowIndex != null)
351
- return rowIndex;
352
- if (rowIndex == null) {
353
- const foundTop = top.findIndex((row) => row.id === rowId);
354
- if (foundTop !== -1)
355
- return foundTop;
356
- const foundBot = bot.findIndex((row) => row.id === rowId);
357
- if (foundBot !== -1)
358
- return foundBot + topCount + center;
359
- }
360
- return null;
361
- };
362
- const rowAllChildIds = (rowId) => {
363
- const t = tree();
364
- const ids = [];
365
- const node = t.idToNode.get(rowId);
366
- if (node?.kind === 2) {
367
- traverse(node, (n) => {
368
- ids.push(n.id);
369
- });
370
- }
371
- return ids;
372
- };
373
- return [
374
- {
375
- page: {
376
- current: makeAtom(page),
377
- pageCount: makeAtom(pageCount),
378
- perPage: makeAtom(rowsPerPage),
379
- },
380
- init,
381
- rowById,
382
- rowByIndex,
383
- rowAllChildIds,
384
- rowUpdate,
385
- inFilterItems: (c) => {
386
- const grid = grid$();
387
- if (!grid)
388
- return [];
389
- const data = centerNodes();
390
- const values = new Set(data.map((row) => {
391
- const field = grid.api.columnField(c, row);
392
- return field;
393
- }));
394
- if (p.transformInFilterItem) {
395
- return p.transformInFilterItem({ column: c, values: [...values] });
396
- }
397
- return [...values].map((x) => ({ id: `${x}`, label: `${x}`, value: x }));
398
- },
399
- rowAreAllSelected: (rowId) => {
400
- const g = grid$();
401
- if (!g)
402
- return false;
403
- const selected = g.state.rowSelectedIds.get();
404
- if (rowId) {
405
- const row = rowById(rowId);
406
- if (!row)
407
- return false;
408
- const childIds = new Set(rowAllChildIds(rowId));
409
- return childIds.isSubsetOf(selected);
410
- }
411
- const f = tree();
412
- return f.idsAll.isSubsetOf(selected);
413
- },
414
- rowAdd: (newRows, place = "end") => {
415
- data.set((prev) => {
416
- if (!newRows.length)
417
- return prev;
418
- let next;
419
- if (place === "beginning")
420
- next = [...newRows, ...prev];
421
- else if (place === "end")
422
- next = [...prev, ...newRows];
423
- else {
424
- next = [...prev];
425
- next.splice(place, 0, ...newRows);
426
- }
427
- return next;
428
- });
429
- const grid = peek(grid$);
430
- grid?.state.rowDataStore.rowClearCache();
431
- },
432
- rowDelete: (rows) => {
433
- const rowData = new Set(rows
434
- .map((c) => {
435
- if (typeof c === "number")
436
- return rowByIndex(c)?.data;
437
- else
438
- return rowById(c)?.data;
439
- })
440
- .filter((c) => !!c));
441
- data.set((prev) => {
442
- if (!rowData.size)
443
- return prev;
444
- return prev.filter((d) => !rowData.has(d));
445
- });
446
- const grid = peek(grid$);
447
- grid?.state.rowDataStore.rowClearCache();
448
- },
449
- rowSetBotData: (data) => {
450
- bottomData.set(data);
451
- const grid = peek(grid$);
452
- grid?.state.rowDataStore.rowClearCache();
453
- },
454
- rowSetTopData: (data) => {
455
- topData.set(data);
456
- const grid = peek(grid$);
457
- grid?.state.rowDataStore.rowClearCache();
458
- },
459
- rowSetCenterData: (d) => {
460
- data.set(d);
461
- const grid = grid$();
462
- grid?.state.rowDataStore.rowClearCache();
463
- cache.clear();
464
- },
465
- rowData: (section) => {
466
- const d = [];
467
- if (section === "top" || section === "flat") {
468
- d.push(...peek(topData));
469
- }
470
- if (section === "center" || section === "flat") {
471
- d.push(...peek(data));
472
- }
473
- if (section === "bottom" || section === "flat") {
474
- d.push(...peek(bottomData));
475
- }
476
- return d;
477
- },
478
- rowExpand: (expansions) => {
479
- const grid = peek(grid$);
480
- if (!grid)
481
- return;
482
- grid.state.rowGroupExpansions.set((prev) => ({ ...prev, ...expansions }));
483
- },
484
- rowToIndex,
485
- rowSelect: (params) => {
486
- const grid = peek(grid$);
487
- if (!grid)
488
- return;
489
- if (params.mode === "none")
490
- return;
491
- if (params.mode === "single") {
492
- if (params.deselect) {
493
- grid.state.rowSelectedIds.set(new Set());
494
- }
495
- else {
496
- grid.state.rowSelectedIds.set(new Set([params.startId]));
497
- }
498
- return;
499
- }
500
- const ids = new Set();
501
- if (params.startId === params.endId) {
502
- ids.add(params.startId);
503
- if (params.selectChildren) {
504
- rowAllChildIds(params.startId).forEach((c) => ids.add(c));
505
- }
506
- }
507
- else {
508
- const first = rowToIndex(params.startId);
509
- const last = rowToIndex(params.endId);
510
- if (first == null || last == null)
511
- return;
512
- const start = Math.min(first, last);
513
- const end = Math.max(first, last);
514
- for (let i = start; i <= end; i++) {
515
- const row = rowByIndex(i);
516
- if (!row)
517
- continue;
518
- if (params.selectChildren) {
519
- rowAllChildIds(row.id).forEach((c) => ids.add(c));
520
- }
521
- if (row?.id)
522
- ids.add(row.id);
523
- }
524
- }
525
- if (params.deselect) {
526
- const current = grid.state.rowSelectedIds.get();
527
- const next = current.difference(ids);
528
- grid.state.rowSelectedIds.set(next);
529
- }
530
- else {
531
- const current = grid.state.rowSelectedIds.get();
532
- const next = current.union(ids);
533
- grid.state.rowSelectedIds.set(next);
534
- }
535
- },
536
- rowSelectAll: (params) => {
537
- const grid = peek(grid$);
538
- if (!grid)
539
- return;
540
- if (params.deselect) {
541
- grid.state.rowSelectedIds.set(new Set());
542
- return;
543
- }
544
- const t = peek(tree);
545
- grid.state.rowSelectedIds.set(new Set(t.idsAll));
546
- },
547
- },
548
- {
549
- top: makeAtom(topData),
550
- center: makeAtom(data),
551
- bottom: makeAtom(bottomData),
552
- },
553
- ];
554
- }
555
- export function useClientRowDataSourcePaginated(p) {
556
- const ds = useRef(null);
557
- const dataAtomRef = useRef(null);
558
- if (!ds.current)
559
- [ds.current, dataAtomRef.current] = makeClientDataSourcePaginated(p);
560
- const da = dataAtomRef.current;
561
- if (p.reflectData) {
562
- // Need to queue the microtask since it we cannot update state during render.
563
- if (p.data !== da.center.get())
564
- queueMicrotask(() => ds.current.rowSetCenterData(p.data));
565
- if (!equal(p.topData ?? [], da.top.get())) {
566
- queueMicrotask(() => ds.current.rowSetTopData(p.topData ?? []));
567
- }
568
- if (!equal(p.bottomData ?? [], da.bottom.get()))
569
- queueMicrotask(() => ds.current.rowSetBotData(p.bottomData ?? []));
570
- }
571
- return ds.current;
572
- }
@@ -1,10 +0,0 @@
1
- import type { GridAtom, RowDataSourceClient } from "../+types.js";
2
- import { type ClientRowDataSourceParams } from "../+types.js";
3
- interface DataAtoms<T> {
4
- readonly top: GridAtom<T[]>;
5
- readonly center: GridAtom<T[]>;
6
- readonly bottom: GridAtom<T[]>;
7
- }
8
- export declare function makeClientDataSource<T>(p: ClientRowDataSourceParams<T>): [RowDataSourceClient<T>, DataAtoms<T>];
9
- export declare function useClientRowDataSource<T>(p: ClientRowDataSourceParams<T>): RowDataSourceClient<T>;
10
- export {};