@deuna/react-native-sdk 1.0.0 → 1.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 (61) hide show
  1. package/lib/module/DeunaSDK.js +37 -14
  2. package/lib/module/DeunaSDK.js.map +1 -1
  3. package/lib/module/components/DeunaWebView.js +2 -1
  4. package/lib/module/components/DeunaWebView.js.map +1 -1
  5. package/lib/module/components/DeunaWidget.js +7 -2
  6. package/lib/module/components/DeunaWidget.js.map +1 -1
  7. package/lib/module/components/DeviceFingerprintWebView.js +44 -0
  8. package/lib/module/components/DeviceFingerprintWebView.js.map +1 -0
  9. package/lib/module/components/NewTabWebView.js +2 -1
  10. package/lib/module/components/NewTabWebView.js.map +1 -1
  11. package/lib/module/controllers/BaseWebViewController.js +59 -17
  12. package/lib/module/controllers/BaseWebViewController.js.map +1 -1
  13. package/lib/module/controllers/DeviceFingerprintController.js +69 -0
  14. package/lib/module/controllers/DeviceFingerprintController.js.map +1 -0
  15. package/lib/module/controllers/OpenInNewTabController.js +24 -8
  16. package/lib/module/controllers/OpenInNewTabController.js.map +1 -1
  17. package/lib/module/interfaces/constants.js +1 -0
  18. package/lib/module/interfaces/constants.js.map +1 -1
  19. package/lib/module/types/helpers/buildElementsLink.js +63 -48
  20. package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
  21. package/lib/module/types/helpers/buildNextActionLink.js +7 -3
  22. package/lib/module/types/helpers/buildNextActionLink.js.map +1 -1
  23. package/lib/module/types/helpers/buildPaymentLink.js +1 -3
  24. package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
  25. package/lib/module/types/helpers/buildVoucherLink.js +1 -3
  26. package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
  27. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +9 -1
  28. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
  29. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.d.ts +1 -0
  30. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.d.ts.map +1 -1
  31. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
  32. package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts +7 -0
  33. package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts.map +1 -0
  34. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +1 -1
  35. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +26 -4
  36. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
  37. package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts +15 -0
  38. package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts.map +1 -0
  39. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts +2 -2
  40. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +1 -1
  41. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +1 -0
  42. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
  43. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +5 -0
  44. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
  45. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildNextActionLink.d.ts.map +1 -1
  46. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
  47. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/DeunaSDK.ts +42 -14
  50. package/src/components/DeunaWebView.tsx +2 -0
  51. package/src/components/DeunaWidget.tsx +9 -0
  52. package/src/components/DeviceFingerprintWebView.tsx +58 -0
  53. package/src/components/NewTabWebView.tsx +3 -0
  54. package/src/controllers/BaseWebViewController.ts +76 -19
  55. package/src/controllers/DeviceFingerprintController.ts +86 -0
  56. package/src/controllers/OpenInNewTabController.ts +30 -13
  57. package/src/interfaces/constants.ts +3 -0
  58. package/src/types/helpers/buildElementsLink.ts +89 -56
  59. package/src/types/helpers/buildNextActionLink.ts +8 -4
  60. package/src/types/helpers/buildPaymentLink.ts +1 -4
  61. package/src/types/helpers/buildVoucherLink.ts +1 -4
@@ -6,8 +6,10 @@ import { OpenInNewTabController } from "./controllers/OpenInNewTabController.js"
6
6
  import { getWidgetController } from "./helpers/getController.js";
7
7
  import { Completer } from "./helpers/Completer.js";
8
8
  import { ElementsWidgetController } from "./controllers/ElementsWidgetController.js";
9
- import { Mode } from "./interfaces/types.js";
9
+ import { DownloadType, Mode } from "./interfaces/types.js";
10
10
  import { Platform } from 'react-native';
