react-native-unit-components 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 (213) 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 +28 -4
  17. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  18. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +19 -1
  19. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  20. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +22 -10
  21. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  22. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +4 -0
  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 +64 -7
  35. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  36. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +62 -8
  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 +42 -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 -8
  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/bodyScript.js +22 -5
  60. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  61. package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
  62. package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
  63. package/lib/commonjs/sharedTypes/index.js +13 -0
  64. package/lib/commonjs/sharedTypes/index.js.map +1 -1
  65. package/lib/commonjs/sharedTypes/onLoadResponse.types.js +6 -0
  66. package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -0
  67. package/lib/commonjs/sharedTypes/wallet.types.js +22 -0
  68. package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -0
  69. package/lib/commonjs/unitSdkManager/UnitSdk.api.js +5 -3
  70. package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
  71. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +12 -2
  72. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  73. package/lib/commonjs/webComponent/WebComponent.js +20 -8
  74. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  75. package/lib/commonjs/webComponent/WebComponent.utils.js +41 -0
  76. package/lib/commonjs/webComponent/WebComponent.utils.js.map +1 -0
  77. package/lib/commonjs/webComponent/html.js +9 -1
  78. package/lib/commonjs/webComponent/html.js.map +1 -1
  79. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +74 -0
  80. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -0
  81. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +26 -0
  82. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -0
  83. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +28 -6
  84. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  85. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +10 -0
  86. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  87. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +21 -10
  88. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  89. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -0
  90. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  91. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js +1 -1
  92. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
  93. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +111 -46
  94. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  95. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +5 -9
  96. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  97. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +68 -0
  98. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -0
  99. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +21 -0
  100. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -0
  101. package/lib/module/components/UNCardComponent/UNCardComponent.js +64 -9
  102. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  103. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +51 -7
  104. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  105. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js +10 -0
  106. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -0
  107. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +28 -0
  108. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -0
  109. package/lib/module/components/index.js +1 -0
  110. package/lib/module/components/index.js.map +1 -1
  111. package/lib/module/helpers/BottomSheet/BottomSheet.js +30 -13
  112. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
  113. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +2 -2
  114. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
  115. package/lib/module/helpers/EventBus.js.map +1 -1
  116. package/lib/module/messages/nativeMessages/cardMessage.js +27 -0
  117. package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -0
  118. package/lib/module/messages/nativeMessages/index.js +1 -6
  119. package/lib/module/messages/nativeMessages/index.js.map +1 -1
  120. package/lib/module/messages/nativeMessages/sdkMessage.js +7 -0
  121. package/lib/module/messages/nativeMessages/sdkMessage.js.map +1 -0
  122. package/lib/module/messages/webMessages/unitMessages.js +1 -0
  123. package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
  124. package/lib/module/nativeComponent/{UNNativeAddToWalletButton.js → UnitAddToWalletButton.js} +1 -1
  125. package/lib/module/nativeComponent/UnitAddToWalletButton.js.map +1 -0
  126. package/lib/module/scripts/html/bodyScript.js +19 -3
  127. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  128. package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
  129. package/lib/module/sharedTypes/card.types.js.map +1 -1
  130. package/lib/module/sharedTypes/index.js +1 -0
  131. package/lib/module/sharedTypes/index.js.map +1 -1
  132. package/lib/module/sharedTypes/onLoadResponse.types.js +2 -0
  133. package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -0
  134. package/lib/module/sharedTypes/wallet.types.js +14 -0
  135. package/lib/module/sharedTypes/wallet.types.js.map +1 -0
  136. package/lib/module/unitSdkManager/UnitSdk.api.js +4 -3
  137. package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
  138. package/lib/module/unitSdkManager/UnitSdkManager.js +12 -2
  139. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  140. package/lib/module/webComponent/WebComponent.js +18 -7
  141. package/lib/module/webComponent/WebComponent.js.map +1 -1
  142. package/lib/module/webComponent/WebComponent.utils.js +27 -0
  143. package/lib/module/webComponent/WebComponent.utils.js.map +1 -0
  144. package/lib/module/webComponent/html.js +9 -2
  145. package/lib/module/webComponent/html.js.map +1 -1
  146. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +12 -0
  147. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +7 -0
  148. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -0
  149. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.utils.d.ts +4 -0
  150. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -1
  151. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.d.ts +1 -1
  152. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +9 -2
  153. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +2 -1
  154. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.d.ts +6 -0
  155. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.d.ts +17 -0
  156. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
  157. package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +9 -1
  158. package/lib/typescript/components/UNCardComponent/networking/common/UNNetworkConstants.d.ts +8 -0
  159. package/lib/typescript/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.d.ts +2 -0
  160. package/lib/typescript/components/index.d.ts +1 -0
  161. package/lib/typescript/helpers/EventBus.d.ts +3 -3
  162. package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +28 -0
  163. package/lib/typescript/messages/nativeMessages/index.d.ts +7 -3
  164. package/lib/typescript/messages/nativeMessages/sdkMessage.d.ts +8 -0
  165. package/lib/typescript/messages/webMessages/unitMessages.d.ts +16 -6
  166. package/lib/typescript/scripts/html/bodyScript.d.ts +4 -1
  167. package/lib/typescript/sharedTypes/bookPayment.types.d.ts +3 -3
  168. package/lib/typescript/sharedTypes/card.types.d.ts +6 -6
  169. package/lib/typescript/sharedTypes/index.d.ts +1 -0
  170. package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +18 -0
  171. package/lib/typescript/sharedTypes/wallet.types.d.ts +14 -0
  172. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +3 -0
  173. package/lib/typescript/webComponent/WebComponent.d.ts +2 -1
  174. package/lib/typescript/webComponent/WebComponent.utils.d.ts +2 -0
  175. package/package.json +2 -1
  176. package/src/components/UNAccountComponent/UNAccountComponent.tsx +82 -0
  177. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +30 -0
  178. package/src/components/UNActivityComponent/UNActivityComponent.tsx +28 -5
  179. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +14 -0
  180. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +18 -10
  181. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +3 -0
  182. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.ts +1 -1
  183. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +120 -44
  184. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +7 -10
  185. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.ts +21 -0
  186. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +74 -0
  187. package/src/components/UNCardComponent/UNCardComponent.tsx +67 -13
  188. package/src/components/UNCardComponent/UNCardComponent.utils.ts +51 -7
  189. package/src/components/UNCardComponent/networking/common/UNNetworkConstants.ts +11 -0
  190. package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +32 -0
  191. package/src/components/index.ts +1 -0
  192. package/src/helpers/BottomSheet/BottomSheet.styles.ts +2 -2
  193. package/src/helpers/BottomSheet/BottomSheet.tsx +28 -12
  194. package/src/helpers/EventBus.ts +3 -3
  195. package/src/messages/nativeMessages/cardMessage.ts +37 -0
  196. package/src/messages/nativeMessages/index.ts +14 -3
  197. package/src/messages/nativeMessages/sdkMessage.ts +11 -0
  198. package/src/messages/webMessages/unitMessages.ts +20 -7
  199. package/src/scripts/html/bodyScript.ts +21 -4
  200. package/src/sharedTypes/bookPayment.types.ts +3 -3
  201. package/src/sharedTypes/card.types.ts +6 -6
  202. package/src/sharedTypes/index.ts +1 -0
  203. package/src/sharedTypes/onLoadResponse.types.ts +27 -0
  204. package/src/sharedTypes/wallet.types.ts +17 -0
  205. package/src/unitSdkManager/UnitSdk.api.ts +3 -2
  206. package/src/unitSdkManager/UnitSdkManager.ts +11 -2
  207. package/src/webComponent/WebComponent.tsx +21 -10
  208. package/src/webComponent/WebComponent.utils.ts +26 -0
  209. package/src/webComponent/html.ts +9 -2
  210. package/lib/commonjs/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
  211. package/lib/module/nativeComponent/UNNativeAddToWalletButton.js.map +0 -1
  212. /package/lib/typescript/nativeComponent/{UNNativeAddToWalletButton.d.ts → UnitAddToWalletButton.d.ts} +0 -0
  213. /package/src/nativeComponent/{UNNativeAddToWalletButton.tsx → UnitAddToWalletButton.tsx} +0 -0
