@deuna/react-native-sdk 1.0.3 → 1.0.6

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 (124) hide show
  1. package/lib/module/DeunaSDK.js +87 -78
  2. package/lib/module/DeunaSDK.js.map +1 -1
  3. package/lib/module/components/DeunaWidget.js +27 -25
  4. package/lib/module/components/DeunaWidget.js.map +1 -1
  5. package/lib/module/components/ExternalUrlWebView.js +56 -0
  6. package/lib/module/components/ExternalUrlWebView.js.map +1 -0
  7. package/lib/module/controllers/BaseWebViewController.js +59 -23
  8. package/lib/module/controllers/BaseWebViewController.js.map +1 -1
  9. package/lib/module/controllers/ElementsWidgetController.js +2 -3
  10. package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
  11. package/lib/module/controllers/{OpenInNewTabController.js → ExternalUrlController.js} +4 -4
  12. package/lib/module/controllers/ExternalUrlController.js.map +1 -0
  13. package/lib/module/controllers/PaymentWidgetController.js +2 -2
  14. package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
  15. package/lib/module/helpers/Completer.js +2 -2
  16. package/lib/module/helpers/Completer.js.map +1 -1
  17. package/lib/module/helpers/CrossPlatformBrowser.js +51 -0
  18. package/lib/module/helpers/CrossPlatformBrowser.js.map +1 -0
  19. package/lib/module/helpers/ExternalUrlHelper.js +96 -0
  20. package/lib/module/helpers/ExternalUrlHelper.js.map +1 -0
  21. package/lib/module/helpers/ViewManager.js +32 -0
  22. package/lib/module/helpers/ViewManager.js.map +1 -0
  23. package/lib/module/helpers/{getController.js → buildDeunaWidgetController.js} +20 -10
  24. package/lib/module/helpers/buildDeunaWidgetController.js.map +1 -0
  25. package/lib/module/helpers/getSubmitStrategy.js +1 -1
  26. package/lib/module/helpers/getSubmitStrategy.js.map +1 -1
  27. package/lib/module/interfaces/constants.js +1 -0
  28. package/lib/module/interfaces/constants.js.map +1 -1
  29. package/lib/module/interfaces/types.js.map +1 -1
  30. package/lib/module/types/base.js.map +1 -1
  31. package/lib/module/types/envs.js +48 -0
  32. package/lib/module/types/envs.js.map +1 -0
  33. package/lib/module/types/fraudProviders.js +4 -0
  34. package/lib/module/types/fraudProviders.js.map +1 -0
  35. package/lib/module/types/helpers/buildElementsLink.js +15 -6
  36. package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
  37. package/lib/module/types/helpers/buildPaymentLink.js +7 -3
  38. package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
  39. package/lib/module/types/helpers/buildVoucherLink.js +3 -1
  40. package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
  41. package/lib/module/types/helpers/constants.js +4 -0
  42. package/lib/module/types/helpers/constants.js.map +1 -0
  43. package/lib/module/types/helpers/urlConfig.js +1 -1
  44. package/lib/module/types/helpers/urlConfig.js.map +1 -1
  45. package/lib/module/types/utils/addSearchParamWhen.js +8 -0
  46. package/lib/module/types/utils/addSearchParamWhen.js.map +1 -0
  47. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +9 -11
  48. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
  49. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
  50. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts +7 -0
  51. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts.map +1 -0
  52. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +9 -7
  53. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
  54. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
  55. package/lib/typescript/deuna-sdk-react-native/src/controllers/{OpenInNewTabController.d.ts → ExternalUrlController.d.ts} +2 -2
  56. package/lib/typescript/deuna-sdk-react-native/src/controllers/ExternalUrlController.d.ts.map +1 -0
  57. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts +25 -0
  58. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts.map +1 -0
  59. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts +48 -0
  60. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts.map +1 -0
  61. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts +19 -0
  62. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts.map +1 -0
  63. package/lib/typescript/deuna-sdk-react-native/src/helpers/{getController.d.ts → buildDeunaWidgetController.d.ts} +4 -2
  64. package/lib/typescript/deuna-sdk-react-native/src/helpers/buildDeunaWidgetController.d.ts.map +1 -0
  65. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +1 -0
  66. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
  67. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +4 -0
  68. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
  69. package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +2 -0
  70. package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts.map +1 -1
  71. package/lib/typescript/deuna-sdk-react-native/src/types/envs.d.ts +45 -0
  72. package/lib/typescript/deuna-sdk-react-native/src/types/envs.d.ts.map +1 -0
  73. package/lib/typescript/deuna-sdk-react-native/src/types/fraudProviders.d.ts +68 -0
  74. package/lib/typescript/deuna-sdk-react-native/src/types/fraudProviders.d.ts.map +1 -0
  75. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +15 -0
  76. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
  77. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
  78. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
  79. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts +2 -0
  80. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts.map +1 -0
  81. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts +1 -0
  82. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts.map +1 -1
  83. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts +8 -0
  84. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts.map +1 -1
  85. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts +2 -0
  86. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts.map +1 -1
  87. package/lib/typescript/deuna-sdk-react-native/src/types/utils/addSearchParamWhen.d.ts +3 -0
  88. package/lib/typescript/deuna-sdk-react-native/src/types/utils/addSearchParamWhen.d.ts.map +1 -0
  89. package/package.json +3 -1
  90. package/src/DeunaSDK.ts +103 -90
  91. package/src/components/DeunaWidget.tsx +38 -35
  92. package/src/components/ExternalUrlWebView.tsx +65 -0
  93. package/src/controllers/BaseWebViewController.ts +70 -29
  94. package/src/controllers/ElementsWidgetController.ts +2 -3
  95. package/src/controllers/{OpenInNewTabController.ts → ExternalUrlController.ts} +3 -3
  96. package/src/controllers/PaymentWidgetController.ts +2 -2
  97. package/src/helpers/Completer.ts +2 -2
  98. package/src/helpers/CrossPlatformBrowser.ts +49 -0
  99. package/src/helpers/ExternalUrlHelper.ts +118 -0
  100. package/src/helpers/ViewManager.ts +45 -0
  101. package/src/helpers/{getController.ts → buildDeunaWidgetController.ts} +41 -12
  102. package/src/helpers/getSubmitStrategy.ts +1 -1
  103. package/src/interfaces/constants.ts +2 -0
  104. package/src/interfaces/types.ts +4 -0
  105. package/src/types/base.ts +2 -0
  106. package/src/types/envs.ts +50 -0
  107. package/src/types/fraudProviders.ts +98 -0
  108. package/src/types/helpers/buildElementsLink.ts +19 -11
  109. package/src/types/helpers/buildPaymentLink.ts +7 -2
  110. package/src/types/helpers/buildVoucherLink.ts +2 -0
  111. package/src/types/helpers/constants.ts +1 -0
  112. package/src/types/helpers/urlConfig.ts +3 -1
  113. package/src/types/interfaces/callbacks.ts +10 -1
  114. package/src/types/interfaces/initWidgetBase.ts +2 -0
  115. package/src/types/utils/addSearchParamWhen.ts +11 -0
  116. package/lib/module/components/NewTabWebView.js +0 -56
  117. package/lib/module/components/NewTabWebView.js.map +0 -1
  118. package/lib/module/controllers/OpenInNewTabController.js.map +0 -1
  119. package/lib/module/helpers/getController.js.map +0 -1
  120. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts +0 -7
  121. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +0 -1
  122. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +0 -1
  123. package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +0 -1
  124. package/src/components/NewTabWebView.tsx +0 -64
