UNPKG

2.9 kBTypeScriptView Raw
1import * as React from 'react';
2import { PickOptional } from '../../helpers/typeUtils';
3export interface SelectToggleProps extends React.HTMLProps<HTMLElement> {
4 /** HTML ID of dropdown toggle */
5 id: string;
6 /** Anything which can be rendered as dropdown toggle */
7 children: React.ReactNode;
8 /** Classes applied to root element of dropdown toggle */
9 className?: string;
10 /** Flag to indicate if select is open */
11 isOpen?: boolean;
12 /** Callback called when toggle is clicked */
13 onToggle?: (isExpanded: boolean, event: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent | Event) => void;
14 /** Callback for toggle open on keyboard entry */
15 onEnter?: () => void;
16 /** Callback for toggle close */
17 onClose?: () => void;
18 /** Callback for toggle blur */
19 onBlur?: (event?: any) => void;
20 /** @hide Internal callback for toggle keyboard navigation */
21 handleTypeaheadKeys?: (position: string, shiftKey?: boolean) => void;
22 /** @hide Internal callback to move focus to last menu item */
23 moveFocusToLastMenuItem?: () => void;
24 /** Element which wraps toggle */
25 parentRef: React.RefObject<HTMLDivElement>;
26 /** The menu element */
27 menuRef?: React.RefObject<HTMLElement>;
28 /** The menu footer element */
29 footerRef?: React.RefObject<HTMLDivElement>;
30 /** Forces active state */
31 isActive?: boolean;
32 /** Display the toggle with no border or background */
33 isPlain?: boolean;
34 /** Flag indicating if select is disabled */
35 isDisabled?: boolean;
36 /** Flag indicating if placeholder styles should be applied */
37 hasPlaceholderStyle?: boolean;
38 /** Type of the toggle button, defaults to 'button' */
39 type?: 'reset' | 'button' | 'submit' | undefined;
40 /** Id of label for the Select aria-labelledby */
41 'aria-labelledby'?: string;
42 /** Label for toggle of select variants */
43 'aria-label'?: string;
44 /** Flag for variant, determines toggle rules and interaction */
45 variant?: 'single' | 'checkbox' | 'typeahead' | 'typeaheadmulti';
46 /** Flag indicating if select toggle has an clear button */
47 hasClearButton?: boolean;
48 /** Flag indicating if select menu has a footer */
49 hasFooter?: boolean;
50 /** @hide Internal callback for handling focus when typeahead toggle button clicked. */
51 onClickTypeaheadToggleButton?: () => void;
52}
53export declare class SelectToggle extends React.Component<SelectToggleProps> {
54 static displayName: string;
55 private toggle;
56 static defaultProps: PickOptional<SelectToggleProps>;
57 constructor(props: SelectToggleProps);
58 componentDidMount(): void;
59 componentWillUnmount(): void;
60 onDocClick: (event: Event) => void;
61 handleGlobalKeys: (event: KeyboardEvent) => void;
62 onKeyDown: (event: React.KeyboardEvent) => void;
63 render(): JSX.Element;
64}
65//# sourceMappingURL=SelectToggle.d.ts.map
\No newline at end of file