-
Notifications
You must be signed in to change notification settings - Fork 4.1k
/
index.d.ts
150 lines (108 loc) · 3.45 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
import * as React from 'react';
import {PortalProps} from '../../addons/Portal';
interface ModalProps extends PortalProps {
[key: string]: any;
/** An element type to render as (string or function). */
as?: any;
/** A modal can reduce its complexity */
basic?: boolean;
/** Primary content. */
children?: React.ReactNode;
/** Additional classes. */
className?: string;
/** Icon. */
closeIcon?: any;
/** Whether or not the Modal should close when the dimmer is clicked. */
closeOnDimmerClick?: boolean;
/** Whether or not the Modal should close when the document is clicked. */
closeOnDocumentClick?: boolean;
/** Initial value of open. */
defaultOpen?: boolean;
/** A modal can appear in a dimmer. */
dimmer?: boolean | 'blurring' | 'inverted';
/** The node where the modal should mount. Defaults to document.body. */
mountNode?: any;
/**
* Called when a close event happens.
*
* @param {SyntheticEvent} event - React's original SyntheticEvent.
* @param {object} data - All props.
*/
onClose?: (event: React.MouseEvent<HTMLElement>, data: ModalProps) => void;
/**
* Called when the portal is mounted on the DOM.
*
* @param {null}
* @param {object} data - All props.
*/
onMount?: (nothing: null, data: ModalProps) => void;
/**
* Called when an open event happens.
*
* @param {SyntheticEvent} event - React's original SyntheticEvent.
* @param {object} data - All props.
*/
onOpen?: (event: React.MouseEvent<HTMLElement>, data: ModalProps) => void;
/**
* Called when the portal is unmounted from the DOM.
*
* @param {null}
* @param {object} data - All props.
*/
onUnmount?: (nothing: null, data: ModalProps) => void;
/** Controls whether or not the Modal is displayed. */
open?: boolean;
/** A modal can vary in size. */
size?: 'fullscreen' | 'large' | 'small';
}
interface ModalComponent extends React.ComponentClass<ModalProps> {
Actions: typeof ModalActions;
Content: typeof ModalContent;
Description: typeof ModalDescription;
Header: typeof ModalHeader;
}
export const Modal: ModalComponent;
interface ModalActionsProps {
[key: string]: any;
/** An element type to render as (string or function). */
as?: any;
/** Primary content. */
children?: React.ReactNode;
/** Additional classes. */
className?: string;
}
export const ModalActions: React.StatelessComponent<ModalActionsProps>;
interface ModalContentProps {
[key: string]: any;
/** An element type to render as (string or function). */
as?: any;
/** Primary content. */
children?: React.ReactNode;
/** Additional classes. */
className?: string;
/** A modal can contain image content. */
image?: boolean;
}
export const ModalContent: React.StatelessComponent<ModalContentProps>;
interface ModalDescriptionProps {
[key: string]: any;
/** An element type to render as (string or function). */
as?: any;
/** Primary content. */
children?: React.ReactNode;
/** Additional classes. */
className?: string;
}
export const ModalDescription: React.StatelessComponent<ModalDescriptionProps>;
interface ModalHeaderProps {
[key: string]: any;
/** An element type to render as (string or function). */
as?: any;
/** Primary content. */
children?: React.ReactNode;
/** Additional classes. */
className?: string;
/** Shorthand for primary content. */
content?: React.ReactNode;
}
export const ModalHeader: React.StatelessComponent<ModalHeaderProps>;