@primer/react
Version:
An implementation of GitHub's Primer Design System using React
37 lines • 1.67 kB
TypeScript
/**
* Base context containing refs, stable IDs, menu visibility state, and callbacks.
* This context changes when menu opens/closes or selection changes, but NOT on every keystroke.
* Consumers like AutocompleteOverlay that don't need input text should use only this context.
*/
export declare const AutocompleteContext: import("react").Context<{
activeDescendantRef: React.MutableRefObject<HTMLElement | null>;
id: string;
inputRef: React.MutableRefObject<HTMLInputElement | null>;
scrollContainerRef: React.MutableRefObject<HTMLElement | null>;
selectedItemLength: number;
setAutocompleteSuggestion: (value: string) => void;
setInputValue: (value: string) => void;
setIsMenuDirectlyActivated: (value: boolean) => void;
setSelectedItemLength: (value: number) => void;
setShowMenu: (value: boolean) => void;
showMenu: boolean;
} | null>;
/**
* Input-related state that changes on every keystroke.
* Only AutocompleteInput needs this for immediate text display and suggestion highlighting.
*/
export declare const AutocompleteInputContext: import("react").Context<{
autocompleteSuggestion: string;
inputValue: string;
isMenuDirectlyActivated: boolean;
} | null>;
/**
* Deferred input value for expensive operations like filtering.
* Uses React's useDeferredValue to allow typing to remain responsive while
* filtering large lists at lower priority.
* AutocompleteMenu uses this to avoid blocking keystrokes during filtering.
*/
export declare const AutocompleteDeferredInputContext: import("react").Context<{
deferredInputValue: string;
} | null>;
//# sourceMappingURL=AutocompleteContext.d.ts.map