Skip to content

Commit a664328

Browse files
authored
Merge branch 'main' into am-fix-act-warnings
2 parents 373e7a3 + c945bca commit a664328

File tree

8 files changed

+43
-36
lines changed

8 files changed

+43
-36
lines changed

.github/workflows/patch-react19.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import fs from 'node:fs/promises';
33
const pkgText = await fs.readFile('./package.json', 'utf8');
44
const pkg = JSON.parse(pkgText);
55

6-
pkg.devDependencies['@types/react'] = 'npm:types-react@rc';
7-
pkg.devDependencies['@types/react-dom'] = 'npm:types-react-dom@rc';
8-
pkg.devDependencies.react = 'rc';
9-
pkg.devDependencies['react-dom'] = 'rc';
6+
pkg.devDependencies['@types/react'] = '^19.0.0';
7+
pkg.devDependencies['@types/react-dom'] = '^19.0.0';
8+
pkg.devDependencies.react = '^19.0.0';
9+
pkg.devDependencies['react-dom'] = '^19.0.0';
1010
pkg.overrides = {
11-
'@types/react': 'npm:types-react@rc',
12-
'@types/react-dom': 'npm:types-react-dom@rc'
11+
'@types/react': '^19.0.0',
12+
'@types/react-dom': '^19.0.0'
1313
};
1414

1515
fs.writeFile('./package.json', JSON.stringify(pkg, null, 2));

package.json

