react-native-unit-components 1.0.4 → 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 +3 -17
  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 +2 -9
  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 +3 -1
  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 +1 -2
  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 +1 -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 +3 -0
  234. package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +1 -1
  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,99 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
3
+ import { PresentationMode } from '../../scripts/html/bodyHtml';
4
+ import { PageMessage } from '../../messages/webMessages/pageMessage';
5
+ import { Platform, View } from 'react-native';
6
+ import { UnitMessage } from '../../messages/webMessages/unitMessages';
7
+ import { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';
8
+ import { openLink } from 'react-native-plaid-link-sdk';
9
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
10
+ export const UNACHDebitComponent = props => {
11
+ const [height, setHeight] = useState(0);
12
+ const [appPackageName, setAppPackageName] = useState('');
13
+ const [linkToken, setLinkToken] = useState('');
14
+ const webRef = useRef(null);
15
+ const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
16
+ useEffect(() => {
17
+ const setPackageNameForAndroid = async () => {
18
+ if (Platform.OS === 'android') {
19
+ const packageName = await getAndroidPackageName();
20
+ setAppPackageName(packageName);
21
+ }
22
+ };
23
+ setPackageNameForAndroid();
24
+ }, []);
25
+ const dispatchUnitPlaidResponse = success => {
26
+ injectUnitPlaidResponse(webRef.current, success);
27
+ };
28
+ const handleWebViewMessage = message => {
29
+ if (!message || !message.details) return;
30
+ switch (message.type) {
31
+ case PaymentMessage.PAYMENT_CREATED:
32
+ {
33
+ const achDebitEvent = message.details;
34
+ props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data);
35
+ break;
36
+ }
37
+ case UnitMessage.UNIT_ON_LOAD:
38
+ props.onLoad && props.onLoad(message.details);
39
+ break;
40
+ case PageMessage.PAGE_HEIGHT:
41
+ {
42
+ const currentHeight = message.details.height;
43
+ setHeight(currentHeight);
44
+ if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
45
+ setPresentationMode(PresentationMode.Default);
46
+ }
47
+ break;
48
+ }
49
+ case UnitMessage.UNIT_PLAID_TOKEN_CREATED:
50
+ {
51
+ const linkTokenEvent = message.details;
52
+ const linkTokenData = linkTokenEvent.linkToken;
53
+ setLinkToken(linkTokenData.attributes.linkToken);
54
+ break;
55
+ }
56
+ case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK:
57
+ {
58
+ const externalSdkType = message.details.type;
59
+ if (externalSdkType !== 'plaid') return;
60
+ linkToken && openLink({
61
+ tokenConfig: {
62
+ noLoadingState: false,
63
+ token: linkToken
64
+ },
65
+ onSuccess: success => {
66
+ dispatchUnitPlaidResponse(success);
67
+ },
68
+ onExit: exit => {
69
+ console.log(exit);
70
+ }
71
+ }).catch(e => {
72
+ console.error(e);
73
+ });
74
+ break;
75
+ }
76
+ }
77
+ };
78
+ const renderACHDebitWebView = () => {
79
+ return /*#__PURE__*/React.createElement(WebComponent, {
80
+ ref: webRef,
81
+ type: WebComponentType.achDebitPayment,
82
+ presentationMode: presentationMode,
83
+ params: getACHDebitParams(props),
84
+ script: getACHDebitScript(appPackageName),
85
+ onMessage: message => handleWebViewMessage(message),
86
+ isScrollable: false,
87
+ theme: props.theme
88
+ });
89
+ };
90
+ if (presentationMode === PresentationMode.Inherit) {
91
+ return renderACHDebitWebView();
92
+ }
93
+ return /*#__PURE__*/React.createElement(View, {
94
+ style: {
95
+ height: height
96
+ }
97
+ }, renderACHDebitWebView());
98
+ };
99
+ //# sourceMappingURL=UNACHDebitComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useRef","useState","WebComponent","WebComponentType","PresentationMode","PageMessage","Platform","View","UnitMessage","getACHDebitParams","getACHDebitScript","getAndroidPackageName","injectUnitPlaidResponse","openLink","PaymentMessage","UNACHDebitComponent","props","height","setHeight","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","presentationMode","setPresentationMode","Inherit","setPackageNameForAndroid","OS","packageName","dispatchUnitPlaidResponse","success","current","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","data","UNIT_ON_LOAD","onLoad","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","console","log","catch","e","error","renderACHDebitWebView","createElement","ref","achDebitPayment","params","script","onMessage","isScrollable","theme","style"],"sources":["UNACHDebitComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { ResponseUnitOnLoadEvent, UNACHData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\n\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const dispatchUnitPlaidResponse = (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken},\n onSuccess: (success) => {\n dispatchUnitPlaidResponse(success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,6BAA6B;AAG9D,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAC7C,SAA8EC,WAAW,QAAQ,yCAAyC;AAC1I,SAASC,iBAAiB,EAAEC,iBAAiB,EAAEC,qBAAqB,EAAEC,uBAAuB,QAAQ,6BAA6B;AAElI,SAAsBC,QAAQ,QAAQ,6BAA6B;AAGnE,SAASC,cAAc,QAAQ,4CAA4C;AAa3E,OAAO,MAAMC,mBAAmB,GAAIC,KAA+B,IAAK;EACtE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGjB,QAAQ,CAAS,CAAC,CAAC;EAC/C,MAAM,CAACkB,cAAc,EAAEC,iBAAiB,CAAC,GAAGnB,QAAQ,CAAS,EAAE,CAAC;EAChE,MAAM,CAACoB,SAAS,EAAEC,YAAY,CAAC,GAAGrB,QAAQ,CAAS,EAAE,CAAC;EACtD,MAAMsB,MAAM,GAAGvB,MAAM,CAAU,IAAI,CAAC;EACpC,MAAM,CAACwB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGxB,QAAQ,CAAmBG,gBAAgB,CAACsB,OAAO,CAAC;EAEpG3B,SAAS,CAAC,MAAM;IACd,MAAM4B,wBAAwB,GAAG,MAAAA,CAAA,KAAY;MAC3C,IAAIrB,QAAQ,CAACsB,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMC,WAAW,GAAG,MAAMlB,qBAAqB,EAAE;QACjDS,iBAAiB,CAACS,WAAW,CAAC;MAChC;IACF,CAAC;IACDF,wBAAwB,EAAE;EAC5B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,yBAAyB,GAAIC,OAAoB,IAAK;IAC1DnB,uBAAuB,CAACW,MAAM,CAACS,OAAO,EAAED,OAAO,CAAC;EAClD,CAAC;EAED,MAAME,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAKtB,cAAc,CAACuB,eAAe;QAAE;UACnC,MAAMC,aAAa,GAAGJ,OAAO,CAACC,OAAmB;UACjDnB,KAAK,CAACuB,gBAAgB,IAAIvB,KAAK,CAACuB,gBAAgB,CAACD,aAAa,CAACE,IAAI,CAAc;UACjF;QACF;MACA,KAAKhC,WAAW,CAACiC,YAAY;QAC3BzB,KAAK,CAAC0B,MAAM,IAAI1B,KAAK,CAAC0B,MAAM,CAACR,OAAO,CAACC,OAAO,CAA4B;QACxE;MACF,KAAK9B,WAAW,CAACsC,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIV,OAAO,CAACC,OAAO,CAAiBlB,MAAM;UAC7DC,SAAS,CAAC0B,aAAa,CAAC;UACxB,IAAIpB,gBAAgB,KAAKpB,gBAAgB,CAACsB,OAAO,IAAIkB,aAAa,KAAK,CAAC,EAAE;YACxEnB,mBAAmB,CAACrB,gBAAgB,CAACyC,OAAO,CAAC;UAC/C;UACA;QACF;MACA,KAAKrC,WAAW,CAACsC,wBAAwB;QAAE;UACzC,MAAMC,cAAc,GAAGb,OAAO,CAACC,OAAiC;UAChE,MAAMa,aAAa,GAAGD,cAAc,CAAC1B,SAA+B;UACpEC,YAAY,CAAC0B,aAAa,CAACC,UAAU,CAAC5B,SAAS,CAAC;UAChD;QACF;MAEA,KAAKb,WAAW,CAAC0C,yBAAyB;QAAE;UAC1C,MAAMC,eAAe,GAAIjB,OAAO,CAACC,OAAO,CAA6BC,IAAI;UACzE,IAAIe,eAAe,KAAK,OAAO,EAAE;UACjC9B,SAAS,IAAIR,QAAQ,CAAC;YACpBuC,WAAW,EAAE;cAAEC,cAAc,EAAE,KAAK;cAAEC,KAAK,EAAEjC;YAAS,CAAC;YACvDkC,SAAS,EAAGxB,OAAO,IAAK;cACtBD,yBAAyB,CAACC,OAAO,CAAC;YACpC,CAAC;YACDyB,MAAM,EAAEC,IAAI,IAAI;cAAEC,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC;YAAE;UACvC,CAAC,CAAC,CAACG,KAAK,CAACC,CAAC,IAAI;YACZH,OAAO,CAACI,KAAK,CAACD,CAAC,CAAC;UAClB,CAAC,CAAC;UACF;QACF;IAAC;EAEL,CAAC;EAED,MAAME,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACEjE,KAAA,CAAAkE,aAAA,CAAC9D,YAAY;MACX+D,GAAG,EAAE1C,MAAO;MACZa,IAAI,EAAEjC,gBAAgB,CAAC+D,eAAgB;MACvC1C,gBAAgB,EAAEA,gBAAiB;MACnC2C,MAAM,EAAE1D,iBAAiB,CAACO,KAAK,CAAE;MACjCoD,MAAM,EAAE1D,iBAAiB,CAACS,cAAc,CAAE;MAC1CkD,SAAS,EAAGnC,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEoC,YAAY,EAAE,KAAM;MACpBC,KAAK,EAAEvD,KAAK,CAACuD;IAAM,EACnB;EAEN,CAAC;EAED,IAAI/C,gBAAgB,KAAKpB,gBAAgB,CAACsB,OAAO,EAAE;IACjD,OAAOqC,qBAAqB,EAAE;EAChC;EAEA,oBACEjE,KAAA,CAAAkE,aAAA,CAACzD,IAAI;IAACiE,KAAK,EAAE;MAAEvD,MAAM,EAAEA;IAAO;EAAE,GAC7B8C,qBAAqB,EAAE,CACnB;AAGX,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';
2
+ import { NativeModules } from 'react-native';
3
+ const {
4
+ RNAppInfoModule
5
+ } = NativeModules;
6
+ import { UnitMessage } from '../../messages/webMessages/unitMessages';
7
+ export const getACHDebitParams = props => {
8
+ return `
9
+ account-id="${props.accountId}"
10
+ customer-token="${props.customerToken}"
11
+ is-auto-focus="${props.isAutoFocus ?? false}"
12
+ ${props.fee ? `fee="${props.fee}"` : ''}
13
+ style="height: 100%"
14
+ `;
15
+ };
16
+ export const getAndroidPackageName = async () => {
17
+ try {
18
+ const response = await RNAppInfoModule.getAppPackageName();
19
+ return response;
20
+ } catch (error) {
21
+ console.error(error);
22
+ }
23
+ };
24
+ export const getACHDebitScript = androidPackageName => {
25
+ return `
26
+ window.addEventListener("${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
27
+ const response = e.detail
28
+ response.then((data) => {
29
+ postMessageToSDK({ type: "${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
30
+ }).catch((e) => {
31
+ console.log(e)
32
+ })
33
+ });
34
+ ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}
35
+ ${LISTENERS.unitPaymentCreated}
36
+ ${DISPATCH_PLAID_RESPONSE}
37
+ `;
38
+ };
39
+ export const injectUnitPlaidResponse = (currentWeb, success) => {
40
+ const successObj = {
41
+ data: {
42
+ publicToken: success.publicToken,
43
+ metadata: success.metadata
44
+ }
45
+ };
46
+ currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);
47
+ };
48
+ //# sourceMappingURL=UNACHDebitComponent.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DISPATCH_PLAID_RESPONSE","LISTENERS","NativeModules","RNAppInfoModule","UnitMessage","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","getAndroidPackageName","response","getAppPackageName","error","console","getACHDebitScript","androidPackageName","UNIT_PLAID_TOKEN_CREATED","unitPaymentCreated","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHDebitComponent.utils.ts"],"sourcesContent":["import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNACHDebitComponentProps } from './UNACHDebitComponent';\n\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\nimport { NativeModules } from 'react-native';\nconst { RNAppInfoModule } = NativeModules;\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\n\nexport const getACHDebitParams = (props: UNACHDebitComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getAndroidPackageName = async () => {\n try {\n const response = await RNAppInfoModule.getAppPackageName();\n return response;\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const getACHDebitScript = (androidPackageName?: string) => {\n return `\n window.addEventListener(\"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", details: { linkToken: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":"AAAA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ,iCAAiC;AAKpF,SAASC,aAAa,QAAQ,cAAc;AAC5C,MAAM;EAAEC;AAAgB,CAAC,GAAGD,aAAa;AACzC,SAASE,WAAW,QAAQ,yCAAyC;AAErE,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,qBAAqBF,KAAK,CAACG,WAAW,IAAI,KAAM;AAChD,MAAMH,KAAK,CAACI,GAAG,GAAI,QAAOJ,KAAK,CAACI,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMT,eAAe,CAACU,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC;AAED,OAAO,MAAME,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,iCAAiCb,WAAW,CAACc,wBAAyB;AACtE;AACA;AACA,sCAAsCd,WAAW,CAACc,wBAAyB;AAC3E;AACA;AACA;AACA;AACA,MAAMD,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMhB,SAAS,CAACkB,kBAAmB;AACnC,MAAMnB,uBAAwB;AAC9B,KAAK;AACL,CAAC;AAED,OAAO,MAAMoB,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC"}
@@ -4,40 +4,34 @@ import { PageMessage } from '../..//messages/webMessages/pageMessage';
4
4
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
5
5
  import EventBus from '../../helpers/EventBus';
