saleor-dashboard/src/hooks/useChoiceSearch.ts
2023-01-16 10:45:12 +01:00

16 lines
465 B
TypeScript

import { Choice } from "@dashboard/components/SingleSelectField";
import { filter } from "fuzzaldrin";
import { useMemo, useState } from "react";
function useChoiceSearch(choices: Array<Choice<string, string>>) {
const [query, setQuery] = useState("");
const sortedChoices = useMemo(
() => filter(choices, query, { key: "label" }) || [],
[choices, query],
);
return { search: setQuery, result: sortedChoices };
}
export default useChoiceSearch;