@salt-ds/data-grid 1.0.4-alpha.0 → 1.0.4-alpha.10

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 (457) hide show
  1. package/dist-cjs/BaseCell.css.js +6 -0
  2. package/{dist-es/packages/grid/src → dist-cjs}/BaseCell.css.js.map +1 -1
  3. package/dist-cjs/{packages/grid/src/BaseCell.js → BaseCell.js} +44 -5
  4. package/dist-cjs/BaseCell.js.map +1 -0
  5. package/dist-cjs/{packages/grid/src/CheckboxCell.css.js → CheckboxCell.css.js} +0 -3
  6. package/{dist-es/packages/grid/src → dist-cjs}/CheckboxCell.css.js.map +1 -1
  7. package/dist-cjs/ColumnSortContext.js +20 -0
  8. package/dist-cjs/ColumnSortContext.js.map +1 -0
  9. package/dist-cjs/{packages/grid/src/CornerTag.css.js → CornerTag.css.js} +0 -3
  10. package/{dist-es/packages/grid/src → dist-cjs}/CornerTag.css.js.map +1 -1
  11. package/dist-cjs/{packages/grid/src/CornerTag.js → CornerTag.js} +9 -1
  12. package/dist-cjs/CornerTag.js.map +1 -0
  13. package/dist-cjs/{packages/grid/src/DropdownCellEditor.css.js → DropdownCellEditor.css.js} +0 -3
  14. package/{dist-es/packages/grid/src → dist-cjs}/DropdownCellEditor.css.js.map +1 -1
  15. package/dist-cjs/{packages/grid/src/DropdownCellEditor.js → DropdownCellEditor.js} +19 -6
  16. package/dist-cjs/DropdownCellEditor.js.map +1 -0
  17. package/dist-cjs/Grid.css.js +6 -0
  18. package/{dist-es/packages/grid/src → dist-cjs}/Grid.css.js.map +1 -1
  19. package/dist-cjs/{packages/grid/src/Grid.js → Grid.js} +222 -131
  20. package/dist-cjs/Grid.js.map +1 -0
  21. package/dist-cjs/GridColumn.js.map +1 -0
  22. package/dist-cjs/{packages/grid/src/GroupHeaderCell.css.js → GroupHeaderCell.css.js} +0 -3
  23. package/{dist-es/packages/grid/src → dist-cjs}/GroupHeaderCell.css.js.map +1 -1
  24. package/dist-cjs/{packages/grid/src/GroupHeaderCell.js → GroupHeaderCell.js} +9 -1
  25. package/dist-cjs/GroupHeaderCell.js.map +1 -0
  26. package/dist-cjs/HeaderCell.css.js +6 -0
  27. package/{dist-es/packages/grid/src → dist-cjs}/HeaderCell.css.js.map +1 -1
  28. package/dist-cjs/{packages/grid/src/HeaderCell.js → HeaderCell.js} +76 -5
  29. package/dist-cjs/HeaderCell.js.map +1 -0
  30. package/dist-cjs/NumberRange.js.map +1 -0
  31. package/dist-cjs/{packages/grid/src/NumericColumn.css.js → NumericColumn.css.js} +0 -3
  32. package/{dist-es/packages/grid/src → dist-cjs}/NumericColumn.css.js.map +1 -1
  33. package/dist-cjs/{packages/grid/src/NumericColumn.js → NumericColumn.js} +10 -3
  34. package/dist-cjs/NumericColumn.js.map +1 -0
  35. package/dist-cjs/{packages/grid/src/RowSelectionCheckboxCellValue.js → RowSelectionCheckboxCellValue.js} +9 -1
  36. package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -0
  37. package/dist-cjs/{packages/grid/src/RowSelectionCheckboxColumn.js → RowSelectionCheckboxColumn.js} +14 -7
  38. package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -0
  39. package/dist-cjs/{packages/grid/src/RowSelectionCheckboxHeaderCellValue.js → RowSelectionCheckboxHeaderCellValue.js} +10 -2
  40. package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
  41. package/dist-cjs/{packages/grid/src/RowSelectionRadioCellValue.js → RowSelectionRadioCellValue.js} +9 -1
  42. package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -0
  43. package/dist-cjs/{packages/grid/src/RowSelectionRadioColumn.js → RowSelectionRadioColumn.js} +11 -7
  44. package/dist-cjs/RowSelectionRadioColumn.js.map +1 -0
  45. package/dist-cjs/{packages/grid/src/RowSelectionRadioHeaderCell.js → RowSelectionRadioHeaderCell.js} +11 -3
  46. package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -0
  47. package/dist-cjs/RowValidationStatus.js +13 -0
  48. package/dist-cjs/RowValidationStatus.js.map +1 -0
  49. package/dist-cjs/{packages/grid/src/TextCellEditor.css.js → TextCellEditor.css.js} +0 -3
  50. package/{dist-es/packages/grid/src → dist-cjs}/TextCellEditor.css.js.map +1 -1
  51. package/dist-cjs/{packages/grid/src/TextCellEditor.js → TextCellEditor.js} +9 -2
  52. package/dist-cjs/TextCellEditor.js.map +1 -0
  53. package/dist-cjs/{packages/grid/src/index.js → index.js} +1 -0
  54. package/dist-cjs/{packages/grid/src/index.js.map → index.js.map} +1 -1
  55. package/dist-cjs/internal/Cell.css.js +6 -0
  56. package/{dist-es/packages/grid/src → dist-cjs}/internal/Cell.css.js.map +1 -1
  57. package/dist-cjs/{packages/grid/src/internal → internal}/Cell.js +9 -1
  58. package/dist-cjs/internal/Cell.js.map +1 -0
  59. package/dist-cjs/{packages/grid/src/internal → internal}/CellMeasure.css.js +0 -3
  60. package/{dist-es/packages/grid/src → dist-cjs}/internal/CellMeasure.css.js.map +1 -1
  61. package/dist-cjs/{packages/grid/src/internal → internal}/CellMeasure.js +9 -1
  62. package/dist-cjs/internal/CellMeasure.js.map +1 -0
  63. package/dist-cjs/internal/CellStatusIcons.js +46 -0
  64. package/dist-cjs/internal/CellStatusIcons.js.map +1 -0
  65. package/dist-cjs/{packages/grid/src/internal → internal}/ColumnDropTarget.css.js +0 -3
  66. package/{dist-es/packages/grid/src → dist-cjs}/internal/ColumnDropTarget.css.js.map +1 -1
  67. package/dist-cjs/{packages/grid/src/internal → internal}/ColumnDropTarget.js +9 -1
  68. package/dist-cjs/internal/ColumnDropTarget.js.map +1 -0
  69. package/dist-cjs/{packages/grid/src/internal → internal}/ColumnGhost.css.js +0 -3
  70. package/{dist-es/packages/grid/src → dist-cjs}/internal/ColumnGhost.css.js.map +1 -1
  71. package/dist-cjs/{packages/grid/src/internal → internal}/ColumnGhost.js +10 -2
  72. package/dist-cjs/internal/ColumnGhost.js.map +1 -0
  73. package/dist-cjs/{packages/grid/src/internal → internal}/Cursor.css.js +0 -3
  74. package/{dist-es/packages/grid/src → dist-cjs}/internal/Cursor.css.js.map +1 -1
  75. package/dist-cjs/{packages/grid/src/internal → internal}/Cursor.js +9 -1
  76. package/dist-cjs/internal/Cursor.js.map +1 -0
  77. package/dist-cjs/{packages/grid/src/internal → internal}/DefaultCellValue.css.js +0 -3
  78. package/{dist-es/packages/grid/src → dist-cjs}/internal/DefaultCellValue.css.js.map +1 -1
  79. package/dist-cjs/{packages/grid/src/internal → internal}/DefaultCellValue.js +9 -1
  80. package/dist-cjs/internal/DefaultCellValue.js.map +1 -0
  81. package/dist-cjs/{packages/grid/src/internal → internal}/FakeCell.css.js +0 -3
  82. package/{dist-es/packages/grid/src → dist-cjs}/internal/FakeCell.css.js.map +1 -1
  83. package/dist-cjs/{packages/grid/src/internal → internal}/FakeCell.js +9 -1
  84. package/dist-cjs/internal/FakeCell.js.map +1 -0
  85. package/dist-cjs/{packages/grid/src/internal → internal}/GroupHeaderRow.css.js +0 -3
  86. package/{dist-es/packages/grid/src → dist-cjs}/internal/GroupHeaderRow.css.js.map +1 -1
  87. package/dist-cjs/{packages/grid/src/internal → internal}/GroupHeaderRow.js +11 -3
  88. package/dist-cjs/internal/GroupHeaderRow.js.map +1 -0
  89. package/dist-cjs/{packages/grid/src/internal → internal}/HeaderRow.css.js +0 -3
  90. package/{dist-es/packages/grid/src → dist-cjs}/internal/HeaderRow.css.js.map +1 -1
  91. package/dist-cjs/{packages/grid/src/internal → internal}/HeaderRow.js +10 -2
  92. package/dist-cjs/internal/HeaderRow.js.map +1 -0
  93. package/dist-cjs/{packages/grid/src/internal → internal}/LeftPart.css.js +0 -3
  94. package/{dist-es/packages/grid/src → dist-cjs}/internal/LeftPart.css.js.map +1 -1
  95. package/dist-cjs/{packages/grid/src/internal → internal}/LeftPart.js +15 -5
  96. package/dist-cjs/internal/LeftPart.js.map +1 -0
  97. package/dist-cjs/{packages/grid/src/internal → internal}/MiddlePart.css.js +0 -3
  98. package/{dist-es/packages/grid/src → dist-cjs}/internal/MiddlePart.css.js.map +1 -1
  99. package/dist-cjs/{packages/grid/src/internal → internal}/MiddlePart.js +14 -4
  100. package/dist-cjs/internal/MiddlePart.js.map +1 -0
  101. package/dist-cjs/{packages/grid/src/internal → internal}/RightPart.css.js +0 -3
  102. package/{dist-es/packages/grid/src → dist-cjs}/internal/RightPart.css.js.map +1 -1
  103. package/dist-cjs/{packages/grid/src/internal → internal}/RightPart.js +15 -5
  104. package/dist-cjs/internal/RightPart.js.map +1 -0
  105. package/dist-cjs/{packages/grid/src/internal → internal}/Scrollable.css.js +0 -3
  106. package/{dist-es/packages/grid/src → dist-cjs}/internal/Scrollable.css.js.map +1 -1
  107. package/dist-cjs/{packages/grid/src/internal → internal}/Scrollable.js +10 -2
  108. package/dist-cjs/internal/Scrollable.js.map +1 -0
  109. package/dist-cjs/{packages/grid/src/internal → internal}/TableBody.js +12 -5
  110. package/dist-cjs/internal/TableBody.js.map +1 -0
  111. package/dist-cjs/internal/TableRow.css.js +6 -0
  112. package/{dist-es/packages/grid/src → dist-cjs}/internal/TableRow.css.js.map +1 -1
  113. package/dist-cjs/{packages/grid/src/internal → internal}/TableRow.js +45 -16
  114. package/dist-cjs/internal/TableRow.js.map +1 -0
  115. package/dist-cjs/{packages/grid/src/internal → internal}/TopLeftPart.css.js +0 -3
  116. package/{dist-es/packages/grid/src → dist-cjs}/internal/TopLeftPart.css.js.map +1 -1
  117. package/dist-cjs/{packages/grid/src/internal → internal}/TopLeftPart.js +12 -4
  118. package/dist-cjs/internal/TopLeftPart.js.map +1 -0
  119. package/dist-cjs/{packages/grid/src/internal → internal}/TopPart.css.js +0 -3
  120. package/{dist-es/packages/grid/src → dist-cjs}/internal/TopPart.css.js.map +1 -1
  121. package/dist-cjs/{packages/grid/src/internal → internal}/TopPart.js +11 -3
  122. package/dist-cjs/internal/TopPart.js.map +1 -0
  123. package/dist-cjs/{packages/grid/src/internal → internal}/TopRightPart.css.js +0 -3
  124. package/{dist-es/packages/grid/src → dist-cjs}/internal/TopRightPart.css.js.map +1 -1
  125. package/dist-cjs/{packages/grid/src/internal → internal}/TopRightPart.js +10 -2
  126. package/dist-cjs/internal/TopRightPart.js.map +1 -0
  127. package/dist-cjs/{packages/grid/src/internal → internal}/gridHooks.js +3 -0
  128. package/dist-cjs/internal/gridHooks.js.map +1 -0
  129. package/dist-es/BaseCell.css.js +4 -0
  130. package/{dist-cjs/packages/grid/src → dist-es}/BaseCell.css.js.map +1 -1
  131. package/dist-es/{packages/grid/src/BaseCell.js → BaseCell.js} +44 -5
  132. package/dist-es/BaseCell.js.map +1 -0
  133. package/dist-es/{packages/grid/src/CheckboxCell.css.js → CheckboxCell.css.js} +0 -3
  134. package/{dist-cjs/packages/grid/src → dist-es}/CheckboxCell.css.js.map +1 -1
  135. package/dist-es/ColumnSortContext.js +15 -0
  136. package/dist-es/ColumnSortContext.js.map +1 -0
  137. package/dist-es/{packages/grid/src/CornerTag.css.js → CornerTag.css.js} +0 -3
  138. package/{dist-cjs/packages/grid/src → dist-es}/CornerTag.css.js.map +1 -1
  139. package/dist-es/CornerTag.js +19 -0
  140. package/dist-es/CornerTag.js.map +1 -0
  141. package/dist-es/{packages/grid/src/DropdownCellEditor.css.js → DropdownCellEditor.css.js} +0 -3
  142. package/{dist-cjs/packages/grid/src → dist-es}/DropdownCellEditor.css.js.map +1 -1
  143. package/dist-es/{packages/grid/src/DropdownCellEditor.js → DropdownCellEditor.js} +19 -6
  144. package/dist-es/DropdownCellEditor.js.map +1 -0
  145. package/dist-es/Grid.css.js +4 -0
  146. package/{dist-cjs/packages/grid/src → dist-es}/Grid.css.js.map +1 -1
  147. package/dist-es/{packages/grid/src/Grid.js → Grid.js} +222 -132
  148. package/dist-es/Grid.js.map +1 -0
  149. package/dist-es/GridColumn.js.map +1 -0
  150. package/dist-es/{packages/grid/src/GroupHeaderCell.css.js → GroupHeaderCell.css.js} +0 -3
  151. package/{dist-cjs/packages/grid/src → dist-es}/GroupHeaderCell.css.js.map +1 -1
  152. package/dist-es/{packages/grid/src/GroupHeaderCell.js → GroupHeaderCell.js} +9 -1
  153. package/dist-es/GroupHeaderCell.js.map +1 -0
  154. package/dist-es/HeaderCell.css.js +4 -0
  155. package/{dist-cjs/packages/grid/src → dist-es}/HeaderCell.css.js.map +1 -1
  156. package/dist-es/{packages/grid/src/HeaderCell.js → HeaderCell.js} +76 -5
  157. package/dist-es/HeaderCell.js.map +1 -0
  158. package/dist-es/NumberRange.js.map +1 -0
  159. package/dist-es/{packages/grid/src/NumericColumn.css.js → NumericColumn.css.js} +0 -3
  160. package/{dist-cjs/packages/grid/src → dist-es}/NumericColumn.css.js.map +1 -1
  161. package/dist-es/{packages/grid/src/NumericColumn.js → NumericColumn.js} +10 -3
  162. package/dist-es/NumericColumn.js.map +1 -0
  163. package/dist-es/{packages/grid/src/RowSelectionCheckboxCellValue.js → RowSelectionCheckboxCellValue.js} +9 -1
  164. package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -0
  165. package/dist-es/{packages/grid/src/RowSelectionCheckboxColumn.js → RowSelectionCheckboxColumn.js} +14 -7
  166. package/dist-es/RowSelectionCheckboxColumn.js.map +1 -0
  167. package/dist-es/{packages/grid/src/RowSelectionCheckboxHeaderCellValue.js → RowSelectionCheckboxHeaderCellValue.js} +10 -2
  168. package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
  169. package/dist-es/{packages/grid/src/RowSelectionRadioCellValue.js → RowSelectionRadioCellValue.js} +9 -1
  170. package/dist-es/RowSelectionRadioCellValue.js.map +1 -0
  171. package/dist-es/{packages/grid/src/RowSelectionRadioColumn.js → RowSelectionRadioColumn.js} +11 -7
  172. package/dist-es/RowSelectionRadioColumn.js.map +1 -0
  173. package/dist-es/{packages/grid/src/RowSelectionRadioHeaderCell.js → RowSelectionRadioHeaderCell.js} +11 -3
  174. package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -0
  175. package/dist-es/RowValidationStatus.js +9 -0
  176. package/dist-es/RowValidationStatus.js.map +1 -0
  177. package/dist-es/{packages/grid/src/TextCellEditor.css.js → TextCellEditor.css.js} +0 -3
  178. package/{dist-cjs/packages/grid/src → dist-es}/TextCellEditor.css.js.map +1 -1
  179. package/dist-es/{packages/grid/src/TextCellEditor.js → TextCellEditor.js} +9 -2
  180. package/dist-es/TextCellEditor.js.map +1 -0
  181. package/dist-es/{packages/grid/src/index.js → index.js} +1 -1
  182. package/dist-es/internal/Cell.css.js +4 -0
  183. package/{dist-cjs/packages/grid/src → dist-es}/internal/Cell.css.js.map +1 -1
  184. package/dist-es/{packages/grid/src/internal → internal}/Cell.js +9 -1
  185. package/dist-es/internal/Cell.js.map +1 -0
  186. package/dist-es/{packages/grid/src/internal → internal}/CellMeasure.css.js +0 -3
  187. package/{dist-cjs/packages/grid/src → dist-es}/internal/CellMeasure.css.js.map +1 -1
  188. package/dist-es/{packages/grid/src/internal → internal}/CellMeasure.js +9 -1
  189. package/dist-es/internal/CellMeasure.js.map +1 -0
  190. package/dist-es/internal/CellStatusIcons.js +40 -0
  191. package/dist-es/internal/CellStatusIcons.js.map +1 -0
  192. package/dist-es/{packages/grid/src/internal → internal}/ColumnDropTarget.css.js +0 -3
  193. package/{dist-cjs/packages/grid/src → dist-es}/internal/ColumnDropTarget.css.js.map +1 -1
  194. package/dist-es/{packages/grid/src/internal → internal}/ColumnDropTarget.js +9 -1
  195. package/dist-es/internal/ColumnDropTarget.js.map +1 -0
  196. package/dist-es/{packages/grid/src/internal → internal}/ColumnGhost.css.js +0 -3
  197. package/{dist-cjs/packages/grid/src → dist-es}/internal/ColumnGhost.css.js.map +1 -1
  198. package/dist-es/{packages/grid/src/internal → internal}/ColumnGhost.js +10 -2
  199. package/dist-es/internal/ColumnGhost.js.map +1 -0
  200. package/dist-es/{packages/grid/src/internal → internal}/Cursor.css.js +0 -3
  201. package/{dist-cjs/packages/grid/src → dist-es}/internal/Cursor.css.js.map +1 -1
  202. package/dist-es/{packages/grid/src/internal → internal}/Cursor.js +9 -1
  203. package/dist-es/internal/Cursor.js.map +1 -0
  204. package/dist-es/{packages/grid/src/internal → internal}/DefaultCellValue.css.js +0 -3
  205. package/{dist-cjs/packages/grid/src → dist-es}/internal/DefaultCellValue.css.js.map +1 -1
  206. package/dist-es/{packages/grid/src/internal → internal}/DefaultCellValue.js +9 -1
  207. package/dist-es/internal/DefaultCellValue.js.map +1 -0
  208. package/dist-es/{packages/grid/src/internal → internal}/FakeCell.css.js +0 -3
  209. package/{dist-cjs/packages/grid/src → dist-es}/internal/FakeCell.css.js.map +1 -1
  210. package/dist-es/{packages/grid/src/internal → internal}/FakeCell.js +9 -1
  211. package/dist-es/internal/FakeCell.js.map +1 -0
  212. package/dist-es/{packages/grid/src/internal → internal}/GroupHeaderRow.css.js +0 -3
  213. package/{dist-cjs/packages/grid/src → dist-es}/internal/GroupHeaderRow.css.js.map +1 -1
  214. package/dist-es/{packages/grid/src/internal → internal}/GroupHeaderRow.js +11 -3
  215. package/dist-es/internal/GroupHeaderRow.js.map +1 -0
  216. package/dist-es/{packages/grid/src/internal → internal}/HeaderRow.css.js +0 -3
  217. package/{dist-cjs/packages/grid/src → dist-es}/internal/HeaderRow.css.js.map +1 -1
  218. package/dist-es/{packages/grid/src/internal → internal}/HeaderRow.js +10 -2
  219. package/dist-es/internal/HeaderRow.js.map +1 -0
  220. package/dist-es/{packages/grid/src/internal → internal}/LeftPart.css.js +0 -3
  221. package/{dist-cjs/packages/grid/src → dist-es}/internal/LeftPart.css.js.map +1 -1
  222. package/dist-es/{packages/grid/src/internal → internal}/LeftPart.js +15 -5
  223. package/dist-es/internal/LeftPart.js.map +1 -0
  224. package/dist-es/{packages/grid/src/internal → internal}/MiddlePart.css.js +0 -3
  225. package/{dist-cjs/packages/grid/src → dist-es}/internal/MiddlePart.css.js.map +1 -1
  226. package/dist-es/{packages/grid/src/internal → internal}/MiddlePart.js +14 -4
  227. package/dist-es/internal/MiddlePart.js.map +1 -0
  228. package/dist-es/{packages/grid/src/internal → internal}/RightPart.css.js +0 -3
  229. package/{dist-cjs/packages/grid/src → dist-es}/internal/RightPart.css.js.map +1 -1
  230. package/dist-es/{packages/grid/src/internal → internal}/RightPart.js +15 -5
  231. package/dist-es/internal/RightPart.js.map +1 -0
  232. package/dist-es/{packages/grid/src/internal → internal}/Scrollable.css.js +0 -3
  233. package/{dist-cjs/packages/grid/src → dist-es}/internal/Scrollable.css.js.map +1 -1
  234. package/dist-es/{packages/grid/src/internal → internal}/Scrollable.js +10 -2
  235. package/dist-es/internal/Scrollable.js.map +1 -0
  236. package/dist-es/{packages/grid/src/internal → internal}/TableBody.js +12 -5
  237. package/dist-es/internal/TableBody.js.map +1 -0
  238. package/dist-es/internal/TableRow.css.js +4 -0
  239. package/{dist-cjs/packages/grid/src → dist-es}/internal/TableRow.css.js.map +1 -1
  240. package/dist-es/{packages/grid/src/internal → internal}/TableRow.js +45 -16
  241. package/dist-es/internal/TableRow.js.map +1 -0
  242. package/dist-es/{packages/grid/src/internal → internal}/TopLeftPart.css.js +0 -3
  243. package/{dist-cjs/packages/grid/src → dist-es}/internal/TopLeftPart.css.js.map +1 -1
  244. package/dist-es/{packages/grid/src/internal → internal}/TopLeftPart.js +12 -4
  245. package/dist-es/internal/TopLeftPart.js.map +1 -0
  246. package/dist-es/{packages/grid/src/internal → internal}/TopPart.css.js +0 -3
  247. package/{dist-cjs/packages/grid/src → dist-es}/internal/TopPart.css.js.map +1 -1
  248. package/dist-es/{packages/grid/src/internal → internal}/TopPart.js +11 -3
  249. package/dist-es/internal/TopPart.js.map +1 -0
  250. package/dist-es/{packages/grid/src/internal → internal}/TopRightPart.css.js +0 -3
  251. package/{dist-cjs/packages/grid/src → dist-es}/internal/TopRightPart.css.js.map +1 -1
  252. package/dist-es/{packages/grid/src/internal → internal}/TopRightPart.js +10 -2
  253. package/dist-es/internal/TopRightPart.js.map +1 -0
  254. package/dist-es/{packages/grid/src/internal → internal}/gridHooks.js +4 -1
  255. package/dist-es/internal/gridHooks.js.map +1 -0
  256. package/dist-types/BaseCell.d.ts +0 -2
  257. package/dist-types/ColumnDataContext.d.ts +0 -1
  258. package/dist-types/ColumnSortContext.d.ts +12 -0
  259. package/dist-types/CornerTag.d.ts +0 -2
  260. package/dist-types/CursorContext.d.ts +0 -1
  261. package/dist-types/DropdownCellEditor.d.ts +1 -3
  262. package/dist-types/EditorContext.d.ts +0 -1
  263. package/dist-types/Grid.d.ts +7 -2
  264. package/dist-types/GridColumn.d.ts +54 -2
  265. package/dist-types/GridContext.d.ts +0 -1
  266. package/dist-types/GroupHeaderCell.d.ts +1 -2
  267. package/dist-types/GroupHeaderCellValue.d.ts +0 -1
  268. package/dist-types/HeaderCell.d.ts +0 -2
  269. package/dist-types/HeaderCellValue.d.ts +0 -1
  270. package/dist-types/LayoutContext.d.ts +0 -1
  271. package/dist-types/NumericColumn.d.ts +1 -2
  272. package/dist-types/RowSelectionCheckboxCellValue.d.ts +0 -2
  273. package/dist-types/RowSelectionCheckboxColumn.d.ts +0 -1
  274. package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +0 -2
  275. package/dist-types/RowSelectionRadioCellValue.d.ts +0 -2
  276. package/dist-types/RowSelectionRadioColumn.d.ts +0 -1
  277. package/dist-types/RowSelectionRadioHeaderCell.d.ts +0 -2
  278. package/dist-types/RowValidationStatus.d.ts +6 -0
  279. package/dist-types/SelectionContext.d.ts +0 -1
  280. package/dist-types/TextCellEditor.d.ts +0 -2
  281. package/dist-types/internal/Cell.d.ts +0 -1
  282. package/dist-types/internal/CellMeasure.d.ts +0 -2
  283. package/dist-types/internal/CellStatusIcons.d.ts +3 -0
  284. package/dist-types/internal/ColumnDropTarget.d.ts +0 -2
  285. package/dist-types/internal/ColumnGhost.d.ts +1 -3
  286. package/dist-types/internal/Cursor.d.ts +0 -2
  287. package/dist-types/internal/DefaultCellValue.d.ts +0 -2
  288. package/dist-types/internal/FakeCell.d.ts +0 -2
  289. package/dist-types/internal/FakeGroupCell.d.ts +0 -1
  290. package/dist-types/internal/FakeHeaderCell.d.ts +0 -1
  291. package/dist-types/internal/GroupHeaderRow.d.ts +0 -2
  292. package/dist-types/internal/HeaderRow.d.ts +0 -2
  293. package/dist-types/internal/LeftPart.d.ts +2 -1
  294. package/dist-types/internal/MiddlePart.d.ts +2 -1
  295. package/dist-types/internal/RightPart.d.ts +2 -1
  296. package/dist-types/internal/Scrollable.d.ts +0 -1
  297. package/dist-types/internal/TableBody.d.ts +2 -1
  298. package/dist-types/internal/TableColGroup.d.ts +0 -1
  299. package/dist-types/internal/TableRow.d.ts +2 -2
  300. package/dist-types/internal/TopLeftPart.d.ts +0 -2
  301. package/dist-types/internal/TopPart.d.ts +0 -1
  302. package/dist-types/internal/TopRightPart.d.ts +0 -2
  303. package/package.json +24 -22
  304. package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js +0 -31
  305. package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  306. package/dist-cjs/packages/grid/src/BaseCell.css.js +0 -9
  307. package/dist-cjs/packages/grid/src/BaseCell.js.map +0 -1
  308. package/dist-cjs/packages/grid/src/CornerTag.js.map +0 -1
  309. package/dist-cjs/packages/grid/src/DropdownCellEditor.js.map +0 -1
  310. package/dist-cjs/packages/grid/src/Grid.css.js +0 -9
  311. package/dist-cjs/packages/grid/src/Grid.js.map +0 -1
  312. package/dist-cjs/packages/grid/src/GridColumn.js.map +0 -1
  313. package/dist-cjs/packages/grid/src/GroupHeaderCell.js.map +0 -1
  314. package/dist-cjs/packages/grid/src/HeaderCell.css.js +0 -9
  315. package/dist-cjs/packages/grid/src/HeaderCell.js.map +0 -1
  316. package/dist-cjs/packages/grid/src/NumberRange.js.map +0 -1
  317. package/dist-cjs/packages/grid/src/NumericColumn.js.map +0 -1
  318. package/dist-cjs/packages/grid/src/RowSelectionCheckboxCellValue.js.map +0 -1
  319. package/dist-cjs/packages/grid/src/RowSelectionCheckboxColumn.js.map +0 -1
  320. package/dist-cjs/packages/grid/src/RowSelectionCheckboxHeaderCellValue.js.map +0 -1
  321. package/dist-cjs/packages/grid/src/RowSelectionRadioCellValue.js.map +0 -1
  322. package/dist-cjs/packages/grid/src/RowSelectionRadioColumn.js.map +0 -1
  323. package/dist-cjs/packages/grid/src/RowSelectionRadioHeaderCell.js.map +0 -1
  324. package/dist-cjs/packages/grid/src/TextCellEditor.js.map +0 -1
  325. package/dist-cjs/packages/grid/src/internal/Cell.css.js +0 -9
  326. package/dist-cjs/packages/grid/src/internal/Cell.js.map +0 -1
  327. package/dist-cjs/packages/grid/src/internal/CellMeasure.js.map +0 -1
  328. package/dist-cjs/packages/grid/src/internal/ColumnDropTarget.js.map +0 -1
  329. package/dist-cjs/packages/grid/src/internal/ColumnGhost.js.map +0 -1
  330. package/dist-cjs/packages/grid/src/internal/Cursor.js.map +0 -1
  331. package/dist-cjs/packages/grid/src/internal/DefaultCellValue.js.map +0 -1
  332. package/dist-cjs/packages/grid/src/internal/FakeCell.js.map +0 -1
  333. package/dist-cjs/packages/grid/src/internal/GroupHeaderRow.js.map +0 -1
  334. package/dist-cjs/packages/grid/src/internal/HeaderRow.js.map +0 -1
  335. package/dist-cjs/packages/grid/src/internal/LeftPart.js.map +0 -1
  336. package/dist-cjs/packages/grid/src/internal/MiddlePart.js.map +0 -1
  337. package/dist-cjs/packages/grid/src/internal/RightPart.js.map +0 -1
  338. package/dist-cjs/packages/grid/src/internal/Scrollable.js.map +0 -1
  339. package/dist-cjs/packages/grid/src/internal/TableBody.js.map +0 -1
  340. package/dist-cjs/packages/grid/src/internal/TableRow.css.js +0 -9
  341. package/dist-cjs/packages/grid/src/internal/TableRow.js.map +0 -1
  342. package/dist-cjs/packages/grid/src/internal/TopLeftPart.js.map +0 -1
  343. package/dist-cjs/packages/grid/src/internal/TopPart.js.map +0 -1
  344. package/dist-cjs/packages/grid/src/internal/TopRightPart.js.map +0 -1
  345. package/dist-cjs/packages/grid/src/internal/gridHooks.js.map +0 -1
  346. package/dist-es/node_modules/style-inject/dist/style-inject.es.js +0 -29
  347. package/dist-es/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
  348. package/dist-es/packages/grid/src/BaseCell.css.js +0 -7
  349. package/dist-es/packages/grid/src/BaseCell.js.map +0 -1
  350. package/dist-es/packages/grid/src/CornerTag.js +0 -11
  351. package/dist-es/packages/grid/src/CornerTag.js.map +0 -1
  352. package/dist-es/packages/grid/src/DropdownCellEditor.js.map +0 -1
  353. package/dist-es/packages/grid/src/Grid.css.js +0 -7
  354. package/dist-es/packages/grid/src/Grid.js.map +0 -1
  355. package/dist-es/packages/grid/src/GridColumn.js.map +0 -1
  356. package/dist-es/packages/grid/src/GroupHeaderCell.js.map +0 -1
  357. package/dist-es/packages/grid/src/HeaderCell.css.js +0 -7
  358. package/dist-es/packages/grid/src/HeaderCell.js.map +0 -1
  359. package/dist-es/packages/grid/src/NumberRange.js.map +0 -1
  360. package/dist-es/packages/grid/src/NumericColumn.js.map +0 -1
  361. package/dist-es/packages/grid/src/RowSelectionCheckboxCellValue.js.map +0 -1
  362. package/dist-es/packages/grid/src/RowSelectionCheckboxColumn.js.map +0 -1
  363. package/dist-es/packages/grid/src/RowSelectionCheckboxHeaderCellValue.js.map +0 -1
  364. package/dist-es/packages/grid/src/RowSelectionRadioCellValue.js.map +0 -1
  365. package/dist-es/packages/grid/src/RowSelectionRadioColumn.js.map +0 -1
  366. package/dist-es/packages/grid/src/RowSelectionRadioHeaderCell.js.map +0 -1
  367. package/dist-es/packages/grid/src/TextCellEditor.js.map +0 -1
  368. package/dist-es/packages/grid/src/internal/Cell.css.js +0 -7
  369. package/dist-es/packages/grid/src/internal/Cell.js.map +0 -1
  370. package/dist-es/packages/grid/src/internal/CellMeasure.js.map +0 -1
  371. package/dist-es/packages/grid/src/internal/ColumnDropTarget.js.map +0 -1
  372. package/dist-es/packages/grid/src/internal/ColumnGhost.js.map +0 -1
  373. package/dist-es/packages/grid/src/internal/Cursor.js.map +0 -1
  374. package/dist-es/packages/grid/src/internal/DefaultCellValue.js.map +0 -1
  375. package/dist-es/packages/grid/src/internal/FakeCell.js.map +0 -1
  376. package/dist-es/packages/grid/src/internal/GroupHeaderRow.js.map +0 -1
  377. package/dist-es/packages/grid/src/internal/HeaderRow.js.map +0 -1
  378. package/dist-es/packages/grid/src/internal/LeftPart.js.map +0 -1
  379. package/dist-es/packages/grid/src/internal/MiddlePart.js.map +0 -1
  380. package/dist-es/packages/grid/src/internal/RightPart.js.map +0 -1
  381. package/dist-es/packages/grid/src/internal/Scrollable.js.map +0 -1
  382. package/dist-es/packages/grid/src/internal/TableBody.js.map +0 -1
  383. package/dist-es/packages/grid/src/internal/TableRow.css.js +0 -7
  384. package/dist-es/packages/grid/src/internal/TableRow.js.map +0 -1
  385. package/dist-es/packages/grid/src/internal/TopLeftPart.js.map +0 -1
  386. package/dist-es/packages/grid/src/internal/TopPart.js.map +0 -1
  387. package/dist-es/packages/grid/src/internal/TopRightPart.js.map +0 -1
  388. package/dist-es/packages/grid/src/internal/gridHooks.js.map +0 -1
  389. package/dist-cjs/{packages/grid/src/CellEditor.js → CellEditor.js} +0 -0
  390. package/dist-cjs/{packages/grid/src/CellEditor.js.map → CellEditor.js.map} +0 -0
  391. package/dist-cjs/{packages/grid/src/ColumnDataContext.js → ColumnDataContext.js} +0 -0
  392. package/dist-cjs/{packages/grid/src/ColumnDataContext.js.map → ColumnDataContext.js.map} +0 -0
  393. package/dist-cjs/{packages/grid/src/ColumnDragContext.js → ColumnDragContext.js} +0 -0
  394. package/dist-cjs/{packages/grid/src/ColumnDragContext.js.map → ColumnDragContext.js.map} +0 -0
  395. package/dist-cjs/{packages/grid/src/ColumnGroup.js → ColumnGroup.js} +0 -0
  396. package/dist-cjs/{packages/grid/src/ColumnGroup.js.map → ColumnGroup.js.map} +0 -0
  397. package/dist-cjs/{packages/grid/src/CursorContext.js → CursorContext.js} +0 -0
  398. package/dist-cjs/{packages/grid/src/CursorContext.js.map → CursorContext.js.map} +0 -0
  399. package/dist-cjs/{packages/grid/src/EditorContext.js → EditorContext.js} +0 -0
  400. package/dist-cjs/{packages/grid/src/EditorContext.js.map → EditorContext.js.map} +0 -0
  401. package/dist-cjs/{packages/grid/src/GridColumn.js → GridColumn.js} +1 -1
  402. package/dist-cjs/{packages/grid/src/GridContext.js → GridContext.js} +0 -0
  403. package/dist-cjs/{packages/grid/src/GridContext.js.map → GridContext.js.map} +0 -0
  404. package/dist-cjs/{packages/grid/src/GroupHeaderCellValue.js → GroupHeaderCellValue.js} +0 -0
  405. package/dist-cjs/{packages/grid/src/GroupHeaderCellValue.js.map → GroupHeaderCellValue.js.map} +0 -0
  406. package/dist-cjs/{packages/grid/src/HeaderCellValue.js → HeaderCellValue.js} +0 -0
  407. package/dist-cjs/{packages/grid/src/HeaderCellValue.js.map → HeaderCellValue.js.map} +0 -0
  408. package/dist-cjs/{packages/grid/src/LayoutContext.js → LayoutContext.js} +0 -0
  409. package/dist-cjs/{packages/grid/src/LayoutContext.js.map → LayoutContext.js.map} +0 -0
  410. package/dist-cjs/{packages/grid/src/NumberRange.js → NumberRange.js} +0 -0
  411. package/dist-cjs/{packages/grid/src/SelectionContext.js → SelectionContext.js} +0 -0
  412. package/dist-cjs/{packages/grid/src/SelectionContext.js.map → SelectionContext.js.map} +0 -0
  413. package/dist-cjs/{packages/grid/src/SizingContext.js → SizingContext.js} +0 -0
  414. package/dist-cjs/{packages/grid/src/SizingContext.js.map → SizingContext.js.map} +0 -0
  415. package/dist-cjs/{packages/grid/src/internal → internal}/FakeGroupCell.js +0 -0
  416. package/dist-cjs/{packages/grid/src/internal → internal}/FakeGroupCell.js.map +0 -0
  417. package/dist-cjs/{packages/grid/src/internal → internal}/FakeHeaderCell.js +0 -0
  418. package/dist-cjs/{packages/grid/src/internal → internal}/FakeHeaderCell.js.map +0 -0
  419. package/dist-cjs/{packages/grid/src/internal → internal}/TableColGroup.js +0 -0
  420. package/dist-cjs/{packages/grid/src/internal → internal}/TableColGroup.js.map +0 -0
  421. package/dist-cjs/{packages/grid/src/internal → internal}/utils.js +0 -0
  422. package/dist-cjs/{packages/grid/src/internal → internal}/utils.js.map +0 -0
  423. package/dist-es/{packages/grid/src/CellEditor.js → CellEditor.js} +0 -0
  424. package/dist-es/{packages/grid/src/CellEditor.js.map → CellEditor.js.map} +0 -0
  425. package/dist-es/{packages/grid/src/ColumnDataContext.js → ColumnDataContext.js} +0 -0
  426. package/dist-es/{packages/grid/src/ColumnDataContext.js.map → ColumnDataContext.js.map} +0 -0
  427. package/dist-es/{packages/grid/src/ColumnDragContext.js → ColumnDragContext.js} +0 -0
  428. package/dist-es/{packages/grid/src/ColumnDragContext.js.map → ColumnDragContext.js.map} +0 -0
  429. package/dist-es/{packages/grid/src/ColumnGroup.js → ColumnGroup.js} +0 -0
  430. package/dist-es/{packages/grid/src/ColumnGroup.js.map → ColumnGroup.js.map} +0 -0
  431. package/dist-es/{packages/grid/src/CursorContext.js → CursorContext.js} +0 -0
  432. package/dist-es/{packages/grid/src/CursorContext.js.map → CursorContext.js.map} +0 -0
  433. package/dist-es/{packages/grid/src/EditorContext.js → EditorContext.js} +0 -0
  434. package/dist-es/{packages/grid/src/EditorContext.js.map → EditorContext.js.map} +0 -0
  435. package/dist-es/{packages/grid/src/GridColumn.js → GridColumn.js} +1 -1
  436. /package/dist-es/{packages/grid/src/GridContext.js → GridContext.js} +0 -0
  437. /package/dist-es/{packages/grid/src/GridContext.js.map → GridContext.js.map} +0 -0
  438. /package/dist-es/{packages/grid/src/GroupHeaderCellValue.js → GroupHeaderCellValue.js} +0 -0
  439. /package/dist-es/{packages/grid/src/GroupHeaderCellValue.js.map → GroupHeaderCellValue.js.map} +0 -0
  440. /package/dist-es/{packages/grid/src/HeaderCellValue.js → HeaderCellValue.js} +0 -0
  441. /package/dist-es/{packages/grid/src/HeaderCellValue.js.map → HeaderCellValue.js.map} +0 -0
  442. /package/dist-es/{packages/grid/src/LayoutContext.js → LayoutContext.js} +0 -0
  443. /package/dist-es/{packages/grid/src/LayoutContext.js.map → LayoutContext.js.map} +0 -0
  444. /package/dist-es/{packages/grid/src/NumberRange.js → NumberRange.js} +0 -0
  445. /package/dist-es/{packages/grid/src/SelectionContext.js → SelectionContext.js} +0 -0
  446. /package/dist-es/{packages/grid/src/SelectionContext.js.map → SelectionContext.js.map} +0 -0
  447. /package/dist-es/{packages/grid/src/SizingContext.js → SizingContext.js} +0 -0
  448. /package/dist-es/{packages/grid/src/SizingContext.js.map → SizingContext.js.map} +0 -0
  449. /package/dist-es/{packages/grid/src/index.js.map → index.js.map} +0 -0
  450. /package/dist-es/{packages/grid/src/internal → internal}/FakeGroupCell.js +0 -0
  451. /package/dist-es/{packages/grid/src/internal → internal}/FakeGroupCell.js.map +0 -0
  452. /package/dist-es/{packages/grid/src/internal → internal}/FakeHeaderCell.js +0 -0
  453. /package/dist-es/{packages/grid/src/internal → internal}/FakeHeaderCell.js.map +0 -0
  454. /package/dist-es/{packages/grid/src/internal → internal}/TableColGroup.js +0 -0
  455. /package/dist-es/{packages/grid/src/internal → internal}/TableColGroup.js.map +0 -0
  456. /package/dist-es/{packages/grid/src/internal → internal}/utils.js +0 -0
  457. /package/dist-es/{packages/grid/src/internal → internal}/utils.js.map +0 -0
