@1771technologies/lytenyte-pro 1.0.0-beta.1 → 1.0.0-beta.10

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 (396) hide show
  1. package/dist/+types.d.ts +4135 -3940
  2. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +1 -1
  3. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +39 -39
  4. package/dist/cell-selection/are-rects-equal.d.ts +1 -1
  5. package/dist/cell-selection/are-rects-equal.js +6 -4
  6. package/dist/cell-selection/bound-selection-rect.d.ts +1 -1
  7. package/dist/cell-selection/bound-selection-rect.js +14 -14
  8. package/dist/cell-selection/cell-selection-containers.js +108 -78
  9. package/dist/cell-selection/cell-selection-driver.js +250 -254
  10. package/dist/cell-selection/cell-style-row.d.ts +12 -6
  11. package/dist/cell-selection/cell-style-row.js +82 -79
  12. package/dist/cell-selection/deselect-rect-range.d.ts +1 -1
  13. package/dist/cell-selection/deselect-rect-range.js +42 -41
  14. package/dist/cell-selection/expand-cell-selection-down.d.ts +7 -4
  15. package/dist/cell-selection/expand-cell-selection-down.js +30 -34
  16. package/dist/cell-selection/expand-cell-selection-end.d.ts +7 -4
  17. package/dist/cell-selection/expand-cell-selection-end.js +31 -35
  18. package/dist/cell-selection/expand-cell-selection-start.d.ts +7 -4
  19. package/dist/cell-selection/expand-cell-selection-start.js +30 -34
  20. package/dist/cell-selection/expand-cell-selection-up.d.ts +7 -4
  21. package/dist/cell-selection/expand-cell-selection-up.js +30 -34
  22. package/dist/cell-selection/full-width-start-end-index.d.ts +1 -1
  23. package/dist/cell-selection/full-width-start-end-index.js +3 -3
  24. package/dist/cell-selection/get-root-cell.d.ts +6 -2
  25. package/dist/cell-selection/get-root-cell.js +79 -81
  26. package/dist/cell-selection/is-bottom-rect.d.ts +1 -1
  27. package/dist/cell-selection/is-bottom-rect.js +5 -5
  28. package/dist/cell-selection/is-center-col-rect.d.ts +6 -3
  29. package/dist/cell-selection/is-center-col-rect.js +5 -3
  30. package/dist/cell-selection/is-center-rect.d.ts +1 -1
  31. package/dist/cell-selection/is-center-rect.js +3 -3
  32. package/dist/cell-selection/is-end-rect.d.ts +6 -3
  33. package/dist/cell-selection/is-end-rect.js +2 -2
  34. package/dist/cell-selection/is-overlapping-rect.d.ts +1 -1
  35. package/dist/cell-selection/is-overlapping-rect.js +6 -4
  36. package/dist/cell-selection/is-start-rect.d.ts +6 -3
  37. package/dist/cell-selection/is-start-rect.js +2 -2
  38. package/dist/cell-selection/is-top-rect.d.ts +1 -1
  39. package/dist/cell-selection/is-top-rect.js +2 -2
  40. package/dist/cell-selection/is-within-selection-rect.d.ts +1 -1
  41. package/dist/cell-selection/is-within-selection-rect.js +1 -1
  42. package/dist/cell-selection/split-cell-selection-rect.d.ts +13 -7
  43. package/dist/cell-selection/split-cell-selection-rect.js +53 -47
  44. package/dist/cell-selection/update-additive-cell-selection.d.ts +7 -4
  45. package/dist/cell-selection/update-additive-cell-selection.js +22 -23
  46. package/dist/cell-selection/use-edge-scroll.d.ts +10 -8
  47. package/dist/cell-selection/use-edge-scroll.js +65 -63
  48. package/dist/cells/cell-default.d.ts +5 -1
  49. package/dist/cells/cell-default.js +5 -5
  50. package/dist/cells/cell-editor.d.ts +4 -2
  51. package/dist/cells/cell-editor.js +121 -86
  52. package/dist/cells/cell.d.ts +16 -3
  53. package/dist/cells/cell.js +55 -26
  54. package/dist/column-manager/branch-lookup-context.d.ts +3 -1
  55. package/dist/column-manager/branch.d.ts +12 -4
  56. package/dist/column-manager/branch.js +39 -29
  57. package/dist/column-manager/column-manager.d.ts +58 -9
  58. package/dist/column-manager/column-manager.js +9 -9
  59. package/dist/column-manager/context.d.ts +1 -1
  60. package/dist/column-manager/label.d.ts +10 -2
  61. package/dist/column-manager/label.js +11 -12
  62. package/dist/column-manager/leaf.d.ts +10 -2
  63. package/dist/column-manager/leaf.js +42 -32
  64. package/dist/column-manager/move-handle.d.ts +14 -6
  65. package/dist/column-manager/move-handle.js +54 -50
  66. package/dist/column-manager/root.d.ts +9 -3
  67. package/dist/column-manager/root.js +26 -13
  68. package/dist/column-manager/use-column-manager.d.ts +14 -14
  69. package/dist/column-manager/use-column-manager.js +21 -21
  70. package/dist/column-manager/use-columns-from-context.d.ts +2 -2
  71. package/dist/column-manager/use-columns-from-context.js +19 -19
  72. package/dist/column-manager/visibility-checkbox.d.ts +14 -6
  73. package/dist/column-manager/visibility-checkbox.js +36 -23
  74. package/dist/context.d.ts +4 -4
  75. package/dist/filter-tree/branch.d.ts +13 -5
  76. package/dist/filter-tree/branch.js +23 -13
  77. package/dist/filter-tree/context.d.ts +16 -16
  78. package/dist/filter-tree/filter-tree.d.ts +53 -12
  79. package/dist/filter-tree/filter-tree.js +16 -16
  80. package/dist/filter-tree/hooks/use-filter-tree.d.ts +35 -29
  81. package/dist/filter-tree/hooks/use-filter-tree.js +94 -92
  82. package/dist/filter-tree/hooks/use-tree-item.d.ts +6 -6
  83. package/dist/filter-tree/hooks/use-tree-item.js +101 -108
  84. package/dist/filter-tree/inclusion-checkbox.d.ts +14 -6
  85. package/dist/filter-tree/inclusion-checkbox.js +19 -9
  86. package/dist/filter-tree/label.d.ts +10 -2
  87. package/dist/filter-tree/label.js +11 -12
  88. package/dist/filter-tree/leaf.d.ts +10 -2
  89. package/dist/filter-tree/leaf.js +15 -5
  90. package/dist/filter-tree/root.d.ts +23 -7
  91. package/dist/filter-tree/root.js +51 -23
  92. package/dist/grid-box/+types.d.ts +10 -10
  93. package/dist/grid-box/context.d.ts +4 -4
  94. package/dist/grid-box/grid-box.d.ts +26 -6
  95. package/dist/grid-box/grid-box.js +6 -6
  96. package/dist/grid-box/item.d.ts +11 -3
  97. package/dist/grid-box/item.js +29 -26
  98. package/dist/grid-box/panel.d.ts +13 -1
  99. package/dist/grid-box/panel.js +9 -2
  100. package/dist/grid-box/root.d.ts +11 -5
  101. package/dist/grid-box/root.js +11 -2
  102. package/dist/grid-box/use-aggregation-box-items.d.ts +18 -15
  103. package/dist/grid-box/use-aggregation-box-items.js +54 -55
  104. package/dist/grid-box/use-column-box-items.d.ts +33 -23
  105. package/dist/grid-box/use-column-box-items.js +90 -78
  106. package/dist/grid-box/use-row-group-box-items.d.ts +19 -14
  107. package/dist/grid-box/use-row-group-box-items.js +116 -124
  108. package/dist/grid-provider/context.d.ts +6 -4
  109. package/dist/grid-provider/provider.d.ts +5 -3
  110. package/dist/grid-provider/provider.js +1 -1
  111. package/dist/grid-provider/use-grid.d.ts +2 -2
  112. package/dist/grid-provider/use-grid.js +1 -1
  113. package/dist/grid.d.ts +150 -25
  114. package/dist/grid.js +39 -25
  115. package/dist/header/header-cell.d.ts +13 -5
  116. package/dist/header/header-cell.js +41 -15
  117. package/dist/header/header-group-cell.d.ts +10 -2
  118. package/dist/header/header-group-cell.js +21 -6
  119. package/dist/header/header-row.d.ts +10 -2
  120. package/dist/header/header-row.js +2 -2
  121. package/dist/header/header.d.ts +10 -1
  122. package/dist/header/header.js +11 -2
  123. package/dist/header/resize-handler.d.ts +15 -6
  124. package/dist/header/resize-handler.js +128 -117
  125. package/dist/header/use-drag-move.d.ts +23 -12
  126. package/dist/header/use-drag-move.js +83 -87
  127. package/dist/header/use-header-cell-renderer.d.ts +9 -2
  128. package/dist/header/use-header-cell-renderer.js +24 -29
  129. package/dist/icons/index.d.ts +92 -0
  130. package/dist/icons/index.js +92 -0
  131. package/dist/index.d.ts +1 -0
  132. package/dist/index.js +1 -0
  133. package/dist/license.js +174 -174
  134. package/dist/listbox/context.d.ts +2 -2
  135. package/dist/listbox/item.d.ts +10 -1
  136. package/dist/listbox/item.js +23 -19
  137. package/dist/listbox/panel.d.ts +10 -1
  138. package/dist/listbox/panel.js +69 -43
  139. package/dist/listbox/root.d.ts +5 -3
  140. package/dist/listbox/root.js +7 -7
  141. package/dist/root/dialog-driver.js +22 -16
  142. package/dist/root/popover-driver.js +27 -16
  143. package/dist/root/root.d.ts +7 -3
  144. package/dist/root/root.js +111 -107
  145. package/dist/row-data-source-client/+types.d.ts +17 -17
  146. package/dist/row-data-source-client/built-ins/avg.js +3 -4
  147. package/dist/row-data-source-client/built-ins/built-ins.d.ts +17 -17
  148. package/dist/row-data-source-client/built-ins/built-ins.js +17 -17
  149. package/dist/row-data-source-client/built-ins/count.js +3 -5
  150. package/dist/row-data-source-client/built-ins/first.js +1 -1
  151. package/dist/row-data-source-client/built-ins/group.js +1 -1
  152. package/dist/row-data-source-client/built-ins/last.js +1 -1
  153. package/dist/row-data-source-client/built-ins/max.js +9 -13
  154. package/dist/row-data-source-client/built-ins/min.js +9 -13
  155. package/dist/row-data-source-client/built-ins/sum.js +8 -10
  156. package/dist/row-data-source-client/filter/+types.d.ts +35 -13
  157. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +16 -2
  158. package/dist/row-data-source-client/filter/compute-filtered-rows.js +102 -102
  159. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +8 -4
  160. package/dist/row-data-source-client/pivots/create-agg-model.js +8 -9
  161. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +6 -1
  162. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +42 -46
  163. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +6 -1
  164. package/dist/row-data-source-client/pivots/create-pivot-columns.js +18 -19
  165. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +7 -1
  166. package/dist/row-data-source-client/pivots/create-pivot-tree.js +19 -19
  167. package/dist/row-data-source-client/tree/client-tree.d.ts +19 -13
  168. package/dist/row-data-source-client/tree/client-tree.js +64 -67
  169. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +5 -2
  170. package/dist/row-data-source-client/tree/evaluator-aggregation.js +6 -6
  171. package/dist/row-data-source-client/tree/evaluator-group.d.ts +5 -2
  172. package/dist/row-data-source-client/tree/evaluator-group.js +6 -7
  173. package/dist/row-data-source-client/tree/traverse.d.ts +6 -2
  174. package/dist/row-data-source-client/tree/traverse.js +16 -19
  175. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +11 -7
  176. package/dist/row-data-source-client/use-client-data-source-paginated.js +528 -512
  177. package/dist/row-data-source-client/use-client-data-source.d.ts +11 -7
  178. package/dist/row-data-source-client/use-client-data-source.js +673 -639
  179. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +10 -6
  180. package/dist/row-data-source-client/use-client-tree-data-source.js +499 -489
  181. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +36 -33
  182. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +4 -1
  183. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +19 -23
  184. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +4 -1
  185. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +17 -25
  186. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +18 -18
  187. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +9 -10
  188. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +4 -1
  189. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +13 -14
  190. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +9 -10
  191. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +4 -1
  192. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +13 -13
  193. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +4 -1
  194. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +1 -1
  195. package/dist/row-data-source-server/async-tree/make-async-tree.js +17 -17
  196. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +3 -1
  197. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +6 -6
  198. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +5 -1
  199. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +11 -14
  200. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +4 -1
  201. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +42 -46
  202. package/dist/row-data-source-server/range-tree/range-tree.d.ts +28 -28
  203. package/dist/row-data-source-server/range-tree/range-tree.js +49 -48
  204. package/dist/row-data-source-server/use-server-data-source.d.ts +12 -3
  205. package/dist/row-data-source-server/use-server-data-source.js +667 -654
  206. package/dist/row-data-source-server/utils/get-node-depth.js +7 -7
  207. package/dist/row-data-source-server/utils/get-node-path.js +7 -7
  208. package/dist/row-data-source-server/utils/get-request-id.js +3 -4
  209. package/dist/rows/row/context.d.ts +2 -2
  210. package/dist/rows/row/row.d.ts +16 -3
  211. package/dist/rows/row/row.js +19 -4
  212. package/dist/rows/row/use-row-context-value.d.ts +5 -2
  213. package/dist/rows/row/use-row-context-value.js +23 -26
  214. package/dist/rows/row-detail-row.d.ts +4 -2
  215. package/dist/rows/row-detail-row.js +147 -124
  216. package/dist/rows/row-full-width.d.ts +12 -4
  217. package/dist/rows/row-full-width.js +35 -7
  218. package/dist/rows/rows-container.d.ts +10 -1
  219. package/dist/rows/rows-container.js +12 -3
  220. package/dist/rows/rows-sections.d.ts +30 -3
  221. package/dist/rows/rows-sections.js +42 -10
  222. package/dist/rows/scrollers/native-scroller.d.ts +3 -1
  223. package/dist/rows/scrollers/native-scroller.js +17 -13
  224. package/dist/sort-manager/+types.d.ts +14 -7
  225. package/dist/sort-manager/context.d.ts +7 -7
  226. package/dist/sort-manager/hooks/use-sort-manager.d.ts +10 -10
  227. package/dist/sort-manager/hooks/use-sort-manager.js +47 -51
  228. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +58 -47
  229. package/dist/sort-manager/hooks/use-sort-row-item.js +127 -132
  230. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +6 -3
  231. package/dist/sort-manager/hooks/use-sortable-column-items.js +10 -10
  232. package/dist/sort-manager/root.d.ts +7 -1
  233. package/dist/sort-manager/root.js +10 -10
  234. package/dist/sort-manager/sort-add.d.ts +13 -5
  235. package/dist/sort-manager/sort-add.js +8 -8
  236. package/dist/sort-manager/sort-apply.d.ts +12 -4
  237. package/dist/sort-manager/sort-apply.js +16 -16
  238. package/dist/sort-manager/sort-cancel.d.ts +12 -4
  239. package/dist/sort-manager/sort-cancel.js +19 -19
  240. package/dist/sort-manager/sort-clear.d.ts +12 -4
  241. package/dist/sort-manager/sort-clear.js +15 -16
  242. package/dist/sort-manager/sort-column-select.d.ts +14 -6
  243. package/dist/sort-manager/sort-column-select.js +26 -15
  244. package/dist/sort-manager/sort-direction-select.d.ts +14 -6
  245. package/dist/sort-manager/sort-direction-select.js +27 -19
  246. package/dist/sort-manager/sort-manager.d.ts +93 -12
  247. package/dist/sort-manager/sort-manager.js +12 -12
  248. package/dist/sort-manager/sort-remove.d.ts +12 -4
  249. package/dist/sort-manager/sort-remove.js +8 -8
  250. package/dist/sort-manager/sort-row.d.ts +10 -2
  251. package/dist/sort-manager/sort-row.js +4 -1
  252. package/dist/sort-manager/sort-rows.d.ts +10 -1
  253. package/dist/sort-manager/sort-rows.js +1 -1
  254. package/dist/sort-manager/sort-value-select.d.ts +15 -7
  255. package/dist/sort-manager/sort-value-select.js +28 -19
  256. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +5 -2
  257. package/dist/sort-manager/utils/sort-item-to-sort-model.js +46 -49
  258. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +5 -2
  259. package/dist/sort-manager/utils/sort-model-to-sort-items.js +36 -44
  260. package/dist/state/+types.d.ts +41 -28
  261. package/dist/state/api/column-autosize.d.ts +5 -3
  262. package/dist/state/api/column-autosize.js +63 -64
  263. package/dist/state/api/column-by-id.js +4 -4
  264. package/dist/state/api/column-field.js +17 -20
  265. package/dist/state/api/column-from-index.js +4 -4
  266. package/dist/state/api/column-group-toggle.js +8 -8
  267. package/dist/state/api/column-index.js +5 -5
  268. package/dist/state/api/column-move.js +49 -47
  269. package/dist/state/api/column-resize.js +9 -7
  270. package/dist/state/api/column-update.js +11 -11
  271. package/dist/state/api/dialog-frame.d.ts +9 -5
  272. package/dist/state/api/dialog-frame.js +11 -12
  273. package/dist/state/api/edit-begin.d.ts +5 -3
  274. package/dist/state/api/edit-begin.js +72 -85
  275. package/dist/state/api/edit-end.d.ts +5 -3
  276. package/dist/state/api/edit-end.js +38 -41
  277. package/dist/state/api/edit-is-cell-active.d.ts +5 -3
  278. package/dist/state/api/edit-is-cell-active.js +17 -24
  279. package/dist/state/api/edit-update.d.ts +5 -3
  280. package/dist/state/api/edit-update.js +75 -86
  281. package/dist/state/api/event-listeners.d.ts +12 -3
  282. package/dist/state/api/event-listeners.js +16 -17
  283. package/dist/state/api/export-csv.js +34 -36
  284. package/dist/state/api/export-data-rect.js +22 -22
  285. package/dist/state/api/focus-cell.d.ts +5 -3
  286. package/dist/state/api/focus-cell.js +110 -109
  287. package/dist/state/api/popover-frame.d.ts +10 -6
  288. package/dist/state/api/popover-frame.js +11 -12
  289. package/dist/state/api/position-from-element.js +5 -6
  290. package/dist/state/api/row-by-id.js +3 -3
  291. package/dist/state/api/row-by-index.js +11 -6
  292. package/dist/state/api/row-detail-is-expanded.d.ts +3 -1
  293. package/dist/state/api/row-detail-is-expanded.js +4 -4
  294. package/dist/state/api/row-detail-rendered-height.d.ts +6 -4
  295. package/dist/state/api/row-detail-rendered-height.js +10 -12
  296. package/dist/state/api/row-detail-toggle.js +26 -30
  297. package/dist/state/api/row-group-apply-expansions.d.ts +3 -1
  298. package/dist/state/api/row-group-apply-expansions.js +15 -17
  299. package/dist/state/api/row-group-column-index.d.ts +3 -1
  300. package/dist/state/api/row-group-column-index.js +14 -12
  301. package/dist/state/api/row-group-is-expanded.d.ts +3 -1
  302. package/dist/state/api/row-group-is-expanded.js +11 -13
  303. package/dist/state/api/row-group-toggle.js +5 -5
  304. package/dist/state/api/row-handle-select.d.ts +4 -2
  305. package/dist/state/api/row-handle-select.js +36 -40
  306. package/dist/state/api/row-select-all.js +14 -15
  307. package/dist/state/api/row-select.d.ts +4 -2
  308. package/dist/state/api/row-select.js +30 -33
  309. package/dist/state/api/row-selected.js +10 -11
  310. package/dist/state/api/scroll-into-view.d.ts +4 -2
  311. package/dist/state/api/scroll-into-view.js +47 -47
  312. package/dist/state/api/sort-for-column.js +6 -7
  313. package/dist/state/api/use-row-drag.js +22 -24
  314. package/dist/state/helpers/cell-row-group.d.ts +5 -1
  315. package/dist/state/helpers/cell-row-group.js +18 -16
  316. package/dist/state/helpers/column-add-row-group.d.ts +16 -6
  317. package/dist/state/helpers/column-add-row-group.js +63 -58
  318. package/dist/state/helpers/column-layout.d.ts +7 -1
  319. package/dist/state/helpers/column-layout.js +60 -60
  320. package/dist/state/helpers/column-marker.d.ts +8 -4
  321. package/dist/state/helpers/column-marker.js +38 -34
  322. package/dist/state/helpers/column-view.d.ts +21 -15
  323. package/dist/state/helpers/column-view.js +56 -32
  324. package/dist/state/helpers/edit-on-change.d.ts +18 -10
  325. package/dist/state/helpers/edit-on-change.js +24 -24
  326. package/dist/state/helpers/empty-row-data-source.js +15 -15
  327. package/dist/state/helpers/get-data-rect.d.ts +20 -10
  328. package/dist/state/helpers/get-data-rect.js +67 -62
  329. package/dist/state/helpers/get-full-width-callback.d.ts +5 -1
  330. package/dist/state/helpers/get-full-width-callback.js +5 -6
  331. package/dist/state/helpers/get-span-callback.d.ts +6 -1
  332. package/dist/state/helpers/get-span-callback.js +15 -18
  333. package/dist/state/helpers/resolve-column.d.ts +6 -2
  334. package/dist/state/helpers/resolve-column.js +18 -18
  335. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +15 -12
  336. package/dist/state/helpers/row-layout/get-focus-criteria.js +57 -56
  337. package/dist/state/helpers/row-layout/row-layout.d.ts +15 -9
  338. package/dist/state/helpers/row-layout/row-layout.js +387 -401
  339. package/dist/state/use-lytenyte.js +556 -516
  340. package/dist/tree-view/branch/branch.d.ts +16 -8
  341. package/dist/tree-view/branch/branch.js +104 -52
  342. package/dist/tree-view/branch/use-branch-keys.d.ts +5 -1
  343. package/dist/tree-view/branch/use-branch-keys.js +71 -74
  344. package/dist/tree-view/context.d.ts +21 -17
  345. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +6 -1
  346. package/dist/tree-view/hooks/use-tree-view-paths.js +5 -5
  347. package/dist/tree-view/index.d.ts +35 -7
  348. package/dist/tree-view/index.js +7 -7
  349. package/dist/tree-view/leaf.d.ts +10 -2
  350. package/dist/tree-view/leaf.js +29 -20
  351. package/dist/tree-view/navigation/get-all-ids.js +3 -3
  352. package/dist/tree-view/navigation/get-first-node.js +3 -3
  353. package/dist/tree-view/navigation/get-last-node.js +3 -3
  354. package/dist/tree-view/navigation/get-next-node.js +6 -8
  355. package/dist/tree-view/navigation/get-prev-node.js +6 -8
  356. package/dist/tree-view/panel/make-handle-navigation.js +23 -31
  357. package/dist/tree-view/panel/make-handle-selection.js +68 -77
  358. package/dist/tree-view/panel/make-handle-typeahead.js +34 -40
  359. package/dist/tree-view/panel/panel.d.ts +10 -1
  360. package/dist/tree-view/panel/panel.js +40 -20
  361. package/dist/tree-view/panel/use-tree-navigation.js +64 -52
  362. package/dist/tree-view/root.d.ts +20 -14
  363. package/dist/tree-view/root.js +53 -55
  364. package/dist/tree-view/utils/get-focusable-nodes.js +4 -2
  365. package/dist/tree-view/utils/get-focused-node.js +11 -11
  366. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +5 -1
  367. package/dist/tree-view/utils/get-ids-between-nodes.js +10 -11
  368. package/dist/tree-view/utils/get-panel.js +5 -5
  369. package/dist/tree-view/utils/get-parent-node.js +6 -7
  370. package/dist/tree-view/utils/get-sibling-branches.js +8 -10
  371. package/dist/tree-view/utils/get-tree-node-id.js +1 -1
  372. package/dist/tree-view/utils/is-branch-node.js +1 -1
  373. package/dist/tree-view/utils/is-leaf-node.js +1 -1
  374. package/dist/tree-view/utils/is-tree-node-disabled.js +1 -1
  375. package/dist/tree-view/utils/select-node.d.ts +5 -1
  376. package/dist/tree-view/utils/select-node.js +8 -11
  377. package/dist/tree-view/utils/toggle-all-selections.js +4 -6
  378. package/dist/tree-view/utils/toggle-selection.js +15 -18
  379. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +3 -1
  380. package/dist/tree-view/virtualized/force-sync-scrolling.js +24 -18
  381. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +3 -1
  382. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +11 -12
  383. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +26 -21
  384. package/dist/tree-view/virtualized/make-virtual-tree.js +79 -85
  385. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +17 -8
  386. package/dist/tree-view/virtualized/use-flattened-tree.js +30 -31
  387. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +6 -1
  388. package/dist/tree-view/virtualized/use-row-start-and-end.js +21 -23
  389. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +21 -15
  390. package/dist/tree-view/virtualized/use-virtualized-tree.js +103 -90
  391. package/dist/utils/cycle-sorts.js +12 -14
  392. package/dist/viewport/begin-editing.d.ts +6 -2
  393. package/dist/viewport/begin-editing.js +9 -13
  394. package/dist/viewport/viewport.d.ts +10 -1
  395. package/dist/viewport/viewport.js +93 -70
  396. package/package.json +15 -9
