import { icons } from "@/lib/client/icons"; import Fuse from "fuse.js"; import { useMemo } from "react"; const fuse = new Fuse(icons, { keys: [{ name: "name", weight: 4 }, "tags", "categories"], threshold: 0.2, useExtendedSearch: true, }); type Props = { query: string; color: string; weight: "light" | "regular" | "bold" | "fill" | "duotone" | "thin"; iconName?: string; setIconName: Function; }; const IconGrid = ({ query, color, weight, iconName, setIconName }: Props) => { const filteredQueryResultsSelector = useMemo(() => { if (!query) { return icons; } return fuse.search(query).map((result) => result.item); }, [query]); return ( <> {filteredQueryResultsSelector.map((icon) => { const IconComponent = icon.Icon; return (