@eqworks/omni-search
v0.2.8
Published
EQWorks workflow omni search component and hook
Downloads
31
Readme
omni-search
EQWorks business specific elements for Omni Search
Requires peer dependencies:
react
-^16
react-dom
-^16
algoliasearch
-^4.1.0
use-debounce
-^3.4.2
import {
useAlgolia,
OmniSearch,
useFuse,
BaseSearch,
Marketplacesearch,
} from '@eqworks/omni-search'
Documentation
useAlgolia
useAlgolia([indexName], searchAPIkey, specs, algoliaIDkey) ⇒ Hook
Algolia custom hook. Should be called after server API call that retrieves the search key
Kind: global function
| Param | Type | Default | Description | | --- | --- | --- | --- | | [indexName] | string | "'mix_index'" | algolia index name to be used on the search | | searchAPIkey | string | | the search key provided from the server, to this client specificaly, to allow searching under the given index | | specs | object | {} | the custom algolia specs. Default is 20 results/search | | algoliaIDkey | string | | algolia user identification key |
Returns: Hook {Object}
| Name | Type | Description | | --- | --- | --- | | algoliaIndex | object | the algolia index if user wants a method other than search | | search | function | the search function per keystroke | | debouncedSearch | function | the debounced search function | | results | array | the results of the search |
OmniSearch
< OmniSearch {...{
debouncedSearch,
results,
getSelection,
autocompleteProps,
inputProps
}}
/>
OmniSearch Component - overlord SUI parity written with MUI
Kind: global function
Properties
| Name | Type | Description |
| --- | --- | --- |
| debouncedSearch | function | the debounced algolia search function |
| results | array | the results of the search |
| getSelection | function | setState
=> a function that retrieves the details of the selected item (object to be stored in a state) |
| autocompleteProps | object | override props from <Autocomplete>
|
| inputProps | object | override props from <InputBase>
|
useFuse(data, options) ⇒ Hook
const fuse = useFuse(data)
Fuse custom hook. Should be called after server API call that retrieves data
Kind: global function
| Param | Type | Description | | --- | --- | --- | | data | Array | the array of objects to initiate Fuse with | | options | object | optional: Fuse specs for the search. Default to marketplace config |
returns: Hook {Object}
| Name | Type | Description | | --- | --- | --- | | fuse | object | the initiated fuse object to call search on a term or any other method |
MarketplaceSearch
< MarketplaceSearch {...{setSearch, search, updateHistory, ...props}} />
MarketplaceSearch Component - locus tailored, MUI parity
Kind: global function
Properties
| Param | Type | Description | | --- | --- | --- | | setSearch | function | from useState | | search | string | from useState | | updateHistory | function | invoked inside onKeyPress | | ...props | object | any InputBase props to override default |
BaseSearch
<BaseSearch {...{onChange, ...props}}/>
BaseSearch Component: versatile search input
Kind: global function
Properties
| Param | Type | Description | | --- | --- | --- | | onChange | function | the call to action to manipulate the event value entered | | ...props | object | any InputBase props to override default |