forked from proyecto26/react-native-inappbrowser
-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.d.ts
91 lines (82 loc) · 2.3 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
declare module "react-native-inappbrowser-reborn" {
export interface RedirectEvent {
url: "string";
}
export interface BrowserResult {
type: "cancel" | "dismiss";
}
export interface RedirectResult {
type: "success";
url: string;
}
export type InAppBrowseriOSOptions = {
dismissButtonStyle?: "done" | "close" | "cancel";
preferredBarTintColor?: string;
preferredControlTintColor?: string;
readerMode?: boolean;
animated?: boolean;
modalPresentationStyle?:
| "automatic"
| "fullScreen"
| "pageSheet"
| "formSheet"
| "currentContext"
| "custom"
| "overFullScreen"
| "overCurrentContext"
| "popover"
| "none";
modalTransitionStyle?:
| "coverVertical"
| "flipHorizontal"
| "crossDissolve"
| "partialCurl";
modalEnabled?: boolean;
enableBarCollapsing?: boolean;
ephemeralWebSession?: boolean;
formSheetPreferredContentSize?: { width: number; height: number };
};
export type InAppBrowserAndroidOptions = {
showTitle?: boolean;
toolbarColor?: string;
secondaryToolbarColor?: string;
navigationBarColor?: string;
navigationBarDividerColor?: string;
enableUrlBarHiding?: boolean;
enableDefaultShare?: boolean;
forceCloseOnRedirection?: boolean;
animations?: {
startEnter: string;
startExit: string;
endEnter: string;
endExit: string;
};
headers?: { [key: string]: string };
hasBackButton?: boolean;
browserPackage?: string;
showInRecents?: boolean;
includeReferrer?: boolean;
};
export type InAppBrowserOptions =
| InAppBrowserAndroidOptions
| InAppBrowseriOSOptions;
type AuthSessionResult = RedirectResult | BrowserResult;
interface InAppBrowserClassMethods {
open: (
url: string,
options?: InAppBrowserOptions
) => Promise<BrowserResult>;
close: () => void;
warmup: () => Promise<boolean>;
mayLaunchUrl: (mostLikelyUrl: string, otherUrls: Array<string>) => void;
openAuth: (
url: string,
redirectUrl: string,
options?: InAppBrowserOptions
) => Promise<AuthSessionResult>;
closeAuth: () => void;
isAvailable: () => Promise<boolean>;
}
export const InAppBrowser: InAppBrowserClassMethods;
export default InAppBrowser;
}