@1771technologies/lytenyte-pro 0.9.4 → 1.0.0-beta.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 (653) hide show
  1. package/README.md +3 -2
  2. package/dist/+types.d.ts +5299 -0
  3. package/dist/+types.js +1 -0
  4. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.d.ts +2 -0
  5. package/dist/cell-selection/adjust-rect-for-row-and-cell-span.js +43 -0
  6. package/dist/cell-selection/are-rects-equal.d.ts +2 -0
  7. package/dist/cell-selection/are-rects-equal.js +6 -0
  8. package/dist/cell-selection/bound-selection-rect.d.ts +2 -0
  9. package/dist/cell-selection/bound-selection-rect.js +17 -0
  10. package/dist/cell-selection/cell-selection-containers.d.ts +3 -0
  11. package/dist/cell-selection/cell-selection-containers.js +91 -0
  12. package/dist/cell-selection/cell-selection-driver.js +272 -0
  13. package/dist/{types/cell-selection → cell-selection}/cell-style-row.d.ts +2 -2
  14. package/dist/cell-selection/cell-style-row.js +84 -0
  15. package/dist/cell-selection/deselect-rect-range.d.ts +2 -0
  16. package/dist/cell-selection/deselect-rect-range.js +43 -0
  17. package/dist/cell-selection/expand-cell-selection-down.d.ts +5 -0
  18. package/dist/cell-selection/expand-cell-selection-down.js +39 -0
  19. package/dist/cell-selection/expand-cell-selection-end.d.ts +5 -0
  20. package/dist/cell-selection/expand-cell-selection-end.js +40 -0
  21. package/dist/cell-selection/expand-cell-selection-start.d.ts +5 -0
  22. package/dist/cell-selection/expand-cell-selection-start.js +39 -0
  23. package/dist/cell-selection/expand-cell-selection-up.d.ts +5 -0
  24. package/dist/cell-selection/expand-cell-selection-up.js +39 -0
  25. package/dist/cell-selection/full-width-start-end-index.d.ts +2 -0
  26. package/dist/cell-selection/full-width-start-end-index.js +5 -0
  27. package/dist/cell-selection/get-root-cell.d.ts +2 -0
  28. package/dist/cell-selection/get-root-cell.js +86 -0
  29. package/dist/cell-selection/index.d.ts +19 -0
  30. package/dist/cell-selection/index.js +19 -0
  31. package/dist/cell-selection/is-bottom-rect.d.ts +2 -0
  32. package/dist/cell-selection/is-bottom-rect.js +7 -0
  33. package/dist/cell-selection/is-center-col-rect.d.ts +5 -0
  34. package/dist/cell-selection/is-center-col-rect.js +5 -0
  35. package/dist/cell-selection/is-center-rect.d.ts +2 -0
  36. package/dist/cell-selection/is-center-rect.js +5 -0
  37. package/dist/cell-selection/is-end-rect.d.ts +5 -0
  38. package/dist/cell-selection/is-end-rect.js +4 -0
  39. package/dist/cell-selection/is-overlapping-rect.d.ts +2 -0
  40. package/dist/cell-selection/is-overlapping-rect.js +6 -0
  41. package/dist/cell-selection/is-start-rect.d.ts +5 -0
  42. package/dist/cell-selection/is-start-rect.js +4 -0
  43. package/dist/cell-selection/is-top-rect.d.ts +2 -0
  44. package/dist/cell-selection/is-top-rect.js +4 -0
  45. package/dist/cell-selection/is-within-selection-rect.d.ts +2 -0
  46. package/dist/cell-selection/is-within-selection-rect.js +3 -0
  47. package/dist/cell-selection/split-cell-selection-rect.d.ts +39 -0
  48. package/dist/cell-selection/split-cell-selection-rect.js +79 -0
  49. package/dist/cell-selection/update-additive-cell-selection.d.ts +5 -0
  50. package/dist/cell-selection/update-additive-cell-selection.js +25 -0
  51. package/dist/cell-selection/use-edge-scroll.d.ts +10 -0
  52. package/dist/cell-selection/use-edge-scroll.js +66 -0
  53. package/dist/cells/cell-default.d.ts +2 -0
  54. package/dist/cells/cell-default.js +8 -0
  55. package/dist/cells/cell-editor.d.ts +6 -0
  56. package/dist/cells/cell-editor.js +96 -0
  57. package/dist/cells/cell.d.ts +7 -0
  58. package/dist/cells/cell.js +37 -0
  59. package/dist/column-manager/branch-lookup-context.d.ts +4 -0
  60. package/dist/column-manager/branch-lookup-context.js +3 -0
  61. package/dist/column-manager/branch.d.ts +9 -0
  62. package/dist/column-manager/branch.js +38 -0
  63. package/dist/column-manager/column-manager.d.ts +15 -0
  64. package/dist/column-manager/column-manager.js +20 -0
  65. package/dist/column-manager/context.d.ts +7 -0
  66. package/dist/column-manager/context.js +3 -0
  67. package/dist/column-manager/label.d.ts +5 -0
  68. package/dist/column-manager/label.js +18 -0
  69. package/dist/column-manager/leaf.d.ts +6 -0
  70. package/dist/column-manager/leaf.js +40 -0
  71. package/dist/column-manager/move-handle.d.ts +12 -0
  72. package/dist/column-manager/move-handle.js +58 -0
  73. package/dist/column-manager/passive-scroll.d.ts +2 -0
  74. package/dist/column-manager/passive-scroll.js +2 -0
  75. package/dist/column-manager/root.d.ts +9 -0
  76. package/dist/column-manager/root.js +20 -0
  77. package/dist/column-manager/use-column-manager.d.ts +19 -0
  78. package/dist/column-manager/use-column-manager.js +24 -0
  79. package/dist/column-manager/use-columns-from-context.d.ts +3 -0
  80. package/dist/column-manager/use-columns-from-context.js +23 -0
  81. package/dist/column-manager/visibility-checkbox.d.ts +9 -0
  82. package/dist/column-manager/visibility-checkbox.js +30 -0
  83. package/dist/context.d.ts +10 -0
  84. package/dist/context.js +4 -0
  85. package/dist/filter-tree/branch.d.ts +10 -0
  86. package/dist/filter-tree/branch.js +21 -0
  87. package/dist/filter-tree/context.d.ts +27 -0
  88. package/dist/filter-tree/context.js +5 -0
  89. package/dist/filter-tree/filter-tree.d.ts +14 -0
  90. package/dist/filter-tree/filter-tree.js +18 -0
  91. package/dist/filter-tree/hooks/use-filter-tree.d.ts +37 -0
  92. package/dist/filter-tree/hooks/use-filter-tree.js +96 -0
  93. package/dist/filter-tree/hooks/use-tree-item.d.ts +8 -0
  94. package/dist/filter-tree/hooks/use-tree-item.js +116 -0
  95. package/dist/filter-tree/inclusion-checkbox.d.ts +9 -0
  96. package/dist/filter-tree/inclusion-checkbox.js +14 -0
  97. package/dist/filter-tree/label.d.ts +5 -0
  98. package/dist/filter-tree/label.js +18 -0
  99. package/dist/filter-tree/leaf.d.ts +6 -0
  100. package/dist/filter-tree/leaf.js +12 -0
  101. package/dist/filter-tree/root.d.ts +13 -0
  102. package/dist/filter-tree/root.js +30 -0
  103. package/dist/grid-box/+types.d.ts +13 -0
  104. package/dist/grid-box/+types.js +1 -0
  105. package/dist/grid-box/context.d.ts +9 -0
  106. package/dist/grid-box/context.js +3 -0
  107. package/dist/grid-box/grid-box.d.ts +12 -0
  108. package/dist/grid-box/grid-box.js +14 -0
  109. package/dist/grid-box/item.d.ts +7 -0
  110. package/dist/grid-box/item.js +33 -0
  111. package/dist/grid-box/panel.d.ts +1 -0
  112. package/dist/grid-box/panel.js +9 -0
  113. package/dist/grid-box/root.d.ts +9 -0
  114. package/dist/grid-box/root.js +8 -0
  115. package/dist/grid-box/use-aggregation-box-items.d.ts +18 -0
  116. package/dist/grid-box/use-aggregation-box-items.js +60 -0
  117. package/dist/grid-box/use-column-box-items.d.ts +31 -0
  118. package/dist/grid-box/use-column-box-items.js +81 -0
  119. package/dist/grid-box/use-row-group-box-items.d.ts +18 -0
  120. package/dist/grid-box/use-row-group-box-items.js +134 -0
  121. package/dist/grid-provider/context.d.ts +5 -0
  122. package/dist/grid-provider/context.js +2 -0
  123. package/dist/grid-provider/provider.d.ts +3 -0
  124. package/dist/grid-provider/provider.js +2 -0
  125. package/dist/grid-provider/use-grid.d.ts +3 -0
  126. package/dist/grid-provider/use-grid.js +3 -0
  127. package/dist/grid.d.ts +29 -0
  128. package/dist/grid.js +38 -0
  129. package/dist/header/header-cell.d.ts +10 -0
  130. package/dist/header/header-cell.js +24 -0
  131. package/dist/header/header-group-cell.d.ts +5 -0
  132. package/dist/header/header-group-cell.js +14 -0
  133. package/dist/header/header-row.d.ts +4 -0
  134. package/dist/header/header-row.js +10 -0
  135. package/dist/header/header.d.ts +1 -0
  136. package/dist/header/header.js +10 -0
  137. package/dist/header/resize-handler.d.ts +12 -0
  138. package/dist/header/resize-handler.js +128 -0
  139. package/dist/header/use-drag-move.d.ts +14 -0
  140. package/dist/header/use-drag-move.js +90 -0
  141. package/dist/header/use-header-cell-renderer.d.ts +4 -0
  142. package/dist/header/use-header-cell-renderer.js +36 -0
  143. package/dist/index.d.ts +6 -0
  144. package/dist/index.js +6 -3860
  145. package/dist/license.d.ts +2 -0
  146. package/dist/license.js +217 -0
  147. package/dist/listbox/context.d.ts +6 -0
  148. package/dist/listbox/context.js +3 -0
  149. package/dist/listbox/item.d.ts +1 -0
  150. package/dist/listbox/item.js +25 -0
  151. package/dist/listbox/panel.d.ts +1 -0
  152. package/dist/listbox/panel.js +50 -0
  153. package/dist/listbox/root.d.ts +6 -0
  154. package/dist/listbox/root.js +12 -0
  155. package/dist/root/dialog-driver.js +21 -0
  156. package/dist/root/popover-driver.js +21 -0
  157. package/dist/root/root.d.ts +8 -0
  158. package/dist/root/root.js +120 -0
  159. package/dist/row-data-source-client/+constants.d.ts +2 -0
  160. package/dist/row-data-source-client/+constants.js +2 -0
  161. package/dist/row-data-source-client/+types.d.ts +27 -0
  162. package/dist/row-data-source-client/+types.js +1 -0
  163. package/dist/row-data-source-client/built-ins/avg.d.ts +10 -0
  164. package/dist/row-data-source-client/built-ins/avg.js +16 -0
  165. package/dist/row-data-source-client/built-ins/built-ins.d.ts +44 -0
  166. package/dist/row-data-source-client/built-ins/built-ins.js +44 -0
  167. package/dist/row-data-source-client/built-ins/count.d.ts +10 -0
  168. package/dist/row-data-source-client/built-ins/count.js +16 -0
  169. package/dist/row-data-source-client/built-ins/first.d.ts +10 -0
  170. package/dist/row-data-source-client/built-ins/first.js +12 -0
  171. package/dist/row-data-source-client/built-ins/group.d.ts +1 -0
  172. package/dist/row-data-source-client/built-ins/group.js +3 -0
  173. package/dist/row-data-source-client/built-ins/last.d.ts +10 -0
  174. package/dist/row-data-source-client/built-ins/last.js +12 -0
  175. package/dist/row-data-source-client/built-ins/max.d.ts +11 -0
  176. package/dist/row-data-source-client/built-ins/max.js +25 -0
  177. package/dist/row-data-source-client/built-ins/min.d.ts +11 -0
  178. package/dist/row-data-source-client/built-ins/min.js +25 -0
  179. package/dist/row-data-source-client/built-ins/sum.d.ts +10 -0
  180. package/dist/row-data-source-client/built-ins/sum.js +21 -0
  181. package/dist/row-data-source-client/filter/+types.d.ts +23 -0
  182. package/dist/row-data-source-client/filter/+types.js +1 -0
  183. package/dist/row-data-source-client/filter/compute-filtered-rows.d.ts +2 -0
  184. package/dist/row-data-source-client/filter/compute-filtered-rows.js +109 -0
  185. package/dist/row-data-source-client/pivots/create-agg-model.d.ts +6 -0
  186. package/dist/row-data-source-client/pivots/create-agg-model.js +13 -0
  187. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.d.ts +2 -0
  188. package/dist/row-data-source-client/pivots/create-pivot-columns-from-paths.js +50 -0
  189. package/dist/row-data-source-client/pivots/create-pivot-columns.d.ts +2 -0
  190. package/dist/row-data-source-client/pivots/create-pivot-columns.js +22 -0
  191. package/dist/row-data-source-client/pivots/create-pivot-tree.d.ts +2 -0
  192. package/dist/row-data-source-client/pivots/create-pivot-tree.js +23 -0
  193. package/dist/row-data-source-client/tree/client-tree.d.ts +18 -0
  194. package/dist/row-data-source-client/tree/client-tree.js +76 -0
  195. package/dist/row-data-source-client/tree/evaluator-aggregation.d.ts +2 -0
  196. package/dist/row-data-source-client/tree/evaluator-aggregation.js +8 -0
  197. package/dist/row-data-source-client/tree/evaluator-group.d.ts +2 -0
  198. package/dist/row-data-source-client/tree/evaluator-group.js +9 -0
  199. package/dist/row-data-source-client/tree/traverse.d.ts +2 -0
  200. package/dist/row-data-source-client/tree/traverse.js +22 -0
  201. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +10 -0
  202. package/dist/row-data-source-client/use-client-data-source-paginated.js +538 -0
  203. package/dist/row-data-source-client/use-client-data-source.d.ts +10 -0
  204. package/dist/row-data-source-client/use-client-data-source.js +667 -0
  205. package/dist/row-data-source-client/use-client-tree-data-source.d.ts +9 -0
  206. package/dist/row-data-source-client/use-client-tree-data-source.js +513 -0
  207. package/dist/row-data-source-server/async-tree/+constants.async-tree.d.ts +1 -0
  208. package/dist/row-data-source-server/async-tree/+constants.async-tree.js +1 -0
  209. package/dist/row-data-source-server/async-tree/+types.async-tree.d.ts +59 -0
  210. package/dist/row-data-source-server/async-tree/+types.async-tree.js +1 -0
  211. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.d.ts +2 -0
  212. package/dist/row-data-source-server/async-tree/apply-delete-action-to-tree.js +27 -0
  213. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.d.ts +2 -0
  214. package/dist/row-data-source-server/async-tree/apply-set-action-to-tree.js +36 -0
  215. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.d.ts +2 -0
  216. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-unique.js +24 -0
  217. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.d.ts +2 -0
  218. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-are-valid.js +14 -0
  219. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.d.ts +2 -0
  220. package/dist/row-data-source-server/async-tree/check-set-action-item-keys-fit.js +18 -0
  221. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.d.ts +2 -0
  222. package/dist/row-data-source-server/async-tree/check-set-action-item-kinds.js +14 -0
  223. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.d.ts +2 -0
  224. package/dist/row-data-source-server/async-tree/get-parent-node-by-path.js +18 -0
  225. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.d.ts +2 -0
  226. package/dist/row-data-source-server/async-tree/is-set-action-a-no-op-on-node.js +3 -0
  227. package/dist/row-data-source-server/async-tree/make-async-tree.d.ts +2 -0
  228. package/dist/row-data-source-server/async-tree/make-async-tree.js +19 -0
  229. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.d.ts +2 -0
  230. package/dist/row-data-source-server/async-tree/maybe-apply-parent-remove-self.js +8 -0
  231. package/dist/row-data-source-server/async-tree/maybe-apply-resize.d.ts +2 -0
  232. package/dist/row-data-source-server/async-tree/maybe-apply-resize.js +17 -0
  233. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.d.ts +2 -0
  234. package/dist/row-data-source-server/async-tree/maybe-apply-set-action-items.js +51 -0
  235. package/dist/row-data-source-server/range-tree/range-tree.d.ts +66 -0
  236. package/dist/row-data-source-server/range-tree/range-tree.js +102 -0
  237. package/dist/row-data-source-server/use-server-data-source.d.ts +3 -0
  238. package/dist/row-data-source-server/use-server-data-source.js +679 -0
  239. package/dist/row-data-source-server/utils/get-node-depth.d.ts +2 -0
  240. package/dist/row-data-source-server/utils/get-node-depth.js +9 -0
  241. package/dist/row-data-source-server/utils/get-node-path.d.ts +2 -0
  242. package/dist/row-data-source-server/utils/get-node-path.js +9 -0
  243. package/dist/row-data-source-server/utils/get-request-id.d.ts +1 -0
  244. package/dist/row-data-source-server/utils/get-request-id.js +6 -0
  245. package/dist/rows/row/context.d.ts +6 -0
  246. package/dist/rows/row/context.js +3 -0
  247. package/dist/rows/row/row.d.ts +7 -0
  248. package/dist/rows/row/row.js +16 -0
  249. package/dist/rows/row/use-row-context-value.d.ts +6 -0
  250. package/dist/rows/row/use-row-context-value.js +29 -0
  251. package/dist/rows/row-detail-row.d.ts +4 -0
  252. package/dist/rows/row-detail-row.js +131 -0
  253. package/dist/rows/row-full-width.d.ts +8 -0
  254. package/dist/rows/row-full-width.js +17 -0
  255. package/dist/rows/rows-container.d.ts +1 -0
  256. package/dist/rows/rows-container.js +9 -0
  257. package/dist/rows/rows-sections.d.ts +3 -0
  258. package/dist/rows/rows-sections.js +27 -0
  259. package/dist/rows/scrollers/native-scroller.d.ts +2 -0
  260. package/dist/rows/scrollers/native-scroller.js +18 -0
  261. package/dist/{types/sort-manager/use-sort-state.d.ts → sort-manager/+types.d.ts} +5 -2
  262. package/dist/sort-manager/+types.js +1 -0
  263. package/dist/sort-manager/context.d.ts +14 -0
  264. package/dist/sort-manager/context.js +5 -0
  265. package/dist/sort-manager/hooks/use-sort-manager.d.ts +15 -0
  266. package/dist/sort-manager/hooks/use-sort-manager.js +56 -0
  267. package/dist/{types/sort-manager/sort-manager-container.d.ts → sort-manager/hooks/use-sort-row-item.d.ts} +5 -7
  268. package/dist/sort-manager/hooks/use-sort-row-item.js +145 -0
  269. package/dist/sort-manager/hooks/use-sortable-column-items.d.ts +5 -0
  270. package/dist/sort-manager/hooks/use-sortable-column-items.js +13 -0
  271. package/dist/sort-manager/root.d.ts +3 -0
  272. package/dist/sort-manager/root.js +14 -0
  273. package/dist/sort-manager/sort-add.d.ts +8 -0
  274. package/dist/sort-manager/sort-add.js +14 -0
  275. package/dist/sort-manager/sort-apply.d.ts +7 -0
  276. package/dist/sort-manager/sort-apply.js +24 -0
  277. package/dist/sort-manager/sort-cancel.d.ts +7 -0
  278. package/dist/sort-manager/sort-cancel.js +27 -0
  279. package/dist/sort-manager/sort-clear.d.ts +7 -0
  280. package/dist/sort-manager/sort-clear.js +22 -0
  281. package/dist/sort-manager/sort-column-select.d.ts +10 -0
  282. package/dist/sort-manager/sort-column-select.js +20 -0
  283. package/dist/sort-manager/sort-direction-select.d.ts +10 -0
  284. package/dist/sort-manager/sort-direction-select.js +24 -0
  285. package/dist/sort-manager/sort-manager.d.ts +16 -0
  286. package/dist/sort-manager/sort-manager.js +26 -0
  287. package/dist/sort-manager/sort-remove.d.ts +7 -0
  288. package/dist/sort-manager/sort-remove.js +14 -0
  289. package/dist/sort-manager/sort-row.d.ts +5 -0
  290. package/dist/sort-manager/sort-row.js +7 -0
  291. package/dist/sort-manager/sort-rows.d.ts +1 -0
  292. package/dist/sort-manager/sort-rows.js +6 -0
  293. package/dist/sort-manager/sort-value-select.d.ts +11 -0
  294. package/dist/sort-manager/sort-value-select.js +25 -0
  295. package/dist/sort-manager/utils/sort-item-to-sort-model.d.ts +3 -0
  296. package/dist/sort-manager/utils/sort-item-to-sort-model.js +57 -0
  297. package/dist/sort-manager/utils/sort-model-to-sort-items.d.ts +3 -0
  298. package/dist/sort-manager/utils/sort-model-to-sort-items.js +49 -0
  299. package/dist/state/+types.d.ts +34 -0
  300. package/dist/state/+types.js +1 -0
  301. package/dist/state/api/column-autosize.d.ts +5 -0
  302. package/dist/state/api/column-autosize.js +72 -0
  303. package/dist/state/api/column-by-id.d.ts +2 -0
  304. package/dist/state/api/column-by-id.js +6 -0
  305. package/dist/state/api/column-field.d.ts +2 -0
  306. package/dist/state/api/column-field.js +23 -0
  307. package/dist/state/api/column-from-index.d.ts +2 -0
  308. package/dist/state/api/column-from-index.js +6 -0
  309. package/dist/state/api/column-group-toggle.d.ts +2 -0
  310. package/dist/state/api/column-group-toggle.js +10 -0
  311. package/dist/state/api/column-index.d.ts +2 -0
  312. package/dist/state/api/column-index.js +7 -0
  313. package/dist/state/api/column-move.d.ts +2 -0
  314. package/dist/state/api/column-move.js +49 -0
  315. package/dist/state/api/column-resize.d.ts +2 -0
  316. package/dist/state/api/column-resize.js +9 -0
  317. package/dist/state/api/column-update.d.ts +2 -0
  318. package/dist/state/api/column-update.js +13 -0
  319. package/dist/state/api/dialog-frame.d.ts +8 -0
  320. package/dist/state/api/dialog-frame.js +16 -0
  321. package/dist/state/api/edit-begin.d.ts +5 -0
  322. package/dist/state/api/edit-begin.js +91 -0
  323. package/dist/state/api/edit-end.d.ts +5 -0
  324. package/dist/state/api/edit-end.js +43 -0
  325. package/dist/state/api/edit-is-cell-active.d.ts +5 -0
  326. package/dist/state/api/edit-is-cell-active.js +27 -0
  327. package/dist/state/api/edit-update.d.ts +5 -0
  328. package/dist/state/api/edit-update.js +88 -0
  329. package/dist/state/api/event-listeners.d.ts +5 -0
  330. package/dist/state/api/event-listeners.js +19 -0
  331. package/dist/state/api/export-csv.d.ts +3 -0
  332. package/dist/state/api/export-csv.js +40 -0
  333. package/dist/state/api/export-data-rect.d.ts +2 -0
  334. package/dist/state/api/export-data-rect.js +24 -0
  335. package/dist/state/api/focus-cell.d.ts +5 -0
  336. package/dist/state/api/focus-cell.js +117 -0
  337. package/dist/state/api/popover-frame.d.ts +8 -0
  338. package/dist/state/api/popover-frame.js +16 -0
  339. package/dist/state/api/position-from-element.d.ts +2 -0
  340. package/dist/state/api/position-from-element.js +9 -0
  341. package/dist/state/api/row-by-id.d.ts +2 -0
  342. package/dist/state/api/row-by-id.js +5 -0
  343. package/dist/state/api/row-by-index.d.ts +2 -0
  344. package/dist/state/api/row-by-index.js +9 -0
  345. package/dist/state/api/row-detail-is-expanded.d.ts +2 -0
  346. package/dist/state/api/row-detail-is-expanded.js +6 -0
  347. package/dist/state/api/row-detail-rendered-height.d.ts +5 -0
  348. package/dist/state/api/row-detail-rendered-height.js +14 -0
  349. package/dist/state/api/row-detail-toggle.d.ts +2 -0
  350. package/dist/state/api/row-detail-toggle.js +32 -0
  351. package/dist/state/api/row-group-apply-expansions.d.ts +2 -0
  352. package/dist/state/api/row-group-apply-expansions.js +20 -0
  353. package/dist/state/api/row-group-column-index.d.ts +2 -0
  354. package/dist/state/api/row-group-column-index.js +14 -0
  355. package/dist/state/api/row-group-is-expanded.d.ts +2 -0
  356. package/dist/state/api/row-group-is-expanded.js +15 -0
  357. package/dist/state/api/row-group-toggle.d.ts +2 -0
  358. package/dist/state/api/row-group-toggle.js +7 -0
  359. package/dist/state/api/row-handle-select.d.ts +5 -0
  360. package/dist/state/api/row-handle-select.js +43 -0
  361. package/dist/state/api/row-select-all.d.ts +2 -0
  362. package/dist/state/api/row-select-all.js +17 -0
  363. package/dist/state/api/row-select.d.ts +5 -0
  364. package/dist/state/api/row-select.js +35 -0
  365. package/dist/state/api/row-selected.d.ts +2 -0
  366. package/dist/state/api/row-selected.js +13 -0
  367. package/dist/state/api/scroll-into-view.d.ts +5 -0
  368. package/dist/state/api/scroll-into-view.js +50 -0
  369. package/dist/state/api/sort-for-column.d.ts +2 -0
  370. package/dist/state/api/sort-for-column.js +9 -0
  371. package/dist/state/api/use-row-drag.d.ts +2 -0
  372. package/dist/state/api/use-row-drag.js +27 -0
  373. package/dist/state/helpers/cell-row-group.d.ts +2 -0
  374. package/dist/state/helpers/cell-row-group.js +19 -0
  375. package/dist/state/helpers/column-add-row-group.d.ts +9 -0
  376. package/dist/state/helpers/column-add-row-group.js +66 -0
  377. package/dist/state/helpers/column-layout.d.ts +3 -0
  378. package/dist/state/helpers/column-layout.js +65 -0
  379. package/dist/state/helpers/column-marker.d.ts +8 -0
  380. package/dist/state/helpers/column-marker.js +43 -0
  381. package/dist/state/helpers/column-view.d.ts +21 -0
  382. package/dist/state/helpers/column-view.js +33 -0
  383. package/dist/state/helpers/edit-on-change.d.ts +15 -0
  384. package/dist/state/helpers/edit-on-change.js +26 -0
  385. package/dist/state/helpers/empty-row-data-source.d.ts +2 -0
  386. package/dist/state/helpers/empty-row-data-source.js +17 -0
  387. package/dist/state/helpers/get-data-rect.d.ts +13 -0
  388. package/dist/state/helpers/get-data-rect.js +65 -0
  389. package/dist/state/helpers/get-full-width-callback.d.ts +2 -0
  390. package/dist/state/helpers/get-full-width-callback.js +8 -0
  391. package/dist/state/helpers/get-span-callback.d.ts +2 -0
  392. package/dist/state/helpers/get-span-callback.js +20 -0
  393. package/dist/state/helpers/resolve-column.d.ts +4 -0
  394. package/dist/state/helpers/resolve-column.js +22 -0
  395. package/dist/state/helpers/row-layout/get-focus-criteria.d.ts +17 -0
  396. package/dist/state/helpers/row-layout/get-focus-criteria.js +62 -0
  397. package/dist/state/helpers/row-layout/row-layout.d.ts +18 -0
  398. package/dist/state/helpers/row-layout/row-layout.js +414 -0
  399. package/dist/state/use-lytenyte.d.ts +3 -0
  400. package/dist/state/use-lytenyte.js +579 -0
  401. package/dist/tree-view/branch/branch.d.ts +11 -0
  402. package/dist/tree-view/branch/branch.js +61 -0
  403. package/dist/tree-view/branch/use-branch-keys.d.ts +2 -0
  404. package/dist/tree-view/branch/use-branch-keys.js +87 -0
  405. package/dist/tree-view/context.d.ts +22 -0
  406. package/dist/tree-view/context.js +3 -0
  407. package/dist/tree-view/depth-provider.d.ts +2 -0
  408. package/dist/tree-view/depth-provider.js +3 -0
  409. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +2 -0
  410. package/dist/tree-view/hooks/use-tree-view-paths.js +9 -0
  411. package/dist/tree-view/index.d.ts +16 -0
  412. package/dist/tree-view/index.js +16 -0
  413. package/dist/tree-view/leaf.d.ts +4 -0
  414. package/dist/tree-view/leaf.js +27 -0
  415. package/dist/tree-view/navigation/get-all-ids.d.ts +1 -0
  416. package/dist/tree-view/navigation/get-all-ids.js +7 -0
  417. package/dist/tree-view/navigation/get-first-node.d.ts +1 -0
  418. package/dist/tree-view/navigation/get-first-node.js +7 -0
  419. package/dist/tree-view/navigation/get-last-node.d.ts +1 -0
  420. package/dist/tree-view/navigation/get-last-node.js +7 -0
  421. package/dist/tree-view/navigation/get-next-node.d.ts +1 -0
  422. package/dist/tree-view/navigation/get-next-node.js +13 -0
  423. package/dist/tree-view/navigation/get-prev-node.d.ts +1 -0
  424. package/dist/tree-view/navigation/get-prev-node.js +13 -0
  425. package/dist/tree-view/panel/make-handle-navigation.d.ts +2 -0
  426. package/dist/tree-view/panel/make-handle-navigation.js +39 -0
  427. package/dist/tree-view/panel/make-handle-selection.d.ts +2 -0
  428. package/dist/tree-view/panel/make-handle-selection.js +92 -0
  429. package/dist/tree-view/panel/make-handle-typeahead.d.ts +1 -0
  430. package/dist/tree-view/panel/make-handle-typeahead.js +45 -0
  431. package/dist/tree-view/panel/panel.d.ts +1 -0
  432. package/dist/tree-view/panel/panel.js +30 -0
  433. package/dist/tree-view/panel/use-tree-navigation.d.ts +1 -0
  434. package/dist/tree-view/panel/use-tree-navigation.js +63 -0
  435. package/dist/tree-view/root.d.ts +17 -0
  436. package/dist/tree-view/root.js +63 -0
  437. package/dist/tree-view/utils/get-focusable-nodes.d.ts +1 -0
  438. package/dist/tree-view/utils/get-focusable-nodes.js +5 -0
  439. package/dist/tree-view/utils/get-focused-node.d.ts +1 -0
  440. package/dist/tree-view/utils/get-focused-node.js +14 -0
  441. package/dist/tree-view/utils/get-ids-between-nodes.d.ts +1 -0
  442. package/dist/tree-view/utils/get-ids-between-nodes.js +15 -0
  443. package/dist/tree-view/utils/get-panel.d.ts +1 -0
  444. package/dist/tree-view/utils/get-panel.js +7 -0
  445. package/dist/tree-view/utils/get-parent-node.d.ts +1 -0
  446. package/dist/tree-view/utils/get-parent-node.js +10 -0
  447. package/dist/tree-view/utils/get-sibling-branches.d.ts +1 -0
  448. package/dist/tree-view/utils/get-sibling-branches.js +14 -0
  449. package/dist/tree-view/utils/get-tree-node-id.d.ts +1 -0
  450. package/dist/tree-view/utils/get-tree-node-id.js +3 -0
  451. package/dist/tree-view/utils/is-branch-node.d.ts +1 -0
  452. package/dist/tree-view/utils/is-branch-node.js +3 -0
  453. package/dist/tree-view/utils/is-leaf-node.d.ts +1 -0
  454. package/dist/tree-view/utils/is-leaf-node.js +3 -0
  455. package/dist/tree-view/utils/is-tree-node-disabled.d.ts +1 -0
  456. package/dist/tree-view/utils/is-tree-node-disabled.js +3 -0
  457. package/dist/tree-view/utils/select-node.d.ts +2 -0
  458. package/dist/tree-view/utils/select-node.js +15 -0
  459. package/dist/tree-view/utils/toggle-all-selections.d.ts +2 -0
  460. package/dist/tree-view/utils/toggle-all-selections.js +9 -0
  461. package/dist/tree-view/utils/toggle-selection.d.ts +2 -0
  462. package/dist/tree-view/utils/toggle-selection.js +21 -0
  463. package/dist/tree-view/virtualized/force-sync-scrolling.d.ts +2 -0
  464. package/dist/tree-view/virtualized/force-sync-scrolling.js +23 -0
  465. package/dist/tree-view/virtualized/get-virtual-tree-paths.d.ts +2 -0
  466. package/dist/tree-view/virtualized/get-virtual-tree-paths.js +14 -0
  467. package/dist/tree-view/virtualized/make-virtual-tree.d.ts +31 -0
  468. package/dist/tree-view/virtualized/make-virtual-tree.js +90 -0
  469. package/dist/tree-view/virtualized/use-flattened-tree.d.ts +9 -0
  470. package/dist/tree-view/virtualized/use-flattened-tree.js +36 -0
  471. package/dist/tree-view/virtualized/use-row-start-and-end.d.ts +2 -0
  472. package/dist/tree-view/virtualized/use-row-start-and-end.js +27 -0
  473. package/dist/tree-view/virtualized/use-virtualized-tree.d.ts +22 -0
  474. package/dist/tree-view/virtualized/use-virtualized-tree.js +100 -0
  475. package/dist/types/types.d.ts +8 -13
  476. package/dist/types/types.js +1 -0
  477. package/dist/utils/cycle-sorts.d.ts +2 -0
  478. package/dist/utils/cycle-sorts.js +16 -0
  479. package/dist/viewport/begin-editing.d.ts +5 -0
  480. package/dist/viewport/begin-editing.js +15 -0
  481. package/dist/viewport/viewport.d.ts +1 -0
  482. package/dist/viewport/viewport.js +77 -0
  483. package/main.css +315 -0
  484. package/package.json +31 -79
  485. package/dist/CompositeList-CGRaS6LQ.js +0 -149
  486. package/dist/DialogPortalContext-C2WZTqJ3.js +0 -47
  487. package/dist/DirectionContext-DIPP5cAe.js +0 -15
  488. package/dist/InternalBackdrop-C4RACVzs.js +0 -324
  489. package/dist/PopoverPortalContext-BdsDjihw.js +0 -26
  490. package/dist/anchor-context-Cqr_oiJt.js +0 -11
  491. package/dist/arrow-down-icon-B-3ldODD.js +0 -27
  492. package/dist/column-manager.js +0 -1228
  493. package/dist/column-menu-driver-cG-EZgLa.js +0 -491
  494. package/dist/cross-icon-CEMLAlFX.js +0 -20
  495. package/dist/dialog.js +0 -506
  496. package/dist/drag-store-BMsDBUy_.js +0 -1039
  497. package/dist/filter-manager.js +0 -1057
  498. package/dist/getPseudoElementBounds-BSHt6WYm.js +0 -26
  499. package/dist/grid-container.js +0 -18
  500. package/dist/icons.js +0 -516
  501. package/dist/lytenyte-pro.css +0 -2167
  502. package/dist/manage-columns-icon-D4CElo5H.js +0 -146
  503. package/dist/menu-lIx6h6Vn.js +0 -1885
  504. package/dist/menu.js +0 -4
  505. package/dist/more-dots-icon-CzAH3xHG.js +0 -26
  506. package/dist/pill-BHBLeJ6k.js +0 -1012
  507. package/dist/pill-manager.js +0 -737
  508. package/dist/plus-icon-ToqW5CC-.js +0 -15
  509. package/dist/popover.js +0 -795
  510. package/dist/proptypes-BjYr2nFr.js +0 -6472
  511. package/dist/row-group-icon-DFUMye0v.js +0 -186
  512. package/dist/search-icon-CcG1lqsn.js +0 -86
  513. package/dist/select-Db5ksjoS.js +0 -2256
  514. package/dist/separator-BnPPeAk8.js +0 -21
  515. package/dist/sort-descending-BMtfaa2L.js +0 -34
  516. package/dist/sort-manager.js +0 -308
  517. package/dist/tickmark-icon-CoogRMoO.js +0 -51
  518. package/dist/types/anchor-context/anchor-context.d.ts +0 -6
  519. package/dist/types/cell-selection/cell-selection-containers.d.ts +0 -3
  520. package/dist/types/column-manager/column-manager-context.d.ts +0 -12
  521. package/dist/types/column-manager/column-manager-drag-box-controls.d.ts +0 -1
  522. package/dist/types/column-manager/column-manager-drag-box-expander.d.ts +0 -1
  523. package/dist/types/column-manager/column-manager-drag-box-label.d.ts +0 -5
  524. package/dist/types/column-manager/column-manager-drag-box.d.ts +0 -13
  525. package/dist/types/column-manager/column-manager-drag-placeholder.d.ts +0 -5
  526. package/dist/types/column-manager/column-manager-drop-zone.d.ts +0 -10
  527. package/dist/types/column-manager/column-manager-impl.d.ts +0 -36
  528. package/dist/types/column-manager/column-manager-pill.d.ts +0 -4
  529. package/dist/types/column-manager/column-manager-pivot-mode-toggle.d.ts +0 -1
  530. package/dist/types/column-manager/column-manager-search.d.ts +0 -1
  531. package/dist/types/column-manager/column-manager-state.d.ts +0 -8
  532. package/dist/types/column-manager/column-manager-tree-item.d.ts +0 -6
  533. package/dist/types/column-manager/column-manager-tree.d.ts +0 -11
  534. package/dist/types/column-manager/column-manager-types.d.ts +0 -1
  535. package/dist/types/column-manager/column-manager.d.ts +0 -1
  536. package/dist/types/column-manager/utils/all-leafs.d.ts +0 -3
  537. package/dist/types/column-manager/utils/can-hide-item.d.ts +0 -3
  538. package/dist/types/column-manager/utils/handle-item-hide.d.ts +0 -3
  539. package/dist/types/components-internal/button/button.d.ts +0 -9
  540. package/dist/types/components-internal/grid-frame/grid-frame.d.ts +0 -11
  541. package/dist/types/components-internal/radio/radio.d.ts +0 -5
  542. package/dist/types/components-internal/separator/separator.d.ts +0 -8
  543. package/dist/types/components-internal/toggle/toggle.d.ts +0 -7
  544. package/dist/types/dialog/dialog-impl.d.ts +0 -6
  545. package/dist/types/dialog/dialog.d.ts +0 -8
  546. package/dist/types/dialog/use-dialog-class.d.ts +0 -1
  547. package/dist/types/external.d.ts +0 -2
  548. package/dist/types/filter-manager/combined-to-flat.d.ts +0 -3
  549. package/dist/types/filter-manager/components/apply-filter-button.d.ts +0 -1
  550. package/dist/types/filter-manager/components/clear-filter-button.d.ts +0 -1
  551. package/dist/types/filter-manager/components/flatten-tree-items.d.ts +0 -4
  552. package/dist/types/filter-manager/components/get-child-values.d.ts +0 -2
  553. package/dist/types/filter-manager/components/in-filter-container.d.ts +0 -1
  554. package/dist/types/filter-manager/components/in-filter-error.d.ts +0 -5
  555. package/dist/types/filter-manager/components/in-filter-loading.d.ts +0 -1
  556. package/dist/types/filter-manager/components/in-filter-root.d.ts +0 -11
  557. package/dist/types/filter-manager/components/in-filter-tree.d.ts +0 -15
  558. package/dist/types/filter-manager/components/simple-filter-additional-switch.d.ts +0 -1
  559. package/dist/types/filter-manager/components/simple-filter-operator/date-operator.d.ts +0 -1
  560. package/dist/types/filter-manager/components/simple-filter-operator/number-operator.d.ts +0 -1
  561. package/dist/types/filter-manager/components/simple-filter-operator/simple-filter-operator.d.ts +0 -1
  562. package/dist/types/filter-manager/components/simple-filter-operator/text-operator.d.ts +0 -1
  563. package/dist/types/filter-manager/components/simple-filter-root.d.ts +0 -9
  564. package/dist/types/filter-manager/components/simple-filter-value/date-value.d.ts +0 -1
  565. package/dist/types/filter-manager/components/simple-filter-value/number-value.d.ts +0 -1
  566. package/dist/types/filter-manager/components/simple-filter-value/simple-filter-value.d.ts +0 -1
  567. package/dist/types/filter-manager/components/simple-filter-value/text-value.d.ts +0 -1
  568. package/dist/types/filter-manager/components/use-date-filter-callbacks.d.ts +0 -9
  569. package/dist/types/filter-manager/components/use-in-filter-item-loader.d.ts +0 -7
  570. package/dist/types/filter-manager/components/use-number-filter-callbacks.d.ts +0 -8
  571. package/dist/types/filter-manager/components/use-text-filter-callbacks.d.ts +0 -8
  572. package/dist/types/filter-manager/filter-manager-impl.d.ts +0 -27
  573. package/dist/types/filter-manager/filter-manager.d.ts +0 -1
  574. package/dist/types/filter-manager/filter-state-context.d.ts +0 -16
  575. package/dist/types/filter-manager/flat-to-combined.d.ts +0 -3
  576. package/dist/types/filter-manager/flatten-combined-filter.d.ts +0 -3
  577. package/dist/types/filter-manager/is-filter-complete.d.ts +0 -2
  578. package/dist/types/filter-manager/types.d.ts +0 -15
  579. package/dist/types/filter-manager/use-in-filter.d.ts +0 -5
  580. package/dist/types/filter-manager/use-simple-filters.d.ts +0 -8
  581. package/dist/types/grid-container/grid-container-impl.d.ts +0 -6
  582. package/dist/types/grid-container/grid-container.d.ts +0 -2
  583. package/dist/types/header-cell/header-cell-default.d.ts +0 -2
  584. package/dist/types/icons.d.ts +0 -1
  585. package/dist/types/index.d.ts +0 -8
  586. package/dist/types/license.d.ts +0 -12
  587. package/dist/types/list-view/list-view-context.d.ts +0 -21
  588. package/dist/types/list-view/list-view.d.ts +0 -26
  589. package/dist/types/lytenyte-pro.d.ts +0 -7
  590. package/dist/types/menu/arrow-svg.d.ts +0 -1
  591. package/dist/types/menu/column-menu/column-menu-driver.d.ts +0 -4
  592. package/dist/types/menu/context-menu/context-menu-driver.d.ts +0 -1
  593. package/dist/types/menu/context-menu/use-context-menu-listener.d.ts +0 -6
  594. package/dist/types/menu/menu-impl.d.ts +0 -18
  595. package/dist/types/menu/menu.d.ts +0 -19
  596. package/dist/types/menu/use-menu-class-name.d.ts +0 -1
  597. package/dist/types/menu-frame/menu-frame-driver.d.ts +0 -1
  598. package/dist/types/overlay/load-error-overlay.d.ts +0 -1
  599. package/dist/types/overlay/loading-overlay.d.ts +0 -1
  600. package/dist/types/overlay/no-data-overlay.d.ts +0 -1
  601. package/dist/types/overlay/overlay-driver.d.ts +0 -1
  602. package/dist/types/pill/pill.d.ts +0 -5
  603. package/dist/types/pill-manager/pill-manager-agg-menu.d.ts +0 -7
  604. package/dist/types/pill-manager/pill-manager-controls.d.ts +0 -9
  605. package/dist/types/pill-manager/pill-manager-drag-placeholder.d.ts +0 -5
  606. package/dist/types/pill-manager/pill-manager-expander.d.ts +0 -1
  607. package/dist/types/pill-manager/pill-manager-impl.d.ts +0 -50
  608. package/dist/types/pill-manager/pill-manager-pill.d.ts +0 -5
  609. package/dist/types/pill-manager/pill-manager-pills/pill-manager-pills.d.ts +0 -2
  610. package/dist/types/pill-manager/pill-manager-pills/use-aggregation-source.d.ts +0 -2
  611. package/dist/types/pill-manager/pill-manager-pills/use-column-pivot-source.d.ts +0 -2
  612. package/dist/types/pill-manager/pill-manager-pills/use-column-source.d.ts +0 -2
  613. package/dist/types/pill-manager/pill-manager-pills/use-measures-source.d.ts +0 -2
  614. package/dist/types/pill-manager/pill-manager-pills/use-row-groups-source.d.ts +0 -2
  615. package/dist/types/pill-manager/pill-manager-pills/utils.d.ts +0 -3
  616. package/dist/types/pill-manager/pill-manager-row-label.d.ts +0 -22
  617. package/dist/types/pill-manager/pill-manager-row.d.ts +0 -12
  618. package/dist/types/pill-manager/pill-manager-rows.d.ts +0 -1
  619. package/dist/types/pill-manager/pill-manager-separator.d.ts +0 -1
  620. package/dist/types/pill-manager/pill-manager-types.d.ts +0 -36
  621. package/dist/types/pill-manager/pill-manager.d.ts +0 -1
  622. package/dist/types/popover/popover-impl.d.ts +0 -8
  623. package/dist/types/popover/popover.d.ts +0 -10
  624. package/dist/types/popover/use-popover-class.d.ts +0 -1
  625. package/dist/types/select/select.d.ts +0 -26
  626. package/dist/types/sort-manager/sort-adder.d.ts +0 -4
  627. package/dist/types/sort-manager/sort-apply.d.ts +0 -1
  628. package/dist/types/sort-manager/sort-cancel.d.ts +0 -1
  629. package/dist/types/sort-manager/sort-clear.d.ts +0 -1
  630. package/dist/types/sort-manager/sort-column-select.d.ts +0 -6
  631. package/dist/types/sort-manager/sort-direction-select.d.ts +0 -6
  632. package/dist/types/sort-manager/sort-items-to-sort-model.d.ts +0 -3
  633. package/dist/types/sort-manager/sort-manager-context.d.ts +0 -4
  634. package/dist/types/sort-manager/sort-manager-impl.d.ts +0 -32
  635. package/dist/types/sort-manager/sort-manager.d.ts +0 -1
  636. package/dist/types/sort-manager/sort-model-to-sort-items.d.ts +0 -4
  637. package/dist/types/sort-manager/sort-remove.d.ts +0 -4
  638. package/dist/types/sort-manager/sort-sort-select.d.ts +0 -6
  639. package/dist/types/sort-manager/use-sortable-column-items.d.ts +0 -9
  640. package/dist/types/use-client-data-source.d.ts +0 -6
  641. package/dist/types/use-edge-scroll.d.ts +0 -7
  642. package/dist/types/use-grid.d.ts +0 -6
  643. package/dist/types/use-lytenyte.d.ts +0 -11
  644. package/dist/types/use-server-data-source.d.ts +0 -3
  645. package/dist/types/use-tree-data-source.d.ts +0 -3
  646. package/dist/types/watermark.d.ts +0 -3
  647. package/dist/types.js +0 -1
  648. package/dist/useAnchorPositioning-52zK7jlD.js +0 -241
  649. package/dist/useButton-DWXzFgcr.js +0 -184
  650. package/dist/useScrollLock-D4UY33Sb.js +0 -425
  651. /package/dist/{types/cell-selection → cell-selection}/cell-selection-driver.d.ts +0 -0
  652. /package/dist/{types/dialog → root}/dialog-driver.d.ts +0 -0
  653. /package/dist/{types/popover → root}/popover-driver.d.ts +0 -0
