@fluentui/react-table 9.0.0-rc.5 → 9.0.1

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 (331) hide show
  1. package/CHANGELOG.json +87 -1
  2. package/CHANGELOG.md +32 -2
  3. package/dist/index.d.ts +27 -4
  4. package/lib/components/DataGrid/DataGrid.types.js.map +1 -1
  5. package/lib/components/DataGrid/useDataGrid.js +16 -4
  6. package/lib/components/DataGrid/useDataGrid.js.map +1 -1
  7. package/lib/components/DataGrid/useDataGridContextValues.js +2 -1
  8. package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -1
  9. package/lib/components/DataGridCell/useDataGridCell.js +5 -0
  10. package/lib/components/DataGridCell/useDataGridCell.js.map +1 -1
  11. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +3 -0
  12. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  13. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  14. package/lib/components/TableCellLayout/useTableCellLayout.js +1 -0
  15. package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  16. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js +18 -4
  17. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  18. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js +1 -0
  19. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  20. package/lib/hooks/types.js.map +1 -1
  21. package/lib/hooks/useTableColumnResizeMouseHandler.js +4 -1
  22. package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  23. package/lib/hooks/useTableColumnResizeState.js +11 -2
  24. package/lib/hooks/useTableColumnResizeState.js.map +1 -1
  25. package/lib/hooks/useTableColumnSizing.js +5 -2
  26. package/lib/hooks/useTableColumnSizing.js.map +1 -1
  27. package/lib/utils/columnResizeUtils.js +6 -6
  28. package/lib/utils/columnResizeUtils.js.map +1 -1
  29. package/lib-amd/DataGrid.js +6 -0
  30. package/lib-amd/DataGrid.js.map +1 -0
  31. package/lib-amd/DataGridBody.js +6 -0
  32. package/lib-amd/DataGridBody.js.map +1 -0
  33. package/lib-amd/DataGridCell.js +6 -0
  34. package/lib-amd/DataGridCell.js.map +1 -0
  35. package/lib-amd/DataGridHeader.js +6 -0
  36. package/lib-amd/DataGridHeader.js.map +1 -0
  37. package/lib-amd/DataGridHeaderCell.js +6 -0
  38. package/lib-amd/DataGridHeaderCell.js.map +1 -0
  39. package/lib-amd/DataGridRow.js +6 -0
  40. package/lib-amd/DataGridRow.js.map +1 -0
  41. package/lib-amd/DataGridSelectionCell.js +6 -0
  42. package/lib-amd/DataGridSelectionCell.js.map +1 -0
  43. package/lib-amd/Table.js +6 -0
  44. package/lib-amd/Table.js.map +1 -0
  45. package/lib-amd/TableBody.js +6 -0
  46. package/lib-amd/TableBody.js.map +1 -0
  47. package/lib-amd/TableCell.js +6 -0
  48. package/lib-amd/TableCell.js.map +1 -0
  49. package/lib-amd/TableCellActions.js +6 -0
  50. package/lib-amd/TableCellActions.js.map +1 -0
  51. package/lib-amd/TableCellLayout.js +6 -0
  52. package/lib-amd/TableCellLayout.js.map +1 -0
  53. package/lib-amd/TableHeader.js +6 -0
  54. package/lib-amd/TableHeader.js.map +1 -0
  55. package/lib-amd/TableHeaderCell.js +6 -0
  56. package/lib-amd/TableHeaderCell.js.map +1 -0
  57. package/lib-amd/TableResizeHandle.js +6 -0
  58. package/lib-amd/TableResizeHandle.js.map +1 -0
  59. package/lib-amd/TableRow.js +6 -0
  60. package/lib-amd/TableRow.js.map +1 -0
  61. package/lib-amd/TableSelectionCell.js +6 -0
  62. package/lib-amd/TableSelectionCell.js.map +1 -0
  63. package/lib-amd/components/DataGrid/DataGrid.js +15 -0
  64. package/lib-amd/components/DataGrid/DataGrid.js.map +1 -0
  65. package/lib-amd/components/DataGrid/DataGrid.types.js +5 -0
  66. package/lib-amd/components/DataGrid/DataGrid.types.js.map +1 -0
  67. package/lib-amd/components/DataGrid/index.js +11 -0
  68. package/lib-amd/components/DataGrid/index.js.map +1 -0
  69. package/lib-amd/components/DataGrid/renderDataGrid.js +13 -0
  70. package/lib-amd/components/DataGrid/renderDataGrid.js.map +1 -0
  71. package/lib-amd/components/DataGrid/useDataGrid.js +43 -0
  72. package/lib-amd/components/DataGrid/useDataGrid.js.map +1 -0
  73. package/lib-amd/components/DataGrid/useDataGridContextValues.js +11 -0
  74. package/lib-amd/components/DataGrid/useDataGridContextValues.js.map +1 -0
  75. package/lib-amd/components/DataGrid/useDataGridStyles.js +18 -0
  76. package/lib-amd/components/DataGrid/useDataGridStyles.js.map +1 -0
  77. package/lib-amd/components/DataGridBody/DataGridBody.js +15 -0
  78. package/lib-amd/components/DataGridBody/DataGridBody.js.map +1 -0
  79. package/lib-amd/components/DataGridBody/DataGridBody.types.js +5 -0
  80. package/lib-amd/components/DataGridBody/DataGridBody.types.js.map +1 -0
  81. package/lib-amd/components/DataGridBody/index.js +10 -0
  82. package/lib-amd/components/DataGridBody/index.js.map +1 -0
  83. package/lib-amd/components/DataGridBody/renderDataGridBody.js +14 -0
  84. package/lib-amd/components/DataGridBody/renderDataGridBody.js.map +1 -0
  85. package/lib-amd/components/DataGridBody/useDataGridBody.js +24 -0
  86. package/lib-amd/components/DataGridBody/useDataGridBody.js.map +1 -0
  87. package/lib-amd/components/DataGridBody/useDataGridBodyStyles.js +18 -0
  88. package/lib-amd/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  89. package/lib-amd/components/DataGridCell/DataGridCell.js +15 -0
  90. package/lib-amd/components/DataGridCell/DataGridCell.js.map +1 -0
  91. package/lib-amd/components/DataGridCell/DataGridCell.types.js +5 -0
  92. package/lib-amd/components/DataGridCell/DataGridCell.types.js.map +1 -0
  93. package/lib-amd/components/DataGridCell/index.js +10 -0
  94. package/lib-amd/components/DataGridCell/index.js.map +1 -0
  95. package/lib-amd/components/DataGridCell/renderDataGridCell.js +13 -0
  96. package/lib-amd/components/DataGridCell/renderDataGridCell.js.map +1 -0
  97. package/lib-amd/components/DataGridCell/useDataGridCell.js +23 -0
  98. package/lib-amd/components/DataGridCell/useDataGridCell.js.map +1 -0
  99. package/lib-amd/components/DataGridCell/useDataGridCellStyles.js +18 -0
  100. package/lib-amd/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  101. package/lib-amd/components/DataGridHeader/DataGridHeader.js +15 -0
  102. package/lib-amd/components/DataGridHeader/DataGridHeader.js.map +1 -0
  103. package/lib-amd/components/DataGridHeader/DataGridHeader.types.js +5 -0
  104. package/lib-amd/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  105. package/lib-amd/components/DataGridHeader/index.js +10 -0
  106. package/lib-amd/components/DataGridHeader/index.js.map +1 -0
  107. package/lib-amd/components/DataGridHeader/renderDataGridHeader.js +13 -0
  108. package/lib-amd/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  109. package/lib-amd/components/DataGridHeader/useDataGridHeader.js +19 -0
  110. package/lib-amd/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  111. package/lib-amd/components/DataGridHeader/useDataGridHeaderStyles.js +18 -0
  112. package/lib-amd/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  113. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.js +15 -0
  114. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  115. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.types.js +5 -0
  116. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  117. package/lib-amd/components/DataGridHeaderCell/index.js +10 -0
  118. package/lib-amd/components/DataGridHeaderCell/index.js.map +1 -0
  119. package/lib-amd/components/DataGridHeaderCell/renderDataGridHeaderCell.js +13 -0
  120. package/lib-amd/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  121. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCell.js +34 -0
  122. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  123. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +30 -0
  124. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  125. package/lib-amd/components/DataGridRow/DataGridRow.js +15 -0
  126. package/lib-amd/components/DataGridRow/DataGridRow.js.map +1 -0
  127. package/lib-amd/components/DataGridRow/DataGridRow.types.js +5 -0
  128. package/lib-amd/components/DataGridRow/DataGridRow.types.js.map +1 -0
  129. package/lib-amd/components/DataGridRow/index.js +10 -0
  130. package/lib-amd/components/DataGridRow/index.js.map +1 -0
  131. package/lib-amd/components/DataGridRow/renderDataGridRow.js +16 -0
  132. package/lib-amd/components/DataGridRow/renderDataGridRow.js.map +1 -0
  133. package/lib-amd/components/DataGridRow/useDataGridRow.js +49 -0
  134. package/lib-amd/components/DataGridRow/useDataGridRow.js.map +1 -0
  135. package/lib-amd/components/DataGridRow/useDataGridRowStyles.js +22 -0
  136. package/lib-amd/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  137. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.js +15 -0
  138. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  139. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.types.js +5 -0
  140. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  141. package/lib-amd/components/DataGridSelectionCell/index.js +10 -0
  142. package/lib-amd/components/DataGridSelectionCell/index.js.map +1 -0
  143. package/lib-amd/components/DataGridSelectionCell/renderDataGridSelectionCell.js +13 -0
  144. package/lib-amd/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  145. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCell.js +39 -0
  146. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  147. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +26 -0
  148. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  149. package/lib-amd/components/Table/Table.js +15 -0
  150. package/lib-amd/components/Table/Table.js.map +1 -0
  151. package/lib-amd/components/Table/Table.types.js +5 -0
  152. package/lib-amd/components/Table/Table.types.js.map +1 -0
  153. package/lib-amd/components/Table/index.js +10 -0
  154. package/lib-amd/components/Table/index.js.map +1 -0
  155. package/lib-amd/components/Table/renderTable.js +15 -0
  156. package/lib-amd/components/Table/renderTable.js.map +1 -0
  157. package/lib-amd/components/Table/useTable.js +29 -0
  158. package/lib-amd/components/Table/useTable.js.map +1 -0
  159. package/lib-amd/components/Table/useTableContextValues.js +18 -0
  160. package/lib-amd/components/Table/useTableContextValues.js.map +1 -0
  161. package/lib-amd/components/Table/useTableStyles.js +45 -0
  162. package/lib-amd/components/Table/useTableStyles.js.map +1 -0
  163. package/lib-amd/components/TableBody/TableBody.js +15 -0
  164. package/lib-amd/components/TableBody/TableBody.js.map +1 -0
  165. package/lib-amd/components/TableBody/TableBody.types.js +5 -0
  166. package/lib-amd/components/TableBody/TableBody.types.js.map +1 -0
  167. package/lib-amd/components/TableBody/index.js +10 -0
  168. package/lib-amd/components/TableBody/index.js.map +1 -0
  169. package/lib-amd/components/TableBody/renderTableBody.js +14 -0
  170. package/lib-amd/components/TableBody/renderTableBody.js.map +1 -0
  171. package/lib-amd/components/TableBody/useTableBody.js +28 -0
  172. package/lib-amd/components/TableBody/useTableBody.js.map +1 -0
  173. package/lib-amd/components/TableBody/useTableBodyStyles.js +32 -0
  174. package/lib-amd/components/TableBody/useTableBodyStyles.js.map +1 -0
  175. package/lib-amd/components/TableCell/TableCell.js +15 -0
  176. package/lib-amd/components/TableCell/TableCell.js.map +1 -0
  177. package/lib-amd/components/TableCell/TableCell.types.js +5 -0
  178. package/lib-amd/components/TableCell/TableCell.types.js.map +1 -0
  179. package/lib-amd/components/TableCell/index.js +10 -0
  180. package/lib-amd/components/TableCell/index.js.map +1 -0
  181. package/lib-amd/components/TableCell/renderTableCell.js +14 -0
  182. package/lib-amd/components/TableCell/renderTableCell.js.map +1 -0
  183. package/lib-amd/components/TableCell/useTableCell.js +29 -0
  184. package/lib-amd/components/TableCell/useTableCell.js.map +1 -0
  185. package/lib-amd/components/TableCell/useTableCellStyles.js +56 -0
  186. package/lib-amd/components/TableCell/useTableCellStyles.js.map +1 -0
  187. package/lib-amd/components/TableCellActions/TableCellActions.js +15 -0
  188. package/lib-amd/components/TableCellActions/TableCellActions.js.map +1 -0
  189. package/lib-amd/components/TableCellActions/TableCellActions.types.js +5 -0
  190. package/lib-amd/components/TableCellActions/TableCellActions.types.js.map +1 -0
  191. package/lib-amd/components/TableCellActions/index.js +10 -0
  192. package/lib-amd/components/TableCellActions/index.js.map +1 -0
  193. package/lib-amd/components/TableCellActions/renderTableCellActions.js +14 -0
  194. package/lib-amd/components/TableCellActions/renderTableCellActions.js.map +1 -0
  195. package/lib-amd/components/TableCellActions/useTableCellActions.js +26 -0
  196. package/lib-amd/components/TableCellActions/useTableCellActions.js.map +1 -0
  197. package/lib-amd/components/TableCellActions/useTableCellActionsStyles.js +35 -0
  198. package/lib-amd/components/TableCellActions/useTableCellActionsStyles.js.map +1 -0
  199. package/lib-amd/components/TableCellLayout/TableCellLayout.js +15 -0
  200. package/lib-amd/components/TableCellLayout/TableCellLayout.js.map +1 -0
  201. package/lib-amd/components/TableCellLayout/TableCellLayout.types.js +5 -0
  202. package/lib-amd/components/TableCellLayout/TableCellLayout.types.js.map +1 -0
  203. package/lib-amd/components/TableCellLayout/index.js +10 -0
  204. package/lib-amd/components/TableCellLayout/index.js.map +1 -0
  205. package/lib-amd/components/TableCellLayout/renderTableCellLayout.js +19 -0
  206. package/lib-amd/components/TableCellLayout/renderTableCellLayout.js.map +1 -0
  207. package/lib-amd/components/TableCellLayout/useTableCellLayout.js +42 -0
  208. package/lib-amd/components/TableCellLayout/useTableCellLayout.js.map +1 -0
  209. package/lib-amd/components/TableCellLayout/useTableCellLayoutContextValues.js +16 -0
  210. package/lib-amd/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
  211. package/lib-amd/components/TableCellLayout/useTableCellLayoutStyles.js +79 -0
  212. package/lib-amd/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -0
  213. package/lib-amd/components/TableHeader/TableHeader.js +15 -0
  214. package/lib-amd/components/TableHeader/TableHeader.js.map +1 -0
  215. package/lib-amd/components/TableHeader/TableHeader.types.js +5 -0
  216. package/lib-amd/components/TableHeader/TableHeader.types.js.map +1 -0
  217. package/lib-amd/components/TableHeader/index.js +10 -0
  218. package/lib-amd/components/TableHeader/index.js.map +1 -0
  219. package/lib-amd/components/TableHeader/renderTableHeader.js +15 -0
  220. package/lib-amd/components/TableHeader/renderTableHeader.js.map +1 -0
  221. package/lib-amd/components/TableHeader/useTableHeader.js +28 -0
  222. package/lib-amd/components/TableHeader/useTableHeader.js.map +1 -0
  223. package/lib-amd/components/TableHeader/useTableHeaderStyles.js +32 -0
  224. package/lib-amd/components/TableHeader/useTableHeaderStyles.js.map +1 -0
  225. package/lib-amd/components/TableHeaderCell/TableHeaderCell.js +15 -0
  226. package/lib-amd/components/TableHeaderCell/TableHeaderCell.js.map +1 -0
  227. package/lib-amd/components/TableHeaderCell/TableHeaderCell.types.js +5 -0
  228. package/lib-amd/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -0
  229. package/lib-amd/components/TableHeaderCell/index.js +10 -0
  230. package/lib-amd/components/TableHeaderCell/index.js.map +1 -0
  231. package/lib-amd/components/TableHeaderCell/renderTableHeaderCell.js +18 -0
  232. package/lib-amd/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -0
  233. package/lib-amd/components/TableHeaderCell/useTableHeaderCell.js +48 -0
  234. package/lib-amd/components/TableHeaderCell/useTableHeaderCell.js.map +1 -0
  235. package/lib-amd/components/TableHeaderCell/useTableHeaderCellStyles.js +67 -0
  236. package/lib-amd/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -0
  237. package/lib-amd/components/TableResizeHandle/TableResizeHandle.js +15 -0
  238. package/lib-amd/components/TableResizeHandle/TableResizeHandle.js.map +1 -0
  239. package/lib-amd/components/TableResizeHandle/TableResizeHandle.types.js +5 -0
  240. package/lib-amd/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -0
  241. package/lib-amd/components/TableResizeHandle/index.js +10 -0
  242. package/lib-amd/components/TableResizeHandle/index.js.map +1 -0
  243. package/lib-amd/components/TableResizeHandle/renderTableResizeHandle.js +14 -0
  244. package/lib-amd/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -0
  245. package/lib-amd/components/TableResizeHandle/useTableResizeHandle.js +29 -0
  246. package/lib-amd/components/TableResizeHandle/useTableResizeHandle.js.map +1 -0
  247. package/lib-amd/components/TableResizeHandle/useTableResizeHandleStyles.js +37 -0
  248. package/lib-amd/components/TableResizeHandle/useTableResizeHandleStyles.js.map +1 -0
  249. package/lib-amd/components/TableRow/TableRow.js +15 -0
  250. package/lib-amd/components/TableRow/TableRow.js.map +1 -0
  251. package/lib-amd/components/TableRow/TableRow.types.js +5 -0
  252. package/lib-amd/components/TableRow/TableRow.types.js.map +1 -0
  253. package/lib-amd/components/TableRow/index.js +10 -0
  254. package/lib-amd/components/TableRow/index.js.map +1 -0
  255. package/lib-amd/components/TableRow/renderTableRow.js +14 -0
  256. package/lib-amd/components/TableRow/renderTableRow.js.map +1 -0
  257. package/lib-amd/components/TableRow/useTableRow.js +34 -0
  258. package/lib-amd/components/TableRow/useTableRow.js.map +1 -0
  259. package/lib-amd/components/TableRow/useTableRowStyles.js +98 -0
  260. package/lib-amd/components/TableRow/useTableRowStyles.js.map +1 -0
  261. package/lib-amd/components/TableSelectionCell/TableSelectionCell.js +15 -0
  262. package/lib-amd/components/TableSelectionCell/TableSelectionCell.js.map +1 -0
  263. package/lib-amd/components/TableSelectionCell/TableSelectionCell.types.js +5 -0
  264. package/lib-amd/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -0
  265. package/lib-amd/components/TableSelectionCell/index.js +10 -0
  266. package/lib-amd/components/TableSelectionCell/index.js.map +1 -0
  267. package/lib-amd/components/TableSelectionCell/renderTableSelectionCell.js +16 -0
  268. package/lib-amd/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -0
  269. package/lib-amd/components/TableSelectionCell/useTableSelectionCell.js +28 -0
  270. package/lib-amd/components/TableSelectionCell/useTableSelectionCell.js.map +1 -0
  271. package/lib-amd/components/TableSelectionCell/useTableSelectionCellStyles.js +58 -0
  272. package/lib-amd/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -0
  273. package/lib-amd/contexts/columnIdContext.js +11 -0
  274. package/lib-amd/contexts/columnIdContext.js.map +1 -0
  275. package/lib-amd/contexts/dataGridContext.js +16 -0
  276. package/lib-amd/contexts/dataGridContext.js.map +1 -0
  277. package/lib-amd/contexts/rowIdContext.js +11 -0
  278. package/lib-amd/contexts/rowIdContext.js.map +1 -0
  279. package/lib-amd/contexts/tableContext.js +15 -0
  280. package/lib-amd/contexts/tableContext.js.map +1 -0
  281. package/lib-amd/contexts/tableHeaderContext.js +11 -0
  282. package/lib-amd/contexts/tableHeaderContext.js.map +1 -0
  283. package/lib-amd/hooks/createColumn.js +36 -0
  284. package/lib-amd/hooks/createColumn.js.map +1 -0
  285. package/lib-amd/hooks/index.js +11 -0
  286. package/lib-amd/hooks/index.js.map +1 -0
  287. package/lib-amd/hooks/selectionManager.js +82 -0
  288. package/lib-amd/hooks/selectionManager.js.map +1 -0
  289. package/lib-amd/hooks/types.js +5 -0
  290. package/lib-amd/hooks/types.js.map +1 -0
  291. package/lib-amd/hooks/useMeasureElement.js +46 -0
  292. package/lib-amd/hooks/useMeasureElement.js.map +1 -0
  293. package/lib-amd/hooks/useTableColumnResizeMouseHandler.js +50 -0
  294. package/lib-amd/hooks/useTableColumnResizeMouseHandler.js.map +1 -0
  295. package/lib-amd/hooks/useTableColumnResizeState.js +73 -0
  296. package/lib-amd/hooks/useTableColumnResizeState.js.map +1 -0
  297. package/lib-amd/hooks/useTableColumnSizing.js +56 -0
  298. package/lib-amd/hooks/useTableColumnSizing.js.map +1 -0
  299. package/lib-amd/hooks/useTableFeatures.js +39 -0
  300. package/lib-amd/hooks/useTableFeatures.js.map +1 -0
  301. package/lib-amd/hooks/useTableSelection.js +70 -0
  302. package/lib-amd/hooks/useTableSelection.js.map +1 -0
  303. package/lib-amd/hooks/useTableSort.js +74 -0
  304. package/lib-amd/hooks/useTableSort.js.map +1 -0
  305. package/lib-amd/index.js +107 -0
  306. package/lib-amd/index.js.map +1 -0
  307. package/lib-amd/utils/columnResizeUtils.js +158 -0
  308. package/lib-amd/utils/columnResizeUtils.js.map +1 -0
  309. package/lib-commonjs/components/DataGrid/useDataGrid.js +15 -3
  310. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
  311. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +2 -1
  312. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -1
  313. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +5 -0
  314. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -1
  315. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +3 -0
  316. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  317. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +1 -0
  318. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  319. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +18 -4
  320. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  321. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +2 -1
  322. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  323. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +4 -1
  324. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  325. package/lib-commonjs/hooks/useTableColumnResizeState.js +11 -2
  326. package/lib-commonjs/hooks/useTableColumnResizeState.js.map +1 -1
  327. package/lib-commonjs/hooks/useTableColumnSizing.js +5 -2
  328. package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
  329. package/lib-commonjs/utils/columnResizeUtils.js +6 -6
  330. package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
  331. package/package.json +9 -11
