/
WebBrowser.types.ts
67 lines (55 loc) · 1.45 KB
/
WebBrowser.types.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
export type RedirectEvent = {
url: string;
};
export type WebBrowserOpenOptions = {
toolbarColor?: string;
browserPackage?: string;
enableBarCollapsing?: boolean;
showTitle?: boolean;
/** Android only */
enableDefaultShareMenuItem?: boolean;
showInRecents?: boolean;
/** iOS only */
controlsColor?: string;
dismissButtonStyle?: 'done' | 'close' | 'cancel';
readerMode?: boolean;
// Web
windowName?: string;
windowFeatures?: string;
};
export type WebBrowserAuthSessionResult = WebBrowserRedirectResult | WebBrowserResult;
export type WebBrowserCustomTabsResults = {
defaultBrowserPackage?: string;
preferredBrowserPackage?: string;
browserPackages: string[];
servicePackages: string[];
};
export const WebBrowserResultType = {
/**
* iOS only
*/
CANCEL: 'cancel',
/**
* iOS only
*/
DISMISS: 'dismiss',
/**
* Android only
*/
OPENED: 'opened',
} as const;
export type WebBrowserResultType = typeof WebBrowserResultType[keyof typeof WebBrowserResultType];
export type WebBrowserResult = {
// cancel and dismiss are iOS only, opened is Android only
type: WebBrowserResultType;
};
export type WebBrowserRedirectResult = {
type: 'success';
url: string;
};
export type ServiceActionResult = {
servicePackage?: string;
};
export type WebBrowserMayInitWithUrlResult = ServiceActionResult;
export type WebBrowserWarmUpResult = ServiceActionResult;
export type WebBrowserCoolDownResult = ServiceActionResult;