@salt-ds/data-grid 1.0.5 → 1.0.7

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 (277) hide show
  1. package/CHANGELOG.md +216 -0
  2. package/dist-cjs/BaseCell.js +50 -48
  3. package/dist-cjs/BaseCell.js.map +1 -1
  4. package/dist-cjs/CellEditor.js +0 -2
  5. package/dist-cjs/CellEditor.js.map +1 -1
  6. package/dist-cjs/CellFrame.js +25 -33
  7. package/dist-cjs/CellFrame.js.map +1 -1
  8. package/dist-cjs/ColumnDataContext.js +1 -3
  9. package/dist-cjs/ColumnDataContext.js.map +1 -1
  10. package/dist-cjs/ColumnDragContext.js +1 -3
  11. package/dist-cjs/ColumnDragContext.js.map +1 -1
  12. package/dist-cjs/ColumnGroup.js +2 -6
  13. package/dist-cjs/ColumnGroup.js.map +1 -1
  14. package/dist-cjs/ColumnSortContext.js +1 -3
  15. package/dist-cjs/ColumnSortContext.js.map +1 -1
  16. package/dist-cjs/CornerTag.js +7 -6
  17. package/dist-cjs/CornerTag.js.map +1 -1
  18. package/dist-cjs/CursorContext.js +1 -3
  19. package/dist-cjs/CursorContext.js.map +1 -1
  20. package/dist-cjs/DropdownCellEditor.js +25 -28
  21. package/dist-cjs/DropdownCellEditor.js.map +1 -1
  22. package/dist-cjs/EditorContext.js +1 -3
  23. package/dist-cjs/EditorContext.js.map +1 -1
  24. package/dist-cjs/Grid.css.js +1 -1
  25. package/dist-cjs/Grid.js +174 -183
  26. package/dist-cjs/Grid.js.map +1 -1
  27. package/dist-cjs/GridColumn.js +4 -8
  28. package/dist-cjs/GridColumn.js.map +1 -1
  29. package/dist-cjs/GridContext.js +1 -3
  30. package/dist-cjs/GridContext.js.map +1 -1
  31. package/dist-cjs/GroupHeaderCell.js +29 -30
  32. package/dist-cjs/GroupHeaderCell.js.map +1 -1
  33. package/dist-cjs/GroupHeaderCellValue.js +1 -5
  34. package/dist-cjs/GroupHeaderCellValue.js.map +1 -1
  35. package/dist-cjs/HeaderCell.js +94 -90
  36. package/dist-cjs/HeaderCell.js.map +1 -1
  37. package/dist-cjs/HeaderCellValue.js +1 -6
  38. package/dist-cjs/HeaderCellValue.js.map +1 -1
  39. package/dist-cjs/LayoutContext.js +0 -2
  40. package/dist-cjs/LayoutContext.js.map +1 -1
  41. package/dist-cjs/NumberRange.js +2 -4
  42. package/dist-cjs/NumberRange.js.map +1 -1
  43. package/dist-cjs/NumericColumn.css.js +1 -1
  44. package/dist-cjs/NumericColumn.js +31 -30
  45. package/dist-cjs/NumericColumn.js.map +1 -1
  46. package/dist-cjs/RowSelectionCheckboxCellValue.js +7 -10
  47. package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -1
  48. package/dist-cjs/RowSelectionCheckboxColumn.js +14 -13
  49. package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -1
  50. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +22 -18
  51. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
  52. package/dist-cjs/RowSelectionRadioCellValue.js +6 -8
  53. package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -1
  54. package/dist-cjs/RowSelectionRadioColumn.js +12 -11
  55. package/dist-cjs/RowSelectionRadioColumn.js.map +1 -1
  56. package/dist-cjs/RowSelectionRadioHeaderCell.js +2 -10
  57. package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -1
  58. package/dist-cjs/RowValidationStatus.js +0 -2
  59. package/dist-cjs/RowValidationStatus.js.map +1 -1
  60. package/dist-cjs/SelectionContext.js +1 -3
  61. package/dist-cjs/SelectionContext.js.map +1 -1
  62. package/dist-cjs/SizingContext.js +1 -3
  63. package/dist-cjs/SizingContext.js.map +1 -1
  64. package/dist-cjs/TextCellEditor.css.js +1 -1
  65. package/dist-cjs/TextCellEditor.js +14 -20
  66. package/dist-cjs/TextCellEditor.js.map +1 -1
  67. package/dist-cjs/index.js +0 -2
  68. package/dist-cjs/index.js.map +1 -1
  69. package/dist-cjs/internal/CellMeasure.css.js +1 -1
  70. package/dist-cjs/internal/CellMeasure.js +3 -18
  71. package/dist-cjs/internal/CellMeasure.js.map +1 -1
  72. package/dist-cjs/internal/CellStatusIcons.js +41 -37
  73. package/dist-cjs/internal/CellStatusIcons.js.map +1 -1
  74. package/dist-cjs/internal/ColumnDropTarget.js +3 -8
  75. package/dist-cjs/internal/ColumnDropTarget.js.map +1 -1
  76. package/dist-cjs/internal/ColumnGhost.js +17 -29
  77. package/dist-cjs/internal/ColumnGhost.js.map +1 -1
  78. package/dist-cjs/internal/Cursor.js +3 -7
  79. package/dist-cjs/internal/Cursor.js.map +1 -1
  80. package/dist-cjs/internal/DefaultCellValue.js +11 -10
  81. package/dist-cjs/internal/DefaultCellValue.js.map +1 -1
  82. package/dist-cjs/internal/FakeCell.js +8 -16
  83. package/dist-cjs/internal/FakeCell.js.map +1 -1
  84. package/dist-cjs/internal/FakeGroupCell.js +0 -2
  85. package/dist-cjs/internal/FakeGroupCell.js.map +1 -1
  86. package/dist-cjs/internal/FakeHeaderCell.js +1 -5
  87. package/dist-cjs/internal/FakeHeaderCell.js.map +1 -1
  88. package/dist-cjs/internal/GroupHeaderRow.js +9 -20
  89. package/dist-cjs/internal/GroupHeaderRow.js.map +1 -1
  90. package/dist-cjs/internal/HeaderRow.js +17 -23
  91. package/dist-cjs/internal/HeaderRow.js.map +1 -1
  92. package/dist-cjs/internal/LeftPart.js +21 -27
  93. package/dist-cjs/internal/LeftPart.js.map +1 -1
  94. package/dist-cjs/internal/MiddlePart.js +19 -25
  95. package/dist-cjs/internal/MiddlePart.js.map +1 -1
  96. package/dist-cjs/internal/RightPart.js +21 -26
  97. package/dist-cjs/internal/RightPart.js.map +1 -1
  98. package/dist-cjs/internal/Scrollable.js +12 -13
  99. package/dist-cjs/internal/Scrollable.js.map +1 -1
  100. package/dist-cjs/internal/TableBody.js +17 -19
  101. package/dist-cjs/internal/TableBody.js.map +1 -1
  102. package/dist-cjs/internal/TableColGroup.js +7 -17
  103. package/dist-cjs/internal/TableColGroup.js.map +1 -1
  104. package/dist-cjs/internal/TableRow.js +87 -79
  105. package/dist-cjs/internal/TableRow.js.map +1 -1
  106. package/dist-cjs/internal/TopLeftPart.js +20 -31
  107. package/dist-cjs/internal/TopLeftPart.js.map +1 -1
  108. package/dist-cjs/internal/TopPart.js +20 -37
  109. package/dist-cjs/internal/TopPart.js.map +1 -1
  110. package/dist-cjs/internal/TopRightPart.js +26 -30
  111. package/dist-cjs/internal/TopRightPart.js.map +1 -1
  112. package/dist-cjs/internal/gridHooks.js +23 -25
  113. package/dist-cjs/internal/gridHooks.js.map +1 -1
  114. package/dist-cjs/internal/utils.js +5 -7
  115. package/dist-cjs/internal/utils.js.map +1 -1
  116. package/dist-es/BaseCell.js +50 -46
  117. package/dist-es/BaseCell.js.map +1 -1
  118. package/dist-es/CellEditor.js.map +1 -1
  119. package/dist-es/CellFrame.js +25 -31
  120. package/dist-es/CellFrame.js.map +1 -1
  121. package/dist-es/ColumnDataContext.js +1 -1
  122. package/dist-es/ColumnDataContext.js.map +1 -1
  123. package/dist-es/ColumnDragContext.js +1 -1
  124. package/dist-es/ColumnDragContext.js.map +1 -1
  125. package/dist-es/ColumnGroup.js +2 -4
  126. package/dist-es/ColumnGroup.js.map +1 -1
  127. package/dist-es/ColumnSortContext.js +1 -1
  128. package/dist-es/ColumnSortContext.js.map +1 -1
  129. package/dist-es/CornerTag.js +7 -4
  130. package/dist-es/CornerTag.js.map +1 -1
  131. package/dist-es/CursorContext.js +1 -1
  132. package/dist-es/CursorContext.js.map +1 -1
  133. package/dist-es/DropdownCellEditor.js +25 -26
  134. package/dist-es/DropdownCellEditor.js.map +1 -1
  135. package/dist-es/EditorContext.js +1 -1
  136. package/dist-es/EditorContext.js.map +1 -1
  137. package/dist-es/Grid.css.js +1 -1
  138. package/dist-es/Grid.js +174 -181
  139. package/dist-es/Grid.js.map +1 -1
  140. package/dist-es/GridColumn.js +4 -6
  141. package/dist-es/GridColumn.js.map +1 -1
  142. package/dist-es/GridContext.js +1 -1
  143. package/dist-es/GridContext.js.map +1 -1
  144. package/dist-es/GroupHeaderCell.js +29 -28
  145. package/dist-es/GroupHeaderCell.js.map +1 -1
  146. package/dist-es/GroupHeaderCellValue.js +1 -3
  147. package/dist-es/GroupHeaderCellValue.js.map +1 -1
  148. package/dist-es/HeaderCell.js +94 -88
  149. package/dist-es/HeaderCell.js.map +1 -1
  150. package/dist-es/HeaderCellValue.js +1 -4
  151. package/dist-es/HeaderCellValue.js.map +1 -1
  152. package/dist-es/LayoutContext.js.map +1 -1
  153. package/dist-es/NumberRange.js +2 -2
  154. package/dist-es/NumberRange.js.map +1 -1
  155. package/dist-es/NumericColumn.css.js +1 -1
  156. package/dist-es/NumericColumn.js +31 -28
  157. package/dist-es/NumericColumn.js.map +1 -1
  158. package/dist-es/RowSelectionCheckboxCellValue.js +7 -8
  159. package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -1
  160. package/dist-es/RowSelectionCheckboxColumn.js +14 -11
  161. package/dist-es/RowSelectionCheckboxColumn.js.map +1 -1
  162. package/dist-es/RowSelectionCheckboxHeaderCellValue.js +22 -16
  163. package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
  164. package/dist-es/RowSelectionRadioCellValue.js +6 -6
  165. package/dist-es/RowSelectionRadioCellValue.js.map +1 -1
  166. package/dist-es/RowSelectionRadioColumn.js +12 -9
  167. package/dist-es/RowSelectionRadioColumn.js.map +1 -1
  168. package/dist-es/RowSelectionRadioHeaderCell.js +2 -8
  169. package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -1
  170. package/dist-es/RowValidationStatus.js.map +1 -1
  171. package/dist-es/SelectionContext.js +1 -1
  172. package/dist-es/SelectionContext.js.map +1 -1
  173. package/dist-es/SizingContext.js +1 -1
  174. package/dist-es/SizingContext.js.map +1 -1
  175. package/dist-es/TextCellEditor.css.js +1 -1
  176. package/dist-es/TextCellEditor.js +14 -18
  177. package/dist-es/TextCellEditor.js.map +1 -1
  178. package/dist-es/internal/CellMeasure.css.js +1 -1
  179. package/dist-es/internal/CellMeasure.js +3 -16
  180. package/dist-es/internal/CellMeasure.js.map +1 -1
  181. package/dist-es/internal/CellStatusIcons.js +41 -35
  182. package/dist-es/internal/CellStatusIcons.js.map +1 -1
  183. package/dist-es/internal/ColumnDropTarget.js +3 -6
  184. package/dist-es/internal/ColumnDropTarget.js.map +1 -1
  185. package/dist-es/internal/ColumnGhost.js +17 -27
  186. package/dist-es/internal/ColumnGhost.js.map +1 -1
  187. package/dist-es/internal/Cursor.js +3 -5
  188. package/dist-es/internal/Cursor.js.map +1 -1
  189. package/dist-es/internal/DefaultCellValue.js +11 -8
  190. package/dist-es/internal/DefaultCellValue.js.map +1 -1
  191. package/dist-es/internal/FakeCell.js +8 -14
  192. package/dist-es/internal/FakeCell.js.map +1 -1
  193. package/dist-es/internal/FakeGroupCell.js.map +1 -1
  194. package/dist-es/internal/FakeHeaderCell.js +1 -3
  195. package/dist-es/internal/FakeHeaderCell.js.map +1 -1
  196. package/dist-es/internal/GroupHeaderRow.js +9 -18
  197. package/dist-es/internal/GroupHeaderRow.js.map +1 -1
  198. package/dist-es/internal/HeaderRow.js +17 -21
  199. package/dist-es/internal/HeaderRow.js.map +1 -1
  200. package/dist-es/internal/LeftPart.js +21 -25
  201. package/dist-es/internal/LeftPart.js.map +1 -1
  202. package/dist-es/internal/MiddlePart.js +19 -23
  203. package/dist-es/internal/MiddlePart.js.map +1 -1
  204. package/dist-es/internal/RightPart.js +21 -24
  205. package/dist-es/internal/RightPart.js.map +1 -1
  206. package/dist-es/internal/Scrollable.js +12 -11
  207. package/dist-es/internal/Scrollable.js.map +1 -1
  208. package/dist-es/internal/TableBody.js +17 -17
  209. package/dist-es/internal/TableBody.js.map +1 -1
  210. package/dist-es/internal/TableColGroup.js +7 -15
  211. package/dist-es/internal/TableColGroup.js.map +1 -1
  212. package/dist-es/internal/TableRow.js +87 -77
  213. package/dist-es/internal/TableRow.js.map +1 -1
  214. package/dist-es/internal/TopLeftPart.js +20 -29
  215. package/dist-es/internal/TopLeftPart.js.map +1 -1
  216. package/dist-es/internal/TopPart.js +20 -35
  217. package/dist-es/internal/TopPart.js.map +1 -1
  218. package/dist-es/internal/TopRightPart.js +26 -28
  219. package/dist-es/internal/TopRightPart.js.map +1 -1
  220. package/dist-es/internal/gridHooks.js +23 -23
  221. package/dist-es/internal/gridHooks.js.map +1 -1
  222. package/dist-es/internal/utils.js +5 -5
  223. package/dist-es/internal/utils.js.map +1 -1
  224. package/dist-types/BaseCell.d.ts +3 -3
  225. package/dist-types/CellEditor.d.ts +1 -1
  226. package/dist-types/CellFrame.d.ts +2 -2
  227. package/dist-types/ColumnDragContext.d.ts +1 -1
  228. package/dist-types/ColumnGroup.d.ts +4 -4
  229. package/dist-types/ColumnSortContext.d.ts +5 -5
  230. package/dist-types/CornerTag.d.ts +1 -1
  231. package/dist-types/DropdownCellEditor.d.ts +2 -2
  232. package/dist-types/Grid.d.ts +4 -4
  233. package/dist-types/GridColumn.d.ts +3 -3
  234. package/dist-types/GridContext.d.ts +2 -2
  235. package/dist-types/GroupHeaderCell.d.ts +3 -3
  236. package/dist-types/GroupHeaderCellValue.d.ts +2 -2
  237. package/dist-types/HeaderCell.d.ts +5 -5
  238. package/dist-types/HeaderCellValue.d.ts +2 -2
  239. package/dist-types/NumericColumn.d.ts +6 -6
  240. package/dist-types/RowSelectionCheckboxCellValue.d.ts +2 -2
  241. package/dist-types/RowSelectionCheckboxColumn.d.ts +2 -2
  242. package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +2 -2
  243. package/dist-types/RowSelectionRadioCellValue.d.ts +2 -2
  244. package/dist-types/RowSelectionRadioColumn.d.ts +2 -2
  245. package/dist-types/RowSelectionRadioHeaderCell.d.ts +2 -2
  246. package/dist-types/RowValidationStatus.d.ts +2 -2
  247. package/dist-types/SelectionContext.d.ts +1 -1
  248. package/dist-types/SizingContext.d.ts +3 -3
  249. package/dist-types/TextCellEditor.d.ts +2 -2
  250. package/dist-types/internal/CellMeasure.d.ts +1 -1
  251. package/dist-types/internal/CellStatusIcons.d.ts +3 -3
  252. package/dist-types/internal/ColumnDropTarget.d.ts +1 -1
  253. package/dist-types/internal/ColumnGhost.d.ts +3 -3
  254. package/dist-types/internal/Cursor.d.ts +1 -3
  255. package/dist-types/internal/DefaultCellValue.d.ts +2 -2
  256. package/dist-types/internal/FakeCell.d.ts +2 -2
  257. package/dist-types/internal/FakeGroupCell.d.ts +1 -1
  258. package/dist-types/internal/FakeHeaderCell.d.ts +1 -1
  259. package/dist-types/internal/GroupHeaderRow.d.ts +2 -2
  260. package/dist-types/internal/HeaderRow.d.ts +2 -2
  261. package/dist-types/internal/LeftPart.d.ts +4 -4
  262. package/dist-types/internal/MiddlePart.d.ts +4 -4
  263. package/dist-types/internal/RightPart.d.ts +4 -4
  264. package/dist-types/internal/Scrollable.d.ts +2 -2
  265. package/dist-types/internal/TableBody.d.ts +3 -3
  266. package/dist-types/internal/TableColGroup.d.ts +3 -3
  267. package/dist-types/internal/TableRow.d.ts +4 -4
  268. package/dist-types/internal/TopLeftPart.d.ts +2 -2
  269. package/dist-types/internal/TopPart.d.ts +3 -3
  270. package/dist-types/internal/TopRightPart.d.ts +2 -2
  271. package/dist-types/internal/gridHooks.d.ts +13 -13
  272. package/dist-types/internal/utils.d.ts +1 -1
  273. package/package.json +11 -8
  274. package/dist-cjs/internal/FakeCell.css.js +0 -6
  275. package/dist-cjs/internal/FakeCell.css.js.map +0 -1
  276. package/dist-es/internal/FakeCell.css.js +0 -4
  277. package/dist-es/internal/FakeCell.css.js.map +0 -1
