react-native-unit-components 1.0.1 → 1.0.3

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 (218) hide show
  1. package/README.md +75 -6
  2. package/android/src/main/AndroidManifest.xml +12 -1
  3. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +2 -1
  4. package/android/src/main/java/com/unitreactnativecomponents/sharepdf/UNSharePDF.kt +75 -0
  5. package/android/src/main/res/layout/un_black_add_to_googlepay_button.xml +2 -2
  6. package/android/src/main/res/layout/un_view_google_push_provisioning.xml +1 -13
  7. package/android/src/main/res/layout/un_white_add_to_googlepay_button.xml +1 -1
  8. package/android/src/main/res/layout/un_white_add_to_googlepay_button_no_shadow.xml +1 -1
  9. package/android/src/main/res/xml/file_paths.xml +4 -0
  10. package/ios/UnitReactNativeComponentsViewManager.m +0 -1
  11. package/ios/UnitReactNativeComponentsViewManager.swift +6 -2
  12. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +103 -0
  13. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -0
  14. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +47 -0
  15. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -0
  16. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +63 -8
  17. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  18. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +18 -3
  19. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  20. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +56 -13
  21. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  22. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +4 -3
  23. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  24. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +3 -3
  25. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
  26. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +114 -46
  27. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  28. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +4 -8
  29. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  30. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +95 -0
  31. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -0
  32. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +31 -0
  33. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -0
  34. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +65 -7
  35. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  36. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +56 -10
  37. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  38. package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js +20 -0
  39. package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -0
  40. package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +44 -0
  41. package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -0
  42. package/lib/commonjs/components/index.js +13 -0
  43. package/lib/commonjs/components/index.js.map +1 -1
  44. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +32 -12
  45. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
  46. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js +1 -1
  47. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
  48. package/lib/commonjs/helpers/EventBus.js.map +1 -1
  49. package/lib/commonjs/messages/nativeMessages/cardMessage.js +36 -0
  50. package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -0
  51. package/lib/commonjs/messages/nativeMessages/index.js +0 -7
  52. package/lib/commonjs/messages/nativeMessages/index.js.map +1 -1
  53. package/lib/commonjs/messages/nativeMessages/sdkMessage.js +14 -0
  54. package/lib/commonjs/messages/nativeMessages/sdkMessage.js.map +1 -0
  55. package/lib/commonjs/messages/webMessages/unitMessages.js +1 -0
  56. package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
  57. package/lib/commonjs/nativeComponent/{UNNativeAddToWalletButton.js → UnitAddToWalletButton.js} +1 -1
  58. package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js.map +1 -0
  59. package/lib/commonjs/scripts/html/bodyHtml.js +1 -1
  60. package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
  61. package/lib/commonjs/scripts/html/bodyScript.js +22 -5
  62. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  63. package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
  64. package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
  65. package/lib/commonjs/sharedTypes/index.js +13 -0
  66. package/lib/commonjs/sharedTypes/index.js.map +1 -1
  67. package/lib/commonjs/sharedTypes/onLoadResponse.types.js +6 -0
  68. package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -0
  69. package/lib/commonjs/sharedTypes/wallet.types.js +22 -0
  70. package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -0
  71. package/lib/commonjs/unitSdkManager/UnitSdk.api.js +5 -3
  72. package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
  73. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +18 -0
  74. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  75. package/lib/commonjs/webComponent/WebComponent.js +35 -10
  76. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  77. package/lib/commonjs/webComponent/WebComponent.utils.js +41 -0
  78. package/lib/commonjs/webComponent/WebComponent.utils.js.map +1 -0
  79. package/lib/commonjs/webComponent/html.js +9 -1
  80. package/lib/commonjs/webComponent/html.js.map +1 -1
  81. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +74 -0
  82. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -0
  83. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +26 -0
  84. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -0
  85. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +56 -8
  86. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  87. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +10 -2
  88. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  89. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +50 -12
  90. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  91. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -2
  92. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  93. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +1 -1
  94. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
  95. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +111 -46
  96. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  97. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +5 -9
  98. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  99. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +68 -0
  100. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -0
  101. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +21 -0
  102. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -0
  103. package/lib/module/components/UNCardComponent/UNCardComponent.js +65 -9
  104. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  105. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +48 -9
  106. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  107. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js +10 -0
  108. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -0
  109. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +29 -0
  110. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -0
  111. package/lib/module/components/index.js +1 -0
  112. package/lib/module/components/index.js.map +1 -1
  113. package/lib/module/helpers/BottomSheet/BottomSheet.js +30 -13
  114. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
  115. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +2 -2
  116. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
  117. package/lib/module/helpers/EventBus.js.map +1 -1
  118. package/lib/module/messages/nativeMessages/cardMessage.js +27 -0
  119. package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -0
  120. package/lib/module/messages/nativeMessages/index.js +1 -5
  121. package/lib/module/messages/nativeMessages/index.js.map +1 -1
  122. package/lib/module/messages/nativeMessages/sdkMessage.js +7 -0
  123. package/lib/module/messages/nativeMessages/sdkMessage.js.map +1 -0
  124. package/lib/module/messages/webMessages/unitMessages.js +1 -0
  125. package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
  126. package/lib/module/nativeComponent/{UNNativeAddToWalletButton.js → UnitAddToWalletButton.js} +1 -1
  127. package/lib/module/nativeComponent/UnitAddToWalletButton.js.map +1 -0
  128. package/lib/module/scripts/html/bodyHtml.js +1 -1
  129. package/lib/module/scripts/html/bodyHtml.js.map +1 -1
  130. package/lib/module/scripts/html/bodyScript.js +19 -3
  131. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  132. package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
  133. package/lib/module/sharedTypes/card.types.js.map +1 -1
  134. package/lib/module/sharedTypes/index.js +1 -0
  135. package/lib/module/sharedTypes/index.js.map +1 -1
  136. package/lib/module/sharedTypes/onLoadResponse.types.js +2 -0
  137. package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -0
  138. package/lib/module/sharedTypes/wallet.types.js +14 -0
  139. package/lib/module/sharedTypes/wallet.types.js.map +1 -0
  140. package/lib/module/unitSdkManager/UnitSdk.api.js +4 -3
  141. package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
  142. package/lib/module/unitSdkManager/UnitSdkManager.js +13 -0
  143. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  144. package/lib/module/webComponent/WebComponent.js +32 -10
  145. package/lib/module/webComponent/WebComponent.js.map +1 -1
  146. package/lib/module/webComponent/WebComponent.utils.js +27 -0
  147. package/lib/module/webComponent/WebComponent.utils.js.map +1 -0
  148. package/lib/module/webComponent/html.js +9 -2
  149. package/lib/module/webComponent/html.js.map +1 -1
  150. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +12 -0
  151. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +7 -0
  152. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -0
  153. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.utils.d.ts +4 -0
  154. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -1
  155. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.d.ts +1 -1
  156. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +9 -2
  157. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +2 -1
  158. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.d.ts +6 -0
  159. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.d.ts +17 -0
  160. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
  161. package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +9 -1
  162. package/lib/typescript/components/UNCardComponent/networking/common/UNNetworkConstants.d.ts +8 -0
  163. package/lib/typescript/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.d.ts +1 -0
  164. package/lib/typescript/components/index.d.ts +1 -0
  165. package/lib/typescript/helpers/EventBus.d.ts +3 -3
  166. package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +28 -0
  167. package/lib/typescript/messages/nativeMessages/index.d.ts +7 -2
  168. package/lib/typescript/messages/nativeMessages/sdkMessage.d.ts +8 -0
  169. package/lib/typescript/messages/webMessages/unitMessages.d.ts +16 -6
  170. package/lib/typescript/scripts/html/bodyScript.d.ts +4 -1
  171. package/lib/typescript/sharedTypes/bookPayment.types.d.ts +3 -3
  172. package/lib/typescript/sharedTypes/card.types.d.ts +6 -6
  173. package/lib/typescript/sharedTypes/index.d.ts +1 -0
  174. package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +18 -0
  175. package/lib/typescript/sharedTypes/wallet.types.d.ts +14 -0
  176. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +3 -0
  177. package/lib/typescript/webComponent/WebComponent.d.ts +4 -1
  178. package/lib/typescript/webComponent/WebComponent.utils.d.ts +2 -0
  179. package/package.json +2 -1
  180. package/src/components/UNAccountComponent/UNAccountComponent.tsx +82 -0
  181. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +30 -0
  182. package/src/components/UNActivityComponent/UNActivityComponent.tsx +57 -8
  183. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +14 -2
  184. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +47 -13
  185. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +3 -2
  186. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.ts +1 -1
  187. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +120 -44
  188. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +7 -10
  189. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.ts +21 -0
  190. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +74 -0
  191. package/src/components/UNCardComponent/UNCardComponent.tsx +68 -13
  192. package/src/components/UNCardComponent/UNCardComponent.utils.ts +47 -9
  193. package/src/components/UNCardComponent/networking/common/UNNetworkConstants.ts +11 -0
  194. package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +34 -0
  195. package/src/components/index.ts +1 -0
  196. package/src/helpers/BottomSheet/BottomSheet.styles.ts +2 -2
  197. package/src/helpers/BottomSheet/BottomSheet.tsx +28 -12
  198. package/src/helpers/EventBus.ts +3 -3
  199. package/src/messages/nativeMessages/cardMessage.ts +37 -0
  200. package/src/messages/nativeMessages/index.ts +14 -2
  201. package/src/messages/nativeMessages/sdkMessage.ts +11 -0
  202. package/src/messages/webMessages/unitMessages.ts +20 -7
  203. package/src/scripts/html/bodyHtml.ts +1 -1
  204. package/src/scripts/html/bodyScript.ts +21 -4
  205. package/src/sharedTypes/bookPayment.types.ts +3 -3
  206. package/src/sharedTypes/card.types.ts +6 -6
  207. package/src/sharedTypes/index.ts +1 -0
  208. package/src/sharedTypes/onLoadResponse.types.ts +27 -0
  209. package/src/sharedTypes/wallet.types.ts +17 -0
  210. package/src/unitSdkManager/UnitSdk.api.ts +3 -2
  211. package/src/unitSdkManager/UnitSdkManager.ts +12 -0
  212. package/src/webComponent/WebComponent.tsx +35 -12
  213. package/src/webComponent/WebComponent.utils.ts +26 -0
  214. package/src/webComponent/html.ts +9 -2
  215. package/lib/commonjs/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
  216. package/lib/module/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
  217. /package/lib/typescript/nativeComponent/{UNNativeAddToWalletButton.d.ts → UnitAddToWalletButton.d.ts} +0 -0
  218. /package/src/nativeComponent/{UNNativeAddToWalletButton.tsx → UnitAddToWalletButton.tsx} +0 -0
