@eqworks/omni-search

0.2.8 • Public • Published

omni-search Master

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

Readme

Keywords

none

Package Sidebar

Install

npm i @eqworks/omni-search

Weekly Downloads

0

Version

0.2.8

License

MIT

Unpacked Size

29.2 kB

Total Files

14

Last publish

Collaborators

  • ashish.jullia
  • jackchungeq