@@ -5,7 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var core = require('@salt-ds/core');
8
- var GridContext = require('./GridContext.js');
8
+ var window = require('@salt-ds/window');
9
+ var styles = require('@salt-ds/styles');
9
10
  var clsx = require('clsx');
10
11
  require('./internal/Cell.js');
11
12
  var CellMeasure = require('./internal/CellMeasure.js');
@@ -25,21 +26,29 @@ var gridHooks = require('./internal/gridHooks.js');
25
26
  var TopLeftPart = require('./internal/TopLeftPart.js');
26
27
  var TopPart = require('./internal/TopPart.js');
27
28
  var TopRightPart = require('./internal/TopRightPart.js');
28
- require('./internal/FakeCell.css.js');
29
29
  require('./internal/DefaultCellValue.js');
30
- require('./Grid.css.js');
30
+ var GridContext = require('./GridContext.js');
31
31
  var SizingContext = require('./SizingContext.js');
32
32
  var LayoutContext = require('./LayoutContext.js');
33
33
  var ColumnDragContext = require('./ColumnDragContext.js');
34
34
  var ColumnGhost = require('./internal/ColumnGhost.js');
35
35
  var ColumnDropTarget = require('./internal/ColumnDropTarget.js');
36
36
  var ColumnDataContext = require('./ColumnDataContext.js');
