@fluentui/react-table 9.2.12 → 9.4.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 (557) hide show
  1. package/CHANGELOG.json +193 -1
  2. package/CHANGELOG.md +51 -2
  3. package/dist/index.d.ts +15 -1
  4. package/lib/DataGrid.js +0 -1
  5. package/lib/DataGrid.js.map +1 -1
  6. package/lib/DataGridBody.js +0 -1
  7. package/lib/DataGridBody.js.map +1 -1
  8. package/lib/DataGridCell.js +0 -1
  9. package/lib/DataGridCell.js.map +1 -1
  10. package/lib/DataGridHeader.js +0 -1
  11. package/lib/DataGridHeader.js.map +1 -1
  12. package/lib/DataGridHeaderCell.js +0 -1
  13. package/lib/DataGridHeaderCell.js.map +1 -1
  14. package/lib/DataGridRow.js +0 -1
  15. package/lib/DataGridRow.js.map +1 -1
  16. package/lib/DataGridSelectionCell.js +0 -1
  17. package/lib/DataGridSelectionCell.js.map +1 -1
  18. package/lib/Table.js +0 -1
  19. package/lib/Table.js.map +1 -1
  20. package/lib/TableBody.js +0 -1
  21. package/lib/TableBody.js.map +1 -1
  22. package/lib/TableCell.js +0 -1
  23. package/lib/TableCell.js.map +1 -1
  24. package/lib/TableCellActions.js +0 -1
  25. package/lib/TableCellActions.js.map +1 -1
  26. package/lib/TableCellLayout.js +0 -1
  27. package/lib/TableCellLayout.js.map +1 -1
  28. package/lib/TableCellPrimaryLayout.js +0 -1
  29. package/lib/TableCellPrimaryLayout.js.map +1 -1
  30. package/lib/TableHeader.js +0 -1
  31. package/lib/TableHeader.js.map +1 -1
  32. package/lib/TableHeaderCell.js +0 -1
  33. package/lib/TableHeaderCell.js.map +1 -1
  34. package/lib/TableResizeHandle.js +0 -1
  35. package/lib/TableResizeHandle.js.map +1 -1
  36. package/lib/TableRow.js +0 -1
  37. package/lib/TableRow.js.map +1 -1
  38. package/lib/TableSelectionCell.js +0 -1
  39. package/lib/TableSelectionCell.js.map +1 -1
  40. package/lib/components/DataGrid/DataGrid.js +5 -7
  41. package/lib/components/DataGrid/DataGrid.js.map +1 -1
  42. package/lib/components/DataGrid/DataGrid.types.js +0 -1
  43. package/lib/components/DataGrid/DataGrid.types.js.map +1 -1
  44. package/lib/components/DataGrid/index.js +0 -1
  45. package/lib/components/DataGrid/index.js.map +1 -1
  46. package/lib/components/DataGrid/renderDataGrid.js +4 -6
  47. package/lib/components/DataGrid/renderDataGrid.js.map +1 -1
  48. package/lib/components/DataGrid/useDataGrid.js +72 -89
  49. package/lib/components/DataGrid/useDataGrid.js.map +1 -1
  50. package/lib/components/DataGrid/useDataGridContextValues.js +12 -13
  51. package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -1
  52. package/lib/components/DataGrid/useDataGridStyles.styles.js.map +1 -1
  53. package/lib/components/DataGridBody/DataGridBody.js +5 -7
  54. package/lib/components/DataGridBody/DataGridBody.js.map +1 -1
  55. package/lib/components/DataGridBody/DataGridBody.types.js +0 -1
  56. package/lib/components/DataGridBody/DataGridBody.types.js.map +1 -1
  57. package/lib/components/DataGridBody/index.js +0 -1
  58. package/lib/components/DataGridBody/index.js.map +1 -1
  59. package/lib/components/DataGridBody/renderDataGridBody.js +7 -12
  60. package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -1
  61. package/lib/components/DataGridBody/useDataGridBody.js +15 -19
  62. package/lib/components/DataGridBody/useDataGridBody.js.map +1 -1
  63. package/lib/components/DataGridBody/useDataGridBodyStyles.styles.js.map +1 -1
  64. package/lib/components/DataGridCell/DataGridCell.js +5 -7
  65. package/lib/components/DataGridCell/DataGridCell.js.map +1 -1
  66. package/lib/components/DataGridCell/DataGridCell.types.js +1 -2
  67. package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -1
  68. package/lib/components/DataGridCell/index.js +0 -1
  69. package/lib/components/DataGridCell/index.js.map +1 -1
  70. package/lib/components/DataGridCell/renderDataGridCell.js +2 -4
  71. package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -1
  72. package/lib/components/DataGridCell/useDataGridCell.js +18 -14
  73. package/lib/components/DataGridCell/useDataGridCell.js.map +1 -1
  74. package/lib/components/DataGridCell/useDataGridCellStyles.styles.js.map +1 -1
  75. package/lib/components/DataGridHeader/DataGridHeader.js +5 -7
  76. package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -1
  77. package/lib/components/DataGridHeader/DataGridHeader.types.js +1 -2
  78. package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
  79. package/lib/components/DataGridHeader/index.js +0 -1
  80. package/lib/components/DataGridHeader/index.js.map +1 -1
  81. package/lib/components/DataGridHeader/renderDataGridHeader.js +2 -4
  82. package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
  83. package/lib/components/DataGridHeader/useDataGridHeader.js +5 -7
  84. package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -1
  85. package/lib/components/DataGridHeader/useDataGridHeaderStyles.styles.js.map +1 -1
  86. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js +5 -7
  87. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
  88. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +1 -2
  89. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
  90. package/lib/components/DataGridHeaderCell/index.js +0 -1
  91. package/lib/components/DataGridHeaderCell/index.js.map +1 -1
  92. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js +2 -4
  93. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
  94. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +23 -26
  95. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  96. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js.map +1 -1
  97. package/lib/components/DataGridRow/DataGridRow.js +5 -7
  98. package/lib/components/DataGridRow/DataGridRow.js.map +1 -1
  99. package/lib/components/DataGridRow/DataGridRow.types.js +0 -1
  100. package/lib/components/DataGridRow/DataGridRow.types.js.map +1 -1
  101. package/lib/components/DataGridRow/index.js +0 -1
  102. package/lib/components/DataGridRow/index.js.map +1 -1
  103. package/lib/components/DataGridRow/renderDataGridRow.js +7 -12
  104. package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -1
  105. package/lib/components/DataGridRow/useDataGridRow.js +54 -56
  106. package/lib/components/DataGridRow/useDataGridRow.js.map +1 -1
  107. package/lib/components/DataGridRow/useDataGridRowStyles.styles.js.map +1 -1
  108. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js +5 -7
  109. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
  110. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +1 -2
  111. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
  112. package/lib/components/DataGridSelectionCell/index.js +0 -1
  113. package/lib/components/DataGridSelectionCell/index.js.map +1 -1
  114. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js +2 -4
  115. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
  116. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +31 -33
  117. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
  118. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js.map +1 -1
  119. package/lib/components/Table/Table.js +5 -7
  120. package/lib/components/Table/Table.js.map +1 -1
  121. package/lib/components/Table/Table.types.js +1 -2
  122. package/lib/components/Table/Table.types.js.map +1 -1
  123. package/lib/components/Table/index.js +0 -1
  124. package/lib/components/Table/index.js.map +1 -1
  125. package/lib/components/Table/renderTable.js +6 -11
  126. package/lib/components/Table/renderTable.js.map +1 -1
  127. package/lib/components/Table/useTable.js +17 -19
  128. package/lib/components/Table/useTable.js.map +1 -1
  129. package/lib/components/Table/useTableContextValues.js +13 -14
  130. package/lib/components/Table/useTableContextValues.js.map +1 -1
  131. package/lib/components/Table/useTableStyles.styles.js.map +1 -1
  132. package/lib/components/TableBody/TableBody.js +5 -7
  133. package/lib/components/TableBody/TableBody.js.map +1 -1
  134. package/lib/components/TableBody/TableBody.types.js +1 -2
  135. package/lib/components/TableBody/TableBody.types.js.map +1 -1
  136. package/lib/components/TableBody/index.js +0 -1
  137. package/lib/components/TableBody/index.js.map +1 -1
  138. package/lib/components/TableBody/renderTableBody.js +4 -9
  139. package/lib/components/TableBody/renderTableBody.js.map +1 -1
  140. package/lib/components/TableBody/useTableBody.js +15 -19
  141. package/lib/components/TableBody/useTableBody.js.map +1 -1
  142. package/lib/components/TableBody/useTableBodyStyles.styles.js.map +1 -1
  143. package/lib/components/TableCell/TableCell.js +5 -7
  144. package/lib/components/TableCell/TableCell.js.map +1 -1
  145. package/lib/components/TableCell/TableCell.types.js +1 -2
  146. package/lib/components/TableCell/TableCell.types.js.map +1 -1
  147. package/lib/components/TableCell/index.js +0 -1
  148. package/lib/components/TableCell/index.js.map +1 -1
  149. package/lib/components/TableCell/renderTableCell.js +4 -9
  150. package/lib/components/TableCell/renderTableCell.js.map +1 -1
  151. package/lib/components/TableCell/useTableCell.js +16 -21
  152. package/lib/components/TableCell/useTableCell.js.map +1 -1
  153. package/lib/components/TableCell/useTableCellStyles.styles.js.map +1 -1
  154. package/lib/components/TableCellActions/TableCellActions.js +5 -7
  155. package/lib/components/TableCellActions/TableCellActions.js.map +1 -1
  156. package/lib/components/TableCellActions/TableCellActions.types.js +1 -2
  157. package/lib/components/TableCellActions/TableCellActions.types.js.map +1 -1
  158. package/lib/components/TableCellActions/index.js +0 -1
  159. package/lib/components/TableCellActions/index.js.map +1 -1
  160. package/lib/components/TableCellActions/renderTableCellActions.js +4 -9
  161. package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -1
  162. package/lib/components/TableCellActions/useTableCellActions.js +12 -14
  163. package/lib/components/TableCellActions/useTableCellActions.js.map +1 -1
  164. package/lib/components/TableCellActions/useTableCellActionsStyles.styles.js.map +1 -1
  165. package/lib/components/TableCellLayout/TableCellLayout.js +5 -7
  166. package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -1
  167. package/lib/components/TableCellLayout/TableCellLayout.types.js +1 -2
  168. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  169. package/lib/components/TableCellLayout/index.js +0 -1
  170. package/lib/components/TableCellLayout/index.js.map +1 -1
  171. package/lib/components/TableCellLayout/renderTableCellLayout.js +6 -11
  172. package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
  173. package/lib/components/TableCellLayout/useTableCellLayout.js +30 -34
  174. package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  175. package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js +9 -10
  176. package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
  177. package/lib/components/TableCellLayout/useTableCellLayoutStyles.styles.js.map +1 -1
  178. package/lib/components/TableHeader/TableHeader.js +5 -7
  179. package/lib/components/TableHeader/TableHeader.js.map +1 -1
  180. package/lib/components/TableHeader/TableHeader.types.js +1 -2
  181. package/lib/components/TableHeader/TableHeader.types.js.map +1 -1
  182. package/lib/components/TableHeader/index.js +0 -1
  183. package/lib/components/TableHeader/index.js.map +1 -1
  184. package/lib/components/TableHeader/renderTableHeader.js +6 -11
  185. package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
  186. package/lib/components/TableHeader/useTableHeader.js +15 -19
  187. package/lib/components/TableHeader/useTableHeader.js.map +1 -1
  188. package/lib/components/TableHeader/useTableHeaderStyles.styles.js.map +1 -1
  189. package/lib/components/TableHeaderCell/TableHeaderCell.js +5 -7
  190. package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  191. package/lib/components/TableHeaderCell/TableHeaderCell.types.js +1 -2
  192. package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  193. package/lib/components/TableHeaderCell/index.js +0 -1
  194. package/lib/components/TableHeaderCell/index.js.map +1 -1
  195. package/lib/components/TableHeaderCell/renderTableHeaderCell.js +4 -9
  196. package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  197. package/lib/components/TableHeaderCell/useTableHeaderCell.js +45 -52
  198. package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  199. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +11 -2
  200. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
  201. package/lib/components/TableResizeHandle/TableResizeHandle.js +5 -7
  202. package/lib/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
  203. package/lib/components/TableResizeHandle/TableResizeHandle.types.js +1 -2
  204. package/lib/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
  205. package/lib/components/TableResizeHandle/index.js +0 -1
  206. package/lib/components/TableResizeHandle/index.js.map +1 -1
  207. package/lib/components/TableResizeHandle/renderTableResizeHandle.js +4 -9
  208. package/lib/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
  209. package/lib/components/TableResizeHandle/useTableResizeHandle.js +16 -18
  210. package/lib/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
  211. package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
  212. package/lib/components/TableRow/TableRow.js +5 -7
  213. package/lib/components/TableRow/TableRow.js.map +1 -1
  214. package/lib/components/TableRow/TableRow.types.js +1 -2
  215. package/lib/components/TableRow/TableRow.types.js.map +1 -1
  216. package/lib/components/TableRow/index.js +0 -1
  217. package/lib/components/TableRow/index.js.map +1 -1
  218. package/lib/components/TableRow/renderTableRow.js +4 -9
  219. package/lib/components/TableRow/renderTableRow.js.map +1 -1
  220. package/lib/components/TableRow/useTableRow.js +22 -27
  221. package/lib/components/TableRow/useTableRow.js.map +1 -1
  222. package/lib/components/TableRow/useTableRowStyles.styles.js +6 -8
  223. package/lib/components/TableRow/useTableRowStyles.styles.js.map +1 -1
  224. package/lib/components/TableSelectionCell/TableSelectionCell.js +5 -7
  225. package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
  226. package/lib/components/TableSelectionCell/TableSelectionCell.types.js +1 -2
  227. package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  228. package/lib/components/TableSelectionCell/index.js +0 -1
  229. package/lib/components/TableSelectionCell/index.js.map +1 -1
  230. package/lib/components/TableSelectionCell/renderTableSelectionCell.js +4 -9
  231. package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
  232. package/lib/components/TableSelectionCell/useTableSelectionCell.js +32 -41
  233. package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
  234. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.styles.js.map +1 -1
  235. package/lib/contexts/columnIdContext.js +2 -3
  236. package/lib/contexts/columnIdContext.js.map +1 -1
  237. package/lib/contexts/dataGridContext.js +7 -8
  238. package/lib/contexts/dataGridContext.js.map +1 -1
  239. package/lib/contexts/rowIdContext.js +2 -3
  240. package/lib/contexts/rowIdContext.js.map +1 -1
  241. package/lib/contexts/tableContext.js +5 -6
  242. package/lib/contexts/tableContext.js.map +1 -1
  243. package/lib/contexts/tableHeaderContext.js +2 -3
  244. package/lib/contexts/tableHeaderContext.js.map +1 -1
  245. package/lib/hooks/createColumn.js +21 -28
  246. package/lib/hooks/createColumn.js.map +1 -1
  247. package/lib/hooks/index.js +0 -1
  248. package/lib/hooks/index.js.map +1 -1
  249. package/lib/hooks/selectionManager.js +71 -68
  250. package/lib/hooks/selectionManager.js.map +1 -1
  251. package/lib/hooks/types.js +0 -1
  252. package/lib/hooks/types.js.map +1 -1
  253. package/lib/hooks/useKeyboardResizing.js +96 -87
  254. package/lib/hooks/useKeyboardResizing.js.map +1 -1
  255. package/lib/hooks/useMeasureElement.js +42 -40
  256. package/lib/hooks/useMeasureElement.js.map +1 -1
  257. package/lib/hooks/useTableColumnResizeMouseHandler.js +64 -61
  258. package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  259. package/lib/hooks/useTableColumnResizeState.js +100 -105
  260. package/lib/hooks/useTableColumnResizeState.js.map +1 -1
  261. package/lib/hooks/useTableColumnSizing.js +74 -74
  262. package/lib/hooks/useTableColumnSizing.js.map +1 -1
  263. package/lib/hooks/useTableFeatures.js +30 -35
  264. package/lib/hooks/useTableFeatures.js.map +1 -1
  265. package/lib/hooks/useTableSelection.js +64 -66
  266. package/lib/hooks/useTableSelection.js.map +1 -1
  267. package/lib/hooks/useTableSort.js +68 -76
  268. package/lib/hooks/useTableSort.js.map +1 -1
  269. package/lib/index.js +1 -2
  270. package/lib/index.js.map +1 -1
  271. package/lib/utils/columnResizeUtils.js +104 -108
  272. package/lib/utils/columnResizeUtils.js.map +1 -1
  273. package/lib-commonjs/DataGrid.js +0 -3
  274. package/lib-commonjs/DataGrid.js.map +1 -1
  275. package/lib-commonjs/DataGridBody.js +0 -3
  276. package/lib-commonjs/DataGridBody.js.map +1 -1
  277. package/lib-commonjs/DataGridCell.js +0 -3
  278. package/lib-commonjs/DataGridCell.js.map +1 -1
  279. package/lib-commonjs/DataGridHeader.js +0 -3
  280. package/lib-commonjs/DataGridHeader.js.map +1 -1
  281. package/lib-commonjs/DataGridHeaderCell.js +0 -3
  282. package/lib-commonjs/DataGridHeaderCell.js.map +1 -1
  283. package/lib-commonjs/DataGridRow.js +0 -3
  284. package/lib-commonjs/DataGridRow.js.map +1 -1
  285. package/lib-commonjs/DataGridSelectionCell.js +0 -3
  286. package/lib-commonjs/DataGridSelectionCell.js.map +1 -1
  287. package/lib-commonjs/Table.js +0 -3
  288. package/lib-commonjs/Table.js.map +1 -1
  289. package/lib-commonjs/TableBody.js +0 -3
  290. package/lib-commonjs/TableBody.js.map +1 -1
  291. package/lib-commonjs/TableCell.js +0 -3
  292. package/lib-commonjs/TableCell.js.map +1 -1
  293. package/lib-commonjs/TableCellActions.js +0 -3
  294. package/lib-commonjs/TableCellActions.js.map +1 -1
  295. package/lib-commonjs/TableCellLayout.js +0 -3
  296. package/lib-commonjs/TableCellLayout.js.map +1 -1
  297. package/lib-commonjs/TableCellPrimaryLayout.js +0 -3
  298. package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -1
  299. package/lib-commonjs/TableHeader.js +0 -3
  300. package/lib-commonjs/TableHeader.js.map +1 -1
  301. package/lib-commonjs/TableHeaderCell.js +0 -3
  302. package/lib-commonjs/TableHeaderCell.js.map +1 -1
  303. package/lib-commonjs/TableResizeHandle.js +0 -3
  304. package/lib-commonjs/TableResizeHandle.js.map +1 -1
  305. package/lib-commonjs/TableRow.js +0 -3
  306. package/lib-commonjs/TableRow.js.map +1 -1
  307. package/lib-commonjs/TableSelectionCell.js +0 -3
  308. package/lib-commonjs/TableSelectionCell.js.map +1 -1
  309. package/lib-commonjs/components/DataGrid/DataGrid.js +1 -3
  310. package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -1
  311. package/lib-commonjs/components/DataGrid/DataGrid.types.js +0 -3
  312. package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -1
  313. package/lib-commonjs/components/DataGrid/index.js +0 -3
  314. package/lib-commonjs/components/DataGrid/index.js.map +1 -1
  315. package/lib-commonjs/components/DataGrid/renderDataGrid.js +1 -3
  316. package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -1
  317. package/lib-commonjs/components/DataGrid/useDataGrid.js +4 -5
  318. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
  319. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +1 -3
  320. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -1
  321. package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js +0 -2
  322. package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js.map +1 -1
  323. package/lib-commonjs/components/DataGridBody/DataGridBody.js +1 -3
  324. package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -1
  325. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +0 -3
  326. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -1
  327. package/lib-commonjs/components/DataGridBody/index.js +0 -3
  328. package/lib-commonjs/components/DataGridBody/index.js.map +1 -1
  329. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +1 -3
  330. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -1
  331. package/lib-commonjs/components/DataGridBody/useDataGridBody.js +1 -3
  332. package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -1
  333. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js +0 -2
  334. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js.map +1 -1
  335. package/lib-commonjs/components/DataGridCell/DataGridCell.js +1 -3
  336. package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -1
  337. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +0 -3
  338. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -1
  339. package/lib-commonjs/components/DataGridCell/index.js +0 -3
  340. package/lib-commonjs/components/DataGridCell/index.js.map +1 -1
  341. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +1 -3
  342. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -1
  343. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +7 -3
  344. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -1
  345. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js +0 -2
  346. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js.map +1 -1
  347. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +1 -3
  348. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -1
  349. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +0 -3
  350. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
  351. package/lib-commonjs/components/DataGridHeader/index.js +0 -3
  352. package/lib-commonjs/components/DataGridHeader/index.js.map +1 -1
  353. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +1 -3
  354. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
  355. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +1 -3
  356. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -1
  357. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js +0 -2
  358. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js.map +1 -1
  359. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +1 -3
  360. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
  361. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +0 -3
  362. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
  363. package/lib-commonjs/components/DataGridHeaderCell/index.js +0 -3
  364. package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -1
  365. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +1 -3
  366. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
  367. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +2 -3
  368. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
  369. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js +0 -2
  370. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js.map +1 -1
  371. package/lib-commonjs/components/DataGridRow/DataGridRow.js +1 -3
  372. package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -1
  373. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +0 -3
  374. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -1
  375. package/lib-commonjs/components/DataGridRow/index.js +0 -3
  376. package/lib-commonjs/components/DataGridRow/index.js.map +1 -1
  377. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +1 -3
  378. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -1
  379. package/lib-commonjs/components/DataGridRow/useDataGridRow.js +1 -3
  380. package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -1
  381. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js +0 -2
  382. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js.map +1 -1
  383. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +1 -3
  384. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
  385. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +0 -3
  386. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
  387. package/lib-commonjs/components/DataGridSelectionCell/index.js +0 -3
  388. package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -1
  389. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +1 -3
  390. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
  391. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +1 -3
  392. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
  393. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js +0 -2
  394. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js.map +1 -1
  395. package/lib-commonjs/components/Table/Table.js +1 -3
  396. package/lib-commonjs/components/Table/Table.js.map +1 -1
  397. package/lib-commonjs/components/Table/Table.types.js +0 -3
  398. package/lib-commonjs/components/Table/Table.types.js.map +1 -1
  399. package/lib-commonjs/components/Table/index.js +0 -3
  400. package/lib-commonjs/components/Table/index.js.map +1 -1
  401. package/lib-commonjs/components/Table/renderTable.js +1 -3
  402. package/lib-commonjs/components/Table/renderTable.js.map +1 -1
  403. package/lib-commonjs/components/Table/useTable.js +1 -3
  404. package/lib-commonjs/components/Table/useTable.js.map +1 -1
  405. package/lib-commonjs/components/Table/useTableContextValues.js +1 -3
  406. package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
  407. package/lib-commonjs/components/Table/useTableStyles.styles.js +0 -2
  408. package/lib-commonjs/components/Table/useTableStyles.styles.js.map +1 -1
  409. package/lib-commonjs/components/TableBody/TableBody.js +1 -3
  410. package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
  411. package/lib-commonjs/components/TableBody/TableBody.types.js +0 -3
  412. package/lib-commonjs/components/TableBody/TableBody.types.js.map +1 -1
  413. package/lib-commonjs/components/TableBody/index.js +0 -3
  414. package/lib-commonjs/components/TableBody/index.js.map +1 -1
  415. package/lib-commonjs/components/TableBody/renderTableBody.js +1 -3
  416. package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
  417. package/lib-commonjs/components/TableBody/useTableBody.js +1 -3
  418. package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
  419. package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js +0 -2
  420. package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js.map +1 -1
  421. package/lib-commonjs/components/TableCell/TableCell.js +1 -3
  422. package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
  423. package/lib-commonjs/components/TableCell/TableCell.types.js +0 -3
  424. package/lib-commonjs/components/TableCell/TableCell.types.js.map +1 -1
  425. package/lib-commonjs/components/TableCell/index.js +0 -3
  426. package/lib-commonjs/components/TableCell/index.js.map +1 -1
  427. package/lib-commonjs/components/TableCell/renderTableCell.js +1 -3
  428. package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
  429. package/lib-commonjs/components/TableCell/useTableCell.js +1 -3
  430. package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
  431. package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js +0 -2
  432. package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js.map +1 -1
  433. package/lib-commonjs/components/TableCellActions/TableCellActions.js +1 -3
  434. package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -1
  435. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js +0 -3
  436. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -1
  437. package/lib-commonjs/components/TableCellActions/index.js +0 -3
  438. package/lib-commonjs/components/TableCellActions/index.js.map +1 -1
  439. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +1 -3
  440. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -1
  441. package/lib-commonjs/components/TableCellActions/useTableCellActions.js +1 -3
  442. package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -1
  443. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js +0 -2
  444. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js.map +1 -1
  445. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +1 -3
  446. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -1
  447. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js +0 -3
  448. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  449. package/lib-commonjs/components/TableCellLayout/index.js +0 -3
  450. package/lib-commonjs/components/TableCellLayout/index.js.map +1 -1
  451. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +1 -3
  452. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
  453. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +1 -3
  454. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  455. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +1 -3
  456. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
  457. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js +0 -2
  458. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js.map +1 -1
  459. package/lib-commonjs/components/TableHeader/TableHeader.js +1 -3
  460. package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
  461. package/lib-commonjs/components/TableHeader/TableHeader.types.js +0 -3
  462. package/lib-commonjs/components/TableHeader/TableHeader.types.js.map +1 -1
  463. package/lib-commonjs/components/TableHeader/index.js +0 -3
  464. package/lib-commonjs/components/TableHeader/index.js.map +1 -1
  465. package/lib-commonjs/components/TableHeader/renderTableHeader.js +1 -3
  466. package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
  467. package/lib-commonjs/components/TableHeader/useTableHeader.js +1 -3
  468. package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
  469. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js +0 -2
  470. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js.map +1 -1
  471. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js +1 -3
  472. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  473. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js +0 -3
  474. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  475. package/lib-commonjs/components/TableHeaderCell/index.js +0 -3
  476. package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
  477. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +1 -3
  478. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  479. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +6 -10
  480. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  481. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +29 -3
  482. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
  483. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js +1 -3
  484. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
  485. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js +0 -3
  486. package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
  487. package/lib-commonjs/components/TableResizeHandle/index.js +0 -3
  488. package/lib-commonjs/components/TableResizeHandle/index.js.map +1 -1
  489. package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js +1 -3
  490. package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
  491. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js +1 -3
  492. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
  493. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js +0 -2
  494. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
  495. package/lib-commonjs/components/TableRow/TableRow.js +1 -3
  496. package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
  497. package/lib-commonjs/components/TableRow/TableRow.types.js +0 -3
  498. package/lib-commonjs/components/TableRow/TableRow.types.js.map +1 -1
  499. package/lib-commonjs/components/TableRow/index.js +0 -3
  500. package/lib-commonjs/components/TableRow/index.js.map +1 -1
  501. package/lib-commonjs/components/TableRow/renderTableRow.js +1 -3
  502. package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
  503. package/lib-commonjs/components/TableRow/useTableRow.js +1 -3
  504. package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
  505. package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js +12 -13
  506. package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js.map +1 -1
  507. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +1 -3
  508. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
  509. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js +0 -3
  510. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  511. package/lib-commonjs/components/TableSelectionCell/index.js +0 -3
  512. package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -1
  513. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +1 -3
  514. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
  515. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +1 -3
  516. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
  517. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js +0 -2
  518. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js.map +1 -1
  519. package/lib-commonjs/contexts/columnIdContext.js +1 -3
  520. package/lib-commonjs/contexts/columnIdContext.js.map +1 -1
  521. package/lib-commonjs/contexts/dataGridContext.js +2 -4
  522. package/lib-commonjs/contexts/dataGridContext.js.map +1 -1
  523. package/lib-commonjs/contexts/rowIdContext.js +1 -3
  524. package/lib-commonjs/contexts/rowIdContext.js.map +1 -1
  525. package/lib-commonjs/contexts/tableContext.js +1 -3
  526. package/lib-commonjs/contexts/tableContext.js.map +1 -1
  527. package/lib-commonjs/contexts/tableHeaderContext.js +1 -3
  528. package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -1
  529. package/lib-commonjs/hooks/createColumn.js +1 -3
  530. package/lib-commonjs/hooks/createColumn.js.map +1 -1
  531. package/lib-commonjs/hooks/index.js +0 -3
  532. package/lib-commonjs/hooks/index.js.map +1 -1
  533. package/lib-commonjs/hooks/selectionManager.js +1 -3
  534. package/lib-commonjs/hooks/selectionManager.js.map +1 -1
  535. package/lib-commonjs/hooks/types.js +0 -3
  536. package/lib-commonjs/hooks/types.js.map +1 -1
  537. package/lib-commonjs/hooks/useKeyboardResizing.js +17 -18
  538. package/lib-commonjs/hooks/useKeyboardResizing.js.map +1 -1
  539. package/lib-commonjs/hooks/useMeasureElement.js +1 -3
  540. package/lib-commonjs/hooks/useMeasureElement.js.map +1 -1
  541. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +1 -3
  542. package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
  543. package/lib-commonjs/hooks/useTableColumnResizeState.js +1 -3
  544. package/lib-commonjs/hooks/useTableColumnResizeState.js.map +1 -1
  545. package/lib-commonjs/hooks/useTableColumnSizing.js +10 -7
  546. package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
  547. package/lib-commonjs/hooks/useTableFeatures.js +1 -3
  548. package/lib-commonjs/hooks/useTableFeatures.js.map +1 -1
  549. package/lib-commonjs/hooks/useTableSelection.js +2 -4
  550. package/lib-commonjs/hooks/useTableSelection.js.map +1 -1
  551. package/lib-commonjs/hooks/useTableSort.js +1 -3
  552. package/lib-commonjs/hooks/useTableSort.js.map +1 -1
  553. package/lib-commonjs/index.js +1 -3
  554. package/lib-commonjs/index.js.map +1 -1
  555. package/lib-commonjs/utils/columnResizeUtils.js +1 -3
  556. package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
  557. package/package.json +16 -14