package/dist-es/Grid.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useRef, useState, useCallback, useMemo, useEffect } from 'react';
3
2
  import { makePrefixer } from '@salt-ds/core';
4
- import { useWindow } from '@salt-ds/window';
5
3
  import { useComponentCssInjection } from '@salt-ds/styles';
4
+ import { useWindow } from '@salt-ds/window';
6
5
  import { clsx } from 'clsx';
6
+ import { useRef, useState, useCallback, useMemo, useEffect } from 'react';
7
+ import { ColumnDataContext } from './ColumnDataContext.js';
8
+ import { ColumnDragContext } from './ColumnDragContext.js';
9
+ import { ColumnSortContext } from './ColumnSortContext.js';
10
+ import { CursorContext } from './CursorContext.js';
11
+ import { EditorContext } from './EditorContext.js';
12
+ import { GridContext } from './GridContext.js';
13
+ import { LayoutContext } from './LayoutContext.js';
14
+ import { SelectionContext } from './SelectionContext.js';
15
+ import { SizingContext } from './SizingContext.js';
7
16
  import { CellMeasure } from './internal/CellMeasure.js';
8
17
  import './internal/Cursor.js';
9
18
  import './internal/GroupHeaderRow.js';
@@ -14,23 +23,14 @@ import { RightPart } from './internal/RightPart.js';
14
23
  import { Scrollable } from './internal/Scrollable.js';
