react-insect
Version:
Highly customisable, minimalistic input x select field for React.
37 lines (36 loc) • 1.61 kB
TypeScript
import * as React from "react";
import "./styles.scss";
export interface InsectOption {
title: string;
value: string;
}
export interface InsectProps {
prefixIcon?: string | React.ReactNode | null;
suffixIcon?: string | React.ReactNode | null;
dropdownIcon?: string | React.ReactNode | null;
checkmarkIcon?: string | React.ReactNode | null;
placeholder?: string;
value?: string;
label?: string;
name: string;
className?: string;
labelClass?: string;
inputWrapperClass?: string;
inputClass?: string;
iconsClass?: string;
checkerClass?: string;
dropdownClass?: string;
type?: "text" | "number" | "password" | "email" | "select" | "textarea";
defaultOption?: InsectOption;
options?: InsectOption[];
onChange?: (e: React.FormEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
onBlur?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
onFocus?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
onSelect?: (value: string | string[] | null, name: string) => void;
closeOnBlur?: boolean;
allowMultiple?: number;
search?: boolean;
rows?: number;
}
export declare const Insect: ({ name, type, value, options, defaultOption, prefixIcon, suffixIcon, dropdownIcon, checkmarkIcon, label, placeholder, onChange, onBlur, onFocus, onSelect, closeOnBlur, allowMultiple, className, inputWrapperClass, inputClass, labelClass, iconsClass, dropdownClass, checkerClass, search, rows, }: InsectProps) => JSX.Element;
export default Insect;