@@ -1,112 +1,107 @@
1
1
  import { useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';
2
2
  import * as React from 'react';
3
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
- };
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 { columnId , width } = action;
28
+ const { containerWidth } = state;
29
+ const column = getColumnById(state.columnWidthState, columnId);
30
+ let newColumnWidthState = [
31
+ ...state.columnWidthState
32
+ ];
33
+ if (!column) {
34
+ return state;
35
+ }
36
+ // Adjust the column width and measure the new total width
37
+ newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'width', width);
38
+ // Set this width as idealWidth, because its a deliberate change, not a recalculation because of container
39
+ newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'idealWidth', width);
40
+ // Adjust the widths to the container size
41
+ newColumnWidthState = adjustColumnWidthsToFitContainer(newColumnWidthState, containerWidth);
42
+ return {
43
+ ...state,
44
+ columnWidthState: newColumnWidthState
45
+ };
46
+ }
47
+ };
51
48
  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
49
+ const { onColumnResize , columnSizingOptions } = params;
50
+ const reducer = React.useMemo(()=>createReducer(), []);
51
+ const [state, dispatch] = React.useReducer(reducer, {
52
+ columns,
53
+ containerWidth: 0,
54
+ columnWidthState: columnDefinitionsToState(columns, undefined, columnSizingOptions),
55
+ columnSizingOptions
73
56
  });
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
57
+ useIsomorphicLayoutEffect(()=>{
58
+ dispatch({
59
+ type: 'CONTAINER_WIDTH_UPDATED',
60
+ containerWidth
61
+ });
62
+ }, [
63
+ containerWidth
64
+ ]);
65
+ useIsomorphicLayoutEffect(()=>{
66
+ dispatch({
67
+ type: 'COLUMNS_UPDATED',
68
+ columns
69
+ });
70
+ }, [
71
+ columns
72
+ ]);
73
+ useIsomorphicLayoutEffect(()=>{
74
+ dispatch({
75
+ type: 'COLUMN_SIZING_OPTIONS_UPDATED',
76
+ columnSizingOptions
77
+ });
78
+ }, [
79
+ columnSizingOptions
80
+ ]);
81
+ const setColumnWidth = useEventCallback((event, data)=>{
82
+ let { width } = data;
83
+ const { columnId } = data;
84
+ const col = getColumnById(state.columnWidthState, columnId);
85
+ if (!col) {
86
+ return;
87
+ }
88
+ width = Math.max(col.minWidth || 0, width);
89
+ if (onColumnResize) {
90
+ onColumnResize(event, {
91
+ columnId,
92
+ width
93
+ });
94
+ }
95
+ dispatch({
96
+ type: 'SET_COLUMN_WIDTH',
97
+ columnId,
98
+ width
99
+ });
103
100
  });