@@ -0,0 +1,74 @@
1
+ define(["require", "exports", "tslib", "@fluentui/react-utilities"], function (require, exports, tslib_1, react_utilities_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useTableSortState = exports.useTableSort = exports.defaultTableSortState = void 0;
5
+ var noop = function () { return undefined; };
6
+ exports.defaultTableSortState = {
7
+ getSortDirection: function () { return 'ascending'; },
8
+ setColumnSort: noop,
9
+ sort: function (rows) { return tslib_1.__spreadArray([], rows); },
10
+ sortColumn: undefined,
11
+ sortDirection: 'ascending',
12
+ toggleColumnSort: noop,
13
+ };
14
+ function useTableSort(options) {
15
+ // False positive, these plugin hooks are intended to be run on every render
16
+ // eslint-disable-next-line react-hooks/rules-of-hooks
17
+ return function (tableState) { return useTableSortState(tableState, options); };
18
+ }
19
+ exports.useTableSort = useTableSort;
20
+ function useTableSortState(tableState, options) {
21
+ var columns = tableState.columns;
22
+ var sortState = options.sortState, defaultSortState = options.defaultSortState, onSortChange = options.onSortChange;
23
+ var _a = react_utilities_1.useControllableState({
24
+ initialState: {
25
+ sortDirection: 'ascending',
26
+ sortColumn: undefined,
27
+ },
28
+ defaultState: defaultSortState,
29
+ state: sortState,
30
+ }), sorted = _a[0], setSorted = _a[1];
31
+ var sortColumn = sorted.sortColumn, sortDirection = sorted.sortDirection;
32
+ var toggleColumnSort = function (e, columnId) {
33
+ setSorted(function (s) {
34
+ var newState = tslib_1.__assign(tslib_1.__assign({}, s), { sortColumn: columnId });
35
+ if (s.sortColumn === columnId) {
36
+ newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';
37
+ }
38
+ else {
39
+ newState.sortDirection = 'ascending';
40
+ }
41
+ onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
42
+ return newState;
43
+ });
44
+ };
45
+ var setColumnSort = function (e, nextSortColumn, nextSortDirection) {
46
+ var newState = { sortColumn: nextSortColumn, sortDirection: nextSortDirection };
47
+ onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
48
+ setSorted(newState);
49
+ };
50
+ var sort = function (rows) {
51
+ return rows.slice().sort(function (a, b) {
52
+ var sortColumnDef = columns.find(function (column) { return column.columnId === sortColumn; });
53
+ if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {
54
+ return 0;
55
+ }
56
+ var mod = sortDirection === 'ascending' ? 1 : -1;
57
+ return sortColumnDef.compare(a.item, b.item) * mod;
58
+ });
59
+ };
60
+ var getSortDirection = function (columnId) {
61
+ return sortColumn === columnId ? sortDirection : undefined;
62
+ };
63
+ return tslib_1.__assign(tslib_1.__assign({}, tableState), { sort: {
64
+ sort: sort,
65
+ sortColumn: sortColumn,
66
+ sortDirection: sortDirection,
67
+ setColumnSort: setColumnSort,
68
+ toggleColumnSort: toggleColumnSort,
69
+ getSortDirection: getSortDirection,
70
+ } });
71
+ }
72
+ exports.useTableSortState = useTableSortState;
73
+ });
74
+ //# sourceMappingURL=useTableSort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableSort.js","sourceRoot":"","sources":["../../../../../../../../packages/react-components/react-table/src/hooks/useTableSort.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useControllableState } from '@fluentui/react-utilities';\nimport type {\n TableColumnId,\n TableRowData,\n SortState,\n TableSortState,\n TableFeaturesState,\n UseTableSortOptions,\n} from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSortState: TableSortState<unknown> = {\n getSortDirection: () => 'ascending',\n setColumnSort: noop,\n sort: <TRowState extends TableRowData<unknown>>(rows: TRowState[]) => [...rows],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop,\n};\n\nexport function useTableSort<TItem>(options: UseTableSortOptions) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState: TableFeaturesState<TItem>) => useTableSortState(tableState, options);\n}\n\nexport function useTableSortState<TItem>(\n tableState: TableFeaturesState<TItem>,\n options: UseTableSortOptions,\n): TableFeaturesState<TItem> {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange } = options;\n\n const [sorted, setSorted] = useControllableState<SortState>({\n initialState: {\n sortDirection: 'ascending' as const,\n sortColumn: undefined,\n },\n defaultState: defaultSortState,\n state: sortState,\n });\n\n const { sortColumn, sortDirection } = sorted;\n\n const toggleColumnSort = (e: React.SyntheticEvent, columnId: TableColumnId | undefined) => {\n setSorted(s => {\n const newState = { ...s, sortColumn: columnId };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n\n onSortChange?.(e, newState);\n return newState;\n });\n };\n\n const setColumnSort: TableSortState<TItem>['setColumnSort'] = (e, nextSortColumn, nextSortDirection) => {\n const newState = { sortColumn: nextSortColumn, sortDirection: nextSortDirection };\n onSortChange?.(e, newState);\n setSorted(newState);\n };\n\n const sort = <TRowState extends TableRowData<TItem>>(rows: TRowState[]) => {\n return rows.slice().sort((a, b) => {\n const sortColumnDef = columns.find(column => column.columnId === sortColumn);\n if (!sortColumnDef?.compare) {\n return 0;\n }\n\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n\n const getSortDirection: TableSortState<TItem>['getSortDirection'] = (columnId: TableColumnId) => {\n return sortColumn === columnId ? sortDirection : undefined;\n };\n\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection,\n },\n };\n}\n"]}
@@ -0,0 +1,107 @@
1
+ define(["require", "exports", "./hooks", "./TableCell", "./TableRow", "./TableBody", "./Table", "./TableHeader", "./TableHeaderCell", "./TableResizeHandle", "./contexts/tableContext", "./contexts/rowIdContext", "./TableSelectionCell", "./TableCellActions", "./TableCellLayout", "./DataGridCell", "./DataGridRow", "./DataGridBody", "./DataGrid", "./DataGridHeader", "./DataGridHeaderCell", "./DataGridSelectionCell"], function (require, exports, hooks_1, TableCell_1, TableRow_1, TableBody_1, Table_1, TableHeader_1, TableHeaderCell_1, TableResizeHandle_1, tableContext_1, rowIdContext_1, TableSelectionCell_1, TableCellActions_1, TableCellLayout_1, DataGridCell_1, DataGridRow_1, DataGridBody_1, DataGrid_1, DataGridHeader_1, DataGridHeaderCell_1, DataGridSelectionCell_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.dataGridSelectionCellClassNames = exports.renderDataGridSelectionCell_unstable = exports.useDataGridSelectionCell_unstable = exports.useDataGridSelectionCellStyles_unstable = exports.DataGridSelectionCell = exports.renderDataGridHeaderCell_unstable = exports.useDataGridHeaderCell_unstable = exports.useDataGridHeaderCellStyles_unstable = exports.dataGridHeaderCellClassNames = exports.DataGridHeaderCell = exports.renderDataGridHeader_unstable = exports.useDataGridHeader_unstable = exports.useDataGridHeaderStyles_unstable = exports.dataGridHeaderClassNames = exports.DataGridHeader = exports.useDataGridContextValues_unstable = exports.renderDataGrid_unstable = exports.useDataGrid_unstable = exports.useDataGridStyles_unstable = exports.dataGridClassNames = exports.DataGrid = exports.renderDataGridBody_unstable = exports.useDataGridBody_unstable = exports.useDataGridBodyStyles_unstable = exports.dataGridBodyClassNames = exports.DataGridBody = exports.renderDataGridRow_unstable = exports.useDataGridRow_unstable = exports.useDataGridRowStyles_unstable = exports.dataGridRowClassNames = exports.DataGridRow = exports.renderDataGridCell_unstable = exports.useDataGridCell_unstable = exports.useDataGridCellStyles_unstable = exports.dataGridCellClassNames = exports.DataGridCell = exports.renderTableCellLayout_unstable = exports.useTableCellLayout_unstable = exports.useTableCellLayoutStyles_unstable = exports.tableCellLayoutClassNames = exports.TableCellLayout = exports.renderTableCellActions_unstable = exports.useTableCellActions_unstable = exports.useTableCellActionsStyles_unstable = exports.tableCellActionsClassNames = exports.TableCellActions = exports.tableSelectionCellClassNames = exports.renderTableSelectionCell_unstable = exports.useTableSelectionCell_unstable = exports.useTableSelectionCellStyles_unstable = exports.TableSelectionCell = exports.TableRowIdContextProvider = exports.useTableRowIdContext = exports.useTableContext = exports.TableContextProvider = exports.renderTableResizeHandle_unstable = exports.useTableResizeHandle_unstable = exports.useTableResizeHandleStyles_unstable = exports.tableResizeHandleClassNames = exports.TableResizeHandle = exports.renderTableHeaderCell_unstable = exports.useTableHeaderCell_unstable = exports.useTableHeaderCellStyles_unstable = exports.tableHeaderCellClassNames = exports.tableHeaderCellClassName = exports.TableHeaderCell = exports.renderTableHeader_unstable = exports.useTableHeader_unstable = exports.useTableHeaderStyles_unstable = exports.tableHeaderClassName = exports.tableHeaderClassNames = exports.TableHeader = exports.renderTable_unstable = exports.useTable_unstable = exports.useTableStyles_unstable = exports.tableClassNames = exports.tableClassName = exports.Table = exports.renderTableBody_unstable = exports.useTableBody_unstable = exports.useTableBodyStyles_unstable = exports.tableBodyClassNames = exports.tableBodyClassName = exports.TableBody = exports.renderTableRow_unstable = exports.useTableRow_unstable = exports.useTableRowStyles_unstable = exports.tableRowClassName = exports.tableRowClassNames = exports.TableRow = exports.renderTableCell_unstable = exports.useTableCell_unstable = exports.useTableCellStyles_unstable = exports.tableCellClassName = exports.tableCellClassNames = exports.TableCell = exports.useTableColumnSizing_unstable = exports.createTableColumn = exports.useTableSort = exports.useTableSelection = exports.useTableFeatures = void 0;
5
+ Object.defineProperty(exports, "useTableFeatures", { enumerable: true, get: function () { return hooks_1.useTableFeatures; } });
6
+ Object.defineProperty(exports, "useTableSelection", { enumerable: true, get: function () { return hooks_1.useTableSelection; } });
7
+ Object.defineProperty(exports, "useTableSort", { enumerable: true, get: function () { return hooks_1.useTableSort; } });
8
+ Object.defineProperty(exports, "createTableColumn", { enumerable: true, get: function () { return hooks_1.createTableColumn; } });
9
+ Object.defineProperty(exports, "useTableColumnSizing_unstable", { enumerable: true, get: function () { return hooks_1.useTableColumnSizing_unstable; } });
10
+ Object.defineProperty(exports, "TableCell", { enumerable: true, get: function () { return TableCell_1.TableCell; } });
11
+ Object.defineProperty(exports, "tableCellClassNames", { enumerable: true, get: function () { return TableCell_1.tableCellClassNames; } });
12
+ Object.defineProperty(exports, "tableCellClassName", { enumerable: true, get: function () { return TableCell_1.tableCellClassName; } });
13
+ Object.defineProperty(exports, "useTableCellStyles_unstable", { enumerable: true, get: function () { return TableCell_1.useTableCellStyles_unstable; } });
14
+ Object.defineProperty(exports, "useTableCell_unstable", { enumerable: true, get: function () { return TableCell_1.useTableCell_unstable; } });
15
+ Object.defineProperty(exports, "renderTableCell_unstable", { enumerable: true, get: function () { return TableCell_1.renderTableCell_unstable; } });
16
+ Object.defineProperty(exports, "TableRow", { enumerable: true, get: function () { return TableRow_1.TableRow; } });
17
+ Object.defineProperty(exports, "tableRowClassNames", { enumerable: true, get: function () { return TableRow_1.tableRowClassNames; } });
18
+ Object.defineProperty(exports, "tableRowClassName", { enumerable: true, get: function () { return TableRow_1.tableRowClassName; } });
19
+ Object.defineProperty(exports, "useTableRowStyles_unstable", { enumerable: true, get: function () { return TableRow_1.useTableRowStyles_unstable; } });
20
+ Object.defineProperty(exports, "useTableRow_unstable", { enumerable: true, get: function () { return TableRow_1.useTableRow_unstable; } });
21
+ Object.defineProperty(exports, "renderTableRow_unstable", { enumerable: true, get: function () { return TableRow_1.renderTableRow_unstable; } });
22
+ Object.defineProperty(exports, "TableBody", { enumerable: true, get: function () { return TableBody_1.TableBody; } });
23
+ Object.defineProperty(exports, "tableBodyClassName", { enumerable: true, get: function () { return TableBody_1.tableBodyClassName; } });
24
+ Object.defineProperty(exports, "tableBodyClassNames", { enumerable: true, get: function () { return TableBody_1.tableBodyClassNames; } });
25
+ Object.defineProperty(exports, "useTableBodyStyles_unstable", { enumerable: true, get: function () { return TableBody_1.useTableBodyStyles_unstable; } });
26
+ Object.defineProperty(exports, "useTableBody_unstable", { enumerable: true, get: function () { return TableBody_1.useTableBody_unstable; } });
27
+ Object.defineProperty(exports, "renderTableBody_unstable", { enumerable: true, get: function () { return TableBody_1.renderTableBody_unstable; } });
28
+ Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return Table_1.Table; } });
29
+ Object.defineProperty(exports, "tableClassName", { enumerable: true, get: function () { return Table_1.tableClassName; } });
30
+ Object.defineProperty(exports, "tableClassNames", { enumerable: true, get: function () { return Table_1.tableClassNames; } });
31
+ Object.defineProperty(exports, "useTableStyles_unstable", { enumerable: true, get: function () { return Table_1.useTableStyles_unstable; } });
32
+ Object.defineProperty(exports, "useTable_unstable", { enumerable: true, get: function () { return Table_1.useTable_unstable; } });
33
+ Object.defineProperty(exports, "renderTable_unstable", { enumerable: true, get: function () { return Table_1.renderTable_unstable; } });
34
+ Object.defineProperty(exports, "TableHeader", { enumerable: true, get: function () { return TableHeader_1.TableHeader; } });
35
+ Object.defineProperty(exports, "tableHeaderClassNames", { enumerable: true, get: function () { return TableHeader_1.tableHeaderClassNames; } });
36
+ Object.defineProperty(exports, "tableHeaderClassName", { enumerable: true, get: function () { return TableHeader_1.tableHeaderClassName; } });
37
+ Object.defineProperty(exports, "useTableHeaderStyles_unstable", { enumerable: true, get: function () { return TableHeader_1.useTableHeaderStyles_unstable; } });
38
+ Object.defineProperty(exports, "useTableHeader_unstable", { enumerable: true, get: function () { return TableHeader_1.useTableHeader_unstable; } });
39
+ Object.defineProperty(exports, "renderTableHeader_unstable", { enumerable: true, get: function () { return TableHeader_1.renderTableHeader_unstable; } });
40
+ Object.defineProperty(exports, "TableHeaderCell", { enumerable: true, get: function () { return TableHeaderCell_1.TableHeaderCell; } });
41
+ Object.defineProperty(exports, "tableHeaderCellClassName", { enumerable: true, get: function () { return TableHeaderCell_1.tableHeaderCellClassName; } });
42
+ Object.defineProperty(exports, "tableHeaderCellClassNames", { enumerable: true, get: function () { return TableHeaderCell_1.tableHeaderCellClassNames; } });
43
+ Object.defineProperty(exports, "useTableHeaderCellStyles_unstable", { enumerable: true, get: function () { return TableHeaderCell_1.useTableHeaderCellStyles_unstable; } });
44
+ Object.defineProperty(exports, "useTableHeaderCell_unstable", { enumerable: true, get: function () { return TableHeaderCell_1.useTableHeaderCell_unstable; } });
45
+ Object.defineProperty(exports, "renderTableHeaderCell_unstable", { enumerable: true, get: function () { return TableHeaderCell_1.renderTableHeaderCell_unstable; } });
46
+ Object.defineProperty(exports, "TableResizeHandle", { enumerable: true, get: function () { return TableResizeHandle_1.TableResizeHandle; } });
47
+ Object.defineProperty(exports, "tableResizeHandleClassNames", { enumerable: true, get: function () { return TableResizeHandle_1.tableResizeHandleClassNames; } });
48
+ Object.defineProperty(exports, "useTableResizeHandleStyles_unstable", { enumerable: true, get: function () { return TableResizeHandle_1.useTableResizeHandleStyles_unstable; } });
49
+ Object.defineProperty(exports, "useTableResizeHandle_unstable", { enumerable: true, get: function () { return TableResizeHandle_1.useTableResizeHandle_unstable; } });
50
+ Object.defineProperty(exports, "renderTableResizeHandle_unstable", { enumerable: true, get: function () { return TableResizeHandle_1.renderTableResizeHandle_unstable; } });
51
+ Object.defineProperty(exports, "TableContextProvider", { enumerable: true, get: function () { return tableContext_1.TableContextProvider; } });
52
+ Object.defineProperty(exports, "useTableContext", { enumerable: true, get: function () { return tableContext_1.useTableContext; } });
53
+ Object.defineProperty(exports, "useTableRowIdContext", { enumerable: true, get: function () { return rowIdContext_1.useTableRowIdContext; } });
54
+ Object.defineProperty(exports, "TableRowIdContextProvider", { enumerable: true, get: function () { return rowIdContext_1.TableRowIdContextProvider; } });
55
+ Object.defineProperty(exports, "TableSelectionCell", { enumerable: true, get: function () { return TableSelectionCell_1.TableSelectionCell; } });
56
+ Object.defineProperty(exports, "useTableSelectionCellStyles_unstable", { enumerable: true, get: function () { return TableSelectionCell_1.useTableSelectionCellStyles_unstable; } });
57
+ Object.defineProperty(exports, "useTableSelectionCell_unstable", { enumerable: true, get: function () { return TableSelectionCell_1.useTableSelectionCell_unstable; } });
58
+ Object.defineProperty(exports, "renderTableSelectionCell_unstable", { enumerable: true, get: function () { return TableSelectionCell_1.renderTableSelectionCell_unstable; } });
59
+ Object.defineProperty(exports, "tableSelectionCellClassNames", { enumerable: true, get: function () { return TableSelectionCell_1.tableSelectionCellClassNames; } });
60
+ Object.defineProperty(exports, "TableCellActions", { enumerable: true, get: function () { return TableCellActions_1.TableCellActions; } });
61
+ Object.defineProperty(exports, "tableCellActionsClassNames", { enumerable: true, get: function () { return TableCellActions_1.tableCellActionsClassNames; } });
62
+ Object.defineProperty(exports, "useTableCellActionsStyles_unstable", { enumerable: true, get: function () { return TableCellActions_1.useTableCellActionsStyles_unstable; } });
63
+ Object.defineProperty(exports, "useTableCellActions_unstable", { enumerable: true, get: function () { return TableCellActions_1.useTableCellActions_unstable; } });
64
+ Object.defineProperty(exports, "renderTableCellActions_unstable", { enumerable: true, get: function () { return TableCellActions_1.renderTableCellActions_unstable; } });
65
+ Object.defineProperty(exports, "TableCellLayout", { enumerable: true, get: function () { return TableCellLayout_1.TableCellLayout; } });
66
+ Object.defineProperty(exports, "tableCellLayoutClassNames", { enumerable: true, get: function () { return TableCellLayout_1.tableCellLayoutClassNames; } });
67
+ Object.defineProperty(exports, "useTableCellLayoutStyles_unstable", { enumerable: true, get: function () { return TableCellLayout_1.useTableCellLayoutStyles_unstable; } });
68
+ Object.defineProperty(exports, "useTableCellLayout_unstable", { enumerable: true, get: function () { return TableCellLayout_1.useTableCellLayout_unstable; } });
69
+ Object.defineProperty(exports, "renderTableCellLayout_unstable", { enumerable: true, get: function () { return TableCellLayout_1.renderTableCellLayout_unstable; } });
70
+ Object.defineProperty(exports, "DataGridCell", { enumerable: true, get: function () { return DataGridCell_1.DataGridCell; } });
71
+ Object.defineProperty(exports, "dataGridCellClassNames", { enumerable: true, get: function () { return DataGridCell_1.dataGridCellClassNames; } });
72
+ Object.defineProperty(exports, "useDataGridCellStyles_unstable", { enumerable: true, get: function () { return DataGridCell_1.useDataGridCellStyles_unstable; } });
73
+ Object.defineProperty(exports, "useDataGridCell_unstable", { enumerable: true, get: function () { return DataGridCell_1.useDataGridCell_unstable; } });
74
+ Object.defineProperty(exports, "renderDataGridCell_unstable", { enumerable: true, get: function () { return DataGridCell_1.renderDataGridCell_unstable; } });
75
+ Object.defineProperty(exports, "DataGridRow", { enumerable: true, get: function () { return DataGridRow_1.DataGridRow; } });
76
+ Object.defineProperty(exports, "dataGridRowClassNames", { enumerable: true, get: function () { return DataGridRow_1.dataGridRowClassNames; } });
77
+ Object.defineProperty(exports, "useDataGridRowStyles_unstable", { enumerable: true, get: function () { return DataGridRow_1.useDataGridRowStyles_unstable; } });
78
+ Object.defineProperty(exports, "useDataGridRow_unstable", { enumerable: true, get: function () { return DataGridRow_1.useDataGridRow_unstable; } });
79
+ Object.defineProperty(exports, "renderDataGridRow_unstable", { enumerable: true, get: function () { return DataGridRow_1.renderDataGridRow_unstable; } });
80
+ Object.defineProperty(exports, "DataGridBody", { enumerable: true, get: function () { return DataGridBody_1.DataGridBody; } });
81
+ Object.defineProperty(exports, "dataGridBodyClassNames", { enumerable: true, get: function () { return DataGridBody_1.dataGridBodyClassNames; } });
82
+ Object.defineProperty(exports, "useDataGridBodyStyles_unstable", { enumerable: true, get: function () { return DataGridBody_1.useDataGridBodyStyles_unstable; } });
83
+ Object.defineProperty(exports, "useDataGridBody_unstable", { enumerable: true, get: function () { return DataGridBody_1.useDataGridBody_unstable; } });
84
+ Object.defineProperty(exports, "renderDataGridBody_unstable", { enumerable: true, get: function () { return DataGridBody_1.renderDataGridBody_unstable; } });
85
+ Object.defineProperty(exports, "DataGrid", { enumerable: true, get: function () { return DataGrid_1.DataGrid; } });
86
+ Object.defineProperty(exports, "dataGridClassNames", { enumerable: true, get: function () { return DataGrid_1.dataGridClassNames; } });
87
+ Object.defineProperty(exports, "useDataGridStyles_unstable", { enumerable: true, get: function () { return DataGrid_1.useDataGridStyles_unstable; } });
88
+ Object.defineProperty(exports, "useDataGrid_unstable", { enumerable: true, get: function () { return DataGrid_1.useDataGrid_unstable; } });
89
+ Object.defineProperty(exports, "renderDataGrid_unstable", { enumerable: true, get: function () { return DataGrid_1.renderDataGrid_unstable; } });
90
+ Object.defineProperty(exports, "useDataGridContextValues_unstable", { enumerable: true, get: function () { return DataGrid_1.useDataGridContextValues_unstable; } });
91
+ Object.defineProperty(exports, "DataGridHeader", { enumerable: true, get: function () { return DataGridHeader_1.DataGridHeader; } });
92
+ Object.defineProperty(exports, "dataGridHeaderClassNames", { enumerable: true, get: function () { return DataGridHeader_1.dataGridHeaderClassNames; } });
93
+ Object.defineProperty(exports, "useDataGridHeaderStyles_unstable", { enumerable: true, get: function () { return DataGridHeader_1.useDataGridHeaderStyles_unstable; } });
94
+ Object.defineProperty(exports, "useDataGridHeader_unstable", { enumerable: true, get: function () { return DataGridHeader_1.useDataGridHeader_unstable; } });
95
+ Object.defineProperty(exports, "renderDataGridHeader_unstable", { enumerable: true, get: function () { return DataGridHeader_1.renderDataGridHeader_unstable; } });
96
+ Object.defineProperty(exports, "DataGridHeaderCell", { enumerable: true, get: function () { return DataGridHeaderCell_1.DataGridHeaderCell; } });
97
+ Object.defineProperty(exports, "dataGridHeaderCellClassNames", { enumerable: true, get: function () { return DataGridHeaderCell_1.dataGridHeaderCellClassNames; } });
98
+ Object.defineProperty(exports, "useDataGridHeaderCellStyles_unstable", { enumerable: true, get: function () { return DataGridHeaderCell_1.useDataGridHeaderCellStyles_unstable; } });
99
+ Object.defineProperty(exports, "useDataGridHeaderCell_unstable", { enumerable: true, get: function () { return DataGridHeaderCell_1.useDataGridHeaderCell_unstable; } });
100
+ Object.defineProperty(exports, "renderDataGridHeaderCell_unstable", { enumerable: true, get: function () { return DataGridHeaderCell_1.renderDataGridHeaderCell_unstable; } });
101
+ Object.defineProperty(exports, "DataGridSelectionCell", { enumerable: true, get: function () { return DataGridSelectionCell_1.DataGridSelectionCell; } });
102
+ Object.defineProperty(exports, "useDataGridSelectionCellStyles_unstable", { enumerable: true, get: function () { return DataGridSelectionCell_1.useDataGridSelectionCellStyles_unstable; } });
103
+ Object.defineProperty(exports, "useDataGridSelectionCell_unstable", { enumerable: true, get: function () { return DataGridSelectionCell_1.useDataGridSelectionCell_unstable; } });
104
+ Object.defineProperty(exports, "renderDataGridSelectionCell_unstable", { enumerable: true, get: function () { return DataGridSelectionCell_1.renderDataGridSelectionCell_unstable; } });
105
+ Object.defineProperty(exports, "dataGridSelectionCellClassNames", { enumerable: true, get: function () { return DataGridSelectionCell_1.dataGridSelectionCellClassNames; } });
106
+ });
107
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-components/react-table/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n useTableFeatures,\n useTableSelection,\n useTableSort,\n createTableColumn,\n useTableColumnSizing_unstable,\n} from './hooks';\n\nexport type {\n CreateTableColumnOptions,\n UseTableFeaturesOptions,\n TableColumnDefinition,\n TableColumnId,\n TableFeaturesState,\n TableRowData,\n TableRowId,\n TableSelectionState,\n TableSortState,\n TableFeaturePlugin,\n TableColumnSizingOptions,\n} from './hooks';\n\nexport {\n TableCell,\n tableCellClassNames,\n tableCellClassName,\n useTableCellStyles_unstable,\n useTableCell_unstable,\n renderTableCell_unstable,\n} from './TableCell';\nexport type { TableCellProps, TableCellState, TableCellSlots } from './TableCell';\n\nexport {\n TableRow,\n tableRowClassNames,\n tableRowClassName,\n useTableRowStyles_unstable,\n useTableRow_unstable,\n renderTableRow_unstable,\n} from './TableRow';\nexport type { TableRowProps, TableRowState, TableRowSlots } from './TableRow';\n\nexport {\n TableBody,\n tableBodyClassName,\n tableBodyClassNames,\n useTableBodyStyles_unstable,\n useTableBody_unstable,\n renderTableBody_unstable,\n} from './TableBody';\nexport type { TableBodyProps, TableBodyState, TableBodySlots } from './TableBody';\n\nexport {\n Table,\n tableClassName,\n tableClassNames,\n useTableStyles_unstable,\n useTable_unstable,\n renderTable_unstable,\n} from './Table';\nexport type { TableProps, TableSlots, TableState, TableContextValue, TableContextValues, SortDirection } from './Table';\n\nexport {\n TableHeader,\n tableHeaderClassNames,\n tableHeaderClassName,\n useTableHeaderStyles_unstable,\n useTableHeader_unstable,\n renderTableHeader_unstable,\n} from './TableHeader';\nexport type { TableHeaderProps, TableHeaderSlots, TableHeaderState } from './TableHeader';\n\nexport {\n TableHeaderCell,\n tableHeaderCellClassName,\n tableHeaderCellClassNames,\n useTableHeaderCellStyles_unstable,\n useTableHeaderCell_unstable,\n renderTableHeaderCell_unstable,\n} from './TableHeaderCell';\nexport type { TableHeaderCellProps, TableHeaderCellSlots, TableHeaderCellState } from './TableHeaderCell';\n\nexport {\n TableResizeHandle,\n tableResizeHandleClassNames,\n useTableResizeHandleStyles_unstable,\n useTableResizeHandle_unstable,\n renderTableResizeHandle_unstable,\n} from './TableResizeHandle';\nexport type { TableResizeHandleProps, TableResizeHandleSlots, TableResizeHandleState } from './TableResizeHandle';\n\nexport { TableContextProvider, useTableContext } from './contexts/tableContext';\nexport { useTableRowIdContext, TableRowIdContextProvider } from './contexts/rowIdContext';\nexport {\n TableSelectionCell,\n useTableSelectionCellStyles_unstable,\n useTableSelectionCell_unstable,\n renderTableSelectionCell_unstable,\n tableSelectionCellClassNames,\n} from './TableSelectionCell';\n\nexport type { TableSelectionCellProps, TableSelectionCellState, TableSelectionCellSlots } from './TableSelectionCell';\nexport {\n TableCellActions,\n tableCellActionsClassNames,\n useTableCellActionsStyles_unstable,\n useTableCellActions_unstable,\n renderTableCellActions_unstable,\n} from './TableCellActions';\n\nexport type { TableCellActionsProps, TableCellActionsSlots, TableCellActionsState } from './TableCellActions';\nexport {\n TableCellLayout,\n tableCellLayoutClassNames,\n useTableCellLayoutStyles_unstable,\n useTableCellLayout_unstable,\n renderTableCellLayout_unstable,\n} from './TableCellLayout';\nexport type { TableCellLayoutProps, TableCellLayoutSlots, TableCellLayoutState } from './TableCellLayout';\n\nexport {\n DataGridCell,\n dataGridCellClassNames,\n useDataGridCellStyles_unstable,\n useDataGridCell_unstable,\n renderDataGridCell_unstable,\n} from './DataGridCell';\nexport type { DataGridCellProps, DataGridCellState, DataGridCellSlots } from './DataGridCell';\n\nexport {\n DataGridRow,\n dataGridRowClassNames,\n useDataGridRowStyles_unstable,\n useDataGridRow_unstable,\n renderDataGridRow_unstable,\n} from './DataGridRow';\nexport type { DataGridRowProps, DataGridRowState, DataGridRowSlots, CellRenderFunction } from './DataGridRow';\n\nexport {\n DataGridBody,\n dataGridBodyClassNames,\n useDataGridBodyStyles_unstable,\n useDataGridBody_unstable,\n renderDataGridBody_unstable,\n} from './DataGridBody';\nexport type { DataGridBodyProps, DataGridBodyState, DataGridBodySlots, RowRenderFunction } from './DataGridBody';\n\nexport {\n DataGrid,\n dataGridClassNames,\n useDataGridStyles_unstable,\n useDataGrid_unstable,\n renderDataGrid_unstable,\n useDataGridContextValues_unstable,\n} from './DataGrid';\nexport type {\n DataGridProps,\n DataGridSlots,\n DataGridState,\n DataGridContextValues,\n DataGridContextValue,\n DataGridFocusMode,\n} from './DataGrid';\n\nexport {\n DataGridHeader,\n dataGridHeaderClassNames,\n useDataGridHeaderStyles_unstable,\n useDataGridHeader_unstable,\n renderDataGridHeader_unstable,\n} from './DataGridHeader';\nexport type { DataGridHeaderProps, DataGridHeaderSlots, DataGridHeaderState } from './DataGridHeader';\n\nexport {\n DataGridHeaderCell,\n dataGridHeaderCellClassNames,\n useDataGridHeaderCellStyles_unstable,\n useDataGridHeaderCell_unstable,\n renderDataGridHeaderCell_unstable,\n} from './DataGridHeaderCell';\nexport type { DataGridHeaderCellProps, DataGridHeaderCellSlots, DataGridHeaderCellState } from './DataGridHeaderCell';\n\nexport {\n DataGridSelectionCell,\n useDataGridSelectionCellStyles_unstable,\n useDataGridSelectionCell_unstable,\n renderDataGridSelectionCell_unstable,\n dataGridSelectionCellClassNames,\n} from './DataGridSelectionCell';\n\nexport type {\n DataGridSelectionCellProps,\n DataGridSelectionCellState,\n DataGridSelectionCellSlots,\n} from './DataGridSelectionCell';\n"]}
@@ -0,0 +1,158 @@
1
+ define(["require", "exports", "tslib"], function (require, exports, tslib_1) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.adjustColumnWidthsToFitContainer = exports.setColumnProperty = exports.getColumnWidth = exports.getLength = exports.getTotalWidth = exports.getColumnByIndex = exports.getColumnById = exports.columnDefinitionsToState = void 0;
5
+ var DEFAULT_WIDTH = 150;
6
+ var DEFAULT_MIN_WIDTH = 100;
7
+ /**
8
+ * This function takes the column definitions and the curent ColumnWidthState and returns new state.
9
+ * - It uses existing state for existing columns.
10
+ * - It removes any state for columns no longer present.
11
+ * - It checks if any column has been replaced and returns updated state if so
12
+ * - It returns old state if no changes in the state have been made (so that react doesn't call effects)
13
+ * @param columns
14
+ * @param state
15
+ * @returns
16
+ */
17
+ function columnDefinitionsToState(columns, state, columnSizingOptions) {
18
+ if (state === void 0) { state = []; }
19
+ if (columnSizingOptions === void 0) { columnSizingOptions = {}; }
20
+ var updated = false;
21
+ var stateMap = new Map(state.map(function (s) { return [s.columnId, s]; }));
22
+ var updatedState = columns.map(function (column) {
23
+ var _a, _b;
24
+ var existingColumnState = stateMap.get(column.columnId);
25
+ if (existingColumnState) {
26
+ var _c = (_a = columnSizingOptions[column.columnId]) !== null && _a !== void 0 ? _a : {}, _d = _c.idealWidth, idealWidth_1 = _d === void 0 ? existingColumnState.idealWidth : _d, _e = _c.minWidth, minWidth_1 = _e === void 0 ? existingColumnState.minWidth : _e, _f = _c.padding, padding_1 = _f === void 0 ? existingColumnState.padding : _f;
27
+ if (idealWidth_1 !== existingColumnState.idealWidth ||
28
+ minWidth_1 !== existingColumnState.minWidth ||
29
+ padding_1 !== existingColumnState.padding) {
30
+ updated = true;
31
+ return tslib_1.__assign(tslib_1.__assign({}, existingColumnState), { idealWidth: idealWidth_1, width: idealWidth_1, minWidth: minWidth_1, padding: padding_1 });
32
+ }
33
+ return existingColumnState;
34
+ }
35
+ var _g = (_b = columnSizingOptions[column.columnId]) !== null && _b !== void 0 ? _b : {}, defaultWidth = _g.defaultWidth, _h = _g.idealWidth, idealWidth = _h === void 0 ? DEFAULT_WIDTH : _h, _j = _g.minWidth, minWidth = _j === void 0 ? DEFAULT_MIN_WIDTH : _j, padding = _g.padding;
36
+ updated = true;
37
+ return {
38
+ columnId: column.columnId,
39
+ width: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),
40
+ minWidth: minWidth,
41
+ idealWidth: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),
42
+ padding: padding !== null && padding !== void 0 ? padding : 16,
43
+ };
44
+ });
45
+ // If the length of the new state changed (column was added or removed) or any of
46
+ // the individual states has a new reference (column was replaced),
47
+ // we have to reset the column widths to their ideal width (because the column which was last may not be last now).
48
+ // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.
49
+ if (updatedState.length !== state.length || updated) {
50
+ var column = updatedState.find(function (col) { return col.width > col.idealWidth; });
51
+ if (column) {
52
+ column.width = column.idealWidth;
53
+ }
54
+ updated = true;
55
+ }
56
+ return updated ? updatedState : state;
57
+ }
58
+ exports.columnDefinitionsToState = columnDefinitionsToState;
59
+ function getColumnById(state, columnId) {
60
+ return state.find(function (c) { return c.columnId === columnId; });
61
+ }
62
+ exports.getColumnById = getColumnById;
63
+ function getColumnByIndex(state, index) {
64
+ return state[index];
65
+ }
66
+ exports.getColumnByIndex = getColumnByIndex;
67
+ function getTotalWidth(state) {
68
+ return state.reduce(function (sum, column) { return sum + column.width + column.padding; }, 0);
69
+ }
70
+ exports.getTotalWidth = getTotalWidth;
71
+ function getLength(state) {
72
+ return state.length;
73
+ }
74
+ exports.getLength = getLength;
75
+ function getColumnWidth(state, columnId) {
76
+ var _a;
77
+ var column = getColumnById(state, columnId);
78
+ return (_a = column === null || column === void 0 ? void 0 : column.width) !== null && _a !== void 0 ? _a : 0;
79
+ }
80
+ exports.getColumnWidth = getColumnWidth;
81
+ /**
82
+ * This function takes the current state and returns an updated state, so that it can be set.
83
+ * The reason for this is that we can update the state multiple times before commiting to render.
84
+ * This is an optimization and also prevents flickering.
85
+ * It also returns new copy of the state only if the value is different than the one currently in
86
+ * the state, further preventing unnecessary updates.
87
+ * @param localState
88
+ * @param columnId
89
+ * @param property
90
+ * @param value
91
+ * @returns
92
+ */
93
+ function setColumnProperty(localState, columnId, property, value) {
94
+ var _a;
95
+ var currentColumn = getColumnById(localState, columnId);
96
+ if (!currentColumn || (currentColumn === null || currentColumn === void 0 ? void 0 : currentColumn[property]) === value) {
97
+ return localState;
98
+ }
99
+ var updatedColumn = tslib_1.__assign(tslib_1.__assign({}, currentColumn), (_a = {}, _a[property] = value, _a));
100
+ var newState = localState.reduce(function (acc, current) {
101
+ if (current.columnId === updatedColumn.columnId) {
102
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], acc), [updatedColumn]);
103
+ }
104
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], acc), [current]);
105
+ }, []);
106
+ return newState;
107
+ }
108
+ exports.setColumnProperty = setColumnProperty;
109
+ /**
110
+ * This function takes the state and container width and makes sure the each column in the state
111
+ * is its optimal width, and that the columns
112
+ * a) fit to the container
113
+ * b) always fill the whole container
114
+ * @param state
115
+ * @param containerWidth
116
+ * @returns
117
+ */
118
+ function adjustColumnWidthsToFitContainer(state, containerWidth) {
119
+ var newState = state;
120
+ var totalWidth = getTotalWidth(newState);
121
+ // The total width is smaller, we are expanding columns
122
+ if (totalWidth < containerWidth) {
123
+ var difference = containerWidth - totalWidth;
124
+ var i = 0;
125
+ // We start at the beginning and assign the columns their ideal width
126
+ while (i < newState.length && difference > 0) {
127
+ var currentCol = getColumnByIndex(newState, i);
128
+ var colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);
129
+ newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);
130
+ difference -= colAdjustment;
131
+ // if there is still empty space, after all columns are their ideal sizes, assign it to the last column
132
+ if (i === newState.length - 1 && difference !== 0) {
133
+ var lastCol = getColumnByIndex(newState, i);
134
+ newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);
135
+ }
136
+ i++;
137
+ }
138
+ }
139
+ // The total width is larger than container, we need to squash the columns
140
+ else if (totalWidth >= containerWidth) {
141
+ var difference = totalWidth - containerWidth;
142
+ // We start with the last column
143
+ var j = newState.length - 1;
144
+ while (j >= 0 && difference > 0) {
145
+ var currentCol = getColumnByIndex(newState, j);
146
+ if (currentCol.width > currentCol.minWidth) {
147
+ var colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);
148
+ difference -= colAdjustment;
149
+ newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);
150
+ }
151
+ j--;
152
+ }
153
+ }
154
+ return newState;
155
+ }
156
+ exports.adjustColumnWidthsToFitContainer = adjustColumnWidthsToFitContainer;
157
+ });
158
+ //# sourceMappingURL=columnResizeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnResizeUtils.js","sourceRoot":"","sources":["../../../../../../../../packages/react-components/react-table/src/utils/columnResizeUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { TableColumnDefinition, ColumnWidthState, TableColumnId, TableColumnSizingOptions } from '../hooks';\n\nconst DEFAULT_WIDTH = 150;\nconst DEFAULT_MIN_WIDTH = 100;\n\n/**\n * This function takes the column definitions and the curent ColumnWidthState and returns new state.\n * - It uses existing state for existing columns.\n * - It removes any state for columns no longer present.\n * - It checks if any column has been replaced and returns updated state if so\n * - It returns old state if no changes in the state have been made (so that react doesn't call effects)\n * @param columns\n * @param state\n * @returns\n */\n\nexport function columnDefinitionsToState<T>(\n columns: TableColumnDefinition<T>[],\n state: ColumnWidthState[] = [],\n columnSizingOptions: TableColumnSizingOptions = {},\n): ColumnWidthState[] {\n let updated = false;\n const stateMap = new Map(state.map(s => [s.columnId, s]));\n\n const updatedState = columns.map(column => {\n const existingColumnState = stateMap.get(column.columnId);\n\n if (existingColumnState) {\n const {\n idealWidth = existingColumnState.idealWidth,\n minWidth = existingColumnState.minWidth,\n padding = existingColumnState.padding,\n } = columnSizingOptions[column.columnId] ?? {};\n\n if (\n idealWidth !== existingColumnState.idealWidth ||\n minWidth !== existingColumnState.minWidth ||\n padding !== existingColumnState.padding\n ) {\n updated = true;\n return {\n ...existingColumnState,\n idealWidth,\n width: idealWidth,\n minWidth,\n padding,\n };\n }\n return existingColumnState;\n }\n\n const { defaultWidth, idealWidth = DEFAULT_WIDTH, minWidth = DEFAULT_MIN_WIDTH, padding } =\n columnSizingOptions[column.columnId] ?? {};\n\n updated = true;\n return {\n columnId: column.columnId,\n width: Math.max(defaultWidth ?? idealWidth, minWidth),\n minWidth,\n idealWidth: Math.max(defaultWidth ?? idealWidth, minWidth),\n padding: padding ?? 16,\n };\n });\n\n // If the length of the new state changed (column was added or removed) or any of\n // the individual states has a new reference (column was replaced),\n // we have to reset the column widths to their ideal width (because the column which was last may not be last now).\n // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.\n if (updatedState.length !== state.length || updated) {\n const column = updatedState.find(col => col.width > col.idealWidth);\n if (column) {\n column.width = column.idealWidth;\n }\n\n updated = true;\n }\n\n return updated ? updatedState : state;\n}\n\nexport function getColumnById(state: ColumnWidthState[], columnId: TableColumnId) {\n return state.find(c => c.columnId === columnId);\n}\n\nexport function getColumnByIndex(state: ColumnWidthState[], index: number) {\n return state[index];\n}\n\nexport function getTotalWidth(state: ColumnWidthState[]): number {\n return state.reduce((sum, column) => sum + column.width + column.padding, 0);\n}\n\nexport function getLength(state: ColumnWidthState[]) {\n return state.length;\n}\n\nexport function getColumnWidth(state: ColumnWidthState[], columnId: TableColumnId): number {\n const column = getColumnById(state, columnId);\n return column?.width ?? 0;\n}\n\n/**\n * This function takes the current state and returns an updated state, so that it can be set.\n * The reason for this is that we can update the state multiple times before commiting to render.\n * This is an optimization and also prevents flickering.\n * It also returns new copy of the state only if the value is different than the one currently in\n * the state, further preventing unnecessary updates.\n * @param localState\n * @param columnId\n * @param property\n * @param value\n * @returns\n */\nexport function setColumnProperty(\n localState: ColumnWidthState[],\n columnId: TableColumnId,\n property: keyof ColumnWidthState,\n value: number,\n) {\n const currentColumn = getColumnById(localState, columnId);\n\n if (!currentColumn || currentColumn?.[property] === value) {\n return localState;\n }\n\n const updatedColumn = { ...currentColumn, [property]: value };\n\n const newState = localState.reduce((acc, current) => {\n if (current.columnId === updatedColumn.columnId) {\n return [...acc, updatedColumn];\n }\n return [...acc, current];\n }, [] as ColumnWidthState[]);\n\n return newState;\n}\n\n/**\n * This function takes the state and container width and makes sure the each column in the state\n * is its optimal width, and that the columns\n * a) fit to the container\n * b) always fill the whole container\n * @param state\n * @param containerWidth\n * @returns\n */\nexport function adjustColumnWidthsToFitContainer(state: ColumnWidthState[], containerWidth: number) {\n let newState = state;\n const totalWidth = getTotalWidth(newState);\n\n // The total width is smaller, we are expanding columns\n if (totalWidth < containerWidth) {\n let difference = containerWidth - totalWidth;\n let i = 0;\n // We start at the beginning and assign the columns their ideal width\n while (i < newState.length && difference > 0) {\n const currentCol = getColumnByIndex(newState, i);\n const colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);\n difference -= colAdjustment;\n\n // if there is still empty space, after all columns are their ideal sizes, assign it to the last column\n if (i === newState.length - 1 && difference !== 0) {\n const lastCol = getColumnByIndex(newState, i);\n newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);\n }\n\n i++;\n }\n }\n\n // The total width is larger than container, we need to squash the columns\n else if (totalWidth >= containerWidth) {\n let difference = totalWidth - containerWidth;\n // We start with the last column\n let j = newState.length - 1;\n while (j >= 0 && difference > 0) {\n const currentCol = getColumnByIndex(newState, j);\n if (currentCol.width > currentCol.minWidth) {\n const colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);\n difference -= colAdjustment;\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);\n }\n j--;\n }\n }\n\n return newState;\n}\n"]}
@@ -7,6 +7,8 @@ exports.useDataGrid_unstable = void 0;
7
7
  const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
