its-just-ui
Version:
ITS Just UI - The easiest and best React UI component library. Modern, accessible, and customizable components built with TypeScript and Tailwind CSS. Simple to use, production-ready components for building beautiful user interfaces with ease.
72 lines (70 loc) • 2.29 kB
TypeScript
import { SelectOption } from './types';
export interface SelectContextValue {
isOpen: boolean;
setIsOpen: (open: boolean) => void;
value: SelectOption | SelectOption[] | null;
onChange: (value: SelectOption | SelectOption[] | null) => void;
searchQuery: string;
setSearchQuery: (query: string) => void;
highlightedIndex: number;
setHighlightedIndex: React.Dispatch<React.SetStateAction<number>>;
options: SelectOption[];
filteredOptions: SelectOption[];
multiple: boolean;
disabled: boolean;
loading: boolean;
searchable: boolean;
clearable: boolean;
variant: string;
size: string;
status: string;
transition: string;
transitionDuration: number;
placement: string;
emptyMessage: string;
loadingMessage: string;
renderOption?: (option: SelectOption, isSelected: boolean) => React.ReactNode;
renderValue?: (value: SelectOption | SelectOption[]) => React.ReactNode;
renderEmpty?: () => React.ReactNode;
borderWidth?: string;
borderColor?: string;
borderStyle?: string;
borderRadius?: string;
fontSize?: string;
fontWeight?: string;
fontFamily?: string;
backgroundColor?: string;
textColor?: string;
placeholderColor?: string;
focusRingColor?: string;
focusRingWidth?: string;
focusRingOffset?: string;
focusBorderColor?: string;
focusBackgroundColor?: string;
boxShadow?: string;
focusBoxShadow?: string;
padding?: string;
paddingX?: string;
paddingY?: string;
dropdownBackgroundColor?: string;
dropdownBorderColor?: string;
dropdownBorderWidth?: string;
dropdownBorderRadius?: string;
dropdownBoxShadow?: string;
dropdownZIndex?: string;
optionPadding?: string;
optionHoverBackgroundColor?: string;
optionSelectedBackgroundColor?: string;
optionSelectedTextColor?: string;
optionDisabledOpacity?: string;
iconColor?: string;
clearIconColor?: string;
dropdownIconColor?: string;
loadingIconColor?: string;
onFocus?: () => void;
onBlur?: () => void;
onOpen?: () => void;
onClose?: () => void;
onSearch?: (query: string) => void;
}
export declare const SelectContext: import('react').Context<SelectContextValue | undefined>;