UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

67 lines 2.55 kB
import React, { RefObject } from 'react'; import { ButtonTriggerProps } from '../../internal/components/button-trigger'; import { DropdownProps } from '../../internal/components/dropdown/interfaces'; import { DropdownStatusProps } from '../../internal/components/dropdown-status'; import { DropdownOption, OptionDefinition } from '../../internal/components/option/interfaces'; import { OptionsListProps } from '../../internal/components/options-list'; import { NonCancelableEventHandler } from '../../internal/events'; import { FilterProps } from '../parts/filter'; import { ItemProps } from '../parts/item'; export type MenuProps = Omit<OptionsListProps, 'children'> & { ref: React.RefObject<HTMLDivElement>; }; export type GetOptionProps = (option: DropdownOption, index: number) => ItemProps; interface UseSelectProps { selectedOptions: ReadonlyArray<OptionDefinition>; updateSelectedOption: (option: OptionDefinition) => void; options: ReadonlyArray<DropdownOption>; filteringType: string; keepOpen?: boolean; embedded?: boolean; onBlur?: NonCancelableEventHandler; onFocus?: NonCancelableEventHandler; externalRef: React.Ref<any>; fireLoadItems: (filteringText: string) => void; setFilteringValue?: (filteringText: string) => void; useInteractiveGroups?: boolean; statusType: DropdownStatusProps.StatusType; isAllSelected?: boolean; isSomeSelected?: boolean; toggleAll?: () => void; } export interface SelectTriggerProps extends ButtonTriggerProps { ref: RefObject<HTMLButtonElement>; } export declare function useSelect({ selectedOptions, updateSelectedOption, options, filteringType, onBlur, onFocus, externalRef, keepOpen, embedded, fireLoadItems, setFilteringValue, useInteractiveGroups, statusType, isAllSelected, isSomeSelected, toggleAll }: UseSelectProps): { isOpen: boolean; highlightedOption: DropdownOption | undefined; highlightedIndex: number; highlightType: import("../../internal/components/options-list/utils/use-highlight-option").HighlightType; getTriggerProps: (disabled?: boolean, autoFocus?: boolean) => SelectTriggerProps; getDropdownProps: () => Pick<DropdownProps, "onFocus" | "onBlur" | "dropdownContentId" | "dropdownContentRole">; getMenuProps: () => MenuProps; getFilterProps: () => Partial<FilterProps>; getOptionProps: (option: DropdownOption, index: number) => any; highlightOption: (option: DropdownOption) => void; selectOption: (option?: DropdownOption) => void; announceSelected: boolean; dialogId: string; }; export {};