;
export default meta;
export const Basic = () => {
return ;
};
const list = ["Châtillon-sur-Cluses, Haute-Savoie, Auvergne-Rhône-Alpes"];
export const Playbook = () => {
const [search, setSearch] = useState("clu");
const [minLength, setMinLength] = useState(2);
const [isCaseSensitive, setIsCaseSensitive] = useState(false);
const [minMatchCharLength, setMinMatchCharLength] = useState(1);
const [location, setLocation] = useState(0);
const [threshold, setThreshold] = useState(0.6);
const [distance, setDistance] = useState(100);
const [ignoreLocation, setIgnoreLocation] = useState(false);
const fuse = new Fuse(list, {
includeScore: true,
includeMatches: true,
isCaseSensitive,
minMatchCharLength,
location,
threshold,
distance,
ignoreLocation,
});
const result = fuse.search(search);
let PreviewElement: ReactNode;
if (result.length === 0 || !result[0].matches) {
PreviewElement = [Empty]
;
} else {
const { matches, score } = result[0];
PreviewElement = (
<>
{matches.map(({ indices, value }, idx) => (
))}
score: {score}
>
);
}
return (
<>
{PreviewElement}
) => setSearch(e.target.value)}
/>
) =>
e.target.validity.valid && setMinLength(e.target.valueAsNumber)
}
/>
) => setIsCaseSensitive(e.target.checked)}
/>
) =>
e.target.validity.valid && setMinMatchCharLength(e.target.valueAsNumber)
}
/>
) =>
e.target.validity.valid && setLocation(e.target.valueAsNumber)
}
/>
) =>
e.target.validity.valid && setThreshold(e.target.valueAsNumber)
}
/>
) =>
e.target.validity.valid && setDistance(e.target.valueAsNumber)
}
/>
) => setIgnoreLocation(e.target.checked)}
/>
>
);
};