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

horse.js

v1.0.3

Published

< 3Kb. autocomplete component of pure javascript.

Downloads

7

Readme

horse.js

< 3Kb. autocomplete component of pure javascript.

includes every sane browser and IE7+.

Build Status npm npm npm

Demo!

You can see a live demo here.

or USAGE in website: http://www.aTool.org

screenshot.png

Inspiration

I needed a fast, easy to use, and reliable autocomplete library.

The ones I stumbled upon were too bloated, too opinionated, or provided an unfriendly human experience, or the js file is too large.

Inspirated by projects below, Thx~^_^

Features

  • Small and focused, 2.97kb, smaller after gzip
  • Natural keyboard navigation
  • Fuzzy searching
  • Supports <input> elements

Install

Just link to you website use link and script.

<link href="dist/horse.css" rel="stylesheet" type="text/css">
<script src="dist/horse.js"></script>

or require:

import horse from 'horse.js';

// or

var horse = require("horse.js");

Example

horse(document.querySelector('input'), {
  suggestions: [
    { value: 'banana', text: 'Bananas from Amazon Rainforest' },
    { value: 'apple', text: 'Red apples from New Zealand' },
    { value: 'orange', text: 'Oranges from Moscow' },
    { value: 'lemon', text: 'Juicy lemons from the rich Amalfitan Coast' }
  ],
  onselect: function(li, suggestion) {
    alert("you select " + suggestion['text']);
  }
});

More examples here, live demo here.

Options

Entry point is horse(el, options). Configuration options are detailed below.

suggestions

An array containing a list of suggestions to be presented to the user. Each suggestion can be either a string or an object. If an object is used, the text property will be used for displaying the suggestion and the value property will be used when a suggestion is selected.

limit

Allows you to limit the amount of search results that are displayed by horsey. Defaults to Infinity.

onselect

Allows you set the event handler when select an option.

How to use the OPTIONs, can see detail in the live demo, live demo here.

License

MIT