The formula autocomplete list shown while typing a name in a formula (the "A" half of the
formula-editor hint UI, modeled after Excel Online). Presentational only: it renders the matches
with one highlighted, a leading type glyph per row, and — under the selected row only — that item's
summary. The editor owns the caret → matches derivation, the selection index, insertion, and
resolving the selected summary. Functions, named ranges and tables all render here, distinguished
only by their NamedItemKind glyph.
Remarks
Kept mouse-first so it works with the passive (autoFocus: false) hint popup — rows use
onMouseDown + preventDefault so choosing one never blurs the textarea being typed in. Keyboard
navigation (arrow/enter) is driven by the editor's textarea keymap, which just moves
NamedItemsPanelProps.selectedIndex; nothing here needs to own focus. The summary is shown
for exactly one row and forced to a single line, so moving the selection never reflows the panel
width (no "bounce").
The formula autocomplete list shown while typing a name in a formula (the "A" half of the formula-editor hint UI, modeled after Excel Online). Presentational only: it renders the matches with one highlighted, a leading type glyph per row, and — under the selected row only — that item's summary. The editor owns the caret → matches derivation, the selection index, insertion, and resolving the selected summary. Functions, named ranges and tables all render here, distinguished only by their NamedItemKind glyph.
Remarks
Kept mouse-first so it works with the passive (
autoFocus: false) hint popup — rows useonMouseDown+preventDefaultso choosing one never blurs the textarea being typed in. Keyboard navigation (arrow/enter) is driven by the editor's textarea keymap, which just moves NamedItemsPanelProps.selectedIndex; nothing here needs to own focus. The summary is shown for exactly one row and forced to a single line, so moving the selection never reflows the panel width (no "bounce").