npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@eqworks/omni-search

v0.2.8

Published

EQWorks workflow omni search component and hook

Downloads

10

Readme

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 |