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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/dist/+types.d.ts +3969 -4155
  2. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +38 -38
  3. package/dist/cell-selection/are-rects-equal.js +4 -6
  4. package/dist/cell-selection/bound-selection-rect.js +14 -14
  5. package/dist/cell-selection/cell-selection-containers.js +78 -108
  6. package/dist/cell-selection/cell-selection-driver.js +262 -250
  7. package/dist/cell-selection/cell-style-row.d.ts +6 -12
  8. package/dist/cell-selection/cell-style-row.js +79 -82
  9. package/dist/cell-selection/deselect-rect-range.js +40 -41
  10. package/dist/cell-selection/expand-cell-selection-down.d.ts +2 -5
  11. package/dist/cell-selection/expand-cell-selection-down.js +33 -29
  12. package/dist/cell-selection/expand-cell-selection-end.d.ts +2 -5
  13. package/dist/cell-selection/expand-cell-selection-end.js +34 -30
  14. package/dist/cell-selection/expand-cell-selection-start.d.ts +2 -5
  15. package/dist/cell-selection/expand-cell-selection-start.js +33 -29
  16. package/dist/cell-selection/expand-cell-selection-up.d.ts +2 -5
  17. package/dist/cell-selection/expand-cell-selection-up.js +33 -29
  18. package/dist/cell-selection/full-width-start-end-index.js +3 -3
  19. package/dist/cell-selection/get-root-cell.d.ts +1 -5
  20. package/dist/cell-selection/get-root-cell.js +79 -77
  21. package/dist/cell-selection/is-bottom-rect.js +5 -5
  22. package/dist/cell-selection/is-center-col-rect.d.ts +2 -5
  23. package/dist/cell-selection/is-center-col-rect.js +3 -5
  24. package/dist/cell-selection/is-center-rect.js +3 -3
  25. package/dist/cell-selection/is-end-rect.d.ts +2 -5
  26. package/dist/cell-selection/is-end-rect.js +2 -2
  27. package/dist/cell-selection/is-overlapping-rect.js +4 -6
  28. package/dist/cell-selection/is-start-rect.d.ts +2 -5
  29. package/dist/cell-selection/is-start-rect.js +2 -2
  30. package/dist/cell-selection/is-top-rect.js +2 -2
  31. package/dist/cell-selection/is-within-selection-rect.js +1 -1
  32. package/dist/cell-selection/split-cell-selection-rect.d.ts +6 -12
  33. package/dist/cell-selection/split-cell-selection-rect.js +47 -53
  34. package/dist/cell-selection/update-additive-cell-selection.d.ts +2 -5
  35. package/dist/cell-selection/update-additive-cell-selection.js +19 -18
  36. package/dist/cell-selection/use-edge-scroll.d.ts +6 -8
  37. package/dist/cell-selection/use-edge-scroll.js +63 -65
  38. package/dist/cells/cell-default.d.ts +1 -5
  39. package/dist/cells/cell-default.js +5 -5
  40. package/dist/cells/cell-editor.d.ts +2 -4
  41. package/dist/cells/cell-editor.js +86 -121
  42. package/dist/cells/cell.d.ts +3 -16
  43. package/dist/cells/cell.js +27 -56
  44. package/dist/column-manager/branch-lookup-context.d.ts +1 -3
  45. package/dist/column-manager/branch.d.ts +4 -12
  46. package/dist/column-manager/branch.js +29 -39
  47. package/dist/column-manager/column-manager.d.ts +9 -58
  48. package/dist/column-manager/column-manager.js +9 -9
  49. package/dist/column-manager/context.d.ts +1 -1
  50. package/dist/column-manager/label.d.ts +2 -10
  51. package/dist/column-manager/label.js +12 -11
  52. package/dist/column-manager/leaf.d.ts +2 -10
  53. package/dist/column-manager/leaf.js +32 -42
  54. package/dist/column-manager/move-handle.d.ts +6 -14
  55. package/dist/column-manager/move-handle.js +50 -54
  56. package/dist/column-manager/root.d.ts +3 -9
  57. package/dist/column-manager/root.js +13 -26
  58. package/dist/column-manager/use-column-manager.d.ts +12 -12
  59. package/dist/column-manager/use-column-manager.js +20 -20
  60. package/dist/column-manager/use-columns-from-context.js +18 -18
  61. package/dist/column-manager/visibility-checkbox.d.ts +6 -14
  62. package/dist/column-manager/visibility-checkbox.js +23 -36
  63. package/dist/context.d.ts +4 -4
  64. package/dist/filter-tree/branch.d.ts +5 -13
  65. package/dist/filter-tree/branch.js +13 -23
  66. package/dist/filter-tree/context.d.ts +16 -16
  67. package/dist/filter-tree/filter-tree.d.ts +8 -49
  68. package/dist/filter-tree/filter-tree.js +8 -8
  69. package/dist/filter-tree/hooks/use-filter-tree.d.ts +29 -35
  70. package/dist/filter-tree/hooks/use-filter-tree.js +92 -94
  71. package/dist/filter-tree/hooks/use-tree-item.d.ts +4 -4
  72. package/dist/filter-tree/hooks/use-tree-item.js +106 -99
  73. package/dist/filter-tree/inclusion-checkbox.d.ts +6 -14
  74. package/dist/filter-tree/inclusion-checkbox.js +9 -19
  75. package/dist/filter-tree/label.d.ts +2 -10
  76. package/dist/filter-tree/label.js +12 -11
  77. package/dist/filter-tree/leaf.d.ts +2 -10
  78. package/dist/filter-tree/leaf.js +5 -15
  79. package/dist/filter-tree/root.d.ts +7 -23
  80. package/dist/filter-tree/root.js +23 -51
  81. package/dist/grid-box/+types.d.ts +9 -9
  82. package/dist/grid-box/context.d.ts +3 -3
  83. package/dist/grid-box/grid-box.d.ts +6 -26
  84. package/dist/grid-box/grid-box.js +6 -6
  85. package/dist/grid-box/item.d.ts +3 -11
  86. package/dist/grid-box/item.js +26 -29
  87. package/dist/grid-box/panel.d.ts +1 -13
  88. package/dist/grid-box/panel.js +2 -9
  89. package/dist/grid-box/root.d.ts +5 -11
  90. package/dist/grid-box/root.js +2 -11
  91. package/dist/grid-box/use-aggregation-box-items.d.ts +13 -16
  92. package/dist/grid-box/use-aggregation-box-items.js +55 -54
  93. package/dist/grid-box/use-column-box-items.d.ts +21 -31
  94. package/dist/grid-box/use-column-box-items.js +78 -90
  95. package/dist/grid-box/use-row-group-box-items.d.ts +12 -17
  96. package/dist/grid-box/use-row-group-box-items.js +124 -116
  97. package/dist/grid-provider/context.d.ts +2 -4
  98. package/dist/grid-provider/provider.d.ts +2 -4
  99. package/dist/grid-provider/use-grid.d.ts +1 -1
  100. package/dist/grid.d.ts +26 -150
  101. package/dist/grid.js +26 -38
  102. package/dist/header/header-cell.d.ts +5 -13
  103. package/dist/header/header-cell.js +15 -41
  104. package/dist/header/header-group-cell.d.ts +2 -10
  105. package/dist/header/header-group-cell.js +6 -21
  106. package/dist/header/header-row.d.ts +2 -10
  107. package/dist/header/header-row.js +2 -2
  108. package/dist/header/header.d.ts +1 -10
  109. package/dist/header/header.js +2 -11
  110. package/dist/header/resize-handler.d.ts +6 -15
  111. package/dist/header/resize-handler.js +118 -128
  112. package/dist/header/use-drag-move.d.ts +11 -22
  113. package/dist/header/use-drag-move.js +87 -83
  114. package/dist/header/use-header-cell-renderer.d.ts +2 -9
  115. package/dist/header/use-header-cell-renderer.js +29 -24
  116. package/dist/icons/index.d.ts +1 -92
  117. package/dist/icons/index.js +1 -92
  118. package/dist/license.js +174 -174
  119. package/dist/listbox/context.d.ts +2 -2
  120. package/dist/listbox/item.d.ts +1 -10
  121. package/dist/listbox/item.js +19 -23
  122. package/dist/listbox/panel.d.ts +1 -10
  123. package/dist/listbox/panel.js +43 -69
  124. package/dist/listbox/root.d.ts +3 -5
  125. package/dist/listbox/root.js +7 -7
  126. package/dist/root/dialog-driver.js +16 -22
  127. package/dist/root/popover-driver.js +16 -27
  128. package/dist/root/root.d.ts +3 -7
  129. package/dist/root/root.js +107 -111
  130. package/dist/row-data-source-client/+types.d.ts +17 -17
  131. package/dist/row-data-source-client/built-ins/avg.js +4 -3
  132. package/dist/row-data-source-client/built-ins/built-ins.d.ts +16 -16
  133. package/dist/row-data-source-client/built-ins/built-ins.js +16 -16
  134. package/dist/row-data-source-client/built-ins/count.js +5 -3
  135. package/dist/row-data-source-client/built-ins/first.js +1 -1
  136. package/dist/row-data-source-client/built-ins/group.js +1 -1
  137. package/dist/row-data-source-client/built-ins/last.js +1 -1
  138. package/dist/row-data-source-client/built-ins/max.js +13 -9
  139. package/dist/row-data-source-client/built-ins/min.js +13 -9
  140. package/dist/row-data-source-client/built-ins/sum.js +10 -8
  141. package/dist/row-data-source-client/filter/+types.d.ts +13 -35
  142. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +2 -16
  143. package/dist/row-data-source-client/filter/compute-filtered-rows.js +102 -102
  144. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +4 -8
  145. package/dist/row-data-source-client/pivots/create-agg-model.js +9 -8
  146. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +1 -6
  147. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +46 -42
  148. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +1 -6
  149. package/dist/row-data-source-client/pivots/create-pivot-columns.js +17 -16
  150. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +1 -7
  151. package/dist/row-data-source-client/pivots/create-pivot-tree.js +19 -19
  152. package/dist/row-data-source-client/tree/client-tree.d.ts +13 -19
  153. package/dist/row-data-source-client/tree/client-tree.js +67 -64
  154. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +1 -4
  155. package/dist/row-data-source-client/tree/evaluator-aggregation.js +6 -6
  156. package/dist/row-data-source-client/tree/evaluator-group.d.ts +1 -4
  157. package/dist/row-data-source-client/tree/evaluator-group.js +7 -6
  158. package/dist/row-data-source-client/tree/traverse.d.ts +1 -5
  159. package/dist/row-data-source-client/tree/traverse.js +18 -15
  160. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +5 -9
  161. package/dist/row-data-source-client/use-client-data-source-paginated.js +535 -539
  162. package/dist/row-data-source-client/use-client-data-source.d.ts +5 -9
  163. package/dist/row-data-source-client/use-client-data-source.js +660 -682
  164. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +5 -9
  165. package/dist/row-data-source-client/use-client-tree-data-source.js +512 -510
  166. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +33 -36
  167. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +1 -4
  168. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +22 -18
  169. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +1 -4
  170. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +25 -17
  171. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +18 -18
  172. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +10 -9
  173. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +1 -4
  174. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +14 -13
  175. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +10 -9
  176. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +1 -4
  177. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +13 -13
  178. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +1 -4
  179. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +1 -1
  180. package/dist/row-data-source-server/async-tree/make-async-tree.js +14 -14
  181. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +1 -3
  182. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +6 -6
  183. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +1 -5
  184. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +14 -11
  185. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +1 -4
  186. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +46 -42
  187. package/dist/row-data-source-server/range-tree/range-tree.d.ts +28 -28
  188. package/dist/row-data-source-server/range-tree/range-tree.js +48 -49
  189. package/dist/row-data-source-server/use-server-data-source.d.ts +2 -11
  190. package/dist/row-data-source-server/use-server-data-source.js +652 -665
  191. package/dist/row-data-source-server/utils/get-node-depth.js +7 -7
  192. package/dist/row-data-source-server/utils/get-node-path.js +7 -7
  193. package/dist/row-data-source-server/utils/get-request-id.js +4 -3
  194. package/dist/rows/row/context.d.ts +2 -2
  195. package/dist/rows/row/row.d.ts +3 -16
  196. package/dist/rows/row/row.js +4 -19
  197. package/dist/rows/row/use-row-context-value.d.ts +2 -5
  198. package/dist/rows/row/use-row-context-value.js +26 -23
  199. package/dist/rows/row-detail-row.d.ts +2 -4
  200. package/dist/rows/row-detail-row.js +124 -147
  201. package/dist/rows/row-full-width.d.ts +4 -12
  202. package/dist/rows/row-full-width.js +7 -35
  203. package/dist/rows/rows-container.d.ts +1 -10
  204. package/dist/rows/rows-container.js +3 -12
  205. package/dist/rows/rows-sections.d.ts +3 -30
  206. package/dist/rows/rows-sections.js +10 -42
  207. package/dist/rows/scrollers/native-scroller.d.ts +1 -3
  208. package/dist/rows/scrollers/native-scroller.js +13 -17
  209. package/dist/sort-manager/+types.d.ts +7 -14
  210. package/dist/sort-manager/context.d.ts +4 -4
  211. package/dist/sort-manager/hooks/use-sort-manager.d.ts +9 -9
  212. package/dist/sort-manager/hooks/use-sort-manager.js +49 -45
  213. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +46 -57
  214. package/dist/sort-manager/hooks/use-sort-row-item.js +131 -126
  215. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +3 -6
  216. package/dist/sort-manager/hooks/use-sortable-column-items.js +10 -10
  217. package/dist/sort-manager/root.d.ts +1 -7
  218. package/dist/sort-manager/root.js +10 -10
  219. package/dist/sort-manager/sort-add.d.ts +5 -13
  220. package/dist/sort-manager/sort-add.js +8 -8
  221. package/dist/sort-manager/sort-apply.d.ts +4 -12
  222. package/dist/sort-manager/sort-apply.js +16 -16
  223. package/dist/sort-manager/sort-cancel.d.ts +4 -12
  224. package/dist/sort-manager/sort-cancel.js +19 -19
  225. package/dist/sort-manager/sort-clear.d.ts +4 -12
  226. package/dist/sort-manager/sort-clear.js +16 -15
  227. package/dist/sort-manager/sort-column-select.d.ts +6 -14
  228. package/dist/sort-manager/sort-column-select.js +15 -26
  229. package/dist/sort-manager/sort-direction-select.d.ts +6 -14
  230. package/dist/sort-manager/sort-direction-select.js +19 -27
  231. package/dist/sort-manager/sort-manager.d.ts +12 -93
  232. package/dist/sort-manager/sort-manager.js +12 -12
  233. package/dist/sort-manager/sort-remove.d.ts +4 -12
  234. package/dist/sort-manager/sort-remove.js +8 -8
  235. package/dist/sort-manager/sort-row.d.ts +2 -10
  236. package/dist/sort-manager/sort-row.js +1 -4
  237. package/dist/sort-manager/sort-rows.d.ts +1 -10
  238. package/dist/sort-manager/sort-rows.js +1 -1
  239. package/dist/sort-manager/sort-value-select.d.ts +7 -15
  240. package/dist/sort-manager/sort-value-select.js +19 -28
  241. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +1 -4
  242. package/dist/sort-manager/utils/sort-item-to-sort-model.js +49 -46
  243. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +1 -4
  244. package/dist/sort-manager/utils/sort-model-to-sort-items.js +44 -36
  245. package/dist/state/+types.d.ts +28 -41
  246. package/dist/state/api/column-autosize.d.ts +2 -4
  247. package/dist/state/api/column-autosize.js +63 -62
  248. package/dist/state/api/column-by-id.js +4 -4
  249. package/dist/state/api/column-field.js +20 -17
  250. package/dist/state/api/column-from-index.js +4 -4
  251. package/dist/state/api/column-group-toggle.js +8 -8
  252. package/dist/state/api/column-index.js +5 -5
  253. package/dist/state/api/column-move.js +46 -48
  254. package/dist/state/api/column-resize.js +7 -9
  255. package/dist/state/api/column-update.js +11 -11
  256. package/dist/state/api/dialog-frame.d.ts +4 -8
  257. package/dist/state/api/dialog-frame.js +12 -11
  258. package/dist/state/api/edit-begin.d.ts +2 -4
  259. package/dist/state/api/edit-begin.js +84 -71
  260. package/dist/state/api/edit-end.d.ts +2 -4
  261. package/dist/state/api/edit-end.js +41 -38
  262. package/dist/state/api/edit-is-cell-active.d.ts +2 -4
  263. package/dist/state/api/edit-is-cell-active.js +24 -17
  264. package/dist/state/api/edit-update.d.ts +2 -4
  265. package/dist/state/api/edit-update.js +85 -74
  266. package/dist/state/api/event-listeners.d.ts +3 -12
  267. package/dist/state/api/event-listeners.js +17 -16
  268. package/dist/state/api/export-csv.js +35 -33
  269. package/dist/state/api/export-data-rect.js +21 -21
  270. package/dist/state/api/focus-cell.d.ts +2 -4
  271. package/dist/state/api/focus-cell.js +109 -110
  272. package/dist/state/api/popover-frame.d.ts +4 -8
  273. package/dist/state/api/popover-frame.js +12 -11
  274. package/dist/state/api/position-from-element.js +6 -5
  275. package/dist/state/api/row-by-id.js +3 -3
  276. package/dist/state/api/row-by-index.js +6 -11
  277. package/dist/state/api/row-detail-is-expanded.d.ts +1 -3
  278. package/dist/state/api/row-detail-is-expanded.js +4 -4
  279. package/dist/state/api/row-detail-rendered-height.d.ts +2 -4
  280. package/dist/state/api/row-detail-rendered-height.js +12 -10
  281. package/dist/state/api/row-detail-toggle.js +30 -26
  282. package/dist/state/api/row-group-apply-expansions.d.ts +1 -3
  283. package/dist/state/api/row-group-apply-expansions.js +17 -15
  284. package/dist/state/api/row-group-column-index.d.ts +1 -3
  285. package/dist/state/api/row-group-column-index.js +12 -14
  286. package/dist/state/api/row-group-is-expanded.d.ts +1 -3
  287. package/dist/state/api/row-group-is-expanded.js +13 -11
  288. package/dist/state/api/row-group-toggle.js +5 -5
  289. package/dist/state/api/row-handle-select.d.ts +2 -4
  290. package/dist/state/api/row-handle-select.js +40 -36
  291. package/dist/state/api/row-select-all.js +15 -14
  292. package/dist/state/api/row-select.d.ts +2 -4
  293. package/dist/state/api/row-select.js +33 -30
  294. package/dist/state/api/row-selected.js +11 -10
  295. package/dist/state/api/scroll-into-view.d.ts +2 -4
  296. package/dist/state/api/scroll-into-view.js +47 -47
  297. package/dist/state/api/sort-for-column.js +7 -6
  298. package/dist/state/api/use-row-drag.js +24 -22
  299. package/dist/state/helpers/cell-row-group.d.ts +1 -5
  300. package/dist/state/helpers/cell-row-group.js +16 -18
  301. package/dist/state/helpers/column-add-row-group.d.ts +6 -16
  302. package/dist/state/helpers/column-add-row-group.js +58 -63
  303. package/dist/state/helpers/column-layout.d.ts +1 -7
  304. package/dist/state/helpers/column-layout.js +60 -60
  305. package/dist/state/helpers/column-marker.d.ts +4 -8
  306. package/dist/state/helpers/column-marker.js +34 -38
  307. package/dist/state/helpers/column-view.d.ts +15 -21
  308. package/dist/state/helpers/column-view.js +32 -56
  309. package/dist/state/helpers/edit-on-change.d.ts +10 -18
  310. package/dist/state/helpers/edit-on-change.js +24 -24
  311. package/dist/state/helpers/empty-row-data-source.js +16 -16
  312. package/dist/state/helpers/get-data-rect.d.ts +10 -20
  313. package/dist/state/helpers/get-data-rect.js +62 -67
  314. package/dist/state/helpers/get-full-width-callback.d.ts +1 -5
  315. package/dist/state/helpers/get-full-width-callback.js +6 -5
  316. package/dist/state/helpers/get-span-callback.d.ts +1 -6
  317. package/dist/state/helpers/get-span-callback.js +18 -15
  318. package/dist/state/helpers/resolve-column.d.ts +2 -6
  319. package/dist/state/helpers/resolve-column.js +18 -18
  320. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +12 -15
  321. package/dist/state/helpers/row-layout/get-focus-criteria.js +56 -57
  322. package/dist/state/helpers/row-layout/row-layout.d.ts +9 -15
  323. package/dist/state/helpers/row-layout/row-layout.js +401 -387
  324. package/dist/state/use-lytenyte.js +516 -556
  325. package/dist/tree-view/branch/branch.d.ts +8 -16
  326. package/dist/tree-view/branch/branch.js +52 -104
  327. package/dist/tree-view/branch/use-branch-keys.d.ts +1 -5
  328. package/dist/tree-view/branch/use-branch-keys.js +74 -71
  329. package/dist/tree-view/context.d.ts +17 -21
  330. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +1 -6
  331. package/dist/tree-view/hooks/use-tree-view-paths.js +5 -5
  332. package/dist/tree-view/index.d.ts +7 -35
  333. package/dist/tree-view/index.js +7 -7
  334. package/dist/tree-view/leaf.d.ts +2 -10
  335. package/dist/tree-view/leaf.js +20 -29
  336. package/dist/tree-view/navigation/get-all-ids.js +3 -3
  337. package/dist/tree-view/navigation/get-first-node.js +3 -3
  338. package/dist/tree-view/navigation/get-last-node.js +3 -3
  339. package/dist/tree-view/navigation/get-next-node.js +8 -6
  340. package/dist/tree-view/navigation/get-prev-node.js +8 -6
  341. package/dist/tree-view/panel/make-handle-navigation.js +31 -23
  342. package/dist/tree-view/panel/make-handle-selection.js +77 -68
  343. package/dist/tree-view/panel/make-handle-typeahead.js +40 -34
  344. package/dist/tree-view/panel/panel.d.ts +1 -10
  345. package/dist/tree-view/panel/panel.js +20 -40
  346. package/dist/tree-view/panel/use-tree-navigation.js +52 -64
  347. package/dist/tree-view/root.d.ts +14 -20
  348. package/dist/tree-view/root.js +55 -53
  349. package/dist/tree-view/utils/get-focusable-nodes.js +2 -4
  350. package/dist/tree-view/utils/get-focused-node.js +11 -11
  351. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +1 -5
  352. package/dist/tree-view/utils/get-ids-between-nodes.js +11 -10
  353. package/dist/tree-view/utils/get-panel.js +5 -5
  354. package/dist/tree-view/utils/get-parent-node.js +7 -6
  355. package/dist/tree-view/utils/get-sibling-branches.js +10 -8
  356. package/dist/tree-view/utils/get-tree-node-id.js +1 -1
  357. package/dist/tree-view/utils/is-branch-node.js +1 -1
  358. package/dist/tree-view/utils/is-leaf-node.js +1 -1
  359. package/dist/tree-view/utils/is-tree-node-disabled.js +1 -1
  360. package/dist/tree-view/utils/select-node.d.ts +1 -5
  361. package/dist/tree-view/utils/select-node.js +11 -8
  362. package/dist/tree-view/utils/toggle-all-selections.js +6 -4
  363. package/dist/tree-view/utils/toggle-selection.js +18 -15
  364. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +1 -3
  365. package/dist/tree-view/virtualized/force-sync-scrolling.js +18 -24
  366. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +1 -3
  367. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +12 -11
  368. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +21 -26
  369. package/dist/tree-view/virtualized/make-virtual-tree.js +85 -79
  370. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +8 -17
  371. package/dist/tree-view/virtualized/use-flattened-tree.js +31 -30
  372. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +1 -6
  373. package/dist/tree-view/virtualized/use-row-start-and-end.js +23 -21
  374. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +15 -21
  375. package/dist/tree-view/virtualized/use-virtualized-tree.js +90 -103
  376. package/dist/utils/cycle-sorts.js +14 -12
  377. package/dist/viewport/begin-editing.d.ts +2 -6
  378. package/dist/viewport/begin-editing.js +13 -9
  379. package/dist/viewport/viewport.d.ts +1 -10
  380. package/dist/viewport/viewport.js +70 -93
  381. package/package.json +7 -7
