@fluentui/react-table 9.8.1 → 9.8.3
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 +145 -1
- package/CHANGELOG.md +39 -2
- package/lib/components/DataGrid/DataGrid.js.map +1 -1
- package/lib/components/DataGrid/renderDataGrid.js.map +1 -1
- package/lib/components/DataGrid/useDataGrid.js +5 -5
- package/lib/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib/components/DataGrid/useDataGridContextValues.js +1 -1
- package/lib/components/DataGrid/useDataGridContextValues.js.map +1 -1
- package/lib/components/DataGridBody/DataGridBody.js.map +1 -1
- package/lib/components/DataGridBody/renderDataGridBody.js +7 -5
- package/lib/components/DataGridBody/renderDataGridBody.js.map +1 -1
- package/lib/components/DataGridBody/useDataGridBody.js +1 -1
- package/lib/components/DataGridBody/useDataGridBody.js.map +1 -1
- package/lib/components/DataGridCell/DataGridCell.js.map +1 -1
- package/lib/components/DataGridCell/renderDataGridCell.js.map +1 -1
- package/lib/components/DataGridCell/useDataGridCell.js +1 -1
- package/lib/components/DataGridCell/useDataGridCell.js.map +1 -1
- package/lib/components/DataGridHeader/DataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeader/useDataGridHeader.js.map +1 -1
- package/lib/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js +3 -3
- package/lib/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib/components/DataGridRow/DataGridRow.js.map +1 -1
- package/lib/components/DataGridRow/renderDataGridRow.js +10 -5
- package/lib/components/DataGridRow/renderDataGridRow.js.map +1 -1
- package/lib/components/DataGridRow/useDataGridRow.js +4 -4
- package/lib/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
- package/lib/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js +2 -2
- package/lib/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/renderTable.js +5 -4
- package/lib/components/Table/renderTable.js.map +1 -1
- package/lib/components/Table/useTable.js.map +1 -1
- package/lib/components/Table/useTableContextValues.js +1 -1
- package/lib/components/Table/useTableContextValues.js.map +1 -1
- package/lib/components/TableBody/TableBody.js.map +1 -1
- package/lib/components/TableBody/renderTableBody.js +2 -2
- package/lib/components/TableBody/renderTableBody.js.map +1 -1
- package/lib/components/TableBody/useTableBody.js +1 -1
- package/lib/components/TableBody/useTableBody.js.map +1 -1
- package/lib/components/TableCell/TableCell.js.map +1 -1
- package/lib/components/TableCell/renderTableCell.js +2 -2
- package/lib/components/TableCell/renderTableCell.js.map +1 -1
- package/lib/components/TableCell/useTableCell.js +1 -1
- package/lib/components/TableCell/useTableCell.js.map +1 -1
- package/lib/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/renderTableCellActions.js +2 -2
- package/lib/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/renderTableCellLayout.js +17 -4
- package/lib/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayout.js +1 -1
- package/lib/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib/components/TableCellLayout/useTableCellLayoutContextValues.js +1 -1
- 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.map +1 -1
- package/lib/components/TableHeader/renderTableHeader.js +5 -4
- package/lib/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib/components/TableHeader/useTableHeader.js +1 -1
- package/lib/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js +12 -2
- package/lib/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js +1 -1
- package/lib/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
- package/lib/components/TableResizeHandle/renderTableResizeHandle.js +2 -2
- package/lib/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
- package/lib/components/TableResizeHandle/useTableResizeHandle.js +2 -2
- package/lib/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib/components/TableRow/TableRow.js.map +1 -1
- package/lib/components/TableRow/renderTableRow.js +2 -2
- package/lib/components/TableRow/renderTableRow.js.map +1 -1
- package/lib/components/TableRow/useTableRow.js +1 -1
- package/lib/components/TableRow/useTableRow.js.map +1 -1
- package/lib/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js +7 -2
- package/lib/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib/components/TableSelectionCell/useTableSelectionCell.js +2 -2
- package/lib/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib/contexts/columnIdContext.js.map +1 -1
- package/lib/contexts/dataGridContext.js.map +1 -1
- package/lib/contexts/rowIdContext.js.map +1 -1
- package/lib/contexts/tableContext.js.map +1 -1
- package/lib/hooks/createColumn.js +1 -1
- package/lib/hooks/createColumn.js.map +1 -1
- package/lib/hooks/useKeyboardResizing.js +6 -6
- package/lib/hooks/useKeyboardResizing.js.map +1 -1
- package/lib/hooks/useMeasureElement.js +3 -2
- package/lib/hooks/useMeasureElement.js.map +1 -1
- package/lib/hooks/useTableColumnResizeMouseHandler.js +20 -16
- package/lib/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib/hooks/useTableColumnResizeState.js +5 -5
- package/lib/hooks/useTableColumnResizeState.js.map +1 -1
- package/lib/hooks/useTableColumnSizing.js +7 -6
- package/lib/hooks/useTableColumnSizing.js.map +1 -1
- package/lib/hooks/useTableCompositeNavigation.js +2 -2
- package/lib/hooks/useTableCompositeNavigation.js.map +1 -1
- package/lib/hooks/useTableFeatures.js +4 -5
- package/lib/hooks/useTableFeatures.js.map +1 -1
- package/lib/hooks/useTableSelection.js +6 -4
- package/lib/hooks/useTableSelection.js.map +1 -1
- package/lib/hooks/useTableSort.js +9 -6
- package/lib/hooks/useTableSort.js.map +1 -1
- package/lib/utils/columnResizeUtils.js +6 -4
- package/lib/utils/columnResizeUtils.js.map +1 -1
- package/lib-commonjs/DataGrid.js +2 -2
- package/lib-commonjs/DataGrid.js.map +1 -1
- package/lib-commonjs/DataGridBody.js +2 -2
- package/lib-commonjs/DataGridBody.js.map +1 -1
- package/lib-commonjs/DataGridCell.js +2 -2
- package/lib-commonjs/DataGridCell.js.map +1 -1
- package/lib-commonjs/DataGridHeader.js +2 -2
- package/lib-commonjs/DataGridHeader.js.map +1 -1
- package/lib-commonjs/DataGridHeaderCell.js +2 -2
- package/lib-commonjs/DataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/DataGridRow.js +2 -2
- package/lib-commonjs/DataGridRow.js.map +1 -1
- package/lib-commonjs/DataGridSelectionCell.js +2 -2
- package/lib-commonjs/DataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/Table.js +2 -2
- package/lib-commonjs/Table.js.map +1 -1
- package/lib-commonjs/TableBody.js +2 -2
- package/lib-commonjs/TableBody.js.map +1 -1
- package/lib-commonjs/TableCell.js +2 -2
- package/lib-commonjs/TableCell.js.map +1 -1
- package/lib-commonjs/TableCellActions.js +2 -2
- package/lib-commonjs/TableCellActions.js.map +1 -1
- package/lib-commonjs/TableCellLayout.js +2 -2
- package/lib-commonjs/TableCellLayout.js.map +1 -1
- package/lib-commonjs/TableCellPrimaryLayout.js +2 -2
- package/lib-commonjs/TableCellPrimaryLayout.js.map +1 -1
- package/lib-commonjs/TableHeader.js +2 -2
- package/lib-commonjs/TableHeader.js.map +1 -1
- package/lib-commonjs/TableHeaderCell.js +2 -2
- package/lib-commonjs/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/TableResizeHandle.js +2 -2
- package/lib-commonjs/TableResizeHandle.js.map +1 -1
- package/lib-commonjs/TableRow.js +2 -2
- package/lib-commonjs/TableRow.js.map +1 -1
- package/lib-commonjs/TableSelectionCell.js +2 -2
- package/lib-commonjs/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGrid/DataGrid.js +9 -7
- package/lib-commonjs/components/DataGrid/DataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/DataGrid.types.js +2 -2
- package/lib-commonjs/components/DataGrid/DataGrid.types.js.map +1 -1
- package/lib-commonjs/components/DataGrid/index.js +7 -7
- package/lib-commonjs/components/DataGrid/index.js.map +1 -1
- package/lib-commonjs/components/DataGrid/renderDataGrid.js +5 -3
- package/lib-commonjs/components/DataGrid/renderDataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGrid.js +20 -18
- package/lib-commonjs/components/DataGrid/useDataGrid.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js +4 -2
- package/lib-commonjs/components/DataGrid/useDataGridContextValues.js.map +1 -1
- package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/DataGridBody.js +9 -7
- package/lib-commonjs/components/DataGridBody/DataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js +2 -2
- package/lib-commonjs/components/DataGridBody/DataGridBody.types.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/index.js +6 -6
- package/lib-commonjs/components/DataGridBody/index.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js +13 -9
- package/lib-commonjs/components/DataGridBody/renderDataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js +6 -4
- package/lib-commonjs/components/DataGridBody/useDataGridBody.js.map +1 -1
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/DataGridCell.js +9 -7
- package/lib-commonjs/components/DataGridCell/DataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/index.js +6 -6
- package/lib-commonjs/components/DataGridCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js +3 -1
- package/lib-commonjs/components/DataGridCell/renderDataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js +8 -6
- package/lib-commonjs/components/DataGridCell/useDataGridCell.js.map +1 -1
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js +9 -7
- package/lib-commonjs/components/DataGridHeader/DataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/index.js +6 -6
- package/lib-commonjs/components/DataGridHeader/index.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js +3 -1
- package/lib-commonjs/components/DataGridHeader/renderDataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js +5 -3
- package/lib-commonjs/components/DataGridHeader/useDataGridHeader.js.map +1 -1
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js +9 -7
- package/lib-commonjs/components/DataGridHeaderCell/DataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/index.js +6 -6
- package/lib-commonjs/components/DataGridHeaderCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js +3 -1
- package/lib-commonjs/components/DataGridHeaderCell/renderDataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js +10 -8
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCell.js.map +1 -1
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/DataGridRow.js +9 -7
- package/lib-commonjs/components/DataGridRow/DataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js +2 -2
- package/lib-commonjs/components/DataGridRow/DataGridRow.types.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/index.js +6 -6
- package/lib-commonjs/components/DataGridRow/index.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js +16 -9
- package/lib-commonjs/components/DataGridRow/renderDataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js +18 -16
- package/lib-commonjs/components/DataGridRow/useDataGridRow.js.map +1 -1
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js +9 -7
- package/lib-commonjs/components/DataGridSelectionCell/DataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/index.js +6 -6
- package/lib-commonjs/components/DataGridSelectionCell/index.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js +3 -1
- package/lib-commonjs/components/DataGridSelectionCell/renderDataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js +9 -7
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCell.js.map +1 -1
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js +8 -4
- package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/Table/Table.js +9 -7
- package/lib-commonjs/components/Table/Table.js.map +1 -1
- package/lib-commonjs/components/Table/index.js +6 -6
- package/lib-commonjs/components/Table/index.js.map +1 -1
- package/lib-commonjs/components/Table/renderTable.js +11 -8
- package/lib-commonjs/components/Table/renderTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTable.js +7 -5
- package/lib-commonjs/components/Table/useTable.js.map +1 -1
- package/lib-commonjs/components/Table/useTableContextValues.js +6 -4
- package/lib-commonjs/components/Table/useTableContextValues.js.map +1 -1
- package/lib-commonjs/components/Table/useTableStyles.styles.js +12 -6
- package/lib-commonjs/components/Table/useTableStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableBody/TableBody.js +9 -7
- package/lib-commonjs/components/TableBody/TableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/index.js +6 -6
- package/lib-commonjs/components/TableBody/index.js.map +1 -1
- package/lib-commonjs/components/TableBody/renderTableBody.js +8 -6
- package/lib-commonjs/components/TableBody/renderTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBody.js +8 -6
- package/lib-commonjs/components/TableBody/useTableBody.js.map +1 -1
- package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js +11 -5
- package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCell/TableCell.js +9 -7
- package/lib-commonjs/components/TableCell/TableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/index.js +6 -6
- package/lib-commonjs/components/TableCell/index.js.map +1 -1
- package/lib-commonjs/components/TableCell/renderTableCell.js +8 -6
- package/lib-commonjs/components/TableCell/renderTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCell.js +8 -6
- package/lib-commonjs/components/TableCell/useTableCell.js.map +1 -1
- package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js +12 -6
- package/lib-commonjs/components/TableCell/useTableCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/TableCellActions.js +9 -7
- package/lib-commonjs/components/TableCellActions/TableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/index.js +6 -6
- package/lib-commonjs/components/TableCellActions/index.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js +8 -6
- package/lib-commonjs/components/TableCellActions/renderTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js +7 -5
- package/lib-commonjs/components/TableCellActions/useTableCellActions.js.map +1 -1
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js +7 -3
- package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js +9 -7
- package/lib-commonjs/components/TableCellLayout/TableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/index.js +6 -6
- package/lib-commonjs/components/TableCellLayout/index.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js +24 -9
- package/lib-commonjs/components/TableCellLayout/renderTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js +12 -10
- package/lib-commonjs/components/TableCellLayout/useTableCellLayout.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js +6 -4
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutContextValues.js.map +1 -1
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js +8 -4
- package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableHeader/TableHeader.js +9 -7
- package/lib-commonjs/components/TableHeader/TableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/index.js +6 -6
- package/lib-commonjs/components/TableHeader/index.js.map +1 -1
- package/lib-commonjs/components/TableHeader/renderTableHeader.js +11 -8
- package/lib-commonjs/components/TableHeader/renderTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeader.js +8 -6
- package/lib-commonjs/components/TableHeader/useTableHeader.js.map +1 -1
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js +11 -5
- package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js +9 -7
- package/lib-commonjs/components/TableHeaderCell/TableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/index.js +6 -6
- package/lib-commonjs/components/TableHeaderCell/index.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js +18 -6
- package/lib-commonjs/components/TableHeaderCell/renderTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js +17 -15
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCell.js.map +1 -1
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js +12 -6
- package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js +9 -7
- package/lib-commonjs/components/TableResizeHandle/TableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/index.js +6 -6
- package/lib-commonjs/components/TableResizeHandle/index.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js +8 -6
- package/lib-commonjs/components/TableResizeHandle/renderTableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js +10 -8
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandle.js.map +1 -1
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js +7 -3
- package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableRow/TableRow.js +9 -7
- package/lib-commonjs/components/TableRow/TableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/index.js +6 -6
- package/lib-commonjs/components/TableRow/index.js.map +1 -1
- package/lib-commonjs/components/TableRow/renderTableRow.js +8 -6
- package/lib-commonjs/components/TableRow/renderTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRow.js +12 -10
- package/lib-commonjs/components/TableRow/useTableRow.js.map +1 -1
- package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js +12 -6
- package/lib-commonjs/components/TableRow/useTableRowStyles.styles.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js +9 -7
- package/lib-commonjs/components/TableSelectionCell/TableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/index.js +6 -6
- package/lib-commonjs/components/TableSelectionCell/index.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js +13 -6
- package/lib-commonjs/components/TableSelectionCell/renderTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js +17 -15
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCell.js.map +1 -1
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js +12 -6
- package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.js.map +1 -1
- package/lib-commonjs/contexts/columnIdContext.js +11 -5
- package/lib-commonjs/contexts/columnIdContext.js.map +1 -1
- package/lib-commonjs/contexts/dataGridContext.js +9 -5
- package/lib-commonjs/contexts/dataGridContext.js.map +1 -1
- package/lib-commonjs/contexts/rowIdContext.js +11 -5
- package/lib-commonjs/contexts/rowIdContext.js.map +1 -1
- package/lib-commonjs/contexts/tableContext.js +11 -5
- package/lib-commonjs/contexts/tableContext.js.map +1 -1
- package/lib-commonjs/contexts/tableHeaderContext.js +8 -4
- package/lib-commonjs/contexts/tableHeaderContext.js.map +1 -1
- package/lib-commonjs/hooks/createColumn.js +4 -2
- package/lib-commonjs/hooks/createColumn.js.map +1 -1
- package/lib-commonjs/hooks/index.js +8 -8
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/types.js +2 -2
- package/lib-commonjs/hooks/types.js.map +1 -1
- package/lib-commonjs/hooks/useKeyboardResizing.js +22 -20
- package/lib-commonjs/hooks/useKeyboardResizing.js.map +1 -1
- package/lib-commonjs/hooks/useMeasureElement.js +11 -8
- package/lib-commonjs/hooks/useMeasureElement.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js +32 -26
- package/lib-commonjs/hooks/useTableColumnResizeMouseHandler.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnResizeState.js +15 -13
- package/lib-commonjs/hooks/useTableColumnResizeState.js.map +1 -1
- package/lib-commonjs/hooks/useTableColumnSizing.js +17 -12
- package/lib-commonjs/hooks/useTableColumnSizing.js.map +1 -1
- package/lib-commonjs/hooks/useTableCompositeNavigation.js +20 -18
- package/lib-commonjs/hooks/useTableCompositeNavigation.js.map +1 -1
- package/lib-commonjs/hooks/useTableFeatures.js +12 -9
- package/lib-commonjs/hooks/useTableFeatures.js.map +1 -1
- package/lib-commonjs/hooks/useTableSelection.js +24 -16
- package/lib-commonjs/hooks/useTableSelection.js.map +1 -1
- package/lib-commonjs/hooks/useTableSort.js +22 -13
- package/lib-commonjs/hooks/useTableSort.js.map +1 -1
- package/lib-commonjs/index.js +344 -126
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/utils/columnResizeUtils.js +30 -12
- package/lib-commonjs/utils/columnResizeUtils.js.map +1 -1
- package/package.json +17 -17
|
@@ -9,11 +9,15 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
TableHeaderContextProvider: ()
|
|
13
|
-
|
|
12
|
+
TableHeaderContextProvider: function() {
|
|
13
|
+
return TableHeaderContextProvider;
|
|
14
|
+
},
|
|
15
|
+
useIsInTableHeader: function() {
|
|
16
|
+
return useIsInTableHeader;
|
|
17
|
+
}
|
|
14
18
|
});
|
|
15
|
-
const
|
|
16
|
-
const _react = /*#__PURE__*/
|
|
19
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
20
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
17
21
|
const tableHeaderContext = /*#__PURE__*/ _react.createContext(undefined);
|
|
18
22
|
const tableHeaderContextDefaultValue = '';
|
|
19
23
|
const TableHeaderContextProvider = tableHeaderContext.Provider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tableHeaderContext.js"],"sourcesContent":["import * as React from 'react';\nconst tableHeaderContext = React.createContext(undefined);\nconst tableHeaderContextDefaultValue = '';\nexport const TableHeaderContextProvider = tableHeaderContext.Provider;\nexport const useIsInTableHeader = ()=>React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;\n"],"names":["TableHeaderContextProvider","useIsInTableHeader","tableHeaderContext","React","createContext","undefined","tableHeaderContextDefaultValue","Provider","useContext"],"mappings":";;;;;;;;;;;IAGaA,0BAA0B
|
|
1
|
+
{"version":3,"sources":["tableHeaderContext.js"],"sourcesContent":["import * as React from 'react';\nconst tableHeaderContext = React.createContext(undefined);\nconst tableHeaderContextDefaultValue = '';\nexport const TableHeaderContextProvider = tableHeaderContext.Provider;\nexport const useIsInTableHeader = ()=>React.useContext(tableHeaderContext) === tableHeaderContextDefaultValue;\n"],"names":["TableHeaderContextProvider","useIsInTableHeader","tableHeaderContext","React","createContext","undefined","tableHeaderContextDefaultValue","Provider","useContext"],"mappings":";;;;;;;;;;;IAGaA,0BAA0B;eAA1BA;;IACAC,kBAAkB;eAAlBA;;;;iEAJU;AACvB,MAAMC,mCAAqBC,OAAMC,aAAa,CAACC;AAC/C,MAAMC,iCAAiC;AAChC,MAAMN,6BAA6BE,mBAAmBK,QAAQ;AAC9D,MAAMN,qBAAqB,IAAIE,OAAMK,UAAU,CAACN,wBAAwBI"}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "createTableColumn", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return createTableColumn;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const defaultCompare = ()=>0;
|
|
10
12
|
const defaultRenderCell = ()=>{
|
|
@@ -22,7 +24,7 @@ const defaultRenderHeaderCell = ()=>{
|
|
|
22
24
|
return null;
|
|
23
25
|
};
|
|
24
26
|
function createTableColumn(options) {
|
|
25
|
-
const { columnId
|
|
27
|
+
const { columnId, renderCell = defaultRenderCell, renderHeaderCell = defaultRenderHeaderCell, compare = defaultCompare } = options;
|
|
26
28
|
return {
|
|
27
29
|
columnId,
|
|
28
30
|
renderCell,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createColumn.js"],"sourcesContent":["const defaultCompare = ()=>0;\nconst defaultRenderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');\n }\n return null;\n};\nconst defaultRenderHeaderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');\n }\n return null;\n};\n/**\n * Helper function to create column definition with defaults\n * @param options - column definition options\n * @returns - column definition with defaults\n */ export function createTableColumn(options) {\n const { columnId
|
|
1
|
+
{"version":3,"sources":["createColumn.js"],"sourcesContent":["const defaultCompare = ()=>0;\nconst defaultRenderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderCell function that renders null');\n }\n return null;\n};\nconst defaultRenderHeaderCell = ()=>{\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn('@fluentui/react-table: You are using the default column renderHeaderCell function that renders null');\n }\n return null;\n};\n/**\n * Helper function to create column definition with defaults\n * @param options - column definition options\n * @returns - column definition with defaults\n */ export function createTableColumn(options) {\n const { columnId, renderCell = defaultRenderCell, renderHeaderCell = defaultRenderHeaderCell, compare = defaultCompare } = options;\n return {\n columnId,\n renderCell,\n renderHeaderCell,\n compare\n };\n}\n"],"names":["createTableColumn","defaultCompare","defaultRenderCell","process","env","NODE_ENV","console","warn","defaultRenderHeaderCell","options","columnId","renderCell","renderHeaderCell","compare"],"mappings":";;;;+BAmBoBA;;;eAAAA;;;AAnBpB,MAAMC,iBAAiB,IAAI;AAC3B,MAAMC,oBAAoB;IACtB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACvC,sCAAsC;QACtCC,QAAQC,IAAI,CAAC;IACjB;IACA,OAAO;AACX;AACA,MAAMC,0BAA0B;IAC5B,IAAIL,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACvC,sCAAsC;QACtCC,QAAQC,IAAI,CAAC;IACjB;IACA,OAAO;AACX;AAKW,SAASP,kBAAkBS,OAAO;IACzC,MAAM,EAAEC,QAAQ,EAAEC,aAAaT,iBAAiB,EAAEU,mBAAmBJ,uBAAuB,EAAEK,UAAUZ,cAAc,EAAE,GAAGQ;IAC3H,OAAO;QACHC;QACAC;QACAC;QACAC;IACJ;AACJ"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
const _export_star = require("@swc/helpers/_/_export_star");
|
|
6
|
+
_export_star._(require("./types"), exports);
|
|
7
|
+
_export_star._(require("./useTableFeatures"), exports);
|
|
8
|
+
_export_star._(require("./useTableSort"), exports);
|
|
9
|
+
_export_star._(require("./useTableSelection"), exports);
|
|
10
|
+
_export_star._(require("./createColumn"), exports);
|
|
11
|
+
_export_star._(require("./useTableColumnSizing"), exports);
|
|
12
|
+
_export_star._(require("./useTableCompositeNavigation"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './types';\nexport * from './useTableFeatures';\nexport * from './useTableSort';\nexport * from './useTableSelection';\nexport * from './createColumn';\nexport * from './useTableColumnSizing';\nexport * from './useTableCompositeNavigation';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export * from './types';\nexport * from './useTableFeatures';\nexport * from './useTableSort';\nexport * from './useTableSelection';\nexport * from './createColumn';\nexport * from './useTableColumnSizing';\nexport * from './useTableCompositeNavigation';\n"],"names":[],"mappings":";;;;;uBAAc;uBACA;uBACA;uBACA;uBACA;uBACA;uBACA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
const
|
|
6
|
-
const _react = /*#__PURE__*/
|
|
5
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
6
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["types.js"],"sourcesContent":["import * as React from 'react';\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"sources":["types.js"],"sourcesContent":["import * as React from 'react';\n"],"names":[],"mappings":";;;;;iEAAuB"}
|
|
@@ -4,20 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "useKeyboardResizing", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return useKeyboardResizing;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
const
|
|
10
|
-
const _react = /*#__PURE__*/
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _keyboardkeys = require("@fluentui/keyboard-keys");
|
|
14
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
15
|
+
const _reacttabster = require("@fluentui/react-tabster");
|
|
14
16
|
const STEP = 20;
|
|
15
|
-
const PRECISION_MODIFIER =
|
|
17
|
+
const PRECISION_MODIFIER = _keyboardkeys.Shift;
|
|
16
18
|
const PRECISION_FACTOR = 1 / 4;
|
|
17
19
|
function useKeyboardResizing(columnResizeState) {
|
|
18
20
|
const [columnId, setColumnId] = _react.useState();
|
|
19
21
|
const onChangeRef = _react.useRef();
|
|
20
|
-
const { findPrevFocusable
|
|
22
|
+
const { findPrevFocusable } = (0, _reacttabster.useFocusFinders)();
|
|
21
23
|
const columnResizeStateRef = _react.useRef(columnResizeState);
|
|
22
24
|
_react.useEffect(()=>{
|
|
23
25
|
columnResizeStateRef.current = columnResizeState;
|
|
@@ -25,7 +27,7 @@ function useKeyboardResizing(columnResizeState) {
|
|
|
25
27
|
columnResizeState
|
|
26
28
|
]);
|
|
27
29
|
const [resizeHandleRefs] = _react.useState(()=>new Map());
|
|
28
|
-
const keyboardHandler = (0,
|
|
30
|
+
const keyboardHandler = (0, _reactutilities.useEventCallback)((event)=>{
|
|
29
31
|
if (!columnId) {
|
|
30
32
|
return;
|
|
31
33
|
}
|
|
@@ -36,33 +38,33 @@ function useKeyboardResizing(columnResizeState) {
|
|
|
36
38
|
event.stopPropagation();
|
|
37
39
|
};
|
|
38
40
|
switch(event.key){
|
|
39
|
-
case
|
|
41
|
+
case _keyboardkeys.ArrowLeft:
|
|
40
42
|
stopEvent();
|
|
41
43
|
columnResizeStateRef.current.setColumnWidth(event.nativeEvent, {
|
|
42
44
|
columnId,
|
|
43
45
|
width: width - (precisionModifier ? STEP * PRECISION_FACTOR : STEP)
|
|
44
46
|
});
|
|
45
47
|
return;
|
|
46
|
-
case
|
|
48
|
+
case _keyboardkeys.ArrowRight:
|
|
47
49
|
stopEvent();
|
|
48
50
|
columnResizeStateRef.current.setColumnWidth(event.nativeEvent, {
|
|
49
51
|
columnId,
|
|
50
52
|
width: width + (precisionModifier ? STEP * PRECISION_FACTOR : STEP)
|
|
51
53
|
});
|
|
52
54
|
return;
|
|
53
|
-
case
|
|
54
|
-
case
|
|
55
|
-
case
|
|
56
|
-
var
|
|
55
|
+
case _keyboardkeys.Space:
|
|
56
|
+
case _keyboardkeys.Enter:
|
|
57
|
+
case _keyboardkeys.Escape:
|
|
58
|
+
var _resizeHandleRefs_get_current, _resizeHandleRefs_get;
|
|
57
59
|
stopEvent();
|
|
58
60
|
(_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : (_resizeHandleRefs_get_current = _resizeHandleRefs_get.current) === null || _resizeHandleRefs_get_current === void 0 ? void 0 : _resizeHandleRefs_get_current.blur();
|
|
59
61
|
break;
|
|
60
62
|
}
|
|
61
63
|
});
|
|
62
64
|
const enableInteractiveMode = _react.useCallback((colId)=>{
|
|
63
|
-
var _onChangeRef_current, _resizeHandleRefs_get;
|
|
65
|
+
var _onChangeRef_current, _onChangeRef, _resizeHandleRefs_get;
|
|
64
66
|
setColumnId(colId);
|
|
65
|
-
(_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(
|
|
67
|
+
(_onChangeRef_current = (_onChangeRef = onChangeRef).current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(_onChangeRef, colId, true);
|
|
66
68
|
const handle = (_resizeHandleRefs_get = resizeHandleRefs.get(colId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;
|
|
67
69
|
if (handle) {
|
|
68
70
|
handle.setAttribute('tabindex', '-1');
|
|
@@ -73,11 +75,11 @@ function useKeyboardResizing(columnResizeState) {
|
|
|
73
75
|
resizeHandleRefs
|
|
74
76
|
]);
|
|
75
77
|
const disableInteractiveMode = _react.useCallback(()=>{
|
|
76
|
-
var _onChangeRef_current, _resizeHandleRefs_get;
|
|
78
|
+
var _onChangeRef_current, _onChangeRef, _resizeHandleRefs_get;
|
|
77
79
|
if (!columnId) {
|
|
78
80
|
return;
|
|
79
81
|
}
|
|
80
|
-
(_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(
|
|
82
|
+
(_onChangeRef_current = (_onChangeRef = onChangeRef).current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(_onChangeRef, columnId, false);
|
|
81
83
|
// Find the previous focusable element (table header button) and focus it.
|
|
82
84
|
const el = (_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;
|
|
83
85
|
if (el) {
|
|
@@ -111,7 +113,7 @@ function useKeyboardResizing(columnResizeState) {
|
|
|
111
113
|
]);
|
|
112
114
|
// This makes sure the left and right arrow keys are ignored in tabster,
|
|
113
115
|
// so that they can be used for resizing.
|
|
114
|
-
const tabsterAttrs = (0,
|
|
116
|
+
const tabsterAttrs = (0, _reacttabster.useTabsterAttributes)({
|
|
115
117
|
focusable: {
|
|
116
118
|
ignoreKeydown: {
|
|
117
119
|
ArrowLeft: true,
|
|
@@ -1 +1 @@
|
|
|
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 { useFocusFinders, useTabsterAttributes } from '@fluentui/react-tabster';\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 { findPrevFocusable } = useFocusFinders();\n const columnResizeStateRef = React.useRef(columnResizeState);\n React.useEffect(()=>{\n columnResizeStateRef.current = columnResizeState;\n }, [\n columnResizeState\n ]);\n const [resizeHandleRefs] = React.useState(()=>new Map());\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.nativeEvent, {\n columnId,\n width: width - (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case ArrowRight:\n stopEvent();\n columnResizeStateRef.current.setColumnWidth(event.nativeEvent, {\n columnId,\n width: width + (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case Space:\n case Enter:\n case Escape:\n var // Just blur here, the onBlur handler will take care of the rest (disableInteractiveMode).\n _resizeHandleRefs_get, _resizeHandleRefs_get_current;\n stopEvent();\n (_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : (_resizeHandleRefs_get_current = _resizeHandleRefs_get.current) === null || _resizeHandleRefs_get_current === void 0 ? void 0 : _resizeHandleRefs_get_current.blur();\n break;\n }\n });\n const enableInteractiveMode = React.useCallback((colId)=>{\n var _onChangeRef_current, _resizeHandleRefs_get;\n setColumnId(colId);\n (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, colId, true);\n const handle = (_resizeHandleRefs_get = resizeHandleRefs.get(colId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;\n if (handle) {\n handle.setAttribute('tabindex', '-1');\n handle.tabIndex = -1;\n handle.focus();\n }\n }, [\n resizeHandleRefs\n ]);\n const disableInteractiveMode = React.useCallback(()=>{\n var // Notify the onChange listener that we are disabling interactive mode.\n _onChangeRef_current, _resizeHandleRefs_get;\n if (!columnId) {\n return;\n }\n (_onChangeRef_current = onChangeRef.current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(onChangeRef, columnId, false);\n // Find the previous focusable element (table header button) and focus it.\n const el = (_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;\n if (el) {\n var _findPrevFocusable;\n (_findPrevFocusable = findPrevFocusable(el)) === null || _findPrevFocusable === void 0 ? void 0 : _findPrevFocusable.focus(); // Focus the previous focusable element (header button).\n el.removeAttribute('tabindex');\n }\n setColumnId(undefined);\n }, [\n columnId,\n findPrevFocusable,\n resizeHandleRefs\n ]);\n const toggleInteractiveMode = (colId, onChange)=>{\n onChangeRef.current = onChange;\n if (!columnId) {\n enableInteractiveMode(colId);\n } else if (colId && columnId !== colId) {\n enableInteractiveMode(colId);\n setColumnId(colId);\n } else {\n disableInteractiveMode();\n }\n };\n const getKeyboardResizingRef = React.useCallback((colId)=>{\n const ref = resizeHandleRefs.get(colId) || React.createRef();\n resizeHandleRefs.set(colId, ref);\n return ref;\n }, [\n resizeHandleRefs\n ]);\n // This makes sure the left and right arrow keys are ignored in tabster,\n // so that they can be used for resizing.\n const tabsterAttrs = useTabsterAttributes({\n focusable: {\n ignoreKeydown: {\n ArrowLeft: true,\n ArrowRight: true\n }\n }\n });\n return {\n toggleInteractiveMode,\n columnId,\n getKeyboardResizingProps: (colId, currentWidth)=>({\n onKeyDown: keyboardHandler,\n onBlur: disableInteractiveMode,\n ref: getKeyboardResizingRef(colId),\n role: 'separator',\n 'aria-label': 'Resize column',\n 'aria-valuetext': `${currentWidth} pixels`,\n 'aria-hidden': colId === columnId ? false : true,\n tabIndex: colId === columnId ? 0 : undefined,\n ...tabsterAttrs\n })\n };\n}\n"],"names":["useKeyboardResizing","STEP","PRECISION_MODIFIER","Shift","PRECISION_FACTOR","columnResizeState","columnId","setColumnId","React","useState","onChangeRef","useRef","findPrevFocusable","useFocusFinders","columnResizeStateRef","useEffect","current","resizeHandleRefs","Map","keyboardHandler","useEventCallback","event","width","getColumnWidth","precisionModifier","getModifierState","stopEvent","preventDefault","stopPropagation","key","ArrowLeft","setColumnWidth","nativeEvent","ArrowRight","Space","Enter","Escape","_resizeHandleRefs_get","_resizeHandleRefs_get_current","get","blur","enableInteractiveMode","useCallback","colId","_onChangeRef_current","call","handle","setAttribute","tabIndex","focus","disableInteractiveMode","el","_findPrevFocusable","removeAttribute","undefined","toggleInteractiveMode","onChange","getKeyboardResizingRef","ref","createRef","set","tabsterAttrs","useTabsterAttributes","focusable","ignoreKeydown","getKeyboardResizingProps","currentWidth","onKeyDown","onBlur","role"],"mappings":"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"}
|
|
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 { useFocusFinders, useTabsterAttributes } from '@fluentui/react-tabster';\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 { findPrevFocusable } = useFocusFinders();\n const columnResizeStateRef = React.useRef(columnResizeState);\n React.useEffect(()=>{\n columnResizeStateRef.current = columnResizeState;\n }, [\n columnResizeState\n ]);\n const [resizeHandleRefs] = React.useState(()=>new Map());\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.nativeEvent, {\n columnId,\n width: width - (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case ArrowRight:\n stopEvent();\n columnResizeStateRef.current.setColumnWidth(event.nativeEvent, {\n columnId,\n width: width + (precisionModifier ? STEP * PRECISION_FACTOR : STEP)\n });\n return;\n case Space:\n case Enter:\n case Escape:\n var // Just blur here, the onBlur handler will take care of the rest (disableInteractiveMode).\n _resizeHandleRefs_get_current, _resizeHandleRefs_get;\n stopEvent();\n (_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : (_resizeHandleRefs_get_current = _resizeHandleRefs_get.current) === null || _resizeHandleRefs_get_current === void 0 ? void 0 : _resizeHandleRefs_get_current.blur();\n break;\n }\n });\n const enableInteractiveMode = React.useCallback((colId)=>{\n var _onChangeRef_current, _onChangeRef, _resizeHandleRefs_get;\n setColumnId(colId);\n (_onChangeRef_current = (_onChangeRef = onChangeRef).current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(_onChangeRef, colId, true);\n const handle = (_resizeHandleRefs_get = resizeHandleRefs.get(colId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;\n if (handle) {\n handle.setAttribute('tabindex', '-1');\n handle.tabIndex = -1;\n handle.focus();\n }\n }, [\n resizeHandleRefs\n ]);\n const disableInteractiveMode = React.useCallback(()=>{\n var // Notify the onChange listener that we are disabling interactive mode.\n _onChangeRef_current, _onChangeRef, _resizeHandleRefs_get;\n if (!columnId) {\n return;\n }\n (_onChangeRef_current = (_onChangeRef = onChangeRef).current) === null || _onChangeRef_current === void 0 ? void 0 : _onChangeRef_current.call(_onChangeRef, columnId, false);\n // Find the previous focusable element (table header button) and focus it.\n const el = (_resizeHandleRefs_get = resizeHandleRefs.get(columnId)) === null || _resizeHandleRefs_get === void 0 ? void 0 : _resizeHandleRefs_get.current;\n if (el) {\n var _findPrevFocusable;\n (_findPrevFocusable = findPrevFocusable(el)) === null || _findPrevFocusable === void 0 ? void 0 : _findPrevFocusable.focus(); // Focus the previous focusable element (header button).\n el.removeAttribute('tabindex');\n }\n setColumnId(undefined);\n }, [\n columnId,\n findPrevFocusable,\n resizeHandleRefs\n ]);\n const toggleInteractiveMode = (colId, onChange)=>{\n onChangeRef.current = onChange;\n if (!columnId) {\n enableInteractiveMode(colId);\n } else if (colId && columnId !== colId) {\n enableInteractiveMode(colId);\n setColumnId(colId);\n } else {\n disableInteractiveMode();\n }\n };\n const getKeyboardResizingRef = React.useCallback((colId)=>{\n const ref = resizeHandleRefs.get(colId) || React.createRef();\n resizeHandleRefs.set(colId, ref);\n return ref;\n }, [\n resizeHandleRefs\n ]);\n // This makes sure the left and right arrow keys are ignored in tabster,\n // so that they can be used for resizing.\n const tabsterAttrs = useTabsterAttributes({\n focusable: {\n ignoreKeydown: {\n ArrowLeft: true,\n ArrowRight: true\n }\n }\n });\n return {\n toggleInteractiveMode,\n columnId,\n getKeyboardResizingProps: (colId, currentWidth)=>({\n onKeyDown: keyboardHandler,\n onBlur: disableInteractiveMode,\n ref: getKeyboardResizingRef(colId),\n role: 'separator',\n 'aria-label': 'Resize column',\n 'aria-valuetext': `${currentWidth} pixels`,\n 'aria-hidden': colId === columnId ? false : true,\n tabIndex: colId === columnId ? 0 : undefined,\n ...tabsterAttrs\n })\n };\n}\n"],"names":["useKeyboardResizing","STEP","PRECISION_MODIFIER","Shift","PRECISION_FACTOR","columnResizeState","columnId","setColumnId","React","useState","onChangeRef","useRef","findPrevFocusable","useFocusFinders","columnResizeStateRef","useEffect","current","resizeHandleRefs","Map","keyboardHandler","useEventCallback","event","width","getColumnWidth","precisionModifier","getModifierState","stopEvent","preventDefault","stopPropagation","key","ArrowLeft","setColumnWidth","nativeEvent","ArrowRight","Space","Enter","Escape","_resizeHandleRefs_get_current","_resizeHandleRefs_get","get","blur","enableInteractiveMode","useCallback","colId","_onChangeRef_current","_onChangeRef","call","handle","setAttribute","tabIndex","focus","disableInteractiveMode","el","_findPrevFocusable","removeAttribute","undefined","toggleInteractiveMode","onChange","getKeyboardResizingRef","ref","createRef","set","tabsterAttrs","useTabsterAttributes","focusable","ignoreKeydown","getKeyboardResizingProps","currentWidth","onKeyDown","onBlur","role"],"mappings":"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"}
|
|
@@ -4,16 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "useMeasureElement", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return useMeasureElement;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const _react = /*#__PURE__*/
|
|
12
|
-
const
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
13
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
14
|
+
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
|
13
15
|
function useMeasureElement() {
|
|
14
16
|
const [width, setWidth] = _react.useState(0);
|
|
15
17
|
const container = _react.useRef(undefined);
|
|
16
|
-
const { targetDocument
|
|
18
|
+
const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
|
|
17
19
|
// the handler for resize observer
|
|
18
20
|
const handleResize = _react.useCallback(()=>{
|
|
19
21
|
var _container_current;
|
|
@@ -21,7 +23,7 @@ function useMeasureElement() {
|
|
|
21
23
|
setWidth(containerWidth || 0);
|
|
22
24
|
}, []);
|
|
23
25
|
// Keep the reference of ResizeObserver in the state, as it should live through renders
|
|
24
|
-
const [resizeObserver] = _react.useState((0,
|
|
26
|
+
const [resizeObserver] = _react.useState((0, _reactutilities.canUseDOM)() ? new ResizeObserver(handleResize) : undefined);
|
|
25
27
|
const measureElementRef = _react.useCallback((el)=>{
|
|
26
28
|
if (!targetDocument || !resizeObserver) {
|
|
27
29
|
return;
|
|
@@ -44,7 +46,8 @@ function useMeasureElement() {
|
|
|
44
46
|
]);
|
|
45
47
|
_react.useEffect(()=>{
|
|
46
48
|
return ()=>{
|
|
47
|
-
|
|
49
|
+
var _resizeObserver;
|
|
50
|
+
return (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
|
|
48
51
|
};
|
|
49
52
|
}, [
|
|
50
53
|
resizeObserver
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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 var _resizeObserver;\n return (_resizeObserver = 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","_resizeObserver","disconnect"],"mappings":";;;;+BAQoBA;;;eAAAA;;;;gCARM;iEACH;qCACyB;AAMrC,SAASA;IAChB,MAAM,CAACC,OAAOC,SAAS,GAAGC,OAAMC,QAAQ,CAAC;IACzC,MAAMC,YAAYF,OAAMG,MAAM,CAACC;IAC/B,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,kCAAkC;IAClC,MAAMC,eAAeP,OAAMQ,WAAW,CAAC;QACnC,IAAIC;QACJ,MAAMC,iBAAiB,AAACD,CAAAA,qBAAqBP,UAAUS,OAAO,AAAD,MAAO,QAAQF,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;IACzF,MAAMY,oBAAoBhB,OAAMQ,WAAW,CAAC,CAACS;QACzC,IAAI,CAACZ,kBAAkB,CAACQ,gBAAgB;YACpC;QACJ;QACA,6BAA6B;QAC7B,IAAIX,UAAUS,OAAO,EAAE;YACnBE,eAAeK,SAAS,CAAChB,UAAUS,OAAO;YAC1CT,UAAUS,OAAO,CAACQ,MAAM;QAC5B;QACA,IAAIF,IAAI;YACJf,UAAUS,OAAO,GAAGN,eAAee,aAAa,CAAC;YACjDH,GAAGI,qBAAqB,CAAC,eAAenB,UAAUS,OAAO;YACzDE,eAAeS,OAAO,CAACpB,UAAUS,OAAO;YACxCJ;QACJ;IACJ,GAAG;QACCF;QACAQ;QACAN;KACH;IACDP,OAAMuB,SAAS,CAAC;QACZ,OAAO;YACH,IAAIC;YACJ,OAAO,AAACA,CAAAA,kBAAkBX,cAAa,MAAO,QAAQW,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBC,UAAU;QAC1H;IACJ,GAAG;QACCZ;KACH;IACD,OAAO;QACHf;QACAkB;IACJ;AACJ"}
|
|
@@ -4,20 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "useTableColumnResizeMouseHandler", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return useTableColumnResizeMouseHandler;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
const
|
|
10
|
-
const _react = /*#__PURE__*/
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
13
|
+
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
|
14
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
13
15
|
function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
16
|
+
var _targetDocument, _globalWin;
|
|
14
17
|
const mouseX = _react.useRef(0);
|
|
15
18
|
const currentWidth = _react.useRef(0);
|
|
16
19
|
const colId = _react.useRef(undefined);
|
|
17
|
-
const { targetDocument
|
|
18
|
-
const globalWin = targetDocument === null ||
|
|
20
|
+
const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
|
|
21
|
+
const globalWin = (_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.defaultView;
|
|
19
22
|
const recalculatePosition = _react.useCallback((e)=>{
|
|
20
|
-
const { clientX
|
|
23
|
+
const { clientX } = (0, _reactutilities.getEventClientCoords)(e);
|
|
21
24
|
const dx = clientX - mouseX.current;
|
|
22
25
|
// Update the local width for the column and set it
|
|
23
26
|
currentWidth.current += dx;
|
|
@@ -30,50 +33,53 @@ function useTableColumnResizeMouseHandler(columnResizeState) {
|
|
|
30
33
|
columnResizeState
|
|
31
34
|
]);
|
|
32
35
|
const onDrag = _react.useCallback((e)=>{
|
|
36
|
+
var _globalWin;
|
|
33
37
|
// Using requestAnimationFrame here drastically improves resizing experience on slower CPUs
|
|
34
|
-
if (typeof (globalWin === null ||
|
|
38
|
+
if (typeof ((_globalWin = globalWin) === null || _globalWin === void 0 ? void 0 : _globalWin.requestAnimationFrame) === 'function') {
|
|
35
39
|
requestAnimationFrame(()=>recalculatePosition(e));
|
|
36
40
|
} else {
|
|
37
41
|
recalculatePosition(e);
|
|
38
42
|
}
|
|
39
43
|
}, [
|
|
40
|
-
globalWin === null ||
|
|
44
|
+
(_globalWin = globalWin) === null || _globalWin === void 0 ? void 0 : _globalWin.requestAnimationFrame,
|
|
41
45
|
recalculatePosition
|
|
42
46
|
]);
|
|
43
47
|
const onDragEnd = _react.useCallback((event)=>{
|
|
44
|
-
if ((0,
|
|
45
|
-
|
|
46
|
-
targetDocument === null ||
|
|
48
|
+
if ((0, _reactutilities.isMouseEvent)(event)) {
|
|
49
|
+
var _targetDocument, _targetDocument1;
|
|
50
|
+
(_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.removeEventListener('mouseup', onDragEnd);
|
|
51
|
+
(_targetDocument1 = targetDocument) === null || _targetDocument1 === void 0 ? void 0 : _targetDocument1.removeEventListener('mousemove', onDrag);
|
|
47
52
|
}
|
|
48
|
-
if ((0,
|
|
49
|
-
|
|
50
|
-
targetDocument === null ||
|
|
53
|
+
if ((0, _reactutilities.isTouchEvent)(event)) {
|
|
54
|
+
var _targetDocument2, _targetDocument3;
|
|
55
|
+
(_targetDocument2 = targetDocument) === null || _targetDocument2 === void 0 ? void 0 : _targetDocument2.removeEventListener('touchend', onDragEnd);
|
|
56
|
+
(_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.removeEventListener('touchmove', onDrag);
|
|
51
57
|
}
|
|
52
58
|
}, [
|
|
53
59
|
onDrag,
|
|
54
60
|
targetDocument
|
|
55
61
|
]);
|
|
56
|
-
const getOnMouseDown = (columnId)=>{
|
|
57
|
-
return (event)=>{
|
|
62
|
+
const getOnMouseDown = (columnId)=>(event)=>{
|
|
58
63
|
// Keep the width locally so that we decouple the calculation of the next with from rendering.
|
|
59
64
|
// This makes the whole experience much faster and more precise
|
|
60
65
|
currentWidth.current = columnResizeState.getColumnWidth(columnId);
|
|
61
|
-
mouseX.current = (0,
|
|
66
|
+
mouseX.current = (0, _reactutilities.getEventClientCoords)(event).clientX;
|
|
62
67
|
colId.current = columnId;
|
|
63
|
-
if ((0,
|
|
68
|
+
if ((0, _reactutilities.isMouseEvent)(event)) {
|
|
69
|
+
var _targetDocument, _targetDocument1;
|
|
64
70
|
// ignore other buttons than primary mouse button
|
|
65
71
|
if (event.target !== event.currentTarget || event.button !== 0) {
|
|
66
72
|
return;
|
|
67
73
|
}
|
|
68
|
-
targetDocument === null ||
|
|
69
|
-
targetDocument === null ||
|
|
74
|
+
(_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.addEventListener('mouseup', onDragEnd);
|
|
75
|
+
(_targetDocument1 = targetDocument) === null || _targetDocument1 === void 0 ? void 0 : _targetDocument1.addEventListener('mousemove', onDrag);
|
|
70
76
|
}
|
|
71
|
-
if ((0,
|
|
72
|
-
|
|
73
|
-
targetDocument === null ||
|
|
77
|
+
if ((0, _reactutilities.isTouchEvent)(event)) {
|
|
78
|
+
var _targetDocument2, _targetDocument3;
|
|
79
|
+
(_targetDocument2 = targetDocument) === null || _targetDocument2 === void 0 ? void 0 : _targetDocument2.addEventListener('touchend', onDragEnd);
|
|
80
|
+
(_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.addEventListener('touchmove', onDrag);
|
|
74
81
|
}
|
|
75
82
|
};
|
|
76
|
-
};
|
|
77
83
|
return {
|
|
78
84
|
getOnMouseDown: (columnId)=>getOnMouseDown(columnId)
|
|
79
85
|
};
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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 var _targetDocument, _globalWin;\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 = 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 var _globalWin;\n // Using requestAnimationFrame here drastically improves resizing experience on slower CPUs\n if (typeof ((_globalWin = globalWin) === null || _globalWin === void 0 ? void 0 : _globalWin.requestAnimationFrame) === 'function') {\n requestAnimationFrame(()=>recalculatePosition(e));\n } else {\n recalculatePosition(e);\n }\n }, [\n (_globalWin = globalWin) === null || _globalWin === void 0 ? void 0 : _globalWin.requestAnimationFrame,\n recalculatePosition\n ]);\n const onDragEnd = React.useCallback((event)=>{\n if (isMouseEvent(event)) {\n var _targetDocument, _targetDocument1;\n (_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.removeEventListener('mouseup', onDragEnd);\n (_targetDocument1 = targetDocument) === null || _targetDocument1 === void 0 ? void 0 : _targetDocument1.removeEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n var _targetDocument2, _targetDocument3;\n (_targetDocument2 = targetDocument) === null || _targetDocument2 === void 0 ? void 0 : _targetDocument2.removeEventListener('touchend', onDragEnd);\n (_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.removeEventListener('touchmove', onDrag);\n }\n }, [\n onDrag,\n targetDocument\n ]);\n const getOnMouseDown = (columnId)=>(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 var _targetDocument, _targetDocument1;\n // ignore other buttons than primary mouse button\n if (event.target !== event.currentTarget || event.button !== 0) {\n return;\n }\n (_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.addEventListener('mouseup', onDragEnd);\n (_targetDocument1 = targetDocument) === null || _targetDocument1 === void 0 ? void 0 : _targetDocument1.addEventListener('mousemove', onDrag);\n }\n if (isTouchEvent(event)) {\n var _targetDocument2, _targetDocument3;\n (_targetDocument2 = targetDocument) === null || _targetDocument2 === void 0 ? void 0 : _targetDocument2.addEventListener('touchend', onDragEnd);\n (_targetDocument3 = targetDocument) === null || _targetDocument3 === void 0 ? void 0 : _targetDocument3.addEventListener('touchmove', onDrag);\n }\n };\n return {\n getOnMouseDown: (columnId)=>getOnMouseDown(columnId)\n };\n}\n"],"names":["useTableColumnResizeMouseHandler","columnResizeState","_targetDocument","_globalWin","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","_targetDocument1","removeEventListener","isTouchEvent","_targetDocument2","_targetDocument3","getOnMouseDown","getColumnWidth","target","currentTarget","button","addEventListener"],"mappings":"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"}
|
|
@@ -4,11 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "useTableColumnResizeState", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return useTableColumnResizeState;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const _react = /*#__PURE__*/
|
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
12
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
|
13
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
12
14
|
const _columnResizeUtils = require("../utils/columnResizeUtils");
|
|
13
15
|
const createReducer = ()=>(state, action)=>{
|
|
14
16
|
switch(action.type){
|
|
@@ -33,8 +35,8 @@ const createReducer = ()=>(state, action)=>{
|
|
|
33
35
|
columnWidthState: (0, _columnResizeUtils.adjustColumnWidthsToFitContainer)(newState, state.containerWidth)
|
|
34
36
|
};
|
|
35
37
|
case 'SET_COLUMN_WIDTH':
|
|
36
|
-
const { columnId
|
|
37
|
-
const { containerWidth
|
|
38
|
+
const { columnId, width } = action;
|
|
39
|
+
const { containerWidth } = state;
|
|
38
40
|
const column = (0, _columnResizeUtils.getColumnById)(state.columnWidthState, columnId);
|
|
39
41
|
let newColumnWidthState = [
|
|
40
42
|
...state.columnWidthState
|
|
@@ -55,7 +57,7 @@ const createReducer = ()=>(state, action)=>{
|
|
|
55
57
|
}
|
|
56
58
|
};
|
|
57
59
|
function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
58
|
-
const { onColumnResize
|
|
60
|
+
const { onColumnResize, columnSizingOptions } = params;
|
|
59
61
|
const reducer = _react.useMemo(()=>createReducer(), []);
|
|
60
62
|
const [state, dispatch] = _react.useReducer(reducer, {
|
|
61
63
|
columns,
|
|
@@ -63,7 +65,7 @@ function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
|
63
65
|
columnWidthState: (0, _columnResizeUtils.columnDefinitionsToState)(columns, undefined, columnSizingOptions),
|
|
64
66
|
columnSizingOptions
|
|
65
67
|
});
|
|
66
|
-
(0,
|
|
68
|
+
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
|
|
67
69
|
dispatch({
|
|
68
70
|
type: 'CONTAINER_WIDTH_UPDATED',
|
|
69
71
|
containerWidth
|
|
@@ -71,7 +73,7 @@ function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
|
71
73
|
}, [
|
|
72
74
|
containerWidth
|
|
73
75
|
]);
|
|
74
|
-
(0,
|
|
76
|
+
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
|
|
75
77
|
dispatch({
|
|
76
78
|
type: 'COLUMNS_UPDATED',
|
|
77
79
|
columns
|
|
@@ -79,7 +81,7 @@ function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
|
79
81
|
}, [
|
|
80
82
|
columns
|
|
81
83
|
]);
|
|
82
|
-
(0,
|
|
84
|
+
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
|
|
83
85
|
dispatch({
|
|
84
86
|
type: 'COLUMN_SIZING_OPTIONS_UPDATED',
|
|
85
87
|
columnSizingOptions
|
|
@@ -87,9 +89,9 @@ function useTableColumnResizeState(columns, containerWidth, params = {}) {
|
|
|
87
89
|
}, [
|
|
88
90
|
columnSizingOptions
|
|
89
91
|
]);
|
|
90
|
-
const setColumnWidth = (0,
|
|
91
|
-
let { width
|
|
92
|
-
const { columnId
|
|
92
|
+
const setColumnWidth = (0, _reactutilities.useEventCallback)((event, data)=>{
|
|
93
|
+
let { width } = data;
|
|
94
|
+
const { columnId } = data;
|
|
93
95
|
const col = (0, _columnResizeUtils.getColumnById)(state.columnWidthState, columnId);
|
|
94
96
|
if (!col) {
|
|
95
97
|
return;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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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"}
|