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

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 (449) hide show
  1. package/CHANGELOG.json +590 -4
  2. package/CHANGELOG.md +159 -5
  3. package/dist/index.d.ts +697 -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 +13 -0
  39. package/lib/components/DataGrid/renderDataGrid.js.map +1 -0
  40. package/lib/components/DataGrid/useDataGrid.js +39 -0
  41. package/lib/components/DataGrid/useDataGrid.js.map +1 -0
  42. package/lib/components/DataGrid/useDataGridContextValues.js +10 -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 +25 -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 +22 -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 +24 -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 +19 -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/dataGridContext.js +9 -0
  208. package/lib/contexts/dataGridContext.js.map +1 -0
  209. package/lib/contexts/tableContext.js +7 -3
  210. package/lib/contexts/tableContext.js.map +1 -1
  211. package/lib/contexts/tableHeaderContext.js +6 -0
  212. package/lib/contexts/tableHeaderContext.js.map +1 -0
  213. package/lib/hooks/createColumn.js +41 -0
  214. package/lib/hooks/createColumn.js.map +1 -0
  215. package/lib/hooks/index.js +6 -0
  216. package/lib/hooks/index.js.map +1 -0
  217. package/lib/hooks/selectionManager.js +89 -0
  218. package/lib/hooks/selectionManager.js.map +1 -0
  219. package/lib/hooks/types.js +2 -0
  220. package/lib/hooks/types.js.map +1 -0
  221. package/lib/hooks/useSelection.js +74 -0
  222. package/lib/hooks/useSelection.js.map +1 -0
  223. package/lib/hooks/useSort.js +94 -0
  224. package/lib/hooks/useSort.js.map +1 -0
  225. package/lib/hooks/useTable.js +40 -0
  226. package/lib/hooks/useTable.js.map +1 -0
  227. package/lib/index.js +11 -0
  228. package/lib/index.js.map +1 -1
  229. package/lib-commonjs/DataGrid.js +10 -0
  230. package/lib-commonjs/DataGrid.js.map +1 -0
  231. package/lib-commonjs/DataGridBody.js +10 -0
  232. package/lib-commonjs/DataGridBody.js.map +1 -0
  233. package/lib-commonjs/DataGridCell.js +10 -0
  234. package/lib-commonjs/DataGridCell.js.map +1 -0
  235. package/lib-commonjs/DataGridHeader.js +10 -0
  236. package/lib-commonjs/DataGridHeader.js.map +1 -0
  237. package/lib-commonjs/DataGridHeaderCell.js +10 -0
  238. package/lib-commonjs/DataGridHeaderCell.js.map +1 -0
  239. package/lib-commonjs/DataGridRow.js +10 -0
  240. package/lib-commonjs/DataGridRow.js.map +1 -0
  241. package/lib-commonjs/DataGridSelectionCell.js +10 -0
  242. package/lib-commonjs/DataGridSelectionCell.js.map +1 -0
  243. package/lib-commonjs/Table.js.map +1 -1
  244. package/lib-commonjs/TableBody.js.map +1 -1
  245. package/lib-commonjs/TableCell.js.map +1 -1
  246. package/lib-commonjs/TableCellActions.js +10 -0
  247. package/lib-commonjs/TableCellActions.js.map +1 -0
  248. package/lib-commonjs/TableCellLayout.js +10 -0
  249. package/lib-commonjs/TableCellLayout.js.map +1 -0
  250. package/lib-commonjs/TableCellPrimaryLayout.js +10 -0
  251. package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -0
  252. package/lib-commonjs/TableHeader.js.map +1 -1
  253. package/lib-commonjs/TableHeaderCell.js.map +1 -1
  254. package/lib-commonjs/TableRow.js.map +1 -1
  255. package/lib-commonjs/TableSelectionCell.js +10 -0
  256. package/lib-commonjs/TableSelectionCell.js.map +1 -0
  257. package/lib-commonjs/components/DataGrid/DataGrid.js +28 -0
  258. package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -0
  259. package/lib-commonjs/components/DataGrid/DataGrid.types.js +6 -0
  260. package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -0
  261. package/lib-commonjs/components/DataGrid/index.js +18 -0
  262. package/lib-commonjs/components/DataGrid/index.js.map +1 -0
  263. package/lib-commonjs/components/DataGrid/renderDataGrid.js +25 -0
  264. package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -0
  265. package/lib-commonjs/components/DataGrid/useDataGrid.js +51 -0
  266. package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -0
  267. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +20 -0
  268. package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -0
  269. package/lib-commonjs/components/DataGrid/useDataGridStyles.js +26 -0
  270. package/lib-commonjs/components/DataGrid/useDataGridStyles.js.map +1 -0
  271. package/lib-commonjs/components/DataGridBody/DataGridBody.js +26 -0
  272. package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -0
  273. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +6 -0
  274. package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -0
  275. package/lib-commonjs/components/DataGridBody/index.js +18 -0
  276. package/lib-commonjs/components/DataGridBody/index.js.map +1 -0
  277. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +19 -0
  278. package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -0
  279. package/lib-commonjs/components/DataGridBody/useDataGridBody.js +36 -0
  280. package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -0
  281. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js +26 -0
  282. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
  283. package/lib-commonjs/components/DataGridCell/DataGridCell.js +26 -0
  284. package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -0
  285. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +6 -0
  286. package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -0
  287. package/lib-commonjs/components/DataGridCell/index.js +18 -0
  288. package/lib-commonjs/components/DataGridCell/index.js.map +1 -0
  289. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +19 -0
  290. package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -0
  291. package/lib-commonjs/components/DataGridCell/useDataGridCell.js +33 -0
  292. package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -0
  293. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js +26 -0
  294. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
  295. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +26 -0
  296. package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -0
  297. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +6 -0
  298. package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
  299. package/lib-commonjs/components/DataGridHeader/index.js +18 -0
  300. package/lib-commonjs/components/DataGridHeader/index.js.map +1 -0
  301. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +19 -0
  302. package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
  303. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +27 -0
  304. package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -0
  305. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js +26 -0
  306. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
  307. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +26 -0
  308. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
  309. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +6 -0
  310. package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
  311. package/lib-commonjs/components/DataGridHeaderCell/index.js +18 -0
  312. package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -0
  313. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +19 -0
  314. package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
  315. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +27 -0
  316. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
  317. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +37 -0
  318. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
  319. package/lib-commonjs/components/DataGridRow/DataGridRow.js +26 -0
  320. package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -0
  321. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +6 -0
  322. package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -0
  323. package/lib-commonjs/components/DataGridRow/index.js +18 -0
  324. package/lib-commonjs/components/DataGridRow/index.js.map +1 -0
  325. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +19 -0
  326. package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -0
  327. package/lib-commonjs/components/DataGridRow/useDataGridRow.js +35 -0
  328. package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -0
  329. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js +26 -0
  330. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
  331. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +26 -0
  332. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
  333. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +6 -0
  334. package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
  335. package/lib-commonjs/components/DataGridSelectionCell/index.js +18 -0
  336. package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -0
  337. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +19 -0
  338. package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
  339. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +29 -0
  340. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
  341. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +37 -0
  342. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
  343. package/lib-commonjs/components/Table/Table.js.map +1 -1
  344. package/lib-commonjs/components/Table/index.js.map +1 -1
  345. package/lib-commonjs/components/Table/renderTable.js.map +1 -1
  346. package/lib-commonjs/components/Table/useTable.js.map +1 -1
  347. package/lib-commonjs/components/Table/useTableContextValues.js +8 -5
  348. package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
  349. package/lib-commonjs/components/Table/useTableStyles.js +30 -3
  350. package/lib-commonjs/components/Table/useTableStyles.js.map +1 -1
  351. package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
  352. package/lib-commonjs/components/TableBody/index.js.map +1 -1
  353. package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
  354. package/lib-commonjs/components/TableBody/useTableBody.js +5 -2
  355. package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
  356. package/lib-commonjs/components/TableBody/useTableBodyStyles.js +21 -1
  357. package/lib-commonjs/components/TableBody/useTableBodyStyles.js.map +1 -1
  358. package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
  359. package/lib-commonjs/components/TableCell/index.js.map +1 -1
  360. package/lib-commonjs/components/TableCell/renderTableCell.js +2 -4
  361. package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
  362. package/lib-commonjs/components/TableCell/useTableCell.js +6 -5
  363. package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
  364. package/lib-commonjs/components/TableCell/useTableCellStyles.js +32 -21
  365. package/lib-commonjs/components/TableCell/useTableCellStyles.js.map +1 -1
  366. package/lib-commonjs/components/TableCellActions/TableCellActions.js +26 -0
  367. package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -0
  368. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js +6 -0
  369. package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -0
  370. package/lib-commonjs/components/TableCellActions/index.js +18 -0
  371. package/lib-commonjs/components/TableCellActions/index.js.map +1 -0
  372. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +27 -0
  373. package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -0
  374. package/lib-commonjs/components/TableCellActions/useTableCellActions.js +38 -0
  375. package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -0
  376. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js +51 -0
  377. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js.map +1 -0
  378. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +28 -0
  379. package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -0
  380. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js +6 -0
  381. package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -0
  382. package/lib-commonjs/components/TableCellLayout/index.js +18 -0
  383. package/lib-commonjs/components/TableCellLayout/index.js.map +1 -0
  384. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +34 -0
  385. package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -0
  386. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +57 -0
  387. package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -0
  388. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +23 -0
  389. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
  390. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +85 -0
  391. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -0
  392. package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
  393. package/lib-commonjs/components/TableHeader/index.js.map +1 -1
  394. package/lib-commonjs/components/TableHeader/renderTableHeader.js +6 -2
  395. package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
  396. package/lib-commonjs/components/TableHeader/useTableHeader.js +6 -3
  397. package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
  398. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js +28 -1
  399. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js.map +1 -1
  400. package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
  401. package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
  402. package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
  403. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +6 -3
  404. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
  405. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js +42 -10
  406. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
  407. package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
  408. package/lib-commonjs/components/TableRow/index.js.map +1 -1
  409. package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
  410. package/lib-commonjs/components/TableRow/useTableRow.js +12 -5
  411. package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
  412. package/lib-commonjs/components/TableRow/useTableRowStyles.js +206 -9
  413. package/lib-commonjs/components/TableRow/useTableRowStyles.js.map +1 -1
  414. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +26 -0
  415. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -0
  416. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js +6 -0
  417. package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -0
  418. package/lib-commonjs/components/TableSelectionCell/index.js +18 -0
  419. package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -0
  420. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +28 -0
  421. package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -0
  422. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +65 -0
  423. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -0
  424. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +101 -0
  425. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -0
  426. package/lib-commonjs/contexts/dataGridContext.js +21 -0
  427. package/lib-commonjs/contexts/dataGridContext.js.map +1 -0
  428. package/lib-commonjs/contexts/tableContext.js +7 -3
  429. package/lib-commonjs/contexts/tableContext.js.map +1 -1
  430. package/lib-commonjs/contexts/tableHeaderContext.js +17 -0
  431. package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -0
  432. package/lib-commonjs/hooks/createColumn.js +50 -0
  433. package/lib-commonjs/hooks/createColumn.js.map +1 -0
  434. package/lib-commonjs/hooks/index.js +18 -0
  435. package/lib-commonjs/hooks/index.js.map +1 -0
  436. package/lib-commonjs/hooks/selectionManager.js +98 -0
  437. package/lib-commonjs/hooks/selectionManager.js.map +1 -0
  438. package/lib-commonjs/hooks/types.js +6 -0
  439. package/lib-commonjs/hooks/types.js.map +1 -0
  440. package/lib-commonjs/hooks/useSelection.js +89 -0
  441. package/lib-commonjs/hooks/useSelection.js.map +1 -0
  442. package/lib-commonjs/hooks/useSort.js +107 -0
  443. package/lib-commonjs/hooks/useSort.js.map +1 -0
  444. package/lib-commonjs/hooks/useTable.js +51 -0
  445. package/lib-commonjs/hooks/useTable.js.map +1 -0
  446. package/lib-commonjs/index.js +359 -1
  447. package/lib-commonjs/index.js.map +1 -1
  448. package/package.json +27 -17
  449. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTableSelectionCell_unstable = void 0;
