@@ -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,13 @@ export const AutocompleteDropdown = memo<
287288 return
288289 }
289290
290- let findWhat = searchText . toLowerCase ( )
291+ let findWhat : string
292+
293+ if ( caseSensitive ) {
294+ findWhat = searchText
295+ } else {
296+ findWhat = searchText . toLowerCase ( )
297+ }
291298
292299 if ( ignoreAccents ) {
293300 findWhat = diacriticless ( findWhat )
@@ -297,9 +304,15 @@ export const AutocompleteDropdown = memo<
297304 findWhat = findWhat . trim ( )
298305 }
299306
300- const newSet = initialDataSet . filter ( item => {
307+ const newSet = initialDataSet . filter ( ( item : AutocompleteDropdownItem ) => {
301308 const titleLowercase = ( item . title || '' ) . toLowerCase ( )
302- const findWhere = ignoreAccents ? diacriticless ( titleLowercase ) : titleLowercase . toLowerCase ( )
309+ let findWhere : string
310+
311+ if ( caseSensitive ) {
312+ findWhere = ignoreAccents ? diacriticless ( item . title || '' ) : item . title || ''
313+ } else {
314+ findWhere = ignoreAccents ? diacriticless ( titleLowercase ) : titleLowercase
315+ }
303316
304317 if ( matchFromStart ) {
305318 return typeof item . title === 'string' && findWhere . startsWith ( findWhat )
@@ -309,7 +322,7 @@ export const AutocompleteDropdown = memo<
309322 } )
310323
311324 setDataSet ( newSet )
312- } , [ ignoreAccents , matchFromStart , searchText , trimSearchText , useFilter ] )
325+ } , [ ignoreAccents , matchFromStart , caseSensitive , searchText , trimSearchText , useFilter ] )
313326
314327 const renderItem : ListRenderItem < AutocompleteDropdownItem > = useCallback (
315328 ( { item } ) => {
0 commit comments