@fluentui/react-table 9.0.0-rc.4 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/CHANGELOG.json +124 -8
  2. package/CHANGELOG.md +44 -9
  3. package/dist/index.d.ts +114 -3
  4. package/lib/TableResizeHandle.js +2 -0
  5. package/lib/TableResizeHandle.js.map +1 -0
  6. package/lib/components/DataGrid/DataGrid.types.js.map +1 -1
  7. package/lib/components/DataGrid/index.js +1 -0
  8. package/lib/components/DataGrid/index.js.map +1 -1
  9. package/lib/components/DataGrid/useDataGrid.js +16 -4
  10. package/lib/components/DataGrid/useDataGrid.js.map +1 -1
  11. package/lib/components/DataGrid/useDataGridContextValues.js +2 -1
  12. package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -1
  13. package/lib/components/DataGridCell/useDataGridCell.js +5 -0
  14. package/lib/components/DataGridCell/useDataGridCell.js.map +1 -1
  15. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +3 -0
  16. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  17. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +5 -1
  18. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -1
  19. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  20. package/lib/components/TableCellLayout/useTableCellLayout.js +1 -0
  21. package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  22. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js +18 -4
  23. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  24. package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  25. package/lib/components/TableHeaderCell/renderTableHeaderCell.js +3 -1
  26. package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  27. package/lib/components/TableHeaderCell/useTableHeaderCell.js +3 -1
  28. package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  29. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js +10 -4
  30. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  31. package/lib/components/TableResizeHandle/TableResizeHandle.js +14 -0
  32. package/lib/components/TableResizeHandle/TableResizeHandle.js.map +1 -0
  33. package/lib/components/TableResizeHandle/TableResizeHandle.types.js +2 -0
  34. package/lib/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -0
  35. package/lib/components/TableResizeHandle/index.js +6 -0
  36. package/lib/components/TableResizeHandle/index.js.map +1 -0
  37. package/lib/components/TableResizeHandle/renderTableResizeHandle.js +15 -0
  38. package/lib/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -0
  39. package/lib/components/TableResizeHandle/useTableResizeHandle.js +28 -0
  40. package/lib/components/TableResizeHandle/useTableResizeHandle.js.map +1 -0
  41. package/lib/components/TableResizeHandle/useTableResizeHandleStyles.js +49 -0
  42. package/lib/components/TableResizeHandle/useTableResizeHandleStyles.js.map +1 -0
  43. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js +1 -0
  44. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  45. package/lib/hooks/index.js +1 -0
  46. package/lib/hooks/index.js.map +1 -1
  47. package/lib/hooks/types.js.map +1 -1
  48. package/lib/hooks/useMeasureElement.js +48 -0
  49. package/lib/hooks/useMeasureElement.js.map +1 -0
  50. package/lib/hooks/useTableColumnResizeMouseHandler.js +50 -0
  51. package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -0
  52. package/lib/hooks/useTableColumnResizeState.js +112 -0
  53. package/lib/hooks/useTableColumnResizeState.js.map +1 -0
  54. package/lib/hooks/useTableColumnSizing.js +77 -0
  55. package/lib/hooks/useTableColumnSizing.js.map +1 -0
  56. package/lib/hooks/useTableFeatures.js +10 -2
  57. package/lib/hooks/useTableFeatures.js.map +1 -1
  58. package/lib/index.js +3 -2
  59. package/lib/index.js.map +1 -1
  60. package/lib/utils/columnResizeUtils.js +158 -0
  61. package/lib/utils/columnResizeUtils.js.map +1 -0
  62. package/lib-amd/DataGrid.js +6 -0
  63. package/lib-amd/DataGrid.js.map +1 -0
  64. package/lib-amd/DataGridBody.js +6 -0
  65. package/lib-amd/DataGridBody.js.map +1 -0
  66. package/lib-amd/DataGridCell.js +6 -0
  67. package/lib-amd/DataGridCell.js.map +1 -0
  68. package/lib-amd/DataGridHeader.js +6 -0
  69. package/lib-amd/DataGridHeader.js.map +1 -0
  70. package/lib-amd/DataGridHeaderCell.js +6 -0
  71. package/lib-amd/DataGridHeaderCell.js.map +1 -0
  72. package/lib-amd/DataGridRow.js +6 -0
  73. package/lib-amd/DataGridRow.js.map +1 -0
  74. package/lib-amd/DataGridSelectionCell.js +6 -0
  75. package/lib-amd/DataGridSelectionCell.js.map +1 -0
  76. package/lib-amd/Table.js +6 -0
  77. package/lib-amd/Table.js.map +1 -0
  78. package/lib-amd/TableBody.js +6 -0
  79. package/lib-amd/TableBody.js.map +1 -0
  80. package/lib-amd/TableCell.js +6 -0
  81. package/lib-amd/TableCell.js.map +1 -0
  82. package/lib-amd/TableCellActions.js +6 -0
  83. package/lib-amd/TableCellActions.js.map +1 -0
  84. package/lib-amd/TableCellLayout.js +6 -0
  85. package/lib-amd/TableCellLayout.js.map +1 -0
  86. package/lib-amd/TableHeader.js +6 -0
  87. package/lib-amd/TableHeader.js.map +1 -0
  88. package/lib-amd/TableHeaderCell.js +6 -0
  89. package/lib-amd/TableHeaderCell.js.map +1 -0
  90. package/lib-amd/TableResizeHandle.js +6 -0
  91. package/lib-amd/TableResizeHandle.js.map +1 -0
  92. package/lib-amd/TableRow.js +6 -0
  93. package/lib-amd/TableRow.js.map +1 -0
  94. package/lib-amd/TableSelectionCell.js +6 -0
  95. package/lib-amd/TableSelectionCell.js.map +1 -0
  96. package/lib-amd/components/DataGrid/DataGrid.js +15 -0
  97. package/lib-amd/components/DataGrid/DataGrid.js.map +1 -0
  98. package/lib-amd/components/DataGrid/DataGrid.types.js +5 -0
  99. package/lib-amd/components/DataGrid/DataGrid.types.js.map +1 -0
  100. package/lib-amd/components/DataGrid/index.js +11 -0
  101. package/lib-amd/components/DataGrid/index.js.map +1 -0
  102. package/lib-amd/components/DataGrid/renderDataGrid.js +13 -0
  103. package/lib-amd/components/DataGrid/renderDataGrid.js.map +1 -0
  104. package/lib-amd/components/DataGrid/useDataGrid.js +43 -0
  105. package/lib-amd/components/DataGrid/useDataGrid.js.map +1 -0
  106. package/lib-amd/components/DataGrid/useDataGridContextValues.js +11 -0
  107. package/lib-amd/components/DataGrid/useDataGridContextValues.js.map +1 -0
  108. package/lib-amd/components/DataGrid/useDataGridStyles.js +18 -0
  109. package/lib-amd/components/DataGrid/useDataGridStyles.js.map +1 -0
  110. package/lib-amd/components/DataGridBody/DataGridBody.js +15 -0
  111. package/lib-amd/components/DataGridBody/DataGridBody.js.map +1 -0
  112. package/lib-amd/components/DataGridBody/DataGridBody.types.js +5 -0
  113. package/lib-amd/components/DataGridBody/DataGridBody.types.js.map +1 -0
  114. package/lib-amd/components/DataGridBody/index.js +10 -0
  115. package/lib-amd/components/DataGridBody/index.js.map +1 -0
  116. package/lib-amd/components/DataGridBody/renderDataGridBody.js +14 -0
  117. package/lib-amd/components/DataGridBody/renderDataGridBody.js.map +1 -0
  118. package/lib-amd/components/DataGridBody/useDataGridBody.js +24 -0
  119. package/lib-amd/components/DataGridBody/useDataGridBody.js.map +1 -0
  120. package/lib-amd/components/DataGridBody/useDataGridBodyStyles.js +18 -0
  121. package/lib-amd/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  122. package/lib-amd/components/DataGridCell/DataGridCell.js +15 -0
  123. package/lib-amd/components/DataGridCell/DataGridCell.js.map +1 -0
  124. package/lib-amd/components/DataGridCell/DataGridCell.types.js +5 -0
  125. package/lib-amd/components/DataGridCell/DataGridCell.types.js.map +1 -0
  126. package/lib-amd/components/DataGridCell/index.js +10 -0
  127. package/lib-amd/components/DataGridCell/index.js.map +1 -0
  128. package/lib-amd/components/DataGridCell/renderDataGridCell.js +13 -0
  129. package/lib-amd/components/DataGridCell/renderDataGridCell.js.map +1 -0
  130. package/lib-amd/components/DataGridCell/useDataGridCell.js +23 -0
  131. package/lib-amd/components/DataGridCell/useDataGridCell.js.map +1 -0
  132. package/lib-amd/components/DataGridCell/useDataGridCellStyles.js +18 -0
  133. package/lib-amd/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  134. package/lib-amd/components/DataGridHeader/DataGridHeader.js +15 -0
  135. package/lib-amd/components/DataGridHeader/DataGridHeader.js.map +1 -0
  136. package/lib-amd/components/DataGridHeader/DataGridHeader.types.js +5 -0
  137. package/lib-amd/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  138. package/lib-amd/components/DataGridHeader/index.js +10 -0
  139. package/lib-amd/components/DataGridHeader/index.js.map +1 -0
  140. package/lib-amd/components/DataGridHeader/renderDataGridHeader.js +13 -0
  141. package/lib-amd/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  142. package/lib-amd/components/DataGridHeader/useDataGridHeader.js +19 -0
  143. package/lib-amd/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  144. package/lib-amd/components/DataGridHeader/useDataGridHeaderStyles.js +18 -0
  145. package/lib-amd/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  146. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.js +15 -0
  147. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  148. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.types.js +5 -0
  149. package/lib-amd/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  150. package/lib-amd/components/DataGridHeaderCell/index.js +10 -0
  151. package/lib-amd/components/DataGridHeaderCell/index.js.map +1 -0
  152. package/lib-amd/components/DataGridHeaderCell/renderDataGridHeaderCell.js +13 -0
  153. package/lib-amd/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  154. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCell.js +34 -0
  155. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  156. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +30 -0
  157. package/lib-amd/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  158. package/lib-amd/components/DataGridRow/DataGridRow.js +15 -0
  159. package/lib-amd/components/DataGridRow/DataGridRow.js.map +1 -0
  160. package/lib-amd/components/DataGridRow/DataGridRow.types.js +5 -0
  161. package/lib-amd/components/DataGridRow/DataGridRow.types.js.map +1 -0
  162. package/lib-amd/components/DataGridRow/index.js +10 -0
  163. package/lib-amd/components/DataGridRow/index.js.map +1 -0
  164. package/lib-amd/components/DataGridRow/renderDataGridRow.js +16 -0
  165. package/lib-amd/components/DataGridRow/renderDataGridRow.js.map +1 -0
  166. package/lib-amd/components/DataGridRow/useDataGridRow.js +49 -0
  167. package/lib-amd/components/DataGridRow/useDataGridRow.js.map +1 -0
  168. package/lib-amd/components/DataGridRow/useDataGridRowStyles.js +22 -0
  169. package/lib-amd/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  170. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.js +15 -0
  171. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  172. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.types.js +5 -0
  173. package/lib-amd/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  174. package/lib-amd/components/DataGridSelectionCell/index.js +10 -0
  175. package/lib-amd/components/DataGridSelectionCell/index.js.map +1 -0
  176. package/lib-amd/components/DataGridSelectionCell/renderDataGridSelectionCell.js +13 -0
  177. package/lib-amd/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  178. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCell.js +39 -0
  179. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  180. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +26 -0
  181. package/lib-amd/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  182. package/lib-amd/components/Table/Table.js +15 -0
  183. package/lib-amd/components/Table/Table.js.map +1 -0
  184. package/lib-amd/components/Table/Table.types.js +5 -0
  185. package/lib-amd/components/Table/Table.types.js.map +1 -0
  186. package/lib-amd/components/Table/index.js +10 -0
  187. package/lib-amd/components/Table/index.js.map +1 -0
  188. package/lib-amd/components/Table/renderTable.js +15 -0
  189. package/lib-amd/components/Table/renderTable.js.map +1 -0
  190. package/lib-amd/components/Table/useTable.js +29 -0
  191. package/lib-amd/components/Table/useTable.js.map +1 -0
  192. package/lib-amd/components/Table/useTableContextValues.js +18 -0
  193. package/lib-amd/components/Table/useTableContextValues.js.map +1 -0
  194. package/lib-amd/components/Table/useTableStyles.js +45 -0
  195. package/lib-amd/components/Table/useTableStyles.js.map +1 -0
  196. package/lib-amd/components/TableBody/TableBody.js +15 -0
  197. package/lib-amd/components/TableBody/TableBody.js.map +1 -0
  198. package/lib-amd/components/TableBody/TableBody.types.js +5 -0
  199. package/lib-amd/components/TableBody/TableBody.types.js.map +1 -0
  200. package/lib-amd/components/TableBody/index.js +10 -0
  201. package/lib-amd/components/TableBody/index.js.map +1 -0
  202. package/lib-amd/components/TableBody/renderTableBody.js +14 -0
  203. package/lib-amd/components/TableBody/renderTableBody.js.map +1 -0
  204. package/lib-amd/components/TableBody/useTableBody.js +28 -0
  205. package/lib-amd/components/TableBody/useTableBody.js.map +1 -0
  206. package/lib-amd/components/TableBody/useTableBodyStyles.js +32 -0
  207. package/lib-amd/components/TableBody/useTableBodyStyles.js.map +1 -0
  208. package/lib-amd/components/TableCell/TableCell.js +15 -0
  209. package/lib-amd/components/TableCell/TableCell.js.map +1 -0
  210. package/lib-amd/components/TableCell/TableCell.types.js +5 -0
  211. package/lib-amd/components/TableCell/TableCell.types.js.map +1 -0
  212. package/lib-amd/components/TableCell/index.js +10 -0
  213. package/lib-amd/components/TableCell/index.js.map +1 -0
  214. package/lib-amd/components/TableCell/renderTableCell.js +14 -0
  215. package/lib-amd/components/TableCell/renderTableCell.js.map +1 -0
  216. package/lib-amd/components/TableCell/useTableCell.js +29 -0
  217. package/lib-amd/components/TableCell/useTableCell.js.map +1 -0
  218. package/lib-amd/components/TableCell/useTableCellStyles.js +56 -0
  219. package/lib-amd/components/TableCell/useTableCellStyles.js.map +1 -0
  220. package/lib-amd/components/TableCellActions/TableCellActions.js +15 -0
  221. package/lib-amd/components/TableCellActions/TableCellActions.js.map +1 -0
  222. package/lib-amd/components/TableCellActions/TableCellActions.types.js +5 -0
  223. package/lib-amd/components/TableCellActions/TableCellActions.types.js.map +1 -0
  224. package/lib-amd/components/TableCellActions/index.js +10 -0
  225. package/lib-amd/components/TableCellActions/index.js.map +1 -0
  226. package/lib-amd/components/TableCellActions/renderTableCellActions.js +14 -0
  227. package/lib-amd/components/TableCellActions/renderTableCellActions.js.map +1 -0
  228. package/lib-amd/components/TableCellActions/useTableCellActions.js +26 -0
  229. package/lib-amd/components/TableCellActions/useTableCellActions.js.map +1 -0
  230. package/lib-amd/components/TableCellActions/useTableCellActionsStyles.js +35 -0
  231. package/lib-amd/components/TableCellActions/useTableCellActionsStyles.js.map +1 -0
  232. package/lib-amd/components/TableCellLayout/TableCellLayout.js +15 -0
  233. package/lib-amd/components/TableCellLayout/TableCellLayout.js.map +1 -0
  234. package/lib-amd/components/TableCellLayout/TableCellLayout.types.js +5 -0
  235. package/lib-amd/components/TableCellLayout/TableCellLayout.types.js.map +1 -0
  236. package/lib-amd/components/TableCellLayout/index.js +10 -0
  237. package/lib-amd/components/TableCellLayout/index.js.map +1 -0
  238. package/lib-amd/components/TableCellLayout/renderTableCellLayout.js +19 -0
  239. package/lib-amd/components/TableCellLayout/renderTableCellLayout.js.map +1 -0
  240. package/lib-amd/components/TableCellLayout/useTableCellLayout.js +42 -0
  241. package/lib-amd/components/TableCellLayout/useTableCellLayout.js.map +1 -0
  242. package/lib-amd/components/TableCellLayout/useTableCellLayoutContextValues.js +16 -0
  243. package/lib-amd/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
  244. package/lib-amd/components/TableCellLayout/useTableCellLayoutStyles.js +79 -0
  245. package/lib-amd/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -0
  246. package/lib-amd/components/TableHeader/TableHeader.js +15 -0
  247. package/lib-amd/components/TableHeader/TableHeader.js.map +1 -0
  248. package/lib-amd/components/TableHeader/TableHeader.types.js +5 -0
  249. package/lib-amd/components/TableHeader/TableHeader.types.js.map +1 -0
  250. package/lib-amd/components/TableHeader/index.js +10 -0
  251. package/lib-amd/components/TableHeader/index.js.map +1 -0
  252. package/lib-amd/components/TableHeader/renderTableHeader.js +15 -0
  253. package/lib-amd/components/TableHeader/renderTableHeader.js.map +1 -0
  254. package/lib-amd/components/TableHeader/useTableHeader.js +28 -0
  255. package/lib-amd/components/TableHeader/useTableHeader.js.map +1 -0
  256. package/lib-amd/components/TableHeader/useTableHeaderStyles.js +32 -0
  257. package/lib-amd/components/TableHeader/useTableHeaderStyles.js.map +1 -0
  258. package/lib-amd/components/TableHeaderCell/TableHeaderCell.js +15 -0
  259. package/lib-amd/components/TableHeaderCell/TableHeaderCell.js.map +1 -0
  260. package/lib-amd/components/TableHeaderCell/TableHeaderCell.types.js +5 -0
  261. package/lib-amd/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -0
  262. package/lib-amd/components/TableHeaderCell/index.js +10 -0
  263. package/lib-amd/components/TableHeaderCell/index.js.map +1 -0
  264. package/lib-amd/components/TableHeaderCell/renderTableHeaderCell.js +18 -0
  265. package/lib-amd/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -0
  266. package/lib-amd/components/TableHeaderCell/useTableHeaderCell.js +48 -0
  267. package/lib-amd/components/TableHeaderCell/useTableHeaderCell.js.map +1 -0
  268. package/lib-amd/components/TableHeaderCell/useTableHeaderCellStyles.js +67 -0
  269. package/lib-amd/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -0
  270. package/lib-amd/components/TableResizeHandle/TableResizeHandle.js +15 -0
  271. package/lib-amd/components/TableResizeHandle/TableResizeHandle.js.map +1 -0
  272. package/lib-amd/components/TableResizeHandle/TableResizeHandle.types.js +5 -0
  273. package/lib-amd/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -0
  274. package/lib-amd/components/TableResizeHandle/index.js +10 -0
  275. package/lib-amd/components/TableResizeHandle/index.js.map +1 -0
  276. package/lib-amd/components/TableResizeHandle/renderTableResizeHandle.js +14 -0
  277. package/lib-amd/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -0
  278. package/lib-amd/components/TableResizeHandle/useTableResizeHandle.js +29 -0
  279. package/lib-amd/components/TableResizeHandle/useTableResizeHandle.js.map +1 -0
  280. package/lib-amd/components/TableResizeHandle/useTableResizeHandleStyles.js +37 -0
  281. package/lib-amd/components/TableResizeHandle/useTableResizeHandleStyles.js.map +1 -0
  282. package/lib-amd/components/TableRow/TableRow.js +15 -0
  283. package/lib-amd/components/TableRow/TableRow.js.map +1 -0
  284. package/lib-amd/components/TableRow/TableRow.types.js +5 -0
  285. package/lib-amd/components/TableRow/TableRow.types.js.map +1 -0
  286. package/lib-amd/components/TableRow/index.js +10 -0
  287. package/lib-amd/components/TableRow/index.js.map +1 -0
  288. package/lib-amd/components/TableRow/renderTableRow.js +14 -0
  289. package/lib-amd/components/TableRow/renderTableRow.js.map +1 -0
  290. package/lib-amd/components/TableRow/useTableRow.js +34 -0
  291. package/lib-amd/components/TableRow/useTableRow.js.map +1 -0
  292. package/lib-amd/components/TableRow/useTableRowStyles.js +98 -0
  293. package/lib-amd/components/TableRow/useTableRowStyles.js.map +1 -0
  294. package/lib-amd/components/TableSelectionCell/TableSelectionCell.js +15 -0
  295. package/lib-amd/components/TableSelectionCell/TableSelectionCell.js.map +1 -0
  296. package/lib-amd/components/TableSelectionCell/TableSelectionCell.types.js +5 -0
  297. package/lib-amd/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -0
  298. package/lib-amd/components/TableSelectionCell/index.js +10 -0
  299. package/lib-amd/components/TableSelectionCell/index.js.map +1 -0
  300. package/lib-amd/components/TableSelectionCell/renderTableSelectionCell.js +16 -0
  301. package/lib-amd/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -0
  302. package/lib-amd/components/TableSelectionCell/useTableSelectionCell.js +28 -0
  303. package/lib-amd/components/TableSelectionCell/useTableSelectionCell.js.map +1 -0
  304. package/lib-amd/components/TableSelectionCell/useTableSelectionCellStyles.js +58 -0
  305. package/lib-amd/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -0
  306. package/lib-amd/contexts/columnIdContext.js +11 -0
  307. package/lib-amd/contexts/columnIdContext.js.map +1 -0
  308. package/lib-amd/contexts/dataGridContext.js +16 -0
  309. package/lib-amd/contexts/dataGridContext.js.map +1 -0
  310. package/lib-amd/contexts/rowIdContext.js +11 -0
  311. package/lib-amd/contexts/rowIdContext.js.map +1 -0
  312. package/lib-amd/contexts/tableContext.js +15 -0
  313. package/lib-amd/contexts/tableContext.js.map +1 -0
  314. package/lib-amd/contexts/tableHeaderContext.js +11 -0
  315. package/lib-amd/contexts/tableHeaderContext.js.map +1 -0
  316. package/lib-amd/hooks/createColumn.js +36 -0
  317. package/lib-amd/hooks/createColumn.js.map +1 -0
  318. package/lib-amd/hooks/index.js +11 -0
  319. package/lib-amd/hooks/index.js.map +1 -0
  320. package/lib-amd/hooks/selectionManager.js +82 -0
  321. package/lib-amd/hooks/selectionManager.js.map +1 -0
  322. package/lib-amd/hooks/types.js +5 -0
  323. package/lib-amd/hooks/types.js.map +1 -0
  324. package/lib-amd/hooks/useMeasureElement.js +46 -0
  325. package/lib-amd/hooks/useMeasureElement.js.map +1 -0
  326. package/lib-amd/hooks/useTableColumnResizeMouseHandler.js +50 -0
  327. package/lib-amd/hooks/useTableColumnResizeMouseHandler.js.map +1 -0
  328. package/lib-amd/hooks/useTableColumnResizeState.js +73 -0
  329. package/lib-amd/hooks/useTableColumnResizeState.js.map +1 -0
  330. package/lib-amd/hooks/useTableColumnSizing.js +56 -0
  331. package/lib-amd/hooks/useTableColumnSizing.js.map +1 -0
  332. package/lib-amd/hooks/useTableFeatures.js +39 -0
  333. package/lib-amd/hooks/useTableFeatures.js.map +1 -0
  334. package/lib-amd/hooks/useTableSelection.js +70 -0
  335. package/lib-amd/hooks/useTableSelection.js.map +1 -0
  336. package/lib-amd/hooks/useTableSort.js +74 -0
  337. package/lib-amd/hooks/useTableSort.js.map +1 -0
  338. package/lib-amd/index.js +107 -0
  339. package/lib-amd/index.js.map +1 -0
  340. package/lib-amd/utils/columnResizeUtils.js +158 -0
  341. package/lib-amd/utils/columnResizeUtils.js.map +1 -0
  342. package/lib-commonjs/TableResizeHandle.js +8 -0
  343. package/lib-commonjs/TableResizeHandle.js.map +1 -0
  344. package/lib-commonjs/components/DataGrid/index.js +1 -0
  345. package/lib-commonjs/components/DataGrid/index.js.map +1 -1
  346. package/lib-commonjs/components/DataGrid/useDataGrid.js +15 -3
  347. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
  348. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +2 -1
  349. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -1
  350. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +5 -0
  351. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -1
  352. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +3 -0
  353. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  354. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +5 -1
  355. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -1
  356. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +1 -0
  357. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  358. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +18 -4
  359. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  360. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +3 -1
  361. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  362. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +3 -1
  363. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  364. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js +10 -4
  365. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  366. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js +20 -0
  367. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js.map +1 -0
  368. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js +6 -0
  369. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -0
  370. package/lib-commonjs/components/TableResizeHandle/index.js +12 -0
  371. package/lib-commonjs/components/TableResizeHandle/index.js.map +1 -0
  372. package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js +22 -0
  373. package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -0
  374. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js +35 -0
  375. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js.map +1 -0
  376. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.js +56 -0
  377. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.js.map +1 -0
  378. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +2 -1
  379. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  380. package/lib-commonjs/hooks/index.js +1 -0
  381. package/lib-commonjs/hooks/index.js.map +1 -1
  382. package/lib-commonjs/hooks/useMeasureElement.js +55 -0
  383. package/lib-commonjs/hooks/useMeasureElement.js.map +1 -0
  384. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +57 -0
  385. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -0
  386. package/lib-commonjs/hooks/useTableColumnResizeState.js +119 -0
  387. package/lib-commonjs/hooks/useTableColumnResizeState.js.map +1 -0
  388. package/lib-commonjs/hooks/useTableColumnSizing.js +84 -0
  389. package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -0
  390. package/lib-commonjs/hooks/useTableFeatures.js +10 -2
  391. package/lib-commonjs/hooks/useTableFeatures.js.map +1 -1
  392. package/lib-commonjs/index.js +46 -2
  393. package/lib-commonjs/index.js.map +1 -1
  394. package/lib-commonjs/utils/columnResizeUtils.js +172 -0
  395. package/lib-commonjs/utils/columnResizeUtils.js.map +1 -0
  396. package/package.json +10 -11
