@1771technologies/lytenyte-pro 1.0.0-beta.12 → 1.0.0-beta.13

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 (381) hide show
  1. package/dist/+types.d.ts +3969 -4155
  2. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +38 -38
  3. package/dist/cell-selection/are-rects-equal.js +4 -6
  4. package/dist/cell-selection/bound-selection-rect.js +14 -14
  5. package/dist/cell-selection/cell-selection-containers.js +78 -108
  6. package/dist/cell-selection/cell-selection-driver.js +262 -250
  7. package/dist/cell-selection/cell-style-row.d.ts +6 -12
  8. package/dist/cell-selection/cell-style-row.js +79 -82
  9. package/dist/cell-selection/deselect-rect-range.js +40 -41
  10. package/dist/cell-selection/expand-cell-selection-down.d.ts +2 -5
  11. package/dist/cell-selection/expand-cell-selection-down.js +33 -29
  12. package/dist/cell-selection/expand-cell-selection-end.d.ts +2 -5
  13. package/dist/cell-selection/expand-cell-selection-end.js +34 -30
  14. package/dist/cell-selection/expand-cell-selection-start.d.ts +2 -5
  15. package/dist/cell-selection/expand-cell-selection-start.js +33 -29
  16. package/dist/cell-selection/expand-cell-selection-up.d.ts +2 -5
  17. package/dist/cell-selection/expand-cell-selection-up.js +33 -29
  18. package/dist/cell-selection/full-width-start-end-index.js +3 -3
  19. package/dist/cell-selection/get-root-cell.d.ts +1 -5
  20. package/dist/cell-selection/get-root-cell.js +79 -77
  21. package/dist/cell-selection/is-bottom-rect.js +5 -5
  22. package/dist/cell-selection/is-center-col-rect.d.ts +2 -5
  23. package/dist/cell-selection/is-center-col-rect.js +3 -5
  24. package/dist/cell-selection/is-center-rect.js +3 -3
  25. package/dist/cell-selection/is-end-rect.d.ts +2 -5
  26. package/dist/cell-selection/is-end-rect.js +2 -2
  27. package/dist/cell-selection/is-overlapping-rect.js +4 -6
  28. package/dist/cell-selection/is-start-rect.d.ts +2 -5
  29. package/dist/cell-selection/is-start-rect.js +2 -2
  30. package/dist/cell-selection/is-top-rect.js +2 -2
  31. package/dist/cell-selection/is-within-selection-rect.js +1 -1
  32. package/dist/cell-selection/split-cell-selection-rect.d.ts +6 -12
  33. package/dist/cell-selection/split-cell-selection-rect.js +47 -53
  34. package/dist/cell-selection/update-additive-cell-selection.d.ts +2 -5
  35. package/dist/cell-selection/update-additive-cell-selection.js +19 -18
  36. package/dist/cell-selection/use-edge-scroll.d.ts +6 -8
  37. package/dist/cell-selection/use-edge-scroll.js +63 -65
  38. package/dist/cells/cell-default.d.ts +1 -5
  39. package/dist/cells/cell-default.js +5 -5
  40. package/dist/cells/cell-editor.d.ts +2 -4
  41. package/dist/cells/cell-editor.js +86 -121
  42. package/dist/cells/cell.d.ts +3 -16
  43. package/dist/cells/cell.js +27 -56
  44. package/dist/column-manager/branch-lookup-context.d.ts +1 -3
  45. package/dist/column-manager/branch.d.ts +4 -12
  46. package/dist/column-manager/branch.js +29 -39
  47. package/dist/column-manager/column-manager.d.ts +9 -58
  48. package/dist/column-manager/column-manager.js +9 -9
  49. package/dist/column-manager/context.d.ts +1 -1
  50. package/dist/column-manager/label.d.ts +2 -10
  51. package/dist/column-manager/label.js +12 -11
  52. package/dist/column-manager/leaf.d.ts +2 -10
  53. package/dist/column-manager/leaf.js +32 -42
  54. package/dist/column-manager/move-handle.d.ts +6 -14
  55. package/dist/column-manager/move-handle.js +50 -54
  56. package/dist/column-manager/root.d.ts +3 -9
  57. package/dist/column-manager/root.js +13 -26
  58. package/dist/column-manager/use-column-manager.d.ts +12 -12
  59. package/dist/column-manager/use-column-manager.js +20 -20
  60. package/dist/column-manager/use-columns-from-context.js +18 -18
  61. package/dist/column-manager/visibility-checkbox.d.ts +6 -14
  62. package/dist/column-manager/visibility-checkbox.js +23 -36
  63. package/dist/context.d.ts +4 -4
  64. package/dist/filter-tree/branch.d.ts +5 -13
  65. package/dist/filter-tree/branch.js +13 -23
  66. package/dist/filter-tree/context.d.ts +16 -16
  67. package/dist/filter-tree/filter-tree.d.ts +8 -49
  68. package/dist/filter-tree/filter-tree.js +8 -8
  69. package/dist/filter-tree/hooks/use-filter-tree.d.ts +29 -35
  70. package/dist/filter-tree/hooks/use-filter-tree.js +92 -94
  71. package/dist/filter-tree/hooks/use-tree-item.d.ts +4 -4
  72. package/dist/filter-tree/hooks/use-tree-item.js +106 -99
  73. package/dist/filter-tree/inclusion-checkbox.d.ts +6 -14
  74. package/dist/filter-tree/inclusion-checkbox.js +9 -19
  75. package/dist/filter-tree/label.d.ts +2 -10
  76. package/dist/filter-tree/label.js +12 -11
  77. package/dist/filter-tree/leaf.d.ts +2 -10
  78. package/dist/filter-tree/leaf.js +5 -15
  79. package/dist/filter-tree/root.d.ts +7 -23
  80. package/dist/filter-tree/root.js +23 -51
  81. package/dist/grid-box/+types.d.ts +9 -9
  82. package/dist/grid-box/context.d.ts +3 -3
  83. package/dist/grid-box/grid-box.d.ts +6 -26
  84. package/dist/grid-box/grid-box.js +6 -6
  85. package/dist/grid-box/item.d.ts +3 -11
  86. package/dist/grid-box/item.js +26 -29
  87. package/dist/grid-box/panel.d.ts +1 -13
  88. package/dist/grid-box/panel.js +2 -9
  89. package/dist/grid-box/root.d.ts +5 -11
  90. package/dist/grid-box/root.js +2 -11
  91. package/dist/grid-box/use-aggregation-box-items.d.ts +13 -16
  92. package/dist/grid-box/use-aggregation-box-items.js +55 -54
  93. package/dist/grid-box/use-column-box-items.d.ts +21 -31
  94. package/dist/grid-box/use-column-box-items.js +78 -90
  95. package/dist/grid-box/use-row-group-box-items.d.ts +12 -17
  96. package/dist/grid-box/use-row-group-box-items.js +124 -116
  97. package/dist/grid-provider/context.d.ts +2 -4
  98. package/dist/grid-provider/provider.d.ts +2 -4
  99. package/dist/grid-provider/use-grid.d.ts +1 -1
  100. package/dist/grid.d.ts +26 -150
  101. package/dist/grid.js +26 -38
  102. package/dist/header/header-cell.d.ts +5 -13
  103. package/dist/header/header-cell.js +15 -41
  104. package/dist/header/header-group-cell.d.ts +2 -10
  105. package/dist/header/header-group-cell.js +6 -21
  106. package/dist/header/header-row.d.ts +2 -10
  107. package/dist/header/header-row.js +2 -2
  108. package/dist/header/header.d.ts +1 -10
  109. package/dist/header/header.js +2 -11
  110. package/dist/header/resize-handler.d.ts +6 -15
  111. package/dist/header/resize-handler.js +118 -128
  112. package/dist/header/use-drag-move.d.ts +11 -22
  113. package/dist/header/use-drag-move.js +87 -83
  114. package/dist/header/use-header-cell-renderer.d.ts +2 -9
  115. package/dist/header/use-header-cell-renderer.js +29 -24
  116. package/dist/icons/index.d.ts +1 -92
  117. package/dist/icons/index.js +1 -92
  118. package/dist/license.js +174 -174
  119. package/dist/listbox/context.d.ts +2 -2
  120. package/dist/listbox/item.d.ts +1 -10
  121. package/dist/listbox/item.js +19 -23
  122. package/dist/listbox/panel.d.ts +1 -10
  123. package/dist/listbox/panel.js +43 -69
  124. package/dist/listbox/root.d.ts +3 -5
  125. package/dist/listbox/root.js +7 -7
  126. package/dist/root/dialog-driver.js +16 -22
  127. package/dist/root/popover-driver.js +16 -27
  128. package/dist/root/root.d.ts +3 -7
  129. package/dist/root/root.js +107 -111
  130. package/dist/row-data-source-client/+types.d.ts +17 -17
  131. package/dist/row-data-source-client/built-ins/avg.js +4 -3
  132. package/dist/row-data-source-client/built-ins/built-ins.d.ts +16 -16
  133. package/dist/row-data-source-client/built-ins/built-ins.js +16 -16
  134. package/dist/row-data-source-client/built-ins/count.js +5 -3
  135. package/dist/row-data-source-client/built-ins/first.js +1 -1
  136. package/dist/row-data-source-client/built-ins/group.js +1 -1
  137. package/dist/row-data-source-client/built-ins/last.js +1 -1
  138. package/dist/row-data-source-client/built-ins/max.js +13 -9
  139. package/dist/row-data-source-client/built-ins/min.js +13 -9
  140. package/dist/row-data-source-client/built-ins/sum.js +10 -8
  141. package/dist/row-data-source-client/filter/+types.d.ts +13 -35
  142. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +2 -16
  143. package/dist/row-data-source-client/filter/compute-filtered-rows.js +102 -102
  144. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +4 -8
  145. package/dist/row-data-source-client/pivots/create-agg-model.js +9 -8
  146. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +1 -6
  147. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +46 -42
  148. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +1 -6
  149. package/dist/row-data-source-client/pivots/create-pivot-columns.js +17 -16
  150. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +1 -7
  151. package/dist/row-data-source-client/pivots/create-pivot-tree.js +19 -19
  152. package/dist/row-data-source-client/tree/client-tree.d.ts +13 -19
  153. package/dist/row-data-source-client/tree/client-tree.js +67 -64
  154. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +1 -4
  155. package/dist/row-data-source-client/tree/evaluator-aggregation.js +6 -6
  156. package/dist/row-data-source-client/tree/evaluator-group.d.ts +1 -4
  157. package/dist/row-data-source-client/tree/evaluator-group.js +7 -6
  158. package/dist/row-data-source-client/tree/traverse.d.ts +1 -5
  159. package/dist/row-data-source-client/tree/traverse.js +18 -15
  160. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +5 -9
  161. package/dist/row-data-source-client/use-client-data-source-paginated.js +535 -539
  162. package/dist/row-data-source-client/use-client-data-source.d.ts +5 -9
  163. package/dist/row-data-source-client/use-client-data-source.js +660 -682
  164. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +5 -9
  165. package/dist/row-data-source-client/use-client-tree-data-source.js +512 -510
  166. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +33 -36
  167. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +1 -4
  168. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +22 -18
  169. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +1 -4
  170. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +25 -17
  171. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +18 -18
  172. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +10 -9
  173. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +1 -4
  174. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +14 -13
  175. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +10 -9
  176. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +1 -4
  177. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +13 -13
  178. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +1 -4
  179. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +1 -1
  180. package/dist/row-data-source-server/async-tree/make-async-tree.js +14 -14
  181. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +1 -3
  182. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +6 -6
  183. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +1 -5
  184. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +14 -11
  185. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +1 -4
  186. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +46 -42
  187. package/dist/row-data-source-server/range-tree/range-tree.d.ts +28 -28
  188. package/dist/row-data-source-server/range-tree/range-tree.js +48 -49
  189. package/dist/row-data-source-server/use-server-data-source.d.ts +2 -11
  190. package/dist/row-data-source-server/use-server-data-source.js +652 -665
  191. package/dist/row-data-source-server/utils/get-node-depth.js +7 -7
  192. package/dist/row-data-source-server/utils/get-node-path.js +7 -7
  193. package/dist/row-data-source-server/utils/get-request-id.js +4 -3
  194. package/dist/rows/row/context.d.ts +2 -2
  195. package/dist/rows/row/row.d.ts +3 -16
  196. package/dist/rows/row/row.js +4 -19
  197. package/dist/rows/row/use-row-context-value.d.ts +2 -5
  198. package/dist/rows/row/use-row-context-value.js +26 -23
  199. package/dist/rows/row-detail-row.d.ts +2 -4
  200. package/dist/rows/row-detail-row.js +124 -147
  201. package/dist/rows/row-full-width.d.ts +4 -12
  202. package/dist/rows/row-full-width.js +7 -35
  203. package/dist/rows/rows-container.d.ts +1 -10
  204. package/dist/rows/rows-container.js +3 -12
  205. package/dist/rows/rows-sections.d.ts +3 -30
  206. package/dist/rows/rows-sections.js +10 -42
  207. package/dist/rows/scrollers/native-scroller.d.ts +1 -3
  208. package/dist/rows/scrollers/native-scroller.js +13 -17
  209. package/dist/sort-manager/+types.d.ts +7 -14
  210. package/dist/sort-manager/context.d.ts +4 -4
  211. package/dist/sort-manager/hooks/use-sort-manager.d.ts +9 -9
  212. package/dist/sort-manager/hooks/use-sort-manager.js +49 -45
  213. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +46 -57
  214. package/dist/sort-manager/hooks/use-sort-row-item.js +131 -126
  215. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +3 -6
  216. package/dist/sort-manager/hooks/use-sortable-column-items.js +10 -10
  217. package/dist/sort-manager/root.d.ts +1 -7
  218. package/dist/sort-manager/root.js +10 -10
  219. package/dist/sort-manager/sort-add.d.ts +5 -13
  220. package/dist/sort-manager/sort-add.js +8 -8
  221. package/dist/sort-manager/sort-apply.d.ts +4 -12
  222. package/dist/sort-manager/sort-apply.js +16 -16
  223. package/dist/sort-manager/sort-cancel.d.ts +4 -12
  224. package/dist/sort-manager/sort-cancel.js +19 -19
  225. package/dist/sort-manager/sort-clear.d.ts +4 -12
  226. package/dist/sort-manager/sort-clear.js +16 -15
  227. package/dist/sort-manager/sort-column-select.d.ts +6 -14
  228. package/dist/sort-manager/sort-column-select.js +15 -26
  229. package/dist/sort-manager/sort-direction-select.d.ts +6 -14
  230. package/dist/sort-manager/sort-direction-select.js +19 -27
  231. package/dist/sort-manager/sort-manager.d.ts +12 -93
  232. package/dist/sort-manager/sort-manager.js +12 -12
  233. package/dist/sort-manager/sort-remove.d.ts +4 -12
  234. package/dist/sort-manager/sort-remove.js +8 -8
  235. package/dist/sort-manager/sort-row.d.ts +2 -10
  236. package/dist/sort-manager/sort-row.js +1 -4
  237. package/dist/sort-manager/sort-rows.d.ts +1 -10
  238. package/dist/sort-manager/sort-rows.js +1 -1
  239. package/dist/sort-manager/sort-value-select.d.ts +7 -15
  240. package/dist/sort-manager/sort-value-select.js +19 -28
  241. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +1 -4
  242. package/dist/sort-manager/utils/sort-item-to-sort-model.js +49 -46
  243. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +1 -4
  244. package/dist/sort-manager/utils/sort-model-to-sort-items.js +44 -36
  245. package/dist/state/+types.d.ts +28 -41
  246. package/dist/state/api/column-autosize.d.ts +2 -4
  247. package/dist/state/api/column-autosize.js +63 -62
  248. package/dist/state/api/column-by-id.js +4 -4
  249. package/dist/state/api/column-field.js +20 -17
  250. package/dist/state/api/column-from-index.js +4 -4
  251. package/dist/state/api/column-group-toggle.js +8 -8
  252. package/dist/state/api/column-index.js +5 -5
  253. package/dist/state/api/column-move.js +46 -48
  254. package/dist/state/api/column-resize.js +7 -9
  255. package/dist/state/api/column-update.js +11 -11
  256. package/dist/state/api/dialog-frame.d.ts +4 -8
  257. package/dist/state/api/dialog-frame.js +12 -11
  258. package/dist/state/api/edit-begin.d.ts +2 -4
  259. package/dist/state/api/edit-begin.js +84 -71
  260. package/dist/state/api/edit-end.d.ts +2 -4
  261. package/dist/state/api/edit-end.js +41 -38
  262. package/dist/state/api/edit-is-cell-active.d.ts +2 -4
  263. package/dist/state/api/edit-is-cell-active.js +24 -17
  264. package/dist/state/api/edit-update.d.ts +2 -4
  265. package/dist/state/api/edit-update.js +85 -74
  266. package/dist/state/api/event-listeners.d.ts +3 -12
  267. package/dist/state/api/event-listeners.js +17 -16
  268. package/dist/state/api/export-csv.js +35 -33
  269. package/dist/state/api/export-data-rect.js +21 -21
  270. package/dist/state/api/focus-cell.d.ts +2 -4
  271. package/dist/state/api/focus-cell.js +109 -110
  272. package/dist/state/api/popover-frame.d.ts +4 -8
  273. package/dist/state/api/popover-frame.js +12 -11
  274. package/dist/state/api/position-from-element.js +6 -5
  275. package/dist/state/api/row-by-id.js +3 -3
  276. package/dist/state/api/row-by-index.js +6 -11
  277. package/dist/state/api/row-detail-is-expanded.d.ts +1 -3
  278. package/dist/state/api/row-detail-is-expanded.js +4 -4
  279. package/dist/state/api/row-detail-rendered-height.d.ts +2 -4
  280. package/dist/state/api/row-detail-rendered-height.js +12 -10
  281. package/dist/state/api/row-detail-toggle.js +30 -26
  282. package/dist/state/api/row-group-apply-expansions.d.ts +1 -3
  283. package/dist/state/api/row-group-apply-expansions.js +17 -15
  284. package/dist/state/api/row-group-column-index.d.ts +1 -3
  285. package/dist/state/api/row-group-column-index.js +12 -14
  286. package/dist/state/api/row-group-is-expanded.d.ts +1 -3
  287. package/dist/state/api/row-group-is-expanded.js +13 -11
  288. package/dist/state/api/row-group-toggle.js +5 -5
  289. package/dist/state/api/row-handle-select.d.ts +2 -4
  290. package/dist/state/api/row-handle-select.js +40 -36
  291. package/dist/state/api/row-select-all.js +15 -14
  292. package/dist/state/api/row-select.d.ts +2 -4
  293. package/dist/state/api/row-select.js +33 -30
  294. package/dist/state/api/row-selected.js +11 -10
  295. package/dist/state/api/scroll-into-view.d.ts +2 -4
  296. package/dist/state/api/scroll-into-view.js +47 -47
  297. package/dist/state/api/sort-for-column.js +7 -6
  298. package/dist/state/api/use-row-drag.js +24 -22
  299. package/dist/state/helpers/cell-row-group.d.ts +1 -5
  300. package/dist/state/helpers/cell-row-group.js +16 -18
  301. package/dist/state/helpers/column-add-row-group.d.ts +6 -16
  302. package/dist/state/helpers/column-add-row-group.js +58 -63
  303. package/dist/state/helpers/column-layout.d.ts +1 -7
  304. package/dist/state/helpers/column-layout.js +60 -60
  305. package/dist/state/helpers/column-marker.d.ts +4 -8
  306. package/dist/state/helpers/column-marker.js +34 -38
  307. package/dist/state/helpers/column-view.d.ts +15 -21
  308. package/dist/state/helpers/column-view.js +32 -56
  309. package/dist/state/helpers/edit-on-change.d.ts +10 -18
  310. package/dist/state/helpers/edit-on-change.js +24 -24
  311. package/dist/state/helpers/empty-row-data-source.js +16 -16
  312. package/dist/state/helpers/get-data-rect.d.ts +10 -20
  313. package/dist/state/helpers/get-data-rect.js +62 -67
  314. package/dist/state/helpers/get-full-width-callback.d.ts +1 -5
  315. package/dist/state/helpers/get-full-width-callback.js +6 -5
  316. package/dist/state/helpers/get-span-callback.d.ts +1 -6
  317. package/dist/state/helpers/get-span-callback.js +18 -15
  318. package/dist/state/helpers/resolve-column.d.ts +2 -6
  319. package/dist/state/helpers/resolve-column.js +18 -18
  320. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +12 -15
  321. package/dist/state/helpers/row-layout/get-focus-criteria.js +56 -57
  322. package/dist/state/helpers/row-layout/row-layout.d.ts +9 -15
  323. package/dist/state/helpers/row-layout/row-layout.js +401 -387
  324. package/dist/state/use-lytenyte.js +516 -556
  325. package/dist/tree-view/branch/branch.d.ts +8 -16
  326. package/dist/tree-view/branch/branch.js +52 -104
  327. package/dist/tree-view/branch/use-branch-keys.d.ts +1 -5
  328. package/dist/tree-view/branch/use-branch-keys.js +74 -71
  329. package/dist/tree-view/context.d.ts +17 -21
  330. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +1 -6
  331. package/dist/tree-view/hooks/use-tree-view-paths.js +5 -5
  332. package/dist/tree-view/index.d.ts +7 -35
  333. package/dist/tree-view/index.js +7 -7
  334. package/dist/tree-view/leaf.d.ts +2 -10
  335. package/dist/tree-view/leaf.js +20 -29
  336. package/dist/tree-view/navigation/get-all-ids.js +3 -3
  337. package/dist/tree-view/navigation/get-first-node.js +3 -3
  338. package/dist/tree-view/navigation/get-last-node.js +3 -3
  339. package/dist/tree-view/navigation/get-next-node.js +8 -6
  340. package/dist/tree-view/navigation/get-prev-node.js +8 -6
  341. package/dist/tree-view/panel/make-handle-navigation.js +31 -23
  342. package/dist/tree-view/panel/make-handle-selection.js +77 -68
  343. package/dist/tree-view/panel/make-handle-typeahead.js +40 -34
  344. package/dist/tree-view/panel/panel.d.ts +1 -10
  345. package/dist/tree-view/panel/panel.js +20 -40
  346. package/dist/tree-view/panel/use-tree-navigation.js +52 -64
  347. package/dist/tree-view/root.d.ts +14 -20
  348. package/dist/tree-view/root.js +55 -53
  349. package/dist/tree-view/utils/get-focusable-nodes.js +2 -4
  350. package/dist/tree-view/utils/get-focused-node.js +11 -11
  351. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +1 -5
  352. package/dist/tree-view/utils/get-ids-between-nodes.js +11 -10
  353. package/dist/tree-view/utils/get-panel.js +5 -5
  354. package/dist/tree-view/utils/get-parent-node.js +7 -6
  355. package/dist/tree-view/utils/get-sibling-branches.js +10 -8
  356. package/dist/tree-view/utils/get-tree-node-id.js +1 -1
  357. package/dist/tree-view/utils/is-branch-node.js +1 -1
  358. package/dist/tree-view/utils/is-leaf-node.js +1 -1
  359. package/dist/tree-view/utils/is-tree-node-disabled.js +1 -1
  360. package/dist/tree-view/utils/select-node.d.ts +1 -5
  361. package/dist/tree-view/utils/select-node.js +11 -8
  362. package/dist/tree-view/utils/toggle-all-selections.js +6 -4
  363. package/dist/tree-view/utils/toggle-selection.js +18 -15
  364. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +1 -3
  365. package/dist/tree-view/virtualized/force-sync-scrolling.js +18 -24
  366. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +1 -3
  367. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +12 -11
  368. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +21 -26
  369. package/dist/tree-view/virtualized/make-virtual-tree.js +85 -79
  370. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +8 -17
  371. package/dist/tree-view/virtualized/use-flattened-tree.js +31 -30
  372. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +1 -6
  373. package/dist/tree-view/virtualized/use-row-start-and-end.js +23 -21
  374. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +15 -21
  375. package/dist/tree-view/virtualized/use-virtualized-tree.js +90 -103
  376. package/dist/utils/cycle-sorts.js +14 -12
  377. package/dist/viewport/begin-editing.d.ts +2 -6
  378. package/dist/viewport/begin-editing.js +13 -9
  379. package/dist/viewport/viewport.d.ts +1 -10
  380. package/dist/viewport/viewport.js +70 -93
  381. package/package.json +7 -7
