react-native-unit-components 1.8.1 → 1.9.1

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 (244) hide show
  1. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +4 -2
  2. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  3. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +1 -0
  4. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  5. package/lib/commonjs/components/UNACHCreditComponent/index.js +21 -0
  6. package/lib/commonjs/components/UNACHCreditComponent/index.js.map +1 -0
  7. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +4 -2
  8. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  9. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -0
  10. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  11. package/lib/commonjs/components/UNACHDebitComponent/index.js +21 -0
  12. package/lib/commonjs/components/UNACHDebitComponent/index.js.map +1 -0
  13. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +10 -8
  14. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  15. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +1 -1
  16. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  17. package/lib/commonjs/components/UNAccountComponent/index.js +27 -0
  18. package/lib/commonjs/components/UNAccountComponent/index.js.map +1 -0
  19. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +4 -2
  20. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  21. package/lib/commonjs/components/UNActivityComponent/index.js +21 -0
  22. package/lib/commonjs/components/UNActivityComponent/index.js.map +1 -0
  23. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +4 -2
  24. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  25. package/lib/commonjs/components/UNBookPaymentComponent/index.js +21 -0
  26. package/lib/commonjs/components/UNBookPaymentComponent/index.js.map +1 -0
  27. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +7 -5
  28. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  29. package/lib/commonjs/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.js → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js} +10 -10
  30. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js.map +1 -0
  31. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.js +17 -0
  32. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.js.map +1 -0
  33. package/lib/commonjs/components/UNBottomSheetComponent/components/index.js +17 -0
  34. package/lib/commonjs/components/UNBottomSheetComponent/components/index.js.map +1 -0
  35. package/lib/commonjs/components/UNBottomSheetComponent/index.js +14 -0
  36. package/lib/commonjs/components/UNBottomSheetComponent/index.js.map +1 -0
  37. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +23 -2
  38. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  39. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +9 -1
  40. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  41. package/lib/commonjs/components/UNCardComponent/index.js +27 -0
  42. package/lib/commonjs/components/UNCardComponent/index.js.map +1 -0
  43. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +4 -2
  44. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  45. package/lib/commonjs/components/UNCheckDepositComponent/index.js +21 -0
  46. package/lib/commonjs/components/UNCheckDepositComponent/index.js.map +1 -0
  47. package/lib/commonjs/components/index.js +8 -8
  48. package/lib/commonjs/components/index.js.map +1 -1
  49. package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js +18 -2
  50. package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
  51. package/lib/commonjs/helpers/pushProvisioningService/hooks/useLaunchInitialize.js +33 -0
  52. package/lib/commonjs/helpers/pushProvisioningService/hooks/useLaunchInitialize.js.map +1 -0
  53. package/lib/commonjs/helpers/store/helpers.js +29 -0
  54. package/lib/commonjs/helpers/store/helpers.js.map +1 -0
  55. package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js +3 -3
  56. package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js.map +1 -1
  57. package/lib/commonjs/scripts/html/bodyScript.js +13 -1
  58. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  59. package/lib/commonjs/slices/pushProvisioningSlice.js +28 -0
  60. package/lib/commonjs/slices/pushProvisioningSlice.js.map +1 -0
  61. package/lib/commonjs/store/index.js +17 -0
  62. package/lib/commonjs/store/index.js.map +1 -0
  63. package/lib/commonjs/store/store.js +16 -0
  64. package/lib/commonjs/store/store.js.map +1 -0
  65. package/lib/commonjs/types/shared/index.js +11 -0
  66. package/lib/commonjs/types/shared/index.js.map +1 -1
  67. package/lib/commonjs/types/shared/versioning.types.js +14 -0
  68. package/lib/commonjs/types/shared/versioning.types.js.map +1 -0
  69. package/lib/commonjs/unitSdkManager/UnitSdk.api.js +3 -1
  70. package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
  71. package/lib/commonjs/unitSdkManager/UnitSdk.constants.js +17 -0
  72. package/lib/commonjs/unitSdkManager/UnitSdk.constants.js.map +1 -0
  73. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +18 -9
  74. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  75. package/lib/commonjs/unitSdkManager/UnitSdkManager.utils.internal.js +19 -0
  76. package/lib/commonjs/unitSdkManager/UnitSdkManager.utils.internal.js.map +1 -0
  77. package/lib/commonjs/utils/webVersioningStrategy.utils.js +58 -0
  78. package/lib/commonjs/utils/webVersioningStrategy.utils.js.map +1 -0
  79. package/lib/commonjs/webComponent/html.js +4 -0
  80. package/lib/commonjs/webComponent/html.js.map +1 -1
  81. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +3 -1
  82. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  83. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +1 -0
  84. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  85. package/lib/module/components/UNACHCreditComponent/index.js +2 -0
  86. package/lib/module/components/UNACHCreditComponent/index.js.map +1 -0
  87. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +3 -1
  88. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  89. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -0
  90. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  91. package/lib/module/components/UNACHDebitComponent/index.js +2 -0
  92. package/lib/module/components/UNACHDebitComponent/index.js.map +1 -0
  93. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +8 -6
  94. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  95. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +2 -2
  96. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  97. package/lib/module/components/UNAccountComponent/index.js +2 -0
  98. package/lib/module/components/UNAccountComponent/index.js.map +1 -0
  99. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +3 -1
  100. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  101. package/lib/module/components/UNActivityComponent/index.js +2 -0
  102. package/lib/module/components/UNActivityComponent/index.js.map +1 -0
  103. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +3 -1
  104. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  105. package/lib/module/components/UNBookPaymentComponent/index.js +2 -0
  106. package/lib/module/components/UNBookPaymentComponent/index.js.map +1 -0
  107. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +7 -5
  108. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  109. package/lib/module/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.js → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js} +10 -10
  110. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js.map +1 -0
  111. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.js +2 -0
  112. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.js.map +1 -0
  113. package/lib/module/components/UNBottomSheetComponent/components/index.js +2 -0
  114. package/lib/module/components/UNBottomSheetComponent/components/index.js.map +1 -0
  115. package/lib/module/components/UNBottomSheetComponent/index.js +2 -0
  116. package/lib/module/components/UNBottomSheetComponent/index.js.map +1 -0
  117. package/lib/module/components/UNCardComponent/UNCardComponent.js +23 -2
  118. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  119. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +6 -0
  120. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  121. package/lib/module/components/UNCardComponent/index.js +2 -0
  122. package/lib/module/components/UNCardComponent/index.js.map +1 -0
  123. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +3 -1
  124. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  125. package/lib/module/components/UNCheckDepositComponent/index.js +2 -0
  126. package/lib/module/components/UNCheckDepositComponent/index.js.map +1 -0
  127. package/lib/module/components/index.js +8 -8
  128. package/lib/module/components/index.js.map +1 -1
  129. package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js +18 -2
  130. package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
  131. package/lib/module/helpers/pushProvisioningService/hooks/useLaunchInitialize.js +26 -0
  132. package/lib/module/helpers/pushProvisioningService/hooks/useLaunchInitialize.js.map +1 -0
  133. package/lib/module/helpers/store/helpers.js +20 -0
  134. package/lib/module/helpers/store/helpers.js.map +1 -0
  135. package/lib/module/networking/requests/UNWalletPayloadRequest.js +3 -4
  136. package/lib/module/networking/requests/UNWalletPayloadRequest.js.map +1 -1
  137. package/lib/module/scripts/html/bodyScript.js +10 -0
  138. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  139. package/lib/module/slices/pushProvisioningSlice.js +19 -0
  140. package/lib/module/slices/pushProvisioningSlice.js.map +1 -0
  141. package/lib/module/store/index.js +2 -0
  142. package/lib/module/store/index.js.map +1 -0
  143. package/lib/module/store/store.js +8 -0
  144. package/lib/module/store/store.js.map +1 -0
  145. package/lib/module/types/shared/index.js +1 -0
  146. package/lib/module/types/shared/index.js.map +1 -1
  147. package/lib/module/types/shared/versioning.types.js +7 -0
  148. package/lib/module/types/shared/versioning.types.js.map +1 -0
  149. package/lib/module/unitSdkManager/UnitSdk.api.js +4 -2
  150. package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
  151. package/lib/module/unitSdkManager/UnitSdk.constants.js +10 -0
  152. package/lib/module/unitSdkManager/UnitSdk.constants.js.map +1 -0
  153. package/lib/module/unitSdkManager/UnitSdkManager.js +17 -7
  154. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  155. package/lib/module/unitSdkManager/UnitSdkManager.utils.internal.js +12 -0
  156. package/lib/module/unitSdkManager/UnitSdkManager.utils.internal.js.map +1 -0
  157. package/lib/module/utils/webVersioningStrategy.utils.js +48 -0
  158. package/lib/module/utils/webVersioningStrategy.utils.js.map +1 -0
  159. package/lib/module/webComponent/html.js +5 -1
  160. package/lib/module/webComponent/html.js.map +1 -1
  161. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +3 -1
  162. package/lib/typescript/components/UNACHCreditComponent/index.d.ts +1 -0
  163. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +3 -1
  164. package/lib/typescript/components/UNACHDebitComponent/index.d.ts +1 -0
  165. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +3 -2
  166. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +2 -2
  167. package/lib/typescript/components/UNAccountComponent/index.d.ts +1 -0
  168. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -1
  169. package/lib/typescript/components/UNActivityComponent/index.d.ts +1 -0
  170. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -1
  171. package/lib/typescript/components/UNBookPaymentComponent/index.d.ts +1 -0
  172. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +2 -1
  173. package/lib/typescript/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.d.ts → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.d.ts} +2 -2
  174. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.d.ts +1 -0
  175. package/lib/typescript/components/UNBottomSheetComponent/components/index.d.ts +1 -0
  176. package/lib/typescript/components/UNBottomSheetComponent/index.d.ts +1 -0
  177. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
  178. package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +2 -0
  179. package/lib/typescript/components/UNCardComponent/index.d.ts +1 -0
  180. package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +2 -1
  181. package/lib/typescript/components/UNCheckDepositComponent/index.d.ts +1 -0
  182. package/lib/typescript/components/index.d.ts +8 -8
  183. package/lib/typescript/helpers/pushProvisioningService/hooks/useLaunchInitialize.d.ts +3 -0
  184. package/lib/typescript/helpers/store/helpers.d.ts +3 -0
  185. package/lib/typescript/networking/requests/UNWalletPayloadRequest.d.ts +2 -2
  186. package/lib/typescript/scripts/html/bodyScript.d.ts +2 -0
  187. package/lib/typescript/slices/pushProvisioningSlice.d.ts +8 -0
  188. package/lib/typescript/store/index.d.ts +1 -0
  189. package/lib/typescript/store/store.d.ts +6 -0
  190. package/lib/typescript/types/shared/index.d.ts +1 -0
  191. package/lib/typescript/types/shared/versioning.types.d.ts +22 -0
  192. package/lib/typescript/unitSdkManager/UnitSdk.constants.d.ts +8 -0
  193. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +11 -6
  194. package/lib/typescript/unitSdkManager/UnitSdkManager.utils.internal.d.ts +3 -0
  195. package/lib/typescript/utils/webVersioningStrategy.utils.d.ts +5 -0
  196. package/package.json +7 -5
  197. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +5 -1
  198. package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +1 -0
  199. package/src/components/UNACHCreditComponent/index.ts +1 -0
  200. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +5 -1
  201. package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -0
  202. package/src/components/UNACHDebitComponent/index.ts +1 -0
  203. package/src/components/UNAccountComponent/UNAccountComponent.tsx +5 -2
  204. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +2 -2
  205. package/src/components/UNAccountComponent/index.ts +1 -0
  206. package/src/components/UNActivityComponent/UNActivityComponent.tsx +4 -1
  207. package/src/components/UNActivityComponent/index.ts +1 -0
  208. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +4 -1
  209. package/src/components/UNBookPaymentComponent/index.ts +1 -0
  210. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +23 -22
  211. package/src/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.tsx → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.tsx} +12 -12
  212. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.ts +1 -0
  213. package/src/components/UNBottomSheetComponent/components/index.ts +1 -0
  214. package/src/components/UNBottomSheetComponent/index.ts +1 -0
  215. package/src/components/UNCardComponent/UNCardComponent.tsx +44 -8
  216. package/src/components/UNCardComponent/UNCardComponent.utils.ts +7 -0
  217. package/src/components/UNCardComponent/index.ts +1 -0
  218. package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +4 -1
  219. package/src/components/UNCheckDepositComponent/index.ts +1 -0
  220. package/src/components/index.ts +8 -8
  221. package/src/helpers/pushProvisioningService/hooks/useCardWallet.ts +13 -3
  222. package/src/helpers/pushProvisioningService/hooks/useLaunchInitialize.ts +29 -0
  223. package/src/helpers/store/helpers.tsx +22 -0
  224. package/src/networking/requests/UNWalletPayloadRequest.ts +5 -3
  225. package/src/scripts/html/bodyScript.ts +13 -1
  226. package/src/slices/pushProvisioningSlice.ts +24 -0
  227. package/src/store/index.ts +1 -0
  228. package/src/store/store.ts +10 -0
  229. package/src/types/shared/index.ts +1 -0
  230. package/src/types/shared/versioning.types.ts +28 -0
  231. package/src/unitSdkManager/UnitSdk.api.ts +5 -2
  232. package/src/unitSdkManager/UnitSdk.constants.ts +11 -0
  233. package/src/unitSdkManager/UnitSdkManager.ts +19 -10
  234. package/src/unitSdkManager/UnitSdkManager.utils.internal.ts +13 -0
  235. package/src/utils/webVersioningStrategy.utils.ts +52 -0
  236. package/src/webComponent/html.ts +16 -2
  237. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +0 -1
  238. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +0 -1
  239. /package/lib/commonjs/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.js → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.js} +0 -0
  240. /package/lib/commonjs/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.js.map → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.js.map} +0 -0
  241. /package/lib/module/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.js → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.js} +0 -0
  242. /package/lib/module/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.js.map → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.js.map} +0 -0
  243. /package/lib/typescript/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.d.ts → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.d.ts} +0 -0
  244. /package/src/components/UNBottomSheetComponent/components/{UNAddToWalletBottomSheetItem.styles.ts → UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.ts} +0 -0
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { Provider } from 'react-redux';
3
+ import { store } from '../../store';
4
+
5
+ export const withReduxStore = <Props, >(Component: React.ComponentType<any>) => {
6
+ const Wrapper = (props: Props) => {
7
+ return (
8
+ <Provider store={store} >
9
+ <Component {...props} />
10
+ </Provider>
11
+ );
12
+ };
13
+ return Wrapper;
14
+ };
15
+
16
+ export const withReduxStoreAndRefForwarding = <Props, Ref>(Component: React.ComponentType<any>) => React.forwardRef<Ref, Props>((props, ref) => {
17
+ return (
18
+ <Provider store={store}>
19
+ <Component ref={ref} {...props} />
20
+ </Provider>
21
+ );
22
+ });
@@ -1,10 +1,12 @@
1
1
  import axios from 'axios';
