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

@whoaa/react-search

v2.1.2

Published

An extensible search component

Downloads

20

Readme

react-search

npm version js-standard-style

react-search is an extensible autocompleting search component component using react.js.

Install

npm install react-search --save

Usage


import Search from 'react-search'
import ReactDOM from 'react-dom';
import React, { Component } from 'react';

let ITEMS = ['ruby', 'javascript', 'lua', 'go', 'julia', 'c', 'scala','haskell']

ReactDOM.render(<Search items={ITEMS}/>, document.getElementById('root'));

Basic Props

items (required)

List of Items to filter through

classPrefix

default: react-search Optional class prefix for included class names. Will also be attached to the main wrapper element. Included class suffixes are:

  • __input
  • __menu
  • __menu-item
  • __menu--hidden

placeHolder

Placeholder attribute for the text input

onChange

Update handler for the text input. Fired before the internal logic to update the autocomplete list

onClick

Click handler for each item in the autocomplete list. Fired before the internal logic to hide the autocomplete list

ItemElement

default: 'li' Custom element to use for each <li> in the autocomplete list. Can be a React Element or a valid DOM tag as a string, such as <CustomElement> or 'div'

AutoCompleteListElem

default: 'ul' Custom element to use as wrapper for autocomplete list. Can be a React Element or a valid DOM tag as a string, such as <CustomElement> or 'div'

Advanced Props

All of the following allow you to extend (via spread operator) the properties of the individual elements that make up the Search component.

inputProps

Property extensions for the text input

inputWrapperProps

Property extensions for the wrapper around text input

itemProps

Property extensions for the each individual autocomplete list elements. Note: list elements will also be extended with an items properties

autoCompleteListProps

Property extensions for the autocomplete <ul>

autoCompleteWrapperProps

Property extensions for the autocomplete wrapper

wrapperProps

Property extensions for the wrapper that is the root of the <Search> component

Callbacks onClick and onChange

You can specify callback functions for onClick of the element and onChange of the search input. The element passed in is the SyntheticKeyboardEvent, which you can use to get the target or value. Check out the example

Styles

react-search can be used with your own custom styles. A minimal search.css style sheet is included in the example as a guide. The styles follow BEM naming conventions.

Development

npm install
npm run build
npm test
npm start

License

MIT