Collections: Add default recommendations (#39202)

This commit is contained in:
Echo authored and GitHub committed 2026-05-29 11:53:03 +00:00
1 parent 796f771362
commit fa1e16ed9f
4 files changed
+112 -30

No files matched your search

@@ -100,6 +100,10 @@ interface ComboboxProps<
* Icon to be displayed in the text input
*/
icon?: TextInputProps['icon'] | null;
/**
* Set to true to open as soon as there is focus
*/
openOnFocus?: boolean;
/**
* Set to false to keep the menu open when an item is selected
*/
@@ -217,8 +221,10 @@ const ComboboxWithRef = <Item extends ComboboxItem, GroupKey extends string>(
renderGroupTitle,
renderItem,
onSelectItem,
onFocus,
onChange,
onKeyDown,
openOnFocus = false,
closeOnSelect = true,
suppressMenu = false,
icon = SearchIcon,
@@ -288,6 +294,16 @@ const ComboboxWithRef = <Item extends ComboboxItem, GroupKey extends string>(
}
}, []);
const handleFocus: React.FocusEventHandler<HTMLInputElement> = useCallback(
(e) => {
if (openOnFocus) {
setShouldMenuOpen(true);
}
onFocus?.(e);
},
[onFocus, openOnFocus],
);
const handleInputChange = useCallback(
(e: React.ChangeEvent<HTMLInputElement>) => {
onChange(e);
@@ -487,6 +503,7 @@ const ComboboxWithRef = <Item extends ComboboxItem, GroupKey extends string>(
autoComplete='off'
spellCheck='false'
value={value}
onFocus={handleFocus}
onChange={handleInputChange}
onKeyDown={handleInputKeyDown}
icon={icon ?? undefined}