@@ -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 slot?: SlotComponent<{
4
- onAdd: () => void;
5
- disabled: boolean;
6
- }>;
3
+ readonly slot?: 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({ slot, ...props }, forwarded) {
6
- const row = useSortRowCtx();
7
- const renderer = useSlot({
8
- props: [props],
9
- ref: forwarded,
10
- slot: slot ?? _jsx("button", { onClick: row.onAdd, disabled: !row.canAdd, children: "+" }),
11
- state: { onAdd: row.onAdd, disabled: !row.canAdd },
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.onAdd, disabled: !row.canAdd, 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 slot?: SlotComponent<{
4
- onApply: () => void;
5
- }>;
3
+ readonly slot?: 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({ slot, ...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: [props],
19
- ref: forwarded,
20
- slot: slot ?? _jsx("button", { onClick: onApply }),
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: [props],
19
+ ref: forwarded,
20
+ slot: slot ?? _jsx("button", { onClick: onApply }),
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 slot?: SlotComponent<{
4
- onCancel: () => void;
5
- }>;
3
+ readonly slot?: 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({ slot, ...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: [props],
22
- ref: forwarded,
23
- slot: slot ?? _jsx("button", { onClick: onCancel }),
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: [props],
22
+ ref: forwarded,
23
+ slot: slot ?? _jsx("button", { onClick: onCancel }),
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 slot?: SlotComponent<{
4
- onClear: () => void;
5
- }>;
3
+ readonly slot?: 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({ slot, ...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: [props],
16
- ref: forwarded,
17
- slot: slot ?? _jsx("button", { onClick: onClear }),
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: [props],
17
+ ref: forwarded,
18
+ slot: slot ?? _jsx("button", { onClick: onClear }),
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 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 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>>;
@@ -2,30 +2,19 @@ import { jsx as _jsx, jsxs as _jsxs } 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 SortColumnSelect = forwardRef(function SortColumnSelect(
6
- { slot, ...props },
7
- forwarded,
8
- ) {
9
- const row = useSortRowCtx();
10
- const el = _jsxs("select", {
11
- "aria-label": "Select column to sort",
12
- value: row.columnItem?.value ?? "",
13
- onChange: (e) => {
14
- const item = row.columnOptions.find((c) => c.value === e.target.value);
15
- row.columnOnSelect(item ?? null);
16
- },
17
- children: [
18
- _jsx("option", { value: "", children: "Select..." }),
19
- row.columnOptions.map((c) => {
20
- return _jsx("option", { value: c.value, children: c.label }, c.value);
21
- }),
22
- ],
23
- });
24
- const renderer = useSlot({
25
- props: [props],
26
- ref: forwarded,
27
- slot: slot ?? el,
28
- state: { options: row.columnOptions, onSelect: row.columnOnSelect, value: row.columnSelected },
29
- });
30
- return renderer;
5
+ export const SortColumnSelect = forwardRef(function SortColumnSelect({ slot, ...props }, forwarded) {
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: slot ?? el,
17
+ state: { options: row.columnOptions, onSelect: row.columnOnSelect, value: row.columnSelected },
18
+ });
19
+ return renderer;
31
20
  });