15
24
  import './internal/TableRow.js';
16
25
  import { clamp, getFocusablePosition } from './internal/utils.js';
17
- import { SelectionContext } from './SelectionContext.js';
18
- import { EditorContext } from './EditorContext.js';
19
- import { CursorContext } from './CursorContext.js';
20
26
  import { useColumnRegistry, useSumWidth, useSum, useClientMidWidth, useBodyVisibleColumnRange, useVisibleColumnGroupRange, useHeadVisibleColumnRange, useLeftScrolledOutWidth, useClientMidHeight, useVisibleRowRange, useBodyVisibleAreaTop, useColumnRange, useSumRangeWidth, useScrollToCell, useRowSelection, useRangeSelection, useRowModels, useColumnResize, useColumnMove } from './internal/gridHooks.js';
21
27
  import { TopLeftPart } from './internal/TopLeftPart.js';
22
28
  import { TopPart } from './internal/TopPart.js';
23
29
  import { TopRightPart } from './internal/TopRightPart.js';
24
30
  import './CellFrame.js';
25
31
  import './internal/DefaultCellValue.js';
26
- import { GridContext } from './GridContext.js';
27
- import { SizingContext } from './SizingContext.js';
28
- import { LayoutContext } from './LayoutContext.js';
29
- import { ColumnDragContext } from './ColumnDragContext.js';
30
- import { ColumnGhost } from './internal/ColumnGhost.js';
31
32
  import { ColumnDropTarget } from './internal/ColumnDropTarget.js';
