banking_dcb_sdk_react_native 0.1.9 → 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/README.md CHANGED
@@ -5,10 +5,9 @@ React Native package for Fintech Partner
5
5
  ## Installation
6
6
 
7
7
  ```sh
8
- npm install partner_react_native_sdk
8
+ npm install banking_dcb_sdk_react_native
9
9
  ```
10
10
 
11
11
  ## Usage
12
12
 
13
-
14
13
  Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
@@ -9,7 +9,49 @@ import FileViewer from 'react-native-file-viewer';
9
9
  import RNFS from 'react-native-fs';
10
10
  import CookieManager from '@react-native-cookies/cookies';
11
11
  import { AnalyticsLogger } from "./analytics/analytics_logger.js";
12
+ import IntentLauncher, { IntentConstant } from 'react-native-intent-launcher';
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const PKG = {
15
+ outlook: 'com.microsoft.office.outlook',
16
+ gmail: 'com.google.android.gm',
17
+ yahoo: 'com.yahoo.mobile.client.android.mail'
18
+ };
19
+
20
+ // Yahoo uses explicit launcher activity (matches your Flutter)
21
+ const YAHOO_ACTIVITY = 'com.yahoo.mobile.client.android.mail.activity.MainActivity';
22
+ export async function openMailAppIntent(app) {
23
+ if (Platform.OS !== 'android') return false;
24
+ try {
25
+ if (app === 'yahoo') {
26
+ await IntentLauncher.startActivity({
27
+ action: 'android.intent.action.MAIN',
28
+ category: 'android.intent.category.LAUNCHER',
29
+ packageName: PKG.yahoo,
30
+ className: YAHOO_ACTIVITY,
31
+ flags: [IntentConstant.FLAG_ACTIVITY_NEW_TASK]
32
+ });
33
+ } else {
34
+ await IntentLauncher.startActivity({
35
+ action: 'android.intent.action.MAIN',
36
+ category: 'android.intent.category.LAUNCHER',
37
+ packageName: app === 'gmail' ? PKG.gmail : PKG.outlook,
38
+ flags: [IntentConstant.FLAG_ACTIVITY_NEW_TASK]
39
+ });
40
+ }
41
+ return true;
42
+ } catch (e) {
43
+ //fallback
44
+ const scheme = app === 'outlook' ? 'ms-outlook://' : app === 'gmail' ? 'googlegmail://' : 'ymail://';
45
+ try {
46
+ const can = await Linking.canOpenURL(scheme);
47
+ if (can) {
48
+ await Linking.openURL(scheme);
49
+ return true;
50
+ }
51
+ } catch {}
52
+ return false;
53
+ }
54
+ }
13
55
  const clearAllCookies = async () => {
14
56
  try {
15
57
  await CookieManager.clearAll(true);
@@ -145,17 +187,27 @@ export const WebView = ({
145
187
  if (url === 'about:blank' || url === 'about:srcdoc') {
146
188
  return true;
147
189
  }
148
- // _analyticsLogger.logEvent({ event: 'REACT_NATIVE_LOADING_URL ', url });
149
-
190
+ if (Platform.OS === 'android' && url) {
191
+ if (url.includes('ms-outlook://')) {
192
+ console.log('Intent to open Outlook detected');
193
+ openMailAppIntent('outlook').then(ok => !ok && ToastAndroid.show('Outlook app not found', ToastAndroid.SHORT));
194
+ return false; // cancel WebView navigation
195
+ }
196
+ if (url.includes('googlegmail://')) {
197
+ console.log('Intent to open Gmail detected');
198
+ openMailAppIntent('gmail').then(ok => !ok && ToastAndroid.show('Gmail app not found', ToastAndroid.SHORT));
199
+ return false;
200
+ }
201
+ if (url.includes('ymail://')) {
202
+ console.log('Intent to open Yahoo Mail detected');
203
+ openMailAppIntent('yahoo').then(ok => !ok && ToastAndroid.show('Yahoo Mail app not found', ToastAndroid.SHORT));
204
+ return false;
205
+ }
206
+ }
150
207
  if (url?.includes('/session-expired?status=') || url?.includes('/redirect?status=')) {
151
208
  console.log('overriding url');
152
209
  const status = getQueryParam(url, 'status');
153
210
  console.log('Status thrown from webview ', status);
154
- // _analyticsLogger.logEvent({
155
- // event: 'REACT_NATIVE_WEBVIEW_CALLBACK ',
156
- // status,
157
- // });
158
-
159
211
  StatusBar.setBackgroundColor('#7E7E7EFF');
160
212
  clearAllCookies();
161
213
  onCallback?.(WebViewCallback.redirect(status ?? undefined));
@@ -1 +1 @@
1
- {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","AnalyticsLogger","jsx","_jsx","clearAllCookies","clearAll","console","log","e","error","url","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","_analyticsLogger","setToast","handleExternalUrl","Promise","resolve","setTimeout","openURL","OS","show","LONG","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","get","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","status","setBackgroundColor","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,sBAAsB;AAC3D,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,YAAY,EACZC,iBAAiB,EACjBC,IAAI,EACJC,YAAY,EACZC,SAAS,QACJ,cAAc;AACrB,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAMnD,SACEC,eAAe,QAEV,4BAAyB;AAChC,SACEC,KAAK,EACLC,WAAW,EACXC,OAAO,EACPC,OAAO,QAEF,0BAA0B;AACjC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,aAAa,MAAM,+BAA+B;AACzD,SAASC,eAAe,QAAQ,iCAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkB/D,MAAMC,eAAe,GAAG,MAAAA,CAAA,KAAY;EAClC,IAAI;IACF,MAAMJ,aAAa,CAACK,QAAQ,CAAC,IAAI,CAAC;IAClCC,OAAO,CAACC,GAAG,CAAC,kBAAkB,CAAC;EACjC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACVF,OAAO,CAACG,KAAK,CAAC,0BAA0B,EAAED,CAAC,CAAC;EAC9C;AACF,CAAC;AAED,OAAO,MAAM5B,OAAO,GAAGA,CAAC;EACtB8B,GAAG;EACHC,OAAO;EACPC,UAAU;EACVC,QAAQ;EACRC,eAAe,GAAG,EAAE;EACpBC;AACkB,CAAC,KAAK;EACxB,MAAMC,UAAU,GAAGzB,MAAM,CAAmB,IAAI,CAAC;EACjD,MAAM,CAAC0B,SAAS,EAAEC,YAAY,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM2B,gBAAgB,GAAG,IAAIlB,eAAe,CAAC,CAAC;EAC9C;EACA,MAAM,GAAGmB,QAAQ,CAAC,GAAG5B,QAAQ,CAC3B,IACF,CAAC;EACD,MAAM6B,iBAAiB,GAAG,MAAOX,GAAW,IAAK;IAC/C,IAAI;MACF,MAAM,IAAIY,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;MACxD,MAAMvC,OAAO,CAACyC,OAAO,CAACf,GAAG,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOD,KAAK,EAAE;MACd;MACA,IAAI1B,QAAQ,CAAC2C,EAAE,KAAK,SAAS,EAAE;QAC7BtC,YAAY,CAACuC,IAAI,CACf,+CAA+C,EAC/CvC,YAAY,CAACwC,IACf,CAAC;MACH;MACAtB,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACnD;EACF,CAAC;EACD,MAAMsB,2BAA2B,GAAIC,cAAmB,IAAK;IAC3D,MAAM;MAAEC;IAAY,CAAC,GAAGD,cAAc;IACtC,MAAME,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,IAAIA,kBAAkB,CAACC,QAAQ,CAACF,WAAW,CAACG,IAAI,CAAC,EAAE;MACjD,MAAMC,OAAO,GAAG,mBAAmBJ,WAAW,CAACG,IAAI,KAAKH,WAAW,CAACK,WAAW,EAAE;MACjFhB,QAAQ,CAAC;QAAEiB,OAAO,EAAE,IAAI;QAAEF;MAAQ,CAAC,CAAC;MAEpC,IAAIJ,WAAW,CAACG,IAAI,KAAK,CAAC,CAAC,EAAE;QAC3B,IAAInD,QAAQ,CAAC2C,EAAE,KAAK,SAAS,EAAE;UAC7BtC,YAAY,CAACuC,IAAI,CACf,sDAAsD,EACtDvC,YAAY,CAACwC,IACf,CAAC;QACH;QACAxB,eAAe,CAAC,CAAC;QACjBQ,UAAU,GAAGnB,eAAe,CAAC6C,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,CAAC,MAAM;QACL,IAAIvD,QAAQ,CAAC2C,EAAE,KAAK,SAAS,EAAE;UAC7BtC,YAAY,CAACuC,IAAI,CACf,+CAA+C,EAC/CvC,YAAY,CAACwC,IACf,CAAC;QACH;QACAxB,eAAe,CAAC,CAAC;QACjBQ,UAAU,GAAGnB,eAAe,CAAC6C,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD;MAEAd,UAAU,CAAC,MAAMJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACxC;EACF,CAAC;EAED,MAAMmB,aAAa,GAAGA,CAAC7B,GAAW,EAAE8B,KAAa,KAAoB;IACnE,MAAMC,KAAK,GAAG/B,GAAG,CAAC+B,KAAK,CAAC,IAAIC,MAAM,CAAC,MAAM,GAAGF,KAAK,GAAG,WAAW,CAAC,CAAC;IACjE,OAAOC,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAGE,kBAAkB,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;EAChE,CAAC;EAED,MAAMG,mBAAmB,GAAG,MAAOC,OAAe,IAAK;IACrD,IAAI;MACFvC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEsC,OAAO,CAAC;;MAEjD;MACA,IAAIC,YAAY,GAAG,EAAE;MACrB,IAAI;QACF,MAAMC,OAAO,GAAG,MAAM/C,aAAa,CAACgD,GAAG,CAACH,OAAO,CAAC;QAChDC,YAAY,GAAGG,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAChCI,GAAG,CAAEC,GAAG,IAAK,GAAGA,GAAG,IAAIL,OAAO,CAACK,GAAG,CAAC,EAAEC,KAAK,IAAI,EAAE,EAAE,CAAC,CACnDC,IAAI,CAAC,IAAI,CAAC;MACf,CAAC,CAAC,OAAO9C,CAAC,EAAE;QACVF,OAAO,CAACG,KAAK,CAAC,wBAAwB,EAAED,CAAC,CAAC;MAC5C;;MAEA;MACA,MAAM+C,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MACtC;MACA,MAAMC,QAAQ,GAAGb,OAAO,CAACc,KAAK,CAAC,GAAG,CAAC;MACnC,MAAMC,QAAQ,GAAGF,QAAQ,CAACA,QAAQ,CAACG,MAAM,GAAG,CAAC,CAAC;MAC9C,MAAMC,OAAO,GAAGF,QAAQ,EAAED,KAAK,CAAC,GAAG,CAAC,CAACI,GAAG,CAAC,CAAC,IAAI,KAAK;MACnD,MAAMC,QAAQ,GAAG,GAAGT,SAAS,IAAIO,OAAO,EAAE;MAE1C,MAAMG,YAAY,GAAGlF,QAAQ,CAACmF,MAAM,CAAC;QACnCC,GAAG,EAAE,GAAGpE,IAAI,CAACqE,qBAAqB,IAAIJ,QAAQ,EAAE;QAChDK,OAAO,EAAE,GAAGtE,IAAI,CAACuE,qBAAqB,IAAIN,QAAQ;MACpD,CAAC,CAAC;MAEF,IAAI,CAACC,YAAY,EAAE;QACjB,MAAM,IAAIM,KAAK,CAAC,mCAAmC,CAAC;MACtD;MAEAjE,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAE0D,YAAY,CAAC;MAE5C,MAAMtD,OAAO,GAAG;QACd6D,OAAO,EAAE3B,OAAO;QAChB4B,MAAM,EAAER,YAAY;QACpBS,OAAO,EAAE;UACP,QAAQ,EAAE5B,YAAY;UACtB,QAAQ,EAAE,iBAAiB;UAC3B,cAAc,EAAE;QAClB,CAAC;QACD6B,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAGC,GAAQ,IAAK;UACnBvE,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEsE,GAAG,CAAC;QACpD;MACF,CAAC;MAED,MAAMC,QAAQ,GAAG,MAAM/E,IAAI,CAACgF,YAAY,CAACpE,OAAO,CAAC,CAACqE,OAAO;MAEzD,IAAIF,QAAQ,CAACG,UAAU,KAAK,GAAG,EAAE;QAC/B3E,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAE0D,YAAY,CAAC;QAEhD,IAAIlF,QAAQ,CAAC2C,EAAE,KAAK,SAAS,EAAE;UAC7BtC,YAAY,CAACuC,IAAI,CAAC,8BAA8B,EAAEvC,YAAY,CAAC8F,KAAK,CAAC;QACvE;QAEA,MAAMpF,UAAU,CAACqF,IAAI,CAAClB,YAAY,EAAE;UAClCmB,kBAAkB,EAAE,IAAI;UACxBC,SAAS,EAAEA,CAAA,KAAM;YACf,IAAItG,QAAQ,CAAC2C,EAAE,KAAK,KAAK,EAAE;cACzB3B,IAAI,CAACuF,MAAM,CAACrB,YAAY,CAAC,CAACsB,KAAK,CAACjF,OAAO,CAACG,KAAK,CAAC;YAChD;UACF;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,IAAI8D,KAAK,CAAC,+BAA+BO,QAAQ,CAACG,UAAU,EAAE,CAAC;MACvE;IACF,CAAC,CAAC,OAAOxE,KAAK,EAAE;MACdH,OAAO,CAACG,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD;EACF,CAAC;EAED,MAAM+E,kCAAkC,GAAIC,KAAwB,IAAK;IACvE,MAAM;MAAE/E;IAAI,CAAC,GAAG+E,KAAK;IACrBnF,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEG,GAAG,CAAC;IACxB,IAAIA,GAAG,KAAK,aAAa,IAAIA,GAAG,KAAK,cAAc,EAAE;MACnD,OAAO,IAAI;IACb;IACA;;IAEA,IACEA,GAAG,EAAEuB,QAAQ,CAAC,0BAA0B,CAAC,IACzCvB,GAAG,EAAEuB,QAAQ,CAAC,mBAAmB,CAAC,EAClC;MACA3B,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;MAC7B,MAAMmF,MAAM,GAAGnD,aAAa,CAAC7B,GAAG,EAAE,QAAQ,CAAC;MAE3CJ,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEmF,MAAM,CAAC;MAClD;MACA;MACA;MACA;;MAEArG,SAAS,CAACsG,kBAAkB,CAAC,WAAW,CAAC;MACzCvF,eAAe,CAAC,CAAC;MACjBQ,UAAU,GAAGnB,eAAe,CAAC6C,QAAQ,CAACoD,MAAM,IAAIE,SAAS,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;IACA,IAAIlF,GAAG,EAAEuB,QAAQ,CAAC,oBAAoB,CAAC,EAAE;MACvC3B,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;MAEtClB,SAAS,CAACsG,kBAAkB,CAAC,WAAW,CAAC;MACzCvF,eAAe,CAAC,CAAC;MACjBQ,UAAU,GAAGnB,eAAe,CAAC6C,QAAQ,CAAC,iBAAiB,CAAC,CAAC;MACzD,OAAO,KAAK;IACd;;IAEA;IACA,MAAMuD,aAAa,GACjB/E,eAAe,CAACgF,IAAI,CAAEC,KAAK,IAAKrF,GAAG,CAACuB,QAAQ,CAAC8D,KAAK,CAAC,CAAC,IACnDlF,QAAQ,IAAIH,GAAG,CAACuB,QAAQ,CAACpB,QAAQ,CAAE;IAEtC,IACE,CAACgF,aAAa,IACdnF,GAAG,IACHA,GAAG,KAAK,aAAa,IACrBA,GAAG,KAAK,cAAc,EACtB;MACAJ,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEG,GAAG,CAAC;MAC1CW,iBAAiB,CAACX,GAAG,CAAC;MACtB,OAAO,KAAK;IACd;IACA,IACEA,GAAG,CAACuB,QAAQ,CAAC,MAAM,CAAC,IACpBvB,GAAG,CAACuB,QAAQ,CAAC,cAAc,CAAC,IAC5BvB,GAAG,CAACuB,QAAQ,CAAC,sBAAsB,CAAC,EACpC;MACA3B,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEG,GAAG,CAAC;MAC/CkC,mBAAmB,CAAClC,GAAG,CAAC;MACxB,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAMsF,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAI/E,SAAS,IAAID,UAAU,CAACiF,OAAO,EAAE;MACnCjF,UAAU,CAACiF,OAAO,CAACC,MAAM,CAAC,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAED5G,SAAS,CAAC,MAAM;IACd,MAAM6G,WAAW,GAAGrH,WAAW,CAACsH,gBAAgB,CAC9C,mBAAmB,EACnBJ,gBACF,CAAC;IACD,OAAO,MAAM;MACXG,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAACpF,SAAS,CAAC,CAAC;EAEf,MAAMqF,OAAO,GAAGA,CAAA,kBACdnG,IAAA,CAAChB,IAAI;IAACoH,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,cAAc,EAAE,QAAQ;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,eACvExG,IAAA,CAACjB,iBAAiB;MAAC0H,IAAI,EAAC;IAAO,CAAE;EAAC,CAC9B,CACP;;EAED;;EAEA,MAAMC,kBAAkB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;EAED,MAAMC,iBAAiB,GAAG,MAAOC,UAAsB,IAAK;IAC1D,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMtH,KAAK,CAACqH,UAAU,CAAC;MAEtC,IAAIC,MAAM,KAAKnH,OAAO,CAACoH,MAAM,EAAE;QAC7B,MAAMC,aAAa,GAAG,MAAMtH,OAAO,CAACmH,UAAU,CAAC;QAC/C,OAAOG,aAAa,KAAKrH,OAAO,CAACsH,OAAO;MAC1C;MAEA,OAAOH,MAAM,KAAKnH,OAAO,CAACsH,OAAO;IACnC,CAAC,CAAC,OAAO1G,KAAK,EAAE;MACdH,OAAO,CAACG,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MAClD,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAM2G,uBAAuB,GAAG,MAAO3B,KAAU,IAAK;IACpD,MAAM;MAAE4B;IAAU,CAAC,GAAG5B,KAAK,CAAC1D,WAAW;IACvCzB,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAE8G,SAAS,CAAC;IAE/C,MAAMC,oBAAkC,GAAG,EAAE;IAE7C,IAAID,SAAS,CAACpF,QAAQ,CAAC,OAAO,CAAC,EAAE;MAC/BqF,oBAAoB,CAACC,IAAI,CACvBxI,QAAQ,CAAC2C,EAAE,KAAK,KAAK,GACjB/B,WAAW,CAAC6H,GAAG,CAACC,MAAM,GACtB9H,WAAW,CAAC+H,OAAO,CAACD,MAC1B,CAAC;IACH;IACA,IAAIJ,SAAS,CAACpF,QAAQ,CAAC,YAAY,CAAC,EAAE;MACpCqF,oBAAoB,CAACC,IAAI,CACvBxI,QAAQ,CAAC2C,EAAE,KAAK,KAAK,GACjB/B,WAAW,CAAC6H,GAAG,CAACG,UAAU,GAC1BhI,WAAW,CAAC+H,OAAO,CAACE,YAC1B,CAAC;IACH;IACA,IAAIP,SAAS,CAACpF,QAAQ,CAAC,aAAa,CAAC,EAAE;MACrCqF,oBAAoB,CAACC,IAAI,CACvBxI,QAAQ,CAAC2C,EAAE,KAAK,KAAK,GACjB/B,WAAW,CAAC6H,GAAG,CAACK,oBAAoB,GACpClI,WAAW,CAAC+H,OAAO,CAACI,oBAC1B,CAAC;IACH;IAEA,IAAI;MACF,MAAMC,OAAO,GAAG,MAAMzG,OAAO,CAAC0G,GAAG,CAC/BV,oBAAoB,CAACnE,GAAG,CAAE4D,UAAU,IAAKD,iBAAiB,CAACC,UAAU,CAAC,CACxE,CAAC;MAED,MAAMkB,OAAO,GAAGF,OAAO,CAACG,KAAK,CAAElB,MAAM,IAAKA,MAAM,KAAK,IAAI,CAAC;MAC1D,IAAIiB,OAAO,EAAE;QACX;QACAxC,KAAK,CAAC1D,WAAW,CAACoG,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACL;QACA1C,KAAK,CAAC1D,WAAW,CAACqG,IAAI,CAAC,CAAC;MAC1B;IACF,CAAC,CAAC,OAAO3H,KAAK,EAAE;MACdH,OAAO,CAACG,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;MACnD;MACAgF,KAAK,CAAC1D,WAAW,CAACqG,IAAI,CAAC,CAAC;IAC1B;EACF,CAAC;EAED,MAAMC,oBAAoB,GAAIvG,cAAmB,IAAK;IACpD,MAAMwG,SAAS,GAAGxG,cAAc,EAAEC,WAAW,EAAErB,GAAG,IAAIA,GAAG;IAEzDK,cAAc,GAAG,CAAC;EACpB,CAAC;EAED,oBACEZ,IAAA,CAAClB,YAAY;IAACsH,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAE+B,eAAe,EAAE;IAAQ,CAAE;IAAA5B,QAAA,eACzDxG,IAAA,CAACtB,SAAS;MACR2J,GAAG,EAAExH,UAAW;MAChByH,MAAM,EAAE;QAAEC,GAAG,EAAEhI;MAAI,CAAE;MACrBiI,mBAAmB,EACjBvB,uBACD;MACDwB,kBAAkB,EAAE,IAAK;MACzBC,kBAAkB,EAAE;QAClBC,MAAM,EAAE,IAAI;QACZC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE;MACf,CAAE;MACFC,OAAO,EAAGzI,CAAC,IAAK;QACdqB,2BAA2B,CAACrB,CAAC,CAAC;QAC9BG,OAAO,EAAEsI,OAAO,GAAGzI,CAAQ,CAAC;MAC9B,CAAE;MAAA,GACEG,OAAO;MACXuI,mBAAmB,EAAE,IAAK;MAC1BC,aAAa,EAAEA,CAAA,kBAAMhJ,IAAA,CAACmG,OAAO,IAAE,CAAE;MACjC8C,SAAS,EAAEf,oBAAqB;MAChCgB,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBC,iBAAiB,EAAE,IAAK;MACxBC,iBAAiB,EAAE,IAAK;MACxBC,+BAA+B,EAAE,KAAM;MACvCC,yBAAyB,EAAE,IAAK;MAChCC,4BAA4B,EAAElE,kCAAmC;MACjEmE,uBAAuB,EAAGC,QAAQ,IAAK;QACrC1I,YAAY,CAAC0I,QAAQ,CAAC3I,SAAS,CAAC;MAClC,CAAE;MACF4F,kBAAkB,EAAEA,kBAAmB;MACvCgD,gBAAgB,EAAE9K,QAAQ,CAAC2C,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,GAAI;MACzDoI,mCAAmC,EAAE/K,QAAQ,CAAC2C,EAAE,KAAK,KAAM;MAC3DqI,oBAAoB,EAAE,IAAK;MAC3BC,yBAAyB,EAAE,KAAM;MACjCC,gBAAgB,EAAC,QAAQ;MACzBC,iBAAiB,EAAE;IAAK,CACzB;EAAC,CACU,CAAC;AAEnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["WebView","RNWebView","BackHandler","Platform","Linking","SafeAreaView","ActivityIndicator","View","ToastAndroid","StatusBar","useEffect","useRef","useState","WebViewCallback","check","PERMISSIONS","request","RESULTS","FileViewer","RNFS","CookieManager","AnalyticsLogger","IntentLauncher","IntentConstant","jsx","_jsx","PKG","outlook","gmail","yahoo","YAHOO_ACTIVITY","openMailAppIntent","app","OS","startActivity","action","category","packageName","className","flags","FLAG_ACTIVITY_NEW_TASK","e","scheme","can","canOpenURL","openURL","clearAllCookies","clearAll","console","log","error","url","options","onCallback","hostName","whitelistedUrls","onPageFinished","webviewRef","canGoBack","setCanGoBack","_analyticsLogger","setToast","handleExternalUrl","Promise","resolve","setTimeout","show","LONG","showToast_with_code_message","syntheticEvent","nativeEvent","errorCodesToHandle","includes","code","message","description","visible","redirect","getQueryParam","param","match","RegExp","decodeURIComponent","downloadAndOpenFile","fileUrl","cookieString","cookies","get","Object","keys","map","key","value","join","timestamp","Date","getTime","urlParts","split","lastPart","length","fileExt","pop","fileName","downloadPath","select","ios","DocumentDirectoryPath","android","DownloadDirectoryPath","Error","fromUrl","toFile","headers","background","begin","res","response","downloadFile","promise","statusCode","SHORT","open","showOpenWithDialog","onDismiss","unlink","catch","handleOnShouldStartLoadWithRequest","event","then","ok","status","setBackgroundColor","undefined","isWhitelisted","some","white","handleBackButton","current","goBack","backHandler","addEventListener","remove","Loading","style","flex","justifyContent","alignItems","children","size","injectedJavaScript","requestPermission","permission","result","DENIED","requestResult","GRANTED","handlePermissionRequest","resources","permissionsToRequest","push","IOS","CAMERA","ANDROID","MICROPHONE","RECORD_AUDIO","LOCATION_WHEN_IN_USE","ACCESS_FINE_LOCATION","results","all","granted","every","grant","deny","handleWebViewLoadEnd","loadedUrl","backgroundColor","ref","source","uri","onPermissionRequest","geolocationEnabled","androidPermissions","camera","microphone","geolocation","onError","startInLoadingState","renderLoading","onLoadEnd","originWhitelist","javaScriptEnabled","domStorageEnabled","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","onShouldStartLoadWithRequest","onNavigationStateChange","navState","decelerationRate","allowsBackForwardNavigationGestures","sharedCookiesEnabled","setSupportMultipleWindows","mixedContentMode","allowsLinkPreview"],"sourceRoot":"../../../src","sources":["helpers/webview.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,sBAAsB;AAC3D,SACEC,WAAW,EACXC,QAAQ,EACRC,OAAO,EACPC,YAAY,EACZC,iBAAiB,EACjBC,IAAI,EACJC,YAAY,EACZC,SAAS,QACJ,cAAc;AACrB,SAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAMnD,SACEC,eAAe,QAEV,4BAAyB;AAChC,SACEC,KAAK,EACLC,WAAW,EACXC,OAAO,EACPC,OAAO,QAEF,0BAA0B;AACjC,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,aAAa,MAAM,+BAA+B;AACzD,SAASC,eAAe,QAAQ,iCAA8B;AAE9D,OAAOC,cAAc,IAAIC,cAAc,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmB9E,MAAMC,GAAG,GAAG;EACVC,OAAO,EAAE,8BAA8B;EACvCC,KAAK,EAAE,uBAAuB;EAC9BC,KAAK,EAAE;AACT,CAAU;;AAEV;AACA,MAAMC,cAAc,GAClB,4DAA4D;AAI9D,OAAO,eAAeC,iBAAiBA,CAACC,GAAY,EAAoB;EACtE,IAAI7B,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE,OAAO,KAAK;EAE3C,IAAI;IACF,IAAID,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMV,cAAc,CAACY,aAAa,CAAC;QACjCC,MAAM,EAAE,4BAA4B;QACpCC,QAAQ,EAAE,kCAAkC;QAC5CC,WAAW,EAAEX,GAAG,CAACG,KAAK;QACtBS,SAAS,EAAER,cAAc;QACzBS,KAAK,EAAE,CAAChB,cAAc,CAACiB,sBAAsB;MAC/C,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAMlB,cAAc,CAACY,aAAa,CAAC;QACjCC,MAAM,EAAE,4BAA4B;QACpCC,QAAQ,EAAE,kCAAkC;QAC5CC,WAAW,EAAEL,GAAG,KAAK,OAAO,GAAGN,GAAG,CAACE,KAAK,GAAGF,GAAG,CAACC,OAAO;QACtDY,KAAK,EAAE,CAAChB,cAAc,CAACiB,sBAAsB;MAC/C,CAAC,CAAC;IACJ;IACA,OAAO,IAAI;EACb,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV;IACA,MAAMC,MAAM,GACVV,GAAG,KAAK,SAAS,GACb,eAAe,GACfA,GAAG,KAAK,OAAO,GACb,gBAAgB,GAChB,UAAU;IAClB,IAAI;MACF,MAAMW,GAAG,GAAG,MAAMvC,OAAO,CAACwC,UAAU,CAACF,MAAM,CAAC;MAC5C,IAAIC,GAAG,EAAE;QACP,MAAMvC,OAAO,CAACyC,OAAO,CAACH,MAAM,CAAC;QAC7B,OAAO,IAAI;MACb;IACF,CAAC,CAAC,MAAM,CAAC;IACT,OAAO,KAAK;EACd;AACF;AACA,MAAMI,eAAe,GAAG,MAAAA,CAAA,KAAY;EAClC,IAAI;IACF,MAAM1B,aAAa,CAAC2B,QAAQ,CAAC,IAAI,CAAC;IAClCC,OAAO,CAACC,GAAG,CAAC,kBAAkB,CAAC;EACjC,CAAC,CAAC,OAAOR,CAAC,EAAE;IACVO,OAAO,CAACE,KAAK,CAAC,0BAA0B,EAAET,CAAC,CAAC;EAC9C;AACF,CAAC;AAED,OAAO,MAAMzC,OAAO,GAAGA,CAAC;EACtBmD,GAAG;EACHC,OAAO;EACPC,UAAU;EACVC,QAAQ;EACRC,eAAe,GAAG,EAAE;EACpBC;AACkB,CAAC,KAAK;EACxB,MAAMC,UAAU,GAAG9C,MAAM,CAAmB,IAAI,CAAC;EACjD,MAAM,CAAC+C,SAAS,EAAEC,YAAY,CAAC,GAAG/C,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAMgD,gBAAgB,GAAG,IAAIvC,eAAe,CAAC,CAAC;EAC9C;EACA,MAAM,GAAGwC,QAAQ,CAAC,GAAGjD,QAAQ,CAC3B,IACF,CAAC;EACD,MAAMkD,iBAAiB,GAAG,MAAOX,GAAW,IAAK;IAC/C,IAAI;MACF,MAAM,IAAIY,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC,CAAC;MACxD,MAAM5D,OAAO,CAACyC,OAAO,CAACM,GAAG,CAAC;MAC1B;IACF,CAAC,CAAC,OAAOD,KAAK,EAAE;MACd;MACA,IAAI/C,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE;QAC7BzB,YAAY,CAAC0D,IAAI,CACf,+CAA+C,EAC/C1D,YAAY,CAAC2D,IACf,CAAC;MACH;MACAnB,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;IACnD;EACF,CAAC;EACD,MAAMmB,2BAA2B,GAAIC,cAAmB,IAAK;IAC3D,MAAM;MAAEC;IAAY,CAAC,GAAGD,cAAc;IACtC,MAAME,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5C,IAAIA,kBAAkB,CAACC,QAAQ,CAACF,WAAW,CAACG,IAAI,CAAC,EAAE;MACjD,MAAMC,OAAO,GAAG,mBAAmBJ,WAAW,CAACG,IAAI,KAAKH,WAAW,CAACK,WAAW,EAAE;MACjFd,QAAQ,CAAC;QAAEe,OAAO,EAAE,IAAI;QAAEF;MAAQ,CAAC,CAAC;MAEpC,IAAIJ,WAAW,CAACG,IAAI,KAAK,CAAC,CAAC,EAAE;QAC3B,IAAItE,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE;UAC7BzB,YAAY,CAAC0D,IAAI,CACf,sDAAsD,EACtD1D,YAAY,CAAC2D,IACf,CAAC;QACH;QACArB,eAAe,CAAC,CAAC;QACjBO,UAAU,GAAGxC,eAAe,CAACgE,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD,CAAC,MAAM;QACL,IAAI1E,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE;UAC7BzB,YAAY,CAAC0D,IAAI,CACf,+CAA+C,EAC/C1D,YAAY,CAAC2D,IACf,CAAC;QACH;QACArB,eAAe,CAAC,CAAC;QACjBO,UAAU,GAAGxC,eAAe,CAACgE,QAAQ,CAAC,eAAe,CAAC,CAAC;MACzD;MAEAZ,UAAU,CAAC,MAAMJ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACxC;EACF,CAAC;EAED,MAAMiB,aAAa,GAAGA,CAAC3B,GAAW,EAAE4B,KAAa,KAAoB;IACnE,MAAMC,KAAK,GAAG7B,GAAG,CAAC6B,KAAK,CAAC,IAAIC,MAAM,CAAC,MAAM,GAAGF,KAAK,GAAG,WAAW,CAAC,CAAC;IACjE,OAAOC,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAGE,kBAAkB,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;EAChE,CAAC;EAED,MAAMG,mBAAmB,GAAG,MAAOC,OAAe,IAAK;IACrD,IAAI;MACFpC,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEmC,OAAO,CAAC;;MAEjD;MACA,IAAIC,YAAY,GAAG,EAAE;MACrB,IAAI;QACF,MAAMC,OAAO,GAAG,MAAMlE,aAAa,CAACmE,GAAG,CAACH,OAAO,CAAC;QAChDC,YAAY,GAAGG,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAChCI,GAAG,CAAEC,GAAG,IAAK,GAAGA,GAAG,IAAIL,OAAO,CAACK,GAAG,CAAC,EAAEC,KAAK,IAAI,EAAE,EAAE,CAAC,CACnDC,IAAI,CAAC,IAAI,CAAC;MACf,CAAC,CAAC,OAAOpD,CAAC,EAAE;QACVO,OAAO,CAACE,KAAK,CAAC,wBAAwB,EAAET,CAAC,CAAC;MAC5C;;MAEA;MACA,MAAMqD,SAAS,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MACtC;MACA,MAAMC,QAAQ,GAAGb,OAAO,CAACc,KAAK,CAAC,GAAG,CAAC;MACnC,MAAMC,QAAQ,GAAGF,QAAQ,CAACA,QAAQ,CAACG,MAAM,GAAG,CAAC,CAAC;MAC9C,MAAMC,OAAO,GAAGF,QAAQ,EAAED,KAAK,CAAC,GAAG,CAAC,CAACI,GAAG,CAAC,CAAC,IAAI,KAAK;MACnD,MAAMC,QAAQ,GAAG,GAAGT,SAAS,IAAIO,OAAO,EAAE;MAE1C,MAAMG,YAAY,GAAGrG,QAAQ,CAACsG,MAAM,CAAC;QACnCC,GAAG,EAAE,GAAGvF,IAAI,CAACwF,qBAAqB,IAAIJ,QAAQ,EAAE;QAChDK,OAAO,EAAE,GAAGzF,IAAI,CAAC0F,qBAAqB,IAAIN,QAAQ;MACpD,CAAC,CAAC;MAEF,IAAI,CAACC,YAAY,EAAE;QACjB,MAAM,IAAIM,KAAK,CAAC,mCAAmC,CAAC;MACtD;MAEA9D,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEuD,YAAY,CAAC;MAE5C,MAAMpD,OAAO,GAAG;QACd2D,OAAO,EAAE3B,OAAO;QAChB4B,MAAM,EAAER,YAAY;QACpBS,OAAO,EAAE;UACP,QAAQ,EAAE5B,YAAY;UACtB,QAAQ,EAAE,iBAAiB;UAC3B,cAAc,EAAE;QAClB,CAAC;QACD6B,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAGC,GAAQ,IAAK;UACnBpE,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEmE,GAAG,CAAC;QACpD;MACF,CAAC;MAED,MAAMC,QAAQ,GAAG,MAAMlG,IAAI,CAACmG,YAAY,CAAClE,OAAO,CAAC,CAACmE,OAAO;MAEzD,IAAIF,QAAQ,CAACG,UAAU,KAAK,GAAG,EAAE;QAC/BxE,OAAO,CAACC,GAAG,CAAC,qBAAqB,EAAEuD,YAAY,CAAC;QAEhD,IAAIrG,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE;UAC7BzB,YAAY,CAAC0D,IAAI,CAAC,8BAA8B,EAAE1D,YAAY,CAACiH,KAAK,CAAC;QACvE;QAEA,MAAMvG,UAAU,CAACwG,IAAI,CAAClB,YAAY,EAAE;UAClCmB,kBAAkB,EAAE,IAAI;UACxBC,SAAS,EAAEA,CAAA,KAAM;YACf,IAAIzH,QAAQ,CAAC8B,EAAE,KAAK,KAAK,EAAE;cACzBd,IAAI,CAAC0G,MAAM,CAACrB,YAAY,CAAC,CAACsB,KAAK,CAAC9E,OAAO,CAACE,KAAK,CAAC;YAChD;UACF;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,MAAM,IAAI4D,KAAK,CAAC,+BAA+BO,QAAQ,CAACG,UAAU,EAAE,CAAC;MACvE;IACF,CAAC,CAAC,OAAOtE,KAAK,EAAE;MACdF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD;EACF,CAAC;EAED,MAAM6E,kCAAkC,GAAIC,KAAwB,IAAK;IACvE,MAAM;MAAE7E;IAAI,CAAC,GAAG6E,KAAK;IACrBhF,OAAO,CAACC,GAAG,CAAC,MAAM,EAAEE,GAAG,CAAC;IACxB,IAAIA,GAAG,KAAK,aAAa,IAAIA,GAAG,KAAK,cAAc,EAAE;MACnD,OAAO,IAAI;IACb;IAEA,IAAIhD,QAAQ,CAAC8B,EAAE,KAAK,SAAS,IAAIkB,GAAG,EAAE;MACpC,IAAIA,GAAG,CAACqB,QAAQ,CAAC,eAAe,CAAC,EAAE;QACjCxB,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;QAC9ClB,iBAAiB,CAAC,SAAS,CAAC,CAACkG,IAAI,CAC9BC,EAAE,IACD,CAACA,EAAE,IACH1H,YAAY,CAAC0D,IAAI,CAAC,uBAAuB,EAAE1D,YAAY,CAACiH,KAAK,CACjE,CAAC;QACD,OAAO,KAAK,CAAC,CAAC;MAChB;MACA,IAAItE,GAAG,CAACqB,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAClCxB,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;QAC5ClB,iBAAiB,CAAC,OAAO,CAAC,CAACkG,IAAI,CAC5BC,EAAE,IACD,CAACA,EAAE,IAAI1H,YAAY,CAAC0D,IAAI,CAAC,qBAAqB,EAAE1D,YAAY,CAACiH,KAAK,CACtE,CAAC;QACD,OAAO,KAAK;MACd;MACA,IAAItE,GAAG,CAACqB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5BxB,OAAO,CAACC,GAAG,CAAC,oCAAoC,CAAC;QACjDlB,iBAAiB,CAAC,OAAO,CAAC,CAACkG,IAAI,CAC5BC,EAAE,IACD,CAACA,EAAE,IACH1H,YAAY,CAAC0D,IAAI,CAAC,0BAA0B,EAAE1D,YAAY,CAACiH,KAAK,CACpE,CAAC;QACD,OAAO,KAAK;MACd;IACF;IAEA,IACEtE,GAAG,EAAEqB,QAAQ,CAAC,0BAA0B,CAAC,IACzCrB,GAAG,EAAEqB,QAAQ,CAAC,mBAAmB,CAAC,EAClC;MACAxB,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;MAC7B,MAAMkF,MAAM,GAAGrD,aAAa,CAAC3B,GAAG,EAAE,QAAQ,CAAC;MAE3CH,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEkF,MAAM,CAAC;MAElD1H,SAAS,CAAC2H,kBAAkB,CAAC,WAAW,CAAC;MACzCtF,eAAe,CAAC,CAAC;MACjBO,UAAU,GAAGxC,eAAe,CAACgE,QAAQ,CAACsD,MAAM,IAAIE,SAAS,CAAC,CAAC;MAC3D,OAAO,KAAK;IACd;IACA,IAAIlF,GAAG,EAAEqB,QAAQ,CAAC,oBAAoB,CAAC,EAAE;MACvCxB,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;MAEtCxC,SAAS,CAAC2H,kBAAkB,CAAC,WAAW,CAAC;MACzCtF,eAAe,CAAC,CAAC;MACjBO,UAAU,GAAGxC,eAAe,CAACgE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;MACzD,OAAO,KAAK;IACd;;IAEA;IACA,MAAMyD,aAAa,GACjB/E,eAAe,CAACgF,IAAI,CAAEC,KAAK,IAAKrF,GAAG,CAACqB,QAAQ,CAACgE,KAAK,CAAC,CAAC,IACnDlF,QAAQ,IAAIH,GAAG,CAACqB,QAAQ,CAAClB,QAAQ,CAAE;IAEtC,IACE,CAACgF,aAAa,IACdnF,GAAG,IACHA,GAAG,KAAK,aAAa,IACrBA,GAAG,KAAK,cAAc,EACtB;MACAH,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEE,GAAG,CAAC;MAC1CW,iBAAiB,CAACX,GAAG,CAAC;MACtB,OAAO,KAAK;IACd;IACA,IACEA,GAAG,CAACqB,QAAQ,CAAC,MAAM,CAAC,IACpBrB,GAAG,CAACqB,QAAQ,CAAC,cAAc,CAAC,IAC5BrB,GAAG,CAACqB,QAAQ,CAAC,sBAAsB,CAAC,EACpC;MACAxB,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEE,GAAG,CAAC;MAC/CgC,mBAAmB,CAAChC,GAAG,CAAC;MACxB,OAAO,KAAK;IACd;IAEA,OAAO,IAAI;EACb,CAAC;EAED,MAAMsF,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAI/E,SAAS,IAAID,UAAU,CAACiF,OAAO,EAAE;MACnCjF,UAAU,CAACiF,OAAO,CAACC,MAAM,CAAC,CAAC;MAC3B,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd,CAAC;EAEDjI,SAAS,CAAC,MAAM;IACd,MAAMkI,WAAW,GAAG1I,WAAW,CAAC2I,gBAAgB,CAC9C,mBAAmB,EACnBJ,gBACF,CAAC;IACD,OAAO,MAAM;MACXG,WAAW,CAACE,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAACpF,SAAS,CAAC,CAAC;EAEf,MAAMqF,OAAO,GAAGA,CAAA,kBACdtH,IAAA,CAAClB,IAAI;IAACyI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAEC,cAAc,EAAE,QAAQ;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,eACvE3H,IAAA,CAACnB,iBAAiB;MAAC+I,IAAI,EAAC;IAAO,CAAE;EAAC,CAC9B,CACP;;EAED;;EAEA,MAAMC,kBAAkB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;EAED,MAAMC,iBAAiB,GAAG,MAAOC,UAAsB,IAAK;IAC1D,IAAI;MACF,MAAMC,MAAM,GAAG,MAAM3I,KAAK,CAAC0I,UAAU,CAAC;MAEtC,IAAIC,MAAM,KAAKxI,OAAO,CAACyI,MAAM,EAAE;QAC7B,MAAMC,aAAa,GAAG,MAAM3I,OAAO,CAACwI,UAAU,CAAC;QAC/C,OAAOG,aAAa,KAAK1I,OAAO,CAAC2I,OAAO;MAC1C;MAEA,OAAOH,MAAM,KAAKxI,OAAO,CAAC2I,OAAO;IACnC,CAAC,CAAC,OAAO1G,KAAK,EAAE;MACdF,OAAO,CAACE,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MAClD,OAAO,KAAK;IACd;EACF,CAAC;EAED,MAAM2G,uBAAuB,GAAG,MAAO7B,KAAU,IAAK;IACpD,MAAM;MAAE8B;IAAU,CAAC,GAAG9B,KAAK,CAAC1D,WAAW;IACvCtB,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAE6G,SAAS,CAAC;IAE/C,MAAMC,oBAAkC,GAAG,EAAE;IAE7C,IAAID,SAAS,CAACtF,QAAQ,CAAC,OAAO,CAAC,EAAE;MAC/BuF,oBAAoB,CAACC,IAAI,CACvB7J,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GACjBlB,WAAW,CAACkJ,GAAG,CAACC,MAAM,GACtBnJ,WAAW,CAACoJ,OAAO,CAACD,MAC1B,CAAC;IACH;IACA,IAAIJ,SAAS,CAACtF,QAAQ,CAAC,YAAY,CAAC,EAAE;MACpCuF,oBAAoB,CAACC,IAAI,CACvB7J,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GACjBlB,WAAW,CAACkJ,GAAG,CAACG,UAAU,GAC1BrJ,WAAW,CAACoJ,OAAO,CAACE,YAC1B,CAAC;IACH;IACA,IAAIP,SAAS,CAACtF,QAAQ,CAAC,aAAa,CAAC,EAAE;MACrCuF,oBAAoB,CAACC,IAAI,CACvB7J,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GACjBlB,WAAW,CAACkJ,GAAG,CAACK,oBAAoB,GACpCvJ,WAAW,CAACoJ,OAAO,CAACI,oBAC1B,CAAC;IACH;IAEA,IAAI;MACF,MAAMC,OAAO,GAAG,MAAMzG,OAAO,CAAC0G,GAAG,CAC/BV,oBAAoB,CAACrE,GAAG,CAAE8D,UAAU,IAAKD,iBAAiB,CAACC,UAAU,CAAC,CACxE,CAAC;MAED,MAAMkB,OAAO,GAAGF,OAAO,CAACG,KAAK,CAAElB,MAAM,IAAKA,MAAM,KAAK,IAAI,CAAC;MAC1D,IAAIiB,OAAO,EAAE;QACX;QACA1C,KAAK,CAAC1D,WAAW,CAACsG,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACL;QACA5C,KAAK,CAAC1D,WAAW,CAACuG,IAAI,CAAC,CAAC;MAC1B;IACF,CAAC,CAAC,OAAO3H,KAAK,EAAE;MACdF,OAAO,CAACE,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;MACnD;MACA8E,KAAK,CAAC1D,WAAW,CAACuG,IAAI,CAAC,CAAC;IAC1B;EACF,CAAC;EAED,MAAMC,oBAAoB,GAAIzG,cAAmB,IAAK;IACpD,MAAM0G,SAAS,GAAG1G,cAAc,EAAEC,WAAW,EAAEnB,GAAG,IAAIA,GAAG;IAEzDK,cAAc,GAAG,CAAC;EACpB,CAAC;EAED,oBACE/B,IAAA,CAACpB,YAAY;IAAC2I,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC;MAAE+B,eAAe,EAAE;IAAQ,CAAE;IAAA5B,QAAA,eACzD3H,IAAA,CAACxB,SAAS;MACRgL,GAAG,EAAExH,UAAW;MAChByH,MAAM,EAAE;QAAEC,GAAG,EAAEhI;MAAI,CAAE;MACrBiI,mBAAmB,EACjBvB,uBACD;MACDwB,kBAAkB,EAAE,IAAK;MACzBC,kBAAkB,EAAE;QAClBC,MAAM,EAAE,IAAI;QACZC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE;MACf,CAAE;MACFC,OAAO,EAAGjJ,CAAC,IAAK;QACd2B,2BAA2B,CAAC3B,CAAC,CAAC;QAC9BW,OAAO,EAAEsI,OAAO,GAAGjJ,CAAQ,CAAC;MAC9B,CAAE;MAAA,GACEW,OAAO;MACXuI,mBAAmB,EAAE,IAAK;MAC1BC,aAAa,EAAEA,CAAA,kBAAMnK,IAAA,CAACsH,OAAO,IAAE,CAAE;MACjC8C,SAAS,EAAEf,oBAAqB;MAChCgB,eAAe,EAAE,CAAC,GAAG,CAAE;MACvBC,iBAAiB,EAAE,IAAK;MACxBC,iBAAiB,EAAE,IAAK;MACxBC,+BAA+B,EAAE,KAAM;MACvCC,yBAAyB,EAAE,IAAK;MAChCC,4BAA4B,EAAEpE,kCAAmC;MACjEqE,uBAAuB,EAAGC,QAAQ,IAAK;QACrC1I,YAAY,CAAC0I,QAAQ,CAAC3I,SAAS,CAAC;MAClC,CAAE;MACF4F,kBAAkB,EAAEA,kBAAmB;MACvCgD,gBAAgB,EAAEnM,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,GAAI;MACzDsK,mCAAmC,EAAEpM,QAAQ,CAAC8B,EAAE,KAAK,KAAM;MAC3DuK,oBAAoB,EAAE,IAAK;MAC3BC,yBAAyB,EAAE,KAAM;MACjCC,gBAAgB,EAAC,QAAQ;MACzBC,iBAAiB,EAAE;IAAK,CACzB;EAAC,CACU,CAAC;AAEnB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=react-native-intent-launcher.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/react-native-intent-launcher.d.ts"],"mappings":"","ignoreList":[]}
@@ -16,6 +16,8 @@ interface WebViewCustomProps {
16
16
  whitelistedUrls?: string[];
17
17
  onPageFinished?: () => void;
18
18
  }
19
+ type MailApp = 'outlook' | 'gmail' | 'yahoo';
20
+ export declare function openMailAppIntent(app: MailApp): Promise<boolean>;
19
21
  export declare const WebView: ({ url, options, onCallback, hostName, whitelistedUrls, onPageFinished, }: WebViewCustomProps) => import("react/jsx-runtime").JSX.Element;
20
22
  export {};
21
23
  //# sourceMappingURL=webview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAajC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAUD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CAwVpB,CAAC"}
1
+ {"version":3,"file":"webview.d.ts","sourceRoot":"","sources":["../../../../src/helpers/webview.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAejC,UAAU,oBAAqB,SAAQ,YAAY;IACjD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AACD,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAYD,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE7C,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAsCtE;AAUD,eAAO,MAAM,OAAO,GAAI,0EAOrB,kBAAkB,4CAgXpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "banking_dcb_sdk_react_native",
3
- "version": "0.1.9",
3
+ "version": "1.0.1",
4
4
  "description": "React Native package for partner integrating with DCB",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -86,22 +86,22 @@
86
86
  "typescript": "^5.2.2"
87
87
  },
88
88
  "peerDependencies": {
89
- "react": "*",
90
- "react-native": "*",
89
+ "@react-native-async-storage/async-storage": "*",
91
90
  "@react-native-cookies/cookies": "*",
91
+ "async-storage": "*",
92
92
  "axios": "*",
93
+ "base64-js": "*",
94
+ "react": "*",
95
+ "react-native": "*",
96
+ "react-native-blob-util": "*",
93
97
  "react-native-device-info": "*",
94
98
  "react-native-file-viewer": "*",
95
99
  "react-native-fs": "*",
96
100
  "react-native-permissions": "*",
101
+ "react-native-quick-crypto": "*",
97
102
  "react-native-safe-area-context": "*",
98
103
  "react-native-screens": "*",
99
104
  "react-native-webview": "*",
100
- "@react-native-async-storage/async-storage": "*",
101
- "async-storage": "*",
102
- "react-native-blob-util": "*",
103
- "react-native-quick-crypto": "*",
104
- "base64-js": "*",
105
105
  "uuid": "*"
106
106
  },
107
107
  "workspaces": [
@@ -165,6 +165,8 @@
165
165
  ]
166
166
  },
167
167
  "dependencies": {
168
- "react-native-get-random-values": "^1.11.0"
168
+ "react-native-get-random-values": "^1.11.0",
169
+ "react-native-intent-launcher": "^0.2.1",
170
+ "react-native-send-intent": "^1.3.0"
169
171
  }
170
172
  }
@@ -30,6 +30,8 @@ import FileViewer from 'react-native-file-viewer';
30
30
  import RNFS from 'react-native-fs';
31
31
  import CookieManager from '@react-native-cookies/cookies';
32
32
  import { AnalyticsLogger } from './analytics/analytics_logger';
33
+ import SendIntentAndroid from 'react-native-send-intent';
34
+ import IntentLauncher, { IntentConstant } from 'react-native-intent-launcher';
33
35
 
34
36
  interface ExtendedWebViewProps extends WebViewProps {
35
37
  onPermissionRequest?: (event: any) => void;
@@ -47,6 +49,58 @@ interface WebViewCustomProps {
47
49
  whitelistedUrls?: string[];
48
50
  onPageFinished?: () => void;
49
51
  }
52
+
53
+ const PKG = {
54
+ outlook: 'com.microsoft.office.outlook',
55
+ gmail: 'com.google.android.gm',
56
+ yahoo: 'com.yahoo.mobile.client.android.mail',
57
+ } as const;
58
+
59
+ // Yahoo uses explicit launcher activity (matches your Flutter)
60
+ const YAHOO_ACTIVITY =
61
+ 'com.yahoo.mobile.client.android.mail.activity.MainActivity';
62
+
63
+ type MailApp = 'outlook' | 'gmail' | 'yahoo';
64
+
65
+ export async function openMailAppIntent(app: MailApp): Promise<boolean> {
66
+ if (Platform.OS !== 'android') return false;
67
+
68
+ try {
69
+ if (app === 'yahoo') {
70
+ await IntentLauncher.startActivity({
71
+ action: 'android.intent.action.MAIN',
72
+ category: 'android.intent.category.LAUNCHER',
73
+ packageName: PKG.yahoo,
74
+ className: YAHOO_ACTIVITY,
75
+ flags: [IntentConstant.FLAG_ACTIVITY_NEW_TASK],
76
+ });
77
+ } else {
78
+ await IntentLauncher.startActivity({
79
+ action: 'android.intent.action.MAIN',
80
+ category: 'android.intent.category.LAUNCHER',
81
+ packageName: app === 'gmail' ? PKG.gmail : PKG.outlook,
82
+ flags: [IntentConstant.FLAG_ACTIVITY_NEW_TASK],
83
+ });
84
+ }
85
+ return true;
86
+ } catch (e) {
87
+ //fallback
88
+ const scheme =
89
+ app === 'outlook'
90
+ ? 'ms-outlook://'
91
+ : app === 'gmail'
92
+ ? 'googlegmail://'
93
+ : 'ymail://';
94
+ try {
95
+ const can = await Linking.canOpenURL(scheme);
96
+ if (can) {
97
+ await Linking.openURL(scheme);
98
+ return true;
99
+ }
100
+ } catch {}
101
+ return false;
102
+ }
103
+ }
50
104
  const clearAllCookies = async () => {
51
105
  try {
52
106
  await CookieManager.clearAll(true);
@@ -202,7 +256,35 @@ export const WebView = ({
202
256
  if (url === 'about:blank' || url === 'about:srcdoc') {
203
257
  return true;
204
258
  }
205
- // _analyticsLogger.logEvent({ event: 'REACT_NATIVE_LOADING_URL ', url });
259
+
260
+ if (Platform.OS === 'android' && url) {
261
+ if (url.includes('ms-outlook://')) {
262
+ console.log('Intent to open Outlook detected');
263
+ openMailAppIntent('outlook').then(
264
+ (ok) =>
265
+ !ok &&
266
+ ToastAndroid.show('Outlook app not found', ToastAndroid.SHORT)
267
+ );
268
+ return false; // cancel WebView navigation
269
+ }
270
+ if (url.includes('googlegmail://')) {
271
+ console.log('Intent to open Gmail detected');
272
+ openMailAppIntent('gmail').then(
273
+ (ok) =>
274
+ !ok && ToastAndroid.show('Gmail app not found', ToastAndroid.SHORT)
275
+ );
276
+ return false;
277
+ }
278
+ if (url.includes('ymail://')) {
279
+ console.log('Intent to open Yahoo Mail detected');
280
+ openMailAppIntent('yahoo').then(
281
+ (ok) =>
282
+ !ok &&
283
+ ToastAndroid.show('Yahoo Mail app not found', ToastAndroid.SHORT)
284
+ );
285
+ return false;
286
+ }
287
+ }
206
288
 
207
289
  if (
208
290
  url?.includes('/session-expired?status=') ||
@@ -212,10 +294,6 @@ export const WebView = ({
212
294
  const status = getQueryParam(url, 'status');
213
295
 
214
296
  console.log('Status thrown from webview ', status);
215
- // _analyticsLogger.logEvent({
216
- // event: 'REACT_NATIVE_WEBVIEW_CALLBACK ',
217
- // status,
218
- // });
219
297
 
220
298
  StatusBar.setBackgroundColor('#7E7E7EFF');
221
299
  clearAllCookies();
@@ -0,0 +1,26 @@
1
+ declare module 'react-native-intent-launcher' {
2
+ // The library exposes numeric FLAG_* constants; we only need NEW_TASK.
3
+ export const IntentConstant: {
4
+ FLAG_ACTIVITY_NEW_TASK: number;
5
+ // (you can add others if you end up using them)
6
+ [key: string]: number;
7
+ };
8
+
9
+ // Minimal shape to satisfy our usage (MAIN/LAUNCHER + package/class + flags)
10
+ export interface StartActivityParams {
11
+ action?: string;
12
+ category?: string | string[];
13
+ packageName?: string;
14
+ className?: string;
15
+ flags?: Array<number | string>;
16
+ data?: string;
17
+ type?: string;
18
+ extra?: Record<string, string | number | boolean>;
19
+ }
20
+
21
+ const IntentLauncher: {
22
+ startActivity(params: StartActivityParams): Promise<void>;
23
+ };
24
+
25
+ export default IntentLauncher;
26
+ }