UNPKG

1.46 kBTypeScriptView Raw
1import * as React from 'react';
2import { StandardProps } from '..';
3import { PaperProps } from '../Paper';
4import { ModalProps } from '../Modal';
5import { TransitionHandlerProps, TransitionProps } from '../transitions/transition';
6
7export interface PopoverOrigin {
8 vertical: 'top' | 'center' | 'bottom' | number;
9 horizontal: 'left' | 'center' | 'right' | number;
10}
11
12export interface PopoverPosition {
13 top: number;
14 left: number;
15}
16
17export type PopoverReference = 'anchorEl' | 'anchorPosition' | 'none';
18
19export 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
39export type PopoverClassKey = 'root' | 'paper';
40
41export interface PopoverActions {
42 updatePosition(): void;
43}
44
45declare const Popover: React.ComponentType<PopoverProps>;
46
47export default Popover;
48
\No newline at end of file