@fluentui/react-table 9.2.11 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +143 -1
- package/CHANGELOG.md +40 -2
- package/lib/DataGrid.js +0 -1
- package/lib/DataGrid.js.map +1 -1
- package/lib/DataGridBody.js +0 -1
- package/lib/DataGridBody.js.map +1 -1
- package/lib/DataGridCell.js +0 -1
- package/lib/DataGridCell.js.map +1 -1
- package/lib/DataGridHeader.js +0 -1
- package/lib/DataGridHeader.js.map +1 -1
- package/lib/DataGridHeaderCell.js +0 -1
- package/lib/DataGridHeaderCell.js.map +1 -1
- package/lib/DataGridRow.js +0 -1
- package/lib/DataGridRow.js.map +1 -1
- package/lib/DataGridSelectionCell.js +0 -1
- package/lib/DataGridSelectionCell.js.map +1 -1
- package/lib/Table.js +0 -1
- package/lib/Table.js.map +1 -1
- package/lib/TableBody.js +0 -1
- package/lib/TableBody.js.map +1 -1
- package/lib/TableCell.js +0 -1
- package/lib/TableCell.js.map +1 -1
- package/lib/TableCellActions.js +0 -1
- package/lib/TableCellActions.js.map +1 -1
- package/lib/TableCellLayout.js +0 -1
- package/lib/TableCellLayout.js.map +1 -1
- package/lib/TableCellPrimaryLayout.js +0 -1
- package/lib/TableCellPrimaryLayout.js.map +1 -1
- package/lib/TableHeader.js +0 -1
- package/lib/TableHeader.js.map +1 -1
- package/lib/TableHeaderCell.js +0 -1
- package/lib/TableHeaderCell.js.map +1 -1
- package/lib/TableResizeHandle.js +0 -1
- package/lib/TableResizeHandle.js.map +1 -1
- package/lib/TableRow.js +0 -1
- package/lib/TableRow.js.map +1 -1
- package/lib/TableSelectionCell.js +0 -1
- package/lib/TableSelectionCell.js.map +1 -1
- package/lib/components/DataGrid/DataGrid.js +5 -7
- package/lib/components/DataGrid/DataGrid.js.map +1 -1
- package/lib/components/DataGrid/DataGrid.types.js +0 -1
- package/lib/components/DataGrid/DataGrid.types.js.map +1 -1
- package/lib/components/DataGrid/index.js +0 -1
- package/lib/components/DataGrid/index.js.map +1 -1
- package/lib/components/DataGrid/renderDataGrid.js +4 -6
- package/lib/components/DataGrid/renderDataGrid.js.map +1 -1
- package/lib/components/DataGrid/useDataGrid.js +71 -89
- package/lib/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib/components/DataGrid/useDataGridContextValues.js +12 -13
- package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -1
- package/lib/components/DataGrid/useDataGridStyles.styles.js.map +1 -1
- package/lib/components/DataGridBody/DataGridBody.js +5 -7
- package/lib/components/DataGridBody/DataGridBody.js.map +1 -1
- package/lib/components/DataGridBody/DataGridBody.types.js +0 -1
- package/lib/components/DataGridBody/DataGridBody.types.js.map +1 -1
- package/lib/components/DataGridBody/index.js +0 -1
- package/lib/components/DataGridBody/index.js.map +1 -1
- package/lib/components/DataGridBody/renderDataGridBody.js +7 -12
- package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -1
- package/lib/components/DataGridBody/useDataGridBody.js +15 -19
- package/lib/components/DataGridBody/useDataGridBody.js.map +1 -1
- package/lib/components/DataGridBody/useDataGridBodyStyles.styles.js.map +1 -1
- package/lib/components/DataGridCell/DataGridCell.js +5 -7
- package/lib/components/DataGridCell/DataGridCell.js.map +1 -1
- package/lib/components/DataGridCell/DataGridCell.types.js +1 -2
- package/lib/components/DataGridCell/DataGridCell.types.js.map +1 -1
- package/lib/components/DataGridCell/index.js +0 -1
- package/lib/components/DataGridCell/index.js.map +1 -1
- package/lib/components/DataGridCell/renderDataGridCell.js +2 -4
- package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -1
- package/lib/components/DataGridCell/useDataGridCell.js +12 -14
- package/lib/components/DataGridCell/useDataGridCell.js.map +1 -1
- package/lib/components/DataGridCell/useDataGridCellStyles.styles.js.map +1 -1
- package/lib/components/DataGridHeader/DataGridHeader.js +5 -7
- package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeader/DataGridHeader.types.js +1 -2
- package/lib/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
- package/lib/components/DataGridHeader/index.js +0 -1
- package/lib/components/DataGridHeader/index.js.map +1 -1
- package/lib/components/DataGridHeader/renderDataGridHeader.js +2 -4
- package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeader/useDataGridHeader.js +5 -7
- package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeader/useDataGridHeaderStyles.styles.js.map +1 -1
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js +5 -7
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js +1 -2
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
- package/lib/components/DataGridHeaderCell/index.js +0 -1
- package/lib/components/DataGridHeaderCell/index.js.map +1 -1
- package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js +2 -4
- package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +23 -26
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js.map +1 -1
- package/lib/components/DataGridRow/DataGridRow.js +5 -7
- package/lib/components/DataGridRow/DataGridRow.js.map +1 -1
- package/lib/components/DataGridRow/DataGridRow.types.js +0 -1
- package/lib/components/DataGridRow/DataGridRow.types.js.map +1 -1
- package/lib/components/DataGridRow/index.js +0 -1
- package/lib/components/DataGridRow/index.js.map +1 -1
- package/lib/components/DataGridRow/renderDataGridRow.js +7 -12
- package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -1
- package/lib/components/DataGridRow/useDataGridRow.js +54 -56
- package/lib/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib/components/DataGridRow/useDataGridRowStyles.styles.js.map +1 -1
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js +5 -7
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js +1 -2
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
- package/lib/components/DataGridSelectionCell/index.js +0 -1
- package/lib/components/DataGridSelectionCell/index.js.map +1 -1
- package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js +2 -4
- package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +31 -33
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js.map +1 -1
- package/lib/components/Table/Table.js +5 -7
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/Table.types.js +1 -2
- package/lib/components/Table/Table.types.js.map +1 -1
- package/lib/components/Table/index.js +0 -1
- package/lib/components/Table/index.js.map +1 -1
- package/lib/components/Table/renderTable.js +6 -11
- package/lib/components/Table/renderTable.js.map +1 -1
- package/lib/components/Table/useTable.js +17 -19
- package/lib/components/Table/useTable.js.map +1 -1
- package/lib/components/Table/useTableContextValues.js +13 -14
- package/lib/components/Table/useTableContextValues.js.map +1 -1
- package/lib/components/Table/useTableStyles.styles.js.map +1 -1
- package/lib/components/TableBody/TableBody.js +5 -7
- package/lib/components/TableBody/TableBody.js.map +1 -1
- package/lib/components/TableBody/TableBody.types.js +1 -2
- package/lib/components/TableBody/TableBody.types.js.map +1 -1
- package/lib/components/TableBody/index.js +0 -1
- package/lib/components/TableBody/index.js.map +1 -1
- package/lib/components/TableBody/renderTableBody.js +4 -9
- package/lib/components/TableBody/renderTableBody.js.map +1 -1
- package/lib/components/TableBody/useTableBody.js +15 -19
- package/lib/components/TableBody/useTableBody.js.map +1 -1
- package/lib/components/TableBody/useTableBodyStyles.styles.js.map +1 -1
- package/lib/components/TableCell/TableCell.js +5 -7
- package/lib/components/TableCell/TableCell.js.map +1 -1
- package/lib/components/TableCell/TableCell.types.js +1 -2
- package/lib/components/TableCell/TableCell.types.js.map +1 -1
- package/lib/components/TableCell/index.js +0 -1
- package/lib/components/TableCell/index.js.map +1 -1
- package/lib/components/TableCell/renderTableCell.js +4 -9
- package/lib/components/TableCell/renderTableCell.js.map +1 -1
- package/lib/components/TableCell/useTableCell.js +16 -21
- package/lib/components/TableCell/useTableCell.js.map +1 -1
- package/lib/components/TableCell/useTableCellStyles.styles.js.map +1 -1
- package/lib/components/TableCellActions/TableCellActions.js +5 -7
- package/lib/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/TableCellActions.types.js +1 -2
- package/lib/components/TableCellActions/TableCellActions.types.js.map +1 -1
- package/lib/components/TableCellActions/index.js +0 -1
- package/lib/components/TableCellActions/index.js.map +1 -1
- package/lib/components/TableCellActions/renderTableCellActions.js +4 -9
- package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/useTableCellActions.js +12 -14
- package/lib/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/useTableCellActionsStyles.styles.js.map +1 -1
- package/lib/components/TableCellLayout/TableCellLayout.js +5 -7
- package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/TableCellLayout.types.js +1 -2
- package/lib/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
- package/lib/components/TableCellLayout/index.js +0 -1
- package/lib/components/TableCellLayout/index.js.map +1 -1
- package/lib/components/TableCellLayout/renderTableCellLayout.js +6 -11
- package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayout.js +30 -34
- package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js +9 -10
- package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayoutStyles.styles.js.map +1 -1
- package/lib/components/TableHeader/TableHeader.js +5 -7
- package/lib/components/TableHeader/TableHeader.js.map +1 -1
- package/lib/components/TableHeader/TableHeader.types.js +1 -2
- package/lib/components/TableHeader/TableHeader.types.js.map +1 -1
- package/lib/components/TableHeader/index.js +0 -1
- package/lib/components/TableHeader/index.js.map +1 -1
- package/lib/components/TableHeader/renderTableHeader.js +6 -11
- package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib/components/TableHeader/useTableHeader.js +15 -19
- package/lib/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib/components/TableHeader/useTableHeaderStyles.styles.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.js +5 -7
- package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.types.js +1 -2
- package/lib/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
- package/lib/components/TableHeaderCell/index.js +0 -1
- package/lib/components/TableHeaderCell/index.js.map +1 -1
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js +4 -9
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js +46 -51
- package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +10 -2
- package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
- package/lib/components/TableResizeHandle/TableResizeHandle.js +5 -7
- package/lib/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
- package/lib/components/TableResizeHandle/TableResizeHandle.types.js +1 -2
- package/lib/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
- package/lib/components/TableResizeHandle/index.js +0 -1
- package/lib/components/TableResizeHandle/index.js.map +1 -1
- package/lib/components/TableResizeHandle/renderTableResizeHandle.js +4 -9
- package/lib/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
- package/lib/components/TableResizeHandle/useTableResizeHandle.js +16 -18
- package/lib/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
- package/lib/components/TableRow/TableRow.js +5 -7
- package/lib/components/TableRow/TableRow.js.map +1 -1
- package/lib/components/TableRow/TableRow.types.js +1 -2
- package/lib/components/TableRow/TableRow.types.js.map +1 -1
- package/lib/components/TableRow/index.js +0 -1
- package/lib/components/TableRow/index.js.map +1 -1
- package/lib/components/TableRow/renderTableRow.js +4 -9
- package/lib/components/TableRow/renderTableRow.js.map +1 -1
- package/lib/components/TableRow/useTableRow.js +22 -27
- package/lib/components/TableRow/useTableRow.js.map +1 -1
- package/lib/components/TableRow/useTableRowStyles.styles.js.map +1 -1
- package/lib/components/TableSelectionCell/TableSelectionCell.js +5 -7
- package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/TableSelectionCell.types.js +1 -2
- package/lib/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
- package/lib/components/TableSelectionCell/index.js +0 -1
- package/lib/components/TableSelectionCell/index.js.map +1 -1
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js +4 -9
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/useTableSelectionCell.js +32 -41
- package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/useTableSelectionCellStyles.styles.js.map +1 -1
- package/lib/contexts/columnIdContext.js +2 -3
- package/lib/contexts/columnIdContext.js.map +1 -1
- package/lib/contexts/dataGridContext.js +7 -8
- package/lib/contexts/dataGridContext.js.map +1 -1
- package/lib/contexts/rowIdContext.js +2 -3
- package/lib/contexts/rowIdContext.js.map +1 -1
- package/lib/contexts/tableContext.js +5 -6
- package/lib/contexts/tableContext.js.map +1 -1
- package/lib/contexts/tableHeaderContext.js +2 -3
- package/lib/contexts/tableHeaderContext.js.map +1 -1
- package/lib/hooks/createColumn.js +21 -28
- package/lib/hooks/createColumn.js.map +1 -1
- package/lib/hooks/index.js +0 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/selectionManager.js +71 -68
- package/lib/hooks/selectionManager.js.map +1 -1
- package/lib/hooks/types.js +0 -1
- package/lib/hooks/types.js.map +1 -1
- package/lib/hooks/useKeyboardResizing.js +96 -87
- package/lib/hooks/useKeyboardResizing.js.map +1 -1
- package/lib/hooks/useMeasureElement.js +42 -40
- package/lib/hooks/useMeasureElement.js.map +1 -1
- package/lib/hooks/useTableColumnResizeMouseHandler.js +64 -61
- package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib/hooks/useTableColumnResizeState.js +100 -105
- package/lib/hooks/useTableColumnResizeState.js.map +1 -1
- package/lib/hooks/useTableColumnSizing.js +74 -74
- package/lib/hooks/useTableColumnSizing.js.map +1 -1
- package/lib/hooks/useTableFeatures.js +30 -35
- package/lib/hooks/useTableFeatures.js.map +1 -1
- package/lib/hooks/useTableSelection.js +64 -66
- package/lib/hooks/useTableSelection.js.map +1 -1
- package/lib/hooks/useTableSort.js +68 -76
- package/lib/hooks/useTableSort.js.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/utils/columnResizeUtils.js +104 -108
- package/lib/utils/columnResizeUtils.js.map +1 -1
- package/lib-commonjs/DataGrid.js +0 -3
- package/lib-commonjs/DataGrid.js.map +1 -1
- package/lib-commonjs/DataGridBody.js +0 -3
- package/lib-commonjs/DataGridBody.js.map +1 -1
- package/lib-commonjs/DataGridCell.js +0 -3
- package/lib-commonjs/DataGridCell.js.map +1 -1
- package/lib-commonjs/DataGridHeader.js +0 -3
- package/lib-commonjs/DataGridHeader.js.map +1 -1
- package/lib-commonjs/DataGridHeaderCell.js +0 -3
- package/lib-commonjs/DataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/DataGridRow.js +0 -3
- package/lib-commonjs/DataGridRow.js.map +1 -1
- package/lib-commonjs/DataGridSelectionCell.js +0 -3
- package/lib-commonjs/DataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/Table.js +0 -3
- package/lib-commonjs/Table.js.map +1 -1
- package/lib-commonjs/TableBody.js +0 -3
- package/lib-commonjs/TableBody.js.map +1 -1
- package/lib-commonjs/TableCell.js +0 -3
- package/lib-commonjs/TableCell.js.map +1 -1
- package/lib-commonjs/TableCellActions.js +0 -3
- package/lib-commonjs/TableCellActions.js.map +1 -1
- package/lib-commonjs/TableCellLayout.js +0 -3
- package/lib-commonjs/TableCellLayout.js.map +1 -1
- package/lib-commonjs/TableCellPrimaryLayout.js +0 -3
- package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -1
- package/lib-commonjs/TableHeader.js +0 -3
- package/lib-commonjs/TableHeader.js.map +1 -1
- package/lib-commonjs/TableHeaderCell.js +0 -3
- package/lib-commonjs/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/TableResizeHandle.js +0 -3
- package/lib-commonjs/TableResizeHandle.js.map +1 -1
- package/lib-commonjs/TableRow.js +0 -3
- package/lib-commonjs/TableRow.js.map +1 -1
- package/lib-commonjs/TableSelectionCell.js +0 -3
- package/lib-commonjs/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGrid/DataGrid.js +1 -3
- package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/DataGrid.types.js +0 -3
- package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -1
- package/lib-commonjs/components/DataGrid/index.js +0 -3
- package/lib-commonjs/components/DataGrid/index.js.map +1 -1
- package/lib-commonjs/components/DataGrid/renderDataGrid.js +1 -3
- package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGrid.js +1 -3
- package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +1 -3
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/DataGridBody.js +1 -3
- package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +0 -3
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/index.js +0 -3
- package/lib-commonjs/components/DataGridBody/index.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +1 -3
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js +1 -3
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/DataGridCell.js +1 -3
- package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/DataGridCell.types.js +0 -3
- package/lib-commonjs/components/DataGridCell/DataGridCell.types.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/index.js +0 -3
- package/lib-commonjs/components/DataGridCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +1 -3
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js +1 -3
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +1 -3
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js +0 -3
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.types.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/index.js +0 -3
- package/lib-commonjs/components/DataGridHeader/index.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +1 -3
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +1 -3
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +1 -3
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js +0 -3
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.types.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/index.js +0 -3
- package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +1 -3
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +2 -3
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/DataGridRow.js +1 -3
- package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +0 -3
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/index.js +0 -3
- package/lib-commonjs/components/DataGridRow/index.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +1 -3
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js +1 -3
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +1 -3
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js +0 -3
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.types.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/index.js +0 -3
- package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +1 -3
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +1 -3
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js +0 -2
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Table/Table.js +1 -3
- package/lib-commonjs/components/Table/Table.js.map +1 -1
- package/lib-commonjs/components/Table/Table.types.js +0 -3
- package/lib-commonjs/components/Table/Table.types.js.map +1 -1
- package/lib-commonjs/components/Table/index.js +0 -3
- package/lib-commonjs/components/Table/index.js.map +1 -1
- package/lib-commonjs/components/Table/renderTable.js +1 -3
- package/lib-commonjs/components/Table/renderTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTable.js +1 -3
- package/lib-commonjs/components/Table/useTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTableContextValues.js +1 -3
- package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
- package/lib-commonjs/components/Table/useTableStyles.styles.js +0 -2
- package/lib-commonjs/components/Table/useTableStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableBody/TableBody.js +1 -3
- package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/TableBody.types.js +0 -3
- package/lib-commonjs/components/TableBody/TableBody.types.js.map +1 -1
- package/lib-commonjs/components/TableBody/index.js +0 -3
- package/lib-commonjs/components/TableBody/index.js.map +1 -1
- package/lib-commonjs/components/TableBody/renderTableBody.js +1 -3
- package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBody.js +1 -3
- package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js +0 -2
- package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCell/TableCell.js +1 -3
- package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/TableCell.types.js +0 -3
- package/lib-commonjs/components/TableCell/TableCell.types.js.map +1 -1
- package/lib-commonjs/components/TableCell/index.js +0 -3
- package/lib-commonjs/components/TableCell/index.js.map +1 -1
- package/lib-commonjs/components/TableCell/renderTableCell.js +1 -3
- package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCell.js +1 -3
- package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js +0 -2
- package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/TableCellActions.js +1 -3
- package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/TableCellActions.types.js +0 -3
- package/lib-commonjs/components/TableCellActions/TableCellActions.types.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/index.js +0 -3
- package/lib-commonjs/components/TableCellActions/index.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +1 -3
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js +1 -3
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js +0 -2
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +1 -3
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js +0 -3
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.types.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/index.js +0 -3
- package/lib-commonjs/components/TableCellLayout/index.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +1 -3
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +1 -3
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +1 -3
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js +0 -2
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableHeader/TableHeader.js +1 -3
- package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/TableHeader.types.js +0 -3
- package/lib-commonjs/components/TableHeader/TableHeader.types.js.map +1 -1
- package/lib-commonjs/components/TableHeader/index.js +0 -3
- package/lib-commonjs/components/TableHeader/index.js.map +1 -1
- package/lib-commonjs/components/TableHeader/renderTableHeader.js +1 -3
- package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeader.js +1 -3
- package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js +0 -2
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js +1 -3
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js +0 -3
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.types.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/index.js +0 -3
- package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +1 -3
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +1 -3
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +27 -3
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js +1 -3
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js +0 -3
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.types.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/index.js +0 -3
- package/lib-commonjs/components/TableResizeHandle/index.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js +1 -3
- package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js +1 -3
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js +0 -2
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableRow/TableRow.js +1 -3
- package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/TableRow.types.js +0 -3
- package/lib-commonjs/components/TableRow/TableRow.types.js.map +1 -1
- package/lib-commonjs/components/TableRow/index.js +0 -3
- package/lib-commonjs/components/TableRow/index.js.map +1 -1
- package/lib-commonjs/components/TableRow/renderTableRow.js +1 -3
- package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRow.js +1 -3
- package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js +0 -2
- package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +1 -3
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js +0 -3
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.types.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/index.js +0 -3
- package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +1 -3
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +1 -3
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js +0 -2
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js.map +1 -1
- package/lib-commonjs/contexts/columnIdContext.js +1 -3
- package/lib-commonjs/contexts/columnIdContext.js.map +1 -1
- package/lib-commonjs/contexts/dataGridContext.js +2 -4
- package/lib-commonjs/contexts/dataGridContext.js.map +1 -1
- package/lib-commonjs/contexts/rowIdContext.js +1 -3
- package/lib-commonjs/contexts/rowIdContext.js.map +1 -1
- package/lib-commonjs/contexts/tableContext.js +1 -3
- package/lib-commonjs/contexts/tableContext.js.map +1 -1
- package/lib-commonjs/contexts/tableHeaderContext.js +1 -3
- package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -1
- package/lib-commonjs/hooks/createColumn.js +1 -3
- package/lib-commonjs/hooks/createColumn.js.map +1 -1
- package/lib-commonjs/hooks/index.js +0 -3
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/selectionManager.js +1 -3
- package/lib-commonjs/hooks/selectionManager.js.map +1 -1
- package/lib-commonjs/hooks/types.js +0 -3
- package/lib-commonjs/hooks/types.js.map +1 -1
- package/lib-commonjs/hooks/useKeyboardResizing.js +17 -18
- package/lib-commonjs/hooks/useKeyboardResizing.js.map +1 -1
- package/lib-commonjs/hooks/useMeasureElement.js +1 -3
- package/lib-commonjs/hooks/useMeasureElement.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +1 -3
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnResizeState.js +1 -3
- package/lib-commonjs/hooks/useTableColumnResizeState.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnSizing.js +10 -7
- package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
- package/lib-commonjs/hooks/useTableFeatures.js +1 -3
- package/lib-commonjs/hooks/useTableFeatures.js.map +1 -1
- package/lib-commonjs/hooks/useTableSelection.js +2 -4
- package/lib-commonjs/hooks/useTableSelection.js.map +1 -1
- package/lib-commonjs/hooks/useTableSort.js +1 -3
- package/lib-commonjs/hooks/useTableSort.js.map +1 -1
- package/lib-commonjs/index.js +0 -3
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/columnResizeUtils.js +1 -3
- package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useKeyboardResizing.js"],"sourcesContent":["import * as React from 'react';\nimport { ArrowLeft, ArrowRight, Enter, Escape, Shift, Space } from '@fluentui/keyboard-keys';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nconst STEP = 20;\nconst PRECISION_MODIFIER = Shift;\nconst PRECISION_FACTOR = 1 / 4;\nexport function useKeyboardResizing(columnResizeState) {\n const [columnId, setColumnId] = React.useState();\n const onChangeRef = React.useRef();\n const addListenerTimeout = React.useRef();\n const columnResizeStateRef = React.useRef(columnResizeState);\n React.useEffect(()=>{\n columnResizeStateRef.current = columnResizeState;\n }, [\n columnResizeState\n ]);\n const { targetDocument } = useFluent();\n const keyboardHandler = useEventCallback((event)=>{\n if (!columnId) {\n return;\n }\n const width = columnResizeStateRef.current.getColumnWidth(columnId);\n const precisionModifier = event.getModifierState(PRECISION_MODIFIER);\n const stopEvent = ()=>{\n event.preventDefault();\n event.stopPropagation();\n };\n switch(event.key){\n case ArrowLeft:\n stopEvent();\n columnResizeStateRef.current.setColumnWidth(event, {\n columnId,\n width: width - (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case ArrowRight:\n stopEvent();\n columnResizeStateRef.current.setColumnWidth(event, {\n columnId,\n width: width + (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case Space:\n case Enter:\n case Escape:\n stopEvent();\n disableInteractiveMode();\n break;\n }\n });\n // On component unmout, cancel any timer for adding a listener (if it exists) and remove the listener\n React.useEffect(()=>{\n return ()=>{\n var _targetDocument_defaultView, _targetDocument_defaultView1;\n targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.clearTimeout(addListenerTimeout.current);\n targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView1 = targetDocument.defaultView) === null || _targetDocument_defaultView1 === void 0 ? void 0 : _targetDocument_defaultView1.removeEventListener('keydown', keyboardHandler);\n };\n }, [\n keyboardHandler,\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView\n ]);\n const enableInteractiveMode = React.useCallback((colId)=>{\n var _onChangeRef_current, _targetDocument_defaultView;\n setColumnId(colId);\n (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, colId, true);\n // Create the listener in the next tick, because the event that triggered this is still propagating\n // when Enter was pressed and would be caught in the keyboardHandler, disabling the keyboard mode immediately.\n // No idea why this is happening, but this is a working workaround.\n // Tracked here: https://github.com/microsoft/fluentui/issues/27177\n addListenerTimeout.current = targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.setTimeout(()=>{\n var _targetDocument_defaultView;\n targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.addEventListener('keydown', keyboardHandler);\n }, 0);\n }, [\n keyboardHandler,\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView\n ]);\n const disableInteractiveMode = React.useCallback(()=>{\n var _targetDocument_defaultView;\n if (columnId) {\n var _onChangeRef_current;\n (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, columnId, false);\n }\n setColumnId(undefined);\n targetDocument === null || targetDocument === void 0 ? void 0 : (_targetDocument_defaultView = targetDocument.defaultView) === null || _targetDocument_defaultView === void 0 ? void 0 : _targetDocument_defaultView.removeEventListener('keydown', keyboardHandler);\n }, [\n columnId,\n keyboardHandler,\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView\n ]);\n const toggleInteractiveMode = (colId, onChange)=>{\n onChangeRef.current = onChange;\n if (!columnId) {\n enableInteractiveMode(colId);\n } else if (colId && columnId !== colId) {\n setColumnId(colId);\n onChange === null || onChange === void 0 ? void 0 : onChange(columnId, true);\n } else {\n disableInteractiveMode();\n }\n };\n return {\n toggleInteractiveMode,\n columnId\n };\n}\n"],"names":["useKeyboardResizing","STEP","PRECISION_MODIFIER","Shift","PRECISION_FACTOR","columnResizeState","columnId","setColumnId","React","useState","onChangeRef","useRef","addListenerTimeout","columnResizeStateRef","useEffect","current","targetDocument","useFluent","keyboardHandler","useEventCallback","event","width","getColumnWidth","precisionModifier","getModifierState","stopEvent","preventDefault","stopPropagation","key","ArrowLeft","setColumnWidth","ArrowRight","Space","Enter","Escape","disableInteractiveMode","_targetDocument_defaultView","_targetDocument_defaultView1","defaultView","clearTimeout","removeEventListener","enableInteractiveMode","useCallback","colId","_onChangeRef_current","call","setTimeout","addEventListener","undefined","toggleInteractiveMode","onChange"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useMeasureElement.js"],"sourcesContent":["import { canUseDOM } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Provides a way of reporting element width.\n * Returns\n * `width` - current element width (0 by default),\n * `measureElementRef` - a ref function to be passed as `ref` to the element you want to measure\n */ export function useMeasureElement() {\n const [width, setWidth] = React.useState(0);\n const container = React.useRef(undefined);\n const { targetDocument } = useFluent();\n // the handler for resize observer\n const handleResize = React.useCallback(()=>{\n var _container_current;\n const containerWidth = (_container_current = container.current) === null || _container_current === void 0 ? void 0 : _container_current.getBoundingClientRect().width;\n setWidth(containerWidth || 0);\n }, []);\n // Keep the reference of ResizeObserver in the state, as it should live through renders\n const [resizeObserver] = React.useState(canUseDOM() ? new ResizeObserver(handleResize) : undefined);\n const measureElementRef = React.useCallback((el)=>{\n if (!targetDocument || !resizeObserver) {\n return;\n }\n // cleanup previous container\n if (container.current) {\n resizeObserver.unobserve(container.current);\n container.current.remove();\n }\n if (el) {\n container.current = targetDocument.createElement('div');\n el.insertAdjacentElement('beforebegin', container.current);\n resizeObserver.observe(container.current);\n handleResize();\n }\n }, [\n targetDocument,\n resizeObserver,\n handleResize\n ]);\n React.useEffect(()=>{\n return ()=>{\n return resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();\n };\n }, [\n resizeObserver\n ]);\n return {\n width,\n measureElementRef\n };\n}\n"],"names":["useMeasureElement","width","setWidth","React","useState","container","useRef","undefined","targetDocument","useFluent","handleResize","useCallback","_container_current","containerWidth","current","getBoundingClientRect","resizeObserver","canUseDOM","ResizeObserver","measureElementRef","el","unobserve","remove","createElement","insertAdjacentElement","observe","useEffect","disconnect"],"mappings":";;;;+BAQoBA;;aAAAA;;;gCARM;6DACH;qCACyB;AAMrC,SAASA,oBAAoB;IACpC,MAAM,CAACC,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;IACzC,MAAMC,YAAYF,OAAMG,MAAM,CAACC;IAC/B,MAAM,EAAEC,eAAc,EAAG,GAAGC,IAAAA,uCAAS;IACrC,kCAAkC;IAClC,MAAMC,eAAeP,OAAMQ,WAAW,CAAC,IAAI;QACvC,IAAIC;QACJ,MAAMC,iBAAiB,AAACD,CAAAA,qBAAqBP,UAAUS,OAAO,AAAD,MAAO,IAAI,IAAIF,uBAAuB,KAAK,IAAI,KAAK,IAAIA,mBAAmBG,qBAAqB,GAAGd,KAAK;QACrKC,SAASW,kBAAkB;IAC/B,GAAG,EAAE;IACL,uFAAuF;IACvF,MAAM,CAACG,eAAe,GAAGb,OAAMC,QAAQ,CAACa,IAAAA,yBAAS,MAAK,IAAIC,eAAeR,gBAAgBH,SAAS;IAClG,MAAMY,oBAAoBhB,OAAMQ,WAAW,CAAC,CAACS,KAAK;QAC9C,IAAI,CAACZ,kBAAkB,CAACQ,gBAAgB;YACpC;QACJ,CAAC;QACD,6BAA6B;QAC7B,IAAIX,UAAUS,OAAO,EAAE;YACnBE,eAAeK,SAAS,CAAChB,UAAUS,OAAO;YAC1CT,UAAUS,OAAO,CAACQ,MAAM;QAC5B,CAAC;QACD,IAAIF,IAAI;YACJf,UAAUS,OAAO,GAAGN,eAAee,aAAa,CAAC;YACjDH,GAAGI,qBAAqB,CAAC,eAAenB,UAAUS,OAAO;YACzDE,eAAeS,OAAO,CAACpB,UAAUS,OAAO;YACxCJ;QACJ,CAAC;IACL,GAAG;QACCF;QACAQ;QACAN;KACH;IACDP,OAAMuB,SAAS,CAAC,IAAI;QAChB,OAAO,IAAI;YACP,OAAOV,mBAAmB,IAAI,IAAIA,mBAAmB,KAAK,IAAI,KAAK,IAAIA,eAAeW,UAAU,EAAE;QACtG;IACJ,GAAG;QACCX;KACH;IACD,OAAO;QACHf;QACAkB;IACJ;AACJ"}
|
|
@@ -77,6 +77,4 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
|
77
77
|
return {
|
|
78
78
|
getOnMouseDown: (columnId)=>getOnMouseDown(columnId)
|
|
79
79
|
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=useTableColumnResizeMouseHandler.js.map
|
|
80
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableColumnResizeMouseHandler.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { getEventClientCoords, isMouseEvent, isTouchEvent } from '@fluentui/react-utilities';\nexport function useTableColumnResizeMouseHandler(columnResizeState) {\n const mouseX = React.useRef(0);\n const currentWidth = React.useRef(0);\n const colId = React.useRef(undefined);\n const { targetDocument } = useFluent();\n const globalWin = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView;\n const recalculatePosition = React.useCallback((e)=>{\n const { clientX } = getEventClientCoords(e);\n const dx = clientX - mouseX.current;\n // Update the local width for the column and set it\n currentWidth.current += dx;\n colId.current && columnResizeState.setColumnWidth(e, {\n columnId: colId.current,\n width: currentWidth.current\n });\n mouseX.current = clientX;\n }, [\n columnResizeState\n ]);\n const onDrag = React.useCallback((e)=>{\n // Using requestAnimationFrame here drastically improves resizing experience on slower CPUs\n if (typeof (globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame) === 'function') {\n requestAnimationFrame(()=>recalculatePosition(e));\n } else {\n recalculatePosition(e);\n }\n }, [\n globalWin === null || globalWin === void 0 ? void 0 : globalWin.requestAnimationFrame,\n recalculatePosition\n ]);\n const onDragEnd = React.useCallback((event)=>{\n if (isMouseEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mouseup', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchend', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener('touchmove', onDrag);\n }\n }, [\n onDrag,\n targetDocument\n ]);\n const getOnMouseDown = (columnId)=>{\n return (event)=>{\n // Keep the width locally so that we decouple the calculation of the next with from rendering.\n // This makes the whole experience much faster and more precise\n currentWidth.current = columnResizeState.getColumnWidth(columnId);\n mouseX.current = getEventClientCoords(event).clientX;\n colId.current = columnId;\n if (isMouseEvent(event)) {\n // ignore other buttons than primary mouse button\n if (event.target !== event.currentTarget || event.button !== 0) {\n return;\n }\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mouseup', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchend', onDragEnd);\n targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener('touchmove', onDrag);\n }\n };\n };\n return {\n getOnMouseDown: (columnId)=>getOnMouseDown(columnId)\n };\n}\n"],"names":["useTableColumnResizeMouseHandler","columnResizeState","mouseX","React","useRef","currentWidth","colId","undefined","targetDocument","useFluent","globalWin","defaultView","recalculatePosition","useCallback","e","clientX","getEventClientCoords","dx","current","setColumnWidth","columnId","width","onDrag","requestAnimationFrame","onDragEnd","event","isMouseEvent","removeEventListener","isTouchEvent","getOnMouseDown","getColumnWidth","target","currentTarget","button","addEventListener"],"mappings":"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"}
|
|
@@ -113,6 +113,4 @@ function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
|
113
113
|
getColumnWidth: (colId)=>(0, _columnResizeUtils.getColumnWidth)(state.columnWidthState, colId),
|
|
114
114
|
setColumnWidth
|
|
115
115
|
};
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
//# sourceMappingURL=useTableColumnResizeState.js.map
|
|
116
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableColumnResizeState.js"],"sourcesContent":["import { useEventCallback, useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport { columnDefinitionsToState, adjustColumnWidthsToFitContainer, getColumnById, setColumnProperty, getColumnWidth } from '../utils/columnResizeUtils';\nconst createReducer = ()=>(state, action)=>{\n switch(action.type){\n case 'CONTAINER_WIDTH_UPDATED':\n return {\n ...state,\n containerWidth: action.containerWidth,\n columnWidthState: adjustColumnWidthsToFitContainer(state.columnWidthState, action.containerWidth)\n };\n case 'COLUMNS_UPDATED':\n const newS = columnDefinitionsToState(action.columns, state.columnWidthState, state.columnSizingOptions);\n return {\n ...state,\n columns: action.columns,\n columnWidthState: adjustColumnWidthsToFitContainer(newS, state.containerWidth)\n };\n case 'COLUMN_SIZING_OPTIONS_UPDATED':\n const newState = columnDefinitionsToState(state.columns, state.columnWidthState, action.columnSizingOptions);\n return {\n ...state,\n columnSizingOptions: action.columnSizingOptions,\n columnWidthState: adjustColumnWidthsToFitContainer(newState, state.containerWidth)\n };\n case 'SET_COLUMN_WIDTH':\n const { columnId , width } = action;\n const { containerWidth } = state;\n const column = getColumnById(state.columnWidthState, columnId);\n let newColumnWidthState = [\n ...state.columnWidthState\n ];\n if (!column) {\n return state;\n }\n // Adjust the column width and measure the new total width\n newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'width', width);\n // Set this width as idealWidth, because its a deliberate change, not a recalculation because of container\n newColumnWidthState = setColumnProperty(newColumnWidthState, columnId, 'idealWidth', width);\n // Adjust the widths to the container size\n newColumnWidthState = adjustColumnWidthsToFitContainer(newColumnWidthState, containerWidth);\n return {\n ...state,\n columnWidthState: newColumnWidthState\n };\n }\n };\nexport function useTableColumnResizeState(columns, containerWidth, params = {}) {\n const { onColumnResize , columnSizingOptions } = params;\n const reducer = React.useMemo(()=>createReducer(), []);\n const [state, dispatch] = React.useReducer(reducer, {\n columns,\n containerWidth: 0,\n columnWidthState: columnDefinitionsToState(columns, undefined, columnSizingOptions),\n columnSizingOptions\n });\n useIsomorphicLayoutEffect(()=>{\n dispatch({\n type: 'CONTAINER_WIDTH_UPDATED',\n containerWidth\n });\n }, [\n containerWidth\n ]);\n useIsomorphicLayoutEffect(()=>{\n dispatch({\n type: 'COLUMNS_UPDATED',\n columns\n });\n }, [\n columns\n ]);\n useIsomorphicLayoutEffect(()=>{\n dispatch({\n type: 'COLUMN_SIZING_OPTIONS_UPDATED',\n columnSizingOptions\n });\n }, [\n columnSizingOptions\n ]);\n const setColumnWidth = useEventCallback((event, data)=>{\n let { width } = data;\n const { columnId } = data;\n const col = getColumnById(state.columnWidthState, columnId);\n if (!col) {\n return;\n }\n width = Math.max(col.minWidth || 0, width);\n if (onColumnResize) {\n onColumnResize(event, {\n columnId,\n width\n });\n }\n dispatch({\n type: 'SET_COLUMN_WIDTH',\n columnId,\n width\n });\n });\n return {\n getColumnById: (colId)=>getColumnById(state.columnWidthState, colId),\n getColumns: ()=>state.columnWidthState,\n getColumnWidth: (colId)=>getColumnWidth(state.columnWidthState, colId),\n setColumnWidth\n };\n}\n"],"names":["useTableColumnResizeState","createReducer","state","action","type","containerWidth","columnWidthState","adjustColumnWidthsToFitContainer","newS","columnDefinitionsToState","columns","columnSizingOptions","newState","columnId","width","column","getColumnById","newColumnWidthState","setColumnProperty","params","onColumnResize","reducer","React","useMemo","dispatch","useReducer","undefined","useIsomorphicLayoutEffect","setColumnWidth","useEventCallback","event","data","col","Math","max","minWidth","colId","getColumns","getColumnWidth"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
KeyboardResizingCurrentColumnDataAttribute: ()=>KeyboardResizingCurrentColumnDataAttribute,
|
|
12
13
|
defaultColumnSizingState: ()=>defaultColumnSizingState,
|
|
13
14
|
useTableColumnSizing_unstable: ()=>useTableColumnSizing_unstable
|
|
14
15
|
});
|
|
@@ -19,6 +20,7 @@ const _useMeasureElement = require("./useMeasureElement");
|
|
|
19
20
|
const _useTableColumnResizeMouseHandler = require("./useTableColumnResizeMouseHandler");
|
|
20
21
|
const _useTableColumnResizeState = require("./useTableColumnResizeState");
|
|
21
22
|
const _useKeyboardResizing = require("./useKeyboardResizing");
|
|
23
|
+
const KeyboardResizingCurrentColumnDataAttribute = 'data-keyboard-resizing';
|
|
22
24
|
const defaultColumnSizingState = {
|
|
23
25
|
getColumnWidths: ()=>[],
|
|
24
26
|
getOnMouseDown: ()=>()=>null,
|
|
@@ -57,13 +59,13 @@ function useTableColumnSizingState(tableState, params) {
|
|
|
57
59
|
// Creates the mouse handler and attaches the state to it
|
|
58
60
|
const mouseHandler = (0, _useTableColumnResizeMouseHandler.useTableColumnResizeMouseHandler)(columnResizeState);
|
|
59
61
|
// Creates the keyboard handler for resizing columns
|
|
60
|
-
const
|
|
62
|
+
const { toggleInteractiveMode , columnId: keyboardResizingColumnId } = (0, _useKeyboardResizing.useKeyboardResizing)(columnResizeState);
|
|
61
63
|
const enableKeyboardMode = _react.useCallback((columnId, onChange)=>(e)=>{
|
|
62
64
|
e.preventDefault();
|
|
63
65
|
e.nativeEvent.stopPropagation();
|
|
64
|
-
|
|
66
|
+
toggleInteractiveMode(columnId, onChange);
|
|
65
67
|
}, [
|
|
66
|
-
|
|
68
|
+
toggleInteractiveMode
|
|
67
69
|
]);
|
|
68
70
|
return {
|
|
69
71
|
...tableState,
|
|
@@ -84,7 +86,10 @@ function useTableColumnSizingState(tableState, params) {
|
|
|
84
86
|
});
|
|
85
87
|
return col ? {
|
|
86
88
|
style: getColumnStyles(col),
|
|
87
|
-
aside
|
|
89
|
+
aside,
|
|
90
|
+
...keyboardResizingColumnId === columnId ? {
|
|
91
|
+
[KeyboardResizingCurrentColumnDataAttribute]: ''
|
|
92
|
+
} : {}
|
|
88
93
|
} : {};
|
|
89
94
|
},
|
|
90
95
|
getTableCellProps: (columnId)=>{
|
|
@@ -96,6 +101,4 @@ function useTableColumnSizingState(tableState, params) {
|
|
|
96
101
|
enableKeyboardMode
|
|
97
102
|
}
|
|
98
103
|
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
//# sourceMappingURL=useTableColumnSizing.js.map
|
|
104
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableColumnSizing.js"],"sourcesContent":["import * as React from 'react';\nimport { TableResizeHandle } from '../TableResizeHandle';\nimport { useMeasureElement } from './useMeasureElement';\nimport { useTableColumnResizeMouseHandler } from './useTableColumnResizeMouseHandler';\nimport { useTableColumnResizeState } from './useTableColumnResizeState';\nimport { useKeyboardResizing } from './useKeyboardResizing';\nexport const KeyboardResizingCurrentColumnDataAttribute = 'data-keyboard-resizing';\nexport const defaultColumnSizingState = {\n getColumnWidths: ()=>[],\n getOnMouseDown: ()=>()=>null,\n setColumnWidth: ()=>null,\n getTableHeaderCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n getTableCellProps: ()=>({\n style: {},\n columnId: ''\n }),\n enableKeyboardMode: ()=>()=>null\n};\nexport function useTableColumnSizing_unstable(params) {\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)=>useTableColumnSizingState(tableState, params);\n}\nfunction getColumnStyles(column) {\n const width = column.width;\n return {\n // native styles\n width,\n // non-native element styles (flex layout)\n minWidth: width,\n maxWidth: width\n };\n}\nfunction useTableColumnSizingState(tableState, params) {\n const { columns } = tableState;\n // Gets the container width\n const { width , measureElementRef } = useMeasureElement();\n // Creates the state based on columns and available containerWidth\n const columnResizeState = useTableColumnResizeState(columns, width + ((params === null || params === void 0 ? void 0 : params.containerWidthOffset) || 0), params);\n // Creates the mouse handler and attaches the state to it\n const mouseHandler = useTableColumnResizeMouseHandler(columnResizeState);\n // Creates the keyboard handler for resizing columns\n const { toggleInteractiveMode , columnId: keyboardResizingColumnId } = useKeyboardResizing(columnResizeState);\n const enableKeyboardMode = React.useCallback((columnId, onChange)=>(e)=>{\n e.preventDefault();\n e.nativeEvent.stopPropagation();\n toggleInteractiveMode(columnId, onChange);\n }, [\n toggleInteractiveMode\n ]);\n return {\n ...tableState,\n tableRef: measureElementRef,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: {\n getOnMouseDown: mouseHandler.getOnMouseDown,\n setColumnWidth: (columnId, w)=>columnResizeState.setColumnWidth(undefined, {\n columnId,\n width: w\n }),\n getColumnWidths: columnResizeState.getColumns,\n getTableHeaderCellProps: (columnId)=>{\n const col = columnResizeState.getColumnById(columnId);\n const aside = /*#__PURE__*/ React.createElement(TableResizeHandle, {\n onMouseDown: mouseHandler.getOnMouseDown(columnId),\n onTouchStart: mouseHandler.getOnMouseDown(columnId)\n });\n return col ? {\n style: getColumnStyles(col),\n aside,\n ...keyboardResizingColumnId === columnId ? {\n [KeyboardResizingCurrentColumnDataAttribute]: ''\n } : {}\n } : {};\n },\n getTableCellProps: (columnId)=>{\n const col = columnResizeState.getColumnById(columnId);\n return col ? {\n style: getColumnStyles(col)\n } : {};\n },\n enableKeyboardMode\n }\n };\n}\n"],"names":["KeyboardResizingCurrentColumnDataAttribute","defaultColumnSizingState","useTableColumnSizing_unstable","getColumnWidths","getOnMouseDown","setColumnWidth","getTableHeaderCellProps","style","columnId","getTableCellProps","enableKeyboardMode","params","tableState","useTableColumnSizingState","getColumnStyles","column","width","minWidth","maxWidth","columns","measureElementRef","useMeasureElement","columnResizeState","useTableColumnResizeState","containerWidthOffset","mouseHandler","useTableColumnResizeMouseHandler","toggleInteractiveMode","keyboardResizingColumnId","useKeyboardResizing","React","useCallback","onChange","e","preventDefault","nativeEvent","stopPropagation","tableRef","columnSizing_unstable","w","undefined","getColumns","col","getColumnById","aside","createElement","TableResizeHandle","onMouseDown","onTouchStart"],"mappings":";;;;;;;;;;;IAMaA,0CAA0C,MAA1CA;IACAC,wBAAwB,MAAxBA;IAcGC,6BAA6B,MAA7BA;;;6DArBO;mCACW;mCACA;kDACe;2CACP;qCACN;AAC7B,MAAMF,6CAA6C;AACnD,MAAMC,2BAA2B;IACpCE,iBAAiB,IAAI,EAAE;IACvBC,gBAAgB,IAAI,IAAI,IAAI;IAC5BC,gBAAgB,IAAI,IAAI;IACxBC,yBAAyB,IAAK,CAAA;YACtBC,OAAO,CAAC;YACRC,UAAU;QACd,CAAA;IACJC,mBAAmB,IAAK,CAAA;YAChBF,OAAO,CAAC;YACRC,UAAU;QACd,CAAA;IACJE,oBAAoB,IAAI,IAAI,IAAI;AACpC;AACO,SAASR,8BAA8BS,MAAM,EAAE;IAClD,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CAACC,aAAaC,0BAA0BD,YAAYD;AAC/D;AACA,SAASG,gBAAgBC,MAAM,EAAE;IAC7B,MAAMC,QAAQD,OAAOC,KAAK;IAC1B,OAAO;QACH,gBAAgB;QAChBA;QACA,0CAA0C;QAC1CC,UAAUD;QACVE,UAAUF;IACd;AACJ;AACA,SAASH,0BAA0BD,UAAU,EAAED,MAAM,EAAE;IACnD,MAAM,EAAEQ,QAAO,EAAG,GAAGP;IACrB,2BAA2B;IAC3B,MAAM,EAAEI,MAAK,EAAGI,kBAAiB,EAAG,GAAGC,IAAAA,oCAAiB;IACxD,kEAAkE;IAClE,MAAMC,oBAAoBC,IAAAA,oDAAyB,EAACJ,SAASH,QAAS,CAAA,AAACL,CAAAA,WAAW,IAAI,IAAIA,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOa,oBAAoB,AAAD,KAAM,CAAA,GAAIb;IAC3J,yDAAyD;IACzD,MAAMc,eAAeC,IAAAA,kEAAgC,EAACJ;IACtD,oDAAoD;IACpD,MAAM,EAAEK,sBAAqB,EAAGnB,UAAUoB,yBAAwB,EAAG,GAAGC,IAAAA,wCAAmB,EAACP;IAC5F,MAAMZ,qBAAqBoB,OAAMC,WAAW,CAAC,CAACvB,UAAUwB,WAAW,CAACC,IAAI;YAChEA,EAAEC,cAAc;YAChBD,EAAEE,WAAW,CAACC,eAAe;YAC7BT,sBAAsBnB,UAAUwB;QACpC,GAAG;QACHL;KACH;IACD,OAAO;QACH,GAAGf,UAAU;QACbyB,UAAUjB;QACV,gEAAgE;QAChEkB,uBAAuB;YACnBlC,gBAAgBqB,aAAarB,cAAc;YAC3CC,gBAAgB,CAACG,UAAU+B,IAAIjB,kBAAkBjB,cAAc,CAACmC,WAAW;oBACnEhC;oBACAQ,OAAOuB;gBACX;YACJpC,iBAAiBmB,kBAAkBmB,UAAU;YAC7CnC,yBAAyB,CAACE,WAAW;gBACjC,MAAMkC,MAAMpB,kBAAkBqB,aAAa,CAACnC;gBAC5C,MAAMoC,QAAQ,WAAW,GAAGd,OAAMe,aAAa,CAACC,oCAAiB,EAAE;oBAC/DC,aAAatB,aAAarB,cAAc,CAACI;oBACzCwC,cAAcvB,aAAarB,cAAc,CAACI;gBAC9C;gBACA,OAAOkC,MAAM;oBACTnC,OAAOO,gBAAgB4B;oBACvBE;oBACA,GAAGhB,6BAA6BpB,WAAW;wBACvC,CAACR,2CAA2C,EAAE;oBAClD,IAAI,CAAC,CAAC;gBACV,IAAI,CAAC,CAAC;YACV;YACAS,mBAAmB,CAACD,WAAW;gBAC3B,MAAMkC,MAAMpB,kBAAkBqB,aAAa,CAACnC;gBAC5C,OAAOkC,MAAM;oBACTnC,OAAOO,gBAAgB4B;gBAC3B,IAAI,CAAC,CAAC;YACV;YACAhC;QACJ;IACJ;AACJ"}
|
|
@@ -52,6 +52,4 @@ function useTableFeatures(options, plugins = []) {
|
|
|
52
52
|
tableRef: /*#__PURE__*/ _react.createRef()
|
|
53
53
|
};
|
|
54
54
|
return plugins.reduce((state, plugin)=>plugin(state), initialState);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
//# sourceMappingURL=useTableFeatures.js.map
|
|
55
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableFeatures.js"],"sourcesContent":["import * as React from 'react';\nimport { defaultTableSelectionState } from './useTableSelection';\nimport { defaultTableSortState } from './useTableSort';\nimport { defaultColumnSizingState } from './useTableColumnSizing';\nconst defaultRowEnhancer = (row)=>row;\nexport const defaultTableState = {\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n getRows: ()=>[],\n getRowId: ()=>'',\n items: [],\n columns: [],\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n};\nexport function useTableFeatures(options, plugins = []) {\n const { items , getRowId , columns } = options;\n var _getRowId;\n const getRows = (rowEnhancer = defaultRowEnhancer)=>{\n return items.map((item, i)=>{\n return rowEnhancer({\n item,\n rowId: (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i\n });\n });\n };\n const initialState = {\n getRowId,\n items,\n columns,\n getRows,\n selection: defaultTableSelectionState,\n sort: defaultTableSortState,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n columnSizing_unstable: defaultColumnSizingState,\n tableRef: React.createRef()\n };\n return plugins.reduce((state, plugin)=>plugin(state), initialState);\n}\n"],"names":["defaultTableState","useTableFeatures","defaultRowEnhancer","row","selection","defaultTableSelectionState","sort","defaultTableSortState","getRows","getRowId","items","columns","columnSizing_unstable","defaultColumnSizingState","tableRef","React","createRef","options","plugins","_getRowId","rowEnhancer","map","item","i","rowId","initialState","reduce","state","plugin"],"mappings":";;;;;;;;;;;IAKaA,iBAAiB,MAAjBA;IAWGC,gBAAgB,MAAhBA;;;6DAhBO;mCACoB;8BACL;sCACG;AACzC,MAAMC,qBAAqB,CAACC,MAAMA;AAC3B,MAAMH,oBAAoB;IAC7BI,WAAWC,6CAA0B;IACrCC,MAAMC,mCAAqB;IAC3BC,SAAS,IAAI,EAAE;IACfC,UAAU,IAAI;IACdC,OAAO,EAAE;IACTC,SAAS,EAAE;IACX,gEAAgE;IAChEC,uBAAuBC,8CAAwB;IAC/CC,wBAAUC,OAAMC,SAAS;AAC7B;AACO,SAASf,iBAAiBgB,OAAO,EAAEC,UAAU,EAAE,EAAE;IACpD,MAAM,EAAER,MAAK,EAAGD,SAAQ,EAAGE,QAAO,EAAG,GAAGM;IACxC,IAAIE;IACJ,MAAMX,UAAU,CAACY,cAAclB,kBAAkB,GAAG;QAChD,OAAOQ,MAAMW,GAAG,CAAC,CAACC,MAAMC,IAAI;YACxB,OAAOH,YAAY;gBACfE;gBACAE,OAAO,AAACL,CAAAA,YAAYV,aAAa,IAAI,IAAIA,aAAa,KAAK,IAAI,KAAK,IAAIA,SAASa,KAAK,AAAD,MAAO,IAAI,IAAIH,cAAc,KAAK,IAAIA,YAAYI,CAAC;YAC5I;QACJ;IACJ;IACA,MAAME,eAAe;QACjBhB;QACAC;QACAC;QACAH;QACAJ,WAAWC,6CAA0B;QACrCC,MAAMC,mCAAqB;QAC3B,gEAAgE;QAChEK,uBAAuBC,8CAAwB;QAC/CC,wBAAUC,OAAMC,SAAS;IAC7B;IACA,OAAOE,QAAQQ,MAAM,CAAC,CAACC,OAAOC,SAASA,OAAOD,QAAQF;AAC1D"}
|
|
@@ -24,7 +24,7 @@ const defaultTableSelectionState = {
|
|
|
24
24
|
deselectRow: noop,
|
|
25
25
|
isRowSelected: ()=>false,
|
|
26
26
|
selectRow: noop,
|
|
27
|
-
selectedRows:
|
|
27
|
+
selectedRows: new Set(),
|
|
28
28
|
someRowsSelected: false,
|
|
29
29
|
toggleAllRows: noop,
|
|
30
30
|
toggleRow: noop,
|
|
@@ -91,6 +91,4 @@ function useTableSelectionState(tableState, options) {
|
|
|
91
91
|
* Creates a set from a given iterable, in case the iterable is a set itself, returns the given set instead.
|
|
92
92
|
*/ function createSetFromIterable(iterable) {
|
|
93
93
|
return iterable instanceof Set ? iterable : new Set(iterable);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=useTableSelection.js.map
|
|
94
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableSelection.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState, useEventCallback } from '@fluentui/react-utilities';\nimport { createSelectionManager } from './selectionManager';\nconst noop = ()=>undefined;\nexport const defaultTableSelectionState = {\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};\nexport function useTableSelection(options) {\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)=>useTableSelectionState(tableState, options);\n}\nexport function useTableSelectionState(tableState, options) {\n const { items , getRowId } = tableState;\n const { selectionMode , defaultSelectedItems , selectedItems , onSelectionChange } = options;\n const [selected, setSelected] = useControllableState({\n initialState: new Set(),\n defaultState: React.useMemo(()=>defaultSelectedItems && createSetFromIterable(defaultSelectedItems), [\n defaultSelectedItems\n ]),\n state: React.useMemo(()=>selectedItems && createSetFromIterable(selectedItems), [\n selectedItems\n ])\n });\n const selectionManager = React.useMemo(()=>{\n return createSelectionManager(selectionMode, (e, newSelectedItems)=>{\n setSelected(()=>{\n onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(e, {\n selectedItems: newSelectedItems\n });\n return newSelectedItems;\n });\n });\n }, [\n onSelectionChange,\n selectionMode,\n setSelected\n ]);\n const toggleAllRows = useEventCallback((e)=>{\n var _getRowId;\n selectionManager.toggleAllItems(e, items.map((item, i)=>{\n return (_getRowId = getRowId === null || getRowId === void 0 ? void 0 : getRowId(item)) !== null && _getRowId !== void 0 ? _getRowId : i;\n }), selected);\n });\n const toggleRow = useEventCallback((e, rowId)=>selectionManager.toggleItem(e, rowId, selected));\n const deselectRow = useEventCallback((e, rowId)=>selectionManager.deselectItem(e, rowId, selected));\n const selectRow = useEventCallback((e, rowId)=>selectionManager.selectItem(e, rowId, selected));\n const isRowSelected = (rowId)=>selectionManager.isSelected(rowId, selected);\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/**\n * Creates a set from a given iterable, in case the iterable is a set itself, returns the given set instead.\n */ function createSetFromIterable(iterable) {\n return iterable instanceof Set ? iterable : new Set(iterable);\n}\n"],"names":["defaultTableSelectionState","useTableSelection","useTableSelectionState","noop","undefined","allRowsSelected","clearRows","deselectRow","isRowSelected","selectRow","selectedRows","Set","someRowsSelected","toggleAllRows","toggleRow","selectionMode","options","tableState","items","getRowId","defaultSelectedItems","selectedItems","onSelectionChange","selected","setSelected","useControllableState","initialState","defaultState","React","useMemo","createSetFromIterable","state","selectionManager","createSelectionManager","e","newSelectedItems","useEventCallback","_getRowId","toggleAllItems","map","item","i","rowId","toggleItem","deselectItem","selectItem","isSelected","selection","size","length","clearItems","iterable"],"mappings":";;;;;;;;;;;IAIaA,0BAA0B,MAA1BA;IAYGC,iBAAiB,MAAjBA;IAKAC,sBAAsB,MAAtBA;;;6DArBO;gCACgC;kCAChB;AACvC,MAAMC,OAAO,IAAIC;AACV,MAAMJ,6BAA6B;IACtCK,iBAAiB,KAAK;IACtBC,WAAWH;IACXI,aAAaJ;IACbK,eAAe,IAAI,KAAK;IACxBC,WAAWN;IACXO,cAAc,IAAIC;IAClBC,kBAAkB,KAAK;IACvBC,eAAeV;IACfW,WAAWX;IACXY,eAAe;AACnB;AACO,SAASd,kBAAkBe,OAAO,EAAE;IACvC,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CAACC,aAAaf,uBAAuBe,YAAYD;AAC5D;AACO,SAASd,uBAAuBe,UAAU,EAAED,OAAO,EAAE;IACxD,MAAM,EAAEE,MAAK,EAAGC,SAAQ,EAAG,GAAGF;IAC9B,MAAM,EAAEF,cAAa,EAAGK,qBAAoB,EAAGC,cAAa,EAAGC,kBAAiB,EAAG,GAAGN;IACtF,MAAM,CAACO,UAAUC,YAAY,GAAGC,IAAAA,oCAAoB,EAAC;QACjDC,cAAc,IAAIf;QAClBgB,cAAcC,OAAMC,OAAO,CAAC,IAAIT,wBAAwBU,sBAAsBV,uBAAuB;YACjGA;SACH;QACDW,OAAOH,OAAMC,OAAO,CAAC,IAAIR,iBAAiBS,sBAAsBT,gBAAgB;YAC5EA;SACH;IACL;IACA,MAAMW,mBAAmBJ,OAAMC,OAAO,CAAC,IAAI;QACvC,OAAOI,IAAAA,wCAAsB,EAAClB,eAAe,CAACmB,GAAGC,mBAAmB;YAChEX,YAAY,IAAI;gBACZF,sBAAsB,IAAI,IAAIA,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBY,GAAG;oBACvFb,eAAec;gBACnB,EAAE;gBACF,OAAOA;YACX;QACJ;IACJ,GAAG;QACCb;QACAP;QACAS;KACH;IACD,MAAMX,gBAAgBuB,IAAAA,gCAAgB,EAAC,CAACF,IAAI;QACxC,IAAIG;QACJL,iBAAiBM,cAAc,CAACJ,GAAGhB,MAAMqB,GAAG,CAAC,CAACC,MAAMC,IAAI;YACpD,OAAO,AAACJ,CAAAA,YAAYlB,aAAa,IAAI,IAAIA,aAAa,KAAK,IAAI,KAAK,IAAIA,SAASqB,KAAK,AAAD,MAAO,IAAI,IAAIH,cAAc,KAAK,IAAIA,YAAYI,CAAC;QAC5I,IAAIlB;IACR;IACA,MAAMT,YAAYsB,IAAAA,gCAAgB,EAAC,CAACF,GAAGQ,QAAQV,iBAAiBW,UAAU,CAACT,GAAGQ,OAAOnB;IACrF,MAAMhB,cAAc6B,IAAAA,gCAAgB,EAAC,CAACF,GAAGQ,QAAQV,iBAAiBY,YAAY,CAACV,GAAGQ,OAAOnB;IACzF,MAAMd,YAAY2B,IAAAA,gCAAgB,EAAC,CAACF,GAAGQ,QAAQV,iBAAiBa,UAAU,CAACX,GAAGQ,OAAOnB;IACrF,MAAMf,gBAAgB,CAACkC,QAAQV,iBAAiBc,UAAU,CAACJ,OAAOnB;IAClE,OAAO;QACH,GAAGN,UAAU;QACb8B,WAAW;YACPhC;YACAH,kBAAkBW,SAASyB,IAAI,GAAG;YAClC3C,iBAAiBU,kBAAkB,WAAWQ,SAASyB,IAAI,GAAG,IAAIzB,SAASyB,IAAI,KAAK9B,MAAM+B,MAAM;YAChGvC,cAAca;YACdT;YACAD;YACAP,WAAW0B,iBAAiBkB,UAAU;YACtC3C;YACAE;YACAD;QACJ;IACJ;AACJ;AACA;;CAEC,GAAG,SAASsB,sBAAsBqB,QAAQ,EAAE;IACzC,OAAOA,oBAAoBxC,MAAMwC,WAAW,IAAIxC,IAAIwC,SAAS;AACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["useTableSort.js"],"sourcesContent":["import * as React from 'react';\nimport { useControllableState } from '@fluentui/react-utilities';\nconst noop = ()=>undefined;\nexport const defaultTableSortState = {\n getSortDirection: ()=>'ascending',\n setColumnSort: noop,\n sort: (rows)=>[\n ...rows\n ],\n sortColumn: undefined,\n sortDirection: 'ascending',\n toggleColumnSort: noop\n};\nexport function useTableSort(options) {\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)=>useTableSortState(tableState, options);\n}\nexport function useTableSortState(tableState, options) {\n const { columns } = tableState;\n const { sortState , defaultSortState , onSortChange } = options;\n const [sorted, setSorted] = useControllableState({\n initialState: {\n sortDirection: 'ascending',\n sortColumn: undefined\n },\n defaultState: defaultSortState,\n state: sortState\n });\n const { sortColumn , sortDirection } = sorted;\n const toggleColumnSort = (e, columnId)=>{\n setSorted((s)=>{\n const newState = {\n ...s,\n sortColumn: columnId\n };\n if (s.sortColumn === columnId) {\n newState.sortDirection = s.sortDirection === 'ascending' ? 'descending' : 'ascending';\n } else {\n newState.sortDirection = 'ascending';\n }\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n return newState;\n });\n };\n const setColumnSort = (e, nextSortColumn, nextSortDirection)=>{\n const newState = {\n sortColumn: nextSortColumn,\n sortDirection: nextSortDirection\n };\n onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(e, newState);\n setSorted(newState);\n };\n const sort = (rows)=>{\n return rows.slice().sort((a, b)=>{\n const sortColumnDef = columns.find((column)=>column.columnId === sortColumn);\n if (!(sortColumnDef === null || sortColumnDef === void 0 ? void 0 : sortColumnDef.compare)) {\n return 0;\n }\n const mod = sortDirection === 'ascending' ? 1 : -1;\n return sortColumnDef.compare(a.item, b.item) * mod;\n });\n };\n const getSortDirection = (columnId)=>{\n return sortColumn === columnId ? sortDirection : undefined;\n };\n return {\n ...tableState,\n sort: {\n sort,\n sortColumn,\n sortDirection,\n setColumnSort,\n toggleColumnSort,\n getSortDirection\n }\n };\n}\n"],"names":["defaultTableSortState","useTableSort","useTableSortState","noop","undefined","getSortDirection","setColumnSort","sort","rows","sortColumn","sortDirection","toggleColumnSort","options","tableState","columns","sortState","defaultSortState","onSortChange","sorted","setSorted","useControllableState","initialState","defaultState","state","e","columnId","s","newState","nextSortColumn","nextSortDirection","slice","a","b","sortColumnDef","find","column","compare","mod","item"],"mappings":";;;;;;;;;;;IAGaA,qBAAqB,MAArBA;IAUGC,YAAY,MAAZA;IAKAC,iBAAiB,MAAjBA;;;6DAlBO;gCACc;AACrC,MAAMC,OAAO,IAAIC;AACV,MAAMJ,wBAAwB;IACjCK,kBAAkB,IAAI;IACtBC,eAAeH;IACfI,MAAM,CAACC,OAAO;eACHA;SACN;IACLC,YAAYL;IACZM,eAAe;IACfC,kBAAkBR;AACtB;AACO,SAASF,aAAaW,OAAO,EAAE;IAClC,4EAA4E;IAC5E,sDAAsD;IACtD,OAAO,CAACC,aAAaX,kBAAkBW,YAAYD;AACvD;AACO,SAASV,kBAAkBW,UAAU,EAAED,OAAO,EAAE;IACnD,MAAM,EAAEE,QAAO,EAAG,GAAGD;IACrB,MAAM,EAAEE,UAAS,EAAGC,iBAAgB,EAAGC,aAAY,EAAG,GAAGL;IACzD,MAAM,CAACM,QAAQC,UAAU,GAAGC,IAAAA,oCAAoB,EAAC;QAC7CC,cAAc;YACVX,eAAe;YACfD,YAAYL;QAChB;QACAkB,cAAcN;QACdO,OAAOR;IACX;IACA,MAAM,EAAEN,WAAU,EAAGC,cAAa,EAAG,GAAGQ;IACxC,MAAMP,mBAAmB,CAACa,GAAGC,WAAW;QACpCN,UAAU,CAACO,IAAI;YACX,MAAMC,WAAW;gBACb,GAAGD,CAAC;gBACJjB,YAAYgB;YAChB;YACA,IAAIC,EAAEjB,UAAU,KAAKgB,UAAU;gBAC3BE,SAASjB,aAAa,GAAGgB,EAAEhB,aAAa,KAAK,cAAc,eAAe,WAAW;YACzF,OAAO;gBACHiB,SAASjB,aAAa,GAAG;YAC7B,CAAC;YACDO,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaO,GAAGG,SAAS;YACrF,OAAOA;QACX;IACJ;IACA,MAAMrB,gBAAgB,CAACkB,GAAGI,gBAAgBC,oBAAoB;QAC1D,MAAMF,WAAW;YACblB,YAAYmB;YACZlB,eAAemB;QACnB;QACAZ,iBAAiB,IAAI,IAAIA,iBAAiB,KAAK,IAAI,KAAK,IAAIA,aAAaO,GAAGG,SAAS;QACrFR,UAAUQ;IACd;IACA,MAAMpB,OAAO,CAACC,OAAO;QACjB,OAAOA,KAAKsB,KAAK,GAAGvB,IAAI,CAAC,CAACwB,GAAGC,IAAI;YAC7B,MAAMC,gBAAgBnB,QAAQoB,IAAI,CAAC,CAACC,SAASA,OAAOV,QAAQ,KAAKhB;YACjE,IAAI,CAAEwB,CAAAA,kBAAkB,IAAI,IAAIA,kBAAkB,KAAK,IAAI,KAAK,IAAIA,cAAcG,OAAO,AAAD,GAAI;gBACxF,OAAO;YACX,CAAC;YACD,MAAMC,MAAM3B,kBAAkB,cAAc,IAAI,CAAC,CAAC;YAClD,OAAOuB,cAAcG,OAAO,CAACL,EAAEO,IAAI,EAAEN,EAAEM,IAAI,IAAID;QACnD;IACJ;IACA,MAAMhC,mBAAmB,CAACoB,WAAW;QACjC,OAAOhB,eAAegB,WAAWf,gBAAgBN,SAAS;IAC9D;IACA,OAAO;QACH,GAAGS,UAAU;QACbN,MAAM;YACFA;YACAE;YACAC;YACAJ;YACAK;YACAN;QACJ;IACJ;AACJ"}
|
package/lib-commonjs/index.js
CHANGED
|
@@ -131,6 +131,3 @@ const _dataGrid = require("./DataGrid");
|
|
|
131
131
|
const _dataGridHeader = require("./DataGridHeader");
|
|
132
132
|
const _dataGridHeaderCell = require("./DataGridHeaderCell");
|
|
133
133
|
const _dataGridSelectionCell = require("./DataGridSelectionCell");
|
|
134
|
-
//# sourceMappingURL=index.js.map
|
|
135
|
-
|
|
136
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export { useTableFeatures, useTableSelection, useTableSort, createTableColumn, useTableColumnSizing_unstable } from './hooks';\nexport { TableCell, tableCellClassNames, tableCellClassName, useTableCellStyles_unstable, useTableCell_unstable, renderTableCell_unstable } from './TableCell';\nexport { TableRow, tableRowClassNames, tableRowClassName, useTableRowStyles_unstable, useTableRow_unstable, renderTableRow_unstable } from './TableRow';\nexport { TableBody, tableBodyClassName, tableBodyClassNames, useTableBodyStyles_unstable, useTableBody_unstable, renderTableBody_unstable } from './TableBody';\nexport { Table, tableClassName, tableClassNames, useTableStyles_unstable, useTable_unstable, renderTable_unstable } from './Table';\nexport { TableHeader, tableHeaderClassNames, tableHeaderClassName, useTableHeaderStyles_unstable, useTableHeader_unstable, renderTableHeader_unstable } from './TableHeader';\nexport { TableHeaderCell, tableHeaderCellClassName, tableHeaderCellClassNames, useTableHeaderCellStyles_unstable, useTableHeaderCell_unstable, renderTableHeaderCell_unstable } from './TableHeaderCell';\nexport { TableResizeHandle, tableResizeHandleClassNames, useTableResizeHandleStyles_unstable, useTableResizeHandle_unstable, renderTableResizeHandle_unstable } from './TableResizeHandle';\nexport { TableContextProvider, useTableContext } from './contexts/tableContext';\nexport { useTableRowIdContext, TableRowIdContextProvider } from './contexts/rowIdContext';\nexport { TableSelectionCell, useTableSelectionCellStyles_unstable, useTableSelectionCell_unstable, renderTableSelectionCell_unstable, tableSelectionCellClassNames } from './TableSelectionCell';\nexport { TableCellActions, tableCellActionsClassNames, useTableCellActionsStyles_unstable, useTableCellActions_unstable, renderTableCellActions_unstable } from './TableCellActions';\nexport { TableCellLayout, tableCellLayoutClassNames, useTableCellLayoutStyles_unstable, useTableCellLayout_unstable, renderTableCellLayout_unstable } from './TableCellLayout';\nexport { DataGridCell, dataGridCellClassNames, useDataGridCellStyles_unstable, useDataGridCell_unstable, renderDataGridCell_unstable } from './DataGridCell';\nexport { DataGridRow, dataGridRowClassNames, useDataGridRowStyles_unstable, useDataGridRow_unstable, renderDataGridRow_unstable } from './DataGridRow';\nexport { DataGridBody, dataGridBodyClassNames, useDataGridBodyStyles_unstable, useDataGridBody_unstable, renderDataGridBody_unstable } from './DataGridBody';\nexport { DataGrid, dataGridClassNames, useDataGridStyles_unstable, useDataGrid_unstable, renderDataGrid_unstable, useDataGridContextValues_unstable } from './DataGrid';\nexport { DataGridHeader, dataGridHeaderClassNames, useDataGridHeaderStyles_unstable, useDataGridHeader_unstable, renderDataGridHeader_unstable } from './DataGridHeader';\nexport { DataGridHeaderCell, dataGridHeaderCellClassNames, useDataGridHeaderCellStyles_unstable, useDataGridHeaderCell_unstable, renderDataGridHeaderCell_unstable } from './DataGridHeaderCell';\nexport { DataGridSelectionCell, useDataGridSelectionCellStyles_unstable, useDataGridSelectionCell_unstable, renderDataGridSelectionCell_unstable, dataGridSelectionCellClassNames } from './DataGridSelectionCell';\n"],"names":["useTableFeatures","useTableSelection","useTableSort","createTableColumn","useTableColumnSizing_unstable","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","TableResizeHandle","tableResizeHandleClassNames","useTableResizeHandleStyles_unstable","useTableResizeHandle_unstable","renderTableResizeHandle_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","useDataGridContextValues_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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../lib/utils/columnResizeUtils.js"],"sourcesContent":["const DEFAULT_WIDTH = 150;\nconst DEFAULT_MIN_WIDTH = 100;\n/**\n * This function takes the column definitions and the curent ColumnWidthState and returns new state.\n * - It uses existing state for existing columns.\n * - It removes any state for columns no longer present.\n * - It checks if any column has been replaced and returns updated state if so\n * - It returns old state if no changes in the state have been made (so that react doesn't call effects)\n * @param columns\n * @param state\n * @returns\n */\nexport function columnDefinitionsToState(columns, state = [], columnSizingOptions = {}) {\n let updated = false;\n const stateMap = new Map(state.map(s => [s.columnId, s]));\n const updatedState = columns.map(column => {\n const existingColumnState = stateMap.get(column.columnId);\n if (existingColumnState) {\n var _columnSizingOptions_column_columnId;\n const {\n idealWidth = existingColumnState.idealWidth,\n minWidth = existingColumnState.minWidth,\n padding = existingColumnState.padding\n } = (_columnSizingOptions_column_columnId = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId !== void 0 ? _columnSizingOptions_column_columnId : {};\n if (idealWidth !== existingColumnState.idealWidth || minWidth !== existingColumnState.minWidth || padding !== existingColumnState.padding) {\n updated = true;\n return {\n ...existingColumnState,\n idealWidth,\n width: idealWidth,\n minWidth,\n padding\n };\n }\n return existingColumnState;\n }\n var _columnSizingOptions_column_columnId1;\n const {\n defaultWidth,\n idealWidth = DEFAULT_WIDTH,\n minWidth = DEFAULT_MIN_WIDTH,\n padding\n } = (_columnSizingOptions_column_columnId1 = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId1 !== void 0 ? _columnSizingOptions_column_columnId1 : {};\n updated = true;\n return {\n columnId: column.columnId,\n width: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n minWidth,\n idealWidth: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n padding: padding !== null && padding !== void 0 ? padding : 16\n };\n });\n // If the length of the new state changed (column was added or removed) or any of\n // the individual states has a new reference (column was replaced),\n // we have to reset the column widths to their ideal width (because the column which was last may not be last now).\n // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.\n if (updatedState.length !== state.length || updated) {\n const column = updatedState.find(col => col.width > col.idealWidth);\n if (column) {\n column.width = column.idealWidth;\n }\n updated = true;\n }\n return updated ? updatedState : state;\n}\nexport function getColumnById(state, columnId) {\n return state.find(c => c.columnId === columnId);\n}\nexport function getColumnByIndex(state, index) {\n return state[index];\n}\nexport function getTotalWidth(state) {\n return state.reduce((sum, column) => sum + column.width + column.padding, 0);\n}\nexport function getLength(state) {\n return state.length;\n}\nexport function getColumnWidth(state, columnId) {\n const column = getColumnById(state, columnId);\n var _column_width;\n return (_column_width = column === null || column === void 0 ? void 0 : column.width) !== null && _column_width !== void 0 ? _column_width : 0;\n}\n/**\n * This function takes the current state and returns an updated state, so that it can be set.\n * The reason for this is that we can update the state multiple times before commiting to render.\n * This is an optimization and also prevents flickering.\n * It also returns new copy of the state only if the value is different than the one currently in\n * the state, further preventing unnecessary updates.\n * @param localState\n * @param columnId\n * @param property\n * @param value\n * @returns\n */\nexport function setColumnProperty(localState, columnId, property, value) {\n const currentColumn = getColumnById(localState, columnId);\n if (!currentColumn || (currentColumn === null || currentColumn === void 0 ? void 0 : currentColumn[property]) === value) {\n return localState;\n }\n const updatedColumn = {\n ...currentColumn,\n [property]: value\n };\n const newState = localState.reduce((acc, current) => {\n if (current.columnId === updatedColumn.columnId) {\n return [...acc, updatedColumn];\n }\n return [...acc, current];\n }, []);\n return newState;\n}\n/**\n * This function takes the state and container width and makes sure the each column in the state\n * is its optimal width, and that the columns\n * a) fit to the container\n * b) always fill the whole container\n * @param state\n * @param containerWidth\n * @returns\n */\nexport function adjustColumnWidthsToFitContainer(state, containerWidth) {\n let newState = state;\n const totalWidth = getTotalWidth(newState);\n // The total width is smaller, we are expanding columns\n if (totalWidth < containerWidth) {\n let difference = containerWidth - totalWidth;\n let i = 0;\n // We start at the beginning and assign the columns their ideal width\n while (i < newState.length && difference > 0) {\n const currentCol = getColumnByIndex(newState, i);\n const colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);\n difference -= colAdjustment;\n // if there is still empty space, after all columns are their ideal sizes, assign it to the last column\n if (i === newState.length - 1 && difference !== 0) {\n const lastCol = getColumnByIndex(newState, i);\n newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);\n }\n i++;\n }\n } else if (totalWidth >= containerWidth) {\n let difference = totalWidth - containerWidth;\n // We start with the last column\n let j = newState.length - 1;\n while (j >= 0 && difference > 0) {\n const currentCol = getColumnByIndex(newState, j);\n if (currentCol.width > currentCol.minWidth) {\n const colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);\n difference -= colAdjustment;\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);\n }\n j--;\n }\n }\n return newState;\n}\n//# sourceMappingURL=columnResizeUtils.js.map"],"names":["columnDefinitionsToState","getColumnById","getColumnByIndex","getTotalWidth","getLength","getColumnWidth","setColumnProperty","adjustColumnWidthsToFitContainer","DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","columns","state","columnSizingOptions","updated","stateMap","Map","map","s","columnId","updatedState","column","existingColumnState","get","_columnSizingOptions_column_columnId","idealWidth","minWidth","padding","width","_columnSizingOptions_column_columnId1","defaultWidth","Math","max","length","find","col","c","index","reduce","sum","_column_width","localState","property","value","currentColumn","updatedColumn","newState","acc","current","containerWidth","totalWidth","difference","i","currentCol","colAdjustment","min","lastCol","j"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["columnResizeUtils.js"],"sourcesContent":["const DEFAULT_WIDTH = 150;\nconst DEFAULT_MIN_WIDTH = 100;\n/**\n * This function takes the column definitions and the curent ColumnWidthState and returns new state.\n * - It uses existing state for existing columns.\n * - It removes any state for columns no longer present.\n * - It checks if any column has been replaced and returns updated state if so\n * - It returns old state if no changes in the state have been made (so that react doesn't call effects)\n * @param columns\n * @param state\n * @returns\n */ export function columnDefinitionsToState(columns, state = [], columnSizingOptions = {}) {\n let updated = false;\n const stateMap = new Map(state.map((s)=>[\n s.columnId,\n s\n ]));\n const updatedState = columns.map((column)=>{\n const existingColumnState = stateMap.get(column.columnId);\n if (existingColumnState) {\n var _columnSizingOptions_column_columnId;\n const { idealWidth =existingColumnState.idealWidth , minWidth =existingColumnState.minWidth , padding =existingColumnState.padding } = (_columnSizingOptions_column_columnId = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId !== void 0 ? _columnSizingOptions_column_columnId : {};\n if (idealWidth !== existingColumnState.idealWidth || minWidth !== existingColumnState.minWidth || padding !== existingColumnState.padding) {\n updated = true;\n return {\n ...existingColumnState,\n idealWidth,\n width: idealWidth,\n minWidth,\n padding\n };\n }\n return existingColumnState;\n }\n var _columnSizingOptions_column_columnId1;\n const { defaultWidth , idealWidth =DEFAULT_WIDTH , minWidth =DEFAULT_MIN_WIDTH , padding } = (_columnSizingOptions_column_columnId1 = columnSizingOptions[column.columnId]) !== null && _columnSizingOptions_column_columnId1 !== void 0 ? _columnSizingOptions_column_columnId1 : {};\n updated = true;\n return {\n columnId: column.columnId,\n width: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n minWidth,\n idealWidth: Math.max(defaultWidth !== null && defaultWidth !== void 0 ? defaultWidth : idealWidth, minWidth),\n padding: padding !== null && padding !== void 0 ? padding : 16\n };\n });\n // If the length of the new state changed (column was added or removed) or any of\n // the individual states has a new reference (column was replaced),\n // we have to reset the column widths to their ideal width (because the column which was last may not be last now).\n // Then the adjustColumnWidthsToFitContainer can do its job and properly stretch the last column.\n if (updatedState.length !== state.length || updated) {\n const column = updatedState.find((col)=>col.width > col.idealWidth);\n if (column) {\n column.width = column.idealWidth;\n }\n updated = true;\n }\n return updated ? updatedState : state;\n}\nexport function getColumnById(state, columnId) {\n return state.find((c)=>c.columnId === columnId);\n}\nexport function getColumnByIndex(state, index) {\n return state[index];\n}\nexport function getTotalWidth(state) {\n return state.reduce((sum, column)=>sum + column.width + column.padding, 0);\n}\nexport function getLength(state) {\n return state.length;\n}\nexport function getColumnWidth(state, columnId) {\n const column = getColumnById(state, columnId);\n var _column_width;\n return (_column_width = column === null || column === void 0 ? void 0 : column.width) !== null && _column_width !== void 0 ? _column_width : 0;\n}\n/**\n * This function takes the current state and returns an updated state, so that it can be set.\n * The reason for this is that we can update the state multiple times before commiting to render.\n * This is an optimization and also prevents flickering.\n * It also returns new copy of the state only if the value is different than the one currently in\n * the state, further preventing unnecessary updates.\n * @param localState\n * @param columnId\n * @param property\n * @param value\n * @returns\n */ export function setColumnProperty(localState, columnId, property, value) {\n const currentColumn = getColumnById(localState, columnId);\n if (!currentColumn || (currentColumn === null || currentColumn === void 0 ? void 0 : currentColumn[property]) === value) {\n return localState;\n }\n const updatedColumn = {\n ...currentColumn,\n [property]: value\n };\n const newState = localState.reduce((acc, current)=>{\n if (current.columnId === updatedColumn.columnId) {\n return [\n ...acc,\n updatedColumn\n ];\n }\n return [\n ...acc,\n current\n ];\n }, []);\n return newState;\n}\n/**\n * This function takes the state and container width and makes sure the each column in the state\n * is its optimal width, and that the columns\n * a) fit to the container\n * b) always fill the whole container\n * @param state\n * @param containerWidth\n * @returns\n */ export function adjustColumnWidthsToFitContainer(state, containerWidth) {\n let newState = state;\n const totalWidth = getTotalWidth(newState);\n // The total width is smaller, we are expanding columns\n if (totalWidth < containerWidth) {\n let difference = containerWidth - totalWidth;\n let i = 0;\n // We start at the beginning and assign the columns their ideal width\n while(i < newState.length && difference > 0){\n const currentCol = getColumnByIndex(newState, i);\n const colAdjustment = Math.min(currentCol.idealWidth - currentCol.width, difference);\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width + colAdjustment);\n difference -= colAdjustment;\n // if there is still empty space, after all columns are their ideal sizes, assign it to the last column\n if (i === newState.length - 1 && difference !== 0) {\n const lastCol = getColumnByIndex(newState, i);\n newState = setColumnProperty(newState, lastCol.columnId, 'width', lastCol.width + difference);\n }\n i++;\n }\n } else if (totalWidth >= containerWidth) {\n let difference = totalWidth - containerWidth;\n // We start with the last column\n let j = newState.length - 1;\n while(j >= 0 && difference > 0){\n const currentCol = getColumnByIndex(newState, j);\n if (currentCol.width > currentCol.minWidth) {\n const colAdjustment = Math.min(currentCol.width - currentCol.minWidth, difference);\n difference -= colAdjustment;\n newState = setColumnProperty(newState, currentCol.columnId, 'width', currentCol.width - colAdjustment);\n }\n j--;\n }\n }\n return newState;\n}\n"],"names":["columnDefinitionsToState","getColumnById","getColumnByIndex","getTotalWidth","getLength","getColumnWidth","setColumnProperty","adjustColumnWidthsToFitContainer","DEFAULT_WIDTH","DEFAULT_MIN_WIDTH","columns","state","columnSizingOptions","updated","stateMap","Map","map","s","columnId","updatedState","column","existingColumnState","get","_columnSizingOptions_column_columnId","idealWidth","minWidth","padding","width","_columnSizingOptions_column_columnId1","defaultWidth","Math","max","length","find","col","c","index","reduce","sum","_column_width","localState","property","value","currentColumn","updatedColumn","newState","acc","current","containerWidth","totalWidth","difference","i","currentCol","colAdjustment","min","lastCol","j"],"mappings":"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"}
|