7
+
8
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
+
10
+ const react_checkbox_1 = /*#__PURE__*/require("@fluentui/react-checkbox");
11
+
12
+ const react_radio_1 = /*#__PURE__*/require("@fluentui/react-radio");
13
+
14
+ const useTableCell_1 = /*#__PURE__*/require("../TableCell/useTableCell");
15
+
16
+ const tableContext_1 = /*#__PURE__*/require("../../contexts/tableContext");
17
+ /**
18
+ * Create the state required to render TableSelectionCell.
19
+ *
20
+ * The returned state can be modified with hooks such as useTableSelectionCellStyles_unstable,
21
+ * before being passed to renderTableSelectionCell_unstable.
22
+ *
23
+ * @param props - props from this instance of TableSelectionCell
24
+ * @param ref - reference to root HTMLElement of TableSelectionCell
25
+ */
26
+
27
+
28
+ const useTableSelectionCell_unstable = (props, ref) => {
29
+ const tableCellState = useTableCell_1.useTableCell_unstable(props, ref);
30
+ const {
31
+ noNativeElements
32
+ } = tableContext_1.useTableContext();
33
+ const {
34
+ type = 'checkbox',
35
+ checked = false,
36
+ subtle = false,
37
+ hidden = false
38
+ } = props;
39
+ return { ...tableCellState,
40
+ components: { ...tableCellState.components,
41
+ checkboxIndicator: react_checkbox_1.Checkbox,
42
+ radioIndicator: react_radio_1.Radio
43
+ },
44
+ checkboxIndicator: react_utilities_1.resolveShorthand(props.checkboxIndicator, {
45
+ required: type === 'checkbox',
46
+ defaultProps: {
47
+ checked: props.checked
48
+ }
49
+ }),
50
+ radioIndicator: react_utilities_1.resolveShorthand(props.radioIndicator, {
51
+ required: type === 'radio',
52
+ defaultProps: {
53
+ checked: !!checked
54
+ }
55
+ }),
56
+ type,
57
+ checked,
58
+ noNativeElements,
59
+ subtle,
60
+ hidden
61
+ };
62
+ };
63
+
64
+ exports.useTableSelectionCell_unstable = useTableSelectionCell_unstable;
65
+ //# sourceMappingURL=useTableSelectionCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/components/TableSelectionCell/useTableSelectionCell.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,gBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAEA,MAAA,cAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,6BAAA,CAAA;AAEA;;;;;;;;AAQG;;;AACI,MAAM,8BAA8B,GAAG,CAC5C,KAD4C,EAE5C,GAF4C,KAGjB;EAC3B,MAAM,cAAc,GAAG,cAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B,GAA7B,CAAvB;EACA,MAAM;IAAE;EAAF,IAAuB,cAAA,CAAA,eAAA,EAA7B;EACA,MAAM;IAAE,IAAI,GAAG,UAAT;IAAqB,OAAO,GAAG,KAA/B;IAAsC,MAAM,GAAG,KAA/C;IAAsD,MAAM,GAAG;EAA/D,IAAyE,KAA/E;EAEA,OAAO,EACL,GAAG,cADE;IAEL,UAAU,EAAE,EACV,GAAG,cAAc,CAAC,UADR;MAEV,iBAAiB,EAAE,gBAAA,CAAA,QAFT;MAGV,cAAc,EAAE,aAAA,CAAA;IAHN,CAFP;IAOL,iBAAiB,EAAE,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,iBAAvB,EAA0C;MAC3D,QAAQ,EAAE,IAAI,KAAK,UADwC;MAE3D,YAAY,EAAE;QAAE,OAAO,EAAE,KAAK,CAAC;MAAjB;IAF6C,CAA1C,CAPd;IAWL,cAAc,EAAE,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,cAAvB,EAAuC;MACrD,QAAQ,EAAE,IAAI,KAAK,OADkC;MAErD,YAAY,EAAE;QAAE,OAAO,EAAE,CAAC,CAAC;MAAb;IAFuC,CAAvC,CAXX;IAeL,IAfK;IAgBL,OAhBK;IAiBL,gBAjBK;IAkBL,MAlBK;IAmBL;EAnBK,CAAP;AAqBD,CA7BM;;AAAM,OAAA,CAAA,8BAAA,GAA8B,8BAA9B","sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkbox } from '@fluentui/react-checkbox';\nimport { Radio } from '@fluentui/react-radio';\nimport type { TableSelectionCellProps, TableSelectionCellState } from './TableSelectionCell.types';\nimport { useTableCell_unstable } from '../TableCell/useTableCell';\nimport { useTableContext } from '../../contexts/tableContext';\n\n/**\n * Create the state required to render TableSelectionCell.\n *\n * The returned state can be modified with hooks such as useTableSelectionCellStyles_unstable,\n * before being passed to renderTableSelectionCell_unstable.\n *\n * @param props - props from this instance of TableSelectionCell\n * @param ref - reference to root HTMLElement of TableSelectionCell\n */\nexport const useTableSelectionCell_unstable = (\n props: TableSelectionCellProps,\n ref: React.Ref<HTMLElement>,\n): TableSelectionCellState => {\n const tableCellState = useTableCell_unstable(props, ref);\n const { noNativeElements } = useTableContext();\n const { type = 'checkbox', checked = false, subtle = false, hidden = false } = props;\n\n return {\n ...tableCellState,\n components: {\n ...tableCellState.components,\n checkboxIndicator: Checkbox,\n radioIndicator: Radio,\n },\n checkboxIndicator: resolveShorthand(props.checkboxIndicator, {\n required: type === 'checkbox',\n defaultProps: { checked: props.checked },\n }),\n radioIndicator: resolveShorthand(props.radioIndicator, {\n required: type === 'radio',\n defaultProps: { checked: !!checked },\n }),\n type,\n checked,\n noNativeElements,\n subtle,\n hidden,\n };\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTableSelectionCellStyles_unstable = exports.tableSelectionCellClassNames = void 0;
7
+
8
+ const react_1 = /*#__PURE__*/require("@griffel/react");
9
+
10
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
11
+
12
+ exports.tableSelectionCellClassNames = {
13
+ root: 'fui-TableSelectionCell',
14
+ checkboxIndicator: 'fui-TableSelectionCell__checkboxIndicator',
15
+ radioIndicator: 'fui-TableSelectionCell__radioIndicator'
16
+ };
17
+
18
+ const useTableLayoutStyles = /*#__PURE__*/react_1.__styles({
19
+ "root": {
20
+ "mc9l5x": "f15pt5es",
21
+ "a9b677": "fksc0bp"
22
+ }
23
+ }, {
24
+ "d": [".f15pt5es{display:table-cell;}", ".fksc0bp{width:44px;}"]
25
+ });
26
+
27
+ const useFlexLayoutStyles = /*#__PURE__*/react_1.__styles({
28
+ "root": {
29
+ "mc9l5x": "f22iagw",
30
+ "Bh6795r": "fqerorx",
31
+ "Bnnss6s": "f1neuvcm",
32
+ "xawz": "fkjuxzh",
33
+ "Bf4jedk": "fvrlu0f",
34
+ "B2u0y6b": "f1c71y05",
35
+ "Brf1p80": "f4d9j23"
36
+ }
37
+ }, {
38
+ "d": [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f1neuvcm{-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;}", ".fkjuxzh{-webkit-flex-basis:0px;-ms-flex-preferred-size:0px;flex-basis:0px;}", ".fvrlu0f{min-width:44px;}", ".f1c71y05{max-width:44px;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}"]
39
+ });
40
+ /**
41
+ * Styles for the root slot
42
+ */
43
+
44
+
45
+ const useStyles = /*#__PURE__*/react_1.__styles({
46
+ "root": {
47
+ "fsow6f": "f17mccla",
48
+ "Huce71": "fz5stix",
49
+ "z8tnut": "f1g0x7ka",
50
+ "z189sj": ["fhxju0i", "f1cnd47f"],
51
+ "Byoj8tv": "f1qch9an",
52
+ "uwmqm3": ["f1cnd47f", "fhxju0i"]
53
+ },
54
+ "radioIndicator": {
55
+ "mc9l5x": "f22iagw",
56
+ "Bh6795r": "fqerorx",
57
+ "Bt984gj": "f122n59",
58
+ "Brf1p80": "f4d9j23",
59
+ "B5pe6w7": "f1cqkysu",
60
+ "p4uzdd": "f1sgf1mg"
61
+ },
62
+ "subtle": {
63
+ "abs64n": "fk73vx1",
64
+ "Brovlpu": "ftqa4ok",
65
+ "B486eqv": "f2hkw1w",
66
+ "B113ap8": "f1upwfw9"
67
+ },
68
+ "hidden": {
69
+ "Bcdw1i0": "fd7fpy0"
70
+ }
71
+ }, {
72
+ "d": [".f17mccla{text-align:center;}", ".fz5stix{white-space:nowrap;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".fqerorx{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f1cqkysu svg{width:16px;}", ".f1sgf1mg svg{height:16px;}", ".fk73vx1{opacity:0;}", ".f1upwfw9[data-fui-focus-visible]:focus-within{opacity:1;}", ".fd7fpy0{visibility:hidden;}"],
73
+ "f": [".ftqa4ok:focus{outline-style:none;}"],
74
+ "i": [".f2hkw1w:focus-visible{outline-style:none;}"]
75
+ });
76
+ /**
77
+ * Apply styling to the TableSelectionCell slots based on the state
78
+ */
79
+
80
+
81
+ const useTableSelectionCellStyles_unstable = state => {
82
+ const styles = useStyles();
83
+ const layoutStyles = {
84
+ table: useTableLayoutStyles(),
85
+ flex: useFlexLayoutStyles()
86
+ };
87
+ state.root.className = react_1.mergeClasses(exports.tableSelectionCellClassNames.root, styles.root, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.subtle && state.checked === false && styles.subtle, state.hidden && styles.hidden, state.root.className);
88
+
89
+ if (state.checkboxIndicator) {
90
+ state.checkboxIndicator.className = react_1.mergeClasses(exports.tableSelectionCellClassNames.checkboxIndicator, state.checkboxIndicator.className);
91
+ }
92
+
93
+ if (state.radioIndicator) {
94
+ state.radioIndicator.className = react_1.mergeClasses(exports.tableSelectionCellClassNames.radioIndicator, styles.radioIndicator, state.radioIndicator.className);
95
+ }
96
+
97
+ return state;
98
+ };
99
+
100
+ exports.useTableSelectionCellStyles_unstable = useTableSelectionCellStyles_unstable;
101
+ //# sourceMappingURL=useTableSelectionCellStyles.js.map
@@ -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/"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDataGridContext_unstable = exports.DataGridContextProvider = void 0;
7
+
8
+ const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
9
+
10
+ const hooks_1 = /*#__PURE__*/require("../hooks");
11
+
12
+ const dataGridContext = /*#__PURE__*/react_context_selector_1.createContext(undefined);
13
+ const dataGridContextDefaultValue = { ...hooks_1.defaultTableState,
14
+ focusMode: 'none'
15
+ };
16
+ exports.DataGridContextProvider = dataGridContext.Provider;
17
+
18
+ const useDataGridContext_unstable = selector => react_context_selector_1.useContextSelector(dataGridContext, (ctx = dataGridContextDefaultValue) => selector(ctx));
19
+
20
+ exports.useDataGridContext_unstable = useDataGridContext_unstable;
21
+ //# sourceMappingURL=dataGridContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/contexts/dataGridContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,UAAA,CAAA;;AAEA,MAAM,eAAe,gBAAG,wBAAA,CAAA,aAAA,CAAgD,SAAhD,CAAxB;AAEA,MAAM,2BAA2B,GAAyB,EACxD,GAAG,OAAA,CAAA,iBADqD;EAExD,SAAS,EAAE;AAF6C,CAA1D;AAKa,OAAA,CAAA,uBAAA,GAA0B,eAAe,CAAC,QAA1C;;AAEN,MAAM,2BAA2B,GAAO,QAAJ,IACzC,wBAAA,CAAA,kBAAA,CAAmB,eAAnB,EAAoC,CAAC,GAAG,GAAG,2BAAP,KAAuC,QAAQ,CAAC,GAAD,CAAnF,CADK;;AAAM,OAAA,CAAA,2BAAA,GAA2B,2BAA3B","sourcesContent":["import { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { ContextSelector } from '@fluentui/react-context-selector';\nimport { DataGridContextValue } from '../components/DataGrid/DataGrid.types';\nimport { defaultTableState } from '../hooks';\n\nconst dataGridContext = createContext<DataGridContextValue | undefined>(undefined);\n\nconst dataGridContextDefaultValue: DataGridContextValue = {\n ...defaultTableState,\n focusMode: 'none',\n};\n\nexport const DataGridContextProvider = dataGridContext.Provider;\n\nexport const useDataGridContext_unstable = <T>(selector: ContextSelector<DataGridContextValue, T>) =>\n useContextSelector(dataGridContext, (ctx = dataGridContextDefaultValue) => selector(ctx));\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,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createColumn = void 0;
7
+
8
+ const defaultCompare = () => 0;
9
+
10
+ const defaultRenderCell = () => {
11
+ if (process.env.NODE_ENV !== 'production') {
12
+ // eslint-disable-next-line no-console
13
+ console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');
14
+ }
15
+
16
+ return null;
17
+ };
18
+
19
+ const defaultRenderHeaderCell = () => {
20
+ if (process.env.NODE_ENV !== 'production') {
21
+ // eslint-disable-next-line no-console
22
+ console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');
23
+ }
24
+
25
+ return null;
26
+ };
27
+ /**
28
+ * Helper function to create column definition with defaults
29
+ * @param options - column definition options
30
+ * @returns - column definition with defaults
31
+ */
32
+
33
+
34
+ function createColumn(options) {
35
+ const {
36
+ columnId,
37
+ renderCell = defaultRenderCell,
38
+ renderHeaderCell = defaultRenderHeaderCell,
39
+ compare = defaultCompare
40
+ } = options;
41
+ return {
42
+ columnId,
43
+ renderCell,
44
+ renderHeaderCell,
45
+ compare
46
+ };
47
+ }
48
+
49
+ exports.createColumn = createColumn;
50
+ //# sourceMappingURL=createColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["packages/react-components/react-table/src/hooks/createColumn.ts"],"names":[],"mappings":";;;;;;;AAEA,MAAM,cAAc,GAAG,MAAM,CAA7B;;AAEA,MAAM,iBAAiB,GAAG,MAAK;EAC7B,IAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;IACzC;IACA,OAAO,CAAC,IAAR,CAAa,+FAAb;EACD;;EAED,OAAO,IAAP;AACD,CAPD;;AASA,MAAM,uBAAuB,GAAG,MAAK;EACnC,IAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;IACzC;IACA,OAAO,CAAC,IAAR,CAAa,qGAAb;EACD;;EAED,OAAO,IAAP;AACD,CAPD;AASA;;;;AAIG;;;AACH,SAAgB,YAAhB,CAAoC,OAApC,EAAuE;EACrE,MAAM;IACJ,QADI;IAEJ,UAAU,GAAG,iBAFT;IAGJ,gBAAgB,GAAG,uBAHf;IAIJ,OAAO,GAAG;EAJN,IAKF,OALJ;EAOA,OAAO;IACL,QADK;IAEL,UAFK;IAGL,gBAHK;IAIL;EAJK,CAAP;AAMD;;AAdD,OAAA,CAAA,YAAA,GAAA,YAAA","sourcesContent":["import { CreateColumnOptions } from './types';\n\nconst defaultCompare = () => 0;\n\nconst defaultRenderCell = () => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');\n }\n\n return null;\n};\n\nconst defaultRenderHeaderCell = () => {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');\n }\n\n return null;\n};\n\n/**\n * Helper function to create column definition with defaults\n * @param options - column definition options\n * @returns - column definition with defaults\n */\nexport function createColumn<TItem>(options: CreateColumnOptions<TItem>) {\n const {\n columnId,\n renderCell = defaultRenderCell,\n renderHeaderCell = defaultRenderHeaderCell,\n compare = defaultCompare,\n } = options;\n\n return {\n columnId,\n renderCell,\n renderHeaderCell,\n compare,\n };\n}\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,18 @@
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
+
17
+ tslib_1.__exportStar(require("./createColumn"), exports);
18
+ //# 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;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './types';\nexport * from './useTable';\nexport * from './useSort';\nexport * from './useSelection';\nexport * from './createColumn';\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/"}