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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@bento-core/local-find

v1.0.1-ccdiintegrated.5

Published

The Local Find package provides components relating to the Dashboard/Explore case search feature. There are two primary components provided by this package:

Readme

Introduction

The Local Find package provides components relating to the Dashboard/Explore case search feature. There are two primary components provided by this package:

  1. SearchBox – This is the case search autocomplete bar found on the Dashboard/Explore page. It provides a typeahead (autocomplete) wrapper with minimal configuration and lists the selected case filters.
  2. UploadModal – This is the modal that appears when a user clicks the "Upload Case Set" (by default) button. It handles TXT/CSV file uploads by default and passes the search entries to a search function.

Additionally, this package provides a basic SearchView component that can be implemented on the Facet Search sidebar. See below for usage instructions.

Getting Started

To import the components from LocalFind, use the following:

import { SearchBoxGenerator, UploadModalGenerator, SearchView } from '@bento-core/local-find';

/*
 * Generate the SearchBox and UploadModal components here
 */

const FacetSearchView = (
  <SearchView
    classes={classes}
    SearchBox={SearchBox}
    UploadModal={UploadModal}
    hidden={false}
  />
);

Each of the components has their own respective README.md files. Please see the following links for detailed instructions on how to use them:

Redux

Basic Usage

Local Find provides a Redux reducer generator for implementing within the Bento global state. To add the reducer to the global state, add the following code to the reducers object in the Redux Store (usually found in store/index.js):

import { LocalFindReducerGenerator } from '@bento-core/local-find';

const { localFind } = LocalFindReducerGenerator();

const reducers = {
  localFind,
  // ...
};

The localFind state can then be accessed from the global state using the localFind key. The state is structured as follows:

{
  localFind: {
    autocomplete: [
      // Autocomplete selection
      // e.g. [ { "type": "subjectIds", "title": "BENTO-CASE-3405467" }, ... ]
    ],
    upload: [
      // Upload selection
      // e.g. [ "BENTO-CASE-3405467", ... ]
    ],
    uploadMetadata: {
      // Current upload modal metadata
      // e.g.
      // "filename": "casefile.txt",
      // "fileContent": "BENTO-CASE-01\nBENTO-CASE-02\nBENTO-WENTO-03\nBENTO-CASE-9990847\n",
      // "matched": [
      //     {
      //         "subject_id": "BENTO-CASE-9990847",
      //         "program_id": "NCT00310180",
      //     }
      // ],
      // "unmatched": [
      //     "BENTO-CASE-01",
      //     "BENTO-CASE-02",
      //     "BENTO-WENTO-03"
      // ]
    }
  },
}

Advanced Usage

If you need to programatically dispatch a Local Find redux event, the internal events are exposed as action creators. To use them, import the action creator from the Local Find package and dispatch it to the store:

import {
  resetUploadData
} from '@bento-core/local-find';
import {
  store
} from 'store/index';

store.dispatch(resetUploadData([]))

Note: You can find the full list of action creators in the Actions.js file.