@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.
- package/lib/module/DeunaSDK.js +87 -78
- package/lib/module/DeunaSDK.js.map +1 -1
- package/lib/module/components/DeunaWidget.js +27 -25
- package/lib/module/components/DeunaWidget.js.map +1 -1
- package/lib/module/components/ExternalUrlWebView.js +56 -0
- package/lib/module/components/ExternalUrlWebView.js.map +1 -0
- package/lib/module/controllers/BaseWebViewController.js +59 -23
- package/lib/module/controllers/BaseWebViewController.js.map +1 -1
- package/lib/module/controllers/ElementsWidgetController.js +2 -3
- package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
- package/lib/module/controllers/{OpenInNewTabController.js → ExternalUrlController.js} +4 -4
- package/lib/module/controllers/ExternalUrlController.js.map +1 -0
- package/lib/module/controllers/PaymentWidgetController.js +2 -2
- package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
- package/lib/module/helpers/Completer.js +2 -2
- package/lib/module/helpers/Completer.js.map +1 -1
- package/lib/module/helpers/CrossPlatformBrowser.js +51 -0
- package/lib/module/helpers/CrossPlatformBrowser.js.map +1 -0
- package/lib/module/helpers/ExternalUrlHelper.js +96 -0
- package/lib/module/helpers/ExternalUrlHelper.js.map +1 -0
- package/lib/module/helpers/ViewManager.js +32 -0
- package/lib/module/helpers/ViewManager.js.map +1 -0
- package/lib/module/helpers/{getController.js → buildDeunaWidgetController.js} +20 -10
- package/lib/module/helpers/buildDeunaWidgetController.js.map +1 -0
- package/lib/module/helpers/getSubmitStrategy.js +1 -1
- package/lib/module/helpers/getSubmitStrategy.js.map +1 -1
- package/lib/module/interfaces/constants.js +1 -0
- package/lib/module/interfaces/constants.js.map +1 -1
- package/lib/module/interfaces/types.js.map +1 -1
- package/lib/module/types/base.js.map +1 -1
- package/lib/module/types/envs.js +48 -0
- package/lib/module/types/envs.js.map +1 -0
- package/lib/module/types/fraudProviders.js +4 -0
- package/lib/module/types/fraudProviders.js.map +1 -0
- package/lib/module/types/helpers/buildElementsLink.js +15 -6
- package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
- package/lib/module/types/helpers/buildPaymentLink.js +7 -3
- package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
- package/lib/module/types/helpers/buildVoucherLink.js +3 -1
- package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
- package/lib/module/types/helpers/constants.js +4 -0
- package/lib/module/types/helpers/constants.js.map +1 -0
- package/lib/module/types/helpers/urlConfig.js +1 -1
- package/lib/module/types/helpers/urlConfig.js.map +1 -1
- package/lib/module/types/utils/addSearchParamWhen.js +8 -0
- package/lib/module/types/utils/addSearchParamWhen.js.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +9 -11
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts +7 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +9 -7
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/{OpenInNewTabController.d.ts → ExternalUrlController.d.ts} +2 -2
- package/lib/typescript/deuna-sdk-react-native/src/controllers/ExternalUrlController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts +25 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts +48 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts +19 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/helpers/{getController.d.ts → buildDeunaWidgetController.d.ts} +4 -2
- package/lib/typescript/deuna-sdk-react-native/src/helpers/buildDeunaWidgetController.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +4 -0
- package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/envs.d.ts +45 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/envs.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/fraudProviders.d.ts +68 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/fraudProviders.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +15 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts.map +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts +8 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts +2 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/addSearchParamWhen.d.ts +3 -0
- package/lib/typescript/deuna-sdk-react-native/src/types/utils/addSearchParamWhen.d.ts.map +1 -0
- package/package.json +3 -1
- package/src/DeunaSDK.ts +103 -90
- package/src/components/DeunaWidget.tsx +38 -35
- package/src/components/ExternalUrlWebView.tsx +65 -0
- package/src/controllers/BaseWebViewController.ts +70 -29
- package/src/controllers/ElementsWidgetController.ts +2 -3
- package/src/controllers/{OpenInNewTabController.ts → ExternalUrlController.ts} +3 -3
- package/src/controllers/PaymentWidgetController.ts +2 -2
- package/src/helpers/Completer.ts +2 -2
- package/src/helpers/CrossPlatformBrowser.ts +49 -0
- package/src/helpers/ExternalUrlHelper.ts +118 -0
- package/src/helpers/ViewManager.ts +45 -0
- package/src/helpers/{getController.ts → buildDeunaWidgetController.ts} +41 -12
- package/src/helpers/getSubmitStrategy.ts +1 -1
- package/src/interfaces/constants.ts +2 -0
- package/src/interfaces/types.ts +4 -0
- package/src/types/base.ts +2 -0
- package/src/types/envs.ts +50 -0
- package/src/types/fraudProviders.ts +98 -0
- package/src/types/helpers/buildElementsLink.ts +19 -11
- package/src/types/helpers/buildPaymentLink.ts +7 -2
- package/src/types/helpers/buildVoucherLink.ts +2 -0
- package/src/types/helpers/constants.ts +1 -0
- package/src/types/helpers/urlConfig.ts +3 -1
- package/src/types/interfaces/callbacks.ts +10 -1
- package/src/types/interfaces/initWidgetBase.ts +2 -0
- package/src/types/utils/addSearchParamWhen.ts +11 -0
- package/lib/module/components/NewTabWebView.js +0 -56
- package/lib/module/components/NewTabWebView.js.map +0 -1
- package/lib/module/controllers/OpenInNewTabController.js.map +0 -1
- package/lib/module/helpers/getController.js.map +0 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts +0 -7
- package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +0 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +0 -1
- package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +0 -1
- package/src/components/NewTabWebView.tsx +0 -64
|
@@ -7,15 +7,13 @@ export let WebViewEventType = /*#__PURE__*/function (WebViewEventType) {
|
|
|
7
7
|
WebViewEventType["consoleLog"] = "consoleLog";
|
|
8
8
|
WebViewEventType["eventDispatch"] = "eventDispatch";
|
|
9
9
|
WebViewEventType["jsExecutor"] = "jsExecutor";
|
|
10
|
-
WebViewEventType["
|
|
10
|
+
WebViewEventType["openExternalUrl"] = "openExternalUrl";
|
|
11
11
|
WebViewEventType["redirect"] = "redirect";
|
|
12
|
-
WebViewEventType["
|
|
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
|
-
initialized = false;
|
|
18
|
-
redirectUrl = null;
|
|
19
17
|
webView = null;
|
|
20
18
|
url = null;
|
|
21
19
|
delegate = null;
|
|
@@ -52,19 +50,14 @@ export class BaseWebViewController {
|
|
|
52
50
|
* @returns boolean indicating if the URL should be loaded in current WebView
|
|
53
51
|
*/
|
|
54
52
|
onShouldStartLoadWithRequest = request => {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return false;
|
|
53
|
+
if (this.url === request.url) {
|
|
54
|
+
return true;
|
|
58
55
|
}
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
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);
|
|
56
|
+
const isAndroid = Platform.OS === 'android';
|
|
57
|
+
const isNewNavigation = isAndroid ? request.url.startsWith('https://') : request.navigationType === 'click';
|
|
58
|
+
const shouldOpenExternally = !this.urlMustBeLoadedInTheSameWebView(request.url);
|
|
59
|
+
if (isNewNavigation && shouldOpenExternally) {
|
|
60
|
+
this.delegate?.onOpenExternalUrl?.(request.url);
|
|
68
61
|
return false;
|
|
69
62
|
}
|
|
70
63
|
return true;
|
|
@@ -82,11 +75,46 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
82
75
|
hidePayButton = false;
|
|
83
76
|
redirectUrl = null;
|
|
84
77
|
closedAction = 'systemAction';
|
|
78
|
+
isWebViewInitialized = false;
|
|
79
|
+
fraudId = '';
|
|
85
80
|
constructor(widgetConfig) {
|
|
86
81
|
super();
|
|
87
82
|
this.widgetConfig = widgetConfig;
|
|
83
|
+
this.init();
|
|
84
|
+
}
|
|
85
|
+
init() {
|
|
86
|
+
const {
|
|
87
|
+
fraudCredentials,
|
|
88
|
+
sdkInstance
|
|
89
|
+
} = this.widgetConfig;
|
|
90
|
+
if (!sdkInstance || !fraudCredentials) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (fraudCredentials) {
|
|
94
|
+
this.generateFraudId({
|
|
95
|
+
sdkInstance,
|
|
96
|
+
fraudCredentials
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async generateFraudId({
|
|
101
|
+
sdkInstance,
|
|
102
|
+
fraudCredentials
|
|
103
|
+
}) {
|
|
104
|
+
try {
|
|
105
|
+
this.fraudId = await sdkInstance.getSessionId(fraudCredentials);
|
|
106
|
+
if (this.isWebViewInitialized) {
|
|
107
|
+
this.jsExecutor.execute(this.getFraudIdFnString());
|
|
108
|
+
}
|
|
109
|
+
} catch (e) {
|
|
110
|
+
console.log('❌ fraudId', e);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
getFraudIdFnString() {
|
|
114
|
+
return `window.getFraudId = function(){ return '${this.fraudId}';}`;
|
|
88
115
|
}
|
|
89
116
|
onLoad = () => {
|
|
117
|
+
this.isWebViewInitialized = true;
|
|
90
118
|
this.setXprops();
|
|
91
119
|
};
|
|
92
120
|
urlMustBeLoadedInTheSameWebView = url => {
|
|
@@ -114,18 +142,18 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
114
142
|
this.jsExecutor.requests.get(requestId)?.(data);
|
|
115
143
|
this.jsExecutor.requests.delete(requestId);
|
|
116
144
|
},
|
|
117
|
-
[WebViewEventType.
|
|
118
|
-
this.delegate?.
|
|
145
|
+
[WebViewEventType.openExternalUrl]: () => {
|
|
146
|
+
this.delegate?.onOpenExternalUrl?.(eventData.url);
|
|
119
147
|
},
|
|
120
148
|
[WebViewEventType.redirect]: () => {
|
|
121
149
|
if (this.redirectUrl) {
|
|
122
150
|
return;
|
|
123
151
|
}
|
|
124
152
|
this.redirectUrl = eventData.url;
|
|
125
|
-
this.delegate?.
|
|
153
|
+
this.delegate?.onOpenExternalUrl?.(eventData.url);
|
|
126
154
|
},
|
|
127
|
-
[WebViewEventType.
|
|
128
|
-
this.delegate?.
|
|
155
|
+
[WebViewEventType.closeExternalUrl]: () => {
|
|
156
|
+
this.delegate?.onCloseExternalUrl?.();
|
|
129
157
|
}
|
|
130
158
|
};
|
|
131
159
|
mapper[eventData.type]?.();
|
|
@@ -133,7 +161,7 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
133
161
|
setXprops = () => {
|
|
134
162
|
this.webView?.injectJavaScript(`
|
|
135
163
|
window.open = function(url, target, features) {
|
|
136
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.
|
|
164
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openExternalUrl}', url }));
|
|
137
165
|
};
|
|
138
166
|
console.log = function(message) {
|
|
139
167
|
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
@@ -158,7 +186,15 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
158
186
|
onSubmit: function (fn) {
|
|
159
187
|
window.submit = fn;
|
|
160
188
|
},
|
|
161
|
-
|
|
189
|
+
getFraudId: function(){
|
|
190
|
+
if(typeof window.getFraudId === 'function'){
|
|
191
|
+
return window.getFraudId();
|
|
192
|
+
}
|
|
193
|
+
return "";
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
${this.fraudId.length > 0 ? this.getFraudIdFnString() : ''}
|
|
162
198
|
`);
|
|
163
199
|
};
|
|
164
200
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","
|
|
1
|
+
{"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","webView","url","delegate","jsExecutor","JsExecutor","setWebView","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isAndroid","OS","isNewNavigation","startsWith","navigationType","shouldOpenExternally","urlMustBeLoadedInTheSameWebView","onOpenExternalUrl","dispose","stopLoading","DeunaWebViewController","hidePayButton","redirectUrl","closedAction","isWebViewInitialized","fraudId","constructor","widgetConfig","init","fraudCredentials","sdkInstance","generateFraudId","getSessionId","execute","getFraudIdFnString","e","console","log","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","length","getWidgetState","result","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":[]}
|
|
@@ -29,12 +29,11 @@ export class ElementsWidgetController extends DeunaWebViewController {
|
|
|
29
29
|
this.delegate?.onCloseButtonPressed?.();
|
|
30
30
|
},
|
|
31
31
|
[ElementsEventType.vaultSaveSuccess]: () => {
|
|
32
|
-
this.delegate?.
|
|
32
|
+
this.delegate?.onCloseExternalUrl?.();
|
|
33
33
|
this.callbacks.onSuccess?.(event.data);
|
|
34
34
|
},
|
|
35
35
|
[ElementsEventType.vaultSaveError]: () => {
|
|
36
|
-
this.delegate?.
|
|
37
|
-
this.delegate?.onCloseSubWebView?.();
|
|
36
|
+
this.delegate?.onCloseExternalUrl?.();
|
|
38
37
|
const {
|
|
39
38
|
metadata
|
|
40
39
|
} = elementsEvent.data;
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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
|
|
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
|
-
|
|
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.
|
|
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=
|
|
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":[]}
|
|
@@ -64,11 +64,11 @@ export class PaymentWidgetController extends DeunaWebViewController {
|
|
|
64
64
|
this.callbacks.onPaymentProcessing?.();
|
|
65
65
|
},
|
|
66
66
|
[CheckoutEventType.purchase]: () => {
|
|
67
|
-
this.delegate?.
|
|
67
|
+
this.delegate?.onCloseExternalUrl?.();
|
|
68
68
|
this.callbacks.onSuccess?.(checkoutEvent.data.order);
|
|
69
69
|
},
|
|
70
70
|
[CheckoutEventType.purchaseError]: () => {
|
|
71
|
-
this.delegate?.
|
|
71
|
+
this.delegate?.onCloseExternalUrl?.();
|
|
72
72
|
const {
|
|
73
73
|
metadata
|
|
74
74
|
} = checkoutEvent.data;
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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,
|
|
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,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,11 +5,12 @@ 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
|
|
8
|
+
export const buildDeunaWidgetController = (config, props) => {
|
|
9
9
|
const {
|
|
10
10
|
widget,
|
|
11
11
|
mode,
|
|
12
12
|
callbacks,
|
|
13
|
+
sdkInstance,
|
|
13
14
|
...rest
|
|
14
15
|
} = props;
|
|
15
16
|
const baseParams = {
|
|
@@ -33,12 +34,16 @@ export const getWidgetController = (config, props) => {
|
|
|
33
34
|
widgetExperience: rest.widgetExperience,
|
|
34
35
|
types: props.types
|
|
35
36
|
}),
|
|
36
|
-
payment: () =>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
payment: () => {
|
|
38
|
+
const paymentWidgetProps = props;
|
|
39
|
+
return {
|
|
40
|
+
...baseParams,
|
|
41
|
+
behavior: rest.behavior,
|
|
42
|
+
paymentMethods: paymentWidgetProps.paymentMethods,
|
|
43
|
+
styleFile: rest.styleFile,
|
|
44
|
+
fraudCredentials: paymentWidgetProps.fraudCredentials
|
|
45
|
+
};
|
|
46
|
+
},
|
|
42
47
|
nextAction: () => baseParams,
|
|
43
48
|
voucher: () => baseParams
|
|
44
49
|
};
|
|
@@ -47,10 +52,15 @@ export const getWidgetController = (config, props) => {
|
|
|
47
52
|
behavior: rest.behavior,
|
|
48
53
|
userToken: rest.userToken
|
|
49
54
|
};
|
|
50
|
-
const
|
|
51
|
-
controller
|
|
55
|
+
const widgetParams = widgetMappers[widget]();
|
|
56
|
+
const controller = widget === 'elements' ? new ElementsWidgetController(callbacks, widgetConfig) : new PaymentWidgetController(callbacks, {
|
|
57
|
+
...widgetConfig,
|
|
58
|
+
sdkInstance,
|
|
59
|
+
fraudCredentials: widgetParams.fraudCredentials
|
|
60
|
+
});
|
|
61
|
+
controller.url = linkBuilders[widget](baseParams);
|
|
52
62
|
controller.hidePayButton = rest.hidePayButton ?? false;
|
|
53
63
|
DeunaLogs.info('👀 loading link', controller.url);
|
|
54
64
|
return controller;
|
|
55
65
|
};
|
|
56
|
-
//# sourceMappingURL=
|
|
66
|
+
//# sourceMappingURL=buildDeunaWidgetController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","buildDeunaWidgetController","config","props","widget","mode","callbacks","sdkInstance","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","domain","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentWidgetProps","paymentMethods","fraudCredentials","nextAction","voucher","widgetConfig","widgetParams","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;AAuCxC,OAAO,MAAMC,0BAA0B,GAAGA,CACxCC,MAAwB,EACxBC,KAIC,KAC0B;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAEC,WAAW;IAAE,GAAGC;EAAK,CAAC,GAAGL,KAAK;EAE/D,MAAMM,UAAsB,GAAG;IAC7BC,GAAG,EAAER,MAAM,CAACS,WAAY;IACxBC,YAAY,EAAEV,MAAM,CAACU,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/BX,IAAI,EAAEA,IAAI,KAAKN,IAAI,CAACkB,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,EAAGtB,KAAK,CAAmCsB;IAClD,CAAC,CAAC;IACFC,OAAO,EAAEA,CAAA,KAAM;MACb,MAAMC,kBAAkB,GAAGxB,KAAqC;MAChE,OAAO;QACL,GAAGM,UAAU;QACbc,QAAQ,EAAEf,IAAI,CAACe,QAAQ;QACvBK,cAAc,EAAED,kBAAkB,CAACC,cAAc;QACjDN,SAAS,EAAEd,IAAI,CAACc,SAAS;QACzBO,gBAAgB,EAAEF,kBAAkB,CAACE;MACvC,CAAC;IACH,CAAC;IACDC,UAAU,EAAEA,CAAA,KAAMrB,UAAU;IAC5BsB,OAAO,EAAEA,CAAA,KAAMtB;EACjB,CAAC;EAED,MAAMuB,YAAY,GAAG;IACnBnB,UAAU,EAAEL,IAAI,CAACK,UAAU;IAC3BU,QAAQ,EAAEf,IAAI,CAACe,QAAQ;IACvBT,SAAS,EAAEN,IAAI,CAACM;EAClB,CAAC;EAED,MAAMmB,YAAY,GAAGd,aAAa,CAACf,MAAM,CAAC,CAAC,CAAC;EAE5C,MAAM8B,UAAU,GACd9B,MAAM,KAAK,UAAU,GACjB,IAAIP,wBAAwB,CAACS,SAAS,EAAE0B,YAAY,CAAC,GACrD,IAAIpC,uBAAuB,CAACU,SAAS,EAAE;IACrC,GAAG0B,YAAY;IACfzB,WAAW;IACXsB,gBAAgB,EAAEI,YAAY,CAACJ;EACjC,CAAC,CAAC;EAERK,UAAU,CAACC,GAAG,GAAGrC,YAAY,CAACM,MAAM,CAAC,CAACK,UAAU,CAAC;EACjDyB,UAAU,CAACE,aAAa,GAAG5B,IAAI,CAAC4B,aAAa,IAAI,KAAK;EAEtDpC,SAAS,CAACqC,IAAI,CAAC,iBAAiB,EAAEH,UAAU,CAACC,GAAG,CAAC;EAEjD,OAAOD,UAAU;AACnB,CAAC","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ export const getSubmitStrategy = async deunaSDK => {
|
|
|
9
9
|
}
|
|
10
10
|
const {
|
|
11
11
|
widgetConfig
|
|
12
|
-
} = deunaSDK.
|
|
12
|
+
} = deunaSDK.deunaWidgetManager.controller;
|
|
13
13
|
const processorName = selectedPaymentMethod.processor_name;
|
|
14
14
|
const configFlowType = selectedPaymentMethod.configuration?.flowType?.type;
|
|
15
15
|
const behaviorFlowType = widgetConfig.behavior?.paymentMethods?.flowType?.type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TWO_STEP_FLOW","PayPalSubmitStrategy","getSubmitStrategy","deunaSDK","selectedPaymentMethod","getSelectedPaymentMethod","widgetConfig","
|
|
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":[]}
|
|
@@ -7,4 +7,5 @@ export const constants = {
|
|
|
7
7
|
};
|
|
8
8
|
export const DEVICE_FINGERPRINT_URL = 'https://cdn.stg.deuna.io/mobile-sdks/get_fraud_id.html';
|
|
9
9
|
export const TWO_STEP_FLOW = 'twoStep';
|
|
10
|
+
export const DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER = ['mercadopago.com'];
|
|
10
11
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl","DEVICE_FINGERPRINT_URL","TWO_STEP_FLOW"],"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;AAED,OAAO,MAAMC,sBAAsB,GACjC,wDAAwD;AAE1D,OAAO,MAAMC,aAAa,GAAG,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["constants","apmSaveId","metadata","voucherPdfDownloadUrl","DEVICE_FINGERPRINT_URL","TWO_STEP_FLOW","DOMAINS_MUST_BE_USE_CROSS_PLATFORM_BROWSER"],"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;AAED,OAAO,MAAMC,sBAAsB,GACjC,wDAAwD;AAE1D,OAAO,MAAMC,aAAa,GAAG,SAAS;AAEtC,OAAO,MAAMC,0CAA0C,GAAG,CAAC,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Mode","DownloadType"],"sourceRoot":"../../../src","sources":["interfaces/types.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["Mode","DownloadType"],"sourceRoot":"../../../src","sources":["interfaces/types.ts"],"mappings":";;AAYA,WAAYA,IAAI,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAKhB,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDeuna","setCustomStyles","customStyles","setCustomStyleFn","refetchOrder","refetchOrderFn","getWidgetState","getStateFn","isValid","isValidFn","getSelectedPaymentMethod","state","paymentMethods","selectedPaymentMethod"],"sourceRoot":"../../../src","sources":["types/base.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["BaseDeuna","setCustomStyles","customStyles","setCustomStyleFn","refetchOrder","refetchOrderFn","getWidgetState","getStateFn","isValid","isValidFn","getSelectedPaymentMethod","state","paymentMethods","selectedPaymentMethod"],"sourceRoot":"../../../src","sources":["types/base.ts"],"mappings":";;AAuFA,OAAO,MAAeA,SAAS,CAAC;EAY9B,MAAMC,eAAeA,CAACC,YAA0B,EAAiB;IAC/D,MAAM,IAAI,CAACC,gBAAgB,GAAGD,YAAY,CAAC;EAC7C;EAEA,MAAME,YAAYA,CAAA,EAA0B;IAC1C,OAAO,IAAI,CAACC,cAAc,GAAG,CAAC,IAAI,IAAI;EACxC;EAEA,MAAMC,cAAcA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACC,UAAU,GAAG,CAAC;EAC5B;EAEA,MAAMC,OAAOA,CAAA,EAAqB;IAChC,OAAO,IAAI,CAACC,SAAS,GAAG,CAAC,IAAI,KAAK;EACpC;EAEA,MAAMC,wBAAwBA,CAAA,EAAG;IAC/B,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,UAAU,GAAG,CAAC;IACvC,IAAI,CAACI,KAAK,EAAEC,cAAc,CAACC,qBAAqB,EAAE;MAChD,OAAO,IAAI;IACb;IACA,OAAOF,KAAK,CAACC,cAAc,CAACC,qBAAqB;EACnD;AAMF","ignoreList":[]}
|