104
- });
105
- return {
106
- getColumnById: colId => getColumnById(state.columnWidthState, colId),
107
- getColumns: () => state.columnWidthState,
108
- getColumnWidth: colId => getColumnWidth(state.columnWidthState, colId),
109
- setColumnWidth
110
- };
101
+ return {
102
+ getColumnById: (colId)=>getColumnById(state.columnWidthState, colId),
103
+ getColumns: ()=>state.columnWidthState,
104
+ getColumnWidth: (colId)=>getColumnWidth(state.columnWidthState, colId),
105
+ setColumnWidth
106
+ };
111
107
  }
112
- //# sourceMappingURL=useTableColumnResizeState.js.map
@@ -1 +1 @@
1
- {"version":3,"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"],"sources":["../../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 =\n <T>() =>\n (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: KeyboardEvent | MouseEvent | TouchEvent | 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"],"mappings":"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"}
1
+ {"version":3,"sources":["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 =\n <T>() =>\n (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: KeyboardEvent | MouseEvent | TouchEvent | 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"],"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"],"mappings":"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"}
@@ -4,85 +4,85 @@ import { useMeasureElement } from './useMeasureElement';
4
4
  import { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';
5
5
  import { useTableColumnResizeState } from './useTableColumnResizeState';
6
6
  import { useKeyboardResizing } from './useKeyboardResizing';
7
+ export const KeyboardResizingCurrentColumnDataAttribute = 'data-keyboard-resizing';
7
8
  export const defaultColumnSizingState = {
8
- getColumnWidths: () => [],
9
- getOnMouseDown: () => () => null,
10
- setColumnWidth: () => null,
11
- getTableHeaderCellProps: () => ({
12
- style: {},
13
- columnId: ''
14
- }),
15
- getTableCellProps: () => ({
16
- style: {},
17
- columnId: ''
18
- }),
19
- enableKeyboardMode: () => () => null
9
+ getColumnWidths: ()=>[],
10
+ getOnMouseDown: ()=>()=>null,
11
+ setColumnWidth: ()=>null,
12
+ getTableHeaderCellProps: ()=>({
13
+ style: {},
14
+ columnId: ''
15
+ }),
16
+ getTableCellProps: ()=>({
17
+ style: {},
18
+ columnId: ''
19
+ }),
20
+ enableKeyboardMode: ()=>()=>null
20
21
  };
21
22
  export function useTableColumnSizing_unstable(params) {
22
- // False positive, these plugin hooks are intended to be run on every render
23
- // eslint-disable-next-line react-hooks/rules-of-hooks
24
- return tableState => useTableColumnSizingState(tableState, params);
23
+ // False positive, these plugin hooks are intended to be run on every render
24
+ // eslint-disable-next-line react-hooks/rules-of-hooks
25
+ return (tableState)=>useTableColumnSizingState(tableState, params);
25
26
  }
26
27
  function getColumnStyles(column) {
27
- const width = column.width;
28
- return {
29
- // native styles
30
- width,
31
- // non-native element styles (flex layout)
32
- minWidth: width,
33
- maxWidth: width
34
- };
28
+ const width = column.width;
29
+ return {
30
+ // native styles
31
+ width,
32
+ // non-native element styles (flex layout)
33
+ minWidth: width,
34
+ maxWidth: width
35
+ };
35
36
  }
36
37
  function useTableColumnSizingState(tableState, params) {
37
- const {
38
- columns
39
- } = tableState;
40
- // Gets the container width
41
- const {
42
- width,
43
- measureElementRef
44
- } = useMeasureElement();
45
- // Creates the state based on columns and available containerWidth
46
- const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);
47
- // Creates the mouse handler and attaches the state to it
48
- const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);
49
- // Creates the keyboard handler for resizing columns
50
- const keyboardResizing = useKeyboardResizing(columnResizeState);
51
- const enableKeyboardMode = React.useCallback((columnId, onChange) => e => {
52
- e.preventDefault();
53
- e.nativeEvent.stopPropagation();
54
- keyboardResizing.toggleInteractiveMode(columnId, onChange);
55
- }, [keyboardResizing]);
56
- return {
57
- ...tableState,
58
- tableRef: measureElementRef,
59
- // eslint-disable-next-line @typescript-eslint/naming-convention
60
- columnSizing_unstable: {
61
- getOnMouseDown: mouseHandler.getOnMouseDown,
62
- setColumnWidth: (columnId, w) => columnResizeState.setColumnWidth(undefined, {
63
- columnId,
64
- width: w
65
- }),
66
- getColumnWidths: columnResizeState.getColumns,
67
- getTableHeaderCellProps: columnId => {
68
- const col = columnResizeState.getColumnById(columnId);
69
- const aside = /*#__PURE__*/React.createElement(TableResizeHandle, {
70
- onMouseDown: mouseHandler.getOnMouseDown(columnId),
71
- onTouchStart: mouseHandler.getOnMouseDown(columnId)
72
- });
73
- return col ? {
74
- style: getColumnStyles(col),
75
- aside
76
- } : {};
77
- },
78
- getTableCellProps: columnId => {
79
- const col = columnResizeState.getColumnById(columnId);
80
- return col ? {
81
- style: getColumnStyles(col)
82
- } : {};
83
- },
84
- enableKeyboardMode
85
- }
86
- };
38
+ const { columns } = tableState;
39
+ // Gets the container width
40
+ const { width , measureElementRef } = useMeasureElement();
41
+ // Creates the state based on columns and available containerWidth
42
+ const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);
43
+ // Creates the mouse handler and attaches the state to it
44
+ const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);
45
+ // Creates the keyboard handler for resizing columns
46
+ const { toggleInteractiveMode , columnId: keyboardResizingColumnId } = useKeyboardResizing(columnResizeState);
47
+ const enableKeyboardMode = React.useCallback((columnId, onChange)=>(e)=>{
48
+ e.preventDefault();
49
+ e.nativeEvent.stopPropagation();
50
+ toggleInteractiveMode(columnId, onChange);
51
+ }, [
52
+ toggleInteractiveMode
53
+ ]);
54
+ return {
55
+ ...tableState,
56
+ tableRef: measureElementRef,
57
+ // eslint-disable-next-line @typescript-eslint/naming-convention
58
+ columnSizing_unstable: {
59
+ getOnMouseDown: mouseHandler.getOnMouseDown,
60
+ setColumnWidth: (columnId, w)=>columnResizeState.setColumnWidth(undefined, {
61
+ columnId,
62
+ width: w
63
+ }),
64
+ getColumnWidths: columnResizeState.getColumns,
65
+ getTableHeaderCellProps: (columnId)=>{
66
+ const col = columnResizeState.getColumnById(columnId);
67
+ const aside = /*#__PURE__*/ React.createElement(TableResizeHandle, {
68
+ onMouseDown: mouseHandler.getOnMouseDown(columnId),
69
+ onTouchStart: mouseHandler.getOnMouseDown(columnId)
70
+ });
71
+ return col ? {
72
+ style: getColumnStyles(col),
73
+ aside,
74
+ ...keyboardResizingColumnId === columnId ? {
75
+ [KeyboardResizingCurrentColumnDataAttribute]: ''
76
+ } : {}
77
+ } : {};
78
+ },
79
+ getTableCellProps: (columnId)=>{
80
+ const col = columnResizeState.getColumnById(columnId);
81
+ return col ? {
82
+ style: getColumnStyles(col)
83
+ } : {};
84
+ },
85
+ enableKeyboardMode
86
+ }
87
+ };
87
88
  }