package/CHANGELOG.json CHANGED
@@ -2,7 +2,123 @@
2
2
  "name": "@fluentui/react-table",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 31 Jan 2023 19:50:42 GMT",
5
+ "date": "Fri, 10 Feb 2023 08:46:46 GMT",
6
+ "tag": "@fluentui/react-table_v9.0.0",
7
+ "version": "9.0.0",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "lingfangao@hotmail.com",
12
+ "package": "@fluentui/react-table",
13
+ "commit": "6a925547d8051b7d9a1855d6f20b7920d946fcdf",
14
+ "comment": "feat: Release 9.0.0"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui/react-table",
19
+ "comment": "Bump @fluentui/react-aria to v9.3.8",
20
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@fluentui/react-table",
25
+ "comment": "Bump @fluentui/react-avatar to v9.3.3",
26
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@fluentui/react-table",
31
+ "comment": "Bump @fluentui/react-checkbox to v9.0.26",
32
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@fluentui/react-table",
37
+ "comment": "Bump @fluentui/react-context-selector to v9.1.8",
38
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@fluentui/react-table",
43
+ "comment": "Bump @fluentui/react-radio to v9.0.24",
44
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
45
+ },
46
+ {
47
+ "author": "beachball",
48
+ "package": "@fluentui/react-table",
49
+ "comment": "Bump @fluentui/react-tabster to v9.5.1",
50
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
51
+ },
52
+ {
53
+ "author": "beachball",
54
+ "package": "@fluentui/react-table",
55
+ "comment": "Bump @fluentui/react-utilities to v9.5.2",
56
+ "commit": "cc62f050f8231e8f21a2cf7dddf33003e0ba3931"
57
+ }
58
+ ],
59
+ "prerelease": [
60
+ {
61
+ "author": "jirivyhnalek@microsoft.com",
62
+ "package": "@fluentui/react-table",
63
+ "commit": "fbe4207b3b40b147e936ecaf1e8fad9a8b357db9",
64
+ "comment": "feat: TableCellLayout component now supports truncate prop"
65
+ },
66
+ {
67
+ "author": "jirivyhnalek@microsoft.com",
68
+ "package": "@fluentui/react-table",
69
+ "commit": "c5149e270e02a09eae9b7dfbba4da3aa4ac77a52",
70
+ "comment": "feat: DataGrid - add support for resizable columns"
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ "date": "Tue, 07 Feb 2023 14:13:07 GMT",
77
+ "tag": "@fluentui/react-table_v9.0.0-rc.5",
78
+ "version": "9.0.0-rc.5",
79
+ "comments": {
80
+ "prerelease": [
81
+ {
82
+ "author": "lingfangao@hotmail.com",
83
+ "package": "@fluentui/react-table",
84
+ "commit": "0b35790d67cad33bd1d52d2418fcca6ef8b4a710",
85
+ "comment": "feat: exports `useDataGridContextValues_unstable`"
86
+ },
87
+ {
88
+ "author": "jirivyhnalek@microsoft.com",
89
+ "package": "@fluentui/react-table",
90
+ "commit": "c625afa508c0dead93ea2d3cb698b41dc67ec187",
91
+ "comment": "Add support for column resizing"
92
+ },
93
+ {
94
+ "author": "beachball",
95
+ "package": "@fluentui/react-table",
96
+ "comment": "Bump @fluentui/react-avatar to v9.3.2",
97
+ "commit": "8a1405562b3328c408f15e3bf511d3eb6a0c0e66"
98
+ },
99
+ {
100
+ "author": "beachball",
101
+ "package": "@fluentui/react-table",
102
+ "comment": "Bump @fluentui/react-checkbox to v9.0.25",
103
+ "commit": "8a1405562b3328c408f15e3bf511d3eb6a0c0e66"
104
+ },
105
+ {
106
+ "author": "beachball",
107
+ "package": "@fluentui/react-table",
108
+ "comment": "Bump @fluentui/react-radio to v9.0.23",
109
+ "commit": "8a1405562b3328c408f15e3bf511d3eb6a0c0e66"
110
+ },
111
+ {
112
+ "author": "beachball",
113
+ "package": "@fluentui/react-table",
114
+ "comment": "Bump @fluentui/react-tabster to v9.5.0",
115
+ "commit": "8a1405562b3328c408f15e3bf511d3eb6a0c0e66"
116
+ }
117
+ ]
118
+ }
119
+ },
120
+ {
121
+ "date": "Tue, 31 Jan 2023 19:53:58 GMT",
6
122
  "tag": "@fluentui/react-table_v9.0.0-rc.4",
7
123
  "version": "9.0.0-rc.4",
8
124
  "comments": {
@@ -11,43 +127,43 @@
11
127
  "author": "beachball",
12
128
  "package": "@fluentui/react-table",
13
129
  "comment": "Bump @fluentui/react-aria to v9.3.7",
14
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
130
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
15
131
  },
16
132
  {
17
133
  "author": "beachball",
18
134
  "package": "@fluentui/react-table",
19
135
  "comment": "Bump @fluentui/react-avatar to v9.3.1",
20
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
136
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
21
137
  },
22
138
  {
23
139
  "author": "beachball",
24
140
  "package": "@fluentui/react-table",
25
141
  "comment": "Bump @fluentui/react-checkbox to v9.0.24",
26
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
142
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
27
143
  },
28
144
  {
29
145
  "author": "beachball",
30
146
  "package": "@fluentui/react-table",
31
147
  "comment": "Bump @fluentui/react-context-selector to v9.1.7",
32
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
148
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
33
149
  },
34
150
  {
35
151
  "author": "beachball",
36
152
  "package": "@fluentui/react-table",
37
153
  "comment": "Bump @fluentui/react-radio to v9.0.22",
38
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
154
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
39
155
  },
40
156
  {
41
157
  "author": "beachball",
42
158
  "package": "@fluentui/react-table",
43
159
  "comment": "Bump @fluentui/react-tabster to v9.4.2",
44
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
160
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
45
161
  },
46
162
  {
47
163
  "author": "beachball",
48
164
  "package": "@fluentui/react-table",
49
165
  "comment": "Bump @fluentui/react-utilities to v9.5.1",
50
- "commit": "22477ef4202cd24add6ebf823196b5888c9d8083"
166
+ "commit": "794d9e845cb952f597ba786e70cd8d248be62746"
51
167
  }
52
168
  ]
53
169
  }
