1 | import * as React from 'react';
|
2 |
|
3 | import DropdownItem from './DropdownItem';
|
4 | import DropdownMenu from './DropdownMenu';
|
5 | import DropdownToggle from './DropdownToggle';
|
6 |
|
7 | import { BsPrefixComponent, SelectCallback } from './helpers';
|
8 |
|
9 | export class DropdownDivider<
|
10 | As extends React.ElementType = 'div'
|
11 | > extends BsPrefixComponent<As> {}
|
12 |
|
13 | export class DropdownHeader<
|
14 | As extends React.ElementType = 'div'
|
15 | > extends BsPrefixComponent<As> {}
|
16 |
|
17 | export interface DropdownProps {
|
18 | drop?: 'up' | 'left' | 'right' | 'down';
|
19 | alignRight?: boolean;
|
20 | show?: boolean;
|
21 | flip?: boolean;
|
22 | onToggle?: (
|
23 | isOpen: boolean,
|
24 | event: React.SyntheticEvent<Dropdown>,
|
25 | metadata: { source: 'select' | 'click' | 'rootClose' | 'keydown' },
|
26 | ) => void;
|
27 | onSelect?: SelectCallback;
|
28 | }
|
29 |
|
30 | declare class Dropdown<
|
31 | As extends React.ElementType = 'div'
|
32 | > extends BsPrefixComponent<As, DropdownProps> {
|
33 | static Toggle: typeof DropdownToggle;
|
34 | static Menu: typeof DropdownMenu;
|
35 | static Item: typeof DropdownItem;
|
36 | static Divider: typeof DropdownDivider;
|
37 | static Header: typeof DropdownHeader;
|
38 | }
|
39 |
|
40 | export default Dropdown;
|