@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-cjs/Grid.js CHANGED
@@ -1,13 +1,20 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
7
4
  var core = require('@salt-ds/core');
8
- var window = require('@salt-ds/window');
9
5
  var styles = require('@salt-ds/styles');
6
+ var window = require('@salt-ds/window');
10
7
  var clsx = require('clsx');
8
+ var react = require('react');
9
+ var ColumnDataContext = require('./ColumnDataContext.js');
10
+ var ColumnDragContext = require('./ColumnDragContext.js');
11
+ var ColumnSortContext = require('./ColumnSortContext.js');
12
+ var CursorContext = require('./CursorContext.js');
13
+ var EditorContext = require('./EditorContext.js');
14
+ var GridContext = require('./GridContext.js');
15
+ var LayoutContext = require('./LayoutContext.js');
16
+ var SelectionContext = require('./SelectionContext.js');
17
+ var SizingContext = require('./SizingContext.js');
11
18
  var CellMeasure = require('./internal/CellMeasure.js');
12
19
  require('./internal/Cursor.js');
13
20
  require('./internal/GroupHeaderRow.js');
@@ -18,23 +25,14 @@ var RightPart = require('./internal/RightPart.js');
18
25
  var Scrollable = require('./internal/Scrollable.js');
19
26
  require('./internal/TableRow.js');
20
27
  var utils = require('./internal/utils.js');
21
- var SelectionContext = require('./SelectionContext.js');
22
- var EditorContext = require('./EditorContext.js');
23
- var CursorContext = require('./CursorContext.js');
24
28
  var gridHooks = require('./internal/gridHooks.js');
25
29
  var TopLeftPart = require('./internal/TopLeftPart.js');
26
30
  var TopPart = require('./internal/TopPart.js');
27
31
  var TopRightPart = require('./internal/TopRightPart.js');
28
32
  require('./CellFrame.js');
29
33
  require('./internal/DefaultCellValue.js');
30
- var GridContext = require('./GridContext.js');
31
- var SizingContext = require('./SizingContext.js');
32
- var LayoutContext = require('./LayoutContext.js');
33
- var ColumnDragContext = require('./ColumnDragContext.js');
34
- var ColumnGhost = require('./internal/ColumnGhost.js');
35
34
  var ColumnDropTarget = require('./internal/ColumnDropTarget.js');
36
- var ColumnDataContext = require('./ColumnDataContext.js');
37
- var ColumnSortContext = require('./ColumnSortContext.js');
35
+ var ColumnGhost = require('./internal/ColumnGhost.js');
38
36
  var Grid$1 = require('./Grid.css.js');
39
37
 
40
38
  const withBaseName = core.makePrefixer("saltGrid");
@@ -115,8 +113,11 @@ const Grid = function Grid2(props) {
115
113
  );