package/CHANGELOG.md CHANGED
@@ -1,23 +1,58 @@
1
1
  # Change Log - @fluentui/react-table
2
2
 
3
- This log was last generated on Tue, 31 Jan 2023 19:50:42 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 10 Feb 2023 08:46:46 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.0.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.0.0)
8
+
9
+ Fri, 10 Feb 2023 08:46:46 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-table_v9.0.0-rc.5..@fluentui/react-table_v9.0.0)
11
+
12
+ ### Patches
13
+
14
+ - feat: Release 9.0.0 ([PR #26736](https://github.com/microsoft/fluentui/pull/26736) by lingfangao@hotmail.com)
15
+ - Bump @fluentui/react-aria to v9.3.8 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
16
+ - Bump @fluentui/react-avatar to v9.3.3 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
17
+ - Bump @fluentui/react-checkbox to v9.0.26 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
18
+ - Bump @fluentui/react-context-selector to v9.1.8 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
19
+ - Bump @fluentui/react-radio to v9.0.24 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
20
+ - Bump @fluentui/react-tabster to v9.5.1 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
21
+ - Bump @fluentui/react-utilities to v9.5.2 ([commit](https://github.com/microsoft/fluentui/commit/cc62f050f8231e8f21a2cf7dddf33003e0ba3931) by beachball)
22
+
23
+ ### Changes
24
+
25
+ - feat: TableCellLayout component now supports truncate prop ([PR #26738](https://github.com/microsoft/fluentui/pull/26738) by jirivyhnalek@microsoft.com)
26
+ - feat: DataGrid - add support for resizable columns ([PR #26690](https://github.com/microsoft/fluentui/pull/26690) by jirivyhnalek@microsoft.com)
27
+
28
+ ## [9.0.0-rc.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.0.0-rc.5)
29
+
30
+ Tue, 07 Feb 2023 14:13:07 GMT
31
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-table_v9.0.0-rc.4..@fluentui/react-table_v9.0.0-rc.5)
32
+
33
+ ### Changes
34
+
35
+ - feat: exports `useDataGridContextValues_unstable` ([PR #26627](https://github.com/microsoft/fluentui/pull/26627) by lingfangao@hotmail.com)
36
+ - Add support for column resizing ([PR #26477](https://github.com/microsoft/fluentui/pull/26477) by jirivyhnalek@microsoft.com)
37
+ - Bump @fluentui/react-avatar to v9.3.2 ([PR #26732](https://github.com/microsoft/fluentui/pull/26732) by beachball)
38
+ - Bump @fluentui/react-checkbox to v9.0.25 ([PR #26732](https://github.com/microsoft/fluentui/pull/26732) by beachball)
39
+ - Bump @fluentui/react-radio to v9.0.23 ([PR #26732](https://github.com/microsoft/fluentui/pull/26732) by beachball)
40
+ - Bump @fluentui/react-tabster to v9.5.0 ([PR #26732](https://github.com/microsoft/fluentui/pull/26732) by beachball)
41
+
7
42
  ## [9.0.0-rc.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.0.0-rc.4)
8
43
 
9
- Tue, 31 Jan 2023 19:50:42 GMT
44
+ Tue, 31 Jan 2023 19:53:58 GMT
10
45
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-table_v9.0.0-rc.3..@fluentui/react-table_v9.0.0-rc.4)
11
46
 
12
47
  ### Changes
13
48
 
14
- - Bump @fluentui/react-aria to v9.3.7 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
15
- - Bump @fluentui/react-avatar to v9.3.1 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
16
- - Bump @fluentui/react-checkbox to v9.0.24 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
17
- - Bump @fluentui/react-context-selector to v9.1.7 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
18
- - Bump @fluentui/react-radio to v9.0.22 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
19
- - Bump @fluentui/react-tabster to v9.4.2 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
20
- - Bump @fluentui/react-utilities to v9.5.1 ([PR #26491](https://github.com/microsoft/fluentui/pull/26491) by beachball)
49
+ - Bump @fluentui/react-aria to v9.3.7 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
50
+ - Bump @fluentui/react-avatar to v9.3.1 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
51
+ - Bump @fluentui/react-checkbox to v9.0.24 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
52
+ - Bump @fluentui/react-context-selector to v9.1.7 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
53
+ - Bump @fluentui/react-radio to v9.0.22 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
54
+ - Bump @fluentui/react-tabster to v9.4.2 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
55
+ - Bump @fluentui/react-utilities to v9.5.1 ([PR #26557](https://github.com/microsoft/fluentui/pull/26557) by beachball)
21
56
 
22
57
  ## [9.0.0-rc.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-table_v9.0.0-rc.3)
23
58
 
package/dist/index.d.ts CHANGED
@@ -15,6 +15,18 @@ import type { SlotClassNames } from '@fluentui/react-utilities';
15
15
 
16
16
  export declare type CellRenderFunction<TItem = unknown> = (column: TableColumnDefinition<TItem>) => React_2.ReactNode;
17
17
 
18
+ declare type ColumnSizingTableCellProps = Pick<TableHeaderCellProps, 'style'>;
19
+
20
+ declare type ColumnSizingTableHeaderCellProps = Pick<TableHeaderCellProps, 'style' | 'aside'>;
21
+
22
+ declare interface ColumnWidthState {
23
+ columnId: TableColumnId;
24
+ width: number;
25
+ minWidth: number;
26
+ idealWidth: number;
27
+ padding: number;
28
+ }
29
+
18
30
  /**
19
31
  * Helper function to create column definition with defaults
20
32
  * @param options - column definition options
@@ -105,6 +117,10 @@ export declare type DataGridContextValue = TableFeaturesState<any> & {
105
117
  * @default brand
106
118
  */
107
119
  selectionAppearance: TableRowProps['appearance'];
120
+ /**
121
+ * Enables column resizing
122
+ */
123
+ resizableColumns?: boolean;
108
124
  };
109
125
 
110
126
  export declare type DataGridContextValues = TableContextValues & {
@@ -154,7 +170,7 @@ export declare type DataGridHeaderState = TableHeaderState;
154
170
  /**
155
171
  * DataGrid Props
156
172
  */
157
- export declare type DataGridProps = TableProps & Pick<DataGridContextValue, 'items' | 'columns' | 'getRowId'> & Pick<Partial<DataGridContextValue>, 'focusMode' | 'subtleSelection' | 'selectionAppearance'> & Pick<UseTableSortOptions, 'sortState' | 'defaultSortState'> & Pick<UseTableSelectionOptions, 'defaultSelectedItems' | 'selectedItems'> & {
173
+ export declare type DataGridProps = TableProps & Pick<DataGridContextValue, 'items' | 'columns' | 'getRowId'> & Pick<Partial<DataGridContextValue>, 'focusMode' | 'subtleSelection' | 'selectionAppearance' | 'resizableColumns'> & Pick<UseTableSortOptions, 'sortState' | 'defaultSortState'> & Pick<UseTableSelectionOptions, 'defaultSelectedItems' | 'selectedItems'> & {
158
174
  onSortChange?: (e: React_2.MouseEvent, sortState: SortState) => void;
159
175
  onSelectionChange?: (e: React_2.MouseEvent | React_2.KeyboardEvent, data: OnSelectionChangeData) => void;
160
176
  /**
@@ -162,6 +178,17 @@ export declare type DataGridProps = TableProps & Pick<DataGridContextValue, 'ite
162
178
  * @default false
163
179
  */
164
180
  selectionMode?: SelectionMode_2;
181
+ /**
182
+ * Options for column resizing
183
+ */
184
+ columnSizingOptions?: TableColumnSizingOptions;
185
+ /**
186
+ * A callback triggered when a column is resized.
187
+ */
188
+ onColumnResize?: (event: MouseEvent | undefined, data: {
189
+ columnId: TableColumnId;
190
+ width: number;
191
+ }) => void;
165
192
  };
166
193
 
167
194
  /**
@@ -220,7 +247,7 @@ export declare type DataGridSlots = TableSlots;
220
247
  */
221
248
  export declare type DataGridState = TableState & {
222
249
  tableState: TableFeaturesState<unknown>;
223
- } & Pick<DataGridContextValue, 'focusMode' | 'selectableRows' | 'subtleSelection' | 'selectionAppearance' | 'getRowId'>;
250
+ } & Pick<DataGridContextValue, 'focusMode' | 'selectableRows' | 'subtleSelection' | 'selectionAppearance' | 'getRowId' | 'resizableColumns'>;
224
251
 
225
252
  declare interface OnSelectionChangeData {
226
253
  selectedItems: Set<TableRowId>;
@@ -296,6 +323,11 @@ export declare const renderTableHeader_unstable: (state: TableHeaderState) => JS
296
323
  */
297
324
  export declare const renderTableHeaderCell_unstable: (state: TableHeaderCellState) => JSX.Element;
298
325
 
326
+ /**
327
+ * Render the final JSX of TableResizeHandle
328
+ */
329
+ export declare const renderTableResizeHandle_unstable: (state: TableResizeHandleState) => JSX.Element;
330
+
299
331
  /**
300
332
  * Render the final JSX of TableRow
301
333
  */
@@ -405,6 +437,10 @@ export declare type TableCellLayoutProps = ComponentProps<Partial<TableCellLayou
405
437
  * @default undefined
406
438
  */
407
439
  appearance?: 'primary';
440
+ /**
441
+ * Renders content with overflow: hidden and text-overflow: ellipsis
442
+ */
443
+ truncate?: boolean;
408
444
  };
409
445
 
410
446
  export declare type TableCellLayoutSlots = {
@@ -430,7 +466,7 @@ export declare type TableCellLayoutSlots = {
430
466
  /**
431
467
  * State used in rendering TableCellLayout
432
468
  */
433
- export declare type TableCellLayoutState = ComponentState<TableCellLayoutSlots> & Pick<TableCellLayoutProps, 'appearance'> & {
469
+ export declare type TableCellLayoutState = ComponentState<TableCellLayoutSlots> & Pick<TableCellLayoutProps, 'appearance' | 'truncate'> & {
434
470
  avatarSize: AvatarSize | undefined;
435
471
  } & Pick<TableContextValue, 'size'>;
436
472
 
@@ -461,6 +497,18 @@ export declare interface TableColumnDefinition<TItem> {
461
497
 
462
498
  export declare type TableColumnId = string | number;
463
499
 
500
+ export declare type TableColumnSizingOptions = Record<TableColumnId, Partial<Pick<ColumnWidthState, 'minWidth' | 'idealWidth' | 'padding'>> & {
501
+ defaultWidth?: number;
502
+ }>;
503
+
504
+ declare interface TableColumnSizingState {
505
+ getOnMouseDown: (columnId: TableColumnId) => (e: React_2.MouseEvent<HTMLElement>) => void;
506
+ setColumnWidth: (columnId: TableColumnId, newSize: number) => void;
507
+ getColumnWidths: () => ColumnWidthState[];
508
+ getTableHeaderCellProps: (columnId: TableColumnId) => ColumnSizingTableHeaderCellProps;
509
+ getTableCellProps: (columnId: TableColumnId) => ColumnSizingTableCellProps;
510
+ }
511
+
464
512
  export declare const TableContextProvider: React_2.Provider<TableContextValue | undefined>;
465
513
 
466
514
  export declare type TableContextValue = {
@@ -506,6 +554,15 @@ export declare interface TableFeaturesState<TItem> extends Pick<UseTableFeatures
506
554
  * Table columns
507
555
  */
508
556
  columns: TableColumnDefinition<TItem>[];
557
+ /**
558
+ * State and actions to manage column resizing
559
+ */
560
+ columnSizing_unstable: TableColumnSizingState;
561
+ /**
562
+ * A React.Ref object to be set as a ref for the table.
563
+ * Used with column resizing.
564
+ */
565
+ tableRef: React_2.Ref<HTMLDivElement>;
509
566
  }
510
567
 
511
568
  /**
@@ -539,6 +596,10 @@ export declare type TableHeaderCellSlots = {
539
596
  * Button handles correct narration and interactions for sorting;
540
597
  */
541
598
  button: NonNullable<Slot<ARIAButtonSlotProps>>;
599
+ /**
600
+ * aside content for anything that should be after main content of the table header cell
601
+ */
602
+ aside: Slot<'span'>;
542
603
  };
543
604
 
544
605
  /**
@@ -569,6 +630,27 @@ export declare type TableHeaderState = ComponentState<TableHeaderSlots> & Pick<T
569
630
  */
570
631
  export declare type TableProps = ComponentProps<TableSlots> & Partial<TableContextValue>;
571
632
 
633
+ /**
634
+ * TableResizeHandle component - TODO: add more docs
635
+ */
636
+ export declare const TableResizeHandle: ForwardRefComponent<TableResizeHandleProps>;
637
+
638
+ export declare const tableResizeHandleClassNames: SlotClassNames<TableResizeHandleSlots>;
639
+
640
+ /**
641
+ * TableResizeHandle Props
642
+ */
643
+ export declare type TableResizeHandleProps = ComponentProps<TableResizeHandleSlots> & {};
644
+
645
+ export declare type TableResizeHandleSlots = {
646
+ root: Slot<'div'>;
647
+ };
648
+
649
+ /**
650
+ * State used in rendering TableResizeHandle
651
+ */
652
+ export declare type TableResizeHandleState = ComponentState<TableResizeHandleSlots>;
653
+
572
654
  /**
573
655
  * TableRow component
574
656
  */
@@ -784,6 +866,8 @@ export declare const useDataGridCell_unstable: (props: DataGridCellProps, ref: R
784
866
  */
785
867
  export declare const useDataGridCellStyles_unstable: (state: DataGridCellState) => DataGridCellState;
786
868
 
869
+ export declare function useDataGridContextValues_unstable(state: DataGridState): DataGridContextValues;
870
+
787
871
  /**
788
872
  * Create the state required to render DataGridHeader.
789
873
  *
@@ -928,6 +1012,17 @@ export declare const useTableCellLayoutStyles_unstable: (state: TableCellLayoutS
928
1012
  */
929
1013
  export declare const useTableCellStyles_unstable: (state: TableCellState) => TableCellState;
930
1014
 
1015
+ export declare function useTableColumnSizing_unstable<TItem>(params?: UseTableColumnSizingParams): (tableState: TableFeaturesState<TItem>) => TableFeaturesState<TItem>;
1016
+
1017
+ declare type UseTableColumnSizingParams = {
1018
+ columnSizingOptions?: TableColumnSizingOptions;
1019
+ onColumnResize?: (e: MouseEvent | undefined, data: {
1020
+ columnId: TableColumnId;
1021
+ width: number;
1022
+ }) => void;
1023
+ containerWidthOffset?: number;
1024
+ };
1025
+
931
1026
  export declare const useTableContext: () => TableContextValue;
932
1027
 
933
1028
  export declare function useTableFeatures<TItem>(options: UseTableFeaturesOptions<TItem>, plugins?: TableFeaturePlugin[]): TableFeaturesState<TItem>;
@@ -970,6 +1065,22 @@ export declare const useTableHeaderCellStyles_unstable: (state: TableHeaderCellS
970
1065
  */
971
1066
  export declare const useTableHeaderStyles_unstable: (state: TableHeaderState) => TableHeaderState;
972
1067
 
1068
+ /**
1069
+ * Create the state required to render TableResizeHandle.
1070
+ *
1071
+ * The returned state can be modified with hooks such as useTableResizeHandleStyles_unstable,
1072
+ * before being passed to renderTableResizeHandle_unstable.
1073
+ *
1074
+ * @param props - props from this instance of TableResizeHandle
1075
+ * @param ref - reference to root HTMLElement of TableResizeHandle
1076
+ */
1077
+ export declare const useTableResizeHandle_unstable: (props: TableResizeHandleProps, ref: React_2.Ref<HTMLElement>) => TableResizeHandleState;
1078
+
1079
+ /**
1080
+ * Apply styling to the TableResizeHandle slots based on the state
1081
+ */
1082
+ export declare const useTableResizeHandleStyles_unstable: (state: TableResizeHandleState) => TableResizeHandleState;
1083
+
973
1084
  /**
974
1085
  * Create the state required to render TableRow.
975
1086
  *
@@ -0,0 +1,2 @@
1
+ export * from './components/TableResizeHandle/index';
2
+ //# sourceMappingURL=TableResizeHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableResizeHandle.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/TableResizeHandle.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC","sourcesContent":["export * from './components/TableResizeHandle/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { TableContextValues, TableProps, TableSlots, TableState } from '../Table/Table.types';\nimport type {\n SortState,\n TableFeaturesState,\n UseTableSortOptions,\n SelectionMode,\n UseTableSelectionOptions,\n OnSelectionChangeData,\n} from '../../hooks';\nimport { TableRowProps } from '../TableRow/TableRow.types';\n\nexport type DataGridSlots = TableSlots;\n\nexport type DataGridFocusMode = 'none' | 'cell' | 'row_unstable';\n\nexport type DataGridContextValues = TableContextValues & {\n dataGrid: DataGridContextValue;\n};\n\n// Use any here since we can't know the user types\n// The user is responsible for narrowing the type downstream\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type DataGridContextValue = TableFeaturesState<any> & {\n /**\n * How focus navigation will work in the datagrid\n * @default cell\n */\n focusMode: DataGridFocusMode;\n\n /**\n * Lets child components know if rows selection is enabled\n * @see selectionMode prop enables row selection on the component\n */\n selectableRows: boolean;\n\n /**\n * Enables subtle selection style\n * @default false\n */\n subtleSelection: boolean;\n\n /**\n * Row appearance when selected\n * @default brand\n */\n selectionAppearance: TableRowProps['appearance'];\n};\n\n/**\n * DataGrid Props\n */\nexport type DataGridProps = TableProps &\n Pick<DataGridContextValue, 'items' | 'columns' | 'getRowId'> &\n Pick<Partial<DataGridContextValue>, 'focusMode' | 'subtleSelection' | 'selectionAppearance'> &\n Pick<UseTableSortOptions, 'sortState' | 'defaultSortState'> &\n Pick<UseTableSelectionOptions, 'defaultSelectedItems' | 'selectedItems'> & {\n onSortChange?: (e: React.MouseEvent, sortState: SortState) => void;\n onSelectionChange?: (e: React.MouseEvent | React.KeyboardEvent, data: OnSelectionChangeData) => void;\n /**\n * Enables row selection and sets the selection mode\n * @default false\n */\n selectionMode?: SelectionMode;\n };\n\n/**\n * State used in rendering DataGrid\n */\nexport type DataGridState = TableState & { tableState: TableFeaturesState<unknown> } & Pick<\n DataGridContextValue,\n 'focusMode' | 'selectableRows' | 'subtleSelection' | 'selectionAppearance' | 'getRowId'\n >;\n"]}
1
+ {"version":3,"file":"DataGrid.types.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { TableContextValues, TableProps, TableSlots, TableState } from '../Table/Table.types';\nimport type {\n SortState,\n TableFeaturesState,\n UseTableSortOptions,\n SelectionMode,\n UseTableSelectionOptions,\n OnSelectionChangeData,\n TableColumnSizingOptions,\n TableColumnId,\n} from '../../hooks';\nimport { TableRowProps } from '../TableRow/TableRow.types';\n\nexport type DataGridSlots = TableSlots;\n\nexport type DataGridFocusMode = 'none' | 'cell' | 'row_unstable';\n\nexport type DataGridContextValues = TableContextValues & {\n dataGrid: DataGridContextValue;\n};\n\n// Use any here since we can't know the user types\n// The user is responsible for narrowing the type downstream\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type DataGridContextValue = TableFeaturesState<any> & {\n /**\n * How focus navigation will work in the datagrid\n * @default cell\n */\n focusMode: DataGridFocusMode;\n\n /**\n * Lets child components know if rows selection is enabled\n * @see selectionMode prop enables row selection on the component\n */\n selectableRows: boolean;\n\n /**\n * Enables subtle selection style\n * @default false\n */\n subtleSelection: boolean;\n\n /**\n * Row appearance when selected\n * @default brand\n */\n selectionAppearance: TableRowProps['appearance'];\n\n /**\n * Enables column resizing\n */\n resizableColumns?: boolean;\n};\n\n/**\n * DataGrid Props\n */\nexport type DataGridProps = TableProps &\n Pick<DataGridContextValue, 'items' | 'columns' | 'getRowId'> &\n Pick<Partial<DataGridContextValue>, 'focusMode' | 'subtleSelection' | 'selectionAppearance' | 'resizableColumns'> &\n Pick<UseTableSortOptions, 'sortState' | 'defaultSortState'> &\n Pick<UseTableSelectionOptions, 'defaultSelectedItems' | 'selectedItems'> & {\n onSortChange?: (e: React.MouseEvent, sortState: SortState) => void;\n onSelectionChange?: (e: React.MouseEvent | React.KeyboardEvent, data: OnSelectionChangeData) => void;\n /**\n * Enables row selection and sets the selection mode\n * @default false\n */\n selectionMode?: SelectionMode;\n /**\n * Options for column resizing\n */\n columnSizingOptions?: TableColumnSizingOptions;\n /**\n * A callback triggered when a column is resized.\n */\n onColumnResize?: (event: MouseEvent | undefined, data: { columnId: TableColumnId; width: number }) => void;\n };\n\n/**\n * State used in rendering DataGrid\n */\nexport type DataGridState = TableState & { tableState: TableFeaturesState<unknown> } & Pick<\n DataGridContextValue,\n 'focusMode' | 'selectableRows' | 'subtleSelection' | 'selectionAppearance' | 'getRowId' | 'resizableColumns'\n >;\n"]}
@@ -3,4 +3,5 @@ export * from './DataGrid.types';
3
3
  export * from './renderDataGrid';
4
4
  export * from './useDataGrid';
5
5
  export * from './useDataGridStyles';
6
+ export * from './useDataGridContextValues';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './DataGrid';\nexport * from './DataGrid.types';\nexport * from './renderDataGrid';\nexport * from './useDataGrid';\nexport * from './useDataGridStyles';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/components/DataGrid/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './DataGrid';\nexport * from './DataGrid.types';\nexport * from './renderDataGrid';\nexport * from './useDataGrid';\nexport * from './useDataGridStyles';\nexport * from './useDataGridContextValues';\n"]}
@@ -1,6 +1,8 @@
1
1
  import { useArrowNavigationGroup } from '@fluentui/react-tabster';
2
2
  import { useTable_unstable } from '../Table/useTable';
3
- import { useTableFeatures, useTableSort, useTableSelection } from '../../hooks';
3
+ import { useTableFeatures, useTableSort, useTableSelection, useTableColumnSizing_unstable } from '../../hooks';
4
+ import { CELL_WIDTH } from '../TableSelectionCell';
5
+ import { useMergedRefs } from '@fluentui/react-utilities';
4
6
  /**
5
7
  * Create the state required to render DataGrid.
6
8
  *
@@ -24,7 +26,10 @@ export const useDataGrid_unstable = (props, ref) => {
24
26
  defaultSelectedItems,
25
27
  subtleSelection = false,
26
28
  selectionAppearance = 'brand',
27
- getRowId
29
+ getRowId,
30
+ resizableColumns,
31
+ columnSizingOptions,
32
+ onColumnResize
28
33
  } = props;
29
34
  const navigable = focusMode !== 'none';
30
35
  const keyboardNavAttr = useArrowNavigationGroup({
@@ -43,6 +48,12 @@ export const useDataGrid_unstable = (props, ref) => {
43
48
  selectedItems,
44
49
  onSelectionChange,
45
50
  selectionMode: selectionMode !== null && selectionMode !== void 0 ? selectionMode : 'multiselect'
51
+ }), useTableColumnSizing_unstable({
52
+ onColumnResize,
53
+ columnSizingOptions,
54
+ // The selection cell is not part of the columns, therefore its width needs to be subtracted
55
+ // from the container to make sure the columns don't overflow the table.
56
+ containerWidthOffset: selectionMode ? -CELL_WIDTH : 0
46
57
  })]);
47
58
  const baseTableState = useTable_unstable({
48
59
  role: 'grid',
@@ -50,14 +61,15 @@ export const useDataGrid_unstable = (props, ref) => {
50
61
  noNativeElements: true,
51
62
  ...(navigable && keyboardNavAttr),
52
63
  ...props
53
- }, ref);
64
+ }, useMergedRefs(ref, tableState.tableRef));
54
65
  return {
55
66
  ...baseTableState,
56
67
  focusMode,
57
68
  tableState,
58
69
  selectableRows: !!selectionMode,
59
70
  subtleSelection,
60
- selectionAppearance
71
+ selectionAppearance,
72
+ resizableColumns
61
73
  };
62
74
  };
63
75
  //# sourceMappingURL=useDataGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":"AACA,SAASA,uBAAuB,QAAQ,yBAAyB;AAEjE,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,iBAAiB,QAAQ,aAAa;AAE/E;;;;;;;;;AASA,OAAO,MAAMC,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,GAAGtB,uBAAuB,CAAC;IAAEuB,IAAI,EAAE;EAAM,CAAE,CAAC;EAEjE,MAAMC,UAAU,GAAGtB,gBAAgB,CAAC;IAAEM,KAAK;IAAEC,OAAO;IAAEW;EAAQ,CAAE,EAAE,CAChEjB,YAAY,CAAC;IACXW,gBAAgB;IAChBC,SAAS;IACTH;GACD,CAAC,EACFR,iBAAiB,CAAC;IAChBa,oBAAoB;IACpBD,aAAa;IACbH,iBAAiB;IACjBF,aAAa,EAAEA,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI;GACjC,CAAC,CACH,CAAC;EAEF,MAAMc,cAAc,GAAGxB,iBAAiB,CACtC;IAAEyB,IAAI,EAAE,MAAM;IAAEC,EAAE,EAAE,KAAK;IAAEC,gBAAgB,EAAE,IAAI;IAAE,IAAIP,SAAS,IAAIC,eAAe,CAAC;IAAE,GAAGhB;EAAK,CAAE,EAChGC,GAAG,CACJ;EAED,OAAO;IACL,GAAGkB,cAAc;IACjBf,SAAS;IACTc,UAAU;IACVK,cAAc,EAAE,CAAC,CAAClB,aAAa;IAC/BO,eAAe;IACfC;GACD;AACH,CAAC","names":["useArrowNavigationGroup","useTable_unstable","useTableFeatures","useTableSort","useTableSelection","useDataGrid_unstable","props","ref","items","columns","focusMode","selectionMode","onSortChange","onSelectionChange","defaultSortState","sortState","selectedItems","defaultSelectedItems","subtleSelection","selectionAppearance","getRowId","navigable","keyboardNavAttr","axis","tableState","baseTableState","role","as","noNativeElements","selectableRows"],"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,SAASA,uBAAuB,QAAQ,yBAAyB;AAEjE,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,gBAAgB,EAAEC,YAAY,EAAEC,iBAAiB,EAAEC,6BAA6B,QAAQ,aAAa;AAC9G,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,aAAa,QAAQ,2BAA2B;AAEzD;;;;;;;;;AASA,OAAO,MAAMC,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,GAAG5B,uBAAuB,CAAC;IAAE6B,IAAI,EAAE;EAAM,CAAE,CAAC;EAEjE,MAAMC,UAAU,GAAG5B,gBAAgB,CAAC;IAAES,KAAK;IAAEC,OAAO;IAAEW;EAAQ,CAAE,EAAE,CAChEpB,YAAY,CAAC;IACXc,gBAAgB;IAChBC,SAAS;IACTH;GACD,CAAC,EACFX,iBAAiB,CAAC;IAChBgB,oBAAoB;IACpBD,aAAa;IACbH,iBAAiB;IACjBF,aAAa,EAAEA,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI;GACjC,CAAC,EACFT,6BAA6B,CAAC;IAC5BqB,cAAc;IACdD,mBAAmB;IACnB;IACA;IACAM,oBAAoB,EAAEjB,aAAa,GAAG,CAACR,UAAU,GAAG;GACrD,CAAC,CACH,CAAC;EAEF,MAAM0B,cAAc,GAAG/B,iBAAiB,CACtC;IACEgC,IAAI,EAAE,MAAM;IACZC,EAAE,EAAE,KAAK;IACTC,gBAAgB,EAAE,IAAI;IACtB,IAAIR,SAAS,IAAIC,eAAe,CAAC;IACjC,GAAGnB;GACJ,EACDF,aAAa,CAACG,GAAG,EAAEoB,UAAU,CAACM,QAAQ,CAAC,CACxC;EAED,OAAO;IACL,GAAGJ,cAAc;IACjBnB,SAAS;IACTiB,UAAU;IACVO,cAAc,EAAE,CAAC,CAACvB,aAAa;IAC/BO,eAAe;IACfC,mBAAmB;IACnBE;GACD;AACH,CAAC","names":["useArrowNavigationGroup","useTable_unstable","useTableFeatures","useTableSort","useTableSelection","useTableColumnSizing_unstable","CELL_WIDTH","useMergedRefs","useDataGrid_unstable","props","ref","items","columns","focusMode","selectionMode","onSortChange","onSelectionChange","defaultSortState","sortState","selectedItems","defaultSelectedItems","subtleSelection","selectionAppearance","getRowId","resizableColumns","columnSizingOptions","onColumnResize","navigable","keyboardNavAttr","axis","tableState","containerWidthOffset","baseTableState","role","as","noNativeElements","tableRef","selectableRows"],"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"]}
@@ -8,7 +8,8 @@ export function useDataGridContextValues_unstable(state) {
8
8
  focusMode: state.focusMode,
9
9
  selectableRows: state.selectableRows,
10
10
  subtleSelection: state.subtleSelection,
11
- selectionAppearance: state.selectionAppearance
11
+ selectionAppearance: state.selectionAppearance,
12
+ resizableColumns: state.resizableColumns
12
13
  }
13
14
  };
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,SAASA,8BAA8B,QAAQ,gCAAgC;AAG/E,OAAM,SAAUC,iCAAiC,CAACC,KAAoB;EACpE,MAAMC,kBAAkB,GAAGH,8BAA8B,CAACE,KAAK,CAAC;EAChE,OAAO;IACL,GAAGC,kBAAkB;IACrBC,QAAQ,EAAE;MACR,GAAGF,KAAK,CAACG,UAAU;MACnBC,SAAS,EAAEJ,KAAK,CAACI,SAAS;MAC1BC,cAAc,EAAEL,KAAK,CAACK,cAAc;MACpCC,eAAe,EAAEN,KAAK,CAACM,eAAe;MACtCC,mBAAmB,EAAEP,KAAK,CAACO;;GAE9B;AACH","names":["useTableContextValues_unstable","useDataGridContextValues_unstable","state","tableContextValues","dataGrid","tableState","focusMode","selectableRows","subtleSelection","selectionAppearance"],"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,SAASA,8BAA8B,QAAQ,gCAAgC;AAG/E,OAAM,SAAUC,iCAAiC,CAACC,KAAoB;EACpE,MAAMC,kBAAkB,GAAGH,8BAA8B,CAACE,KAAK,CAAC;EAChE,OAAO;IACL,GAAGC,kBAAkB;IACrBC,QAAQ,EAAE;MACR,GAAGF,KAAK,CAACG,UAAU;MACnBC,SAAS,EAAEJ,KAAK,CAACI,SAAS;MAC1BC,cAAc,EAAEL,KAAK,CAACK,cAAc;MACpCC,eAAe,EAAEN,KAAK,CAACM,eAAe;MACtCC,mBAAmB,EAAEP,KAAK,CAACO,mBAAmB;MAC9CC,gBAAgB,EAAER,KAAK,CAACQ;;GAE3B;AACH","names":["useTableContextValues_unstable","useDataGridContextValues_unstable","state","tableContextValues","dataGrid","tableState","focusMode","selectableRows","subtleSelection","selectionAppearance","resizableColumns"],"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"]}
@@ -1,5 +1,6 @@
1
1
  import { useTableCell_unstable } from '../TableCell/useTableCell';
2
2
  import { useDataGridContext_unstable } from '../../contexts/dataGridContext';
3
+ import { useColumnIdContext } from '../../contexts/columnIdContext';
3
4
  /**
4
5
  * Create the state required to render DataGridCell.
5
6
  *
@@ -10,11 +11,15 @@ import { useDataGridContext_unstable } from '../../contexts/dataGridContext';
10
11
  * @param ref - reference to root HTMLElement of DataGridCell
11
12
  */
12
13
  export const useDataGridCell_unstable = (props, ref) => {
14
+ const columnId = useColumnIdContext();
13
15
  const tabbable = useDataGridContext_unstable(ctx => ctx.focusMode === 'cell');
16
+ const resizableColumns = useDataGridContext_unstable(ctx => ctx.resizableColumns);
17
+ const columnSizing = useDataGridContext_unstable(ctx => ctx.columnSizing_unstable);
14
18
  return useTableCell_unstable({
15
19
  as: 'div',
16
20
  role: 'gridcell',
17
21
  tabIndex: tabbable ? 0 : undefined,
22
+ ...(resizableColumns ? columnSizing.getTableCellProps(columnId) : {}),
18
23
  ...props
19
24
  }, ref);
20
25
  };
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAEA,SAASA,qBAAqB,QAAQ,2BAA2B;AACjE,SAASC,2BAA2B,QAAQ,gCAAgC;AAE5E;;;;;;;;;AASA,OAAO,MAAMC,wBAAwB,GAAG,CAACC,KAAwB,EAAEC,GAA2B,KAAuB;EACnH,MAAMC,QAAQ,GAAGJ,2BAA2B,CAACK,GAAG,IAAIA,GAAG,CAACC,SAAS,KAAK,MAAM,CAAC;EAC7E,OAAOP,qBAAqB,CAAC;IAAEQ,EAAE,EAAE,KAAK;IAAEC,IAAI,EAAE,UAAU;IAAEC,QAAQ,EAAEL,QAAQ,GAAG,CAAC,GAAGM,SAAS;IAAE,GAAGR;EAAK,CAAE,EAAEC,GAAG,CAAC;AAClH,CAAC","names":["useTableCell_unstable","useDataGridContext_unstable","useDataGridCell_unstable","props","ref","tabbable","ctx","focusMode","as","role","tabIndex","undefined"],"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,SAASA,qBAAqB,QAAQ,2BAA2B;AACjE,SAASC,2BAA2B,QAAQ,gCAAgC;AAC5E,SAASC,kBAAkB,QAAQ,gCAAgC;AAEnE;;;;;;;;;AASA,OAAO,MAAMC,wBAAwB,GAAG,CAACC,KAAwB,EAAEC,GAA2B,KAAuB;EACnH,MAAMC,QAAQ,GAAGJ,kBAAkB,EAAE;EACrC,MAAMK,QAAQ,GAAGN,2BAA2B,CAACO,GAAG,IAAIA,GAAG,CAACC,SAAS,KAAK,MAAM,CAAC;EAC7E,MAAMC,gBAAgB,GAAGT,2BAA2B,CAACO,GAAG,IAAIA,GAAG,CAACE,gBAAgB,CAAC;EACjF,MAAMC,YAAY,GAAGV,2BAA2B,CAACO,GAAG,IAAIA,GAAG,CAACI,qBAAqB,CAAC;EAClF,OAAOZ,qBAAqB,CAC1B;IACEa,EAAE,EAAE,KAAK;IACTC,IAAI,EAAE,UAAU;IAChBC,QAAQ,EAAER,QAAQ,GAAG,CAAC,GAAGS,SAAS;IAClC,IAAIN,gBAAgB,GAAGC,YAAY,CAACM,iBAAiB,CAACX,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrE,GAAGF;GACJ,EACDC,GAAG,CACJ;AACH,CAAC","names":["useTableCell_unstable","useDataGridContext_unstable","useColumnIdContext","useDataGridCell_unstable","props","ref","columnId","tabbable","ctx","focusMode","resizableColumns","columnSizing","columnSizing_unstable","as","role","tabIndex","undefined","getTableCellProps"],"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"]}