UNPKG

amotify

Version:

UI Component for React,NextJS,esbuild

56 lines (55 loc) 1.89 kB
/// <reference types="react" /> import { StyleProps, ReactElement } from '../../@declares'; import { Records } from 'jmini'; import { InputTypes } from '.'; declare namespace Select { type Value<T = any> = T extends infer V ? V : string | number | boolean | Records | void | null; type Input<T = Value> = InputTypes.CoreInput<T> & React.DOMAttributes<HTMLInputElement> & { label?: ReactElement; isLabelActive?: boolean; placeholder?: string; tone?: InputTypes.BoxTone; tabIndex?: number; id?: string; disabled?: boolean; value?: T; options: Option<T>[]; leftIndicator?: ReactElement | false; rightIndicator?: ReactElement | false; leftIcon?: ReactElement | false; rightIcon?: ReactElement | false; emptySelect?: boolean; selectedStyles?: StyleProps.StyleProps; selectorStyles?: StyleProps.StyleProps; pickerStyles?: StyleProps.StyleProps; pickerPosition?: 1 | 2 | 3 | 4; nativePicker?: boolean; }; type Option<T = Value> = { type?: 'selector'; id?: string; value: T; label?: ReactElement; selectedLabel?: ReactElement; } | { type: 'label'; id?: string; value?: T; label?: ReactElement; selectedLabel?: ReactElement; }; type WrapperStates = { rootStates: Input & { value: Value[]; }; val_status: InputTypes.Status<Value>; set_status: React.Dispatch<React.SetStateAction<InputTypes.Status>>; val_optionFocused: string | null; set_optionFocused: React.Dispatch<React.SetStateAction<string | null>>; }; type Component = { <T = Value>(p: Input<Value<T>>): React.JSX.Element; }; } declare const Select: Select.Component; export { Select, Select as default };