diff --git a/src/components/inputs/Autocomplete/Autocomplete.tsx b/src/components/inputs/Autocomplete/Autocomplete.tsx index b178dc03..072a527b 100644 --- a/src/components/inputs/Autocomplete/Autocomplete.tsx +++ b/src/components/inputs/Autocomplete/Autocomplete.tsx @@ -309,6 +309,11 @@ const Autocomplete: React.FC> = ({ setOptions(receivedOptions || []) }, [receivedOptions]) + const localNoOptionsText = useMemo(() => { + if (!noOptionsText || typeof noOptionsText !== 'function') return noOptionsText as React.ReactNode + return noOptionsText(localInput, localLoading) + }, [noOptionsText, localInput, localLoading]) + const listBoxProps = useMemo( () => isPaginated @@ -331,7 +336,7 @@ const Autocomplete: React.FC> = ({ return ( {noOptionsText}} + noOptionsText={{localNoOptionsText}} typographyContentColor={typographyContentColor} forcePopupIcon label={label} diff --git a/src/components/inputs/Autocomplete/types.ts b/src/components/inputs/Autocomplete/types.ts index da938ff9..97739d43 100644 --- a/src/components/inputs/Autocomplete/types.ts +++ b/src/components/inputs/Autocomplete/types.ts @@ -53,6 +53,7 @@ export interface AutocompleteProps< | 'multiple' | 'disableClearable' | 'renderTags' + | 'noOptionsText' > { /** * Array of options. @@ -139,7 +140,7 @@ export interface AutocompleteProps< * Text to display when there are no options. * For localization purposes, you can use the provided translations. */ - noOptionsText?: React.ReactNode + noOptionsText?: React.ReactNode | ((inputValue: string, loadingOptions: boolean) => React.ReactNode) /** * The color of selected input. */