32
- import { ColumnDataContext } from './ColumnDataContext.js';
33
- import { ColumnSortContext } from './ColumnSortContext.js';
33
+ import { ColumnGhost } from './internal/ColumnGhost.js';
34
34
  import css_248z from './Grid.css.js';
35
35
 
36
36
  const withBaseName = makePrefixer("saltGrid");
@@ -111,8 +111,11 @@ const Grid = function Grid2(props) {
111
111
  );
112
112
  const {
113
113
  leftCols,
114
+ // Columns pinned to left
114
115
  midCols,
116
+ // Scrollable columns
115
117
  rightCols,
118
+ // Columns pinned to right
116
119
  leftGroups,
117
120
  midGroups,
118
121
  rightGroups,
@@ -120,7 +123,9 @@ const Grid = function Grid2(props) {
120
123
  } = useColumnRegistry(children);
121
124
  const midColsById = useMemo(
122
125
  () => new Map(
123
- midCols.map((c) => [c.info.props.id, c])
126
+ midCols.map(
127
+ (c) => [c.info.props.id, c]
128
+ )
124
129
  ),
125
130
  [midCols]
126
131
  );
@@ -232,7 +237,8 @@ const Grid = function Grid2(props) {
232
237
  if (s) {
233
238
  s.scrollLeft += deltaX;
234
239
  s.scrollTop += deltaY;
235
- if (!(Math.round(s.scrollHeight - s.scrollTop) === s.clientHeight || s.scrollTop === 0 && deltaY < 0)) {
240
+ if (!(Math.round(s.scrollHeight - s.scrollTop) === s.clientHeight || // reached the bottom
241
+ s.scrollTop === 0 && deltaY < 0)) {
236
242
  event.preventDefault();
237
243
  event.stopPropagation();
238
244
  }
@@ -269,8 +275,7 @@ const Grid = function Grid2(props) {
269
275
  });
270
276
  const customSortingFn = (_c = getColById(sortByColumnId)) == null ? void 0 : _c.info.props.customSort;
271
277
  const sortedRowData = useMemo(() => {
272
- if (!isSortMode || onSortOrderChange)
273
- return rowData;
278
+ if (!isSortMode || onSortOrderChange) return rowData;
274
279
  if (customSortingFn) {
275
280
  return customSortingFn({ rowData, sortOrder });
276
281
  }
@@ -360,7 +365,7 @@ const Grid = function Grid2(props) {
360
365
  }, 0);
361
366
  };
362
367
  const startEditMode = (text) => {
363
- if (editMode || cursorRowIdx == void 0 || cursorColIdx == void 0) {
368
+ if (editMode || cursorRowIdx === void 0 || cursorColIdx === void 0) {
364
369
  return;
365
370
  }
366
371
  const c = cols[cursorColIdx];
@@ -374,14 +379,14 @@ const Grid = function Grid2(props) {
374
379
  if (!editMode) {
375
380
  return;
376
381
  }
377
- if (cursorColIdx == void 0) {
378
- console.error(`endEditMode: cursorColIdx is undefined in edit mode`);
382
+ if (cursorColIdx === void 0) {
383
+ console.error("endEditMode: cursorColIdx is undefined in edit mode");
379
384
  return;
380
385
  }
381
386
  const c = cols[cursorColIdx];
382
387
  const handler = c.info.props.onChange;
383
- if (cursorRowIdx == void 0) {
384
- console.error(`endEditMode: cursorRowIdx is undefined in edit mode`);
388
+ if (cursorRowIdx === void 0) {
389
+ console.error("endEditMode: cursorRowIdx is undefined in edit mode");
385
390
  return;
386
391
  }
387
392
  if (!handler) {
@@ -500,18 +505,12 @@ const Grid = function Grid2(props) {
500
505
  [editMode, startEditMode, endEditMode, cancelEditMode, initialText]
501
506
  );
502
507
  const [isFocused, setFocused] = useState(false);
503
- const onFocus = useCallback(
504
- (event) => {
505
- setFocused(true);
506
- },
507
- [setFocused]
508
- );
509
- const onBlur = useCallback(
510
- (event) => {
511
- setFocused(false);
512
- },
513
- [setFocused]
514
- );
508
+ const onFocus = useCallback(() => {
509
+ setFocused(true);
510
+ }, []);
511
+ const onBlur = useCallback(() => {
512
+ setFocused(false);
513
+ }, []);
515
514
  const cursorContext = useMemo(
516
515
  () => ({
517
516
  isFocused,
@@ -595,9 +594,8 @@ const Grid = function Grid2(props) {
595
594
  if (editMode) {
596
595
  cancelEditMode();
597
596
  break;
598
- } else {
599
- return false;
600
597
  }
598
+ return false;
601
599
  default:
602
600
  if (!editMode && !event.ctrlKey && !event.metaKey && !event.altKey && /^[\w\d ]$/.test(key)) {
603
601
  startEditMode(key);
@@ -624,14 +622,14 @@ const Grid = function Grid2(props) {
624
622
  case " ":
625
623
  if (focusedPart === "body") {
626
624
  if (event.ctrlKey) {
627
- if (cursorColIdx != void 0) {
625
+ if (cursorColIdx !== void 0) {
628
626
  rangeSelection.selectRange({
629
627
  start: { rowIdx: 0, colIdx: cursorColIdx },
630
628
  end: { rowIdx: sortedRowData.length, colIdx: cursorColIdx }
631
629
  });
632
630
  }
633
631
  } else {
634
- if (cursorRowIdx != void 0) {
632
+ if (cursorRowIdx !== void 0) {
635
633
  selectRows({
636
634
  rowIndex: cursorRowIdx,
637
635
  isRange: false,
@@ -641,9 +639,8 @@ const Grid = function Grid2(props) {
641
639
  }
642
640
  }
643
641
  break;
644
- } else {
645
- return false;
646
642
  }
643
+ return false;
647
644
  case "a":
648
645
  if (event.ctrlKey || event.metaKey) {
649
646
  rangeSelection.selectRange({
@@ -652,9 +649,8 @@ const Grid = function Grid2(props) {
652
649
  });
653
650
  selectAll();
654
651
  return true;
655
- } else {
656
- return false;
657
652
  }
653
+ return false;
658
654
  default:
659
655
  return false;
660
656
  }
@@ -676,6 +672,7 @@ const Grid = function Grid2(props) {
676
672
  );
677
673
  const clipboardKeyHandler = useCallback(
678
674
  (event) => {
675
+ var _a2, _b2;
679
676
  const { key } = event;
680
677
  if (key === "c" && (event.ctrlKey || event.metaKey) && rangeSelection.selectedCellRange) {
681
678
  const { start, end } = rangeSelection.selectedCellRange;
@@ -688,7 +685,7 @@ const Grid = function Grid2(props) {
688
685
  const rowText = [];
689
686
  for (let c2 = minCol; c2 <= maxCol; ++c2) {
690
687
  const col = cols[c2];
691
- const cellValue = col.info.props.getValue(row);
688
+ const cellValue = (_b2 = col == null ? void 0 : (_a2 = col.info.props).getValue) == null ? void 0 : _b2.call(_a2, row);
692
689
  rowText.push(cellValue);
693
690
  }
694
691
  text.push(rowText.join(" "));
@@ -788,7 +785,7 @@ const Grid = function Grid2(props) {
788
785
  break;
789
786
  case "Enter":
790
787
  if (editMode && !event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey) {
791
- if (cursorRowIdx == void 0) {
788
+ if (cursorRowIdx === void 0) {
792
789
  moveCursor(focusedPart, 0, 0);
793
790
  } else {
794
791
  moveCursor(focusedPart, cursorRowIdx + 1, cursorColIdx);
@@ -829,7 +826,7 @@ const Grid = function Grid2(props) {
829
826
  );
830
827
  const onKeyDown = useCallback(
831
828
  (event) => {
832
- if (cursorColIdx != void 0 && cursorRowIdx != void 0) {
829
+ if (cursorColIdx !== void 0 && cursorRowIdx !== void 0) {
833
830
  const column = cols[cursorColIdx];
834
831
  if (column.info.props.onKeyDown) {
835
832
  column.info.props.onKeyDown(event, cursorRowIdx);
@@ -880,143 +877,139 @@ const Grid = function Grid2(props) {
880
877
  onVisibleRowRangeChange(visRowRng.start, visRowRng.end);
881
878
  }
882
879
  }, [onVisibleRowRangeChange, visRowRng]);
883
- return /* @__PURE__ */ jsx(GridContext.Provider, {
884
- value: contextValue,
885
- children: /* @__PURE__ */ jsx(LayoutContext.Provider, {
886
- value: layoutContext,
887
- children: /* @__PURE__ */ jsx(SelectionContext.Provider, {
888
- value: selectionContext,
889
- children: /* @__PURE__ */ jsx(ColumnDragContext.Provider, {
890
- value: columnDragContext,
891
- children: /* @__PURE__ */ jsx(CursorContext.Provider, {
892
- value: cursorContext,
893
- children: /* @__PURE__ */ jsx(SizingContext.Provider, {
894
- value: sizingContext,
895
- children: /* @__PURE__ */ jsx(EditorContext.Provider, {
896
- value: editorContext,
897
- children: /* @__PURE__ */ jsx(ColumnDataContext.Provider, {
898
- value: columnDataContext,
899
- children: /* @__PURE__ */ jsxs(ColumnSortContext.Provider, {
900
- value: columnSortContext,
901
- children: [
902
- props.children,
903
- /* @__PURE__ */ jsxs("div", {
904
- className: clsx(
905
- withBaseName(),
906
- {
907
- [withBaseName("zebra")]: zebra,
908
- [withBaseName("columnSeparators")]: columnSeparators,
909
- [withBaseName("pinnedSeparators")]: pinnedSeparators,
910
- [withBaseName("primaryBackground")]: variant === "primary",
911
- [withBaseName("secondaryBackground")]: variant === "secondary"
912
- },
913
- className
914
- ),
915
- style: rootStyle,
916
- ref: rootRef,
917
- onKeyDown,
918
- onKeyUp,
919
- onMouseDown,
920
- onFocus,
921
- onBlur,
922
- "data-name": "grid-root",
923
- role: "grid",
924
- "aria-colcount": cols.length,
925
- "aria-rowcount": rowCount + headRowCount,
926
- "aria-multiselectable": rowSelectionMode === "multi",
927
- children: [
928
- /* @__PURE__ */ jsx(CellMeasure, {
929
- setRowHeight
930
- }),
931
- /* @__PURE__ */ jsx(Scrollable, {
932
- resizeClient,
933
- scrollLeft,
934
- scrollTop,
935
- scrollSource,
936
- scroll,
937
- scrollerRef: scrollableRef,
938
- topRef,
939
- rightRef,
940
- bottomRef,
941
- leftRef,
942
- middleRef
943
- }),
944
- !hideHeader && leftCols.length > 0 && /* @__PURE__ */ jsx(TopLeftPart, {
945
- onWheel,
946
- columns: leftCols,
947
- columnGroups: leftGroups,
948
- rightShadow: isLeftRaised,
949
- bottomShadow: isHeaderRaised
950
- }),
951
- !hideHeader && /* @__PURE__ */ jsx(TopPart, {
952
- columns: headVisibleColumns,
953
- columnGroups: visColGrps,
954
- topRef,
955
- onWheel,
956
- midGap,
957
- bottomShadow: isHeaderRaised
958
- }),
959
- !hideHeader && rightCols.length > 0 && /* @__PURE__ */ jsx(TopRightPart, {
960
- onWheel,
961
- columns: rightCols,
962
- columnGroups: rightGroups,
963
- leftShadow: isRightRaised,
964
- bottomShadow: isHeaderRaised
965
- }),
966
- leftCols.length > 0 && /* @__PURE__ */ jsx(LeftPart, {
967
- leftRef,
968
- onWheel,
969
- columns: leftCols,
970
- rows,
971
- rightShadow: isLeftRaised,
972
- hoverOverRowKey: hoverRowKey,
973
- setHoverOverRowKey: setHoverRowKey,
974
- zebra,
975
- getRowValidationStatus
976
- }),
977
- /* @__PURE__ */ jsx(MiddlePart, {
978
- middleRef,
979
- onWheel,
980
- columns: bodyVisibleColumns,
981
- rows,
982
- hoverOverRowKey: hoverRowKey,
983
- setHoverOverRowKey: setHoverRowKey,
984
- midGap,
985
- zebra,
986
- getRowValidationStatus
987
- }),
988
- rightCols.length > 0 && /* @__PURE__ */ jsx(RightPart, {
989
- rightRef,
990
- onWheel,
991
- columns: rightCols,
992
- rows,
993
- leftShadow: isRightRaised,
994
- hoverOverRowKey: hoverRowKey,
995
- setHoverOverRowKey: setHoverRowKey,
996
- zebra,
997
- getRowValidationStatus
998
- }),
999
- /* @__PURE__ */ jsx(ColumnDropTarget, {
1000
- x: activeTarget == null ? void 0 : activeTarget.x
1001
- }),
1002
- /* @__PURE__ */ jsx(ColumnGhost, {
1003
- columns: cols,
1004
- rows,
1005
- dragState,
1006
- zebra
1007
- })
1008
- ]
1009
- })
1010
- ]
1011
- })
1012
- })
1013
- })
1014
- })
1015
- })
1016
- })
1017
- })
1018
- })
1019
- });
880
+ return /* @__PURE__ */ jsx(GridContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(LayoutContext.Provider, { value: layoutContext, children: /* @__PURE__ */ jsx(SelectionContext.Provider, { value: selectionContext, children: /* @__PURE__ */ jsx(ColumnDragContext.Provider, { value: columnDragContext, children: /* @__PURE__ */ jsx(CursorContext.Provider, { value: cursorContext, children: /* @__PURE__ */ jsx(SizingContext.Provider, { value: sizingContext, children: /* @__PURE__ */ jsx(EditorContext.Provider, { value: editorContext, children: /* @__PURE__ */ jsx(ColumnDataContext.Provider, { value: columnDataContext, children: /* @__PURE__ */ jsxs(ColumnSortContext.Provider, { value: columnSortContext, children: [
881
+ props.children,
882
+ /* @__PURE__ */ jsxs(
883
+ "div",
884
+ {
885
+ className: clsx(
886
+ withBaseName(),
887
+ {
888
+ [withBaseName("zebra")]: zebra,
889
+ [withBaseName("columnSeparators")]: columnSeparators,
890
+ [withBaseName("pinnedSeparators")]: pinnedSeparators,
891
+ [withBaseName("primaryBackground")]: variant === "primary",
892
+ [withBaseName("secondaryBackground")]: variant === "secondary"
893
+ },
894
+ className
895
+ ),
896
+ style: rootStyle,
897
+ ref: rootRef,
898
+ onKeyDown,
899
+ onKeyUp,
900
+ onMouseDown,
901
+ onFocus,
902
+ onBlur,
903
+ "data-name": "grid-root",
904
+ role: "grid",
905
+ "aria-colcount": cols.length,
906
+ "aria-rowcount": rowCount + headRowCount,
907
+ "aria-multiselectable": rowSelectionMode === "multi",
908
+ children: [
909
+ /* @__PURE__ */ jsx(CellMeasure, { setRowHeight }),
910
+ /* @__PURE__ */ jsx(
911
+ Scrollable,
912
+ {
913
+ resizeClient,
914
+ scrollLeft,
915
+ scrollTop,
916
+ scrollSource,
917
+ scroll,
918
+ scrollerRef: scrollableRef,
919
+ topRef,
920
+ rightRef,
921
+ bottomRef,
922
+ leftRef,
923
+ middleRef
924
+ }
925
+ ),
926
+ !hideHeader && leftCols.length > 0 && /* @__PURE__ */ jsx(
927
+ TopLeftPart,
928
+ {
929
+ onWheel,
930
+ columns: leftCols,
931
+ columnGroups: leftGroups,
932
+ rightShadow: isLeftRaised,
933
+ bottomShadow: isHeaderRaised
934
+ }
935
+ ),
936
+ !hideHeader && /* @__PURE__ */ jsx(
937
+ TopPart,
938
+ {
939
+ columns: headVisibleColumns,
940
+ columnGroups: visColGrps,
941
+ topRef,
942
+ onWheel,
943
+ midGap,
944
+ bottomShadow: isHeaderRaised
945
+ }
946
+ ),
947
+ !hideHeader && rightCols.length > 0 && /* @__PURE__ */ jsx(
948
+ TopRightPart,
949
+ {
950
+ onWheel,
951
+ columns: rightCols,
952
+ columnGroups: rightGroups,
953
+ leftShadow: isRightRaised,
954
+ bottomShadow: isHeaderRaised
955
+ }
956
+ ),
957
+ leftCols.length > 0 && /* @__PURE__ */ jsx(
958
+ LeftPart,
959
+ {
960
+ leftRef,
961
+ onWheel,
962
+ columns: leftCols,
963
+ rows,
964
+ rightShadow: isLeftRaised,
965
+ hoverOverRowKey: hoverRowKey,
966
+ setHoverOverRowKey: setHoverRowKey,
967
+ zebra,
968
+ getRowValidationStatus
969
+ }
970
+ ),
971
+ /* @__PURE__ */ jsx(
972
+ MiddlePart,
973
+ {
974
+ middleRef,
975
+ onWheel,
976
+ columns: bodyVisibleColumns,
977
+ rows,
978
+ hoverOverRowKey: hoverRowKey,
979
+ setHoverOverRowKey: setHoverRowKey,
980
+ midGap,
981
+ zebra,
982
+ getRowValidationStatus
983
+ }
984
+ ),
985
+ rightCols.length > 0 && /* @__PURE__ */ jsx(
986
+ RightPart,
987
+ {
988
+ rightRef,
989
+ onWheel,
990
+ columns: rightCols,
991
+ rows,
992
+ leftShadow: isRightRaised,
993
+ hoverOverRowKey: hoverRowKey,
994
+ setHoverOverRowKey: setHoverRowKey,
995
+ zebra,
996
+ getRowValidationStatus
997
+ }
998
+ ),
999
+ /* @__PURE__ */ jsx(ColumnDropTarget, { x: activeTarget == null ? void 0 : activeTarget.x }),
1000
+ /* @__PURE__ */ jsx(
1001
+ ColumnGhost,
1002
+ {
1003
+ columns: cols,
1004
+ rows,
1005
+ dragState,
1006
+ zebra
1007
+ }
1008
+ )
1009
+ ]
1010
+ }
1011
+ )
1012
+ ] }) }) }) }) }) }) }) }) });
1020
1013
  };
1021
1014
 
1022
1015
  export { Grid, SortOrder };