Utility
useSearchFilter
Filter and search through data collections with fuzzy matching support.
import { useSearchFilter } from "saha-ui"Uses
Filter and search arrays of objects with optional search keys, custom filter function and case sensitivity option.
Props
| Name | Type | Description | Default |
|---|---|---|---|
| items | T[] | Items to be searched and filtered. | - |
| options | { searchKeys?: (keyof T)[]; filterFn?: (item: T, query: string) => boolean; caseSensitive?: boolean } | Configuration object for search behavior. | - |
Returns
| Name | Description |
|---|---|
| filteredItems | Items that match the current search query. |
| searchQuery | Current search string. |
| setSearchQuery | Setter for the search query. |
| clearSearch | Reset search query and results. |
| itemCount | Number of filtered items. |
| hasResults | Boolean indicating if any items matched. |
Example
const { filteredItems, setSearchQuery } = useSearchFilter(users, { searchKeys: ['name', 'email'] });
setSearchQuery('john');Notes
Default behavior searches string fields across the object; filterFn, if provided, takes precedence over default matching.