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

@bolttech/molecules-dropdown

v0.33.1

Published

The **Dropdown** component is a customizable React component that provides a dropdown input with a list of selectable options.

Downloads

1,944

Readme

Dropdown Component

The Dropdown component is a customizable React component that provides a dropdown input with a list of selectable options.

Installation

To use the Dropdown component, you need to install the required dependencies:

npm install @bolttech/frontend-foundations @bolttech/molecules-dropdown

or

yarn add @bolttech/frontend-foundations @bolttech/molecules-dropdown

Usage

You can utilize the Dropdown component by importing it and including it in your JSX. Here's an example:

import React from 'react';
import { Dropdown } from '@bolttech/molecules-dropdown'; // Adjust the path to your component

const options = [
  { id: '1', label: 'Option 1', value: 'option1' },
  { id: '2', label: 'Option 2', value: 'option2' },
  { id: '3', label: 'Option 3', value: 'option3' },
];

function App() {
  const handleOptionChange = (selectedOption) => {
    console.log('Selected option:', selectedOption);
  };

  return (
    <div>
      <Dropdown label="Select an option" optionList={options} value="option2" onChange={handleOptionChange} />
    </div>
  );
}

export default App;

Props

The Dropdown component accepts the following props:

| Prop | Type | Description | | -------------------- | -------------- | --------------------------------------------------------------------------------------------- | | label | string | Label for the dropdown. | | variant | string | Variant style of the dropdown. Defaults to 'grey'. | | required | boolean | Whether the dropdown is required or not. | | optionList | OptionType[] | Array of selectable options for the dropdown. | | disabled | boolean | Whether the dropdown is disabled or not. | | errorMessage | string | Error message to display when there's an error with the dropdown. | | urlFilterOptions | string | URL for fetching filtered options based on input. | | id | string | Component identification. | | dataTestId | string | The data-testid attribute for testing purposes. | | filterOptionsParam | function | Function to filter options based on input and URL. | | value | string | Currently selected value. | | onChange | function | Callback function triggered when the selected option changes. | | onBlur | function | Callback function triggered when the dropdown loses focus. | | onFocus | function | Callback function triggered when the dropdown is focused. | | placeholder | string | Placeholder text for the input. | | disableSearch | boolean | Boolean that represent if we should disable user searching on the dropdown. Defaults to false | | onKeyUp | function | The onkeyup event occurs when the user releases a key on the keyboard | | onKeyDown | boolean | Onkeydown is an event handler in Javascript that gets called when a key is pressed on the keyboard | | asyncOptionList | boolean | A boolean prop that controls a different behavior when OptionList are set by an API request | | helperMessage | string | An optional string to display as a helper message for the dropdown |

Functionality

The Dropdown component provides the following functionality:

  • Option Selection: Allows the user to select an option from the dropdown.
  • Input Interaction: The input field can be focused, blurred, and modified.
  • Filtering: Supports dynamic option filtering based on input and URL.
  • Accessibility: Proper accessibility structure is maintained for interacting with the dropdown.

Contribution

Contributions to the Dropdown component are welcomed. If you encounter issues or have suggestions for improvements, feel free to open an issue or submit a pull request on the component's Bitbucket repository.