@@ -3,20 +3,24 @@ import React, { useEffect, useState } from 'react';
3
3
  import { WebView, WebViewMessageEvent } from 'react-native-webview';
4
4
  import EventBus from '../helpers/EventBus';
5
5
  import html, { HTML_PLACEHOLDER } from './html';
6
- import { RequestRefreshEvent, UnitMessage } from '../messages/webMessages/unitMessages';
6
+ import { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';
7
7
  import { useListenerToBus } from '../hooks/listenerToBus';
8
8
  import { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';
9
9
  import { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';
10
- import { NativeMessage } from '../messages/nativeMessages';
10
+ import { UnitSDK } from '../unitSdkManager/UnitSdkManager';
11
11
  import type { WebViewMessage } from '../messages/webMessages';
12
+ import { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';
13
+ import { handleRequestDownload } from './WebComponent.utils';
12
14
 
13
15
  export interface WebComponentProps {
14
16
  type: WebComponentType;
15
17
  presentationMode?: PresentationMode,
16
18
  params?: string;
19
+ theme?: string;
17
20
  onMessage?: (message: WebViewMessage) => void;
18
21
  script?: string;
19
22
  isScrollable?: boolean,
23
+ nestedScrollEnabled?: boolean,
20
24
  handleScroll?: (event: any) => void,
21
25
  width?: number;
22
26
  }
@@ -25,19 +29,28 @@ export enum WebComponentType {
25
29
  card = 'unit-elements-card',
26
30
  bookPayment = 'unit-elements-book-payment',
27
31
  activity = 'unit-elements-activity',
28
- slot = 'unit-elements-sdk-slot'
32
+ slot = 'unit-elements-sdk-slot',
33
+ account = 'unit-elements-account',
29
34
  }
30
35
 
31
36
  export const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {
32
37
  const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);
33
38
  const [sourceHtml, setSourceHtml] = useState<string | null>(null);
39
+ const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());
34
40
  const width = props.width ?? '100%';
35
41
 
36
- const listenerAction = (data: { unitScript?: string }) => {
42
+ const updateUnitScript = (data: SdkScriptFetched) => {
37
43
  setUnitScript(data.unitScript);
38
44
  };
39
45
 
40
- useListenerToBus([{ busEventKey: NativeMessage.IS_SCRIPT_FETCHED, action: listenerAction }]);
46
+ const updateInitializedParams = () => {
47
+ setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());
48
+ };
49
+
50
+ useListenerToBus([
51
+ { busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },
52
+ { busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },
53
+ ]);
41
54
 
42
55
  useEffect(() => {
43
56
  if (!unitScript) {
@@ -45,18 +58,27 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
45
58
  return;
46
59
  }
47
60
 
48
- let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), props.params, props.presentationMode));
61
+ const componentParams = (props.params || '') + (componentCurrentTheme ? ` theme="${componentCurrentTheme}"` : '');
62
+ let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));
49
63
  newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');
