1
- import type { PaginatedMultiSelectOption } from '@rocket.chat/fuselage' ;
2
1
import { PaginatedMultiSelectFiltered } from '@rocket.chat/fuselage' ;
3
2
import { useDebouncedValue } from '@rocket.chat/fuselage-hooks' ;
3
+ import type { ComponentProps } from 'react' ;
4
4
import { memo , useMemo , useState } from 'react' ;
5
5
import { useTranslation } from 'react-i18next' ;
6
6
7
7
import { useInfiniteTagsList } from '../../components/Omnichannel/hooks/useInfiniteTagsList' ;
8
8
9
- type AutoCompleteTagsMultipleProps = {
10
- id ?: string ;
11
- value ?: PaginatedMultiSelectOption [ ] ;
12
- onChange ?: ( value : PaginatedMultiSelectOption [ ] ) => void ;
9
+ type AutoCompleteTagsMultipleProps = Omit <
10
+ ComponentProps < typeof PaginatedMultiSelectFiltered > ,
11
+ 'filter' | 'setFilter' | 'options' | 'endReached' | 'renderItem'
12
+ > & {
13
13
department ?: string ;
14
14
viewAll ?: boolean ;
15
15
} ;
16
16
17
17
const AutoCompleteTagsMultiple = ( {
18
- id,
19
18
value = [ ] ,
20
19
onChange = ( ) => undefined ,
21
20
department,
22
21
viewAll = false ,
22
+ placeholder,
23
+ ...props
23
24
} : AutoCompleteTagsMultipleProps ) => {
24
25
const { t } = useTranslation ( ) ;
25
26
const [ tagsFilter , setTagsFilter ] = useState ( '' ) ;
@@ -39,8 +40,8 @@ const AutoCompleteTagsMultiple = ({
39
40
40
41
return (
41
42
< PaginatedMultiSelectFiltered
42
- id = { id }
43
43
withTitle
44
+ { ...props }
44
45
value = { value }
45
46
onChange = { onChange }
46
47
filter = { tagsFilter }
@@ -49,7 +50,7 @@ const AutoCompleteTagsMultiple = ({
49
50
width = '100%'
50
51
flexShrink = { 0 }
51
52
flexGrow = { 0 }
52
- placeholder = { t ( 'Select_an_option' ) }
53
+ placeholder = { placeholder ?? t ( 'Select_an_option' ) }
53
54
endReached = { ( ) => fetchNextPage ( ) }
54
55
/>
55
56
) ;
0 commit comments