@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
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SortDirection } from '../components/Table/Table.types';\n\nexport type TableRowId = string | number;\nexport type TableColumnId = string | number;\nexport type SelectionMode = 'single' | 'multiselect';\n\nexport interface SortState {\n sortColumn: TableColumnId | undefined;\n sortDirection: SortDirection;\n}\n\nexport interface OnSelectionChangeData {\n selectedItems: Set<TableRowId>;\n}\n\nexport interface CreateTableColumnOptions<TItem> extends Partial<TableColumnDefinition<TItem>> {\n columnId: TableColumnId;\n}\n\nexport interface TableColumnDefinition<TItem> {\n columnId: TableColumnId;\n compare: (a: TItem, b: TItem) => number;\n renderHeaderCell: () => React.ReactNode;\n renderCell: (item: TItem) => React.ReactNode;\n}\n\nexport type RowEnhancer<TItem, TRowState extends TableRowData<TItem> = TableRowData<TItem>> = (\n row: TableRowData<TItem>,\n) => TRowState;\n\nexport interface TableSortState<TItem> {\n /**\n * Current sort direction\n */\n sortDirection: SortDirection;\n /**\n * Column id of the currently sorted column\n */\n sortColumn: TableColumnId | undefined;\n /**\n * Set the sort direction for the specified column\n */\n setColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId, sortDirection: SortDirection) => void;\n /**\n * Toggles the sort direction for specified column\n */\n toggleColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId) => void;\n /**\n * Returns the sort direction if a column is sorted,\n * returns undefined if the column is not sorted\n */\n getSortDirection: (columnId: TableColumnId) => SortDirection | undefined;\n\n /**\n * Sorts rows and returns a **shallow** copy of original items\n */\n sort: <TRowState extends TableRowData<TItem>>(rows: TRowState[]) => TRowState[];\n}\n\nexport interface TableSelectionState {\n /**\n * Clears all selected rows\n */\n clearRows: (e: React.SyntheticEvent) => void;\n /**\n * Selects single row\n */\n selectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * De-selects single row\n */\n deselectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Toggle selection of all rows\n */\n toggleAllRows: (e: React.SyntheticEvent) => void;\n /**\n * Toggle selection of single row\n */\n toggleRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Collection of row ids corresponding to selected rows\n */\n selectedRows: Set<TableRowId>;\n /**\n * Whether all rows are selected\n */\n allRowsSelected: boolean;\n /**\n * Whether some rows are selected\n */\n someRowsSelected: boolean;\n\n /**\n * Checks if a given rowId is selected\n */\n isRowSelected: (rowId: TableRowId) => boolean;\n\n selectionMode: SelectionMode;\n}\n\nexport interface TableRowData<TItem> {\n /**\n * User provided data\n */\n item: TItem;\n /**\n * The row id, defaults to index position in the collection\n */\n rowId: TableRowId;\n}\n\nexport interface TableFeaturesState<TItem> extends Pick<UseTableFeaturesOptions<TItem>, 'items' | 'getRowId'> {\n /**\n * The row data for rendering\n * @param rowEnhancer - Enhances the row with extra user data\n */\n getRows: <TRowState extends TableRowData<TItem> = TableRowData<TItem>>(\n rowEnhancer?: RowEnhancer<TItem, TRowState>,\n ) => TRowState[];\n /**\n * State and actions to manage row selection\n */\n selection: TableSelectionState;\n /**\n * State and actions to manage row sorting\n */\n sort: TableSortState<TItem>;\n /**\n * Table columns\n */\n columns: TableColumnDefinition<TItem>[];\n}\n\nexport interface UseTableSortOptions {\n /**\n * Used to control sorting\n */\n sortState?: SortState;\n /**\n * Used in uncontrolled mode to set initial sort column and direction on mount\n */\n defaultSortState?: SortState;\n /**\n * Called when sort changes\n */\n onSortChange?(e: React.SyntheticEvent, state: SortState): void;\n}\n\nexport interface UseTableSelectionOptions {\n /**\n * Can be multi or single select\n */\n selectionMode: SelectionMode;\n /**\n * Used in uncontrolled mode to set initial selected rows on mount\n */\n defaultSelectedItems?: Set<TableRowId>;\n /**\n * Used to control row selection\n */\n selectedItems?: Set<TableRowId>;\n /**\n * Called when selection changes\n */\n onSelectionChange?(e: React.SyntheticEvent, data: OnSelectionChangeData): void;\n}\n\nexport interface UseTableFeaturesOptions<TItem> {\n columns: TableColumnDefinition<TItem>[];\n items: TItem[];\n getRowId?: (item: TItem) => TableRowId;\n}\n\nexport type TableFeaturePlugin = <TItem>(tableState: TableFeaturesState<TItem>) => TableFeaturesState<TItem>;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SortDirection } from '../components/Table/Table.types';\nimport { TableHeaderCellProps } from '../components/TableHeaderCell/TableHeaderCell.types';\n\nexport type TableRowId = string | number;\nexport type TableColumnId = string | number;\nexport type SelectionMode = 'single' | 'multiselect';\n\nexport interface SortState {\n sortColumn: TableColumnId | undefined;\n sortDirection: SortDirection;\n}\n\nexport interface OnSelectionChangeData {\n selectedItems: Set<TableRowId>;\n}\n\nexport interface CreateTableColumnOptions<TItem> extends Partial<TableColumnDefinition<TItem>> {\n columnId: TableColumnId;\n}\n\nexport interface TableColumnDefinition<TItem> {\n columnId: TableColumnId;\n compare: (a: TItem, b: TItem) => number;\n renderHeaderCell: () => React.ReactNode;\n renderCell: (item: TItem) => React.ReactNode;\n}\n\nexport type RowEnhancer<TItem, TRowState extends TableRowData<TItem> = TableRowData<TItem>> = (\n row: TableRowData<TItem>,\n) => TRowState;\n\nexport interface TableSortState<TItem> {\n /**\n * Current sort direction\n */\n sortDirection: SortDirection;\n /**\n * Column id of the currently sorted column\n */\n sortColumn: TableColumnId | undefined;\n /**\n * Set the sort direction for the specified column\n */\n setColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId, sortDirection: SortDirection) => void;\n /**\n * Toggles the sort direction for specified column\n */\n toggleColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId) => void;\n /**\n * Returns the sort direction if a column is sorted,\n * returns undefined if the column is not sorted\n */\n getSortDirection: (columnId: TableColumnId) => SortDirection | undefined;\n\n /**\n * Sorts rows and returns a **shallow** copy of original items\n */\n sort: <TRowState extends TableRowData<TItem>>(rows: TRowState[]) => TRowState[];\n}\n\nexport interface TableSelectionState {\n /**\n * Clears all selected rows\n */\n clearRows: (e: React.SyntheticEvent) => void;\n /**\n * Selects single row\n */\n selectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * De-selects single row\n */\n deselectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Toggle selection of all rows\n */\n toggleAllRows: (e: React.SyntheticEvent) => void;\n /**\n * Toggle selection of single row\n */\n toggleRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Collection of row ids corresponding to selected rows\n */\n selectedRows: Set<TableRowId>;\n /**\n * Whether all rows are selected\n */\n allRowsSelected: boolean;\n /**\n * Whether some rows are selected\n */\n someRowsSelected: boolean;\n\n /**\n * Checks if a given rowId is selected\n */\n isRowSelected: (rowId: TableRowId) => boolean;\n\n selectionMode: SelectionMode;\n}\n\nexport interface TableRowData<TItem> {\n /**\n * User provided data\n */\n item: TItem;\n /**\n * The row id, defaults to index position in the collection\n */\n rowId: TableRowId;\n}\n\nexport interface TableFeaturesState<TItem> extends Pick<UseTableFeaturesOptions<TItem>, 'items' | 'getRowId'> {\n /**\n * The row data for rendering\n * @param rowEnhancer - Enhances the row with extra user data\n */\n getRows: <TRowState extends TableRowData<TItem> = TableRowData<TItem>>(\n rowEnhancer?: RowEnhancer<TItem, TRowState>,\n ) => TRowState[];\n /**\n * State and actions to manage row selection\n */\n selection: TableSelectionState;\n /**\n * State and actions to manage row sorting\n */\n sort: TableSortState<TItem>;\n /**\n * Table columns\n */\n columns: TableColumnDefinition<TItem>[];\n /**\n * State and actions to manage column resizing\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: TableColumnSizingState;\n /**\n * A React.Ref object to be set as a ref for the table.\n * Used with column resizing.\n */\n tableRef: React.Ref<HTMLDivElement>;\n}\n\nexport interface UseTableSortOptions {\n /**\n * Used to control sorting\n */\n sortState?: SortState;\n /**\n * Used in uncontrolled mode to set initial sort column and direction on mount\n */\n defaultSortState?: SortState;\n /**\n * Called when sort changes\n */\n onSortChange?(e: React.SyntheticEvent, state: SortState): void;\n}\n\nexport interface UseTableSelectionOptions {\n /**\n * Can be multi or single select\n */\n selectionMode: SelectionMode;\n /**\n * Used in uncontrolled mode to set initial selected rows on mount\n */\n defaultSelectedItems?: Set<TableRowId>;\n /**\n * Used to control row selection\n */\n selectedItems?: Set<TableRowId>;\n /**\n * Called when selection changes\n */\n onSelectionChange?(e: React.SyntheticEvent, data: OnSelectionChangeData): void;\n}\n\nexport interface UseTableFeaturesOptions<TItem> {\n columns: TableColumnDefinition<TItem>[];\n items: TItem[];\n getRowId?: (item: TItem) => TableRowId;\n}\n\nexport type TableFeaturePlugin = <TItem>(tableState: TableFeaturesState<TItem>) => TableFeaturesState<TItem>;\n\nexport interface ColumnWidthState {\n columnId: TableColumnId;\n width: number;\n minWidth: number;\n idealWidth: number;\n padding: number;\n}\n\nexport type ColumnSizingTableHeaderCellProps = Pick<TableHeaderCellProps, 'style' | 'aside'>;\nexport type ColumnSizingTableCellProps = Pick<TableHeaderCellProps, 'style'>;\n\nexport interface TableColumnSizingState {\n getOnMouseDown: (columnId: TableColumnId) => (e: React.MouseEvent<HTMLElement>) => void;\n setColumnWidth: (columnId: TableColumnId, newSize: number) => void;\n getColumnWidths: () => ColumnWidthState[];\n getTableHeaderCellProps: (columnId: TableColumnId) => ColumnSizingTableHeaderCellProps;\n getTableCellProps: (columnId: TableColumnId) => ColumnSizingTableCellProps;\n}\n\nexport type ColumnResizeState = {\n getColumnWidth: (columnId: TableColumnId) => number;\n setColumnWidth: (e: MouseEvent | undefined, data: { columnId: TableColumnId; width: number }) => void;\n getColumnById: (columnId: TableColumnId) => ColumnWidthState | undefined;\n getColumns: () => ColumnWidthState[];\n};\n\nexport type TableColumnSizingOptions = Record<\n TableColumnId,\n Partial<Pick<ColumnWidthState, 'minWidth' | 'idealWidth' | 'padding'>> & { defaultWidth?: number }\n>;\n\nexport type UseTableColumnSizingParams = {\n columnSizingOptions?: TableColumnSizingOptions;\n onColumnResize?: (e: MouseEvent | undefined, data: { columnId: TableColumnId; width: number }) => void;\n containerWidthOffset?: number;\n};\n"]}
@@ -0,0 +1,48 @@
1
+ import { canUseDOM } from '@fluentui/react-utilities';
2
+ import * as React from 'react';
3
+ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
4
+ /**
5
+ * Provides a way of reporting element width.
6
+ * Returns
7
+ * `width` - current element width (0 by default),
8
+ * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure
9
+ */
10
+ export function useMeasureElement() {
11
+ const [width, setWidth] = React.useState(0);
12
+ const container = React.useRef(undefined);
13
+ const {
14
+ targetDocument
15
+ } = useFluent();
16
+ // the handler for resize observer
17
+ const handleResize = React.useCallback(() => {
18
+ var _a;
19
+ const containerWidth = (_a = container.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
20
+ setWidth(containerWidth || 0);
21
+ }, []);
22
+ // Keep the reference of ResizeObserver in the state, as it should live through renders
23
+ const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);
24
+ const measureElementRef = React.useCallback(el => {
25
+ if (!targetDocument || !resizeObserver) {
26
+ return;
27
+ }
28
+ // cleanup previous container
29
+ if (container.current) {
30
+ resizeObserver.unobserve(container.current);
31
+ container.current.remove();
32
+ }
33
+ if (el) {
34
+ container.current = targetDocument.createElement('div');
35
+ el.insertAdjacentElement('beforebegin', container.current);
36
+ resizeObserver.observe(container.current);
37
+ handleResize();
38
+ }
39
+ }, [targetDocument, resizeObserver, handleResize]);
40
+ React.useEffect(() => {
41
+ return () => resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
42
+ }, [resizeObserver]);
43
+ return {
44
+ width,
45
+ measureElementRef
46
+ };
47
+ }
48
+ //# sourceMappingURL=useMeasureElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA,SAASA,SAAS,QAAQ,2BAA2B;AACrD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,kBAAkB,IAAIC,SAAS,QAAQ,iCAAiC;AAEjF;;;;;;AAMA,OAAM,SAAUC,iBAAiB;EAC/B,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGL,KAAK,CAACM,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAMC,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAA0BC,SAAS,CAAC;EAElE,MAAM;IAAEC;EAAc,CAAE,GAAGR,SAAS,EAAE;EAEtC;EACA,MAAMS,YAAY,GAAGX,KAAK,CAACY,WAAW,CAAC,MAAK;;IAC1C,MAAMC,cAAc,GAAG,eAAS,CAACC,OAAO,0CAAEC,qBAAqB,GAAGX,KAAK;IACvEC,QAAQ,CAACQ,cAAc,IAAI,CAAC,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN;EACA,MAAM,CAACG,cAAc,CAAC,GAAGhB,KAAK,CAACM,QAAQ,CAACP,SAAS,EAAE,GAAG,IAAIkB,cAAc,CAACN,YAAY,CAAC,GAAGF,SAAS,CAAC;EACnG,MAAMS,iBAAiB,GAAGlB,KAAK,CAACY,WAAW,CACxCO,EAAmB,IAAI;IACtB,IAAI,CAACT,cAAc,IAAI,CAACM,cAAc,EAAE;MACtC;;IAGF;IACA,IAAIT,SAAS,CAACO,OAAO,EAAE;MACrBE,cAAc,CAACI,SAAS,CAACb,SAAS,CAACO,OAAO,CAAC;MAC3CP,SAAS,CAACO,OAAO,CAACO,MAAM,EAAE;;IAG5B,IAAIF,EAAE,EAAE;MACNZ,SAAS,CAACO,OAAO,GAAGJ,cAAc,CAACY,aAAa,CAAC,KAAK,CAAC;MACvDH,EAAE,CAACI,qBAAqB,CAAC,aAAa,EAAEhB,SAAS,CAACO,OAAO,CAAC;MAC1DE,cAAc,CAACQ,OAAO,CAACjB,SAAS,CAACO,OAAO,CAAC;MACzCH,YAAY,EAAE;;EAElB,CAAC,EACD,CAACD,cAAc,EAAEM,cAAc,EAAEL,YAAY,CAAC,CAC/C;EAEDX,KAAK,CAACyB,SAAS,CAAC,MAAK;IACnB,OAAO,MAAMT,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEU,UAAU,EAAE;EAC3C,CAAC,EAAE,CAACV,cAAc,CAAC,CAAC;EAEpB,OAAO;IAAEZ,KAAK;IAAEc;EAAiB,CAAE;AACrC","names":["canUseDOM","React","useFluent_unstable","useFluent","useMeasureElement","width","setWidth","useState","container","useRef","undefined","targetDocument","handleResize","useCallback","containerWidth","current","getBoundingClientRect","resizeObserver","ResizeObserver","measureElementRef","el","unobserve","remove","createElement","insertAdjacentElement","observe","useEffect","disconnect"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useMeasureElement.ts"],"sourcesContent":["import { canUseDOM } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n\n/**\n * Provides a way of reporting element width.\n * Returns\n * `width` - current element width (0 by default),\n * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure\n */\nexport function useMeasureElement<TElement extends HTMLElement = HTMLElement>() {\n const [width, setWidth] = React.useState(0);\n const container = React.useRef<HTMLElement | undefined>(undefined);\n\n const { targetDocument } = useFluent();\n\n // the handler for resize observer\n const handleResize = React.useCallback(() => {\n const containerWidth = container.current?.getBoundingClientRect().width;\n setWidth(containerWidth || 0);\n }, []);\n\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n const measureElementRef = React.useCallback(\n (el: TElement | null) => {\n if (!targetDocument || !resizeObserver) {\n return;\n }\n\n // cleanup previous container\n if (container.current) {\n resizeObserver.unobserve(container.current);\n container.current.remove();\n }\n\n if (el) {\n container.current = targetDocument.createElement('div');\n el.insertAdjacentElement('beforebegin', container.current);\n resizeObserver.observe(container.current);\n handleResize();\n }\n },\n [targetDocument, resizeObserver, handleResize],\n );\n\n React.useEffect(() => {\n return () => resizeObserver?.disconnect();\n }, [resizeObserver]);\n\n return { width, measureElementRef };\n}\n"]}
@@ -0,0 +1,50 @@
1
+ import * as React from 'react';
2
+ import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
3
+ export function useTableColumnResizeMouseHandler(columnResizeState) {
4
+ const mouseX = React.useRef(0);
5
+ const currentWidth = React.useRef(0);
6
+ const colId = React.useRef(undefined);
7
+ const {
8
+ targetDocument
9
+ } = useFluent();
10
+ const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;
11
+ const handleMouseMove = React.useCallback(e => {
12
+ const dx = e.clientX - mouseX.current;
13
+ // Update the local width for the column and set it
14
+ currentWidth.current += dx;
15
+ colId.current && columnResizeState.setColumnWidth(e, {
16
+ columnId: colId.current,
17
+ width: currentWidth.current
18
+ });
19
+ mouseX.current = e.clientX;
20
+ }, [columnResizeState]);
21
+ const onMouseMove = React.useCallback(e => {
22
+ // Using requestAnimationFrame here drastically improves resizing experience on slower CPUs
23
+ if (typeof (globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame) === 'function') {
24
+ requestAnimationFrame(() => handleMouseMove(e));
25
+ } else {
26
+ handleMouseMove(e);
27
+ }
28
+ }, [globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame, handleMouseMove]);
29
+ const onMouseUp = React.useCallback(e => {
30
+ targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mouseup', onMouseUp);
31
+ targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mousemove', onMouseMove);
32
+ }, [onMouseMove, targetDocument]);
33
+ const getOnMouseDown = columnId => mouseDownEvent => {
34
+ // ignore other buttons than primary mouse button
35
+ if (mouseDownEvent.target !== mouseDownEvent.currentTarget || mouseDownEvent.button !== 0) {
36
+ return;
37
+ }
38
+ // Keep the width locally so that we decouple the calculation of the next with from rendering.
39
+ // This makes the whole experience much faster and more precise
40
+ currentWidth.current = columnResizeState.getColumnWidth(columnId);
41
+ mouseX.current = mouseDownEvent.clientX;
42
+ colId.current = columnId;
43
+ targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mouseup', onMouseUp);
44
+ targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mousemove', onMouseMove);
45
+ };
46
+ return {
47
+ getOnMouseDown: columnId => getOnMouseDown(columnId)
48
+ };
49
+ }
50
+ //# sourceMappingURL=useTableColumnResizeMouseHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kBAAkB,IAAIC,SAAS,QAAQ,iCAAiC;AAEjF,OAAM,SAAUC,gCAAgC,CAACC,iBAAoC;EACnF,MAAMC,MAAM,GAAGL,KAAK,CAACM,MAAM,CAAC,CAAC,CAAC;EAC9B,MAAMC,YAAY,GAAGP,KAAK,CAACM,MAAM,CAAC,CAAC,CAAC;EACpC,MAAME,KAAK,GAAGR,KAAK,CAACM,MAAM,CAA4BG,SAAS,CAAC;EAEhE,MAAM;IAAEC;EAAc,CAAE,GAAGR,SAAS,EAAE;EACtC,MAAMS,SAAS,GAAGD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,WAAW;EAE7C,MAAMC,eAAe,GAAGb,KAAK,CAACc,WAAW,CACtCC,CAAa,IAAI;IAChB,MAAMC,EAAE,GAAGD,CAAC,CAACE,OAAO,GAAGZ,MAAM,CAACa,OAAO;IAErC;IACAX,YAAY,CAACW,OAAO,IAAIF,EAAE;IAC1BR,KAAK,CAACU,OAAO,IAAId,iBAAiB,CAACe,cAAc,CAACJ,CAAC,EAAE;MAAEK,QAAQ,EAAEZ,KAAK,CAACU,OAAO;MAAEG,KAAK,EAAEd,YAAY,CAACW;IAAO,CAAE,CAAC;IAC9Gb,MAAM,CAACa,OAAO,GAAGH,CAAC,CAACE,OAAO;EAC5B,CAAC,EACD,CAACb,iBAAiB,CAAC,CACpB;EAED,MAAMkB,WAAW,GAAGtB,KAAK,CAACc,WAAW,CAClCC,CAAa,IAAI;IAChB;IACA,IAAI,QAAOJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEY,qBAAqB,MAAK,UAAU,EAAE;MAC1DA,qBAAqB,CAAC,MAAMV,eAAe,CAACE,CAAC,CAAC,CAAC;KAChD,MAAM;MACLF,eAAe,CAACE,CAAC,CAAC;;EAEtB,CAAC,EACD,CAACJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEY,qBAAqB,EAAEV,eAAe,CAAC,CACpD;EAED,MAAMW,SAAS,GAAGxB,KAAK,CAACc,WAAW,CAChCC,CAAa,IAAI;IAChBL,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEe,mBAAmB,CAAC,SAAS,EAAED,SAAS,CAAC;IACzDd,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEe,mBAAmB,CAAC,WAAW,EAAEH,WAAW,CAAC;EAC/D,CAAC,EACD,CAACA,WAAW,EAAEZ,cAAc,CAAC,CAC9B;EAED,MAAMgB,cAAc,GAAIN,QAAuB,IAAMO,cAA6C,IAAI;IACpG;IACA,IAAIA,cAAc,CAACC,MAAM,KAAKD,cAAc,CAACE,aAAa,IAAIF,cAAc,CAACG,MAAM,KAAK,CAAC,EAAE;MACzF;;IAEF;IACA;IACAvB,YAAY,CAACW,OAAO,GAAGd,iBAAiB,CAAC2B,cAAc,CAACX,QAAQ,CAAC;IACjEf,MAAM,CAACa,OAAO,GAAGS,cAAc,CAACV,OAAO;IACvCT,KAAK,CAACU,OAAO,GAAGE,QAAQ;IAExBV,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEsB,gBAAgB,CAAC,SAAS,EAAER,SAAS,CAAC;IACtDd,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEsB,gBAAgB,CAAC,WAAW,EAAEV,WAAW,CAAC;EAC5D,CAAC;EAED,OAAO;IACLI,cAAc,EAAGN,QAAuB,IAAKM,cAAc,CAACN,QAAQ;GACrE;AACH","names":["React","useFluent_unstable","useFluent","useTableColumnResizeMouseHandler","columnResizeState","mouseX","useRef","currentWidth","colId","undefined","targetDocument","globalWin","defaultView","handleMouseMove","useCallback","e","dx","clientX","current","setColumnWidth","columnId","width","onMouseMove","requestAnimationFrame","onMouseUp","removeEventListener","getOnMouseDown","mouseDownEvent","target","currentTarget","button","getColumnWidth","addEventListener"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableColumnResizeMouseHandler.ts"],"sourcesContent":["import * as React from 'react';\nimport { TableColumnId, ColumnResizeState } from './types';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n\nexport function useTableColumnResizeMouseHandler(columnResizeState: ColumnResizeState) {\n const mouseX = React.useRef(0);\n const currentWidth = React.useRef(0);\n const colId = React.useRef<TableColumnId | undefined>(undefined);\n\n const { targetDocument } = useFluent();\n const globalWin = targetDocument?.defaultView;\n\n const handleMouseMove = React.useCallback(\n (e: MouseEvent) => {\n const dx = e.clientX - mouseX.current;\n\n // Update the local width for the column and set it\n currentWidth.current += dx;\n colId.current && columnResizeState.setColumnWidth(e, { columnId: colId.current, width: currentWidth.current });\n mouseX.current = e.clientX;\n },\n [columnResizeState],\n );\n\n const onMouseMove = React.useCallback(\n (e: MouseEvent) => {\n // Using requestAnimationFrame here drastically improves resizing experience on slower CPUs\n if (typeof globalWin?.requestAnimationFrame === 'function') {\n requestAnimationFrame(() => handleMouseMove(e));\n } else {\n handleMouseMove(e);\n }\n },\n [globalWin?.requestAnimationFrame, handleMouseMove],\n );\n\n const onMouseUp = React.useCallback(\n (e: MouseEvent) => {\n targetDocument?.removeEventListener('mouseup', onMouseUp);\n targetDocument?.removeEventListener('mousemove', onMouseMove);\n },\n [onMouseMove, targetDocument],\n );\n\n const getOnMouseDown = (columnId: TableColumnId) => (mouseDownEvent: React.MouseEvent<HTMLElement>) => {\n // ignore other buttons than primary mouse button\n if (mouseDownEvent.target !== mouseDownEvent.currentTarget || mouseDownEvent.button !== 0) {\n return;\n }\n // Keep the width locally so that we decouple the calculation of the next with from rendering.\n // This makes the whole experience much faster and more precise\n currentWidth.current = columnResizeState.getColumnWidth(columnId);\n mouseX.current = mouseDownEvent.clientX;\n colId.current = columnId;\n\n targetDocument?.addEventListener('mouseup', onMouseUp);\n targetDocument?.addEventListener('mousemove', onMouseMove);\n };\n\n return {\n getOnMouseDown: (columnId: TableColumnId) => getOnMouseDown(columnId),\n };\n}\n"]}
@@ -0,0 +1,112 @@
1
+ import { useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';
2
+ import * as React from 'react';
3
+ import { columnDefinitionsToState, adjustColumnWidthsToFitContainer, getColumnById, setColumnProperty, getColumnWidth } from '../utils/columnResizeUtils';
4
+ const createReducer = () => (state, action) => {
5
+ switch (action.type) {
6
+ case 'CONTAINER_WIDTH_UPDATED':
7
+ return {
8
+ ...state,
9
+ containerWidth: action.containerWidth,
10
+ columnWidthState: adjustColumnWidthsToFitContainer(state.columnWidthState, action.containerWidth)
11
+ };
12
+ case 'COLUMNS_UPDATED':
13
+ const newS = columnDefinitionsToState(action.columns, state.columnWidthState, state.columnSizingOptions);
14
+ return {
15
+ ...state,
16
+ columns: action.columns,
17
+ columnWidthState: adjustColumnWidthsToFitContainer(newS, state.containerWidth)
18
+ };
19
+ case 'COLUMN_SIZING_OPTIONS_UPDATED':
20
+ const newState = columnDefinitionsToState(state.columns, state.columnWidthState, action.columnSizingOptions);
21
+ return {
22
+ ...state,
23
+ columnSizingOptions: action.columnSizingOptions,
24
+ columnWidthState: adjustColumnWidthsToFitContainer(newState, state.containerWidth)
25
+ };
26
+ case 'SET_COLUMN_WIDTH':
27
+ const {
28
+ columnId,
29
+ width
30
+ } = action;
31
+ const {
32
+ containerWidth
33
+ } = state;
34
+ const column = getColumnById(state.columnWidthState, columnId);
35
+ let newColumnWidthState = [...state.columnWidthState];
36
+ if (!column) {
37
+ return state;
38
+ }
39
+ // Adjust the column width and measure the new total width
40
+ newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'width', width);
41
+ // Set this width as idealWidth, because its a deliberate change, not a recalculation because of container
42
+ newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'idealWidth', width);
43
+ // Adjust the widths to the container size
44
+ newColumnWidthState = adjustColumnWidthsToFitContainer(newColumnWidthState, containerWidth);
45
+ return {
46
+ ...state,
47
+ columnWidthState: newColumnWidthState
48
+ };
49
+ }
50
+ };
51
+ export function useTableColumnResizeState(columns, containerWidth, params = {}) {
52
+ const {
53
+ onColumnResize,
54
+ columnSizingOptions
55
+ } = params;
56
+ const reducer = React.useMemo(() => createReducer(), []);
57
+ const [state, dispatch] = React.useReducer(reducer, {
58
+ columns,
59
+ containerWidth: 0,
60
+ columnWidthState: columnDefinitionsToState(columns, undefined, columnSizingOptions),
61
+ columnSizingOptions
62
+ });
63
+ useIsomorphicLayoutEffect(() => {
64
+ dispatch({
65
+ type: 'CONTAINER_WIDTH_UPDATED',
66
+ containerWidth
67
+ });
68
+ }, [containerWidth]);
69
+ useIsomorphicLayoutEffect(() => {
70
+ dispatch({
71
+ type: 'COLUMNS_UPDATED',
72
+ columns
73
+ });
74
+ }, [columns]);
75
+ useIsomorphicLayoutEffect(() => {
76
+ dispatch({
77
+ type: 'COLUMN_SIZING_OPTIONS_UPDATED',
78
+ columnSizingOptions
79
+ });
80
+ }, [columnSizingOptions]);
81
+ const setColumnWidth = useEventCallback((event, data) => {
82
+ let {
83
+ width
84
+ } = data;
85
+ const {
86
+ columnId
87
+ } = data;
88
+ const col = getColumnById(state.columnWidthState, columnId);
89
+ if (!col) {
90
+ return;
91
+ }
92
+ width = Math.max(col.minWidth || 0, width);
93
+ if (onColumnResize) {
94
+ onColumnResize(event, {
95
+ columnId,
96
+ width
97
+ });
98
+ }
99
+ dispatch({
100
+ type: 'SET_COLUMN_WIDTH',
101
+ columnId,
102
+ width
103
+ });
104
+ });
105
+ return {
106
+ getColumnById: colId => getColumnById(state.columnWidthState, colId),
107
+ getColumns: () => state.columnWidthState,
108
+ getColumnWidth: colId => getColumnWidth(state.columnWidthState, colId),
109
+ setColumnWidth
110
+ };
111
+ }
112
+ //# sourceMappingURL=useTableColumnResizeState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA,SAASA,gBAAgB,EAAEC,yBAAyB,QAAQ,2BAA2B;AACvF,OAAO,KAAKC,KAAK,MAAM,OAAO;AAS9B,SACEC,wBAAwB,EACxBC,gCAAgC,EAChCC,aAAa,EACbC,iBAAiB,EACjBC,cAAc,QACT,4BAA4B;AA4BnC,MAAMC,aAAa,GAAG,MAAS,CAACC,KAAwB,EAAEC,MAAkC,KAAuB;EACjH,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,yBAAyB;MAC5B,OAAO;QACL,GAAGF,KAAK;QACRG,cAAc,EAAEF,MAAM,CAACE,cAAc;QACrCC,gBAAgB,EAAET,gCAAgC,CAACK,KAAK,CAACI,gBAAgB,EAAEH,MAAM,CAACE,cAAc;OACjG;IAEH,KAAK,iBAAiB;MACpB,MAAME,IAAI,GAAGX,wBAAwB,CAACO,MAAM,CAACK,OAAO,EAAEN,KAAK,CAACI,gBAAgB,EAAEJ,KAAK,CAACO,mBAAmB,CAAC;MACxG,OAAO;QACL,GAAGP,KAAK;QACRM,OAAO,EAAEL,MAAM,CAACK,OAAO;QACvBF,gBAAgB,EAAET,gCAAgC,CAACU,IAAI,EAAEL,KAAK,CAACG,cAAc;OAC9E;IAEH,KAAK,+BAA+B;MAClC,MAAMK,QAAQ,GAAGd,wBAAwB,CAACM,KAAK,CAACM,OAAO,EAAEN,KAAK,CAACI,gBAAgB,EAAEH,MAAM,CAACM,mBAAmB,CAAC;MAC5G,OAAO;QACL,GAAGP,KAAK;QACRO,mBAAmB,EAAEN,MAAM,CAACM,mBAAmB;QAC/CH,gBAAgB,EAAET,gCAAgC,CAACa,QAAQ,EAAER,KAAK,CAACG,cAAc;OAClF;IAEH,KAAK,kBAAkB;MACrB,MAAM;QAAEM,QAAQ;QAAEC;MAAK,CAAE,GAAGT,MAAM;MAClC,MAAM;QAAEE;MAAc,CAAE,GAAGH,KAAK;MAEhC,MAAMW,MAAM,GAAGf,aAAa,CAACI,KAAK,CAACI,gBAAgB,EAAEK,QAAQ,CAAC;MAC9D,IAAIG,mBAAmB,GAAG,CAAC,GAAGZ,KAAK,CAACI,gBAAgB,CAAC;MAErD,IAAI,CAACO,MAAM,EAAE;QACX,OAAOX,KAAK;;MAGd;MACAY,mBAAmB,GAAGf,iBAAiB,CAACe,mBAAmB,EAAEH,QAAQ,EAAE,OAAO,EAAEC,KAAK,CAAC;MACtF;MACAE,mBAAmB,GAAGf,iBAAiB,CAACe,mBAAmB,EAAEH,QAAQ,EAAE,YAAY,EAAEC,KAAK,CAAC;MAC3F;MACAE,mBAAmB,GAAGjB,gCAAgC,CAACiB,mBAAmB,EAAET,cAAc,CAAC;MAE3F,OAAO;QAAE,GAAGH,KAAK;QAAEI,gBAAgB,EAAEQ;MAAmB,CAAE;EAAC;AAEjE,CAAC;AAED,OAAM,SAAUC,yBAAyB,CACvCP,OAAmC,EACnCH,cAAsB,EACtBW,SAAqC,EAAE;EAEvC,MAAM;IAAEC,cAAc;IAAER;EAAmB,CAAE,GAAGO,MAAM;EAEtD,MAAME,OAAO,GAAGvB,KAAK,CAACwB,OAAO,CAAC,MAAMlB,aAAa,EAAK,EAAE,EAAE,CAAC;EAE3D,MAAM,CAACC,KAAK,EAAEkB,QAAQ,CAAC,GAAGzB,KAAK,CAAC0B,UAAU,CAACH,OAAO,EAAE;IAClDV,OAAO;IACPH,cAAc,EAAE,CAAC;IACjBC,gBAAgB,EAAEV,wBAAwB,CAACY,OAAO,EAAEc,SAAS,EAAEb,mBAAmB,CAAC;IACnFA;GACD,CAAC;EAEFf,yBAAyB,CAAC,MAAK;IAC7B0B,QAAQ,CAAC;MAAEhB,IAAI,EAAE,yBAAyB;MAAEC;IAAc,CAAE,CAAC;EAC/D,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpBX,yBAAyB,CAAC,MAAK;IAC7B0B,QAAQ,CAAC;MAAEhB,IAAI,EAAE,iBAAiB;MAAEI;IAAO,CAAE,CAAC;EAChD,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEbd,yBAAyB,CAAC,MAAK;IAC7B0B,QAAQ,CAAC;MAAEhB,IAAI,EAAE,+BAA+B;MAAEK;IAAmB,CAAE,CAAC;EAC1E,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,MAAMc,cAAc,GAAG9B,gBAAgB,CACrC,CAAC+B,KAA6B,EAAEC,IAAgD,KAAI;IAClF,IAAI;MAAEb;IAAK,CAAE,GAAGa,IAAI;IACpB,MAAM;MAAEd;IAAQ,CAAE,GAAGc,IAAI;IACzB,MAAMC,GAAG,GAAG5B,aAAa,CAACI,KAAK,CAACI,gBAAgB,EAAEK,QAAQ,CAAC;IAC3D,IAAI,CAACe,GAAG,EAAE;MACR;;IAGFd,KAAK,GAAGe,IAAI,CAACC,GAAG,CAACF,GAAG,CAACG,QAAQ,IAAI,CAAC,EAAEjB,KAAK,CAAC;IAE1C,IAAIK,cAAc,EAAE;MAClBA,cAAc,CAACO,KAAK,EAAE;QAAEb,QAAQ;QAAEC;MAAK,CAAE,CAAC;;IAE5CQ,QAAQ,CAAC;MAAEhB,IAAI,EAAE,kBAAkB;MAAEO,QAAQ;MAAEC;IAAK,CAAE,CAAC;EACzD,CAAC,CACF;EAED,OAAO;IACLd,aAAa,EAAGgC,KAAoB,IAAKhC,aAAa,CAACI,KAAK,CAACI,gBAAgB,EAAEwB,KAAK,CAAC;IACrFC,UAAU,EAAE,MAAM7B,KAAK,CAACI,gBAAgB;IACxCN,cAAc,EAAG8B,KAAoB,IAAK9B,cAAc,CAACE,KAAK,CAACI,gBAAgB,EAAEwB,KAAK,CAAC;IACvFP;GACD;AACH","names":["useEventCallback","useIsomorphicLayoutEffect","React","columnDefinitionsToState","adjustColumnWidthsToFitContainer","getColumnById","setColumnProperty","getColumnWidth","createReducer","state","action","type","containerWidth","columnWidthState","newS","columns","columnSizingOptions","newState","columnId","width","column","newColumnWidthState","useTableColumnResizeState","params","onColumnResize","reducer","useMemo","dispatch","useReducer","undefined","setColumnWidth","event","data","col","Math","max","minWidth","colId","getColumns"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableColumnResizeState.ts"],"sourcesContent":["import { useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport {\n TableColumnDefinition,\n TableColumnId,\n ColumnResizeState,\n ColumnWidthState,\n UseTableColumnSizingParams,\n TableColumnSizingOptions,\n} from './types';\nimport {\n columnDefinitionsToState,\n adjustColumnWidthsToFitContainer,\n getColumnById,\n setColumnProperty,\n getColumnWidth,\n} from '../utils/columnResizeUtils';\n\ntype ComponentState<T> = {\n columns: TableColumnDefinition<T>[];\n containerWidth: number;\n columnWidthState: ColumnWidthState[];\n columnSizingOptions: TableColumnSizingOptions | undefined;\n};\n\ntype ColumnResizeStateAction<T> =\n | {\n type: 'CONTAINER_WIDTH_UPDATED';\n containerWidth: number;\n }\n | {\n type: 'COLUMNS_UPDATED';\n columns: TableColumnDefinition<T>[];\n }\n | {\n type: 'COLUMN_SIZING_OPTIONS_UPDATED';\n columnSizingOptions: TableColumnSizingOptions | undefined;\n }\n | {\n type: 'SET_COLUMN_WIDTH';\n columnId: TableColumnId;\n width: number;\n };\n\nconst createReducer = <T>() => (state: ComponentState<T>, action: ColumnResizeStateAction<T>): ComponentState<T> => {\n switch (action.type) {\n case 'CONTAINER_WIDTH_UPDATED':\n return {\n ...state,\n containerWidth: action.containerWidth,\n columnWidthState: adjustColumnWidthsToFitContainer(state.columnWidthState, action.containerWidth),\n };\n\n case 'COLUMNS_UPDATED':\n const newS = columnDefinitionsToState(action.columns, state.columnWidthState, state.columnSizingOptions);\n return {\n ...state,\n columns: action.columns,\n columnWidthState: adjustColumnWidthsToFitContainer(newS, state.containerWidth),\n };\n\n case 'COLUMN_SIZING_OPTIONS_UPDATED':\n const newState = columnDefinitionsToState(state.columns, state.columnWidthState, action.columnSizingOptions);\n return {\n ...state,\n columnSizingOptions: action.columnSizingOptions,\n columnWidthState: adjustColumnWidthsToFitContainer(newState, state.containerWidth),\n };\n\n case 'SET_COLUMN_WIDTH':\n const { columnId, width } = action;\n const { containerWidth } = state;\n\n const column = getColumnById(state.columnWidthState, columnId);\n let newColumnWidthState = [...state.columnWidthState];\n\n if (!column) {\n return state;\n }\n\n // Adjust the column width and measure the new total width\n newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'width', width);\n // Set this width as idealWidth, because its a deliberate change, not a recalculation because of container\n newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'idealWidth', width);\n // Adjust the widths to the container size\n newColumnWidthState = adjustColumnWidthsToFitContainer(newColumnWidthState, containerWidth);\n\n return { ...state, columnWidthState: newColumnWidthState };\n }\n};\n\nexport function useTableColumnResizeState<T>(\n columns: TableColumnDefinition<T>[],\n containerWidth: number,\n params: UseTableColumnSizingParams = {},\n): ColumnResizeState {\n const { onColumnResize, columnSizingOptions } = params;\n\n const reducer = React.useMemo(() => createReducer<T>(), []);\n\n const [state, dispatch] = React.useReducer(reducer, {\n columns,\n containerWidth: 0,\n columnWidthState: columnDefinitionsToState(columns, undefined, columnSizingOptions),\n columnSizingOptions,\n });\n\n useIsomorphicLayoutEffect(() => {\n dispatch({ type: 'CONTAINER_WIDTH_UPDATED', containerWidth });\n }, [containerWidth]);\n\n useIsomorphicLayoutEffect(() => {\n dispatch({ type: 'COLUMNS_UPDATED', columns });\n }, [columns]);\n\n useIsomorphicLayoutEffect(() => {\n dispatch({ type: 'COLUMN_SIZING_OPTIONS_UPDATED', columnSizingOptions });\n }, [columnSizingOptions]);\n\n const setColumnWidth = useEventCallback(\n (event: MouseEvent | undefined, data: { columnId: TableColumnId; width: number }) => {\n let { width } = data;\n const { columnId } = data;\n const col = getColumnById(state.columnWidthState, columnId);\n if (!col) {\n return;\n }\n\n width = Math.max(col.minWidth || 0, width);\n\n if (onColumnResize) {\n onColumnResize(event, { columnId, width });\n }\n dispatch({ type: 'SET_COLUMN_WIDTH', columnId, width });\n },\n );\n\n return {\n getColumnById: (colId: TableColumnId) => getColumnById(state.columnWidthState, colId),\n getColumns: () => state.columnWidthState,\n getColumnWidth: (colId: TableColumnId) => getColumnWidth(state.columnWidthState, colId),\n setColumnWidth,\n };\n}\n"]}
@@ -0,0 +1,77 @@
1
+ import * as React from 'react';
2
+ import { useTableColumnResizeState } from './useTableColumnResizeState';
3
+ import { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';
4
+ import { useMeasureElement } from './useMeasureElement';
5
+ import { TableResizeHandle } from '../TableResizeHandle';
6
+ export const defaultColumnSizingState = {
7
+ getColumnWidths: () => [],
8
+ getOnMouseDown: () => () => null,
9
+ setColumnWidth: () => null,
10
+ getTableHeaderCellProps: () => ({
11
+ style: {},
12
+ columnId: ''
13
+ }),
14
+ getTableCellProps: () => ({
15
+ style: {},
16
+ columnId: ''
17
+ })
18
+ };
19
+ export function useTableColumnSizing_unstable(params) {
20
+ // False positive, these plugin hooks are intended to be run on every render
21
+ // eslint-disable-next-line react-hooks/rules-of-hooks
22
+ return tableState => useTableColumnSizingState(tableState, params);
23
+ }
24
+ function getColumnStyles(column) {
25
+ const width = column.width;
26
+ return {
27
+ // native styles
28
+ width,
29
+ // non-native element styles (flex layout)
30
+ minWidth: width,
31
+ maxWidth: width
32
+ };
33
+ }
34
+ function useTableColumnSizingState(tableState, params) {
35
+ const {
36
+ columns
37
+ } = tableState;
38
+ // Gets the container width
39
+ const {
40
+ width,
41
+ measureElementRef
42
+ } = useMeasureElement();
43
+ // Creates the state based on columns and available containerWidth
44
+ const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);
45
+ // Creates the mouse handler and attaches the state to it
46
+ const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);
47
+ return {
48
+ ...tableState,
49
+ tableRef: measureElementRef,
50
+ // eslint-disable-next-line @typescript-eslint/naming-convention
51
+ columnSizing_unstable: {
52
+ getOnMouseDown: mouseHandler.getOnMouseDown,
53
+ setColumnWidth: (columnId, w) => columnResizeState.setColumnWidth(undefined, {
54
+ columnId,
55
+ width: w
56
+ }),
57
+ getColumnWidths: columnResizeState.getColumns,
58
+ getTableHeaderCellProps: columnId => {
59
+ const col = columnResizeState.getColumnById(columnId);
60
+ const aside = /*#__PURE__*/React.createElement(TableResizeHandle, {
61
+ onMouseDown: mouseHandler.getOnMouseDown(columnId)
62
+ });
63
+ return col ? {
64
+ style: getColumnStyles(col),
65
+ aside
66
+ } : {};
67
+ },
68
+ getTableCellProps: columnId => {
69
+ const col = columnResizeState.getColumnById(columnId);
70
+ return col ? {
71
+ style: getColumnStyles(col)
72
+ } : {};
73
+ }
74
+ }
75
+ };
76
+ }
77
+ //# sourceMappingURL=useTableColumnSizing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAQ9B,SAASC,yBAAyB,QAAQ,6BAA6B;AACvE,SAASC,gCAAgC,QAAQ,oCAAoC;AACrF,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,iBAAiB,QAAQ,sBAAsB;AAExD,OAAO,MAAMC,wBAAwB,GAA2B;EAC9DC,eAAe,EAAE,MAAM,EAAE;EACzBC,cAAc,EAAE,MAAM,MAAM,IAAI;EAChCC,cAAc,EAAE,MAAM,IAAI;EAC1BC,uBAAuB,EAAE,OAAO;IAAEC,KAAK,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAE,CAAE,CAAC;EAC5DC,iBAAiB,EAAE,OAAO;IAAEF,KAAK,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAE,CAAE;CACtD;AAED,OAAM,SAAUE,6BAA6B,CAAQC,MAAmC;EACtF;EACA;EACA,OAAQC,UAAqC,IAAKC,yBAAyB,CAACD,UAAU,EAAED,MAAM,CAAC;AACjG;AAEA,SAASG,eAAe,CAACC,MAAwB;EAC/C,MAAMC,KAAK,GAAGD,MAAM,CAACC,KAAK;EAE1B,OAAO;IACL;IACAA,KAAK;IACL;IACAC,QAAQ,EAAED,KAAK;IACfE,QAAQ,EAAEF;GACX;AACH;AAEA,SAASH,yBAAyB,CAChCD,UAAqC,EACrCD,MAAmC;EAEnC,MAAM;IAAEQ;EAAO,CAAE,GAAGP,UAAU;EAE9B;EACA,MAAM;IAAEI,KAAK;IAAEI;EAAiB,CAAE,GAAGpB,iBAAiB,EAAE;EACxD;EACA,MAAMqB,iBAAiB,GAAGvB,yBAAyB,CAACqB,OAAO,EAAEH,KAAK,IAAI,OAAM,aAANL,MAAM,uBAANA,MAAM,CAAEW,oBAAoB,KAAI,CAAC,CAAC,EAAEX,MAAM,CAAC;EACjH;EACA,MAAMY,YAAY,GAAGxB,gCAAgC,CAACsB,iBAAiB,CAAC;EAExE,OAAO;IACL,GAAGT,UAAU;IACbY,QAAQ,EAAEJ,iBAAiB;IAC3B;IACAK,qBAAqB,EAAE;MACrBrB,cAAc,EAAEmB,YAAY,CAACnB,cAAc;MAC3CC,cAAc,EAAE,CAACG,QAAuB,EAAEkB,CAAS,KACjDL,iBAAiB,CAAChB,cAAc,CAACsB,SAAS,EAAE;QAAEnB,QAAQ;QAAEQ,KAAK,EAAEU;MAAC,CAAE,CAAC;MACrEvB,eAAe,EAAEkB,iBAAiB,CAACO,UAAU;MAC7CtB,uBAAuB,EAAGE,QAAuB,IAAI;QACnD,MAAMqB,GAAG,GAAGR,iBAAiB,CAACS,aAAa,CAACtB,QAAQ,CAAC;QACrD,MAAMuB,KAAK,gBAAGlC,oBAACI,iBAAiB;UAAC+B,WAAW,EAAET,YAAY,CAACnB,cAAc,CAACI,QAAQ;QAAC,EAAI;QACvF,OAAOqB,GAAG,GAAG;UAAEtB,KAAK,EAAEO,eAAe,CAACe,GAAG,CAAC;UAAEE;QAAK,CAAE,GAAG,EAAE;MAC1D,CAAC;MACDtB,iBAAiB,EAAGD,QAAuB,IAAI;QAC7C,MAAMqB,GAAG,GAAGR,iBAAiB,CAACS,aAAa,CAACtB,QAAQ,CAAC;QACrD,OAAOqB,GAAG,GAAG;UAAEtB,KAAK,EAAEO,eAAe,CAACe,GAAG;QAAC,CAAE,GAAG,EAAE;MACnD;;GAEH;AACH","names":["React","useTableColumnResizeState","useTableColumnResizeMouseHandler","useMeasureElement","TableResizeHandle","defaultColumnSizingState","getColumnWidths","getOnMouseDown","setColumnWidth","getTableHeaderCellProps","style","columnId","getTableCellProps","useTableColumnSizing_unstable","params","tableState","useTableColumnSizingState","getColumnStyles","column","width","minWidth","maxWidth","columns","measureElementRef","columnResizeState","containerWidthOffset","mouseHandler","tableRef","columnSizing_unstable","w","undefined","getColumns","col","getColumnById","aside","onMouseDown"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableColumnSizing.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n TableColumnId,\n ColumnWidthState,\n TableColumnSizingState,\n TableFeaturesState,\n UseTableColumnSizingParams,\n} from './types';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useMeasureElement } from './useMeasureElement';\nimport { TableResizeHandle } from '../TableResizeHandle';\n\nexport const defaultColumnSizingState: TableColumnSizingState = {\n getColumnWidths: () => [],\n getOnMouseDown: () => () => null,\n setColumnWidth: () => null,\n getTableHeaderCellProps: () => ({ style: {}, columnId: '' }),\n getTableCellProps: () => ({ style: {}, columnId: '' }),\n};\n\nexport function useTableColumnSizing_unstable<TItem>(params?: UseTableColumnSizingParams) {\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>) => useTableColumnSizingState(tableState, params);\n}\n\nfunction getColumnStyles(column: ColumnWidthState): React.CSSProperties {\n const width = column.width;\n\n return {\n // native styles\n width,\n // non-native element styles (flex layout)\n minWidth: width,\n maxWidth: width,\n };\n}\n\nfunction useTableColumnSizingState<TItem>(\n tableState: TableFeaturesState<TItem>,\n params?: UseTableColumnSizingParams,\n): TableFeaturesState<TItem> {\n const { columns } = tableState;\n\n // Gets the container width\n const { width, measureElementRef } = useMeasureElement();\n // Creates the state based on columns and available containerWidth\n const columnResizeState = useTableColumnResizeState(columns, width + (params?.containerWidthOffset || 0), params);\n // Creates the mouse handler and attaches the state to it\n const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);\n\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown: mouseHandler.getOnMouseDown,\n setColumnWidth: (columnId: TableColumnId, w: number) =>\n columnResizeState.setColumnWidth(undefined, { columnId, width: w }),\n getColumnWidths: columnResizeState.getColumns,\n getTableHeaderCellProps: (columnId: TableColumnId) => {\n const col = columnResizeState.getColumnById(columnId);\n const aside = <TableResizeHandle onMouseDown={mouseHandler.getOnMouseDown(columnId)} />;\n return col ? { style: getColumnStyles(col), aside } : {};\n },\n getTableCellProps: (columnId: TableColumnId) => {\n const col = columnResizeState.getColumnById(columnId);\n return col ? { style: getColumnStyles(col) } : {};\n },\n },\n };\n}\n"]}
@@ -1,5 +1,7 @@
1
+ import * as React from 'react';
1
2
  import { defaultTableSelectionState } from './useTableSelection';