116
114
  const {
117
115
  leftCols,
116
+ // Columns pinned to left
118
117
  midCols,
118
+ // Scrollable columns
119
119
  rightCols,
120
+ // Columns pinned to right
120
121
  leftGroups,
121
122
  midGroups,
122
123
  rightGroups,
@@ -124,7 +125,9 @@ const Grid = function Grid2(props) {
124
125
  } = gridHooks.useColumnRegistry(children);
125
126
  const midColsById = react.useMemo(
126
127
  () => new Map(
127
- midCols.map((c) => [c.info.props.id, c])
128
+ midCols.map(
129
+ (c) => [c.info.props.id, c]
130
+ )
128
131
  ),
129
132
  [midCols]
130
133
  );
@@ -236,7 +239,8 @@ const Grid = function Grid2(props) {
236
239
  if (s) {
237
240
  s.scrollLeft += deltaX;
238
241
  s.scrollTop += deltaY;
239
- if (!(Math.round(s.scrollHeight - s.scrollTop) === s.clientHeight || s.scrollTop === 0 && deltaY < 0)) {
242
+ if (!(Math.round(s.scrollHeight - s.scrollTop) === s.clientHeight || // reached the bottom
243
+ s.scrollTop === 0 && deltaY < 0)) {
240
244
  event.preventDefault();
241
245
  event.stopPropagation();
242
246
  }
@@ -273,8 +277,7 @@ const Grid = function Grid2(props) {
273
277
  });
274
278
  const customSortingFn = (_c = getColById(sortByColumnId)) == null ? void 0 : _c.info.props.customSort;
275
279
  const sortedRowData = react.useMemo(() => {
276
- if (!isSortMode || onSortOrderChange)
277
- return rowData;
280
+ if (!isSortMode || onSortOrderChange) return rowData;
278
281
  if (customSortingFn) {
279
282
  return customSortingFn({ rowData, sortOrder });
280
283
  }
@@ -364,7 +367,7 @@ const Grid = function Grid2(props) {
364
367
  }, 0);
365
368
  };
366
369
  const startEditMode = (text) => {
367
- if (editMode || cursorRowIdx == void 0 || cursorColIdx == void 0) {
370
+ if (editMode || cursorRowIdx === void 0 || cursorColIdx === void 0) {
368
371
  return;
369
372
  }
370
373
  const c = cols[cursorColIdx];
@@ -378,14 +381,14 @@ const Grid = function Grid2(props) {
378
381
  if (!editMode) {
379
382
  return;
380
383
  }
381
- if (cursorColIdx == void 0) {
382
- console.error(`endEditMode: cursorColIdx is undefined in edit mode`);
384
+ if (cursorColIdx === void 0) {
385
+ console.error("endEditMode: cursorColIdx is undefined in edit mode");
383
386
  return;
384
387
  }
385
388
  const c = cols[cursorColIdx];
386
389
  const handler = c.info.props.onChange;
387
- if (cursorRowIdx == void 0) {
388
- console.error(`endEditMode: cursorRowIdx is undefined in edit mode`);
390
+ if (cursorRowIdx === void 0) {
391
+ console.error("endEditMode: cursorRowIdx is undefined in edit mode");
389
392
  return;
390
393
  }
391
394
  if (!handler) {
@@ -504,18 +507,12 @@ const Grid = function Grid2(props) {
504
507
  [editMode, startEditMode, endEditMode, cancelEditMode, initialText]
505
508
  );
506
509
  const [isFocused, setFocused] = react.useState(false);
507
- const onFocus = react.useCallback(
508
- (event) => {
509
- setFocused(true);
510
- },
511
- [setFocused]
512
- );
513
- const onBlur = react.useCallback(
514
- (event) => {
515
- setFocused(false);
516
- },
517
- [setFocused]
518
- );
510
+ const onFocus = react.useCallback(() => {
511
+ setFocused(true);
512
+ }, []);
513
+ const onBlur = react.useCallback(() => {
514
+ setFocused(false);
515
+ }, []);
519
516
  const cursorContext = react.useMemo(
520
517
  () => ({
521
518
  isFocused,
@@ -599,9 +596,8 @@ const Grid = function Grid2(props) {
599
596
  if (editMode) {
600
597
  cancelEditMode();
601
598
  break;
602
- } else {
603
- return false;
604
599
  }
600
+ return false;
605
601
  default:
606
602
  if (!editMode && !event.ctrlKey && !event.metaKey && !event.altKey && /^[\w\d ]$/.test(key)) {
607
603
  startEditMode(key);
@@ -628,14 +624,14 @@ const Grid = function Grid2(props) {
628
624
  case " ":
629
625
  if (focusedPart === "body") {
630
626
  if (event.ctrlKey) {
631
- if (cursorColIdx != void 0) {
627
+ if (cursorColIdx !== void 0) {
632
628
  rangeSelection.selectRange({
633
629
  start: { rowIdx: 0, colIdx: cursorColIdx },
634
630
  end: { rowIdx: sortedRowData.length, colIdx: cursorColIdx }
635
631
  });
636
632
  }
637
633
  } else {
638
- if (cursorRowIdx != void 0) {
634
+ if (cursorRowIdx !== void 0) {
639
635
  selectRows({
640
636
  rowIndex: cursorRowIdx,
641
637
  isRange: false,
@@ -645,9 +641,8 @@ const Grid = function Grid2(props) {
645
641
  }
646
642
  }
647
643
  break;
648
- } else {
649
- return false;
650
644
  }
645
+ return false;
651
646
  case "a":
652
647
  if (event.ctrlKey || event.metaKey) {
653
648
  rangeSelection.selectRange({
@@ -656,9 +651,8 @@ const Grid = function Grid2(props) {
656
651
  });
657
652
  selectAll();
658
653
  return true;
659
- } else {
660
- return false;
661
654
  }
655
+ return false;
662
656
  default:
663
657
  return false;
664
658
  }
@@ -680,6 +674,7 @@ const Grid = function Grid2(props) {
680
674
  );
681
675
  const clipboardKeyHandler = react.useCallback(
682
676
  (event) => {
677
+ var _a2, _b2;
683
678
  const { key } = event;
684
679
  if (key === "c" && (event.ctrlKey || event.metaKey) && rangeSelection.selectedCellRange) {
685
680
  const { start, end } = rangeSelection.selectedCellRange;
@@ -692,7 +687,7 @@ const Grid = function Grid2(props) {
692
687
  const rowText = [];
693
688
  for (let c2 = minCol; c2 <= maxCol; ++c2) {
694
689
  const col = cols[c2];
695
- const cellValue = col.info.props.getValue(row);
690
+ const cellValue = (_b2 = col == null ? void 0 : (_a2 = col.info.props).getValue) == null ? void 0 : _b2.call(_a2, row);
696
691
  rowText.push(cellValue);
697
692
  }
698
693
  text.push(rowText.join(" "));
@@ -792,7 +787,7 @@ const Grid = function Grid2(props) {
792
787
  break;
793
788
  case "Enter":
794
789
  if (editMode && !event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey) {
795
- if (cursorRowIdx == void 0) {
790
+ if (cursorRowIdx === void 0) {
796
791
  moveCursor(focusedPart, 0, 0);
797
792
  } else {
798
793
  moveCursor(focusedPart, cursorRowIdx + 1, cursorColIdx);
@@ -833,7 +828,7 @@ const Grid = function Grid2(props) {
833
828
  );
834
829
  const onKeyDown = react.useCallback(
835
830
  (event) => {
836
- if (cursorColIdx != void 0 && cursorRowIdx != void 0) {
831
+ if (cursorColIdx !== void 0 && cursorRowIdx !== void 0) {
837
832
  const column = cols[cursorColIdx];
838
833
  if (column.info.props.onKeyDown) {
839
834
  column.info.props.onKeyDown(event, cursorRowIdx);
@@ -884,143 +879,139 @@ const Grid = function Grid2(props) {
884
879
  onVisibleRowRangeChange(visRowRng.start, visRowRng.end);
885
880
  }
886
881
  }, [onVisibleRowRangeChange, visRowRng]);
887
- return /* @__PURE__ */ jsxRuntime.jsx(GridContext.GridContext.Provider, {
888
- value: contextValue,
889
- children: /* @__PURE__ */ jsxRuntime.jsx(LayoutContext.LayoutContext.Provider, {
890
- value: layoutContext,
891
- children: /* @__PURE__ */ jsxRuntime.jsx(SelectionContext.SelectionContext.Provider, {
892
- value: selectionContext,
893
- children: /* @__PURE__ */ jsxRuntime.jsx(ColumnDragContext.ColumnDragContext.Provider, {
894
- value: columnDragContext,
895
- children: /* @__PURE__ */ jsxRuntime.jsx(CursorContext.CursorContext.Provider, {
896
- value: cursorContext,
897
- children: /* @__PURE__ */ jsxRuntime.jsx(SizingContext.SizingContext.Provider, {
898
- value: sizingContext,
899
- children: /* @__PURE__ */ jsxRuntime.jsx(EditorContext.EditorContext.Provider, {
900
- value: editorContext,
901
- children: /* @__PURE__ */ jsxRuntime.jsx(ColumnDataContext.ColumnDataContext.Provider, {
902
- value: columnDataContext,
903
- children: /* @__PURE__ */ jsxRuntime.jsxs(ColumnSortContext.ColumnSortContext.Provider, {
904
- value: columnSortContext,
905
- children: [
906
- props.children,
907
- /* @__PURE__ */ jsxRuntime.jsxs("div", {
908
- className: clsx.clsx(
909
- withBaseName(),
910
- {
911
- [withBaseName("zebra")]: zebra,
912
- [withBaseName("columnSeparators")]: columnSeparators,
913
- [withBaseName("pinnedSeparators")]: pinnedSeparators,
914
- [withBaseName("primaryBackground")]: variant === "primary",
915
- [withBaseName("secondaryBackground")]: variant === "secondary"
916
- },
917
- className
918
- ),
919
- style: rootStyle,
920
- ref: rootRef,
921
- onKeyDown,
922
- onKeyUp,
923
- onMouseDown,
924
- onFocus,
925
- onBlur,
926
- "data-name": "grid-root",
927
- role: "grid",
928
- "aria-colcount": cols.length,
929
- "aria-rowcount": rowCount + headRowCount,
930
- "aria-multiselectable": rowSelectionMode === "multi",
931
- children: [
932
- /* @__PURE__ */ jsxRuntime.jsx(CellMeasure.CellMeasure, {
933
- setRowHeight
934
- }),
935
- /* @__PURE__ */ jsxRuntime.jsx(Scrollable.Scrollable, {
936
- resizeClient,
937
- scrollLeft,
938
- scrollTop,
939
- scrollSource,
940
- scroll,
941
- scrollerRef: scrollableRef,
942
- topRef,
943
- rightRef,
944
- bottomRef,
945
- leftRef,
946
- middleRef
947
- }),
948
- !hideHeader && leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TopLeftPart.TopLeftPart, {
949
- onWheel,
950
- columns: leftCols,
951
- columnGroups: leftGroups,
952
- rightShadow: isLeftRaised,
953
- bottomShadow: isHeaderRaised
954
- }),
955
- !hideHeader && /* @__PURE__ */ jsxRuntime.jsx(TopPart.TopPart, {
956
- columns: headVisibleColumns,
957
- columnGroups: visColGrps,
958
- topRef,
959
- onWheel,
960
- midGap,
961
- bottomShadow: isHeaderRaised
962
- }),
963
- !hideHeader && rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TopRightPart.TopRightPart, {
964
- onWheel,
965
- columns: rightCols,
966
- columnGroups: rightGroups,
967
- leftShadow: isRightRaised,
968
- bottomShadow: isHeaderRaised
969
- }),
970
- leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(LeftPart.LeftPart, {
971
- leftRef,
972
- onWheel,
973
- columns: leftCols,
974
- rows,
975
- rightShadow: isLeftRaised,
976
- hoverOverRowKey: hoverRowKey,
977
- setHoverOverRowKey: setHoverRowKey,
978
- zebra,
979
- getRowValidationStatus
980
- }),
981
- /* @__PURE__ */ jsxRuntime.jsx(MiddlePart.MiddlePart, {
982
- middleRef,
983
- onWheel,
984
- columns: bodyVisibleColumns,
985
- rows,
986
- hoverOverRowKey: hoverRowKey,
987
- setHoverOverRowKey: setHoverRowKey,
988
- midGap,
989
- zebra,
990
- getRowValidationStatus
991
- }),
992
- rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(RightPart.RightPart, {
993
- rightRef,
994
- onWheel,
995
- columns: rightCols,
996
- rows,
997
- leftShadow: isRightRaised,
998
- hoverOverRowKey: hoverRowKey,
999
- setHoverOverRowKey: setHoverRowKey,
1000
- zebra,
1001
- getRowValidationStatus
1002
- }),
1003
- /* @__PURE__ */ jsxRuntime.jsx(ColumnDropTarget.ColumnDropTarget, {
1004
- x: activeTarget == null ? void 0 : activeTarget.x
1005
- }),
1006
- /* @__PURE__ */ jsxRuntime.jsx(ColumnGhost.ColumnGhost, {
1007
- columns: cols,
1008
- rows,
1009
- dragState,
1010
- zebra
1011
- })
1012
- ]
1013
- })
1014
- ]
1015
- })
1016
- })
1017
- })
1018
- })
1019
- })
1020
- })
1021
- })
1022
- })
1023
- });
882
+ return /* @__PURE__ */ jsxRuntime.jsx(GridContext.GridContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(LayoutContext.LayoutContext.Provider, { value: layoutContext, children: /* @__PURE__ */ jsxRuntime.jsx(SelectionContext.SelectionContext.Provider, { value: selectionContext, children: /* @__PURE__ */ jsxRuntime.jsx(ColumnDragContext.ColumnDragContext.Provider, { value: columnDragContext, children: /* @__PURE__ */ jsxRuntime.jsx(CursorContext.CursorContext.Provider, { value: cursorContext, children: /* @__PURE__ */ jsxRuntime.jsx(SizingContext.SizingContext.Provider, { value: sizingContext, children: /* @__PURE__ */ jsxRuntime.jsx(EditorContext.EditorContext.Provider, { value: editorContext, children: /* @__PURE__ */ jsxRuntime.jsx(ColumnDataContext.ColumnDataContext.Provider, { value: columnDataContext, children: /* @__PURE__ */ jsxRuntime.jsxs(ColumnSortContext.ColumnSortContext.Provider, { value: columnSortContext, children: [
883
+ props.children,
884
+ /* @__PURE__ */ jsxRuntime.jsxs(
885
+ "div",
886
+ {
887
+ className: clsx.clsx(
888
+ withBaseName(),
889
+ {
890
+ [withBaseName("zebra")]: zebra,
891
+ [withBaseName("columnSeparators")]: columnSeparators,
892
+ [withBaseName("pinnedSeparators")]: pinnedSeparators,
893
+ [withBaseName("primaryBackground")]: variant === "primary",
894
+ [withBaseName("secondaryBackground")]: variant === "secondary"
895
+ },
896
+ className
897
+ ),
898
+ style: rootStyle,
899
+ ref: rootRef,
900
+ onKeyDown,
901
+ onKeyUp,
902
+ onMouseDown,
903
+ onFocus,
904
+ onBlur,
905
+ "data-name": "grid-root",
906
+ role: "grid",
907
+ "aria-colcount": cols.length,
908
+ "aria-rowcount": rowCount + headRowCount,
909
+ "aria-multiselectable": rowSelectionMode === "multi",
910
+ children: [
911
+ /* @__PURE__ */ jsxRuntime.jsx(CellMeasure.CellMeasure, { setRowHeight }),
912
+ /* @__PURE__ */ jsxRuntime.jsx(
913
+ Scrollable.Scrollable,
914
+ {
915
+ resizeClient,
916
+ scrollLeft,
917
+ scrollTop,
918
+ scrollSource,
919
+ scroll,
920
+ scrollerRef: scrollableRef,
921
+ topRef,
922
+ rightRef,
923
+ bottomRef,
924
+ leftRef,
925
+ middleRef
926
+ }
927
+ ),
928
+ !hideHeader && leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
929
+ TopLeftPart.TopLeftPart,
930
+ {
931
+ onWheel,
932
+ columns: leftCols,
933
+ columnGroups: leftGroups,
934
+ rightShadow: isLeftRaised,
935
+ bottomShadow: isHeaderRaised
936
+ }
937
+ ),
938
+ !hideHeader && /* @__PURE__ */ jsxRuntime.jsx(
939
+ TopPart.TopPart,
940
+ {
941
+ columns: headVisibleColumns,
942
+ columnGroups: visColGrps,
943
+ topRef,
944
+ onWheel,
945
+ midGap,
946
+ bottomShadow: isHeaderRaised
947
+ }
948
+ ),
949
+ !hideHeader && rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
950
+ TopRightPart.TopRightPart,
951
+ {
952
+ onWheel,
953
+ columns: rightCols,
954
+ columnGroups: rightGroups,
955
+ leftShadow: isRightRaised,
956
+ bottomShadow: isHeaderRaised
957
+ }
958
+ ),
959
+ leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
960
+ LeftPart.LeftPart,
961
+ {
962
+ leftRef,
963
+ onWheel,
964
+ columns: leftCols,
965
+ rows,
966
+ rightShadow: isLeftRaised,
967
+ hoverOverRowKey: hoverRowKey,
968
+ setHoverOverRowKey: setHoverRowKey,
969
+ zebra,
970
+ getRowValidationStatus
971
+ }
972
+ ),
973
+ /* @__PURE__ */ jsxRuntime.jsx(
974
+ MiddlePart.MiddlePart,
975
+ {
976
+ middleRef,
977
+ onWheel,
978
+ columns: bodyVisibleColumns,
979
+ rows,
980
+ hoverOverRowKey: hoverRowKey,
981
+ setHoverOverRowKey: setHoverRowKey,
982
+ midGap,
983
+ zebra,
984
+ getRowValidationStatus
985
+ }
986
+ ),
987
+ rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
988
+ RightPart.RightPart,
989
+ {
990
+ rightRef,
991
+ onWheel,
992
+ columns: rightCols,
993
+ rows,
994
+ leftShadow: isRightRaised,
995
+ hoverOverRowKey: hoverRowKey,
996
+ setHoverOverRowKey: setHoverRowKey,
997
+ zebra,
998
+ getRowValidationStatus
999
+ }
1000
+ ),
1001
+ /* @__PURE__ */ jsxRuntime.jsx(ColumnDropTarget.ColumnDropTarget, { x: activeTarget == null ? void 0 : activeTarget.x }),
1002
+ /* @__PURE__ */ jsxRuntime.jsx(
1003
+ ColumnGhost.ColumnGhost,
1004
+ {
1005
+ columns: cols,
1006
+ rows,
1007
+ dragState,
1008
+ zebra
1009
+ }
1010
+ )
1011
+ ]
1012
+ }
1013
+ )
1014
+ ] }) }) }) }) }) }) }) }) });
1024
1015
  };
1025
1016
 
1026
1017
  exports.Grid = Grid;