1 | import * as React from 'react';
|
2 | import { StandardProps } from '..';
|
3 | import { PaperProps } from '../Paper';
|
4 | import { ModalProps } from '../Modal';
|
5 | import { TransitionHandlerProps, TransitionProps } from '../transitions/transition';
|
6 |
|
7 | export interface PopoverOrigin {
|
8 | vertical: 'top' | 'center' | 'bottom' | number;
|
9 | horizontal: 'left' | 'center' | 'right' | number;
|
10 | }
|
11 |
|
12 | export interface PopoverPosition {
|
13 | top: number;
|
14 | left: number;
|
15 | }
|
16 |
|
17 | export type PopoverReference = 'anchorEl' | 'anchorPosition' | 'none';
|
18 |
|
19 | export interface PopoverProps
|
20 | extends StandardProps<ModalProps & Partial<TransitionHandlerProps>, PopoverClassKey, 'children'> {
|
21 | action?: React.Ref<PopoverActions>;
|
22 | anchorEl?: null | Element | ((element: Element) => Element);
|
23 | anchorOrigin?: PopoverOrigin;
|
24 | anchorPosition?: PopoverPosition;
|
25 | anchorReference?: PopoverReference;
|
26 | children?: React.ReactNode;
|
27 | elevation?: number;
|
28 | getContentAnchorEl?: null | ((element: Element) => Element);
|
29 | marginThreshold?: number;
|
30 | modal?: boolean;
|
31 | PaperProps?: Partial<PaperProps>;
|
32 | role?: string;
|
33 | transformOrigin?: PopoverOrigin;
|
34 | TransitionComponent?: React.ComponentType<TransitionProps>;
|
35 | transitionDuration?: TransitionProps['timeout'] | 'auto';
|
36 | TransitionProps?: TransitionProps;
|
37 | }
|
38 |
|
39 | export type PopoverClassKey = 'root' | 'paper';
|
40 |
|
41 | export interface PopoverActions {
|
42 | updatePosition(): void;
|
43 | }
|
44 |
|
45 | declare const Popover: React.ComponentType<PopoverProps>;
|
46 |
|
47 | export default Popover;
|
48 |
|
\ | No newline at end of file |