@veracity/vui
Version:
Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.
34 lines (33 loc) • 1.37 kB
TypeScript
import { ChangeEvent } from "../utils/types.js";
import "../utils/index.js";
import { ButtonProps } from "../button/button.types.js";
import "../button/index.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