@fluentui/react-table 9.0.0-alpha.8 → 9.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/CHANGELOG.json +836 -1
  2. package/CHANGELOG.md +212 -2
  3. package/dist/index.d.ts +489 -101
  4. package/lib/DataGrid.js +2 -0
  5. package/lib/DataGrid.js.map +1 -0
  6. package/lib/DataGridBody.js +2 -0
  7. package/lib/DataGridBody.js.map +1 -0
  8. package/lib/DataGridCell.js +2 -0
  9. package/lib/DataGridCell.js.map +1 -0
  10. package/lib/DataGridHeader.js +2 -0
  11. package/lib/DataGridHeader.js.map +1 -0
  12. package/lib/DataGridHeaderCell.js +2 -0
  13. package/lib/DataGridHeaderCell.js.map +1 -0
  14. package/lib/DataGridRow.js +2 -0
  15. package/lib/DataGridRow.js.map +1 -0
  16. package/lib/DataGridSelectionCell.js +2 -0
  17. package/lib/DataGridSelectionCell.js.map +1 -0
  18. package/lib/components/DataGrid/DataGrid.js +15 -0
  19. package/lib/components/DataGrid/DataGrid.js.map +1 -0
  20. package/lib/components/DataGrid/DataGrid.types.js +2 -0
  21. package/lib/components/DataGrid/DataGrid.types.js.map +1 -0
  22. package/lib/components/DataGrid/index.js +6 -0
  23. package/lib/components/DataGrid/index.js.map +1 -0
  24. package/lib/components/DataGrid/renderDataGrid.js +12 -0
  25. package/lib/components/DataGrid/renderDataGrid.js.map +1 -0
  26. package/lib/components/DataGrid/useDataGrid.js +63 -0
  27. package/lib/components/DataGrid/useDataGrid.js.map +1 -0
  28. package/lib/components/DataGrid/useDataGridContextValues.js +15 -0
  29. package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -0
  30. package/lib/components/DataGrid/useDataGridStyles.js +14 -0
  31. package/lib/components/DataGrid/useDataGridStyles.js.map +1 -0
  32. package/lib/components/DataGridBody/DataGridBody.js +14 -0
  33. package/lib/components/DataGridBody/DataGridBody.js.map +1 -0
  34. package/lib/components/DataGridBody/DataGridBody.types.js +2 -0
  35. package/lib/components/DataGridBody/DataGridBody.types.js.map +1 -0
  36. package/lib/components/DataGridBody/index.js +6 -0
  37. package/lib/components/DataGridBody/index.js.map +1 -0
  38. package/lib/components/DataGridBody/renderDataGridBody.js +19 -0
  39. package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -0
  40. package/lib/components/DataGridBody/useDataGridBody.js +31 -0
  41. package/lib/components/DataGridBody/useDataGridBody.js.map +1 -0
  42. package/lib/components/DataGridBody/useDataGridBodyStyles.js +14 -0
  43. package/lib/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  44. package/lib/components/DataGridCell/DataGridCell.js +14 -0
  45. package/lib/components/DataGridCell/DataGridCell.js.map +1 -0
  46. package/lib/components/DataGridCell/DataGridCell.types.js +2 -0
  47. package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -0
  48. package/lib/components/DataGridCell/index.js +6 -0
  49. package/lib/components/DataGridCell/index.js.map +1 -0
  50. package/lib/components/DataGridCell/renderDataGridCell.js +8 -0
  51. package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -0
  52. package/lib/components/DataGridCell/useDataGridCell.js +21 -0
  53. package/lib/components/DataGridCell/useDataGridCell.js.map +1 -0
  54. package/lib/components/DataGridCell/useDataGridCellStyles.js +14 -0
  55. package/lib/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  56. package/lib/components/DataGridHeader/DataGridHeader.js +14 -0
  57. package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -0
  58. package/lib/components/DataGridHeader/DataGridHeader.types.js +2 -0
  59. package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  60. package/lib/components/DataGridHeader/index.js +6 -0
  61. package/lib/components/DataGridHeader/index.js.map +1 -0
  62. package/lib/components/DataGridHeader/renderDataGridHeader.js +8 -0
  63. package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  64. package/lib/components/DataGridHeader/useDataGridHeader.js +17 -0
  65. package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  66. package/lib/components/DataGridHeader/useDataGridHeaderStyles.js +14 -0
  67. package/lib/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  68. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js +14 -0
  69. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  70. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +2 -0
  71. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  72. package/lib/components/DataGridHeaderCell/index.js +6 -0
  73. package/lib/components/DataGridHeaderCell/index.js.map +1 -0
  74. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js +8 -0
  75. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  76. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +37 -0
  77. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  78. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +22 -0
  79. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  80. package/lib/components/DataGridRow/DataGridRow.js +14 -0
  81. package/lib/components/DataGridRow/DataGridRow.js.map +1 -0
  82. package/lib/components/DataGridRow/DataGridRow.types.js +2 -0
  83. package/lib/components/DataGridRow/DataGridRow.types.js.map +1 -0
  84. package/lib/components/DataGridRow/index.js +6 -0
  85. package/lib/components/DataGridRow/index.js.map +1 -0
  86. package/lib/components/DataGridRow/renderDataGridRow.js +21 -0
  87. package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -0
  88. package/lib/components/DataGridRow/useDataGridRow.js +70 -0
  89. package/lib/components/DataGridRow/useDataGridRow.js.map +1 -0
  90. package/lib/components/DataGridRow/useDataGridRowStyles.js +18 -0
  91. package/lib/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  92. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js +14 -0
  93. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  94. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +2 -0
  95. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  96. package/lib/components/DataGridSelectionCell/index.js +6 -0
  97. package/lib/components/DataGridSelectionCell/index.js.map +1 -0
  98. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js +8 -0
  99. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  100. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +47 -0
  101. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  102. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +22 -0
  103. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  104. package/lib/components/Table/Table.js +1 -2
  105. package/lib/components/Table/Table.js.map +1 -1
  106. package/lib/components/Table/Table.types.js.map +1 -1
  107. package/lib/components/Table/renderTable.js +2 -2
  108. package/lib/components/Table/renderTable.js.map +1 -1
  109. package/lib/components/Table/useTable.js +0 -2
  110. package/lib/components/Table/useTable.js.map +1 -1
  111. package/lib/components/Table/useTableContextValues.js.map +1 -1
  112. package/lib/components/Table/useTableStyles.js +13 -19
  113. package/lib/components/Table/useTableStyles.js.map +1 -1
  114. package/lib/components/TableBody/TableBody.js +1 -2
  115. package/lib/components/TableBody/TableBody.js.map +1 -1
  116. package/lib/components/TableBody/renderTableBody.js +3 -4
  117. package/lib/components/TableBody/renderTableBody.js.map +1 -1
  118. package/lib/components/TableBody/useTableBody.js +0 -2
  119. package/lib/components/TableBody/useTableBody.js.map +1 -1
  120. package/lib/components/TableBody/useTableBodyStyles.js +6 -10
  121. package/lib/components/TableBody/useTableBodyStyles.js.map +1 -1
  122. package/lib/components/TableCell/TableCell.js +1 -2
  123. package/lib/components/TableCell/TableCell.js.map +1 -1
  124. package/lib/components/TableCell/TableCell.types.js.map +1 -1
  125. package/lib/components/TableCell/renderTableCell.js +2 -2
  126. package/lib/components/TableCell/renderTableCell.js.map +1 -1
  127. package/lib/components/TableCell/useTableCell.js +4 -4
  128. package/lib/components/TableCell/useTableCell.js.map +1 -1
  129. package/lib/components/TableCell/useTableCellStyles.js +47 -26
  130. package/lib/components/TableCell/useTableCellStyles.js.map +1 -1
  131. package/lib/components/TableCellActions/TableCellActions.js +1 -2
  132. package/lib/components/TableCellActions/TableCellActions.js.map +1 -1
  133. package/lib/components/TableCellActions/renderTableCellActions.js +3 -4
  134. package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -1
  135. package/lib/components/TableCellActions/useTableCellActions.js +2 -5
  136. package/lib/components/TableCellActions/useTableCellActions.js.map +1 -1
  137. package/lib/components/TableCellActions/useTableCellActionsStyles.js +11 -19
  138. package/lib/components/TableCellActions/useTableCellActionsStyles.js.map +1 -1
  139. package/lib/components/TableCellLayout/TableCellLayout.js +1 -2
  140. package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -1
  141. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  142. package/lib/components/TableCellLayout/renderTableCellLayout.js +10 -6
  143. package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
  144. package/lib/components/TableCellLayout/useTableCellLayout.js +5 -5
  145. package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  146. package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
  147. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js +41 -35
  148. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  149. package/lib/components/TableHeader/TableHeader.js +1 -2
  150. package/lib/components/TableHeader/TableHeader.js.map +1 -1
  151. package/lib/components/TableHeader/renderTableHeader.js +2 -2
  152. package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
  153. package/lib/components/TableHeader/useTableHeader.js +1 -10
  154. package/lib/components/TableHeader/useTableHeader.js.map +1 -1
  155. package/lib/components/TableHeader/useTableHeaderStyles.js +6 -16
  156. package/lib/components/TableHeader/useTableHeaderStyles.js.map +1 -1
  157. package/lib/components/TableHeaderCell/TableHeaderCell.js +1 -2
  158. package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  159. package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  160. package/lib/components/TableHeaderCell/renderTableHeaderCell.js +6 -4
  161. package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  162. package/lib/components/TableHeaderCell/useTableHeaderCell.js +11 -8
  163. package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  164. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js +69 -67
  165. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  166. package/lib/components/TableRow/TableRow.js +1 -2
  167. package/lib/components/TableRow/TableRow.js.map +1 -1
  168. package/lib/components/TableRow/TableRow.types.js.map +1 -1
  169. package/lib/components/TableRow/renderTableRow.js +3 -4
  170. package/lib/components/TableRow/renderTableRow.js.map +1 -1
  171. package/lib/components/TableRow/useTableRow.js +7 -5
  172. package/lib/components/TableRow/useTableRow.js.map +1 -1
  173. package/lib/components/TableRow/useTableRowStyles.js +137 -162
  174. package/lib/components/TableRow/useTableRowStyles.js.map +1 -1
  175. package/lib/components/TableSelectionCell/TableSelectionCell.js +1 -2
  176. package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
  177. package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  178. package/lib/components/TableSelectionCell/renderTableSelectionCell.js +6 -4
  179. package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
  180. package/lib/components/TableSelectionCell/useTableSelectionCell.js +9 -5
  181. package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
  182. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js +43 -46
  183. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  184. package/lib/contexts/columnIdContext.js +9 -0
  185. package/lib/contexts/columnIdContext.js.map +1 -0
  186. package/lib/contexts/dataGridContext.js +13 -0
  187. package/lib/contexts/dataGridContext.js.map +1 -0
  188. package/lib/contexts/rowIdContext.js +9 -0
  189. package/lib/contexts/rowIdContext.js.map +1 -0
  190. package/lib/contexts/tableContext.js +0 -1
  191. package/lib/contexts/tableContext.js.map +1 -1
  192. package/lib/contexts/tableHeaderContext.js.map +1 -1
  193. package/lib/hooks/createColumn.js +35 -0
  194. package/lib/hooks/createColumn.js.map +1 -0
  195. package/lib/hooks/index.js +4 -3
  196. package/lib/hooks/index.js.map +1 -1
  197. package/lib/hooks/selectionManager.js +16 -32
  198. package/lib/hooks/selectionManager.js.map +1 -1
  199. package/lib/hooks/types.js.map +1 -1
  200. package/lib/hooks/{useTable.js → useTableFeatures.js} +12 -9
  201. package/lib/hooks/useTableFeatures.js.map +1 -0
  202. package/lib/hooks/{useSelection.js → useTableSelection.js} +18 -18
  203. package/lib/hooks/useTableSelection.js.map +1 -0
  204. package/lib/hooks/{useSort.js → useTableSort.js} +12 -21
  205. package/lib/hooks/useTableSort.js.map +1 -0
  206. package/lib/index.js +9 -1
  207. package/lib/index.js.map +1 -1
  208. package/lib-commonjs/DataGrid.js +8 -0
  209. package/lib-commonjs/DataGrid.js.map +1 -0
  210. package/lib-commonjs/DataGridBody.js +8 -0
  211. package/lib-commonjs/DataGridBody.js.map +1 -0
  212. package/lib-commonjs/DataGridCell.js +8 -0
  213. package/lib-commonjs/DataGridCell.js.map +1 -0
  214. package/lib-commonjs/DataGridHeader.js +8 -0
  215. package/lib-commonjs/DataGridHeader.js.map +1 -0
  216. package/lib-commonjs/DataGridHeaderCell.js +8 -0
  217. package/lib-commonjs/DataGridHeaderCell.js.map +1 -0
  218. package/lib-commonjs/DataGridRow.js +8 -0
  219. package/lib-commonjs/DataGridRow.js.map +1 -0
  220. package/lib-commonjs/DataGridSelectionCell.js +8 -0
  221. package/lib-commonjs/DataGridSelectionCell.js.map +1 -0
  222. package/lib-commonjs/Table.js +0 -2
  223. package/lib-commonjs/Table.js.map +1 -1
  224. package/lib-commonjs/TableBody.js +0 -2
  225. package/lib-commonjs/TableBody.js.map +1 -1
  226. package/lib-commonjs/TableCell.js +0 -2
  227. package/lib-commonjs/TableCell.js.map +1 -1
  228. package/lib-commonjs/TableCellActions.js +0 -2
  229. package/lib-commonjs/TableCellActions.js.map +1 -1
  230. package/lib-commonjs/TableCellLayout.js +0 -2
  231. package/lib-commonjs/TableCellLayout.js.map +1 -1
  232. package/lib-commonjs/TableCellPrimaryLayout.js +0 -2
  233. package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -1
  234. package/lib-commonjs/TableHeader.js +0 -2
  235. package/lib-commonjs/TableHeader.js.map +1 -1
  236. package/lib-commonjs/TableHeaderCell.js +0 -2
  237. package/lib-commonjs/TableHeaderCell.js.map +1 -1
  238. package/lib-commonjs/TableRow.js +0 -2
  239. package/lib-commonjs/TableRow.js.map +1 -1
  240. package/lib-commonjs/TableSelectionCell.js +0 -2
  241. package/lib-commonjs/TableSelectionCell.js.map +1 -1
  242. package/lib-commonjs/components/DataGrid/DataGrid.js +21 -0
  243. package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -0
  244. package/lib-commonjs/components/DataGrid/DataGrid.types.js +6 -0
  245. package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -0
  246. package/lib-commonjs/components/DataGrid/index.js +12 -0
  247. package/lib-commonjs/components/DataGrid/index.js.map +1 -0
  248. package/lib-commonjs/components/DataGrid/renderDataGrid.js +19 -0
  249. package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -0
  250. package/lib-commonjs/components/DataGrid/useDataGrid.js +70 -0
  251. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -0
  252. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +22 -0
  253. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -0
  254. package/lib-commonjs/components/DataGrid/useDataGridStyles.js +21 -0
  255. package/lib-commonjs/components/DataGrid/useDataGridStyles.js.map +1 -0
  256. package/lib-commonjs/components/DataGridBody/DataGridBody.js +20 -0
  257. package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -0
  258. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +6 -0
  259. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -0
  260. package/lib-commonjs/components/DataGridBody/index.js +12 -0
  261. package/lib-commonjs/components/DataGridBody/index.js.map +1 -0
  262. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +26 -0
  263. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -0
  264. package/lib-commonjs/components/DataGridBody/useDataGridBody.js +38 -0
  265. package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -0
  266. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js +21 -0
  267. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  268. package/lib-commonjs/components/DataGridCell/DataGridCell.js +20 -0
  269. package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -0
  270. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +6 -0
  271. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -0
  272. package/lib-commonjs/components/DataGridCell/index.js +12 -0
  273. package/lib-commonjs/components/DataGridCell/index.js.map +1 -0
  274. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +15 -0
  275. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -0
  276. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +28 -0
  277. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -0
  278. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js +21 -0
  279. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  280. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +20 -0
  281. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -0
  282. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +6 -0
  283. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  284. package/lib-commonjs/components/DataGridHeader/index.js +12 -0
  285. package/lib-commonjs/components/DataGridHeader/index.js.map +1 -0
  286. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +15 -0
  287. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  288. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +24 -0
  289. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  290. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js +21 -0
  291. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  292. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +20 -0
  293. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  294. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +6 -0
  295. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  296. package/lib-commonjs/components/DataGridHeaderCell/index.js +12 -0
  297. package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -0
  298. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +15 -0
  299. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  300. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +44 -0
  301. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  302. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +29 -0
  303. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  304. package/lib-commonjs/components/DataGridRow/DataGridRow.js +20 -0
  305. package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -0
  306. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +6 -0
  307. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -0
  308. package/lib-commonjs/components/DataGridRow/index.js +12 -0
  309. package/lib-commonjs/components/DataGridRow/index.js.map +1 -0
  310. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +28 -0
  311. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -0
  312. package/lib-commonjs/components/DataGridRow/useDataGridRow.js +77 -0
  313. package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -0
  314. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js +25 -0
  315. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  316. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +20 -0
  317. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  318. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +6 -0
  319. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  320. package/lib-commonjs/components/DataGridSelectionCell/index.js +12 -0
  321. package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -0
  322. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +15 -0
  323. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  324. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +54 -0
  325. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  326. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +29 -0
  327. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  328. package/lib-commonjs/components/Table/Table.js +1 -8
  329. package/lib-commonjs/components/Table/Table.js.map +1 -1
  330. package/lib-commonjs/components/Table/Table.types.js.map +1 -1
  331. package/lib-commonjs/components/Table/index.js +0 -6
  332. package/lib-commonjs/components/Table/index.js.map +1 -1
  333. package/lib-commonjs/components/Table/renderTable.js +2 -7
  334. package/lib-commonjs/components/Table/renderTable.js.map +1 -1
  335. package/lib-commonjs/components/Table/useTable.js +0 -5
  336. package/lib-commonjs/components/Table/useTable.js.map +1 -1
  337. package/lib-commonjs/components/Table/useTableContextValues.js +0 -3
  338. package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
  339. package/lib-commonjs/components/Table/useTableStyles.js +13 -23
  340. package/lib-commonjs/components/Table/useTableStyles.js.map +1 -1
  341. package/lib-commonjs/components/TableBody/TableBody.js +1 -7
  342. package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
  343. package/lib-commonjs/components/TableBody/TableBody.types.js.map +1 -1
  344. package/lib-commonjs/components/TableBody/index.js +0 -6
  345. package/lib-commonjs/components/TableBody/index.js.map +1 -1
  346. package/lib-commonjs/components/TableBody/renderTableBody.js +3 -8
  347. package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
  348. package/lib-commonjs/components/TableBody/useTableBody.js +0 -6
  349. package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
  350. package/lib-commonjs/components/TableBody/useTableBodyStyles.js +6 -12
  351. package/lib-commonjs/components/TableBody/useTableBodyStyles.js.map +1 -1
  352. package/lib-commonjs/components/TableCell/TableCell.js +1 -7
  353. package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
  354. package/lib-commonjs/components/TableCell/TableCell.types.js.map +1 -1
  355. package/lib-commonjs/components/TableCell/index.js +0 -6
  356. package/lib-commonjs/components/TableCell/index.js.map +1 -1
  357. package/lib-commonjs/components/TableCell/renderTableCell.js +2 -6
  358. package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
  359. package/lib-commonjs/components/TableCell/useTableCell.js +4 -8
  360. package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
  361. package/lib-commonjs/components/TableCell/useTableCellStyles.js +47 -30
  362. package/lib-commonjs/components/TableCell/useTableCellStyles.js.map +1 -1
  363. package/lib-commonjs/components/TableCellActions/TableCellActions.js +1 -7
  364. package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -1
  365. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -1
  366. package/lib-commonjs/components/TableCellActions/index.js +0 -6
  367. package/lib-commonjs/components/TableCellActions/index.js.map +1 -1
  368. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +3 -8
  369. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -1
  370. package/lib-commonjs/components/TableCellActions/useTableCellActions.js +1 -8
  371. package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -1
  372. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js +11 -23
  373. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js.map +1 -1
  374. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +1 -8
  375. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -1
  376. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
  377. package/lib-commonjs/components/TableCellLayout/index.js +0 -6
  378. package/lib-commonjs/components/TableCellLayout/index.js.map +1 -1
  379. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +10 -11
  380. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
  381. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +5 -9
  382. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
  383. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +0 -3
  384. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
  385. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +41 -39
  386. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
  387. package/lib-commonjs/components/TableHeader/TableHeader.js +1 -7
  388. package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
  389. package/lib-commonjs/components/TableHeader/TableHeader.types.js.map +1 -1
  390. package/lib-commonjs/components/TableHeader/index.js +0 -6
  391. package/lib-commonjs/components/TableHeader/index.js.map +1 -1
  392. package/lib-commonjs/components/TableHeader/renderTableHeader.js +2 -7
  393. package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
  394. package/lib-commonjs/components/TableHeader/useTableHeader.js +1 -15
  395. package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
  396. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js +6 -19
  397. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js.map +1 -1
  398. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js +1 -7
  399. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  400. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  401. package/lib-commonjs/components/TableHeaderCell/index.js +0 -6
  402. package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
  403. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +6 -8
  404. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  405. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +10 -14
  406. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  407. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js +69 -71
  408. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  409. package/lib-commonjs/components/TableRow/TableRow.js +1 -7
  410. package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
  411. package/lib-commonjs/components/TableRow/TableRow.types.js.map +1 -1
  412. package/lib-commonjs/components/TableRow/index.js +0 -6
  413. package/lib-commonjs/components/TableRow/index.js.map +1 -1
  414. package/lib-commonjs/components/TableRow/renderTableRow.js +3 -8
  415. package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
  416. package/lib-commonjs/components/TableRow/useTableRow.js +7 -10
  417. package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
  418. package/lib-commonjs/components/TableRow/useTableRowStyles.js +137 -170
  419. package/lib-commonjs/components/TableRow/useTableRowStyles.js.map +1 -1
  420. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +1 -7
  421. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
  422. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
  423. package/lib-commonjs/components/TableSelectionCell/index.js +0 -6
  424. package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -1
  425. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +6 -8
  426. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
  427. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +8 -11
  428. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
  429. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +43 -50
  430. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
  431. package/lib-commonjs/contexts/columnIdContext.js +16 -0
  432. package/lib-commonjs/contexts/columnIdContext.js.map +1 -0
  433. package/lib-commonjs/contexts/dataGridContext.js +20 -0
  434. package/lib-commonjs/contexts/dataGridContext.js.map +1 -0
  435. package/lib-commonjs/contexts/rowIdContext.js +16 -0
  436. package/lib-commonjs/contexts/rowIdContext.js.map +1 -0
  437. package/lib-commonjs/contexts/tableContext.js +0 -5
  438. package/lib-commonjs/contexts/tableContext.js.map +1 -1
  439. package/lib-commonjs/contexts/tableHeaderContext.js +0 -4
  440. package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -1
  441. package/lib-commonjs/hooks/createColumn.js +42 -0
  442. package/lib-commonjs/hooks/createColumn.js.map +1 -0
  443. package/lib-commonjs/hooks/index.js +4 -8
  444. package/lib-commonjs/hooks/index.js.map +1 -1
  445. package/lib-commonjs/hooks/selectionManager.js +16 -34
  446. package/lib-commonjs/hooks/selectionManager.js.map +1 -1
  447. package/lib-commonjs/hooks/types.js.map +1 -1
  448. package/lib-commonjs/hooks/useTableFeatures.js +42 -0
  449. package/lib-commonjs/hooks/useTableFeatures.js.map +1 -0
  450. package/lib-commonjs/hooks/{useSelection.js → useTableSelection.js} +21 -28
  451. package/lib-commonjs/hooks/useTableSelection.js.map +1 -0
  452. package/lib-commonjs/hooks/{useSort.js → useTableSort.js} +15 -29
  453. package/lib-commonjs/hooks/useTableSort.js.map +1 -0
  454. package/lib-commonjs/index.js +244 -30
  455. package/lib-commonjs/index.js.map +1 -1
  456. package/package.json +24 -12
  457. package/lib/hooks/useSelection.js.map +0 -1
  458. package/lib/hooks/useSort.js.map +0 -1
  459. package/lib/hooks/useTable.js.map +0 -1
  460. package/lib-commonjs/hooks/useSelection.js.map +0 -1
  461. package/lib-commonjs/hooks/useSort.js.map +0 -1
  462. package/lib-commonjs/hooks/useTable.js +0 -42
  463. package/lib-commonjs/hooks/useTable.js.map +0 -1
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@fluentui/react-table",
3
- "version": "9.0.0-alpha.8",
3
+ "version": "9.0.0-rc.1",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
7
- "typings": "dist/index.d.ts",
7
+ "typings": "./dist/index.d.ts",
8
8
  "sideEffects": false,