50
64
  setSourceHtml(newHtml);
51
-
52
- }, [props.params, unitScript]);
65
+ }, [props.params, unitScript, props.presentationMode, componentCurrentTheme]);
53
66
 
54
67
  const onMessage = (e: WebViewMessageEvent) => {
55
68
  const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;
56
- if (message.type == UnitMessage.UNIT_REQUEST_REFRESH && message.details) {
57
- EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);
58
- } else {
59
- props.onMessage && props.onMessage(message);
69
+ switch (message.type) {
70
+ case UnitMessage.UNIT_REQUEST_REFRESH:
71
+ message.details &&
72
+ EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);
73
+ break;
74
+ case UnitMessage.UNIT_REQUEST_DOWNLOAD:
75
+ message.details &&
76
+ handleRequestDownload(message.details as RequestDownloadEvent, () => {
77
+ EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);
78
+ });
79
+ break;
80
+ default:
81
+ props.onMessage && props.onMessage(message);
60
82
  }
61
83
  };
62
84
 
@@ -75,6 +97,7 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
75
97
  ref={webRef}
76
98
  cacheEnabled={false}
77
99
  scrollEnabled={props.isScrollable}
100
+ nestedScrollEnabled={props.nestedScrollEnabled}
78
101
  onScroll={_onScroll}