@@ -8,7 +8,9 @@
8
8
  * count([null, undefined]) // Returns 0
9
9
  */
10
10
  export function count(d) {
11
- let c = 0;
12
- for (let i = d.length - 1; i >= 0; i--) if (d[i] != null) c++;
13
- return c;
11
+ let c = 0;
12
+ for (let i = d.length - 1; i >= 0; i--)
13
+ if (d[i] != null)
14
+ c++;
15
+ return c;
14
16
  }
@@ -8,5 +8,5 @@
8
8
  * first([null, undefined]) // Returns undefined
9
9
  */
10
10
  export function first(d) {
11
- return d.find((c) => c != null);
11
+ return d.find((c) => c != null);
12
12
  }
@@ -1,3 +1,3 @@
1
1
  export function group(data) {
2
- return data;
2
+ return data;
3
3
  }
@@ -8,5 +8,5 @@
8
8
  * last([null, undefined]) // Returns undefined
9
9
  */
10
10
  export function last(d) {
11
- return d.findLast((c) => c != null);
11
+ return d.findLast((c) => c != null);
12
12
  }
@@ -9,13 +9,17 @@
9
9
  * max([null, undefined]) // Returns 0
10
10
  */
11
11
  export function max(data) {
12
- if (!data.length) return 0;
13
- let max = data[0];
14
- for (let i = data.length - 1; i > 0; i--) {
15
- const d = data[i];
16
- if (d != null && max == null) max = d;
17
- else if (d == null) continue;
18
- else if (d > max) max = data[i];
19
- }
20
- return max ?? 0;
12
+ if (!data.length)
13
+ return 0;
14
+ let max = data[0];
15
+ for (let i = data.length - 1; i > 0; i--) {
16
+ const d = data[i];
17
+ if (d != null && max == null)
18
+ max = d;
19
+ else if (d == null)
20
+ continue;
21
+ else if (d > max)
22
+ max = data[i];
23
+ }
24
+ return max ?? 0;
21
25
  }
