@1771technologies/lytenyte-pro 1.0.20 → 2.0.0-dev.0

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 (534) hide show
  1. package/css/all-colors.css +8 -0
  2. package/css/components/button.css +176 -0
  3. package/css/components/checkbox.css +54 -0
  4. package/css/components/input.css +64 -0
  5. package/css/components/tree-view.css +108 -0
  6. package/css/components.css +300 -0
  7. package/css/cotton-candy.css +1 -0
  8. package/css/dark.css +1 -0
  9. package/css/design.css +1 -0
  10. package/css/fonts.css +1 -0
  11. package/css/grid-full.css +3 -0
  12. package/css/grid.css +81 -0
  13. package/css/light-dark.css +3 -0
  14. package/css/light.css +1 -0
  15. package/css/pill-manager.css +184 -0
  16. package/css/shadcn-vars.css +1 -0
  17. package/css/shadcn.css +1 -0
  18. package/css/teal.css +1 -0
  19. package/css/term.css +1 -0
  20. package/css/tw.css +1 -0
  21. package/package.json +29 -16
  22. package/dist/+types.d.ts +0 -6177
  23. package/dist/+types.js +0 -1
  24. package/dist/__play__/cell-selections/cell-selection.play.d.ts +0 -5
  25. package/dist/__play__/cell-selections/cell-selection.play.js +0 -80
  26. package/dist/__play__/filter-select/filter-select.play.d.ts +0 -4
  27. package/dist/__play__/filter-select/filter-select.play.js +0 -76
  28. package/dist/__play__/test-utils/bank-data-smaller.d.ts +0 -19
  29. package/dist/__play__/test-utils/bank-data-smaller.js +0 -252
  30. package/dist/__play__/test-utils/row-handler.d.ts +0 -6
  31. package/dist/__play__/test-utils/row-handler.js +0 -32
  32. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +0 -2
  33. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +0 -43
  34. package/dist/cell-selection/are-rects-equal.d.ts +0 -2
  35. package/dist/cell-selection/are-rects-equal.js +0 -6
  36. package/dist/cell-selection/bound-selection-rect.d.ts +0 -2
  37. package/dist/cell-selection/bound-selection-rect.js +0 -17
  38. package/dist/cell-selection/cell-selection-containers.d.ts +0 -3
  39. package/dist/cell-selection/cell-selection-containers.js +0 -91
  40. package/dist/cell-selection/cell-selection-driver.d.ts +0 -1
  41. package/dist/cell-selection/cell-selection-driver.js +0 -289
  42. package/dist/cell-selection/cell-style-row.d.ts +0 -8
  43. package/dist/cell-selection/cell-style-row.js +0 -84
  44. package/dist/cell-selection/deselect-rect-range.d.ts +0 -2
  45. package/dist/cell-selection/deselect-rect-range.js +0 -43
  46. package/dist/cell-selection/expand-cell-selection-down.d.ts +0 -5
  47. package/dist/cell-selection/expand-cell-selection-down.js +0 -39
  48. package/dist/cell-selection/expand-cell-selection-end.d.ts +0 -5
  49. package/dist/cell-selection/expand-cell-selection-end.js +0 -40
  50. package/dist/cell-selection/expand-cell-selection-start.d.ts +0 -5
  51. package/dist/cell-selection/expand-cell-selection-start.js +0 -39
  52. package/dist/cell-selection/expand-cell-selection-up.d.ts +0 -5
  53. package/dist/cell-selection/expand-cell-selection-up.js +0 -39
  54. package/dist/cell-selection/full-width-start-end-index.d.ts +0 -2
  55. package/dist/cell-selection/full-width-start-end-index.js +0 -5
  56. package/dist/cell-selection/get-root-cell.d.ts +0 -2
  57. package/dist/cell-selection/get-root-cell.js +0 -6
  58. package/dist/cell-selection/index.d.ts +0 -18
  59. package/dist/cell-selection/index.js +0 -18
  60. package/dist/cell-selection/is-bottom-rect.d.ts +0 -2
  61. package/dist/cell-selection/is-bottom-rect.js +0 -7
  62. package/dist/cell-selection/is-center-col-rect.d.ts +0 -5
  63. package/dist/cell-selection/is-center-col-rect.js +0 -5
  64. package/dist/cell-selection/is-center-rect.d.ts +0 -2
  65. package/dist/cell-selection/is-center-rect.js +0 -5
  66. package/dist/cell-selection/is-end-rect.d.ts +0 -5
  67. package/dist/cell-selection/is-end-rect.js +0 -4
  68. package/dist/cell-selection/is-overlapping-rect.d.ts +0 -2
  69. package/dist/cell-selection/is-overlapping-rect.js +0 -6
  70. package/dist/cell-selection/is-start-rect.d.ts +0 -5
  71. package/dist/cell-selection/is-start-rect.js +0 -4
  72. package/dist/cell-selection/is-top-rect.d.ts +0 -2
  73. package/dist/cell-selection/is-top-rect.js +0 -4
  74. package/dist/cell-selection/is-within-selection-rect.d.ts +0 -2
  75. package/dist/cell-selection/is-within-selection-rect.js +0 -3
  76. package/dist/cell-selection/split-cell-selection-rect.d.ts +0 -46
  77. package/dist/cell-selection/split-cell-selection-rect.js +0 -88
  78. package/dist/cell-selection/split-on-pivot.d.ts +0 -3
  79. package/dist/cell-selection/split-on-pivot.js +0 -50
  80. package/dist/cell-selection/update-additive-cell-selection.d.ts +0 -5
  81. package/dist/cell-selection/update-additive-cell-selection.js +0 -23
  82. package/dist/cell-selection/use-edge-scroll.d.ts +0 -10
  83. package/dist/cell-selection/use-edge-scroll.js +0 -66
  84. package/dist/column-manager/branch-lookup-context.d.ts +0 -4
  85. package/dist/column-manager/branch-lookup-context.js +0 -3
  86. package/dist/column-manager/branch.d.ts +0 -15
  87. package/dist/column-manager/branch.js +0 -54
  88. package/dist/column-manager/column-manager.d.ts +0 -13
  89. package/dist/column-manager/column-manager.js +0 -18
  90. package/dist/column-manager/context.d.ts +0 -7
  91. package/dist/column-manager/context.js +0 -3
  92. package/dist/column-manager/label.d.ts +0 -5
  93. package/dist/column-manager/label.js +0 -18
  94. package/dist/column-manager/leaf.d.ts +0 -6
  95. package/dist/column-manager/leaf.js +0 -58
  96. package/dist/column-manager/move-handle.d.ts +0 -5
  97. package/dist/column-manager/move-handle.js +0 -72
  98. package/dist/column-manager/panel.d.ts +0 -1
  99. package/dist/column-manager/panel.js +0 -2
  100. package/dist/column-manager/root.d.ts +0 -8
  101. package/dist/column-manager/root.js +0 -7
  102. package/dist/column-manager/use-column-manager.d.ts +0 -10
  103. package/dist/column-manager/use-column-manager.js +0 -24
  104. package/dist/column-manager/use-columns-from-context.d.ts +0 -3
  105. package/dist/column-manager/use-columns-from-context.js +0 -23
  106. package/dist/column-manager/visibility-checkbox.d.ts +0 -9
  107. package/dist/column-manager/visibility-checkbox.js +0 -30
  108. package/dist/context.d.ts +0 -11
  109. package/dist/context.js +0 -5
  110. package/dist/filter-selects/apply.d.ts +0 -7
  111. package/dist/filter-selects/apply.js +0 -22
  112. package/dist/filter-selects/clear.d.ts +0 -7
  113. package/dist/filter-selects/clear.js +0 -22
  114. package/dist/filter-selects/context.d.ts +0 -13
  115. package/dist/filter-selects/context.js +0 -3
  116. package/dist/filter-selects/filter-combinator.d.ts +0 -10
  117. package/dist/filter-selects/filter-combinator.js +0 -19
  118. package/dist/filter-selects/filter-row-context.d.ts +0 -30
  119. package/dist/filter-selects/filter-row-context.js +0 -3
  120. package/dist/filter-selects/filter-row.d.ts +0 -13
  121. package/dist/filter-selects/filter-row.js +0 -118
  122. package/dist/filter-selects/index.d.ts +0 -22
  123. package/dist/filter-selects/index.js +0 -20
  124. package/dist/filter-selects/is-complete-filter.d.ts +0 -2
  125. package/dist/filter-selects/is-complete-filter.js +0 -5
  126. package/dist/filter-selects/operator-select.d.ts +0 -14
  127. package/dist/filter-selects/operator-select.js +0 -25
  128. package/dist/filter-selects/options.d.ts +0 -9
  129. package/dist/filter-selects/options.js +0 -100
  130. package/dist/filter-selects/reset.d.ts +0 -7
  131. package/dist/filter-selects/reset.js +0 -22
  132. package/dist/filter-selects/root.d.ts +0 -14
  133. package/dist/filter-selects/root.js +0 -5
  134. package/dist/filter-selects/to-filter-item.d.ts +0 -3
  135. package/dist/filter-selects/to-filter-item.js +0 -7
  136. package/dist/filter-selects/use-filter-select.d.ts +0 -38
  137. package/dist/filter-selects/use-filter-select.js +0 -167
  138. package/dist/filter-selects/value-input.d.ts +0 -12
  139. package/dist/filter-selects/value-input.js +0 -27
  140. package/dist/filter-tree/branch.d.ts +0 -13
  141. package/dist/filter-tree/branch.js +0 -21
  142. package/dist/filter-tree/context.d.ts +0 -27
  143. package/dist/filter-tree/context.js +0 -5
  144. package/dist/filter-tree/filter-tree.d.ts +0 -14
  145. package/dist/filter-tree/filter-tree.js +0 -18
  146. package/dist/filter-tree/hooks/use-filter-tree.d.ts +0 -38
  147. package/dist/filter-tree/hooks/use-filter-tree.js +0 -101
  148. package/dist/filter-tree/hooks/use-tree-item.d.ts +0 -8
  149. package/dist/filter-tree/hooks/use-tree-item.js +0 -116
  150. package/dist/filter-tree/inclusion-checkbox.d.ts +0 -9
  151. package/dist/filter-tree/inclusion-checkbox.js +0 -14
  152. package/dist/filter-tree/label.d.ts +0 -5
  153. package/dist/filter-tree/label.js +0 -18
  154. package/dist/filter-tree/leaf.d.ts +0 -6
  155. package/dist/filter-tree/leaf.js +0 -14
  156. package/dist/filter-tree/root.d.ts +0 -13
  157. package/dist/filter-tree/root.js +0 -30
  158. package/dist/grid/cell.d.ts +0 -6
  159. package/dist/grid/cell.js +0 -3
  160. package/dist/grid/dialog-driver.d.ts +0 -1
  161. package/dist/grid/dialog-driver.js +0 -21
  162. package/dist/grid/header-cell.d.ts +0 -10
  163. package/dist/grid/header-cell.js +0 -3
  164. package/dist/grid/header-group-cell.d.ts +0 -6
  165. package/dist/grid/header-group-cell.js +0 -3
  166. package/dist/grid/header-row.d.ts +0 -5
  167. package/dist/grid/header-row.js +0 -2
  168. package/dist/grid/header.d.ts +0 -1
  169. package/dist/grid/header.js +0 -2
  170. package/dist/grid/popover-driver.d.ts +0 -1
  171. package/dist/grid/popover-driver.js +0 -21
  172. package/dist/grid/root.d.ts +0 -8
  173. package/dist/grid/root.js +0 -37
  174. package/dist/grid/row-full-width.d.ts +0 -9
  175. package/dist/grid/row-full-width.js +0 -3
  176. package/dist/grid/row.d.ts +0 -8
  177. package/dist/grid/row.js +0 -3
  178. package/dist/grid/rows-container.d.ts +0 -1
  179. package/dist/grid/rows-container.js +0 -2
  180. package/dist/grid/rows-sections.d.ts +0 -3
  181. package/dist/grid/rows-sections.js +0 -13
  182. package/dist/grid/viewport.d.ts +0 -1
  183. package/dist/grid/viewport.js +0 -9
  184. package/dist/grid-box/+types.d.ts +0 -15
  185. package/dist/grid-box/+types.js +0 -1
  186. package/dist/grid-box/context.d.ts +0 -9
  187. package/dist/grid-box/context.js +0 -3
  188. package/dist/grid-box/grid-box.d.ts +0 -12
  189. package/dist/grid-box/grid-box.js +0 -14
  190. package/dist/grid-box/item.d.ts +0 -10
  191. package/dist/grid-box/item.js +0 -62
  192. package/dist/grid-box/panel.d.ts +0 -1
  193. package/dist/grid-box/panel.js +0 -9
  194. package/dist/grid-box/root.d.ts +0 -9
  195. package/dist/grid-box/root.js +0 -8
  196. package/dist/grid-box/use-aggregation-box-items.d.ts +0 -18
  197. package/dist/grid-box/use-aggregation-box-items.js +0 -61
  198. package/dist/grid-box/use-column-box-items.d.ts +0 -34
  199. package/dist/grid-box/use-column-box-items.js +0 -78
  200. package/dist/grid-box/use-row-group-box-items.d.ts +0 -18
  201. package/dist/grid-box/use-row-group-box-items.js +0 -169
  202. package/dist/grid-provider/context.d.ts +0 -5
  203. package/dist/grid-provider/context.js +0 -2
  204. package/dist/grid-provider/provider.d.ts +0 -3
  205. package/dist/grid-provider/provider.js +0 -2
  206. package/dist/grid-provider/use-grid.d.ts +0 -3
  207. package/dist/grid-provider/use-grid.js +0 -3
  208. package/dist/grid.d.ts +0 -18
  209. package/dist/grid.js +0 -28
  210. package/dist/icons/index.d.ts +0 -1
  211. package/dist/icons/index.js +0 -1
  212. package/dist/index.d.ts +0 -14
  213. package/dist/index.js +0 -14
  214. package/dist/license/index.d.ts +0 -1
  215. package/dist/license/index.js +0 -1
  216. package/dist/license/license.d.ts +0 -3
  217. package/dist/license/license.js +0 -215
  218. package/dist/license/md5-hash.d.ts +0 -9
  219. package/dist/license/md5-hash.js +0 -167
  220. package/dist/license.d.ts +0 -3
  221. package/dist/license.js +0 -214
  222. package/dist/listbox/context.d.ts +0 -6
  223. package/dist/listbox/context.js +0 -3
  224. package/dist/listbox/item.d.ts +0 -1
  225. package/dist/listbox/item.js +0 -25
  226. package/dist/listbox/panel.d.ts +0 -1
  227. package/dist/listbox/panel.js +0 -50
  228. package/dist/listbox/root.d.ts +0 -6
  229. package/dist/listbox/root.js +0 -12
  230. package/dist/row-data-source-client/+constants.d.ts +0 -2
  231. package/dist/row-data-source-client/+constants.js +0 -2
  232. package/dist/row-data-source-client/+types.d.ts +0 -27
  233. package/dist/row-data-source-client/+types.js +0 -1
  234. package/dist/row-data-source-client/built-ins/avg.d.ts +0 -10
  235. package/dist/row-data-source-client/built-ins/avg.js +0 -16
  236. package/dist/row-data-source-client/built-ins/built-ins.d.ts +0 -44
  237. package/dist/row-data-source-client/built-ins/built-ins.js +0 -44
  238. package/dist/row-data-source-client/built-ins/count.d.ts +0 -10
  239. package/dist/row-data-source-client/built-ins/count.js +0 -16
  240. package/dist/row-data-source-client/built-ins/first.d.ts +0 -10
  241. package/dist/row-data-source-client/built-ins/first.js +0 -12
  242. package/dist/row-data-source-client/built-ins/group.d.ts +0 -1
  243. package/dist/row-data-source-client/built-ins/group.js +0 -3
  244. package/dist/row-data-source-client/built-ins/last.d.ts +0 -10
  245. package/dist/row-data-source-client/built-ins/last.js +0 -12
  246. package/dist/row-data-source-client/built-ins/max.d.ts +0 -11
  247. package/dist/row-data-source-client/built-ins/max.js +0 -25
  248. package/dist/row-data-source-client/built-ins/min.d.ts +0 -11
  249. package/dist/row-data-source-client/built-ins/min.js +0 -25
  250. package/dist/row-data-source-client/built-ins/sum.d.ts +0 -10
  251. package/dist/row-data-source-client/built-ins/sum.js +0 -21
  252. package/dist/row-data-source-client/filter/+types.d.ts +0 -23
  253. package/dist/row-data-source-client/filter/+types.js +0 -1
  254. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +0 -2
  255. package/dist/row-data-source-client/filter/compute-filtered-rows.js +0 -109
  256. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +0 -6
  257. package/dist/row-data-source-client/pivots/create-agg-model.js +0 -13
  258. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +0 -2
  259. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +0 -50
  260. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +0 -2
  261. package/dist/row-data-source-client/pivots/create-pivot-columns.js +0 -22
  262. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +0 -2
  263. package/dist/row-data-source-client/pivots/create-pivot-tree.js +0 -23
  264. package/dist/row-data-source-client/tree/client-tree.d.ts +0 -18
  265. package/dist/row-data-source-client/tree/client-tree.js +0 -76
  266. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +0 -2
  267. package/dist/row-data-source-client/tree/evaluator-aggregation.js +0 -8
  268. package/dist/row-data-source-client/tree/evaluator-group.d.ts +0 -2
  269. package/dist/row-data-source-client/tree/evaluator-group.js +0 -9
  270. package/dist/row-data-source-client/tree/traverse.d.ts +0 -2
  271. package/dist/row-data-source-client/tree/traverse.js +0 -22
  272. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +0 -10
  273. package/dist/row-data-source-client/use-client-data-source-paginated.js +0 -573
  274. package/dist/row-data-source-client/use-client-data-source.d.ts +0 -10
  275. package/dist/row-data-source-client/use-client-data-source.js +0 -667
  276. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +0 -9
  277. package/dist/row-data-source-client/use-client-tree-data-source.js +0 -512
  278. package/dist/row-data-source-server/async-tree/+constants.async-tree.d.ts +0 -1
  279. package/dist/row-data-source-server/async-tree/+constants.async-tree.js +0 -1
  280. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +0 -59
  281. package/dist/row-data-source-server/async-tree/+types.async-tree.js +0 -1
  282. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +0 -2
  283. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +0 -27
  284. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +0 -2
  285. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +0 -36
  286. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.d.ts +0 -2
  287. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +0 -24
  288. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.d.ts +0 -2
  289. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +0 -14
  290. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +0 -2
  291. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +0 -18
  292. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.d.ts +0 -2
  293. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +0 -14
  294. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +0 -2
  295. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +0 -18
  296. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +0 -2
  297. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +0 -3
  298. package/dist/row-data-source-server/async-tree/make-async-tree.d.ts +0 -2
  299. package/dist/row-data-source-server/async-tree/make-async-tree.js +0 -19
  300. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +0 -2
  301. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +0 -8
  302. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +0 -2
  303. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +0 -17
  304. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +0 -2
  305. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +0 -52
  306. package/dist/row-data-source-server/range-tree/range-tree.d.ts +0 -66
  307. package/dist/row-data-source-server/range-tree/range-tree.js +0 -102
  308. package/dist/row-data-source-server/server-data.d.ts +0 -70
  309. package/dist/row-data-source-server/server-data.js +0 -519
  310. package/dist/row-data-source-server/use-server-data-source.d.ts +0 -3
  311. package/dist/row-data-source-server/use-server-data-source.js +0 -413
  312. package/dist/row-data-source-server/utils/get-node-depth.d.ts +0 -2
  313. package/dist/row-data-source-server/utils/get-node-depth.js +0 -9
  314. package/dist/row-data-source-server/utils/get-node-path.d.ts +0 -2
  315. package/dist/row-data-source-server/utils/get-node-path.js +0 -9
  316. package/dist/row-data-source-server/utils/get-request-id.d.ts +0 -1
  317. package/dist/row-data-source-server/utils/get-request-id.js +0 -6
  318. package/dist/sort-manager/+types.d.ts +0 -13
  319. package/dist/sort-manager/+types.js +0 -1
  320. package/dist/sort-manager/context.d.ts +0 -14
  321. package/dist/sort-manager/context.js +0 -5
  322. package/dist/sort-manager/hooks/use-sort-manager.d.ts +0 -15
  323. package/dist/sort-manager/hooks/use-sort-manager.js +0 -56
  324. package/dist/sort-manager/hooks/use-sort-row-item.d.ts +0 -51
  325. package/dist/sort-manager/hooks/use-sort-row-item.js +0 -145
  326. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +0 -5
  327. package/dist/sort-manager/hooks/use-sortable-column-items.js +0 -13
  328. package/dist/sort-manager/root.d.ts +0 -3
  329. package/dist/sort-manager/root.js +0 -14
  330. package/dist/sort-manager/sort-add.d.ts +0 -8
  331. package/dist/sort-manager/sort-add.js +0 -14
  332. package/dist/sort-manager/sort-apply.d.ts +0 -7
  333. package/dist/sort-manager/sort-apply.js +0 -24
  334. package/dist/sort-manager/sort-cancel.d.ts +0 -7
  335. package/dist/sort-manager/sort-cancel.js +0 -27
  336. package/dist/sort-manager/sort-clear.d.ts +0 -7
  337. package/dist/sort-manager/sort-clear.js +0 -22
  338. package/dist/sort-manager/sort-column-select.d.ts +0 -10
  339. package/dist/sort-manager/sort-column-select.js +0 -20
  340. package/dist/sort-manager/sort-direction-select.d.ts +0 -10
  341. package/dist/sort-manager/sort-direction-select.js +0 -24
  342. package/dist/sort-manager/sort-manager.d.ts +0 -16
  343. package/dist/sort-manager/sort-manager.js +0 -26
  344. package/dist/sort-manager/sort-remove.d.ts +0 -7
  345. package/dist/sort-manager/sort-remove.js +0 -14
  346. package/dist/sort-manager/sort-row.d.ts +0 -5
  347. package/dist/sort-manager/sort-row.js +0 -7
  348. package/dist/sort-manager/sort-rows.d.ts +0 -1
  349. package/dist/sort-manager/sort-rows.js +0 -6
  350. package/dist/sort-manager/sort-value-select.d.ts +0 -11
  351. package/dist/sort-manager/sort-value-select.js +0 -25
  352. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +0 -3
  353. package/dist/sort-manager/utils/sort-item-to-sort-model.js +0 -62
  354. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +0 -3
  355. package/dist/sort-manager/utils/sort-model-to-sort-items.js +0 -50
  356. package/dist/state/+types.d.ts +0 -36
  357. package/dist/state/+types.js +0 -1
  358. package/dist/state/api/cell-root.d.ts +0 -5
  359. package/dist/state/api/cell-root.js +0 -65
  360. package/dist/state/api/column-autosize.d.ts +0 -5
  361. package/dist/state/api/column-autosize.js +0 -72
  362. package/dist/state/api/column-by-id.d.ts +0 -2
  363. package/dist/state/api/column-by-id.js +0 -6
  364. package/dist/state/api/column-field.d.ts +0 -2
  365. package/dist/state/api/column-field.js +0 -23
  366. package/dist/state/api/column-from-index.d.ts +0 -2
  367. package/dist/state/api/column-from-index.js +0 -6
  368. package/dist/state/api/column-group-toggle.d.ts +0 -2
  369. package/dist/state/api/column-group-toggle.js +0 -10
  370. package/dist/state/api/column-index.d.ts +0 -2
  371. package/dist/state/api/column-index.js +0 -7
  372. package/dist/state/api/column-move.d.ts +0 -2
  373. package/dist/state/api/column-move.js +0 -49
  374. package/dist/state/api/column-resize.d.ts +0 -2
  375. package/dist/state/api/column-resize.js +0 -9
  376. package/dist/state/api/column-update.d.ts +0 -5
  377. package/dist/state/api/column-update.js +0 -26
  378. package/dist/state/api/dialog-frame.d.ts +0 -8
  379. package/dist/state/api/dialog-frame.js +0 -16
  380. package/dist/state/api/edit-begin.d.ts +0 -5
  381. package/dist/state/api/edit-begin.js +0 -87
  382. package/dist/state/api/edit-end.d.ts +0 -5
  383. package/dist/state/api/edit-end.js +0 -43
  384. package/dist/state/api/edit-is-cell-active.d.ts +0 -5
  385. package/dist/state/api/edit-is-cell-active.js +0 -22
  386. package/dist/state/api/edit-update.d.ts +0 -5
  387. package/dist/state/api/edit-update.js +0 -88
  388. package/dist/state/api/event-listeners.d.ts +0 -5
  389. package/dist/state/api/event-listeners.js +0 -19
  390. package/dist/state/api/export-csv.d.ts +0 -3
  391. package/dist/state/api/export-csv.js +0 -40
  392. package/dist/state/api/export-data-rect.d.ts +0 -2
  393. package/dist/state/api/export-data-rect.js +0 -24
  394. package/dist/state/api/popover-frame.d.ts +0 -8
  395. package/dist/state/api/popover-frame.js +0 -16
  396. package/dist/state/api/position-from-element.d.ts +0 -5
  397. package/dist/state/api/position-from-element.js +0 -9
  398. package/dist/state/api/row-by-id.d.ts +0 -2
  399. package/dist/state/api/row-by-id.js +0 -5
  400. package/dist/state/api/row-by-index.d.ts +0 -2
  401. package/dist/state/api/row-by-index.js +0 -9
  402. package/dist/state/api/row-detail-is-expanded.d.ts +0 -2
  403. package/dist/state/api/row-detail-is-expanded.js +0 -6
  404. package/dist/state/api/row-detail-rendered-height.d.ts +0 -5
  405. package/dist/state/api/row-detail-rendered-height.js +0 -14
  406. package/dist/state/api/row-detail-toggle.d.ts +0 -2
  407. package/dist/state/api/row-detail-toggle.js +0 -32
  408. package/dist/state/api/row-group-apply-expansions.d.ts +0 -2
  409. package/dist/state/api/row-group-apply-expansions.js +0 -20
  410. package/dist/state/api/row-group-column-index.d.ts +0 -2
  411. package/dist/state/api/row-group-column-index.js +0 -14
  412. package/dist/state/api/row-group-is-expanded.d.ts +0 -2
  413. package/dist/state/api/row-group-is-expanded.js +0 -15
  414. package/dist/state/api/row-group-toggle.d.ts +0 -2
  415. package/dist/state/api/row-group-toggle.js +0 -7
  416. package/dist/state/api/row-handle-select.d.ts +0 -5
  417. package/dist/state/api/row-handle-select.js +0 -43
  418. package/dist/state/api/row-select-all.d.ts +0 -2
  419. package/dist/state/api/row-select-all.js +0 -17
  420. package/dist/state/api/row-select.d.ts +0 -5
  421. package/dist/state/api/row-select.js +0 -35
  422. package/dist/state/api/row-selected.d.ts +0 -2
  423. package/dist/state/api/row-selected.js +0 -13
  424. package/dist/state/api/scroll-into-view.d.ts +0 -5
  425. package/dist/state/api/scroll-into-view.js +0 -50
  426. package/dist/state/api/sort-for-column.d.ts +0 -2
  427. package/dist/state/api/sort-for-column.js +0 -9
  428. package/dist/state/api/use-row-drag.d.ts +0 -2
  429. package/dist/state/api/use-row-drag.js +0 -20
  430. package/dist/state/helpers/cell-row-group.d.ts +0 -2
  431. package/dist/state/helpers/cell-row-group.js +0 -19
  432. package/dist/state/helpers/column-add-row-group.d.ts +0 -10
  433. package/dist/state/helpers/column-add-row-group.js +0 -74
  434. package/dist/state/helpers/column-layout.d.ts +0 -3
  435. package/dist/state/helpers/column-layout.js +0 -59
  436. package/dist/state/helpers/column-marker.d.ts +0 -8
  437. package/dist/state/helpers/column-marker.js +0 -45
  438. package/dist/state/helpers/column-view.d.ts +0 -21
  439. package/dist/state/helpers/column-view.js +0 -33
  440. package/dist/state/helpers/edit-on-change.d.ts +0 -15
  441. package/dist/state/helpers/edit-on-change.js +0 -27
  442. package/dist/state/helpers/empty-row-data-source.d.ts +0 -2
  443. package/dist/state/helpers/empty-row-data-source.js +0 -18
  444. package/dist/state/helpers/get-data-rect.d.ts +0 -13
  445. package/dist/state/helpers/get-data-rect.js +0 -65
  446. package/dist/state/helpers/get-full-width-callback.d.ts +0 -2
  447. package/dist/state/helpers/get-full-width-callback.js +0 -10
  448. package/dist/state/helpers/get-span-callback.d.ts +0 -2
  449. package/dist/state/helpers/get-span-callback.js +0 -22
  450. package/dist/state/helpers/resolve-column.d.ts +0 -4
  451. package/dist/state/helpers/resolve-column.js +0 -29
  452. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +0 -17
  453. package/dist/state/helpers/row-layout/get-focus-criteria.js +0 -62
  454. package/dist/state/helpers/row-layout/row-layout.d.ts +0 -19
  455. package/dist/state/helpers/row-layout/row-layout.js +0 -162
  456. package/dist/state/use-lytenyte.d.ts +0 -3
  457. package/dist/state/use-lytenyte.js +0 -686
  458. package/dist/tree-view/branch/branch.d.ts +0 -14
  459. package/dist/tree-view/branch/branch.js +0 -63
  460. package/dist/tree-view/branch/use-branch-keys.d.ts +0 -2
  461. package/dist/tree-view/branch/use-branch-keys.js +0 -87
  462. package/dist/tree-view/context.d.ts +0 -22
  463. package/dist/tree-view/context.js +0 -3
  464. package/dist/tree-view/depth-provider.d.ts +0 -2
  465. package/dist/tree-view/depth-provider.js +0 -3
  466. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +0 -2
  467. package/dist/tree-view/hooks/use-tree-view-paths.js +0 -9
  468. package/dist/tree-view/index.d.ts +0 -16
  469. package/dist/tree-view/index.js +0 -16
  470. package/dist/tree-view/leaf.d.ts +0 -4
  471. package/dist/tree-view/leaf.js +0 -28
  472. package/dist/tree-view/navigation/get-all-ids.d.ts +0 -1
  473. package/dist/tree-view/navigation/get-all-ids.js +0 -7
  474. package/dist/tree-view/navigation/get-first-node.d.ts +0 -1
  475. package/dist/tree-view/navigation/get-first-node.js +0 -7
  476. package/dist/tree-view/navigation/get-last-node.d.ts +0 -1
  477. package/dist/tree-view/navigation/get-last-node.js +0 -7
  478. package/dist/tree-view/navigation/get-next-node.d.ts +0 -1
  479. package/dist/tree-view/navigation/get-next-node.js +0 -13
  480. package/dist/tree-view/navigation/get-prev-node.d.ts +0 -1
  481. package/dist/tree-view/navigation/get-prev-node.js +0 -13
  482. package/dist/tree-view/panel/make-handle-navigation.d.ts +0 -2
  483. package/dist/tree-view/panel/make-handle-navigation.js +0 -39
  484. package/dist/tree-view/panel/make-handle-selection.d.ts +0 -2
  485. package/dist/tree-view/panel/make-handle-selection.js +0 -92
  486. package/dist/tree-view/panel/make-handle-typeahead.d.ts +0 -1
  487. package/dist/tree-view/panel/make-handle-typeahead.js +0 -45
  488. package/dist/tree-view/panel/panel.d.ts +0 -1
  489. package/dist/tree-view/panel/panel.js +0 -30
  490. package/dist/tree-view/panel/use-tree-navigation.d.ts +0 -1
  491. package/dist/tree-view/panel/use-tree-navigation.js +0 -63
  492. package/dist/tree-view/root.d.ts +0 -17
  493. package/dist/tree-view/root.js +0 -63
  494. package/dist/tree-view/utils/get-focusable-nodes.d.ts +0 -1
  495. package/dist/tree-view/utils/get-focusable-nodes.js +0 -5
  496. package/dist/tree-view/utils/get-focused-node.d.ts +0 -1
  497. package/dist/tree-view/utils/get-focused-node.js +0 -14
  498. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +0 -1
  499. package/dist/tree-view/utils/get-ids-between-nodes.js +0 -15
  500. package/dist/tree-view/utils/get-panel.d.ts +0 -1
  501. package/dist/tree-view/utils/get-panel.js +0 -7
  502. package/dist/tree-view/utils/get-parent-node.d.ts +0 -1
  503. package/dist/tree-view/utils/get-parent-node.js +0 -10
  504. package/dist/tree-view/utils/get-sibling-branches.d.ts +0 -1
  505. package/dist/tree-view/utils/get-sibling-branches.js +0 -14
  506. package/dist/tree-view/utils/get-tree-node-id.d.ts +0 -1
  507. package/dist/tree-view/utils/get-tree-node-id.js +0 -3
  508. package/dist/tree-view/utils/is-branch-node.d.ts +0 -1
  509. package/dist/tree-view/utils/is-branch-node.js +0 -3
  510. package/dist/tree-view/utils/is-leaf-node.d.ts +0 -1
  511. package/dist/tree-view/utils/is-leaf-node.js +0 -3
  512. package/dist/tree-view/utils/is-tree-node-disabled.d.ts +0 -1
  513. package/dist/tree-view/utils/is-tree-node-disabled.js +0 -3
  514. package/dist/tree-view/utils/select-node.d.ts +0 -2
  515. package/dist/tree-view/utils/select-node.js +0 -15
  516. package/dist/tree-view/utils/toggle-all-selections.d.ts +0 -2
  517. package/dist/tree-view/utils/toggle-all-selections.js +0 -9
  518. package/dist/tree-view/utils/toggle-selection.d.ts +0 -2
  519. package/dist/tree-view/utils/toggle-selection.js +0 -21
  520. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +0 -2
  521. package/dist/tree-view/virtualized/force-sync-scrolling.js +0 -23
  522. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +0 -2
  523. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +0 -14
  524. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +0 -31
  525. package/dist/tree-view/virtualized/make-virtual-tree.js +0 -90
  526. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +0 -9
  527. package/dist/tree-view/virtualized/use-flattened-tree.js +0 -36
  528. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +0 -2
  529. package/dist/tree-view/virtualized/use-row-start-and-end.js +0 -27
  530. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +0 -22
  531. package/dist/tree-view/virtualized/use-virtualized-tree.js +0 -100
  532. package/dist/types/types.d.ts +0 -8
  533. package/dist/types/types.js +0 -1
  534. package/main.css +0 -465
