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 ๐Ÿ™

ยฉ 2025 โ€“ย Pkg Stats / Ryan Hefner

@ryvora/react-select

v3.0.0

Published

๐Ÿ”ฝโ˜‘๏ธ Accessible, customizable select dropdown for React. Keyboard navigation, ARIA, and more!

Readme

Select (Dropdown) ๐Ÿ”ฝโ˜‘๏ธ

Well hello there, Choice Champion! ๐Ÿ†

The select module is your ultimate tool for creating highly accessible and customizable dropdown select menus. It allows users to choose an option from a list, just like a native <select> element, but with superpowers! ๐Ÿฆธโ€โ™‚๏ธ

It's like a magic hat ๐ŸŽฉ โ€“ you ask for choices, and it presents them beautifully!

Awesome Features:

  • ๐Ÿ’ฏ Super Accessible: Full keyboard navigation, ARIA attributes, and screen reader support.
  • ๐ŸŽจ Fully Styleable: Customize every part to match your design system.
  • ๐Ÿงฉ Composable API:
    • Select.Root: The main wrapper.
    • Select.Trigger: The button that opens the dropdown.
    • Select.Value: Displays the selected value (can have a placeholder).
    • Select.Icon: A little dropdown arrow icon.
    • Select.Portal: To render the dropdown content in a different part of the DOM.
    • Select.Content: The container for the list of items.
    • Select.Viewport: The scrollable area within the content.
    • Select.Item: A selectable option.
    • Select.ItemText: The text content of an item.
    • Select.ItemIndicator: A checkmark or other indicator for the selected item.
    • Select.Group & Select.Label: For organizing items.
    • Select.Separator: A visual divider.
  • โŒจ๏ธ Type-ahead: Users can type to quickly find options.

Quick Pick Example:

import * as Select from '@ryvora/react-select';

function MyFruitSelector() {
  return (
    <Select.Root defaultValue="apple">
      <Select.Trigger aria-label="Fruit">
        <Select.Value placeholder="Select a fruit..." />
        <Select.Icon />
      </Select.Trigger>

      <Select.Portal>
        <Select.Content>
          <Select.Viewport>
            <Select.Item value="apple">
              <Select.ItemText>Apple ๐ŸŽ</Select.ItemText>
              <Select.ItemIndicator />
            </Select.Item>
            <Select.Item value="banana">
              <Select.ItemText>Banana ๐ŸŒ</Select.ItemText>
              <Select.ItemIndicator />
            </Select.Item>
            <Select.Item value="orange" disabled>
              <Select.ItemText>Orange ๐ŸŠ (Sold Out!)</Select.ItemText>
              <Select.ItemIndicator />
            </Select.Item>
          </Select.Viewport>
        </Select.Content>
      </Select.Portal>
    </Select.Root>
  );
}

Help your users make the perfect choice, every time! โœจ๐Ÿ‘Œ