8
8
  const useTable_1 = /*#__PURE__*/require("../Table/useTable");
9
9
  const hooks_1 = /*#__PURE__*/require("../../hooks");
10
+ const TableSelectionCell_1 = /*#__PURE__*/require("../TableSelectionCell");
11
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
10
12
  /**
11
13
  * Create the state required to render DataGrid.
12
14
  *
@@ -30,7 +32,10 @@ const useDataGrid_unstable = (props, ref) => {
30
32
  defaultSelectedItems,
31
33
  subtleSelection = false,
32
34
  selectionAppearance = 'brand',
33
- getRowId
35
+ getRowId,
36
+ resizableColumns,
37
+ columnSizingOptions,
38
+ onColumnResize
34
39
  } = props;
35
40
  const navigable = focusMode !== 'none';
36
41
  const keyboardNavAttr = react_tabster_1.useArrowNavigationGroup({
@@ -49,6 +54,12 @@ const useDataGrid_unstable = (props, ref) => {
49
54
  selectedItems,
50
55
  onSelectionChange,
51
56
  selectionMode: selectionMode !== null && selectionMode !== void 0 ? selectionMode : 'multiselect'
57
+ }), hooks_1.useTableColumnSizing_unstable({
58
+ onColumnResize,
59
+ columnSizingOptions,
60
+ // The selection cell is not part of the columns, therefore its width needs to be subtracted
61
+ // from the container to make sure the columns don't overflow the table.
62
+ containerWidthOffset: selectionMode ? -TableSelectionCell_1.CELL_WIDTH : 0
52
63
  })]);
53
64
  const baseTableState = useTable_1.useTable_unstable({
54
65
  role: 'grid',
@@ -56,14 +67,15 @@ const useDataGrid_unstable = (props, ref) => {
56
67
  noNativeElements: true,
57
68
  ...(navigable && keyboardNavAttr),
58
69
  ...props
59
- }, ref);
70
+ }, react_utilities_1.useMergedRefs(ref, tableState.tableRef));
60
71
  return {
61
72
  ...baseTableState,
62
73
  focusMode,
63
74
  tableState,
64
75
  selectableRows: !!selectionMode,
65
76
  subtleSelection,
66
- selectionAppearance
77
+ selectionAppearance,
78
+ resizableColumns
67
79
  };
68
80
  };
69
81
  exports.useDataGrid_unstable = useDataGrid_unstable;
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AACA;AAEA;AACA;AAEA;;;;;;;;;AASO,MAAMA,oBAAoB,GAAG,CAACC,KAAoB,EAAEC,GAA2B,KAAmB;EACvG,MAAM;IACJC,KAAK;IACLC,OAAO;IACPC,SAAS,GAAG,MAAM;IAClBC,aAAa;IACbC,YAAY;IACZC,iBAAiB;IACjBC,gBAAgB;IAChBC,SAAS;IACTC,aAAa;IACbC,oBAAoB;IACpBC,eAAe,GAAG,KAAK;IACvBC,mBAAmB,GAAG,OAAO;IAC7BC;EAAQ,CACT,GAAGd,KAAK;EAET,MAAMe,SAAS,GAAGX,SAAS,KAAK,MAAM;EACtC,MAAMY,eAAe,GAAGC,uCAAuB,CAAC;IAAEC,IAAI,EAAE;EAAM,CAAE,CAAC;EAEjE,MAAMC,UAAU,GAAGC,wBAAgB,CAAC;IAAElB,KAAK;IAAEC,OAAO;IAAEW;EAAQ,CAAE,EAAE,CAChEM,oBAAY,CAAC;IACXZ,gBAAgB;IAChBC,SAAS;IACTH;GACD,CAAC,EACFc,yBAAiB,CAAC;IAChBT,oBAAoB;IACpBD,aAAa;IACbH,iBAAiB;IACjBF,aAAa,EAAEA,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI;GACjC,CAAC,CACH,CAAC;EAEF,MAAMgB,cAAc,GAAGC,4BAAiB,CACtC;IAAEC,IAAI,EAAE,MAAM;IAAEC,EAAE,EAAE,KAAK;IAAEC,gBAAgB,EAAE,IAAI;IAAE,IAAIV,SAAS,IAAIC,eAAe,CAAC;IAAE,GAAGhB;EAAK,CAAE,EAChGC,GAAG,CACJ;EAED,OAAO;IACL,GAAGoB,cAAc;IACjBjB,SAAS;IACTe,UAAU;IACVO,cAAc,EAAE,CAAC,CAACrB,aAAa;IAC/BO,eAAe;IACfC;GACD;AACH,CAAC;AA/CYc,4BAAoB","names":["useDataGrid_unstable","props","ref","items","columns","focusMode","selectionMode","onSortChange","onSelectionChange","defaultSortState","sortState","selectedItems","defaultSelectedItems","subtleSelection","selectionAppearance","getRowId","navigable","keyboardNavAttr","react_tabster_1","axis","tableState","hooks_1","baseTableState","useTable_1","role","as","noNativeElements","selectableRows","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/useDataGrid.ts"],"sourcesContent":["import * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport type { DataGridProps, DataGridState } from './DataGrid.types';\nimport { useTable_unstable } from '../Table/useTable';\nimport { useTableFeatures, useTableSort, useTableSelection } from '../../hooks';\n\n/**\n * Create the state required to render DataGrid.\n *\n * The returned state can be modified with hooks such as useDataGridStyles_unstable,\n * before being passed to renderDataGrid_unstable.\n *\n * @param props - props from this instance of DataGrid\n * @param ref - reference to root HTMLElement of DataGrid\n */\nexport const useDataGrid_unstable = (props: DataGridProps, ref: React.Ref<HTMLElement>): DataGridState => {\n const {\n items,\n columns,\n focusMode = 'cell',\n selectionMode,\n onSortChange,\n onSelectionChange,\n defaultSortState,\n sortState,\n selectedItems,\n defaultSelectedItems,\n subtleSelection = false,\n selectionAppearance = 'brand',\n getRowId,\n } = props;\n\n const navigable = focusMode !== 'none';\n const keyboardNavAttr = useArrowNavigationGroup({ axis: 'grid' });\n\n const tableState = useTableFeatures({ items, columns, getRowId }, [\n useTableSort({\n defaultSortState,\n sortState,\n onSortChange,\n }),\n useTableSelection({\n defaultSelectedItems,\n selectedItems,\n onSelectionChange,\n selectionMode: selectionMode ?? 'multiselect',\n }),\n ]);\n\n const baseTableState = useTable_unstable(\n { role: 'grid', as: 'div', noNativeElements: true, ...(navigable && keyboardNavAttr), ...props },\n ref,\n );\n\n return {\n ...baseTableState,\n focusMode,\n tableState,\n selectableRows: !!selectionMode,\n subtleSelection,\n selectionAppearance,\n };\n};\n"]}
1
+ {"version":3,"mappings":";;;;;;AACA;AAEA;AACA;AACA;AACA;AAEA;;;;;;;;;AASO,MAAMA,oBAAoB,GAAG,CAACC,KAAoB,EAAEC,GAA2B,KAAmB;EACvG,MAAM;IACJC,KAAK;IACLC,OAAO;IACPC,SAAS,GAAG,MAAM;IAClBC,aAAa;IACbC,YAAY;IACZC,iBAAiB;IACjBC,gBAAgB;IAChBC,SAAS;IACTC,aAAa;IACbC,oBAAoB;IACpBC,eAAe,GAAG,KAAK;IACvBC,mBAAmB,GAAG,OAAO;IAC7BC,QAAQ;IACRC,gBAAgB;IAChBC,mBAAmB;IACnBC;EAAc,CACf,GAAGjB,KAAK;EAET,MAAMkB,SAAS,GAAGd,SAAS,KAAK,MAAM;EACtC,MAAMe,eAAe,GAAGC,uCAAuB,CAAC;IAAEC,IAAI,EAAE;EAAM,CAAE,CAAC;EAEjE,MAAMC,UAAU,GAAGC,wBAAgB,CAAC;IAAErB,KAAK;IAAEC,OAAO;IAAEW;EAAQ,CAAE,EAAE,CAChES,oBAAY,CAAC;IACXf,gBAAgB;IAChBC,SAAS;IACTH;GACD,CAAC,EACFiB,yBAAiB,CAAC;IAChBZ,oBAAoB;IACpBD,aAAa;IACbH,iBAAiB;IACjBF,aAAa,EAAEA,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI;GACjC,CAAC,EACFkB,qCAA6B,CAAC;IAC5BN,cAAc;IACdD,mBAAmB;IACnB;IACA;IACAQ,oBAAoB,EAAEnB,aAAa,GAAG,CAACoB,+BAAU,GAAG;GACrD,CAAC,CACH,CAAC;EAEF,MAAMC,cAAc,GAAGC,4BAAiB,CACtC;IACEC,IAAI,EAAE,MAAM;IACZC,EAAE,EAAE,KAAK;IACTC,gBAAgB,EAAE,IAAI;IACtB,IAAIZ,SAAS,IAAIC,eAAe,CAAC;IACjC,GAAGnB;GACJ,EACD+B,+BAAa,CAAC9B,GAAG,EAAEqB,UAAU,CAACU,QAAQ,CAAC,CACxC;EAED,OAAO;IACL,GAAGN,cAAc;IACjBtB,SAAS;IACTkB,UAAU;IACVW,cAAc,EAAE,CAAC,CAAC5B,aAAa;IAC/BO,eAAe;IACfC,mBAAmB;IACnBE;GACD;AACH,CAAC;AAhEYmB,4BAAoB","names":["useDataGrid_unstable","props","ref","items","columns","focusMode","selectionMode","onSortChange","onSelectionChange","defaultSortState","sortState","selectedItems","defaultSelectedItems","subtleSelection","selectionAppearance","getRowId","resizableColumns","columnSizingOptions","onColumnResize","navigable","keyboardNavAttr","react_tabster_1","axis","tableState","hooks_1","containerWidthOffset","TableSelectionCell_1","baseTableState","useTable_1","role","as","noNativeElements","react_utilities_1","tableRef","selectableRows","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/useDataGrid.ts"],"sourcesContent":["import * as React from 'react';\nimport { useArrowNavigationGroup } from '@fluentui/react-tabster';\nimport type { DataGridProps, DataGridState } from './DataGrid.types';\nimport { useTable_unstable } from '../Table/useTable';\nimport { useTableFeatures, useTableSort, useTableSelection, useTableColumnSizing_unstable } from '../../hooks';\nimport { CELL_WIDTH } from '../TableSelectionCell';\nimport { useMergedRefs } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render DataGrid.\n *\n * The returned state can be modified with hooks such as useDataGridStyles_unstable,\n * before being passed to renderDataGrid_unstable.\n *\n * @param props - props from this instance of DataGrid\n * @param ref - reference to root HTMLElement of DataGrid\n */\nexport const useDataGrid_unstable = (props: DataGridProps, ref: React.Ref<HTMLElement>): DataGridState => {\n const {\n items,\n columns,\n focusMode = 'cell',\n selectionMode,\n onSortChange,\n onSelectionChange,\n defaultSortState,\n sortState,\n selectedItems,\n defaultSelectedItems,\n subtleSelection = false,\n selectionAppearance = 'brand',\n getRowId,\n resizableColumns,\n columnSizingOptions,\n onColumnResize,\n } = props;\n\n const navigable = focusMode !== 'none';\n const keyboardNavAttr = useArrowNavigationGroup({ axis: 'grid' });\n\n const tableState = useTableFeatures({ items, columns, getRowId }, [\n useTableSort({\n defaultSortState,\n sortState,\n onSortChange,\n }),\n useTableSelection({\n defaultSelectedItems,\n selectedItems,\n onSelectionChange,\n selectionMode: selectionMode ?? 'multiselect',\n }),\n useTableColumnSizing_unstable({\n onColumnResize,\n columnSizingOptions,\n // The selection cell is not part of the columns, therefore its width needs to be subtracted\n // from the container to make sure the columns don't overflow the table.\n containerWidthOffset: selectionMode ? -CELL_WIDTH : 0,\n }),\n ]);\n\n const baseTableState = useTable_unstable(\n {\n role: 'grid',\n as: 'div',\n noNativeElements: true,\n ...(navigable && keyboardNavAttr),\n ...props,\n },\n useMergedRefs(ref, tableState.tableRef),\n );\n\n return {\n ...baseTableState,\n focusMode,\n tableState,\n selectableRows: !!selectionMode,\n subtleSelection,\n selectionAppearance,\n resizableColumns,\n };\n};\n"]}
@@ -14,7 +14,8 @@ function useDataGridContextValues_unstable(state) {
14
14
  focusMode: state.focusMode,
15
15
  selectableRows: state.selectableRows,
16
16
  subtleSelection: state.subtleSelection,
17
- selectionAppearance: state.selectionAppearance
17
+ selectionAppearance: state.selectionAppearance,
18
+ resizableColumns: state.resizableColumns
18
19
  }