11
+ import { DeviceFingerprintController } from "./controllers/DeviceFingerprintController.js";
12
+ import { DEVICE_FINGERPRINT_URL } from "./interfaces/constants.js";
11
13
  export class DeunaSDK extends BaseDeuna {
12
14
  constructor(config) {
13
15
  super();
@@ -17,6 +19,7 @@ export class DeunaSDK extends BaseDeuna {
17
19
  listeners = new Set();
18
20
  webViewController = null;
19
21
  newTabWebViewController = null;
22
+ deviceFingerprintController = null;
20
23
  modalDismissPromise = null;
21
24
  newTabModalDismissPromise = null;
22
25
  get safeWebViewController() {
@@ -27,9 +30,22 @@ export class DeunaSDK extends BaseDeuna {
27
30
  }
28
31
  return this.webViewController;
29
32
  }
30
- getSessionId() {
31
- throw new Error('Method not implemented.');
32
- }
33
+
34
+ /**
35
+ * Generates a device fingerprint, creates a invisible webview to get the device fingerprint
36
+ * and returns the device fingerprint
37
+ * @returns The device fingerprint
38
+ */
39
+ getSessionId = async params => {
40
+ this.deviceFingerprintController = new DeviceFingerprintController(this.config.publicApiKey, this.config.environment ?? 'production');
41
+ this.deviceFingerprintController.url = DEVICE_FINGERPRINT_URL;
42
+ this.notifyListeners();
43
+ const deviceFingerprint = await this.deviceFingerprintController.generateDeviceFingerprint(params ?? {});
44
+ this.deviceFingerprintController?.dispose();
45
+ this.deviceFingerprintController = null;
46
+ this.notifyListeners();
47
+ return deviceFingerprint ?? '';
48
+ };
33
49
  static initialize(config) {
34
50
  return new DeunaSDK(config);
35
51
  }
@@ -167,6 +183,14 @@ export class DeunaSDK extends BaseDeuna {
167
183
  notifyListeners = () => {
168
184
  this.listeners.forEach(listener => listener());
169
185
  };
186
+ notifyDownloadFile = url => {
187
+ if (this.safeWebViewController instanceof PaymentWidgetController) {
188
+ this.safeWebViewController.callbacks.onDownloadFile?.({
189
+ type: DownloadType.URL,
190
+ data: url
191
+ });
192
+ }
193
+ };
170
194
  onCloseNewTab = () => {
171
195
  if (this.webViewController) {
172
196
  this.webViewController.redirectUrl = null;
@@ -189,18 +213,17 @@ export class DeunaSDK extends BaseDeuna {
189
213
  if (Platform.OS === 'ios') {
190
214
  this.newTabModalDismissPromise = new Completer();
191
215
  }
216
+ this.newTabWebViewController.delegate = {
217
+ onFileDownload: this.notifyDownloadFile,
218
+ onNewTabWindowClose: this.onCloseNewTab
219
+ };
192
220
  this.notifyListeners();
193
221
  },
194
- onCloseButtonPressed: () => {
195
- // Close the payment widget when the user
196
- // presses the close button
197
- this.close();
198
- },
199
- onCloseSubWebView: () => {
200
- // Close the new tab web view when the DEUNA widget
201
- // emits an error event or when the purchase is successful
202
- this.onCloseNewTab();
203
- }
222
+ onCloseButtonPressed: this.close,
223
+ // Close the payment widget when the user presses the close button
224
+ onCloseSubWebView: this.onCloseNewTab,
225
+ // Close the new tab web view when the DEUNA widget emits an error event or when the purchase is successful
226
+ onFileDownload: this.notifyDownloadFile // Notify the user when a request to download a file is made
204
227
  };
205
228
  };
206
229
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","Mode","Platform","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","initialize","setWidgetController","params","controller","MODAL","OS","delegate","buildDelegate","notifyListeners","initPaymentWidget","props","widget","initElements","initNextAction","initVoucherWidget","isValid","submit","setCustomStyle","style","refetchOrder","getWidgetState","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","dispose","onModalDismissed","complete","onNewTabDismissed","addListener","listener","add","removeListener","delete","forEach","redirectUrl","onOpenInNewTab","url","onCloseButtonPressed","onCloseSubWebView"],"sourceRoot":"../../src","sources":["DeunaSDK.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeviceFingerprintController","DEVICE_FINGERPRINT_URL","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","deviceFingerprintController","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","params","publicApiKey","environment","url","notifyListeners","deviceFingerprint","generateDeviceFingerprint","dispose","initialize","setWidgetController","controller","MODAL","OS","delegate","buildDelegate","initPaymentWidget","props","widget","initElements","initNextAction","initVoucherWidget","isValid","submit","setCustomStyle","style","refetchOrder","getWidgetState","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","onModalDismissed","complete","onNewTabDismissed","addListener","listener","add","removeListener","delete","forEach","notifyDownloadFile","onDownloadFile","type","URL","data","redirectUrl","onOpenInNewTab","onFileDownload","onNewTabWindowClose","onCloseButtonPressed","onCloseSubWebView"],"sourceRoot":"../../src","sources":["DeunaSDK.ts"],"mappings":"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","ignoreList":[]}
@@ -25,7 +25,8 @@ export const DeunaWebView = props => {
25
25
  javaScriptEnabled: true,
26
26
  onError: props.onError,
27
27
  setSupportMultipleWindows: false,
28
- javaScriptCanOpenWindowsAutomatically: false
28
+ javaScriptCanOpenWindowsAutomatically: false,
29
+ onShouldStartLoadWithRequest: props.onShouldStartLoadWithRequest
29
30
  })
30
31
  });
31
32
  };
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","View","WebView","WebViewLoader","jsx","_jsx","DeunaWebView","props","style","styles","container","children","ref","webView","onWebView","source","uri","url","onMessage","onLoad","startInLoadingState","renderLoading","javaScriptEnabled","onError","setSupportMultipleWindows","javaScriptCanOpenWindowsAutomatically","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWebView.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUhD,OAAO,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACxD,oBACEF,IAAA,CAACJ,IAAI;IAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BN,IAAA,CAACH,OAAO;MACNU,GAAG,EAAGC,OAAO,IAAK;QAChB,IAAIA,OAAO,IAAIN,KAAK,CAACO,SAAS,EAAE;UAC9BP,KAAK,CAACO,SAAS,CAACD,OAAO,CAAC;QAC1B;MACF,CAAE;MACFE,MAAM,EAAE;QAAEC,GAAG,EAAET,KAAK,CAACU;MAAI,CAAE;MAC3BC,SAAS,EAAEX,KAAK,CAACW,SAAU;MAC3BC,MAAM,EAAEA,CAAA,KAAM;QACZZ,KAAK,CAACY,MAAM,GAAG,CAAC;MAClB,CAAE;MACFC,mBAAmB;MACnBC,aAAa,EAAEA,CAAA,kBAAMhB,IAAA,CAACF,aAAa,IAAE,CAAE;MACvCmB,iBAAiB,EAAE,IAAK;MACxBC,OAAO,EAAEhB,KAAK,CAACgB,OAAQ;MACvBC,yBAAyB,EAAE,KAAM;MACjCC,qCAAqC,EAAE;IAAM,CAC9C;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMhB,MAAM,GAAGT,UAAU,CAAC0B,MAAM,CAAC;EAAEhB,SAAS,EAAE;IAAEiB,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","View","WebView","WebViewLoader","jsx","_jsx","DeunaWebView","props","style","styles","container","children","ref","webView","onWebView","source","uri","url","onMessage","onLoad","startInLoadingState","renderLoading","javaScriptEnabled","onError","setSupportMultipleWindows","javaScriptCanOpenWindowsAutomatically","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWebView.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWhD,OAAO,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACxD,oBACEF,IAAA,CAACJ,IAAI;IAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BN,IAAA,CAACH,OAAO;MACNU,GAAG,EAAGC,OAAO,IAAK;QAChB,IAAIA,OAAO,IAAIN,KAAK,CAACO,SAAS,EAAE;UAC9BP,KAAK,CAACO,SAAS,CAACD,OAAO,CAAC;QAC1B;MACF,CAAE;MACFE,MAAM,EAAE;QAAEC,GAAG,EAAET,KAAK,CAACU;MAAI,CAAE;MAC3BC,SAAS,EAAEX,KAAK,CAACW,SAAU;MAC3BC,MAAM,EAAEA,CAAA,KAAM;QACZZ,KAAK,CAACY,MAAM,GAAG,CAAC;MAClB,CAAE;MACFC,mBAAmB;MACnBC,aAAa,EAAEA,CAAA,kBAAMhB,IAAA,CAACF,aAAa,IAAE,CAAE;MACvCmB,iBAAiB,EAAE,IAAK;MACxBC,OAAO,EAAEhB,KAAK,CAACgB,OAAQ;MACvBC,yBAAyB,EAAE,KAAM;MACjCC,qCAAqC,EAAE,KAAM;MAC7CC,4BAA4B,EAAEnB,KAAK,CAACmB;IAA6B,CAClE;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMjB,MAAM,GAAGT,UAAU,CAAC2B,MAAM,CAAC;EAAEjB,SAAS,EAAE;IAAEkB,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ import { useEffect, useRef, useState } from 'react';
5
5
  import { DeunaWebView } from "./DeunaWebView.js";