37
+ var ColumnSortContext = require('./ColumnSortContext.js');
38
+ var Grid$1 = require('./Grid.css.js');
37
39
 
38
40
  const withBaseName = core.makePrefixer("saltGrid");
41
+ var SortOrder = /* @__PURE__ */ ((SortOrder2) => {
42
+ SortOrder2["ASC"] = "asc";
43
+ SortOrder2["DESC"] = "desc";
44
+ SortOrder2["NONE"] = "none";
45
+ return SortOrder2;
46
+ })(SortOrder || {});
39
47
  function defaultRowKeyGetter(row, index) {
40
48
  return `${index}`;
41
49
  }
42
50
  const Grid = function Grid2(props) {
51
+ var _a, _b, _c;
43
52
  const {
44
53
  rowData,
45
54
  zebra,
@@ -59,8 +68,15 @@ const Grid = function Grid2(props) {
59
68
  onColumnMoved,
60
69
  cellSelectionMode = "none",
61
70
  onVisibleRowRangeChange,
62
- headerIsFocusable
71
+ headerIsFocusable,
72
+ getRowValidationStatus
63
73
  } = props;
74
+ const targetWindow = window.useWindow();
75
+ styles.useComponentCssInjection({
76
+ testId: "salt-grid",
77
+ css: Grid$1,
78
+ window: targetWindow
79
+ });
64
80
  const rootRef = react.useRef(null);
65
81
  const scrollableRef = react.useRef(null);
66
82
  const middleRef = react.useRef(null);
@@ -87,6 +103,8 @@ const Grid = function Grid2(props) {
87
103
  const [focusedPart, setFocusedPart] = react.useState(
88
104
  headerIsFocusable ? "header" : "body"
89
105
  );
106
+ const [sortByColumnId, setSortByColumnId] = react.useState("");
107
+ const [sortOrder, setSortOrder] = react.useState("none" /* NONE */);
90
108
  const [editMode, setEditMode] = react.useState(false);
91
109
  const [initialText, setInitialText] = react.useState(void 0);
92
110
  const resizeClient = react.useCallback(
@@ -131,8 +149,8 @@ const Grid = function Grid2(props) {
131
149
  );
132
150
  const midGrpByColId = react.useMemo(() => {
133
151
  const m = /* @__PURE__ */ new Map();
134
- for (let g of midGroups) {
135
- for (let c of g.childrenIds) {
152
+ for (const g of midGroups) {
153
+ for (const c of g.childrenIds) {
136
154
  m.set(c, g);
137
155
  }
138
156
  }
@@ -218,9 +236,11 @@ const Grid = function Grid2(props) {
218
236
  if (s) {
219
237
  s.scrollLeft += deltaX;
220
238
  s.scrollTop += deltaY;
239
+ if (!(Math.round(s.scrollHeight - s.scrollTop) === s.clientHeight || s.scrollTop === 0 && deltaY < 0)) {
240
+ event.preventDefault();
241
+ event.stopPropagation();
242
+ }
221
243
  }
222
- event.preventDefault();
223
- event.stopPropagation();
224
244
  },
225
245
  [scrollableRef.current]
226
246
  );
@@ -246,6 +266,70 @@ const Grid = function Grid2(props) {
246
266
  }),
247
267
  [getColById]
248
268
  );
269
+ const isSortMode = sortByColumnId && sortOrder !== "none" /* NONE */;
270
+ const onSortOrderChange = (_a = getColById(sortByColumnId)) == null ? void 0 : _a.info.props.onSortOrderChange;
271
+ const valueGetter = ((_b = getColById(sortByColumnId)) == null ? void 0 : _b.info.props.getValue) || ((r) => {
272
+ return r[sortByColumnId];
273
+ });
274
+ const customSortingFn = (_c = getColById(sortByColumnId)) == null ? void 0 : _c.info.props.customSort;
275
+ const sortedRowData = react.useMemo(() => {
276
+ if (!isSortMode || onSortOrderChange)
277
+ return rowData;
278
+ if (customSortingFn) {
279
+ return customSortingFn({ rowData, sortOrder });
280
+ }
281
+ const sortedData = [...rowData].sort(
282
+ (a, b) => valueGetter(a) < valueGetter(b) ? -1 : 1
283
+ );
284
+ if (sortOrder === "desc" /* DESC */) {
285
+ return sortedData.reverse();
286
+ }
287
+ return sortedData;
288
+ }, [
289
+ onSortOrderChange,
290
+ valueGetter,
291
+ customSortingFn,
292
+ isSortMode,
293
+ rowData,
294
+ sortByColumnId,
295
+ sortOrder
296
+ ]);
297
+ const onClickSortColumn = react.useCallback(
298
+ (colHeaderId) => {
299
+ if (sortByColumnId === colHeaderId) {
300
+ switch (sortOrder) {
301
+ case "asc" /* ASC */:
302
+ setSortOrder("desc" /* DESC */);
303
+ break;
304
+ case "desc" /* DESC */:
305
+ setSortOrder("none" /* NONE */);
306
+ break;
307
+ default:
308
+ setSortOrder("asc" /* ASC */);
309
+ }
310
+ } else {
311
+ setSortByColumnId(colHeaderId);
312
+ setSortOrder("asc" /* ASC */);
313
+ }
314
+ },
315
+ [sortByColumnId, sortOrder]
316
+ );
317
+ const columnSortContext = react.useMemo(
318
+ () => ({
319
+ sortByColumnId,
320
+ setSortByColumnId,
321
+ sortOrder,
322
+ setSortOrder,
323
+ onClickSortColumn
324
+ }),
325
+ [
326
+ sortByColumnId,
327
+ setSortByColumnId,
328
+ sortOrder,
329
+ setSortOrder,
330
+ onClickSortColumn
331
+ ]
332
+ );
249
333
  const scroll = react.useCallback(
250
334
  (left, top, source) => {
251
335
  setScrollSource(source || "user");
@@ -269,9 +353,9 @@ const Grid = function Grid2(props) {
269
353
  );
270
354
  const focusCellElement = (part, rowIdx, colIdx) => {
271
355
  setTimeout(() => {
272
- var _a;
356
+ var _a2;
273
357
  const selector = part === "body" ? `td[data-row-index="${rowIdx}"][data-column-index="${colIdx}"]` : `th[data-column-index="${colIdx}"]`;
274
- const nodeToFocus = (_a = rootRef.current) == null ? void 0 : _a.querySelector(selector);
358
+ const nodeToFocus = (_a2 = rootRef.current) == null ? void 0 : _a2.querySelector(selector);
275
359
  if (nodeToFocus) {
276
360
  nodeToFocus.focus({ preventScroll: true });
277
361
  } else {
@@ -309,7 +393,7 @@ const Grid = function Grid2(props) {
309
393
  `onChange is not specified for editable column "${c.info.props.id}".`
310
394
  );
311
395
  } else {
312
- handler(rowData[cursorRowIdx], cursorRowIdx, value);
396
+ handler(sortedRowData[cursorRowIdx], cursorRowIdx, value);
313
397
  }
314
398
  setEditMode(false);
315
399
  focusCellElement(focusedPart, cursorRowIdx, cursorColIdx);
@@ -333,7 +417,7 @@ const Grid = function Grid2(props) {
333
417
  onMouseDown: onRowSelectionMouseDown
334
418
  } = gridHooks.useRowSelection(
335
419
  rowKeyGetter,
336
- rowData,
420
+ sortedRowData,
337
421
  defaultSelectedRowIdxs,
338
422
  selectedRowIdxs,
339
423
  rowSelectionMode,
@@ -351,10 +435,10 @@ const Grid = function Grid2(props) {
351
435
  setFocusedPart(part);
352
436
  colIdx = utils.clamp(colIdx, 0, cols.length - 1);
353
437
  if (part === "body") {
354
- if (rowData.length < 1 || cols.length < 1) {
438
+ if (sortedRowData.length < 1 || cols.length < 1) {
355
439
  return;
356
440
  }
357
- rowIdx = utils.clamp(rowIdx, 0, rowData.length - 1);
441
+ rowIdx = utils.clamp(rowIdx, 0, sortedRowData.length - 1);
358
442
  } else if (part === "header") {
359
443
  rowIdx = 0;
360
444
  }
@@ -369,7 +453,7 @@ const Grid = function Grid2(props) {
369
453
  [
370
454
  setCursorRowIdx,
371
455
  setCursorColIdx,
372
- rowData,
456
+ sortedRowData,
373
457
  rowKeyGetter,
374
458
  cols,
375
459
  rootRef.current,
@@ -380,7 +464,7 @@ const Grid = function Grid2(props) {
380
464
  headerIsFocusable
381
465
  ]
382
466
  );
383
- const rows = gridHooks.useRowModels(rowKeyGetter, rowData, visRowRng);
467
+ const rows = gridHooks.useRowModels(rowKeyGetter, sortedRowData, visRowRng);
384
468
  const isLeftRaised = scrollLeft > 0;
385
469
  const isRightRaised = scrollLeft + clientMidWidth < midWidth;
386
470
  const isHeaderRaised = scrollTop > 0;
@@ -547,7 +631,7 @@ const Grid = function Grid2(props) {
547
631
  if (cursorColIdx != void 0) {
548
632
  rangeSelection.selectRange({
549
633
  start: { rowIdx: 0, colIdx: cursorColIdx },
550
- end: { rowIdx: rowData.length, colIdx: cursorColIdx }
634
+ end: { rowIdx: sortedRowData.length, colIdx: cursorColIdx }
551
635
  });
552
636
  }
553
637
  } else {
@@ -568,7 +652,7 @@ const Grid = function Grid2(props) {
568
652
  if (event.ctrlKey || event.metaKey) {
569
653
  rangeSelection.selectRange({
570
654
  start: { rowIdx: 0, colIdx: 0 },
571
- end: { rowIdx: rowData.length, colIdx: cols.length }
655
+ end: { rowIdx: sortedRowData.length, colIdx: cols.length }
572
656
  });
573
657
  selectAll();
574
658
  return true;
@@ -589,7 +673,7 @@ const Grid = function Grid2(props) {
589
673
  selectAll,
590
674
  cursorColIdx,
591
675
  cursorRowIdx,
592
- rowData.length,
676
+ sortedRowData.length,
593
677
  cols.length,
594
678
  focusedPart
595
679
  ]
@@ -604,7 +688,7 @@ const Grid = function Grid2(props) {
604
688
  const [minCol, maxCol] = [start.colIdx, end.colIdx].sort(c);
605
689
  const text = [];
606
690
  for (let r = minRow; r <= maxRow; ++r) {
607
- const row = rowData[r];
691
+ const row = sortedRowData[r];
608
692
  const rowText = [];
609
693
  for (let c2 = minCol; c2 <= maxCol; ++c2) {
610
694
  const col = cols[c2];
@@ -680,7 +764,7 @@ const Grid = function Grid2(props) {
680
764
  if (!event.ctrlKey) {
681
765
  moveCursor(focusedPart, cursorRowIdx, cols.length - 1);
682
766
  } else {
683
- moveCursor(focusedPart, rowData.length - 1, cols.length - 1);
767
+ moveCursor(focusedPart, sortedRowData.length - 1, cols.length - 1);
684
768
  }
685
769
  break;
686
770
  case "Tab":
@@ -689,7 +773,7 @@ const Grid = function Grid2(props) {
689
773
  if (cursorColIdx < cols.length - 1) {
690
774
  moveCursor(focusedPart, cursorRowIdx, cursorColIdx + 1);
691
775
  } else {
692
- if (cursorRowIdx < rowData.length - 1) {
776
+ if (cursorRowIdx < sortedRowData.length - 1) {
693
777
  moveCursor(focusedPart, cursorRowIdx + 1, 0);
694
778
  }
695
779
  }
@@ -729,7 +813,7 @@ const Grid = function Grid2(props) {
729
813
  cursorRowIdx,
730
814
  cursorRowIdx,
731
815
  cols.length,
732
- rowData.length,
816
+ sortedRowData.length,
733
817
  headerIsFocusable,
734
818
  pageSize
735
819
  ]
@@ -814,115 +898,121 @@ const Grid = function Grid2(props) {
814
898
  value: sizingContext,
815
899
  children: /* @__PURE__ */ jsxRuntime.jsx(EditorContext.EditorContext.Provider, {
816
900
  value: editorContext,
817
- children: /* @__PURE__ */ jsxRuntime.jsxs(ColumnDataContext.ColumnDataContext.Provider, {
901
+ children: /* @__PURE__ */ jsxRuntime.jsx(ColumnDataContext.ColumnDataContext.Provider, {
818
902
  value: columnDataContext,
819
- children: [
820
- props.children,
821
- /* @__PURE__ */ jsxRuntime.jsxs("div", {
822
- className: clsx.clsx(
823
- withBaseName(),
824
- {
825
- [withBaseName("zebra")]: zebra,
826
- [withBaseName("columnSeparators")]: columnSeparators,
827
- [withBaseName("pinnedSeparators")]: pinnedSeparators,
828
- [withBaseName("primaryBackground")]: variant === "primary",
829
- [withBaseName("secondaryBackground")]: variant === "secondary"
830
- },
831
- className
832
- ),
833
- style: rootStyle,
834
- ref: rootRef,
835
- onKeyDown,
836
- onKeyUp,
837
- onMouseDown,
838
- onFocus,
839
- onBlur,
840
- "data-name": "grid-root",
841
- role: "grid",
842
- "aria-colcount": cols.length,
843
- "aria-rowcount": rowCount + headRowCount,
844
- "aria-multiselectable": rowSelectionMode === "multi",
845
- children: [
846
- /* @__PURE__ */ jsxRuntime.jsx(CellMeasure.CellMeasure, {
847
- setRowHeight
848
- }),
849
- /* @__PURE__ */ jsxRuntime.jsx(Scrollable.Scrollable, {
850
- resizeClient,
851
- scrollLeft,
852
- scrollTop,
853
- scrollSource,
854
- scroll,
855
- scrollerRef: scrollableRef,
856
- topRef,
857
- rightRef,
858
- bottomRef,
859
- leftRef,
860
- middleRef
861
- }),
862
- !hideHeader && leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TopLeftPart.TopLeftPart, {
863
- onWheel,
864
- columns: leftCols,
865
- columnGroups: leftGroups,
866
- rightShadow: isLeftRaised,
867
- bottomShadow: isHeaderRaised
868
- }),
869
- !hideHeader && /* @__PURE__ */ jsxRuntime.jsx(TopPart.TopPart, {
870
- columns: headVisibleColumns,
871
- columnGroups: visColGrps,
872
- topRef,
873
- onWheel,
874
- midGap,
875
- bottomShadow: isHeaderRaised
876
- }),
877
- !hideHeader && rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(TopRightPart.TopRightPart, {
878
- onWheel,
879
- columns: rightCols,
880
- columnGroups: rightGroups,
881
- leftShadow: isRightRaised,
882
- bottomShadow: isHeaderRaised
883
- }),
884
- leftCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(LeftPart.LeftPart, {
885
- leftRef,
886
- onWheel,
887
- columns: leftCols,
888
- rows,
889
- rightShadow: isLeftRaised,
890
- hoverOverRowKey: hoverRowKey,
891
- setHoverOverRowKey: setHoverRowKey,
892
- zebra
893
- }),
894
- /* @__PURE__ */ jsxRuntime.jsx(MiddlePart.MiddlePart, {
895
- middleRef,
896
- onWheel,
897
- columns: bodyVisibleColumns,
898
- rows,
899
- hoverOverRowKey: hoverRowKey,
900
- setHoverOverRowKey: setHoverRowKey,
901
- midGap,
902
- zebra
903
- }),
904
- rightCols.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(RightPart.RightPart, {
905
- rightRef,
906
- onWheel,
907
- columns: rightCols,
908
- rows,
909
- leftShadow: isRightRaised,
910
- hoverOverRowKey: hoverRowKey,
911
- setHoverOverRowKey: setHoverRowKey,
912
- zebra
913
- }),
914
- /* @__PURE__ */ jsxRuntime.jsx(ColumnDropTarget.ColumnDropTarget, {
915
- x: activeTarget == null ? void 0 : activeTarget.x
916
- }),
917
- /* @__PURE__ */ jsxRuntime.jsx(ColumnGhost.ColumnGhost, {
918
- columns: cols,
919
- rows,
920
- dragState,
921
- zebra
922
- })
923
- ]
924
- })
925
- ]
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
+ })
926
1016
  })
927
1017
  })
928
1018
  })
@@ -934,4 +1024,5 @@ const Grid = function Grid2(props) {
934
1024
  };
935
1025
 
936
1026
  exports.Grid = Grid;
1027
+ exports.SortOrder = SortOrder;
937
1028
  //# sourceMappingURL=Grid.js.map