Skip to content

Commit 390edd8

Browse files
committed
fix(tabs): pass 'value' as first argument in 'onChange'
1 parent 0471ccb commit 390edd8

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/Tabs/Tab.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { CommonStyledProps } from '../types';
88
type TabProps = {
99
children?: React.ReactNode;
1010
// eslint-disable-next-line @typescript-eslint/no-explicit-any
11-
onClick?: (event: React.MouseEvent<HTMLButtonElement>, value: any) => void;
11+
onClick?: (value: any, event: React.MouseEvent<HTMLButtonElement>) => void;
1212
selected?: boolean;
1313
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1414
value?: any;
@@ -76,7 +76,7 @@ const Tab = forwardRef<HTMLButtonElement, TabProps>(
7676
aria-selected={selected}
7777
selected={selected}
7878
onClick={(e: React.MouseEvent<HTMLButtonElement>) =>
79-
onClick?.(e, value)
79+
onClick?.(value, e)
8080
}
8181
ref={ref}
8282
role='tab'

src/Tabs/Tabs.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ describe('<Tabs />', () => {
6161

6262
fireEvent.click(getAllByRole('tab')[1]);
6363
expect(handleChange).toBeCalledTimes(1);
64-
expect(handleChange.mock.calls[0][1]).toBe(1);
64+
expect(handleChange.mock.calls[0][0]).toBe(1);
6565
});
6666
});
6767

src/Tabs/Tabs.stories.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,12 @@ export function Default() {
3232
});
3333

3434
const handleChange = (
35-
_: React.MouseEvent<HTMLButtonElement>,
36-
value: number
37-
) => setState({ activeTab: value });
35+
value: number,
36+
event: React.MouseEvent<HTMLButtonElement>
37+
) => {
38+
console.log({ value, event });
39+
setState({ activeTab: value });
40+
};
3841

3942
const { activeTab } = state;
4043
return (
@@ -88,10 +91,7 @@ export function MultiRow() {
8891
activeTab: 'Shoes'
8992
});
9093

91-
const handleChange = (
92-
_: React.MouseEvent<HTMLButtonElement>,
93-
value: string
94-
) => setState({ activeTab: value });
94+
const handleChange = (value: string) => setState({ activeTab: value });
9595

9696
const { activeTab } = state;
9797
return (

0 commit comments

Comments
 (0)