@capgo/inappbrowser 8.0.0 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CapgoInappbrowser.podspec +2 -2
  2. package/LICENSE +373 -21
  3. package/Package.swift +28 -0
  4. package/README.md +600 -74
  5. package/android/build.gradle +17 -16
  6. package/android/src/main/AndroidManifest.xml +14 -2
  7. package/android/src/main/java/ee/forgr/capacitor_inappbrowser/InAppBrowserPlugin.java +952 -204
  8. package/android/src/main/java/ee/forgr/capacitor_inappbrowser/Options.java +478 -81
  9. package/android/src/main/java/ee/forgr/capacitor_inappbrowser/WebViewCallbacks.java +10 -4
  10. package/android/src/main/java/ee/forgr/capacitor_inappbrowser/WebViewDialog.java +3021 -226
  11. package/android/src/main/res/drawable/ic_refresh.xml +9 -0
  12. package/android/src/main/res/drawable/ic_share.xml +10 -0
  13. package/android/src/main/res/layout/activity_browser.xml +10 -0
  14. package/android/src/main/res/layout/content_browser.xml +3 -2
  15. package/android/src/main/res/layout/tool_bar.xml +44 -7
  16. package/android/src/main/res/values/strings.xml +4 -0
  17. package/android/src/main/res/values/themes.xml +27 -0
  18. package/android/src/main/res/xml/file_paths.xml +14 -0
  19. package/dist/docs.json +1289 -149
  20. package/dist/esm/definitions.d.ts +614 -25
  21. package/dist/esm/definitions.js +17 -1
  22. package/dist/esm/definitions.js.map +1 -1
  23. package/dist/esm/index.d.ts +2 -2
  24. package/dist/esm/index.js +4 -4
  25. package/dist/esm/index.js.map +1 -1
  26. package/dist/esm/web.d.ts +16 -3
  27. package/dist/esm/web.js +43 -7
  28. package/dist/esm/web.js.map +1 -1
  29. package/dist/plugin.cjs.js +60 -8
  30. package/dist/plugin.cjs.js.map +1 -1
  31. package/dist/plugin.js +60 -8
  32. package/dist/plugin.js.map +1 -1
  33. package/ios/{Plugin → Sources/InAppBrowserPlugin}/Enums.swift +5 -5
  34. package/ios/Sources/InAppBrowserPlugin/InAppBrowserPlugin.swift +954 -0
  35. package/ios/Sources/InAppBrowserPlugin/WKWebViewController.swift +2003 -0
  36. package/package.json +32 -30
  37. package/ios/Plugin/Assets.xcassets/Back.imageset/Back.png +0 -0
  38. package/ios/Plugin/Assets.xcassets/Back.imageset/Back@2x.png +0 -0
  39. package/ios/Plugin/Assets.xcassets/Back.imageset/Back@3x.png +0 -0
  40. package/ios/Plugin/Assets.xcassets/Back.imageset/Contents.json +0 -26
  41. package/ios/Plugin/Assets.xcassets/Contents.json +0 -6
  42. package/ios/Plugin/Assets.xcassets/Forward.imageset/Contents.json +0 -26
  43. package/ios/Plugin/Assets.xcassets/Forward.imageset/Forward.png +0 -0
  44. package/ios/Plugin/Assets.xcassets/Forward.imageset/Forward@2x.png +0 -0
  45. package/ios/Plugin/Assets.xcassets/Forward.imageset/Forward@3x.png +0 -0
  46. package/ios/Plugin/InAppBrowserPlugin.h +0 -10
  47. package/ios/Plugin/InAppBrowserPlugin.m +0 -17
  48. package/ios/Plugin/InAppBrowserPlugin.swift +0 -203
  49. package/ios/Plugin/Info.plist +0 -24
  50. package/ios/Plugin/WKWebViewController.swift +0 -784
package/dist/docs.json CHANGED
@@ -5,9 +5,28 @@
5
5
  "docs": "",
6
6
  "tags": [],