88
- //# sourceMappingURL=useTableColumnSizing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","TableResizeHandle","useMeasureElement","useTableColumnResizeMouseHandler","useTableColumnResizeState","useKeyboardResizing","defaultColumnSizingState","getColumnWidths","getOnMouseDown","setColumnWidth","getTableHeaderCellProps","style","columnId","getTableCellProps","enableKeyboardMode","useTableColumnSizing_unstable","params","tableState","useTableColumnSizingState","getColumnStyles","column","width","minWidth","maxWidth","columns","measureElementRef","columnResizeState","containerWidthOffset","mouseHandler","keyboardResizing","useCallback","onChange","e","preventDefault","nativeEvent","stopPropagation","toggleInteractiveMode","tableRef","columnSizing_unstable","w","undefined","getColumns","col","getColumnById","aside","createElement","onMouseDown","onTouchStart"],"sources":["../../src/hooks/useTableColumnSizing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport {\n ColumnWidthState,\n EnableKeyboardModeOnChangeCallback,\n TableColumnId,\n TableColumnSizingState,\n TableFeaturesState,\n UseTableColumnSizingParams,\n} from './types';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\n\nexport const defaultColumnSizingState: TableColumnSizingState = {\n getColumnWidths: () => [],\n getOnMouseDown: () => () => null,\n setColumnWidth: () => null,\n getTableHeaderCellProps: () => ({ style: {}, columnId: '' }),\n getTableCellProps: () => ({ style: {}, columnId: '' }),\n enableKeyboardMode: () => () => null,\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 // Creates the keyboard handler for resizing columns\n const keyboardResizing = useKeyboardResizing(columnResizeState);\n\n const enableKeyboardMode = React.useCallback(\n (columnId: TableColumnId, onChange?: EnableKeyboardModeOnChangeCallback) =>\n (e: React.MouseEvent | React.TouchEvent) => {\n e.preventDefault();\n e.nativeEvent.stopPropagation();\n keyboardResizing.toggleInteractiveMode(columnId, onChange);\n },\n [keyboardResizing],\n );\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\n const aside = (\n <TableResizeHandle\n onMouseDown={mouseHandler.getOnMouseDown(columnId)}\n onTouchStart={mouseHandler.getOnMouseDown(columnId)}\n />\n );\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 enableKeyboardMode,\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"sources":["useTableColumnSizing.tsx"],"sourcesContent":["import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport {\n ColumnWidthState,\n EnableKeyboardModeOnChangeCallback,\n TableColumnId,\n TableColumnSizingState,\n TableFeaturesState,\n UseTableColumnSizingParams,\n} from './types';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\n\nexport const KeyboardResizingCurrentColumnDataAttribute = 'data-keyboard-resizing';\n\nexport const defaultColumnSizingState: TableColumnSizingState = {\n getColumnWidths: () => [],\n getOnMouseDown: () => () => null,\n setColumnWidth: () => null,\n getTableHeaderCellProps: () => ({ style: {}, columnId: '' }),\n getTableCellProps: () => ({ style: {}, columnId: '' }),\n enableKeyboardMode: () => () => null,\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 // Creates the keyboard handler for resizing columns\n const { toggleInteractiveMode, columnId: keyboardResizingColumnId } = useKeyboardResizing(columnResizeState);\n\n const enableKeyboardMode = React.useCallback(\n (columnId: TableColumnId, onChange?: EnableKeyboardModeOnChangeCallback) =>\n (e: React.MouseEvent | React.TouchEvent) => {\n e.preventDefault();\n e.nativeEvent.stopPropagation();\n toggleInteractiveMode(columnId, onChange);\n },\n [toggleInteractiveMode],\n );\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\n const aside = (\n <TableResizeHandle\n onMouseDown={mouseHandler.getOnMouseDown(columnId)}\n onTouchStart={mouseHandler.getOnMouseDown(columnId)}\n />\n );\n return col\n ? {\n style: getColumnStyles(col),\n aside,\n ...(keyboardResizingColumnId === columnId ? { [KeyboardResizingCurrentColumnDataAttribute]: '' } : {}),\n }\n : {};\n },\n getTableCellProps: (columnId: TableColumnId) => {\n const col = columnResizeState.getColumnById(columnId);\n return col ? { style: getColumnStyles(col) } : {};\n },\n enableKeyboardMode,\n },\n };\n}\n"],"names":["React","TableResizeHandle","useMeasureElement","useTableColumnResizeMouseHandler","useTableColumnResizeState","useKeyboardResizing","KeyboardResizingCurrentColumnDataAttribute","defaultColumnSizingState","getColumnWidths","getOnMouseDown","setColumnWidth","getTableHeaderCellProps","style","columnId","getTableCellProps","enableKeyboardMode","useTableColumnSizing_unstable","params","tableState","useTableColumnSizingState","getColumnStyles","column","width","minWidth","maxWidth","columns","measureElementRef","columnResizeState","containerWidthOffset","mouseHandler","toggleInteractiveMode","keyboardResizingColumnId","useCallback","onChange","e","preventDefault","nativeEvent","stopPropagation","tableRef","columnSizing_unstable","w","undefined","getColumns","col","getColumnById","aside","onMouseDown","onTouchStart"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ,uBAAuB;AASzD,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,gCAAgC,QAAQ,qCAAqC;AACtF,SAASC,yBAAyB,QAAQ,8BAA8B;AACxE,SAASC,mBAAmB,QAAQ,wBAAwB;AAE5D,OAAO,MAAMC,6CAA6C,yBAAyB;AAEnF,OAAO,MAAMC,2BAAmD;IAC9DC,iBAAiB,IAAM,EAAE;IACzBC,gBAAgB,IAAM,IAAM,IAAI;IAChCC,gBAAgB,IAAM,IAAI;IAC1BC,yBAAyB,IAAO,CAAA;YAAEC,OAAO,CAAC;YAAGC,UAAU;QAAG,CAAA;IAC1DC,mBAAmB,IAAO,CAAA;YAAEF,OAAO,CAAC;YAAGC,UAAU;QAAG,CAAA;IACpDE,oBAAoB,IAAM,IAAM,IAAI;AACtC,EAAE;AAEF,OAAO,SAASC,8BAAqCC,MAAmC,EAAE;IACxF,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CAACC,aAA0CC,0BAA0BD,YAAYD;AAC1F,CAAC;AAED,SAASG,gBAAgBC,MAAwB,EAAuB;IACtE,MAAMC,QAAQD,OAAOC,KAAK;IAE1B,OAAO;QACL,gBAAgB;QAChBA;QACA,0CAA0C;QAC1CC,UAAUD;QACVE,UAAUF;IACZ;AACF;AAEA,SAASH,0BACPD,UAAqC,EACrCD,MAAmC,EACR;IAC3B,MAAM,EAAEQ,QAAO,EAAE,GAAGP;IAEpB,2BAA2B;IAC3B,MAAM,EAAEI,MAAK,EAAEI,kBAAiB,EAAE,GAAGxB;IACrC,kEAAkE;IAClE,MAAMyB,oBAAoBvB,0BAA0BqB,SAASH,QAASL,CAAAA,CAAAA,mBAAAA,oBAAAA,KAAAA,IAAAA,OAAQW,oBAAoB,AAAD,KAAK,CAAA,GAAIX;IAC1G,yDAAyD;IACzD,MAAMY,eAAe1B,iCAAiCwB;IACtD,oDAAoD;IACpD,MAAM,EAAEG,sBAAqB,EAAEjB,UAAUkB,yBAAwB,EAAE,GAAG1B,oBAAoBsB;IAE1F,MAAMZ,qBAAqBf,MAAMgC,WAAW,CAC1C,CAACnB,UAAyBoB,WACxB,CAACC,IAA2C;YAC1CA,EAAEC,cAAc;YAChBD,EAAEE,WAAW,CAACC,eAAe;YAC7BP,sBAAsBjB,UAAUoB;QAClC,GACF;QAACH;KAAsB;IAGzB,OAAO;QACL,GAAGZ,UAAU;QACboB,UAAUZ;QACV,gEAAgE;QAChEa,uBAAuB;YACrB9B,gBAAgBoB,aAAapB,cAAc;YAC3CC,gBAAgB,CAACG,UAAyB2B,IACxCb,kBAAkBjB,cAAc,CAAC+B,WAAW;oBAAE5B;oBAAUS,OAAOkB;gBAAE;YACnEhC,iBAAiBmB,kBAAkBe,UAAU;YAC7C/B,yBAAyB,CAACE,WAA4B;gBACpD,MAAM8B,MAAMhB,kBAAkBiB,aAAa,CAAC/B;gBAE5C,MAAMgC,sBACJ,oBAAC5C;oBACC6C,aAAajB,aAAapB,cAAc,CAACI;oBACzCkC,cAAclB,aAAapB,cAAc,CAACI;;gBAG9C,OAAO8B,MACH;oBACE/B,OAAOQ,gBAAgBuB;oBACvBE;oBACA,GAAId,6BAA6BlB,WAAW;wBAAE,CAACP,2CAA2C,EAAE;oBAAG,IAAI,CAAC,CAAC;gBACvG,IACA,CAAC,CAAC;YACR;YACAQ,mBAAmB,CAACD,WAA4B;gBAC9C,MAAM8B,MAAMhB,kBAAkBiB,aAAa,CAAC/B;gBAC5C,OAAO8B,MAAM;oBAAE/B,OAAOQ,gBAAgBuB;gBAAK,IAAI,CAAC,CAAC;YACnD;YACA5B;QACF;IACF;AACF"}
@@ -2,44 +2,39 @@ import * as React from 'react';
2
2
  import { defaultTableSelectionState } from './useTableSelection';