6
6
  import { NewTabWebView } from "./NewTabWebView.js";
7
7
  import { Mode } from "../interfaces/types.js";
8
+ import { DeviceFingerprintWebView } from "./DeviceFingerprintWebView.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
10
  export const DeunaWidget = props => {
10
11
  const {
@@ -57,7 +58,8 @@ export const DeunaWidget = props => {
57
58
  onWebView: instanceRef.current.webViewController?.setWebView,
58
59
  onMessage: instanceRef.current.webViewController?.onMessage,
59
60
  onLoad: instanceRef.current.webViewController?.onLoad,
60
- onError: instanceRef.current.webViewController?.onError
61
+ onError: instanceRef.current.webViewController?.onError,
62
+ onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
61
63
  }), /*#__PURE__*/_jsx(NewTabWebView, {
62
64
  instance: instanceRef.current
63
65
  })]
@@ -70,7 +72,10 @@ export const DeunaWidget = props => {
70
72
  onWebView: instanceRef.current.webViewController?.setWebView,
71
73
  onMessage: instanceRef.current.webViewController?.onMessage,
72
74
  onLoad: instanceRef.current.webViewController?.onLoad,
73
- onError: instanceRef.current.webViewController?.onError
75
+ onError: instanceRef.current.webViewController?.onError,
76
+ onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
77
+ }), /*#__PURE__*/_jsx(DeviceFingerprintWebView, {
78
+ instance: instanceRef.current
74
79
  })]
75
80
  });