@@ -0,0 +1,17 @@
1
+ import type { CardAddToWalletStatus } from 'src/messages/nativeMessages/cardMessage';
2
+
3
+ export enum UNWalletCode {
4
+ Apple = 'ApplePayPushProvision',
5
+ Google = 'GooglePayPushProvision',
6
+ }
7
+
8
+ export enum UNWalletName {
9
+ Apple = 'APPLE',
10
+ Google = 'GOOGLE',
11
+ }
12
+
13
+ export interface UNWallet {
14
+ name: string;
15
+ code: string;
16
+ status: CardAddToWalletStatus
17
+ }
@@ -1,5 +1,5 @@
1
1
  import EventBus from '../helpers/EventBus';
2
- import { NativeMessage } from '../messages/nativeMessages';
2
+ import { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';
3
3
  import { UnitSDK, UNIT_SCRIPT_URL } from './UnitSdkManager';
4
4
 
5
5
  let isLoadingScript = false;
@@ -18,7 +18,8 @@ export const fetchUnitScript = async () => {
18
18
  const unitScriptRes = await fetch(UNIT_SCRIPT_URL[env]);
19
19
  const unitScript = await unitScriptRes.text();
20
20
  if (unitScript) {
21
- EventBus.Instance.event(NativeMessage.IS_SCRIPT_FETCHED, { unitScript });
21
+ const scriptFetchData: SdkScriptFetched = { unitScript };
22
+ EventBus.Instance.event(SDKMessage.IS_SCRIPT_FETCHED, scriptFetchData);
22
23
  globalUnitScript = unitScript;
23
24
  }
24
25
  return null;
@@ -1,5 +1,5 @@
1
1
  import EventBus from '../helpers/EventBus';
2
- import { NativeMessage } from '../messages/nativeMessages';
2
+ import { SDKMessage } from '../messages/nativeMessages/sdkMessage';
3
3
  import { fetchUnitScript } from './UnitSdk.api';
4
4
 
5
5
  export enum UNEnvironment {
@@ -14,18 +14,23 @@ export const UNIT_SCRIPT_URL = {
14
14
  export class UnitSDK {
15
15
  protected static env?: UNEnvironment;
16
16
  protected static theme?: string;
17
+ protected static signedNonce?: string;
17
18
 
18
19
  public static init = async (env: UNEnvironment, theme?: string) => {
19
20
  try {
20
21
  this.env = env;
21
22
  this.theme = theme;
22
23
  await fetchUnitScript();
23
- EventBus.Instance.event(NativeMessage.IS_SDK_INITIALIZED, { });
24
+ EventBus.Instance.event(SDKMessage.IS_SDK_INITIALIZED, {});
24
25
  } catch (e) {
25
26
  console.log(e);
26
27
  }
27
28
  };
28
29
 
30
+ public static setSignedNonce = (signedNonce: string) => {
31
+ this.signedNonce = signedNonce;
32
+ };
33
+
29
34
  public static getEnv = () => {
30
35
  return this.env;
31
36
  };
@@ -33,4 +38,8 @@ export class UnitSDK {
33
38
  public static getTheme = () => {
34
39
  return this.theme;
35
40
  };
41
+
42
+ public static getSignedNonce = () => {
43
+ return this.signedNonce;
44
+ };
36
45
  }
@@ -3,13 +3,14 @@ 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';
11
10
  import { UnitSDK } from '../unitSdkManager/UnitSdkManager';
12
11
  import type { WebViewMessage } from '../messages/webMessages';
12
+ import { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';
13
+ import { handleRequestDownload } from './WebComponent.utils';
13
14
 
14
15
  export interface WebComponentProps {
15
16
  type: WebComponentType;
@@ -28,7 +29,8 @@ export enum WebComponentType {
28
29
  card = 'unit-elements-card',
29
30
  bookPayment = 'unit-elements-book-payment',
30
31
  activity = 'unit-elements-activity',
31
- slot = 'unit-elements-sdk-slot'
32
+ slot = 'unit-elements-sdk-slot',
33
+ account = 'unit-elements-account',
32
34
  }
33
35
 
34
36
  export const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {
@@ -37,7 +39,7 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
37
39
  const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());
38
40
  const width = props.width ?? '100%';
39
41
 
40
- const updateUnitScript = (data: { unitScript?: string }) => {
42
+ const updateUnitScript = (data: SdkScriptFetched) => {
41
43
  setUnitScript(data.unitScript);
42
44
  };
43
45
 
@@ -46,8 +48,8 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
46
48
  };
47
49
 
48
50
  useListenerToBus([
49
- { busEventKey: NativeMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },
50
- { busEventKey: NativeMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },
51
+ { busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },
52
+ { busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },
51
53
  ]);
52
54
 
53
55
  useEffect(() => {
@@ -64,10 +66,19 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
64
66
 
65
67
  const onMessage = (e: WebViewMessageEvent) => {
66
68
  const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;
67
- if (message.type == UnitMessage.UNIT_REQUEST_REFRESH && message.details) {
68
- EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);
69
- } else {
70
- 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);
71
82
  }
72
83
  };
73
84
 
@@ -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"}