3
3
  import { defaultTableSortState } from './useTableSort';
4
4
  import { defaultColumnSizingState } from './useTableColumnSizing';
5
- const defaultRowEnhancer = row => row;
5
+ const defaultRowEnhancer = (row)=>row;
6
6
  export const defaultTableState = {
7
- selection: defaultTableSelectionState,
8
- sort: defaultTableSortState,
9
- getRows: () => [],
10
- getRowId: () => '',
11
- items: [],
12
- columns: [],
13
- // eslint-disable-next-line @typescript-eslint/naming-convention
14
- columnSizing_unstable: defaultColumnSizingState,
15
- tableRef: /*#__PURE__*/React.createRef()
16
- };
17
- export function useTableFeatures(options, plugins = []) {
18
- const {
19
- items,
20
- getRowId,
21
- columns
22
- } = options;
23
- var _getRowId;
24
- const getRows = (rowEnhancer = defaultRowEnhancer) => {
25
- return items.map((item, i) => {
26
- return rowEnhancer({
27
- item,
28
- rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i
29
- });
30
- });
31
- };
32
- const initialState = {
33
- getRowId,
34
- items,
35
- columns,
36
- getRows,
37
7
  selection: defaultTableSelectionState,
38
8
  sort: defaultTableSortState,
9
+ getRows: ()=>[],
10
+ getRowId: ()=>'',
11
+ items: [],
12
+ columns: [],
39
13
  // eslint-disable-next-line @typescript-eslint/naming-convention
40
14
  columnSizing_unstable: defaultColumnSizingState,
41
- tableRef: /*#__PURE__*/React.createRef()
42
- };
43
- return plugins.reduce((state, plugin) => plugin(state), initialState);
15
+ tableRef: React.createRef()
16
+ };
17
+ export function useTableFeatures(options, plugins = []) {
18
+ const { items , getRowId , columns } = options;
19
+ var _getRowId;
20
+ const getRows = (rowEnhancer = defaultRowEnhancer)=>{
21
+ return items.map((item, i)=>{
22
+ return rowEnhancer({
23
+ item,
24
+ rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i
25
+ });
26
+ });
27
+ };
28
+ const initialState = {
29
+ getRowId,
30
+ items,
31
+ columns,
32
+ getRows,
33
+ selection: defaultTableSelectionState,
34
+ sort: defaultTableSortState,
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ columnSizing_unstable: defaultColumnSizingState,
37
+ tableRef: React.createRef()
38
+ };
39
+ return plugins.reduce((state, plugin)=>plugin(state), initialState);
44
40
  }