7
7
  "methods": [
8
+ {
9
+ "name": "goBack",
10
+ "signature": "() => Promise<{ canGoBack: boolean; }>",
11
+ "parameters": [],
12
+ "returns": "Promise<{ canGoBack: boolean; }>",
13
+ "tags": [
14
+ {
15
+ "name": "since",
16
+ "text": "7.21.0"
17
+ },
18
+ {
19
+ "name": "returns",
20
+ "text": "Promise that resolves with true if navigation was possible, false otherwise"
21
+ }
22
+ ],
23
+ "docs": "Navigates back in the WebView's history if possible",
24
+ "complexTypes": [],
25
+ "slug": "goback"
26
+ },
8
27
  {
9
28
  "name": "open",
10
- "signature": "(options: OpenOptions) => any",
29
+ "signature": "(options: OpenOptions) => Promise<any>",
11
30
  "parameters": [
12
31
  {
13
32
  "name": "options",
@@ -15,14 +34,14 @@
15
34
  "type": "OpenOptions"
16
35
  }
17
36
  ],
18
- "returns": "any",
37
+ "returns": "Promise<any>",
19
38
  "tags": [
20
39
  {
21
40
  "name": "since",
22
41
  "text": "0.1.0"
23
42
  }
24
43
  ],
25
- "docs": "Open url in a new window fullscreen",
44
+ "docs": "Open url in a new window fullscreen, on android it use chrome custom tabs, on ios it use SFSafariViewController",
26
45
  "complexTypes": [
27
46
  "OpenOptions"
28
47
  ],
@@ -30,32 +49,106 @@
30
49
  },
31
50
  {
32
51
  "name": "clearCookies",
33
- "signature": "() => any",
34
- "parameters": [],
35
- "returns": "any",
52
+ "signature": "(options: ClearCookieOptions) => Promise<any>",
53
+ "parameters": [
54
+ {
55
+ "name": "options",
56
+ "docs": "",
57
+ "type": "ClearCookieOptions"
58
+ }
59
+ ],
60
+ "returns": "Promise<any>",
36
61
  "tags": [
37
62
  {
38
63
  "name": "since",
39
64
  "text": "0.5.0"
40
65
  }
41
66
  ],
67
+ "docs": "Clear cookies of url",
68
+ "complexTypes": [
69
+ "ClearCookieOptions"
70
+ ],
71
+ "slug": "clearcookies"
72
+ },
73
+ {
74
+ "name": "clearAllCookies",
75
+ "signature": "() => Promise<any>",
76
+ "parameters": [],
77
+ "returns": "Promise<any>",
78
+ "tags": [
79
+ {
80
+ "name": "since",
81
+ "text": "6.5.0"
82
+ }
83
+ ],
42
84
  "docs": "Clear all cookies",
43
85
  "complexTypes": [],
44
- "slug": "clearcookies"
86
+ "slug": "clearallcookies"
45
87
  },
46
88
  {
47
- "name": "close",
48
- "signature": "() => any",
89
+ "name": "clearCache",
90
+ "signature": "() => Promise<any>",
49
91
  "parameters": [],
50
- "returns": "any",
51
- "tags": [],
52
- "docs": "",
92
+ "returns": "Promise<any>",
93
+ "tags": [
94
+ {
95
+ "name": "since",
96
+ "text": "6.5.0"
97
+ }
98
+ ],
99
+ "docs": "Clear cache",
53
100
  "complexTypes": [],
101
+ "slug": "clearcache"
102
+ },
103
+ {
104
+ "name": "getCookies",
105
+ "signature": "(options: GetCookieOptions) => Promise<Record<string, string>>",
106
+ "parameters": [
107
+ {
108
+ "name": "options",
109
+ "docs": "The options, including the URL to get cookies for.",
110
+ "type": "GetCookieOptions"
111
+ }
112
+ ],
113
+ "returns": "Promise<Record<string, string>>",
114
+ "tags": [
115
+ {
116
+ "name": "param",
117
+ "text": "options The options, including the URL to get cookies for."
118
+ },
119
+ {
120
+ "name": "returns",
121
+ "text": "A promise that resolves with the cookies."
122
+ }
123
+ ],
124
+ "docs": "Get cookies for a specific URL.",
125
+ "complexTypes": [
126
+ "Record",
127
+ "GetCookieOptions"
128
+ ],
129
+ "slug": "getcookies"
130
+ },
131
+ {
132
+ "name": "close",
133
+ "signature": "(options?: CloseWebviewOptions | undefined) => Promise<any>",
134
+ "parameters": [
135
+ {
136
+ "name": "options",
137
+ "docs": "",
138
+ "type": "CloseWebviewOptions | undefined"
139
+ }
140
+ ],
141
+ "returns": "Promise<any>",
142
+ "tags": [],
143
+ "docs": "Close the webview.",
144
+ "complexTypes": [
145
+ "CloseWebviewOptions"
146
+ ],
54
147
  "slug": "close"
55
148
  },
56
149
  {
57
150
  "name": "openWebView",
58
- "signature": "(options: OpenWebViewOptions) => any",
151
+ "signature": "(options: OpenWebViewOptions) => Promise<any>",
59
152
  "parameters": [
60
153
  {
61
154
  "name": "options",
@@ -63,22 +156,56 @@
63
156
  "type": "OpenWebViewOptions"
64
157
  }
65
158
  ],
66
- "returns": "any",
159
+ "returns": "Promise<any>",
67
160
  "tags": [
68
161
  {
69
162
  "name": "since",
70
163
  "text": "0.1.0"
71
164
  }
72
165
  ],
73
- "docs": "Open url in a new webview with toolbars",
166
+ "docs": "Open url in a new webview with toolbars, and enhanced capabilities, like camera access, file access, listen events, inject javascript, bi directional communication, etc.\n\nJavaScript Interface:\nWhen you open a webview with this method, a JavaScript interface is automatically injected that provides:\n- `window.mobileApp.close()`: Closes the webview from JavaScript\n- `window.mobileApp.postMessage({detail: {message: \"myMessage\"}})`: Sends a message from the webview to the app, detail object is the data you want to send to the webview",
74
167
  "complexTypes": [
75
168
  "OpenWebViewOptions"
76
169
  ],
77
170
  "slug": "openwebview"
78
171
  },
172
+ {
173
+ "name": "executeScript",
174
+ "signature": "({ code }: { code: string; }) => Promise<void>",
175
+ "parameters": [
176
+ {
177
+ "name": "__0",
178
+ "docs": "",
179
+ "type": "{ code: string; }"
180
+ }
181
+ ],
182
+ "returns": "Promise<void>",
183
+ "tags": [],
184
+ "docs": "Injects JavaScript code into the InAppBrowser window.",
185
+ "complexTypes": [],
186
+ "slug": "executescript"
187
+ },
188
+ {
189
+ "name": "postMessage",
190
+ "signature": "(options: { detail: Record<string, any>; }) => Promise<void>",
191
+ "parameters": [
192
+ {
193
+ "name": "options",
194
+ "docs": "",
195
+ "type": "{ detail: Record<string, any>; }"
196
+ }
197
+ ],
198
+ "returns": "Promise<void>",
199
+ "tags": [],
200
+ "docs": "Sends an event to the webview(inappbrowser). you can listen to this event in the inappbrowser JS with window.addEventListener(\"messageFromNative\", listenerFunc: (event: Record<string, any>) => void)\ndetail is the data you want to send to the webview, it's a requirement of Capacitor we cannot send direct objects\nYour object has to be serializable to JSON, so no functions or other non-JSON-serializable types are allowed.",
201
+ "complexTypes": [
202
+ "Record"
203
+ ],
204
+ "slug": "postmessage"
205
+ },
79
206
  {
80
207
  "name": "setUrl",
81
- "signature": "(options: { url: string; }) => any",
208
+ "signature": "(options: { url: string; }) => Promise<any>",
82
209
  "parameters": [
83
210
  {
84
211
  "name": "options",
@@ -86,15 +213,15 @@
86
213
  "type": "{ url: string; }"
87
214
  }
88
215
  ],
89
- "returns": "any",
216
+ "returns": "Promise<any>",
90
217
  "tags": [],
91
- "docs": "",
218
+ "docs": "Sets the URL of the webview.",
92
219
  "complexTypes": [],
93
220
  "slug": "seturl"
94
221
  },
95
222
  {
96
223
  "name": "addListener",
97
- "signature": "(eventName: \"urlChangeEvent\", listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle> & PluginListenerHandle",
224
+ "signature": "(eventName: 'urlChangeEvent', listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle>",
98
225
  "parameters": [
99
226
  {
100
227
  "name": "eventName",
@@ -107,23 +234,47 @@
107
234
  "type": "UrlChangeListener"
108
235
  }
109
236
  ],
110
- "returns": "any",
237
+ "returns": "Promise<PluginListenerHandle>",
111
238
  "tags": [
112
239
  {
113
240
  "name": "since",
114
241
  "text": "0.0.1"
115
242
  }
116
243
  ],
117
- "docs": "Listen for url change",
244
+ "docs": "Listen for url change, only for openWebView",
118
245
  "complexTypes": [
119
- "UrlChangeListener",
120
- "PluginListenerHandle"
246
+ "PluginListenerHandle",
247
+ "UrlChangeListener"
248
+ ],
249
+ "slug": "addlistenerurlchangeevent-"
250
+ },
251
+ {
252
+ "name": "addListener",
253
+ "signature": "(eventName: 'buttonNearDoneClick', listenerFunc: ButtonNearListener) => Promise<PluginListenerHandle>",
254
+ "parameters": [
255
+ {
256
+ "name": "eventName",
257
+ "docs": "",
258
+ "type": "'buttonNearDoneClick'"
259
+ },
260
+ {
261
+ "name": "listenerFunc",
262
+ "docs": "",
263
+ "type": "ButtonNearListener"
264
+ }
265
+ ],
266
+ "returns": "Promise<PluginListenerHandle>",
267
+ "tags": [],
268
+ "docs": "",
269
+ "complexTypes": [
270
+ "PluginListenerHandle",
271
+ "ButtonNearListener"
121
272
  ],
122
- "slug": "addlistenerurlchangeevent"
273
+ "slug": "addlistenerbuttonneardoneclick-"
123
274
  },
124
275
  {
125
276
  "name": "addListener",
126
- "signature": "(eventName: \"closeEvent\", listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle> & PluginListenerHandle",
277
+ "signature": "(eventName: 'closeEvent', listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle>",
127
278
  "parameters": [
128
279
  {
129
280
  "name": "eventName",
@@ -136,23 +287,23 @@
136
287
  "type": "UrlChangeListener"
137
288
  }
138
289
  ],
139
- "returns": "any",
290
+ "returns": "Promise<PluginListenerHandle>",
140
291
  "tags": [
141
292
  {
142
293
  "name": "since",
143
294
  "text": "0.4.0"
144
295
  }
145
296
  ],
146
- "docs": "Listen for close click",
297
+ "docs": "Listen for close click only for openWebView",
147
298
  "complexTypes": [
148
- "UrlChangeListener",
149
- "PluginListenerHandle"
299
+ "PluginListenerHandle",
300
+ "UrlChangeListener"
150
301
  ],
151
- "slug": "addlistenercloseevent"
302
+ "slug": "addlistenercloseevent-"
152
303
  },
153
304
  {
154
305
  "name": "addListener",
155
- "signature": "(eventName: \"confirmBtnClicked\", listenerFunc: ConfirmBtnListener) => Promise<PluginListenerHandle> & PluginListenerHandle",
306
+ "signature": "(eventName: 'confirmBtnClicked', listenerFunc: ConfirmBtnListener) => Promise<PluginListenerHandle>",
156
307
  "parameters": [
157
308
  {
158
309
  "name": "eventName",
@@ -165,25 +316,95 @@
165
316
  "type": "ConfirmBtnListener"
166
317
  }
167
318
  ],
168
- "returns": "any",
319
+ "returns": "Promise<PluginListenerHandle>",
169
320
  "tags": [
170
321
  {
171
322
  "name": "since",
172
323
  "text": "0.0.1"
173
324
  }
174
325
  ],
175
- "docs": "Will be triggered when user clicks on confirm button when disclaimer is required, works only on iOS",
326
+ "docs": "Will be triggered when user clicks on confirm button when disclaimer is required,\nworks with openWebView shareDisclaimer and closeModal",
327
+ "complexTypes": [
328
+ "PluginListenerHandle",
329
+ "ConfirmBtnListener"
330
+ ],
331
+ "slug": "addlistenerconfirmbtnclicked-"
332
+ },
333
+ {
334
+ "name": "addListener",
335
+ "signature": "(eventName: 'messageFromWebview', listenerFunc: (event: { detail: Record<string, any>; }) => void) => Promise<PluginListenerHandle>",
336
+ "parameters": [
337
+ {
338
+ "name": "eventName",
339
+ "docs": "",
340
+ "type": "'messageFromWebview'"
341
+ },
342
+ {
343
+ "name": "listenerFunc",
344
+ "docs": "",
345
+ "type": "(event: { detail: Record<string, any>; }) => void"
346
+ }
347
+ ],
348
+ "returns": "Promise<PluginListenerHandle>",
349
+ "tags": [],
350
+ "docs": "Will be triggered when event is sent from webview(inappbrowser), to send an event to the main app use window.mobileApp.postMessage({ \"detail\": { \"message\": \"myMessage\" } })\ndetail is the data you want to send to the main app, it's a requirement of Capacitor we cannot send direct objects\nYour object has to be serializable to JSON, no functions or other non-JSON-serializable types are allowed.\n\nThis method is inject at runtime in the webview",
351
+ "complexTypes": [
352
+ "PluginListenerHandle",
353
+ "Record"
354
+ ],
355
+ "slug": "addlistenermessagefromwebview-"
356
+ },
357
+ {
358
+ "name": "addListener",
359
+ "signature": "(eventName: 'browserPageLoaded', listenerFunc: () => void) => Promise<PluginListenerHandle>",
360
+ "parameters": [
361
+ {
362
+ "name": "eventName",
363
+ "docs": "",
364
+ "type": "'browserPageLoaded'"
365
+ },
366
+ {
367
+ "name": "listenerFunc",
368
+ "docs": "",
369
+ "type": "() => void"
370
+ }
371
+ ],
372
+ "returns": "Promise<PluginListenerHandle>",
373
+ "tags": [],
374
+ "docs": "Will be triggered when page is loaded",
375
+ "complexTypes": [
376
+ "PluginListenerHandle"
377
+ ],
378
+ "slug": "addlistenerbrowserpageloaded-"
379
+ },
380
+ {
381
+ "name": "addListener",
382
+ "signature": "(eventName: 'pageLoadError', listenerFunc: () => void) => Promise<PluginListenerHandle>",
383
+ "parameters": [
384
+ {
385
+ "name": "eventName",
386
+ "docs": "",
387
+ "type": "'pageLoadError'"
388
+ },
389
+ {
390
+ "name": "listenerFunc",
391
+ "docs": "",
392
+ "type": "() => void"
393
+ }
394
+ ],
395
+ "returns": "Promise<PluginListenerHandle>",
396
+ "tags": [],
397
+ "docs": "Will be triggered when page load error",
176
398
  "complexTypes": [
177
- "ConfirmBtnListener",
178
399
  "PluginListenerHandle"
179
400
  ],
180
- "slug": "addlistenerconfirmbtnclicked"
401
+ "slug": "addlistenerpageloaderror-"
181
402
  },
182
403
  {
183
404
  "name": "removeAllListeners",
184
- "signature": "() => any",
405
+ "signature": "() => Promise<void>",
185
406
  "parameters": [],
186
- "returns": "any",
407
+ "returns": "Promise<void>",
187
408
  "tags": [
188
409
  {
189
410
  "name": "since",
@@ -193,6 +414,48 @@
193
414
  "docs": "Remove all listeners for this plugin.",
194
415
  "complexTypes": [],
195
416
  "slug": "removealllisteners"
417
+ },
418
+ {
419
+ "name": "reload",
420
+ "signature": "() => Promise<any>",
421
+ "parameters": [],
422
+ "returns": "Promise<any>",
423
+ "tags": [
424
+ {
425
+ "name": "since",
426
+ "text": "1.0.0"
427
+ }
428
+ ],
429
+ "docs": "Reload the current web page.",
430
+ "complexTypes": [],
431
+ "slug": "reload"
432
+ },
433
+ {
434
+ "name": "updateDimensions",
435
+ "signature": "(options: DimensionOptions) => Promise<void>",
436
+ "parameters": [
437
+ {
438
+ "name": "options",
439
+ "docs": "Dimension options (width, height, x, y)",
440
+ "type": "DimensionOptions"
441
+ }
442
+ ],
443
+ "returns": "Promise<void>",
444
+ "tags": [
445
+ {
446
+ "name": "param",
447
+ "text": "options Dimension options (width, height, x, y)"
448
+ },
449
+ {
450
+ "name": "returns",
451
+ "text": "Promise that resolves when dimensions are updated"
452
+ }
453
+ ],
454
+ "docs": "Update the dimensions of the webview.\nAllows changing the size and position of the webview at runtime.",
455
+ "complexTypes": [
456
+ "DimensionOptions"
457
+ ],
458
+ "slug": "updatedimensions"
196
459
  }
197
460
  ],
198
461
  "properties": []
@@ -218,211 +481,949 @@
218
481
  "type": "string"
219
482
  },
220
483
  {
221
- "name": "headers",
484
+ "name": "isPresentAfterPageLoad",
222
485
  "tags": [
223
486
  {
224
487
  "text": "0.1.0",
225
488
  "name": "since"
226
489
  }
227
490
  ],
228
- "docs": "Headers to send with the request.",
229
- "complexTypes": [
230
- "Headers"
231
- ],
232
- "type": "Headers"
491
+ "docs": "if true, the browser will be presented after the page is loaded, if false, the browser will be presented immediately.",
492
+ "complexTypes": [],
493
+ "type": "boolean | undefined"
233
494
  },
234
495
  {
235
- "name": "isPresentAfterPageLoad",
496
+ "name": "preventDeeplink",
236
497
  "tags": [
237
498
  {
238
499
  "text": "0.1.0",
239
500
  "name": "since"
240
501
  }
241
502
  ],
242
- "docs": "if true, the browser will be presented after the page is loaded, if false, the browser will be presented immediately.",
503
+ "docs": "if true the deeplink will not be opened, if false the deeplink will be opened when clicked on the link",
243
504
  "complexTypes": [],
244
505
  "type": "boolean | undefined"
245
- },
506
+ }
507
+ ]
508
+ },
509
+ {
510
+ "name": "ClearCookieOptions",
511
+ "slug": "clearcookieoptions",
512
+ "docs": "",
513
+ "tags": [],
514
+ "methods": [],
515
+ "properties": [
246
516
  {
247
- "name": "preventDeeplink",
517
+ "name": "url",
248
518
  "tags": [],
249
519
  "docs": "",
250
520
  "complexTypes": [],
251
- "type": "boolean | undefined"
521
+ "type": "string"
252
522
  }
253
523
  ]
254
524
  },
255
525
  {
256
- "name": "Headers",
257
- "slug": "headers",
526
+ "name": "HttpCookie",
527
+ "slug": "httpcookie",
258
528
  "docs": "",
259
529
  "tags": [],
260
530
  "methods": [],
261
- "properties": []
531
+ "properties": [
532
+ {
533
+ "name": "url",
534
+ "tags": [],
535
+ "docs": "The URL of the cookie.",
536
+ "complexTypes": [],
537
+ "type": "string | undefined"
538
+ },
539
+ {
540
+ "name": "key",
541
+ "tags": [],
542
+ "docs": "The key of the cookie.",
543
+ "complexTypes": [],
544
+ "type": "string"
545
+ },
546
+ {
547
+ "name": "value",
548
+ "tags": [],
549
+ "docs": "The value of the cookie.",
550
+ "complexTypes": [],
551
+ "type": "string"
552
+ }
553
+ ]
262
554
  },
263
555
  {
264
- "name": "OpenWebViewOptions",
265
- "slug": "openwebviewoptions",
556
+ "name": "GetCookieOptions",
557
+ "slug": "getcookieoptions",
266
558
  "docs": "",
267
559
  "tags": [],
268
560
  "methods": [],
269
561
  "properties": [
270
562
  {
271
563
  "name": "url",
272
- "tags": [
273
- {
274
- "text": "0.1.0",
275
- "name": "since"
276
- }
277
- ],
278
- "docs": "Target URL to load.",
564
+ "tags": [],
565
+ "docs": "",
279
566
  "complexTypes": [],
280
567
  "type": "string"
281
568
  },
282
569
  {
283
- "name": "headers",
570
+ "name": "includeHttpOnly",
571
+ "tags": [],
572
+ "docs": "",
573
+ "complexTypes": [],
574
+ "type": "boolean | undefined"
575
+ }
576
+ ]
577
+ },
578
+ {
579
+ "name": "CloseWebviewOptions",
580
+ "slug": "closewebviewoptions",
581
+ "docs": "",
582
+ "tags": [],
583
+ "methods": [],
584
+ "properties": [
585
+ {
586
+ "name": "isAnimated",
284
587
  "tags": [
285
588
  {
286
- "text": "0.1.0",
287
- "name": "since"
589
+ "text": "true",
590
+ "name": "default"
288
591
  }
289
592
  ],
290
- "docs": "Headers to send with the request.",
291
- "complexTypes": [
593
+ "docs": "Whether the webview closing is animated or not, ios only",
594
+ "complexTypes": [],
595
+ "type": "boolean | undefined"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ "name": "OpenWebViewOptions",
601
+ "slug": "openwebviewoptions",
602
+ "docs": "",
603
+ "tags": [],
604
+ "methods": [],
605
+ "properties": [
606
+ {
607
+ "name": "url",
608
+ "tags": [
609
+ {
610
+ "text": "0.1.0",
611
+ "name": "since"
612
+ },
613
+ {
614
+ "text": "\"https://capgo.app\"",
615
+ "name": "example"
616
+ }
617
+ ],
618
+ "docs": "Target URL to load.",
619
+ "complexTypes": [],
620
+ "type": "string"
621
+ },
622
+ {
623
+ "name": "headers",
624
+ "tags": [
625
+ {
626
+ "text": "0.1.0",
627
+ "name": "since"
628
+ },
629
+ {
630
+ "text": "headers: {\n \"Custom-Header\": \"test-value\",\n \"Authorization\": \"Bearer test-token\"\n}\nTest URL: https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending/",
631
+ "name": "example"
632
+ }
633
+ ],
634
+ "docs": "Headers to send with the request.",
635
+ "complexTypes": [
292
636
  "Headers"
293
637
  ],
294
638
  "type": "Headers"
295
639
  },
296
640
  {
297
- "name": "shareDisclaimer",
641
+ "name": "credentials",
642
+ "tags": [
643
+ {
644
+ "text": "6.1.0",
645
+ "name": "since"
646
+ },
647
+ {
648
+ "text": "credentials: {\n username: \"test-user\",\n password: \"test-pass\"\n}\nTest URL: https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending/",
649
+ "name": "example"
650
+ }
651
+ ],
652
+ "docs": "Credentials to send with the request and all subsequent requests for the same host.",
653
+ "complexTypes": [
654
+ "Credentials"
655
+ ],
656
+ "type": "Credentials"
657
+ },
658
+ {
659
+ "name": "materialPicker",
660
+ "tags": [
661
+ {
662
+ "text": "7.4.1",
663
+ "name": "since"
664
+ },
665
+ {
666
+ "text": "false",
667
+ "name": "default"
668
+ },
669
+ {
670
+ "text": "materialPicker: true\nTest URL: https://show-picker.glitch.me/demo.html",
671
+ "name": "example"
672
+ }
673
+ ],
674
+ "docs": "materialPicker: if true, uses Material Design theme for date and time pickers on Android.\nThis improves the appearance of HTML date inputs to use modern Material Design UI instead of the old style pickers.",
675
+ "complexTypes": [],
676
+ "type": "boolean | undefined"
677
+ },
678
+ {
679
+ "name": "jsInterface",
680
+ "tags": [
681
+ {
682
+ "text": "// In your webpage loaded in the webview:\ndocument.getElementById(\"closeBtn\").addEventListener(\"click\", () => {\n window.mobileApp.close();\n});\n\n// Send data to the app\nwindow.mobileApp.postMessage({ action: \"login\", data: { user: \"test\" }});",
683
+ "name": "example"
684
+ },
685
+ {
686
+ "text": "6.10.0",
687
+ "name": "since"
688
+ }
689
+ ],
690
+ "docs": "JavaScript Interface:\nThe webview automatically injects a JavaScript interface providing:\n- `window.mobileApp.close()`: Closes the webview from JavaScript\n- `window.mobileApp.postMessage(obj)`: Sends a message to the app (listen via \"messageFromWebview\" event)",
691
+ "complexTypes": [],
692
+ "type": "undefined"
693
+ },
694
+ {
695
+ "name": "shareDisclaimer",
696
+ "tags": [
697
+ {
698
+ "text": "0.1.0",
699
+ "name": "since"
700
+ },
701
+ {
702
+ "text": "shareDisclaimer: {\n title: \"Disclaimer\",\n message: \"This is a test disclaimer\",\n confirmBtn: \"Accept\",\n cancelBtn: \"Decline\"\n}\nTest URL: https://capgo.app",
703
+ "name": "example"
704
+ }
705
+ ],
706
+ "docs": "Share options for the webview. When provided, shows a disclaimer dialog before sharing content.\nThis is useful for:\n- Warning users about sharing sensitive information\n- Getting user consent before sharing\n- Explaining what will be shared\n- Complying with privacy regulations\n\nNote: shareSubject is required when using shareDisclaimer",
707
+ "complexTypes": [
708
+ "DisclaimerOptions"
709
+ ],
710
+ "type": "DisclaimerOptions"
711
+ },
712
+ {
713
+ "name": "toolbarType",
714
+ "tags": [
715
+ {
716
+ "text": "0.1.0",
717
+ "name": "since"
718
+ },
719
+ {
720
+ "text": "ToolBarType.DEFAULT",
721
+ "name": "default"
722
+ },
723
+ {
724
+ "text": "toolbarType: ToolBarType.ACTIVITY,\ntitle: \"Activity Toolbar Test\"\nTest URL: https://capgo.app",
725
+ "name": "example"
726
+ }
727
+ ],
728
+ "docs": "Toolbar type determines the appearance and behavior of the browser's toolbar\n- \"activity\": Shows a simple toolbar with just a close button and share button\n- \"navigation\": Shows a full navigation toolbar with back/forward buttons\n- \"blank\": Shows no toolbar\n- \"\": Default toolbar with close button",
729
+ "complexTypes": [
730
+ "ToolBarType"
731
+ ],
732
+ "type": "ToolBarType"
733
+ },
734
+ {
735
+ "name": "shareSubject",
736
+ "tags": [
737
+ {
738
+ "text": "0.1.0",
739
+ "name": "since"
740
+ },
741
+ {
742
+ "text": "\"Share this page\"",
743
+ "name": "example"
744
+ }
745
+ ],
746
+ "docs": "Subject text for sharing. Required when using shareDisclaimer.\nThis text will be used as the subject line when sharing content.",
747
+ "complexTypes": [],
748
+ "type": "string | undefined"
749
+ },
750
+ {
751
+ "name": "title",
752
+ "tags": [
753
+ {
754
+ "text": "0.1.0",
755
+ "name": "since"
756
+ },
757
+ {
758
+ "text": "\"New Window\"",
759
+ "name": "default"
760
+ },
761
+ {
762
+ "text": "\"Camera Test\"",
763
+ "name": "example"
764
+ }
765
+ ],
766
+ "docs": "Title of the browser",
767
+ "complexTypes": [],
768
+ "type": "string | undefined"
769
+ },
770
+ {
771
+ "name": "backgroundColor",
772
+ "tags": [
773
+ {
774
+ "text": "0.1.0",
775
+ "name": "since"
776
+ },
777
+ {
778
+ "text": "BackgroundColor.BLACK",
779
+ "name": "default"
780
+ }
781
+ ],
782
+ "docs": "Background color of the browser",
783
+ "complexTypes": [
784
+ "BackgroundColor"
785
+ ],
786
+ "type": "BackgroundColor"
787
+ },
788
+ {
789
+ "name": "activeNativeNavigationForWebview",
790
+ "tags": [
791
+ {
792
+ "text": "false (Android), true (iOS - enabled by default)",
793
+ "name": "default"
794
+ },
795
+ {
796
+ "text": "activeNativeNavigationForWebview: true,\ndisableGoBackOnNativeApplication: true\nTest URL: https://capgo.app",
797
+ "name": "example"
798
+ }
799
+ ],
800
+ "docs": "If true, enables native navigation gestures within the webview.\n- Android: Native back button navigates within webview history\n- iOS: Enables swipe left/right gestures for back/forward navigation",
801
+ "complexTypes": [],
802
+ "type": "boolean | undefined"
803
+ },
804
+ {
805
+ "name": "disableGoBackOnNativeApplication",
806
+ "tags": [
807
+ {
808
+ "text": "false",
809
+ "name": "default"
810
+ },
811
+ {
812
+ "text": "disableGoBackOnNativeApplication: true\nTest URL: https://capgo.app",
813
+ "name": "example"
814
+ }
815
+ ],
816
+ "docs": "Disable the possibility to go back on native application,\nuseful to force user to stay on the webview, Android only",
817
+ "complexTypes": [],
818
+ "type": "boolean | undefined"
819
+ },
820
+ {
821
+ "name": "isPresentAfterPageLoad",
822
+ "tags": [
823
+ {
824
+ "text": "0.1.0",
825
+ "name": "since"
826
+ },
827
+ {
828
+ "text": "false",
829
+ "name": "default"
830
+ },
831
+ {
832
+ "text": "isPresentAfterPageLoad: true,\npreShowScript: \"await import('https://unpkg.com/darkreader@4.9.89/darkreader.js');\\nDarkReader.enable({ brightness: 100, contrast: 90, sepia: 10 });\"\nTest URL: https://capgo.app",
833
+ "name": "example"
834
+ }
835
+ ],
836
+ "docs": "Open url in a new window fullscreen\nisPresentAfterPageLoad: if true, the browser will be presented after the page is loaded, if false, the browser will be presented immediately.",
837
+ "complexTypes": [],
838
+ "type": "boolean | undefined"
839
+ },
840
+ {
841
+ "name": "isInspectable",
842
+ "tags": [
843
+ {
844
+ "text": "false",
845
+ "name": "default"
846
+ }
847
+ ],
848
+ "docs": "Whether the website in the webview is inspectable or not, ios only",
849
+ "complexTypes": [],
850
+ "type": "boolean | undefined"
851
+ },
852
+ {
853
+ "name": "isAnimated",
854
+ "tags": [
855
+ {
856
+ "text": "true",
857
+ "name": "default"
858
+ }
859
+ ],
860
+ "docs": "Whether the webview opening is animated or not, ios only",
861
+ "complexTypes": [],
862
+ "type": "boolean | undefined"
863
+ },
864
+ {
865
+ "name": "showReloadButton",
866
+ "tags": [
867
+ {
868
+ "text": "1.0.15",
869
+ "name": "since"
870
+ },
871
+ {
872
+ "text": "false",
873
+ "name": "default"
874
+ },
875
+ {
876
+ "text": "showReloadButton: true\nTest URL: https://capgo.app",
877
+ "name": "example"
878
+ }
879
+ ],
880
+ "docs": "Shows a reload button that reloads the web page",
881
+ "complexTypes": [],
882
+ "type": "boolean | undefined"
883
+ },
884
+ {
885
+ "name": "closeModal",
886
+ "tags": [
887
+ {
888
+ "text": "1.1.0",
889
+ "name": "since"
890
+ },
891
+ {
892
+ "text": "false",
893
+ "name": "default"
894
+ },
895
+ {
896
+ "text": "closeModal: true,\ncloseModalTitle: \"Close Window\",\ncloseModalDescription: \"Are you sure you want to close?\",\ncloseModalOk: \"Yes, close\",\ncloseModalCancel: \"No, stay\"\nTest URL: https://capgo.app",
897
+ "name": "example"
898
+ }
899
+ ],
900
+ "docs": "CloseModal: if true a confirm will be displayed when user clicks on close button, if false the browser will be closed immediately.",
901
+ "complexTypes": [],
902
+ "type": "boolean | undefined"
903
+ },
904
+ {
905
+ "name": "closeModalTitle",
906
+ "tags": [
907
+ {
908
+ "text": "1.1.0",
909
+ "name": "since"
910
+ },
911
+ {
912
+ "text": "\"Close\"",
913
+ "name": "default"
914
+ }
915
+ ],
916
+ "docs": "CloseModalTitle: title of the confirm when user clicks on close button",
917
+ "complexTypes": [],
918
+ "type": "string | undefined"
919
+ },
920
+ {
921
+ "name": "closeModalDescription",
922
+ "tags": [
923
+ {
924
+ "text": "1.1.0",
925
+ "name": "since"
926
+ },
927
+ {
928
+ "text": "\"Are you sure you want to close this window?\"",
929
+ "name": "default"
930
+ }
931
+ ],
932
+ "docs": "CloseModalDescription: description of the confirm when user clicks on close button",
933
+ "complexTypes": [],
934
+ "type": "string | undefined"
935
+ },
936
+ {
937
+ "name": "closeModalOk",
938
+ "tags": [
939
+ {
940
+ "text": "1.1.0",
941
+ "name": "since"
942
+ },
943
+ {
944
+ "text": "\"Close\"",
945
+ "name": "default"
946
+ }
947
+ ],
948
+ "docs": "CloseModalOk: text of the confirm button when user clicks on close button",
949
+ "complexTypes": [],
950
+ "type": "string | undefined"
951
+ },
952
+ {
953
+ "name": "closeModalCancel",
954
+ "tags": [
955
+ {
956
+ "text": "1.1.0",
957
+ "name": "since"
958
+ },
959
+ {
960
+ "text": "\"Cancel\"",
961
+ "name": "default"
962
+ }
963
+ ],
964
+ "docs": "CloseModalCancel: text of the cancel button when user clicks on close button",
965
+ "complexTypes": [],
966
+ "type": "string | undefined"
967
+ },
968
+ {
969
+ "name": "visibleTitle",
970
+ "tags": [
971
+ {
972
+ "text": "1.2.5",
973
+ "name": "since"
974
+ },
975
+ {
976
+ "text": "true",
977
+ "name": "default"
978
+ }
979
+ ],
980
+ "docs": "visibleTitle: if true the website title would be shown else shown empty",
981
+ "complexTypes": [],
982
+ "type": "boolean | undefined"
983
+ },
984
+ {
985
+ "name": "toolbarColor",
986
+ "tags": [
987
+ {
988
+ "text": "1.2.5",
989
+ "name": "since"
990
+ },
991
+ {
992
+ "text": "\"#ffffff\"",
993
+ "name": "default"
994
+ },
995
+ {
996
+ "text": "toolbarColor: \"#FF5733\"\nTest URL: https://capgo.app",
997
+ "name": "example"
998
+ }
999
+ ],
1000
+ "docs": "toolbarColor: color of the toolbar in hex format",
1001
+ "complexTypes": [],
1002
+ "type": "string | undefined"
1003
+ },
1004
+ {
1005
+ "name": "toolbarTextColor",
1006
+ "tags": [
1007
+ {
1008
+ "text": "6.10.0",
1009
+ "name": "since"
1010
+ },
1011
+ {
1012
+ "text": "calculated based on toolbarColor brightness",
1013
+ "name": "default"
1014
+ },
1015
+ {
1016
+ "text": "toolbarTextColor: \"#FFFFFF\"\nTest URL: https://capgo.app",
1017
+ "name": "example"
1018
+ }
1019
+ ],
1020
+ "docs": "toolbarTextColor: color of the buttons and title in the toolbar in hex format\nWhen set, it overrides the automatic light/dark mode detection for text color",
1021
+ "complexTypes": [],
1022
+ "type": "string | undefined"
1023
+ },
1024
+ {
1025
+ "name": "showArrow",
1026
+ "tags": [
1027
+ {
1028
+ "text": "1.2.5",
1029
+ "name": "since"
1030
+ },
1031
+ {
1032
+ "text": "false",
1033
+ "name": "default"
1034
+ },
1035
+ {
1036
+ "text": "showArrow: true\nTest URL: https://capgo.app",
1037
+ "name": "example"
1038
+ }
1039
+ ],
1040
+ "docs": "showArrow: if true an arrow would be shown instead of cross for closing the window",
1041
+ "complexTypes": [],
1042
+ "type": "boolean | undefined"
1043
+ },
1044
+ {
1045
+ "name": "ignoreUntrustedSSLError",
1046
+ "tags": [
1047
+ {
1048
+ "text": "6.1.0",
1049
+ "name": "since"
1050
+ },
1051
+ {
1052
+ "text": "false",
1053
+ "name": "default"
1054
+ }
1055
+ ],
1056
+ "docs": "ignoreUntrustedSSLError: if true, the webview will ignore untrusted SSL errors allowing the user to view the website.",
1057
+ "complexTypes": [],
1058
+ "type": "boolean | undefined"
1059
+ },
1060
+ {
1061
+ "name": "preShowScript",
1062
+ "tags": [
1063
+ {
1064
+ "text": "6.6.0",
1065
+ "name": "since"
1066
+ },
1067
+ {
1068
+ "text": "preShowScript: \"await import('https://unpkg.com/darkreader@4.9.89/darkreader.js');\\nDarkReader.enable({ brightness: 100, contrast: 90, sepia: 10 });\"\nTest URL: https://capgo.app",
1069
+ "name": "example"
1070
+ }
1071
+ ],
1072
+ "docs": "preShowScript: if isPresentAfterPageLoad is true and this variable is set the plugin will inject a script before showing the browser.\nThis script will be run in an async context. The plugin will wait for the script to finish (max 10 seconds)",
1073
+ "complexTypes": [],
1074
+ "type": "string | undefined"
1075
+ },
1076
+ {
1077
+ "name": "preShowScriptInjectionTime",
1078
+ "tags": [
1079
+ {
1080
+ "text": "7.26.0",
1081
+ "name": "since"
1082
+ },
1083
+ {
1084
+ "text": "\"pageLoad\"",
1085
+ "name": "default"
1086
+ },
1087
+ {
1088
+ "text": "preShowScriptInjectionTime: \"documentStart\"",
1089
+ "name": "example"
1090
+ }
1091
+ ],
1092
+ "docs": "preShowScriptInjectionTime: controls when the preShowScript is injected.\n- \"documentStart\": injects before any page JavaScript runs (good for polyfills like Firebase)\n- \"pageLoad\": injects after page load (default, original behavior)",
1093
+ "complexTypes": [],
1094
+ "type": "'documentStart' | 'pageLoad' | undefined"
1095
+ },
1096
+ {
1097
+ "name": "proxyRequests",
1098
+ "tags": [
1099
+ {
1100
+ "text": "6.9.0",
1101
+ "name": "since"
1102
+ }
1103
+ ],
1104
+ "docs": "proxyRequests is a regex expression. Please see [this pr](https://github.com/Cap-go/capacitor-inappbrowser/pull/222) for more info. (Android only)",
1105
+ "complexTypes": [],
1106
+ "type": "string | undefined"
1107
+ },
1108
+ {
1109
+ "name": "buttonNearDone",
1110
+ "tags": [
1111
+ {
1112
+ "text": "6.7.0",
1113
+ "name": "since"
1114
+ },
1115
+ {
1116
+ "text": "buttonNearDone: {\n ios: {\n iconType: \"sf-symbol\",\n icon: \"star.fill\"\n },\n android: {\n iconType: \"asset\",\n icon: \"public/monkey.svg\",\n width: 24,\n height: 24\n }\n}\nTest URL: https://capgo.app",
1117
+ "name": "example"
1118
+ }
1119
+ ],
1120
+ "docs": "buttonNearDone allows for a creation of a custom button near the done/close button.\nThe button is only shown when toolbarType is not \"activity\", \"navigation\", or \"blank\".\n\nFor Android:\n- iconType must be \"asset\"\n- icon path should be in the public folder (e.g. \"monkey.svg\")\n- width and height are optional, defaults to 48dp\n- button is positioned at the end of toolbar with 8dp margin\n\nFor iOS:\n- iconType can be \"sf-symbol\" or \"asset\"\n- for sf-symbol, icon should be the symbol name\n- for asset, icon should be the asset name",
1121
+ "complexTypes": [],
1122
+ "type": "{ ios: { iconType: 'sf-symbol' | 'asset'; icon: string; }; android: { iconType: 'asset' | 'vector'; icon: string; width?: number | undefined; height?: number | undefined; }; } | undefined"
1123
+ },
1124
+ {
1125
+ "name": "textZoom",
1126
+ "tags": [
1127
+ {
1128
+ "text": "7.6.0",
1129
+ "name": "since"
1130
+ },
1131
+ {
1132
+ "text": "100",
1133
+ "name": "default"
1134
+ },
1135
+ {
1136
+ "text": "textZoom: 120\nTest URL: https://capgo.app",
1137
+ "name": "example"
1138
+ }
1139
+ ],
1140
+ "docs": "textZoom: sets the text zoom of the page in percent.\nAllows users to increase or decrease the text size for better readability.",
1141
+ "complexTypes": [],
1142
+ "type": "number | undefined"
1143
+ },
1144
+ {
1145
+ "name": "preventDeeplink",
1146
+ "tags": [
1147
+ {
1148
+ "text": "0.1.0",
1149
+ "name": "since"
1150
+ },
1151
+ {
1152
+ "text": "false",
1153
+ "name": "default"
1154
+ },
1155
+ {
1156
+ "text": "preventDeeplink: true\nTest URL: https://aasa-tester.capgo.app/",
1157
+ "name": "example"
1158
+ }
1159
+ ],
1160
+ "docs": "preventDeeplink: if true, the deeplink will not be opened, if false the deeplink will be opened when clicked on the link. on IOS each schema need to be added to info.plist file under LSApplicationQueriesSchemes when false to make it work.",
1161
+ "complexTypes": [],
1162
+ "type": "boolean | undefined"
1163
+ },
1164
+ {
1165
+ "name": "authorizedAppLinks",
1166
+ "tags": [
1167
+ {
1168
+ "text": "```ts\n[\"https://example.com\", \"https://subdomain.app.io\"]\n```",
1169
+ "name": "example"
1170
+ },
1171
+ {
1172
+ "text": "7.12.0",
1173
+ "name": "since"
1174
+ },
1175
+ {
1176
+ "text": "[]",
1177
+ "name": "default"
1178
+ }
1179
+ ],
1180
+ "docs": "List of base URLs whose hosts are treated as authorized App Links (Android) and Universal Links (iOS).\n\n- On both platforms, only HTTPS links whose host matches any entry in this list\n will attempt to open via the corresponding native application.\n- If the app is not installed or the system cannot handle the link, the URL\n will continue loading inside the in-app browser.\n- Matching is host-based (case-insensitive), ignoring the \"www.\" prefix.\n- When `preventDeeplink` is enabled, all external handling is blocked regardless of this list.",
1181
+ "complexTypes": [],
1182
+ "type": "string[] | undefined"
1183
+ },
1184
+ {
1185
+ "name": "enabledSafeBottomMargin",
1186
+ "tags": [
1187
+ {
1188
+ "text": "7.13.0",
1189
+ "name": "since"
1190
+ },
1191
+ {
1192
+ "text": "false",
1193
+ "name": "default"
1194
+ },
1195
+ {
1196
+ "text": "enabledSafeBottomMargin: true",
1197
+ "name": "example"
1198
+ }
1199
+ ],
1200
+ "docs": "If true, the webView will not take the full height and will have a 20px margin at the bottom.\nThis creates a safe margin area outside the browser view.",
1201
+ "complexTypes": [],
1202
+ "type": "boolean | undefined"
1203
+ },
1204
+ {
1205
+ "name": "useTopInset",
1206
+ "tags": [
1207
+ {
1208
+ "text": "false",
1209
+ "name": "default"
1210
+ },
1211
+ {
1212
+ "text": "useTopInset: true",
1213
+ "name": "example"
1214
+ }
1215
+ ],
1216
+ "docs": "When true, applies the system status bar inset as the WebView top margin on Android.\nKeeps the legacy 0px margin by default for apps that handle padding themselves.",
1217
+ "complexTypes": [],
1218
+ "type": "boolean | undefined"
1219
+ },
1220
+ {
1221
+ "name": "enableGooglePaySupport",
298
1222
  "tags": [
299
1223
  {
300
- "text": "0.1.0",
1224
+ "text": "7.13.0",
301
1225
  "name": "since"
1226
+ },
1227
+ {
1228
+ "text": "false",
1229
+ "name": "default"
1230
+ },
1231
+ {
1232
+ "text": "enableGooglePaySupport: true\nTest URL: https://developers.google.com/pay/api/web/guides/tutorial",
1233
+ "name": "example"
302
1234
  }
303
1235
  ],
304
- "docs": "share options",
305
- "complexTypes": [
306
- "DisclaimerOptions"
307
- ],
308
- "type": "DisclaimerOptions"
1236
+ "docs": "enableGooglePaySupport: if true, enables support for Google Pay popups and Payment Request API.\nThis fixes OR_BIBED_15 errors by allowing popup windows and configuring Cross-Origin-Opener-Policy.\nOnly enable this if you need Google Pay functionality as it allows popup windows.\n\nWhen enabled:\n- Allows popup windows for Google Pay authentication\n- Sets proper CORS headers for Payment Request API\n- Enables multiple window support in WebView\n- Configures secure context for payment processing",
1237
+ "complexTypes": [],
1238
+ "type": "boolean | undefined"
309
1239
  },
310
1240
  {
311
- "name": "toolbarType",
1241
+ "name": "blockedHosts",
312
1242
  "tags": [
313
1243
  {
314
- "text": "0.1.0",
1244
+ "text": "7.17.0",
315
1245
  "name": "since"
316
1246
  },
317
1247
  {
318
- "text": "ToolBarType.DEFAULT",
1248
+ "text": "[]",
319
1249
  "name": "default"
1250
+ },
1251
+ {
1252
+ "text": "blockedHosts: [\"*.tracking.com\", \"ads.example.com\"]",
1253
+ "name": "example"
320
1254
  }
321
1255
  ],
322
- "docs": "Toolbar type",
323
- "complexTypes": [
324
- "ToolBarType"
325
- ],
326
- "type": "ToolBarType"
1256
+ "docs": "blockedHosts: List of host patterns that should be blocked from loading in the InAppBrowser's internal navigations.\nAny request inside WebView to a URL with a host matching any of these patterns will be blocked.\nSupports wildcard patterns like:\n- \"*.example.com\" to block all subdomains\n- \"www.example.*\" to block wildcard domain extensions",
1257
+ "complexTypes": [],
1258
+ "type": "string[] | undefined"
327
1259
  },
328
1260
  {
329
- "name": "shareSubject",
1261
+ "name": "width",
330
1262
  "tags": [
331
1263
  {
332
- "text": "0.1.0",
333
- "name": "since"
1264
+ "text": "undefined (fullscreen)",
1265
+ "name": "default"
1266
+ },
1267
+ {
1268
+ "text": "width: 400",
1269
+ "name": "example"
334
1270
  }
335
1271
  ],
336
- "docs": "Share subject",
1272
+ "docs": "Width of the webview in pixels.\nIf not set, webview will be fullscreen width.",
337
1273
  "complexTypes": [],
338
- "type": "string | undefined"
1274
+ "type": "number | undefined"
339
1275
  },
340
1276
  {
341
- "name": "title",
1277
+ "name": "height",
342
1278
  "tags": [
343
1279
  {
344
- "text": "0.1.0",
345
- "name": "since"
1280
+ "text": "undefined (fullscreen)",
1281
+ "name": "default"
346
1282
  },
347
1283
  {
348
- "text": "'New Window'",
349
- "name": "default"
1284
+ "text": "height: 600",
1285
+ "name": "example"
350
1286
  }
351
1287
  ],
352
- "docs": "Title of the browser",
1288
+ "docs": "Height of the webview in pixels.\nIf not set, webview will be fullscreen height.",
353
1289
  "complexTypes": [],
354
- "type": "string"
1290
+ "type": "number | undefined"
355
1291
  },
356
1292
  {
357
- "name": "backgroundColor",
1293
+ "name": "x",
358
1294
  "tags": [
359
1295
  {
360
- "text": "0.1.0",
361
- "name": "since"
1296
+ "text": "0",
1297
+ "name": "default"
362
1298
  },
363
1299
  {
364
- "text": "BackgroundColor.BLACK",
365
- "name": "default"
1300
+ "text": "x: 50",
1301
+ "name": "example"
366
1302
  }
367
1303
  ],
368
- "docs": "Background color of the browser, only on IOS",
369
- "complexTypes": [
370
- "BackgroundColor"
371
- ],
372
- "type": "BackgroundColor"
1304
+ "docs": "X position of the webview in pixels from the left edge.\nOnly effective when width is set.",
1305
+ "complexTypes": [],
1306
+ "type": "number | undefined"
373
1307
  },
374
1308
  {
375
- "name": "isPresentAfterPageLoad",
1309
+ "name": "y",
376
1310
  "tags": [
377
1311
  {
378
- "text": "0.1.0",
379
- "name": "since"
1312
+ "text": "0",
1313
+ "name": "default"
380
1314
  },
381
1315
  {
382
- "text": "false",
383
- "name": "default"
1316
+ "text": "y: 100",
1317
+ "name": "example"
384
1318
  }
385
1319
  ],
386
- "docs": "Open url in a new window fullscreen\n\nisPresentAfterPageLoad: if true, the browser will be presented after the page is loaded, if false, the browser will be presented immediately.",
1320
+ "docs": "Y position of the webview in pixels from the top edge.\nOnly effective when height is set.",
387
1321
  "complexTypes": [],
388
- "type": "boolean | undefined"
1322
+ "type": "number | undefined"
389
1323
  }
390
1324
  ]
391
1325
  },
392
1326
  {
393
- "name": "DisclaimerOptions",
394
- "slug": "disclaimeroptions",
1327
+ "name": "Headers",
1328
+ "slug": "headers",
1329
+ "docs": "",
1330
+ "tags": [],
1331
+ "methods": [],
1332
+ "properties": []
1333
+ },
1334
+ {
1335
+ "name": "Credentials",
1336
+ "slug": "credentials",
395
1337
  "docs": "",
396
1338
  "tags": [],
397
1339
  "methods": [],
398
1340
  "properties": [
399
1341
  {
400
- "name": "title",
1342
+ "name": "username",
401
1343
  "tags": [],
402
1344
  "docs": "",
403
1345
  "complexTypes": [],
404
1346
  "type": "string"
405
1347
  },
406
1348
  {
407
- "name": "message",
1349
+ "name": "password",
408
1350
  "tags": [],
409
1351
  "docs": "",
410
1352
  "complexTypes": [],
411
1353
  "type": "string"
1354
+ }
1355
+ ]
1356
+ },
1357
+ {
1358
+ "name": "DisclaimerOptions",
1359
+ "slug": "disclaimeroptions",
1360
+ "docs": "",
1361
+ "tags": [],
1362
+ "methods": [],
1363
+ "properties": [
1364
+ {
1365
+ "name": "title",
1366
+ "tags": [
1367
+ {
1368
+ "text": "\"Title\"",
1369
+ "name": "default"
1370
+ }
1371
+ ],
1372
+ "docs": "Title of the disclaimer dialog",
1373
+ "complexTypes": [],
1374
+ "type": "string"
1375
+ },
1376
+ {
1377
+ "name": "message",
1378
+ "tags": [
1379
+ {
1380
+ "text": "\"Message\"",
1381
+ "name": "default"
1382
+ }
1383
+ ],
1384
+ "docs": "Message shown in the disclaimer dialog",
1385
+ "complexTypes": [],
1386
+ "type": "string"
412
1387
  },
413
1388
  {
414
1389
  "name": "confirmBtn",
415
- "tags": [],
416
- "docs": "",
1390
+ "tags": [
1391
+ {
1392
+ "text": "\"Confirm\"",
1393
+ "name": "default"
1394
+ }
1395
+ ],
1396
+ "docs": "Text for the confirm button",
417
1397
  "complexTypes": [],
418
1398
  "type": "string"
419
1399
  },
420
1400
  {
421
1401
  "name": "cancelBtn",
1402
+ "tags": [
1403
+ {
1404
+ "text": "\"Cancel\"",
1405
+ "name": "default"
1406
+ }
1407
+ ],
1408
+ "docs": "Text for the cancel button",
1409
+ "complexTypes": [],
1410
+ "type": "string"
1411
+ }
1412
+ ]
1413
+ },
1414
+ {
1415
+ "name": "PluginListenerHandle",
1416
+ "slug": "pluginlistenerhandle",
1417
+ "docs": "",
1418
+ "tags": [],
1419
+ "methods": [],
1420
+ "properties": [
1421
+ {
1422
+ "name": "remove",
422
1423
  "tags": [],
423
1424
  "docs": "",
424
1425
  "complexTypes": [],
425
- "type": "string"
1426
+ "type": "() => Promise<void>"
426
1427
  }
427
1428
  ]
428
1429
  },
@@ -447,22 +1448,6 @@
447
1448
  }
448
1449
  ]
449
1450
  },
450
- {
451
- "name": "PluginListenerHandle",
452
- "slug": "pluginlistenerhandle",
453
- "docs": "",
454
- "tags": [],
455
- "methods": [],
456
- "properties": [
457
- {
458
- "name": "remove",
459
- "tags": [],
460
- "docs": "",
461
- "complexTypes": [],
462
- "type": "() => any"
463
- }
464
- ]
465
- },
466
1451
  {
467
1452
  "name": "BtnEvent",
468
1453
  "slug": "btnevent",
@@ -483,6 +1468,43 @@
483
1468
  "type": "string"
484
1469
  }
485
1470
  ]
1471
+ },
1472
+ {
1473
+ "name": "DimensionOptions",
1474
+ "slug": "dimensionoptions",
1475
+ "docs": "",
1476
+ "tags": [],
1477
+ "methods": [],
1478
+ "properties": [
1479
+ {
1480
+ "name": "width",
1481
+ "tags": [],
1482
+ "docs": "Width of the webview in pixels",
1483
+ "complexTypes": [],
1484
+ "type": "number | undefined"
1485
+ },
1486
+ {
1487
+ "name": "height",
1488
+ "tags": [],
1489
+ "docs": "Height of the webview in pixels",
1490
+ "complexTypes": [],
1491
+ "type": "number | undefined"
1492
+ },
1493
+ {
1494
+ "name": "x",
1495
+ "tags": [],
1496
+ "docs": "X position from the left edge in pixels",
1497
+ "complexTypes": [],
1498
+ "type": "number | undefined"
1499
+ },
1500
+ {
1501
+ "name": "y",
1502
+ "tags": [],
1503
+ "docs": "Y position from the top edge in pixels",
1504
+ "complexTypes": [],
1505
+ "type": "number | undefined"
1506
+ }
1507
+ ]
486
1508
  }
487
1509
  ],
488
1510
  "enums": [
@@ -492,27 +1514,47 @@
492
1514
  "members": [
493
1515
  {
494
1516
  "name": "ACTIVITY",
495
- "value": "\"activity\"",
496
- "tags": [],
497
- "docs": ""
1517
+ "value": "'activity'",
1518
+ "tags": [
1519
+ {
1520
+ "text": "0.1.0",
1521
+ "name": "since"
1522
+ }
1523
+ ],
1524
+ "docs": "Shows a simple toolbar with just a close button and share button"
498
1525
  },
499
1526
  {
500
- "name": "NAVIGATION",
501
- "value": "\"navigation\"",
502
- "tags": [],
503
- "docs": ""
1527
+ "name": "COMPACT",
1528
+ "value": "'compact'",
1529
+ "tags": [
1530
+ {
1531
+ "text": "7.6.8",
1532
+ "name": "since"
1533
+ }
1534
+ ],
1535
+ "docs": "Shows a simple toolbar with just a close button"
504
1536
  },
505
1537
  {
506
- "name": "BLANK",
507
- "value": "\"blank\"",
508
- "tags": [],
509
- "docs": ""
1538
+ "name": "NAVIGATION",
1539
+ "value": "'navigation'",
1540
+ "tags": [
1541
+ {
1542
+ "text": "0.1.0",
1543
+ "name": "since"
1544
+ }
1545
+ ],
1546
+ "docs": "Shows a full navigation toolbar with back/forward buttons"
510
1547
  },
511
1548
  {
512
- "name": "DEFAULT",
513
- "value": "\"\"",
514
- "tags": [],
515
- "docs": ""
1549
+ "name": "BLANK",
1550
+ "value": "'blank'",
1551
+ "tags": [
1552
+ {
1553
+ "text": "0.1.0",
1554
+ "name": "since"
1555
+ }
1556
+ ],
1557
+ "docs": "Shows no toolbar"
516
1558
  }
517
1559
  ]
518
1560
  },
@@ -522,13 +1564,13 @@
522
1564
  "members": [
523
1565
  {
524
1566
  "name": "WHITE",
525
- "value": "\"white\"",
1567
+ "value": "'white'",
526
1568
  "tags": [],
527
1569
  "docs": ""
528
1570
  },
529
1571
  {
530
1572
  "name": "BLACK",
531
- "value": "\"black\"",
1573
+ "value": "'black'",
532
1574
  "tags": [],
533
1575
  "docs": ""
534
1576
  }
@@ -536,6 +1578,93 @@
536
1578
  }
537
1579
  ],
538
1580
  "typeAliases": [
1581
+ {
1582
+ "name": "ClearCookieOptions",
1583
+ "slug": "clearcookieoptions",
1584
+ "docs": "",
1585
+ "types": [
1586
+ {
1587
+ "text": "Omit<HttpCookie, 'key' | 'value'>",
1588
+ "complexTypes": [
1589
+ "Omit",
1590
+ "HttpCookie"
1591
+ ]
1592
+ }
1593
+ ]
1594
+ },
1595
+ {
1596
+ "name": "Omit",
1597
+ "slug": "omit",
1598
+ "docs": "Construct a type with the properties of T except for those in type K.",
1599
+ "types": [
1600
+ {
1601
+ "text": "Pick<T, Exclude<keyof T, K>>",
1602
+ "complexTypes": [
1603
+ "Pick",
1604
+ "T",
1605
+ "Exclude",
1606
+ "K"
1607
+ ]
1608
+ }
1609
+ ]
1610
+ },
1611
+ {
1612
+ "name": "Pick",
1613
+ "slug": "pick",
1614
+ "docs": "From T, pick a set of properties whose keys are in the union K",
1615
+ "types": [
1616
+ {
1617
+ "text": "{\r\n [P in K]: T[P];\r\n}",
1618
+ "complexTypes": [
1619
+ "K",
1620
+ "T",
1621
+ "P"
1622
+ ]
1623
+ }
1624
+ ]
1625
+ },
1626
+ {
1627
+ "name": "Exclude",
1628
+ "slug": "exclude",
1629
+ "docs": "Exclude from T those types that are assignable to U",
1630
+ "types": [
1631
+ {
1632
+ "text": "T extends U ? never : T",
1633
+ "complexTypes": [
1634
+ "T",
1635
+ "U"
1636
+ ]
1637
+ }
1638
+ ]
1639
+ },
1640
+ {
1641
+ "name": "Record",
1642
+ "slug": "record",
1643
+ "docs": "Construct a type with a set of properties K of type T",
1644
+ "types": [
1645
+ {
1646
+ "text": "{\r\n [P in K]: T;\r\n}",
1647
+ "complexTypes": [
1648
+ "K",
1649
+ "T"
1650
+ ]
1651
+ }
1652
+ ]
1653
+ },
1654
+ {
1655
+ "name": "GetCookieOptions",
1656
+ "slug": "getcookieoptions",
1657
+ "docs": "",
1658
+ "types": [
1659
+ {
1660
+ "text": "Omit<HttpCookie, 'key' | 'value'>",
1661
+ "complexTypes": [
1662
+ "Omit",
1663
+ "HttpCookie"
1664
+ ]
1665
+ }
1666
+ ]
1667
+ },
539
1668
  {
540
1669
  "name": "UrlChangeListener",
541
1670
  "slug": "urlchangelistener",
@@ -549,6 +1678,17 @@
549
1678
  }
550
1679
  ]
551
1680
  },
1681
+ {
1682
+ "name": "ButtonNearListener",
1683
+ "slug": "buttonnearlistener",
1684
+ "docs": "",
1685
+ "types": [
1686
+ {
1687
+ "text": "(state: object): void",
1688
+ "complexTypes": []
1689
+ }
1690
+ ]
1691
+ },
552
1692
  {
553
1693
  "name": "ConfirmBtnListener",
554
1694
  "slug": "confirmbtnlistener",