2
3
  import { defaultTableSortState } from './useTableSort';
4
+ import { defaultColumnSizingState } from './useTableColumnSizing';
3
5
  const defaultRowEnhancer = row => row;
4
6
  export const defaultTableState = {
5
7
  selection: defaultTableSelectionState,
@@ -7,7 +9,10 @@ export const defaultTableState = {
7
9
  getRows: () => [],
8
10
  getRowId: () => '',
9
11
  items: [],
10
- columns: []
12
+ columns: [],
13
+ // eslint-disable-next-line @typescript-eslint/naming-convention
14
+ columnSizing_unstable: defaultColumnSizingState,
15
+ tableRef: /*#__PURE__*/React.createRef()
11
16
  };
12
17
  export function useTableFeatures(options, plugins = []) {
13
18
  const {
@@ -28,7 +33,10 @@ export function useTableFeatures(options, plugins = []) {
28
33
  columns,
29
34
  getRows,
30
35
  selection: defaultTableSelectionState,
31
- sort: defaultTableSortState
36
+ sort: defaultTableSortState,
37
+ // eslint-disable-next-line @typescript-eslint/naming-convention
38
+ columnSizing_unstable: defaultColumnSizingState,
39
+ tableRef: /*#__PURE__*/React.createRef()
32
40
  };
33
41
  return plugins.reduce((state, plugin) => plugin(state), initialState);
34
42
  }
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAQA,SAASA,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,qBAAqB,QAAQ,gBAAgB;AAEtD,MAAMC,kBAAkB,GAAgDC,GAAG,IAAIA,GAAG;AAElF,OAAO,MAAMC,iBAAiB,GAAgC;EAC5DC,SAAS,EAAEL,0BAA0B;EACrCM,IAAI,EAAEL,qBAAqB;EAC3BM,OAAO,EAAE,MAAM,EAAE;EACjBC,QAAQ,EAAE,MAAM,EAAE;EAClBC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE;CACV;AAED,OAAM,SAAUC,gBAAgB,CAC9BC,OAAuC,EACvCC,UAAgC,EAAE;EAElC,MAAM;IAAEJ,KAAK;IAAED,QAAQ;IAAEE;EAAO,CAAE,GAAGE,OAAO;EAE5C,MAAML,OAAO,GAAG,CACdO,cAAcZ,kBAAmD,KAC9DO,KAAK,CAACM,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAI;IAAA;IAAC,kBAAW,CAAC;MAAED,IAAI;MAAEE,KAAK,EAAE,cAAQ,aAARV,QAAQ,uBAARA,QAAQ,CAAGQ,IAAI,CAAC,mCAAIC;IAAC,CAAE,CAAC;EAAA,EAAC;EAEhF,MAAME,YAAY,GAA8B;IAC9CX,QAAQ;IACRC,KAAK;IACLC,OAAO;IACPH,OAAO;IACPF,SAAS,EAAEL,0BAA0B;IACrCM,IAAI,EAAEL;GACP;EAED,OAAOY,OAAO,CAACO,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,KAAKA,MAAM,CAACD,KAAK,CAAC,EAAEF,YAAY,CAAC;AACvE","names":["defaultTableSelectionState","defaultTableSortState","defaultRowEnhancer","row","defaultTableState","selection","sort","getRows","getRowId","items","columns","useTableFeatures","options","plugins","rowEnhancer","map","item","i","rowId","initialState","reduce","state","plugin"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableFeatures.ts"],"sourcesContent":["import type {\n UseTableFeaturesOptions,\n TableFeaturesState,\n TableRowData,\n RowEnhancer,\n TableFeaturePlugin,\n TableSortState,\n} from './types';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\n\nconst defaultRowEnhancer: RowEnhancer<unknown, TableRowData<unknown>> = row => row;\n\nexport const defaultTableState: TableFeaturesState<unknown> = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: () => [],\n getRowId: () => '',\n items: [],\n columns: [],\n};\n\nexport function useTableFeatures<TItem>(\n options: UseTableFeaturesOptions<TItem>,\n plugins: TableFeaturePlugin[] = [],\n): TableFeaturesState<TItem> {\n const { items, getRowId, columns } = options;\n\n const getRows = <TRowState extends TableRowData<TItem>>(\n rowEnhancer = defaultRowEnhancer as RowEnhancer<TItem, TRowState>,\n ) => items.map((item, i) => rowEnhancer({ item, rowId: getRowId?.(item) ?? i }));\n\n const initialState: TableFeaturesState<TItem> = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState as TableSortState<TItem>,\n };\n\n return plugins.reduce((state, plugin) => plugin(state), initialState);\n}\n"]}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAS9B,SAASC,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,wBAAwB,QAAQ,wBAAwB;AAEjE,MAAMC,kBAAkB,GAAgDC,GAAG,IAAIA,GAAG;AAElF,OAAO,MAAMC,iBAAiB,GAAgC;EAC5DC,SAAS,EAAEN,0BAA0B;EACrCO,IAAI,EAAEN,qBAAqB;EAC3BO,OAAO,EAAE,MAAM,EAAE;EACjBC,QAAQ,EAAE,MAAM,EAAE;EAClBC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE,EAAE;EACX;EACAC,qBAAqB,EAAEV,wBAAwB;EAC/CW,QAAQ,eAAEd,KAAK,CAACe,SAAS;CAC1B;AAED,OAAM,SAAUC,gBAAgB,CAC9BC,OAAuC,EACvCC,UAAgC,EAAE;EAElC,MAAM;IAAEP,KAAK;IAAED,QAAQ;IAAEE;EAAO,CAAE,GAAGK,OAAO;EAE5C,MAAMR,OAAO,GAAG,CACdU,cAAcf,kBAAmD,KAC9DO,KAAK,CAACS,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAI;IAAA;IAAC,kBAAW,CAAC;MAAED,IAAI;MAAEE,KAAK,EAAE,cAAQ,aAARb,QAAQ,uBAARA,QAAQ,CAAGW,IAAI,CAAC,mCAAIC;IAAC,CAAE,CAAC;EAAA,EAAC;EAEhF,MAAME,YAAY,GAA8B;IAC9Cd,QAAQ;IACRC,KAAK;IACLC,OAAO;IACPH,OAAO;IACPF,SAAS,EAAEN,0BAA0B;IACrCO,IAAI,EAAEN,qBAA8C;IACpD;IACAW,qBAAqB,EAAEV,wBAAwB;IAC/CW,QAAQ,eAAEd,KAAK,CAACe,SAAS;GAC1B;EAED,OAAOG,OAAO,CAACO,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,KAAKA,MAAM,CAACD,KAAK,CAAC,EAAEF,YAAY,CAAC;AACvE","names":["React","defaultTableSelectionState","defaultTableSortState","defaultColumnSizingState","defaultRowEnhancer","row","defaultTableState","selection","sort","getRows","getRowId","items","columns","columnSizing_unstable","tableRef","createRef","useTableFeatures","options","plugins","rowEnhancer","map","item","i","rowId","initialState","reduce","state","plugin"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableFeatures.ts"],"sourcesContent":["import * as React from 'react';\nimport type {\n UseTableFeaturesOptions,\n TableFeaturesState,\n TableRowData,\n RowEnhancer,\n TableFeaturePlugin,\n TableSortState,\n} from './types';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\nimport { defaultColumnSizingState } from './useTableColumnSizing';\n\nconst defaultRowEnhancer: RowEnhancer<unknown, TableRowData<unknown>> = row => row;\n\nexport const defaultTableState: TableFeaturesState<unknown> = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: () => [],\n getRowId: () => '',\n items: [],\n columns: [],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef<HTMLDivElement>(),\n};\n\nexport function useTableFeatures<TItem>(\n options: UseTableFeaturesOptions<TItem>,\n plugins: TableFeaturePlugin[] = [],\n): TableFeaturesState<TItem> {\n const { items, getRowId, columns } = options;\n\n const getRows = <TRowState extends TableRowData<TItem>>(\n rowEnhancer = defaultRowEnhancer as RowEnhancer<TItem, TRowState>,\n ) => items.map((item, i) => rowEnhancer({ item, rowId: getRowId?.(item) ?? i }));\n\n const initialState: TableFeaturesState<TItem> = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState as TableSortState<TItem>,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef(),\n };\n\n return plugins.reduce((state, plugin) => plugin(state), initialState);\n}\n"]}
package/lib/index.js CHANGED
@@ -1,10 +1,11 @@
1
- export { useTableFeatures, useTableSelection, useTableSort, createTableColumn } from './hooks';
1
+ export { useTableFeatures, useTableSelection, useTableSort, createTableColumn, useTableColumnSizing_unstable } from './hooks';
2
2
  export { TableCell, tableCellClassNames, tableCellClassName, useTableCellStyles_unstable, useTableCell_unstable, renderTableCell_unstable } from './TableCell';
