@1771technologies/lytenyte-pro 1.0.0-beta.36 → 1.0.0-beta.38

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 (387) hide show
  1. package/dist/+types.d.ts +4469 -4219
  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 +17 -16
  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 +92 -129
  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 +9 -17
  46. package/dist/column-manager/branch.js +46 -64
  47. package/dist/column-manager/column-manager.d.ts +8 -57
  48. package/dist/column-manager/column-manager.js +8 -8
  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 +49 -61
  54. package/dist/column-manager/move-handle.d.ts +6 -14
  55. package/dist/column-manager/move-handle.js +48 -52
  56. package/dist/column-manager/panel.d.ts +1 -10
  57. package/dist/column-manager/root.d.ts +3 -7
  58. package/dist/column-manager/root.js +1 -4
  59. package/dist/column-manager/use-column-manager.d.ts +5 -7
  60. package/dist/column-manager/use-column-manager.js +21 -15
  61. package/dist/column-manager/use-columns-from-context.d.ts +1 -3
  62. package/dist/column-manager/use-columns-from-context.js +18 -18
  63. package/dist/column-manager/visibility-checkbox.d.ts +6 -14
  64. package/dist/column-manager/visibility-checkbox.js +23 -36
  65. package/dist/context.d.ts +4 -4
  66. package/dist/filter-tree/branch.d.ts +8 -16
  67. package/dist/filter-tree/branch.js +13 -23
  68. package/dist/filter-tree/context.d.ts +16 -16
  69. package/dist/filter-tree/filter-tree.d.ts +8 -49
  70. package/dist/filter-tree/filter-tree.js +8 -8
  71. package/dist/filter-tree/hooks/use-filter-tree.d.ts +29 -35
  72. package/dist/filter-tree/hooks/use-filter-tree.js +92 -94
  73. package/dist/filter-tree/hooks/use-tree-item.d.ts +4 -4
  74. package/dist/filter-tree/hooks/use-tree-item.js +106 -99
  75. package/dist/filter-tree/inclusion-checkbox.d.ts +6 -14
  76. package/dist/filter-tree/inclusion-checkbox.js +9 -19
  77. package/dist/filter-tree/label.d.ts +2 -10
  78. package/dist/filter-tree/label.js +12 -11
  79. package/dist/filter-tree/leaf.d.ts +2 -10
  80. package/dist/filter-tree/leaf.js +5 -15
  81. package/dist/filter-tree/root.d.ts +7 -23
  82. package/dist/filter-tree/root.js +23 -51
  83. package/dist/grid-box/+types.d.ts +11 -11
  84. package/dist/grid-box/context.d.ts +3 -3
  85. package/dist/grid-box/grid-box.d.ts +6 -26
  86. package/dist/grid-box/grid-box.js +6 -6
  87. package/dist/grid-box/item.d.ts +5 -13
  88. package/dist/grid-box/item.js +56 -73
  89. package/dist/grid-box/panel.d.ts +1 -13
  90. package/dist/grid-box/panel.js +2 -9
  91. package/dist/grid-box/root.d.ts +5 -11
  92. package/dist/grid-box/root.js +2 -11
  93. package/dist/grid-box/use-aggregation-box-items.d.ts +13 -16
  94. package/dist/grid-box/use-aggregation-box-items.js +57 -56
  95. package/dist/grid-box/use-column-box-items.d.ts +23 -33
  96. package/dist/grid-box/use-column-box-items.js +75 -87
  97. package/dist/grid-box/use-row-group-box-items.d.ts +12 -17
  98. package/dist/grid-box/use-row-group-box-items.js +123 -120
  99. package/dist/grid-provider/context.d.ts +2 -4
  100. package/dist/grid-provider/provider.d.ts +2 -4
  101. package/dist/grid-provider/use-grid.d.ts +1 -1
  102. package/dist/grid.d.ts +14 -126
  103. package/dist/grid.js +14 -14
  104. package/dist/header/header-cell.d.ts +5 -13
  105. package/dist/header/header-cell.js +15 -41
  106. package/dist/header/header-group-cell.d.ts +2 -10
  107. package/dist/header/header-group-cell.js +8 -26
  108. package/dist/header/header-row.d.ts +2 -10
  109. package/dist/header/header-row.js +2 -2
  110. package/dist/header/header.d.ts +1 -10
  111. package/dist/header/header.js +2 -11
  112. package/dist/header/resize-handler.d.ts +6 -15
  113. package/dist/header/resize-handler.js +122 -131
  114. package/dist/header/use-drag-move.d.ts +11 -22
  115. package/dist/header/use-drag-move.js +94 -95
  116. package/dist/header/use-header-cell-renderer.d.ts +2 -9
  117. package/dist/header/use-header-cell-renderer.js +29 -25
  118. package/dist/icons/index.d.ts +1 -92
  119. package/dist/icons/index.js +1 -92
  120. package/dist/index.d.ts +5 -22
  121. package/dist/index.js +5 -22
  122. package/dist/license.js +174 -174
  123. package/dist/listbox/context.d.ts +2 -2
  124. package/dist/listbox/item.d.ts +1 -10
  125. package/dist/listbox/item.js +19 -23
  126. package/dist/listbox/panel.d.ts +1 -10
  127. package/dist/listbox/panel.js +43 -69
  128. package/dist/listbox/root.d.ts +3 -5
  129. package/dist/listbox/root.js +7 -7
  130. package/dist/root/dialog-driver.js +16 -22
  131. package/dist/root/popover-driver.js +16 -27
  132. package/dist/root/root.d.ts +3 -7
  133. package/dist/root/root.js +107 -111
  134. package/dist/row-data-source-client/+types.d.ts +17 -17
  135. package/dist/row-data-source-client/built-ins/avg.js +4 -3
  136. package/dist/row-data-source-client/built-ins/built-ins.d.ts +16 -16
  137. package/dist/row-data-source-client/built-ins/built-ins.js +16 -16
  138. package/dist/row-data-source-client/built-ins/count.js +5 -3
  139. package/dist/row-data-source-client/built-ins/first.js +1 -1
  140. package/dist/row-data-source-client/built-ins/group.js +1 -1
  141. package/dist/row-data-source-client/built-ins/last.js +1 -1
  142. package/dist/row-data-source-client/built-ins/max.js +13 -9
  143. package/dist/row-data-source-client/built-ins/min.js +13 -9
  144. package/dist/row-data-source-client/built-ins/sum.js +10 -8
  145. package/dist/row-data-source-client/filter/+types.d.ts +13 -35
  146. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +2 -16
  147. package/dist/row-data-source-client/filter/compute-filtered-rows.js +102 -102
  148. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +4 -8
  149. package/dist/row-data-source-client/pivots/create-agg-model.js +9 -8
  150. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +1 -6
  151. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +46 -42
  152. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +1 -6
  153. package/dist/row-data-source-client/pivots/create-pivot-columns.js +17 -16
  154. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +1 -7
  155. package/dist/row-data-source-client/pivots/create-pivot-tree.js +19 -19
  156. package/dist/row-data-source-client/tree/client-tree.d.ts +13 -19
  157. package/dist/row-data-source-client/tree/client-tree.js +67 -64
  158. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +1 -4
  159. package/dist/row-data-source-client/tree/evaluator-aggregation.js +6 -6
  160. package/dist/row-data-source-client/tree/evaluator-group.d.ts +1 -4
  161. package/dist/row-data-source-client/tree/evaluator-group.js +7 -6
  162. package/dist/row-data-source-client/tree/traverse.d.ts +1 -5
  163. package/dist/row-data-source-client/tree/traverse.js +18 -15
  164. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +5 -9
  165. package/dist/row-data-source-client/use-client-data-source-paginated.js +551 -566
  166. package/dist/row-data-source-client/use-client-data-source.d.ts +5 -9
  167. package/dist/row-data-source-client/use-client-data-source.js +661 -696
  168. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +5 -9
  169. package/dist/row-data-source-client/use-client-tree-data-source.js +512 -523
  170. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +33 -36
  171. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +1 -4
  172. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +22 -18
  173. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +1 -4
  174. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +25 -17
  175. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +18 -18
  176. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +10 -9
  177. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +1 -4
  178. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +14 -13
  179. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +10 -9
  180. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +1 -4
  181. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +13 -13
  182. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +1 -4
  183. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +1 -1
  184. package/dist/row-data-source-server/async-tree/make-async-tree.js +14 -14
  185. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +1 -3
  186. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +6 -6
  187. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +1 -5
  188. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +14 -11
  189. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +1 -4
  190. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +46 -42
  191. package/dist/row-data-source-server/range-tree/range-tree.d.ts +28 -28
  192. package/dist/row-data-source-server/range-tree/range-tree.js +48 -49
  193. package/dist/row-data-source-server/use-server-data-source.d.ts +2 -11
  194. package/dist/row-data-source-server/use-server-data-source.js +675 -688
  195. package/dist/row-data-source-server/utils/get-node-depth.js +7 -7
  196. package/dist/row-data-source-server/utils/get-node-path.js +7 -7
  197. package/dist/row-data-source-server/utils/get-request-id.js +4 -3
  198. package/dist/rows/row/context.d.ts +2 -2
  199. package/dist/rows/row/row.d.ts +3 -16
  200. package/dist/rows/row/row.js +4 -19
  201. package/dist/rows/row/use-row-context-value.d.ts +2 -5
  202. package/dist/rows/row/use-row-context-value.js +26 -23
  203. package/dist/rows/row-detail-row.d.ts +2 -4
  204. package/dist/rows/row-detail-row.js +124 -147
  205. package/dist/rows/row-full-width.d.ts +4 -12
  206. package/dist/rows/row-full-width.js +7 -35
  207. package/dist/rows/rows-container.d.ts +1 -10
  208. package/dist/rows/rows-container.js +3 -12
  209. package/dist/rows/rows-sections.d.ts +3 -30
  210. package/dist/rows/rows-sections.js +10 -42
  211. package/dist/rows/scrollers/native-scroller.d.ts +1 -3
  212. package/dist/rows/scrollers/native-scroller.js +13 -17
  213. package/dist/sort-manager/+types.d.ts +7 -14
  214. package/dist/sort-manager/context.d.ts +4 -4
  215. package/dist/sort-manager/hooks/use-sort-manager.d.ts +9 -9
  216. package/dist/sort-manager/hooks/use-sort-manager.js +49 -45
  217. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +46 -57
  218. package/dist/sort-manager/hooks/use-sort-row-item.js +131 -126
  219. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +3 -6
  220. package/dist/sort-manager/hooks/use-sortable-column-items.js +10 -10
  221. package/dist/sort-manager/root.d.ts +1 -7
  222. package/dist/sort-manager/root.js +10 -10
  223. package/dist/sort-manager/sort-add.d.ts +5 -13
  224. package/dist/sort-manager/sort-add.js +8 -8
  225. package/dist/sort-manager/sort-apply.d.ts +4 -12
  226. package/dist/sort-manager/sort-apply.js +16 -16
  227. package/dist/sort-manager/sort-cancel.d.ts +4 -12
  228. package/dist/sort-manager/sort-cancel.js +19 -19
  229. package/dist/sort-manager/sort-clear.d.ts +4 -12
  230. package/dist/sort-manager/sort-clear.js +16 -15
  231. package/dist/sort-manager/sort-column-select.d.ts +6 -14
  232. package/dist/sort-manager/sort-column-select.js +14 -22
  233. package/dist/sort-manager/sort-direction-select.d.ts +6 -14
  234. package/dist/sort-manager/sort-direction-select.js +19 -27
  235. package/dist/sort-manager/sort-manager.d.ts +12 -93
  236. package/dist/sort-manager/sort-manager.js +12 -12
  237. package/dist/sort-manager/sort-remove.d.ts +4 -12
  238. package/dist/sort-manager/sort-remove.js +8 -8
  239. package/dist/sort-manager/sort-row.d.ts +2 -10
  240. package/dist/sort-manager/sort-row.js +1 -4
  241. package/dist/sort-manager/sort-rows.d.ts +1 -10
  242. package/dist/sort-manager/sort-rows.js +1 -1
  243. package/dist/sort-manager/sort-value-select.d.ts +7 -15
  244. package/dist/sort-manager/sort-value-select.js +19 -28
  245. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +1 -4
  246. package/dist/sort-manager/utils/sort-item-to-sort-model.js +49 -46
  247. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +1 -4
  248. package/dist/sort-manager/utils/sort-model-to-sort-items.js +44 -36
  249. package/dist/state/+types.d.ts +29 -43
  250. package/dist/state/api/column-autosize.d.ts +2 -4
  251. package/dist/state/api/column-autosize.js +63 -62
  252. package/dist/state/api/column-by-id.js +4 -4
  253. package/dist/state/api/column-field.js +20 -17
  254. package/dist/state/api/column-from-index.js +4 -4
  255. package/dist/state/api/column-group-toggle.js +8 -8
  256. package/dist/state/api/column-index.js +5 -5
  257. package/dist/state/api/column-move.js +46 -48
  258. package/dist/state/api/column-resize.js +7 -9
  259. package/dist/state/api/column-update.d.ts +2 -4
  260. package/dist/state/api/column-update.js +23 -23
  261. package/dist/state/api/dialog-frame.d.ts +4 -8
  262. package/dist/state/api/dialog-frame.js +12 -11
  263. package/dist/state/api/edit-begin.d.ts +2 -4
  264. package/dist/state/api/edit-begin.js +84 -71
  265. package/dist/state/api/edit-end.d.ts +2 -4
  266. package/dist/state/api/edit-end.js +41 -38
  267. package/dist/state/api/edit-is-cell-active.d.ts +2 -4
  268. package/dist/state/api/edit-is-cell-active.js +24 -17
  269. package/dist/state/api/edit-update.d.ts +2 -4
  270. package/dist/state/api/edit-update.js +85 -74
  271. package/dist/state/api/event-listeners.d.ts +3 -12
  272. package/dist/state/api/event-listeners.js +17 -16
  273. package/dist/state/api/export-csv.js +35 -33
  274. package/dist/state/api/export-data-rect.js +21 -21
  275. package/dist/state/api/focus-cell.d.ts +2 -4
  276. package/dist/state/api/focus-cell.js +109 -110
  277. package/dist/state/api/popover-frame.d.ts +4 -8
  278. package/dist/state/api/popover-frame.js +12 -11
  279. package/dist/state/api/position-from-element.js +6 -5
  280. package/dist/state/api/row-by-id.js +3 -3
  281. package/dist/state/api/row-by-index.js +6 -11
  282. package/dist/state/api/row-detail-is-expanded.d.ts +1 -3
  283. package/dist/state/api/row-detail-is-expanded.js +4 -4
  284. package/dist/state/api/row-detail-rendered-height.d.ts +2 -4
  285. package/dist/state/api/row-detail-rendered-height.js +12 -10
  286. package/dist/state/api/row-detail-toggle.js +30 -26
  287. package/dist/state/api/row-group-apply-expansions.d.ts +1 -3
  288. package/dist/state/api/row-group-apply-expansions.js +17 -15
  289. package/dist/state/api/row-group-column-index.d.ts +1 -3
  290. package/dist/state/api/row-group-column-index.js +12 -14
  291. package/dist/state/api/row-group-is-expanded.d.ts +1 -3
  292. package/dist/state/api/row-group-is-expanded.js +13 -11
  293. package/dist/state/api/row-group-toggle.js +5 -5
  294. package/dist/state/api/row-handle-select.d.ts +2 -4
  295. package/dist/state/api/row-handle-select.js +40 -36
  296. package/dist/state/api/row-select-all.js +15 -14
  297. package/dist/state/api/row-select.d.ts +2 -4
  298. package/dist/state/api/row-select.js +33 -30
  299. package/dist/state/api/row-selected.js +11 -10
  300. package/dist/state/api/scroll-into-view.d.ts +2 -4
  301. package/dist/state/api/scroll-into-view.js +47 -47
  302. package/dist/state/api/sort-for-column.js +7 -6
  303. package/dist/state/api/use-row-drag.js +24 -22
  304. package/dist/state/helpers/cell-row-group.d.ts +1 -5
  305. package/dist/state/helpers/cell-row-group.js +16 -18
  306. package/dist/state/helpers/column-add-row-group.d.ts +7 -18
  307. package/dist/state/helpers/column-add-row-group.js +66 -71
  308. package/dist/state/helpers/column-layout.d.ts +1 -7
  309. package/dist/state/helpers/column-layout.js +60 -60
  310. package/dist/state/helpers/column-marker.d.ts +4 -8
  311. package/dist/state/helpers/column-marker.js +34 -38
  312. package/dist/state/helpers/column-view.d.ts +15 -21
  313. package/dist/state/helpers/column-view.js +32 -56
  314. package/dist/state/helpers/edit-on-change.d.ts +10 -18
  315. package/dist/state/helpers/edit-on-change.js +25 -25
  316. package/dist/state/helpers/empty-row-data-source.js +16 -16
  317. package/dist/state/helpers/get-data-rect.d.ts +10 -20
  318. package/dist/state/helpers/get-data-rect.js +62 -67
  319. package/dist/state/helpers/get-full-width-callback.d.ts +1 -5
  320. package/dist/state/helpers/get-full-width-callback.js +6 -5
  321. package/dist/state/helpers/get-span-callback.d.ts +1 -6
  322. package/dist/state/helpers/get-span-callback.js +18 -15
  323. package/dist/state/helpers/resolve-column.d.ts +2 -6
  324. package/dist/state/helpers/resolve-column.js +23 -23
  325. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +12 -15
  326. package/dist/state/helpers/row-layout/get-focus-criteria.js +56 -57
  327. package/dist/state/helpers/row-layout/row-layout.d.ts +9 -15
  328. package/dist/state/helpers/row-layout/row-layout.js +401 -387
  329. package/dist/state/use-lytenyte.js +528 -567
  330. package/dist/tree-view/branch/branch.d.ts +11 -19
  331. package/dist/tree-view/branch/branch.js +54 -106
  332. package/dist/tree-view/branch/use-branch-keys.d.ts +1 -5
  333. package/dist/tree-view/branch/use-branch-keys.js +74 -71
  334. package/dist/tree-view/context.d.ts +17 -21
  335. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +1 -7
  336. package/dist/tree-view/hooks/use-tree-view-paths.js +5 -5
  337. package/dist/tree-view/index.d.ts +7 -35
  338. package/dist/tree-view/index.js +7 -7
  339. package/dist/tree-view/leaf.d.ts +2 -10
  340. package/dist/tree-view/leaf.js +21 -30
  341. package/dist/tree-view/navigation/get-all-ids.js +3 -3
  342. package/dist/tree-view/navigation/get-first-node.js +3 -3
  343. package/dist/tree-view/navigation/get-last-node.js +3 -3
  344. package/dist/tree-view/navigation/get-next-node.js +8 -6
  345. package/dist/tree-view/navigation/get-prev-node.js +8 -6
  346. package/dist/tree-view/panel/make-handle-navigation.js +31 -23
  347. package/dist/tree-view/panel/make-handle-selection.js +77 -68
  348. package/dist/tree-view/panel/make-handle-typeahead.js +40 -34
  349. package/dist/tree-view/panel/panel.d.ts +1 -10
  350. package/dist/tree-view/panel/panel.js +20 -40
  351. package/dist/tree-view/panel/use-tree-navigation.js +52 -64
  352. package/dist/tree-view/root.d.ts +14 -20
  353. package/dist/tree-view/root.js +55 -53
  354. package/dist/tree-view/utils/get-focusable-nodes.js +2 -4
  355. package/dist/tree-view/utils/get-focused-node.js +11 -11
  356. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +1 -5
  357. package/dist/tree-view/utils/get-ids-between-nodes.js +11 -10
  358. package/dist/tree-view/utils/get-panel.js +5 -5
  359. package/dist/tree-view/utils/get-parent-node.js +7 -6
  360. package/dist/tree-view/utils/get-sibling-branches.js +10 -8
  361. package/dist/tree-view/utils/get-tree-node-id.js +1 -1
  362. package/dist/tree-view/utils/is-branch-node.js +1 -1
  363. package/dist/tree-view/utils/is-leaf-node.js +1 -1
  364. package/dist/tree-view/utils/is-tree-node-disabled.js +1 -1
  365. package/dist/tree-view/utils/select-node.d.ts +1 -5
  366. package/dist/tree-view/utils/select-node.js +11 -8
  367. package/dist/tree-view/utils/toggle-all-selections.js +6 -4
  368. package/dist/tree-view/utils/toggle-selection.js +18 -15
  369. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +1 -3
  370. package/dist/tree-view/virtualized/force-sync-scrolling.js +18 -24
  371. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +1 -3
  372. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +12 -11
  373. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +21 -26
  374. package/dist/tree-view/virtualized/make-virtual-tree.js +85 -79
  375. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +8 -17
  376. package/dist/tree-view/virtualized/use-flattened-tree.js +31 -30
  377. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +1 -6
  378. package/dist/tree-view/virtualized/use-row-start-and-end.js +23 -21
  379. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +15 -21
  380. package/dist/tree-view/virtualized/use-virtualized-tree.js +90 -103
  381. package/dist/utils/cycle-sorts.js +14 -12
  382. package/dist/viewport/begin-editing.d.ts +2 -6
  383. package/dist/viewport/begin-editing.js +13 -9
  384. package/dist/viewport/viewport.d.ts +1 -10
  385. package/dist/viewport/viewport.js +70 -93
  386. package/main.css +4 -4
  387. package/package.json +7 -7