19
20
  };
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAAA;AAGA,SAAgBA,iCAAiC,CAACC,KAAoB;EACpE,MAAMC,kBAAkB,GAAGC,sDAA8B,CAACF,KAAK,CAAC;EAChE,OAAO;IACL,GAAGC,kBAAkB;IACrBE,QAAQ,EAAE;MACR,GAAGH,KAAK,CAACI,UAAU;MACnBC,SAAS,EAAEL,KAAK,CAACK,SAAS;MAC1BC,cAAc,EAAEN,KAAK,CAACM,cAAc;MACpCC,eAAe,EAAEP,KAAK,CAACO,eAAe;MACtCC,mBAAmB,EAAER,KAAK,CAACQ;;GAE9B;AACH;AAZAC","names":["useDataGridContextValues_unstable","state","tableContextValues","useTableContextValues_1","dataGrid","tableState","focusMode","selectableRows","subtleSelection","selectionAppearance","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/useDataGridContextValues.ts"],"sourcesContent":["import { useTableContextValues_unstable } from '../Table/useTableContextValues';\nimport { DataGridContextValues, DataGridState } from './DataGrid.types';\n\nexport function useDataGridContextValues_unstable(state: DataGridState): DataGridContextValues {\n const tableContextValues = useTableContextValues_unstable(state);\n return {\n ...tableContextValues,\n dataGrid: {\n ...state.tableState,\n focusMode: state.focusMode,\n selectableRows: state.selectableRows,\n subtleSelection: state.subtleSelection,\n selectionAppearance: state.selectionAppearance,\n },\n };\n}\n"]}
1
+ {"version":3,"mappings":";;;;;;AAAA;AAGA,SAAgBA,iCAAiC,CAACC,KAAoB;EACpE,MAAMC,kBAAkB,GAAGC,sDAA8B,CAACF,KAAK,CAAC;EAChE,OAAO;IACL,GAAGC,kBAAkB;IACrBE,QAAQ,EAAE;MACR,GAAGH,KAAK,CAACI,UAAU;MACnBC,SAAS,EAAEL,KAAK,CAACK,SAAS;MAC1BC,cAAc,EAAEN,KAAK,CAACM,cAAc;MACpCC,eAAe,EAAEP,KAAK,CAACO,eAAe;MACtCC,mBAAmB,EAAER,KAAK,CAACQ,mBAAmB;MAC9CC,gBAAgB,EAAET,KAAK,CAACS;;GAE3B;AACH;AAbAC","names":["useDataGridContextValues_unstable","state","tableContextValues","useTableContextValues_1","dataGrid","tableState","focusMode","selectableRows","subtleSelection","selectionAppearance","resizableColumns","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/useDataGridContextValues.ts"],"sourcesContent":["import { useTableContextValues_unstable } from '../Table/useTableContextValues';\nimport { DataGridContextValues, DataGridState } from './DataGrid.types';\n\nexport function useDataGridContextValues_unstable(state: DataGridState): DataGridContextValues {\n const tableContextValues = useTableContextValues_unstable(state);\n return {\n ...tableContextValues,\n dataGrid: {\n ...state.tableState,\n focusMode: state.focusMode,\n selectableRows: state.selectableRows,\n subtleSelection: state.subtleSelection,\n selectionAppearance: state.selectionAppearance,\n resizableColumns: state.resizableColumns,\n },\n };\n}\n"]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useDataGridCell_unstable = void 0;
7
7
  const useTableCell_1 = /*#__PURE__*/require("../TableCell/useTableCell");
8
8
  const dataGridContext_1 = /*#__PURE__*/require("../../contexts/dataGridContext");
9
+ const columnIdContext_1 = /*#__PURE__*/require("../../contexts/columnIdContext");
9
10
  /**
10
11
  * Create the state required to render DataGridCell.
11
12
  *
@@ -16,11 +17,15 @@ const dataGridContext_1 = /*#__PURE__*/require("../../contexts/dataGridContext")
16
17
  * @param ref - reference to root HTMLElement of DataGridCell
17
18
  */
18
19
  const useDataGridCell_unstable = (props, ref) => {
20
+ const columnId = columnIdContext_1.useColumnIdContext();
19
21
  const tabbable = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.focusMode === 'cell');
22
+ const resizableColumns = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.resizableColumns);
23
+ const columnSizing = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.columnSizing_unstable);
20
24
  return useTableCell_1.useTableCell_unstable({
21
25
  as: 'div',
22
26
  role: 'gridcell',
23
27
  tabIndex: tabbable ? 0 : undefined,
28
+ ...(resizableColumns ? columnSizing.getTableCellProps(columnId) : {}),
24
29
  ...props
25
30
  }, ref);