3
3
  export { TableRow, tableRowClassNames, tableRowClassName, useTableRowStyles_unstable, useTableRow_unstable, renderTableRow_unstable } from './TableRow';
4
4
  export { TableBody, tableBodyClassName, tableBodyClassNames, useTableBodyStyles_unstable, useTableBody_unstable, renderTableBody_unstable } from './TableBody';
5
5
  export { Table, tableClassName, tableClassNames, useTableStyles_unstable, useTable_unstable, renderTable_unstable } from './Table';
6
6
  export { TableHeader, tableHeaderClassNames, tableHeaderClassName, useTableHeaderStyles_unstable, useTableHeader_unstable, renderTableHeader_unstable } from './TableHeader';
7
7
  export { TableHeaderCell, tableHeaderCellClassName, tableHeaderCellClassNames, useTableHeaderCellStyles_unstable, useTableHeaderCell_unstable, renderTableHeaderCell_unstable } from './TableHeaderCell';
8
+ export { TableResizeHandle, tableResizeHandleClassNames, useTableResizeHandleStyles_unstable, useTableResizeHandle_unstable, renderTableResizeHandle_unstable } from './TableResizeHandle';
8
9
  export { TableContextProvider, useTableContext } from './contexts/tableContext';
9
10
  export { useTableRowIdContext, TableRowIdContextProvider } from './contexts/rowIdContext';
