@fluentui/react-table 9.0.0-alpha.2 → 9.0.0-alpha.20
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.
- package/CHANGELOG.json +1071 -1
- package/CHANGELOG.md +280 -2
- package/dist/index.d.ts +551 -113
- package/lib/DataGrid.js +2 -0
- package/lib/DataGrid.js.map +1 -0
- package/lib/DataGridBody.js +2 -0
- package/lib/DataGridBody.js.map +1 -0
- package/lib/DataGridCell.js +2 -0
- package/lib/DataGridCell.js.map +1 -0
- package/lib/DataGridHeader.js +2 -0
- package/lib/DataGridHeader.js.map +1 -0
- package/lib/DataGridHeaderCell.js +2 -0
- package/lib/DataGridHeaderCell.js.map +1 -0
- package/lib/DataGridRow.js +2 -0
- package/lib/DataGridRow.js.map +1 -0
- package/lib/DataGridSelectionCell.js +2 -0
- package/lib/DataGridSelectionCell.js.map +1 -0
- package/lib/Table.js.map +1 -1
- package/lib/TableBody.js.map +1 -1
- package/lib/TableCell.js.map +1 -1
- package/lib/TableCellActions.js.map +1 -1
- package/lib/TableCellLayout.js.map +1 -1
- package/lib/TableCellPrimaryLayout.js.map +1 -1
- package/lib/TableHeader.js.map +1 -1
- package/lib/TableHeaderCell.js.map +1 -1
- package/lib/TableRow.js.map +1 -1
- package/lib/TableSelectionCell.js.map +1 -1
- package/lib/components/DataGrid/DataGrid.js +15 -0
- package/lib/components/DataGrid/DataGrid.js.map +1 -0
- package/lib/components/DataGrid/DataGrid.types.js +2 -0
- package/lib/components/DataGrid/DataGrid.types.js.map +1 -0
- package/lib/components/DataGrid/index.js +6 -0
- package/lib/components/DataGrid/index.js.map +1 -0
- package/lib/components/DataGrid/renderDataGrid.js +12 -0
- package/lib/components/DataGrid/renderDataGrid.js.map +1 -0
- package/lib/components/DataGrid/useDataGrid.js +63 -0
- package/lib/components/DataGrid/useDataGrid.js.map +1 -0
- package/lib/components/DataGrid/useDataGridContextValues.js +15 -0
- package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -0
- package/lib/components/DataGrid/useDataGridStyles.js +14 -0
- package/lib/components/DataGrid/useDataGridStyles.js.map +1 -0
- package/lib/components/DataGridBody/DataGridBody.js +14 -0
- package/lib/components/DataGridBody/DataGridBody.js.map +1 -0
- package/lib/components/DataGridBody/DataGridBody.types.js +2 -0
- package/lib/components/DataGridBody/DataGridBody.types.js.map +1 -0
- package/lib/components/DataGridBody/index.js +6 -0
- package/lib/components/DataGridBody/index.js.map +1 -0
- package/lib/components/DataGridBody/renderDataGridBody.js +19 -0
- package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -0
- package/lib/components/DataGridBody/useDataGridBody.js +31 -0
- package/lib/components/DataGridBody/useDataGridBody.js.map +1 -0
- package/lib/components/DataGridBody/useDataGridBodyStyles.js +14 -0
- package/lib/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
- package/lib/components/DataGridCell/DataGridCell.js +14 -0
- package/lib/components/DataGridCell/DataGridCell.js.map +1 -0
- package/lib/components/DataGridCell/DataGridCell.types.js +2 -0
- package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -0
- package/lib/components/DataGridCell/index.js +6 -0
- package/lib/components/DataGridCell/index.js.map +1 -0
- package/lib/components/DataGridCell/renderDataGridCell.js +8 -0
- package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -0
- package/lib/components/DataGridCell/useDataGridCell.js +21 -0
- package/lib/components/DataGridCell/useDataGridCell.js.map +1 -0
- package/lib/components/DataGridCell/useDataGridCellStyles.js +14 -0
- package/lib/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
- package/lib/components/DataGridHeader/DataGridHeader.js +14 -0
- package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -0
- package/lib/components/DataGridHeader/DataGridHeader.types.js +2 -0
- package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
- package/lib/components/DataGridHeader/index.js +6 -0
- package/lib/components/DataGridHeader/index.js.map +1 -0
- package/lib/components/DataGridHeader/renderDataGridHeader.js +8 -0
- package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
- package/lib/components/DataGridHeader/useDataGridHeader.js +17 -0
- package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -0
- package/lib/components/DataGridHeader/useDataGridHeaderStyles.js +14 -0
- package/lib/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js +14 -0
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +2 -0
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
- package/lib/components/DataGridHeaderCell/index.js +6 -0
- package/lib/components/DataGridHeaderCell/index.js.map +1 -0
- package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js +8 -0
- package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +37 -0
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +22 -0
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
- package/lib/components/DataGridRow/DataGridRow.js +14 -0
- package/lib/components/DataGridRow/DataGridRow.js.map +1 -0
- package/lib/components/DataGridRow/DataGridRow.types.js +2 -0
- package/lib/components/DataGridRow/DataGridRow.types.js.map +1 -0
- package/lib/components/DataGridRow/index.js +6 -0
- package/lib/components/DataGridRow/index.js.map +1 -0
- package/lib/components/DataGridRow/renderDataGridRow.js +21 -0
- package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -0
- package/lib/components/DataGridRow/useDataGridRow.js +70 -0
- package/lib/components/DataGridRow/useDataGridRow.js.map +1 -0
- package/lib/components/DataGridRow/useDataGridRowStyles.js +18 -0
- package/lib/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js +14 -0
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +2 -0
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
- package/lib/components/DataGridSelectionCell/index.js +6 -0
- package/lib/components/DataGridSelectionCell/index.js.map +1 -0
- package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js +8 -0
- package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +47 -0
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +22 -0
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
- package/lib/components/Table/Table.js +1 -2
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/Table.types.js.map +1 -1
- package/lib/components/Table/index.js.map +1 -1
- package/lib/components/Table/renderTable.js +2 -2
- package/lib/components/Table/renderTable.js.map +1 -1
- package/lib/components/Table/useTable.js +0 -2
- package/lib/components/Table/useTable.js.map +1 -1
- package/lib/components/Table/useTableContextValues.js.map +1 -1
- package/lib/components/Table/useTableStyles.js +26 -11
- package/lib/components/Table/useTableStyles.js.map +1 -1
- package/lib/components/TableBody/TableBody.js +1 -2
- package/lib/components/TableBody/TableBody.js.map +1 -1
- package/lib/components/TableBody/TableBody.types.js.map +1 -1
- package/lib/components/TableBody/index.js.map +1 -1
- package/lib/components/TableBody/renderTableBody.js +3 -4
- package/lib/components/TableBody/renderTableBody.js.map +1 -1
- package/lib/components/TableBody/useTableBody.js +2 -3
- package/lib/components/TableBody/useTableBody.js.map +1 -1
- package/lib/components/TableBody/useTableBodyStyles.js +16 -9
- package/lib/components/TableBody/useTableBodyStyles.js.map +1 -1
- package/lib/components/TableCell/TableCell.js +1 -2
- package/lib/components/TableCell/TableCell.js.map +1 -1
- package/lib/components/TableCell/TableCell.types.js.map +1 -1
- package/lib/components/TableCell/index.js.map +1 -1
- package/lib/components/TableCell/renderTableCell.js +2 -2
- package/lib/components/TableCell/renderTableCell.js.map +1 -1
- package/lib/components/TableCell/useTableCell.js +5 -4
- package/lib/components/TableCell/useTableCell.js.map +1 -1
- package/lib/components/TableCell/useTableCellStyles.js +58 -13
- package/lib/components/TableCell/useTableCellStyles.js.map +1 -1
- package/lib/components/TableCellActions/TableCellActions.js +1 -2
- package/lib/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/TableCellActions.types.js.map +1 -1
- package/lib/components/TableCellActions/index.js.map +1 -1
- package/lib/components/TableCellActions/renderTableCellActions.js +3 -4
- package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/useTableCellActions.js +5 -5
- package/lib/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/useTableCellActionsStyles.js +12 -20
- package/lib/components/TableCellActions/useTableCellActionsStyles.js.map +1 -1
- package/lib/components/TableCellLayout/TableCellLayout.js +3 -3
- package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
- package/lib/components/TableCellLayout/index.js.map +1 -1
- package/lib/components/TableCellLayout/renderTableCellLayout.js +14 -7
- package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayout.js +14 -4
- package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js +13 -0
- package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
- package/lib/components/TableCellLayout/useTableCellLayoutStyles.js +41 -35
- package/lib/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
- package/lib/components/TableHeader/TableHeader.js +1 -2
- package/lib/components/TableHeader/TableHeader.js.map +1 -1
- package/lib/components/TableHeader/TableHeader.types.js.map +1 -1
- package/lib/components/TableHeader/index.js.map +1 -1
- package/lib/components/TableHeader/renderTableHeader.js +6 -3
- package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib/components/TableHeader/useTableHeader.js +3 -11
- package/lib/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib/components/TableHeader/useTableHeaderStyles.js +16 -9
- package/lib/components/TableHeader/useTableHeaderStyles.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.js +1 -2
- package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
- package/lib/components/TableHeaderCell/index.js.map +1 -1
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js +6 -4
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js +13 -9
- package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js +83 -50
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
- package/lib/components/TableRow/TableRow.js +1 -2
- package/lib/components/TableRow/TableRow.js.map +1 -1
- package/lib/components/TableRow/TableRow.types.js.map +1 -1
- package/lib/components/TableRow/index.js.map +1 -1
- package/lib/components/TableRow/renderTableRow.js +3 -4
- package/lib/components/TableRow/renderTableRow.js.map +1 -1
- package/lib/components/TableRow/useTableRow.js +12 -6
- package/lib/components/TableRow/useTableRow.js.map +1 -1
- package/lib/components/TableRow/useTableRowStyles.js +196 -28
- package/lib/components/TableRow/useTableRowStyles.js.map +1 -1
- package/lib/components/TableSelectionCell/TableSelectionCell.js +1 -2
- package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
- package/lib/components/TableSelectionCell/index.js.map +1 -1
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js +6 -4
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/useTableSelectionCell.js +25 -12
- package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js +59 -27
- package/lib/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
- package/lib/contexts/columnIdContext.js +9 -0
- package/lib/contexts/columnIdContext.js.map +1 -0
- package/lib/contexts/dataGridContext.js +13 -0
- package/lib/contexts/dataGridContext.js.map +1 -0
- package/lib/contexts/rowIdContext.js +9 -0
- package/lib/contexts/rowIdContext.js.map +1 -0
- package/lib/contexts/tableContext.js +0 -1
- package/lib/contexts/tableContext.js.map +1 -1
- package/lib/contexts/tableHeaderContext.js +6 -0
- package/lib/contexts/tableHeaderContext.js.map +1 -0
- package/lib/hooks/createColumn.js +35 -0
- package/lib/hooks/createColumn.js.map +1 -0
- package/lib/hooks/index.js +4 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/selectionManager.js +16 -32
- package/lib/hooks/selectionManager.js.map +1 -1
- package/lib/hooks/types.js.map +1 -1
- package/lib/hooks/useTableFeatures.js +35 -0
- package/lib/hooks/useTableFeatures.js.map +1 -0
- package/lib/hooks/useTableSelection.js +74 -0
- package/lib/hooks/useTableSelection.js.map +1 -0
- package/lib/hooks/useTableSort.js +85 -0
- package/lib/hooks/useTableSort.js.map +1 -0
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/DataGrid.js +8 -0
- package/lib-commonjs/DataGrid.js.map +1 -0
- package/lib-commonjs/DataGridBody.js +8 -0
- package/lib-commonjs/DataGridBody.js.map +1 -0
- package/lib-commonjs/DataGridCell.js +8 -0
- package/lib-commonjs/DataGridCell.js.map +1 -0
- package/lib-commonjs/DataGridHeader.js +8 -0
- package/lib-commonjs/DataGridHeader.js.map +1 -0
- package/lib-commonjs/DataGridHeaderCell.js +8 -0
- package/lib-commonjs/DataGridHeaderCell.js.map +1 -0
- package/lib-commonjs/DataGridRow.js +8 -0
- package/lib-commonjs/DataGridRow.js.map +1 -0
- package/lib-commonjs/DataGridSelectionCell.js +8 -0
- package/lib-commonjs/DataGridSelectionCell.js.map +1 -0
- package/lib-commonjs/Table.js +0 -2
- package/lib-commonjs/Table.js.map +1 -1
- package/lib-commonjs/TableBody.js +0 -2
- package/lib-commonjs/TableBody.js.map +1 -1
- package/lib-commonjs/TableCell.js +0 -2
- package/lib-commonjs/TableCell.js.map +1 -1
- package/lib-commonjs/TableCellActions.js +0 -2
- package/lib-commonjs/TableCellActions.js.map +1 -1
- package/lib-commonjs/TableCellLayout.js +0 -2
- package/lib-commonjs/TableCellLayout.js.map +1 -1
- package/lib-commonjs/TableCellPrimaryLayout.js +0 -2
- package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -1
- package/lib-commonjs/TableHeader.js +0 -2
- package/lib-commonjs/TableHeader.js.map +1 -1
- package/lib-commonjs/TableHeaderCell.js +0 -2
- package/lib-commonjs/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/TableRow.js +0 -2
- package/lib-commonjs/TableRow.js.map +1 -1
- package/lib-commonjs/TableSelectionCell.js +0 -2
- package/lib-commonjs/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGrid/DataGrid.js +21 -0
- package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -0
- package/lib-commonjs/components/DataGrid/DataGrid.types.js +6 -0
- package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -0
- package/lib-commonjs/components/DataGrid/index.js +12 -0
- package/lib-commonjs/components/DataGrid/index.js.map +1 -0
- package/lib-commonjs/components/DataGrid/renderDataGrid.js +19 -0
- package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -0
- package/lib-commonjs/components/DataGrid/useDataGrid.js +70 -0
- package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -0
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +22 -0
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -0
- package/lib-commonjs/components/DataGrid/useDataGridStyles.js +21 -0
- package/lib-commonjs/components/DataGrid/useDataGridStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/DataGridBody.js +20 -0
- package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +6 -0
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/index.js +12 -0
- package/lib-commonjs/components/DataGridBody/index.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +26 -0
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js +38 -0
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -0
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js +21 -0
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/DataGridCell.js +20 -0
- package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +6 -0
- package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/index.js +12 -0
- package/lib-commonjs/components/DataGridCell/index.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +15 -0
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js +28 -0
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -0
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js +21 -0
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +20 -0
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +6 -0
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/index.js +12 -0
- package/lib-commonjs/components/DataGridHeader/index.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +15 -0
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +24 -0
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -0
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js +21 -0
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +20 -0
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +6 -0
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/index.js +12 -0
- package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +15 -0
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +44 -0
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -0
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js +29 -0
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/DataGridRow.js +20 -0
- package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +6 -0
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/index.js +12 -0
- package/lib-commonjs/components/DataGridRow/index.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +28 -0
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js +77 -0
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -0
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js +25 -0
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +20 -0
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +6 -0
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/index.js +12 -0
- package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +15 -0
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +54 -0
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -0
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js +29 -0
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.js.map +1 -0
- package/lib-commonjs/components/Table/Table.js +1 -8
- package/lib-commonjs/components/Table/Table.js.map +1 -1
- package/lib-commonjs/components/Table/Table.types.js.map +1 -1
- package/lib-commonjs/components/Table/index.js +0 -6
- package/lib-commonjs/components/Table/index.js.map +1 -1
- package/lib-commonjs/components/Table/renderTable.js +2 -7
- package/lib-commonjs/components/Table/renderTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTable.js +0 -5
- package/lib-commonjs/components/Table/useTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTableContextValues.js +0 -3
- package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
- package/lib-commonjs/components/Table/useTableStyles.js +26 -15
- package/lib-commonjs/components/Table/useTableStyles.js.map +1 -1
- package/lib-commonjs/components/TableBody/TableBody.js +1 -7
- package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/TableBody.types.js.map +1 -1
- package/lib-commonjs/components/TableBody/index.js +0 -6
- package/lib-commonjs/components/TableBody/index.js.map +1 -1
- package/lib-commonjs/components/TableBody/renderTableBody.js +3 -8
- package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBody.js +2 -7
- package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBodyStyles.js +16 -11
- package/lib-commonjs/components/TableBody/useTableBodyStyles.js.map +1 -1
- package/lib-commonjs/components/TableCell/TableCell.js +1 -7
- package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/TableCell.types.js.map +1 -1
- package/lib-commonjs/components/TableCell/index.js +0 -6
- package/lib-commonjs/components/TableCell/index.js.map +1 -1
- package/lib-commonjs/components/TableCell/renderTableCell.js +2 -6
- package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCell.js +5 -8
- package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCellStyles.js +58 -17
- package/lib-commonjs/components/TableCell/useTableCellStyles.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/TableCellActions.js +1 -7
- package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/index.js +0 -6
- package/lib-commonjs/components/TableCellActions/index.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +3 -8
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js +4 -8
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js +12 -25
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +3 -8
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/index.js +0 -6
- package/lib-commonjs/components/TableCellLayout/index.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +14 -11
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +14 -7
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +20 -0
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -0
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js +41 -39
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.js.map +1 -1
- package/lib-commonjs/components/TableHeader/TableHeader.js +1 -7
- package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/TableHeader.types.js.map +1 -1
- package/lib-commonjs/components/TableHeader/index.js +0 -6
- package/lib-commonjs/components/TableHeader/index.js.map +1 -1
- package/lib-commonjs/components/TableHeader/renderTableHeader.js +6 -7
- package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeader.js +3 -16
- package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js +16 -12
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js +1 -7
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/index.js +0 -6
- package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +6 -8
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +12 -15
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js +83 -54
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.js.map +1 -1
- package/lib-commonjs/components/TableRow/TableRow.js +1 -7
- package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/TableRow.types.js.map +1 -1
- package/lib-commonjs/components/TableRow/index.js +0 -6
- package/lib-commonjs/components/TableRow/index.js.map +1 -1
- package/lib-commonjs/components/TableRow/renderTableRow.js +3 -8
- package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRow.js +11 -9
- package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRowStyles.js +196 -33
- package/lib-commonjs/components/TableRow/useTableRowStyles.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +1 -7
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/index.js +0 -6
- package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +6 -8
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +24 -18
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js +59 -30
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.js.map +1 -1
- package/lib-commonjs/contexts/columnIdContext.js +16 -0
- package/lib-commonjs/contexts/columnIdContext.js.map +1 -0
- package/lib-commonjs/contexts/dataGridContext.js +20 -0
- package/lib-commonjs/contexts/dataGridContext.js.map +1 -0
- package/lib-commonjs/contexts/rowIdContext.js +16 -0
- package/lib-commonjs/contexts/rowIdContext.js.map +1 -0
- package/lib-commonjs/contexts/tableContext.js +0 -5
- package/lib-commonjs/contexts/tableContext.js.map +1 -1
- package/lib-commonjs/contexts/tableHeaderContext.js +13 -0
- package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -0
- package/lib-commonjs/hooks/createColumn.js +42 -0
- package/lib-commonjs/hooks/createColumn.js.map +1 -0
- package/lib-commonjs/hooks/index.js +4 -4
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/selectionManager.js +16 -34
- package/lib-commonjs/hooks/selectionManager.js.map +1 -1
- package/lib-commonjs/hooks/types.js.map +1 -1
- package/lib-commonjs/hooks/useTableFeatures.js +42 -0
- package/lib-commonjs/hooks/useTableFeatures.js.map +1 -0
- package/lib-commonjs/hooks/useTableSelection.js +82 -0
- package/lib-commonjs/hooks/useTableSelection.js.map +1 -0
- package/lib-commonjs/hooks/useTableSort.js +93 -0
- package/lib-commonjs/hooks/useTableSort.js.map +1 -0
- package/lib-commonjs/index.js +252 -26
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +30 -17
- package/lib/hooks/useSelection.js +0 -47
- package/lib/hooks/useSelection.js.map +0 -1
- package/lib/hooks/useSort.js +0 -72
- package/lib/hooks/useSort.js.map +0 -1
- package/lib/hooks/useTable.js +0 -87
- package/lib/hooks/useTable.js.map +0 -1
- package/lib/navigationModes/cell.js +0 -250
- package/lib/navigationModes/cell.js.map +0 -1
- package/lib/navigationModes/composite.js +0 -208
- package/lib/navigationModes/composite.js.map +0 -1
- package/lib/navigationModes/index.js +0 -3
- package/lib/navigationModes/index.js.map +0 -1
- package/lib/navigationModes/useNavigationMode.js +0 -42
- package/lib/navigationModes/useNavigationMode.js.map +0 -1
- package/lib-commonjs/hooks/useSelection.js +0 -59
- package/lib-commonjs/hooks/useSelection.js.map +0 -1
- package/lib-commonjs/hooks/useSort.js +0 -82
- package/lib-commonjs/hooks/useSort.js.map +0 -1
- package/lib-commonjs/hooks/useTable.js +0 -99
- package/lib-commonjs/hooks/useTable.js.map +0 -1
- package/lib-commonjs/navigationModes/cell.js +0 -259
- package/lib-commonjs/navigationModes/cell.js.map +0 -1
- package/lib-commonjs/navigationModes/composite.js +0 -217
- package/lib-commonjs/navigationModes/composite.js.map +0 -1
- package/lib-commonjs/navigationModes/index.js +0 -16
- package/lib-commonjs/navigationModes/index.js.map +0 -1
- package/lib-commonjs/navigationModes/useNavigationMode.js +0 -55
- package/lib-commonjs/navigationModes/useNavigationMode.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContextSelector } from '@fluentui/react-context-selector';
|
|
2
|
+
import { defaultTableState } from '../hooks';
|
|
3
|
+
const dataGridContext = /*#__PURE__*/createContext(undefined);
|
|
4
|
+
const dataGridContextDefaultValue = {
|
|
5
|
+
...defaultTableState,
|
|
6
|
+
subtleSelection: false,
|
|
7
|
+
selectableRows: false,
|
|
8
|
+
selectionAppearance: 'brand',
|
|
9
|
+
focusMode: 'none'
|
|
10
|
+
};
|
|
11
|
+
export const DataGridContextProvider = dataGridContext.Provider;
|
|
12
|
+
export const useDataGridContext_unstable = selector => useContextSelector(dataGridContext, (ctx = dataGridContextDefaultValue) => selector(ctx));
|
|
13
|
+
//# sourceMappingURL=dataGridContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,kCAAkC;AAGpF,SAASC,iBAAiB,QAAQ,UAAU;AAE5C,MAAMC,eAAe,gBAAGH,aAAa,CAAmCI,SAAS,CAAC;AAElF,MAAMC,2BAA2B,GAAyB;EACxD,GAAGH,iBAAiB;EACpBI,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,KAAK;EACrBC,mBAAmB,EAAE,OAAO;EAC5BC,SAAS,EAAE;CACZ;AAED,OAAO,MAAMC,uBAAuB,GAAGP,eAAe,CAACQ,QAAQ;AAE/D,OAAO,MAAMC,2BAA2B,GAAOC,QAAkD,IAC/FZ,kBAAkB,CAACE,eAAe,EAAE,CAACW,GAAG,GAAGT,2BAA2B,KAAKQ,QAAQ,CAACC,GAAG,CAAC,CAAC","names":["createContext","useContextSelector","defaultTableState","dataGridContext","undefined","dataGridContextDefaultValue","subtleSelection","selectableRows","selectionAppearance","focusMode","DataGridContextProvider","Provider","useDataGridContext_unstable","selector","ctx"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/contexts/dataGridContext.ts"],"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 subtleSelection: false,\n selectableRows: false,\n selectionAppearance: 'brand',\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"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
const rowIdContext = /*#__PURE__*/React.createContext(undefined);
|
|
3
|
+
export const tableRowIdContextDefaultValue = '';
|
|
4
|
+
export const useTableRowIdContext = () => {
|
|
5
|
+
var _a;
|
|
6
|
+
return (_a = React.useContext(rowIdContext)) !== null && _a !== void 0 ? _a : tableRowIdContextDefaultValue;
|
|
7
|
+
};
|
|
8
|
+
export const TableRowIdContextProvider = rowIdContext.Provider;
|
|
9
|
+
//# sourceMappingURL=rowIdContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAyBC,SAAS,CAAC;AAE3E,OAAO,MAAMC,6BAA6B,GAAG,EAAE;AAE/C,OAAO,MAAMC,oBAAoB,GAAG,MAAK;EAAA;EAAC,kBAAK,CAACC,UAAU,CAACL,YAAY,CAAC,mCAAIG,6BAA6B;AAAA;AAEzG,OAAO,MAAMG,yBAAyB,GAAGN,YAAY,CAACO,QAAQ","names":["React","rowIdContext","createContext","undefined","tableRowIdContextDefaultValue","useTableRowIdContext","useContext","TableRowIdContextProvider","Provider"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/contexts/rowIdContext.ts"],"sourcesContent":["import * as React from 'react';\nimport type { TableRowId } from '../hooks/';\n\nconst rowIdContext = React.createContext<TableRowId | undefined>(undefined);\n\nexport const tableRowIdContextDefaultValue = '';\n\nexport const useTableRowIdContext = () => React.useContext(rowIdContext) ?? tableRowIdContextDefaultValue;\n\nexport const TableRowIdContextProvider = rowIdContext.Provider;\n"]}
|
|
@@ -8,7 +8,6 @@ export const tableContextDefaultValue = {
|
|
|
8
8
|
export const TableContextProvider = tableContext.Provider;
|
|
9
9
|
export const useTableContext = () => {
|
|
10
10
|
var _a;
|
|
11
|
-
|
|
12
11
|
return (_a = React.useContext(tableContext)) !== null && _a !== void 0 ? _a : tableContextDefaultValue;
|
|
13
12
|
};
|
|
14
13
|
//# sourceMappingURL=tableContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAgCC,SAAS,CAAC;AAElF,OAAO,MAAMC,wBAAwB,GAAsB;EACzDC,IAAI,EAAE,QAAQ;EACdC,gBAAgB,EAAE,KAAK;EACvBC,QAAQ,EAAE;CACX;AAED,OAAO,MAAMC,oBAAoB,GAAGP,YAAY,CAACQ,QAAQ;AACzD,OAAO,MAAMC,eAAe,GAAG,MAAK;EAAA;EAAC,kBAAK,CAACC,UAAU,CAACV,YAAY,CAAC,mCAAIG,wBAAwB;AAAA","names":["React","tableContext","createContext","undefined","tableContextDefaultValue","size","noNativeElements","sortable","TableContextProvider","Provider","useTableContext","useContext"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/contexts/tableContext.ts"],"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"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
const tableHeaderContext = /*#__PURE__*/React.createContext(undefined);
|
|
3
|
+
const tableHeaderContextDefaultValue = '';
|
|
4
|
+
export const TableHeaderContextProvider = tableHeaderContext.Provider;
|
|
5
|
+
export const useIsInTableHeader = () => React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;
|
|
6
|
+
//# sourceMappingURL=tableHeaderContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,kBAAkB,gBAAGD,KAAK,CAACE,aAAa,CAAqBC,SAAS,CAAC;AAE7E,MAAMC,8BAA8B,GAAG,EAAE;AAEzC,OAAO,MAAMC,0BAA0B,GAAGJ,kBAAkB,CAACK,QAAQ;AACrE,OAAO,MAAMC,kBAAkB,GAAG,MAAMP,KAAK,CAACQ,UAAU,CAACP,kBAAkB,CAAC,KAAKG,8BAA8B","names":["React","tableHeaderContext","createContext","undefined","tableHeaderContextDefaultValue","TableHeaderContextProvider","Provider","useIsInTableHeader","useContext"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/contexts/tableHeaderContext.ts"],"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"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const defaultCompare = () => 0;
|
|
2
|
+
const defaultRenderCell = () => {
|
|
3
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
4
|
+
// eslint-disable-next-line no-console
|
|
5
|
+
console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');
|
|
6
|
+
}
|
|
7
|
+
return null;
|
|
8
|
+
};
|
|
9
|
+
const defaultRenderHeaderCell = () => {
|
|
10
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11
|
+
// eslint-disable-next-line no-console
|
|
12
|
+
console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');
|
|
13
|
+
}
|
|
14
|
+
return null;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Helper function to create column definition with defaults
|
|
18
|
+
* @param options - column definition options
|
|
19
|
+
* @returns - column definition with defaults
|
|
20
|
+
*/
|
|
21
|
+
export function createTableColumn(options) {
|
|
22
|
+
const {
|
|
23
|
+
columnId,
|
|
24
|
+
renderCell = defaultRenderCell,
|
|
25
|
+
renderHeaderCell = defaultRenderHeaderCell,
|
|
26
|
+
compare = defaultCompare
|
|
27
|
+
} = options;
|
|
28
|
+
return {
|
|
29
|
+
columnId,
|
|
30
|
+
renderCell,
|
|
31
|
+
renderHeaderCell,
|
|
32
|
+
compare
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=createColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAEA,MAAMA,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAMC,iBAAiB,GAAG,MAAK;EAC7B,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC;IACAC,OAAO,CAACC,IAAI,CAAC,+FAA+F,CAAC;;EAG/G,OAAO,IAAI;AACb,CAAC;AAED,MAAMC,uBAAuB,GAAG,MAAK;EACnC,IAAIL,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC;IACAC,OAAO,CAACC,IAAI,CAAC,qGAAqG,CAAC;;EAGrH,OAAO,IAAI;AACb,CAAC;AAED;;;;;AAKA,OAAM,SAAUE,iBAAiB,CAAQC,OAAwC;EAC/E,MAAM;IACJC,QAAQ;IACRC,UAAU,GAAGV,iBAAiB;IAC9BW,gBAAgB,GAAGL,uBAAuB;IAC1CM,OAAO,GAAGb;EAAc,CACzB,GAAGS,OAAO;EAEX,OAAO;IACLC,QAAQ;IACRC,UAAU;IACVC,gBAAgB;IAChBC;GACD;AACH","names":["defaultCompare","defaultRenderCell","process","env","NODE_ENV","console","warn","defaultRenderHeaderCell","createTableColumn","options","columnId","renderCell","renderHeaderCell","compare"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/createColumn.ts"],"sourcesContent":["import { CreateTableColumnOptions } 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 createTableColumn<TItem>(options: CreateTableColumnOptions<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"]}
|
package/lib/hooks/index.js
CHANGED
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './types';\nexport * from './useTableFeatures';\nexport * from './useTableSort';\nexport * from './useTableSelection';\nexport * from './createColumn';\n"]}
|
|
@@ -2,48 +2,38 @@ export function createSelectionManager(mode, onSelectionChange = () => undefined
|
|
|
2
2
|
const managerFactory = mode === 'multiselect' ? createMultipleSelectionManager : createSingleSelectionManager;
|
|
3
3
|
return managerFactory(onSelectionChange);
|
|
4
4
|
}
|
|
5
|
-
|
|
6
5
|
function createMultipleSelectionManager(onSelectionChange) {
|
|
7
|
-
const toggleAllItems = (itemIds, selectedItems) => {
|
|
6
|
+
const toggleAllItems = (e, itemIds, selectedItems) => {
|
|
8
7
|
const allItemsSelected = itemIds.every(itemId => selectedItems.has(itemId));
|
|
9
|
-
|
|
10
8
|
if (allItemsSelected) {
|
|
11
9
|
selectedItems.clear();
|
|
12
10
|
} else {
|
|
13
11
|
itemIds.forEach(itemId => selectedItems.add(itemId));
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
onSelectionChange(new Set(selectedItems));
|
|
13
|
+
onSelectionChange(e, new Set(selectedItems));
|
|
17
14
|
};
|
|
18
|
-
|
|
19
|
-
const toggleItem = (itemId, selectedItems) => {
|
|
15
|
+
const toggleItem = (e, itemId, selectedItems) => {
|
|
20
16
|
if (selectedItems.has(itemId)) {
|
|
21
17
|
selectedItems.delete(itemId);
|
|
22
18
|
} else {
|
|
23
19
|
selectedItems.add(itemId);
|
|
24
20
|
}
|
|
25
|
-
|
|
26
|
-
onSelectionChange(new Set(selectedItems));
|
|
21
|
+
onSelectionChange(e, new Set(selectedItems));
|
|
27
22
|
};
|
|
28
|
-
|
|
29
|
-
const selectItem = (itemId, selectedItems) => {
|
|
23
|
+
const selectItem = (e, itemId, selectedItems) => {
|
|
30
24
|
selectedItems.add(itemId);
|
|
31
|
-
onSelectionChange(new Set(selectedItems));
|
|
25
|
+
onSelectionChange(e, new Set(selectedItems));
|
|
32
26
|
};
|
|
33
|
-
|
|
34
|
-
const deselectItem = (itemId, selectedItems) => {
|
|
27
|
+
const deselectItem = (e, itemId, selectedItems) => {
|
|
35
28
|
selectedItems.delete(itemId);
|
|
36
|
-
onSelectionChange(new Set(selectedItems));
|
|
29
|
+
onSelectionChange(e, new Set(selectedItems));
|
|
37
30
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
onSelectionChange(new Set());
|
|
31
|
+
const clearItems = e => {
|
|
32
|
+
onSelectionChange(e, new Set());
|
|
41
33
|
};
|
|
42
|
-
|
|
43
34
|
const isSelected = (itemId, selectedItems) => {
|
|
44
35
|
return selectedItems.has(itemId);
|
|
45
36
|
};
|
|
46
|
-
|
|
47
37
|
return {
|
|
48
38
|
toggleItem,
|
|
49
39
|
selectItem,
|
|
@@ -53,24 +43,19 @@ function createMultipleSelectionManager(onSelectionChange) {
|
|
|
53
43
|
toggleAllItems
|
|
54
44
|
};
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
function createSingleSelectionManager(onSelectionChange) {
|
|
58
|
-
const toggleItem = itemId => {
|
|
59
|
-
onSelectionChange(new Set([itemId]));
|
|
47
|
+
const toggleItem = (e, itemId) => {
|
|
48
|
+
onSelectionChange(e, new Set([itemId]));
|
|
60
49
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onSelectionChange(new Set());
|
|
50
|
+
const clearItems = e => {
|
|
51
|
+
onSelectionChange(e, new Set());
|
|
64
52
|
};
|
|
65
|
-
|
|
66
53
|
const isSelected = (itemId, selectedItems) => {
|
|
67
54
|
return selectedItems.has(itemId);
|
|
68
55
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
onSelectionChange(new Set([itemId]));
|
|
56
|
+
const selectItem = (e, itemId) => {
|
|
57
|
+
onSelectionChange(e, new Set([itemId]));
|
|
72
58
|
};
|
|
73
|
-
|
|
74
59
|
return {
|
|
75
60
|
deselectItem: clearItems,
|
|
76
61
|
selectItem,
|
|
@@ -78,7 +63,6 @@ function createSingleSelectionManager(onSelectionChange) {
|
|
|
78
63
|
if (process.env.NODE_ENV !== 'production') {
|
|
79
64
|
throw new Error('[react-table]: `toggleAllItems` should not be used in single selection mode');
|
|
80
65
|
}
|
|
81
|
-
|
|
82
66
|
return undefined;
|
|
83
67
|
},
|
|
84
68
|
toggleItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"mappings":"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","names":["createSelectionManager","mode","onSelectionChange","undefined","managerFactory","createMultipleSelectionManager","createSingleSelectionManager","toggleAllItems","e","itemIds","selectedItems","allItemsSelected","every","itemId","has","clear","forEach","add","Set","toggleItem","delete","selectItem","deselectItem","clearItems","isSelected","process","env","NODE_ENV","Error"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/selectionManager.ts"],"sourcesContent":["import * as React from 'react';\nimport { SelectionMode } from './types';\n\ntype OnSelectionChangeCallback = (e: React.SyntheticEvent, selectedItems: Set<SelectionItemId>) => void;\n\nexport interface SelectionManager {\n toggleItem(e: React.SyntheticEvent, id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n selectItem(e: React.SyntheticEvent, id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n deselectItem(e: React.SyntheticEvent, id: SelectionItemId, selectedItems: Set<SelectionItemId>): void;\n clearItems(e: React.SyntheticEvent): void;\n isSelected(id: SelectionItemId, selectedItems: Set<SelectionItemId>): boolean;\n toggleAllItems(e: React.SyntheticEvent, 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: SelectionManager['toggleAllItems'] = (e, itemIds, selectedItems) => {\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(e, new Set(selectedItems));\n };\n\n const toggleItem: SelectionManager['toggleItem'] = (e, itemId, selectedItems) => {\n if (selectedItems.has(itemId)) {\n selectedItems.delete(itemId);\n } else {\n selectedItems.add(itemId);\n }\n\n onSelectionChange(e, new Set(selectedItems));\n };\n\n const selectItem: SelectionManager['selectItem'] = (e, itemId, selectedItems) => {\n selectedItems.add(itemId);\n onSelectionChange(e, new Set(selectedItems));\n };\n\n const deselectItem: SelectionManager['deselectItem'] = (e, itemId, selectedItems) => {\n selectedItems.delete(itemId);\n onSelectionChange(e, new Set(selectedItems));\n };\n\n const clearItems: SelectionManager['clearItems'] = e => {\n onSelectionChange(e, 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: SelectionManager['toggleItem'] = (e, itemId) => {\n onSelectionChange(e, new Set([itemId]));\n };\n\n const clearItems: SelectionManager['clearItems'] = e => {\n onSelectionChange(e, new Set<SelectionItemId>());\n };\n\n const isSelected = (itemId: SelectionItemId, selectedItems: Set<SelectionItemId>) => {\n return selectedItems.has(itemId);\n };\n\n const selectItem: SelectionManager['selectItem'] = (e, itemId) => {\n onSelectionChange(e, 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"]}
|
package/lib/hooks/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"../src/","sources":["hooks/types.ts"],"names":[],"mappings":"","sourcesContent":["import { SortDirection } from '../components/Table/Table.types';\n\nexport type
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport { SortDirection } from '../components/Table/Table.types';\n\nexport type TableRowId = string | number;\nexport type TableColumnId = string | number;\nexport type SelectionMode = 'single' | 'multiselect';\n\nexport interface SortState {\n sortColumn: TableColumnId | undefined;\n sortDirection: SortDirection;\n}\n\nexport interface OnSelectionChangeData {\n selectedItems: Set<TableRowId>;\n}\n\nexport interface CreateTableColumnOptions<TItem> extends Partial<TableColumnDefinition<TItem>> {\n columnId: TableColumnId;\n}\n\nexport interface TableColumnDefinition<TItem> {\n columnId: TableColumnId;\n compare: (a: TItem, b: TItem) => number;\n renderHeaderCell: () => React.ReactNode;\n renderCell: (item: TItem) => React.ReactNode;\n}\n\nexport type RowEnhancer<TItem, TRowState extends TableRowData<TItem> = TableRowData<TItem>> = (\n row: TableRowData<TItem>,\n) => TRowState;\n\nexport interface TableSortState<TItem> {\n /**\n * Current sort direction\n */\n sortDirection: SortDirection;\n /**\n * Column id of the currently sorted column\n */\n sortColumn: TableColumnId | undefined;\n /**\n * Set the sort direction for the specified column\n */\n setColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId, sortDirection: SortDirection) => void;\n /**\n * Toggles the sort direction for specified column\n */\n toggleColumnSort: (event: React.SyntheticEvent, columnId: TableColumnId) => void;\n /**\n * Returns the sort direction if a column is sorted,\n * returns undefined if the column is not sorted\n */\n getSortDirection: (columnId: TableColumnId) => SortDirection | undefined;\n\n /**\n * Sorts rows and returns a **shallow** copy of original items\n */\n sort: <TRowState extends TableRowData<TItem>>(rows: TRowState[]) => TRowState[];\n}\n\nexport interface TableSelectionState {\n /**\n * Clears all selected rows\n */\n clearRows: (e: React.SyntheticEvent) => void;\n /**\n * Selects single row\n */\n selectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * De-selects single row\n */\n deselectRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Toggle selection of all rows\n */\n toggleAllRows: (e: React.SyntheticEvent) => void;\n /**\n * Toggle selection of single row\n */\n toggleRow: (e: React.SyntheticEvent, rowId: TableRowId) => void;\n /**\n * Collection of row ids corresponding to selected rows\n */\n selectedRows: Set<TableRowId>;\n /**\n * Whether all rows are selected\n */\n allRowsSelected: boolean;\n /**\n * Whether some rows are selected\n */\n someRowsSelected: boolean;\n\n /**\n * Checks if a given rowId is selected\n */\n isRowSelected: (rowId: TableRowId) => boolean;\n\n selectionMode: SelectionMode;\n}\n\nexport interface TableRowData<TItem> {\n /**\n * User provided data\n */\n item: TItem;\n /**\n * The row id, defaults to index position in the collection\n */\n rowId: TableRowId;\n}\n\nexport interface TableFeaturesState<TItem> extends Pick<UseTableFeaturesOptions<TItem>, 'items' | 'getRowId'> {\n /**\n * The row data for rendering\n * @param rowEnhancer - Enhances the row with extra user data\n */\n getRows: <TRowState extends TableRowData<TItem> = TableRowData<TItem>>(\n rowEnhancer?: RowEnhancer<TItem, TRowState>,\n ) => TRowState[];\n /**\n * State and actions to manage row selection\n */\n selection: TableSelectionState;\n /**\n * State and actions to manage row sorting\n */\n sort: TableSortState<TItem>;\n /**\n * Table columns\n */\n columns: TableColumnDefinition<TItem>[];\n}\n\nexport interface UseTableSortOptions {\n /**\n * Used to control sorting\n */\n sortState?: SortState;\n /**\n * Used in uncontrolled mode to set initial sort column and direction on mount\n */\n defaultSortState?: SortState;\n /**\n * Called when sort changes\n */\n onSortChange?(e: React.SyntheticEvent, state: SortState): void;\n}\n\nexport interface UseTableSelectionOptions {\n /**\n * Can be multi or single select\n */\n selectionMode: SelectionMode;\n /**\n * Used in uncontrolled mode to set initial selected rows on mount\n */\n defaultSelectedItems?: Set<TableRowId>;\n /**\n * Used to control row selection\n */\n selectedItems?: Set<TableRowId>;\n /**\n * Called when selection changes\n */\n onSelectionChange?(e: React.SyntheticEvent, data: OnSelectionChangeData): void;\n}\n\nexport interface UseTableFeaturesOptions<TItem> {\n columns: TableColumnDefinition<TItem>[];\n items: TItem[];\n getRowId?: (item: TItem) => TableRowId;\n}\n\nexport type TableFeaturePlugin = <TItem>(tableState: TableFeaturesState<TItem>) => TableFeaturesState<TItem>;\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { defaultTableSelectionState } from './useTableSelection';
|
|
2
|
+
import { defaultTableSortState } from './useTableSort';
|
|
3
|
+
const defaultRowEnhancer = row => row;
|
|
4
|
+
export const defaultTableState = {
|
|
5
|
+
selection: defaultTableSelectionState,
|
|
6
|
+
sort: defaultTableSortState,
|
|
7
|
+
getRows: () => [],
|
|
8
|
+
getRowId: () => '',
|
|
9
|
+
items: [],
|
|
10
|
+
columns: []
|
|
11
|
+
};
|
|
12
|
+
export function useTableFeatures(options, plugins = []) {
|
|
13
|
+
const {
|
|
14
|
+
items,
|
|
15
|
+
getRowId,
|
|
16
|
+
columns
|
|
17
|
+
} = options;
|
|
18
|
+
const getRows = (rowEnhancer = defaultRowEnhancer) => items.map((item, i) => {
|
|
19
|
+
var _a;
|
|
20
|
+
return rowEnhancer({
|
|
21
|
+
item,
|
|
22
|
+
rowId: (_a = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _a !== void 0 ? _a : i
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const initialState = {
|
|
26
|
+
getRowId,
|
|
27
|
+
items,
|
|
28
|
+
columns,
|
|
29
|
+
getRows,
|
|
30
|
+
selection: defaultTableSelectionState,
|
|
31
|
+
sort: defaultTableSortState
|
|
32
|
+
};
|
|
33
|
+
return plugins.reduce((state, plugin) => plugin(state), initialState);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=useTableFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAQA,SAASA,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,qBAAqB,QAAQ,gBAAgB;AAEtD,MAAMC,kBAAkB,GAAgDC,GAAG,IAAIA,GAAG;AAElF,OAAO,MAAMC,iBAAiB,GAAgC;EAC5DC,SAAS,EAAEL,0BAA0B;EACrCM,IAAI,EAAEL,qBAAqB;EAC3BM,OAAO,EAAE,MAAM,EAAE;EACjBC,QAAQ,EAAE,MAAM,EAAE;EAClBC,KAAK,EAAE,EAAE;EACTC,OAAO,EAAE;CACV;AAED,OAAM,SAAUC,gBAAgB,CAC9BC,OAAuC,EACvCC,UAAgC,EAAE;EAElC,MAAM;IAAEJ,KAAK;IAAED,QAAQ;IAAEE;EAAO,CAAE,GAAGE,OAAO;EAE5C,MAAML,OAAO,GAAG,CACdO,cAAcZ,kBAAmD,KAC9DO,KAAK,CAACM,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAI;IAAA;IAAC,kBAAW,CAAC;MAAED,IAAI;MAAEE,KAAK,EAAE,cAAQ,aAARV,QAAQ,uBAARA,QAAQ,CAAGQ,IAAI,CAAC,mCAAIC;IAAC,CAAE,CAAC;EAAA,EAAC;EAEhF,MAAME,YAAY,GAA8B;IAC9CX,QAAQ;IACRC,KAAK;IACLC,OAAO;IACPH,OAAO;IACPF,SAAS,EAAEL,0BAA0B;IACrCM,IAAI,EAAEL;GACP;EAED,OAAOY,OAAO,CAACO,MAAM,CAAC,CAACC,KAAK,EAAEC,MAAM,KAAKA,MAAM,CAACD,KAAK,CAAC,EAAEF,YAAY,CAAC;AACvE","names":["defaultTableSelectionState","defaultTableSortState","defaultRowEnhancer","row","defaultTableState","selection","sort","getRows","getRowId","items","columns","useTableFeatures","options","plugins","rowEnhancer","map","item","i","rowId","initialState","reduce","state","plugin"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableFeatures.ts"],"sourcesContent":["import type {\n UseTableFeaturesOptions,\n TableFeaturesState,\n TableRowData,\n RowEnhancer,\n TableFeaturePlugin,\n TableSortState,\n} from './types';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\n\nconst defaultRowEnhancer: RowEnhancer<unknown, TableRowData<unknown>> = row => row;\n\nexport const defaultTableState: TableFeaturesState<unknown> = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: () => [],\n getRowId: () => '',\n items: [],\n columns: [],\n};\n\nexport function useTableFeatures<TItem>(\n options: UseTableFeaturesOptions<TItem>,\n plugins: TableFeaturePlugin[] = [],\n): TableFeaturesState<TItem> {\n const { items, getRowId, columns } = options;\n\n const getRows = <TRowState extends TableRowData<TItem>>(\n rowEnhancer = defaultRowEnhancer as RowEnhancer<TItem, TRowState>,\n ) => items.map((item, i) => rowEnhancer({ item, rowId: getRowId?.(item) ?? i }));\n\n const initialState: TableFeaturesState<TItem> = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState as TableSortState<TItem>,\n };\n\n return plugins.reduce((state, plugin) => plugin(state), initialState);\n}\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useControllableState, useEventCallback } from '@fluentui/react-utilities';
|
|
3
|
+
import { createSelectionManager } from './selectionManager';
|
|
4
|
+
const noop = () => undefined;
|
|
5
|
+
export const defaultTableSelectionState = {
|
|
6
|
+
allRowsSelected: false,
|
|
7
|
+
clearRows: noop,
|
|
8
|
+
deselectRow: noop,
|
|
9
|
+
isRowSelected: () => false,
|
|
10
|
+
selectRow: noop,
|
|
11
|
+
selectedRows: /*#__PURE__*/new Set(),
|
|
12
|
+
someRowsSelected: false,
|
|
13
|
+
toggleAllRows: noop,
|
|
14
|
+
toggleRow: noop,
|
|
15
|
+
selectionMode: 'multiselect'
|
|
16
|
+
};
|
|
17
|
+
export function useTableSelection(options) {
|
|
18
|
+
// False positive, these plugin hooks are intended to be run on every render
|
|
19
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
20
|
+
return tableState => useTableSelectionState(tableState, options);
|
|
21
|
+
}
|
|
22
|
+
export function useTableSelectionState(tableState, options) {
|
|
23
|
+
const {
|
|
24
|
+
items,
|
|
25
|
+
getRowId
|
|
26
|
+
} = tableState;
|
|
27
|
+
const {
|
|
28
|
+
selectionMode,
|
|
29
|
+
defaultSelectedItems,
|
|
30
|
+
selectedItems,
|
|
31
|
+
onSelectionChange
|
|
32
|
+
} = options;
|
|
33
|
+
const [selected, setSelected] = useControllableState({
|
|
34
|
+
initialState: new Set(),
|
|
35
|
+
defaultState: defaultSelectedItems,
|
|
36
|
+
state: selectedItems
|
|
37
|
+
});
|
|
38
|
+
const selectionManager = React.useMemo(() => {
|
|
39
|
+
return createSelectionManager(selectionMode, (e, newSelectedItems) => {
|
|
40
|
+
setSelected(() => {
|
|
41
|
+
onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, {
|
|
42
|
+
selectedItems: newSelectedItems
|
|
43
|
+
});
|
|
44
|
+
return newSelectedItems;
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}, [onSelectionChange, selectionMode, setSelected]);
|
|
48
|
+
const toggleAllRows = useEventCallback(e => {
|
|
49
|
+
selectionManager.toggleAllItems(e, items.map((item, i) => {
|
|
50
|
+
var _a;
|
|
51
|
+
return (_a = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _a !== void 0 ? _a : i;
|
|
52
|
+
}), selected);
|
|
53
|
+
});
|
|
54
|
+
const toggleRow = useEventCallback((e, rowId) => selectionManager.toggleItem(e, rowId, selected));
|
|
55
|
+
const deselectRow = useEventCallback((e, rowId) => selectionManager.deselectItem(e, rowId, selected));
|
|
56
|
+
const selectRow = useEventCallback((e, rowId) => selectionManager.selectItem(e, rowId, selected));
|
|
57
|
+
const isRowSelected = rowId => selectionManager.isSelected(rowId, selected);
|
|
58
|
+
return {
|
|
59
|
+
...tableState,
|
|
60
|
+
selection: {
|
|
61
|
+
selectionMode,
|
|
62
|
+
someRowsSelected: selected.size > 0,
|
|
63
|
+
allRowsSelected: selectionMode === 'single' ? selected.size > 0 : selected.size === items.length,
|
|
64
|
+
selectedRows: selected,
|
|
65
|
+
toggleRow,
|
|
66
|
+
toggleAllRows,
|
|
67
|
+
clearRows: selectionManager.clearItems,
|
|
68
|
+
deselectRow,
|
|
69
|
+
selectRow,
|
|
70
|
+
isRowSelected
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=useTableSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,2BAA2B;AAClF,SAASC,sBAAsB,QAAQ,oBAAoB;AAG3D,MAAMC,IAAI,GAAG,MAAMC,SAAS;AAE5B,OAAO,MAAMC,0BAA0B,GAAwB;EAC7DC,eAAe,EAAE,KAAK;EACtBC,SAAS,EAAEJ,IAAI;EACfK,WAAW,EAAEL,IAAI;EACjBM,aAAa,EAAE,MAAM,KAAK;EAC1BC,SAAS,EAAEP,IAAI;EACfQ,YAAY,eAAE,IAAIC,GAAG,EAAE;EACvBC,gBAAgB,EAAE,KAAK;EACvBC,aAAa,EAAEX,IAAI;EACnBY,SAAS,EAAEZ,IAAI;EACfa,aAAa,EAAE;CAChB;AAED,OAAM,SAAUC,iBAAiB,CAAQC,OAAiC;EACxE;EACA;EACA,OAAQC,UAAqC,IAAKC,sBAAsB,CAACD,UAAU,EAAED,OAAO,CAAC;AAC/F;AAEA,OAAM,SAAUE,sBAAsB,CACpCD,UAAqC,EACrCD,OAAiC;EAEjC,MAAM;IAAEG,KAAK;IAAEC;EAAQ,CAAE,GAAGH,UAAU;EACtC,MAAM;IAAEH,aAAa;IAAEO,oBAAoB;IAAEC,aAAa;IAAEC;EAAiB,CAAE,GAAGP,OAAO;EAEzF,MAAM,CAACQ,QAAQ,EAAEC,WAAW,CAAC,GAAG3B,oBAAoB,CAAC;IACnD4B,YAAY,EAAE,IAAIhB,GAAG,EAAc;IACnCiB,YAAY,EAAEN,oBAAoB;IAClCO,KAAK,EAAEN;GACR,CAAC;EAEF,MAAMO,gBAAgB,GAAGhC,KAAK,CAACiC,OAAO,CAAC,MAAK;IAC1C,OAAO9B,sBAAsB,CAACc,aAAa,EAAE,CAACiB,CAAC,EAAEC,gBAAgB,KAAI;MACnEP,WAAW,CAAC,MAAK;QACfF,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAGQ,CAAyB,EAAE;UAAET,aAAa,EAAEU;QAAgB,CAAE,CAAC;QACnF,OAAOA,gBAAgB;MACzB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EAAE,CAACT,iBAAiB,EAAET,aAAa,EAAEW,WAAW,CAAC,CAAC;EAEnD,MAAMb,aAAa,GAAyCb,gBAAgB,CAACgC,CAAC,IAAG;IAC/EF,gBAAgB,CAACI,cAAc,CAC7BF,CAAC,EACDZ,KAAK,CAACe,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAI;MAAA;MAAC,qBAAQ,aAARhB,QAAQ,uBAARA,QAAQ,CAAGe,IAAI,CAAC,mCAAIC,CAAC;IAAA,EAAC,EAC7CZ,QAAQ,CACT;EACH,CAAC,CAAC;EAEF,MAAMX,SAAS,GAAqCd,gBAAgB,CAAC,CAACgC,CAAC,EAAEM,KAAiB,KACxFR,gBAAgB,CAACS,UAAU,CAACP,CAAC,EAAEM,KAAK,EAAEb,QAAQ,CAAC,CAChD;EAED,MAAMlB,WAAW,GAAuCP,gBAAgB,CAAC,CAACgC,CAAC,EAAEM,KAAiB,KAC5FR,gBAAgB,CAACU,YAAY,CAACR,CAAC,EAAEM,KAAK,EAAEb,QAAQ,CAAC,CAClD;EAED,MAAMhB,SAAS,GAAqCT,gBAAgB,CAAC,CAACgC,CAAC,EAAEM,KAAiB,KACxFR,gBAAgB,CAACW,UAAU,CAACT,CAAC,EAAEM,KAAK,EAAEb,QAAQ,CAAC,CAChD;EAED,MAAMjB,aAAa,GAA0C8B,KAAiB,IAC5ER,gBAAgB,CAACY,UAAU,CAACJ,KAAK,EAAEb,QAAQ,CAAC;EAE9C,OAAO;IACL,GAAGP,UAAU;IACbyB,SAAS,EAAE;MACT5B,aAAa;MACbH,gBAAgB,EAAEa,QAAQ,CAACmB,IAAI,GAAG,CAAC;MACnCvC,eAAe,EAAEU,aAAa,KAAK,QAAQ,GAAGU,QAAQ,CAACmB,IAAI,GAAG,CAAC,GAAGnB,QAAQ,CAACmB,IAAI,KAAKxB,KAAK,CAACyB,MAAM;MAChGnC,YAAY,EAAEe,QAAQ;MACtBX,SAAS;MACTD,aAAa;MACbP,SAAS,EAAEwB,gBAAgB,CAACgB,UAAU;MACtCvC,WAAW;MACXE,SAAS;MACTD;;GAEH;AACH","names":["React","useControllableState","useEventCallback","createSelectionManager","noop","undefined","defaultTableSelectionState","allRowsSelected","clearRows","deselectRow","isRowSelected","selectRow","selectedRows","Set","someRowsSelected","toggleAllRows","toggleRow","selectionMode","useTableSelection","options","tableState","useTableSelectionState","items","getRowId","defaultSelectedItems","selectedItems","onSelectionChange","selected","setSelected","initialState","defaultState","state","selectionManager","useMemo","e","newSelectedItems","toggleAllItems","map","item","i","rowId","toggleItem","deselectItem","selectItem","isSelected","selection","size","length","clearItems"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableSelection.ts"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { createSelectionManager } from './selectionManager';\nimport type { TableRowId, TableSelectionState, TableFeaturesState, UseTableSelectionOptions } 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 selectionMode: 'multiselect',\n};\n\nexport function useTableSelection<TItem>(options: UseTableSelectionOptions) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState: TableFeaturesState<TItem>) => useTableSelectionState(tableState, options);\n}\n\nexport function useTableSelectionState<TItem>(\n tableState: TableFeaturesState<TItem>,\n options: UseTableSelectionOptions,\n): TableFeaturesState<TItem> {\n const { items, getRowId } = tableState;\n const { selectionMode, defaultSelectedItems, selectedItems, onSelectionChange } = options;\n\n const [selected, setSelected] = useControllableState({\n initialState: new Set<TableRowId>(),\n defaultState: defaultSelectedItems,\n state: selectedItems,\n });\n\n const selectionManager = React.useMemo(() => {\n return createSelectionManager(selectionMode, (e, newSelectedItems) => {\n setSelected(() => {\n onSelectionChange?.(e as React.SyntheticEvent, { selectedItems: newSelectedItems });\n return newSelectedItems;\n });\n });\n }, [onSelectionChange, selectionMode, setSelected]);\n\n const toggleAllRows: TableSelectionState['toggleAllRows'] = useEventCallback(e => {\n selectionManager.toggleAllItems(\n e,\n items.map((item, i) => getRowId?.(item) ?? i),\n selected,\n );\n });\n\n const toggleRow: TableSelectionState['toggleRow'] = useEventCallback((e, rowId: TableRowId) =>\n selectionManager.toggleItem(e, rowId, selected),\n );\n\n const deselectRow: TableSelectionState['deselectRow'] = useEventCallback((e, rowId: TableRowId) =>\n selectionManager.deselectItem(e, rowId, selected),\n );\n\n const selectRow: TableSelectionState['selectRow'] = useEventCallback((e, rowId: TableRowId) =>\n selectionManager.selectItem(e, rowId, selected),\n );\n\n const isRowSelected: TableSelectionState['isRowSelected'] = (rowId: TableRowId) =>\n selectionManager.isSelected(rowId, selected);\n\n return {\n ...tableState,\n selection: {\n selectionMode,\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"]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { useControllableState } from '@fluentui/react-utilities';
|
|
2
|
+
const noop = () => undefined;
|
|
3
|
+
export const defaultTableSortState = {
|
|
4
|
+
getSortDirection: () => 'ascending',
|
|
5
|
+
setColumnSort: noop,
|
|
6
|
+
sort: rows => [...rows],
|
|
7
|
+
sortColumn: undefined,
|
|
8
|
+
sortDirection: 'ascending',
|
|
9
|
+
toggleColumnSort: noop
|
|
10
|
+
};
|
|
11
|
+
export function useTableSort(options) {
|
|
12
|
+
// False positive, these plugin hooks are intended to be run on every render
|
|
13
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
14
|
+
return tableState => useTableSortState(tableState, options);
|
|
15
|
+
}
|
|
16
|
+
export function useTableSortState(tableState, options) {
|
|
17
|
+
const {
|
|
18
|
+
columns
|
|
19
|
+
} = tableState;
|
|
20
|
+
const {
|
|
21
|
+
sortState,
|
|
22
|
+
defaultSortState,
|
|
23
|
+
onSortChange
|
|
24
|
+
} = options;
|
|
25
|
+
const [sorted, setSorted] = useControllableState({
|
|
26
|
+
initialState: {
|
|
27
|
+
sortDirection: 'ascending',
|
|
28
|
+
sortColumn: undefined
|
|
29
|
+
},
|
|
30
|
+
defaultState: defaultSortState,
|
|
31
|
+
state: sortState
|
|
32
|
+
});
|
|
33
|
+
const {
|
|
34
|
+
sortColumn,
|
|
35
|
+
sortDirection
|
|
36
|
+
} = sorted;
|
|
37
|
+
const toggleColumnSort = (e, columnId) => {
|
|
38
|
+
setSorted(s => {
|
|
39
|
+
const newState = {
|
|
40
|
+
...s,
|
|
41
|
+
sortColumn: columnId
|
|
42
|
+
};
|
|
43
|
+
if (s.sortColumn === columnId) {
|
|
44
|
+
newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';
|
|
45
|
+
} else {
|
|
46
|
+
newState.sortDirection = 'ascending';
|
|
47
|
+
}
|
|
48
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
|
|
49
|
+
return newState;
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const setColumnSort = (e, nextSortColumn, nextSortDirection) => {
|
|
53
|
+
const newState = {
|
|
54
|
+
sortColumn: nextSortColumn,
|
|
55
|
+
sortDirection: nextSortDirection
|
|
56
|
+
};
|
|
57
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);
|
|
58
|
+
setSorted(newState);
|
|
59
|
+
};
|
|
60
|
+
const sort = rows => {
|
|
61
|
+
return rows.slice().sort((a, b) => {
|
|
62
|
+
const sortColumnDef = columns.find(column => column.columnId === sortColumn);
|
|
63
|
+
if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
const mod = sortDirection === 'ascending' ? 1 : -1;
|
|
67
|
+
return sortColumnDef.compare(a.item, b.item) * mod;
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
const getSortDirection = columnId => {
|
|
71
|
+
return sortColumn === columnId ? sortDirection : undefined;
|
|
72
|
+
};
|
|
73
|
+
return {
|
|
74
|
+
...tableState,
|
|
75
|
+
sort: {
|
|
76
|
+
sort,
|
|
77
|
+
sortColumn,
|
|
78
|
+
sortDirection,
|
|
79
|
+
setColumnSort,
|
|
80
|
+
toggleColumnSort,
|
|
81
|
+
getSortDirection
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=useTableSort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"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","names":["useControllableState","noop","undefined","defaultTableSortState","getSortDirection","setColumnSort","sort","rows","sortColumn","sortDirection","toggleColumnSort","useTableSort","options","tableState","useTableSortState","columns","sortState","defaultSortState","onSortChange","sorted","setSorted","initialState","defaultState","state","e","columnId","s","newState","nextSortColumn","nextSortDirection","slice","a","b","sortColumnDef","find","column","compare","mod","item"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/hooks/useTableSort.ts"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState } from '@fluentui/react-utilities';\nimport type {\n TableColumnId,\n TableRowData,\n SortState,\n TableSortState,\n TableFeaturesState,\n UseTableSortOptions,\n} from './types';\n\nconst noop = () => undefined;\n\nexport const defaultTableSortState: TableSortState<unknown> = {\n getSortDirection: () => 'ascending',\n setColumnSort: noop,\n sort: <TRowState extends TableRowData<unknown>>(rows: TRowState[]) => [...rows],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop,\n};\n\nexport function useTableSort<TItem>(options: UseTableSortOptions) {\n // False positive, these plugin hooks are intended to be run on every render\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (tableState: TableFeaturesState<TItem>) => useTableSortState(tableState, options);\n}\n\nexport function useTableSortState<TItem>(\n tableState: TableFeaturesState<TItem>,\n options: UseTableSortOptions,\n): TableFeaturesState<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 = (e: React.SyntheticEvent, columnId: TableColumnId | 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?.(e, newState);\n return newState;\n });\n };\n\n const setColumnSort: TableSortState<TItem>['setColumnSort'] = (e, nextSortColumn, nextSortDirection) => {\n const newState = { sortColumn: nextSortColumn, sortDirection: nextSortDirection };\n onSortChange?.(e, newState);\n setSorted(newState);\n };\n\n const sort = <TRowState extends TableRowData<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: TableColumnId) => {\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"]}
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { useTableFeatures, useTableSelection, useTableSort, createTableColumn } from './hooks';
|
|
2
2
|
export { TableCell, tableCellClassNames, tableCellClassName, useTableCellStyles_unstable, useTableCell_unstable, renderTableCell_unstable } from './TableCell';
|
|
3
3
|
export { TableRow, tableRowClassNames, tableRowClassName, useTableRowStyles_unstable, useTableRow_unstable, renderTableRow_unstable } from './TableRow';
|
|
4
4
|
export { TableBody, tableBodyClassName, tableBodyClassNames, useTableBodyStyles_unstable, useTableBody_unstable, renderTableBody_unstable } from './TableBody';
|
|
@@ -6,7 +6,15 @@ export { Table, tableClassName, tableClassNames, useTableStyles_unstable, useTab
|
|
|
6
6
|
export { TableHeader, tableHeaderClassNames, tableHeaderClassName, useTableHeaderStyles_unstable, useTableHeader_unstable, renderTableHeader_unstable } from './TableHeader';
|
|
7
7
|
export { TableHeaderCell, tableHeaderCellClassName, tableHeaderCellClassNames, useTableHeaderCellStyles_unstable, useTableHeaderCell_unstable, renderTableHeaderCell_unstable } from './TableHeaderCell';
|
|
8
8
|
export { TableContextProvider, useTableContext } from './contexts/tableContext';
|
|
9
|
+
export { useTableRowIdContext, TableRowIdContextProvider } from './contexts/rowIdContext';
|
|
9
10
|
export { TableSelectionCell, useTableSelectionCellStyles_unstable, useTableSelectionCell_unstable, renderTableSelectionCell_unstable, tableSelectionCellClassNames } from './TableSelectionCell';
|
|
10
11
|
export { TableCellActions, tableCellActionsClassNames, useTableCellActionsStyles_unstable, useTableCellActions_unstable, renderTableCellActions_unstable } from './TableCellActions';
|
|
11
12
|
export { TableCellLayout, tableCellLayoutClassNames, useTableCellLayoutStyles_unstable, useTableCellLayout_unstable, renderTableCellLayout_unstable } from './TableCellLayout';
|
|
13
|
+
export { DataGridCell, dataGridCellClassNames, useDataGridCellStyles_unstable, useDataGridCell_unstable, renderDataGridCell_unstable } from './DataGridCell';
|
|
14
|
+
export { DataGridRow, dataGridRowClassNames, useDataGridRowStyles_unstable, useDataGridRow_unstable, renderDataGridRow_unstable } from './DataGridRow';
|
|
15
|
+
export { DataGridBody, dataGridBodyClassNames, useDataGridBodyStyles_unstable, useDataGridBody_unstable, renderDataGridBody_unstable } from './DataGridBody';
|
|
16
|
+
export { DataGrid, dataGridClassNames, useDataGridStyles_unstable, useDataGrid_unstable, renderDataGrid_unstable } from './DataGrid';
|
|
17
|
+
export { DataGridHeader, dataGridHeaderClassNames, useDataGridHeaderStyles_unstable, useDataGridHeader_unstable, renderDataGridHeader_unstable } from './DataGridHeader';
|
|
18
|
+
export { DataGridHeaderCell, dataGridHeaderCellClassNames, useDataGridHeaderCellStyles_unstable, useDataGridHeaderCell_unstable, renderDataGridHeaderCell_unstable } from './DataGridHeaderCell';
|
|
19
|
+
export { DataGridSelectionCell, useDataGridSelectionCellStyles_unstable, useDataGridSelectionCell_unstable, renderDataGridSelectionCell_unstable, dataGridSelectionCellClassNames } from './DataGridSelectionCell';
|
|
12
20
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"mappings":"AAAA,SAASA,gBAAgB,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,iBAAiB,QAAQ,SAAS;AAc9F,SACEC,SAAS,EACTC,mBAAmB,EACnBC,kBAAkB,EAClBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,QAClB,YAAY;AAGnB,SACEC,SAAS,EACTC,kBAAkB,EAClBC,mBAAmB,EACnBC,2BAA2B,EAC3BC,qBAAqB,EACrBC,wBAAwB,QACnB,aAAa;AAGpB,SACEC,KAAK,EACLC,cAAc,EACdC,eAAe,EACfC,uBAAuB,EACvBC,iBAAiB,EACjBC,oBAAoB,QACf,SAAS;AAGhB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,oBAAoB,EACpBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,eAAe,EACfC,wBAAwB,EACxBC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SAASC,oBAAoB,EAAEC,eAAe,QAAQ,yBAAyB;AAC/E,SAASC,oBAAoB,EAAEC,yBAAyB,QAAQ,yBAAyB;AACzF,SACEC,kBAAkB,EAClBC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,EACjCC,4BAA4B,QACvB,sBAAsB;AAG7B,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,kCAAkC,EAClCC,4BAA4B,EAC5BC,+BAA+B,QAC1B,oBAAoB;AAG3B,SACEC,eAAe,EACfC,yBAAyB,EACzBC,iCAAiC,EACjCC,2BAA2B,EAC3BC,8BAA8B,QACzB,mBAAmB;AAG1B,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,WAAW,EACXC,qBAAqB,EACrBC,6BAA6B,EAC7BC,uBAAuB,EACvBC,0BAA0B,QACrB,eAAe;AAGtB,SACEC,YAAY,EACZC,sBAAsB,EACtBC,8BAA8B,EAC9BC,wBAAwB,EACxBC,2BAA2B,QACtB,gBAAgB;AAGvB,SACEC,QAAQ,EACRC,kBAAkB,EAClBC,0BAA0B,EAC1BC,oBAAoB,EACpBC,uBAAuB,QAClB,YAAY;AAUnB,SACEC,cAAc,EACdC,wBAAwB,EACxBC,gCAAgC,EAChCC,0BAA0B,EAC1BC,6BAA6B,QACxB,kBAAkB;AAGzB,SACEC,kBAAkB,EAClBC,4BAA4B,EAC5BC,oCAAoC,EACpCC,8BAA8B,EAC9BC,iCAAiC,QAC5B,sBAAsB;AAG7B,SACEC,qBAAqB,EACrBC,uCAAuC,EACvCC,iCAAiC,EACjCC,oCAAoC,EACpCC,+BAA+B,QAC1B,yBAAyB","names":["useTableFeatures","useTableSelection","useTableSort","createTableColumn","TableCell","tableCellClassNames","tableCellClassName","useTableCellStyles_unstable","useTableCell_unstable","renderTableCell_unstable","TableRow","tableRowClassNames","tableRowClassName","useTableRowStyles_unstable","useTableRow_unstable","renderTableRow_unstable","TableBody","tableBodyClassName","tableBodyClassNames","useTableBodyStyles_unstable","useTableBody_unstable","renderTableBody_unstable","Table","tableClassName","tableClassNames","useTableStyles_unstable","useTable_unstable","renderTable_unstable","TableHeader","tableHeaderClassNames","tableHeaderClassName","useTableHeaderStyles_unstable","useTableHeader_unstable","renderTableHeader_unstable","TableHeaderCell","tableHeaderCellClassName","tableHeaderCellClassNames","useTableHeaderCellStyles_unstable","useTableHeaderCell_unstable","renderTableHeaderCell_unstable","TableContextProvider","useTableContext","useTableRowIdContext","TableRowIdContextProvider","TableSelectionCell","useTableSelectionCellStyles_unstable","useTableSelectionCell_unstable","renderTableSelectionCell_unstable","tableSelectionCellClassNames","TableCellActions","tableCellActionsClassNames","useTableCellActionsStyles_unstable","useTableCellActions_unstable","renderTableCellActions_unstable","TableCellLayout","tableCellLayoutClassNames","useTableCellLayoutStyles_unstable","useTableCellLayout_unstable","renderTableCellLayout_unstable","DataGridCell","dataGridCellClassNames","useDataGridCellStyles_unstable","useDataGridCell_unstable","renderDataGridCell_unstable","DataGridRow","dataGridRowClassNames","useDataGridRowStyles_unstable","useDataGridRow_unstable","renderDataGridRow_unstable","DataGridBody","dataGridBodyClassNames","useDataGridBodyStyles_unstable","useDataGridBody_unstable","renderDataGridBody_unstable","DataGrid","dataGridClassNames","useDataGridStyles_unstable","useDataGrid_unstable","renderDataGrid_unstable","DataGridHeader","dataGridHeaderClassNames","useDataGridHeaderStyles_unstable","useDataGridHeader_unstable","renderDataGridHeader_unstable","DataGridHeaderCell","dataGridHeaderCellClassNames","useDataGridHeaderCellStyles_unstable","useDataGridHeaderCell_unstable","renderDataGridHeaderCell_unstable","DataGridSelectionCell","useDataGridSelectionCellStyles_unstable","useDataGridSelectionCell_unstable","renderDataGridSelectionCell_unstable","dataGridSelectionCellClassNames"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/index.ts"],"sourcesContent":["export { useTableFeatures, useTableSelection, useTableSort, createTableColumn } from './hooks';\nexport type {\n CreateTableColumnOptions,\n UseTableFeaturesOptions,\n TableColumnDefinition,\n TableColumnId,\n TableFeaturesState,\n TableRowData,\n TableRowId,\n TableSelectionState,\n TableSortState,\n TableFeaturePlugin,\n} from './hooks';\n\nexport {\n TableCell,\n tableCellClassNames,\n tableCellClassName,\n useTableCellStyles_unstable,\n useTableCell_unstable,\n renderTableCell_unstable,\n} from './TableCell';\nexport type { TableCellProps, TableCellState, TableCellSlots } from './TableCell';\n\nexport {\n TableRow,\n tableRowClassNames,\n tableRowClassName,\n useTableRowStyles_unstable,\n useTableRow_unstable,\n renderTableRow_unstable,\n} from './TableRow';\nexport type { TableRowProps, TableRowState, TableRowSlots } from './TableRow';\n\nexport {\n TableBody,\n tableBodyClassName,\n tableBodyClassNames,\n useTableBodyStyles_unstable,\n useTableBody_unstable,\n renderTableBody_unstable,\n} from './TableBody';\nexport type { TableBodyProps, TableBodyState, TableBodySlots } from './TableBody';\n\nexport {\n Table,\n tableClassName,\n tableClassNames,\n useTableStyles_unstable,\n useTable_unstable,\n renderTable_unstable,\n} from './Table';\nexport type { TableProps, TableSlots, TableState, TableContextValue, TableContextValues, SortDirection } from './Table';\n\nexport {\n TableHeader,\n tableHeaderClassNames,\n tableHeaderClassName,\n useTableHeaderStyles_unstable,\n useTableHeader_unstable,\n renderTableHeader_unstable,\n} from './TableHeader';\nexport type { TableHeaderProps, TableHeaderSlots, TableHeaderState } from './TableHeader';\n\nexport {\n TableHeaderCell,\n tableHeaderCellClassName,\n tableHeaderCellClassNames,\n useTableHeaderCellStyles_unstable,\n useTableHeaderCell_unstable,\n renderTableHeaderCell_unstable,\n} from './TableHeaderCell';\nexport type { TableHeaderCellProps, TableHeaderCellSlots, TableHeaderCellState } from './TableHeaderCell';\n\nexport { TableContextProvider, useTableContext } from './contexts/tableContext';\nexport { useTableRowIdContext, TableRowIdContextProvider } from './contexts/rowIdContext';\nexport {\n TableSelectionCell,\n useTableSelectionCellStyles_unstable,\n useTableSelectionCell_unstable,\n renderTableSelectionCell_unstable,\n tableSelectionCellClassNames,\n} from './TableSelectionCell';\n\nexport type { TableSelectionCellProps, TableSelectionCellState, TableSelectionCellSlots } from './TableSelectionCell';\nexport {\n TableCellActions,\n tableCellActionsClassNames,\n useTableCellActionsStyles_unstable,\n useTableCellActions_unstable,\n renderTableCellActions_unstable,\n} from './TableCellActions';\n\nexport type { TableCellActionsProps, TableCellActionsSlots, TableCellActionsState } from './TableCellActions';\nexport {\n TableCellLayout,\n tableCellLayoutClassNames,\n useTableCellLayoutStyles_unstable,\n useTableCellLayout_unstable,\n renderTableCellLayout_unstable,\n} from './TableCellLayout';\nexport type { TableCellLayoutProps, TableCellLayoutSlots, TableCellLayoutState } from './TableCellLayout';\n\nexport {\n DataGridCell,\n dataGridCellClassNames,\n useDataGridCellStyles_unstable,\n useDataGridCell_unstable,\n renderDataGridCell_unstable,\n} from './DataGridCell';\nexport type { DataGridCellProps, DataGridCellState, DataGridCellSlots } from './DataGridCell';\n\nexport {\n DataGridRow,\n dataGridRowClassNames,\n useDataGridRowStyles_unstable,\n useDataGridRow_unstable,\n renderDataGridRow_unstable,\n} from './DataGridRow';\nexport type { DataGridRowProps, DataGridRowState, DataGridRowSlots, CellRenderFunction } from './DataGridRow';\n\nexport {\n DataGridBody,\n dataGridBodyClassNames,\n useDataGridBodyStyles_unstable,\n useDataGridBody_unstable,\n renderDataGridBody_unstable,\n} from './DataGridBody';\nexport type { DataGridBodyProps, DataGridBodyState, DataGridBodySlots, RowRenderFunction } from './DataGridBody';\n\nexport {\n DataGrid,\n dataGridClassNames,\n useDataGridStyles_unstable,\n useDataGrid_unstable,\n renderDataGrid_unstable,\n} from './DataGrid';\nexport type {\n DataGridProps,\n DataGridSlots,\n DataGridState,\n DataGridContextValues,\n DataGridContextValue,\n DataGridFocusMode,\n} from './DataGrid';\n\nexport {\n DataGridHeader,\n dataGridHeaderClassNames,\n useDataGridHeaderStyles_unstable,\n useDataGridHeader_unstable,\n renderDataGridHeader_unstable,\n} from './DataGridHeader';\nexport type { DataGridHeaderProps, DataGridHeaderSlots, DataGridHeaderState } from './DataGridHeader';\n\nexport {\n DataGridHeaderCell,\n dataGridHeaderCellClassNames,\n useDataGridHeaderCellStyles_unstable,\n useDataGridHeaderCell_unstable,\n renderDataGridHeaderCell_unstable,\n} from './DataGridHeaderCell';\nexport type { DataGridHeaderCellProps, DataGridHeaderCellSlots, DataGridHeaderCellState } from './DataGridHeaderCell';\n\nexport {\n DataGridSelectionCell,\n useDataGridSelectionCellStyles_unstable,\n useDataGridSelectionCell_unstable,\n renderDataGridSelectionCell_unstable,\n dataGridSelectionCellClassNames,\n} from './DataGridSelectionCell';\n\nexport type {\n DataGridSelectionCellProps,\n DataGridSelectionCellState,\n DataGridSelectionCellSlots,\n} from './DataGridSelectionCell';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":";;;;;;AAAAA","names":["tslib_1"],"sourceRoot":"../src/","sources":["packages/react-components/react-table/src/DataGrid.ts"],"sourcesContent":["export * from './components/DataGrid/index';\n"]}
|