26
31
  };
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AAEA;AACA;AAEA;;;;;;;;;AASO,MAAMA,wBAAwB,GAAG,CAACC,KAAwB,EAAEC,GAA2B,KAAuB;EACnH,MAAMC,QAAQ,GAAGC,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACC,SAAS,KAAK,MAAM,CAAC;EAC7E,OAAOC,oCAAqB,CAAC;IAAEC,EAAE,EAAE,KAAK;IAAEC,IAAI,EAAE,UAAU;IAAEC,QAAQ,EAAEP,QAAQ,GAAG,CAAC,GAAGQ,SAAS;IAAE,GAAGV;EAAK,CAAE,EAAEC,GAAG,CAAC;AAClH,CAAC;AAHYU,gCAAwB","names":["useDataGridCell_unstable","props","ref","tabbable","dataGridContext_1","ctx","focusMode","useTableCell_1","as","role","tabIndex","undefined","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGridCell/useDataGridCell.ts"],"sourcesContent":["import * as React from 'react';\nimport type { DataGridCellProps, DataGridCellState } from './DataGridCell.types';\nimport { useTableCell_unstable } from '../TableCell/useTableCell';\nimport { useDataGridContext_unstable } from '../../contexts/dataGridContext';\n\n/**\n * Create the state required to render DataGridCell.\n *\n * The returned state can be modified with hooks such as useDataGridCellStyles_unstable,\n * before being passed to renderDataGridCell_unstable.\n *\n * @param props - props from this instance of DataGridCell\n * @param ref - reference to root HTMLElement of DataGridCell\n */\nexport const useDataGridCell_unstable = (props: DataGridCellProps, ref: React.Ref<HTMLElement>): DataGridCellState => {\n const tabbable = useDataGridContext_unstable(ctx => ctx.focusMode === 'cell');\n return useTableCell_unstable({ as: 'div', role: 'gridcell', tabIndex: tabbable ? 0 : undefined, ...props }, ref);\n};\n"]}
1
+ {"version":3,"mappings":";;;;;;AAEA;AACA;AACA;AAEA;;;;;;;;;AASO,MAAMA,wBAAwB,GAAG,CAACC,KAAwB,EAAEC,GAA2B,KAAuB;EACnH,MAAMC,QAAQ,GAAGC,oCAAkB,EAAE;EACrC,MAAMC,QAAQ,GAAGC,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACC,SAAS,KAAK,MAAM,CAAC;EAC7E,MAAMC,gBAAgB,GAAGH,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACE,gBAAgB,CAAC;EACjF,MAAMC,YAAY,GAAGJ,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACI,qBAAqB,CAAC;EAClF,OAAOC,oCAAqB,CAC1B;IACEC,EAAE,EAAE,KAAK;IACTC,IAAI,EAAE,UAAU;IAChBC,QAAQ,EAAEV,QAAQ,GAAG,CAAC,GAAGW,SAAS;IAClC,IAAIP,gBAAgB,GAAGC,YAAY,CAACO,iBAAiB,CAACd,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrE,GAAGF;GACJ,EACDC,GAAG,CACJ;AACH,CAAC;AAfYgB,gCAAwB","names":["useDataGridCell_unstable","props","ref","columnId","columnIdContext_1","tabbable","dataGridContext_1","ctx","focusMode","resizableColumns","columnSizing","columnSizing_unstable","useTableCell_1","as","role","tabIndex","undefined","getTableCellProps","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGridCell/useDataGridCell.ts"],"sourcesContent":["import * as React from 'react';\nimport type { DataGridCellProps, DataGridCellState } from './DataGridCell.types';\nimport { useTableCell_unstable } from '../TableCell/useTableCell';\nimport { useDataGridContext_unstable } from '../../contexts/dataGridContext';\nimport { useColumnIdContext } from '../../contexts/columnIdContext';\n\n/**\n * Create the state required to render DataGridCell.\n *\n * The returned state can be modified with hooks such as useDataGridCellStyles_unstable,\n * before being passed to renderDataGridCell_unstable.\n *\n * @param props - props from this instance of DataGridCell\n * @param ref - reference to root HTMLElement of DataGridCell\n */\nexport const useDataGridCell_unstable = (props: DataGridCellProps, ref: React.Ref<HTMLElement>): DataGridCellState => {\n const columnId = useColumnIdContext();\n const tabbable = useDataGridContext_unstable(ctx => ctx.focusMode === 'cell');\n const resizableColumns = useDataGridContext_unstable(ctx => ctx.resizableColumns);\n const columnSizing = useDataGridContext_unstable(ctx => ctx.columnSizing_unstable);\n return useTableCell_unstable(\n {\n as: 'div',\n role: 'gridcell',\n tabIndex: tabbable ? 0 : undefined,\n ...(resizableColumns ? columnSizing.getTableCellProps(columnId) : {}),\n ...props,\n },\n ref,\n );\n};\n"]}
@@ -25,6 +25,8 @@ const useDataGridHeaderCell_unstable = (props, ref) => {
25
25
  } = tableContext_1.useTableContext();
