custom-headless-dropdown
v1.0.0
Published
Updated for multi select + clicking outside closes dropdown
Downloads
562
Readme
Dropdown Component
Description
The Dropdown
component is a customizable dropdown component. It allows users to customize the dropdown options and set whether it accepts single or multiple values.
Installation
To use the Dropdown
component in your project, you can install it via npm (or include it as part of your component library):
npm install custom-headless-dropdown@latest"
Usage
Here’s a simple example of how to use the Dropdown
component in your application:
import React, { useState } from "react";
import { Dropdown } from "rcustom-headless-dropdown";
const App = () => {
const dropdownOptions = ["Yes", "No", "Unsure", "Not applicable"];
const [value, setValue] = useState("");
const handleChange = (selectedValue) => {
setValue(selectedValue);
};
return (
<div>
<Dropdown
options={dropdownOptions}
placeholder={"Select"}
onChange={handleChange}
value={value}
label={"Please select a value"}
className={
"hover:ring-2 ring-olive-green focus:ring-2 focus:ring-inset focus:ring-olive-green"
}
/>
</div>
);
};
export default App;
Props
Dropdown Props
| Prop | Type | Description |
| ------------- | --------------------------- | ----------------------------------------------------------------- |
| label
| React.ReactNode
| Label to assign to the field. |
| options
| Array<string>
| An array of options to display in the dropdown. |
| value
| string
or Array<string>
| Variable that holds the selected item(s) from the dropdown |
| isMulti
| boolean
| Whether to accept multi option selection or not (default: false). |
| onChange
| function
| A callback function that is called to save the dropdown selection |
| className
| string
| Variable that holds the custom class for the dropdown (optional) |
| placeholder
| string
| Placeholder for the dropdown (optional) |
Styles
The Dropdown
component is styled using Tailwind CSS classes. Make sure to include Tailwind CSS in your project to apply the styles correctly.
Example CSS Setup
If you haven’t set up Tailwind CSS yet, here’s a basic example of how to do it:
- Install Tailwind CSS:
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
- Configure your tailwind.config.js file:
module.exports = {
content: ["./src/**/*.{js,jsx,ts,tsx}", "./public/index.html"],
theme: {
extend: {},
},
plugins: [],
};
- Include Tailwind in your CSS file: Add the following lines to your main CSS file to include Tailwind’s base, components, and utilities:
@tailwind base;
@tailwind components;
@tailwind utilities;
Customization
Feel free to customize the Tailwind classes used in the Dropdown
component as needed to fit the design of your application.