'use client' import { Children, type DetailedHTMLProps, type HTMLAttributes, type PropsWithChildren, } from 'react' import { useQuery } from './hooks/queryHooks' interface TextHighlighterBaseProps extends PropsWithChildren, HTMLSpanElement>> { query: string text?: string } function TextHighlighterBase({ children, text, query, ...props }: TextHighlighterBaseProps) { const child = text ?? Children.toArray(children)[0] if (typeof child !== 'string') return child const idx = child.toLowerCase().indexOf(query.toLowerCase()) if (idx === -1) { return {child} } return ( {child.substring(0, idx)} {child.substring(idx, idx + query.length)} {child.substring(idx + query.length)} ) } function TextHighlighter(props: Omit) { const query = useQuery() return } export { TextHighlighter, TextHighlighterBase }