@1771technologies/lytenyte-pro 1.0.11 → 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 -281
  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 -673
  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,17 +0,0 @@
1
- import { type PropsWithChildren, type Ref } from "react";
2
- export interface TreeRootProps {
3
- readonly transitionEnter?: number;
4
- readonly transitionExit?: number;
5
- readonly gridWrappedBranches?: boolean;
6
- readonly expansions?: Record<string, boolean>;
7
- readonly expansionDefault?: boolean;
8
- readonly onExpansionChange?: (n: Record<string, boolean>) => void;
9
- readonly selectMode?: "single" | "multiple" | "none";
10
- readonly selection?: Set<string>;
11
- readonly onSelectionChange?: (c: Set<string>) => void;
12
- readonly onFocusChange?: (el: HTMLElement | null) => void;
13
- readonly getAllIds?: (panel: HTMLElement) => Set<string>;
14
- readonly getIdsBetweenNodes?: (start: HTMLElement, end: HTMLElement, panel: HTMLElement) => string[];
15
- readonly ref?: Ref<HTMLElement | null>;
16
- }
17
- export declare const TreeRoot: import("react").ForwardRefExoticComponent<Omit<PropsWithChildren<TreeRootProps>, "ref"> & import("react").RefAttributes<HTMLElement>>;
@@ -1,63 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useMemo, useRef, useState } from "react";
3
- import { context } from "./context.js";
4
- import { useCombinedRefs, useEvent } from "@1771technologies/lytenyte-react-hooks";
5
- import { getAllIds } from "./navigation/get-all-ids.js";
6
- import { getIdsBetweenNodes } from "./utils/get-ids-between-nodes.js";
7
- export const TreeRoot = forwardRef((p, forwarded) => {
8
- const [panel, setPanel] = useState(null);
9
- const [expansions, onExpansionChange] = useState({});
10
- const [selection, setSelections] = useState(() => new Set());
11
- const ref = useCombinedRefs(setPanel, forwarded);
12
- const selectionPivotRef = useRef(null);
13
- const allIds = useEvent((el) => {
14
- if (p.getAllIds)
15
- return p.getAllIds(el);
16
- return getAllIds(el);
17
- });
18
- const idsBetween = useEvent((left, right, panel) => {
19
- if (p.getIdsBetweenNodes)
20
- return p.getIdsBetweenNodes(left, right, panel);
21
- return getIdsBetweenNodes(left, right, panel);
22
- });
23
- const onFocusChange = useEvent((el) => {
24
- p.onFocusChange?.(el);
25
- });
26
- const value = useMemo(() => {
27
- return {
28
- panel,
29
- panelRef: ref,
30
- selectionMode: p.selectMode ?? "single",
31
- transitionEnterMs: p.transitionEnter ?? 0,
32
- transitionExitMs: p.transitionExit ?? 0,
33
- gridWrappedBranches: p.gridWrappedBranches ?? false,
34
- expansions: p.expansions ?? expansions,
35
- onExpansionChange: p.onExpansionChange ?? onExpansionChange,
36
- selection: p.selection ?? selection,
37
- onSelectionChange: p.onSelectionChange ?? setSelections,
38
- selectionPivotRef,
39
- expansionDefault: p.expansionDefault ?? false,
40
- onFocusChange,
41
- getAllIds: allIds,
42
- getIdsBetweenNodes: idsBetween,
43
- };
44
- }, [
45
- allIds,
46
- expansions,
47
- idsBetween,
48
- onFocusChange,
49
- p.expansionDefault,
50
- p.expansions,
51
- p.gridWrappedBranches,
52
- p.onExpansionChange,
53
- p.onSelectionChange,
54
- p.selectMode,
55
- p.selection,
56
- p.transitionEnter,
57
- p.transitionExit,
58
- panel,
59
- ref,
60
- selection,
61
- ]);
62
- return _jsx(context.Provider, { value: value, children: p.children });
63
- });
@@ -1 +0,0 @@
1
- export declare function getFocusableNodes(panel: HTMLElement): HTMLElement[];
@@ -1,5 +0,0 @@
1
- import { getFocusables, isHTMLElement } from "@1771technologies/lytenyte-dom-utils";
2
- export function getFocusableNodes(panel) {
3
- const focusNodes = getFocusables(panel).filter((c) => isHTMLElement(c) && c.getAttribute("data-ln-tree-node") === "true");
4
- return focusNodes;
5
- }
@@ -1 +0,0 @@
1
- export declare function getFocusedNode(): HTMLElement | null;
@@ -1,14 +0,0 @@
1
- import { isLastTraversableNode } from "@1771technologies/lytenyte-dom-utils";
2
- export function getFocusedNode() {
3
- if (!document.activeElement)
4
- return null;
5
- let current = document.activeElement;
6
- while (current &&
7
- !isLastTraversableNode(current) &&
8
- current.getAttribute("data-ln-tree-node") !== "true") {
9
- current = current.parentElement;
10
- }
11
- if (current?.getAttribute("data-ln-tree-node"))
12
- return current;
13
- return null;
14
- }
@@ -1 +0,0 @@
1
- export declare function getIdsBetweenNodes(start: HTMLElement, end: HTMLElement, panel: HTMLElement): string[];
@@ -1,15 +0,0 @@
1
- import { getFocusableNodes } from "./get-focusable-nodes.js";
2
- import { getTreeNodeId } from "./get-tree-node-id.js";
3
- export function getIdsBetweenNodes(start, end, panel) {
4
- const focusables = getFocusableNodes(panel);
5
- let startIndex = focusables.indexOf(start);
6
- let endIndex = focusables.indexOf(end);
7
- if (startIndex == -1 || endIndex == -1)
8
- return [];
9
- [startIndex, endIndex] = [Math.min(startIndex, endIndex), Math.max(startIndex, endIndex)];
10
- const ids = [];
11
- for (let i = startIndex; i <= endIndex; i++) {
12
- ids.push(getTreeNodeId(focusables[i]));
13
- }
14
- return ids;
15
- }
@@ -1 +0,0 @@
1
- export declare function getPanel(el: HTMLElement): HTMLElement | null;
@@ -1,7 +0,0 @@
1
- export function getPanel(el) {
2
- let current = el;
3
- while (current && !current.getAttribute("data-ln-tree-panel")) {
4
- current = current.parentElement;
5
- }
6
- return current;
7
- }
@@ -1 +0,0 @@
1
- export declare function getParentNode(el: HTMLElement): HTMLElement | null;
@@ -1,10 +0,0 @@
1
- import { isBranchNode } from "./is-branch-node.js";
2
- export function getParentNode(el) {
3
- let current = el.parentElement;
4
- while (current && !current.getAttribute("data-ln-tree-panel") && !isBranchNode(current)) {
5
- current = current.parentElement;
6
- }
7
- if (current?.getAttribute("data-ln-tree-panel"))
8
- return null;
9
- return current;
10
- }
@@ -1 +0,0 @@
1
- export declare function getSiblingBranches(el: HTMLElement): HTMLElement[] | undefined;
@@ -1,14 +0,0 @@
1
- import { isHTMLElement } from "@1771technologies/lytenyte-dom-utils";
2
- import { isBranchNode } from "./is-branch-node.js";
3
- export function getSiblingBranches(el) {
4
- const children = el.parentElement?.children;
5
- if (!children)
6
- return;
7
- const branchSiblings = [];
8
- for (let i = 0; i < children.length; i++) {
9
- const node = children[i];
10
- if (isHTMLElement(node) && isBranchNode(node))
11
- branchSiblings.push(node);
12
- }
13
- return branchSiblings;
14
- }
@@ -1 +0,0 @@
1
- export declare function getTreeNodeId(el: HTMLElement): string;
@@ -1,3 +0,0 @@
1
- export function getTreeNodeId(el) {
2
- return el.getAttribute("data-ln-tree-id") ?? "";
3
- }
@@ -1 +0,0 @@
1
- export declare function isBranchNode(el: HTMLElement): boolean;
@@ -1,3 +0,0 @@
1
- export function isBranchNode(el) {
2
- return el.getAttribute("data-ln-tree-branch") === "true";
3
- }
@@ -1 +0,0 @@
1
- export declare function isLeafNode(el: HTMLElement): boolean;
@@ -1,3 +0,0 @@
1
- export function isLeafNode(el) {
2
- return el.getAttribute("data-ln-tree-leaf") === "true";
3
- }
@@ -1 +0,0 @@
1
- export declare function isTreeNodeDisabled(el: HTMLElement): boolean;
@@ -1,3 +0,0 @@
1
- export function isTreeNodeDisabled(el) {
2
- return el.getAttribute("data-ln-tree-node-disabled") === "true";
3
- }
@@ -1,2 +0,0 @@
1
- import type { TreeViewRootContext } from "../context.js";
2
- export declare function selectNode(node: HTMLElement | null | undefined, ctx: TreeViewRootContext, focus?: boolean): void;
@@ -1,15 +0,0 @@
1
- import { getTreeNodeId } from "./get-tree-node-id.js";
2
- import { isTreeNodeDisabled } from "./is-tree-node-disabled.js";
3
- export function selectNode(node, ctx, focus) {
4
- if (!node || isTreeNodeDisabled(node))
5
- return;
6
- if (focus)
7
- node.focus();
8
- const id = getTreeNodeId(node);
9
- if (ctx.selection.has(id))
10
- return;
11
- ctx.selectionPivotRef.current = id;
12
- const next = new Set(ctx.selection);
13
- next.add(id);
14
- ctx.onSelectionChange(next);
15
- }
@@ -1,2 +0,0 @@
1
- import type { TreeViewRootContext } from "../context.js";
2
- export declare function toggleAllSelections(ctx: TreeViewRootContext): void;
@@ -1,9 +0,0 @@
1
- import { getAllIds } from "../navigation/get-all-ids.js";
2
- export function toggleAllSelections(ctx) {
3
- const allIds = getAllIds(ctx.panel);
4
- const selection = ctx.selection;
5
- if (allIds.isSubsetOf(selection))
6
- ctx.onSelectionChange(new Set());
7
- else
8
- ctx.onSelectionChange(allIds);
9
- }
@@ -1,2 +0,0 @@
1
- import type { TreeViewRootContext } from "../context.js";
2
- export declare function toggleSelection(el: HTMLElement, ctx: TreeViewRootContext): void;
@@ -1,21 +0,0 @@
1
- import { getTreeNodeId } from "./get-tree-node-id.js";
2
- export function toggleSelection(el, ctx) {
3
- const id = getTreeNodeId(el);
4
- if (ctx.selectionMode === "single") {
5
- if (ctx.selection.has(id))
6
- ctx.onSelectionChange(new Set());
7
- else
8
- ctx.onSelectionChange(new Set([id]));
9
- return;
10
- }
11
- const next = new Set(ctx.selection);
12
- if (next.has(id)) {
13
- next.delete(id);
14
- ctx.selectionPivotRef.current = null;
15
- }
16
- else {
17
- next.add(id);
18
- ctx.selectionPivotRef.current = id;
19
- }
20
- ctx.onSelectionChange(next);
21
- }
@@ -1,2 +0,0 @@
1
- import { type PropsWithChildren } from "react";
2
- export declare function ForceSyncScrolling(props: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from "react";
3
- import { useTreeRoot } from "../context.js";
4
- export function ForceSyncScrolling(props) {
5
- const [scroll, setScroll] = useState(0);
6
- const ctx = useTreeRoot();
7
- useEffect(() => {
8
- if (!ctx.panel)
9
- return;
10
- const controller = new AbortController();
11
- ctx.panel.addEventListener("scroll", () => {
12
- setScroll(Math.max(0, ctx.panel.scrollTop));
13
- }, { signal: controller.signal });
14
- return () => controller.abort();
15
- }, [ctx.panel]);
16
- return (_jsx("div", { style: {
17
- position: "sticky",
18
- top: 0,
19
- height: 0,
20
- width: "100%",
21
- transform: `translate3d(0px, -${scroll}px, 0px)`,
22
- }, children: props.children }));
23
- }
@@ -1,2 +0,0 @@
1
- import type { PathBranch, PathLeaf, PathProvidedItem } from "@1771technologies/lytenyte-shared";
2
- export declare function buildVirtualTreePartial<T extends PathProvidedItem>(items: (PathBranch<T> | PathLeaf<T>)[]): [string[], PathBranch<T> | PathLeaf<T>][];
@@ -1,14 +0,0 @@
1
- export function buildVirtualTreePartial(items) {
2
- const paths = items.map((c) => {
3
- if (c.kind === "leaf") {
4
- const parent = c.parent;
5
- if (parent.kind === "root")
6
- return ["", c];
7
- const path = parent.id.split("#");
8
- return [path, c];
9
- }
10
- const path = c.id.split("#");
11
- return [path, c];
12
- });
13
- return paths;
14
- }
@@ -1,31 +0,0 @@
1
- import type { PathBranch, PathLeaf, PathProvidedItem } from "@1771technologies/lytenyte-shared";
2
- import type { CSSProperties } from "react";
3
- export interface TreeVirtualBranch<T extends PathProvidedItem> {
4
- readonly kind: "branch";
5
- readonly path: string;
6
- readonly branch: PathBranch<T>;
7
- readonly children: TreeVirtualItem<T>[];
8
- readonly rowIndex: number;
9
- readonly attrs: {
10
- readonly style: CSSProperties;
11
- "data-ln-row-index": number;
12
- readonly "aria-posinset": number;
13
- readonly "aria-setsize": number;
14
- };
15
- }
16
- export interface TreeVirtualLeaf<T extends PathProvidedItem> {
17
- readonly kind: "leaf";
18
- readonly leaf: PathLeaf<T>;
19
- readonly rowIndex: number;
20
- readonly attrs: {
21
- readonly style: CSSProperties;
22
- "data-ln-row-index": number;
23
- readonly "aria-posinset": number;
24
- readonly "aria-setsize": number;
25
- };
26
- }
27
- export type TreeVirtualItem<T extends PathProvidedItem> = TreeVirtualBranch<T> | TreeVirtualLeaf<T>;
28
- type Path = string[];
29
- type PathEntry<T extends PathProvidedItem> = [Path | "", PathBranch<T> | PathLeaf<T>];
30
- export declare function makeVirtualTree<T extends PathProvidedItem>(paths: PathEntry<T>[], nodeToIndex: Map<PathBranch<T> | PathLeaf<T>, number>, itemHeight: number, nonAdjacentPathTrees: boolean): TreeVirtualItem<T>[];
31
- export {};
@@ -1,90 +0,0 @@
1
- export function makeVirtualTree(paths, nodeToIndex, itemHeight, nonAdjacentPathTrees) {
2
- const root = [];
3
- const lookup = new Map();
4
- for (const [rawPath, node] of paths) {
5
- const path = typeof rawPath === "string" ? [] : rawPath;
6
- if (nonAdjacentPathTrees)
7
- path.pop();
8
- const joinPath = path.join("#");
9
- if (node.kind === "branch") {
10
- const rowIndex = nodeToIndex.get(node);
11
- const parentIndex = node.parent.kind === "root" ? 0 : nodeToIndex.get(node.parent);
12
- const posinset = rowIndex - parentIndex + 1;
13
- const setSize = node.parent.children.size;
14
- const branchNode = {
15
- kind: "branch",
16
- path: joinPath,
17
- branch: node,
18
- children: [],
19
- rowIndex,
20
- attrs: {
21
- style: {
22
- position: "absolute",
23
- height: itemHeight,
24
- width: "100%",
25
- boxSizing: "border-box",
26
- top: 0,
27
- left: 0,
28
- transform: `translate3d(0px, ${(posinset - 1) * itemHeight}px, 0px)`,
29
- },
30
- "data-ln-row-index": rowIndex,
31
- "aria-posinset": posinset,
32
- "aria-setsize": setSize,
33
- },
34
- };
35
- lookup.set(joinPath, branchNode);
36
- if (path.length === 0) {
37
- root.push(branchNode);
38
- }
39
- else {
40
- const parentPath = path.slice(0, -1).join("#");
41
- const parent = lookup.get(parentPath);
42
- if (parent) {
43
- parent.children.push(branchNode);
44
- }
45
- else {
46
- root.push(branchNode); // fallback
47
- }
48
- }
49
- }
50
- else {
51
- const rowIndex = nodeToIndex.get(node);
52
- const parentIndex = node.parent.kind === "root" ? 0 : nodeToIndex.get(node.parent);
53
- const posinset = rowIndex - parentIndex + 1;
54
- const setSize = node.parent.children.size;
55
- const leafNode = {
56
- kind: "leaf",
57
- leaf: node,
58
- rowIndex,
59
- attrs: {
60
- style: {
61
- position: "absolute",
62
- height: itemHeight,
63
- boxSizing: "border-box",
64
- width: "100%",
65
- top: 0,
66
- left: 0,
67
- transform: `translate3d(0px, ${(posinset - 1) * itemHeight}px, 0px)`,
68
- },
69
- "data-ln-row-index": rowIndex,
70
- "aria-posinset": posinset,
71
- "aria-setsize": setSize,
72
- },
73
- };
74
- if (path.length === 0) {
75
- root.push(leafNode); // top-level leaf
76
- }
77
- else {
78
- const parentPath = path.join("#");
79
- const parent = lookup.get(parentPath);
80
- if (parent) {
81
- parent.children.push(leafNode);
82
- }
83
- else {
84
- root.push(leafNode); // fallback
85
- }
86
- }
87
- }
88
- }
89
- return root;
90
- }
@@ -1,9 +0,0 @@
1
- import { type PathBranch, type PathLeaf, type PathProvidedItem } from "@1771technologies/lytenyte-shared";
2
- export declare function useFlattenedTree<T extends PathProvidedItem>(paths: T[], expansions: Record<string, boolean>, expansionDefault: boolean, nonAdjacentPathTrees?: boolean): {
3
- flat: (PathBranch<T> | PathLeaf<T>)[];
4
- nodeToIndex: Map<PathBranch<T> | PathLeaf<T>, number>;
5
- indexToId: Map<number, string>;
6
- allIds: Set<string>;
7
- idToNode: Map<string, PathBranch<T> | PathLeaf<T>>;
8
- root: import("@1771technologies/lytenyte-shared").PathRoot<T>;
9
- };
@@ -1,36 +0,0 @@
1
- import { computePathTree, } from "@1771technologies/lytenyte-shared";
2
- import { useMemo } from "react";
3
- export function useFlattenedTree(paths, expansions, expansionDefault, nonAdjacentPathTrees) {
4
- const { flat, nodeToIndex, indexToId, allIds, idToNode, root } = useMemo(() => {
5
- const root = computePathTree(paths, undefined, nonAdjacentPathTrees);
6
- const flat = [];
7
- const nodeToIndex = new Map();
8
- const stack = [...root.children.values()];
9
- const allIds = new Set();
10
- const indexToId = new Map();
11
- const idToNode = new Map();
12
- let index = 0;
13
- while (stack.length) {
14
- const item = stack.shift();
15
- if (item.kind === "leaf") {
16
- flat.push(item);
17
- }
18
- else {
19
- flat.push(item);
20
- const isExpanded = expansions[item.id] ?? expansionDefault;
21
- if (isExpanded) {
22
- const children = [...item.children.values()];
23
- stack.unshift(...children);
24
- }
25
- }
26
- const id = item.kind === "branch" ? item.data.idOccurrence : item.data.id;
27
- allIds.add(id);
28
- indexToId.set(index, id);
29
- nodeToIndex.set(item, index);
30
- idToNode.set(id, item);
31
- index++;
32
- }
33
- return { flat, nodeToIndex, indexToId, allIds, idToNode, root };
34
- }, [expansionDefault, expansions, nonAdjacentPathTrees, paths]);
35
- return { flat, nodeToIndex, indexToId, allIds, idToNode, root };
36
- }
@@ -1,2 +0,0 @@
1
- import type { RectReadOnly } from "@1771technologies/lytenyte-react-hooks";
2
- export declare function useRowStartAndEnd(panel: HTMLElement | null | undefined, itemHeight: number, bounds: RectReadOnly, size: number): number[];
@@ -1,27 +0,0 @@
1
- import { clamp } from "@1771technologies/lytenyte-js-utils";
2
- import { useEffect, useMemo, useState } from "react";
3
- export function useRowStartAndEnd(panel, itemHeight, bounds, size) {
4
- const [startOffset, setStartOffset] = useState(0);
5
- const [rowStart, rowEnd] = useMemo(() => {
6
- if (!panel)
7
- return [0, 0];
8
- const start = startOffset;
9
- const end = start + Math.ceil(bounds.height / itemHeight) + 1;
10
- return [clamp(0, start - 3, size), clamp(0, end + 3, size)];
11
- }, [bounds.height, itemHeight, panel, size, startOffset]);
12
- useEffect(() => {
13
- if (!panel)
14
- return;
15
- const handleViewChange = () => {
16
- const scrollTop = panel.scrollTop;
17
- const start = Math.floor(scrollTop / itemHeight);
18
- setStartOffset(start);
19
- };
20
- handleViewChange();
21
- panel.addEventListener("scroll", handleViewChange);
22
- return () => {
23
- panel.removeEventListener("scroll", handleViewChange);
24
- };
25
- }, [itemHeight, panel]);
26
- return [rowStart, rowEnd];
27
- }
@@ -1,22 +0,0 @@
1
- import { type PathProvidedItem, type PathRoot } from "@1771technologies/lytenyte-shared";
2
- import { type JSX } from "react";
3
- import { type TreeVirtualItem } from "./make-virtual-tree.js";
4
- export interface VirtualizedTreeViewPathsArgs<T extends PathProvidedItem> {
5
- readonly itemHeight: number;
6
- readonly expansions: Record<string, boolean>;
7
- readonly expansionDefault?: boolean;
8
- readonly paths: T[];
9
- readonly nonAdjacentPathTrees?: boolean;
10
- }
11
- export interface TreeReturn<T extends PathProvidedItem> {
12
- readonly ref: (h: HTMLElement | null) => void;
13
- readonly virtualTree: TreeVirtualItem<T>[];
14
- readonly spacer: JSX.Element;
15
- readonly rootProps: {
16
- readonly getAllIds: () => Set<string>;
17
- readonly getIdsBetweenNodes: (h: HTMLElement, r: HTMLElement) => string[];
18
- readonly onFocusChange: (h: HTMLElement | null) => void;
19
- readonly root: PathRoot<T>;
20
- };
21
- }
22
- export declare function useVirtualizedTree<T extends PathProvidedItem>({ itemHeight, expansions, expansionDefault, nonAdjacentPathTrees, paths, }: VirtualizedTreeViewPathsArgs<T>): TreeReturn<T>;
@@ -1,100 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import {} from "@1771technologies/lytenyte-shared";
3
- import { useEvent, useMeasure } from "@1771technologies/lytenyte-react-hooks";
4
- import { useMemo, useState } from "react";
5
- import { buildVirtualTreePartial } from "./get-virtual-tree-paths.js";
6
- import { makeVirtualTree } from "./make-virtual-tree.js";
7
- import { useFlattenedTree } from "./use-flattened-tree.js";
8
- import { useRowStartAndEnd } from "./use-row-start-and-end.js";
9
- import { getTreeNodeId } from "../utils/get-tree-node-id.js";
10
- export function useVirtualizedTree({ itemHeight, expansions, expansionDefault = false, nonAdjacentPathTrees, paths, }) {
11
- const [ref, bounds, _, panel] = useMeasure({ scroll: true });
12
- const { flat, nodeToIndex, indexToId, allIds, idToNode, root } = useFlattenedTree(paths, expansions, expansionDefault, nonAdjacentPathTrees);
13
- const size = useMemo(() => flat.length, [flat.length]);
14
- const [rowStart, rowEnd] = useRowStartAndEnd(panel, itemHeight, bounds, size);
15
- const [focused, setFocused] = useState(null);
16
- const virtualTree = useMemo(() => {
17
- const items = flat.slice(rowStart, rowEnd);
18
- if (!items.length)
19
- return [];
20
- // Ensure that the parent nodes of the current tree in view are added as well. This ensure that
21
- // the nodes are always visible.
22
- while (items[0].parent.kind !== "root") {
23
- items.unshift(items[0].parent);
24
- }
25
- // Ensure that the first node is always in the list of tree nodes so the home key works fine.
26
- if (rowStart !== 0 && items[0] !== flat[0])
27
- items.unshift(flat[0]);
28
- // Ensure the last node is always in the list of nodes present.
29
- if (rowEnd !== flat.length) {
30
- const endItems = [flat.at(-1)];
31
- while (endItems[0].parent.kind !== "root" && endItems[0].parent !== items.at(-1)) {
32
- endItems.unshift(endItems[0].parent);
33
- }
34
- items.push(...endItems);
35
- }
36
- // Finally we need to ensure the focused node is present. We add the node before and after
37
- // the current node - so that the next and previous node are selectable.
38
- if (focused && idToNode.has(focused)) {
39
- const node = idToNode.get(focused);
40
- const index = nodeToIndex.get(node);
41
- const nextId = indexToId.get(index + 1);
42
- const prevId = indexToId.get(index - 1);
43
- const next = idToNode.get(nextId);
44
- const prev = idToNode.get(prevId);
45
- if (!items.includes(node)) {
46
- const firstIndexGreater = items.findIndex((c) => nodeToIndex.get(c) > index);
47
- items.splice(firstIndexGreater, 0, node);
48
- }
49
- if (next && !items.includes(next)) {
50
- const firstIndexGreater = items.findIndex((c) => nodeToIndex.get(c) > index + 1);
51
- items.splice(firstIndexGreater, 0, next);
52
- }
53
- if (prev && !items.includes(prev)) {
54
- const firstIndexGreater = items.findIndex((c) => nodeToIndex.get(c) > index - 1);
55
- items.splice(firstIndexGreater, 0, prev);
56
- }
57
- }
58
- const subtreePaths = buildVirtualTreePartial(items);
59
- const subtree = makeVirtualTree(subtreePaths, nodeToIndex, itemHeight, nonAdjacentPathTrees ?? false);
60
- return subtree;
61
- }, [
62
- flat,
63
- focused,
64
- idToNode,
65
- indexToId,
66
- itemHeight,
67
- nodeToIndex,
68
- nonAdjacentPathTrees,
69
- rowEnd,
70
- rowStart,
71
- ]);
72
- const spacer = _jsx("div", { style: { height: size * itemHeight, width: 0 } });
73
- const onFocusChange = useEvent((el) => {
74
- setFocused(el ? getTreeNodeId(el) : null);
75
- });
76
- const getAllIds = useEvent(() => allIds);
77
- const getIdsBetweenNodes = useEvent((left, right) => {
78
- const leftIndex = Number.parseInt(left.getAttribute("data-ln-row-index"));
79
- const rightIndex = Number.parseInt(right.getAttribute("data-ln-row-index"));
80
- const [start, end] = leftIndex < rightIndex ? [leftIndex, rightIndex] : [rightIndex, leftIndex];
81
- if (start === end)
82
- return [indexToId.get(start)];
83
- const ids = [];
84
- for (let i = start; i <= end; i++) {
85
- ids.push(indexToId.get(i));
86
- }
87
- return ids;
88
- });
89
- return {
90
- ref,
91
- virtualTree,
92
- spacer,
93
- rootProps: {
94
- getAllIds,
95
- getIdsBetweenNodes,
96
- onFocusChange,
97
- root,
98
- },
99
- };
100
- }