import { Component, createEffect, createSignal } from "solid-js"; import { removeZeroWidthAndTrim } from "../utils/utils.ts"; export const SearchBox: Component<{ value?: string | null; onInput: (value: string) => void }> = (props) => { const [value, setValue] = createSignal(""); createEffect(() => { if (props.value) { setValue(props.value); } }); return (
setValue(removeZeroWidthAndTrim((e.target as HTMLInputElement).value))} onKeyUp={(e) => { if (e.code === "Enter") { props.onInput(value()); } else if (e.code === "Escape") { setValue(""); props.onInput(""); } }} /> {value().length > 0 && ( { setValue(""); props.onInput(""); }} > )}
); };