@fluentui/react-table 9.0.0-alpha.1 → 9.0.0-alpha.10

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 (441) hide show
  1. package/CHANGELOG.json +501 -4
  2. package/CHANGELOG.md +139 -5
  3. package/dist/index.d.ts +653 -30
  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/Table.js.map +1 -1
  19. package/lib/TableBody.js.map +1 -1
  20. package/lib/TableCell.js.map +1 -1
  21. package/lib/TableCellActions.js +2 -0
  22. package/lib/TableCellActions.js.map +1 -0
  23. package/lib/TableCellLayout.js +2 -0
  24. package/lib/TableCellLayout.js.map +1 -0
  25. package/lib/TableCellPrimaryLayout.js +2 -0
  26. package/lib/TableCellPrimaryLayout.js.map +1 -0
  27. package/lib/TableHeader.js.map +1 -1
  28. package/lib/TableHeaderCell.js.map +1 -1
  29. package/lib/TableRow.js.map +1 -1
  30. package/lib/TableSelectionCell.js +2 -0
  31. package/lib/TableSelectionCell.js.map +1 -0
  32. package/lib/components/DataGrid/DataGrid.js +16 -0
  33. package/lib/components/DataGrid/DataGrid.js.map +1 -0
  34. package/lib/components/DataGrid/DataGrid.types.js +2 -0
  35. package/lib/components/DataGrid/DataGrid.types.js.map +1 -0
  36. package/lib/components/DataGrid/index.js +6 -0
  37. package/lib/components/DataGrid/index.js.map +1 -0
  38. package/lib/components/DataGrid/renderDataGrid.js +9 -0
  39. package/lib/components/DataGrid/renderDataGrid.js.map +1 -0
  40. package/lib/components/DataGrid/useDataGrid.js +17 -0
  41. package/lib/components/DataGrid/useDataGrid.js.map +1 -0
  42. package/lib/components/DataGrid/useDataGridContextValues.js +5 -0
  43. package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -0
  44. package/lib/components/DataGrid/useDataGridStyles.js +15 -0
  45. package/lib/components/DataGrid/useDataGridStyles.js.map +1 -0
  46. package/lib/components/DataGridBody/DataGridBody.js +15 -0
  47. package/lib/components/DataGridBody/DataGridBody.js.map +1 -0
  48. package/lib/components/DataGridBody/DataGridBody.types.js +2 -0
  49. package/lib/components/DataGridBody/DataGridBody.types.js.map +1 -0
  50. package/lib/components/DataGridBody/index.js +6 -0
  51. package/lib/components/DataGridBody/index.js.map +1 -0
  52. package/lib/components/DataGridBody/renderDataGridBody.js +9 -0
  53. package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -0
  54. package/lib/components/DataGridBody/useDataGridBody.js +17 -0
  55. package/lib/components/DataGridBody/useDataGridBody.js.map +1 -0
  56. package/lib/components/DataGridBody/useDataGridBodyStyles.js +15 -0
  57. package/lib/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  58. package/lib/components/DataGridCell/DataGridCell.js +15 -0
  59. package/lib/components/DataGridCell/DataGridCell.js.map +1 -0
  60. package/lib/components/DataGridCell/DataGridCell.types.js +2 -0
  61. package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -0
  62. package/lib/components/DataGridCell/index.js +6 -0
  63. package/lib/components/DataGridCell/index.js.map +1 -0
  64. package/lib/components/DataGridCell/renderDataGridCell.js +9 -0
  65. package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -0
  66. package/lib/components/DataGridCell/useDataGridCell.js +17 -0
  67. package/lib/components/DataGridCell/useDataGridCell.js.map +1 -0
  68. package/lib/components/DataGridCell/useDataGridCellStyles.js +15 -0
  69. package/lib/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  70. package/lib/components/DataGridHeader/DataGridHeader.js +15 -0
  71. package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -0
  72. package/lib/components/DataGridHeader/DataGridHeader.types.js +2 -0
  73. package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  74. package/lib/components/DataGridHeader/index.js +6 -0
  75. package/lib/components/DataGridHeader/index.js.map +1 -0
  76. package/lib/components/DataGridHeader/renderDataGridHeader.js +9 -0
  77. package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  78. package/lib/components/DataGridHeader/useDataGridHeader.js +17 -0
  79. package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  80. package/lib/components/DataGridHeader/useDataGridHeaderStyles.js +15 -0
  81. package/lib/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  82. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js +15 -0
  83. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  84. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +2 -0
  85. package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  86. package/lib/components/DataGridHeaderCell/index.js +6 -0
  87. package/lib/components/DataGridHeaderCell/index.js.map +1 -0
  88. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js +9 -0
  89. package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  90. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +17 -0
  91. package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  92. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +26 -0
  93. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  94. package/lib/components/DataGridRow/DataGridRow.js +15 -0
  95. package/lib/components/DataGridRow/DataGridRow.js.map +1 -0
  96. package/lib/components/DataGridRow/DataGridRow.types.js +2 -0
  97. package/lib/components/DataGridRow/DataGridRow.types.js.map +1 -0
  98. package/lib/components/DataGridRow/index.js +6 -0
  99. package/lib/components/DataGridRow/index.js.map +1 -0
  100. package/lib/components/DataGridRow/renderDataGridRow.js +9 -0
  101. package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -0
  102. package/lib/components/DataGridRow/useDataGridRow.js +17 -0
  103. package/lib/components/DataGridRow/useDataGridRow.js.map +1 -0
  104. package/lib/components/DataGridRow/useDataGridRowStyles.js +15 -0
  105. package/lib/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  106. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js +15 -0
  107. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  108. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +2 -0
  109. package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  110. package/lib/components/DataGridSelectionCell/index.js +6 -0
  111. package/lib/components/DataGridSelectionCell/index.js.map +1 -0
  112. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js +9 -0
  113. package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  114. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +17 -0
  115. package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  116. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +26 -0
  117. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  118. package/lib/components/Table/Table.js.map +1 -1
  119. package/lib/components/Table/Table.types.js.map +1 -1
  120. package/lib/components/Table/index.js.map +1 -1
  121. package/lib/components/Table/renderTable.js.map +1 -1
  122. package/lib/components/Table/useTable.js.map +1 -1
  123. package/lib/components/Table/useTableContextValues.js +7 -5
  124. package/lib/components/Table/useTableContextValues.js.map +1 -1
  125. package/lib/components/Table/useTableStyles.js +29 -3
  126. package/lib/components/Table/useTableStyles.js.map +1 -1
  127. package/lib/components/TableBody/TableBody.js.map +1 -1
  128. package/lib/components/TableBody/TableBody.types.js.map +1 -1
  129. package/lib/components/TableBody/index.js.map +1 -1
  130. package/lib/components/TableBody/renderTableBody.js.map +1 -1
  131. package/lib/components/TableBody/useTableBody.js +5 -2
  132. package/lib/components/TableBody/useTableBody.js.map +1 -1
  133. package/lib/components/TableBody/useTableBodyStyles.js +23 -2
  134. package/lib/components/TableBody/useTableBodyStyles.js.map +1 -1
  135. package/lib/components/TableCell/TableCell.js.map +1 -1
  136. package/lib/components/TableCell/TableCell.types.js.map +1 -1
  137. package/lib/components/TableCell/index.js.map +1 -1
  138. package/lib/components/TableCell/renderTableCell.js +2 -4
  139. package/lib/components/TableCell/renderTableCell.js.map +1 -1
  140. package/lib/components/TableCell/useTableCell.js +7 -6
  141. package/lib/components/TableCell/useTableCell.js.map +1 -1
  142. package/lib/components/TableCell/useTableCellStyles.js +32 -21
  143. package/lib/components/TableCell/useTableCellStyles.js.map +1 -1
  144. package/lib/components/TableCellActions/TableCellActions.js +15 -0
  145. package/lib/components/TableCellActions/TableCellActions.js.map +1 -0
  146. package/lib/components/TableCellActions/TableCellActions.types.js +2 -0
  147. package/lib/components/TableCellActions/TableCellActions.types.js.map +1 -0
  148. package/lib/components/TableCellActions/index.js +6 -0
  149. package/lib/components/TableCellActions/index.js.map +1 -0
  150. package/lib/components/TableCellActions/renderTableCellActions.js +16 -0
  151. package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -0
  152. package/lib/components/TableCellActions/useTableCellActions.js +27 -0
  153. package/lib/components/TableCellActions/useTableCellActions.js.map +1 -0
  154. package/lib/components/TableCellActions/useTableCellActionsStyles.js +40 -0
  155. package/lib/components/TableCellActions/useTableCellActionsStyles.js.map +1 -0
  156. package/lib/components/TableCellLayout/TableCellLayout.js +16 -0
  157. package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -0
  158. package/lib/components/TableCellLayout/TableCellLayout.types.js +2 -0
  159. package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -0
  160. package/lib/components/TableCellLayout/index.js +6 -0
  161. package/lib/components/TableCellLayout/index.js.map +1 -0
  162. package/lib/components/TableCellLayout/renderTableCellLayout.js +22 -0
  163. package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -0
  164. package/lib/components/TableCellLayout/useTableCellLayout.js +46 -0
  165. package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -0
  166. package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js +13 -0
  167. package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
  168. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js +74 -0
  169. package/lib/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -0
  170. package/lib/components/TableHeader/TableHeader.js.map +1 -1
  171. package/lib/components/TableHeader/TableHeader.types.js.map +1 -1
  172. package/lib/components/TableHeader/index.js.map +1 -1
  173. package/lib/components/TableHeader/renderTableHeader.js +5 -2
  174. package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
  175. package/lib/components/TableHeader/useTableHeader.js +6 -3
  176. package/lib/components/TableHeader/useTableHeader.js.map +1 -1
  177. package/lib/components/TableHeader/useTableHeaderStyles.js +29 -2
  178. package/lib/components/TableHeader/useTableHeaderStyles.js.map +1 -1
  179. package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  180. package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
  181. package/lib/components/TableHeaderCell/index.js.map +1 -1
  182. package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  183. package/lib/components/TableHeaderCell/useTableHeaderCell.js +6 -3
  184. package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  185. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js +42 -10
  186. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  187. package/lib/components/TableRow/TableRow.js.map +1 -1
  188. package/lib/components/TableRow/TableRow.types.js.map +1 -1
  189. package/lib/components/TableRow/index.js.map +1 -1
  190. package/lib/components/TableRow/renderTableRow.js.map +1 -1
  191. package/lib/components/TableRow/useTableRow.js +12 -6
  192. package/lib/components/TableRow/useTableRow.js.map +1 -1
  193. package/lib/components/TableRow/useTableRowStyles.js +202 -9
  194. package/lib/components/TableRow/useTableRowStyles.js.map +1 -1
  195. package/lib/components/TableSelectionCell/TableSelectionCell.js +15 -0
  196. package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -0
  197. package/lib/components/TableSelectionCell/TableSelectionCell.types.js +2 -0
  198. package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -0
  199. package/lib/components/TableSelectionCell/index.js +6 -0
  200. package/lib/components/TableSelectionCell/index.js.map +1 -0
  201. package/lib/components/TableSelectionCell/renderTableSelectionCell.js +17 -0
  202. package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -0
  203. package/lib/components/TableSelectionCell/useTableSelectionCell.js +51 -0
  204. package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -0
  205. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js +90 -0
  206. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -0
  207. package/lib/contexts/tableContext.js +7 -3
  208. package/lib/contexts/tableContext.js.map +1 -1
  209. package/lib/contexts/tableHeaderContext.js +6 -0
  210. package/lib/contexts/tableHeaderContext.js.map +1 -0
  211. package/lib/hooks/index.js +5 -0
  212. package/lib/hooks/index.js.map +1 -0
  213. package/lib/hooks/selectionManager.js +89 -0
  214. package/lib/hooks/selectionManager.js.map +1 -0
  215. package/lib/hooks/types.js +2 -0
  216. package/lib/hooks/types.js.map +1 -0
  217. package/lib/hooks/useSelection.js +74 -0
  218. package/lib/hooks/useSelection.js.map +1 -0
  219. package/lib/hooks/useSort.js +94 -0
  220. package/lib/hooks/useSort.js.map +1 -0
  221. package/lib/hooks/useTable.js +32 -0
  222. package/lib/hooks/useTable.js.map +1 -0
  223. package/lib/index.js +11 -0
  224. package/lib/index.js.map +1 -1
  225. package/lib-commonjs/DataGrid.js +10 -0
  226. package/lib-commonjs/DataGrid.js.map +1 -0
  227. package/lib-commonjs/DataGridBody.js +10 -0
  228. package/lib-commonjs/DataGridBody.js.map +1 -0
  229. package/lib-commonjs/DataGridCell.js +10 -0
  230. package/lib-commonjs/DataGridCell.js.map +1 -0
  231. package/lib-commonjs/DataGridHeader.js +10 -0
  232. package/lib-commonjs/DataGridHeader.js.map +1 -0
  233. package/lib-commonjs/DataGridHeaderCell.js +10 -0
  234. package/lib-commonjs/DataGridHeaderCell.js.map +1 -0
  235. package/lib-commonjs/DataGridRow.js +10 -0
  236. package/lib-commonjs/DataGridRow.js.map +1 -0
  237. package/lib-commonjs/DataGridSelectionCell.js +10 -0
  238. package/lib-commonjs/DataGridSelectionCell.js.map +1 -0
  239. package/lib-commonjs/Table.js.map +1 -1
  240. package/lib-commonjs/TableBody.js.map +1 -1
  241. package/lib-commonjs/TableCell.js.map +1 -1
  242. package/lib-commonjs/TableCellActions.js +10 -0
  243. package/lib-commonjs/TableCellActions.js.map +1 -0
  244. package/lib-commonjs/TableCellLayout.js +10 -0
  245. package/lib-commonjs/TableCellLayout.js.map +1 -0
  246. package/lib-commonjs/TableCellPrimaryLayout.js +10 -0
  247. package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -0
  248. package/lib-commonjs/TableHeader.js.map +1 -1
  249. package/lib-commonjs/TableHeaderCell.js.map +1 -1
  250. package/lib-commonjs/TableRow.js.map +1 -1
  251. package/lib-commonjs/TableSelectionCell.js +10 -0
  252. package/lib-commonjs/TableSelectionCell.js.map +1 -0
  253. package/lib-commonjs/components/DataGrid/DataGrid.js +28 -0
  254. package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -0
  255. package/lib-commonjs/components/DataGrid/DataGrid.types.js +6 -0
  256. package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -0
  257. package/lib-commonjs/components/DataGrid/index.js +18 -0
  258. package/lib-commonjs/components/DataGrid/index.js.map +1 -0
  259. package/lib-commonjs/components/DataGrid/renderDataGrid.js +19 -0
  260. package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -0
  261. package/lib-commonjs/components/DataGrid/useDataGrid.js +27 -0
  262. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -0
  263. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +15 -0
  264. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -0
  265. package/lib-commonjs/components/DataGrid/useDataGridStyles.js +26 -0
  266. package/lib-commonjs/components/DataGrid/useDataGridStyles.js.map +1 -0
  267. package/lib-commonjs/components/DataGridBody/DataGridBody.js +26 -0
  268. package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -0
  269. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +6 -0
  270. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -0
  271. package/lib-commonjs/components/DataGridBody/index.js +18 -0
  272. package/lib-commonjs/components/DataGridBody/index.js.map +1 -0
  273. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +19 -0
  274. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -0
  275. package/lib-commonjs/components/DataGridBody/useDataGridBody.js +27 -0
  276. package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -0
  277. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js +26 -0
  278. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  279. package/lib-commonjs/components/DataGridCell/DataGridCell.js +26 -0
  280. package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -0
  281. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +6 -0
  282. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -0
  283. package/lib-commonjs/components/DataGridCell/index.js +18 -0
  284. package/lib-commonjs/components/DataGridCell/index.js.map +1 -0
  285. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +19 -0
  286. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -0
  287. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +27 -0
  288. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -0
  289. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js +26 -0
  290. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  291. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +26 -0
  292. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -0
  293. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +6 -0
  294. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  295. package/lib-commonjs/components/DataGridHeader/index.js +18 -0
  296. package/lib-commonjs/components/DataGridHeader/index.js.map +1 -0
  297. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +19 -0
  298. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  299. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +27 -0
  300. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  301. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js +26 -0
  302. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  303. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +26 -0
  304. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  305. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +6 -0
  306. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  307. package/lib-commonjs/components/DataGridHeaderCell/index.js +18 -0
  308. package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -0
  309. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +19 -0
  310. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  311. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +27 -0
  312. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  313. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +37 -0
  314. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  315. package/lib-commonjs/components/DataGridRow/DataGridRow.js +26 -0
  316. package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -0
  317. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +6 -0
  318. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -0
  319. package/lib-commonjs/components/DataGridRow/index.js +18 -0
  320. package/lib-commonjs/components/DataGridRow/index.js.map +1 -0
  321. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +19 -0
  322. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -0
  323. package/lib-commonjs/components/DataGridRow/useDataGridRow.js +27 -0
  324. package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -0
  325. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js +26 -0
  326. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  327. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +26 -0
  328. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  329. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +6 -0
  330. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  331. package/lib-commonjs/components/DataGridSelectionCell/index.js +18 -0
  332. package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -0
  333. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +19 -0
  334. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  335. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +27 -0
  336. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  337. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +37 -0
  338. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  339. package/lib-commonjs/components/Table/Table.js.map +1 -1
  340. package/lib-commonjs/components/Table/index.js.map +1 -1
  341. package/lib-commonjs/components/Table/renderTable.js.map +1 -1
  342. package/lib-commonjs/components/Table/useTable.js.map +1 -1
  343. package/lib-commonjs/components/Table/useTableContextValues.js +8 -5
  344. package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
  345. package/lib-commonjs/components/Table/useTableStyles.js +30 -3
  346. package/lib-commonjs/components/Table/useTableStyles.js.map +1 -1
  347. package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
  348. package/lib-commonjs/components/TableBody/index.js.map +1 -1
  349. package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
  350. package/lib-commonjs/components/TableBody/useTableBody.js +5 -2
  351. package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
  352. package/lib-commonjs/components/TableBody/useTableBodyStyles.js +21 -1
  353. package/lib-commonjs/components/TableBody/useTableBodyStyles.js.map +1 -1
  354. package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
  355. package/lib-commonjs/components/TableCell/index.js.map +1 -1
  356. package/lib-commonjs/components/TableCell/renderTableCell.js +2 -4
  357. package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
  358. package/lib-commonjs/components/TableCell/useTableCell.js +6 -5
  359. package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
  360. package/lib-commonjs/components/TableCell/useTableCellStyles.js +32 -21
  361. package/lib-commonjs/components/TableCell/useTableCellStyles.js.map +1 -1
  362. package/lib-commonjs/components/TableCellActions/TableCellActions.js +26 -0
  363. package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -0
  364. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js +6 -0
  365. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -0
  366. package/lib-commonjs/components/TableCellActions/index.js +18 -0
  367. package/lib-commonjs/components/TableCellActions/index.js.map +1 -0
  368. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +27 -0
  369. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -0
  370. package/lib-commonjs/components/TableCellActions/useTableCellActions.js +38 -0
  371. package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -0
  372. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js +51 -0
  373. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js.map +1 -0
  374. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +28 -0
  375. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -0
  376. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js +6 -0
  377. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -0
  378. package/lib-commonjs/components/TableCellLayout/index.js +18 -0
  379. package/lib-commonjs/components/TableCellLayout/index.js.map +1 -0
  380. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +34 -0
  381. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -0
  382. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +57 -0
  383. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -0
  384. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +23 -0
  385. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
  386. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +85 -0
  387. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -0
  388. package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
  389. package/lib-commonjs/components/TableHeader/index.js.map +1 -1
  390. package/lib-commonjs/components/TableHeader/renderTableHeader.js +6 -2
  391. package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
  392. package/lib-commonjs/components/TableHeader/useTableHeader.js +6 -3
  393. package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
  394. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js +28 -1
  395. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js.map +1 -1
  396. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  397. package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
  398. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  399. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +6 -3
  400. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  401. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js +42 -10
  402. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  403. package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
  404. package/lib-commonjs/components/TableRow/index.js.map +1 -1
  405. package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
  406. package/lib-commonjs/components/TableRow/useTableRow.js +12 -5
  407. package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
  408. package/lib-commonjs/components/TableRow/useTableRowStyles.js +206 -9
  409. package/lib-commonjs/components/TableRow/useTableRowStyles.js.map +1 -1
  410. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +26 -0
  411. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -0
  412. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js +6 -0
  413. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -0
  414. package/lib-commonjs/components/TableSelectionCell/index.js +18 -0
  415. package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -0
  416. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +28 -0
  417. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -0
  418. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +65 -0
  419. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -0
  420. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +101 -0
  421. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -0
  422. package/lib-commonjs/contexts/tableContext.js +7 -3
  423. package/lib-commonjs/contexts/tableContext.js.map +1 -1
  424. package/lib-commonjs/contexts/tableHeaderContext.js +17 -0
  425. package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -0
  426. package/lib-commonjs/hooks/index.js +16 -0
  427. package/lib-commonjs/hooks/index.js.map +1 -0
  428. package/lib-commonjs/hooks/selectionManager.js +98 -0
  429. package/lib-commonjs/hooks/selectionManager.js.map +1 -0
  430. package/lib-commonjs/hooks/types.js +6 -0
  431. package/lib-commonjs/hooks/types.js.map +1 -0
  432. package/lib-commonjs/hooks/useSelection.js +89 -0
  433. package/lib-commonjs/hooks/useSelection.js.map +1 -0
  434. package/lib-commonjs/hooks/useSort.js +107 -0
  435. package/lib-commonjs/hooks/useSort.js.map +1 -0
  436. package/lib-commonjs/hooks/useTable.js +42 -0
  437. package/lib-commonjs/hooks/useTable.js.map +1 -0
  438. package/lib-commonjs/index.js +353 -1
  439. package/lib-commonjs/index.js.map +1 -1
  440. package/package.json +26 -17
  441. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/components/TableSelectionCell/useTableSelectionCellStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AAGA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AAEa,OAAA,CAAA,4BAAA,GAAwE;EACnF,IAAI,EAAE,wBAD6E;EAEnF,iBAAiB,EAAE,2CAFgE;EAGnF,cAAc,EAAE;AAHmE,CAAxE;;AAMb,MAAM,oBAAoB,gBAAG,OAAA,SAAA;EAAA;IAAA;IAAA;EAAA;AAAA;EAAA;AAAA,EAA7B;;AAOA,MAAM,mBAAmB,gBAAG,OAAA,SAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;AAAA,EAA5B;AAUA;;AAEG;;;AACH,MAAM,SAAS,gBAAG,OAAA,SAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAAA;EAAA;EAAA;EAAA;AAAA,EAAlB;AAiCA;;AAEG;;;AACI,MAAM,oCAAoC,GAAI,KAAD,IAA4D;EAC9G,MAAM,MAAM,GAAG,SAAS,EAAxB;EACA,MAAM,YAAY,GAAG;IACnB,KAAK,EAAE,oBAAoB,EADR;IAEnB,IAAI,EAAE,mBAAmB;EAFN,CAArB;EAIA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CACrB,OAAA,CAAA,4BAAA,CAA6B,IADR,EAErB,MAAM,CAAC,IAFc,EAGrB,KAAK,CAAC,gBAAN,GAAyB,YAAY,CAAC,IAAb,CAAkB,IAA3C,GAAkD,YAAY,CAAC,KAAb,CAAmB,IAHhD,EAIrB,KAAK,CAAC,MAAN,IAAgB,KAAK,CAAC,OAAN,KAAkB,KAAlC,IAA2C,MAAM,CAAC,MAJ7B,EAKrB,KAAK,CAAC,MAAN,IAAgB,MAAM,CAAC,MALF,EAMrB,KAAK,CAAC,IAAN,CAAW,SANU,CAAvB;;EAQA,IAAI,KAAK,CAAC,iBAAV,EAA6B;IAC3B,KAAK,CAAC,iBAAN,CAAwB,SAAxB,GAAoC,OAAA,CAAA,YAAA,CAClC,OAAA,CAAA,4BAAA,CAA6B,iBADK,EAElC,KAAK,CAAC,iBAAN,CAAwB,SAFU,CAApC;EAID;;EAED,IAAI,KAAK,CAAC,cAAV,EAA0B;IACxB,KAAK,CAAC,cAAN,CAAqB,SAArB,GAAiC,OAAA,CAAA,YAAA,CAC/B,OAAA,CAAA,4BAAA,CAA6B,cADE,EAE/B,MAAM,CAAC,cAFwB,EAG/B,KAAK,CAAC,cAAN,CAAqB,SAHU,CAAjC;EAKD;;EAED,OAAO,KAAP;AACD,CA9BM;;AAAM,OAAA,CAAA,oCAAA,GAAoC,oCAApC","sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport type { TableSelectionCellSlots, TableSelectionCellState } from './TableSelectionCell.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\n\nexport const tableSelectionCellClassNames: SlotClassNames<TableSelectionCellSlots> = {\n root: 'fui-TableSelectionCell',\n checkboxIndicator: 'fui-TableSelectionCell__checkboxIndicator',\n radioIndicator: 'fui-TableSelectionCell__radioIndicator',\n};\n\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-cell',\n width: '44px',\n },\n});\n\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n ...shorthands.flex(1, 1, '0px'),\n minWidth: '44px',\n maxWidth: '44px',\n justifyContent: 'center',\n },\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n textAlign: 'center',\n whiteSpace: 'nowrap',\n ...shorthands.padding(0),\n },\n\n radioIndicator: {\n display: 'flex',\n flexGrow: 1,\n alignItems: 'center',\n justifyContent: 'center',\n '& svg': {\n width: '16px',\n height: '16px',\n },\n },\n\n subtle: {\n opacity: 0,\n ...createCustomFocusIndicatorStyle(\n {\n opacity: 1,\n },\n { selector: 'focus-within' },\n ),\n },\n\n hidden: {\n visibility: 'hidden',\n },\n});\n\n/**\n * Apply styling to the TableSelectionCell slots based on the state\n */\nexport const useTableSelectionCellStyles_unstable = (state: TableSelectionCellState): TableSelectionCellState => {\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles(),\n };\n state.root.className = mergeClasses(\n tableSelectionCellClassNames.root,\n styles.root,\n state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root,\n state.subtle && state.checked === false && styles.subtle,\n state.hidden && styles.hidden,\n state.root.className,\n );\n if (state.checkboxIndicator) {\n state.checkboxIndicator.className = mergeClasses(\n tableSelectionCellClassNames.checkboxIndicator,\n state.checkboxIndicator.className,\n );\n }\n\n if (state.radioIndicator) {\n state.radioIndicator.className = mergeClasses(\n tableSelectionCellClassNames.radioIndicator,\n styles.radioIndicator,\n state.radioIndicator.className,\n );\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useTableContext = exports.TableContextProvider = exports.tableContextDefaultValue = void 0;
7
7
 
8
- const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
8
+ const React = /*#__PURE__*/require("react");
9
9
 
10
- const tableContext = /*#__PURE__*/react_context_selector_1.createContext(undefined);
10
+ const tableContext = /*#__PURE__*/React.createContext(undefined);
11
11
  exports.tableContextDefaultValue = {
12
12
  size: 'medium',
13
13
  noNativeElements: false,
@@ -15,7 +15,11 @@ exports.tableContextDefaultValue = {
15
15
  };
16
16
  exports.TableContextProvider = tableContext.Provider;
17
17
 
18
- const useTableContext = selector => react_context_selector_1.useContextSelector(tableContext, (ctx = exports.tableContextDefaultValue) => selector(ctx));
18
+ const useTableContext = () => {
19
+ var _a;
20
+
21
+ return (_a = React.useContext(tableContext)) !== null && _a !== void 0 ? _a : exports.tableContextDefaultValue;
22
+ };
19
23
 
20
24
  exports.useTableContext = useTableContext;
21
25
  //# sourceMappingURL=tableContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["contexts/tableContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAGA,MAAM,YAAY,gBAAG,wBAAA,CAAA,aAAA,CAA6C,SAA7C,CAArB;AAEa,OAAA,CAAA,wBAAA,GAA8C;EACzD,IAAI,EAAE,QADmD;EAEzD,gBAAgB,EAAE,KAFuC;EAGzD,QAAQ,EAAE;AAH+C,CAA9C;AAMA,OAAA,CAAA,oBAAA,GAAuB,YAAY,CAAC,QAApC;;AACN,MAAM,eAAe,GAAO,QAAJ,IAC7B,wBAAA,CAAA,kBAAA,CAAmB,YAAnB,EAAiC,CAAC,GAAG,GAAG,OAAA,CAAA,wBAAP,KAAoC,QAAQ,CAAC,GAAD,CAA7E,CADK;;AAAM,OAAA,CAAA,eAAA,GAAe,eAAf","sourcesContent":["import { createContext, useContextSelector, ContextSelector } from '@fluentui/react-context-selector';\nimport { TableContextValue } from '../components/Table/Table.types';\n\nconst tableContext = createContext<TableContextValue | undefined>(undefined);\n\nexport const tableContextDefaultValue: TableContextValue = {\n size: 'medium',\n noNativeElements: false,\n sortable: false,\n};\n\nexport const TableContextProvider = tableContext.Provider;\nexport const useTableContext = <T>(selector: ContextSelector<TableContextValue, T>) =>\n useContextSelector(tableContext, (ctx = tableContextDefaultValue) => selector(ctx));\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["packages/react-components/react-table/src/contexts/tableContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAGA,MAAM,YAAY,gBAAG,KAAK,CAAC,aAAN,CAAmD,SAAnD,CAArB;AAEa,OAAA,CAAA,wBAAA,GAA8C;EACzD,IAAI,EAAE,QADmD;EAEzD,gBAAgB,EAAE,KAFuC;EAGzD,QAAQ,EAAE;AAH+C,CAA9C;AAMA,OAAA,CAAA,oBAAA,GAAuB,YAAY,CAAC,QAApC;;AACN,MAAM,eAAe,GAAG,MAAK;EAAA,IAAA,EAAA;;EAAC,OAAA,CAAA,EAAA,GAAA,KAAK,CAAC,UAAN,CAAiB,YAAjB,CAAA,MAA8B,IAA9B,IAA8B,EAAA,KAAA,KAAA,CAA9B,GAA8B,EAA9B,GAAkC,OAAA,CAAA,wBAAlC;AAA0D,CAAxF;;AAAM,OAAA,CAAA,eAAA,GAAe,eAAf","sourcesContent":["import * as React from 'react';\nimport { TableContextValue } from '../components/Table/Table.types';\n\nconst tableContext = React.createContext<TableContextValue | undefined>(undefined);\n\nexport const tableContextDefaultValue: TableContextValue = {\n size: 'medium',\n noNativeElements: false,\n sortable: false,\n};\n\nexport const TableContextProvider = tableContext.Provider;\nexport const useTableContext = () => React.useContext(tableContext) ?? tableContextDefaultValue;\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsInTableHeader = exports.TableHeaderContextProvider = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const tableHeaderContext = /*#__PURE__*/React.createContext(undefined);
11
+ const tableHeaderContextDefaultValue = '';
12
+ exports.TableHeaderContextProvider = tableHeaderContext.Provider;
13
+
14
+ const useIsInTableHeader = () => React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;
15
+
16
+ exports.useIsInTableHeader = useIsInTableHeader;
17
+ //# sourceMappingURL=tableHeaderContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/contexts/tableHeaderContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAEA,MAAM,kBAAkB,gBAAG,KAAK,CAAC,aAAN,CAAwC,SAAxC,CAA3B;AAEA,MAAM,8BAA8B,GAAG,EAAvC;AAEa,OAAA,CAAA,0BAAA,GAA6B,kBAAkB,CAAC,QAAhD;;AACN,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,kBAAjB,MAAyC,8BAA1E;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourcesContent":["import * as React from 'react';\n\nconst tableHeaderContext = React.createContext<string | undefined>(undefined);\n\nconst tableHeaderContextDefaultValue = '';\n\nexport const TableHeaderContextProvider = tableHeaderContext.Provider;\nexport const useIsInTableHeader = () => React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./types"), exports);
10
+
11
+ tslib_1.__exportStar(require("./useTable"), exports);
12
+
13
+ tslib_1.__exportStar(require("./useSort"), exports);
14
+
15
+ tslib_1.__exportStar(require("./useSelection"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,SAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,YAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,WAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './types';\nexport * from './useTable';\nexport * from './useSort';\nexport * from './useSelection';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSelectionManager = void 0;
7
+
8
+ function createSelectionManager(mode, onSelectionChange = () => undefined) {
9
+ const managerFactory = mode === 'multiselect' ? createMultipleSelectionManager : createSingleSelectionManager;
10
+ return managerFactory(onSelectionChange);
11
+ }
12
+
13
+ exports.createSelectionManager = createSelectionManager;
14
+
15
+ function createMultipleSelectionManager(onSelectionChange) {
16
+ const toggleAllItems = (itemIds, selectedItems) => {
17
+ const allItemsSelected = itemIds.every(itemId => selectedItems.has(itemId));
18
+
19
+ if (allItemsSelected) {
20
+ selectedItems.clear();
21
+ } else {
22
+ itemIds.forEach(itemId => selectedItems.add(itemId));
23
+ }
24
+
25
+ onSelectionChange(new Set(selectedItems));
26
+ };
27
+
28
+ const toggleItem = (itemId, selectedItems) => {
29
+ if (selectedItems.has(itemId)) {
30
+ selectedItems.delete(itemId);
31
+ } else {
32
+ selectedItems.add(itemId);
33
+ }
34
+
35
+ onSelectionChange(new Set(selectedItems));
36
+ };
37
+
38
+ const selectItem = (itemId, selectedItems) => {
39
+ selectedItems.add(itemId);
40
+ onSelectionChange(new Set(selectedItems));
41
+ };
42
+
43
+ const deselectItem = (itemId, selectedItems) => {
44
+ selectedItems.delete(itemId);
45
+ onSelectionChange(new Set(selectedItems));
46
+ };
47
+
48
+ const clearItems = () => {
49
+ onSelectionChange(new Set());
50
+ };
51
+
52
+ const isSelected = (itemId, selectedItems) => {
53
+ return selectedItems.has(itemId);
54
+ };
55
+
56
+ return {
57
+ toggleItem,
58
+ selectItem,
59
+ deselectItem,
60
+ clearItems,
61
+ isSelected,
62
+ toggleAllItems
63
+ };
64
+ }
65
+
66
+ function createSingleSelectionManager(onSelectionChange) {
67
+ const toggleItem = itemId => {
68
+ onSelectionChange(new Set([itemId]));
69
+ };
70
+
71
+ const clearItems = () => {
72
+ onSelectionChange(new Set());
73
+ };
74
+
75
+ const isSelected = (itemId, selectedItems) => {
76
+ return selectedItems.has(itemId);
77
+ };
78
+
79
+ const selectItem = itemId => {
80
+ onSelectionChange(new Set([itemId]));
81
+ };
82
+
83
+ return {
84
+ deselectItem: clearItems,
85
+ selectItem,
86
+ toggleAllItems: () => {
87
+ if (process.env.NODE_ENV !== 'production') {
88
+ throw new Error('[react-table]: `toggleAllItems` should not be used in single selection mode');
89
+ }
90
+
91
+ return undefined;
92
+ },
93
+ toggleItem,
94
+ clearItems,
95
+ isSelected
96
+ };
97
+ }
98
+ //# sourceMappingURL=selectionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/hooks/selectionManager.ts"],"names":[],"mappings":";;;;;;;AAeA,SAAgB,sBAAhB,CACE,IADF,EAEE,iBAAA,GAA+C,MAAM,SAFvD,EAEgE;EAE9D,MAAM,cAAc,GAAG,IAAI,KAAK,aAAT,GAAyB,8BAAzB,GAA0D,4BAAjF;EAEA,OAAO,cAAc,CAAC,iBAAD,CAArB;AACD;;AAPD,OAAA,CAAA,sBAAA,GAAA,sBAAA;;AASA,SAAS,8BAAT,CAAwC,iBAAxC,EAAoF;EAClF,MAAM,cAAc,GAAG,CAAC,OAAD,EAA6B,aAA7B,KAAoE;IACzF,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAR,CAAc,MAAM,IAAI,aAAa,CAAC,GAAd,CAAkB,MAAlB,CAAxB,CAAzB;;IAEA,IAAI,gBAAJ,EAAsB;MACpB,aAAa,CAAC,KAAd;IACD,CAFD,MAEO;MACL,OAAO,CAAC,OAAR,CAAgB,MAAM,IAAI,aAAa,CAAC,GAAd,CAAkB,MAAlB,CAA1B;IACD;;IAED,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,aAAR,CAAD,CAAjB;EACD,CAVD;;EAYA,MAAM,UAAU,GAAG,CAAC,MAAD,EAA0B,aAA1B,KAAiE;IAClF,IAAI,aAAa,CAAC,GAAd,CAAkB,MAAlB,CAAJ,EAA+B;MAC7B,aAAa,CAAC,MAAd,CAAqB,MAArB;IACD,CAFD,MAEO;MACL,aAAa,CAAC,GAAd,CAAkB,MAAlB;IACD;;IAED,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,aAAR,CAAD,CAAjB;EACD,CARD;;EAUA,MAAM,UAAU,GAAG,CAAC,MAAD,EAA0B,aAA1B,KAAiE;IAClF,aAAa,CAAC,GAAd,CAAkB,MAAlB;IACA,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,aAAR,CAAD,CAAjB;EACD,CAHD;;EAKA,MAAM,YAAY,GAAG,CAAC,MAAD,EAA0B,aAA1B,KAAiE;IACpF,aAAa,CAAC,MAAd,CAAqB,MAArB;IACA,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,aAAR,CAAD,CAAjB;EACD,CAHD;;EAKA,MAAM,UAAU,GAAG,MAAK;IACtB,iBAAiB,CAAC,IAAI,GAAJ,EAAD,CAAjB;EACD,CAFD;;EAIA,MAAM,UAAU,GAAG,CAAC,MAAD,EAA0B,aAA1B,KAAiE;IAClF,OAAO,aAAa,CAAC,GAAd,CAAkB,MAAlB,CAAP;EACD,CAFD;;EAIA,OAAO;IACL,UADK;IAEL,UAFK;IAGL,YAHK;IAIL,UAJK;IAKL,UALK;IAML;EANK,CAAP;AAQD;;AAED,SAAS,4BAAT,CAAsC,iBAAtC,EAAkF;EAChF,MAAM,UAAU,GAAI,MAAD,IAA4B;IAC7C,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,CAAC,MAAD,CAAR,CAAD,CAAjB;EACD,CAFD;;EAIA,MAAM,UAAU,GAAG,MAAK;IACtB,iBAAiB,CAAC,IAAI,GAAJ,EAAD,CAAjB;EACD,CAFD;;EAIA,MAAM,UAAU,GAAG,CAAC,MAAD,EAA0B,aAA1B,KAAiE;IAClF,OAAO,aAAa,CAAC,GAAd,CAAkB,MAAlB,CAAP;EACD,CAFD;;EAIA,MAAM,UAAU,GAAI,MAAD,IAA4B;IAC7C,iBAAiB,CAAC,IAAI,GAAJ,CAAQ,CAAC,MAAD,CAAR,CAAD,CAAjB;EACD,CAFD;;EAIA,OAAO;IACL,YAAY,EAAE,UADT;IAEL,UAFK;IAGL,cAAc,EAAE,MAAK;MACnB,IAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;QACzC,MAAM,IAAI,KAAJ,CAAU,6EAAV,CAAN;MACD;;MAED,OAAO,SAAP;IACD,CATI;IAUL,UAVK;IAWL,UAXK;IAYL;EAZK,CAAP;AAcD","sourcesContent":["import { SelectionMode } from './types';\n\ntype OnSelectionChangeCallback = (selectedItems: Set<SelectionItemId>) => void;\n\nexport interface SelectionManager {\n toggleItem(id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n selectItem(id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n deselectItem(id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n clearItems(): void;\n isSelected(id: SelectionItemId, selectedItems: Set<SelectionItemId>): boolean;\n toggleAllItems(itemIds: SelectionItemId[], selectedItems: Set<SelectionItemId>): void;\n}\n\nexport type SelectionItemId = string | number;\n\nexport function createSelectionManager(\n mode: SelectionMode,\n onSelectionChange: OnSelectionChangeCallback = () => undefined,\n): SelectionManager {\n const managerFactory = mode === 'multiselect' ? createMultipleSelectionManager : createSingleSelectionManager;\n\n return managerFactory(onSelectionChange);\n}\n\nfunction createMultipleSelectionManager(onSelectionChange: OnSelectionChangeCallback): SelectionManager {\n const toggleAllItems = (itemIds: SelectionItemId[], selectedItems: Set<SelectionItemId>) => {\n const allItemsSelected = itemIds.every(itemId => selectedItems.has(itemId));\n\n if (allItemsSelected) {\n selectedItems.clear();\n } else {\n itemIds.forEach(itemId => selectedItems.add(itemId));\n }\n\n onSelectionChange(new Set(selectedItems));\n };\n\n const toggleItem = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n if (selectedItems.has(itemId)) {\n selectedItems.delete(itemId);\n } else {\n selectedItems.add(itemId);\n }\n\n onSelectionChange(new Set(selectedItems));\n };\n\n const selectItem = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n selectedItems.add(itemId);\n onSelectionChange(new Set(selectedItems));\n };\n\n const deselectItem = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n selectedItems.delete(itemId);\n onSelectionChange(new Set(selectedItems));\n };\n\n const clearItems = () => {\n onSelectionChange(new Set());\n };\n\n const isSelected = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n return selectedItems.has(itemId);\n };\n\n return {\n toggleItem,\n selectItem,\n deselectItem,\n clearItems,\n isSelected,\n toggleAllItems,\n };\n}\n\nfunction createSingleSelectionManager(onSelectionChange: OnSelectionChangeCallback): SelectionManager {\n const toggleItem = (itemId: SelectionItemId) => {\n onSelectionChange(new Set([itemId]));\n };\n\n const clearItems = () => {\n onSelectionChange(new Set<SelectionItemId>());\n };\n\n const isSelected = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n return selectedItems.has(itemId);\n };\n\n const selectItem = (itemId: SelectionItemId) => {\n onSelectionChange(new Set([itemId]));\n };\n\n return {\n deselectItem: clearItems,\n selectItem,\n toggleAllItems: () => {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('[react-table]: `toggleAllItems` should not be used in single selection mode');\n }\n\n return undefined;\n },\n toggleItem,\n clearItems,\n isSelected,\n };\n}\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSelectionState = exports.useSelection = exports.defaultTableSelectionState = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+
12
+ const selectionManager_1 = /*#__PURE__*/require("./selectionManager");
13
+
14
+ const noop = () => undefined;
15
+
16
+ exports.defaultTableSelectionState = {
17
+ allRowsSelected: false,
18
+ clearRows: noop,
19
+ deselectRow: noop,
20
+ isRowSelected: () => false,
21
+ selectRow: noop,
22
+ selectedRows: /*#__PURE__*/new Set(),
23
+ someRowsSelected: false,
24
+ toggleAllRows: noop,
25
+ toggleRow: noop
26
+ };
27
+
28
+ function useSelection(options) {
29
+ // False positive, these plugin hooks are intended to be run on every render
30
+ // eslint-disable-next-line react-hooks/rules-of-hooks
31
+ return tableState => useSelectionState(tableState, options);
32
+ }
33
+
34
+ exports.useSelection = useSelection;
35
+
36
+ function useSelectionState(tableState, options) {
37
+ const {
38
+ items,
39
+ getRowId
40
+ } = tableState;
41
+ const {
42
+ selectionMode,
43
+ defaultSelectedItems,
44
+ selectedItems,
45
+ onSelectionChange
46
+ } = options;
47
+ const [selected, setSelected] = react_utilities_1.useControllableState({
48
+ initialState: new Set(),
49
+ defaultState: defaultSelectedItems,
50
+ state: selectedItems
51
+ });
52
+ const selectionManager = React.useMemo(() => {
53
+ return selectionManager_1.createSelectionManager(selectionMode, newSelectedItems => {
54
+ setSelected(() => {
55
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(newSelectedItems);
56
+ return newSelectedItems;
57
+ });
58
+ });
59
+ }, [onSelectionChange, selectionMode, setSelected]);
60
+ const toggleAllRows = react_utilities_1.useEventCallback(() => {
61
+ selectionManager.toggleAllItems(items.map((item, i) => {
62
+ var _a;
63
+
64
+ return (_a = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _a !== void 0 ? _a : i;
65
+ }), selected);
66
+ });
67
+ const toggleRow = react_utilities_1.useEventCallback(rowId => selectionManager.toggleItem(rowId, selected));
68
+ const deselectRow = react_utilities_1.useEventCallback(rowId => selectionManager.deselectItem(rowId, selected));
69
+ const selectRow = react_utilities_1.useEventCallback(rowId => selectionManager.selectItem(rowId, selected));
70
+
71
+ const isRowSelected = rowId => selectionManager.isSelected(rowId, selected);
72
+
73
+ return { ...tableState,
74
+ selection: {
75
+ someRowsSelected: selected.size > 0,
76
+ allRowsSelected: selectionMode === 'single' ? selected.size > 0 : selected.size === items.length,
77
+ selectedRows: selected,
78
+ toggleRow,
79
+ toggleAllRows,
80
+ clearRows: selectionManager.clearItems,
81
+ deselectRow,
82
+ selectRow,
83
+ isRowSelected
84
+ }
85
+ };
86
+ }
87
+
88
+ exports.useSelectionState = useSelectionState;
89
+ //# sourceMappingURL=useSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/hooks/useSelection.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,kBAAA,gBAAA,OAAA,CAAA,oBAAA,CAAA;;AAGA,MAAM,IAAI,GAAG,MAAM,SAAnB;;AAEa,OAAA,CAAA,0BAAA,GAAkD;EAC7D,eAAe,EAAE,KAD4C;EAE7D,SAAS,EAAE,IAFkD;EAG7D,WAAW,EAAE,IAHgD;EAI7D,aAAa,EAAE,MAAM,KAJwC;EAK7D,SAAS,EAAE,IALkD;EAM7D,YAAY,eAAE,IAAI,GAAJ,EAN+C;EAO7D,gBAAgB,EAAE,KAP2C;EAQ7D,aAAa,EAAE,IAR8C;EAS7D,SAAS,EAAE;AATkD,CAAlD;;AAYb,SAAgB,YAAhB,CAAoC,OAApC,EAAgE;EAC9D;EACA;EACA,OAAQ,UAAD,IAAmC,iBAAiB,CAAC,UAAD,EAAa,OAAb,CAA3D;AACD;;AAJD,OAAA,CAAA,YAAA,GAAA,YAAA;;AAMA,SAAgB,iBAAhB,CACE,UADF,EAEE,OAFF,EAE8B;EAE5B,MAAM;IAAE,KAAF;IAAS;EAAT,IAAsB,UAA5B;EACA,MAAM;IAAE,aAAF;IAAiB,oBAAjB;IAAuC,aAAvC;IAAsD;EAAtD,IAA4E,OAAlF;EAEA,MAAM,CAAC,QAAD,EAAW,WAAX,IAA0B,iBAAA,CAAA,oBAAA,CAAqB;IACnD,YAAY,EAAE,IAAI,GAAJ,EADqC;IAEnD,YAAY,EAAE,oBAFqC;IAGnD,KAAK,EAAE;EAH4C,CAArB,CAAhC;EAMA,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAN,CAAc,MAAK;IAC1C,OAAO,kBAAA,CAAA,sBAAA,CAAuB,aAAvB,EAAsC,gBAAgB,IAAG;MAC9D,WAAW,CAAC,MAAK;QACf,iBAAiB,KAAA,IAAjB,IAAA,iBAAiB,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAA,iBAAiB,CAAG,gBAAH,CAAjB;QACA,OAAO,gBAAP;MACD,CAHU,CAAX;IAID,CALM,CAAP;EAMD,CAPwB,EAOtB,CAAC,iBAAD,EAAoB,aAApB,EAAmC,WAAnC,CAPsB,CAAzB;EASA,MAAM,aAAa,GAAyC,iBAAA,CAAA,gBAAA,CAAiB,MAAK;IAChF,gBAAgB,CAAC,cAAjB,CACE,KAAK,CAAC,GAAN,CAAU,CAAC,IAAD,EAAO,CAAP,KAAY;MAAA,IAAA,EAAA;;MAAC,OAAA,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,CAApB;IAAqB,CAA5C,CADF,EAEE,QAFF;EAID,CAL2D,CAA5D;EAOA,MAAM,SAAS,GAAqC,iBAAA,CAAA,gBAAA,CAAkB,KAAD,IACnE,gBAAgB,CAAC,UAAjB,CAA4B,KAA5B,EAAmC,QAAnC,CADkD,CAApD;EAIA,MAAM,WAAW,GAAuC,iBAAA,CAAA,gBAAA,CAAkB,KAAD,IACvE,gBAAgB,CAAC,YAAjB,CAA8B,KAA9B,EAAqC,QAArC,CADsD,CAAxD;EAIA,MAAM,SAAS,GAAqC,iBAAA,CAAA,gBAAA,CAAkB,KAAD,IACnE,gBAAgB,CAAC,UAAjB,CAA4B,KAA5B,EAAmC,QAAnC,CADkD,CAApD;;EAIA,MAAM,aAAa,GAA0C,KAAD,IAC1D,gBAAgB,CAAC,UAAjB,CAA4B,KAA5B,EAAmC,QAAnC,CADF;;EAGA,OAAO,EACL,GAAG,UADE;IAEL,SAAS,EAAE;MACT,gBAAgB,EAAE,QAAQ,CAAC,IAAT,GAAgB,CADzB;MAET,eAAe,EAAE,aAAa,KAAK,QAAlB,GAA6B,QAAQ,CAAC,IAAT,GAAgB,CAA7C,GAAiD,QAAQ,CAAC,IAAT,KAAkB,KAAK,CAAC,MAFjF;MAGT,YAAY,EAAE,QAHL;MAIT,SAJS;MAKT,aALS;MAMT,SAAS,EAAE,gBAAgB,CAAC,UANnB;MAOT,WAPS;MAQT,SARS;MAST;IATS;EAFN,CAAP;AAcD;;AA1DD,OAAA,CAAA,iBAAA,GAAA,iBAAA","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/"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSortState = exports.useSort = exports.defaultTableSortState = void 0;
7
+
8
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
+
10
+ const noop = () => undefined;
11
+
12
+ exports.defaultTableSortState = {
13
+ getSortDirection: () => 'ascending',
14
+ setColumnSort: noop,
15
+ sort: rows => [...rows],
16
+ sortColumn: undefined,
17
+ sortDirection: 'ascending',
18
+ toggleColumnSort: noop
19
+ };
20
+
21
+ function useSort(options) {
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 => useSortState(tableState, options);
25
+ }
26
+
27
+ exports.useSort = useSort;
28
+
29
+ function useSortState(tableState, options) {
30
+ const {
31
+ columns
32
+ } = tableState;
33
+ const {
34
+ sortState,
35
+ defaultSortState,
36
+ onSortChange
37
+ } = options;
38
+ const [sorted, setSorted] = react_utilities_1.useControllableState({
39
+ initialState: {
40
+ sortDirection: 'ascending',
41
+ sortColumn: undefined
42
+ },
43
+ defaultState: defaultSortState,
44
+ state: sortState
45
+ });
46
+ const {
47
+ sortColumn,
48
+ sortDirection
49
+ } = sorted;
50
+
51
+ const toggleColumnSort = columnId => {
52
+ setSorted(s => {
53
+ const newState = { ...s,
54
+ sortColumn: columnId
55
+ };
56
+
57
+ if (s.sortColumn === columnId) {
58
+ newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';
59
+ } else {
60
+ newState.sortDirection = 'ascending';
61
+ }
62
+
63
+ onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(newState);
64
+ return newState;
65
+ });
66
+ };
67
+
68
+ const setColumnSort = (nextSortColumn, nextSortDirection) => {
69
+ const newState = {
70
+ sortColumn: nextSortColumn,
71
+ sortDirection: nextSortDirection
72
+ };
73
+ onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(newState);
74
+ setSorted(newState);
75
+ };
76
+
77
+ const sort = rows => {
78
+ return rows.slice().sort((a, b) => {
79
+ const sortColumnDef = columns.find(column => column.columnId === sortColumn);
80
+
81
+ if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {
82
+ return 0;
83
+ }
84
+
85
+ const mod = sortDirection === 'ascending' ? 1 : -1;
86
+ return sortColumnDef.compare(a.item, b.item) * mod;
87
+ });
88
+ };
89
+
90
+ const getSortDirection = columnId => {
91
+ return sortColumn === columnId ? sortDirection : undefined;
92
+ };
93
+
94
+ return { ...tableState,
95
+ sort: {
96
+ sort,
97
+ sortColumn,
98
+ sortDirection,
99
+ setColumnSort,
100
+ toggleColumnSort,
101
+ getSortDirection
102
+ }
103
+ };
104
+ }
105
+
106
+ exports.useSortState = useSortState;
107
+ //# sourceMappingURL=useSort.js.map
@@ -0,0 +1 @@
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: <TRowState extends RowState<unknown>>(rows: TRowState[]) => [...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 = <TRowState extends RowState<TItem>>(rows: TRowState[]) => {\n return rows.slice().sort((a, b) => {\n const sortColumnDef = columns.find(column => column.columnId === sortColumn);\n if (!sortColumnDef?.compare) {\n return 0;\n }\n\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n\n const getSortDirection: TableSortState<TItem>['getSortDirection'] = (columnId: 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/"}
@@ -0,0 +1,42 @@
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
@@ -0,0 +1 @@
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/"}