import React from 'react' import { Box, Text } from '../index.js' type Props = { query: string placeholder?: string isFocused: boolean isTerminalFocused: boolean prefix?: string width?: number | string cursorOffset?: number borderless?: boolean } export function SearchBox({ query, placeholder = 'Search…', isFocused, isTerminalFocused, prefix = '\u2315', width, cursorOffset, borderless = false, }: Props): React.ReactNode { const offset = cursorOffset ?? query.length return ( {prefix}{' '} {isFocused ? ( <> {query ? ( isTerminalFocused ? ( <> {query.slice(0, offset)} {offset < query.length ? query[offset] : ' '} {offset < query.length && ( {query.slice(offset + 1)} )} ) : ( {query} ) ) : isTerminalFocused ? ( <> {placeholder.charAt(0)} {placeholder.slice(1)} ) : ( {placeholder} )} ) : query ? ( {query} ) : ( {placeholder} )} ) }