26
26
  const toggleColumnSort = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.sort.toggleColumnSort);
27
27
  const sortDirection = dataGridContext_1.useDataGridContext_unstable(ctx => sortable ? ctx.sort.getSortDirection(columnId) : undefined);
28
+ const resizableColumns = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.resizableColumns);
29
+ const columnSizing = dataGridContext_1.useDataGridContext_unstable(ctx => ctx.columnSizing_unstable);
28
30
  const onClick = react_utilities_1.useEventCallback(e => {
29
31
  var _a;
30
32
  if (sortable) {
@@ -36,6 +38,7 @@ const useDataGridHeaderCell_unstable = (props, ref) => {
36
38
  sortDirection,
37
39
  as: 'div',
38
40
  tabIndex: sortable ? undefined : 0,
41
+ ...(resizableColumns ? columnSizing.getTableHeaderCellProps(columnId) : {}),
39
42
  ...props,
40
43
  onClick
41
44
  }, ref);
@@ -1 +1 @@
1
- {"version":3,"mappings":";;;;;;AACA;AAEA;AACA;AACA;AACA;AAEA;;;;;;;;;AASO,MAAMA,8BAA8B,GAAG,CAC5CC,KAA8B,EAC9BC,GAA2B,KACA;EAC3B,MAAMC,QAAQ,GAAGC,oCAAkB,EAAE;EACrC,MAAM;IAAEC;EAAQ,CAAE,GAAGC,8BAAe,EAAE;EACtC,MAAMC,gBAAgB,GAAGC,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAACH,gBAAgB,CAAC;EACtF,MAAMI,aAAa,GAAGH,6CAA2B,CAACC,GAAG,IACnDJ,QAAQ,GAAGI,GAAG,CAACC,IAAI,CAACE,gBAAgB,CAACT,QAAQ,CAAC,GAAGU,SAAS,CAC3D;EACD,MAAMC,OAAO,GAAGC,kCAAgB,CAAEC,CAA+C,IAAI;;IACnF,IAAIX,QAAQ,EAAE;MACZE,gBAAgB,CAACS,CAAC,EAAEb,QAAQ,CAAC;;IAE/B,WAAK,CAACW,OAAO,+CAAbb,KAAK,EAAWe,CAAC,CAAC;EACpB,CAAC,CAAC;EAEF,OAAOC,gDAA2B,CAChC;IAAEN,aAAa;IAAEO,EAAE,EAAE,KAAK;IAAEC,QAAQ,EAAEd,QAAQ,GAAGQ,SAAS,GAAG,CAAC;IAAE,GAAGZ,KAAK;IAAEa;EAAO,CAAE,EACnFZ,GAAG,CACJ;AACH,CAAC;AArBYkB,sCAA8B","names":["useDataGridHeaderCell_unstable","props","ref","columnId","columnIdContext_1","sortable","tableContext_1","toggleColumnSort","dataGridContext_1","ctx","sort","sortDirection","getSortDirection","undefined","onClick","react_utilities_1","e","useTableHeaderCell_1","as","tabIndex","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport type { DataGridHeaderCellProps, DataGridHeaderCellState } from './DataGridHeaderCell.types';\nimport { useTableHeaderCell_unstable } from '../TableHeaderCell/useTableHeaderCell';\nimport { useDataGridContext_unstable } from '../../contexts/dataGridContext';\nimport { useColumnIdContext } from '../../contexts/columnIdContext';\nimport { useTableContext } from '../../contexts/tableContext';\n\n/**\n * Create the state required to render DataGridHeaderCell.\n *\n * The returned state can be modified with hooks such as useDataGridHeaderCellStyles_unstable,\n * before being passed to renderDataGridHeaderCell_unstable.\n *\n * @param props - props from this instance of DataGridHeaderCell\n * @param ref - reference to root HTMLElement of DataGridHeaderCell\n */\nexport const useDataGridHeaderCell_unstable = (\n props: DataGridHeaderCellProps,\n ref: React.Ref<HTMLElement>,\n): DataGridHeaderCellState => {\n const columnId = useColumnIdContext();\n const { sortable } = useTableContext();\n const toggleColumnSort = useDataGridContext_unstable(ctx => ctx.sort.toggleColumnSort);\n const sortDirection = useDataGridContext_unstable(ctx =>\n sortable ? ctx.sort.getSortDirection(columnId) : undefined,\n );\n const onClick = useEventCallback((e: React.MouseEvent<HTMLTableHeaderCellElement>) => {\n if (sortable) {\n toggleColumnSort(e, columnId);\n }\n props.onClick?.(e);\n });\n\n return useTableHeaderCell_unstable(\n { sortDirection, as: 'div', tabIndex: sortable ? undefined : 0, ...props, onClick },\n ref,\n );\n};\n"]}
1
+ {"version":3,"mappings":";;;;;;AACA;AAEA;AACA;AACA;AACA;AAEA;;;;;;;;;AASO,MAAMA,8BAA8B,GAAG,CAC5CC,KAA8B,EAC9BC,GAA2B,KACA;EAC3B,MAAMC,QAAQ,GAAGC,oCAAkB,EAAE;EACrC,MAAM;IAAEC;EAAQ,CAAE,GAAGC,8BAAe,EAAE;EACtC,MAAMC,gBAAgB,GAAGC,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAACH,gBAAgB,CAAC;EACtF,MAAMI,aAAa,GAAGH,6CAA2B,CAACC,GAAG,IACnDJ,QAAQ,GAAGI,GAAG,CAACC,IAAI,CAACE,gBAAgB,CAACT,QAAQ,CAAC,GAAGU,SAAS,CAC3D;EAED,MAAMC,gBAAgB,GAAGN,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACK,gBAAgB,CAAC;EACjF,MAAMC,YAAY,GAAGP,6CAA2B,CAACC,GAAG,IAAIA,GAAG,CAACO,qBAAqB,CAAC;EAElF,MAAMC,OAAO,GAAGC,kCAAgB,CAAEC,CAA+C,IAAI;;IACnF,IAAId,QAAQ,EAAE;MACZE,gBAAgB,CAACY,CAAC,EAAEhB,QAAQ,CAAC;;IAE/B,WAAK,CAACc,OAAO,+CAAbhB,KAAK,EAAWkB,CAAC,CAAC;EACpB,CAAC,CAAC;EAEF,OAAOC,gDAA2B,CAChC;IACET,aAAa;IACbU,EAAE,EAAE,KAAK;IACTC,QAAQ,EAAEjB,QAAQ,GAAGQ,SAAS,GAAG,CAAC;IAClC,IAAIC,gBAAgB,GAAGC,YAAY,CAACQ,uBAAuB,CAACpB,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC3E,GAAGF,KAAK;IACRgB;GACD,EACDf,GAAG,CACJ;AACH,CAAC;AAhCYsB,sCAA8B","names":["useDataGridHeaderCell_unstable","props","ref","columnId","columnIdContext_1","sortable","tableContext_1","toggleColumnSort","dataGridContext_1","ctx","sort","sortDirection","getSortDirection","undefined","resizableColumns","columnSizing","columnSizing_unstable","onClick","react_utilities_1","e","useTableHeaderCell_1","as","tabIndex","getTableHeaderCellProps","exports"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGridHeaderCell/useDataGridHeaderCell.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport type { DataGridHeaderCellProps, DataGridHeaderCellState } from './DataGridHeaderCell.types';\nimport { useTableHeaderCell_unstable } from '../TableHeaderCell/useTableHeaderCell';\nimport { useDataGridContext_unstable } from '../../contexts/dataGridContext';\nimport { useColumnIdContext } from '../../contexts/columnIdContext';\nimport { useTableContext } from '../../contexts/tableContext';\n\n/**\n * Create the state required to render DataGridHeaderCell.\n *\n * The returned state can be modified with hooks such as useDataGridHeaderCellStyles_unstable,\n * before being passed to renderDataGridHeaderCell_unstable.\n *\n * @param props - props from this instance of DataGridHeaderCell\n * @param ref - reference to root HTMLElement of DataGridHeaderCell\n */\nexport const useDataGridHeaderCell_unstable = (\n props: DataGridHeaderCellProps,\n ref: React.Ref<HTMLElement>,\n): DataGridHeaderCellState => {\n const columnId = useColumnIdContext();\n const { sortable } = useTableContext();\n const toggleColumnSort = useDataGridContext_unstable(ctx => ctx.sort.toggleColumnSort);\n const sortDirection = useDataGridContext_unstable(ctx =>\n sortable ? ctx.sort.getSortDirection(columnId) : undefined,\n );\n\n const resizableColumns = useDataGridContext_unstable(ctx => ctx.resizableColumns);\n const columnSizing = useDataGridContext_unstable(ctx => ctx.columnSizing_unstable);\n\n const onClick = useEventCallback((e: React.MouseEvent<HTMLTableHeaderCellElement>) => {\n if (sortable) {\n toggleColumnSort(e, columnId);\n }\n props.onClick?.(e);\n });\n\n return useTableHeaderCell_unstable(\n {\n sortDirection,\n as: 'div',\n tabIndex: sortable ? undefined : 0,\n ...(resizableColumns ? columnSizing.getTableHeaderCellProps(columnId) : {}),\n ...props,\n onClick,\n },\n ref,\n );\n};\n"]}
@@ -37,6 +37,7 @@ const useTableCellLayout_unstable = (props, ref) => {
37
37
  ...props
38
38
  }),
39
39
  appearance: props.appearance,
40
+ truncate: props.truncate,
40
41
  main: react_utilities_1.resolveShorthand(props.main, {
41
42
  required: true
42
43
  }),