@@ -49,6 +49,7 @@ export const AutocompleteDropdown = memo<
49
49
dataSet : dataSetProp ,
50
50
initialValue : initialValueProp ,
51
51
clearOnFocus = true ,
52
+ caseSensitive = false ,
52
53
ignoreAccents = true ,
53
54
trimSearchText = true ,
54
55
editable = true ,
@@ -287,7 +288,7 @@ export const AutocompleteDropdown = memo<
287
288
return
288
289
}
289
290
290
- let findWhat = searchText . toLowerCase ( )
291
+ let findWhat = caseSensitive ? searchText : searchText . toLowerCase ( )
291
292
292
293
if ( ignoreAccents ) {
293
294
findWhat = diacriticless ( findWhat )
@@ -297,9 +298,11 @@ export const AutocompleteDropdown = memo<
297
298
findWhat = findWhat . trim ( )
298
299
}
299
300
300
- const newSet = initialDataSet . filter ( item => {
301
+ const newSet = initialDataSet . filter ( ( item : AutocompleteDropdownItem ) => {
301
302
const titleLowercase = ( item . title || '' ) . toLowerCase ( )
302
- const findWhere = ignoreAccents ? diacriticless ( titleLowercase ) : titleLowercase . toLowerCase ( )
303
+ const titleStr = item . title || ''
304
+ const title = caseSensitive ? titleStr : titleStr . toLowerCase ( )
305
+ const findWhere = ignoreAccents ? diacriticless ( title ) : title
303
306
304
307
if ( matchFromStart ) {
305
308
return typeof item . title === 'string' && findWhere . startsWith ( findWhat )
@@ -309,7 +312,7 @@ export const AutocompleteDropdown = memo<
309
312
} )
310
313
311
314
setDataSet ( newSet )
312
- } , [ ignoreAccents , matchFromStart , searchText , trimSearchText , useFilter ] )
315
+ } , [ ignoreAccents , matchFromStart , caseSensitive , searchText , trimSearchText , useFilter ] )
313
316
314
317
const renderItem : ListRenderItem < AutocompleteDropdownItem > = useCallback (
315
318
( { item } ) => {
0 commit comments