@@ -9,13 +9,17 @@
9
9
  * min([null, undefined]) // Returns 0
10
10
  */
11
11
  export function min(data) {
12
- if (!data.length) return 0;
13
- let min = data[0];
14
- for (let i = data.length - 1; i > 0; i--) {
15
- const d = data[i];
16
- if (d != null && min == null) min = d;
17
- else if (d == null) continue;
18
- else if (d < min) min = data[i];
19
- }
20
- return min ?? 0;
12
+ if (!data.length)
13
+ return 0;
14
+ let min = data[0];
15
+ for (let i = data.length - 1; i > 0; i--) {
16
+ const d = data[i];
17
+ if (d != null && min == null)
18
+ min = d;
19
+ else if (d == null)
20
+ continue;
21
+ else if (d < min)
22
+ min = data[i];
23
+ }
24
+ return min ?? 0;
21
25
  }
@@ -8,12 +8,14 @@
8
8
  * sum([null, null]) // Returns 0
9
9
  */
10
10
  export function sum(data) {
11
- if (!data.length) return 0;
12
- let total = 0;
13
- for (let i = data.length - 1; i >= 0; i--) {
14
- const d = data[i];
15
- if (d == null) continue;
16
- total += d;
17
- }
18
- return total;
11
+ if (!data.length)
12
+ return 0;
13
+ let total = 0;
14
+ for (let i = data.length - 1; i >= 0; i--) {
15
+ const d = data[i];
16
+ if (d == null)
17
+ continue;
18
+ total += d;
19
+ }
20
+ return total;
19
21
  }