76
81
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DeunaWidget","props","instance","instanceRef","mode","setMode","current","listener","addListener","removeListener","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","children","presentationStyle","animationType","onRequestClose","onDismiss","onModalDismissed","visible","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWidget.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","DeviceFingerprintWebView","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DeunaWidget","props","instance","instanceRef","mode","setMode","current","listener","addListener","removeListener","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","children","presentationStyle","animationType","onRequestClose","onDismiss","onModalDismissed","visible","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWidget.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { DeunaWebView } from "./DeunaWebView.js";
5
+ import { View } from 'react-native';
6
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
+ export const DeviceFingerprintWebView = props => {
8
+ const {
9
+ instance
10
+ } = props;
11
+ const instanceRef = useRef(instance);
12
+ const [visible, setVisible] = useState(false);
13
+ useEffect(() => {
14
+ instanceRef.current = instance;
15
+ }, [instance]);
16
+
17
+ // Listen when the DeunaSDK instance configuration
18
+ // has changed
19
+ useEffect(() => {
20
+ const ref = instanceRef.current;
21
+ const listener = () => {
22
+ const isVisible = !!ref.deviceFingerprintController;
23
+ setVisible(isVisible);
24
+ };
25
+ instanceRef.current.addListener(listener);
26
+ return () => {
27
+ ref.removeListener(listener);
28
+ };
29
+ }, []);
30
+ const deviceFingerprintController = instanceRef.current.deviceFingerprintController;
31
+ return /*#__PURE__*/_jsx(_Fragment, {
32
+ children: visible && /*#__PURE__*/_jsx(View, {
33
+ children: /*#__PURE__*/_jsx(DeunaWebView, {
34
+ url: deviceFingerprintController?.url ?? '',
35
+ onWebView: deviceFingerprintController?.setWebView,
36
+ onMessage: deviceFingerprintController?.onMessage,
37
+ onLoad: deviceFingerprintController?.onLoad,
38
+ onError: deviceFingerprintController?.onError,
39
+ onShouldStartLoadWithRequest: deviceFingerprintController?.onShouldStartLoadWithRequest
40
+ })
41
+ })
42
+ });
43
+ };
44
+ //# sourceMappingURL=DeviceFingerprintWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useState","DeunaWebView","View","jsx","_jsx","Fragment","_Fragment","DeviceFingerprintWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","deviceFingerprintController","addListener","removeListener","children","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest"],"sourceRoot":"../../../src","sources":["components/DeviceFingerprintWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAMpC,OAAO,MAAMC,wBAAwB,GACnCC,KAAoC,IACjC;EACH,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,2BAA2B;MACnDL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,2BAA2B,GAC/BP,WAAW,CAACG,OAAO,CAACI,2BAA2B;EAEjD,oBACEb,IAAA,CAAAE,SAAA;IAAAc,QAAA,EACGT,OAAO,iBACNP,IAAA,CAACF,IAAI;MAAAkB,QAAA,eACHhB,IAAA,CAACH,YAAY;QACXoB,GAAG,EAAEJ,2BAA2B,EAAEI,GAAG,IAAI,EAAG;QAC5CC,SAAS,EAAEL,2BAA2B,EAAEM,UAAW;QACnDC,SAAS,EAAEP,2BAA2B,EAAEO,SAAU;QAClDC,MAAM,EAAER,2BAA2B,EAAEQ,MAAO;QAC5CC,OAAO,EAAET,2BAA2B,EAAES,OAAQ;QAC9CC,4BAA4B,EAC1BV,2BAA2B,EAAEU;MAC9B,CACF;IAAC,CACE;EACP,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
@@ -42,7 +42,8 @@ export const NewTabWebView = props => {
42
42
  onWebView: newTabController?.setWebView,
43
43
  onMessage: newTabController?.onMessage,
44
44
  onLoad: newTabController?.onLoad,
45
- onError: newTabController?.onError
45
+ onError: newTabController?.onError,
46
+ onShouldStartLoadWithRequest: newTabController?.onShouldStartLoadWithRequest
46
47
  })
47
48
  })
48
49
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","Modal","SafeAreaView","StyleSheet","DeunaWebView","jsx","_jsx","NewTabWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","newTabWebViewController","addListener","removeListener","dispose","newTabController","presentationStyle","animationType","onRequestClose","onCloseNewTab","onDismiss","onNewTabDismissed","children","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","create","flex"],"sourceRoot":"../../../src","sources":["components/NewTabWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,KAAK,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC9D,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM9C,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,uBAAuB;MAC/CL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;MAC5BD,GAAG,CAACG,uBAAuB,EAAEG,OAAO,CAAC,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGX,WAAW,CAACG,OAAO,CAACI,uBAAuB;EAEpE,oBACEX,IAAA,CAACL,KAAK;IACJqB,iBAAiB,EAAC,WAAW;IAC7BX,OAAO,EAAEA,OAAQ;IACjBY,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAEd,WAAW,CAACG,OAAO,CAACY,aAAc;IAClDC,SAAS,EAAEhB,WAAW,CAACG,OAAO,CAACc,iBAAkB;IAAAC,QAAA,EAEhDjB,OAAO,iBACNL,IAAA,CAACJ,YAAY;MAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,eACpCtB,IAAA,CAACF,YAAY;QACX4B,GAAG,EAAEX,gBAAgB,EAAEW,GAAG,IAAI,EAAG;QACjCC,SAAS,EAAEZ,gBAAgB,EAAEa,UAAW;QACxCC,SAAS,EAAEd,gBAAgB,EAAEc,SAAU;QACvCC,MAAM,EAAEf,gBAAgB,EAAEe,MAAO;QACjCC,OAAO,EAAEhB,gBAAgB,EAAEgB;MAAQ,CACpC;IAAC,CACU;EACf,CACI,CAAC;AAEZ,CAAC;AAED,MAAMP,MAAM,GAAG3B,UAAU,CAACmC,MAAM,CAAC;EAAEP,SAAS,EAAE;IAAEQ,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","Modal","SafeAreaView","StyleSheet","DeunaWebView","jsx","_jsx","NewTabWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","newTabWebViewController","addListener","removeListener","dispose","newTabController","presentationStyle","animationType","onRequestClose","onCloseNewTab","onDismiss","onNewTabDismissed","children","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/NewTabWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,KAAK,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC9D,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM9C,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,uBAAuB;MAC/CL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;MAC5BD,GAAG,CAACG,uBAAuB,EAAEG,OAAO,CAAC,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGX,WAAW,CAACG,OAAO,CAACI,uBAAuB;EAEpE,oBACEX,IAAA,CAACL,KAAK;IACJqB,iBAAiB,EAAC,WAAW;IAC7BX,OAAO,EAAEA,OAAQ;IACjBY,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAEd,WAAW,CAACG,OAAO,CAACY,aAAc;IAClDC,SAAS,EAAEhB,WAAW,CAACG,OAAO,CAACc,iBAAkB;IAAAC,QAAA,EAEhDjB,OAAO,iBACNL,IAAA,CAACJ,YAAY;MAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,eACpCtB,IAAA,CAACF,YAAY;QACX4B,GAAG,EAAEX,gBAAgB,EAAEW,GAAG,IAAI,EAAG;QACjCC,SAAS,EAAEZ,gBAAgB,EAAEa,UAAW;QACxCC,SAAS,EAAEd,gBAAgB,EAAEc,SAAU;QACvCC,MAAM,EAAEf,gBAAgB,EAAEe,MAAO;QACjCC,OAAO,EAAEhB,gBAAgB,EAAEgB,OAAQ;QACnCC,4BAA4B,EAC1BjB,gBAAgB,EAAEiB;MACnB,CACF;IAAC,CACU;EACf,CACI,CAAC;AAEZ,CAAC;AAED,MAAMR,MAAM,GAAG3B,UAAU,CAACoC,MAAM,CAAC;EAAER,SAAS,EAAE;IAAES,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
@@ -2,18 +2,28 @@
2
2
 
