@@ -12,11 +12,13 @@ import { rankedSearchOnList } from '../../utils';
1212import styles from './styles.css' ;
1313
1414interface OptionProps {
15+ actions ?: React . ReactNode ;
1516 children : React . ReactNode ;
1617 isActive : boolean ;
1718}
1819function Option ( props : OptionProps ) {
1920 const {
21+ actions,
2022 children,
2123 isActive,
2224 } = props ;
@@ -29,6 +31,9 @@ function Option(props: OptionProps) {
2931 < div className = { styles . label } >
3032 { children }
3133 </ div >
34+ < div className = { styles . actions } >
35+ { actions }
36+ </ div >
3237 </ >
3338 ) ;
3439}
@@ -50,6 +55,7 @@ export type SearchMultiSelectInputProps<
5055 searchOptions ?: O [ ] | undefined | null ;
5156 keySelector : ( option : O ) => T ;
5257 labelSelector : ( option : O ) => string ;
58+ actionSelector ?: ( option : O ) => React . ReactNode ;
5359 hideOptionFilter ?: ( option : O ) => boolean ;
5460 name : K ;
5561 disabled ?: boolean ;
@@ -97,6 +103,7 @@ function SearchMultiSelectInput<
97103 const {
98104 keySelector,
99105 labelSelector,
106+ actionSelector,
100107 name,
101108 onChange,
102109 onOptionsChange,
@@ -237,10 +244,11 @@ function SearchMultiSelectInput<
237244 children : labelSelector ( option ) ,
238245 containerClassName : _cs ( styles . option , isActive && styles . active ) ,
239246 title : labelSelector ( option ) ,
247+ actions : actionSelector ?.( option ) ,
240248 isActive,
241249 } ;
242250 } ,
243- [ labelSelector , value ] ,
251+ [ labelSelector , value , actionSelector ] ,
244252 ) ;
245253
246254 // FIXME: value should not be on dependency list, also try to pass options like in SelectInput
0 commit comments