@@ -1,45 +1,23 @@
1
- import type {
2
- FilterDateSetting,
3
- FilterNumberSettings,
4
- FilterStringSettings,
5
- } from "@1771technologies/lytenyte-shared";
6
- import type {
7
- FilterCombinationOperator,
8
- FilterDate,
9
- FilterFunc,
10
- FilterIn,
11
- FilterNumber,
12
- FilterString,
13
- } from "../../+types";
1
+ import type { FilterDateSetting, FilterNumberSettings, FilterStringSettings } from "@1771technologies/lytenyte-shared";
2
+ import type { FilterCombinationOperator, FilterDate, FilterFunc, FilterIn, FilterNumber, FilterString } from "../../+types";
14
3
  export interface FilterDateWithSettings extends FilterDate {
15
- readonly field: string;
16
- readonly settings: FilterDateSetting;
4
+ readonly field: string;
5
+ readonly settings: FilterDateSetting;
17
6
  }
18
7
  export interface FilterStringWithSettings extends FilterString {
19
- readonly field: string;
20
- readonly settings: FilterStringSettings;
8
+ readonly field: string;
9
+ readonly settings: FilterStringSettings;
21
10
  }
22
11
  export interface FilterNumberWithSettings extends FilterNumber {
23
- readonly field: string;
24
- readonly settings: FilterNumberSettings;
12
+ readonly field: string;
13
+ readonly settings: FilterNumberSettings;
25
14
  }
