1 | import Popper from 'popper.js'
|
2 |
|
3 | export type BasicPlacement = 'top' | 'bottom' | 'left' | 'right'
|
4 |
|
5 | export type Placement = Popper.Placement
|
6 |
|
7 | export type Content = string | Element | ((ref: Element) => Element | string)
|
8 |
|
9 | export type Targets = string | Element | Element[] | NodeList | VirtualReference
|
10 |
|
11 | export interface ReferenceElement extends Element {
|
12 | _tippy?: Instance
|
13 | }
|
14 |
|
15 | export interface PopperElement extends HTMLDivElement {
|
16 | _tippy?: Instance
|
17 | }
|
18 |
|
19 | export interface VirtualReference extends Popper.ReferenceObject {
|
20 | _tippy?: Instance
|
21 | parentNode?: Element
|
22 | contains(): void
|
23 | setAttribute(key: string, value: any): void
|
24 | getAttribute(key: string): string
|
25 | removeAttribute(key: string): void
|
26 | hasAttribute(key: string): boolean
|
27 | addEventListener(): void
|
28 | removeEventListener(): void
|
29 | attributes: {
|
30 | [key: string]: any
|
31 | }
|
32 | classList: {
|
33 | add(key: string): void
|
34 | remove(key: string): void
|
35 | contains(key: string): boolean
|
36 | classNames: {
|
37 | [key: string]: boolean
|
38 | }
|
39 | [key: string]: any
|
40 | }
|
41 | }
|
42 |
|
43 | export interface PopperInstance extends Popper {
|
44 | reference: ReferenceElement
|
45 | popper: PopperElement
|
46 | modifiers: { name: string; padding: object | number }[]
|
47 | }
|
48 |
|
49 | export interface Options {
|
50 | a11y?: boolean
|
51 | allowHTML?: boolean
|
52 | animateFill?: boolean
|
53 | animation?: 'fade' | 'scale' | 'shift-toward' | 'perspective' | 'shift-away'
|
54 | appendTo?: 'parent' | Element | ((ref: Element) => Element)
|
55 | aria?: 'describedby' | 'labelledby' | null
|
56 | arrow?: boolean
|
57 | arrowType?: 'sharp' | 'round'
|
58 | boundary?: 'scrollParent' | 'window' | 'viewport' | HTMLElement
|
59 | content?: Content
|
60 | delay?: number | [number, number]
|
61 | distance?: number
|
62 | duration?: number | [number, number]
|
63 | flip?: boolean
|
64 | flipBehavior?: 'flip' | Placement[]
|
65 | flipOnUpdate?: boolean
|
66 | followCursor?: boolean | 'vertical' | 'horizontal' | 'initial'
|
67 | hideOnClick?: boolean | 'toggle'
|
68 | ignoreAttributes?: boolean
|
69 | inertia?: boolean
|
70 | interactive?: boolean
|
71 | interactiveBorder?: number
|
72 | interactiveDebounce?: number
|
73 | lazy?: boolean
|
74 | maxWidth?: number | string
|
75 | multiple?: boolean
|
76 | offset?: number | string
|
77 | onHidden?(instance: Instance): void
|
78 | onHide?(instance: Instance): void | false
|
79 | onMount?(instance: Instance): void
|
80 | onShow?(instance: Instance): void | false
|
81 | onShown?(instance: Instance): void
|
82 | onTrigger?(instance: Instance, event: Event): void
|
83 | placement?: Placement
|
84 | popperOptions?: Popper.PopperOptions
|
85 | role?: string
|
86 | showOnInit?: boolean
|
87 | size?: 'small' | 'regular' | 'large'
|
88 | sticky?: boolean
|
89 | target?: string
|
90 | theme?: 'dark' | 'light' | 'light-border' | 'google' | string
|
91 | touch?: boolean
|
92 | touchHold?: boolean
|
93 | trigger?: string
|
94 | triggerTarget?: Element | null
|
95 | updateDuration?: number
|
96 | wait?: ((instance: Instance, event?: Event) => void) | null
|
97 | zIndex?: number
|
98 | }
|
99 |
|
100 | /**
|
101 | * @deprecated
|
102 | * Use `Options` instead.
|
103 | */
|
104 | export type Props = Options
|
105 |
|
106 | export interface Instance {
|
107 | clearDelayTimeouts(): void
|
108 | destroy(): void
|
109 | disable(): void
|
110 | enable(): void
|
111 | hide(duration?: number): void
|
112 | id: number
|
113 | popper: PopperElement
|
114 | popperChildren: PopperChildren
|
115 | popperInstance: PopperInstance | null
|
116 | props: Props
|
117 | reference: ReferenceElement | VirtualReference
|
118 | set(options: Options): void
|
119 | setContent(content: Content): void
|
120 | show(duration?: number): void
|
121 | state: {
|
122 | isEnabled: boolean
|
123 | isVisible: boolean
|
124 | isDestroyed: boolean
|
125 | isMounted: boolean
|
126 | isShown: boolean
|
127 | }
|
128 | }
|
129 |
|
130 | export interface GroupedInstance extends Instance {
|
131 | _originalProps: Props
|
132 | }
|
133 |
|
134 | export interface GroupOptions {
|
135 | delay?: number | [number, number]
|
136 | duration?: number | [number, number]
|
137 | }
|
138 |
|
139 | export interface PopperChildren {
|
140 | tooltip: HTMLDivElement
|
141 | content: HTMLDivElement
|
142 | arrow: HTMLDivElement | null
|
143 | backdrop: HTMLDivElement | null
|
144 | }
|
145 |
|
146 | export interface HideAllOptions {
|
147 | duration?: number
|
148 | exclude?: Instance | ReferenceElement
|
149 | }
|
150 |
|
151 | export interface Tippy {
|
152 | (targets: Targets, options?: Props): Instance | Instance[]
|
153 | readonly defaults: Props
|
154 | readonly version: string
|
155 | group(instances: Instance[], options?: GroupOptions): void
|
156 | hideAll(options?: HideAllOptions): void
|
157 | setDefaults(options: Props): void
|
158 | }
|
159 |
|
160 | declare const tippy: Tippy
|
161 | export default tippy
|
162 |
|
\ | No newline at end of file |