@veracity/vui
Version:
Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.
26 lines (24 loc) • 1.29 kB
TypeScript
import { ChangeEvent } from "../utils/types.js";
import { ButtonProps } from "../button/button.types.js";
import { SelectOptionData, SelectValue } from "./select.types.js";
import { ReactNode } from "react";
//#region src/select/useSelect.types.d.ts
type UseSelectProps = {
/** Currently selected value in controlled mode. */value?: SelectValue | SelectValue[]; /** Provides initial value in uncontrolled mode. */
defaultValue?: SelectValue | SelectValue[]; /** Allows choosing multiple values. Popover won't close automatically on item click. */
isMultiple?: boolean; /** List of all available options */
options?: SelectOptionData[]; /** Select children elements for dynamic handling */
children?: ReactNode; /** Props added to the select button */
selectButtonProps?: ButtonProps; /** Displayed inside the trigger when multiple options selected. */
selectedText?: string;
/**
* Callback triggered when an option is selected.
*
* WARNING: In reality it's a click event extended with our own 'value' and 'name' on e.target.
* It's this way to support external form libraries and typed as input ChangeEvent to avoid type conflicts.
*/
onChange?: (e: ChangeEvent) => void;
};
//#endregion
export { UseSelectProps };
//# sourceMappingURL=useSelect.types.d.ts.map