@deuna/react-native-sdk 1.0.2 → 1.0.4

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 (115) hide show
  1. package/README.md +21 -0
  2. package/lib/module/DeunaSDK.js +96 -75
  3. package/lib/module/DeunaSDK.js.map +1 -1
  4. package/lib/module/components/DeunaWidget.js +54 -26
  5. package/lib/module/components/DeunaWidget.js.map +1 -1
  6. package/lib/module/components/ExternalUrlWebView.js +56 -0
  7. package/lib/module/components/ExternalUrlWebView.js.map +1 -0
  8. package/lib/module/controllers/BaseWebViewController.js +21 -20
  9. package/lib/module/controllers/BaseWebViewController.js.map +1 -1
  10. package/lib/module/controllers/ElementsWidgetController.js +5 -5
  11. package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
  12. package/lib/module/controllers/{OpenInNewTabController.js → ExternalUrlController.js} +4 -4
  13. package/lib/module/controllers/ExternalUrlController.js.map +1 -0
  14. package/lib/module/controllers/PaymentWidgetController.js +5 -4
  15. package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
  16. package/lib/module/helpers/Completer.js +2 -2
  17. package/lib/module/helpers/Completer.js.map +1 -1
  18. package/lib/module/helpers/CrossPlatformBrowser.js +51 -0
  19. package/lib/module/helpers/CrossPlatformBrowser.js.map +1 -0
  20. package/lib/module/helpers/ExternalUrlHelper.js +96 -0
  21. package/lib/module/helpers/ExternalUrlHelper.js.map +1 -0
  22. package/lib/module/helpers/SubmitStrategy.js +44 -0
  23. package/lib/module/helpers/SubmitStrategy.js.map +1 -0
  24. package/lib/module/helpers/ViewManager.js +32 -0
  25. package/lib/module/helpers/ViewManager.js.map +1 -0
  26. package/lib/module/helpers/{getController.js → buildDeunaWidgetController.js} +12 -4
  27. package/lib/module/helpers/buildDeunaWidgetController.js.map +1 -0
  28. package/lib/module/helpers/getSubmitStrategy.js +32 -0
  29. package/lib/module/helpers/getSubmitStrategy.js.map +1 -0
  30. package/lib/module/interfaces/constants.js +2 -0
  31. package/lib/module/interfaces/constants.js.map +1 -1
  32. package/lib/module/interfaces/types.js.map +1 -1
  33. package/lib/module/types/helpers/buildElementsLink.js +3 -1
  34. package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
  35. package/lib/module/types/helpers/buildPaymentLink.js +3 -1
  36. package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
  37. package/lib/module/types/helpers/buildVoucherLink.js +3 -1
  38. package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
  39. package/lib/module/types/helpers/constants.js +4 -0
  40. package/lib/module/types/helpers/constants.js.map +1 -0
  41. package/lib/module/types/helpers/urlConfig.js +1 -1
  42. package/lib/module/types/helpers/urlConfig.js.map +1 -1
  43. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +14 -13
  44. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
  45. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
  46. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts +7 -0
  47. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts.map +1 -0
  48. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +7 -6
  49. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
  50. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts +3 -1
  51. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
  52. package/lib/typescript/deuna-sdk-react-native/src/controllers/{OpenInNewTabController.d.ts → ExternalUrlController.d.ts} +2 -2
  53. package/lib/typescript/deuna-sdk-react-native/src/controllers/ExternalUrlController.d.ts.map +1 -0
  54. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts +3 -2
  55. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map +1 -1
  56. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts +25 -0
  57. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts.map +1 -0
  58. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts +48 -0
  59. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts.map +1 -0
  60. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts +23 -0
  61. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts.map +1 -0
  62. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts +19 -0
  63. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts.map +1 -0
  64. package/lib/typescript/deuna-sdk-react-native/src/helpers/{getController.d.ts → buildDeunaWidgetController.d.ts} +2 -2
  65. package/lib/typescript/deuna-sdk-react-native/src/helpers/buildDeunaWidgetController.d.ts.map +1 -0
  66. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts +4 -0
  67. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts.map +1 -0
  68. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +2 -0
  69. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
  70. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +6 -0
  71. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
  72. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
  73. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
  74. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
  75. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts +2 -0
  76. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts.map +1 -0
  77. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts +1 -0
  78. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts.map +1 -1
  79. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts +8 -0
  80. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts.map +1 -1
  81. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts +1 -0
  82. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts.map +1 -1
  83. package/package.json +7 -5
  84. package/src/DeunaSDK.ts +115 -83
  85. package/src/components/DeunaWidget.tsx +75 -35
  86. package/src/components/ExternalUrlWebView.tsx +65 -0
  87. package/src/controllers/BaseWebViewController.ts +28 -27
  88. package/src/controllers/ElementsWidgetController.ts +8 -6
  89. package/src/controllers/{OpenInNewTabController.ts → ExternalUrlController.ts} +3 -3
  90. package/src/controllers/PaymentWidgetController.ts +12 -5
  91. package/src/helpers/Completer.ts +2 -2
  92. package/src/helpers/CrossPlatformBrowser.ts +49 -0
  93. package/src/helpers/ExternalUrlHelper.ts +118 -0
  94. package/src/helpers/SubmitStrategy.ts +67 -0
  95. package/src/helpers/ViewManager.ts +45 -0
  96. package/src/helpers/{getController.ts → buildDeunaWidgetController.ts} +11 -4
  97. package/src/helpers/getSubmitStrategy.ts +42 -0
  98. package/src/interfaces/constants.ts +5 -1
  99. package/src/interfaces/types.ts +8 -0
  100. package/src/types/helpers/buildElementsLink.ts +4 -1
  101. package/src/types/helpers/buildPaymentLink.ts +2 -0
  102. package/src/types/helpers/buildVoucherLink.ts +2 -0
  103. package/src/types/helpers/constants.ts +1 -0
  104. package/src/types/helpers/urlConfig.ts +3 -1
  105. package/src/types/interfaces/callbacks.ts +10 -1
  106. package/src/types/interfaces/initWidgetBase.ts +1 -0
  107. package/lib/module/components/NewTabWebView.js +0 -56
  108. package/lib/module/components/NewTabWebView.js.map +0 -1
  109. package/lib/module/controllers/OpenInNewTabController.js.map +0 -1
  110. package/lib/module/helpers/getController.js.map +0 -1
  111. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts +0 -7
  112. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +0 -1
  113. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +0 -1
  114. package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +0 -1
  115. package/src/components/NewTabWebView.tsx +0 -64
@@ -7,15 +7,14 @@ export let WebViewEventType = /*#__PURE__*/function (WebViewEventType) {
7
7
  WebViewEventType["consoleLog"] = "consoleLog";
8
8
  WebViewEventType["eventDispatch"] = "eventDispatch";
9
9
  WebViewEventType["jsExecutor"] = "jsExecutor";
10
- WebViewEventType["openInNewTab"] = "openInNewTab";
10
+ WebViewEventType["openExternalUrl"] = "openExternalUrl";
11
11
  WebViewEventType["redirect"] = "redirect";
12
- WebViewEventType["newTabWindowClose"] = "newTabWindowClose";
12
+ WebViewEventType["closeExternalUrl"] = "closeExternalUrl";
13
13
  return WebViewEventType;
14
14
  }({});
15
15
  const DOWNLOAD_FILE_REGEX = /\.(pdf|doc|docx|xls|xlsx|zip|rar|txt|mp3|mp4|jpg|jpeg|png|gif)$/i;