6
6
  import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
7
- import { useListenerToBus } from '../../hooks/listenerToBus';
8
7
  import { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';
9
8
  import { PresentationMode } from '../../scripts/html/bodyHtml';
9
+ import { useListenerToBus } from '../../hooks/listenerToBus';
10
10
  export let AccountAction;
11
-
12
11
  (function (AccountAction) {
13
12
  AccountAction["List"] = "account-list";
14
13
  AccountAction["Menu"] = "account-menu";
15
14
  })(AccountAction || (AccountAction = {}));
16
-
17
15
  export const UNAccountComponent = props => {
18
16
  const [height, setHeight] = useState(0);
19
17
  const windowWidth = Dimensions.get('window').width;
20
18
  const [requestRefreshEvent, setRequestRefreshEvent] = useState(null);
21
19
  const webRef = useRef(null);
22
-
23
20
  const requestRefresh = data => {
24
21
  setRequestRefreshEvent(data);
25
22
  };
26
-
27
- useListenerToBus([{
23
+ useListenerToBus({
28
24
  busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
29
25
  action: requestRefresh
30
- }]);
26
+ });
31
27
  useEffect(() => {
32
28
  injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);
33
29
  }, [requestRefreshEvent]);
34
-
35
30
  const handleMessage = message => {
36
31
  switch (message.type) {
37
32
  case UnitMessage.UNIT_ON_LOAD:
38
33
  props.onLoad && props.onLoad(message.details);
39
34
  break;
40
-
41
35
  case UnitMessage.UNIT_REQUEST_RENDERING:
42
36
  {
43
37
  const event = {
@@ -48,13 +42,11 @@ export const UNAccountComponent = props => {
48
42
  EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);
49
43
  break;
50
44
  }
51
-
52
45
  case PageMessage.PAGE_HEIGHT:
53
46
  setHeight(message.details.height);
54
47
  break;
55
48
  }
56
49
  };
57
-
58
50
  return /*#__PURE__*/React.createElement(View, {
59
51
  style: {
60
52
  height
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","useListenerToBus","getAccountParams","getAccountScript","injectRefreshEventIfNeeded","PresentationMode","AccountAction","UNAccountComponent","props","height","setHeight","windowWidth","get","width","requestRefreshEvent","setRequestRefreshEvent","webRef","requestRefresh","data","busEventKey","UNIT_REQUEST_REFRESH","action","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","account","componentResourceId","accountId","requestRenderingEvent","Instance","PAGE_HEIGHT","Default","theme"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = (props: UNAccountComponentProps) => {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const [requestRefreshEvent, setRequestRefreshEvent] = useState<RequestRefreshEvent | null>(null);\n\n const webRef = useRef<WebView>(null);\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus([\n { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },\n ]);\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.account,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.account}\n presentationMode={PresentationMode.Default}\n params={getAccountParams(props)}\n script={getAccountScript()}\n theme={props.theme}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,MAA3B,EAAmCC,QAAnC,QAAmD,OAAnD;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AAEA,SAAsBC,WAAtB,QAAyC,yCAAzC;AACA,SAAqDC,WAArD,QAAwE,yCAAxE;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,SAASC,YAAT,EAAuBC,gBAAvB,QAA+C,iCAA/C;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAEA,SAASC,gBAAT,EAA2BC,gBAA3B,EAA6CC,0BAA7C,QAA+E,4BAA/E;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAWA,WAAYC,aAAZ;;WAAYA,a;EAAAA,a;EAAAA,a;GAAAA,a,KAAAA,a;;AAKZ,OAAO,MAAMC,kBAAkB,GAAIC,KAAD,IAAoC;EACpE,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBjB,QAAQ,CAAC,CAAD,CAApC;EACA,MAAMkB,WAAW,GAAGjB,UAAU,CAACkB,GAAX,CAAe,QAAf,EAAyBC,KAA7C;EAEA,MAAM,CAACC,mBAAD,EAAsBC,sBAAtB,IAAgDtB,QAAQ,CAA6B,IAA7B,CAA9D;EAEA,MAAMuB,MAAM,GAAGxB,MAAM,CAAU,IAAV,CAArB;;EAEA,MAAMyB,cAAc,GAAIC,IAAD,IAA+B;IACpDH,sBAAsB,CAACG,IAAD,CAAtB;EACD,CAFD;;EAIAjB,gBAAgB,CAAC,CACf;IAAEkB,WAAW,EAAEtB,WAAW,CAACuB,oBAA3B;IAAiDC,MAAM,EAAEJ;EAAzD,CADe,CAAD,CAAhB;EAIA1B,SAAS,CAAC,MAAM;IACda,0BAA0B,CAACY,MAAM,CAACM,OAAR,EAAiBR,mBAAjB,CAA1B;EACD,CAFQ,EAEN,CAACA,mBAAD,CAFM,CAAT;;EAIA,MAAMS,aAAa,GAAIC,OAAD,IAA6B;IACjD,QAAQA,OAAO,CAACC,IAAhB;MACE,KAAK5B,WAAW,CAAC6B,YAAjB;QACElB,KAAK,CAACmB,MAAN,IAAgBnB,KAAK,CAACmB,MAAN,CAAaH,OAAO,CAACI,OAArB,CAAhB;QACA;;MACF,KAAK/B,WAAW,CAACgC,sBAAjB;QAAyC;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAE/B,gBAAgB,CAACgC,OADC;YAEjCC,mBAAmB,EAAEzB,KAAK,CAAC0B,SAFM;YAGjCC,qBAAqB,EAAEX,OAAO,CAACI;UAHE,CAAnC;UAKA9B,QAAQ,CAACsC,QAAT,CAAkBN,KAAlB,CAAwBjC,WAAW,CAACgC,sBAApC,EAA4DC,KAA5D;UACA;QACD;;MACD,KAAKlC,WAAW,CAACyC,WAAjB;QACE3B,SAAS,CAAEc,OAAO,CAACI,OAAT,CAAiCnB,MAAlC,CAAT;QACA;IAfJ;EAiBD,CAlBD;;EAoBA,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEA;IAAF;EAAb,gBACE,oBAAC,YAAD;IACE,GAAG,EAAEO,MADP;IAEE,IAAI,EAAEhB,gBAAgB,CAACgC,OAFzB;IAGE,gBAAgB,EAAE3B,gBAAgB,CAACiC,OAHrC;IAIE,MAAM,EAAEpC,gBAAgB,CAACM,KAAD,CAJ1B;IAKE,MAAM,EAAEL,gBAAgB,EAL1B;IAME,KAAK,EAAEK,KAAK,CAAC+B,KANf;IAOE,SAAS,EAAEf,OAAO,IAAID,aAAa,CAACC,OAAD,CAPrC;IAQE,KAAK,EAAEb,WART;IASE,YAAY,EAAE;EAThB,EADF,CADF;AAeD,CAvDM"}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","getAccountParams","getAccountScript","injectRefreshEventIfNeeded","PresentationMode","useListenerToBus","AccountAction","UNAccountComponent","props","height","setHeight","windowWidth","get","width","requestRefreshEvent","setRequestRefreshEvent","webRef","requestRefresh","data","busEventKey","UNIT_REQUEST_REFRESH","action","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","account","componentResourceId","accountId","requestRenderingEvent","Instance","PAGE_HEIGHT","createElement","style","ref","presentationMode","Default","params","script","theme","onMessage","isScrollable"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = (props: UNAccountComponentProps) => {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const [requestRefreshEvent, setRequestRefreshEvent] = useState<RequestRefreshEvent | null>(null);\n\n const webRef = useRef<WebView>(null);\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.account,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.account}\n presentationMode={PresentationMode.Default}\n params={getAccountParams(props)}\n script={getAccountScript()}\n theme={props.theme}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAAsBC,WAAW,QAAQ,yCAAyC;AAClF,SAAqDC,WAAW,QAAQ,yCAAyC;AACjH,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAEhF,SAASC,gBAAgB,EAAEC,gBAAgB,EAAEC,0BAA0B,QAAQ,4BAA4B;AAC3G,SAASC,gBAAgB,QAAQ,6BAA6B;AAG9D,SAASC,gBAAgB,QAAQ,2BAA2B;AAS5D,WAAYC,aAAa;AAGxB,WAHWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AAKzB,OAAO,MAAMC,kBAAkB,GAAIC,KAA8B,IAAK;EACpE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGjB,QAAQ,CAAC,CAAC,CAAC;EACvC,MAAMkB,WAAW,GAAGjB,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;EAElD,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGtB,QAAQ,CAA6B,IAAI,CAAC;EAEhG,MAAMuB,MAAM,GAAGxB,MAAM,CAAU,IAAI,CAAC;EAEpC,MAAMyB,cAAc,GAAIC,IAAyB,IAAK;IACpDH,sBAAsB,CAACG,IAAI,CAAC;EAC9B,CAAC;EAEDb,gBAAgB,CAAC;IAAEc,WAAW,EAAEtB,WAAW,CAACuB,oBAAoB;IAAEC,MAAM,EAAEJ;EAAe,CAAC,CAAC;EAE3F1B,SAAS,CAAC,MAAM;IACdY,0BAA0B,CAACa,MAAM,CAACM,OAAO,EAAER,mBAAmB,CAAC;EACjE,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,MAAMS,aAAa,GAAIC,OAAuB,IAAK;IACjD,QAAQA,OAAO,CAACC,IAAI;MAClB,KAAK5B,WAAW,CAAC6B,YAAY;QAC3BlB,KAAK,CAACmB,MAAM,IAAInB,KAAK,CAACmB,MAAM,CAACH,OAAO,CAACI,OAAO,CAA4B;QACxE;MACF,KAAK/B,WAAW,CAACgC,sBAAsB;QAAE;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAE/B,gBAAgB,CAACgC,OAAO;YACvCC,mBAAmB,EAAEzB,KAAK,CAAC0B,SAAS;YACpCC,qBAAqB,EAAEX,OAAO,CAACI;UACjC,CAAC;UACD9B,QAAQ,CAACsC,QAAQ,CAACN,KAAK,CAACjC,WAAW,CAACgC,sBAAsB,EAAEC,KAAK,CAAC;UAClE;QACF;MACA,KAAKlC,WAAW,CAACyC,WAAW;QAC1B3B,SAAS,CAAEc,OAAO,CAACI,OAAO,CAAiBnB,MAAM,CAAC;QAClD;IAAM;EAEZ,CAAC;EAED,oBACEnB,KAAA,CAAAgD,aAAA,CAAC3C,IAAI;IAAC4C,KAAK,EAAE;MAAE9B;IAAO;EAAE,gBACtBnB,KAAA,CAAAgD,aAAA,CAACvC,YAAY;IACXyC,GAAG,EAAExB,MAAO;IACZS,IAAI,EAAEzB,gBAAgB,CAACgC,OAAQ;IAC/BS,gBAAgB,EAAErC,gBAAgB,CAACsC,OAAQ;IAC3CC,MAAM,EAAE1C,gBAAgB,CAACO,KAAK,CAAE;IAChCoC,MAAM,EAAE1C,gBAAgB,EAAG;IAC3B2C,KAAK,EAAErC,KAAK,CAACqC,KAAM;IACnBC,SAAS,EAAEtB,OAAO,IAAID,aAAa,CAACC,OAAO,CAAE;IAC7CX,KAAK,EAAEF,WAAY;IACnBoC,YAAY,EAAE;EAAM,EACpB,CACG;AAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","getAccountScript","UNIT_REQUEST_REFRESH","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","account","valueOf","injectJavaScript","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":"AAAA,SAASA,aAAT,QAAuD,sBAAvD;AACA,SAAqDC,WAArD,QAAwE,yCAAxE;AAEA,SAASC,gBAAT,QAAiC,iCAAjC;AAEA,OAAO,MAAMC,gBAAgB,GAAIC,KAAD,IAAoC;EAClE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,GAHE;AAID,CALM;AAOP,OAAO,MAAMC,gBAAgB,GAAG,MAAM;EACpC,OAAQ;AACV;AACA,qCAAqCN,WAAW,CAACO,oBAAqB;AACtE;AACA;AACA,GALE;AAMD,CAPM;AASP,OAAO,MAAMC,0BAA0B,GAAG,CAACC,UAAD,EAA6BC,mBAA7B,KAAiF;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAApB,CAAiCC,QAAjC,CAA0CX,gBAAgB,CAACY,OAAjB,CAAyBC,OAAzB,EAA1C,CAA3B,EAA0G;IACxGL,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEM,gBAAZ,CAA8B,yBAAwBC,IAAI,CAACC,SAAL,CAAeP,mBAAf,CAAoC,IAA1F;EACD;AACF,CAJM;AAMP,OAAO,MAAMQ,oBAAoB,GAAIC,gBAAD,IAA6C;EAC/E,OAAOA,gBAAgB,CAACC,IAAjB,CAAsBC,eAAtB,CAAsCT,QAAtC,CAA+Cb,aAAa,CAACuB,IAA7D,IAAqEvB,aAAa,CAACuB,IAAnF,GAA0FvB,aAAa,CAACwB,IAA/G;AACD,CAFM"}
1
+ {"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","getAccountScript","UNIT_REQUEST_REFRESH","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","account","valueOf","injectJavaScript","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAiC,sBAAsB;AAC7E,SAAqDC,WAAW,QAAQ,yCAAyC;AAEjH,SAASC,gBAAgB,QAAQ,iCAAiC;AAElE,OAAO,MAAMC,gBAAgB,GAAIC,KAA8B,IAAK;EAClE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCN,WAAW,CAACO,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACX,gBAAgB,CAACY,OAAO,CAACC,OAAO,EAAE,CAAC,EAAE;IACxGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMQ,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACT,QAAQ,CAACb,aAAa,CAACuB,IAAI,CAAC,GAAGvB,aAAa,CAACuB,IAAI,GAAGvB,aAAa,CAACwB,IAAI;AACrH,CAAC"}
@@ -10,22 +10,18 @@ const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
10
10
  export const UNActivityComponent = props => {
11
11
  const webRef = useRef(null);
12
12
  const [defaultHeight, setDefaultHeight] = useState();
13
-
14
13
  const requestRefresh = data => {
15
14
  injectRefreshEventIfNeeded(webRef.current, data);
16
15
  };
17
-
18
- useListenerToBus([{
16
+ useListenerToBus({
19
17
  busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
20
18
  action: requestRefresh
21
- }]);
22
-
19
+ });
23
20
  const handleWebViewMessage = message => {
24
21
  switch (message.type) {
25
22
  case UnitMessage.UNIT_ON_LOAD:
26
23
  props.onLoad && props.onLoad(message.details);
27
24
  break;
28
-
29
25
  case PageMessage.PAGE_HEIGHT:
30
26
  {
31
27
  const currentHeight = message.details.height;
@@ -34,7 +30,6 @@ export const UNActivityComponent = props => {
34
30
  }
35
31
  }
36
32
  };
37
-
38
33
  const renderActivityWebView = () => {
39
34
  return /*#__PURE__*/React.createElement(WebComponent, {
40
35
  ref: webRef,
@@ -47,11 +42,9 @@ export const UNActivityComponent = props => {
47
42
  script: getActivityScript()
48
43
  });
49
44
  };
50
-
51
45
  if (!defaultHeight) {
52
46
  return renderActivityWebView();
53
47
  }
54
-
55
48
  return /*#__PURE__*/React.createElement(View, {
56
49
  style: {
57
50
  height: defaultHeight
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectRefreshEventIfNeeded","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","busEventKey","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_ON_LOAD","onLoad","details","PAGE_HEIGHT","currentHeight","renderActivityWebView","activity","Inherit","theme"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus([\n { busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh },\n ]);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,cAAjC;AACA,SAA8BC,WAA9B,QAAiD,yCAAjD;AACA,SAASC,gBAAT,QAAiC,2BAAjC;AAEA,SAAsBC,WAAtB,QAAyC,wCAAzC;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AAEA,SAASC,YAAT,EAAuBC,gBAAvB,QAA+C,iCAA/C;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,EAA+CC,0BAA/C,QAAiF,6BAAjF;AAGA,MAAMC,cAAc,GAAGX,UAAU,CAACY,GAAX,CAAe,QAAf,EAAyBC,MAAzB,GAAkC,GAAzD;AAQA,OAAO,MAAMC,mBAAmB,GAAIC,KAAD,IAAqC;EACtE,MAAMC,MAAM,GAAGlB,MAAM,CAAU,IAAV,CAArB;EACA,MAAM,CAACmB,aAAD,EAAgBC,gBAAhB,IAAoCnB,QAAQ,EAAlD;;EAEA,MAAMoB,cAAc,GAAIC,IAAD,IAA+B;IACpDV,0BAA0B,CAACM,MAAM,CAACK,OAAR,EAAiBD,IAAjB,CAA1B;EACD,CAFD;;EAIAjB,gBAAgB,CAAC,CACf;IAAEmB,WAAW,EAAEpB,WAAW,CAACqB,oBAA3B;IAAiDC,MAAM,EAAEL;EAAzD,CADe,CAAD,CAAhB;;EAIA,MAAMM,oBAAoB,GAAIC,OAAD,IAA6B;IACxD,QAAQA,OAAO,CAACC,IAAhB;MACE,KAAKzB,WAAW,CAAC0B,YAAjB;QACEb,KAAK,CAACc,MAAN,IAAgBd,KAAK,CAACc,MAAN,CAAaH,OAAO,CAACI,OAArB,CAAhB;QACA;;MACF,KAAK1B,WAAW,CAAC2B,WAAjB;QAA8B;UAC5B,MAAMC,aAAa,GAAIN,OAAO,CAACI,OAAT,CAAiCjB,MAAvD;UACAmB,aAAa,KAAK,CAAlB,IAAuBd,gBAAgB,CAACP,cAAD,CAAvC;UACA;QACD;IARH;EAUD,CAXD;;EAaA,MAAMsB,qBAAqB,GAAG,MAAM;IAClC,oBACE,oBAAC,YAAD;MACE,GAAG,EAAEjB,MADP;MAEE,IAAI,EAAET,gBAAgB,CAAC2B,QAFzB;MAGE,gBAAgB,EAAE7B,gBAAgB,CAAC8B,OAHrC;MAIE,MAAM,EAAE3B,iBAAiB,CAACO,KAAD,CAJ3B;MAKE,SAAS,EAAGW,OAAD,IAA6BD,oBAAoB,CAACC,OAAD,CAL9D;MAME,mBAAmB,EAAE,IANvB;MAOE,KAAK,EAAEX,KAAK,CAACqB,KAPf;MAQE,MAAM,EAAE3B,iBAAiB;IAR3B,EADF;EAYD,CAbD;;EAeA,IAAI,CAACQ,aAAL,EAAoB;IAClB,OAAOgB,qBAAqB,EAA5B;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEpB,MAAM,EAAEI;IAAV;EAAb,GACGgB,qBAAqB,EADxB,CADF;AAKD,CAjDM"}
1
+ {"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectRefreshEventIfNeeded","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","busEventKey","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_ON_LOAD","onLoad","details","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","ref","activity","presentationMode","Inherit","params","onMessage","nestedScrollEnabled","theme","script","style"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/C,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAA8BC,WAAW,QAAQ,yCAAyC;AAC1F,SAASC,gBAAgB,QAAQ,2BAA2B;AAE5D,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,gBAAgB,QAAQ,6BAA6B;AAE9D,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,iBAAiB,EAAEC,iBAAiB,EAAEC,0BAA0B,QAAQ,6BAA6B;AAG9G,MAAMC,cAAc,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG,GAAG;AAQ5D,OAAO,MAAMC,mBAAmB,GAAIC,KAA+B,IAAK;EACtE,MAAMC,MAAM,GAAGlB,MAAM,CAAU,IAAI,CAAC;EACpC,MAAM,CAACmB,aAAa,EAAEC,gBAAgB,CAAC,GAAGnB,QAAQ,EAAU;EAE5D,MAAMoB,cAAc,GAAIC,IAAyB,IAAK;IACpDV,0BAA0B,CAACM,MAAM,CAACK,OAAO,EAAED,IAAI,CAAC;EAClD,CAAC;EAEDjB,gBAAgB,CAAC;IAAEmB,WAAW,EAAEpB,WAAW,CAACqB,oBAAoB;IAAEC,MAAM,EAAEL;EAAe,CAAC,CAAC;EAE3F,MAAMM,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,QAAQA,OAAO,CAACC,IAAI;MAClB,KAAKzB,WAAW,CAAC0B,YAAY;QAC3Bb,KAAK,CAACc,MAAM,IAAId,KAAK,CAACc,MAAM,CAACH,OAAO,CAACI,OAAO,CAA4B;QACxE;MACF,KAAK1B,WAAW,CAAC2B,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIN,OAAO,CAACI,OAAO,CAAiBjB,MAAM;UAC7DmB,aAAa,KAAK,CAAC,IAAId,gBAAgB,CAACP,cAAc,CAAC;UACvD;QACF;IAAC;EAEL,CAAC;EAED,MAAMsB,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACEpC,KAAA,CAAAqC,aAAA,CAAC5B,YAAY;MACX6B,GAAG,EAAEnB,MAAO;MACZW,IAAI,EAAEpB,gBAAgB,CAAC6B,QAAS;MAChCC,gBAAgB,EAAEhC,gBAAgB,CAACiC,OAAQ;MAC3CC,MAAM,EAAE/B,iBAAiB,CAACO,KAAK,CAAE;MACjCyB,SAAS,EAAGd,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEe,mBAAmB,EAAE,IAAK;MAC1BC,KAAK,EAAE3B,KAAK,CAAC2B,KAAM;MACnBC,MAAM,EAAElC,iBAAiB;IAAG,EAC5B;EAEN,CAAC;EAED,IAAI,CAACQ,aAAa,EAAE;IAClB,OAAOgB,qBAAqB,EAAE;EAChC;EAEA,oBACEpC,KAAA,CAAAqC,aAAA,CAACjC,IAAI;IAAC2C,KAAK,EAAE;MAAE/B,MAAM,EAAEI;IAAc;EAAE,GACpCgB,qBAAqB,EAAE,CACnB;AAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountId","customerToken","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,gBAAT,QAAiC,mCAAjC;AAGA,SAASC,wBAAT,QAAyC,iCAAzC;AAGA,OAAO,MAAMC,iBAAiB,GAAIC,KAAD,IAAqC;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C;AACA,GAJE;AAKD,CANM;AAQP,OAAO,MAAMC,iBAAiB,GAAG,MAAM;EACrC,OAAOL,wBAAP;AACD,CAFM;AAIP,OAAO,MAAMM,0BAA0B,GAAG,CAACC,UAAD,EAA6BC,mBAA7B,KAAiF;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAApB,CAAiCC,QAAjC,CAA0CX,gBAAgB,CAACY,QAAjB,CAA0BC,OAA1B,EAA1C,CAA3B,EAA2G;IACzGL,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEM,gBAAZ,CAA8B,yBAAwBC,IAAI,CAACC,SAAL,CAAeP,mBAAf,CAAoC,IAA1F;EACD;AACF,CAJM"}
1
+ {"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountId","customerToken","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,mCAAmC;AAGpE,SAASC,wBAAwB,QAAQ,iCAAiC;AAG1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOL,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMM,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACX,gBAAgB,CAACY,QAAQ,CAACC,OAAO,EAAE,CAAC,EAAE;IACzGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC"}
@@ -2,40 +2,33 @@ import React, { useState } from 'react';
2
2
  import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
3
3
  import { PresentationMode } from '../../scripts/html/bodyHtml';
4
4
  import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
5
- import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
6
5
  import { PageMessage } from '../../messages/webMessages/pageMessage';
7
6
  import { View } from 'react-native';
8
7
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
8
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
9
9
  export const UNBookPaymentComponent = props => {
10
10
  const [height, setHeight] = useState(0);
11
11
  const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
12
-
13
12
  const handleWebViewMessage = message => {
14
13
  if (!message || !message.details) return;
15
-
16
14
  switch (message.type) {
17
- case BookPaymentMessage.PAYMENT_CREATED:
15
+ case PaymentMessage.PAYMENT_CREATED:
18
16
  props.onPaymentCreated && props.onPaymentCreated(message.details.data);
19
17
  break;
20
-
21
18
  case UnitMessage.UNIT_ON_LOAD:
22
19
  props.onLoad && props.onLoad(message.details);
23
20
  break;
24
-
25
21
  case PageMessage.PAGE_HEIGHT:
26
22
  {
27
23
  const currentHeight = message.details.height;
28
24
  setHeight(currentHeight);
29
-
30
25
  if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
31
26
  setPresentationMode(PresentationMode.Default);
32
27
  }
33
-
34
28
  break;
35
29
  }
36
30
  }
37
31
  };
38
-
39
32
  const renderBookPaymentWebView = () => {
40
33
  return /*#__PURE__*/React.createElement(WebComponent, {
41
34
  type: WebComponentType.bookPayment,
@@ -47,11 +40,9 @@ export const UNBookPaymentComponent = props => {
47
40
  theme: props.theme
48
41
  });
49
42
  };
50
-
51
43
  if (presentationMode === PresentationMode.Inherit) {
52
44
  return renderBookPaymentWebView();
53
45
  }
54
-
55
46
  return /*#__PURE__*/React.createElement(View, {
56
47
  style: {
57
48
  height: height
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","BookPaymentMessage","PageMessage","View","UnitMessage","UNBookPaymentComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleWebViewMessage","message","details","type","PAYMENT_CREATED","onPaymentCreated","data","UNIT_ON_LOAD","onLoad","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","bookPayment","theme"],"sources":["UNBookPaymentComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { BookPaymentEvent, BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';\nimport type { ResponseUnitOnLoadEvent, UNBookPaymentData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\n\nexport interface UNBookPaymentComponentProps {\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n theme?: string;\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case BookPaymentMessage.PAYMENT_CREATED:\n props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderBookPaymentWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.bookPayment}\n presentationMode={presentationMode}\n params={getBookPaymentParams(props)}\n script={getBookPaymentScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderBookPaymentWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderBookPaymentWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,SAASC,YAAT,EAAuBC,gBAAvB,QAA+C,iCAA/C;AACA,SAASC,gBAAT,QAAiC,6BAAjC;AACA,SAASC,oBAAT,EAA+BC,oBAA/B,QAA2D,gCAA3D;AAEA,SAA2BC,kBAA3B,QAAqD,+CAArD;AAEA,SAAsBC,WAAtB,QAAyC,wCAAzC;AACA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,WAAT,QAA4B,yCAA5B;AAaA,OAAO,MAAMC,sBAAsB,GAAIC,KAAD,IAAwC;EAC5E,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBb,QAAQ,CAAS,CAAT,CAApC;EACA,MAAM,CAACc,gBAAD,EAAmBC,mBAAnB,IAA0Cf,QAAQ,CAAmBG,gBAAgB,CAACa,OAApC,CAAxD;;EAEA,MAAMC,oBAAoB,GAAIC,OAAD,IAA6B;IACxD,IAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACC,OAAzB,EAAkC;;IAElC,QAAQD,OAAO,CAACE,IAAhB;MACE,KAAKd,kBAAkB,CAACe,eAAxB;QACEV,KAAK,CAACW,gBAAN,IAA0BX,KAAK,CAACW,gBAAN,CAAwBJ,OAAO,CAACC,OAAT,CAAsCI,IAA7D,CAA1B;QACA;;MACF,KAAKd,WAAW,CAACe,YAAjB;QACEb,KAAK,CAACc,MAAN,IAAgBd,KAAK,CAACc,MAAN,CAAaP,OAAO,CAACC,OAArB,CAAhB;QACA;;MACF,KAAKZ,WAAW,CAACmB,WAAjB;QAA8B;UAC5B,MAAMC,aAAa,GAAIT,OAAO,CAACC,OAAT,CAAiCP,MAAvD;UACAC,SAAS,CAACc,aAAD,CAAT;;UACA,IAAIb,gBAAgB,KAAKX,gBAAgB,CAACa,OAAtC,IAAiDW,aAAa,KAAK,CAAvE,EAA0E;YACxEZ,mBAAmB,CAACZ,gBAAgB,CAACyB,OAAlB,CAAnB;UACD;;UACD;QACD;IAdH;EAgBD,CAnBD;;EAqBA,MAAMC,wBAAwB,GAAG,MAAM;IACrC,oBACE,oBAAC,YAAD;MACE,IAAI,EAAE3B,gBAAgB,CAAC4B,WADzB;MAEE,gBAAgB,EAAEhB,gBAFpB;MAGE,MAAM,EAAEV,oBAAoB,CAACO,KAAD,CAH9B;MAIE,MAAM,EAAEN,oBAAoB,EAJ9B;MAKE,SAAS,EAAGa,OAAD,IAA6BD,oBAAoB,CAACC,OAAD,CAL9D;MAME,YAAY,EAAE,KANhB;MAOE,KAAK,EAAEP,KAAK,CAACoB;IAPf,EADF;EAWD,CAZD;;EAcA,IAAIjB,gBAAgB,KAAKX,gBAAgB,CAACa,OAA1C,EAAmD;IACjD,OAAOa,wBAAwB,EAA/B;EACD;;EAED,oBACE,oBAAC,IAAD;IAAM,KAAK,EAAE;MAAEjB,MAAM,EAAEA;IAAV;EAAb,GACGiB,wBAAwB,EAD3B,CADF;AAKD,CAhDM"}
1
+ {"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","PageMessage","View","UnitMessage","PaymentMessage","UNBookPaymentComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleWebViewMessage","message","details","type","PAYMENT_CREATED","onPaymentCreated","data","UNIT_ON_LOAD","onLoad","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","bookPayment","params","script","onMessage","isScrollable","theme","style"],"sources":["UNBookPaymentComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { ResponseUnitOnLoadEvent, UNBookPaymentData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';\n\nexport interface UNBookPaymentComponentProps {\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n theme?: string;\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED:\n props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderBookPaymentWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.bookPayment}\n presentationMode={presentationMode}\n params={getBookPaymentParams(props)}\n script={getBookPaymentScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderBookPaymentWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderBookPaymentWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,oBAAoB,EAAEC,oBAAoB,QAAQ,gCAAgC;AAG3F,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,yCAAyC;AACrE,SAASC,cAAc,QAAQ,4CAA4C;AAc3E,OAAO,MAAMC,sBAAsB,GAAIC,KAAkC,IAAK;EAC5E,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGb,QAAQ,CAAS,CAAC,CAAC;EAC/C,MAAM,CAACc,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGf,QAAQ,CAAmBG,gBAAgB,CAACa,OAAO,CAAC;EAEpG,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAKX,cAAc,CAACY,eAAe;QACjCV,KAAK,CAACW,gBAAgB,IAAIX,KAAK,CAACW,gBAAgB,CAAEJ,OAAO,CAACC,OAAO,CAAsBI,IAAI,CAAC;QAC5F;MACF,KAAKf,WAAW,CAACgB,YAAY;QAC3Bb,KAAK,CAACc,MAAM,IAAId,KAAK,CAACc,MAAM,CAACP,OAAO,CAACC,OAAO,CAA4B;QACxE;MACF,KAAKb,WAAW,CAACoB,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIT,OAAO,CAACC,OAAO,CAAiBP,MAAM;UAC7DC,SAAS,CAACc,aAAa,CAAC;UACxB,IAAIb,gBAAgB,KAAKX,gBAAgB,CAACa,OAAO,IAAIW,aAAa,KAAK,CAAC,EAAE;YACxEZ,mBAAmB,CAACZ,gBAAgB,CAACyB,OAAO,CAAC;UAC/C;UACA;QACF;IAAC;EAEL,CAAC;EAED,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;IACrC,oBACE9B,KAAA,CAAA+B,aAAA,CAAC7B,YAAY;MACXmB,IAAI,EAAElB,gBAAgB,CAAC6B,WAAY;MACnCjB,gBAAgB,EAAEA,gBAAiB;MACnCkB,MAAM,EAAE5B,oBAAoB,CAACO,KAAK,CAAE;MACpCsB,MAAM,EAAE5B,oBAAoB,EAAG;MAC/B6B,SAAS,EAAGhB,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEiB,YAAY,EAAE,KAAM;MACpBC,KAAK,EAAEzB,KAAK,CAACyB;IAAM,EACnB;EAEN,CAAC;EAED,IAAItB,gBAAgB,KAAKX,gBAAgB,CAACa,OAAO,EAAE;IACjD,OAAOa,wBAAwB,EAAE;EACnC;EAEA,oBACE9B,KAAA,CAAA+B,aAAA,CAACvB,IAAI;IAAC8B,KAAK,EAAE;MAAEzB,MAAM,EAAEA;IAAO;EAAE,GAC7BiB,wBAAwB,EAAE,CACtB;AAEX,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { LISTENERS } from './../../scripts/html/bodyScript';
2
- import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
2
+ import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
3
3
  export const getBookPaymentParams = props => {
4
4
  return `
5
5
  account-id="${props.accountId}"
@@ -12,10 +12,10 @@ export const getBookPaymentParams = props => {
12
12
  };
13
13
  export const getBookPaymentScript = () => {
14
14
  return `
15
- window.addEventListener("${BookPaymentMessage.PAYMENT_CREATED}", (e) => {
15
+ window.addEventListener("${PaymentMessage.PAYMENT_CREATED}", (e) => {
16
16
  const response = e.detail
17
17
  response.then((data) => {
18
- postMessageToSDK({ type: "${BookPaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
18
+ postMessageToSDK({ type: "${PaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
19
19
  }).catch((e) => {
20
20
  console.log(e)
21
21
  })
@@ -1 +1 @@
1
- {"version":3,"names":["LISTENERS","BookPaymentMessage","getBookPaymentParams","props","accountId","customerToken","isSameCustomer","counterPartyAccountId","counterPartyName","getBookPaymentScript","PAYMENT_CREATED","requestRefresh"],"sources":["UNBookPaymentComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';\n\nimport { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';\n\nexport const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-same-customer=\"${props.isSameCustomer}\"\n counterparty-account-id=\"${props.counterPartyAccountId}\"\n counterparty-name=\"${props.counterPartyName}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getBookPaymentScript = () => {\n return `\n window.addEventListener(\"${BookPaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${BookPaymentMessage.PAYMENT_CREATED}\", details: { data: JSON.stringify(data.data) }})\n }).catch((e) => {\n console.log(e)\n })\n });\n\n ${LISTENERS.requestRefresh}\n `;\n};\n"],"mappings":"AAAA,SAASA,SAAT,QAA0B,iCAA1B;AAGA,SAASC,kBAAT,QAAmC,+CAAnC;AAEA,OAAO,MAAMC,oBAAoB,GAAIC,KAAD,IAAwC;EAC1E,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,wBAAwBF,KAAK,CAACG,cAAe;AAC7C,+BAA+BH,KAAK,CAACI,qBAAsB;AAC3D,yBAAyBJ,KAAK,CAACK,gBAAiB;AAChD;AACA,GAPE;AAQD,CATM;AAWP,OAAO,MAAMC,oBAAoB,GAAG,MAAM;EACxC,OAAQ;AACV,+BAA+BR,kBAAkB,CAACS,eAAgB;AAClE;AACA;AACA,sCAAsCT,kBAAkB,CAACS,eAAgB;AACzE;AACA;AACA;AACA;AACA;AACA,MAAMV,SAAS,CAACW,cAAe;AAC/B,GAXE;AAYD,CAbM"}
1
+ {"version":3,"names":["LISTENERS","PaymentMessage","getBookPaymentParams","props","accountId","customerToken","isSameCustomer","counterPartyAccountId","counterPartyName","getBookPaymentScript","PAYMENT_CREATED","requestRefresh"],"sources":["UNBookPaymentComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\n\nexport const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-same-customer=\"${props.isSameCustomer}\"\n counterparty-account-id=\"${props.counterPartyAccountId}\"\n counterparty-name=\"${props.counterPartyName}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getBookPaymentScript = () => {\n return `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: JSON.stringify(data.data) }})\n }).catch((e) => {\n console.log(e)\n })\n });\n\n ${LISTENERS.requestRefresh}\n `;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAG3D,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,OAAO,MAAMC,oBAAoB,GAAIC,KAAkC,IAAK;EAC1E,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,wBAAwBF,KAAK,CAACG,cAAe;AAC7C,+BAA+BH,KAAK,CAACI,qBAAsB;AAC3D,yBAAyBJ,KAAK,CAACK,gBAAiB;AAChD;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAQ;AACV,+BAA+BR,cAAc,CAACS,eAAgB;AAC9D;AACA;AACA,sCAAsCT,cAAc,CAACS,eAAgB;AACrE;AACA;AACA;AACA;AACA;AACA,MAAMV,SAAS,CAACW,cAAe;AAC/B,GAAG;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["BOTTOM_SHEET_MAX_PERCENTAGE_SIZE"],"sources":["UNBottomSheetComponent.constants.ts"],"sourcesContent":["export const BOTTOM_SHEET_MAX_PERCENTAGE_SIZE = 0.9;\n"],"mappings":"AAAA,OAAO,MAAMA,gCAAgC,GAAG,GAAzC"}
1
+ {"version":3,"names":["BOTTOM_SHEET_MAX_PERCENTAGE_SIZE"],"sources":["UNBottomSheetComponent.constants.ts"],"sourcesContent":["export const BOTTOM_SHEET_MAX_PERCENTAGE_SIZE = 0.9;\n"],"mappings":"AAAA,OAAO,MAAMA,gCAAgC,GAAG,GAAG"}