79
102
  overScrollMode="never"
80
103
  injectedJavaScript={unitScript}
@@ -0,0 +1,26 @@
1
+ import axios from 'axios';
2
+ import { Share, NativeModules, Platform } from 'react-native';
3
+ import type { RequestDownloadEvent } from '../messages/webMessages/unitMessages';
4
+ const { RNShareFile } = NativeModules;
5
+
6
+ export const handleRequestDownload = async (details: RequestDownloadEvent, onReadyToShare: () => void) => {
7
+ if (details.fileType === 'application/pdf') {
8
+ const res = await axios.get(details.url, {
9
+ headers: {
10
+ 'Authorization': `Bearer ${details.accessToken}`
11
+ },
12
+ responseEncoding: 'base64',
13
+ responseType: 'arraybuffer'
14
+ });
15
+
16
+ const base64Data = res.request._response;
17
+
18
+ onReadyToShare();
19
+
20
+ if (Platform.OS === 'ios') {
21
+ Share.share({ url: `data:application/pdf;base64,${base64Data}` });
22
+ } else {
23
+ RNShareFile.share(base64Data, details.fileName);
24
+ }
25
+ }
26
+ };
@@ -1,4 +1,5 @@
1
- import { DISPTACH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT } from '../scripts/html/bodyScript';
1
+ import { Platform } from 'react-native';
2
+ import { DISPATCH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT } from '../scripts/html/bodyScript';
2
3
 
