Skip to content

Commit 38f7cf6

Browse files
WesSouzaarturbien
authored andcommitted
fix(select): fix type issues with onChange
1 parent 7cef5d9 commit 38f7cf6

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/Select/Select.tsx

+4-1
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,10 @@ function SelectInner<T>(
434434
return;
435435
}
436436

437-
onChange?.(event, nextSelection as unknown as SelectOption<T>);
437+
onChange?.(
438+
event as unknown as SelectChangeEvent<T>,
439+
nextSelection as unknown as SelectOption<T>
440+
);
438441
setValueState(nextSelection.value);
439442
displayNode.current?.focus();
440443
},

src/Select/Select.types.ts

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import React from 'react';
22

3+
type SelectChangeEventTargetValue<T> = { value: T; name: string | undefined };
4+
35
export type SelectChangeEvent<T> =
4-
| (React.MouseEvent & {
5-
target: {
6-
value: { value: T; name: string | undefined };
7-
};
6+
| (Omit<React.ChangeEvent<HTMLSelectElement>, 'target'> & {
7+
target: Omit<
8+
React.ChangeEvent<HTMLSelectElement>['target'],
9+
'name' | 'value'
10+
> &
11+
SelectChangeEventTargetValue<T>;
812
})
9-
| React.ChangeEvent<HTMLSelectElement>;
13+
| (Omit<React.MouseEvent, 'target'> & {
14+
target: Omit<React.MouseEvent['target'], 'name' | 'value'> &
15+
SelectChangeEventTargetValue<T>;
16+
});
1017

1118
export type SelectOption<T> = {
1219
label: string;

0 commit comments

Comments
 (0)