@deuna/react-native-sdk 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/README.md +21 -0
  2. package/lib/module/DeunaSDK.js +96 -75
  3. package/lib/module/DeunaSDK.js.map +1 -1
  4. package/lib/module/components/DeunaWidget.js +54 -26
  5. package/lib/module/components/DeunaWidget.js.map +1 -1
  6. package/lib/module/components/ExternalUrlWebView.js +56 -0
  7. package/lib/module/components/ExternalUrlWebView.js.map +1 -0
  8. package/lib/module/controllers/BaseWebViewController.js +21 -20
  9. package/lib/module/controllers/BaseWebViewController.js.map +1 -1
  10. package/lib/module/controllers/ElementsWidgetController.js +5 -5
  11. package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
  12. package/lib/module/controllers/{OpenInNewTabController.js → ExternalUrlController.js} +4 -4
  13. package/lib/module/controllers/ExternalUrlController.js.map +1 -0
  14. package/lib/module/controllers/PaymentWidgetController.js +5 -4
  15. package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
  16. package/lib/module/helpers/Completer.js +2 -2
  17. package/lib/module/helpers/Completer.js.map +1 -1
  18. package/lib/module/helpers/CrossPlatformBrowser.js +51 -0
  19. package/lib/module/helpers/CrossPlatformBrowser.js.map +1 -0
  20. package/lib/module/helpers/ExternalUrlHelper.js +96 -0
  21. package/lib/module/helpers/ExternalUrlHelper.js.map +1 -0
  22. package/lib/module/helpers/SubmitStrategy.js +44 -0
  23. package/lib/module/helpers/SubmitStrategy.js.map +1 -0
  24. package/lib/module/helpers/ViewManager.js +32 -0
  25. package/lib/module/helpers/ViewManager.js.map +1 -0
  26. package/lib/module/helpers/{getController.js → buildDeunaWidgetController.js} +12 -4
  27. package/lib/module/helpers/buildDeunaWidgetController.js.map +1 -0
  28. package/lib/module/helpers/getSubmitStrategy.js +32 -0
  29. package/lib/module/helpers/getSubmitStrategy.js.map +1 -0
  30. package/lib/module/interfaces/constants.js +2 -0
  31. package/lib/module/interfaces/constants.js.map +1 -1
  32. package/lib/module/interfaces/types.js.map +1 -1
  33. package/lib/module/types/helpers/buildElementsLink.js +3 -1
  34. package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
  35. package/lib/module/types/helpers/buildPaymentLink.js +3 -1
  36. package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
  37. package/lib/module/types/helpers/buildVoucherLink.js +3 -1
  38. package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
  39. package/lib/module/types/helpers/constants.js +4 -0
  40. package/lib/module/types/helpers/constants.js.map +1 -0
  41. package/lib/module/types/helpers/urlConfig.js +1 -1
  42. package/lib/module/types/helpers/urlConfig.js.map +1 -1
  43. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +14 -13
  44. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
  45. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
  46. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts +7 -0
  47. package/lib/typescript/deuna-sdk-react-native/src/components/ExternalUrlWebView.d.ts.map +1 -0
  48. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +7 -6
  49. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
  50. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts +3 -1
  51. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
  52. package/lib/typescript/deuna-sdk-react-native/src/controllers/{OpenInNewTabController.d.ts → ExternalUrlController.d.ts} +2 -2
  53. package/lib/typescript/deuna-sdk-react-native/src/controllers/ExternalUrlController.d.ts.map +1 -0
  54. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts +3 -2
  55. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map +1 -1
  56. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts +25 -0
  57. package/lib/typescript/deuna-sdk-react-native/src/helpers/CrossPlatformBrowser.d.ts.map +1 -0
  58. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts +48 -0
  59. package/lib/typescript/deuna-sdk-react-native/src/helpers/ExternalUrlHelper.d.ts.map +1 -0
  60. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts +23 -0
  61. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts.map +1 -0
  62. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts +19 -0
  63. package/lib/typescript/deuna-sdk-react-native/src/helpers/ViewManager.d.ts.map +1 -0
  64. package/lib/typescript/deuna-sdk-react-native/src/helpers/{getController.d.ts → buildDeunaWidgetController.d.ts} +2 -2
  65. package/lib/typescript/deuna-sdk-react-native/src/helpers/buildDeunaWidgetController.d.ts.map +1 -0
  66. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts +4 -0
  67. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts.map +1 -0
  68. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +2 -0
  69. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
  70. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +6 -0
  71. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
  72. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
  73. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
  74. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
  75. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts +2 -0
  76. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/constants.d.ts.map +1 -0
  77. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts +1 -0
  78. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/urlConfig.d.ts.map +1 -1
  79. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts +8 -0
  80. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/callbacks.d.ts.map +1 -1
  81. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts +1 -0
  82. package/lib/typescript/deuna-sdk-react-native/src/types/interfaces/initWidgetBase.d.ts.map +1 -1
  83. package/package.json +7 -5
  84. package/src/DeunaSDK.ts +115 -83
  85. package/src/components/DeunaWidget.tsx +75 -35
  86. package/src/components/ExternalUrlWebView.tsx +65 -0
  87. package/src/controllers/BaseWebViewController.ts +28 -27
  88. package/src/controllers/ElementsWidgetController.ts +8 -6
  89. package/src/controllers/{OpenInNewTabController.ts → ExternalUrlController.ts} +3 -3
  90. package/src/controllers/PaymentWidgetController.ts +12 -5
  91. package/src/helpers/Completer.ts +2 -2
  92. package/src/helpers/CrossPlatformBrowser.ts +49 -0
  93. package/src/helpers/ExternalUrlHelper.ts +118 -0
  94. package/src/helpers/SubmitStrategy.ts +67 -0
  95. package/src/helpers/ViewManager.ts +45 -0
  96. package/src/helpers/{getController.ts → buildDeunaWidgetController.ts} +11 -4
  97. package/src/helpers/getSubmitStrategy.ts +42 -0
  98. package/src/interfaces/constants.ts +5 -1
  99. package/src/interfaces/types.ts +8 -0
  100. package/src/types/helpers/buildElementsLink.ts +4 -1
  101. package/src/types/helpers/buildPaymentLink.ts +2 -0
  102. package/src/types/helpers/buildVoucherLink.ts +2 -0
  103. package/src/types/helpers/constants.ts +1 -0
  104. package/src/types/helpers/urlConfig.ts +3 -1
  105. package/src/types/interfaces/callbacks.ts +10 -1
  106. package/src/types/interfaces/initWidgetBase.ts +1 -0
  107. package/lib/module/components/NewTabWebView.js +0 -56
  108. package/lib/module/components/NewTabWebView.js.map +0 -1
  109. package/lib/module/controllers/OpenInNewTabController.js.map +0 -1
  110. package/lib/module/helpers/getController.js.map +0 -1
  111. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts +0 -7
  112. package/lib/typescript/deuna-sdk-react-native/src/components/NewTabWebView.d.ts.map +0 -1
  113. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +0 -1
  114. package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +0 -1
  115. package/src/components/NewTabWebView.tsx +0 -64
