import React, { forwardRef, Fragment, Ref } from "react"; interface SearchProps { onChange: (value: string) => void; placeholder?: string; prefix?: string[]; value: string; searchIcon?: any; cancelIcon?: any; } function Search( { onChange, placeholder, prefix, value, cancelIcon: CancelIcon, searchIcon: SearchIcon, }: SearchProps, ref: Ref ) { return (
{SearchIcon && ( )} {prefix?.length ? prefix.map((p) => { return ( {p} / ); }) : null}
{ onChange(e.currentTarget.value); }} onFocus={(e) => { e.currentTarget.select(); }} onKeyDown={(e) => { if (e.key === "Escape" && value) { e.preventDefault(); e.stopPropagation(); onChange(""); } }} id="command-palette-search-input" placeholder={placeholder} value={value} type="text" autoFocus /> {value && ( )}
); } export default forwardRef(Search);