26
15
  export interface FilterInWithField extends FilterIn {
27
- readonly field: string;
16
+ readonly field: string;
28
17
  }
29
18
  export interface FilterCombinationWithSettings {
30
- readonly kind: "combination";
31
- readonly operator: FilterCombinationOperator;
32
- readonly filters: Array<
33
- | FilterStringWithSettings
34
- | FilterNumberWithSettings
35
- | FilterDateWithSettings
36
- | FilterCombinationWithSettings
37
- >;
19
+ readonly kind: "combination";
20
+ readonly operator: FilterCombinationOperator;
21
+ readonly filters: Array<FilterStringWithSettings | FilterNumberWithSettings | FilterDateWithSettings | FilterCombinationWithSettings>;
38
22
  }
39
- export type FilterWithSettings<T> =
40
- | FilterDateWithSettings
41
- | FilterStringWithSettings
42
- | FilterNumberWithSettings
43
- | FilterCombinationWithSettings
44
- | FilterInWithField
45
- | FilterFunc<T>;
23
+ export type FilterWithSettings<T> = FilterDateWithSettings | FilterStringWithSettings | FilterNumberWithSettings | FilterCombinationWithSettings | FilterInWithField | FilterFunc<T>;
@@ -1,16 +1,2 @@
1
- import type {
2
- FilterIn,
3
- FilterModelItem,
4
- FilterQuickSearchSensitivity,
5
- Grid,
6
- RowLeaf,
7
- } from "../../+types";
8
- export declare function computeFilteredRows<T>(
9
- rows: RowLeaf<T>[],
10
- grid: Grid<T> | null,
11
- filterModel: Record<string, FilterModelItem<T>>,
12
- filterInModel: Record<string, FilterIn>,
13
- quickSearch: string | null,
14
- sensitivity: FilterQuickSearchSensitivity,
15
- isPivot: boolean,
16
- ): RowLeaf<T>[];
1
+ import type { FilterIn, FilterModelItem, FilterQuickSearchSensitivity, Grid, RowLeaf } from "../../+types";
2
+ export declare function computeFilteredRows<T>(rows: RowLeaf<T>[], grid: Grid<T> | null, filterModel: Record<string, FilterModelItem<T>>, filterInModel: Record<string, FilterIn>, quickSearch: string | null, sensitivity: FilterQuickSearchSensitivity, isPivot: boolean): RowLeaf<T>[];
@@ -1,109 +1,109 @@
1
- import {
2
- evaluateDateFilter,
3
- evaluateNumberFilter,
4
- evaluateStringFilter,
5
- getDateFilterSettings,
6
- getNumberFilterSettings,
7
- getStringFilterSettings,
8
- } from "@1771technologies/lytenyte-shared";
1
+ import { evaluateDateFilter, evaluateNumberFilter, evaluateStringFilter, getDateFilterSettings, getNumberFilterSettings, getStringFilterSettings, } from "@1771technologies/lytenyte-shared";
9
2
  import { itemsWithIdToMap } from "@1771technologies/lytenyte-js-utils";