@@ -0,0 +1 @@
1
+ export const PLATFORM_DEFAULT = "custom";
@@ -23,7 +23,7 @@ export const getIntegrationType = (mode?: string) => {
23
23
  target: "embedded",
24
24
  };
25
25
 
26
- return modeMap[mode || ""] || "redirect";
26
+ return modeMap[mode || ""] || "link";
27
27
  };
28
28
 
29
29
  interface PaymentMethods {
@@ -71,6 +71,8 @@ export interface UrlConfig {
71
71
  sessionId: string;
72
72
 
73
73
  types?: ElementWidgetType[];
74
+
75
+ platform?: string;
74
76
  }
75
77
 
76
78
  export interface ElementWidgetType {
@@ -20,11 +20,16 @@ interface OnInstallmentSelectedPayload {
20
20
  installmentPlanOptionId: string;
21
21
  }
22
22
 
23
+ interface Dimensions {
24
+ height: number;
25
+ width: number;
26
+ }
23
27
  interface BaseCallbacks {
24
28
  onSuccess?: (data: Json) => void;
25
29
  onError?: (data: OnError) => void;
26
30
  onClosed?: (action: ClosedAction) => void;
27
31
  onEventDispatch?: (event: string, payload: Json) => void;
32
+ onResize?: (dimensions: Dimensions) => void;
28
33
  }
29
34
 
30
35
  export interface PaymentWidgetCallbacks extends BaseCallbacks {
@@ -40,4 +45,8 @@ export interface ElementsWidgetCallbacks extends BaseCallbacks {
40
45
 
41
46
  export interface NextActionWidgetCallbacks extends BaseCallbacks {}
42
47
 
43
- export interface VoucherWidgetCallbacks extends BaseCallbacks {}
48
+ export interface VoucherWidgetCallbacks extends BaseCallbacks {
49
+ onCardBinDetected?: (data: OnCardBinDetected) => void;
50
+ onInstallmentSelected?: (data: OnInstallmentSelectedPayload) => void;
51
+ onPaymentProcessing?: () => void;
52
+ }
@@ -83,6 +83,7 @@ export interface InitWidgetBase {
83
83
  userInfo?: Partial<UserInfo>;
84
84
  behavior?: BehaviorWidget;
85
85
  domain?: string;
86
+ platform?: string;
86
87
  hidePayButton?: boolean;
87
88
  callbacks?: PaymentWidgetCallbacks &
88
89
  ElementsWidgetCallbacks &
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- import { useEffect, useRef, useState } from 'react';
4
- import { Modal, SafeAreaView, StyleSheet } from 'react-native';
5
- import { DeunaWebView } from "./DeunaWebView.js";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- export const NewTabWebView = props => {
8
- const {
9
- instance
10
- } = props;
11
- const instanceRef = useRef(instance);
12
- const [visible, setVisible] = useState(false);
13
- useEffect(() => {
14
- instanceRef.current = instance;
15
- }, [instance]);
16
-
17
- // Listen when the DeunaSDK instance configuration
18
- // has changed
19
- useEffect(() => {
20
- const ref = instanceRef.current;
21
- const listener = () => {
22
- const isVisible = !!ref.newTabWebViewController;
23
- setVisible(isVisible);
24
- };
25
- instanceRef.current.addListener(listener);
26
- return () => {
27
- ref.removeListener(listener);
28
- ref.newTabWebViewController?.dispose();
29
- };
30
- }, []);
31
- const newTabController = instanceRef.current.newTabWebViewController;
32
- return /*#__PURE__*/_jsx(Modal, {
33
- presentationStyle: "pageSheet",
34
- visible: visible,
35
- animationType: "slide",
36
- onRequestClose: instanceRef.current.onCloseNewTab,
37
- onDismiss: instanceRef.current.onNewTabDismissed,
38
- children: visible && /*#__PURE__*/_jsx(SafeAreaView, {
39
- style: styles.container,
40
- children: /*#__PURE__*/_jsx(DeunaWebView, {
41
- url: newTabController?.url ?? '',
42
- onWebView: newTabController?.setWebView,
43
- onMessage: newTabController?.onMessage,
44
- onLoad: newTabController?.onLoad,
45
- onError: newTabController?.onError,
46
- onShouldStartLoadWithRequest: newTabController?.onShouldStartLoadWithRequest
47
- })
48
- })
49
- });
50
- };
51
- const styles = StyleSheet.create({
52
- container: {
53
- flex: 1
54
- }
55
- });
56
- //# sourceMappingURL=NewTabWebView.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["BaseWebViewController","WebViewEventType","DeunaLogs","OpenInNewTabController","constructor","url","onLoad","setXprops","onError","event","console","warn","urlMustBeLoadedInTheSameWebView","isDownloadUrl","delegate","onFileDownload","onMessage","eventData","JSON","parse","nativeEvent","data","type","info","message","webView","injectJavaScript","consoleLog","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,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,GAAIP,GAAW,IAAK;IACjD,IAAI,IAAI,CAACQ,aAAa,CAACR,GAAG,CAAC,EAAE;MAC3B,IAAI,CAACS,QAAQ,EAAEC,cAAc,GAAGV,GAAG,CAAC;MACpC,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb,CAAC;EAEDW,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;MACpCpB,SAAS,CAACqB,IAAI,CAAC,aAAa,EAAEN,SAAS,CAACO,OAAO,CAAC;IAClD;EACF,CAAC;EAEDjB,SAAS,GAAGA,CAAA,KAAM;IAChB;IACA,IAAI,CAACkB,OAAO,EAAEC,gBAAgB,CAAC;AACnC;AACA,wEAAwEzB,gBAAgB,CAAC0B,UAAU;AACnG;AACA;AACA,wEAAwE1B,gBAAgB,CAAC2B,iBAAiB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;EACJ,CAAC;AACH","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["PaymentWidgetController","ElementsWidgetController","linkBuilders","Mode","DeunaLogs","getWidgetController","config","props","widget","mode","callbacks","rest","baseParams","env","environment","publicApiKey","orderToken","userToken","language","sessionId","MODAL","widgetMappers","elements","userInfo","styleFile","behavior","widgetExperience","types","payment","paymentMethods","nextAction","voucher","controller","url","hidePayButton","info"],"sourceRoot":"../../../src","sources":["helpers/getController.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2CAAwC;AAChF,SAASC,wBAAwB,QAAQ,4CAAyC;AAQlF,SAASC,YAAY,QAAQ,2BAAkB;AAC/C,SAASC,IAAI,QAAQ,wBAAqB;AAC1C,SAASC,SAAS,QAAQ,iBAAc;AAwBxC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,MAAwB,EACxBC,KAA4D,KACjC;EAC3B,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAElD,MAAMK,UAAU,GAAG;IACjBC,GAAG,EAAEP,MAAM,CAACQ,WAAY;IACxBC,YAAY,EAAET,MAAM,CAACS,YAAY;IACjCC,UAAU,EAAEL,IAAI,CAACK,UAAU,IAAI,EAAE;IACjCC,SAAS,EAAEN,IAAI,CAACM,SAAS,IAAI,EAAE;IAC/BC,QAAQ,EAAEP,IAAI,CAACO,QAAQ,IAAI,IAAI;IAC/BC,SAAS,EAAER,IAAI,CAACQ,SAAS,IAAI,EAAE;IAC/BV,IAAI,EAAEA,IAAI,IAAIN,IAAI,CAACiB;EACrB,CAAC;EAED,MAAMC,aAAa,GAAG;IACpBC,QAAQ,EAAEA,CAAA,MAAO;MACf,GAAGV,UAAU;MACbW,QAAQ,EAAEZ,IAAI,CAACY,QAAQ;MACvBC,SAAS,EAAEb,IAAI,CAACa,SAAS;MACzBC,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBC,gBAAgB,EAAEf,IAAI,CAACe,gBAAgB;MACvCC,KAAK,EAAGpB,KAAK,CAAmCoB;IAClD,CAAC,CAAC;IACFC,OAAO,EAAEA,CAAA,MAAO;MACd,GAAGhB,UAAU;MACba,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBI,cAAc,EAAGtB,KAAK,CAAkCsB,cAAc;MACtEL,SAAS,EAAEb,IAAI,CAACa;IAClB,CAAC,CAAC;IACFM,UAAU,EAAEA,CAAA,KAAMlB,UAAU;IAC5BmB,OAAO,EAAEA,CAAA,KAAMnB;EACjB,CAAC;EAED,MAAMoB,UAAU,GACdxB,MAAM,KAAK,UAAU,GACjB,IAAIP,wBAAwB,CAACS,SAAS,CAAC,GACvC,IAAIV,uBAAuB,CAACU,SAAS,CAAC;EAE5CsB,UAAU,CAACC,GAAG,GAAG/B,YAAY,CAACM,MAAM,CAAC,CAACa,aAAa,CAACb,MAAM,CAAC,CAAC,CAAC,CAAC;EAC9DwB,UAAU,CAACE,aAAa,GAAGvB,IAAI,CAACuB,aAAa,IAAI,KAAK;EAEtD9B,SAAS,CAAC+B,IAAI,CAAC,iBAAiB,EAAEH,UAAU,CAACC,GAAG,CAAC;EAEjD,OAAOD,UAAU;AACnB,CAAC","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import { DeunaSDK } from '../DeunaSDK';
2
- interface NewTabWebViewProps {
3
- instance: DeunaSDK;
4
- }
5
- export declare const NewTabWebView: (props: NewTabWebViewProps) => import("react/jsx-runtime").JSX.Element;
6
- export {};
7
- //# sourceMappingURL=NewTabWebView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NewTabWebView.d.ts","sourceRoot":"","sources":["../../../../../src/components/NewTabWebView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAoDtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpenInNewTabController.d.ts","sourceRoot":"","sources":["../../../../../src/controllers/OpenInNewTabController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EACL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,sBAAuB,SAAQ,qBAAqB;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAKhC,MAAM,aAEJ;IAEF,OAAO,GAAI,OAAO,GAAG,UAEnB;IAEF,+BAA+B,GAAI,KAAK,MAAM,aAM5C;IAEF,SAAS,GAAI,OAAO,mBAAmB,UAKrC;IAEF,SAAS,aAkBP;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getController.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/getController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,+BAA+B,GAAG,0BAA0B,GAAG;IAClE,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,KAAK,4BAA4B,GAAG,uBAAuB,GAAG;IAC5D,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,6BAA6B,GAAG,wBAAwB,GAAG;IAC9D,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAChB,4BAA4B,GAC5B,+BAA+B,GAC/B,4BAA4B,GAC5B,6BAA6B,CAAC;AAElC,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,gBAAgB,EACxB,OAAO,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,KAC3D,sBA2CF,CAAC"}
@@ -1,64 +0,0 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- import { DeunaSDK } from '../DeunaSDK';
3
- import { Modal, SafeAreaView, StyleSheet } from 'react-native';
4
- import { DeunaWebView } from './DeunaWebView';
5
-
6
- interface NewTabWebViewProps {
7
- instance: DeunaSDK;
8
- }
9
-
10
- export const NewTabWebView = (props: NewTabWebViewProps) => {
11
- const { instance } = props;
12
- const instanceRef = useRef<DeunaSDK>(instance);
13
- const [visible, setVisible] = useState(false);
14
-
15
- useEffect(() => {
16
- instanceRef.current = instance;
17
- }, [instance]);
18
-
19
- // Listen when the DeunaSDK instance configuration
20
- // has changed
21
- useEffect(() => {
22
- const ref = instanceRef.current;
23
- const listener = () => {
24
- const isVisible = !!ref.newTabWebViewController;
25
- setVisible(isVisible);
26
- };
27
-
28
- instanceRef.current.addListener(listener);
29
-
30
- return () => {
31
- ref.removeListener(listener);
32
- ref.newTabWebViewController?.dispose();
33
- };
34
- }, []);
35
-
36
- const newTabController = instanceRef.current.newTabWebViewController;
37
-
38
- return (
39
- <Modal
40
- presentationStyle="pageSheet"
41
- visible={visible}
42
- animationType="slide"
43
- onRequestClose={instanceRef.current.onCloseNewTab}
44
- onDismiss={instanceRef.current.onNewTabDismissed}
45
- >
46
- {visible && (
47
- <SafeAreaView style={styles.container}>
48
- <DeunaWebView
49
- url={newTabController?.url ?? ''}
50
- onWebView={newTabController?.setWebView}
51
- onMessage={newTabController?.onMessage}
52
- onLoad={newTabController?.onLoad}
53
- onError={newTabController?.onError}
54
- onShouldStartLoadWithRequest={
55
- newTabController?.onShouldStartLoadWithRequest
56
- }
57
- />
58
- </SafeAreaView>
59
- )}
60
- </Modal>
61
- );
62
- };
63
-
64
- const styles = StyleSheet.create({ container: { flex: 1 } });