forked from ReactTooltip/react-tooltip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTooltipControllerTypes.d.ts
120 lines (117 loc) · 3.36 KB
/
TooltipControllerTypes.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
import type { CSSProperties } from 'react'
import type {
PlacesType,
VariantType,
WrapperType,
ChildrenType,
EventsType,
PositionStrategy,
IPosition,
Middleware,
AnchorOpenEvents,
AnchorCloseEvents,
GlobalCloseEvents,
} from 'components/Tooltip/TooltipTypes'
export interface ITooltipController {
className?: string
classNameArrow?: string
content?: string | JSX.Element
/**
* @deprecated Use `children` or `render` instead
*/
html?: string | JSX.Element
render?: (render: { content: string | null; activeAnchor: HTMLElement | null }) => ChildrenType
place?: PlacesType
offset?: number
id?: string
variant?: VariantType
/**
* @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.
* See https://react-tooltip.com/docs/getting-started
*/
anchorId?: string
anchorSelect?: string
wrapper?: WrapperType
children?: ChildrenType
/**
* @deprecated Use `openOnClick` or `openEvents`/`closeEvents` instead.
*/
events?: EventsType[]
openOnClick?: boolean
positionStrategy?: PositionStrategy
middlewares?: Middleware[]
delayShow?: number
delayHide?: number
float?: boolean
hidden?: boolean
noArrow?: boolean
clickable?: boolean
/**
* @deprecated Use `globalCloseEvents={{ escape: true }}` instead.
*/
closeOnEsc?: boolean
/**
* @deprecated Use `globalCloseEvents={{ scroll: true }}` instead.
*/
closeOnScroll?: boolean
/**
* @deprecated Use `globalCloseEvents={{ resize: true }}` instead.
*/
closeOnResize?: boolean
/**
* @description The events to be listened on anchor elements to open the tooltip.
*/
openEvents?: AnchorOpenEvents
/**
* @description The events to be listened on anchor elements to close the tooltip.
*/
closeEvents?: AnchorCloseEvents
/**
* @description The global events listened to close the tooltip.
*/
globalCloseEvents?: GlobalCloseEvents
/**
* @description Used to disable default tooltip behavior.
* Overrides `openEvents`, `closeEvents`, and `globalCloseEvents`.
*/
imperativeModeOnly?: boolean
style?: CSSProperties
position?: IPosition
isOpen?: boolean
defaultIsOpen?: boolean
disableStyleInjection?: boolean | 'core'
/**
* @description see https://developer.mozilla.org/en-US/docs/Web/CSS/border.
*
* Adding a border with width > 3px, or with `em/cm/rem/...` instead of `px`
* might break the tooltip arrow positioning.
*/
border?: CSSProperties['border']
opacity?: CSSProperties['opacity']
arrowColor?: CSSProperties['backgroundColor']
setIsOpen?: (value: boolean) => void
afterShow?: () => void
afterHide?: () => void
role?: React.AriaRole
}
declare module 'react' {
interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
'data-tooltip-id'?: string
'data-tooltip-place'?: PlacesType
'data-tooltip-content'?: string | null
'data-tooltip-html'?: string | null
'data-tooltip-variant'?: VariantType
'data-tooltip-offset'?: number
'data-tooltip-wrapper'?: WrapperType
/**
* @deprecated Use `openOnClick` tooltip prop instead.
*/
'data-tooltip-events'?: EventsType[]
'data-tooltip-position-strategy'?: PositionStrategy
'data-tooltip-delay-show'?: number
'data-tooltip-delay-hide'?: number
'data-tooltip-float'?: boolean
'data-tooltip-hidden'?: boolean
'data-tooltip-class-name'?: string
}
}