2
2
  import { APIHeaders, UNIT_SECURE_URL } from '../common/UNNetworkConstants';
3
- import { UnitSDK, UNEnvironment } from '../../unitSdkManager/UnitSdkManager';
3
+ import type { UNEnvironment } from '../../unitSdkManager/UnitSdkManager';
4
4
 
5
5
  // TODO: use apiClient class for handling requests.
6
6
 
7
- export const getMobileWalletPayload = async (customerToken: string, cardId: string, env: UNEnvironment) => {
7
+ export const getMobileWalletPayload = async (customerToken: string, cardId: string, env: UNEnvironment, signedNonce: string) => {
8
+ if (!signedNonce) return;
9
+
8
10
  const headers = {
9
11
  'Content-Type': APIHeaders.CONTENT_TYPE,
10
12
  'Authorization': `Bearer ${customerToken}`,
@@ -13,7 +15,7 @@ export const getMobileWalletPayload = async (customerToken: string, cardId: stri
13
15
  const data = {
14
16
  data: {
15
17
  attributes: {
16
- signedNonce: UnitSDK.getSignedNonce(),
18
+ signedNonce: signedNonce,
17
19
  },
18
20
  },
19
21
  };
@@ -119,7 +119,7 @@ export const LISTENERS = {
119
119
  window.addEventListener("${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}", (e) => {
120
120
  postMessageToSDK({ type: "${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}", details: e.detail })
121
121
  });
122
- `
122
+ `,
123
123
  };
124
124
 
125
125
  export const DISPATCH_RENDERING_EVENT = `
@@ -162,6 +162,18 @@ export const DISPATCH_REQUEST_CARD_ACTION = `
162
162
  }
163
163
  `;
164
164
 
165
+ export const DISPATCH_REQUEST_HIDE_SENSITIVE_DATA = `
166
+ const dispatchRequestHideSensitiveData = (componentName) => {
167
+ document.querySelector(componentName).dispatchEvent(new CustomEvent("unitRequestHideSensitiveData"))
168
+ }
169
+ `;
170
+
171
+ export const DISPATCH_REQUEST_SHOW_SENSITIVE_DATA = `
172
+ const dispatchRequestShowSensitiveData = (componentName) => {
173
+ document.querySelector(componentName).dispatchEvent(new CustomEvent("unitRequestShowSensitiveData"))
174
+ }
175
+ `;
176
+
165
177
  export const DISPATCH_REQUEST_ACCOUNT_ACTION = `
166
178
  const dispatchRequestAccountAction = (action) => {
167
179
  document.querySelector("unit-elements-account").dispatchEvent(new CustomEvent("unitRequestAccountAction", {detail: {action: action}}))
@@ -0,0 +1,24 @@
1
+ import { createSlice, PayloadAction } from '@reduxjs/toolkit';
2
+ import type { RootState } from '../store';
3
+
4
+ export interface PushProvisioningState {
5
+ signedNonce: string | null
6
+ }
7
+
8
+ const initialState: PushProvisioningState = {
9
+ signedNonce: null
10
+ };
11
+
12
+ const pushProvisioningSlice = createSlice({
13
+ name: 'wallet',
14
+ initialState: initialState,
15
+ reducers: {
16
+ setSignedNonce(state, action: PayloadAction<string | null>) {
17
+ state.signedNonce = action.payload;
18
+ }
19
+ }
20
+ });
21
+
22
+ export const { setSignedNonce } = pushProvisioningSlice.actions;
23
+ export const selectWallet = (state: RootState) => state.wallet;
24
+ export default pushProvisioningSlice.reducer;
@@ -0,0 +1 @@
1
+ export * from './store';
@@ -0,0 +1,10 @@
1
+ import { configureStore } from '@reduxjs/toolkit';
2
+ import wallet from '../slices/pushProvisioningSlice';
3
+
4
+ export const store = configureStore({
5
+ reducer: {
6
+ wallet
7
+ }
8
+ });
9
+
10
+ export type RootState = ReturnType<typeof store.getState>;
@@ -7,3 +7,4 @@ export * from './account.types';
7
7
  export * from './checkDeposit.types';
8
8
  export * from './activity.types';
9
9
  export * from './fonts.types';
10
+ export * from './versioning.types';
@@ -0,0 +1,28 @@
1
+ export enum UNVersioningStrategyType {
2
+ exact = 'exact',
3
+ upToNextMinor = 'upToNextMinor',
4
+ upToNextMajor = 'upToNextMajor'
5
+ }
6
+
7
+ type UNExactWebVersioningStrategy = {
8
+ type: UNVersioningStrategyType.exact;
9
+ major: number;
10
+ minor: number;
11
+ patch: number;
12
+ }
13
+
14
+ type UNUpToNextMinorWebVersioningStrategy = {
15
+ type: UNVersioningStrategyType.upToNextMinor;
16
+ major: number;
17
+ minor: number;
18
+ }
19
+
20
+ type UNUpToNextMajorWebVersioningStrategy = {
21
+ type: UNVersioningStrategyType.upToNextMajor;
22
+ major: number;
23
+ }
24
+
25
+ export type UNWebVersioningStrategy =
26
+ UNExactWebVersioningStrategy
27
+ | UNUpToNextMinorWebVersioningStrategy
28
+ | UNUpToNextMajorWebVersioningStrategy;
@@ -1,6 +1,8 @@
1
1
  import EventBus from '../helpers/EventBus';
2
2
  import { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';
3
- import { UnitSDK, UNIT_SCRIPT_URL } from './UnitSdkManager';
3
+ import { UnitSDK } from './UnitSdkManager';
4
+
5
+ import { getUnitScriptUrl } from './UnitSdkManager.utils.internal';
4
6
 
5
7
  let isLoadingScript = false;
6
8
 
@@ -9,13 +11,14 @@ export let globalUnitScript = '';
9
11
 
10
12
  export const fetchUnitScript = async () => {
11
13
  const env = UnitSDK.getEnv();
14
+ const webVersioningStrategy = UnitSDK.getWebVersioningStrategy();
12
15
  if (isLoadingScript || globalUnitScript || !env) {
13
16
  // init function is called and success OR in progress
14
17
  return null;
15
18
  }
16
19
  isLoadingScript = true;
17
20
  try {
18
- const unitScriptRes = await fetch(UNIT_SCRIPT_URL[env]);
21
+ const unitScriptRes = await fetch(getUnitScriptUrl(env, webVersioningStrategy));
19
22
  const unitScript = await unitScriptRes.text();
20
23
  if (unitScript) {
21
24
  const scriptFetchData: SdkScriptFetched = { unitScript };
@@ -0,0 +1,11 @@
1
+ import { UNVersioningStrategyType, UNWebVersioningStrategy } from '../types/shared';
2
+
3
+ const WEB_SDK_RECOMMENDED_STRATEGY: UNWebVersioningStrategy = {
4
+ type: UNVersioningStrategyType.upToNextMinor,
5
+ major: 1,
6
+ minor: 2,
7
+ };
8
+
9
+ export const UNSDKConstants = {
10
+ webSDKRecommendedStrategy: WEB_SDK_RECOMMENDED_STRATEGY,
11
+ };
@@ -4,38 +4,36 @@ import { SDKMessage } from '../messages/nativeMessages/sdkMessage';
4
4
  import { fetchUnitScript } from './UnitSdk.api';
5
5
  import { UnitUiManager } from './unitUiManager/unitUiManager';
6
6
  import type { UNFonts } from '../types/shared/fonts.types';
7
+ import { warnClientIfNeeded } from '../utils/webVersioningStrategy.utils';
8
+ import { UNSDKConstants } from './UnitSdk.constants';
9
+ import type { UNWebVersioningStrategy } from '../types/shared';
7
10
 
8
11
  export enum UNEnvironment {
9
12
  sandbox = 'sandbox',
10
13
  production = 'production'
11
14
  }
12
15
 
13
- const UNIT_WEB_VERSION = '1';
14
-
15
- export const UNIT_SCRIPT_URL = {
16
- [UNEnvironment.sandbox]: `https://ui.s.unit.sh/release/${UNIT_WEB_VERSION}/components.js`,
17
- [UNEnvironment.production]: `https://ui.unit.co/release/${UNIT_WEB_VERSION}/components.js`
18
- };
19
16
  export class UnitSDK {
17
+ public static ui: UnitUiManager;
20
18
  protected static env?: UNEnvironment;
19
+ protected static webVersioningStrategy: UNWebVersioningStrategy;
21
20
  protected static customerToken?: string;
22
21
  protected static theme?: string;
23
22
  protected static language?: string;
24
23
  protected static fonts?: UNFonts;
25
-
26
24
  protected static signedNonce?: string;
27
25
  protected static pushProvisionModule?: typeof NativeModules;
28
26
 
29
- public static ui: UnitUiManager;
30
-
31
- public static init = async (env: UNEnvironment, theme?: string, language?: string, fonts?: UNFonts) => {
27
+ public static init = async (env: UNEnvironment, theme?: string, language?: string, fonts?: UNFonts, webVersioningStrategy: UNWebVersioningStrategy = UNSDKConstants.webSDKRecommendedStrategy) => {
32
28
  try {
33
29
  this.env = env;
30
+ this.webVersioningStrategy = webVersioningStrategy;
34
31
  this.theme = theme;
35
32
  this.language = language;
36
33
  this.fonts = fonts;
37
34
 
38
35
  this.ui = new UnitUiManager();
36
+ warnClientIfNeeded(this.webVersioningStrategy);
39
37
  await fetchUnitScript();
40
38
  EventBus.Instance.event(SDKMessage.IS_SDK_INITIALIZED, {});
41
39
  } catch (e) {
@@ -51,6 +49,9 @@ export class UnitSDK {
51
49
  return this.pushProvisionModule;
52
50
  };
53
51
 
52
+ /**
53
+ * @deprecated - Unit SDK is managing the signedNonce, no need to provide it
54
+ */
54
55
  public static setSignedNonce = (signedNonce: string) => {
55
56
  this.signedNonce = signedNonce;
56
57
  };
@@ -59,6 +60,10 @@ export class UnitSDK {
59
60
  return this.env;
60
61
  };
61
62
 
63
+ public static getWebVersioningStrategy = () => {
64
+ return this.webVersioningStrategy;
65
+ };
66
+
62
67
  public static getTheme = () => {
63
68
  return this.theme;
64
69
  };
@@ -71,6 +76,9 @@ export class UnitSDK {
71
76
  return this.fonts;
72
77
  };
73
78
 
79
+ /**
80
+ * @deprecated - Unit SDK is managing the signedNonce, no need to provide it
81
+ */
74
82
  public static getSignedNonce = () => {
75
83
  return this.signedNonce;
76
84
  };
@@ -82,4 +90,5 @@ export class UnitSDK {
82
90
  public static getCustomerToken = () => {
83
91
  return this.customerToken;
84
92
  };
93
+
85
94
  }
@@ -0,0 +1,13 @@
1
+ import type { UNWebVersioningStrategy } from '../types/shared';
2
+ import { getWebSdkVersionString } from '../utils/webVersioningStrategy.utils';
3
+ import { UNEnvironment } from './UnitSdkManager';
4
+
5
+ export const getUnitScriptUrl = (env: UNEnvironment, webVersioningStrategy: UNWebVersioningStrategy) => {
6
+ const webSdkVersionString = getWebSdkVersionString(webVersioningStrategy);
7
+ switch (env) {
8
+ case UNEnvironment.sandbox:
9
+ return `https://ui.s.unit.sh/release/${webSdkVersionString}/components.js`;
10
+ case UNEnvironment.production:
11
+ return `https://ui.unit.co/release/${webSdkVersionString}/components.js`;
12
+ }
13
+ };
@@ -0,0 +1,52 @@
1
+ import { UNVersioningStrategyType, UNWebVersioningStrategy } from '../types/shared';
2
+ import { UNSDKConstants } from '../unitSdkManager/UnitSdk.constants';
3
+
4
+ export const getWebSdkVersionString = (webVersioningStrategy: UNWebVersioningStrategy) => {
5
+ switch (webVersioningStrategy.type) {
6
+ case UNVersioningStrategyType.exact:
7
+ return `${webVersioningStrategy.major}.${webVersioningStrategy.minor}.${webVersioningStrategy.patch}`;
8
+ case UNVersioningStrategyType.upToNextMinor:
9
+ return `${webVersioningStrategy.major}.${webVersioningStrategy.minor}`;
10
+ case UNVersioningStrategyType.upToNextMajor:
11
+ return `${webVersioningStrategy.major}`;
12
+ }
13
+ };
14
+
15
+ export const getVersionArray = (webVersioningStrategy: UNWebVersioningStrategy) => {
16
+ switch (webVersioningStrategy.type) {
17
+ case UNVersioningStrategyType.exact:
18
+ return [webVersioningStrategy.major, webVersioningStrategy.minor, webVersioningStrategy.patch];
19
+ case UNVersioningStrategyType.upToNextMinor:
20
+ return [webVersioningStrategy.major, webVersioningStrategy.minor, null];
21
+ case UNVersioningStrategyType.upToNextMajor:
22
+ return [webVersioningStrategy.major, null, null];
23
+ }
24
+ };
25
+
26
+ export const isBehindRecommendedStrategy = (currentWebVersioningStrategy: UNWebVersioningStrategy) => {
27
+ const recommendedWebVersionArray = getVersionArray(UNSDKConstants.webSDKRecommendedStrategy);
28
+ const currentWebVersionArray = getVersionArray(currentWebVersioningStrategy);
29
+
30
+ for (let i = 0; i < 3; i++) {
31
+ let currentVersion = currentWebVersionArray[i];
32
+ let recommendedVersion = recommendedWebVersionArray[i];
33
+ if (currentVersion === null || recommendedVersion === null) {
34
+ return false;
35
+ }
36
+ currentVersion = currentVersion as number;
37
+ recommendedVersion = recommendedVersion as number;
38
+ if (currentVersion !== recommendedVersion) {
39
+ return currentVersion < recommendedVersion;
40
+ }
41
+ }
42
+ return false;
43
+ };
44
+
45
+ export const warnClientIfNeeded = (currentWebVersioningStrategy: UNWebVersioningStrategy) => {
46
+ if (currentWebVersioningStrategy.major > UNSDKConstants.webSDKRecommendedStrategy.major) {
47
+ console.log(`The current web sdk version is ${getWebSdkVersionString(currentWebVersioningStrategy)} which is higher than the latest supported version ${getWebSdkVersionString(UNSDKConstants.webSDKRecommendedStrategy)}. Please update the latest version of the web sdk.`);
48
+ }
49
+ if (isBehindRecommendedStrategy(currentWebVersioningStrategy)) {
50
+ console.log(`The current web sdk version is ${getWebSdkVersionString(currentWebVersioningStrategy)} which is older than the latest supported version ${getWebSdkVersionString(UNSDKConstants.webSDKRecommendedStrategy)}. Please consider updating to the latest version of the web sdk.`);
51
+ }
52
+ };
@@ -1,12 +1,22 @@
1
1
  import { Platform } from 'react-native';
2
- import { DISPATCH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT, DISPATCH_REQUEST_CARD_ACTION, DISPATCH_OPEN_ACTIONS_MENU, DISPATCH_REQUEST_ACCOUNT_ACTION, DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT } from '../scripts/html/bodyScript';
2
+ import {
3
+ DISPATCH_RENDERING_EVENT,
4
+ LISTENERS,
5
+ POST_MESSAGE_TO_SDK,
6
+ POST_PAGE_HEIGHT,
7
+ DISPATCH_REQUEST_CARD_ACTION,
8
+ DISPATCH_OPEN_ACTIONS_MENU,
9
+ DISPATCH_REQUEST_ACCOUNT_ACTION,
10
+ DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT,
11
+ DISPATCH_REQUEST_SHOW_SENSITIVE_DATA, DISPATCH_REQUEST_HIDE_SENSITIVE_DATA,
12
+ } from '../scripts/html/bodyScript';
3
13
 
4
14
  export const HTML_PLACEHOLDER = {
5
15
  SCRIPT_UNIT: '<SCRIPT_UNIT>',
6
16
  BODY: '<BODY_HTML_CODE>',
7
17
  SCRIPT_FROM_NATIVE: '<SCRIPT_FROM_NATIVE>',
8
18
  WINDOW_PARAMS: '<WINDOW_PARAMS>',
9
- FONT_FACES: '<FONT_FACES>'
19
+ FONT_FACES: '<FONT_FACES>',
10
20
  };
11
21
 
12
22
  const htmlText = `
@@ -68,6 +78,10 @@ const htmlText = `
68
78
 
69
79
  ${DISPATCH_OPEN_ACTIONS_MENU}
70
80
 
81
+ ${DISPATCH_REQUEST_HIDE_SENSITIVE_DATA}
82
+
83
+ ${DISPATCH_REQUEST_SHOW_SENSITIVE_DATA}
84
+
71
85
  ${DISPATCH_REQUEST_CARD_ACTION}
72
86
 
73
87
  ${DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_UNBottomSheetComponent","_UNAddToWalletBottomSheetItem","_reactNative","_unitMessages","_UnitAddToWalletButton","_interopRequireDefault","_wallet","_bottomSheet","_webComponent","_useCardWallet","_startProvisioning","_EventBus","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAddToWalletBottomSheetItem","props","styles","getStylesObject","webRef","useRef","renderingType","renderingRequest","webComponentData","cardId","currentUNWallet","useCardWallet","useEffect","current","currentWalletStatus","status","UNCardAddToWalletStatus","pending","BottomSheetRenderingType","Slot","isCardInWallet","addedToWallet","injectJavaScript","renderingBottomSheetRequest","handleAddToWalletClicked","launchStartCardProvisioning","handleWebComponentMessage","message","type","UnitMessage","UNIT_ON_LOAD","injectHtmlFullScreenHeight","fullScreenHeight","UNIT_REQUEST_CLOSE_FLOW","EventBus","Instance","event","shouldShowWebComponent","isSlot","gotWalletStatus","readyToProvisioning","createElement","Fragment","WebComponent","ref","WebComponentType","cardAction","slot","presentationMode","PresentationMode","CoverInjectedHeight","params","isScrollable","onMessage","windowParams","undefined","ActivityIndicator","style","loader","addToWalletButton","onAddToWalletClicked","exports"],"sources":["UNAddToWalletBottomSheetItem.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent } from '../../../webComponent/WebComponent';\nimport { injectHtmlFullScreenHeight, renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNAddToWalletBottomSheetItem.styles';\nimport { ActivityIndicator } from 'react-native';\nimport { UnitMessage, type RequestRenderingEvent } from '../../../messages/webMessages/unitMessages';\nimport UnitAddToWalletButtonView from '../../../nativeComponent/UnitAddToWalletButton';\nimport { UNCardAddToWalletStatus } from '../../../types/shared/wallet.types';\nimport { BottomSheetRenderingType, WebComponentData } from '../../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../../types/internal/webComponent.types';\nimport { useCardWallet } from '../../../helpers/pushProvisioningService/hooks/useCardWallet';\nimport { launchStartCardProvisioning } from '../../../helpers/pushProvisioningService/startProvisioning';\nimport type { WebViewMessage } from '../../../messages/webMessages';\nimport EventBus from '../../../helpers/EventBus';\n\nexport interface UNAddToWalletBottomSheetItemProps {\n renderingType: BottomSheetRenderingType\n renderingRequest?: RequestRenderingEvent\n webComponentData?: WebComponentData\n cardId: string,\n fullScreenHeight: number\n}\n\nexport const UNAddToWalletBottomSheetItem = (props: UNAddToWalletBottomSheetItemProps) => {\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const { renderingType, renderingRequest, webComponentData, cardId } = props;\n const { currentUNWallet } = useCardWallet(cardId);\n\n useEffect(() => {\n if (!webRef.current) return;\n const currentWalletStatus = currentUNWallet?.status ?? UNCardAddToWalletStatus.pending;\n if (currentWalletStatus === UNCardAddToWalletStatus.pending) return;\n\n if (renderingType === BottomSheetRenderingType.Slot && renderingRequest) {\n const isCardInWallet = currentWalletStatus === UNCardAddToWalletStatus.addedToWallet;\n webRef.current.injectJavaScript(`window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${isCardInWallet}`);\n renderingBottomSheetRequest(webRef.current, renderingRequest);\n }\n\n }, [webRef.current, renderingRequest, currentUNWallet]);\n\n const handleAddToWalletClicked = () => {\n if (!currentUNWallet) return;\n launchStartCardProvisioning(currentUNWallet);\n };\n\n const handleWebComponentMessage = (message: WebViewMessage) => {\n if (!message || !message.type) return;\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n injectHtmlFullScreenHeight(webRef.current, props.fullScreenHeight);\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});\n break;\n default:\n break;\n }\n };\n\n const shouldShowWebComponent = () => {\n // Show .Slot, since it need to be loaded when we inject the requestRendering\n // Otherwise show web component only if the card is in wallet or ready to be provisioned.\n\n const isSlot = renderingType === BottomSheetRenderingType.Slot;\n\n const gotWalletStatus = currentUNWallet &&\n (currentUNWallet.status === UNCardAddToWalletStatus.readyToProvisioning ||\n currentUNWallet.status === UNCardAddToWalletStatus.addedToWallet);\n\n return isSlot || gotWalletStatus;\n };\n\n return (\n <>\n {\n shouldShowWebComponent() &&\n <WebComponent\n ref={webRef}\n type={renderingType === BottomSheetRenderingType.WebComponent ? WebComponentType.cardAction : WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n params={webComponentData?.params}\n isScrollable={false}\n onMessage={handleWebComponentMessage}\n windowParams={renderingType === BottomSheetRenderingType.WebComponent ? `window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${currentUNWallet?.status === UNCardAddToWalletStatus.addedToWallet}` : ''}\n />\n }\n\n {\n (currentUNWallet == undefined || currentUNWallet?.status === UNCardAddToWalletStatus.pending) &&\n <ActivityIndicator style={styles.loader} />\n }\n\n {\n currentUNWallet?.status === UNCardAddToWalletStatus.readyToProvisioning &&\n <UnitAddToWalletButtonView style={styles.addToWalletButton} onAddToWalletClicked={handleAddToWalletClicked} />\n }\n </>\n );\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","useEffect","useRef","WebComponent","injectHtmlFullScreenHeight","renderingBottomSheetRequest","getStylesObject","ActivityIndicator","UnitMessage","UnitAddToWalletButtonView","UNCardAddToWalletStatus","BottomSheetRenderingType","PresentationMode","WebComponentType","useCardWallet","launchStartCardProvisioning","EventBus","UNAddToWalletBottomSheetItem","props","styles","webRef","renderingType","renderingRequest","webComponentData","cardId","currentUNWallet","current","currentWalletStatus","status","pending","Slot","isCardInWallet","addedToWallet","injectJavaScript","handleAddToWalletClicked","handleWebComponentMessage","message","type","UNIT_ON_LOAD","fullScreenHeight","UNIT_REQUEST_CLOSE_FLOW","Instance","event","shouldShowWebComponent","isSlot","gotWalletStatus","readyToProvisioning","createElement","Fragment","ref","cardAction","slot","presentationMode","CoverInjectedHeight","params","isScrollable","onMessage","windowParams","undefined","style","loader","addToWalletButton","onAddToWalletClicked"],"sources":["UNAddToWalletBottomSheetItem.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent } from '../../../webComponent/WebComponent';\nimport { injectHtmlFullScreenHeight, renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNAddToWalletBottomSheetItem.styles';\nimport { ActivityIndicator } from 'react-native';\nimport { UnitMessage, type RequestRenderingEvent } from '../../../messages/webMessages/unitMessages';\nimport UnitAddToWalletButtonView from '../../../nativeComponent/UnitAddToWalletButton';\nimport { UNCardAddToWalletStatus } from '../../../types/shared/wallet.types';\nimport { BottomSheetRenderingType, WebComponentData } from '../../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../../types/internal/webComponent.types';\nimport { useCardWallet } from '../../../helpers/pushProvisioningService/hooks/useCardWallet';\nimport { launchStartCardProvisioning } from '../../../helpers/pushProvisioningService/startProvisioning';\nimport type { WebViewMessage } from '../../../messages/webMessages';\nimport EventBus from '../../../helpers/EventBus';\n\nexport interface UNAddToWalletBottomSheetItemProps {\n renderingType: BottomSheetRenderingType\n renderingRequest?: RequestRenderingEvent\n webComponentData?: WebComponentData\n cardId: string,\n fullScreenHeight: number\n}\n\nexport const UNAddToWalletBottomSheetItem = (props: UNAddToWalletBottomSheetItemProps) => {\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const { renderingType, renderingRequest, webComponentData, cardId } = props;\n const { currentUNWallet } = useCardWallet(cardId);\n\n useEffect(() => {\n if (!webRef.current) return;\n const currentWalletStatus = currentUNWallet?.status ?? UNCardAddToWalletStatus.pending;\n if (currentWalletStatus === UNCardAddToWalletStatus.pending) return;\n\n if (renderingType === BottomSheetRenderingType.Slot && renderingRequest) {\n const isCardInWallet = currentWalletStatus === UNCardAddToWalletStatus.addedToWallet;\n webRef.current.injectJavaScript(`window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${isCardInWallet}`);\n renderingBottomSheetRequest(webRef.current, renderingRequest);\n }\n\n }, [webRef.current, renderingRequest, currentUNWallet]);\n\n const handleAddToWalletClicked = () => {\n if (!currentUNWallet) return;\n launchStartCardProvisioning(currentUNWallet);\n };\n\n const handleWebComponentMessage = (message: WebViewMessage) => {\n if (!message || !message.type) return;\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n injectHtmlFullScreenHeight(webRef.current, props.fullScreenHeight);\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});\n break;\n default:\n break;\n }\n };\n\n const shouldShowWebComponent = () => {\n // Show .Slot, since it need to be loaded when we inject the requestRendering\n // Otherwise show web component only if the card is in wallet or ready to be provisioned.\n\n const isSlot = renderingType === BottomSheetRenderingType.Slot;\n\n const gotWalletStatus = currentUNWallet &&\n (currentUNWallet.status === UNCardAddToWalletStatus.readyToProvisioning ||\n currentUNWallet.status === UNCardAddToWalletStatus.addedToWallet);\n\n return isSlot || gotWalletStatus;\n };\n\n return (\n <>\n {\n shouldShowWebComponent() &&\n <WebComponent\n ref={webRef}\n type={renderingType === BottomSheetRenderingType.WebComponent ? WebComponentType.cardAction : WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n params={webComponentData?.params}\n isScrollable={false}\n onMessage={handleWebComponentMessage}\n windowParams={renderingType === BottomSheetRenderingType.WebComponent ? `window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${currentUNWallet?.status === UNCardAddToWalletStatus.addedToWallet}` : ''}\n />\n }\n\n {\n (currentUNWallet == undefined || currentUNWallet?.status === UNCardAddToWalletStatus.pending) &&\n <ActivityIndicator style={styles.loader} />\n }\n\n {\n currentUNWallet?.status === UNCardAddToWalletStatus.readyToProvisioning &&\n <UnitAddToWalletButtonView style={styles.addToWalletButton} onAddToWalletClicked={handleAddToWalletClicked} />\n }\n </>\n );\n};\n"],"mappings":"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"}