10
- export function computeFilteredRows(
11
- rows,
12
- grid,
13
- filterModel,
14
- filterInModel,
15
- quickSearch,
16
- sensitivity,
17
- isPivot,
18
- ) {
19
- if (!grid) return rows;
20
- const columns = isPivot ? grid.state.columnPivotColumns.get() : grid.state.columns.get();
21
- const lookup = itemsWithIdToMap(columns);
22
- const filterEntries = [...Object.entries(filterModel), ...Object.entries(filterInModel)].filter(
23
- ([key]) => {
24
- return lookup.has(key);
25
- },
26
- );
27
- if (!(filterEntries.length || quickSearch) || !grid) return rows;
28
- const filters = filterEntries.map(([key, f]) => createFilter(key, f));
29
- const filtered = [];
30
- const base = grid.state.columnBase.get();
31
- const nonIgnored = columns.filter((c) => !(c.quickSearchIgnore ?? base.quickSearchIgnore));
32
- for (let r = 0; r < rows.length; r++) {
33
- const row = rows[r];
34
- if (!filters.every((filter) => evaluateFilter(row.data, grid, filter))) continue;
35
- if (quickSearch) {
36
- const pass = nonIgnored.some((c) => {
37
- const field = `${grid.api.columnField(c, { data: row.data, kind: "leaf" })}`;
38
- if (sensitivity === "case-insensitive")
39
- field.toLowerCase().includes(quickSearch.toLowerCase());
40
- return field.includes(quickSearch);
41
- });
42
- if (!pass) continue;
3
+ export function computeFilteredRows(rows, grid, filterModel, filterInModel, quickSearch, sensitivity, isPivot) {
4
+ if (!grid)
5
+ return rows;
6
+ const columns = isPivot ? grid.state.columnPivotColumns.get() : grid.state.columns.get();
7
+ const lookup = itemsWithIdToMap(columns);
8
+ const filterEntries = [...Object.entries(filterModel), ...Object.entries(filterInModel)].filter(([key]) => {
9
+ return lookup.has(key);
10
+ });
11
+ if (!(filterEntries.length || quickSearch) || !grid)
12
+ return rows;
13
+ const filters = filterEntries.map(([key, f]) => createFilter(key, f));
14
+ const filtered = [];
15
+ const base = grid.state.columnBase.get();
16
+ const nonIgnored = columns.filter((c) => !(c.quickSearchIgnore ?? base.quickSearchIgnore));
17
+ for (let r = 0; r < rows.length; r++) {
18
+ const row = rows[r];
19
+ if (!filters.every((filter) => evaluateFilter(row.data, grid, filter)))
20
+ continue;
21
+ if (quickSearch) {
22
+ const pass = nonIgnored.some((c) => {
23
+ const field = `${grid.api.columnField(c, { data: row.data, kind: "leaf" })}`;
24
+ if (sensitivity === "case-insensitive")
25
+ field.toLowerCase().includes(quickSearch.toLowerCase());
26
+ return field.includes(quickSearch);
27
+ });
28
+ if (!pass)
29
+ continue;
30
+ }
31
+ filtered.push(row);
43
32
  }
44
- filtered.push(row);
45
- }
46
- return filtered;
33
+ return filtered;
47
34
  }
48
35
  function createFilter(id, filter) {
49
- if (filter.kind === "date") {
50
- const settings = getDateFilterSettings(filter);
51
- return {
52
- ...filter,
53
- field: id,
54
- kind: "date",
55
- settings,
56
- };
57
- } else if (filter.kind === "number") {
58
- const settings = getNumberFilterSettings(filter);
59
- return {
60
- ...filter,
61
- field: id,
62
- kind: "number",
63
- settings,
64
- };
65
- } else if (filter.kind === "string") {
66
- const settings = getStringFilterSettings(filter);
67
- return {
68
- ...filter,
69
- field: id,
70
- kind: "string",
71
- settings,
72
- };
73
- } else if (filter.kind === "in") {
74
- return {
75
- ...filter,
76
- field: id,
77
- };
78
- } else if (filter.kind === "combination") {
79
- return {
80
- ...filter,
81
- kind: "combination",
82
- filters: filter.filters.map((f) => createFilter(id, f)),
83
- };
84
- } else if (filter.kind === "func") {
85
- return filter;
86
- } else {
87
- throw new Error(`Invalid filter provided: ${JSON.stringify(filter)}`);
88
- }
36
+ if (filter.kind === "date") {
37
+ const settings = getDateFilterSettings(filter);
38
+ return {
39
+ ...filter,
40
+ field: id,
41
+ kind: "date",
42
+ settings,
43
+ };
44
+ }
45
+ else if (filter.kind === "number") {
46
+ const settings = getNumberFilterSettings(filter);
47
+ return {
48
+ ...filter,
49
+ field: id,
50
+ kind: "number",
51
+ settings,
52
+ };
53
+ }
54
+ else if (filter.kind === "string") {
55
+ const settings = getStringFilterSettings(filter);
56
+ return {
57
+ ...filter,
58
+ field: id,
59
+ kind: "string",
60
+ settings,
61
+ };
62
+ }
63
+ else if (filter.kind === "in") {
64
+ return {
65
+ ...filter,
66
+ field: id,
67
+ };
68
+ }
69
+ else if (filter.kind === "combination") {
70
+ return {
71
+ ...filter,
72
+ kind: "combination",
73
+ filters: filter.filters.map((f) => createFilter(id, f)),
74
+ };
75
+ }
76
+ else if (filter.kind === "func") {
77
+ return filter;
78
+ }
79
+ else {
80
+ throw new Error(`Invalid filter provided: ${JSON.stringify(filter)}`);
81
+ }
89
82
  }
90
83
  function evaluateFilter(row, grid, filter) {
91
- if (filter.kind === "date") {
92
- const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
93
- return evaluateDateFilter(filter, fieldValue, filter.settings);
94
- } else if (filter.kind === "string") {
95
- const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
96
- return evaluateStringFilter(filter, fieldValue, filter.settings);
97
- } else if (filter.kind === "number") {
98
- const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
99
- return evaluateNumberFilter(filter, fieldValue, filter.settings);
100
- } else if (filter.kind === "func") {
101
- return filter.func({ data: row, grid });
102
- } else if (filter.kind === "in") {
103
- const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
104
- return filter.operator === "in" ? filter.value.has(fieldValue) : !filter.value.has(fieldValue);
105
- } else {
106
- if (filter.operator === "AND") return filter.filters.every((f) => evaluateFilter(row, grid, f));
107
- else return filter.filters.some((f) => evaluateFilter(row, grid, f));
108
- }
84
+ if (filter.kind === "date") {
85
+ const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
86
+ return evaluateDateFilter(filter, fieldValue, filter.settings);
87
+ }
88
+ else if (filter.kind === "string") {
89
+ const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
90
+ return evaluateStringFilter(filter, fieldValue, filter.settings);
91
+ }
92
+ else if (filter.kind === "number") {
93
+ const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
94
+ return evaluateNumberFilter(filter, fieldValue, filter.settings);
95
+ }
96
+ else if (filter.kind === "func") {
97
+ return filter.func({ data: row, grid });
98
+ }
99
+ else if (filter.kind === "in") {
100
+ const fieldValue = grid.api.columnField(filter.field, { data: row, kind: "leaf" });
101
+ return filter.operator === "in" ? filter.value.has(fieldValue) : !filter.value.has(fieldValue);
102
+ }
103
+ else {
104
+ if (filter.operator === "AND")
105
+ return filter.filters.every((f) => evaluateFilter(row, grid, f));
106
+ else
107
+ return filter.filters.some((f) => evaluateFilter(row, grid, f));
108
+ }
109
109
  }
@@ -1,10 +1,6 @@
1
1
  import { type Column, type ColumnPivotModel } from "../../+types";
2
- export declare function createAggModel<T>(
3
- model: ColumnPivotModel<T>,
4
- columns: Column<T>[],
5
- separator: string,
6
- ): {
7
- [k: string]: {
8
- readonly fn: import("../../+types").AggModelFn<T>;
9
- };
2
+ export declare function createAggModel<T>(model: ColumnPivotModel<T>, columns: Column<T>[], separator: string): {
3
+ [k: string]: {
4
+ readonly fn: import("../../+types").AggModelFn<T>;
5
+ };
10
6
  };
@@ -1,12 +1,13 @@
1
1
  import {} from "../../+types";
2
2
  export function createAggModel(model, columns, separator) {
3
- const aggFunToId = new Map(model.values.map((c) => [c.field, c.aggFn]));
4
- const aggModel = columns
5
- .map((c) => {
6
- const aggId = c.id.split(separator).at(-1);
7
- if (!aggFunToId.has(aggId)) return null;
8
- return [c.id, { fn: aggFunToId.get(aggId) }];
3
+ const aggFunToId = new Map(model.values.map((c) => [c.field, c.aggFn]));
4
+ const aggModel = columns
5
+ .map((c) => {
6
+ const aggId = c.id.split(separator).at(-1);
7
+ if (!aggFunToId.has(aggId))
8
+ return null;
9
+ return [c.id, { fn: aggFunToId.get(aggId) }];
9
10
  })
10
- .filter((c) => !!c);
11
- return Object.fromEntries(aggModel);
11
+ .filter((c) => !!c);
12
+ return Object.fromEntries(aggModel);
12
13
  }
@@ -1,7 +1,2 @@
1
1
  import type { Column, ColumnPivotModel, Grid } from "../../+types.js";
2
- export declare function createColumnPivotsFromPaths<T>(
3
- grid: Grid<T>,
4
- columns: ColumnPivotModel<T>["columns"],
5
- lookup: Map<string, Column<T>>,
6
- paths: string[],
7
- ): Column<T>[];
2
+ export declare function createColumnPivotsFromPaths<T>(grid: Grid<T>, columns: ColumnPivotModel<T>["columns"], lookup: Map<string, Column<T>>, paths: string[]): Column<T>[];
@@ -1,46 +1,50 @@
1
1
  import { upperCaseFirstLetter } from "@1771technologies/lytenyte-js-utils";
2
2
  export function createColumnPivotsFromPaths(grid, columns, lookup, paths) {
3
- const separator = grid.state.columnGroupJoinDelimiter.get();
4
- const cols = paths.map((path) => {
5
- const parts = path.split(separator);
6
- const measureId = parts.at(-1);
7
- const measureCol = lookup.get(measureId);
8
- // Pop the last part as this is the aggregation value
9
- parts.pop();
10
- const pivots = parts.map((_, index) => {
11
- const id = columns[index].field;
12
- return lookup.get(id);
3
+ const separator = grid.state.columnGroupJoinDelimiter.get();
4
+ const cols = paths.map((path) => {
5
+ const parts = path.split(separator);
6
+ const measureId = parts.at(-1);
7
+ const measureCol = lookup.get(measureId);
8
+ // Pop the last part as this is the aggregation value
9
+ parts.pop();
10
+ const pivots = parts.map((_, index) => {
11
+ const id = columns[index].field;
12
+ return lookup.get(id);
13
+ });
14
+ const entries = [...pivots.entries()];
15
+ const isTotals = parts.length < columns.length;
16
+ const label = isTotals ? "Total" : parts.at(-1);
17
+ const groupPath = isTotals ? [] : parts.map(upperCaseFirstLetter);
18
+ const { pin: _, ...measureProps } = measureCol ?? {};
19
+ const newDefinitions = {
20
+ ...measureProps,
21
+ id: path,
22
+ name: label,
23
+ groupPath,
24
+ groupVisibility: "always",
25
+ field: ({ grid, data }) => {
26
+ if (!measureCol)
27
+ return null;
28
+ if (data.kind === "branch") {
29
+ return data.data[path];
30
+ }
31
+ if (!path.startsWith("total")) {
32
+ for (const [index, pivot] of entries) {
33
+ const key = parts[index];
34
+ if (key == null)
35
+ break;
36
+ const actual = grid.api.columnField(pivot, data);
37
+ if (key !== actual)
38
+ return null;
39
+ }
40
+ return grid.api.columnField(measureCol, data);
41
+ }
42
+ else {
43
+ return grid.api.columnField(measureCol, data);
44
+ }
45
+ },
46
+ };
47
+ return newDefinitions;
13
48
  });
14
- const entries = [...pivots.entries()];
15
- const isTotals = parts.length < columns.length;
16
- const label = isTotals ? "Total" : parts.at(-1);
17
- const groupPath = isTotals ? [] : parts.map(upperCaseFirstLetter);
18
- const { pin: _, ...measureProps } = measureCol ?? {};
19
- const newDefinitions = {
20
- ...measureProps,
21
- id: path,
22
- name: label,
23
- groupPath,
24
- groupVisibility: "always",
25
- field: ({ grid, data }) => {
26
- if (!measureCol) return null;
27
- if (data.kind === "branch") {
28
- return data.data[path];
29
- }
30
- if (!path.startsWith("total")) {
31
- for (const [index, pivot] of entries) {
32
- const key = parts[index];
33
- if (key == null) break;
34
- const actual = grid.api.columnField(pivot, data);
35
- if (key !== actual) return null;
36
- }
37
- return grid.api.columnField(measureCol, data);
38
- } else {
39
- return grid.api.columnField(measureCol, data);
40
- }
41
- },
42
- };
43
- return newDefinitions;
44
- });
45
- return cols;
49
+ return cols;
46
50
  }
@@ -1,7 +1,2 @@
1
1
  import type { Column, ColumnPivotModel, Grid, RowLeaf } from "../../+types";
2
- export declare function createPivotColumns<T>(
3
- model: ColumnPivotModel<T>,
4
- lookup: Map<string, Column<T>>,
5
- grid: Grid<T>,
6
- leafRows: RowLeaf<T>[],
7
- ): Column<T>[];
2
+ export declare function createPivotColumns<T>(model: ColumnPivotModel<T>, lookup: Map<string, Column<T>>, grid: Grid<T>, leafRows: RowLeaf<T>[]): Column<T>[];
@@ -1,21 +1,22 @@
1
1
  import { createColumnPivotsFromPaths } from "./create-pivot-columns-from-paths.js";
2
2
  import { createPivotTree } from "./create-pivot-tree.js";
3
3
  export function createPivotColumns(model, lookup, grid, leafRows) {
4
- const activeColumns = model.columns.filter((c) => lookup.has(c.field) && (c.active ?? true));
5
- const activeValues = model.values.filter((c) => lookup.has(c.field) && (c.active ?? true));
6
- if (activeColumns.length === 0 && activeValues.length === 0) return [];
7
- // This means we only have a values column defined. Hence we should just return this.
8
- if (activeColumns.length === 0) {
9
- const columns = activeValues.map((c) => {
10
- const col = lookup.get(c.field);
11
- return {
12
- ...col,
13
- field: c.field,
14
- };
15
- });
4
+ const activeColumns = model.columns.filter((c) => lookup.has(c.field) && (c.active ?? true));
5
+ const activeValues = model.values.filter((c) => lookup.has(c.field) && (c.active ?? true));
6
+ if (activeColumns.length === 0 && activeValues.length === 0)
7
+ return [];
8
+ // This means we only have a values column defined. Hence we should just return this.
9
+ if (activeColumns.length === 0) {
10
+ const columns = activeValues.map((c) => {
11
+ const col = lookup.get(c.field);
12
+ return {
13
+ ...col,
14
+ field: c.field,
15
+ };
16
+ });
17
+ return columns;
18
+ }
19
+ const tree = createPivotTree(grid, activeValues, activeColumns, lookup, leafRows);
20
+ const columns = createColumnPivotsFromPaths(grid, activeColumns, lookup, tree);
16
21
  return columns;
17
- }
18
- const tree = createPivotTree(grid, activeValues, activeColumns, lookup, leafRows);
19
- const columns = createColumnPivotsFromPaths(grid, activeColumns, lookup, tree);
20
- return columns;
21
22
  }
@@ -1,8 +1,2 @@
1
1
  import type { Column, ColumnPivotModel, Grid, RowLeaf } from "../../+types";
2
- export declare function createPivotTree<T>(
3
- grid: Grid<T>,
4
- values: ColumnPivotModel<T>["values"],
5
- columns: ColumnPivotModel<T>["columns"],
6
- lookup: Map<string, Column<T>>,
7
- leafRows: RowLeaf<T>[],
8
- ): string[];
2
+ export declare function createPivotTree<T>(grid: Grid<T>, values: ColumnPivotModel<T>["values"], columns: ColumnPivotModel<T>["columns"], lookup: Map<string, Column<T>>, leafRows: RowLeaf<T>[]): string[];