10
11
  export { TableSelectionCell, useTableSelectionCellStyles_unstable, useTableSelectionCell_unstable, renderTableSelectionCell_unstable, tableSelectionCellClassNames } from './TableSelectionCell';
@@ -13,7 +14,7 @@ export { TableCellLayout, tableCellLayoutClassNames, useTableCellLayoutStyles_un
13
14
  export { DataGridCell, dataGridCellClassNames, useDataGridCellStyles_unstable, useDataGridCell_unstable, renderDataGridCell_unstable } from './DataGridCell';
14
15
  export { DataGridRow, dataGridRowClassNames, useDataGridRowStyles_unstable, useDataGridRow_unstable, renderDataGridRow_unstable } from './DataGridRow';
15
16
  export { DataGridBody, dataGridBodyClassNames, useDataGridBodyStyles_unstable, useDataGridBody_unstable, renderDataGridBody_unstable } from './DataGridBody';
16
- export { DataGrid, dataGridClassNames, useDataGridStyles_unstable, useDataGrid_unstable, renderDataGrid_unstable } from './DataGrid';
17
+ export { DataGrid, dataGridClassNames, useDataGridStyles_unstable, useDataGrid_unstable, renderDataGrid_unstable, useDataGridContextValues_unstable } from './DataGrid';
17
18
  export { DataGridHeader, dataGridHeaderClassNames, useDataGridHeaderStyles_unstable, useDataGridHeader_unstable, renderDataGridHeader_unstable } from './DataGridHeader';
18
19
  export { DataGridHeaderCell, dataGridHeaderCellClassNames, useDataGridHeaderCellStyles_unstable, useDataGridHeaderCell_unstable, renderDataGridHeaderCell_unstable } from './DataGridHeaderCell';
19
20
  export { DataGridSelectionCell, useDataGridSelectionCellStyles_unstable, useDataGridSelectionCell_unstable, renderDataGridSelectionCell_unstable, dataGridSelectionCellClassNames } from './DataGridSelectionCell';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,SAASA,gBAAgB,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,iBAAiB,QAAQ,SAAS;AAc9F,SACEC,SAAS,EACTC,mBAAmB,EACnBC,kBAAkB,EAClBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,QAClB,YAAY;AAGnB,SACEC,SAAS,EACTC,kBAAkB,EAClBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,KAAK,EACLC,cAAc,EACdC,eAAe,EACfC,uBAAuB,EACvBC,iBAAiB,EACjBC,oBAAoB,QACf,SAAS;AAGhB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,oBAAoB,EACpBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,eAAe,EACfC,wBAAwB,EACxBC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,yBAAyB;AAC/E,SAASC,oBAAoB,EAAEC,yBAAyB,QAAQ,yBAAyB;AACzF,SACEC,kBAAkB,EAClBC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,EACjCC,4BAA4B,QACvB,sBAAsB;AAG7B,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,kCAAkC,EAClCC,4BAA4B,EAC5BC,+BAA+B,QAC1B,oBAAoB;AAG3B,SACEC,eAAe,EACfC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,QAClB,YAAY;AAUnB,SACEC,cAAc,EACdC,wBAAwB,EACxBC,gCAAgC,EAChCC,0BAA0B,EAC1BC,6BAA6B,QACxB,kBAAkB;AAGzB,SACEC,kBAAkB,EAClBC,4BAA4B,EAC5BC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,QAC5B,sBAAsB;AAG7B,SACEC,qBAAqB,EACrBC,uCAAuC,EACvCC,iCAAiC,EACjCC,oCAAoC,EACpCC,+BAA+B,QAC1B,yBAAyB","names":["useTableFeatures","useTableSelection","useTableSort","createTableColumn","TableCell","tableCellClassNames","tableCellClassName","useTableCellStyles_unstable","useTableCell_unstable","renderTableCell_unstable","TableRow","tableRowClassNames","tableRowClassName","useTableRowStyles_unstable","useTableRow_unstable","renderTableRow_unstable","TableBody","tableBodyClassName","tableBodyClassNames","useTableBodyStyles_unstable","useTableBody_unstable","renderTableBody_unstable","Table","tableClassName","tableClassNames","useTableStyles_unstable","useTable_unstable","renderTable_unstable","TableHeader","tableHeaderClassNames","tableHeaderClassName","useTableHeaderStyles_unstable","useTableHeader_unstable","renderTableHeader_unstable","TableHeaderCell","tableHeaderCellClassName","tableHeaderCellClassNames","useTableHeaderCellStyles_unstable","useTableHeaderCell_unstable","renderTableHeaderCell_unstable","TableContextProvider","useTableContext","useTableRowIdContext","TableRowIdContextProvider","TableSelectionCell","useTableSelectionCellStyles_unstable","useTableSelectionCell_unstable","renderTableSelectionCell_unstable","tableSelectionCellClassNames","TableCellActions","tableCellActionsClassNames","useTableCellActionsStyles_unstable","useTableCellActions_unstable","renderTableCellActions_unstable","TableCellLayout","tableCellLayoutClassNames","useTableCellLayoutStyles_unstable","useTableCellLayout_unstable","renderTableCellLayout_unstable","DataGridCell","dataGridCellClassNames","useDataGridCellStyles_unstable","useDataGridCell_unstable","renderDataGridCell_unstable","DataGridRow","dataGridRowClassNames","useDataGridRowStyles_unstable","useDataGridRow_unstable","renderDataGridRow_unstable","DataGridBody","dataGridBodyClassNames","useDataGridBodyStyles_unstable","useDataGridBody_unstable","renderDataGridBody_unstable","DataGrid","dataGridClassNames","useDataGridStyles_unstable","useDataGrid_unstable","renderDataGrid_unstable","DataGridHeader","dataGridHeaderClassNames","useDataGridHeaderStyles_unstable","useDataGridHeader_unstable","renderDataGridHeader_unstable","DataGridHeaderCell","dataGridHeaderCellClassNames","useDataGridHeaderCellStyles_unstable","useDataGridHeaderCell_unstable","renderDataGridHeaderCell_unstable","DataGridSelectionCell","useDataGridSelectionCellStyles_unstable","useDataGridSelectionCell_unstable","renderDataGridSelectionCell_unstable","dataGridSelectionCellClassNames"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/index.ts"],"sourcesContent":["export { useTableFeatures, useTableSelection, useTableSort, createTableColumn } from './hooks';\nexport type {\n CreateTableColumnOptions,\n UseTableFeaturesOptions,\n TableColumnDefinition,\n TableColumnId,\n TableFeaturesState,\n TableRowData,\n TableRowId,\n TableSelectionState,\n TableSortState,\n TableFeaturePlugin,\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 { 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} 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"]}