3
3
  import { DeunaLogs } from "../DeunaLogs.js";
4
4
  import { submitError } from "../interfaces/index.js";
5
+ import { Platform } from 'react-native';
5
6
  export let WebViewEventType = /*#__PURE__*/function (WebViewEventType) {
6
7
  WebViewEventType["consoleLog"] = "consoleLog";
7
8
  WebViewEventType["eventDispatch"] = "eventDispatch";
8
9
  WebViewEventType["jsExecutor"] = "jsExecutor";
9
10
  WebViewEventType["openInNewTab"] = "openInNewTab";
10
11
  WebViewEventType["redirect"] = "redirect";
12
+ WebViewEventType["newTabWindowClose"] = "newTabWindowClose";
11
13
  return WebViewEventType;
12
14
  }({});
15
+ const DOWNLOAD_FILE_REGEX = /\.(pdf|doc|docx|xls|xlsx|zip|rar|txt|mp3|mp4|jpg|jpeg|png|gif)$/i;
13
16
  export class BaseWebViewController {
17
+ initialized = false;
18
+ redirectUrl = null;
14
19
  webView = null;
15
20
  url = null;
16
21
  delegate = null;
22
+ jsExecutor = new JsExecutor();
23
+ setWebView = webView => {
24
+ this.webView = webView;
25
+ this.jsExecutor.webView = webView;
26
+ };
17
27
 
18
28
  /**
19
29
  * Called when the web view url is loaded successfully
@@ -23,6 +33,43 @@ export class BaseWebViewController {
23
33
  * Called when the web view fails to load a URL
24
34
  */
25
35
 
36
+ /**
37
+ * Called when the web view should load a URL in the same web view
38
+ */
39
+
40
+ /**
41
+ * Checks if the URL is a download URL
42
+ * @param url - The URL to check
43
+ * @returns True if the URL is a download URL, false otherwise
44
+ */
45
+ isDownloadUrl = url => {
46
+ return DOWNLOAD_FILE_REGEX.test(url);
47
+ };
48
+
49
+ /**
50
+ * Determines if a URL should be loaded in the current WebView or opened in a new tab
51
+ * @param request The navigation request details
52
+ * @returns boolean indicating if the URL should be loaded in current WebView
53
+ */
54
+ onShouldStartLoadWithRequest = request => {
55
+ // Prevent loading if it's the redirect URL
56
+ if (this.redirectUrl === request.url) {
57
+ return false;
58
+ }
59
+ const isNewNavigation = request.isTopFrame && request.url !== this.url;
60
+ const isClickNavigation = request.navigationType === 'click';
61
+ const shouldHandleInNewTab = !this.urlMustBeLoadedInTheSameWebView(request.url);
62
+
63
+ // For iOS, check both click navigation and new navigation
64
+ // For Android, only check new navigation
65
+ const shouldOpenInNewTab = Platform.OS === 'ios' ? (isClickNavigation || isNewNavigation) && shouldHandleInNewTab : isNewNavigation && shouldHandleInNewTab;
66
+ if (shouldOpenInNewTab) {
67
+ this.delegate?.onOpenInNewTab?.(request.url);
68
+ return false;
69
+ }
70
+ return true;
71
+ };
72
+
26
73
  /**
27
74
  * Release the web view resources
28
75
  */
@@ -35,14 +82,17 @@ export class DeunaWebViewController extends BaseWebViewController {
35
82
  hidePayButton = false;
36
83
  redirectUrl = null;
37
84
  closedAction = 'systemAction';
38
- jsExecutor = new JsExecutor();
39
- setWebView = webView => {
40
- this.webView = webView;
41
- this.jsExecutor.webView = webView;
42
- };
43
85
  onLoad = () => {
44
86
  this.setXprops();
45
87
  };
88
+ urlMustBeLoadedInTheSameWebView = url => {
89
+ if (this.isDownloadUrl(url)) {
90
+ this.delegate?.onFileDownload?.(url);
91
+ } else {
92
+ this.redirectUrl = url;
93
+ }
94
+ return false;
95
+ };
46
96
  onMessage = event => {
47
97
  const eventData = JSON.parse(event.nativeEvent.data);
48
98
  const mapper = {
@@ -69,25 +119,18 @@ export class DeunaWebViewController extends BaseWebViewController {
69
119
  }
70
120
  this.redirectUrl = eventData.url;
71
121
  this.delegate?.onOpenInNewTab?.(eventData.url);
122
+ },
123
+ [WebViewEventType.newTabWindowClose]: () => {
124
+ this.delegate?.onNewTabWindowClose?.();
72
125
  }
73
126
  };
74
127
  mapper[eventData.type]?.();
75
128
  };
76
129
  setXprops = () => {
77
130
  this.webView?.injectJavaScript(`
78
- document.addEventListener('click', function(event) {
79
- if (event.target.tagName === 'A' && event.target.href) {
80
- window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.redirect}', url: event.target.href }));
81
- event.preventDefault(); // Prevent default navigation
82
- event.stopPropagation();
83
- }
84
- });
85
131
  console.log = function(message) {
86
132
  window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
87
133
  };
88
- window.open = function(url, target, features) {
89
- window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
90
- };
91
134
  window.xprops = {
92
135
  hidePayButton: ${this.hidePayButton},
93
136
  onEventDispatch: function (event) {
@@ -132,8 +175,7 @@ export class DeunaWebViewController extends BaseWebViewController {
132
175
  * @returns The order data | returns null if the order is not found or an error occurs
133
176
  */
134
177
  refetchOrder = async () => {
135
- const result = await this.jsExecutor.execute(`
136
- if(typeof window.deunaRefetchOrder !== 'function'){
178
+ const result = await this.jsExecutor.execute(` if(typeof window.deunaRefetchOrder !== 'function'){
137
179
  sendResult({order: null});
138
180
  return;
139
181
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DeunaLogs","submitError","WebViewEventType","BaseWebViewController","webView","url","delegate","dispose","stopLoading","DeunaWebViewController","hidePayButton","redirectUrl","closedAction","jsExecutor","JsExecutor","setWebView","onLoad","setXprops","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","eventDispatch","onEventDispatch","requestId","requests","get","delete","openInNewTab","onOpenInNewTab","redirect","type","injectJavaScript","getWidgetState","result","execute","deunaWidgetState","refetchOrder","order","setCustomStyle","style","isValid","submit","status","code","takeScreenshot","imgData","Map","jsCode","Promise","resolve","set"],"sourceRoot":"../../../src","sources":["controllers/BaseWebViewController.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","initialized","redirectUrl","webView","url","delegate","jsExecutor","JsExecutor","setWebView","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isNewNavigation","isTopFrame","isClickNavigation","navigationType","shouldHandleInNewTab","urlMustBeLoadedInTheSameWebView","shouldOpenInNewTab","OS","onOpenInNewTab","dispose","stopLoading","DeunaWebViewController","hidePayButton","closedAction","onLoad","setXprops","onFileDownload","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","eventDispatch","onEventDispatch","requestId","requests","get","delete","openInNewTab","redirect","newTabWindowClose","onNewTabWindowClose","type","injectJavaScript","getWidgetState","result","execute","deunaWidgetState","refetchOrder","order","setCustomStyle","style","isValid","submit","status","code","takeScreenshot","imgData","Map","jsCode","Promise","resolve","set"],"sourceRoot":"../../../src","sources":["controllers/BaseWebViewController.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ import { BaseWebViewController, WebViewEventType } from "./BaseWebViewController.js";
4
+ import { Completer } from "../helpers/Completer.js";
5
+ import { DeunaLogs } from "../DeunaLogs.js";
6
+ export class DeviceFingerprintController extends BaseWebViewController {
7
+ constructor(publicApiKey, environment) {
8
+ super();
9
+ this.publicApiKey = publicApiKey;
10
+ this.environment = environment;
11
+ }
12
+ completer = new Completer();
13
+ onMessage = event => {
14
+ const eventData = JSON.parse(event.nativeEvent.data);
15
+ const mapper = {
16
+ [WebViewEventType.consoleLog]: () => {
17
+ DeunaLogs.info(`CONSOLE LOG`, JSON.stringify(eventData.message, null, 2));
18
+ },
19
+ [WebViewEventType.jsExecutor]: () => {
20
+ const {
21
+ data,
22
+ requestId
23
+ } = eventData;
24
+ this.jsExecutor.requests.get(requestId)?.(data);
25
+ this.jsExecutor.requests.delete(requestId);
26
+ }
27
+ };
28
+ mapper[eventData.type]?.();
29
+ };
30
+ onLoad = () => {
31
+ this.webView?.injectJavaScript(`
32
+ console.log = function(message) {
33
+ window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message:message }));
34
+ };
35
+ `);
36
+ this.completer.complete(true);
37
+ };
38
+ onError = _ => {
39
+ this.completer.complete(false);
40
+ };
41
+ urlMustBeLoadedInTheSameWebView = _ => true;
42
+ generateDeviceFingerprint = async params => {
43
+ const isLoaded = await this.completer.wait;
44
+ if (!isLoaded) {
45
+ return null;
46
+ }
47
+ const data = await this.jsExecutor.execute(`
48
+ if (typeof window.generateFraudId !== 'function') {
49
+ console.log('❌ window.generateFraudId is not a function');
50
+ sendResult({fraudId: null});
51
+ return;
52
+ }
53
+
54
+ window.generateFraudId({
55
+ publicApiKey: "${this.publicApiKey}",
56
+ env: "${this.environment}",
57
+ params: ${JSON.stringify(params)}
58
+ })
59
+ .then((fraudId) => {
60
+ sendResult({ fraudId: fraudId });
61
+ })
62
+ .catch((error) => {
63
+ sendResult({ fraudId: null });
64
+ });
65
+ `);
66
+ return data?.fraudId ?? null;
67
+ };
68
+ }
69
+ //# sourceMappingURL=DeviceFingerprintController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseWebViewController","WebViewEventType","Completer","DeunaLogs","DeviceFingerprintController","constructor","publicApiKey","environment","completer","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","jsExecutor","requestId","requests","get","delete","type","onLoad","webView","injectJavaScript","complete","onError","_","urlMustBeLoadedInTheSameWebView","generateDeviceFingerprint","params","isLoaded","wait","execute","fraudId"],"sourceRoot":"../../../src","sources":["controllers/DeviceFingerprintController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,yBAAsB;AAEhD,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,2BAA2B,SAASJ,qBAAqB,CAAC;EACrEK,WAAWA,CACQC,YAAoB,EACpBC,WAAwB,EACzC;IACA,KAAK,CAAC,CAAC;IAAC,KAHSD,YAAoB,GAApBA,YAAoB;IAAA,KACpBC,WAAwB,GAAxBA,WAAwB;EAG3C;EAEQC,SAAS,GAAG,IAAIN,SAAS,CAAU,CAAC;EAE5CO,SAAS,GAAIC,KAA0B,IAAK;IAC1C,MAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,CAACI,WAAW,CAACC,IAAI,CAAC;IAEpD,MAAMC,MAAM,GAAG;MACb,CAACf,gBAAgB,CAACgB,UAAU,GAAG,MAAM;QACnCd,SAAS,CAACe,IAAI,CACZ,aAAa,EACbN,IAAI,CAACO,SAAS,CAACR,SAAS,CAACS,OAAO,EAAE,IAAI,EAAE,CAAC,CAC3C,CAAC;MACH,CAAC;MACD,CAACnB,gBAAgB,CAACoB,UAAU,GAAG,MAAM;QACnC,MAAM;UAAEN,IAAI;UAAEO;QAAU,CAAC,GAAGX,SAG3B;QACD,IAAI,CAACU,UAAU,CAACE,QAAQ,CAACC,GAAG,CAACF,SAAS,CAAC,GAAGP,IAAI,CAAC;QAC/C,IAAI,CAACM,UAAU,CAACE,QAAQ,CAACE,MAAM,CAACH,SAAS,CAAC;MAC5C;IACF,CAAC;IACDN,MAAM,CAACL,SAAS,CAACe,IAAI,CAAwB,GAAG,CAAC;EACnD,CAAC;EAEDC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,0EAA0E5B,gBAAgB,CAACgB,UAAU;AACrG;AACA,KAAK,CAAC;IACF,IAAI,CAACT,SAAS,CAACsB,QAAQ,CAAC,IAAI,CAAC;EAC/B,CAAC;EAEDC,OAAO,GAAIC,CAAM,IAAK;IACpB,IAAI,CAACxB,SAAS,CAACsB,QAAQ,CAAC,KAAK,CAAC;EAChC,CAAC;EAEDG,+BAA+B,GAAID,CAAS,IAAK,IAAI;EAErDE,yBAAyB,GAAG,MAC1BC,MAA2B,IACA;IAC3B,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAAC5B,SAAS,CAAC6B,IAAI;IAC1C,IAAI,CAACD,QAAQ,EAAE;MACb,OAAO,IAAI;IACb;IAEA,MAAMrB,IAAI,GAAG,MAAM,IAAI,CAACM,UAAU,CAACiB,OAAO,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,IAAI,CAAChC,YAAY;AAC5C,kBAAkB,IAAI,CAACC,WAAW;AAClC,oBAAoBK,IAAI,CAACO,SAAS,CAACgB,MAAM,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;IACJ,OAAOpB,IAAI,EAAEwB,OAAO,IAAI,IAAI;EAC9B,CAAC;AACH","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { BaseWebViewController } from "./BaseWebViewController.js";
3
+ import { BaseWebViewController, WebViewEventType } from "./BaseWebViewController.js";
4
4
  import { DeunaLogs } from "../DeunaLogs.js";
5
5
  export class OpenInNewTabController extends BaseWebViewController {
6
6
  constructor(url) {
@@ -8,15 +8,19 @@ export class OpenInNewTabController extends BaseWebViewController {
8
8
  this.url = url;
9
9
  this.url = url;
10
10
  }
11
- setWebView = webView => {
12
- this.webView = webView;
13
- };
14
11
  onLoad = () => {
15
12
  this.setXprops();
16
13
  };
17
14
  onError = event => {
18
15
  console.warn(event);
19
16
  };
17
+ urlMustBeLoadedInTheSameWebView = url => {
18
+ if (this.isDownloadUrl(url)) {
19
+ this.delegate?.onFileDownload?.(url);
20
+ return false;
21
+ }
22
+ return true;
23
+ };
20
24
  onMessage = event => {
21
25
  const eventData = JSON.parse(event.nativeEvent.data);
22
26
  if (eventData.type === 'console_log') {
@@ -24,11 +28,23 @@ export class OpenInNewTabController extends BaseWebViewController {
24
28
  }
25
29
  };
26
30
  setXprops = () => {
31
+ // Hide the print button on the Efecty page
27
32
  this.webView?.injectJavaScript(`
28
- console.log = function(message) {
29
- window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'console_log', message }));
30
- };
31
- `);
33
+ console.log = function(message) {
34
+ window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
35
+ };
36
+ window.close = function() {
37
+ window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.newTabWindowClose}', data: '' }));
38
+ };
39
+ (function() {
40
+ setTimeout(function() {
41
+ var button = document.getElementById("cash_efecty_button_print");
42
+ if (button) {
43
+ button.style.display = "none";
44
+ }
45
+ }, 500); // time out 500 ms
46
+ })();
47
+ `);
32
48
  };
