@awsui/components-react
Version:
AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A
53 lines (52 loc) • 2.08 kB
TypeScript
import { BaseComponentProps } from '../internal/base-component';
import { FormFieldValidationControlProps } from '../internal/context/form-field-context';
import { NonCancelableEventHandler } from '../internal/events';
import { OptionDefinition, OptionGroup as OptionGroupDefinition } from '../internal/components/option/interfaces';
import { DropdownStatusProps } from '../internal/components/dropdown-status/interfaces';
export interface BaseSelectProps extends BaseComponentProps, FormFieldValidationControlProps, DropdownStatusProps {
disabled?: boolean;
filteringType?: SelectProps.FilteringType;
filteringPlaceholder?: string;
filteringAriaLabel?: string;
options?: SelectProps.Options;
name?: string;
placeholder?: string;
controlId?: string;
ariaRequired?: boolean;
ariaLabel?: string;
selectedAriaLabel?: string;
renderHighlightedAriaLive?: SelectProps.ContainingOptionAndGroupString;
noMatch?: React.ReactNode;
empty?: React.ReactNode;
statusType?: DropdownStatusProps.StatusType;
onBlur?: NonCancelableEventHandler;
onFocus?: NonCancelableEventHandler;
onLoadItems?: NonCancelableEventHandler<SelectProps.LoadItemsDetail>;
virtualScroll?: boolean;
}
export interface SelectProps extends BaseSelectProps {
triggerVariant?: SelectProps.TriggerVariant;
selectedOption: SelectProps.Option | null;
onChange?: NonCancelableEventHandler<SelectProps.ChangeDetail>;
}
export declare namespace SelectProps {
type FilteringType = 'none' | 'auto' | 'manual';
type TriggerVariant = 'label' | 'option';
type Option = OptionDefinition;
type OptionGroup = OptionGroupDefinition;
type Options = ReadonlyArray<Option | OptionGroup>;
interface LoadItemsDetail {
filteringText: string;
firstPage: boolean;
samePage: boolean;
}
interface ChangeDetail {
selectedOption: Option;
}
interface ContainingOptionAndGroupString {
(option: Option, group?: OptionGroup): string;
}
interface Ref {
focus(): void;
}
}