import { createSignal } from "solid-js"; import { Search } from "@kobalte/core/search"; import { IconSearch, IconRefresh } from "@tabler/icons-solidjs"; import clsx from "clsx"; type Emoji = { emoji: string; name: string; }; function App() { const [options, setOptions] = createSignal([]); const [emoji, setEmoji] = createSignal(null); const emojiData: Emoji[] = [ { emoji: "😀", name: "Grinning Face" }, { emoji: "😃", name: "Grinning Face with Big Eyes" }, { emoji: "😄", name: "Grinning Face with Smiling Eyes" }, { emoji: "😁", name: "Beaming Face with Smiling Eyes" }, { emoji: "😆", name: "Grinning Squinting Face" }, ]; const queryEmojiData = (query: string) => { return emojiData.filter((emoji) => emoji.name.toLowerCase().includes(query.toLowerCase()) ); }; return (
setOptions(queryEmojiData(query))} onChange={(result) => setEmoji(result)} optionValue="name" optionLabel="name" placeholder="Search an emoji…" itemComponent={(props) => ( {props.item.rawValue.emoji} )} > } > e.preventDefault()} > 😬 No emoji found
Emoji selected: {emoji()?.emoji} {emoji()?.name}
); } export default App;