@@ -49,6 +49,7 @@ export const AutocompleteDropdown = memo<
4949 dataSet : dataSetProp ,
5050 initialValue : initialValueProp ,
5151 clearOnFocus = true ,
52+ caseSensitive = false ,
5253 ignoreAccents = true ,
5354 trimSearchText = true ,
5455 editable = true ,
@@ -287,7 +288,7 @@ export const AutocompleteDropdown = memo<
287288 return
288289 }
289290
290- let findWhat = searchText . toLowerCase ( )
291+ let findWhat = caseSensitive ? searchText : searchText . toLowerCase ( )
291292
292293 if ( ignoreAccents ) {
293294 findWhat = diacriticless ( findWhat )
@@ -297,9 +298,11 @@ export const AutocompleteDropdown = memo<
297298 findWhat = findWhat . trim ( )
298299 }
299300
300- const newSet = initialDataSet . filter ( item => {
301+ const newSet = initialDataSet . filter ( ( item : AutocompleteDropdownItem ) => {
301302 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
303306
304307 if ( matchFromStart ) {
305308 return typeof item . title === 'string' && findWhere . startsWith ( findWhat )
@@ -309,7 +312,7 @@ export const AutocompleteDropdown = memo<
309312 } )
310313
311314 setDataSet ( newSet )
312- } , [ ignoreAccents , matchFromStart , searchText , trimSearchText , useFilter ] )
315+ } , [ ignoreAccents , matchFromStart , caseSensitive , searchText , trimSearchText , useFilter ] )
313316
314317 const renderItem : ListRenderItem < AutocompleteDropdownItem > = useCallback (
315318 ( { item } ) => {
0 commit comments