1
+ {"version":3,"mappings":"AAAA,SACEA,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,EACZC,iBAAiB,EACjBC,6BAA6B,QACxB,SAAS;AAgBhB,SACEC,SAAS,EACTC,mBAAmB,EACnBC,kBAAkB,EAClBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,QAClB,YAAY;AAGnB,SACEC,SAAS,EACTC,kBAAkB,EAClBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,KAAK,EACLC,cAAc,EACdC,eAAe,EACfC,uBAAuB,EACvBC,iBAAiB,EACjBC,oBAAoB,QACf,SAAS;AAGhB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,oBAAoB,EACpBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,eAAe,EACfC,wBAAwB,EACxBC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SACEC,iBAAiB,EACjBC,2BAA2B,EAC3BC,mCAAmC,EACnCC,6BAA6B,EAC7BC,gCAAgC,QAC3B,qBAAqB;AAG5B,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,yBAAyB;AAC/E,SAASC,oBAAoB,EAAEC,yBAAyB,QAAQ,yBAAyB;AACzF,SACEC,kBAAkB,EAClBC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,EACjCC,4BAA4B,QACvB,sBAAsB;AAG7B,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,kCAAkC,EAClCC,4BAA4B,EAC5BC,+BAA+B,QAC1B,oBAAoB;AAG3B,SACEC,eAAe,EACfC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,EACvBC,iCAAiC,QAC5B,YAAY;AAUnB,SACEC,cAAc,EACdC,wBAAwB,EACxBC,gCAAgC,EAChCC,0BAA0B,EAC1BC,6BAA6B,QACxB,kBAAkB;AAGzB,SACEC,kBAAkB,EAClBC,4BAA4B,EAC5BC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,QAC5B,sBAAsB;AAG7B,SACEC,qBAAqB,EACrBC,uCAAuC,EACvCC,iCAAiC,EACjCC,oCAAoC,EACpCC,+BAA+B,QAC1B,yBAAyB","names":["useTableFeatures","useTableSelection","useTableSort","createTableColumn","useTableColumnSizing_unstable","TableCell","tableCellClassNames","tableCellClassName","useTableCellStyles_unstable","useTableCell_unstable","renderTableCell_unstable","TableRow","tableRowClassNames","tableRowClassName","useTableRowStyles_unstable","useTableRow_unstable","renderTableRow_unstable","TableBody","tableBodyClassName","tableBodyClassNames","useTableBodyStyles_unstable","useTableBody_unstable","renderTableBody_unstable","Table","tableClassName","tableClassNames","useTableStyles_unstable","useTable_unstable","renderTable_unstable","TableHeader","tableHeaderClassNames","tableHeaderClassName","useTableHeaderStyles_unstable","useTableHeader_unstable","renderTableHeader_unstable","TableHeaderCell","tableHeaderCellClassName","tableHeaderCellClassNames","useTableHeaderCellStyles_unstable","useTableHeaderCell_unstable","renderTableHeaderCell_unstable","TableResizeHandle","tableResizeHandleClassNames","useTableResizeHandleStyles_unstable","useTableResizeHandle_unstable","renderTableResizeHandle_unstable","TableContextProvider","useTableContext","useTableRowIdContext","TableRowIdContextProvider","TableSelectionCell","useTableSelectionCellStyles_unstable","useTableSelectionCell_unstable","renderTableSelectionCell_unstable","tableSelectionCellClassNames","TableCellActions","tableCellActionsClassNames","useTableCellActionsStyles_unstable","useTableCellActions_unstable","renderTableCellActions_unstable","TableCellLayout","tableCellLayoutClassNames","useTableCellLayoutStyles_unstable","useTableCellLayout_unstable","renderTableCellLayout_unstable","DataGridCell","dataGridCellClassNames","useDataGridCellStyles_unstable","useDataGridCell_unstable","renderDataGridCell_unstable","DataGridRow","dataGridRowClassNames","useDataGridRowStyles_unstable","useDataGridRow_unstable","renderDataGridRow_unstable","DataGridBody","dataGridBodyClassNames","useDataGridBodyStyles_unstable","useDataGridBody_unstable","renderDataGridBody_unstable","DataGrid","dataGridClassNames","useDataGridStyles_unstable","useDataGrid_unstable","renderDataGrid_unstable","useDataGridContextValues_unstable","DataGridHeader","dataGridHeaderClassNames","useDataGridHeaderStyles_unstable","useDataGridHeader_unstable","renderDataGridHeader_unstable","DataGridHeaderCell","dataGridHeaderCellClassNames","useDataGridHeaderCellStyles_unstable","useDataGridHeaderCell_unstable","renderDataGridHeaderCell_unstable","DataGridSelectionCell","useDataGridSelectionCellStyles_unstable","useDataGridSelectionCell_unstable","renderDataGridSelectionCell_unstable","dataGridSelectionCellClassNames"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/index.ts"],"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"]}