45
- //# sourceMappingURL=useTableFeatures.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","defaultTableSelectionState","defaultTableSortState","defaultColumnSizingState","defaultRowEnhancer","row","defaultTableState","selection","sort","getRows","getRowId","items","columns","columnSizing_unstable","tableRef","createRef","useTableFeatures","options","plugins","_getRowId","rowEnhancer","map","item","i","rowId","initialState","reduce","state","plugin"],"sources":["../../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"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AASvB,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,qBAAqB,QAAQ;AACtC,SAASC,wBAAwB,QAAQ;AAEzC,MAAMC,kBAAA,GAAkEC,GAAA,IAAOA,GAAA;AAE/E,OAAO,MAAMC,iBAAA,GAAiD;EAC5DC,SAAA,EAAWN,0BAAA;EACXO,IAAA,EAAMN,qBAAA;EACNO,OAAA,EAASA,CAAA,KAAM,EAAE;EACjBC,QAAA,EAAUA,CAAA,KAAM;EAChBC,KAAA,EAAO,EAAE;EACTC,OAAA,EAAS,EAAE;EACX;EACAC,qBAAA,EAAuBV,wBAAA;EACvBW,QAAA,eAAUd,KAAA,CAAMe,SAAS;AAC3B;AAEA,OAAO,SAASC,iBACdC,OAAuC,EACvCC,OAAA,GAAgC,EAAE,EACP;EAC3B,MAAM;IAAEP,KAAA;IAAOD,QAAA;IAAUE;EAAO,CAAE,GAAGK,OAAA;MAIkBE,SAAA;EAFvD,MAAMV,OAAA,GAAUA,CACdW,WAAA,GAAchB,kBAAmD;IAC9D,OAAAO,KAAA,CAAMU,GAAG,CAAC,CAACC,IAAA,EAAMC,CAAA;MAAM,OAAAH,WAAA,CAAY;QAAEE,IAAA;QAAME,KAAA,EAAO,CAAAL,SAAA,GAAAT,QAAA,aAAAA,QAAA,uBAAAA,QAAA,CAAWY,IAAA,eAAXH,SAAA,cAAAA,SAAA,GAAoBI;MAAE;;;EAE7E,MAAME,YAAA,GAA0C;IAC9Cf,QAAA;IACAC,KAAA;IACAC,OAAA;IACAH,OAAA;IACAF,SAAA,EAAWN,0BAAA;IACXO,IAAA,EAAMN,qBAAA;IACN;IACAW,qBAAA,EAAuBV,wBAAA;IACvBW,QAAA,eAAUd,KAAA,CAAMe,SAAS;EAC3B;EAEA,OAAOG,OAAA,CAAQQ,MAAM,CAAC,CAACC,KAAA,EAAOC,MAAA,KAAWA,MAAA,CAAOD,KAAA,GAAQF,YAAA;AAC1D"}
1
+ {"version":3,"sources":["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"],"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"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAS/B,SAASC,0BAA0B,QAAQ,sBAAsB;AACjE,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,wBAAwB,QAAQ,yBAAyB;AAElE,MAAMC,qBAAkEC,CAAAA,MAAOA;AAE/E,OAAO,MAAMC,oBAAiD;IAC5DC,WAAWN;IACXO,MAAMN;IACNO,SAAS,IAAM,EAAE;IACjBC,UAAU,IAAM;IAChBC,OAAO,EAAE;IACTC,SAAS,EAAE;IACX,gEAAgE;IAChEC,uBAAuBV;IACvBW,UAAUd,MAAMe,SAAS;AAC3B,EAAE;AAEF,OAAO,SAASC,iBACdC,OAAuC,EACvCC,UAAgC,EAAE,EACP;IAC3B,MAAM,EAAEP,MAAK,EAAED,SAAQ,EAAEE,QAAO,EAAE,GAAGK;QAIkBP;IAFvD,MAAMD,UAAU,CACdU,cAAcf,kBAAmD;QAC9DO,OAAAA,MAAMS,GAAG,CAAC,CAACC,MAAMC;YAAMH,OAAAA,YAAY;gBAAEE;gBAAME,OAAOb,CAAAA,YAAAA,qBAAAA,sBAAAA,KAAAA,IAAAA,SAAWW,mBAAXX,uBAAAA,YAAoBY,CAAC;YAAC;;;IAE7E,MAAME,eAA0C;QAC9Cd;QACAC;QACAC;QACAH;QACAF,WAAWN;QACXO,MAAMN;QACN,gEAAgE;QAChEW,uBAAuBV;QACvBW,UAAUd,MAAMe,SAAS;IAC3B;IAEA,OAAOG,QAAQO,MAAM,CAAC,CAACC,OAAOC,SAAWA,OAAOD,QAAQF;AAC1D,CAAC"}