@@ -2,139 +2,144 @@ import { useMemo } from "react";
2
2
  import { useSortableColumnItems } from "./use-sortable-column-items.js";
3
3
  import { itemsWithIdToMap } from "@1771technologies/lytenyte-js-utils";
4
4
  export function useSortRowItems(sortItems, setSortItems, grid, pivotMode) {
5
- const columnItems = useSortableColumnItems(grid, pivotMode);
6
- const pivotColumns = grid.state.columnPivotColumns.useValue();
7
- const columns = grid.state.columns.useValue();
8
- const lookup = useMemo(() => {
9
- return itemsWithIdToMap(pivotMode ? pivotColumns : columns);
10
- }, [columns, pivotColumns, pivotMode]);
11
- const unselectedSortedColumns = useMemo(() => {
12
- const selected = new Set(sortItems.map((c) => c.columnId).filter((c) => c != null));
13
- return columnItems.filter((c) => !selected.has(c.value));
14
- }, [columnItems, sortItems]);
15
- const sortRows = useMemo(() => {
16
- return sortItems.map((item, i) => {
17
- const columnItem = columnItems.find((s) => item.columnId === s.value) ?? null;
18
- const columnOptions = columnItem
19
- ? [columnItem, ...unselectedSortedColumns]
20
- : unselectedSortedColumns;
21
- // Handle select
22
- const columnOnSelect = (column) => {
23
- setSortItems((prev) => {
24
- const v = { ...prev[i] };
25
- v.columnId = column?.value;
26
- const next = [...prev];
27
- next.splice(i, 1, v);
28
- return next;
5
+ const columnItems = useSortableColumnItems(grid, pivotMode);
6
+ const pivotColumns = grid.state.columnPivotColumns.useValue();
7
+ const columns = grid.state.columns.useValue();
8
+ const lookup = useMemo(() => {
9
+ return itemsWithIdToMap(pivotMode ? pivotColumns : columns);
10
+ }, [columns, pivotColumns, pivotMode]);
11
+ const unselectedSortedColumns = useMemo(() => {
12
+ const selected = new Set(sortItems.map((c) => c.columnId).filter((c) => c != null));
13
+ return columnItems.filter((c) => !selected.has(c.value));
14
+ }, [columnItems, sortItems]);
15
+ const sortRows = useMemo(() => {
16
+ return sortItems.map((item, i) => {
17
+ const columnItem = columnItems.find((s) => item.columnId === s.value) ?? null;
18
+ const columnOptions = columnItem
19
+ ? [columnItem, ...unselectedSortedColumns]
20
+ : unselectedSortedColumns;
21
+ // Handle select
22
+ const columnOnSelect = (column) => {
23
+ setSortItems((prev) => {
24
+ const v = { ...prev[i] };
25
+ v.columnId = column?.value;
26
+ const next = [...prev];
27
+ next.splice(i, 1, v);
28
+ return next;
29
+ });
30
+ };
31
+ const columnSelected = columnItem;
32
+ const column = lookup.get(item.columnId);
33
+ let sortOptions;
34
+ if (!column)
35
+ sortOptions = [];
36
+ else if (column?.type === "number")
37
+ sortOptions = sortValuesForNumber;
38
+ else if (column?.type === "date")
39
+ sortOptions = sortValuesForDateAndDateTime;
40
+ else
41
+ sortOptions = sortValuesString;
42
+ const sortSelected = sortOptions.find((v) => v.value === item.sortOn) ?? null;
43
+ const sortOnSelect = (sortOn) => {
44
+ if (!sortOn)
45
+ return;
46
+ setSortItems((prev) => {
47
+ const v = { ...prev[i] };
48
+ v.sortOn = sortOn.value;
49
+ const next = [...prev];
50
+ next.splice(i, 1, v);
51
+ return next;
52
+ });
53
+ };
54
+ const sortDirectionOptions = sortDirectionValues;
55
+ const sortDirectionSelected = item.sortDirection === "ascending"
56
+ ? { label: "Asc", value: "ascending" }
57
+ : { label: "Desc", value: "descending" };
58
+ const sortDirectionOnSelect = (item) => {
59
+ if (!item)
60
+ return;
61
+ setSortItems((prev) => {
62
+ const v = { ...prev[i] };
63
+ v.sortDirection = item.value;
64
+ const next = [...prev];
65
+ next.splice(i, 1, v);
66
+ return next;
67
+ });
68
+ };
69
+ const onDelete = () => {
70
+ setSortItems((prev) => {
71
+ const next = [...prev];
72
+ next.splice(i, 1);
73
+ if (!next.length) {
74
+ return [{ sortDirection: "ascending", isCustom: false }];
75
+ }
76
+ return next;
77
+ });
78
+ };
79
+ const onAdd = () => {
80
+ setSortItems((prev) => {
81
+ const next = [...prev];
82
+ next.splice(i + 1, 0, { sortDirection: "ascending", isCustom: false });
83
+ return next;
84
+ });
85
+ };
86
+ const maxSortCount = columnItems.length;
87
+ return {
88
+ index: i,
89
+ isCustom: item.isCustom,
90
+ columnItem,
91
+ columnOptions,
92
+ columnSelected,
93
+ columnOnSelect,
94
+ sortOptions,
95
+ sortSelected,
96
+ sortOnSelect,
97
+ sortDirectionOptions,
98
+ sortDirectionSelected,
99
+ sortDirectionOnSelect,
100
+ canAdd: maxSortCount > sortItems.length,
101
+ onAdd,
102
+ onDelete,
103
+ };
29
104
  });
30
- };
31
- const columnSelected = columnItem;
32
- const column = lookup.get(item.columnId);
33
- let sortOptions;
34
- if (!column) sortOptions = [];
35
- else if (column?.type === "number") sortOptions = sortValuesForNumber;
36
- else if (column?.type === "date") sortOptions = sortValuesForDateAndDateTime;
37
- else sortOptions = sortValuesString;
38
- const sortSelected = sortOptions.find((v) => v.value === item.sortOn) ?? null;
39
- const sortOnSelect = (sortOn) => {
40
- if (!sortOn) return;
41
- setSortItems((prev) => {
42
- const v = { ...prev[i] };
43
- v.sortOn = sortOn.value;
44
- const next = [...prev];
45
- next.splice(i, 1, v);
46
- return next;
47
- });
48
- };
49
- const sortDirectionOptions = sortDirectionValues;
50
- const sortDirectionSelected =
51
- item.sortDirection === "ascending"
52
- ? { label: "Asc", value: "ascending" }
53
- : { label: "Desc", value: "descending" };
54
- const sortDirectionOnSelect = (item) => {
55
- if (!item) return;
56
- setSortItems((prev) => {
57
- const v = { ...prev[i] };
58
- v.sortDirection = item.value;
59
- const next = [...prev];
60
- next.splice(i, 1, v);
61
- return next;
62
- });
63
- };
64
- const onDelete = () => {
65
- setSortItems((prev) => {
66
- const next = [...prev];
67
- next.splice(i, 1);
68
- if (!next.length) {
69
- return [{ sortDirection: "ascending", isCustom: false }];
70
- }
71
- return next;
72
- });
73
- };
74
- const onAdd = () => {
75
- setSortItems((prev) => {
76
- const next = [...prev];
77
- next.splice(i + 1, 0, { sortDirection: "ascending", isCustom: false });
78
- return next;
79
- });
80
- };
81
- const maxSortCount = columnItems.length;
82
- return {
83
- index: i,
84
- isCustom: item.isCustom,
85
- columnItem,
86
- columnOptions,
87
- columnSelected,
88
- columnOnSelect,
89
- sortOptions,
90
- sortSelected,
91
- sortOnSelect,
92
- sortDirectionOptions,
93
- sortDirectionSelected,
94
- sortDirectionOnSelect,
95
- canAdd: maxSortCount > sortItems.length,
96
- onAdd,
97
- onDelete,
98
- };
99
- });
100
- }, [columnItems, lookup, setSortItems, sortItems, unselectedSortedColumns]);
101
- return sortRows;
105
+ }, [columnItems, lookup, setSortItems, sortItems, unselectedSortedColumns]);
106
+ return sortRows;
102
107
  }
103
108
  const sortValuesForNumber = [
104
- { label: "Values", value: "values" },
105
- { label: "Absolute", value: "values_absolute" },
106
- { label: "Nulls First", value: "values_nulls_first" },
107
- { label: "Nulls First, Absolute", value: "values_nulls_first_absolute" },
109
+ { label: "Values", value: "values" },
110
+ { label: "Absolute", value: "values_absolute" },
111
+ { label: "Nulls First", value: "values_nulls_first" },
112
+ { label: "Nulls First, Absolute", value: "values_nulls_first_absolute" },
108
113
  ];
109
114
  const sortValuesForDateAndDateTime = [
110
- { label: "Values", value: "values" },
111
- { label: "Nulls First", value: "values_nulls_first" },
115
+ { label: "Values", value: "values" },
116
+ { label: "Nulls First", value: "values_nulls_first" },
112
117
  ];
113
118
  const sortValuesString = [
114
- { label: "Values", value: "values" },
115
- { label: "Insensitive", value: "values_insensitive" },
116
- { label: "Insensitive, Ignore Punctuation", value: "value_insensitive_ignore" },
117
- { label: "Insensitive, Trim", value: "value_insensitive_trim" },
118
- { label: "Insensitive, Ignore Punctuation, Trim", value: "value_insensitive_ignore_trim" },
119
- { label: "Ignore Punctuation", value: "values_ignore_punctuation" },
120
- { label: "Ignore Punctuation, Trim", value: "values_ignore_punctuation_trim" },
121
- { label: "Trim Whitespace", value: "values_trim" },
122
- { label: "Nulls First", value: "values_nulls_first" },
123
- { label: "Nulls First, Insensitive", value: "values_nulls_first_insensitive" },
124
- { label: "Nulls First, Trim", value: "values_nulls_first_trim" },
125
- { label: "Nulls First, Ignore Punctuation", value: "values_nulls_first_ignore" },
126
- { label: "Nulls First, Insensitive, Trim", value: "values_nulls_first_insensitive_trim" },
127
- {
128
- label: "Nulls First, Insensitive, Ignore Punctuation",
129
- value: "values_nulls_insensitive_first_ignore",
130
- },
131
- {
132
- label: "Nulls First, Insensitive, Ignore Punctuation, Trim",
133
- value: "values_nulls_first_insensitive_ignore_trim",
134
- },
135
- { label: "Nulls First, Ignore Punctuation, Trim", value: "values_nulls_first_ignore_trim" },
119
+ { label: "Values", value: "values" },
120
+ { label: "Insensitive", value: "values_insensitive" },
121
+ { label: "Insensitive, Ignore Punctuation", value: "value_insensitive_ignore" },
122
+ { label: "Insensitive, Trim", value: "value_insensitive_trim" },
123
+ { label: "Insensitive, Ignore Punctuation, Trim", value: "value_insensitive_ignore_trim" },
124
+ { label: "Ignore Punctuation", value: "values_ignore_punctuation" },
125
+ { label: "Ignore Punctuation, Trim", value: "values_ignore_punctuation_trim" },
126
+ { label: "Trim Whitespace", value: "values_trim" },
127
+ { label: "Nulls First", value: "values_nulls_first" },
128
+ { label: "Nulls First, Insensitive", value: "values_nulls_first_insensitive" },
129
+ { label: "Nulls First, Trim", value: "values_nulls_first_trim" },
130
+ { label: "Nulls First, Ignore Punctuation", value: "values_nulls_first_ignore" },
131
+ { label: "Nulls First, Insensitive, Trim", value: "values_nulls_first_insensitive_trim" },
132
+ {
133
+ label: "Nulls First, Insensitive, Ignore Punctuation",
134
+ value: "values_nulls_insensitive_first_ignore",
135
+ },
136
+ {
137
+ label: "Nulls First, Insensitive, Ignore Punctuation, Trim",
138
+ value: "values_nulls_first_insensitive_ignore_trim",
139
+ },
140
+ { label: "Nulls First, Ignore Punctuation, Trim", value: "values_nulls_first_ignore_trim" },
136
141
  ];
137
142
  const sortDirectionValues = [
138
- { label: "Asc", value: "ascending" },
139
- { label: "Desc", value: "descending" },
143
+ { label: "Asc", value: "ascending" },
144
+ { label: "Desc", value: "descending" },
140
145
  ];
@@ -1,8 +1,5 @@
1
1
  import type { Grid } from "../../+types";
2
- export declare function useSortableColumnItems(
3
- grid: Grid<any>,
4
- pivotMode: boolean,
5
- ): {
6
- label: string;
7
- value: string;
2
+ export declare function useSortableColumnItems(grid: Grid<any>, pivotMode: boolean): {
3
+ label: string;
4
+ value: string;
8
5
  }[];
@@ -1,13 +1,13 @@
1
1
  import { useMemo } from "react";
2
2
  export function useSortableColumnItems(grid, pivotMode) {
3
- const columns = grid.state.columns.useValue();
4
- const pivotColumns = grid.state.columnPivotColumns.useValue();
5
- const base = grid.state.columnBase.useValue();
6
- const candidateColumns = useMemo(() => {
7
- const candidates = pivotMode ? pivotColumns : columns;
8
- return candidates.filter((c) => c.uiHints?.sortable ?? base.uiHints?.sortable);
9
- }, [base.uiHints?.sortable, columns, pivotColumns, pivotMode]);
10
- return useMemo(() => {
11
- return candidateColumns.map((c) => ({ label: c.name ?? c.id, value: c.id }));
12
- }, [candidateColumns]);
3
+ const columns = grid.state.columns.useValue();
4
+ const pivotColumns = grid.state.columnPivotColumns.useValue();
5
+ const base = grid.state.columnBase.useValue();
6
+ const candidateColumns = useMemo(() => {
7
+ const candidates = pivotMode ? pivotColumns : columns;
8
+ return candidates.filter((c) => c.uiHints?.sortable ?? base.uiHints?.sortable);
9
+ }, [base.uiHints?.sortable, columns, pivotColumns, pivotMode]);
10
+ return useMemo(() => {
11
+ return candidateColumns.map((c) => ({ label: c.name ?? c.id, value: c.id }));
12
+ }, [candidateColumns]);
13
13
  }
@@ -1,9 +1,3 @@
1
1
  import { type PropsWithChildren } from "react";
2
2
  import { type SortManagerContext } from "./context";
3
- export declare function Root({
4
- sortItems,
5
- setSortItems,
6
- grid,
7
- mode,
8
- children,
9
- }: PropsWithChildren<SortManagerContext>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Root({ sortItems, setSortItems, grid, mode, children, }: PropsWithChildren<SortManagerContext>): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { context } from "./context";
4
- export function Root({ sortItems, setSortItems, grid, mode, children }) {
5
- const value = useMemo(() => {
6
- return {
7
- sortItems,
8
- setSortItems,
9
- grid,
10
- mode,
11
- };
12
- }, [grid, mode, setSortItems, sortItems]);
13
- return _jsx(context.Provider, { value: value, children: children });
4
+ export function Root({ sortItems, setSortItems, grid, mode, children, }) {
5
+ const value = useMemo(() => {
6
+ return {
7
+ sortItems,
8
+ setSortItems,
9
+ grid,
10
+ mode,
11
+ };
12
+ }, [grid, mode, setSortItems, sortItems]);
13
+ return _jsx(context.Provider, { value: value, children: children });
14
14
  }
@@ -1,16 +1,8 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  export interface SortAddProps {
3
- readonly as?: SlotComponent<{
4
- onAdd: () => void;
5
- disabled: boolean;
6
- }>;
3
+ readonly as?: SlotComponent<{
4
+ onAdd: () => void;
5
+ disabled: boolean;
6
+ }>;
7
7
  }
8
- export declare const SortAdd: import("react").ForwardRefExoticComponent<
9
- Omit<
10
- import("react").ClassAttributes<HTMLButtonElement> &
11
- import("react").ButtonHTMLAttributes<HTMLButtonElement> &
12
- SortAddProps,
13
- "ref"
14
- > &
15
- import("react").RefAttributes<HTMLDivElement>
16
- >;
8
+ export declare const SortAdd: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & SortAddProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -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 SortAdd = forwardRef(function SortAdd({ as: as, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const renderer = useSlot({
8
- props: [typeof as !== "function" ? { onClick: row.onAdd, disabled: !row.canAdd } : {}, props],
9
- ref: forwarded,
10
- slot: as ?? _jsx("button", { children: "+" }),
11
- state: { onAdd: row.onAdd, disabled: !row.canAdd },
12
- });
13
- return renderer;
6
+ const row = useSortRowCtx();
7
+ const renderer = useSlot({
8
+ props: [typeof as !== "function" ? { onClick: row.onAdd, disabled: !row.canAdd } : {}, props],
9
+ ref: forwarded,
10
+ slot: as ?? _jsx("button", { children: "+" }),
11
+ state: { onAdd: row.onAdd, disabled: !row.canAdd },
12
+ });
13
+ return renderer;
14
14
  });
@@ -1,15 +1,7 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  export interface SortApplyProps {
3
- readonly as?: SlotComponent<{
4
- onApply: () => void;
5
- }>;
3
+ readonly as?: SlotComponent<{
4
+ onApply: () => void;
5
+ }>;
6
6
  }
7
- export declare const SortApply: import("react").ForwardRefExoticComponent<
8
- Omit<
9
- import("react").ClassAttributes<HTMLButtonElement> &
10
- import("react").ButtonHTMLAttributes<HTMLButtonElement> &
11
- SortApplyProps,
12
- "ref"
13
- > &
14
- import("react").RefAttributes<HTMLDivElement>
15
- >;
7
+ export declare const SortApply: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & SortApplyProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -5,20 +5,20 @@ import { useSortManagerCtx } from "./context";
5
5
  import { itemsWithIdToMap } from "@1771technologies/lytenyte-js-utils";
6
6
  import { sortItemsToSortModel } from "./utils/sort-item-to-sort-model";
7
7
  export const SortApply = forwardRef(function SortApply({ as, ...props }, forwarded) {
8
- const ctx = useSortManagerCtx();
9
- const onApply = useEvent(() => {
10
- const lookup = itemsWithIdToMap(
11
- ctx.mode ? ctx.grid.state.columnPivotColumns.get() : ctx.grid.state.columns.get(),
12
- );
13
- const model = sortItemsToSortModel(ctx.sortItems, lookup);
14
- if (ctx.mode) ctx.grid.state.columnPivotModel.set((prev) => ({ ...prev, sort: model }));
15
- else ctx.grid.state.sortModel.set(model);
16
- });
17
- const renderer = useSlot({
18
- props: [typeof as !== "function" ? { onClick: onApply } : {}, props],
19
- ref: forwarded,
20
- slot: as ?? _jsx("button", {}),
21
- state: { onApply },
22
- });
23
- return renderer;
8
+ const ctx = useSortManagerCtx();
9
+ const onApply = useEvent(() => {
10
+ const lookup = itemsWithIdToMap(ctx.mode ? ctx.grid.state.columnPivotColumns.get() : ctx.grid.state.columns.get());
11
+ const model = sortItemsToSortModel(ctx.sortItems, lookup);
12
+ if (ctx.mode)
13
+ ctx.grid.state.columnPivotModel.set((prev) => ({ ...prev, sort: model }));
14
+ else
15
+ ctx.grid.state.sortModel.set(model);
16
+ });
17
+ const renderer = useSlot({
18
+ props: [typeof as !== "function" ? { onClick: onApply } : {}, props],
19
+ ref: forwarded,
20
+ slot: as ?? _jsx("button", {}),
21
+ state: { onApply },
22
+ });
23
+ return renderer;
24
24
  });
@@ -1,15 +1,7 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  export interface SortCancelProps {
3
- readonly as?: SlotComponent<{
4
- onCancel: () => void;
5
- }>;
3
+ readonly as?: SlotComponent<{
4
+ onCancel: () => void;
5
+ }>;
6
6
  }
7
- export declare const SortCancel: import("react").ForwardRefExoticComponent<
8
- Omit<
9
- import("react").ClassAttributes<HTMLButtonElement> &
10
- import("react").ButtonHTMLAttributes<HTMLButtonElement> &
11
- SortCancelProps,
12
- "ref"
13
- > &
14
- import("react").RefAttributes<HTMLDivElement>
15
- >;
7
+ export declare const SortCancel: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & SortCancelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -5,23 +5,23 @@ import { useSortManagerCtx } from "./context";
5
5
  import { sortModelToSortItems } from "./utils/sort-model-to-sort-items";
6
6
  import { itemsWithIdToMap } from "@1771technologies/lytenyte-js-utils";
7
7
  export const SortCancel = forwardRef(function SortCancel({ as, ...props }, forwarded) {
8
- const ctx = useSortManagerCtx();
9
- const onCancel = useEvent(() => {
10
- const model = ctx.mode
11
- ? ctx.grid.state.columnPivotModel.get().sorts
12
- : ctx.grid.state.sortModel.get();
13
- const lookup = itemsWithIdToMap(
14
- ctx.mode ? ctx.grid.state.columnPivotColumns.get() : ctx.grid.state.columns.get(),
15
- );
16
- const state = sortModelToSortItems(model, lookup);
17
- if (!state.length) ctx.setSortItems([{ isCustom: false, sortDirection: "ascending" }]);
18
- else ctx.setSortItems(state);
19
- });
20
- const renderer = useSlot({
21
- props: [typeof as !== "function" ? { onClick: onCancel } : {}, props],
22
- ref: forwarded,
23
- slot: as ?? _jsx("button", {}),
24
- state: { onCancel },
25
- });
26
- return renderer;
8
+ const ctx = useSortManagerCtx();
9
+ const onCancel = useEvent(() => {
10
+ const model = ctx.mode
11
+ ? ctx.grid.state.columnPivotModel.get().sorts
12
+ : ctx.grid.state.sortModel.get();
13
+ const lookup = itemsWithIdToMap(ctx.mode ? ctx.grid.state.columnPivotColumns.get() : ctx.grid.state.columns.get());
14
+ const state = sortModelToSortItems(model, lookup);
15
+ if (!state.length)
16
+ ctx.setSortItems([{ isCustom: false, sortDirection: "ascending" }]);
17
+ else
18
+ ctx.setSortItems(state);
19
+ });
20
+ const renderer = useSlot({
21
+ props: [typeof as !== "function" ? { onClick: onCancel } : {}, props],
22
+ ref: forwarded,
23
+ slot: as ?? _jsx("button", {}),
24
+ state: { onCancel },
25
+ });
26
+ return renderer;
27
27
  });
@@ -1,15 +1,7 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  export interface SortClearProps {
3
- readonly as?: SlotComponent<{
4
- onClear: () => void;
5
- }>;
3
+ readonly as?: SlotComponent<{
4
+ onClear: () => void;
5
+ }>;
6
6
  }
7
- export declare const SortClear: import("react").ForwardRefExoticComponent<
8
- Omit<
9
- import("react").ClassAttributes<HTMLButtonElement> &
10
- import("react").ButtonHTMLAttributes<HTMLButtonElement> &
11
- SortClearProps,
12
- "ref"
13
- > &
14
- import("react").RefAttributes<HTMLDivElement>
15
- >;
7
+ export declare const SortClear: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & SortClearProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -3,19 +3,20 @@ import { useEvent, useSlot } from "@1771technologies/lytenyte-react-hooks";
3
3
  import { forwardRef } from "react";
4
4
  import { useSortManagerCtx } from "./context";
5
5
  export const SortClear = forwardRef(function SortClear({ as, ...props }, forwarded) {
6
- const ctx = useSortManagerCtx();
7
- const onClear = useEvent(() => {
8
- if (ctx.mode) {
9
- ctx.grid.state.columnPivotModel.set((prev) => ({ ...prev, sorts: [] }));
10
- } else {
11
- ctx.grid.state.sortModel.set([]);
12
- }
13
- });
14
- const renderer = useSlot({
15
- props: [typeof as !== "function" ? { onClick: onClear } : {}, props],
16
- ref: forwarded,
17
- slot: as ?? _jsx("button", {}),
18
- state: { onClear },
19
- });
20
- return renderer;
6
+ const ctx = useSortManagerCtx();
7
+ const onClear = useEvent(() => {
8
+ if (ctx.mode) {
9
+ ctx.grid.state.columnPivotModel.set((prev) => ({ ...prev, sorts: [] }));
10
+ }
11
+ else {
12
+ ctx.grid.state.sortModel.set([]);
13
+ }
14
+ });
15
+ const renderer = useSlot({
16
+ props: [typeof as !== "function" ? { onClick: onClear } : {}, props],
17
+ ref: forwarded,
18
+ slot: as ?? _jsx("button", {}),
19
+ state: { onClear },
20
+ });
21
+ return renderer;
21
22
  });
@@ -1,18 +1,10 @@
1
1
  import { type SlotComponent } from "@1771technologies/lytenyte-react-hooks";
2
2
  import type { Option } from "./+types";
3
3
  export interface SortColumnSelectProps {
4
- readonly as?: SlotComponent<{
5
- options: Option[];
6
- onSelect: (v: Option | null) => void;
7
- value: Option | null;
8
- }>;
4
+ readonly as?: SlotComponent<{
5
+ options: Option[];
6
+ onSelect: (v: Option | null) => void;
7
+ value: Option | null;
8
+ }>;
9
9
  }
10
- export declare const SortColumnSelect: import("react").ForwardRefExoticComponent<
11
- Omit<
12
- import("react").ClassAttributes<HTMLDivElement> &
13
- import("react").HTMLAttributes<HTMLDivElement> &
14
- SortColumnSelectProps,
15
- "ref"
16
- > &
17
- import("react").RefAttributes<HTMLSelectElement>
18
- >;
10
+ export declare const SortColumnSelect: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & SortColumnSelectProps, "ref"> & import("react").RefAttributes<HTMLSelectElement>>;
@@ -3,26 +3,18 @@ import { useSlot } from "@1771technologies/lytenyte-react-hooks";
3
3
  import { forwardRef } from "react";
4
4
  import { useSortRowCtx } from "./context";
5
5
  export const SortColumnSelect = forwardRef(function SortColumnSelect({ as, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const el = _jsxs("select", {
8
- "aria-label": "Select column to sort",
9
- value: row.columnItem?.value ?? "",
10
- onChange: (e) => {
11
- const item = row.columnOptions.find((c) => c.value === e.target.value);
12
- row.columnOnSelect(item ?? null);
13
- },
14
- children: [
15
- _jsx("option", { value: "", children: "Select..." }),
16
- row.columnOptions.map((c) => {
17
- return _jsx("option", { value: c.value, children: c.label }, c.value);
18
- }),
19
- ],
20
- });
21
- const renderer = useSlot({
22
- props: [props],
23
- ref: forwarded,
24
- slot: as ?? el,
25
- state: { options: row.columnOptions, onSelect: row.columnOnSelect, value: row.columnSelected },
26
- });
27
- return renderer;
6
+ const row = useSortRowCtx();
7
+ const el = (_jsxs("select", { "aria-label": "Select column to sort", value: row.columnItem?.value ?? "", onChange: (e) => {
8
+ const item = row.columnOptions.find((c) => c.value === e.target.value);
9
+ row.columnOnSelect(item ?? null);
10
+ }, children: [_jsx("option", { value: "", children: "Select..." }), row.columnOptions.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: as ?? el,
17
+ state: { options: row.columnOptions, onSelect: row.columnOnSelect, value: row.columnSelected },
18
+ });
19
+ return renderer;
28
20
  });