UNPKG

@blocknote/react

Version:

A "Notion-style" block-based extensible text editor built on top of Prosemirror and Tiptap.

21 lines (20 loc) 1.2 kB
import { SuggestionMenuOptions } from "@blocknote/core/extensions"; import { FC } from "react"; import { FloatingUIOptions } from "../Popovers/FloatingUIOptions.js"; import { DefaultReactSuggestionItem, SuggestionMenuProps } from "./types.js"; type ArrayElement<A> = A extends readonly (infer T)[] ? T : never; type ItemType<GetItemsType extends (query: string) => Promise<any[]>> = ArrayElement<Awaited<ReturnType<GetItemsType>>>; export declare function SuggestionMenuController<GetItemsType extends (query: string) => Promise<any[]> = (query: string) => Promise<DefaultReactSuggestionItem[]>>(props: { triggerCharacter: string; getItems?: GetItemsType; shouldOpen?: SuggestionMenuOptions["shouldOpen"]; minQueryLength?: number; floatingUIOptions?: FloatingUIOptions; } & (ItemType<GetItemsType> extends DefaultReactSuggestionItem ? { suggestionMenuComponent?: FC<SuggestionMenuProps<ItemType<GetItemsType>>>; onItemClick?: (item: ItemType<GetItemsType>) => void; } : { suggestionMenuComponent: FC<SuggestionMenuProps<ItemType<GetItemsType>>>; onItemClick: (item: ItemType<GetItemsType>) => void; })): import("react/jsx-runtime").JSX.Element | null; export {};