react-native-unit-components 1.0.3 → 1.1.0

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 (249) hide show
  1. package/README.md +39 -8
  2. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +6 -1
  3. package/android/src/main/java/com/unitreactnativecomponents/getapplicationid/UNAppInfoModule.kt +35 -0
  4. package/lib/commonjs/assets/images/index.js +0 -2
  5. package/lib/commonjs/assets/images/index.js.map +1 -1
  6. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +64 -0
  7. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -0
  8. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +31 -0
  9. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -0
  10. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +108 -0
  11. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -0
  12. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +58 -0
  13. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -0
  14. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +3 -29
  15. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  16. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +0 -11
  17. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  18. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +2 -22
  19. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  20. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +0 -8
  21. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  22. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -23
  23. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  24. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -9
  25. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  26. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
  27. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -59
  28. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  29. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js +0 -3
  30. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -1
  31. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +0 -10
  32. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  33. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +2 -24
  34. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  35. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +0 -3
  36. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -1
  37. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +13 -41
  38. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  39. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +7 -16
  40. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  41. package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js +0 -2
  42. package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -1
  43. package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +3 -12
  44. package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -1
  45. package/lib/commonjs/components/index.js +22 -10
  46. package/lib/commonjs/components/index.js.map +1 -1
  47. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +5 -47
  48. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
  49. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js +0 -5
  50. package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
  51. package/lib/commonjs/helpers/EventBus.js +4 -17
  52. package/lib/commonjs/helpers/EventBus.js.map +1 -1
  53. package/lib/commonjs/hooks/listenerToBus.js +14 -14
  54. package/lib/commonjs/hooks/listenerToBus.js.map +1 -1
  55. package/lib/commonjs/hooks/useAppStateListener.js +1 -6
  56. package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
  57. package/lib/commonjs/index.js +0 -5
  58. package/lib/commonjs/index.js.map +1 -1
  59. package/lib/commonjs/messages/nativeMessages/cardMessage.js +0 -5
  60. package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
  61. package/lib/commonjs/messages/nativeMessages/sdkMessage.js +0 -1
  62. package/lib/commonjs/messages/nativeMessages/sdkMessage.js.map +1 -1
  63. package/lib/commonjs/messages/webMessages/achCreditMessage.js +6 -0
  64. package/lib/commonjs/messages/webMessages/achCreditMessage.js.map +1 -0
  65. package/lib/commonjs/messages/webMessages/bookPaymentMessage.js +0 -7
  66. package/lib/commonjs/messages/webMessages/bookPaymentMessage.js.map +1 -1
  67. package/lib/commonjs/messages/webMessages/cardMessage.js +0 -1
  68. package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -1
  69. package/lib/commonjs/messages/webMessages/index.js.map +1 -1
  70. package/lib/commonjs/messages/webMessages/pageMessage.js +0 -1
  71. package/lib/commonjs/messages/webMessages/pageMessage.js.map +1 -1
  72. package/lib/commonjs/messages/webMessages/paymentsMessage.js +12 -0
  73. package/lib/commonjs/messages/webMessages/paymentsMessage.js.map +1 -0
  74. package/lib/commonjs/messages/webMessages/unitMessages.js +3 -1
  75. package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
  76. package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js +0 -2
  77. package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js.map +1 -1
  78. package/lib/commonjs/scripts/html/bodyHtml.js +0 -8
  79. package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
  80. package/lib/commonjs/scripts/html/bodyScript.js +24 -6
  81. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  82. package/lib/commonjs/sharedTypes/achCredit.types.js +6 -0
  83. package/lib/commonjs/sharedTypes/achCredit.types.js.map +1 -0
  84. package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
  85. package/lib/commonjs/sharedTypes/index.js +22 -6
  86. package/lib/commonjs/sharedTypes/index.js.map +1 -1
  87. package/lib/commonjs/sharedTypes/payments.types.js +12 -0
  88. package/lib/commonjs/sharedTypes/payments.types.js.map +1 -0
  89. package/lib/commonjs/sharedTypes/wallet.types.js +0 -3
  90. package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -1
  91. package/lib/commonjs/styles/variables.js.map +1 -1
  92. package/lib/commonjs/unitSdkManager/UnitSdk.api.js +1 -15
  93. package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
  94. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +3 -20
  95. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  96. package/lib/commonjs/webComponent/WebComponent.js +7 -36
  97. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  98. package/lib/commonjs/webComponent/WebComponent.utils.js +0 -7
  99. package/lib/commonjs/webComponent/WebComponent.utils.js.map +1 -1
  100. package/lib/commonjs/webComponent/html.js +7 -8
  101. package/lib/commonjs/webComponent/html.js.map +1 -1
  102. package/lib/module/assets/images/index.js.map +1 -1
  103. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +55 -0
  104. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -0
  105. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +23 -0
  106. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -0
  107. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +99 -0
  108. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -0
  109. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +48 -0
  110. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -0
  111. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +3 -11
  112. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  113. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  114. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +2 -9
  115. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  116. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  117. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -11
  118. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  119. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -3
  120. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  121. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
  122. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -35
  123. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  124. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -1
  125. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  126. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +2 -7
  127. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  128. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -1
  129. package/lib/module/components/UNCardComponent/UNCardComponent.js +13 -20
  130. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  131. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +7 -2
  132. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  133. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -1
  134. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +2 -4
  135. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -1
  136. package/lib/module/components/index.js +2 -0
  137. package/lib/module/components/index.js.map +1 -1
  138. package/lib/module/helpers/BottomSheet/BottomSheet.js +5 -31
  139. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
  140. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +2 -1
  141. package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
  142. package/lib/module/helpers/EventBus.js +4 -15
  143. package/lib/module/helpers/EventBus.js.map +1 -1
  144. package/lib/module/hooks/listenerToBus.js +14 -10
  145. package/lib/module/hooks/listenerToBus.js.map +1 -1
  146. package/lib/module/hooks/useAppStateListener.js +0 -2
  147. package/lib/module/hooks/useAppStateListener.js.map +1 -1
  148. package/lib/module/index.js.map +1 -1
  149. package/lib/module/messages/nativeMessages/cardMessage.js +0 -5
  150. package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
  151. package/lib/module/messages/nativeMessages/sdkMessage.js +0 -1
  152. package/lib/module/messages/nativeMessages/sdkMessage.js.map +1 -1
  153. package/lib/module/messages/webMessages/achCreditMessage.js +2 -0
  154. package/lib/module/messages/webMessages/achCreditMessage.js.map +1 -0
  155. package/lib/module/messages/webMessages/bookPaymentMessage.js +1 -5
  156. package/lib/module/messages/webMessages/bookPaymentMessage.js.map +1 -1
  157. package/lib/module/messages/webMessages/cardMessage.js +0 -1
  158. package/lib/module/messages/webMessages/cardMessage.js.map +1 -1
  159. package/lib/module/messages/webMessages/index.js.map +1 -1
  160. package/lib/module/messages/webMessages/pageMessage.js +0 -1
  161. package/lib/module/messages/webMessages/pageMessage.js.map +1 -1
  162. package/lib/module/messages/webMessages/paymentsMessage.js +5 -0
  163. package/lib/module/messages/webMessages/paymentsMessage.js.map +1 -0
  164. package/lib/module/messages/webMessages/unitMessages.js +3 -1
  165. package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
  166. package/lib/module/nativeComponent/UnitAddToWalletButton.js.map +1 -1
  167. package/lib/module/scripts/html/bodyHtml.js +0 -7
  168. package/lib/module/scripts/html/bodyHtml.js.map +1 -1
  169. package/lib/module/scripts/html/bodyScript.js +22 -1
  170. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  171. package/lib/module/sharedTypes/achCredit.types.js +2 -0
  172. package/lib/module/sharedTypes/achCredit.types.js.map +1 -0
  173. package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
  174. package/lib/module/sharedTypes/index.js +2 -0
  175. package/lib/module/sharedTypes/index.js.map +1 -1
  176. package/lib/module/sharedTypes/payments.types.js +5 -0
  177. package/lib/module/sharedTypes/payments.types.js.map +1 -0
  178. package/lib/module/sharedTypes/wallet.types.js +0 -3
  179. package/lib/module/sharedTypes/wallet.types.js.map +1 -1
  180. package/lib/module/styles/variables.js.map +1 -1
  181. package/lib/module/unitSdkManager/UnitSdk.api.js +1 -6
  182. package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
  183. package/lib/module/unitSdkManager/UnitSdkManager.js +3 -12
  184. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  185. package/lib/module/webComponent/WebComponent.js +7 -18
  186. package/lib/module/webComponent/WebComponent.js.map +1 -1
  187. package/lib/module/webComponent/WebComponent.utils.js +0 -1
  188. package/lib/module/webComponent/WebComponent.utils.js.map +1 -1
  189. package/lib/module/webComponent/html.js +7 -5
  190. package/lib/module/webComponent/html.js.map +1 -1
  191. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +11 -0
  192. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +3 -0
  193. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +11 -0
  194. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +7 -0
  195. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +1 -1
  196. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
  197. package/lib/typescript/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.d.ts +2 -1
  198. package/lib/typescript/components/index.d.ts +2 -0
  199. package/lib/typescript/helpers/EventBus.d.ts +1 -1
  200. package/lib/typescript/hooks/listenerToBus.d.ts +2 -2
  201. package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +1 -1
  202. package/lib/typescript/messages/nativeMessages/index.d.ts +2 -2
  203. package/lib/typescript/messages/nativeMessages/sdkMessage.d.ts +1 -1
  204. package/lib/typescript/messages/webMessages/achCreditMessage.d.ts +5 -0
  205. package/lib/typescript/messages/webMessages/bookPaymentMessage.d.ts +1 -4
  206. package/lib/typescript/messages/webMessages/cardMessage.d.ts +1 -1
  207. package/lib/typescript/messages/webMessages/index.d.ts +5 -3
  208. package/lib/typescript/messages/webMessages/pageMessage.d.ts +1 -1
  209. package/lib/typescript/messages/webMessages/paymentsMessage.d.ts +3 -0
  210. package/lib/typescript/messages/webMessages/unitMessages.d.ts +20 -2
  211. package/lib/typescript/nativeComponent/UnitAddToWalletButton.d.ts +1 -1
  212. package/lib/typescript/scripts/html/bodyScript.d.ts +3 -0
  213. package/lib/typescript/sharedTypes/achCredit.types.d.ts +31 -0
  214. package/lib/typescript/sharedTypes/bookPayment.types.d.ts +3 -4
  215. package/lib/typescript/sharedTypes/card.types.d.ts +4 -4
  216. package/lib/typescript/sharedTypes/index.d.ts +2 -0
  217. package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +3 -3
  218. package/lib/typescript/sharedTypes/payments.types.d.ts +12 -0
  219. package/lib/typescript/sharedTypes/types.d.ts +6 -6
  220. package/lib/typescript/webComponent/WebComponent.d.ts +3 -1
  221. package/package.json +4 -2
  222. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +73 -0
  223. package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +26 -0
  224. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +117 -0
  225. package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +48 -0
  226. package/src/components/UNAccountComponent/UNAccountComponent.tsx +2 -4
  227. package/src/components/UNActivityComponent/UNActivityComponent.tsx +1 -3
  228. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +3 -2
  229. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +3 -3
  230. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +2 -4
  231. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +1 -3
  232. package/src/components/UNCardComponent/UNCardComponent.tsx +14 -7
  233. package/src/components/UNCardComponent/UNCardComponent.utils.ts +8 -1
  234. package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +2 -4
  235. package/src/components/index.ts +2 -0
  236. package/src/helpers/BottomSheet/BottomSheet.tsx +3 -7
  237. package/src/hooks/listenerToBus.ts +15 -10
  238. package/src/messages/webMessages/achCreditMessage.ts +8 -0
  239. package/src/messages/webMessages/bookPaymentMessage.ts +0 -4
  240. package/src/messages/webMessages/index.ts +7 -2
  241. package/src/messages/webMessages/paymentsMessage.ts +3 -0
  242. package/src/messages/webMessages/unitMessages.ts +25 -1
  243. package/src/scripts/html/bodyScript.ts +23 -1
  244. package/src/sharedTypes/achCredit.types.ts +32 -0
  245. package/src/sharedTypes/bookPayment.types.ts +2 -3
  246. package/src/sharedTypes/index.ts +2 -0
  247. package/src/sharedTypes/payments.types.ts +14 -0
  248. package/src/webComponent/WebComponent.tsx +5 -5
  249. package/src/webComponent/html.ts +7 -5