@@ -2,37 +2,25 @@
2
2
 
3
3
  import { BaseDeuna } from "./types/index.js";
4
4
  import { PaymentWidgetController } from "./controllers/PaymentWidgetController.js";
5
- import { OpenInNewTabController } from "./controllers/OpenInNewTabController.js";
6
- import { getWidgetController } from "./helpers/getController.js";
7
- import { Completer } from "./helpers/Completer.js";
5
+ import { buildDeunaWidgetController } from "./helpers/buildDeunaWidgetController.js";
8
6
  import { ElementsWidgetController } from "./controllers/ElementsWidgetController.js";
9
7
  import { DownloadType, Mode } from "./interfaces/types.js";
10
- import { Platform } from 'react-native';
11
8
  import { DeviceFingerprintController } from "./controllers/DeviceFingerprintController.js";
12
- import { DEVICE_FINGERPRINT_URL } from "./interfaces/constants.js";
9
+ import { DEVICE_FINGERPRINT_URL, DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER } from "./interfaces/constants.js";
13
10
  import { getSubmitStrategy } from "./helpers/getSubmitStrategy.js";
11
+ import { WebViewManager } from "./helpers/ViewManager.js";
12
+ import { ExternalUrlBrowser, ExternalUrlHelper } from "./helpers/ExternalUrlHelper.js";
14
13
  export class DeunaSDK extends BaseDeuna {
15
14
  constructor(config, onDestroyed) {
16
15
  super();
17
16
  this.config = config;
18
17
  this.onDestroyed = onDestroyed;
19
18
  }
20
- mode = null;
21
19
  listeners = new Set();
22
- webViewController = null;
23
- newTabWebViewController = null;
20
+ deunaWidgetManager = new WebViewManager();
21
+ externalUrlHelper = new ExternalUrlHelper();
24
22
  deviceFingerprintController = null;
25
23
  submitStrategy = null;
26
- modalDismissPromise = null;
27
- newTabModalDismissPromise = null;
28
- get safeWebViewController() {
29
- if (!this.webViewController) {
30
- const errorMessage = 'A variant of the init method must be called first. Please call initPaymentWidget, initVoucherWidget, or another init method before using this functionality.';
31
- console.error(errorMessage);
32
- throw new Error(errorMessage);
33
- }
34
- return this.webViewController;
35
- }
36
24
 
37
25
  /**
38
26
  * Generates a device fingerprint, creates a invisible webview to get the device fingerprint
@@ -64,12 +52,11 @@ export class DeunaSDK extends BaseDeuna {
64
52
  controller,
65
53
  mode
66
54
  } = params;
67
- this.mode = mode ?? Mode.MODAL;
68
- if (this.mode === Mode.MODAL && Platform.OS === 'ios') {
69
- this.modalDismissPromise = new Completer();
70
- }
71
- this.webViewController = controller;
72
- this.webViewController.delegate = this.buildDelegate();
55
+ this.deunaWidgetManager.initialize({
56
+ controller,
57
+ mode: mode ?? Mode.MODAL,
58
+ delegate: this.buildDelegate()
59
+ });
73
60
  this.notifyListeners();
74
61
  };
75
62
 
@@ -80,9 +67,10 @@ export class DeunaSDK extends BaseDeuna {
80
67
  */
81
68
  async initPaymentWidget(props) {
82
69
  this.setWidgetController({
83
- controller: getWidgetController(this.config, {
70
+ controller: buildDeunaWidgetController(this.config, {
84
71
  widget: 'payment',
85
- ...props
72
+ ...props,
73
+ sdkInstance: this
86
74
  }),
87
75
  mode: props.mode
88
76
  });
@@ -95,7 +83,7 @@ export class DeunaSDK extends BaseDeuna {
95
83
  */
96
84
  async initElements(props) {
97
85
  this.setWidgetController({
98
- controller: getWidgetController(this.config, {
86
+ controller: buildDeunaWidgetController(this.config, {
99
87
  widget: 'elements',
100
88
  ...props
101
89
  }),
@@ -110,7 +98,7 @@ export class DeunaSDK extends BaseDeuna {
110
98
  */
111
99
  async initNextAction(props) {
112
100
  this.setWidgetController({
113
- controller: getWidgetController(this.config, {
101
+ controller: buildDeunaWidgetController(this.config, {
114
102
  widget: 'nextAction',
115
103
  ...props
116
104
  }),
@@ -125,7 +113,7 @@ export class DeunaSDK extends BaseDeuna {
125
113
  */
126
114
  async initVoucherWidget(props) {
127
115
  this.setWidgetController({
128
- controller: getWidgetController(this.config, {
116
+ controller: buildDeunaWidgetController(this.config, {
129
117
  widget: 'voucher',
130
118
  ...props
131
119
  }),
@@ -133,59 +121,66 @@ export class DeunaSDK extends BaseDeuna {
133
121
  });
134
122
  }
135
123
  isValid = async () => {
136
- return this.safeWebViewController.isValid();
124
+ return this.deunaWidgetManager.controller.isValid();
137
125
  };
138
126
  submit = async () => {
139
127
  this.getStateFn = () => this.getWidgetState();
140
128
  const submitStrategy = await getSubmitStrategy(this);
141
129
  if (!submitStrategy) {
142
- return this.safeWebViewController.submit();
130
+ return this.deunaWidgetManager.controller.submit();
143
131
  }
144
132
  this.submitStrategy = submitStrategy;
145
133
  this.notifyListeners();
146
134
  return this.submitStrategy.submit();
147
135
  };
148
136
  setCustomStyle = async style => {
149
- return this.safeWebViewController.setCustomStyle(style);
137
+ return this.deunaWidgetManager.controller.setCustomStyle(style);
150
138
  };
151
139
  refetchOrder = async () => {
152
- return this.safeWebViewController.refetchOrder();
140
+ return this.deunaWidgetManager.controller.refetchOrder();
153
141
  };
154
142
  getWidgetState = async () => {
155
- return this.safeWebViewController.getWidgetState();
143
+ return this.deunaWidgetManager.controller.getWidgetState();
156
144
  };
157
145
 
158
146
  /**
159
147
  * Closes the DEUNA widget and releases the resources
160
148
  */
161
149
  close = async () => {
162
- if (this.webViewController instanceof PaymentWidgetController) {
163
- this.webViewController.callbacks.onClosed?.(this.webViewController.closedAction);
164
- } else if (this.webViewController instanceof ElementsWidgetController) {
165
- this.webViewController.callbacks.onClosed?.(this.webViewController.closedAction);
150
+ if (!this.deunaWidgetManager.isInitialized) {
151
+ return;
166
152
  }
167
- this.onCloseNewTab();
168
- await this.newTabModalDismissPromise?.wait;
169
- this.newTabWebViewController?.dispose();
170
- this.webViewController?.dispose();
171
- // reset all prop
172
- this.newTabWebViewController = null;
173
- this.webViewController = null;
174
- this.mode = null;
175
- await this.submitStrategy?.deunaSDK.close();
176
- this.submitStrategy = null;
177
- this.notifyListeners();
153
+ try {
154
+ let onClosedCallback;
155
+ const closedAction = this.deunaWidgetManager.controller.closedAction;
156
+ if (this.deunaWidgetManager.controller instanceof PaymentWidgetController) {
157
+ onClosedCallback = this.deunaWidgetManager.controller.callbacks.onClosed;
158
+ } else if (this.deunaWidgetManager.controller instanceof ElementsWidgetController) {
159
+ onClosedCallback = this.deunaWidgetManager.controller.callbacks.onClosed;
160
+ }
178
161
 
179
- // if the widget was shown in modal mode, wait for the modal to be dismissed
180
- await this.modalDismissPromise?.wait;
181
- this.modalDismissPromise = null;
182
- this.onDestroyed?.();
183
- };
184
- onModalDismissed = () => {
185
- this.modalDismissPromise?.complete();
186
- };
187
- onNewTabDismissed = () => {
188
- this.newTabModalDismissPromise?.complete();
162
+ // If the external url was opened in a Safari View Controller or a Custom Chrome Tab
163
+ // we need to wait until the browser is dismissed
164
+ await this.externalUrlHelper.waitForClose();
165
+
166
+ // Destroy the main webview and dismiss the modal
167
+ this.deunaWidgetManager.destroy();
168
+
169
+ // Close the submit strategy if it exists
170
+ await this.submitStrategy?.deunaSDK.close();
171
+ this.submitStrategy = null;
172
+
173
+ // Notify listeners that the widget has been closed
174
+ this.notifyListeners();
175
+
176
+ // Notify the user that the widget has been closed
177
+ this.onDestroyed?.();
178
+
179
+ // Notify the widget that the user has closed the widget
180
+ onClosedCallback?.(closedAction);
181
+ } catch (error) {
182
+ console.error('Error closing the widget', error);
183
+ }
189
184
  };
190
185
  addListener = listener => {
191
186
  this.listeners.add(listener);
@@ -197,20 +192,22 @@ export class DeunaSDK extends BaseDeuna {
197
192
  this.listeners.forEach(listener => listener());
198
193
  };
199
194
  notifyDownloadFile = url => {
200
- if (this.safeWebViewController instanceof PaymentWidgetController) {
201
- this.safeWebViewController.callbacks.onDownloadFile?.({
195
+ if (this.deunaWidgetManager.controller instanceof PaymentWidgetController) {
196
+ this.deunaWidgetManager.controller.callbacks.onDownloadFile?.({
202
197
  type: DownloadType.URL,
203
198
  data: url
204
199
  });
205
200
  }
206
201
  };
207
- onCloseNewTab = () => {
208
- if (this.webViewController) {
209
- this.webViewController.redirectUrl = null;
202
+
203
+ /**
204
+ * Closes the external URL Webview
205
+ */
206
+ onCloseExternalUrl = async () => {
207
+ if (this.externalUrlHelper.externalUrlWebViewController) {
208
+ await this.externalUrlHelper.closeWebView();
209
+ this.notifyListeners();
210
210
  }
211
- this.newTabWebViewController?.dispose();
212
- this.newTabWebViewController = null;
213
- this.notifyListeners();
214
211
  };
215
212
 
216
213
  /**
@@ -221,21 +218,33 @@ export class DeunaSDK extends BaseDeuna {
221
218
  */
222
219
  buildDelegate = () => {
223
220
  return {
224
- onOpenInNewTab: url => {
225
- this.newTabWebViewController = new OpenInNewTabController(url);
226
- if (Platform.OS === 'ios') {
227
- this.newTabModalDismissPromise = new Completer();
221
+ onOpenExternalUrl: url => {
222
+ try {
223
+ const host = new URL(url).host;
224
+ let browser = ExternalUrlBrowser.WEB_VIEW;
225
+ // Check if the URL is from a domain that must be opened in a cross platform browser (SafariView or Chrome Custom Tab)
226
+ for (const domain of DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER) {
227
+ if (host.includes(domain)) {
228
+ browser = ExternalUrlBrowser.CROSS_PLATFORM_BROWSER;
229
+ break;
230
+ }
231
+ }
232
+ this.externalUrlHelper.openUrl({
233
+ url,
234
+ browser,
235
+ delegate: {
236
+ onCloseExternalUrl: this.onCloseExternalUrl,
237
+ onFileDownload: this.notifyDownloadFile
238
+ }
239
+ });
240
+ this.notifyListeners();
241
+ } catch (error) {
242
+ console.error('Error opening external URL', error);
228
243
  }
229
- this.newTabWebViewController.delegate = {
230
- onFileDownload: this.notifyDownloadFile,
231
- onNewTabWindowClose: this.onCloseNewTab
232
- };
233
- this.notifyListeners();
234
244
  },
245
+ onCloseExternalUrl: this.onCloseExternalUrl,
235
246
  onCloseButtonPressed: this.close,
236
247
  // Close the payment widget when the user presses the close button
237
- onCloseSubWebView: this.onCloseNewTab,
238
- // Close the new tab web view when the DEUNA widget emits an error event or when the purchase is successful
239
248
  onFileDownload: this.notifyDownloadFile // Notify the user when a request to download a file is made
240
249
  };
241
250
  };
@@ -1 +1 @@
1
- {"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeviceFingerprintController","DEVICE_FINGERPRINT_URL","getSubmitStrategy","DeunaSDK","constructor","config","onDestroyed","mode","listeners","Set","webViewController","newTabWebViewController","deviceFingerprintController","submitStrategy","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","getStateFn","getWidgetState","setCustomStyle","style","refetchOrder","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","deunaSDK","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":[]}
1
+ {"version":3,"names":["BaseDeuna","PaymentWidgetController","buildDeunaWidgetController","ElementsWidgetController","DownloadType","Mode","DeviceFingerprintController","DEVICE_FINGERPRINT_URL","DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER","getSubmitStrategy","WebViewManager","ExternalUrlBrowser","ExternalUrlHelper","DeunaSDK","constructor","config","onDestroyed","listeners","Set","deunaWidgetManager","externalUrlHelper","deviceFingerprintController","submitStrategy","getSessionId","params","publicApiKey","environment","url","notifyListeners","deviceFingerprint","generateDeviceFingerprint","dispose","initialize","setWidgetController","controller","mode","MODAL","delegate","buildDelegate","initPaymentWidget","props","widget","sdkInstance","initElements","initNextAction","initVoucherWidget","isValid","submit","getStateFn","getWidgetState","setCustomStyle","style","refetchOrder","close","isInitialized","onClosedCallback","closedAction","callbacks","onClosed","waitForClose","destroy","deunaSDK","error","console","addListener","listener","add","removeListener","delete","forEach","notifyDownloadFile","onDownloadFile","type","URL","data","onCloseExternalUrl","externalUrlWebViewController","closeWebView","onOpenExternalUrl","host","browser","WEB_VIEW","domain","includes","CROSS_PLATFORM_BROWSER","openUrl","onFileDownload","onCloseButtonPressed"],"sourceRoot":"../../src","sources":["DeunaSDK.ts"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,9 @@
3
3
  import { Modal, SafeAreaView, StyleSheet, View } from 'react-native';
4
4
  import { useEffect, useRef, useState } from 'react';
5
5
  import { DeunaWebView } from "./DeunaWebView.js";
6
- import { NewTabWebView } from "./NewTabWebView.js";
7
6
  import { Mode } from "../interfaces/types.js";
8
7
  import { DeviceFingerprintWebView } from "./DeviceFingerprintWebView.js";
8
+ import { ExternalUrlWebView } from "./ExternalUrlWebView.js";
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  export const DeunaWidget = props => {
11
11
  const {
@@ -38,7 +38,7 @@ const DeunaWidgetContainer = props => {
38
38
  instance
39
39
  } = props;
40
40
  const instanceRef = useRef(instance);
41
- const [mode, setMode] = useState(instance.mode);
41
+ const [isVisible, setIsVisible] = useState(instanceRef.current.deunaWidgetManager.isInitialized);
42
42
  useEffect(() => {
43
43
  instanceRef.current = instance;
44
44
  }, [instance]);
@@ -47,59 +47,61 @@ const DeunaWidgetContainer = props => {
47
47
  // has changed
48
48
  useEffect(() => {
49
49
  const listener = () => {
50
- setMode(instanceRef.current.mode);
50
+ setIsVisible(instanceRef.current.deunaWidgetManager.isInitialized);
51
51
  };
52
52
  instanceRef.current.addListener(listener);
53
53
  return () => {
54
54
  instanceRef.current.removeListener(listener);
55
- instanceRef.current.webViewController?.dispose();
55
+ if (instanceRef.current.deunaWidgetManager.isInitialized) {
56
+ instanceRef.current.deunaWidgetManager.controller?.dispose();
57
+ }
56
58
  };
57
59
  }, []);
58
- const isModal = mode === Mode.MODAL;
59
- const isEmbedded = mode === Mode.EMBEDDED;
60
60
 
61
61
  /**
62
62
  * This function is used to close the widget
63
63
  */
64
64
  const onClose = () => {
65
- const controller = instanceRef.current.webViewController;
65
+ const controller = instanceRef.current.deunaWidgetManager.controller;
66
66
  controller.closedAction = 'userAction';
67
67
  instanceRef.current.close();
68
68
  };
69
69
 
70
70
  // render the widget if mode is not null
71
+ const viewManager = instanceRef.current.deunaWidgetManager;
72
+ const controller = viewManager.isInitialized ? viewManager.controller : null;
73
+ const isModal = isVisible && viewManager.mode === Mode.MODAL;
74
+ const isEmbedded = isVisible && viewManager.mode === Mode.EMBEDDED;
71
75
  return /*#__PURE__*/_jsxs(_Fragment, {
72
- children: [/*#__PURE__*/_jsx(Modal, {
76
+ children: [isModal && /*#__PURE__*/_jsx(Modal, {
73
77
  presentationStyle: "pageSheet",
74
78
  animationType: "slide",
75
79
  onRequestClose: onClose,
76
- onDismiss: instanceRef.current.onModalDismissed,
77
- visible: isModal,
78
- children: isModal && /*#__PURE__*/_jsx(SafeAreaView, {
80
+ children: /*#__PURE__*/_jsx(SafeAreaView, {
79
81
  style: styles.container,
80
82
  children: /*#__PURE__*/_jsxs(View, {
81
83
  style: styles.container,
82
84
  children: [/*#__PURE__*/_jsx(DeunaWebView, {
83
- url: instanceRef.current.webViewController?.url ?? '',
84
- onWebView: instanceRef.current.webViewController?.setWebView,
85
- onMessage: instanceRef.current.webViewController?.onMessage,
86
- onLoad: instanceRef.current.webViewController?.onLoad,
87
- onError: instanceRef.current.webViewController?.onError,
88
- onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
89
- }), /*#__PURE__*/_jsx(NewTabWebView, {
85
+ url: controller?.url ?? '',
86
+ onWebView: controller?.setWebView,
87
+ onMessage: controller?.onMessage,
88
+ onLoad: controller?.onLoad,
89
+ onError: controller?.onError,
90
+ onShouldStartLoadWithRequest: controller?.onShouldStartLoadWithRequest
91
+ }), /*#__PURE__*/_jsx(ExternalUrlWebView, {
90
92
  instance: instanceRef.current
91
93
  })]
92
94
  })
93
95
  })
94
- }), isEmbedded && /*#__PURE__*/_jsx(NewTabWebView, {
96
+ }), isEmbedded && /*#__PURE__*/_jsx(ExternalUrlWebView, {
95
97
  instance: instanceRef.current
96
98
  }), isEmbedded && /*#__PURE__*/_jsx(DeunaWebView, {
97
- url: instanceRef.current.webViewController?.url ?? '',
98
- onWebView: instanceRef.current.webViewController?.setWebView,
99
- onMessage: instanceRef.current.webViewController?.onMessage,
100
- onLoad: instanceRef.current.webViewController?.onLoad,
101
- onError: instanceRef.current.webViewController?.onError,
102
- onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
99
+ url: controller?.url ?? '',
100
+ onWebView: controller?.setWebView,
101
+ onMessage: controller?.onMessage,
102
+ onLoad: controller?.onLoad,
103
+ onError: controller?.onError,
104
+ onShouldStartLoadWithRequest: controller?.onShouldStartLoadWithRequest
103
105
  }), /*#__PURE__*/_jsx(DeviceFingerprintWebView, {
104
106
  instance: instanceRef.current
105
107
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","DeviceFingerprintWebView","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DeunaWidget","props","instance","instanceRef","showPaymentStrategy","setShowPaymentStrategy","current","listener","submitStrategy","addListener","removeListener","children","DeunaWidgetContainer","deunaSDK","mode","setMode","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","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":[]}
1
+ {"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","Mode","DeviceFingerprintWebView","ExternalUrlWebView","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DeunaWidget","props","instance","instanceRef","showPaymentStrategy","setShowPaymentStrategy","current","listener","submitStrategy","addListener","removeListener","children","DeunaWidgetContainer","deunaSDK","isVisible","setIsVisible","deunaWidgetManager","isInitialized","controller","dispose","onClose","closedAction","close","viewManager","isModal","mode","MODAL","isEmbedded","EMBEDDED","presentationStyle","animationType","onRequestClose","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,56 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { Modal, SafeAreaView, StyleSheet } from 'react-native';
5
+ import { DeunaWebView } from "./DeunaWebView.js";
6
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
7
+ export const ExternalUrlWebView = 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.externalUrlHelper.externalUrlWebViewController;
23
+ setVisible(isVisible);
24
+ };
25
+ instanceRef.current.addListener(listener);
26
+ return () => {
27
+ ref.removeListener(listener);
28
+ ref.externalUrlHelper.externalUrlWebViewController?.dispose();
29
+ };
30
+ }, []);
31
+ const externalUrlWebViewController = instanceRef.current.externalUrlHelper.externalUrlWebViewController;
32
+ return /*#__PURE__*/_jsx(_Fragment, {
33
+ children: visible && /*#__PURE__*/_jsx(Modal, {
34
+ presentationStyle: "pageSheet",
35
+ animationType: "slide",
36
+ onRequestClose: instanceRef.current.onCloseExternalUrl,
37
+ children: /*#__PURE__*/_jsx(SafeAreaView, {
38
+ style: styles.container,
39
+ children: /*#__PURE__*/_jsx(DeunaWebView, {
40
+ url: externalUrlWebViewController?.url ?? '',
41
+ onWebView: externalUrlWebViewController?.setWebView,
42
+ onMessage: externalUrlWebViewController?.onMessage,
43
+ onLoad: externalUrlWebViewController?.onLoad,
44
+ onError: externalUrlWebViewController?.onError,
45
+ onShouldStartLoadWithRequest: externalUrlWebViewController?.onShouldStartLoadWithRequest
46
+ })
47
+ })
48
+ })
49
+ });
50
+ };
51
+ const styles = StyleSheet.create({
52
+ container: {
53
+ flex: 1
54
+ }
55
+ });
56
+ //# sourceMappingURL=ExternalUrlWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useState","Modal","SafeAreaView","StyleSheet","DeunaWebView","jsx","_jsx","Fragment","_Fragment","ExternalUrlWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","externalUrlHelper","externalUrlWebViewController","addListener","removeListener","dispose","children","presentationStyle","animationType","onRequestClose","onCloseExternalUrl","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/ExternalUrlWebView.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,EAAAC,QAAA,IAAAC,SAAA;AAM9C,OAAO,MAAMC,kBAAkB,GAAIC,KAA8B,IAAK;EACpE,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGb,MAAM,CAAWY,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdc,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAb,SAAS,CAAC,MAAM;IACd,MAAMkB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,iBAAiB,CAACC,4BAA4B;MACtEN,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACM,WAAW,CAACJ,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACM,cAAc,CAACL,QAAQ,CAAC;MAC5BD,GAAG,CAACG,iBAAiB,CAACC,4BAA4B,EAAEG,OAAO,CAAC,CAAC;IAC/D,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMH,4BAA4B,GAChCR,WAAW,CAACG,OAAO,CAACI,iBAAiB,CAACC,4BAA4B;EAEpE,oBACEd,IAAA,CAAAE,SAAA;IAAAgB,QAAA,EACGX,OAAO,iBACNP,IAAA,CAACL,KAAK;MACJwB,iBAAiB,EAAC,WAAW;MAC7BC,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAEf,WAAW,CAACG,OAAO,CAACa,kBAAmB;MAAAJ,QAAA,eAEvDlB,IAAA,CAACJ,YAAY;QAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAP,QAAA,eACpClB,IAAA,CAACF,YAAY;UACX4B,GAAG,EAAEZ,4BAA4B,EAAEY,GAAG,IAAI,EAAG;UAC7CC,SAAS,EAAEb,4BAA4B,EAAEc,UAAW;UACpDC,SAAS,EAAEf,4BAA4B,EAAEe,SAAU;UACnDC,MAAM,EAAEhB,4BAA4B,EAAEgB,MAAO;UAC7CC,OAAO,EAAEjB,4BAA4B,EAAEiB,OAAQ;UAC/CC,4BAA4B,EAC1BlB,4BAA4B,EAAEkB;QAC/B,CACF;MAAC,CACU;IAAC,CACV;EACR,CACD,CAAC;AAEP,CAAC;AAED,MAAMR,MAAM,GAAG3B,UAAU,CAACoC,MAAM,CAAC;EAAER,SAAS,EAAE;IAAES,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}