@@ -14,36 +14,39 @@ import {
1414
1515export interface PickerOverrides <
1616 TValue extends any ,
17- TPickerItem extends PickerItem < TValue >
17+ TItem extends PickerItem < TValue > ,
18+ TItemProps extends ItemProps < TValue , TItem & PickerItemProps >
1819> {
1920 Root : RootProps ;
20- Item : ItemProps < TValue , TPickerItem & PickerItemProps > ;
21+ Item : TItemProps ;
2122}
2223
2324export interface ItemProps <
2425 TValue extends any ,
25- TPickerItem extends PickerItem < TValue > & PickerItemProps
26+ TItem extends PickerItem < TValue > & PickerItemProps
2627> {
27- item : TPickerItem ;
28+ item : TItem ;
2829 onSelect : ( ) => void ;
2930}
3031
3132export interface PickerProps <
3233 TValue extends any ,
33- TPickerItem extends PickerItem < TValue > ,
34+ TItem extends PickerItem < TValue > ,
35+ TItemProps extends ItemProps < TValue , TItem & PickerItemProps > ,
3436 TIsMulti extends boolean = false
3537>
3638 extends WithOverrides <
37- UsePickerProps < TValue , TPickerItem , TIsMulti > ,
38- PickerOverrides < TValue , TPickerItem >
39+ UsePickerProps < TValue , TItem , TIsMulti > ,
40+ PickerOverrides < TValue , TItem , TItemProps >
3941 > { }
4042
4143export const Picker = <
4244 TValue extends any ,
43- TPickerItem extends PickerItem < TValue > ,
45+ TItem extends PickerItem < TValue > ,
46+ TItemProps extends ItemProps < TValue , TItem & PickerItemProps > ,
4447 TIsMulti extends boolean = false
4548> (
46- props : PickerProps < TValue , TPickerItem , TIsMulti > ,
49+ props : PickerProps < TValue , TItem , TItemProps , TIsMulti > ,
4750) => {
4851 const {
4952 data = [ ] ,
@@ -63,7 +66,7 @@ export const Picker = <
6366 dlv ( theme , 'overrides.Picker.Root' ) ,
6467 overrides . Root ,
6568 ) ;
66- const [ Item , tabProps ] = getOverrides (
69+ const [ Item , itemProps ] = getOverrides (
6770 StyledItem ,
6871 props ,
6972 dlv ( theme , 'overrides.Picker.Item' ) ,
@@ -85,7 +88,7 @@ export const Picker = <
8588 key = { item . key }
8689 onSelect = { ( ) => handleSelect ( item . value , item . index , item . isSelected ) }
8790 item = { item }
88- { ...tabProps }
91+ { ...itemProps }
8992 />
9093 ) ) }
9194 </ Root >
@@ -118,8 +121,12 @@ const StyledRoot = (props: RootProps) => {
118121 ) ;
119122} ;
120123
121- export const StyledItem = < TValue extends any = string > (
122- props : ItemProps < TValue , PickerItem < TValue > & PickerItemProps > ,
124+ export const StyledItem = <
125+ TValue extends any ,
126+ TItem extends PickerItem < TValue > ,
127+ TItemProps extends ItemProps < TValue , TItem & PickerItemProps >
128+ > (
129+ props : TItemProps ,
123130) => {
124131 const { item, onSelect } = props ;
125132 const { isSelected, value } = item ;
0 commit comments