33
49
  }
34
50
  //# sourceMappingURL=OpenInNewTabController.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseWebViewController","DeunaLogs","OpenInNewTabController","constructor","url","setWebView","webView","onLoad","setXprops","onError","event","console","warn","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","injectJavaScript"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,sBAAsB,SAASF,qBAAqB,CAAC;EAChEG,WAAWA,CAAUC,GAAW,EAAE;IAChC,KAAK,CAAC,CAAC;IAAC,KADWA,GAAW,GAAXA,GAAW;IAE9B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAC,UAAU,GAAIC,OAAgB,IAAK;IACjC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB,CAAC;EAEDC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,SAAS,CAAC,CAAC;EAClB,CAAC;EAEDC,OAAO,GAAIC,KAAU,IAAK;IACxBC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;EACrB,CAAC;EAEDG,SAAS,GAAIH,KAA0B,IAAK;IAC1C,MAAMI,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACN,KAAK,CAACO,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpClB,SAAS,CAACmB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDb,SAAS,GAAGA,CAAA,KAAM;IAChB,IAAI,CAACF,OAAO,EAAEgB,gBAAgB,CAC5B;AACN;AACA;AACA;AACA,OACI,CAAC;EACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","OpenInNewTabController","constructor","url","onLoad","setXprops","onError","event","console","warn","urlMustBeLoadedInTheSameWebView","isDownloadUrl","delegate","onFileDownload","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","webView","injectJavaScript","consoleLog","newTabWindowClose"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,sBAAsB,SAASH,qBAAqB,CAAC;EAChEI,WAAWA,CAAUC,GAAW,EAAE;IAChC,KAAK,CAAC,CAAC;IAAC,KADWA,GAAW,GAAXA,GAAW;IAE9B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,SAAS,CAAC,CAAC;EAClB,CAAC;EAEDC,OAAO,GAAIC,KAAU,IAAK;IACxBC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;EACrB,CAAC;EAEDG,+BAA+B,GAAIP,GAAW,IAAK;IACjD,IAAI,IAAI,CAACQ,aAAa,CAACR,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACS,QAAQ,EAAEC,cAAc,GAAGV,GAAG,CAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb,CAAC;EAEDW,SAAS,GAAIP,KAA0B,IAAK;IAC1C,MAAMQ,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACV,KAAK,CAACW,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpCpB,SAAS,CAACqB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDjB,SAAS,GAAGA,CAAA,KAAM;IAChB;IACA,IAAI,CAACkB,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,wEAAwEzB,gBAAgB,CAAC0B,UAAU;AACnG;AACA;AACA,wEAAwE1B,gBAAgB,CAAC2B,iBAAiB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -5,4 +5,5 @@ export const constants = {
5
5
  metadata: 'metadata',
6
6
  voucherPdfDownloadUrl: 'voucherPdfDownloadUrl'
7
7
  };
8
+ export const DEVICE_FINGERPRINT_URL = 'https://cdn.stg.deuna.io/mobile-sdks/get_fraud_id.html';
8
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl"],"sourceRoot":"../../../src","sources":["interfaces/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl","DEVICE_FINGERPRINT_URL"],"sourceRoot":"../../../src","sources":["interfaces/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,UAAU;EACpBC,qBAAqB,EAAE;AACzB,CAAC;AAGD,OAAO,MAAMC,sBAAsB,GAAG,wDAAwD","ignoreList":[]}