import { JSX, useMemo } from "react"; import { useComponentsContext } from "../../../editor/ComponentsContext.js"; import { useDictionary } from "../../../i18n/dictionary.js"; import { DefaultReactGridSuggestionItem, GridSuggestionMenuProps, } from "./types.js"; export function GridSuggestionMenu( props: GridSuggestionMenuProps, ) { const Components = useComponentsContext()!; const dict = useDictionary(); const { items, loadingState, selectedIndex, onItemClick, columns } = props; const loader = loadingState === "loading-initial" || loadingState === "loading" ? ( ) : null; const renderedItems = useMemo(() => { // let currentGroup: string | undefined = undefined; const renderedItems = []; for (let i = 0; i < items.length; i++) { const item = items[i]; // if (item.group !== currentGroup) { // currentGroup = item.group; // renderedItems.push( // // {currentGroup} // // ); // } renderedItems.push( onItemClick?.(item)} />, ); } return renderedItems; }, [Components, items, onItemClick, selectedIndex]); return ( {loader} {renderedItems} {renderedItems.length === 0 && props.loadingState === "loaded" && ( {dict.suggestion_menu.no_items_title} )} ); }