+24-24
Original file line numberDiff line numberDiff line change
@@ -55,61 +55,61 @@
5555
"clsx": "^2.0.0"
5656
},
5757
"devDependencies": {
58-
"@babel/core": "^7.20.12",
59-
"@babel/plugin-transform-runtime": "^7.21.4",
60-
"@babel/preset-env": "^7.20.2",
61-
"@babel/preset-react": "^7.18.6",
62-
"@babel/preset-typescript": "^7.18.6",
63-
"@babel/runtime": "^7.21.5",
58+
"@babel/core": "^7.26.0",
59+
"@babel/plugin-transform-runtime": "^7.25.9",
60+
"@babel/preset-env": "^7.26.0",
61+
"@babel/preset-react": "^7.26.3",
62+
"@babel/preset-typescript": "^7.26.0",
63+
"@babel/runtime": "^7.26.0",
6464
"@biomejs/biome": "1.9.4",
6565
"@eslint/compat": "^1.2.3",
6666
"@faker-js/faker": "^9.0.0",
6767
"@ianvs/prettier-plugin-sort-imports": "^4.0.2",
6868
"@linaria/core": "^6.0.0",
6969
"@microsoft/api-extractor": "^7.23.0",
70-
"@rollup/plugin-babel": "^6.0.3",
70+
"@rollup/plugin-babel": "^6.0.4",
7171
"@rollup/plugin-node-resolve": "^15.1.0",
72-
"@tanstack/react-router": "1.82.1",
72+
"@tanstack/react-router": "^1.85.5",
7373
"@tanstack/router-plugin": "^1.69.1",
7474
"@testing-library/dom": "^10.1.0",
7575
"@testing-library/react": "^16.0.0",
7676
"@testing-library/user-event": "^14.5.2",
7777
"@types/node": "^22.0.0",
7878
"@types/react": "^18.3.9",
7979
"@types/react-dom": "^18.3.0",
80-
"@typescript-eslint/eslint-plugin": "^8.15.0",
81-
"@typescript-eslint/parser": "^8.15.0",
82-
"@vitejs/plugin-react": "^4.3.1",
83-
"@vitest/browser": "^2.1.5",
84-
"@vitest/coverage-v8": "^2.1.5",
85-
"@vitest/eslint-plugin": "^1.1.10",
80+
"@typescript-eslint/eslint-plugin": "^8.17.0",
81+
"@typescript-eslint/parser": "^8.17.0",
82+
"@vitejs/plugin-react": "^4.3.4",
83+
"@vitest/browser": "^2.1.8",
84+
"@vitest/coverage-v8": "^2.1.8",
85+
"@vitest/eslint-plugin": "^1.1.14",
8686
"@wyw-in-js/rollup": "^0.5.0",
8787
"@wyw-in-js/vite": "^0.5.0",
8888
"babel-plugin-optimize-clsx": "^2.6.2",
8989
"browserslist": "^4.24.0",
90-
"eslint": "^9.15.0",
90+
"eslint": "^9.16.0",
9191
"eslint-plugin-jest-dom": "^5.5.0",
9292
"eslint-plugin-react": "^7.37.2",
93-
"eslint-plugin-react-compiler": "^19.0.0-beta-0dec889-20241115",
93+
"eslint-plugin-react-compiler": "^19.0.0-beta-df7b47d-20241124",
9494
"eslint-plugin-react-hooks": "^5.0.0",
95-
"eslint-plugin-react-hooks-extra": "^1.16.1",
96-
"eslint-plugin-sonarjs": "^2.0.4",
97-
"eslint-plugin-testing-library": "^6.4.0",
95+
"eslint-plugin-react-hooks-extra": "^1.17.3",
96+
"eslint-plugin-sonarjs": "^3.0.0",
97+
"eslint-plugin-testing-library": "^7.1.0",
9898
"jspdf": "^2.5.1",
9999
"jspdf-autotable": "^3.5.23",
100100
"playwright": "^1.45.1",
101101
"postcss": "^8.4.25",
102-
"prettier": "3.3.3",
102+
"prettier": "3.4.2",
103103
"react": "^18.3.1",
104104
"react-dnd": "^16.0.1",
105105
"react-dnd-html5-backend": "^16.0.1",
106106
"react-dom": "^18.3.1",
107107
"rollup": "^4.0.2",
108108
"rollup-plugin-postcss": "^4.0.2",
109-
"typescript": "~5.6.2",
110-
"vite": "^5.4.11",
111-
"vitest": "^2.1.5",
112-
"vitest-browser-react": "^0.0.3"
109+
"typescript": "~5.7.2",
110+
"vite": "^6.0.2",
111+
"vitest": "^2.1.8",
112+
"vitest-browser-react": "^0.0.4"
113113
},
114114
"peerDependencies": {
115115
"react": "^18.0 || ^19.0",

src/Cell.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function Cell<R, SR>(
6666
function handleClick(event: React.MouseEvent<HTMLDivElement>) {
6767
if (onClick) {
6868
const cellEvent = createCellEvent(event);
69-
onClick({ row, column, selectCell: selectCellWrapper }, cellEvent);
69+
onClick({ rowIdx, row, column, selectCell: selectCellWrapper }, cellEvent);
7070
if (cellEvent.isGridDefaultPrevented()) return;
7171
}
7272
selectCellWrapper();
@@ -75,7 +75,7 @@ function Cell<R, SR>(
7575
function handleContextMenu(event: React.MouseEvent<HTMLDivElement>) {
7676
if (onContextMenu) {
7777
const cellEvent = createCellEvent(event);
78-
onContextMenu({ row, column, selectCell: selectCellWrapper }, cellEvent);
78+
onContextMenu({ rowIdx, row, column, selectCell: selectCellWrapper }, cellEvent);
7979
if (cellEvent.isGridDefaultPrevented()) return;
8080
}
8181
selectCellWrapper();
@@ -84,7 +84,7 @@ function Cell<R, SR>(
8484
function handleDoubleClick(event: React.MouseEvent<HTMLDivElement>) {
8585
if (onDoubleClick) {
8686
const cellEvent = createCellEvent(event);
87-
onDoubleClick({ row, column, selectCell: selectCellWrapper }, cellEvent);
87+
onDoubleClick({ rowIdx, row, column, selectCell: selectCellWrapper }, cellEvent);
8888
if (cellEvent.isGridDefaultPrevented()) return;
8989
}
9090
selectCellWrapper(true);

src/DataGrid.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ export interface DataGridProps<R, SR = unknown, K extends Key = Key> extends Sha
187187
/** Called when the grid is scrolled */
188188
onScroll?: Maybe<(event: React.UIEvent<HTMLDivElement>) => void>;
189189
/** Called when a column is resized */
190-
onColumnResize?: Maybe<(idx: number, width: number) => void>;
190+
onColumnResize?: Maybe<(column: CalculatedColumn<R, SR>, width: number) => void>;
191191
/** Called when a column is reordered */
192192
onColumnsReorder?: Maybe<(sourceColumnKey: string, targetColumnKey: string) => void>;
193193

src/HeaderRow.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ function HeaderRow<R, SR, K extends React.Key>({
5858
shouldFocusGrid,
5959
direction
6060
}: HeaderRowProps<R, SR, K>) {
61+
// eslint-disable-next-line react-compiler/react-compiler
62+
// eslint-disable-next-line react-hooks/rules-of-hooks
6163
const dragDropKey = useId();
6264

6365
const cells = [];

src/hooks/useColumnWidths.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export function useColumnWidths<R, SR>(
9696
updateMeasuredWidths(columnsToMeasure);
9797
});
9898

99-
onColumnResize?.(column.idx, measuredWidth);
99+
onColumnResize?.(column, measuredWidth);
100100
}
101101

102102
return {

src/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export type CellMouseEvent = CellEvent<React.MouseEvent<HTMLDivElement>>;
168168
export type CellKeyboardEvent = CellEvent<React.KeyboardEvent<HTMLDivElement>>;
169169

170170
export interface CellClickArgs<TRow, TSummaryRow = unknown> {
171+
rowIdx: number;
171172
row: TRow;
172173
column: CalculatedColumn<TRow, TSummaryRow>;
173174
selectCell: (enableEditor?: boolean) => void;

test/browser/column/resizable.test.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,16 @@ test('cannot not resize or auto resize column when resizable is not specified',
6464
});
6565

6666
test('should resize column when dragging the handle', async () => {
67-
setup<Row, unknown>({ columns, rows: [] });
67+
const onColumnResize = vi.fn();
68+
setup<Row, unknown>({ columns, rows: [], onColumnResize });
6869
const [, col2] = getHeaderCells();
6970
const grid = getGrid();
71+
expect(onColumnResize).not.toHaveBeenCalled();
7072
await expect.element(grid).toHaveStyle({ gridTemplateColumns: '100px 200px' });
7173
await resize({ column: col2.element(), resizeBy: -50 });
7274
await expect.element(grid).toHaveStyle({ gridTemplateColumns: '100px 150px' });
75+
expect(onColumnResize).toHaveBeenCalledTimes(1);
76+
expect(onColumnResize).toHaveBeenCalledWith(expect.objectContaining(columns[1]), 150);
7377
});
7478

7579
test('should use the maxWidth if specified', async () => {

0 commit comments

Comments
 (0)