@@ -1,10 +1,18 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  import type { Option } from "./+types";
3
3
  export interface SortDirectionSelectProps {
4
- readonly slot?: SlotComponent<{
5
- options: Option[];
6
- onSelect: (v: Option | null) => void;
7
- value: Option | null;
8
- }>;
4
+ readonly slot?: SlotComponent<{
5
+ options: Option[];
6
+ onSelect: (v: Option | null) => void;
7
+ value: Option | null;
8
+ }>;
9
9
  }
10
- export declare const SortDirectionSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & SortDirectionSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
10
+ export declare const SortDirectionSelect: import("react").ForwardRefExoticComponent<
11
+ Omit<
12
+ import("react").ClassAttributes<HTMLDivElement> &
13
+ import("react").HTMLAttributes<HTMLDivElement> &
14
+ SortDirectionSelectProps,
15
+ "ref"
16
+ > &
17
+ import("react").RefAttributes<HTMLSelectElement>
18
+ >;
@@ -2,23 +2,31 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useSlot } from "@1771technologies/lytenyte-react-hooks";
3
3
  import { forwardRef } from "react";
4
4
  import { useSortRowCtx } from "./context";
5
- export const SortDirectionSelect = forwardRef(function SortDirectionSelect({ slot, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const el = (_jsx("select", { "aria-label": "Select sort direction", value: row.sortDirectionSelected?.value ?? "", onChange: (e) => {
8
- const item = row.sortDirectionOptions.find((c) => c.value === e.target.value);
9
- row.sortDirectionOnSelect(item ?? null);
10
- }, children: row.sortDirectionOptions.map((c) => {
11
- return (_jsx("option", { value: c.value, children: c.label }, c.value));
12
- }) }));
13
- const renderer = useSlot({
14
- props: [props],
15
- ref: forwarded,
16
- slot: slot ?? el,
17
- state: {
18
- options: row.sortDirectionOptions,
19
- onSelect: row.sortDirectionOnSelect,
20
- value: row.sortDirectionSelected,
21
- },
22
- });
23
- return renderer;
5
+ export const SortDirectionSelect = forwardRef(function SortDirectionSelect(
6
+ { slot, ...props },
7
+ forwarded,
8
+ ) {
9
+ const row = useSortRowCtx();
10
+ const el = _jsx("select", {
11
+ "aria-label": "Select sort direction",
12
+ value: row.sortDirectionSelected?.value ?? "",
13
+ onChange: (e) => {
14
+ const item = row.sortDirectionOptions.find((c) => c.value === e.target.value);
15
+ row.sortDirectionOnSelect(item ?? null);
16
+ },
17
+ children: row.sortDirectionOptions.map((c) => {
18
+ return _jsx("option", { value: c.value, children: c.label }, c.value);
19
+ }),
20
+ });
21
+ const renderer = useSlot({
22
+ props: [props],
23
+ ref: forwarded,
24
+ slot: slot ?? el,
25
+ state: {
26
+ options: row.sortDirectionOptions,
27
+ onSelect: row.sortDirectionOnSelect,
28
+ value: row.sortDirectionSelected,
29
+ },
30
+ });
31
+ return renderer;
24
32
  });
@@ -1,16 +1,97 @@
1
1
  import { Root } from "./root";
2
2
  import { useSortManager } from "./hooks/use-sort-manager";
3
3
  export declare const SortManager: {
4
- Root: typeof Root;
5
- Row: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & import("./sort-row").SortRowProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
- Rows: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
- ColumnSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & import("./sort-column-select").SortColumnSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
8
- ValueSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & import("./sort-value-select").SortValueSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
9
- DirectionSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & import("./sort-direction-select").SortDirectionSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
10
- Add: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("./sort-add").SortAddProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
- Remove: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("./sort-remove").SortRemoveProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
- Cancel: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("./sort-cancel").SortCancelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
- Clear: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("./sort-clear").SortClearProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
- Apply: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("./sort-apply").SortApplyProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
- useSortManager: typeof useSortManager;
4
+ Root: typeof Root;
5
+ Row: import("react").ForwardRefExoticComponent<
6
+ Omit<
7
+ import("react").ClassAttributes<HTMLDivElement> &
8
+ import("react").HTMLAttributes<HTMLDivElement> &
9
+ import("./sort-row").SortRowProps,
10
+ "ref"
11
+ > &
12
+ import("react").RefAttributes<HTMLDivElement>
13
+ >;
14
+ Rows: import("react").ForwardRefExoticComponent<
15
+ Omit<
16
+ import("react").DetailedHTMLProps<
17
+ import("react").HTMLAttributes<HTMLDivElement>,
18
+ HTMLDivElement
19
+ >,
20
+ "ref"
21
+ > &
22
+ import("react").RefAttributes<HTMLDivElement>
23
+ >;
24
+ ColumnSelect: import("react").ForwardRefExoticComponent<
25
+ Omit<
26
+ import("react").ClassAttributes<HTMLDivElement> &
27
+ import("react").HTMLAttributes<HTMLDivElement> &
28
+ import("./sort-column-select").SortColumnSelectProps,
29
+ "ref"
30
+ > &
31
+ import("react").RefAttributes<HTMLSelectElement>
32
+ >;
33
+ ValueSelect: import("react").ForwardRefExoticComponent<
34
+ Omit<
35
+ import("react").ClassAttributes<HTMLDivElement> &
36
+ import("react").HTMLAttributes<HTMLDivElement> &
37
+ import("./sort-value-select").SortValueSelectProps,
38
+ "ref"
39
+ > &
40
+ import("react").RefAttributes<HTMLSelectElement>
41
+ >;
42
+ DirectionSelect: import("react").ForwardRefExoticComponent<
43
+ Omit<
44
+ import("react").ClassAttributes<HTMLDivElement> &
45
+ import("react").HTMLAttributes<HTMLDivElement> &
46
+ import("./sort-direction-select").SortDirectionSelectProps,
47
+ "ref"
48
+ > &
49
+ import("react").RefAttributes<HTMLSelectElement>
50
+ >;
51
+ Add: import("react").ForwardRefExoticComponent<
52
+ Omit<
53
+ import("react").ClassAttributes<HTMLButtonElement> &
54
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
55
+ import("./sort-add").SortAddProps,
56
+ "ref"
57
+ > &
58
+ import("react").RefAttributes<HTMLDivElement>
59
+ >;
60
+ Remove: import("react").ForwardRefExoticComponent<
61
+ Omit<
62
+ import("react").ClassAttributes<HTMLButtonElement> &
63
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
64
+ import("./sort-remove").SortRemoveProps,
65
+ "ref"
66
+ > &
67
+ import("react").RefAttributes<HTMLDivElement>
68
+ >;
69
+ Cancel: import("react").ForwardRefExoticComponent<
70
+ Omit<
71
+ import("react").ClassAttributes<HTMLButtonElement> &
72
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
73
+ import("./sort-cancel").SortCancelProps,
74
+ "ref"
75
+ > &
76
+ import("react").RefAttributes<HTMLDivElement>
77
+ >;
78
+ Clear: import("react").ForwardRefExoticComponent<
79
+ Omit<
80
+ import("react").ClassAttributes<HTMLButtonElement> &
81
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
82
+ import("./sort-clear").SortClearProps,
83
+ "ref"
84
+ > &
85
+ import("react").RefAttributes<HTMLDivElement>
86
+ >;
87
+ Apply: import("react").ForwardRefExoticComponent<
88
+ Omit<
89
+ import("react").ClassAttributes<HTMLButtonElement> &
90
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
91
+ import("./sort-apply").SortApplyProps,
92
+ "ref"
93
+ > &
94
+ import("react").RefAttributes<HTMLDivElement>
95
+ >;
96
+ useSortManager: typeof useSortManager;
16
97
  };
@@ -11,16 +11,16 @@ import { SortCancel } from "./sort-cancel";
11
11
  import { SortClear } from "./sort-clear";
12
12
  import { SortApply } from "./sort-apply";
13
13
  export const SortManager = {
14
- Root,
15
- Row: SortRow,
16
- Rows: SortRows,
17
- ColumnSelect: SortColumnSelect,
18
- ValueSelect: SortValueSelect,
19
- DirectionSelect: SortDirectionSelect,
20
- Add: SortAdd,
21
- Remove: SortRemove,
22
- Cancel: SortCancel,
23
- Clear: SortClear,
24
- Apply: SortApply,
25
- useSortManager,
14
+ Root,
15
+ Row: SortRow,
16
+ Rows: SortRows,
17
+ ColumnSelect: SortColumnSelect,
18
+ ValueSelect: SortValueSelect,
19
+ DirectionSelect: SortDirectionSelect,
20
+ Add: SortAdd,
21
+ Remove: SortRemove,
22
+ Cancel: SortCancel,
23
+ Clear: SortClear,
24
+ Apply: SortApply,
25
+ useSortManager,
26
26
  };
@@ -1,7 +1,15 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  export interface SortRemoveProps {
3
- readonly slot?: SlotComponent<{
4
- onRemove: () => void;
5
- }>;
3
+ readonly slot?: SlotComponent<{
4
+ onRemove: () => void;
5
+ }>;
6
6
  }
7
- export declare const SortRemove: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & SortRemoveProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ export declare const SortRemove: import("react").ForwardRefExoticComponent<
8
+ Omit<
9
+ import("react").ClassAttributes<HTMLButtonElement> &
10
+ import("react").ButtonHTMLAttributes<HTMLButtonElement> &
11
+ SortRemoveProps,
12
+ "ref"
13
+ > &
14
+ import("react").RefAttributes<HTMLDivElement>
15
+ >;
@@ -3,12 +3,12 @@ import { useSlot } from "@1771technologies/lytenyte-react-hooks";
3
3
  import { forwardRef } from "react";
4
4
  import { useSortRowCtx } from "./context";
5
5
  export const SortRemove = forwardRef(function SortRemove({ slot, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const renderer = useSlot({
8
- props: [props],
9
- ref: forwarded,
10
- slot: slot ?? _jsx("button", { onClick: row.onDelete, children: "x" }),
11
- state: { onAdd: row.onDelete },
12
- });
13
- return renderer;
6
+ const row = useSortRowCtx();
7
+ const renderer = useSlot({
8
+ props: [props],
9
+ ref: forwarded,
10
+ slot: slot ?? _jsx("button", { onClick: row.onDelete, children: "x" }),
11
+ state: { onAdd: row.onDelete },
12
+ });
13
+ return renderer;
14
14
  });
@@ -1,5 +1,13 @@
1
1
  import type { SortRowItem } from "./hooks/use-sort-row-item";
2
2
  export interface SortRowProps {
3
- readonly row: SortRowItem;
3
+ readonly row: SortRowItem;
4
4
  }
5
- export declare const SortRow: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & SortRowProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ export declare const SortRow: import("react").ForwardRefExoticComponent<
6
+ Omit<
7
+ import("react").ClassAttributes<HTMLDivElement> &
8
+ import("react").HTMLAttributes<HTMLDivElement> &
9
+ SortRowProps,
10
+ "ref"
11
+ > &
12
+ import("react").RefAttributes<HTMLDivElement>
13
+ >;
@@ -3,5 +3,8 @@ import { forwardRef } from "react";
3
3
  import { Item } from "../listbox/item";
4
4
  import { rowContext } from "./context";
5
5
  export const SortRow = forwardRef(function SortRow({ row, ...props }, forwarded) {
6
- return (_jsx(rowContext.Provider, { value: row, children: _jsx(Item, { ...props, ref: forwarded }) }));
6
+ return _jsx(rowContext.Provider, {
7
+ value: row,
8
+ children: _jsx(Item, { ...props, ref: forwarded }),
9
+ });
7
10
  });
@@ -1 +1,10 @@
1
- export declare const SortRows: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
1
+ export declare const SortRows: import("react").ForwardRefExoticComponent<
2
+ Omit<
3
+ import("react").DetailedHTMLProps<
4
+ import("react").HTMLAttributes<HTMLDivElement>,
5
+ HTMLDivElement
6
+ >,
7
+ "ref"
8
+ > &
9
+ import("react").RefAttributes<HTMLDivElement>
10
+ >;
@@ -2,5 +2,5 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { Panel } from "../listbox/panel";
4
4
  export const SortRows = forwardRef(function SortRows(props, forwarded) {
5
- return _jsx(Panel, { ...props, ref: forwarded });
5
+ return _jsx(Panel, { ...props, ref: forwarded });
6
6
  });
@@ -1,11 +1,19 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  import type { Option } from "./+types";
3
3
  export interface SortValueSelectProps {
4
- readonly slot?: SlotComponent<{
5
- options: Option[];
6
- onSelect: (v: Option | null) => void;
7
- value: Option | null;
8
- disabled: boolean;
9
- }>;
4
+ readonly slot?: SlotComponent<{
5
+ options: Option[];
6
+ onSelect: (v: Option | null) => void;
7
+ value: Option | null;
8
+ disabled: boolean;
9
+ }>;
10
10
  }
11
- export declare const SortValueSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & SortValueSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
11
+ export declare const SortValueSelect: import("react").ForwardRefExoticComponent<
12
+ Omit<
13
+ import("react").ClassAttributes<HTMLDivElement> &
14
+ import("react").HTMLAttributes<HTMLDivElement> &
15
+ SortValueSelectProps,
16
+ "ref"
17
+ > &
18
+ import("react").RefAttributes<HTMLSelectElement>
19
+ >;
@@ -3,23 +3,32 @@ import { useSlot } from "@1771technologies/lytenyte-react-hooks";
3
3
  import { forwardRef } from "react";
4
4
  import { useSortRowCtx } from "./context";
5
5
  export const SortValueSelect = forwardRef(function SortValueSelect({ slot, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const el = (_jsxs("select", { "aria-label": "Select sort value", value: row.sortSelected?.value ?? "", onChange: (e) => {
8
- const item = row.sortOptions.find((c) => c.value === e.target.value);
9
- row.sortOnSelect(item ?? null);
10
- }, disabled: !row.sortOptions.length, children: [_jsx("option", { value: "", children: "Select..." }), row.sortOptions.map((c) => {
11
- return (_jsx("option", { value: c.value, children: c.label }, c.value));
12
- })] }));
13
- const renderer = useSlot({
14
- props: [props],
15
- ref: forwarded,
16
- slot: slot ?? el,
17
- state: {
18
- options: row.sortOptions,
19
- value: row.sortSelected,
20
- onSelect: row.sortOnSelect,
21
- disabled: !row.sortOptions.length,
22
- },
23
- });
24
- return renderer;
6
+ const row = useSortRowCtx();
7
+ const el = _jsxs("select", {
8
+ "aria-label": "Select sort value",
9
+ value: row.sortSelected?.value ?? "",
10
+ onChange: (e) => {
11
+ const item = row.sortOptions.find((c) => c.value === e.target.value);
12
+ row.sortOnSelect(item ?? null);
13
+ },
14
+ disabled: !row.sortOptions.length,
15
+ children: [
16
+ _jsx("option", { value: "", children: "Select..." }),
17
+ row.sortOptions.map((c) => {
18
+ return _jsx("option", { value: c.value, children: c.label }, c.value);
19
+ }),
20
+ ],
21
+ });
22
+ const renderer = useSlot({
23
+ props: [props],
24
+ ref: forwarded,
25
+ slot: slot ?? el,
26
+ state: {
27
+ options: row.sortOptions,
28
+ value: row.sortSelected,
29
+ onSelect: row.sortOnSelect,
30
+ disabled: !row.sortOptions.length,
31
+ },
32
+ });
33
+ return renderer;
25
34
  });
@@ -1,3 +1,6 @@
1
- import type { SortItem } from "../+types";
1
+ import type { SortItem } from "../+types.js";
2
2
  import type { Column, SortModelItem } from "../../+types";
3
- export declare function sortItemsToSortModel(sortItems: SortItem[], lookup: Map<string, Column<any>>): SortModelItem<any>[];
3
+ export declare function sortItemsToSortModel(
4
+ sortItems: SortItem[],
5
+ lookup: Map<string, Column<any>>,
6
+ ): SortModelItem<any>[];
@@ -1,57 +1,54 @@
1
1
  export function sortItemsToSortModel(sortItems, lookup) {
2
- return sortItems
3
- .filter((c) => {
4
- if (!c.columnId)
5
- return false;
6
- if (!c.sortOn)
7
- return false;
8
- if (!lookup.has(c.columnId))
9
- return false;
10
- return true;
2
+ return sortItems
3
+ .filter((c) => {
4
+ if (!c.columnId) return false;
5
+ if (!c.sortOn) return false;
6
+ if (!lookup.has(c.columnId)) return false;
7
+ return true;
11
8
  })
12
- .map((c) => {
13
- const col = lookup.get(c.columnId);
14
- if (col.type === "number") {
15
- return {
16
- columnId: col.id,
17
- isDescending: c.sortDirection === "descending",
18
- sort: {
19
- columnId: col.id,
20
- kind: "number",
21
- options: {
22
- absoluteValue: c.sortOn.includes("absolute"),
23
- nullsFirst: c.sortOn.includes("nulls_first"),
24
- },
25
- },
26
- };
27
- }
28
- if (col.type === "date" || col.type === "datetime") {
29
- return {
30
- columnId: col.id,
31
- isDescending: c.sortDirection === "descending",
32
- sort: {
33
- columnId: col.id,
34
- kind: "date",
35
- options: {
36
- includeTime: col.type === "datetime",
37
- nullsFirst: c.sortOn.includes("nulls_first"),
38
- },
39
- },
40
- };
41
- }
9
+ .map((c) => {
10
+ const col = lookup.get(c.columnId);
11
+ if (col.type === "number") {
42
12
  return {
13
+ columnId: col.id,
14
+ isDescending: c.sortDirection === "descending",
15
+ sort: {
43
16
  columnId: col.id,
44
- isDescending: c.sortDirection === "descending",
45
- sort: {
46
- columnId: col.id,
47
- kind: "string",
48
- options: {
49
- caseInsensitive: c.sortOn?.includes("insensitive"),
50
- ignorePunctuation: c.sortOn?.includes("ignore"),
51
- nullsFirst: c.sortOn?.includes("nulls_first"),
52
- trimWhitespace: c.sortOn?.includes("trim"),
53
- },
17
+ kind: "number",
18
+ options: {
19
+ absoluteValue: c.sortOn.includes("absolute"),
20
+ nullsFirst: c.sortOn.includes("nulls_first"),
54
21
  },
22
+ },
55
23
  };
24
+ }
25
+ if (col.type === "date" || col.type === "datetime") {
26
+ return {
27
+ columnId: col.id,
28
+ isDescending: c.sortDirection === "descending",
29
+ sort: {
30
+ columnId: col.id,
31
+ kind: "date",
32
+ options: {
33
+ includeTime: col.type === "datetime",
34
+ nullsFirst: c.sortOn.includes("nulls_first"),
35
+ },
36
+ },
37
+ };
38
+ }
39
+ return {
40
+ columnId: col.id,
41
+ isDescending: c.sortDirection === "descending",
42
+ sort: {
43
+ columnId: col.id,
44
+ kind: "string",
45
+ options: {
46
+ caseInsensitive: c.sortOn?.includes("insensitive"),
47
+ ignorePunctuation: c.sortOn?.includes("ignore"),
48
+ nullsFirst: c.sortOn?.includes("nulls_first"),
49
+ trimWhitespace: c.sortOn?.includes("trim"),
50
+ },
51
+ },
52
+ };
56
53
  });
57
54
  }
@@ -1,3 +1,6 @@
1
1
  import type { Column, SortModelItem } from "../../+types";
2
- import type { SortItem } from "../+types";
3
- export declare function sortModelToSortItems<T>(items: SortModelItem<T>[], lookup: Map<string, Column<T>>): SortItem[];
2
+ import type { SortItem } from "../+types.js";
3
+ export declare function sortModelToSortItems<T>(
4
+ items: SortModelItem<T>[],
5
+ lookup: Map<string, Column<T>>,
6
+ ): SortItem[];
@@ -1,49 +1,41 @@
1
1
  export function sortModelToSortItems(items, lookup) {
2
- return items
3
- .map((c) => {
4
- const columnId = c.columnId;
5
- const sortDirection = c.isDescending ? "descending" : "ascending";
6
- if (c.sort.kind === "custom") {
7
- return {
8
- isCustom: true,
9
- sortDirection,
10
- columnId: c.columnId ?? undefined,
11
- };
12
- }
13
- const column = lookup.get(columnId);
14
- if (!column)
15
- return;
16
- let value = "values";
17
- if (c.sort.kind === "string") {
18
- const opts = c.sort.options;
19
- if (opts?.nullsFirst)
20
- value += "_nulls_first";
21
- if (opts?.caseInsensitive)
22
- value += "_insensitive";
23
- if (opts?.ignorePunctuation)
24
- value += "_ignore";
25
- if (opts?.trimWhitespace)
26
- value += "trim";
27
- }
28
- if (c.sort.kind === "number") {
29
- const opts = c.sort.options;
30
- if (opts?.nullsFirst)
31
- value += "_nulls_first";
32
- if (opts?.absoluteValue)
33
- value += "_absolute";
34
- }
35
- if (c.sort.kind === "date") {
36
- const opts = c.sort.options;
37
- if (opts?.nullsFirst)
38
- value += "_nulls_first";
39
- }
2
+ return items
3
+ .map((c) => {
4
+ const columnId = c.columnId;
5
+ const sortDirection = c.isDescending ? "descending" : "ascending";
6
+ if (c.sort.kind === "custom") {
40
7
  return {
41
- isCustom: false,
42
- columnId,
43
- sortDirection,
44
- label: column?.name ?? column?.id,
45
- sortOn: value,
8
+ isCustom: true,
9
+ sortDirection,
10
+ columnId: c.columnId ?? undefined,
46
11
  };
12
+ }
13
+ const column = lookup.get(columnId);
14
+ if (!column) return;
15
+ let value = "values";
16
+ if (c.sort.kind === "string") {
17
+ const opts = c.sort.options;
18
+ if (opts?.nullsFirst) value += "_nulls_first";
19
+ if (opts?.caseInsensitive) value += "_insensitive";
20
+ if (opts?.ignorePunctuation) value += "_ignore";
21
+ if (opts?.trimWhitespace) value += "trim";
22
+ }
23
+ if (c.sort.kind === "number") {
24
+ const opts = c.sort.options;
25
+ if (opts?.nullsFirst) value += "_nulls_first";
26
+ if (opts?.absoluteValue) value += "_absolute";
27
+ }
28
+ if (c.sort.kind === "date") {
29
+ const opts = c.sort.options;
30
+ if (opts?.nullsFirst) value += "_nulls_first";
31
+ }
32
+ return {
33
+ isCustom: false,
34
+ columnId,
35
+ sortDirection,
36
+ label: column?.name ?? column?.id,
37
+ sortOn: value,
38
+ };
47
39
  })
48
- .filter((c) => c != null);
40
+ .filter((c) => c != null);
49
41
  }