Insect
? Highly customisable, minimalistic input x select field for React.
⚡️ Features
- 100% responsive.
- Highly customisable.
- Supports custom rem unit.
- Zero third party dependency (asides react’s recommended prop-types).
- Typescript ready
- Multi select options
- Options search
- Custom icons support
? Installation
? Basic Usage
// Import Insect component
import { Insect } from 'react-insect';
// Use it in your code like so
export const MyComponent = () => {
return (
<>
<Insect
name="username"
type="text"
placeholder="Choose a username"
/>
</>
);
};
? Props
Insect can be either an input field, a single select field or a multi select field. The props passed in determines what Insect is. Here’s a table of all available props for input and for select.
? General props
Prop |
Description |
Type |
default |
name |
Sets the name of the input field. |
string |
|
type |
Sets type of input field |
text | number | password | email | select |
text |
label |
Adds a label to the top of insect component. |
string |
|
placeholder |
Sets the placeholder for insect component. |
string |
Input or select an option |
prefixIcon |
Adds an icon at the left of insect field |
string | React.ReactNode | null |
|
suffixIcon |
Adds an icon at the right of insect field |
string | React.ReactNode | null |
|
className |
Custom classname for main insect container |
string |
|
labelClass |
Custom classname for insect label |
string |
|
inputWrapperClass |
Custom classname for the input field wrapper div |
string |
|
inputClass |
Custom classname for the main input field |
string |
|
iconsClass |
Custom classname for all icons |
string |
|
onFocus |
Function to trigger when input field is focused on. |
(e: React.FocusEvent<HTMLInputElement>) => void |
|
onBlur |
Function to trigger when input field goes out of focus. |
(e: React.FocusEvent<HTMLInputElement>) => void |
|
? For Input field type
Prop |
Description |
Type |
default |
value |
Sets the value of the input field. |
string |
|
onChange |
Sets the placeholder for insect component. |
(e: React.FormEvent<HTMLInputElement>) => void |
|
? For Select field type
Prop |
Description |
Type |
default |
allowMultiple |
Enables multi select by setting the number of selectable items |
number |
|
search |
Toggles option search |
boolean |
(false) |
options |
A list of options for the select field |
{ title: string; value: string; }[] |
[ ] |
onSelect |
Funtion to trigger when an item is selected. It returns the field name and then returns a single string for single select and an array of strings for multi select |
(value: string | string[] | null, name: string) => void |
|
dropdownIcon |
Custom icon for dropdown caret |
string | React.ReactNode | null |
|
checkmarkIcon |
Custom selected item indicator icon |
string | React.ReactNode | null |
|
dropdownClass |
Custom classname for the dropdown container div. This div wraps the ul tag which in turn wraps the individual li tags |
string |
|
checkerClass |
Custom classname for the selected items indicator icon |
string |
|
closeOnBlur |
Determines if the dropdown should close when outside is clicked or not |
boolean |
true |
GitHub
View Github