@deuna/react-native-sdk 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/DeunaSDK.js +18 -11
- package/lib/module/DeunaSDK.js.map +1 -1
- package/lib/module/components/DeunaWebView.js +2 -1
- package/lib/module/components/DeunaWebView.js.map +1 -1
- package/lib/module/components/DeunaWidget.js +4 -2
- package/lib/module/components/DeunaWidget.js.map +1 -1
- package/lib/module/components/NewTabWebView.js +2 -1
- package/lib/module/components/NewTabWebView.js.map +1 -1
- package/lib/module/controllers/BaseWebViewController.js +55 -13
- package/lib/module/controllers/BaseWebViewController.js.map +1 -1
- package/lib/module/controllers/OpenInNewTabController.js +21 -5
- package/lib/module/controllers/OpenInNewTabController.js.map +1 -1
- package/lib/module/types/helpers/buildElementsLink.js +71 -54
- package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
- package/lib/module/types/helpers/buildNextActionLink.js +7 -2
- package/lib/module/types/helpers/buildNextActionLink.js.map +1 -1
- package/lib/module/types/helpers/buildPaymentLink.js +1 -2
- package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
- package/lib/module/types/helpers/buildVoucherLink.js +1 -2
- package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.d.ts +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWebView.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/NewTabWebView.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +24 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts +1 -0
- package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +1 -1
- package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +2 -2
- package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +6 -1
- 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/buildNextActionLink.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/package.json +1 -1
- package/src/DeunaSDK.ts +17 -11
- package/src/components/DeunaWebView.tsx +2 -0
- package/src/components/DeunaWidget.tsx +7 -0
- package/src/components/NewTabWebView.tsx +3 -0
- package/src/controllers/BaseWebViewController.ts +70 -13
- package/src/controllers/OpenInNewTabController.ts +26 -8
- package/src/types/helpers/buildElementsLink.ts +102 -66
- package/src/types/helpers/buildNextActionLink.ts +8 -3
- package/src/types/helpers/buildPaymentLink.ts +1 -3
- package/src/types/helpers/buildVoucherLink.ts +1 -3
package/lib/module/DeunaSDK.js
CHANGED
|
@@ -6,7 +6,7 @@ import { OpenInNewTabController } from "./controllers/OpenInNewTabController.js"
|
|
|
6
6
|
import { getWidgetController } from "./helpers/getController.js";
|
|
7
7
|
import { Completer } from "./helpers/Completer.js";
|
|
8
8
|
import { ElementsWidgetController } from "./controllers/ElementsWidgetController.js";
|
|
9
|
-
import { Mode } from "./interfaces/types.js";
|
|
9
|
+
import { DownloadType, Mode } from "./interfaces/types.js";
|
|
10
10
|
import { Platform } from 'react-native';
|
|
11
11
|
export class DeunaSDK extends BaseDeuna {
|
|
12
12
|
constructor(config) {
|
|
@@ -167,6 +167,14 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
167
167
|
notifyListeners = () => {
|
|
168
168
|
this.listeners.forEach(listener => listener());
|
|
169
169
|
};
|
|
170
|
+
notifyDownloadFile = url => {
|
|
171
|
+
if (this.safeWebViewController instanceof PaymentWidgetController) {
|
|
172
|
+
this.safeWebViewController.callbacks.onDownloadFile?.({
|
|
173
|
+
type: DownloadType.URL,
|
|
174
|
+
data: url
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
};
|
|
170
178
|
onCloseNewTab = () => {
|
|
171
179
|
if (this.webViewController) {
|
|
172
180
|
this.webViewController.redirectUrl = null;
|
|
@@ -189,18 +197,17 @@ export class DeunaSDK extends BaseDeuna {
|
|
|
189
197
|
if (Platform.OS === 'ios') {
|
|
190
198
|
this.newTabModalDismissPromise = new Completer();
|
|
191
199
|
}
|
|
200
|
+
this.newTabWebViewController.delegate = {
|
|
201
|
+
onFileDownload: this.notifyDownloadFile,
|
|
202
|
+
onNewTabWindowClose: this.onCloseNewTab
|
|
203
|
+
};
|
|
192
204
|
this.notifyListeners();
|
|
193
205
|
},
|
|
194
|
-
onCloseButtonPressed:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
onCloseSubWebView: () => {
|
|
200
|
-
// Close the new tab web view when the DEUNA widget
|
|
201
|
-
// emits an error event or when the purchase is successful
|
|
202
|
-
this.onCloseNewTab();
|
|
203
|
-
}
|
|
206
|
+
onCloseButtonPressed: this.close,
|
|
207
|
+
// Close the payment widget when the user presses the close button
|
|
208
|
+
onCloseSubWebView: this.onCloseNewTab,
|
|
209
|
+
// Close the new tab web view when the DEUNA widget emits an error event or when the purchase is successful
|
|
210
|
+
onFileDownload: this.notifyDownloadFile // Notify the user when a request to download a file is made
|
|
204
211
|
};
|
|
205
212
|
};
|
|
206
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","Mode","Platform","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","initialize","setWidgetController","params","controller","MODAL","OS","delegate","buildDelegate","notifyListeners","initPaymentWidget","props","widget","initElements","initNextAction","initVoucherWidget","isValid","submit","setCustomStyle","style","refetchOrder","getWidgetState","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","dispose","onModalDismissed","complete","onNewTabDismissed","addListener","listener","add","removeListener","delete","forEach","redirectUrl","onOpenInNewTab","
|
|
1
|
+
{"version":3,"names":["BaseDeuna","PaymentWidgetController","OpenInNewTabController","getWidgetController","Completer","ElementsWidgetController","DownloadType","Mode","Platform","DeunaSDK","constructor","config","mode","listeners","Set","webViewController","newTabWebViewController","modalDismissPromise","newTabModalDismissPromise","safeWebViewController","errorMessage","console","error","Error","getSessionId","initialize","setWidgetController","params","controller","MODAL","OS","delegate","buildDelegate","notifyListeners","initPaymentWidget","props","widget","initElements","initNextAction","initVoucherWidget","isValid","submit","setCustomStyle","style","refetchOrder","getWidgetState","close","callbacks","onClosed","closedAction","onCloseNewTab","wait","dispose","onModalDismissed","complete","onNewTabDismissed","addListener","listener","add","removeListener","delete","forEach","notifyDownloadFile","url","onDownloadFile","type","URL","data","redirectUrl","onOpenInNewTab","onFileDownload","onNewTabWindowClose","onCloseButtonPressed","onCloseSubWebView"],"sourceRoot":"../../src","sources":["DeunaSDK.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,7 +25,8 @@ export const DeunaWebView = props => {
|
|
|
25
25
|
javaScriptEnabled: true,
|
|
26
26
|
onError: props.onError,
|
|
27
27
|
setSupportMultipleWindows: false,
|
|
28
|
-
javaScriptCanOpenWindowsAutomatically: false
|
|
28
|
+
javaScriptCanOpenWindowsAutomatically: false,
|
|
29
|
+
onShouldStartLoadWithRequest: props.onShouldStartLoadWithRequest
|
|
29
30
|
})
|
|
30
31
|
});
|
|
31
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","WebView","WebViewLoader","jsx","_jsx","DeunaWebView","props","style","styles","container","children","ref","webView","onWebView","source","uri","url","onMessage","onLoad","startInLoadingState","renderLoading","javaScriptEnabled","onError","setSupportMultipleWindows","javaScriptCanOpenWindowsAutomatically","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWebView.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","WebView","WebViewLoader","jsx","_jsx","DeunaWebView","props","style","styles","container","children","ref","webView","onWebView","source","uri","url","onMessage","onLoad","startInLoadingState","renderLoading","javaScriptEnabled","onError","setSupportMultipleWindows","javaScriptCanOpenWindowsAutomatically","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWebView.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWhD,OAAO,MAAMC,YAAY,GAAIC,KAAwB,IAAK;EACxD,oBACEF,IAAA,CAACJ,IAAI;IAACO,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BN,IAAA,CAACH,OAAO;MACNU,GAAG,EAAGC,OAAO,IAAK;QAChB,IAAIA,OAAO,IAAIN,KAAK,CAACO,SAAS,EAAE;UAC9BP,KAAK,CAACO,SAAS,CAACD,OAAO,CAAC;QAC1B;MACF,CAAE;MACFE,MAAM,EAAE;QAAEC,GAAG,EAAET,KAAK,CAACU;MAAI,CAAE;MAC3BC,SAAS,EAAEX,KAAK,CAACW,SAAU;MAC3BC,MAAM,EAAEA,CAAA,KAAM;QACZZ,KAAK,CAACY,MAAM,GAAG,CAAC;MAClB,CAAE;MACFC,mBAAmB;MACnBC,aAAa,EAAEA,CAAA,kBAAMhB,IAAA,CAACF,aAAa,IAAE,CAAE;MACvCmB,iBAAiB,EAAE,IAAK;MACxBC,OAAO,EAAEhB,KAAK,CAACgB,OAAQ;MACvBC,yBAAyB,EAAE,KAAM;MACjCC,qCAAqC,EAAE,KAAM;MAC7CC,4BAA4B,EAAEnB,KAAK,CAACmB;IAA6B,CAClE;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMjB,MAAM,GAAGT,UAAU,CAAC2B,MAAM,CAAC;EAAEjB,SAAS,EAAE;IAAEkB,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -57,7 +57,8 @@ export const DeunaWidget = props => {
|
|
|
57
57
|
onWebView: instanceRef.current.webViewController?.setWebView,
|
|
58
58
|
onMessage: instanceRef.current.webViewController?.onMessage,
|
|
59
59
|
onLoad: instanceRef.current.webViewController?.onLoad,
|
|
60
|
-
onError: instanceRef.current.webViewController?.onError
|
|
60
|
+
onError: instanceRef.current.webViewController?.onError,
|
|
61
|
+
onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
|
|
61
62
|
}), /*#__PURE__*/_jsx(NewTabWebView, {
|
|
62
63
|
instance: instanceRef.current
|
|
63
64
|
})]
|
|
@@ -70,7 +71,8 @@ export const DeunaWidget = props => {
|
|
|
70
71
|
onWebView: instanceRef.current.webViewController?.setWebView,
|
|
71
72
|
onMessage: instanceRef.current.webViewController?.onMessage,
|
|
72
73
|
onLoad: instanceRef.current.webViewController?.onLoad,
|
|
73
|
-
onError: instanceRef.current.webViewController?.onError
|
|
74
|
+
onError: instanceRef.current.webViewController?.onError,
|
|
75
|
+
onShouldStartLoadWithRequest: instanceRef.current.webViewController?.onShouldStartLoadWithRequest
|
|
74
76
|
})]
|
|
75
77
|
});
|
|
76
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DeunaWidget","props","instance","instanceRef","mode","setMode","current","listener","addListener","removeListener","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","children","presentationStyle","animationType","onRequestClose","onDismiss","onModalDismissed","visible","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWidget.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,YAAY,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACpE,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAGnD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAE/C,SAASC,IAAI,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAM3C,OAAO,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EACtD,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGd,MAAM,CAACa,QAAQ,CAAC;EACpC,MAAM,CAACE,IAAI,EAAEC,OAAO,CAAC,GAAGf,QAAQ,CAAcY,QAAQ,CAACE,IAAI,CAAC;EAE5DhB,SAAS,CAAC,MAAM;IACde,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAd,SAAS,CAAC,MAAM;IACd,MAAMmB,QAAQ,GAAGA,CAAA,KAAM;MACrBF,OAAO,CAACF,WAAW,CAACG,OAAO,CAACF,IAAI,CAAC;IACnC,CAAC;IAEDD,WAAW,CAACG,OAAO,CAACE,WAAW,CAACD,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXJ,WAAW,CAACG,OAAO,CAACG,cAAc,CAACF,QAAQ,CAAC;MAC5CJ,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEC,OAAO,CAAC,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAGR,IAAI,KAAKX,IAAI,CAACoB,KAAK;EACnC,MAAMC,UAAU,GAAGV,IAAI,KAAKX,IAAI,CAACsB,QAAQ;;EAEzC;AACF;AACA;EACE,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,MAAMC,UAAU,GAAGd,WAAW,CAACG,OAAO,CACnCI,iBAA2C;IAC9CO,UAAU,CAACC,YAAY,GAAG,YAAY;IACtCf,WAAW,CAACG,OAAO,CAACa,KAAK,CAAC,CAAC;EAC7B,CAAC;;EAED;EACA,oBACEtB,KAAA,CAAAE,SAAA;IAAAqB,QAAA,gBACEzB,IAAA,CAACX,KAAK;MACJqC,iBAAiB,EAAC,WAAW;MAC7BC,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAEP,OAAQ;MACxBQ,SAAS,EAAErB,WAAW,CAACG,OAAO,CAACmB,gBAAiB;MAChDC,OAAO,EAAEd,OAAQ;MAAAQ,QAAA,EAEhBR,OAAO,iBACNjB,IAAA,CAACV,YAAY;QAAC0C,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAT,QAAA,eACpCvB,KAAA,CAACV,IAAI;UAACwC,KAAK,EAAEC,MAAM,CAACC,SAAU;UAAAT,QAAA,gBAC5BzB,IAAA,CAACJ,YAAY;YACXuC,GAAG,EAAE3B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEoB,GAAG,IAAI,EAAG;YACtDC,SAAS,EAAE5B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEsB,UAAW;YAC7DC,SAAS,EAAE9B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEuB,SAAU;YAC5DC,MAAM,EAAE/B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEwB,MAAO;YACtDC,OAAO,EAAEhC,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEyB;
|
|
1
|
+
{"version":3,"names":["Modal","SafeAreaView","StyleSheet","View","useEffect","useRef","useState","DeunaWebView","NewTabWebView","Mode","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DeunaWidget","props","instance","instanceRef","mode","setMode","current","listener","addListener","removeListener","webViewController","dispose","isModal","MODAL","isEmbedded","EMBEDDED","onClose","controller","closedAction","close","children","presentationStyle","animationType","onRequestClose","onDismiss","onModalDismissed","visible","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/DeunaWidget.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,YAAY,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACpE,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAGnD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAE/C,SAASC,IAAI,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAM3C,OAAO,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EACtD,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGd,MAAM,CAACa,QAAQ,CAAC;EACpC,MAAM,CAACE,IAAI,EAAEC,OAAO,CAAC,GAAGf,QAAQ,CAAcY,QAAQ,CAACE,IAAI,CAAC;EAE5DhB,SAAS,CAAC,MAAM;IACde,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAd,SAAS,CAAC,MAAM;IACd,MAAMmB,QAAQ,GAAGA,CAAA,KAAM;MACrBF,OAAO,CAACF,WAAW,CAACG,OAAO,CAACF,IAAI,CAAC;IACnC,CAAC;IAEDD,WAAW,CAACG,OAAO,CAACE,WAAW,CAACD,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXJ,WAAW,CAACG,OAAO,CAACG,cAAc,CAACF,QAAQ,CAAC;MAC5CJ,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEC,OAAO,CAAC,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAGR,IAAI,KAAKX,IAAI,CAACoB,KAAK;EACnC,MAAMC,UAAU,GAAGV,IAAI,KAAKX,IAAI,CAACsB,QAAQ;;EAEzC;AACF;AACA;EACE,MAAMC,OAAO,GAAGA,CAAA,KAAM;IACpB,MAAMC,UAAU,GAAGd,WAAW,CAACG,OAAO,CACnCI,iBAA2C;IAC9CO,UAAU,CAACC,YAAY,GAAG,YAAY;IACtCf,WAAW,CAACG,OAAO,CAACa,KAAK,CAAC,CAAC;EAC7B,CAAC;;EAED;EACA,oBACEtB,KAAA,CAAAE,SAAA;IAAAqB,QAAA,gBACEzB,IAAA,CAACX,KAAK;MACJqC,iBAAiB,EAAC,WAAW;MAC7BC,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAEP,OAAQ;MACxBQ,SAAS,EAAErB,WAAW,CAACG,OAAO,CAACmB,gBAAiB;MAChDC,OAAO,EAAEd,OAAQ;MAAAQ,QAAA,EAEhBR,OAAO,iBACNjB,IAAA,CAACV,YAAY;QAAC0C,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAT,QAAA,eACpCvB,KAAA,CAACV,IAAI;UAACwC,KAAK,EAAEC,MAAM,CAACC,SAAU;UAAAT,QAAA,gBAC5BzB,IAAA,CAACJ,YAAY;YACXuC,GAAG,EAAE3B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEoB,GAAG,IAAI,EAAG;YACtDC,SAAS,EAAE5B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEsB,UAAW;YAC7DC,SAAS,EAAE9B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEuB,SAAU;YAC5DC,MAAM,EAAE/B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEwB,MAAO;YACtDC,OAAO,EAAEhC,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEyB,OAAQ;YACxDC,4BAA4B,EAC1BjC,WAAW,CAACG,OAAO,CAACI,iBAAiB,EACjC0B;UACL,CACF,CAAC,eACFzC,IAAA,CAACH,aAAa;YAACU,QAAQ,EAAEC,WAAW,CAACG;UAAQ,CAAE,CAAC;QAAA,CAC5C;MAAC,CACK;IACf,CACI,CAAC,EAEPQ,UAAU,iBAAInB,IAAA,CAACH,aAAa;MAACU,QAAQ,EAAEC,WAAW,CAACG;IAAQ,CAAE,CAAC,EAE9DQ,UAAU,iBACTnB,IAAA,CAACJ,YAAY;MACXuC,GAAG,EAAE3B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEoB,GAAG,IAAI,EAAG;MACtDC,SAAS,EAAE5B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEsB,UAAW;MAC7DC,SAAS,EAAE9B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEuB,SAAU;MAC5DC,MAAM,EAAE/B,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEwB,MAAO;MACtDC,OAAO,EAAEhC,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAEyB,OAAQ;MACxDC,4BAA4B,EAC1BjC,WAAW,CAACG,OAAO,CAACI,iBAAiB,EAAE0B;IACxC,CACF,CACF;EAAA,CACD,CAAC;AAEP,CAAC;AAED,MAAMR,MAAM,GAAG1C,UAAU,CAACmD,MAAM,CAAC;EAAER,SAAS,EAAE;IAAES,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -42,7 +42,8 @@ export const NewTabWebView = props => {
|
|
|
42
42
|
onWebView: newTabController?.setWebView,
|
|
43
43
|
onMessage: newTabController?.onMessage,
|
|
44
44
|
onLoad: newTabController?.onLoad,
|
|
45
|
-
onError: newTabController?.onError
|
|
45
|
+
onError: newTabController?.onError,
|
|
46
|
+
onShouldStartLoadWithRequest: newTabController?.onShouldStartLoadWithRequest
|
|
46
47
|
})
|
|
47
48
|
})
|
|
48
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","Modal","SafeAreaView","StyleSheet","DeunaWebView","jsx","_jsx","NewTabWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","newTabWebViewController","addListener","removeListener","dispose","newTabController","presentationStyle","animationType","onRequestClose","onCloseNewTab","onDismiss","onNewTabDismissed","children","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","create","flex"],"sourceRoot":"../../../src","sources":["components/NewTabWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,KAAK,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC9D,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM9C,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,uBAAuB;MAC/CL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;MAC5BD,GAAG,CAACG,uBAAuB,EAAEG,OAAO,CAAC,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGX,WAAW,CAACG,OAAO,CAACI,uBAAuB;EAEpE,oBACEX,IAAA,CAACL,KAAK;IACJqB,iBAAiB,EAAC,WAAW;IAC7BX,OAAO,EAAEA,OAAQ;IACjBY,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAEd,WAAW,CAACG,OAAO,CAACY,aAAc;IAClDC,SAAS,EAAEhB,WAAW,CAACG,OAAO,CAACc,iBAAkB;IAAAC,QAAA,EAEhDjB,OAAO,iBACNL,IAAA,CAACJ,YAAY;MAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,eACpCtB,IAAA,CAACF,YAAY;QACX4B,GAAG,EAAEX,gBAAgB,EAAEW,GAAG,IAAI,EAAG;QACjCC,SAAS,EAAEZ,gBAAgB,EAAEa,UAAW;QACxCC,SAAS,EAAEd,gBAAgB,EAAEc,SAAU;QACvCC,MAAM,EAAEf,gBAAgB,EAAEe,MAAO;QACjCC,OAAO,EAAEhB,gBAAgB,EAAEgB;
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","Modal","SafeAreaView","StyleSheet","DeunaWebView","jsx","_jsx","NewTabWebView","props","instance","instanceRef","visible","setVisible","current","ref","listener","isVisible","newTabWebViewController","addListener","removeListener","dispose","newTabController","presentationStyle","animationType","onRequestClose","onCloseNewTab","onDismiss","onNewTabDismissed","children","style","styles","container","url","onWebView","setWebView","onMessage","onLoad","onError","onShouldStartLoadWithRequest","create","flex"],"sourceRoot":"../../../src","sources":["components/NewTabWebView.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEnD,SAASC,KAAK,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC9D,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM9C,OAAO,MAAMC,aAAa,GAAIC,KAAyB,IAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGD,KAAK;EAC1B,MAAME,WAAW,GAAGX,MAAM,CAAWU,QAAQ,CAAC;EAC9C,MAAM,CAACE,OAAO,EAAEC,UAAU,CAAC,GAAGZ,QAAQ,CAAC,KAAK,CAAC;EAE7CF,SAAS,CAAC,MAAM;IACdY,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;;EAEd;EACA;EACAX,SAAS,CAAC,MAAM;IACd,MAAMgB,GAAG,GAAGJ,WAAW,CAACG,OAAO;IAC/B,MAAME,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,SAAS,GAAG,CAAC,CAACF,GAAG,CAACG,uBAAuB;MAC/CL,UAAU,CAACI,SAAS,CAAC;IACvB,CAAC;IAEDN,WAAW,CAACG,OAAO,CAACK,WAAW,CAACH,QAAQ,CAAC;IAEzC,OAAO,MAAM;MACXD,GAAG,CAACK,cAAc,CAACJ,QAAQ,CAAC;MAC5BD,GAAG,CAACG,uBAAuB,EAAEG,OAAO,CAAC,CAAC;IACxC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGX,WAAW,CAACG,OAAO,CAACI,uBAAuB;EAEpE,oBACEX,IAAA,CAACL,KAAK;IACJqB,iBAAiB,EAAC,WAAW;IAC7BX,OAAO,EAAEA,OAAQ;IACjBY,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAEd,WAAW,CAACG,OAAO,CAACY,aAAc;IAClDC,SAAS,EAAEhB,WAAW,CAACG,OAAO,CAACc,iBAAkB;IAAAC,QAAA,EAEhDjB,OAAO,iBACNL,IAAA,CAACJ,YAAY;MAAC2B,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAH,QAAA,eACpCtB,IAAA,CAACF,YAAY;QACX4B,GAAG,EAAEX,gBAAgB,EAAEW,GAAG,IAAI,EAAG;QACjCC,SAAS,EAAEZ,gBAAgB,EAAEa,UAAW;QACxCC,SAAS,EAAEd,gBAAgB,EAAEc,SAAU;QACvCC,MAAM,EAAEf,gBAAgB,EAAEe,MAAO;QACjCC,OAAO,EAAEhB,gBAAgB,EAAEgB,OAAQ;QACnCC,4BAA4B,EAC1BjB,gBAAgB,EAAEiB;MACnB,CACF;IAAC,CACU;EACf,CACI,CAAC;AAEZ,CAAC;AAED,MAAMR,MAAM,GAAG3B,UAAU,CAACoC,MAAM,CAAC;EAAER,SAAS,EAAE;IAAES,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,15 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
import { DeunaLogs } from "../DeunaLogs.js";
|
|
4
4
|
import { submitError } from "../interfaces/index.js";
|
|
5
|
+
import { Platform } from 'react-native';
|
|
5
6
|
export let WebViewEventType = /*#__PURE__*/function (WebViewEventType) {
|
|
6
7
|
WebViewEventType["consoleLog"] = "consoleLog";
|
|
7
8
|
WebViewEventType["eventDispatch"] = "eventDispatch";
|
|
8
9
|
WebViewEventType["jsExecutor"] = "jsExecutor";
|
|
9
10
|
WebViewEventType["openInNewTab"] = "openInNewTab";
|
|
10
11
|
WebViewEventType["redirect"] = "redirect";
|
|
12
|
+
WebViewEventType["newTabWindowClose"] = "newTabWindowClose";
|
|
11
13
|
return WebViewEventType;
|
|
12
14
|
}({});
|
|
15
|
+
const DOWNLOAD_FILE_REGEX = /\.(pdf|doc|docx|xls|xlsx|zip|rar|txt|mp3|mp4|jpg|jpeg|png|gif)$/i;
|
|
13
16
|
export class BaseWebViewController {
|
|
17
|
+
initialized = false;
|
|
18
|
+
redirectUrl = null;
|
|
14
19
|
webView = null;
|
|
15
20
|
url = null;
|
|
16
21
|
delegate = null;
|
|
@@ -23,6 +28,43 @@ export class BaseWebViewController {
|
|
|
23
28
|
* Called when the web view fails to load a URL
|
|
24
29
|
*/
|
|
25
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Called when the web view should load a URL in the same web view
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Checks if the URL is a download URL
|
|
37
|
+
* @param url - The URL to check
|
|
38
|
+
* @returns True if the URL is a download URL, false otherwise
|
|
39
|
+
*/
|
|
40
|
+
isDownloadUrl = url => {
|
|
41
|
+
return DOWNLOAD_FILE_REGEX.test(url);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Determines if a URL should be loaded in the current WebView or opened in a new tab
|
|
46
|
+
* @param request The navigation request details
|
|
47
|
+
* @returns boolean indicating if the URL should be loaded in current WebView
|
|
48
|
+
*/
|
|
49
|
+
onShouldStartLoadWithRequest = request => {
|
|
50
|
+
// Prevent loading if it's the redirect URL
|
|
51
|
+
if (this.redirectUrl === request.url) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const isNewNavigation = request.isTopFrame && request.url !== this.url;
|
|
55
|
+
const isClickNavigation = request.navigationType === 'click';
|
|
56
|
+
const shouldHandleInNewTab = !this.urlMustBeLoadedInTheSameWebView(request.url);
|
|
57
|
+
|
|
58
|
+
// For iOS, check both click navigation and new navigation
|
|
59
|
+
// For Android, only check new navigation
|
|
60
|
+
const shouldOpenInNewTab = Platform.OS === 'ios' ? (isClickNavigation || isNewNavigation) && shouldHandleInNewTab : isNewNavigation && shouldHandleInNewTab;
|
|
61
|
+
if (shouldOpenInNewTab) {
|
|
62
|
+
this.delegate?.onOpenInNewTab?.(request.url);
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
};
|
|
67
|
+
|
|
26
68
|
/**
|
|
27
69
|
* Release the web view resources
|
|
28
70
|
*/
|
|
@@ -43,6 +85,15 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
43
85
|
onLoad = () => {
|
|
44
86
|
this.setXprops();
|
|
45
87
|
};
|
|
88
|
+
urlMustBeLoadedInTheSameWebView = url => {
|
|
89
|
+
if (this.isDownloadUrl(url)) {
|
|
90
|
+
this.delegate?.onFileDownload?.(url);
|
|
91
|
+
} else {
|
|
92
|
+
this.redirectUrl = url;
|
|
93
|
+
this.delegate?.onOpenInNewTab?.(url);
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
};
|
|
46
97
|
onMessage = event => {
|
|
47
98
|
const eventData = JSON.parse(event.nativeEvent.data);
|
|
48
99
|
const mapper = {
|
|
@@ -69,25 +120,16 @@ export class DeunaWebViewController extends BaseWebViewController {
|
|
|
69
120
|
}
|
|
70
121
|
this.redirectUrl = eventData.url;
|
|
71
122
|
this.delegate?.onOpenInNewTab?.(eventData.url);
|
|
123
|
+
},
|
|
124
|
+
[WebViewEventType.newTabWindowClose]: () => {
|
|
125
|
+
this.delegate?.onNewTabWindowClose?.();
|
|
72
126
|
}
|
|
73
127
|
};
|
|
74
128
|
mapper[eventData.type]?.();
|
|
75
129
|
};
|
|
76
130
|
setXprops = () => {
|
|
131
|
+
// this.detectDownloadsAndRedirects(true);
|
|
77
132
|
this.webView?.injectJavaScript(`
|
|
78
|
-
document.addEventListener('click', function(event) {
|
|
79
|
-
if (event.target.tagName === 'A' && event.target.href) {
|
|
80
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.redirect}', url: event.target.href }));
|
|
81
|
-
event.preventDefault(); // Prevent default navigation
|
|
82
|
-
event.stopPropagation();
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
console.log = function(message) {
|
|
86
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.consoleLog}', message }));
|
|
87
|
-
};
|
|
88
|
-
window.open = function(url, target, features) {
|
|
89
|
-
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.openInNewTab}', url }));
|
|
90
|
-
};
|
|
91
133
|
window.xprops = {
|
|
92
134
|
hidePayButton: ${this.hidePayButton},
|
|
93
135
|
onEventDispatch: function (event) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DeunaLogs","submitError","WebViewEventType","BaseWebViewController","webView","url","delegate","dispose","stopLoading","DeunaWebViewController","hidePayButton","
|
|
1
|
+
{"version":3,"names":["DeunaLogs","submitError","Platform","WebViewEventType","DOWNLOAD_FILE_REGEX","BaseWebViewController","initialized","redirectUrl","webView","url","delegate","isDownloadUrl","test","onShouldStartLoadWithRequest","request","isNewNavigation","isTopFrame","isClickNavigation","navigationType","shouldHandleInNewTab","urlMustBeLoadedInTheSameWebView","shouldOpenInNewTab","OS","onOpenInNewTab","dispose","stopLoading","DeunaWebViewController","hidePayButton","closedAction","jsExecutor","JsExecutor","setWebView","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,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { BaseWebViewController } from "./BaseWebViewController.js";
|
|
3
|
+
import { BaseWebViewController, WebViewEventType } from "./BaseWebViewController.js";
|
|
4
4
|
import { DeunaLogs } from "../DeunaLogs.js";
|
|
5
5
|
export class OpenInNewTabController extends BaseWebViewController {
|
|
6
6
|
constructor(url) {
|
|
@@ -17,6 +17,13 @@ export class OpenInNewTabController extends BaseWebViewController {
|
|
|
17
17
|
onError = event => {
|
|
18
18
|
console.warn(event);
|
|
19
19
|
};
|
|
20
|
+
urlMustBeLoadedInTheSameWebView = url => {
|
|
21
|
+
if (this.isDownloadUrl(url)) {
|
|
22
|
+
this.delegate?.onFileDownload?.(url);
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
20
27
|
onMessage = event => {
|
|
21
28
|
const eventData = JSON.parse(event.nativeEvent.data);
|
|
22
29
|
if (eventData.type === 'console_log') {
|
|
@@ -24,11 +31,20 @@ export class OpenInNewTabController extends BaseWebViewController {
|
|
|
24
31
|
}
|
|
25
32
|
};
|
|
26
33
|
setXprops = () => {
|
|
34
|
+
// Hide the print button on the Efecty page
|
|
27
35
|
this.webView?.injectJavaScript(`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
window.close = function() {
|
|
37
|
+
window.ReactNativeWebView.postMessage(JSON.stringify({ type: '${WebViewEventType.newTabWindowClose}', data: '' }));
|
|
38
|
+
};
|
|
39
|
+
(function() {
|
|
40
|
+
setTimeout(function() {
|
|
41
|
+
var button = document.getElementById("cash_efecty_button_print");
|
|
42
|
+
if (button) {
|
|
43
|
+
button.style.display = "none";
|
|
44
|
+
}
|
|
45
|
+
}, 500); // time out 500 ms
|
|
46
|
+
})();
|
|
47
|
+
`);
|
|
32
48
|
};
|
|
33
49
|
}
|
|
34
50
|
//# sourceMappingURL=OpenInNewTabController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseWebViewController","DeunaLogs","OpenInNewTabController","constructor","url","setWebView","webView","onLoad","setXprops","onError","event","console","warn","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","injectJavaScript"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","OpenInNewTabController","constructor","url","setWebView","webView","onLoad","setXprops","onError","event","console","warn","urlMustBeLoadedInTheSameWebView","isDownloadUrl","delegate","onFileDownload","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","injectJavaScript","newTabWindowClose"],"sourceRoot":"../../../src","sources":["controllers/OpenInNewTabController.ts"],"mappings":";;AACA,SACEA,qBAAqB,EACrBC,gBAAgB,QACX,4BAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAc;AAExC,OAAO,MAAMC,sBAAsB,SAASH,qBAAqB,CAAC;EAChEI,WAAWA,CAAUC,GAAW,EAAE;IAChC,KAAK,CAAC,CAAC;IAAC,KADWA,GAAW,GAAXA,GAAW;IAE9B,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAC,UAAU,GAAIC,OAAgB,IAAK;IACjC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB,CAAC;EAEDC,MAAM,GAAGA,CAAA,KAAM;IACb,IAAI,CAACC,SAAS,CAAC,CAAC;EAClB,CAAC;EAEDC,OAAO,GAAIC,KAAU,IAAK;IACxBC,OAAO,CAACC,IAAI,CAACF,KAAK,CAAC;EACrB,CAAC;EAEDG,+BAA+B,GAAIT,GAAW,IAAK;IACjD,IAAI,IAAI,CAACU,aAAa,CAACV,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACW,QAAQ,EAAEC,cAAc,GAAGZ,GAAG,CAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb,CAAC;EAEDa,SAAS,GAAIP,KAA0B,IAAK;IAC1C,MAAMQ,SAAS,GAAGC,IAAI,CAACC,KAAK,CAACV,KAAK,CAACW,WAAW,CAACC,IAAI,CAAC;IACpD,IAAIJ,SAAS,CAACK,IAAI,KAAK,aAAa,EAAE;MACpCtB,SAAS,CAACuB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDjB,SAAS,GAAGA,CAAA,KAAM;IAChB;IACA,IAAI,CAACF,OAAO,EAAEoB,gBAAgB,CAAC;AACnC;AACA,wEAAwE1B,gBAAgB,CAAC2B,iBAAiB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
|
|
@@ -2,74 +2,91 @@
|
|
|
2
2
|
|
|
3
3
|
import { hasKey } from "../utils/hasKey.js";
|
|
4
4
|
import { getIntegrationType } from "./urlConfig.js";
|
|
5
|
-
const
|
|
6
|
-
production:
|
|
7
|
-
sandbox:
|
|
8
|
-
staging:
|
|
9
|
-
develop:
|
|
5
|
+
const ELEMENTS_URLS = {
|
|
6
|
+
production: 'https://elements.deuna.io',
|
|
7
|
+
sandbox: 'https://elements.sandbox.deuna.io',
|
|
8
|
+
staging: 'https://elements.stg.deuna.io',
|
|
9
|
+
develop: 'https://elements.dev.deuna.io'
|
|
10
10
|
};
|
|
11
|
-
const
|
|
12
|
-
click_to_pay:
|
|
13
|
-
vault:
|
|
11
|
+
const WIDGET_PATHS = {
|
|
12
|
+
click_to_pay: '/click_to_pay',
|
|
13
|
+
vault: '/vault'
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Builds the base URL for the Elements widget based on environment and domain configuration
|
|
17
|
+
*/
|
|
18
|
+
const buildBaseUrl = config => {
|
|
19
|
+
if (config.domain) {
|
|
20
|
+
return config.domain;
|
|
21
|
+
}
|
|
22
|
+
return config.env ? ELEMENTS_URLS[config.env] : ELEMENTS_URLS.production;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Builds the search parameters for the Elements widget URL
|
|
27
|
+
*/
|
|
28
|
+
const buildSearchParams = config => {
|
|
16
29
|
const {
|
|
17
|
-
env,
|
|
18
|
-
orderToken,
|
|
19
30
|
userInfo,
|
|
20
31
|
userToken,
|
|
21
32
|
widgetExperience,
|
|
22
|
-
|
|
33
|
+
styleFile,
|
|
34
|
+
mode,
|
|
35
|
+
language
|
|
23
36
|
} = config;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
37
|
+
const searchParams = {
|
|
38
|
+
publicApiKey: config.publicApiKey,
|
|
39
|
+
orderToken: config.orderToken,
|
|
40
|
+
email: userInfo?.email || '',
|
|
41
|
+
firstName: userInfo?.firstName || '',
|
|
42
|
+
lastName: userInfo?.lastName || '',
|
|
43
|
+
int: getIntegrationType(mode),
|
|
44
|
+
language
|
|
45
|
+
};
|
|
46
|
+
if (styleFile) {
|
|
47
|
+
searchParams.cssFile = styleFile;
|
|
27
48
|
}
|
|
28
|
-
if (
|
|
29
|
-
|
|
49
|
+
if (userToken) {
|
|
50
|
+
searchParams.userToken = userToken;
|
|
51
|
+
}
|
|
52
|
+
if (widgetExperience?.userExperience?.showSavedCardsFlow) {
|
|
53
|
+
searchParams.showSavedCardsFlow = String(widgetExperience.userExperience.showSavedCardsFlow);
|
|
30
54
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
});
|
|
55
|
+
if (widgetExperience?.userExperience?.defaultCardFlow) {
|
|
56
|
+
searchParams.showDefaultCardFlow = String(widgetExperience.userExperience.defaultCardFlow);
|
|
57
|
+
}
|
|
58
|
+
return new URLSearchParams(searchParams);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Determines the widget path based on the provided types
|
|
63
|
+
*/
|
|
64
|
+
const getWidgetPath = types => {
|
|
65
|
+
if (types && types.length > 0) {
|
|
66
|
+
const firstPath = types[0].name;
|
|
67
|
+
return hasKey(WIDGET_PATHS, firstPath) ? WIDGET_PATHS[firstPath] : WIDGET_PATHS.vault;
|
|
68
|
+
}
|
|
69
|
+
return WIDGET_PATHS.vault;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Builds a complete Elements widget URL with all necessary parameters
|
|
74
|
+
* @param config - Configuration object for building the Elements URL
|
|
75
|
+
* @returns The complete Elements widget URL as a string
|
|
76
|
+
*/
|
|
77
|
+
export const buildElementsLink = config => {
|
|
78
|
+
const baseUrl = buildBaseUrl(config);
|
|
79
|
+
const searchParams = buildSearchParams(config);
|
|
57
80
|
const xpropsB64 = {
|
|
58
81
|
id: config.id,
|
|
59
82
|
behavior: config.behavior || {}
|
|
60
83
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return pathsMapper[firstPath];
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return pathsMapper.vault;
|
|
69
|
-
};
|
|
70
|
-
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
71
|
-
url.pathname = getWidgetPath();
|
|
84
|
+
searchParams.append('xpropsB64', btoa(JSON.stringify(xpropsB64)));
|
|
85
|
+
const widgetPath = getWidgetPath(config.types);
|
|
86
|
+
const normalizedPath = widgetPath.startsWith('/') ? widgetPath : `/${widgetPath}`;
|
|
87
|
+
const url = new URL(normalizedPath, baseUrl);
|
|
72
88
|
url.search = searchParams.toString();
|
|
89
|
+
console.log('url', url.toString());
|
|
73
90
|
return url.toString();
|
|
74
91
|
};
|
|
75
92
|
//# sourceMappingURL=buildElementsLink.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["hasKey","getIntegrationType","
|
|
1
|
+
{"version":3,"names":["hasKey","getIntegrationType","ELEMENTS_URLS","production","sandbox","staging","develop","WIDGET_PATHS","click_to_pay","vault","buildBaseUrl","config","domain","env","buildSearchParams","userInfo","userToken","widgetExperience","styleFile","mode","language","searchParams","publicApiKey","orderToken","email","firstName","lastName","int","cssFile","userExperience","showSavedCardsFlow","String","defaultCardFlow","showDefaultCardFlow","URLSearchParams","getWidgetPath","types","length","firstPath","name","buildElementsLink","baseUrl","xpropsB64","id","behavior","append","btoa","JSON","stringify","widgetPath","normalizedPath","startsWith","url","URL","search","toString","console","log"],"sourceRoot":"../../../../src","sources":["types/helpers/buildElementsLink.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,17 +16,22 @@ export const buildNextActionLink = config => {
|
|
|
16
16
|
if (env) {
|
|
17
17
|
baseUrl = urls[env];
|
|
18
18
|
}
|
|
19
|
+
const xpropsB64 = {
|
|
20
|
+
id: config.id
|
|
21
|
+
};
|
|
19
22
|
const searchParams = new URLSearchParams({
|
|
20
23
|
mode: "widget",
|
|
21
24
|
int: getIntegrationType(config.mode),
|
|
22
25
|
language: config.language
|
|
23
26
|
});
|
|
27
|
+
|
|
28
|
+
//encode to base64
|
|
29
|
+
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
24
30
|
configToQueryParams(config, searchParams);
|
|
25
31
|
if (config.domain) {
|
|
26
32
|
baseUrl = config.domain;
|
|
27
33
|
}
|
|
28
|
-
const url = new URL(baseUrl);
|
|
29
|
-
url.pathname = `/next-action-purchase/${orderToken}`;
|
|
34
|
+
const url = new URL(`/next-action-purchase/${orderToken}`, baseUrl);
|
|
30
35
|
url.search = searchParams.toString();
|
|
31
36
|
return url.toString();
|
|
32
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configToQueryParams","getIntegrationType","urls","production","sandbox","staging","develop","buildNextActionLink","config","env","orderToken","baseUrl","searchParams","URLSearchParams","mode","int","language","domain","url","URL","
|
|
1
|
+
{"version":3,"names":["configToQueryParams","getIntegrationType","urls","production","sandbox","staging","develop","buildNextActionLink","config","env","orderToken","baseUrl","xpropsB64","id","searchParams","URLSearchParams","mode","int","language","append","btoa","JSON","stringify","domain","url","URL","search","toString"],"sourceRoot":"../../../../src","sources":["types/helpers/buildNextActionLink.ts"],"mappings":";;AACA,SACEA,mBAAmB,EACnBC,kBAAkB,QAEb,gBAAa;AAEpB,MAAMC,IAAiC,GAAG;EACxCC,UAAU,EAAE,sBAAsB;EAClCC,OAAO,EAAE,8BAA8B;EACvCC,OAAO,EAAE,2BAA2B;EACpCC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAIC,MAAiB,IAAa;EAChE,MAAM;IAAEC,GAAG;IAAEC;EAAW,CAAC,GAAGF,MAAM;EAElC,IAAIG,OAAO,GAAGT,IAAI,CAACC,UAAU;EAE7B,IAAIM,GAAG,EAAE;IACPE,OAAO,GAAGT,IAAI,CAACO,GAAG,CAAC;EACrB;EAEA,MAAMG,SAAS,GAAG;IAChBC,EAAE,EAAEL,MAAM,CAACK;EACb,CAAC;EAED,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAAC;IACvCC,IAAI,EAAE,QAAQ;IACdC,GAAG,EAAEhB,kBAAkB,CAACO,MAAM,CAACQ,IAAI,CAAC;IACpCE,QAAQ,EAAEV,MAAM,CAACU;EACnB,CAAC,CAAC;;EAEF;EACAJ,YAAY,CAACK,MAAM,CAAC,WAAW,EAAEC,IAAI,CAACC,IAAI,CAACC,SAAS,CAACV,SAAS,CAAC,CAAC,CAAC;EAEjEZ,mBAAmB,CAACQ,MAAM,EAAEM,YAAY,CAAC;EAEzC,IAAIN,MAAM,CAACe,MAAM,EAAE;IACjBZ,OAAO,GAAGH,MAAM,CAACe,MAAM;EACzB;EAEA,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAC,yBAAyBf,UAAU,EAAE,EAAEC,OAAO,CAAC;EACnEa,GAAG,CAACE,MAAM,GAAGZ,YAAY,CAACa,QAAQ,CAAC,CAAC;EAEpC,OAAOH,GAAG,CAACG,QAAQ,CAAC,CAAC;AACvB,CAAC","ignoreList":[]}
|
|
@@ -46,8 +46,7 @@ export const buildPaymentLink = config => {
|
|
|
46
46
|
|
|
47
47
|
//encode to base64
|
|
48
48
|
searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
|
|
49
|
-
const url = new URL(baseUrl);
|
|
50
|
-
url.pathname = `/now/${orderToken}`;
|
|
49
|
+
const url = new URL(`/now/${orderToken}`, baseUrl);
|
|
51
50
|
url.search = searchParams.toString();
|
|
52
51
|
return url.toString();
|
|
53
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configToQueryParams","getIntegrationType","urls","production","sandbox","staging","develop","buildPaymentLink","config","env","orderToken","baseUrl","searchParams","URLSearchParams","mode","int","language","xpropsB64","id","paymentMethods","publicApiKey","behavior","cdl","sessionId","domain","append","btoa","JSON","stringify","url","URL","
|
|
1
|
+
{"version":3,"names":["configToQueryParams","getIntegrationType","urls","production","sandbox","staging","develop","buildPaymentLink","config","env","orderToken","baseUrl","searchParams","URLSearchParams","mode","int","language","xpropsB64","id","paymentMethods","publicApiKey","behavior","cdl","sessionId","domain","append","btoa","JSON","stringify","url","URL","search","toString"],"sourceRoot":"../../../../src","sources":["types/helpers/buildPaymentLink.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAGA,SACEA,mBAAmB,EACnBC,kBAAkB,QAEb,gBAAa;AAEpB,MAAMC,IAAiC,GAAG;EACxCC,UAAU,EAAE,sBAAsB;EAClCC,OAAO,EAAE,8BAA8B;EACvCC,OAAO,EAAE,2BAA2B;EACpCC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,MAAiB,IAAa;EAC7D,MAAM;IAAEC,GAAG;IAAEC;EAAW,CAAC,GAAGF,MAAM;EAElC,IAAIG,OAAO,GAAGT,IAAI,CAACC,UAAU;EAE7B,IAAIM,GAAG,EAAE;IACPE,OAAO,GAAGT,IAAI,CAACO,GAAG,CAAC;EACrB;EAEA,MAAMG,YAAY,GAAG,IAAIC,eAAe,CAAC;IACvCC,IAAI,EAAE,QAAQ;IACdC,GAAG,EAAEd,kBAAkB,CAACO,MAAM,CAACM,IAAI,CAAC;IACpCE,QAAQ,EAAER,MAAM,CAACQ;EACnB,CAAC,CAAC;;EAEF;;EAEA,MAAMC,SAAS,GAAG;IAChBC,EAAE,EAAEV,MAAM,CAACU,EAAE;IACbC,cAAc,EAAEX,MAAM,CAACW,cAAc;IACrCC,YAAY,EAAEZ,MAAM,CAACY,YAAY;IACjCC,QAAQ,EAAEb,MAAM,CAACa,QAAQ;IACzBC,GAAG,EAAE;MACHC,SAAS,EAAEf,MAAM,CAACe;IACpB;EACF,CAAC;EAEDvB,mBAAmB,CAACQ,MAAM,EAAEI,YAAY,CAAC;EAEzC,IAAIJ,MAAM,CAACgB,MAAM,EAAE;IACjBb,OAAO,GAAGH,MAAM,CAACgB,MAAM;EACzB;;EAEA;EACAZ,YAAY,CAACa,MAAM,CAAC,WAAW,EAAEC,IAAI,CAACC,IAAI,CAACC,SAAS,CAACX,SAAS,CAAC,CAAC,CAAC;EAEjE,MAAMY,GAAG,GAAG,IAAIC,GAAG,CAAC,QAAQpB,UAAU,EAAE,EAAEC,OAAO,CAAC;EAClDkB,GAAG,CAACE,MAAM,GAAGnB,YAAY,CAACoB,QAAQ,CAAC,CAAC;EAEpC,OAAOH,GAAG,CAACG,QAAQ,CAAC,CAAC;AACvB,CAAC","ignoreList":[]}
|