@@ -0,0 +1,48 @@
1
+ import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';
2
+ import type { UNACHDebitComponentProps } from './UNACHDebitComponent';
3
+
4
+ import type WebView from 'react-native-webview';
5
+ import type { LinkSuccess } from 'react-native-plaid-link-sdk';
6
+ import { NativeModules } from 'react-native';
7
+ const { RNAppInfoModule } = NativeModules;
8
+ import { UnitMessage } from '../../messages/webMessages/unitMessages';
9
+
10
+ export const getACHDebitParams = (props: UNACHDebitComponentProps) => {
11
+ return `
12
+ account-id="${props.accountId}"
13
+ customer-token="${props.customerToken}"
14
+ is-auto-focus="${props.isAutoFocus ?? false}"
15
+ ${props.fee ? `fee="${props.fee}"` : ''}
16
+ style="height: 100%"
17
+ `;
18
+ };
19
+
20
+ export const getAndroidPackageName = async () => {
21
+ try {
22
+ const response = await RNAppInfoModule.getAppPackageName();
23
+ return response;
24
+ } catch (error) {
25
+ console.error(error);
26
+ }
27
+ };
28
+
29
+ export const getACHDebitScript = (androidPackageName?: string) => {
30
+ return `
31
+ window.addEventListener("${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
32
+ const response = e.detail
33
+ response.then((data) => {
34
+ postMessageToSDK({ type: "${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
35
+ }).catch((e) => {
36
+ console.log(e)
37
+ })
38
+ });
39
+ ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}
40
+ ${LISTENERS.unitPaymentCreated}
41
+ ${DISPATCH_PLAID_RESPONSE}
42
+ `;
43
+ };
44
+
45
+ export const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {
46
+ const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};
47
+ currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);
48
+ };
@@ -5,12 +5,12 @@ import { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessag
5
5
  import { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';
6
6
  import EventBus from '../../helpers/EventBus';
7
7
  import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
8
- import { useListenerToBus } from '../../hooks/listenerToBus';
9
8
  import type { WebViewMessage } from '../../messages/webMessages';
10
9
  import { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';
11
10
  import { PresentationMode } from '../../scripts/html/bodyHtml';
12
11
  import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
13
12
  import type { ResponseUnitOnLoadEvent } from '../../sharedTypes';
13
+ import { useListenerToBus } from '../../hooks/listenerToBus';
14
14
 
15
15
  export interface UNAccountComponentProps {
16
16
  accountId?: string;
@@ -36,9 +36,7 @@ export const UNAccountComponent = (props: UNAccountComponentProps) => {
36
36
  setRequestRefreshEvent(data);
37
37
  };
38
38
 
39
- useListenerToBus([
40
- { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },
41
- ]);
39
+ useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });
42
40
 
43
41
  useEffect(() => {
44
42
  injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);
@@ -26,9 +26,7 @@ export const UNActivityComponent = (props: UNActivityComponentProps) => {
26
26
  injectRefreshEventIfNeeded(webRef.current, data);
27
27
  };
28
28
 
29
- useListenerToBus([
30
- { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },
31
- ]);
29
+ useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });
32
30
 
33
31
  const handleWebViewMessage = (message: WebViewMessage) => {
34
32
  switch (message.type) {
@@ -3,11 +3,12 @@ import { WebComponent, WebComponentType } from '../../webComponent/WebComponent'
3
3
  import { PresentationMode } from '../../scripts/html/bodyHtml';
4
4
  import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
5
5
  import type { WebViewMessage } from '../../messages/webMessages';
6
- import { BookPaymentEvent, BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
7
6
  import type { ResponseUnitOnLoadEvent, UNBookPaymentData } from '../../sharedTypes';
8
7
  import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
9
8
  import { View } from 'react-native';
10
9
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
10
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
11
+ import type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';
11
12
 
12
13
  export interface UNBookPaymentComponentProps {
13
14
  accountId: string;
@@ -28,7 +29,7 @@ export const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {
28
29
  if (!message || !message.details) return;
29
30
 
30
31
  switch (message.type) {
31
- case BookPaymentMessage.PAYMENT_CREATED:
32
+ case PaymentMessage.PAYMENT_CREATED:
32
33
  props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);
33
34
  break;
34
35
  case UnitMessage.UNIT_ON_LOAD:
@@ -1,7 +1,7 @@
1
1
  import { LISTENERS } from './../../scripts/html/bodyScript';
2
2
  import type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';
3
3
 
4
- import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
4
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
5
5
 
6
6
  export const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {
7
7
  return `
@@ -16,10 +16,10 @@ export const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {
16
16
 
17
17
  export const getBookPaymentScript = () => {
18
18
  return `
19
- window.addEventListener("${BookPaymentMessage.PAYMENT_CREATED}", (e) => {
19
+ window.addEventListener("${PaymentMessage.PAYMENT_CREATED}", (e) => {
20
20
  const response = e.detail
21
21
  response.then((data) => {
22
- postMessageToSDK({ type: "${BookPaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
22
+ postMessageToSDK({ type: "${PaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
23
23
  }).catch((e) => {
24
24
  console.log(e)
25
25
  })
@@ -109,10 +109,8 @@ export const UNBottomSheetComponent = () => {
109
109
  }
110
110
  }, [waitForLoadingNewComponent, newHeightMessage]);
111
111
 
112
- useListenerToBus([
113
- { busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering },
114
- { busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow }
115
- ]);
112
+ useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering });
113
+ useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });
116
114
 
117
115
  const setNewHeight = (message: WebViewMessage) => {
118
116
  if (!requestRenderingEvent) return;
@@ -49,9 +49,7 @@ export const UNAddToWalletBottomSheetItem = (props: UNAddToWalletBottomSheetItem
49
49
  }
50
50
  };
51
51
 
52
- useListenerToBus([
53
- { busEventKey: CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, action: gotCardWalletStatus },
54
- ]);
52
+ useListenerToBus({ busEventKey: CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, action: gotCardWalletStatus });
55
53
 
56
54
  const handleAddToWalletClicked = () => {
57
55
  if (!cardId) return;
@@ -17,18 +17,27 @@ import type { UNWallet } from 'src/sharedTypes/wallet.types';
17
17
  import { CardAddToWalletErrors, CardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';
18
18
  import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
19
19
  export interface UNCardComponentProps {
20
+ // inputs
20
21
  cardId: string;
21
22
  customerToken: string;
22
23
  theme?: string;
24
+ hideActionsMenuButton?: boolean;
25
+ hideCardTitle?: boolean;
26
+ hideSensitiveDataButton?: boolean;
27
+
28
+ // events
29
+ onLoad?: (response: ResponseUnitOnLoadEvent) => void
23
30
  onStatusChanged?: (card: UNCardData) => void;
24
31
  pushProvisioningModule?: typeof NativeModules;
25
- onLoad?: (response: ResponseUnitOnLoadEvent) => void
26
32
  }
27
33
 
28
34
  export const UNCardComponent = (props: UNCardComponentProps) => {
29
35
  const [height, setHeight] = useState(0);
30
36
  const windowWidth = Dimensions.get('window').width;
37
+
31
38
  const walletRef = useRef<UNWallet | null>(null);
39
+ // walletRef can be changed to a state. (After the change of the listener hook)
40
+ // TODO: walletState and checks it works. =)
32
41
 
33
42
  const webRef = useRef<WebView>(null);
34
43
 
@@ -52,12 +61,10 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
52
61
  getWallets();
53
62
  };
54
63
 
55
- useListenerToBus([
56
- { busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged },
57
- { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },
58
- { busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning },
59
- { busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus }
60
- ]);
64
+ useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });
65
+ useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });
66
+ useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });
67
+ useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });
61
68
 
62
69
  const handleMessage = (message: WebViewMessage) => {
63
70
  if (!message || !message.details) return;
@@ -6,12 +6,16 @@ import type { NativeModules } from 'react-native';
6
6
  import { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';
7
7
  import { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';
8
8
  import type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';
9
+ import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
9
10
 
10
11
  export const getCardParams = (props: UNCardComponentProps) => {
11
12
  return `
12
13
  card-id="${props.cardId}"
13
14
  customer-token="${props.customerToken}"
14
15
  enable-mobile-wallet="${!!props.pushProvisioningModule}"
16
+ hide-actions-menu-button="${props.hideActionsMenuButton || false}"
17
+ hide-card-title="${props.hideCardTitle || false}"
18
+ hide-sensitive-data-button="${props.hideSensitiveDataButton || false}"
15
19
  `;
16
20
  };
17
21
 
@@ -27,7 +31,10 @@ export const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRe
27
31
 
28
32
  export const launchGetWallets = async (customerToken: string, cardId: string, pushProvisioningModule: typeof NativeModules) => {
29
33
  try {
30
- const encryptedPayload = await getMobileWalletPayload(customerToken, cardId);
34
+ const env = UnitSDK.getEnv();
35
+ if (!env) return null;
36
+
37
+ const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);
31
38
  if (!encryptedPayload) return null;
32
39
 
33
40
  const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));
@@ -1,10 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import { APIHeaders, UNIT_SECURE_URL } from '../common/UNNetworkConstants';
3
- import { UNEnvironment, UnitSDK } from 'react-native-unit-components';
3
+ import { UnitSDK, UNEnvironment } from '../../../../unitSdkManager/UnitSdkManager';
4
4
 
5
- const env = UnitSDK.getEnv();
6
-
7
- export const getMobileWalletPayload = async (customerToken: string, cardId: string) => {
5
+ export const getMobileWalletPayload = async (customerToken: string, cardId: string, env: UNEnvironment) => {
8
6
  const headers = {
9
7
  'Content-Type': APIHeaders.CONTENT_TYPE,
10
8
  'Authorization': `Bearer ${customerToken}`,
@@ -3,3 +3,5 @@ export * from './UNBottomSheetComponent/UNBottomSheetComponent';
3
3
  export * from './UNBookPaymentComponent/UNBookPaymentComponent';
4
4
  export * from './UNActivityComponent/UNActivityComponent';
5
5
  export * from './UNAccountComponent/UNAccountComponent';
6
+ export * from './UNACHDebitComponent/UNACHDebitComponent';
7
+ export * from './UNACHCreditComponent/UNACHCreditComponent';
@@ -61,8 +61,6 @@ const BottomSheet = (props: BottomSheetProps) => {
61
61
  collapse();
62
62
  } else if (!props.expandToMaxHeightEnabled) {
63
63
  contentHeight && setToContentHeight(contentHeight);
64
- } else if (dy < 0) {
65
- expand();
66
64
  } else {
67
65
  expand();
68
66
  }
@@ -70,10 +68,9 @@ const BottomSheet = (props: BottomSheetProps) => {
70
68
  });
71
69
 
72
70
  useEffect(() => {
73
- if (!isAppActive && isPanelOpened) {
74
- setContentHeight(0);
75
- _dismiss(false);
76
- }
71
+ // on App Active State change reset the bottom-sheet
72
+ setContentHeight(0);
73
+ _dismiss(false);
77
74
  }, [isAppActive]);
78
75
 
79
76
  useEffect(() => {
@@ -150,7 +147,6 @@ const BottomSheet = (props: BottomSheetProps) => {
150
147
  _dismiss();
151
148
  return;
152
149
  }
153
-
154
150
  contentHeight && setToContentHeight(contentHeight);
155
151
  };
156
152
 
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { useEffect } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import EventBus, { BusEventKey } from '../helpers/EventBus';
4
4
 
5
5
  type Listener = {
@@ -7,17 +7,22 @@ type Listener = {
7
7
  action: (data: any) => void
8
8
  }
9
9
 
10
- export const useListenerToBus = (listeners: Listener[]) => {
10
+ export const useListenerToBus = (listener: Listener) => {
11
+ const [eventData, setEventData] = useState<any>();
12
+ const callback = (eventData: any) => setEventData(eventData);
13
+
11
14
  useEffect(() => {
12
- {
13
- listeners.map((listener: {busEventKey: BusEventKey, action: (data: any) => void}) => {
14
- EventBus.Instance.addListener(listener.busEventKey, listener.action);
15
- });
16
- }
15
+ // listen to callback
16
+ EventBus.Instance.addListener(listener.busEventKey, callback);
17
+
18
+ // Remove listener on UnMount.
17
19
  return (() => {
18
- listeners.map((listener: {busEventKey: BusEventKey, action: (data: any) => void}) => {
19
- EventBus.Instance.removeListener(listener.action);
20
- });
20
+ EventBus.Instance.removeListener(callback);
21
21
  });
22
22
  }, []);
23
+
24
+ // Call to action when event is changed. (To be updated with the current props).
25
+ useEffect(() => {
26
+ eventData && listener.action(eventData);
27
+ }, [eventData]);
23
28
  };
@@ -0,0 +1,8 @@
1
+ import type { UNACHData } from '../../sharedTypes';
2
+
3
+ export interface PaymentCreatedEvent {
4
+ data: UNACHData
5
+ }
6
+
7
+ export type ACHEvent =
8
+ | PaymentCreatedEvent
@@ -1,9 +1,5 @@
1
1
  import type { UNBookPaymentData } from '../../sharedTypes';
2
2
 
3
- export enum BookPaymentMessage {
4
- PAYMENT_CREATED = 'unitPaymentCreated'
5
- }
6
-
7
3
  export interface PaymentCreatedEvent {
8
4
  data: UNBookPaymentData
9
5
  }
@@ -1,19 +1,24 @@
1
- import type { BookPaymentEvent, BookPaymentMessage } from './bookPaymentMessage';
1
+ import type { ACHEvent } from './achCreditMessage';
2
+ import type { BookPaymentEvent } from './bookPaymentMessage';
3
+
2
4
  import type { CardEvent, CardMessage } from './cardMessage';
3
5
  import type { PageEvent, PageMessage } from './pageMessage';
6
+ import type { PaymentMessage } from './paymentsMessage';
4
7
  import type { UnitEvent, UnitMessage } from './unitMessages';
5
8
 
6
9
  export type WebViewMessageType =
7
10
  | PageMessage
8
11
  | CardMessage
9
12
  | UnitMessage
10
- | BookPaymentMessage
13
+ | PaymentMessage
11
14
 
12
15
  type WebViewEvent =
13
16
  | PageEvent
14
17
  | UnitEvent
15
18
  | CardEvent
16
19
  | BookPaymentEvent
20
+ | PaymentMessage
21
+ | ACHEvent
17
22
 
18
23
  export interface WebViewMessage {
19
24
  type: WebViewMessageType,
@@ -0,0 +1,3 @@
1
+ export enum PaymentMessage {
2
+ PAYMENT_CREATED = 'unitPaymentCreated'
3
+ }
@@ -6,7 +6,11 @@ export enum UnitMessage {
6
6
  UNIT_REQUEST_CLOSE_FLOW = 'unitRequestCloseFlow',
7
7
  UNIT_REQUEST_OPEN_LINK = 'unitRequestOpenLink',
8
8
  UNIT_ON_LOAD = 'unitOnLoad',
9
- UNIT_REQUEST_DOWNLOAD = 'unitRequestDownload'
9
+ UNIT_REQUEST_DOWNLOAD = 'unitRequestDownload',
10
+ UNIT_PLAID_TOKEN_CREATED = 'unitPlaidLinkTokenCreated',
11
+ UNIT_REQUEST_EXTERNAL_SDK = 'unitRequestExternalSdk',
12
+ UNIT_PLAID_RESPONSE = 'unitPlaidResponse'
13
+
10
14
  }
11
15
  export interface RequestRenderingEvent {
12
16
  data: RequestRenderingEventData
@@ -37,9 +41,29 @@ export interface RequestDownloadEvent {
37
41
  fileName: string
38
42
  }
39
43
 
44
+ export interface PlaidTokenCreatedEvent {
45
+ linkToken: PlaidLinkTokenData
46
+ }
47
+
48
+ export interface PlaidLinkTokenData {
49
+ type: string,
50
+ attributes: PlaidLinkTokenAttributes
51
+ }
52
+
53
+ interface PlaidLinkTokenAttributes {
54
+ linkToken: string,
55
+ expiration: string
56
+ }
57
+
58
+ export interface RequestExternalSdkEvent {
59
+ type: string
60
+ }
61
+
40
62
  export type UnitEvent =
41
63
  | RequestRenderingEvent
42
64
  | RequestRefreshEvent
43
65
  | RequestOpenLinkEvent
44
66
  | ResponseUnitOnLoadEvent
45
67
  | RequestDownloadEvent
68
+ | PlaidTokenCreatedEvent
69
+ | RequestExternalSdkEvent
@@ -1,3 +1,4 @@
1
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
1
2
  import { CardMessage } from '../../messages/webMessages/cardMessage';
2
3
  import { PageMessage } from '../../messages/webMessages/pageMessage';
3
4
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
@@ -66,7 +67,21 @@ export const LISTENERS = {
66
67
  console.log(e)
67
68
  })
68
69
  });
69
- `
70
+ `,
71
+ unitRequestExternalSdk: `
72
+ window.addEventListener("${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", (e) => {
73
+ postMessageToSDK({ type: "${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", details: e.detail })
74
+ });
75
+ `,
76
+ unitPaymentCreated:`
77
+ window.addEventListener("${PaymentMessage.PAYMENT_CREATED}", (e) => {
78
+ const response = e.detail
79
+ response.then((data) => {
80
+ postMessageToSDK({ type: "${PaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
81
+ }).catch((e) => {
82
+ console.log(e)
83
+ })
84
+ });`
70
85
  };
71
86
 
72
87
  export const DISPATCH_RENDERING_EVENT = `
@@ -82,3 +97,10 @@ export const DISPATCH_REQUEST_REFRESH = `
82
97
  window.dispatchEvent(event)
83
98
  }
84
99
  `;
100
+
101
+ export const DISPATCH_PLAID_RESPONSE = `
102
+ const dispatchPlaidEvent = (details) => {
103
+ const event = new CustomEvent("${UnitMessage.UNIT_PLAID_RESPONSE}",{ detail: details })
104
+ window.dispatchEvent(event)
105
+ }
106
+ `;
@@ -0,0 +1,32 @@
1
+ import type { AchCounterparty, CounterpartyVerificationMethod, PaymentStatus } from './payments.types';
2
+ import type { Tags, Relationship } from './types';
3
+
4
+ export type UNACHData = {
5
+ type: 'achPayment',
6
+ id: string,
7
+ attributes: {
8
+ createdAt: string | Date,
9
+ status: PaymentStatus,
10
+ settlementDate?: Date,
11
+ reason: string,
12
+ direction: 'Debit' | 'Credit',
13
+ description: string,
14
+ transactionSummaryOverride?: string,
15
+ amount: string,
16
+ tags: Tags,
17
+ addenda?: string
18
+ counterparty: AchCounterparty
19
+ expectedCompletionDate?: Date
20
+ counterpartyVerificationMethod?:keyof typeof CounterpartyVerificationMethod
21
+ sameDay?: boolean
22
+ },
23
+ relationships: {
24
+ account: Relationship,
25
+ customer?: Relationship,
26
+ customers?: Relationship,
27
+ counterpartyAccount: Relationship,
28
+ counterpartyCustomer: Relationship,
29
+ transaction: Relationship,
30
+ recurringPayment: Relationship
31
+ }
32
+ }
@@ -1,13 +1,12 @@
1
+ import type { PaymentStatus } from './payments.types';
1
2
  import type { Tags, Relationship } from './types';
2
3
 
3
- type BookPaymentStatus = 'Sent' | 'Rejected'
4
-
5
4
  export type UNBookPaymentData = {
6
5
  type: 'bookPayment',
7
6
  id: string,
8
7
  attributes: {
9
8
  createdAt: string | Date,
10
- status: BookPaymentStatus,
9
+ status: PaymentStatus,
11
10
  reason: string,
12
11
  direction: 'Debit' | 'Credit',
13
12
  description: string,
@@ -1,3 +1,5 @@
1
1
  export * from './bookPayment.types';
2
2
  export * from './card.types';
3
3
  export * from './onLoadResponse.types';
4
+ export * from './achCredit.types';
5
+ export * from './payments.types';
@@ -0,0 +1,14 @@
1
+ export type PaymentStatus = 'Sent' | 'Rejected'
2
+
3
+ export type AchCounterparty = {
4
+ name: string
5
+ accountNumber: string
6
+ routingNumber: string
7
+ accountType: AccountType
8
+ }
9
+
10
+ type AccountType = 'Savings' | 'Checking'
11
+
12
+ export enum CounterpartyVerificationMethod {
13
+ Plaid = 'Plaid',
14
+ }
@@ -31,6 +31,8 @@ export enum WebComponentType {
31
31
  activity = 'unit-elements-activity',
32
32
  slot = 'unit-elements-sdk-slot',
33
33
  account = 'unit-elements-account',
34
+ achDebitPayment = 'unit-elements-ach-debit-payment',
35
+ achCreditPayment = 'unit-elements-ach-credit-payment'
34
36
  }
35
37
 
36
38
  export const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {
@@ -47,10 +49,8 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
47
49
  setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());
48
50
  };
49
51
 
50
- useListenerToBus([
51
- { busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },
52
- { busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },
53
- ]);
52
+ useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });
53
+ useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });
54
54
 
55
55
  useEffect(() => {
56
56
  if (!unitScript) {
@@ -62,7 +62,7 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
62
62
  let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));
63
63
  newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');
64
64
  setSourceHtml(newHtml);
65
- }, [props.params, unitScript, props.presentationMode, componentCurrentTheme]);
65
+ }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, props.script]);
66
66
 
67
67
  const onMessage = (e: WebViewMessageEvent) => {
68
68
  const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;
@@ -14,11 +14,11 @@ const htmlText = `
14
14
  <head lang="en">
15
15
  <title>Unit Web SDK Demo</title>
16
16
  <script>
17
- window.UnitMobileSDK = true
18
- window.UnitMobileSDKConfig = {
19
- os: "${Platform.OS}",
20
- walletName: "${Platform.OS === 'ios' ? 'Apple' : 'Google'}"
21
- }
17
+ window.UnitMobileSDK = true
18
+ window.UnitMobileSDKConfig = {
19
+ os: "${Platform.OS}",
20
+ walletName: "${Platform.OS === 'ios' ? 'Apple' : 'Google'}",
21
+ }
22
22
  </script>
23
23
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
24
24
  </html>
@@ -45,6 +45,8 @@ const htmlText = `
45
45
 
46
46
  ${LISTENERS.cardStatusChange}
47
47
 
48
+ ${LISTENERS.unitRequestExternalSdk}
49
+
48
50
  ${DISPATCH_RENDERING_EVENT}
49
51
 
50
52
  ${HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE}