@capawesome/capacitor-in-app-browser 0.0.1

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 (60) hide show
  1. package/CapawesomeCapacitorInAppBrowser.podspec +17 -0
  2. package/LICENSE +21 -0
  3. package/Package.swift +28 -0
  4. package/README.md +690 -0
  5. package/android/build.gradle +60 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/InAppBrowser.java +242 -0
  8. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/InAppBrowserPlugin.java +289 -0
  9. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/CustomException.java +20 -0
  10. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/CustomExceptions.java +20 -0
  11. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/WebViewDialog.java +343 -0
  12. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/events/BrowserPageNavigationCompletedEvent.java +23 -0
  13. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/events/MessageReceivedEvent.java +23 -0
  14. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/ExecuteScriptOptions.java +29 -0
  15. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/GetCookiesOptions.java +29 -0
  16. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/OpenInExternalBrowserOptions.java +30 -0
  17. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/OpenInSystemBrowserOptions.java +74 -0
  18. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/OpenInWebViewOptions.java +112 -0
  19. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/PostMessageOptions.java +30 -0
  20. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/options/WebViewToolbarOptions.java +87 -0
  21. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/results/ExecuteScriptResult.java +25 -0
  22. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/classes/results/GetCookiesResult.java +28 -0
  23. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/interfaces/Callback.java +5 -0
  24. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/interfaces/EmptyCallback.java +5 -0
  25. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/interfaces/NonEmptyResultCallback.java +7 -0
  26. package/android/src/main/java/io/capawesome/capacitorjs/plugins/inappbrowser/interfaces/Result.java +7 -0
  27. package/android/src/main/res/.gitkeep +0 -0
  28. package/dist/docs.json +1173 -0
  29. package/dist/esm/definitions.d.ts +540 -0
  30. package/dist/esm/definitions.js +19 -0
  31. package/dist/esm/definitions.js.map +1 -0
  32. package/dist/esm/index.d.ts +4 -0
  33. package/dist/esm/index.js +7 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/esm/web.d.ts +14 -0
  36. package/dist/esm/web.js +35 -0
  37. package/dist/esm/web.js.map +1 -0
  38. package/dist/plugin.cjs.js +68 -0
  39. package/dist/plugin.cjs.js.map +1 -0
  40. package/dist/plugin.js +71 -0
  41. package/dist/plugin.js.map +1 -0
  42. package/ios/Plugin/Classes/Events/BrowserPageNavigationCompletedEvent.swift +16 -0
  43. package/ios/Plugin/Classes/Events/MessageReceivedEvent.swift +24 -0
  44. package/ios/Plugin/Classes/Options/ExecuteScriptOptions.swift +17 -0
  45. package/ios/Plugin/Classes/Options/GetCookiesOptions.swift +20 -0
  46. package/ios/Plugin/Classes/Options/OpenInExternalBrowserOptions.swift +20 -0
  47. package/ios/Plugin/Classes/Options/OpenInSystemBrowserOptions.swift +52 -0
  48. package/ios/Plugin/Classes/Options/OpenInWebViewOptions.swift +48 -0
  49. package/ios/Plugin/Classes/Options/PostMessageOptions.swift +17 -0
  50. package/ios/Plugin/Classes/Options/WebViewToolbarOptions.swift +37 -0
  51. package/ios/Plugin/Classes/Results/ExecuteScriptResult.swift +25 -0
  52. package/ios/Plugin/Classes/Results/GetCookiesResult.swift +20 -0
  53. package/ios/Plugin/Classes/WebViewController.swift +224 -0
  54. package/ios/Plugin/Enums/CustomError.swift +49 -0
  55. package/ios/Plugin/InAppBrowser.swift +194 -0
  56. package/ios/Plugin/InAppBrowserHelper.swift +49 -0
  57. package/ios/Plugin/InAppBrowserPlugin.swift +191 -0
  58. package/ios/Plugin/Info.plist +24 -0
  59. package/ios/Plugin/Protocols/Result.swift +5 -0
  60. package/package.json +91 -0
@@ -0,0 +1,87 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.classes.options;
2
+
3
+ import android.graphics.Color;
4
+ import androidx.annotation.NonNull;
5
+ import androidx.annotation.Nullable;
6
+ import com.getcapacitor.JSObject;
7
+ import io.capawesome.capacitorjs.plugins.inappbrowser.classes.CustomExceptions;
8
+
9
+ public class WebViewToolbarOptions {
10
+
11
+ @Nullable
12
+ private final Integer backgroundColor;
13
+
14
+ @NonNull
15
+ private final String closeButtonText;
16
+
17
+ @Nullable
18
+ private final Integer color;
19
+
20
+ private final boolean showNavigationButtons;
21
+ private final boolean showUrl;
22
+
23
+ @Nullable
24
+ private final String title;
25
+
26
+ private final boolean visible;
27
+
28
+ public WebViewToolbarOptions(@Nullable JSObject object) throws Exception {
29
+ this.backgroundColor = WebViewToolbarOptions.getColorFromObject(
30
+ object,
31
+ "backgroundColor",
32
+ CustomExceptions.BACKGROUND_COLOR_INVALID
33
+ );
34
+ this.closeButtonText = object == null ? "Close" : object.optString("closeButtonText", "Close");
35
+ this.color = WebViewToolbarOptions.getColorFromObject(object, "color", CustomExceptions.COLOR_INVALID);
36
+ this.showNavigationButtons = object != null && object.optBoolean("showNavigationButtons", false);
37
+ this.showUrl = object != null && object.optBoolean("showUrl", false);
38
+ this.title = object == null ? null : object.getString("title");
39
+ this.visible = object == null || object.optBoolean("visible", true);
40
+ }
41
+
42
+ @Nullable
43
+ public Integer getBackgroundColor() {
44
+ return backgroundColor;
45
+ }
46
+
47
+ @NonNull
48
+ public String getCloseButtonText() {
49
+ return closeButtonText;
50
+ }
51
+
52
+ @Nullable
53
+ public Integer getColor() {
54
+ return color;
55
+ }
56
+
57
+ public boolean getShowNavigationButtons() {
58
+ return showNavigationButtons;
59
+ }
60
+
61
+ public boolean getShowUrl() {
62
+ return showUrl;
63
+ }
64
+
65
+ @Nullable
66
+ public String getTitle() {
67
+ return title;
68
+ }
69
+
70
+ public boolean getVisible() {
71
+ return visible;
72
+ }
73
+
74
+ @Nullable
75
+ private static Integer getColorFromObject(@Nullable JSObject object, @NonNull String key, @NonNull Exception invalidException)
76
+ throws Exception {
77
+ String color = object == null ? null : object.getString(key);
78
+ if (color == null) {
79
+ return null;
80
+ }
81
+ try {
82
+ return Color.parseColor(color);
83
+ } catch (IllegalArgumentException exception) {
84
+ throw invalidException;
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,25 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+ import com.getcapacitor.JSObject;
6
+ import io.capawesome.capacitorjs.plugins.inappbrowser.interfaces.Result;
7
+ import org.json.JSONObject;
8
+
9
+ public class ExecuteScriptResult implements Result {
10
+
11
+ @Nullable
12
+ private final String result;
13
+
14
+ public ExecuteScriptResult(@Nullable String result) {
15
+ this.result = result;
16
+ }
17
+
18
+ @Override
19
+ @NonNull
20
+ public JSObject toJSObject() {
21
+ JSObject result = new JSObject();
22
+ result.put("result", this.result == null ? JSONObject.NULL : this.result);
23
+ return result;
24
+ }
25
+ }
@@ -0,0 +1,28 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.classes.results;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import com.getcapacitor.JSObject;
5
+ import io.capawesome.capacitorjs.plugins.inappbrowser.interfaces.Result;
6
+ import java.util.Map;
7
+
8
+ public class GetCookiesResult implements Result {
9
+
10
+ @NonNull
11
+ private final Map<String, String> cookies;
12
+
13
+ public GetCookiesResult(@NonNull Map<String, String> cookies) {
14
+ this.cookies = cookies;
15
+ }
16
+
17
+ @Override
18
+ @NonNull
19
+ public JSObject toJSObject() {
20
+ JSObject cookies = new JSObject();
21
+ for (Map.Entry<String, String> entry : this.cookies.entrySet()) {
22
+ cookies.put(entry.getKey(), entry.getValue());
23
+ }
24
+ JSObject result = new JSObject();
25
+ result.put("cookies", cookies);
26
+ return result;
27
+ }
28
+ }
@@ -0,0 +1,5 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.interfaces;
2
+
3
+ public interface Callback {
4
+ void error(Exception exception);
5
+ }
@@ -0,0 +1,5 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.interfaces;
2
+
3
+ public interface EmptyCallback extends Callback {
4
+ void success();
5
+ }
@@ -0,0 +1,7 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.interfaces;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ public interface NonEmptyResultCallback<T extends Result> extends Callback {
6
+ void success(@NonNull T result);
7
+ }
@@ -0,0 +1,7 @@
1
+ package io.capawesome.capacitorjs.plugins.inappbrowser.interfaces;
2
+
3
+ import com.getcapacitor.JSObject;
4
+
5
+ public interface Result {
6
+ JSObject toJSObject();
7
+ }
File without changes