3
4
  export const HTML_PLACEHOLDER = {
4
5
  SCRIPT_UNIT: '<SCRIPT_UNIT>',
@@ -14,6 +15,10 @@ const htmlText = `
14
15
  <title>Unit Web SDK Demo</title>
15
16
  <script>
16
17
  window.UnitMobileSDK = true
18
+ window.UnitMobileSDKConfig = {
19
+ os: "${Platform.OS}",
20
+ walletName: "${Platform.OS === 'ios' ? 'Apple' : 'Google'}"
21
+ }
17
22
  </script>
18
23
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
19
24
  </html>
@@ -30,6 +35,8 @@ const htmlText = `
30
35
 
31
36
  ${LISTENERS.onLoad}
32
37
 
38
+ ${LISTENERS.unitRequestDownload}
39
+
33
40
  ${LISTENERS.requestRendering}
34
41
 
35
42
  ${LISTENERS.requestOpenLink}
@@ -38,7 +45,7 @@ const htmlText = `
38
45
 
39
46
  ${LISTENERS.cardStatusChange}
40
47
 
41
- ${DISPTACH_RENDERING_EVENT}
48
+ ${DISPATCH_RENDERING_EVENT}
42
49
 
43
50
  ${HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE}
44
51
  </script>
@@ -1 +0,0 @@
1
- {"version":3,"names":["UnitAddToWalletButtonView","requireNativeComponent"],"sources":["UNNativeAddToWalletButton.tsx"],"sourcesContent":["import {\n requireNativeComponent,\n} from 'react-native';\n\ntype UnitAddToWalletButtonViewProps = {\n style: object;\n onAddToWalletClicked: () => void;\n};\n\nconst UnitAddToWalletButtonView = requireNativeComponent<UnitAddToWalletButtonViewProps>('UnitAddToWalletButtonView');\n\nexport default UnitAddToWalletButtonView;\n"],"mappings":";;;;;;;AAAA;;AASA,MAAMA,yBAAyB,GAAG,IAAAC,mCAAA,EAAuD,2BAAvD,CAAlC;eAEeD,yB"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["requireNativeComponent","UnitAddToWalletButtonView"],"sources":["UNNativeAddToWalletButton.tsx"],"sourcesContent":["import {\n requireNativeComponent,\n} from 'react-native';\n\ntype UnitAddToWalletButtonViewProps = {\n style: object;\n onAddToWalletClicked: () => void;\n};\n\nconst UnitAddToWalletButtonView = requireNativeComponent<UnitAddToWalletButtonViewProps>('UnitAddToWalletButtonView');\n\nexport default UnitAddToWalletButtonView;\n"],"mappings":"AAAA,SACEA,sBADF,QAEO,cAFP;AASA,MAAMC,yBAAyB,GAAGD,sBAAsB,CAAiC,2BAAjC,CAAxD;AAEA,eAAeC,yBAAf"}