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

react-finderjs

v0.1.6

Published

A React wrapper around FinderJS

Downloads

4,068

Readme

react-finderjs

React componet wrapper for https://mynameistechno.github.io/finderjs/ javascript component

Installation

npm install --save react-finderjs

Usage

import * as ReactFinder from "react-finderjs";

const data = [
  {
    id: 1,
    label: 'Label A'
    children: [
      {
        id: 10,
        label: 'Label A1'
      },
      {
        id: 11,
        label: 'Label A2'
      }
    ]
  }, {
    id: 2,
    label: 'Label B'
  }
];

<ReactFinder
  className = ""
  data = {data} />

Parameter | Type | Description ----------|------|------------ className | string | Custom class name for the wrapping div createItemContent | Function | Define how each item is rendered. Parameters (config, item). The first parameter passed in is the config object and the second is the item object that is currently being iterated on. It should return an HTML Element. data| Array | Data source is a array of objects disableAutoScroll| Boolean | Disable automatically scrolling to newly created column on parent click (default: false) onItemSelected| Function | Callback function when item selected. Parameters: (item, domItem) onLeafSelected| Function | Callback function when leaf node selected. Parameters: (item) onColumnCreated| Function | Callback function when column is created. Parameters: (domColumn) value| Object| Currently selected value. The id property is required for data lookup.

Data

Each item in the array itself should be an object. Each object that doesn't contain a children property is considered a leaf node. When a leaf node is selected, the onLeafSelected event will be emitted. When present, the value of the children property should be an array. When a node has children and it is selected, it will use the children to populate the next column.

Notes

If an object has a url property it will be treated slightly differently: the anchor tag that wraps the item will have the href attribute assigned to it. Upon selection of this item the browser will be redirected to the provided URL.

Events

react-finderjs has a few events you can provide callbacks for, as well as some public methods to trigger events in the native finderjs library:

Property Callback | Description -------------------------|------------------------- onItemSelected | An item was selected (clicked or keyboard arrow) onLeafSelected | A leaf node was selected onColumnCreated | A column was appended to the container

Public Event | Description -------------------------| ------------------------ createColumn | Append a column to the container navigate | Navigate the finder by going up, down, right, or left

Project commands

Command | Description -----------------|------------------------------------- npm run build | Build /dist finderjs npm run clean | Deletes /dist folder for build npm run publish| Run clean & build commands npm run test | Run test (not completed) npm run watch | Run watch for file changes