9
9
  "repository": {
10
10
  "type": "git",
@@ -13,6 +13,7 @@
13
13
  "license": "MIT",
14
14
  "scripts": {
15
15
  "build": "just-scripts build",
16
+ "bundle-size": "bundle-size measure",
16
17
  "clean": "just-scripts clean",
17
18
  "code-style": "just-scripts code-style",
18
19
  "just": "just-scripts",
@@ -26,19 +27,22 @@
26
27
  "devDependencies": {
27
28
  "@fluentui/eslint-plugin": "*",
28
29
  "@fluentui/react-conformance": "*",
29
- "@fluentui/react-conformance-griffel": "9.0.0-beta.16",
30
- "@fluentui/scripts": "^1.0.0"
30
+ "@fluentui/react-conformance-griffel": "9.0.0-beta.19",
31
+ "@fluentui/scripts-api-extractor": "*",
32
+ "@fluentui/scripts-tasks": "*"
31
33
  },
32
34
  "dependencies": {
33
- "@fluentui/react-aria": "^9.2.3",
34
- "@fluentui/react-avatar": "^9.2.4",
35
- "@fluentui/react-checkbox": "^9.0.10",
35
+ "@fluentui/keyboard-keys": "^9.0.1",
36
+ "@fluentui/react-aria": "^9.3.5",
37
+ "@fluentui/react-avatar": "^9.2.15",
38
+ "@fluentui/react-checkbox": "^9.0.21",
39
+ "@fluentui/react-context-selector": "^9.1.5",
36
40
  "@fluentui/react-icons": "^2.0.175",
37
- "@fluentui/react-radio": "^9.0.9",
38
- "@fluentui/react-tabster": "^9.2.0",
39
- "@fluentui/react-theme": "^9.1.1",
40
- "@fluentui/react-utilities": "^9.1.2",
41
- "@griffel/react": "^1.4.1",
41
+ "@fluentui/react-radio": "^9.0.19",
42
+ "@fluentui/react-tabster": "^9.4.0",
43
+ "@fluentui/react-theme": "^9.1.5",
44
+ "@fluentui/react-utilities": "^9.4.0",
45
+ "@griffel/react": "^1.5.2",
42
46
  "tslib": "^2.1.0"
43
47
  },
44
48
  "peerDependencies": {
@@ -53,5 +57,13 @@
53
57
  "minor",
54
58
  "patch"
55
59
  ]
60
+ },
61
+ "exports": {
62
+ ".": {
63
+ "types": "./dist/index.d.ts",
64
+ "import": "./lib/index.js",
65
+ "require": "./lib-commonjs/index.js"
66
+ },
67
+ "./package.json": "./package.json"
56
68
  }
57
69
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { createSelectionManager } from './selectionManager';\nimport type { RowId, TableSelectionState, TableState, UseSelectionOptions } from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSelectionState: TableSelectionState = {\n allRowsSelected: false,\n clearRows: noop,\n deselectRow: noop,\n isRowSelected: () => false,\n selectRow: noop,\n selectedRows: new Set(),\n someRowsSelected: false,\n toggleAllRows: noop,\n toggleRow: noop,\n};\n\nexport function useSelection<TItem>(options: UseSelectionOptions) {\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: TableState<TItem>) => useSelectionState(tableState, options);\n}\n\nexport function useSelectionState<TItem>(\n tableState: TableState<TItem>,\n options: UseSelectionOptions,\n): TableState<TItem> {\n const { items, getRowId } = tableState;\n const { selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n\n const [selected, setSelected] = useControllableState({\n initialState: new Set<RowId>(),\n defaultState: defaultSelectedItems,\n state: selectedItems,\n });\n\n const selectionManager = React.useMemo(() => {\n return createSelectionManager(selectionMode, newSelectedItems => {\n setSelected(() => {\n onSelectionChange?.(newSelectedItems);\n return newSelectedItems;\n });\n });\n }, [onSelectionChange, selectionMode, setSelected]);\n\n const toggleAllRows: TableSelectionState['toggleAllRows'] = useEventCallback(() => {\n selectionManager.toggleAllItems(\n items.map((item, i) => getRowId?.(item) ?? i),\n selected,\n );\n });\n\n const toggleRow: TableSelectionState['toggleRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.toggleItem(rowId, selected),\n );\n\n const deselectRow: TableSelectionState['deselectRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.deselectItem(rowId, selected),\n );\n\n const selectRow: TableSelectionState['selectRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.selectItem(rowId, selected),\n );\n\n const isRowSelected: TableSelectionState['isRowSelected'] = (rowId: RowId) =>\n selectionManager.isSelected(rowId, selected);\n\n return {\n ...tableState,\n selection: {\n someRowsSelected: selected.size > 0,\n allRowsSelected: selectionMode === 'single' ? selected.size > 0 : selected.size === items.length,\n selectedRows: selected,\n toggleRow,\n toggleAllRows,\n clearRows: selectionManager.clearItems,\n deselectRow,\n selectRow,\n isRowSelected,\n },\n };\n}\n"],"sourceRoot":"../src/"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useSort.ts"],"names":[],"mappings":"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","sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport type { ColumnId, RowState, SortState, TableSortState, TableState, UseSortOptions } from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSortState: TableSortState<unknown> = {\n getSortDirection: () => 'ascending',\n setColumnSort: noop,\n sort: (rows: RowState<unknown>[]) => [...rows],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop,\n};\n\nexport function useSort<TItem>(options: UseSortOptions) {\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: TableState<TItem>) => useSortState(tableState, options);\n}\n\nexport function useSortState<TItem>(tableState: TableState<TItem>, options: UseSortOptions): TableState<TItem> {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange } = options;\n\n const [sorted, setSorted] = useControllableState<SortState>({\n initialState: {\n sortDirection: 'ascending' as const,\n sortColumn: undefined,\n },\n defaultState: defaultSortState,\n state: sortState,\n });\n\n const { sortColumn, sortDirection } = sorted;\n\n const toggleColumnSort = (columnId: ColumnId | undefined) => {\n setSorted(s => {\n const newState = { ...s, sortColumn: columnId };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n\n onSortChange?.(newState);\n return newState;\n });\n };\n\n const setColumnSort: TableSortState<TItem>['setColumnSort'] = (nextSortColumn, nextSortDirection) => {\n const newState = { sortColumn: nextSortColumn, sortDirection: nextSortDirection };\n onSortChange?.(newState);\n setSorted(newState);\n };\n\n const sort = (rows: RowState<TItem>[]) => {\n return rows.slice().sort((a, b) => {\n const sortColumnDef = columns.find(column => column.columnId === sortColumn);\n if (!sortColumnDef?.compare) {\n return 0;\n }\n\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n\n const getSortDirection: TableSortState<TItem>['getSortDirection'] = (columnId: ColumnId) => {\n return sortColumn === columnId ? sortDirection : undefined;\n };\n\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection,\n },\n };\n}\n"],"sourceRoot":"../src/"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useTable.ts"],"names":[],"mappings":"AACA,SAAS,0BAAT,QAA2C,gBAA3C;AACA,SAAS,qBAAT,QAAsC,WAAtC;;AAEA,MAAM,kBAAkB,GAA4C,GAAG,IAAI,GAA3E;;AAEA,OAAM,SAAU,QAAV,CAA0B,OAA1B,EAA2D,OAAA,GAA8B,EAAzF,EAA2F;EAC/F,MAAM;IAAE,KAAF;IAAS,QAAT;IAAmB;EAAnB,IAA+B,OAArC;;EAEA,MAAM,OAAO,GAAG,CACd,WAAA,GAAc,kBADA,KAEX,KAAK,CAAC,GAAN,CAAU,CAAC,IAAD,EAAO,CAAP,KAAY;IAAA,IAAA,EAAA;;IAAC,OAAA,WAAW,CAAC;MAAE,IAAF;MAAQ,KAAK,EAAE,CAAA,EAAA,GAAA,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAQ,KAAA,CAAR,GAAA,QAAQ,CAAG,IAAH,CAAR,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,EAAhB,GAAoB;IAAnC,CAAD,CAAX;EAAmD,CAA1E,CAFL;;EAIA,MAAM,YAAY,GAAsB;IACtC,QADsC;IAEtC,KAFsC;IAGtC,OAHsC;IAItC,OAJsC;IAKtC,SAAS,EAAE,0BAL2B;IAMtC,IAAI,EAAE;EANgC,CAAxC;EASA,OAAO,OAAO,CAAC,MAAR,CAAe,CAAC,KAAD,EAAQ,MAAR,KAAmB,MAAM,CAAC,KAAD,CAAxC,EAAiD,YAAjD,CAAP;AACD","sourcesContent":["import type { UseTableOptions, TableState, RowState, RowEnhancer, TableStatePlugin, TableSortState } from './types';\nimport { defaultTableSelectionState } from './useSelection';\nimport { defaultTableSortState } from './useSort';\n\nconst defaultRowEnhancer: RowEnhancer<unknown, RowState<unknown>> = row => row;\n\nexport function useTable<TItem>(options: UseTableOptions<TItem>, plugins: TableStatePlugin[] = []): TableState<TItem> {\n const { items, getRowId, columns } = options;\n\n const getRows = <TRowState extends RowState<TItem>>(\n rowEnhancer = defaultRowEnhancer as RowEnhancer<TItem, TRowState>,\n ) => items.map((item, i) => rowEnhancer({ item, rowId: getRowId?.(item) ?? i }));\n\n const initialState: TableState<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"],"sourceRoot":"../src/"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useSelection.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { createSelectionManager } from './selectionManager';\nimport type { RowId, TableSelectionState, TableState, UseSelectionOptions } from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSelectionState: TableSelectionState = {\n allRowsSelected: false,\n clearRows: noop,\n deselectRow: noop,\n isRowSelected: () => false,\n selectRow: noop,\n selectedRows: new Set(),\n someRowsSelected: false,\n toggleAllRows: noop,\n toggleRow: noop,\n};\n\nexport function useSelection<TItem>(options: UseSelectionOptions) {\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: TableState<TItem>) => useSelectionState(tableState, options);\n}\n\nexport function useSelectionState<TItem>(\n tableState: TableState<TItem>,\n options: UseSelectionOptions,\n): TableState<TItem> {\n const { items, getRowId } = tableState;\n const { selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n\n const [selected, setSelected] = useControllableState({\n initialState: new Set<RowId>(),\n defaultState: defaultSelectedItems,\n state: selectedItems,\n });\n\n const selectionManager = React.useMemo(() => {\n return createSelectionManager(selectionMode, newSelectedItems => {\n setSelected(() => {\n onSelectionChange?.(newSelectedItems);\n return newSelectedItems;\n });\n });\n }, [onSelectionChange, selectionMode, setSelected]);\n\n const toggleAllRows: TableSelectionState['toggleAllRows'] = useEventCallback(() => {\n selectionManager.toggleAllItems(\n items.map((item, i) => getRowId?.(item) ?? i),\n selected,\n );\n });\n\n const toggleRow: TableSelectionState['toggleRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.toggleItem(rowId, selected),\n );\n\n const deselectRow: TableSelectionState['deselectRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.deselectItem(rowId, selected),\n );\n\n const selectRow: TableSelectionState['selectRow'] = useEventCallback((rowId: RowId) =>\n selectionManager.selectItem(rowId, selected),\n );\n\n const isRowSelected: TableSelectionState['isRowSelected'] = (rowId: RowId) =>\n selectionManager.isSelected(rowId, selected);\n\n return {\n ...tableState,\n selection: {\n someRowsSelected: selected.size > 0,\n allRowsSelected: selectionMode === 'single' ? selected.size > 0 : selected.size === items.length,\n selectedRows: selected,\n toggleRow,\n toggleAllRows,\n clearRows: selectionManager.clearItems,\n deselectRow,\n selectRow,\n isRowSelected,\n },\n };\n}\n"],"sourceRoot":"../src/"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useSort.ts"],"names":[],"mappings":"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","sourcesContent":["import { useControllableState } from '@fluentui/react-utilities';\nimport type { ColumnId, RowState, SortState, TableSortState, TableState, UseSortOptions } from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSortState: TableSortState<unknown> = {\n getSortDirection: () => 'ascending',\n setColumnSort: noop,\n sort: (rows: RowState<unknown>[]) => [...rows],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop,\n};\n\nexport function useSort<TItem>(options: UseSortOptions) {\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: TableState<TItem>) => useSortState(tableState, options);\n}\n\nexport function useSortState<TItem>(tableState: TableState<TItem>, options: UseSortOptions): TableState<TItem> {\n const { columns } = tableState;\n const { sortState, defaultSortState, onSortChange } = options;\n\n const [sorted, setSorted] = useControllableState<SortState>({\n initialState: {\n sortDirection: 'ascending' as const,\n sortColumn: undefined,\n },\n defaultState: defaultSortState,\n state: sortState,\n });\n\n const { sortColumn, sortDirection } = sorted;\n\n const toggleColumnSort = (columnId: ColumnId | undefined) => {\n setSorted(s => {\n const newState = { ...s, sortColumn: columnId };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n\n onSortChange?.(newState);\n return newState;\n });\n };\n\n const setColumnSort: TableSortState<TItem>['setColumnSort'] = (nextSortColumn, nextSortDirection) => {\n const newState = { sortColumn: nextSortColumn, sortDirection: nextSortDirection };\n onSortChange?.(newState);\n setSorted(newState);\n };\n\n const sort = (rows: RowState<TItem>[]) => {\n return rows.slice().sort((a, b) => {\n const sortColumnDef = columns.find(column => column.columnId === sortColumn);\n if (!sortColumnDef?.compare) {\n return 0;\n }\n\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n\n const getSortDirection: TableSortState<TItem>['getSortDirection'] = (columnId: ColumnId) => {\n return sortColumn === columnId ? sortDirection : undefined;\n };\n\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection,\n },\n };\n}\n"],"sourceRoot":"../src/"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useTable = void 0;
7
-
8
- const useSelection_1 = /*#__PURE__*/require("./useSelection");
9
-
10
- const useSort_1 = /*#__PURE__*/require("./useSort");
11
-
12
- const defaultRowEnhancer = row => row;
13
-
14
- function useTable(options, plugins = []) {
15
- const {
16
- items,
17
- getRowId,
18
- columns
19
- } = options;
20
-
21
- const getRows = (rowEnhancer = defaultRowEnhancer) => items.map((item, i) => {
22
- var _a;
23
-
24
- return rowEnhancer({
25
- item,
26
- rowId: (_a = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _a !== void 0 ? _a : i
27
- });
28
- });
29
-
30
- const initialState = {
31
- getRowId,
32
- items,
33
- columns,
34
- getRows,
35
- selection: useSelection_1.defaultTableSelectionState,
36
- sort: useSort_1.defaultTableSortState
37
- };
38
- return plugins.reduce((state, plugin) => plugin(state), initialState);
39
- }
40
-
41
- exports.useTable = useTable;
42
- //# sourceMappingURL=useTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["packages/react-components/react-table/src/hooks/useTable.ts"],"names":[],"mappings":";;;;;;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AACA,MAAA,SAAA,gBAAA,OAAA,CAAA,WAAA,CAAA;;AAEA,MAAM,kBAAkB,GAA4C,GAAG,IAAI,GAA3E;;AAEA,SAAgB,QAAhB,CAAgC,OAAhC,EAAiE,OAAA,GAA8B,EAA/F,EAAiG;EAC/F,MAAM;IAAE,KAAF;IAAS,QAAT;IAAmB;EAAnB,IAA+B,OAArC;;EAEA,MAAM,OAAO,GAAG,CACd,WAAA,GAAc,kBADA,KAEX,KAAK,CAAC,GAAN,CAAU,CAAC,IAAD,EAAO,CAAP,KAAY;IAAA,IAAA,EAAA;;IAAC,OAAA,WAAW,CAAC;MAAE,IAAF;MAAQ,KAAK,EAAE,CAAA,EAAA,GAAA,QAAQ,KAAA,IAAR,IAAA,QAAQ,KAAA,KAAA,CAAR,GAAQ,KAAA,CAAR,GAAA,QAAQ,CAAG,IAAH,CAAR,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,EAAhB,GAAoB;IAAnC,CAAD,CAAX;EAAmD,CAA1E,CAFL;;EAIA,MAAM,YAAY,GAAsB;IACtC,QADsC;IAEtC,KAFsC;IAGtC,OAHsC;IAItC,OAJsC;IAKtC,SAAS,EAAE,cAAA,CAAA,0BAL2B;IAMtC,IAAI,EAAE,SAAA,CAAA;EANgC,CAAxC;EASA,OAAO,OAAO,CAAC,MAAR,CAAe,CAAC,KAAD,EAAQ,MAAR,KAAmB,MAAM,CAAC,KAAD,CAAxC,EAAiD,YAAjD,CAAP;AACD;;AAjBD,OAAA,CAAA,QAAA,GAAA,QAAA","sourcesContent":["import type { UseTableOptions, TableState, RowState, RowEnhancer, TableStatePlugin, TableSortState } from './types';\nimport { defaultTableSelectionState } from './useSelection';\nimport { defaultTableSortState } from './useSort';\n\nconst defaultRowEnhancer: RowEnhancer<unknown, RowState<unknown>> = row => row;\n\nexport function useTable<TItem>(options: UseTableOptions<TItem>, plugins: TableStatePlugin[] = []): TableState<TItem> {\n const { items, getRowId, columns } = options;\n\n const getRows = <TRowState extends RowState<TItem>>(\n rowEnhancer = defaultRowEnhancer as RowEnhancer<TItem, TRowState>,\n ) => items.map((item, i) => rowEnhancer({ item, rowId: getRowId?.(item) ?? i }));\n\n const initialState: TableState<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"],"sourceRoot":"../src/"}