16
16
  export class BaseWebViewController {
17
17
  initialized = false;
18
- redirectUrl = null;
19
18
  webView = null;
20
19
  url = null;
21
20
  delegate = null;
@@ -52,19 +51,14 @@ export class BaseWebViewController {
52
51
  * @returns boolean indicating if the URL should be loaded in current WebView
53
52
  */
54
53
  onShouldStartLoadWithRequest = request => {
55
- // Prevent loading if it's the redirect URL
56
- if (this.redirectUrl === request.url) {
57
- return false;
54
+ if (this.url === request.url) {
55
+ return true;
58
56
  }
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);
57
+ const isAndroid = Platform.OS === 'android';
58
+ const isNewNavigation = isAndroid ? request.url.startsWith('https://') : request.navigationType === 'click';
59
+ const shouldOpenExternally = !this.urlMustBeLoadedInTheSameWebView(request.url);
60
+ if (isNewNavigation && shouldOpenExternally) {
61
+ this.delegate?.onOpenExternalUrl?.(request.url);
68
62
  return false;
69
63
  }
70
64
  return true;
@@ -82,6 +76,10 @@ export class DeunaWebViewController extends BaseWebViewController {
82
76
  hidePayButton = false;
83
77
  redirectUrl = null;
84
78
  closedAction = 'systemAction';
79
+ constructor(widgetConfig) {
80
+ super();
81
+ this.widgetConfig = widgetConfig;
82
+ }
85
83
  onLoad = () => {
86
84
  this.setXprops();
87
85
  };
@@ -110,24 +108,27 @@ export class DeunaWebViewController extends BaseWebViewController {
110
108
  this.jsExecutor.requests.get(requestId)?.(data);
111
109
  this.jsExecutor.requests.delete(requestId);
112
110
  },
113
- [WebViewEventType.openInNewTab]: () => {
114
- this.delegate?.onOpenInNewTab?.(eventData.url);
111
+ [WebViewEventType.openExternalUrl]: () => {
112
+ this.delegate?.onOpenExternalUrl?.(eventData.url);
115
113
  },
116
114
  [WebViewEventType.redirect]: () => {
117
115
  if (this.redirectUrl) {
118
116
  return;
119
117
  }
120
118
  this.redirectUrl = eventData.url;
121
- this.delegate?.onOpenInNewTab?.(eventData.url);
119
+ this.delegate?.onOpenExternalUrl?.(eventData.url);
122
120
  },
123
- [WebViewEventType.newTabWindowClose]: () => {
124
- this.delegate?.onNewTabWindowClose?.();
121
+ [WebViewEventType.closeExternalUrl]: () => {
122
+ this.delegate?.onCloseExternalUrl?.();
125
123
  }
126
124
  };
127
125
  mapper[eventData.type]?.();
128
126
  };
129
127
  setXprops = () => {
130
128
  this.webView?.injectJavaScript(`
129
+ window.open = function(url, target, features) {
130
+ window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openExternalUrl}', url }));
131
+ };
131
132
  console.log = function(message) {
132
133
  window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
133
134
  };
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","initialized","webView","url","delegate","jsExecutor","JsExecutor","setWebView","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isAndroid","OS","isNewNavigation","startsWith","navigationType","shouldOpenExternally","urlMustBeLoadedInTheSameWebView","onOpenExternalUrl","dispose","stopLoading","DeunaWebViewController","hidePayButton","redirectUrl","closedAction","constructor","widgetConfig","onLoad","setXprops","onFileDownload","onMessage","event","eventData","JSON","parse","nativeEvent","data","mapper","consoleLog","info","stringify","message","eventDispatch","onEventDispatch","requestId","requests","get","delete","openExternalUrl","redirect","closeExternalUrl","onCloseExternalUrl","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":[]}
@@ -4,9 +4,10 @@ import { DeunaWebViewController } from "./BaseWebViewController.js";
4
4
  import { ElementsEventType } from "../interfaces/events/elements.js";
5
5
  import { ElementsErrorType } from "../interfaces/index.js";
6
6
  export class ElementsWidgetController extends DeunaWebViewController {
7
- constructor(callbacks) {
8
- super();
7
+ constructor(callbacks, widgetConfig) {
8
+ super(widgetConfig);
9
9
  this.callbacks = callbacks;
10
+ this.widgetConfig = widgetConfig;
10
11
  }
11
12
  onError = event => {
12
13
  this.callbacks.onError?.({
@@ -28,12 +29,11 @@ export class ElementsWidgetController extends DeunaWebViewController {
28
29
  this.delegate?.onCloseButtonPressed?.();
29
30
  },
30
31
  [ElementsEventType.vaultSaveSuccess]: () => {
31
- this.delegate?.onCloseSubWebView?.();
32
+ this.delegate?.onCloseExternalUrl?.();
32
33
  this.callbacks.onSuccess?.(event.data);
33
34
  },
34
35
  [ElementsEventType.vaultSaveError]: () => {
35
- this.delegate?.onCloseSubWebView?.();
36
- this.delegate?.onCloseSubWebView?.();
36
+ this.delegate?.onCloseExternalUrl?.();
37
37
  const {
38
38
  metadata
39
39
  } = elementsEvent.data;
@@ -1 +1 @@
1
- {"version":3,"names":["DeunaWebViewController","ElementsEventType","ElementsErrorType","ElementsWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","elementsEvent","data","mapper","vaultClosed","closedAction","delegate","onCloseButtonPressed","vaultSaveSuccess","onCloseSubWebView","onSuccess","vaultSaveError","errorCode","unknownError","errorMessage","reason"],"sourceRoot":"../../../src","sources":["controllers/ElementsWidgetController.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAAyB;AAChE,SAEEC,iBAAiB,QACZ,kCAA+B;AAEtC,SAASC,iBAAiB,QAAQ,wBAAe;AAEjD,OAAO,MAAMC,wBAAwB,SAASH,sBAAsB,CAAC;EACnEI,WAAWA,CAAUC,SAAkC,EAAE;IACvD,KAAK,CAAC,CAAC;IAAC,KADWA,SAAkC,GAAlCA,SAAkC;EAEvD;EAEAC,OAAO,GAAIC,KAAU,IAAK;IACxB,IAAI,CAACF,SAAS,CAACC,OAAO,GAAG;MACvBE,IAAI,EAAEN,iBAAiB,CAACO,uBAAuB;MAC/CC,QAAQ,EAAE;QACRC,IAAI,EAAET,iBAAiB,CAACO,uBAAuB;QAC/CG,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,GAAIN,KAA0B,IAAK;IAChD,MAAMO,aAAa,GAAGP,KAAsB;IAE5C,IAAI,IAAI,CAACF,SAAS,CAACQ,eAAe,EAAE;MAClC,IAAI,CAACR,SAAS,CAACQ,eAAe,CAACC,aAAa,CAACN,IAAI,EAAEM,aAAa,CAACC,IAAI,CAAC;IACxE;IAEA,MAAMC,MAAsD,GAAG;MAC7D,CAACf,iBAAiB,CAACgB,WAAW,GAAG,MAAM;QACrC,IAAI,CAACC,YAAY,GAAG,YAAY;QAChC,IAAI,CAACC,QAAQ,EAAEC,oBAAoB,GAAG,CAAC;MACzC,CAAC;MACD,CAACnB,iBAAiB,CAACoB,gBAAgB,GAAG,MAAM;QAC1C,IAAI,CAACF,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAACjB,SAAS,CAACkB,SAAS,GAAGhB,KAAK,CAACQ,IAAI,CAAC;MACxC,CAAC;MACD,CAACd,iBAAiB,CAACuB,cAAc,GAAG,MAAM;QACxC,IAAI,CAACL,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAACH,QAAQ,EAAEG,iBAAiB,GAAG,CAAC;QACpC,MAAM;UAAEZ;QAAS,CAAC,GAAGI,aAAa,CAACC,IAAI;QAEvC,IAAIL,QAAQ,EAAE;UACZ,MAAMe,SAAS,GACbf,QAAQ,CAACC,IAAI,IACbD,QAAQ,CAACe,SAAS,IAClBvB,iBAAiB,CAACwB,YAAY;UAEhC,MAAMC,YAAY,GAChBjB,QAAQ,CAACE,OAAO,IAChBF,QAAQ,CAACiB,YAAY,IACrBjB,QAAQ,CAACkB,MAAM,IACf,eAAe;UAEjB,IAAI,CAACvB,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAEN,iBAAiB,CAACsB,cAAc;YACtCd,QAAQ,EAAE;cACRC,IAAI,EAAEc,SAAS;cACfb,OAAO,EAAEe;YACX;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACtB,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAEN,iBAAiB,CAACwB,YAAY;YACpChB,QAAQ,EAAE;cACRC,IAAI,EAAET,iBAAiB,CAACwB,YAAY;cACpCd,OAAO,EAAE;YACX;UACF,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAEDI,MAAM,CAACF,aAAa,CAACN,IAAI,CAAC,GAAG,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["DeunaWebViewController","ElementsEventType","ElementsErrorType","ElementsWidgetController","constructor","callbacks","widgetConfig","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","elementsEvent","data","mapper","vaultClosed","closedAction","delegate","onCloseButtonPressed","vaultSaveSuccess","onCloseExternalUrl","onSuccess","vaultSaveError","errorCode","unknownError","errorMessage","reason"],"sourceRoot":"../../../src","sources":["controllers/ElementsWidgetController.ts"],"mappings":";;AAAA,SAASA,sBAAsB,QAAQ,4BAAyB;AAChE,SAEEC,iBAAiB,QACZ,kCAA+B;AAEtC,SAASC,iBAAiB,QAAsB,wBAAe;AAE/D,OAAO,MAAMC,wBAAwB,SAASH,sBAAsB,CAAC;EACnEI,WAAWA,CACAC,SAAkC,EAClCC,YAA0B,EACnC;IACA,KAAK,CAACA,YAAY,CAAC;IAAC,KAHXD,SAAkC,GAAlCA,SAAkC;IAAA,KAClCC,YAA0B,GAA1BA,YAA0B;EAGrC;EAEAC,OAAO,GAAIC,KAAU,IAAK;IACxB,IAAI,CAACH,SAAS,CAACE,OAAO,GAAG;MACvBE,IAAI,EAAEP,iBAAiB,CAACQ,uBAAuB;MAC/CC,QAAQ,EAAE;QACRC,IAAI,EAAEV,iBAAiB,CAACQ,uBAAuB;QAC/CG,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,GAAIN,KAA0B,IAAK;IAChD,MAAMO,aAAa,GAAGP,KAAsB;IAE5C,IAAI,IAAI,CAACH,SAAS,CAACS,eAAe,EAAE;MAClC,IAAI,CAACT,SAAS,CAACS,eAAe,CAACC,aAAa,CAACN,IAAI,EAAEM,aAAa,CAACC,IAAI,CAAC;IACxE;IAEA,MAAMC,MAAsD,GAAG;MAC7D,CAAChB,iBAAiB,CAACiB,WAAW,GAAG,MAAM;QACrC,IAAI,CAACC,YAAY,GAAG,YAAY;QAChC,IAAI,CAACC,QAAQ,EAAEC,oBAAoB,GAAG,CAAC;MACzC,CAAC;MACD,CAACpB,iBAAiB,CAACqB,gBAAgB,GAAG,MAAM;QAC1C,IAAI,CAACF,QAAQ,EAAEG,kBAAkB,GAAG,CAAC;QACrC,IAAI,CAAClB,SAAS,CAACmB,SAAS,GAAGhB,KAAK,CAACQ,IAAI,CAAC;MACxC,CAAC;MACD,CAACf,iBAAiB,CAACwB,cAAc,GAAG,MAAM;QACxC,IAAI,CAACL,QAAQ,EAAEG,kBAAkB,GAAG,CAAC;QACrC,MAAM;UAAEZ;QAAS,CAAC,GAAGI,aAAa,CAACC,IAAI;QAEvC,IAAIL,QAAQ,EAAE;UACZ,MAAMe,SAAS,GACbf,QAAQ,CAACC,IAAI,IACbD,QAAQ,CAACe,SAAS,IAClBxB,iBAAiB,CAACyB,YAAY;UAEhC,MAAMC,YAAY,GAChBjB,QAAQ,CAACE,OAAO,IAChBF,QAAQ,CAACiB,YAAY,IACrBjB,QAAQ,CAACkB,MAAM,IACf,eAAe;UAEjB,IAAI,CAACxB,SAAS,CAACE,OAAO,GAAG;YACvBE,IAAI,EAAEP,iBAAiB,CAACuB,cAAc;YACtCd,QAAQ,EAAE;cACRC,IAAI,EAAEc,SAAS;cACfb,OAAO,EAAEe;YACX;UACF,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACvB,SAAS,CAACE,OAAO,GAAG;YACvBE,IAAI,EAAEP,iBAAiB,CAACyB,YAAY;YACpChB,QAAQ,EAAE;cACRC,IAAI,EAAEV,iBAAiB,CAACyB,YAAY;cACpCd,OAAO,EAAE;YACX;UACF,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAEDI,MAAM,CAACF,aAAa,CAACN,IAAI,CAAC,GAAG,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { BaseWebViewController, WebViewEventType } from "./BaseWebViewController.js";
4
4
  import { DeunaLogs } from "../DeunaLogs.js";
5
- export class OpenInNewTabController extends BaseWebViewController {
5
+ export class ExternalUrlController extends BaseWebViewController {
6
6
  constructor(url) {
7
7
  super();
8
8
  this.url = url;
@@ -12,7 +12,7 @@ export class OpenInNewTabController extends BaseWebViewController {
12
12
  this.setXprops();
13
13
  };
14
14
  onError = event => {
15
- console.warn(event);
15
+ DeunaLogs.error(`EXTERNAL URL ERROR`, event);
16
16
  };
17
17
  urlMustBeLoadedInTheSameWebView = url => {
18
18
  if (this.isDownloadUrl(url)) {
@@ -34,7 +34,7 @@ export class OpenInNewTabController extends BaseWebViewController {
34
34
  window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
35
35
  };
36
36
  window.close = function() {
37
- window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.newTabWindowClose}', data: '' }));
37
+ window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.closeExternalUrl}', data: '' }));
38
38
  };
39
39
  (function() {
40
40
  setTimeout(function() {
@@ -47,4 +47,4 @@ export class OpenInNewTabController extends BaseWebViewController {
47
47
  `);
48
48
  };
49
49
  }
50
- //# sourceMappingURL=OpenInNewTabController.js.map
50
+ //# sourceMappingURL=ExternalUrlController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","ExternalUrlController","constructor","url","onLoad","setXprops","onError","event","error","urlMustBeLoadedInTheSameWebView","isDownloadUrl","delegate","onFileDownload","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","webView","injectJavaScript","consoleLog","closeExternalUrl"],"sourceRoot":"../../../src","sources":["controllers/ExternalUrlController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,qBAAqB,SAASH,qBAAqB,CAAC;EAC/DI,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;IACxBP,SAAS,CAACQ,KAAK,CAAC,oBAAoB,EAAED,KAAK,CAAC;EAC9C,CAAC;EAEDE,+BAA+B,GAAIN,GAAW,IAAK;IACjD,IAAI,IAAI,CAACO,aAAa,CAACP,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACQ,QAAQ,EAAEC,cAAc,GAAGT,GAAG,CAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb,CAAC;EAEDU,SAAS,GAAIN,KAA0B,IAAK;IAC1C,MAAMO,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACT,KAAK,CAACU,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpCnB,SAAS,CAACoB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDhB,SAAS,GAAGA,CAAA,KAAM;IAChB;IACA,IAAI,CAACiB,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,wEAAwExB,gBAAgB,CAACyB,UAAU;AACnG;AACA;AACA,wEAAwEzB,gBAAgB,CAAC0B,gBAAgB;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -5,9 +5,10 @@ import { constants } from "../interfaces/constants.js";
5
5
  import { DownloadType } from "../interfaces/types.js";
6
6
  import { DeunaWebViewController } from "./BaseWebViewController.js";
7
7
  export class PaymentWidgetController extends DeunaWebViewController {
8
- constructor(callbacks) {
9
- super();
8
+ constructor(callbacks, widgetConfig) {
9
+ super(widgetConfig);
10
10
  this.callbacks = callbacks;
11
+ this.widgetConfig = widgetConfig;
11
12
  }
12
13
  onError = event => {
13
14
  this.callbacks.onError?.({
@@ -63,11 +64,11 @@ export class PaymentWidgetController extends DeunaWebViewController {
63
64
  this.callbacks.onPaymentProcessing?.();
64
65
  },
65
66
  [CheckoutEventType.purchase]: () => {
66
- this.delegate?.onCloseSubWebView?.();
67
+ this.delegate?.onCloseExternalUrl?.();
67
68
  this.callbacks.onSuccess?.(checkoutEvent.data.order);
68
69
  },
69
70
  [CheckoutEventType.purchaseError]: () => {
70
- this.delegate?.onCloseSubWebView?.();
71
+ this.delegate?.onCloseExternalUrl?.();
71
72
  const {
72
73
  metadata
73
74
  } = checkoutEvent.data;
@@ -1 +1 @@
1
- {"version":3,"names":["CheckoutEventType","PaymentErrorType","constants","DownloadType","DeunaWebViewController","PaymentWidgetController","constructor","callbacks","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","checkoutEvent","apmSaveId","voucherPdfDownloadUrl","data","onDownloadFile","URL","base64Image","takeScreenshot","BASE64","mapper","linkClose","closedAction","delegate","onCloseButtonPressed","onBinDetected","onCardBinDetected","onInstallmentSelected","paymentProcessing","onPaymentProcessing","purchase","onCloseSubWebView","onSuccess","order","purchaseError","errorCode","unknownError","errorMessage","reason","paymentError"],"sourceRoot":"../../../src","sources":["controllers/PaymentWidgetController.ts"],"mappings":";;AAAA,SAEEA,iBAAiB,EACjBC,gBAAgB,QACX,wBAAe;AACtB,SAASC,SAAS,QAAQ,4BAAyB;AACnD,SAASC,YAAY,QAAwB,wBAAqB;AAMlE,SAASC,sBAAsB,QAAQ,4BAAyB;AAOhE,OAAO,MAAMC,uBAAuB,SAASD,sBAAsB,CAAC;EAClEE,WAAWA,CAAUC,SAAoB,EAAE;IACzC,KAAK,CAAC,CAAC;IAAC,KADWA,SAAoB,GAApBA,SAAoB;EAEzC;EAEAC,OAAO,GAAIC,KAAU,IAAK;IACxB,IAAI,CAACF,SAAS,CAACC,OAAO,GAAG;MACvBE,IAAI,EAAET,gBAAgB,CAACU,uBAAuB;MAC9CC,QAAQ,EAAE;QACRC,IAAI,EAAEZ,gBAAgB,CAACU,uBAAuB;QAC9CG,OAAO,EAAEL,KAAK,CAACK,OAAO,IAAI;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC;EAEDC,eAAe,GAAG,MAAON,KAA0B,IAAK;IACtD,MAAMO,aAAa,GAAGP,KAAsB;;IAE5C;IACA,IAAIO,aAAa,CAACN,IAAI,KAAKR,SAAS,CAACe,SAAS,EAAE;MAC9C,MAAM;QAAEC;MAA0D,CAAC,GACjEF,aAAa,CAACG,IAAI,CAACP,QAAQ;;MAE7B;MACA,IAAIM,qBAAqB,EAAE;QACzB,IAAI,CAACX,SAAS,CAACa,cAAc,GAAG;UAC9BV,IAAI,EAAEP,YAAY,CAACkB,GAAG;UACtBF,IAAI,EAAED;QACR,CAAC,CAAC;MACJ,CAAC,MAAM;QACL;QACA,MAAMI,WAAW,GAAG,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;QAC/C,IAAID,WAAW,EAAE;UACf,IAAI,CAACf,SAAS,CAACa,cAAc,GAAG;YAC9BV,IAAI,EAAEP,YAAY,CAACqB,MAAM;YACzBL,IAAI,EAAEG;UACR,CAAC,CAAC;QACJ;MACF;MACA;IACF;IAEA,IAAI,IAAI,CAACf,SAAS,CAACQ,eAAe,EAAE;MAClC,IAAI,CAACR,SAAS,CAACQ,eAAe,CAACC,aAAa,CAACN,IAAI,EAAEM,aAAa,CAACG,IAAI,CAAC;IACxE;IAEA,MAAMM,MAAsD,GAAG;MAC7D,CAACzB,iBAAiB,CAAC0B,SAAS,GAAG,MAAM;QACnC,IAAI,CAACC,YAAY,GAAG,YAAY;QAChC,IAAI,CAACC,QAAQ,EAAEC,oBAAoB,GAAG,CAAC;MACzC,CAAC;MACD,CAAC7B,iBAAiB,CAAC8B,aAAa,GAAG,MAAM;QACvC,IAAI,CAACvB,SAAS,CAACwB,iBAAiB,GAAGf,aAAa,CAACG,IAAI,CAACP,QAAQ,CAAC;MACjE,CAAC;MACD,CAACZ,iBAAiB,CAACgC,qBAAqB,GAAG,MAAM;QAC/C,IAAI,CAACzB,SAAS,CAACyB,qBAAqB,GAAGhB,aAAa,CAACG,IAAI,CAACP,QAAQ,CAAC;MACrE,CAAC;MACD,CAACZ,iBAAiB,CAACiC,iBAAiB,GAAG,MAAM;QAC3C,IAAI,CAAC1B,SAAS,CAAC2B,mBAAmB,GAAG,CAAC;MACxC,CAAC;MACD,CAAClC,iBAAiB,CAACmC,QAAQ,GAAG,MAAM;QAClC,IAAI,CAACP,QAAQ,EAAEQ,iBAAiB,GAAG,CAAC;QACpC,IAAI,CAAC7B,SAAS,CAAC8B,SAAS,GAAGrB,aAAa,CAACG,IAAI,CAACmB,KAAK,CAAC;MACtD,CAAC;MACD,CAACtC,iBAAiB,CAACuC,aAAa,GAAG,MAAM;QACvC,IAAI,CAACX,QAAQ,EAAEQ,iBAAiB,GAAG,CAAC;QACpC,MAAM;UAAExB;QAAS,CAAC,GAAGI,aAAa,CAACG,IAAI;QAEvC,IAAIP,QAAQ,EAAE;UACZ,MAAM4B,SAAS,GACb5B,QAAQ,CAACC,IAAI,IACbD,QAAQ,CAAC4B,SAAS,IAClBvC,gBAAgB,CAACwC,YAAY;UAE/B,MAAMC,YAAY,GAChB9B,QAAQ,CAACE,OAAO,IAChBF,QAAQ,CAAC8B,YAAY,IACrB9B,QAAQ,CAAC+B,MAAM,IACf,eAAe;UAEjB,IAAI,CAACpC,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAET,gBAAgB,CAAC2C,YAAY;YACnChC,QAAQ,EAAE;cAAEC,IAAI,EAAE2B,SAAS;cAAE1B,OAAO,EAAE4B;YAAa;UACrD,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACnC,SAAS,CAACC,OAAO,GAAG;YACvBE,IAAI,EAAET,gBAAgB,CAACwC,YAAY;YACnC7B,QAAQ,EAAE;cACRC,IAAI,EAAEZ,gBAAgB,CAACwC,YAAY;cACnC3B,OAAO,EAAE;YACX;UACF,CAAC,CAAC;QACJ;MACF;IACF,CAAC;IAEDW,MAAM,CAACT,aAAa,CAACN,IAAI,CAAC,GAAG,CAAC;EAChC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["CheckoutEventType","PaymentErrorType","constants","DownloadType","DeunaWebViewController","PaymentWidgetController","constructor","callbacks","widgetConfig","onError","event","type","errorWhileLoadingTheURL","metadata","code","message","onEventDispatch","checkoutEvent","apmSaveId","voucherPdfDownloadUrl","data","onDownloadFile","URL","base64Image","takeScreenshot","BASE64","mapper","linkClose","closedAction","delegate","onCloseButtonPressed","onBinDetected","onCardBinDetected","onInstallmentSelected","paymentProcessing","onPaymentProcessing","purchase","onCloseExternalUrl","onSuccess","order","purchaseError","errorCode","unknownError","errorMessage","reason","paymentError"],"sourceRoot":"../../../src","sources":["controllers/PaymentWidgetController.ts"],"mappings":"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","ignoreList":[]}
@@ -15,13 +15,13 @@ export class Completer {
15
15
  }
16
16
  complete(value) {
17
17
  if (this.completed) return;
18
- this.completed = true;
19
18
  this.resolvePromise?.(value);
19
+ this.completed = true;
20
20
  }
21
21
  completeError(error) {
22
22
  if (this.completed) return;
23
- this.completed = true;
24
23
  this.rejectPromise?.(error);
24
+ this.completed = true;
25
25
  }
26
26
  isCompleted() {
27
27
  return this.completed;
@@ -1 +1 @@
1
- {"version":3,"names":["Completer","resolvePromise","rejectPromise","completed","constructor","promise","Promise","resolve","reject","wait","complete","value","completeError","error","isCompleted"],"sourceRoot":"../../../src","sources":["helpers/Completer.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,CAAI;EAEhBC,cAAc,GAAiD,IAAI;EACnEC,aAAa,GAAoC,IAAI;EACrDC,SAAS,GAAG,KAAK;EAEzBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;MACjD,IAAI,CAACP,cAAc,GAAGM,OAAO;MAC7B,IAAI,CAACL,aAAa,GAAGM,MAAM;IAC7B,CAAC,CAAC;EACJ;EAEA,IAAIC,IAAIA,CAAA,EAAe;IACrB,OAAO,IAAI,CAACJ,OAAO;EACrB;EAEAK,QAAQA,CAACC,KAAQ,EAAQ;IACvB,IAAI,IAAI,CAACR,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACF,cAAc,GAAGU,KAAK,CAAC;EAC9B;EAEAC,aAAaA,CAACC,KAAU,EAAQ;IAC9B,IAAI,IAAI,CAACV,SAAS,EAAE;IACpB,IAAI,CAACA,SAAS,GAAG,IAAI;IACrB,IAAI,CAACD,aAAa,GAAGW,KAAK,CAAC;EAC7B;EAEAC,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACX,SAAS;EACvB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["Completer","resolvePromise","rejectPromise","completed","constructor","promise","Promise","resolve","reject","wait","complete","value","completeError","error","isCompleted"],"sourceRoot":"../../../src","sources":["helpers/Completer.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,CAAI;EAEhBC,cAAc,GAAiD,IAAI;EACnEC,aAAa,GAAoC,IAAI;EACrDC,SAAS,GAAG,KAAK;EAEzBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;MACjD,IAAI,CAACP,cAAc,GAAGM,OAAO;MAC7B,IAAI,CAACL,aAAa,GAAGM,MAAM;IAC7B,CAAC,CAAC;EACJ;EAEA,IAAIC,IAAIA,CAAA,EAAe;IACrB,OAAO,IAAI,CAACJ,OAAO;EACrB;EAEAK,QAAQA,CAACC,KAAQ,EAAQ;IACvB,IAAI,IAAI,CAACR,SAAS,EAAE;IACpB,IAAI,CAACF,cAAc,GAAGU,KAAK,CAAC;IAC5B,IAAI,CAACR,SAAS,GAAG,IAAI;EACvB;EAEAS,aAAaA,CAACC,KAAU,EAAQ;IAC9B,IAAI,IAAI,CAACV,SAAS,EAAE;IACpB,IAAI,CAACD,aAAa,GAAGW,KAAK,CAAC;IAC3B,IAAI,CAACV,SAAS,GAAG,IAAI;EACvB;EAEAW,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACX,SAAS;EACvB;AACF","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import * as WebBrowser from 'expo-web-browser';
4
+ import { Platform } from 'react-native';
5
+
6
+ /**
7
+ * This class is used to open a browser in a SafariView Controller (iOS) or
8
+ * a Chrome Custom Tab (Android) depending on the platform.
9
+ *
10
+ * It is used to open the external URLs in the DEUNA widget.
11
+ */
12
+ class CrossPlatformBrowser {
13
+ initialized = false;
14
+ /**
15
+ * Initialize the browser
16
+ */
17
+ async initialize() {
18
+ if (this.initialized) return;
19
+ await WebBrowser.maybeCompleteAuthSession();
20
+ this.initialized = true;
21
+ }
22
+
23
+ /**
24
+ * Open an URL in a SafariView Controller (iOS) or a Chrome Custom Tab (Android) depending on the platform
25
+ * @param url - The URL to open
26
+ */
27
+ async openBrowser(url) {
28
+ try {
29
+ await this.initialize();
30
+ await WebBrowser.openBrowserAsync(url);
31
+ } catch (error) {
32
+ console.error('Error opening browser', error);
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Close the browser
38
+ */
39
+ async closeBrowser() {
40
+ if (Platform.OS !== 'ios') {
41
+ return;
42
+ }
43
+ try {
44
+ await WebBrowser.dismissBrowser();
45
+ } catch (error) {
46
+ console.error('Error closing browser', error);
47
+ }
48
+ }
49
+ }
50
+ export const crossPlatformBrowser = new CrossPlatformBrowser();
51
+ //# sourceMappingURL=CrossPlatformBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebBrowser","Platform","CrossPlatformBrowser","initialized","initialize","maybeCompleteAuthSession","openBrowser","url","openBrowserAsync","error","console","closeBrowser","OS","dismissBrowser","crossPlatformBrowser"],"sourceRoot":"../../../src","sources":["helpers/CrossPlatformBrowser.ts"],"mappings":";;AAAA,OAAO,KAAKA,UAAU,MAAM,kBAAkB;AAC9C,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,CAAC;EACjBC,WAAW,GAAG,KAAK;EAC3B;AACF;AACA;EACE,MAAMC,UAAUA,CAAA,EAAG;IACjB,IAAI,IAAI,CAACD,WAAW,EAAE;IACtB,MAAMH,UAAU,CAACK,wBAAwB,CAAC,CAAC;IAC3C,IAAI,CAACF,WAAW,GAAG,IAAI;EACzB;;EAEA;AACF;AACA;AACA;EACE,MAAMG,WAAWA,CAACC,GAAW,EAAE;IAC7B,IAAI;MACF,MAAM,IAAI,CAACH,UAAU,CAAC,CAAC;MACvB,MAAMJ,UAAU,CAACQ,gBAAgB,CAACD,GAAG,CAAC;IACxC,CAAC,CAAC,OAAOE,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC/C;EACF;;EAEA;AACF;AACA;EACE,MAAME,YAAYA,CAAA,EAAG;IACnB,IAAIV,QAAQ,CAACW,EAAE,KAAK,KAAK,EAAE;MACzB;IACF;IACA,IAAI;MACF,MAAMZ,UAAU,CAACa,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOJ,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC/C;EACF;AACF;AAEA,OAAO,MAAMK,oBAAoB,GAAG,IAAIZ,oBAAoB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ import { AppState, Platform } from 'react-native';
4
+ import { ExternalUrlController } from "../controllers/ExternalUrlController.js";
5
+ import { Completer } from "./Completer.js";
6
+ import { crossPlatformBrowser } from "./CrossPlatformBrowser.js";
7
+ export let ExternalUrlBrowser = /*#__PURE__*/function (ExternalUrlBrowser) {
8
+ ExternalUrlBrowser["WEB_VIEW"] = "web_view";
9
+ ExternalUrlBrowser["CROSS_PLATFORM_BROWSER"] = "cross_platform_browser";
10
+ return ExternalUrlBrowser;
11
+ }({});
12
+ export class ExternalUrlHelper {
13
+ manager = null;
14
+ completer = null;
15
+ constructor() {
16
+ this.startCloseChecker();
17
+ }
18
+ get externalUrlWebViewController() {
19
+ if (this.manager?.type === ExternalUrlBrowser.WEB_VIEW) {
20
+ return this.manager.controller;
21
+ }
22
+ return null;
23
+ }
24
+
25
+ /**
26
+ * Wait until the webview or cross platform browser is closed
27
+ */
28
+ async waitForClose() {
29
+ if (this.completer) {
30
+ await this.completer.wait;
31
+ this.completer = null;
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Listen when the app is brought back to the foreground
37
+ */
38
+ startCloseChecker() {
39
+ AppState.addEventListener('change', state => {
40
+ if (state === 'active' && this.manager?.type === ExternalUrlBrowser.CROSS_PLATFORM_BROWSER) {
41
+ this.manager = null;
42
+ this.completeClose();
43
+ }
44
+ });
45
+ }
46
+
47
+ /**
48
+ * Opens the webview or cross platform browser
49
+ */
50
+ async openUrl(params) {
51
+ const {
52
+ url,
53
+ browser,
54
+ delegate
55
+ } = params;
56
+ const mapper = {
57
+ [ExternalUrlBrowser.WEB_VIEW]: async () => {
58
+ const controller = new ExternalUrlController(url);
59
+ controller.delegate = delegate;
60
+ this.manager = {
61
+ type: ExternalUrlBrowser.WEB_VIEW,
62
+ controller
63
+ };
64
+ },
65
+ [ExternalUrlBrowser.CROSS_PLATFORM_BROWSER]: async () => {
66
+ this.completer = new Completer();
67
+ this.manager = {
68
+ type: ExternalUrlBrowser.CROSS_PLATFORM_BROWSER
69
+ };
70
+ await crossPlatformBrowser.openBrowser(url);
71
+ if (Platform.OS === 'ios') {
72
+ this.completer?.complete();
73
+ }
74
+ }
75
+ };
76
+ await mapper[browser]();
77
+ }
78
+
79
+ /**
80
+ * Notify that the browser has been closed
81
+ */
82
+ completeClose() {
83
+ this.completer?.complete();
84
+ }
85
+
86
+ /**
87
+ * Closes the web view
88
+ */
89
+ async closeWebView() {
90
+ if (this.manager?.type === ExternalUrlBrowser.WEB_VIEW) {
91
+ this.manager.controller?.dispose();
92
+ this.manager = null;
93
+ }
94
+ }
95
+ }
96
+ //# sourceMappingURL=ExternalUrlHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AppState","Platform","ExternalUrlController","Completer","crossPlatformBrowser","ExternalUrlBrowser","ExternalUrlHelper","manager","completer","constructor","startCloseChecker","externalUrlWebViewController","type","WEB_VIEW","controller","waitForClose","wait","addEventListener","state","CROSS_PLATFORM_BROWSER","completeClose","openUrl","params","url","browser","delegate","mapper","openBrowser","OS","complete","closeWebView","dispose"],"sourceRoot":"../../../src","sources":["helpers/ExternalUrlHelper.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,QAAQ,QAAQ,cAAc;AAEjD,SAASC,qBAAqB,QAAQ,yCAAsC;AAC5E,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,oBAAoB,QAAQ,2BAAwB;AAE7D,WAAYC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAyB9B,OAAO,MAAMC,iBAAiB,CAAC;EACrBC,OAAO,GAAkD,IAAI;EAC7DC,SAAS,GAA2B,IAAI;EAEhDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,iBAAiB,CAAC,CAAC;EAC1B;EAEA,IAAIC,4BAA4BA,CAAA,EAAG;IACjC,IAAI,IAAI,CAACJ,OAAO,EAAEK,IAAI,KAAKP,kBAAkB,CAACQ,QAAQ,EAAE;MACtD,OAAQ,IAAI,CAACN,OAAO,CAAoBO,UAAU;IACpD;IACA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE,MAAMC,YAAYA,CAAA,EAAG;IACnB,IAAI,IAAI,CAACP,SAAS,EAAE;MAClB,MAAM,IAAI,CAACA,SAAS,CAACQ,IAAI;MACzB,IAAI,CAACR,SAAS,GAAG,IAAI;IACvB;EACF;;EAEA;AACF;AACA;EACUE,iBAAiBA,CAAA,EAAG;IAC1BV,QAAQ,CAACiB,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MAC7C,IACEA,KAAK,KAAK,QAAQ,IAClB,IAAI,CAACX,OAAO,EAAEK,IAAI,KAAKP,kBAAkB,CAACc,sBAAsB,EAChE;QACA,IAAI,CAACZ,OAAO,GAAG,IAAI;QACnB,IAAI,CAACa,aAAa,CAAC,CAAC;MACtB;IACF,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACE,MAAMC,OAAOA,CAACC,MAAqB,EAAE;IACnC,MAAM;MAAEC,GAAG;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGH,MAAM;IAEzC,MAAMI,MAAM,GAAG;MACb,CAACrB,kBAAkB,CAACQ,QAAQ,GAAG,YAAY;QACzC,MAAMC,UAAU,GAAG,IAAIZ,qBAAqB,CAACqB,GAAG,CAAC;QACjDT,UAAU,CAACW,QAAQ,GAAGA,QAAQ;QAC9B,IAAI,CAAClB,OAAO,GAAG;UACbK,IAAI,EAAEP,kBAAkB,CAACQ,QAAQ;UACjCC;QACF,CAAmB;MACrB,CAAC;MACD,CAACT,kBAAkB,CAACc,sBAAsB,GAAG,YAAY;QACvD,IAAI,CAACX,SAAS,GAAG,IAAIL,SAAS,CAAO,CAAC;QACtC,IAAI,CAACI,OAAO,GAAG;UACbK,IAAI,EAAEP,kBAAkB,CAACc;QAC3B,CAAC;QAED,MAAMf,oBAAoB,CAACuB,WAAW,CAACJ,GAAG,CAAC;QAC3C,IAAItB,QAAQ,CAAC2B,EAAE,KAAK,KAAK,EAAE;UACzB,IAAI,CAACpB,SAAS,EAAEqB,QAAQ,CAAC,CAAC;QAC5B;MACF;IACF,CAAC;IACD,MAAMH,MAAM,CAACF,OAAO,CAAC,CAAC,CAAC;EACzB;;EAEA;AACF;AACA;EACUJ,aAAaA,CAAA,EAAG;IACtB,IAAI,CAACZ,SAAS,EAAEqB,QAAQ,CAAC,CAAC;EAC5B;;EAEA;AACF;AACA;EACE,MAAMC,YAAYA,CAAA,EAAG;IACnB,IAAI,IAAI,CAACvB,OAAO,EAAEK,IAAI,KAAKP,kBAAkB,CAACQ,QAAQ,EAAE;MACrD,IAAI,CAACN,OAAO,CAAoBO,UAAU,EAAEiB,OAAO,CAAC,CAAC;MACtD,IAAI,CAACxB,OAAO,GAAG,IAAI;IACrB;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ import { DeunaSDK } from "../DeunaSDK.js";
4
+ import { Mode } from "../interfaces/index.js";
5
+ export class SubmitStrategy {
6
+ constructor(config, type) {
7
+ this.config = config;
8
+ this.type = type;
9
+ }
10
+ }
11
+ export class PayPalSubmitStrategy extends SubmitStrategy {
12
+ constructor(config, onDestroyed) {
13
+ super(config, 'PayPal');
14
+ this.onDestroyed = onDestroyed;
15
+ this.deunaSDK = new DeunaSDK({
16
+ publicApiKey: this.config.publicApiKey,
17
+ environment: this.config.environment
18
+ }, this.onDestroyed);
19
+ }
20
+ async submit() {
21
+ await this.deunaSDK.initPaymentWidget({
22
+ mode: Mode.MODAL,
23
+ orderToken: this.config.orderToken ?? '',
24
+ userToken: this.config.userToken,
25
+ paymentMethods: [{
26
+ paymentMethod: 'wallet',
27
+ processors: ['paypal_wallet'],
28
+ configuration: {
29
+ express: true,
30
+ flowType: {
31
+ type: 'twoStep'
32
+ }
33
+ }
34
+ }],
35
+ callbacks: {}
36
+ });
37
+ return {
38
+ status: 'success',
39
+ code: 'success',
40
+ message: 'Payment submitted successfully'
41
+ };
42
+ }
43
+ }
44
+ //# sourceMappingURL=SubmitStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeunaSDK","Mode","SubmitStrategy","constructor","config","type","PayPalSubmitStrategy","onDestroyed","deunaSDK","publicApiKey","environment","submit","initPaymentWidget","mode","MODAL","orderToken","userToken","paymentMethods","paymentMethod","processors","configuration","express","flowType","callbacks","status","code","message"],"sourceRoot":"../../../src","sources":["helpers/SubmitStrategy.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,gBAAa;AACtC,SAASC,IAAI,QAAQ,wBAAe;AAYpC,OAAO,MAAeC,cAAc,CAAC;EAEnCC,WAAWA,CACAC,MAA4B,EAC5BC,IAAwB,EACjC;IAAA,KAFSD,MAA4B,GAA5BA,MAA4B;IAAA,KAC5BC,IAAwB,GAAxBA,IAAwB;EAChC;AAGL;AAEA,OAAO,MAAMC,oBAAoB,SAASJ,cAAc,CAAC;EAGvDC,WAAWA,CACTC,MAA4B,EACnBG,WAAuB,EAChC;IACA,KAAK,CAACH,MAAM,EAAE,QAAQ,CAAC;IAAC,KAFfG,WAAuB,GAAvBA,WAAuB;IAGhC,IAAI,CAACC,QAAQ,GAAG,IAAIR,QAAQ,CAC1B;MACES,YAAY,EAAE,IAAI,CAACL,MAAM,CAACK,YAAY;MACtCC,WAAW,EAAE,IAAI,CAACN,MAAM,CAACM;IAC3B,CAAC,EACD,IAAI,CAACH,WACP,CAAC;EACH;EAEA,MAAMI,MAAMA,CAAA,EAA0B;IACpC,MAAM,IAAI,CAACH,QAAQ,CAACI,iBAAiB,CAAC;MACpCC,IAAI,EAAEZ,IAAI,CAACa,KAAK;MAChBC,UAAU,EAAE,IAAI,CAACX,MAAM,CAACW,UAAU,IAAI,EAAE;MACxCC,SAAS,EAAE,IAAI,CAACZ,MAAM,CAACY,SAAS;MAChCC,cAAc,EAAE,CACd;QACEC,aAAa,EAAE,QAAQ;QACvBC,UAAU,EAAE,CAAC,eAAe,CAAC;QAC7BC,aAAa,EAAE;UACbC,OAAO,EAAE,IAAI;UACbC,QAAQ,EAAE;YACRjB,IAAI,EAAE;UACR;QACF;MACF,CAAC,CACF;MACDkB,SAAS,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;IACX,CAAC;EACH;AACF","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ export class WebViewManager {
4
+ _controller = null;
5
+ _mode = null;
6
+ initialize = params => {
7
+ this._controller = params.controller;
8
+ this._controller.delegate = params.delegate;
9
+ this._mode = params.mode;
10
+ };
11
+ get isInitialized() {
12
+ return !!this._controller;
13
+ }
14
+ get mode() {
15
+ return this._mode;
16
+ }
17
+ get controller() {
18
+ if (!this._controller) {
19
+ throw new Error('WebView not initialized');
20
+ }
21
+ return this._controller;
22
+ }
23
+
24
+ /**
25
+ * Destroy the webview and the modal (if it exists)
26
+ */
27
+ destroy = () => {
28
+ this._controller?.dispose();
29
+ this._controller = null;
30
+ };
31
+ }
32
+ //# sourceMappingURL=ViewManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebViewManager","_controller","_mode","initialize","params","controller","delegate","mode","isInitialized","Error","destroy","dispose"],"sourceRoot":"../../../src","sources":["helpers/ViewManager.ts"],"mappings":";;AAMA,OAAO,MAAMA,cAAc,CAEzB;EACQC,WAAW,GAAa,IAAI;EAC5BC,KAAK,GAAgB,IAAI;EAEjCC,UAAU,GAAIC,MAIb,IAAW;IACV,IAAI,CAACH,WAAW,GAAGG,MAAM,CAACC,UAAU;IACpC,IAAI,CAACJ,WAAW,CAACK,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC3C,IAAI,CAACJ,KAAK,GAAGE,MAAM,CAACG,IAAI;EAC1B,CAAC;EAED,IAAIC,aAAaA,CAAA,EAAY;IAC3B,OAAO,CAAC,CAAC,IAAI,CAACP,WAAW;EAC3B;EAEA,IAAIM,IAAIA,CAAA,EAAgB;IACtB,OAAO,IAAI,CAACL,KAAK;EACnB;EAEA,IAAIG,UAAUA,CAAA,EAAM;IAClB,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAE;MACrB,MAAM,IAAIQ,KAAK,CAAC,yBAAyB,CAAC;IAC5C;IACA,OAAO,IAAI,CAACR,WAAW;EACzB;;EAEA;AACF;AACA;EACES,OAAO,GAAGA,CAAA,KAAM;IACd,IAAI,CAACT,WAAW,EAAEU,OAAO,CAAC,CAAC;IAC3B,IAAI,CAACV,WAAW,GAAG,IAAI;EACzB,CAAC;AACH","ignoreList":[]}
@@ -5,7 +5,7 @@ import { ElementsWidgetController } from "../controllers/ElementsWidgetControlle
5
5
  import { linkBuilders } from "../types/helpers/index.js";
6
6
  import { Mode } from "../interfaces/types.js";
7
7
  import { DeunaLogs } from "../DeunaLogs.js";
8
- export const getWidgetController = (config, props) => {
8
+ export const buildDeunaWidgetController = (config, props) => {
9
9
  const {
10
10
  widget,
11
11
  mode,
@@ -19,7 +19,10 @@ export const getWidgetController = (config, props) => {
19
19
  userToken: rest.userToken ?? '',
20
20
  language: rest.language ?? 'es',
21
21
  sessionId: rest.sessionId ?? '',
22
- mode: mode ?? Mode.MODAL
22
+ mode: mode === Mode.MODAL ? 'modal' : 'target',
23
+ ...(rest.domain && {
24
+ domain: rest.domain
25
+ })
23
26
  };
24
27
  const widgetMappers = {
25
28
  elements: () => ({
@@ -39,10 +42,15 @@ export const getWidgetController = (config, props) => {
39
42
  nextAction: () => baseParams,
40
43
  voucher: () => baseParams
41
44
  };
42
- const controller = widget === 'elements' ? new ElementsWidgetController(callbacks) : new PaymentWidgetController(callbacks);
45
+ const widgetConfig = {
46
+ orderToken: rest.orderToken,
47
+ behavior: rest.behavior,
48
+ userToken: rest.userToken
49
+ };
50
+ const controller = widget === 'elements' ? new ElementsWidgetController(callbacks, widgetConfig) : new PaymentWidgetController(callbacks, widgetConfig);
43
51
  controller.url = linkBuilders[widget](widgetMappers[widget]());
44
52
  controller.hidePayButton = rest.hidePayButton ?? false;
45
53
  DeunaLogs.info('👀 loading link', controller.url);
46
54
  return controller;
47
55
  };
48
- //# sourceMappingURL=getController.js.map
56
+ //# sourceMappingURL=buildDeunaWidgetController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","buildDeunaWidgetController","config","props","widget","mode","callbacks","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","domain","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentMethods","nextAction","voucher","widgetConfig","controller","url","hidePayButton","info"],"sourceRoot":"../../../src","sources":["helpers/buildDeunaWidgetController.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,wBAAwB,QAAQ,4CAAyC;AAQlF,SAASC,YAAY,QAAQ,2BAAkB;AAC/C,SAASC,IAAI,QAAQ,wBAAqB;AAC1C,SAASC,SAAS,QAAQ,iBAAc;AAwBxC,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,MAAwB,EACxBC,KAA4D,KACjC;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAElD,MAAMK,UAAU,GAAG;IACjBC,GAAG,EAAEP,MAAM,CAACQ,WAAY;IACxBC,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCC,UAAU,EAAEL,IAAI,CAACK,UAAU,IAAI,EAAE;IACjCC,SAAS,EAAEN,IAAI,CAACM,SAAS,IAAI,EAAE;IAC/BC,QAAQ,EAAEP,IAAI,CAACO,QAAQ,IAAI,IAAI;IAC/BC,SAAS,EAAER,IAAI,CAACQ,SAAS,IAAI,EAAE;IAC/BV,IAAI,EAAEA,IAAI,KAAKN,IAAI,CAACiB,KAAK,GAAG,OAAO,GAAG,QAAQ;IAC9C,IAAIT,IAAI,CAACU,MAAM,IAAI;MAAEA,MAAM,EAAEV,IAAI,CAACU;IAAO,CAAC;EAC5C,CAAC;EAED,MAAMC,aAAa,GAAG;IACpBC,QAAQ,EAAEA,CAAA,MAAO;MACf,GAAGX,UAAU;MACbY,QAAQ,EAAEb,IAAI,CAACa,QAAQ;MACvBC,SAAS,EAAEd,IAAI,CAACc,SAAS;MACzBC,QAAQ,EAAEf,IAAI,CAACe,QAAQ;MACvBC,gBAAgB,EAAEhB,IAAI,CAACgB,gBAAgB;MACvCC,KAAK,EAAGrB,KAAK,CAAmCqB;IAClD,CAAC,CAAC;IACFC,OAAO,EAAEA,CAAA,MAAO;MACd,GAAGjB,UAAU;MACbc,QAAQ,EAAEf,IAAI,CAACe,QAAQ;MACvBI,cAAc,EAAGvB,KAAK,CAAkCuB,cAAc;MACtEL,SAAS,EAAEd,IAAI,CAACc;IAClB,CAAC,CAAC;IACFM,UAAU,EAAEA,CAAA,KAAMnB,UAAU;IAC5BoB,OAAO,EAAEA,CAAA,KAAMpB;EACjB,CAAC;EAED,MAAMqB,YAAY,GAAG;IACnBjB,UAAU,EAAEL,IAAI,CAACK,UAAU;IAC3BU,QAAQ,EAAEf,IAAI,CAACe,QAAQ;IACvBT,SAAS,EAAEN,IAAI,CAACM;EAClB,CAAC;EAED,MAAMiB,UAAU,GACd1B,MAAM,KAAK,UAAU,GACjB,IAAIP,wBAAwB,CAACS,SAAS,EAAEuB,YAAY,CAAC,GACrD,IAAIjC,uBAAuB,CAACU,SAAS,EAAEuB,YAAY,CAAC;EAE1DC,UAAU,CAACC,GAAG,GAAGjC,YAAY,CAACM,MAAM,CAAC,CAACc,aAAa,CAACd,MAAM,CAAC,CAAC,CAAC,CAAC;EAC9D0B,UAAU,CAACE,aAAa,GAAGzB,IAAI,CAACyB,aAAa,IAAI,KAAK;EAEtDhC,SAAS,CAACiC,IAAI,CAAC,iBAAiB,EAAEH,UAAU,CAACC,GAAG,CAAC;EAEjD,OAAOD,UAAU;AACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ import { TWO_STEP_FLOW } from "../interfaces/constants.js";
4
+ import { PayPalSubmitStrategy } from "./SubmitStrategy.js";
5
+ export const getSubmitStrategy = async deunaSDK => {
6
+ const selectedPaymentMethod = await deunaSDK.getSelectedPaymentMethod();
7
+ if (!selectedPaymentMethod) {
8
+ return null;
9
+ }
10
+ const {
11
+ widgetConfig
12
+ } = deunaSDK.deunaWidgetManager.controller;
13
+ const processorName = selectedPaymentMethod.processor_name;
14
+ const configFlowType = selectedPaymentMethod.configuration?.flowType?.type;
15
+ const behaviorFlowType = widgetConfig.behavior?.paymentMethods?.flowType?.type;
16
+ const isTwoStepFlow = configFlowType === TWO_STEP_FLOW || !configFlowType && behaviorFlowType === TWO_STEP_FLOW;
17
+ if (isTwoStepFlow && processorName === 'paypal_wallet') {
18
+ return new PayPalSubmitStrategy({
19
+ publicApiKey: deunaSDK.config.publicApiKey,
20
+ environment: deunaSDK.config.environment ?? 'production',
21
+ orderToken: widgetConfig.orderToken,
22
+ userToken: widgetConfig.userToken
23
+ }, () => {
24
+ if (deunaSDK.submitStrategy) {
25
+ deunaSDK.submitStrategy = null;
26
+ deunaSDK.notifyListeners();
27
+ }
28
+ });
29
+ }
30
+ return null;
31
+ };
32
+ //# sourceMappingURL=getSubmitStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TWO_STEP_FLOW","PayPalSubmitStrategy","getSubmitStrategy","deunaSDK","selectedPaymentMethod","getSelectedPaymentMethod","widgetConfig","deunaWidgetManager","controller","processorName","processor_name","configFlowType","configuration","flowType","type","behaviorFlowType","behavior","paymentMethods","isTwoStepFlow","publicApiKey","config","environment","orderToken","userToken","submitStrategy","notifyListeners"],"sourceRoot":"../../../src","sources":["helpers/getSubmitStrategy.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,4BAAyB;AACvD,SAASC,oBAAoB,QAAwB,qBAAkB;AAEvE,OAAO,MAAMC,iBAAiB,GAAG,MAC/BC,QAAkB,IACiB;EACnC,MAAMC,qBAAqB,GAAG,MAAMD,QAAQ,CAACE,wBAAwB,CAAC,CAAC;EACvE,IAAI,CAACD,qBAAqB,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,MAAM;IAAEE;EAAa,CAAC,GAAGH,QAAQ,CAACI,kBAAkB,CAACC,UAAU;EAE/D,MAAMC,aAAa,GAAGL,qBAAqB,CAACM,cAAwB;EAEpE,MAAMC,cAAc,GAAGP,qBAAqB,CAACQ,aAAa,EAAEC,QAAQ,EAAEC,IAAI;EAC1E,MAAMC,gBAAgB,GACpBT,YAAY,CAACU,QAAQ,EAAEC,cAAc,EAAEJ,QAAQ,EAAEC,IAAI;EAEvD,MAAMI,aAAa,GACjBP,cAAc,KAAKX,aAAa,IAC/B,CAACW,cAAc,IAAII,gBAAgB,KAAKf,aAAc;EAEzD,IAAIkB,aAAa,IAAIT,aAAa,KAAK,eAAe,EAAE;IACtD,OAAO,IAAIR,oBAAoB,CAC7B;MACEkB,YAAY,EAAEhB,QAAQ,CAACiB,MAAM,CAACD,YAAY;MAC1CE,WAAW,EAAElB,QAAQ,CAACiB,MAAM,CAACC,WAAW,IAAI,YAAY;MACxDC,UAAU,EAAEhB,YAAY,CAACgB,UAAU;MACnCC,SAAS,EAAEjB,YAAY,CAACiB;IAC1B,CAAC,EACD,MAAM;MACJ,IAAIpB,QAAQ,CAACqB,cAAc,EAAE;QAC3BrB,QAAQ,CAACqB,cAAc,GAAG,IAAI;QAC9BrB,QAAQ,CAACsB,eAAe,CAAC,CAAC;MAC5B;IACF,CACF,CAAC;EACH;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -6,4 +6,6 @@ export const constants = {
6
6
  voucherPdfDownloadUrl: 'voucherPdfDownloadUrl'
7
7
  };
8
8
  export const DEVICE_FINGERPRINT_URL = 'https://cdn.stg.deuna.io/mobile-sdks/get_fraud_id.html';
9
+ export const TWO_STEP_FLOW = 'twoStep';
10
+ export const DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER = ['mercadopago.com'];
9
11
  //# sourceMappingURL=constants.js.map