@@ -1,43 +0,0 @@
1
- import { getRootCell } from "./get-root-cell.js";
2
- export function adjustRectForRowAndCellSpan(grid, rect) {
3
- let { rowStart, rowEnd, columnStart, columnEnd } = rect;
4
- // Check the top row of the rect.
5
- for (let i = columnStart; i < columnEnd; i++) {
6
- let cell = getRootCell(grid, rowStart, i);
7
- if (cell) {
8
- columnStart = Math.min(columnStart, cell.colIndex);
9
- columnEnd = Math.max(columnEnd, cell.colIndex + cell.colSpan);
10
- rowStart = Math.min(rowStart, cell.rowIndex);
11
- rowEnd = Math.max(rowEnd, cell.rowIndex + cell.rowSpan);
12
- }
13
- cell = getRootCell(grid, rowEnd - 1, i);
14
- if (cell) {
15
- columnStart = Math.min(columnStart, cell.colIndex);
16
- columnEnd = Math.max(columnEnd, cell.colIndex + cell.colSpan);
17
- rowStart = Math.min(rowStart, cell.rowIndex);
18
- rowEnd = Math.max(rowEnd, cell.rowIndex + cell.rowSpan);
19
- }
20
- }
21
- for (let i = rowStart; i < rowEnd; i++) {
22
- let cell = getRootCell(grid, i, columnStart);
23
- if (cell) {
24
- columnStart = Math.min(columnStart, cell.colIndex);
25
- columnEnd = Math.max(columnEnd, cell.colIndex + cell.colSpan);
26
- rowStart = Math.min(rowStart, cell.rowIndex);
27
- rowEnd = Math.max(rowEnd, cell.rowIndex + cell.rowSpan);
28
- }
29
- cell = getRootCell(grid, i, columnEnd - 1);
30
- if (cell) {
31
- columnStart = Math.min(columnStart, cell.colIndex);
32
- columnEnd = Math.max(columnEnd, cell.colIndex + cell.colSpan);
33
- rowStart = Math.min(rowStart, cell.rowIndex);
34
- rowEnd = Math.max(rowEnd, cell.rowIndex + cell.rowSpan);
35
- }
36
- }
37
- return {
38
- rowStart,
39
- rowEnd,
40
- columnStart,
41
- columnEnd,
42
- };
43
- }
@@ -1,2 +0,0 @@
1
- import type { DataRect } from "../+types.js";
2
- export declare function areRectsEqual(left: DataRect, right: DataRect): boolean;
@@ -1,6 +0,0 @@
1
- export function areRectsEqual(left, right) {
2
- return (left.rowStart === right.rowStart &&
3
- left.rowEnd === right.rowEnd &&
4
- left.columnStart === right.columnStart &&
5
- left.columnEnd === right.columnEnd);
6
- }
@@ -1,2 +0,0 @@
1
- import type { DataRect, Grid } from "../+types.js";
2
- export declare function boundSelectionRect(grid: Grid<any>, rect: DataRect): DataRect;
@@ -1,17 +0,0 @@
1
- import { clamp } from "@1771technologies/lytenyte-shared";
2
- export function boundSelectionRect(grid, rect) {
3
- const rowCount = grid.state.rowDataStore.rowCount.get();
4
- const maxRow = rowCount;
5
- const minRow = 0;
6
- const maxColumn = grid.state.columnMeta.get().columnsVisible.length;
7
- const minColumn = 0;
8
- const rowStartMaybe = clamp(minRow, rect.rowStart, maxRow);
9
- const rowEndMaybe = clamp(minRow, rect.rowEnd, maxRow);
10
- const colStartMaybe = clamp(minColumn, rect.columnStart, maxColumn);
11
- const colEndMaybe = clamp(minColumn, rect.columnEnd, maxColumn);
12
- const rowStart = Math.min(rowStartMaybe, rowEndMaybe);
13
- const rowEnd = Math.max(rowStartMaybe, rowEndMaybe);
14
- const columnStart = Math.min(colStartMaybe, colEndMaybe);
15
- const columnEnd = Math.max(colStartMaybe, colEndMaybe);
16
- return { rowStart, rowEnd, columnStart, columnEnd };
17
- }
@@ -1,3 +0,0 @@
1
- export declare const CellSelectionTop: import("react").NamedExoticComponent<object>;
2
- export declare const CellSelectionCenter: import("react").NamedExoticComponent<object>;
3
- export declare const CellSelectionBottom: import("react").NamedExoticComponent<object>;
@@ -1,91 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo, useMemo } from "react";
3
- import { CellStyleRow } from "./cell-style-row.js";
4
- import { useGridRoot } from "../context.js";
5
- import { isTopRect } from "./is-top-rect.js";
6
- import { isCenterRect } from "./is-center-rect.js";
7
- import { isBottomRect } from "./is-bottom-rect.js";
8
- export const CellSelectionTop = memo(function CellSelectionTop() {
9
- const cx = useGridRoot();
10
- const allRects = cx.grid.internal.cellSelectionSplits.useValue();
11
- const topRects = useMemo(() => {
12
- return allRects.filter((rect) => isTopRect(cx.grid, rect));
13
- }, [allRects, cx.grid]);
14
- const mode = cx.grid.state.cellSelectionMode.useValue();
15
- const showPivot = mode === "multi-range" || mode === "range";
16
- const additive = cx.grid.internal.cellSelectionAdditiveRects.useValue();
17
- const isDeselect = cx.grid.internal.cellSelectionIsDeselect.useValue();
18
- const pivot = cx.grid.internal.cellSelectionPivot.useValue();
19
- const additiveRects = useMemo(() => {
20
- if (!additive)
21
- return [];
22
- return additive.filter((rect) => isTopRect(cx.grid, rect));
23
- }, [additive, cx.grid]);
24
- return (_jsxs("div", { role: "presentation", style: {
25
- width: "100%",
26
- height: 0,
27
- display: "grid",
28
- gridTemplateRows: "0px",
29
- gridTemplateColumns: "0px",
30
- }, children: [topRects.map((rect, i) => {
31
- return _jsx(CellStyleRow, { rect: rect, isRowPinnedTop: true }, i);
32
- }), additiveRects.map((rect) => {
33
- return _jsx(CellStyleRow, { rect: rect, isDeselect: isDeselect }, rect.columnStart);
34
- }), showPivot && pivot && isTopRect(cx.grid, pivot) && (_jsx(CellStyleRow, { rect: pivot, isPivot: true, isRowPinnedTop: true }))] }));
35
- });
36
- export const CellSelectionCenter = memo(function CellSelectionCenter() {
37
- const cx = useGridRoot();
38
- const allRects = cx.grid.internal.cellSelectionSplits.useValue();
39
- const pivot = cx.grid.internal.cellSelectionPivot.useValue();
40
- const centerRects = useMemo(() => {
41
- return allRects.filter((rect) => isCenterRect(cx.grid, rect));
42
- }, [allRects, cx.grid]);
43
- const additive = cx.grid.internal.cellSelectionAdditiveRects.useValue();
44
- const isDeselect = cx.grid.internal.cellSelectionIsDeselect.useValue();
45
- const additiveRects = useMemo(() => {
46
- if (!additive)
47
- return [];
48
- return additive.filter((rect) => isCenterRect(cx.grid, rect));
49
- }, [additive, cx.grid]);
50
- const mode = cx.grid.state.cellSelectionMode.useValue();
51
- const showPivot = mode === "multi-range" || mode === "range";
52
- return (_jsxs("div", { role: "presentation", style: {
53
- width: "100%",
54
- height: 0,
55
- display: "grid",
56
- gridTemplateRows: "0px",
57
- gridTemplateColumns: "0px",
58
- }, children: [centerRects.map((rect, i) => {
59
- return _jsx(CellStyleRow, { rect: rect }, i);
60
- }), additiveRects.map((rect) => {
61
- return _jsx(CellStyleRow, { rect: rect, isDeselect: isDeselect }, rect.columnStart);
62
- }), showPivot && pivot && isCenterRect(cx.grid, pivot) && _jsx(CellStyleRow, { rect: pivot, isPivot: true })] }));
63
- });
64
- export const CellSelectionBottom = memo(function CellSelectionBottom() {
65
- const cx = useGridRoot();
66
- const allRects = cx.grid.internal.cellSelectionSplits.useValue();
67
- const pivot = cx.grid.internal.cellSelectionPivot.useValue();
68
- const bottomRects = useMemo(() => {
69
- return allRects.filter((rect) => isBottomRect(cx.grid, rect));
70
- }, [allRects, cx.grid]);
71
- const additive = cx.grid.internal.cellSelectionAdditiveRects.useValue();
72
- const isDeselect = cx.grid.internal.cellSelectionIsDeselect.useValue();
73
- const additiveRects = useMemo(() => {
74
- if (!additive)
75
- return [];
76
- return additive.filter((rect) => isBottomRect(cx.grid, rect));
77
- }, [additive, cx.grid]);
78
- const mode = cx.grid.state.cellSelectionMode.useValue();
79
- const showPivot = mode === "multi-range" || mode === "range";
80
- return (_jsxs("div", { role: "presentation", style: {
81
- width: "100%",
82
- height: 0,
83
- display: "grid",
84
- gridTemplateRows: "0px",
85
- gridTemplateColumns: "0px",
86
- }, children: [bottomRects.map((rect, i) => {
87
- return _jsx(CellStyleRow, { rect: rect, isRowPinnedBottom: true }, i);
88
- }), additiveRects.map((rect) => {
89
- return _jsx(CellStyleRow, { rect: rect, isDeselect: isDeselect }, rect.columnStart);
90
- }), showPivot && pivot && isBottomRect(cx.grid, pivot) && (_jsx(CellStyleRow, { rect: pivot, isPivot: true, isRowPinnedBottom: true }))] }));
91
- });
@@ -1 +0,0 @@
1
- export declare function CellSelectionDriver(): import("react/jsx-runtime").JSX.Element;
@@ -1,289 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect } from "react";
3
- import { useGridRoot } from "../context.js";
4
- import { useEdgeScroll } from "./use-edge-scroll.js";
5
- import { equal, getClientX, getClientY, getRelativeXPosition, getRelativeYPosition, } from "@1771technologies/lytenyte-shared";
6
- import { getNearestFocusable, getPositionFromFocusable } from "@1771technologies/lytenyte-shared";
7
- import { isHTMLElement } from "@1771technologies/lytenyte-shared";
8
- import { updateAdditiveCellSelection } from "./update-additive-cell-selection.js";
9
- import { deselectRectRange } from "./deselect-rect-range.js";
10
- import { isWithinSelectionRect } from "./is-within-selection-rect.js";
11
- import { expandCellSelectionStart } from "./expand-cell-selection-start.js";
12
- import { expandCellSelectionEnd } from "./expand-cell-selection-end.js";
13
- import { expandCellSelectionDown } from "./expand-cell-selection-down.js";
14
- import { expandCellSelectionUp } from "./expand-cell-selection-up.js";
15
- function isNormalClick(event) {
16
- return event.button === 0 && !event.altKey;
17
- }
18
- export function CellSelectionDriver() {
19
- const cx = useGridRoot();
20
- const grid = cx.grid;
21
- const viewport = cx.grid.state.viewport.useValue();
22
- const mode = cx.grid.state.cellSelectionMode.useValue();
23
- const { cancelX, cancelY, edgeScrollX, edgeScrollY } = useEdgeScroll(cx.grid);
24
- useEffect(() => {
25
- if (!viewport || mode === "none")
26
- return;
27
- const isMultiRange = mode === "multi-range";
28
- let isAdditive = false;
29
- let startSelection = null;
30
- let pointerStartX = 0;
31
- let pointerStartY = 0;
32
- let lastRect = null;
33
- let animFrame = null;
34
- const gridId = grid.state.gridId.get();
35
- const pointerMove = (event) => {
36
- if (animFrame)
37
- cancelAnimationFrame(animFrame);
38
- animFrame = requestAnimationFrame(() => {
39
- animFrame = null;
40
- const clientX = getClientX(event);
41
- const clientY = getClientY(event);
42
- const target = event.target;
43
- if (!isHTMLElement(target))
44
- return;
45
- const focusable = getNearestFocusable(gridId, target);
46
- if (!focusable)
47
- return;
48
- const position = getPositionFromFocusable(gridId, focusable);
49
- if (position.kind !== "cell" && position.kind !== "full-width")
50
- return;
51
- const rowIndex = position.rowIndex;
52
- const columnIndex = position.colIndex;
53
- if (pointerStartX != null && pointerStartY != null) {
54
- const moveDeltaX = Math.abs(pointerStartX - clientX);
55
- const moveDeltaY = Math.abs(pointerStartY - clientY);
56
- if (moveDeltaX < 20 && moveDeltaY < 20)
57
- return;
58
- pointerStartX = null;
59
- pointerStartY = null;
60
- }
61
- if (!startSelection)
62
- return;
63
- const meta = grid.state.columnMeta.get();
64
- const startCount = meta.columnVisibleStartCount;
65
- const firstEnd = meta.columnVisibleCenterCount + startCount;
66
- const ds = grid.state.rowDataStore;
67
- const topCount = ds.rowTopCount.get();
68
- const centerCount = ds.rowCenterCount.get();
69
- const firstEndRow = centerCount + topCount;
70
- const relativeX = getRelativeXPosition(viewport, clientX);
71
- const isRtl = grid.state.rtl.get();
72
- const visualX = isRtl ? relativeX.right : relativeX.left;
73
- const startColSection = startSelection.columnStart < startCount
74
- ? "start"
75
- : startSelection.columnStart >= firstEnd
76
- ? "end"
77
- : "center";
78
- const colSection = columnIndex < startCount ? "start" : columnIndex >= firstEnd ? "end" : "center";
79
- const rowSection = rowIndex < topCount ? "top" : rowIndex >= firstEnd ? "bottom" : "center";
80
- const startRowSection = startSelection.rowStart < topCount
81
- ? "top"
82
- : startSelection.rowStart >= firstEndRow
83
- ? "bottom"
84
- : "center";
85
- const isSameColPin = startColSection === colSection;
86
- const isSameRowPin = startRowSection === rowSection;
87
- edgeScrollX(visualX, isRtl);
88
- const relativeY = getRelativeYPosition(viewport, clientY);
89
- edgeScrollY(relativeY.top);
90
- const scrollY = viewport.scrollTop;
91
- if (!isSameRowPin && rowIndex < topCount && scrollY > 0)
92
- return;
93
- const maxScroll = viewport.scrollHeight - viewport.clientHeight - 4;
94
- if (!isSameRowPin && rowIndex > topCount + centerCount - 1 && scrollY < maxScroll)
95
- return;
96
- const scrollX = Math.abs(viewport.scrollLeft);
97
- if (!isSameColPin && columnIndex < startCount && scrollX > 0)
98
- return;
99
- const maxScrollX = viewport.scrollWidth - viewport.clientWidth - 4;
100
- if (!isSameColPin && columnIndex >= firstEnd && scrollX < maxScrollX)
101
- return;
102
- const startRow = rowIndex < startSelection.rowStart ? rowIndex : startSelection.rowStart;
103
- const endRow = rowIndex < startSelection.rowStart ? startSelection.rowEnd : rowIndex + 1;
104
- const startCol = columnIndex < startSelection.columnStart ? columnIndex : startSelection.columnStart;
105
- const endCol = columnIndex < startSelection.columnStart ? startSelection.columnEnd : columnIndex + 1;
106
- const active = [
107
- { rowStart: startRow, rowEnd: endRow, columnStart: startCol, columnEnd: endCol },
108
- ];
109
- if (isAdditive) {
110
- updateAdditiveCellSelection(grid, active[0]);
111
- }
112
- else {
113
- grid.state.cellSelections.set(active);
114
- }
115
- lastRect = active[0];
116
- });
117
- };
118
- const pointerDown = (event) => {
119
- if (!isNormalClick(event)) {
120
- document.removeEventListener("pointermove", pointerMove);
121
- // Prevent the default for the context menu, otherwise the cell
122
- // right clicked will be focused,
123
- // resulting in the cell selection changing.
124
- if (event.button == 2)
125
- event.preventDefault();
126
- return;
127
- }
128
- isAdditive = isMultiRange && (event.ctrlKey || event.metaKey);
129
- const target = event.target;
130
- if (!isHTMLElement(target))
131
- return;
132
- const focusable = getNearestFocusable(gridId, target);
133
- if (!focusable)
134
- return;
135
- const position = getPositionFromFocusable(gridId, focusable);
136
- if (position.kind !== "cell" && position.kind !== "full-width")
137
- return;
138
- const rowIndex = position.rowIndex;
139
- const columnIndex = position.colIndex;
140
- // If the columnIndex or rowIndex is null then we haven't clicked a valid cell position.
141
- // This ends the row selection.
142
- if (columnIndex == null || rowIndex == null) {
143
- grid.state.cellSelections.set([]);
144
- grid.internal.cellSelectionPivot.set(null);
145
- return;
146
- }
147
- const isSelected = grid.state.cellSelections
148
- .get()
149
- .some((c) => isWithinSelectionRect(c, rowIndex, columnIndex));
150
- const isDeselect = isAdditive && isSelected;
151
- pointerStartX = event.clientX;
152
- pointerStartY = event.clientY;
153
- startSelection = {
154
- columnStart: columnIndex,
155
- columnEnd: columnIndex + 1,
156
- rowStart: rowIndex,
157
- rowEnd: rowIndex + 1,
158
- };
159
- // If shift key down we select an area. We can only select an area if a pivot has been established.
160
- // The pivot will always expand the last cell selection rect if there are multiple ones.
161
- const pivot = grid.internal.cellSelectionPivot.get();
162
- if (event.shiftKey && pivot) {
163
- const active = { ...pivot };
164
- active.columnStart = Math.min(columnIndex, active.columnStart);
165
- active.columnEnd = Math.max(columnIndex + 1, active.columnEnd);
166
- active.rowStart = Math.min(rowIndex, active.rowStart);
167
- active.rowEnd = Math.max(rowIndex + 1, active.rowEnd);
168
- grid.state.cellSelections.set([active]);
169
- // We need to prevent the default otherwise the cell to go to will be
170
- // focused. This leads to awkward behavior around the cell selection pivot
171
- event.preventDefault();
172
- document.addEventListener("mousemove", pointerMove);
173
- document.addEventListener("contextmenu", pointerUp);
174
- document.addEventListener("pointerup", pointerUp);
175
- return;
176
- }
177
- // We need to prevent the default for multi
178
- if (mode === "multi-range" && (event.metaKey || event.ctrlKey)) {
179
- event.preventDefault();
180
- }
181
- if (!isDeselect && grid.state.cellSelections.get().length <= 1)
182
- grid.internal.cellSelectionPivot.set({ ...startSelection, isUnit: true });
183
- grid.internal.cellSelectionIsDeselect.set(isDeselect);
184
- if (isAdditive) {
185
- updateAdditiveCellSelection(grid, startSelection);
186
- }
187
- else {
188
- grid.state.cellSelections.set([startSelection]);
189
- }
190
- lastRect = startSelection;
191
- document.addEventListener("mousemove", pointerMove);
192
- document.addEventListener("contextmenu", pointerUp);
193
- document.addEventListener("pointerup", pointerUp);
194
- };
195
- const pointerUp = () => {
196
- startSelection = null;
197
- if (isAdditive) {
198
- const isDeselect = grid.internal.cellSelectionIsDeselect.get();
199
- const rects = isDeselect
200
- ? grid.state.cellSelections.get().flatMap((r) => deselectRectRange(r, lastRect))
201
- : [...grid.state.cellSelections.get(), lastRect];
202
- grid.state.cellSelections.set(rects);
203
- grid.internal.cellSelectionAdditiveRects.set(null);
204
- grid.internal.cellSelectionIsDeselect.set(false);
205
- isAdditive = false;
206
- }
207
- cancelX();
208
- cancelY();
209
- document.removeEventListener("pointerup", pointerUp);
210
- document.removeEventListener("contextmenu", pointerUp);
211
- document.removeEventListener("pointermove", pointerMove);
212
- };
213
- viewport.addEventListener("pointerdown", pointerDown);
214
- const handleKey = (ev) => {
215
- const rtl = grid.state.rtl.get();
216
- const start = rtl ? "ArrowRight" : "ArrowLeft";
217
- const end = rtl ? "ArrowLeft" : "ArrowRight";
218
- if (!ev.shiftKey)
219
- return;
220
- let handled = false;
221
- if (ev.key === start) {
222
- expandCellSelectionStart(grid, ev.ctrlKey || ev.metaKey);
223
- handled = true;
224
- }
225
- else if (ev.key === end) {
226
- expandCellSelectionEnd(grid, ev.ctrlKey || ev.metaKey);
227
- handled = true;
228
- }
229
- else if (ev.key === "ArrowDown") {
230
- expandCellSelectionDown(grid, ev.ctrlKey || ev.metaKey);
231
- handled = true;
232
- }
233
- else if (ev.key === "ArrowUp") {
234
- expandCellSelectionUp(grid, ev.ctrlKey || ev.metaKey);
235
- handled = true;
236
- }
237
- if (handled) {
238
- ev.preventDefault();
239
- ev.stopPropagation();
240
- }
241
- };
242
- viewport.addEventListener("keydown", handleKey);
243
- return () => {
244
- viewport.removeEventListener("pointerdown", pointerDown);
245
- viewport.removeEventListener("keydown", handleKey);
246
- };
247
- }, [cancelX, cancelY, edgeScrollX, edgeScrollY, grid, mode, viewport]);
248
- useEffect(() => {
249
- let prev = null;
250
- return grid.internal.focusActive.watch(() => {
251
- const focus = grid.internal.focusActive.get();
252
- // If the focus is null, then we should just return. This keeps the existing selection
253
- // in place - for things like copy and paste.
254
- if (!focus)
255
- return;
256
- if (equal(prev, focus))
257
- return;
258
- prev = focus;
259
- if (focus?.kind !== "cell" && focus?.kind !== "full-width") {
260
- grid.state.cellSelections.set([]);
261
- grid.internal.cellSelectionPivot.set(null);
262
- grid.internal.cellSelectionAdditiveRects.set([]);
263
- }
264
- else {
265
- grid.state.cellSelections.set([
266
- {
267
- rowStart: focus.rowIndex,
268
- rowEnd: focus.rowIndex + 1,
269
- columnStart: focus.colIndex,
270
- columnEnd: focus.colIndex + 1,
271
- },
272
- ]);
273
- grid.internal.cellSelectionPivot.set({
274
- rowStart: focus.rowIndex,
275
- rowEnd: focus.rowIndex + 1,
276
- columnStart: focus.colIndex,
277
- columnEnd: focus.colIndex + 1,
278
- isUnit: true,
279
- });
280
- }
281
- });
282
- }, [
283
- grid.internal.cellSelectionAdditiveRects,
284
- grid.internal.cellSelectionPivot,
285
- grid.internal.focusActive,
286
- grid.state.cellSelections,
287
- ]);
288
- return _jsx(_Fragment, {});
289
- }
@@ -1,8 +0,0 @@
1
- import type { DataRectSplit } from "./split-cell-selection-rect";
2
- export declare function CellStyleRow({ rect, isRowPinnedTop, isDeselect, isRowPinnedBottom, isPivot, }: {
3
- rect: DataRectSplit;
4
- isRowPinnedTop?: boolean;
5
- isDeselect?: boolean;
6
- isRowPinnedBottom?: boolean;
7
- isPivot?: boolean;
8
- }): import("react/jsx-runtime").JSX.Element;
@@ -1,84 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import { useGridRoot } from "../context.js";
4
- import { getTranslate, sizeFromCoord } from "@1771technologies/lytenyte-shared";
5
- export function CellStyleRow({ rect, isRowPinnedTop, isDeselect, isRowPinnedBottom, isPivot, }) {
6
- const cx = useGridRoot();
7
- const xPositions = cx.grid.state.xPositions.useValue();
8
- const yPositions = cx.grid.state.yPositions.useValue();
9
- const rtl = cx.grid.state.rtl.useValue();
10
- const meta = cx.grid.state.columnMeta.useValue();
11
- const startCount = meta.columnVisibleStartCount;
12
- const centerCount = meta.columnVisibleCenterCount;
13
- const ds = cx.grid.state.rowDataStore;
14
- const rowCount = ds.rowCount.useValue();
15
- const rowTopCount = ds.rowTopCount.useValue();
16
- const rowBotCount = ds.rowBottomCount.useValue();
17
- const vpWidth = cx.grid.state.viewportWidthInner.useValue();
18
- const style = useMemo(() => {
19
- const isStart = rect.columnStart < startCount;
20
- const isEnd = rect.columnStart >= startCount + centerCount;
21
- const isTop = isRowPinnedTop;
22
- const isBot = isRowPinnedBottom;
23
- const columnIndex = rect.columnStart;
24
- const rowIndex = rect.rowStart;
25
- const width = sizeFromCoord(rect.columnStart, xPositions, rect.columnEnd - rect.columnStart);
26
- const height = sizeFromCoord(rect.rowStart, yPositions, rect.rowEnd - rect.rowStart);
27
- const firstBotIndex = rowCount - rowBotCount;
28
- const x = isEnd
29
- ? xPositions[columnIndex] - xPositions.at(-1) + vpWidth
30
- : xPositions[columnIndex];
31
- let y;
32
- if (isBot)
33
- y = yPositions[rowIndex] - yPositions[firstBotIndex];
34
- else if (isTop)
35
- y = yPositions[rowIndex] - yPositions[rowTopCount];
36
- else {
37
- y = `calc(${yPositions[rowIndex] - yPositions[rowTopCount]}px - var(--ln-y-offset, 0px))`;
38
- }
39
- const transform = getTranslate(x * (rtl ? -1 : 1), y);
40
- const pinnedRow = isTop || isBot;
41
- const pinnedCell = isStart || isEnd;
42
- const style = {
43
- height,
44
- width,
45
- transform,
46
- position: "absolute",
47
- pointerEvents: "none",
48
- top: 0,
49
- zIndex: 1,
50
- gridRowStart: "1",
51
- gridRowEnd: "2",
52
- gridColumnStart: "1",
53
- gridColumnEnd: "2",
54
- };
55
- if (pinnedCell) {
56
- style.insetInlineStart = "0px";
57
- style.position = "sticky";
58
- style.zIndex = pinnedRow ? 6 : 3;
59
- }
60
- if (pinnedRow) {
61
- style.position = "sticky";
62
- style.top = "0px";
63
- style.zIndex = pinnedCell ? 6 : 3;
64
- }
65
- return style;
66
- }, [
67
- centerCount,
68
- isRowPinnedBottom,
69
- isRowPinnedTop,
70
- rect.columnEnd,
71
- rect.columnStart,
72
- rect.rowEnd,
73
- rect.rowStart,
74
- rowBotCount,
75
- rowCount,
76
- rowTopCount,
77
- rtl,
78
- startCount,
79
- vpWidth,
80
- xPositions,
81
- yPositions,
82
- ]);
83
- return (_jsx("div", { style: style, "data-ln-cell-selection-rect": true, "data-ln-cell-selection-is-deselect": isDeselect, "data-ln-cell-selection-is-pivot": isPivot, "data-ln-cell-selection-is-unit": rect.isUnit, "data-ln-cell-selection-border-top": rect.borderTop, "data-ln-cell-selection-border-bottom": rect.borderBottom, "data-ln-cell-selection-border-start": rect.borderStart, "data-ln-cell-selection-border-end": rect.borderEnd }));
84
- }
@@ -1,2 +0,0 @@
1
- import type { DataRect } from "../+types.js";
2
- export declare function deselectRectRange(rect: DataRect, deselectRect: DataRect): DataRect[];
@@ -1,43 +0,0 @@
1
- import { isOverlappingRect } from "./is-overlapping-rect.js";
2
- export function deselectRectRange(rect, deselectRect) {
3
- if (!isOverlappingRect(rect, deselectRect))
4
- return [rect];
5
- const result = [];
6
- // Check for top split
7
- if (deselectRect.rowStart > rect.rowStart) {
8
- result.push({
9
- rowStart: rect.rowStart,
10
- rowEnd: deselectRect.rowStart,
11
- columnStart: rect.columnStart,
12
- columnEnd: rect.columnEnd,
13
- });
14
- }
15
- // Check for bottom split
16
- if (deselectRect.rowEnd < rect.rowEnd) {
17
- result.push({
18
- rowStart: deselectRect.rowEnd,
19
- rowEnd: rect.rowEnd,
20
- columnStart: rect.columnStart,
21
- columnEnd: rect.columnEnd,
22
- });
23
- }
24
- // Check for left split
25
- if (deselectRect.columnStart > rect.columnStart) {
26
- result.push({
27
- rowStart: Math.max(deselectRect.rowStart, rect.rowStart),
28
- rowEnd: Math.min(deselectRect.rowEnd, rect.rowEnd),
29
- columnStart: rect.columnStart,
30
- columnEnd: deselectRect.columnStart,
31
- });
32
- }
33
- // Check for right split
34
- if (deselectRect.columnEnd < rect.columnEnd) {
35
- result.push({
36
- rowStart: Math.max(deselectRect.rowStart, rect.rowStart),
37
- rowEnd: Math.min(deselectRect.rowEnd, rect.rowEnd),
38
- columnStart: deselectRect.columnEnd,
39
- columnEnd: rect.columnEnd,
40
- });
41
- }
42
- return result.filter((rect) => !(rect.rowStart >= rect.rowEnd || rect.columnStart >= rect.columnEnd));
43
- }
@@ -1,5 +0,0 @@
1
- import type { Grid } from "../+types.js";
2
- import type { InternalAtoms } from "../state/+types.js";
3
- export declare function expandCellSelectionDown(grid: Grid<any> & {
4
- internal: InternalAtoms;
5
- }, meta: boolean): void;
@@ -1,39 +0,0 @@
1
- import { getRootCell } from "./get-root-cell.js";
2
- export function expandCellSelectionDown(grid, meta) {
3
- const cellSelections = grid.state.cellSelections.get();
4
- const rect = cellSelections.at(-1);
5
- const pivot = grid.internal.cellSelectionPivot.get();
6
- if (!rect || !pivot)
7
- return;
8
- if (meta) {
9
- const rowCount = grid.state.rowDataStore.rowCount.get();
10
- if (pivot.rowStart === rowCount - 1)
11
- return;
12
- const next = { ...rect, rowStart: pivot.rowStart, rowEnd: rowCount };
13
- const nextSelections = [...cellSelections];
14
- nextSelections[nextSelections.length - 1] = next;
15
- grid.state.cellSelections.set(nextSelections);
16
- return;
17
- }
18
- let next;
19
- let focusRow;
20
- if (rect.rowStart < pivot.rowStart) {
21
- let rowOffset = 1;
22
- for (let i = rect.columnStart; i < rect.columnEnd; i++) {
23
- const cell = getRootCell(grid, rect.rowStart, i);
24
- if (cell)
25
- rowOffset = Math.max(rowOffset, cell.rowSpan);
26
- }
27
- focusRow = rect.rowStart + rowOffset;
28
- next = { ...rect, rowStart: focusRow };
29
- }
30
- else {
31
- focusRow = rect.rowEnd + 1;
32
- next = { ...rect, rowEnd: focusRow };
33
- focusRow -= 1;
34
- }
35
- grid.api.scrollIntoView({ row: focusRow });
36
- const nextSelections = [...cellSelections];
37
- nextSelections[nextSelections.length - 1] = next;
38
- grid.state.cellSelections.set(nextSelections);
39
- }
@@ -1,5 +0,0 @@
1
- import type { Grid } from "../+types.js";
2
- import type { InternalAtoms } from "../state/+types.js";
3
- export declare function expandCellSelectionEnd(grid: Grid<any> & {
4
- internal: InternalAtoms;
5
- }, meta: boolean): void;