Passed to EmojiPickerPopup by TextEditor, which keeps the refs to
detect outside presses, focus the search and step the keyboard into the grid.
floatRef: Ref<HTMLDivElement>
searchRef: Ref<HTMLInputElement>
viewportRef: Ref<HTMLDivElement>
Focused by TextEditor to hand the arrow keys to frimousse.
style: CSSProperties
From useAnchoredFloat, or hidden until it has placed the picker.
inline: boolean
Set for a :query typed in the textarea. The search field then only
mirrors query and can't take focus.
query: string
onQueryChange: (query: string) => void
onSelect: (emoji: string) => void
onClose: () => void
onKeyDownCapture: (e: KeyboardEvent<HTMLDivElement>) => void
Runs before frimousse sees the key, so it can take Escape and Enter.