@@ -1,1039 +0,0 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import React__default, { useRef, useCallback, useEffect, memo, useMemo, createContext, useContext } from "react";
3
- import { clsx, sizeFromCoord, getClientY, getClientX, getRelativeXPosition } from "@1771technologies/js-utils";
4
- import { refCompat, useEvent } from "@1771technologies/react-utils";
5
- import { getHoveredRowIndex } from "@1771technologies/grid-core";
6
- import { useDraggable } from "@1771technologies/react-dragon";
7
- const ROW_LEAF_KIND = 1;
8
- const ROW_GROUP_KIND = 2;
9
- const COLUMN_GROUP_ID_DELIMITER = "-->";
10
- const ROW_DEFAULT_PATH_SEPARATOR = "-->";
11
- const COLUMN_EMPTY_PREFIX = "lytenyte-empty:";
12
- const COLUMN_MARKER_ID = "lytenyte-marker-column";
13
- const GROUP_COLUMN_PREFIX = "lytenyte-group-column:";
14
- const GROUP_COLUMN_MULTI_PREFIX = `${GROUP_COLUMN_PREFIX}:multi:`;
15
- const GROUP_COLUMN_SINGLE_ID = `${GROUP_COLUMN_PREFIX}:single`;
16
- const GROUP_COLUMN_TREE_DATA = `${GROUP_COLUMN_PREFIX}:tree`;
17
- const COLUMN_GROUP_HEADER_HEIGHT = 28;
18
- const COLUMN_HEADER_HEIGHT = 32;
19
- const COLUMN_SCAN_DISTANCE = 20;
20
- const PAGINATE_PAGE_SIZE = 50;
21
- const ROW_BLANK_GROUP_KEY = "lytenyte-blank";
22
- const ROW_HEIGHT = 32;
23
- const ROW_DETAIL_HEIGHT = 300;
24
- const ROW_UPDATE_STACK_SIZE = 20;
25
- const DEFAULT_MAX_WIDTH = 1e3;
26
- const DEFAULT_MIN_WIDTH = 80;
27
- const DEFAULT_WIDTH = 150;
28
- const DEFAULT_SORT_CYCLE = ["asc", "desc", null];
29
- const GRID_CELL_POSITION = 1;
30
- const FULL_WIDTH_POSITION = 2;
31
- const HEADER_CELL_POSITION = 3;
32
- const HEADER_GROUP_CELL_POSITION = 4;
33
- const FLOATING_CELL_POSITION = 5;
34
- const FULL_ENCODING = -2;
35
- const END_ENCODING = -1;
36
- const transformCache = {};
37
- function getTransform(x, y) {
38
- transformCache[x] ??= {};
39
- transformCache[x][y] ??= `translate3d(${x}px, ${y}px, 0px)`;
40
- return transformCache[x][y];
41
- }
42
- function Checkbox({
43
- isDisabled,
44
- isChecked,
45
- isDeterminate,
46
- onCheckChange,
47
- isLoading,
48
- ...props
49
- }) {
50
- return /* @__PURE__ */ jsxs("div", { className: clsx("lng1771-checkbox", !isDisabled && "lng1771-checkbox--disabled"), children: [
51
- /* @__PURE__ */ jsx(
52
- "input",
53
- {
54
- ...props,
55
- className: "lng1771-checkbox__input",
56
- checked: isChecked,
57
- onPointerDownCapture: (e) => {
58
- e.stopPropagation();
59
- e.preventDefault();
60
- },
61
- onChange: (e) => {
62
- onCheckChange?.(e.target.checked, e);
63
- },
64
- type: "checkbox",
65
- disabled: isDisabled
66
- }
67
- ),
68
- /* @__PURE__ */ jsxs(
69
- "div",
70
- {
71
- className: clsx(
72
- "lng1771-checkbox__mark",
73
- isDisabled && "lng1771-checkbox__mark--disabled",
74
- !isDisabled && isChecked && "lng1771-checkbox__mark--checked",
75
- isLoading && "lng1771-checkbox__mark--loading"
76
- ),
77
- children: [
78
- isChecked && !isDeterminate && /* @__PURE__ */ jsx(CheckMark, {}),
79
- isChecked && isDeterminate && /* @__PURE__ */ jsx(CheckIndeterminate, {}),
80
- !isChecked && isDisabled && /* @__PURE__ */ jsx(CheckboxDisabled, {})
81
- ]
82
- }
83
- )
84
- ] });
85
- }
86
- function CheckMark() {
87
- return /* @__PURE__ */ jsx("svg", { width: "12", height: "9", viewBox: "0 0 11 9", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
88
- "path",
89
- {
90
- d: "M1.38721 4.34783C2.92567 5.26087 4.15644 7.08696 4.46413 8C6.00259 4.34783 8.15644 1.91304 9.38721 1",
91
- stroke: "currentcolor",
92
- strokeWidth: "2",
93
- strokeLinecap: "round",
94
- strokeLinejoin: "round"
95
- }
96
- ) });
97
- }
98
- function CheckIndeterminate() {
99
- return /* @__PURE__ */ jsx("svg", { width: "12", height: "2", viewBox: "0 0 11 2", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
100
- "path",
101
- {
102
- d: "M1.38721 1H9.38721",
103
- stroke: "currentcolor",
104
- strokeWidth: "1.8",
105
- strokeLinecap: "round",
106
- strokeLinejoin: "round"
107
- }
108
- ) });
109
- }
110
- function CheckboxDisabled() {
111
- return /* @__PURE__ */ jsx("svg", { width: "15", height: "14", viewBox: "0 0 15 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx(
112
- "path",
113
- {
114
- fillRule: "evenodd",
115
- clipRule: "evenodd",
116
- d: "M0.720459 6.99967C0.720459 10.6812 3.70564 13.6663 7.38713 13.6663C11.0686 13.6663 14.0538 10.6812 14.0538 6.99967C14.0538 3.31745 11.0686 0.333008 7.38713 0.333008C3.70564 0.333008 0.720459 3.31745 0.720459 6.99967ZM4.29527 2.84412C5.15972 2.20042 6.22713 1.81449 7.38713 1.81449C10.2508 1.81449 12.5723 4.13597 12.5723 6.99967C12.5723 8.16042 12.1871 9.22782 11.5427 10.0915L4.29527 2.84412ZM2.20194 6.99967C2.20194 5.83079 2.59379 4.75597 3.24564 3.8893L10.4975 11.1412C9.63009 11.7937 8.55527 12.1849 7.38713 12.1849C4.52342 12.1849 2.20194 9.86338 2.20194 6.99967Z",
117
- fill: "currentcolor"
118
- }
119
- ) });
120
- }
121
- const ButtonImpl = ({
122
- buttonRef,
123
- ...props
124
- }) => {
125
- return /* @__PURE__ */ jsx(
126
- "button",
127
- {
128
- tabIndex: -1,
129
- ...props,
130
- ref: buttonRef,
131
- className: clsx("lng1771-icon-button", props.className),
132
- children: props.children
133
- }
134
- );
135
- };
136
- const GridButton = refCompat(ButtonImpl, "Button");
137
- function CollapseButton(props) {
138
- return /* @__PURE__ */ jsx(GridButton, { ...props, children: "-" });
139
- }
140
- function ExpandButton(props) {
141
- return /* @__PURE__ */ jsx(GridButton, { ...props, children: "+" });
142
- }
143
- function useCellFullWidthFocus(api, rowIndex) {
144
- const ref = useRef(null);
145
- const skipRef = useRef(false);
146
- const onFocus = useEvent(() => {
147
- if (skipRef.current) {
148
- skipRef.current = false;
149
- return;
150
- }
151
- api.getState().internal.navigatePosition.set({
152
- kind: FULL_WIDTH_POSITION,
153
- columnIndex: 0,
154
- rowIndex
155
- });
156
- });
157
- const tryFocus = useEvent((element) => {
158
- const sx = api.getState();
159
- const position = sx.internal.navigatePosition.peek();
160
- if (!element || !position || position.kind !== FULL_WIDTH_POSITION) return;
161
- const posRow = position.rowIndex;
162
- if (rowIndex === posRow && !element.contains(document.activeElement) && element !== document.activeElement) {
163
- api.navigateScrollIntoView(posRow);
164
- skipRef.current = true;
165
- element.focus();
166
- }
167
- });
168
- const handleRef = useCallback(
169
- (el) => {
170
- tryFocus(el);
171
- ref.current = el;
172
- },
173
- [tryFocus]
174
- );
175
- useEffect(() => {
176
- const sx = api.getState();
177
- const unsub = sx.internal.navigatePosition.watch(() => {
178
- tryFocus(ref.current);
179
- }, false);
180
- return () => {
181
- unsub();
182
- };
183
- }, [api, ref, rowIndex, tryFocus]);
184
- return { handleRef, onFocus };
185
- }
186
- function handleRowSelection(api, row, bulk, meta, ignoreActivator = false, expectedActivator = "single-click") {
187
- const sx = api.getState();
188
- const mode = sx.rowSelectionMode.peek();
189
- const activator = sx.rowSelectionPointerActivator.peek();
190
- if (mode === "none" || activator !== expectedActivator && !ignoreActivator) return;
191
- const canSelect = canSelectRow(api, row);
192
- if (!canSelect) return;
193
- const isSelected = sx.rowSelectionSelectedIds.peek().has(row.id);
194
- if (mode === "single") {
195
- api.rowSelectionClear();
196
- if (!isSelected) api.rowSelectionSelect([row.id]);
197
- return;
198
- }
199
- const pivotIndex = sx.internal.rowSelectionPivotIndex.peek();
200
- const lastWasDeselect = sx.internal.rowSelectionLastWasDeselect.peek();
201
- const childrenAsWell = sx.rowSelectionSelectChildren.peek();
202
- const rowIndex = row.rowIndex;
203
- if (bulk && pivotIndex != null) {
204
- const idsToChange = [];
205
- const start = Math.min(rowIndex, pivotIndex);
206
- const end = Math.max(rowIndex, pivotIndex) + 1;
207
- for (let i = start; i < end; i++) {
208
- const row2 = api.rowByIndex(i);
209
- if (!row2 || !canSelectRow(api, row2)) continue;
210
- idsToChange.push(row2.id);
211
- }
212
- if (lastWasDeselect) api.rowSelectionDeselect(idsToChange, childrenAsWell);
213
- else api.rowSelectionSelect(idsToChange, childrenAsWell);
214
- return;
215
- }
216
- const additive = meta || sx.rowSelectionMultiSelectOnClick.peek();
217
- if (additive) {
218
- if (isSelected) api.rowSelectionDeselect([row.id], sx.rowSelectionSelectChildren.peek());
219
- else api.rowSelectionSelect([row.id], sx.rowSelectionSelectChildren.peek());
220
- sx.internal.rowSelectionPivotIndex.set(rowIndex);
221
- sx.internal.rowSelectionLastWasDeselect.set(isSelected);
222
- return;
223
- }
224
- sx.internal.rowSelectionPivotIndex.set(rowIndex);
225
- sx.internal.rowSelectionLastWasDeselect.set(isSelected);
226
- api.rowSelectionClear();
227
- if (!isSelected) api.rowSelectionSelect([row.id]);
228
- }
229
- function canSelectRow(api, row) {
230
- const predicate = api.getState().rowSelectionPredicate.peek();
231
- const canSelect = predicate === "all" ? true : predicate === "group-only" ? api.rowIsGroup(row) : predicate === "leaf-only" ? api.rowIsLeaf(row) : predicate({ row, api });
232
- return canSelect;
233
- }
234
- function useFullWidthEvents(api, row) {
235
- const onClick = useEvent((event) => {
236
- handleRowSelection(
237
- api,
238
- row,
239
- event.shiftKey,
240
- event.metaKey || event.ctrlKey,
241
- false,
242
- "single-click"
243
- );
244
- });
245
- const onDoubleClick = useEvent((event) => {
246
- handleRowSelection(
247
- api,
248
- row,
249
- event.shiftKey,
250
- event.metaKey || event.ctrlKey,
251
- false,
252
- "double-click"
253
- );
254
- });
255
- return { onClick, onDoubleClick };
256
- }
257
- function CellFullWidthImpl({
258
- row,
259
- rowIndex,
260
- rowPin,
261
- colCount,
262
- yPositions,
263
- api,
264
- paginateOffset
265
- }) {
266
- const sx = api.getState();
267
- const width = sx.internal.viewportInnerWidth.use();
268
- const cx = useMemo(() => {
269
- const isTop = rowPin === "top";
270
- const isBot = rowPin === "bottom";
271
- const height = sizeFromCoord(rowIndex, yPositions);
272
- const rowCount = sx.internal.rowCount.peek();
273
- const rowTopCount = sx.internal.rowTopCount.peek();
274
- const rowBotCount = sx.internal.rowBottomCount.peek();
275
- const firstBotIndex = rowCount - rowBotCount;
276
- const y = isBot ? yPositions[rowIndex] - yPositions[firstBotIndex] : isTop ? yPositions[rowIndex] : yPositions[rowIndex] - yPositions[rowTopCount] - paginateOffset;
277
- const transform = getTransform(0, y);
278
- return { style: { transform, height } };
279
- }, [
280
- paginateOffset,
281
- rowIndex,
282
- rowPin,
283
- sx.internal.rowBottomCount,
284
- sx.internal.rowCount,
285
- sx.internal.rowTopCount,
286
- yPositions
287
- ]);
288
- const Renderer = sx.rowFullWidthRenderer.use() ?? DefaultRenderer;
289
- const selected = sx.rowSelectionSelectedIds.use();
290
- const isSelected = selected.has(row.id);
291
- const { handleRef, onFocus } = useCellFullWidthFocus(api, rowIndex);
292
- const events = useFullWidthEvents(api, row);
293
- return /* @__PURE__ */ jsx(
294
- "div",
295
- {
296
- role: "gridcell",
297
- ref: handleRef,
298
- "aria-colindex": 1,
299
- "aria-colspan": colCount,
300
- "aria-rowindex": rowIndex + 1,
301
- "aria-rowspan": 1,
302
- "data-lng1771-rowid": row.id,
303
- "data-lng1771-rowindex": rowIndex,
304
- tabIndex: -1,
305
- style: { width, ...cx.style },
306
- ...events,
307
- onFocus,
308
- className: clsx(
309
- "lng1771-cell__full-width",
310
- rowIndex % 2 === 1 && "lng1771-cell__full-width--alternate",
311
- isSelected && "lng1771-cell__full-width--selected"
312
- ),
313
- children: /* @__PURE__ */ jsx(Renderer, { api, row })
314
- }
315
- );
316
- }
317
- const CellFullWidth = memo(CellFullWidthImpl);
318
- function DefaultRenderer() {
319
- return /* @__PURE__ */ jsx("div", { children: "Not Implemented" });
320
- }
321
- function useCellStyle(api, xPositions, yPositions, columnIndex, rowIndex, columnSpan, rowSpan, column, rowPin, rowId, paginateOffset) {
322
- const sx = api.getState();
323
- const vpWidth = sx.internal.viewportInnerWidth.use();
324
- const rowDetailHeight = sx.internal.rowDetailHeight.use();
325
- const height = sizeFromCoord(rowIndex, yPositions, rowSpan) - rowDetailHeight(rowIndex);
326
- const width = sizeFromCoord(columnIndex, xPositions, columnSpan);
327
- const selectedIds = sx.rowSelectionSelectedIds.use();
328
- const rtl = sx.rtl.use();
329
- const styleAndCss = useMemo(() => {
330
- const isStart = column.pin === "start";
331
- const isEnd = column.pin == "end";
332
- const isTop = rowPin === "top";
333
- const isBot = rowPin === "bottom";
334
- const isLastStart = sx.columnVisibleStartCount.peek() - 1 === columnIndex && columnIndex >= 0;
335
- const isFirstEnd = sx.columnVisibleCenterCount.peek() + sx.columnVisibleStartCount.peek() === columnIndex;
336
- const rowCount = sx.internal.rowCount.peek();
337
- const rowTopCount = sx.internal.rowTopCount.peek();
338
- const rowBotCount = sx.internal.rowBottomCount.peek();
339
- const firstBotIndex = rowCount - rowBotCount;
340
- const x = isEnd ? xPositions[columnIndex] - xPositions.at(-1) + vpWidth : xPositions[columnIndex];
341
- const y = isBot ? yPositions[rowIndex] - yPositions[firstBotIndex] : isTop ? yPositions[rowIndex] : yPositions[rowIndex] - yPositions[rowTopCount] - paginateOffset;
342
- const transform = getTransform(x * (rtl ? -1 : 1), y);
343
- const style = { height, width, transform };
344
- if (isStart || isEnd) {
345
- style.insetInlineStart = "0px";
346
- style.position = "sticky";
347
- style.zIndex = 2;
348
- }
349
- if (isTop || isBot) {
350
- style.position = "sticky";
351
- style.top = "0px";
352
- style.zIndex = column.pin === "start" ? 4 : 3;
353
- }
354
- const selected = selectedIds.has(rowId);
355
- const className = clsx(
356
- selected && "lng1771-cell--selected",
357
- isLastStart && "lng1771-cell--last-start",
358
- isFirstEnd && "lng1771-cell--first-end"
359
- );
360
- return { style, className };
361
- }, [
362
- column.pin,
363
- columnIndex,
364
- height,
365
- paginateOffset,
366
- rowId,
367
- rowIndex,
368
- rowPin,
369
- rtl,
370
- selectedIds,
371
- sx.columnVisibleCenterCount,
372
- sx.columnVisibleStartCount,
373
- sx.internal.rowBottomCount,
374
- sx.internal.rowCount,
375
- sx.internal.rowTopCount,
376
- vpWidth,
377
- width,
378
- xPositions,
379
- yPositions
380
- ]);
381
- return styleAndCss;
382
- }
383
- function CellRendererDefault({ api, row, column }) {
384
- const field = api.columnField(row, column);
385
- return /* @__PURE__ */ jsx(
386
- "div",
387
- {
388
- style: {
389
- width: "100%",
390
- height: "100%",
391
- boxSizing: "border-box",
392
- display: "flex",
393
- alignItems: "center",
394
- paddingInline: 12,
395
- overflow: "hidden"
396
- },
397
- children: /* @__PURE__ */ jsx(
398
- "span",
399
- {
400
- style: {
401
- width: "100%",
402
- textOverflow: "ellipsis",
403
- whiteSpace: "nowrap",
404
- overflow: "hidden"
405
- },
406
- children: String(field ?? "")
407
- }
408
- )
409
- }
410
- );
411
- }
412
- function useDragControl(api, row) {
413
- const draggable = useDraggable({
414
- dragData: () => {
415
- const sx = api.getState();
416
- const rows = sx.rowDragMultiRow.peek() ? [row, ...api.rowSelectionGetSelected().filter((r) => r !== row)] : [row];
417
- return { rows, api };
418
- },
419
- dragTags: () => {
420
- const sx = api.getState();
421
- const id = sx.gridId.peek();
422
- const externalGrids = sx.rowDragExternalGrids.peek();
423
- const externalIds = externalGrids.map((c) => c.getState().gridId.peek());
424
- return [id, ...externalIds].map((c) => `${c}:row-drag`);
425
- },
426
- onDragStart: (ev) => {
427
- const controller = new AbortController();
428
- const startY = getClientY(ev.event);
429
- const updates = [startY, startY];
430
- let anim = null;
431
- const sx = api.getState();
432
- sx.internal.rowDragStartIndex.set(row.rowIndex);
433
- const rows = sx.rowDragMultiRow.peek() ? [row, ...api.rowSelectionGetSelected().filter((r) => r !== row)] : [row];
434
- const ref = {
435
- event: ev.event,
436
- api,
437
- rows,
438
- overIndex: -1
439
- };
440
- api.eventFire("onRowDragStart", ref);
441
- const externalGrids = sx.rowDragExternalGrids.peek();
442
- const apis = [api, ...externalGrids];
443
- document.addEventListener(
444
- "drag",
445
- (ev2) => {
446
- const clientX = getClientX(ev2);
447
- const clientY = getClientY(ev2);
448
- ev2.preventDefault();
449
- [updates[0], updates[1]] = [updates[1], clientY];
450
- if (updates[0] === clientY) return;
451
- if (anim) cancelAnimationFrame(anim);
452
- anim = requestAnimationFrame(() => {
453
- for (let i = 0; i < apis.length; i++) {
454
- const api2 = apis[i];
455
- const sx2 = api2.getState();
456
- const viewport = sx2.internal.viewport.peek();
457
- if (!viewport) continue;
458
- const relative = getRelativeXPosition(viewport, clientX);
459
- const isOutOfBounds = relative.left < 0 || relative.right < 0;
460
- const rowDragOverIndex = isOutOfBounds ? null : getHoveredRowIndex(api2, updates[0]);
461
- ref.event = ev2;
462
- if (rowDragOverIndex != null) {
463
- sx2.internal.rowDragOverIndex.set(rowDragOverIndex);
464
- ref.overIndex = rowDragOverIndex;
465
- api2.eventFire("onRowDragMove", ref);
466
- } else {
467
- sx2.internal.rowDragOverIndex.set(-1);
468
- ref.overIndex = -1;
469
- api2.eventFire("onRowDragMove", ref);
470
- }
471
- }
472
- });
473
- },
474
- { signal: controller.signal }
475
- );
476
- window.addEventListener("dragend", (event) => {
477
- controller.abort();
478
- const overIndex = sx.internal.rowDragOverIndex.peek();
479
- ref.overIndex = overIndex;
480
- ref.event = event;
481
- const isValid = event.dataTransfer?.dropEffect !== "none";
482
- if (!isValid) api.eventFire("onRowDragCancel", ref);
483
- else api.eventFire("onRowDragEnd", ref);
484
- for (const api2 of apis) {
485
- const sx2 = api2.getState();
486
- sx2.internal.rowDragOverIndex.set(-1);
487
- sx2.internal.rowDragStartIndex.set(-1);
488
- }
489
- });
490
- },
491
- placeholder: () => {
492
- const sx = api.getState();
493
- const rows = sx.rowDragMultiRow.peek() ? [row, ...api.rowSelectionGetSelected().filter((r) => r !== row)] : [row];
494
- return /* @__PURE__ */ jsx(DragPlaceholder, { rows });
495
- }
496
- });
497
- return draggable;
498
- }
499
- const DragPlaceholder = (p) => {
500
- const label = p.rows.length === 1 ? `Moving row ${p.rows[0].rowIndex}` : `Moving ${p.rows.length} rows`;
501
- return /* @__PURE__ */ jsx("div", { className: "lng1771-drag-placeholder", children: label });
502
- };
503
- function DragButton({ api, row }) {
504
- const draggable = useDragControl(api, row);
505
- return (
506
- // We need to stop propagation on capture to prevent other drag events like
507
- // range cell selection from occurring.
508
- /* @__PURE__ */ jsx(GridButton, { ...draggable, onPointerDownCapture: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(DragDots, { width: 10, height: 10 }) })
509
- );
510
- }
511
- const DragDots = (p) => {
512
- return /* @__PURE__ */ jsxs("svg", { width: "8", height: "12", viewBox: "0 0 8 12", fill: "currentcolor", ...p, children: [
513
- /* @__PURE__ */ jsx("circle", { cx: "1.75", cy: "1.7146", r: "1.25" }),
514
- /* @__PURE__ */ jsx("circle", { cx: "1.75", cy: "6.2146", r: "1.25" }),
515
- /* @__PURE__ */ jsx("circle", { cx: "1.75", cy: "10.7146", r: "1.25" }),
516
- /* @__PURE__ */ jsx("circle", { cx: "6.25", cy: "1.7146", r: "1.25" }),
517
- /* @__PURE__ */ jsx("circle", { cx: "6.25", cy: "6.2146", r: "1.25" }),
518
- /* @__PURE__ */ jsx("circle", { cx: "6.25", cy: "10.7146", r: "1.25" })
519
- ] });
520
- };
521
- function SelectionCheckbox({ api, row }) {
522
- const sx = api.getState();
523
- const isSelect = sx.rowSelectionPredicate.use();
524
- const isSelectable = useMemo(() => {
525
- return isSelect === "all" ? true : isSelect === "leaf-only" ? api.rowIsLeaf(row) : isSelect === "group-only" ? api.rowIsGroup(row) : isSelect({ api, row });
526
- }, [api, isSelect, row]);
527
- const displayMode = sx.rowSelectionCheckbox.use();
528
- const selectedIds = sx.rowSelectionSelectedIds.use();
529
- if (displayMode === "hide" || !isSelectable && displayMode === "hide-for-disabled") return null;
530
- const isChecked = selectedIds.has(row.id);
531
- const isIndeterminate = api.rowSelectionIsIndeterminate(row.id);
532
- return /* @__PURE__ */ jsx(
533
- Checkbox,
534
- {
535
- tabIndex: -1,
536
- isChecked: isChecked || isIndeterminate,
537
- isDeterminate: isIndeterminate,
538
- isDisabled: !isSelectable,
539
- onClick: (event) => {
540
- event.preventDefault();
541
- event.stopPropagation();
542
- handleRowSelection(api, row, event.shiftKey, true, true);
543
- }
544
- }
545
- );
546
- }
547
- function CellMarkerRenderer({ row, api }) {
548
- const doesRowHaveDetail = api.rowDetailRowPredicate(row.id);
549
- const isExpanded = api.rowDetailIsExpanded(row.id);
550
- const isRowDraggable = api.rowIsDraggable(row.id);
551
- const toggleDetail = useEvent(() => api.rowDetailToggle(row.id));
552
- const rowSelectionEnabled = api.getState().rowSelectionMode.use() !== "none";
553
- return /* @__PURE__ */ jsxs("div", { className: "lng1771-cell__marker", children: [
554
- rowSelectionEnabled && /* @__PURE__ */ jsx(SelectionCheckbox, { api, row }),
555
- isRowDraggable && /* @__PURE__ */ jsx(DragButton, { api, row }),
556
- doesRowHaveDetail && (isExpanded ? /* @__PURE__ */ jsx(CollapseButton, { onClick: toggleDetail }) : /* @__PURE__ */ jsx(ExpandButton, { onClick: toggleDetail }))
557
- ] });
558
- }
559
- const LoadingSpinner = () => {
560
- return /* @__PURE__ */ jsx("div", { className: "lng1771-spinner", children: /* @__PURE__ */ jsx("div", { className: "lng1771-circle" }) });
561
- };
562
- function CellGroupRendererDefault({ api, row, column }) {
563
- if (!api.rowIsGroup(row)) {
564
- return /* @__PURE__ */ jsx("div", {});
565
- }
566
- const key = row.pathKey;
567
- const displayMode = api.getState().rowGroupDisplayMode.peek();
568
- if (displayMode === "custom") return null;
569
- const isMulti = displayMode === "multi-column";
570
- const rowDepth = api.rowDepth(row.rowIndex);
571
- const depth = isMulti ? 0 : rowDepth;
572
- const columnDepth = Number.parseInt(column.id.split(":").pop());
573
- if (isMulti && columnDepth !== rowDepth) {
574
- return /* @__PURE__ */ jsx("div", {});
575
- }
576
- const isLoading = !!row.loading;
577
- return /* @__PURE__ */ jsxs(
578
- "div",
579
- {
580
- style: {
581
- paddingInlineStart: depth * 24 + 4,
582
- whiteSpace: "nowrap",
583
- display: "grid",
584
- alignItems: "center",
585
- gridTemplateColumns: "24px 1fr",
586
- height: "100%"
587
- },
588
- children: [
589
- !isLoading && !row.error && /* @__PURE__ */ jsx(
590
- GridButton,
591
- {
592
- onClick: () => api.rowGroupToggle(row),
593
- style: {
594
- width: 20,
595
- height: 20,
596
- transform: api.rowGroupIsExpanded(row) ? "rotate(90deg)" : void 0
597
- },
598
- children: "›"
599
- }
600
- ),
601
- row.error && !isLoading && /* @__PURE__ */ jsx(
602
- GridButton,
603
- {
604
- onClick: () => api.rowReloadExpansion?.(row),
605
- style: {
606
- width: 20,
607
- height: 20,
608
- color: "red"
609
- },
610
- children: /* @__PURE__ */ jsx(
611
- "svg",
612
- {
613
- xmlns: "http://www.w3.org/2000/svg",
614
- fill: "none",
615
- viewBox: "0 0 24 24",
616
- strokeWidth: 1.5,
617
- stroke: "currentColor",
618
- width: 20,
619
- height: 20,
620
- children: /* @__PURE__ */ jsx(
621
- "path",
622
- {
623
- strokeLinecap: "round",
624
- strokeLinejoin: "round",
625
- d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"
626
- }
627
- )
628
- }
629
- )
630
- }
631
- ),
632
- isLoading && /* @__PURE__ */ jsx(LoadingSpinner, {}),
633
- /* @__PURE__ */ jsx(
634
- "div",
635
- {
636
- style: {
637
- width: "100%",
638
- overflow: "hidden",
639
- textOverflow: "ellipsis"
640
- },
641
- children: key
642
- }
643
- )
644
- ]
645
- }
646
- );
647
- }
648
- function useCellRenderer(api, column) {
649
- const renderers = api.getState().cellRenderers.peek();
650
- const Renderer = useMemo(() => {
651
- if (column.id === COLUMN_MARKER_ID) return CellMarkerRenderer;
652
- const base = api.getState().columnBase.peek();
653
- const renderKey = column.cellRenderer ?? base.cellRenderer;
654
- if (!renderKey)
655
- return api.columnIsGroupAutoColumn(column) ? CellGroupRendererDefault : CellRendererDefault;
656
- if (typeof renderKey === "string") {
657
- const El = renderers[renderKey];
658
- if (!El) throw new Error(`Renderer with name ${renderKey} is not present in grid renderers.`);
659
- return El;
660
- }
661
- return renderKey;
662
- }, [api, column, renderers]);
663
- return Renderer;
664
- }
665
- function useCellEvents(api, column, row, rowIndex, columnIndex) {
666
- const onPointerEnter = useEvent(() => {
667
- api.getState().internal.hoveredRow.set(rowIndex);
668
- api.getState().internal.hoveredCol.set(columnIndex);
669
- });
670
- const onPointerLeave = useEvent(() => {
671
- api.getState().internal.hoveredRow.set(null);
672
- api.getState().internal.hoveredCol.set(null);
673
- });
674
- const onKeyDown = useEvent((event) => {
675
- const sx = api.getState();
676
- const mode = sx.rowSelectionMode.peek();
677
- if (mode !== "none") {
678
- if (event.key === " ") {
679
- handleRowSelection(api, row, false, true, true, "single-click");
680
- event.preventDefault();
681
- }
682
- }
683
- });
684
- const onClick = useEvent((event) => {
685
- handleRowSelection(
686
- api,
687
- row,
688
- event.shiftKey,
689
- event.metaKey || event.ctrlKey,
690
- false,
691
- "single-click"
692
- );
693
- });
694
- const onDoubleClick = useEvent((event) => {
695
- handleRowSelection(
696
- api,
697
- row,
698
- event.shiftKey,
699
- event.metaKey || event.ctrlKey,
700
- false,
701
- "double-click"
702
- );
703
- });
704
- return { onClick, onDoubleClick, onPointerEnter, onPointerLeave, onKeyDown };
705
- }
706
- function useCellPositionChange(api, rowIndex, columnIndex, rowSpan, columnSpan) {
707
- const ref = useRef(null);
708
- const skipRef = useRef(false);
709
- const onFocus = useEvent(() => {
710
- if (skipRef.current) {
711
- skipRef.current = false;
712
- return;
713
- }
714
- api.getState().internal.navigatePosition.set({
715
- kind: GRID_CELL_POSITION,
716
- columnIndex,
717
- rowIndex,
718
- root: { columnIndex, columnSpan, rowIndex, rowSpan }
719
- });
720
- });
721
- const tryFocus = useEvent((element, skip = true) => {
722
- const sx = api.getState();
723
- const position = sx.internal.navigatePosition.peek();
724
- if (!element || !position || position.kind !== GRID_CELL_POSITION) return;
725
- const posRow = position.root?.rowIndex ?? position.rowIndex;
726
- const posCol = position.root?.columnIndex ?? position.columnIndex;
727
- if (rowIndex === posRow && posCol === columnIndex && !element.contains(document.activeElement) && element !== document.activeElement) {
728
- api.navigateScrollIntoView(posRow, posCol);
729
- skipRef.current = skip;
730
- element.focus();
731
- }
732
- });
733
- const handleRef = useCallback(
734
- (el) => {
735
- tryFocus(el);
736
- ref.current = el;
737
- },
738
- [tryFocus]
739
- );
740
- useEffect(() => {
741
- const sx = api.getState();
742
- const unsub = sx.internal.navigatePosition.watch(() => {
743
- tryFocus(ref.current);
744
- }, false);
745
- const unsubFocus = sx.internal.cellFocusQueue.watch(() => {
746
- const focus = sx.internal.cellFocusQueue.peek();
747
- if (!focus) return;
748
- if (rowIndex === focus.rowIndex && columnIndex === focus.columnIndex) {
749
- ref.current?.focus();
750
- }
751
- }, false);
752
- return () => {
753
- unsub();
754
- unsubFocus();
755
- };
756
- }, [api, columnIndex, ref, rowIndex, tryFocus]);
757
- return { handleRef, onFocus };
758
- }
759
- const skeletonStyle = {
760
- display: "block",
761
- width: "80%",
762
- height: "60%",
763
- backgroundColor: "var(--lng1771-gray-05)",
764
- borderRadius: "8px",
765
- position: "relative",
766
- overflow: "hidden"
767
- };
768
- const shimmerStyle = {
769
- position: "absolute",
770
- top: 0,
771
- left: 0,
772
- width: "100%",
773
- height: "100%",
774
- backgroundImage: "linear-gradient(90deg, var(--lng1771-gray-05) 0%, var(--lng1771-primary-10) 50%, var(--lng1771-gray-05) 100%)",
775
- animation: "lng1771-shimmer 1.5s infinite"
776
- };
777
- const Skeleton = ({ className = "" }) => {
778
- return /* @__PURE__ */ jsx(
779
- "div",
780
- {
781
- style: {
782
- display: "flex",
783
- alignItems: "center",
784
- justifyContent: "center",
785
- width: "100%",
786
- height: "100%"
787
- },
788
- children: /* @__PURE__ */ jsx("div", { style: skeletonStyle, className, children: /* @__PURE__ */ jsx("div", { style: shimmerStyle }) })
789
- }
790
- );
791
- };
792
- function ErrorCellRenderer({ api }) {
793
- return /* @__PURE__ */ jsxs(
794
- "button",
795
- {
796
- style: {
797
- color: "red",
798
- display: "flex",
799
- alignItems: "center",
800
- padding: 4,
801
- width: "100%",
802
- height: "100%",
803
- justifyContent: "center",
804
- border: "none",
805
- backgroundColor: "transparent",
806
- gap: 4
807
- },
808
- onClick: () => {
809
- api.rowReload();
810
- },
811
- children: [
812
- /* @__PURE__ */ jsx(
813
- "svg",
814
- {
815
- xmlns: "http://www.w3.org/2000/svg",
816
- fill: "none",
817
- viewBox: "0 0 24 24",
818
- strokeWidth: 1.5,
819
- stroke: "currentColor",
820
- width: 20,
821
- height: 20,
822
- children: /* @__PURE__ */ jsx(
823
- "path",
824
- {
825
- strokeLinecap: "round",
826
- strokeLinejoin: "round",
827
- d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"
828
- }
829
- )
830
- }
831
- ),
832
- "Retry"
833
- ]
834
- }
835
- );
836
- }
837
- function CellImpl({
838
- rowIndex,
839
- columnIndex,
840
- rowSpan,
841
- colSpan,
842
- yPositions,
843
- xPositions,
844
- column,
845
- rowNode,
846
- rowPin,
847
- api,
848
- paginateOffset
849
- }) {
850
- const Renderer = useCellRenderer(api, column);
851
- const cx = useCellStyle(
852
- api,
853
- xPositions,
854
- yPositions,
855
- columnIndex,
856
- rowIndex,
857
- colSpan,
858
- rowSpan,
859
- column,
860
- rowPin,
861
- rowNode.id,
862
- paginateOffset
863
- );
864
- const events = useCellEvents(api, column, rowNode, rowIndex, columnIndex);
865
- const isGroup = api.rowIsGroup(rowNode);
866
- const isExpanded = isGroup && api.rowGroupIsExpanded(rowNode);
867
- const { handleRef, onFocus } = useCellPositionChange(
868
- api,
869
- rowIndex,
870
- columnIndex,
871
- rowSpan,
872
- colSpan
873
- );
874
- const isLoading = rowNode.loading && rowNode.data == null;
875
- const isError = rowNode.error && rowNode.data === null;
876
- return /* @__PURE__ */ jsxs(
877
- "div",
878
- {
879
- style: cx.style,
880
- ref: handleRef,
881
- role: "gridcell",
882
- "aria-expanded": isGroup ? isExpanded : void 0,
883
- "aria-rowspan": rowSpan,
884
- "aria-colspan": colSpan,
885
- "aria-rowindex": rowIndex + 1,
886
- "aria-colindex": columnIndex + 1,
887
- "data-lng1771-colid": column.id,
888
- "data-lng1771-rowid": rowNode.id,
889
- "data-lng1771-rowindex": rowIndex,
890
- "data-lng1771-colindex": rowIndex,
891
- "data-lng1771-type": column.type ?? "text",
892
- className: clsx(
893
- "lng1771-cell",
894
- rowIndex % 2 === 1 && "lng1771-cell--alternate",
895
- cx.className
896
- ),
897
- tabIndex: -1,
898
- ...events,
899
- onFocus,
900
- children: [
901
- !isLoading && !isError && /* @__PURE__ */ jsx(Renderer, { api, column, columnIndex, row: rowNode }),
902
- isLoading && /* @__PURE__ */ jsx(Skeleton, {}),
903
- isError && (columnIndex === 0 && column.id !== COLUMN_MARKER_ID || api.getState().columnsVisible.peek()?.[0].id === COLUMN_MARKER_ID && columnIndex === 1) && /* @__PURE__ */ jsx(ErrorCellRenderer, { api })
904
- ]
905
- }
906
- );
907
- }
908
- const Cell = memo(CellImpl);
909
- function InputImpl({
910
- className,
911
- error,
912
- small,
913
- ghost,
914
- disabled,
915
- icon: Icon,
916
- ...props
917
- }) {
918
- return /* @__PURE__ */ jsxs(
919
- "div",
920
- {
921
- className: clsx(
922
- "lng1771-input",
923
- error && "lng1771-input--error",
924
- small && "lng1771-input--small",
925
- disabled && "lng1771-input--disabled",
926
- ghost && "lng1771-input--ghost",
927
- className
928
- ),
929
- children: [
930
- Icon && /* @__PURE__ */ jsx(Icon, { width: small ? 16 : 20, height: small ? 16 : 20 }),
931
- /* @__PURE__ */ jsx("input", { ...props, disabled, className: clsx("lng1771-input__inner") })
932
- ]
933
- }
934
- );
935
- }
936
- const Input = refCompat(InputImpl, "Input");
937
- const createStoreImpl = (createState) => {
938
- let state;
939
- const listeners = /* @__PURE__ */ new Set();
940
- const setState = (partial, replace) => {
941
- const nextState = typeof partial === "function" ? partial(state) : partial;
942
- if (!Object.is(nextState, state)) {
943
- const previousState = state;
944
- state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
945
- listeners.forEach((listener) => listener(state, previousState));
946
- }
947
- };
948
- const getState = () => state;
949
- const getInitialState = () => initialState;
950
- const subscribe = (listener) => {
951
- listeners.add(listener);
952
- return () => listeners.delete(listener);
953
- };
954
- const api = { setState, getState, getInitialState, subscribe };
955
- const initialState = state = createState(setState, getState, api);
956
- return api;
957
- };
958
- const createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
959
- const identity = (arg) => arg;
960
- function useStore(api, selector = identity) {
961
- const slice = React__default.useSyncExternalStore(
962
- api.subscribe,
963
- () => selector(api.getState()),
964
- () => selector(api.getInitialState())
965
- );
966
- React__default.useDebugValue(slice);
967
- return slice;
968
- }
969
- const createImpl = (createState) => {
970
- const api = createStore(createState);
971
- const useBoundStore = (selector) => useStore(api, selector);
972
- Object.assign(useBoundStore, api);
973
- return useBoundStore;
974
- };
975
- const create = (createState) => createImpl;
976
- const store = create()(() => {
977
- return {
978
- active: null,
979
- mounted: []
980
- };
981
- });
982
- const DragContext = createContext(store);
983
- function DragProvider({ children }) {
984
- const localStore = useRef(null);
985
- if (!localStore.current) {
986
- localStore.current = create()(() => {
987
- return {
988
- active: null,
989
- mounted: []
990
- };
991
- });
992
- }
993
- return /* @__PURE__ */ jsx(DragContext.Provider, { value: localStore.current, children });
994
- }
995
- const useDragStore = () => useContext(DragContext);
996
- const useDrag = useStore;
997
- export {
998
- ROW_UPDATE_STACK_SIZE as A,
999
- DEFAULT_MAX_WIDTH as B,
1000
- Checkbox as C,
1001
- DragProvider as D,
1002
- END_ENCODING as E,
1003
- FLOATING_CELL_POSITION as F,
1004
- GRID_CELL_POSITION as G,
1005
- HEADER_CELL_POSITION as H,
1006
- Input as I,
1007
- DEFAULT_MIN_WIDTH as J,
1008
- DEFAULT_WIDTH as K,
1009
- DEFAULT_SORT_CYCLE as L,
1010
- FULL_WIDTH_POSITION as M,
1011
- PAGINATE_PAGE_SIZE as P,
1012
- ROW_LEAF_KIND as R,
1013
- useDrag as a,
1014
- useStore as b,
1015
- CheckMark as c,
1016
- COLUMN_MARKER_ID as d,
1017
- COLUMN_EMPTY_PREFIX as e,
1018
- HEADER_GROUP_CELL_POSITION as f,
1019
- getTransform as g,
1020
- CollapseButton as h,
1021
- FULL_ENCODING as i,
1022
- CellFullWidth as j,
1023
- Cell as k,
1024
- GridButton as l,
1025
- ROW_GROUP_KIND as m,
1026
- COLUMN_GROUP_ID_DELIMITER as n,
1027
- ROW_DEFAULT_PATH_SEPARATOR as o,
1028
- GROUP_COLUMN_PREFIX as p,
1029
- GROUP_COLUMN_MULTI_PREFIX as q,
1030
- GROUP_COLUMN_SINGLE_ID as r,
1031
- GROUP_COLUMN_TREE_DATA as s,
1032
- COLUMN_GROUP_HEADER_HEIGHT as t,
1033
- useDragStore as u,
1034
- COLUMN_HEADER_HEIGHT as v,
1035
- COLUMN_SCAN_DISTANCE as w,
1036
- ROW_BLANK_GROUP_KEY as x,
1037
- ROW_HEIGHT as y,
1038
- ROW_DETAIL_HEIGHT as z
1039
- };