react-native-unit-components 1.13.0 → 1.14.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 (264) hide show
  1. package/android/src/main/java/com/unitreactnativecomponents/UnitAddToWalletButtonViewManager.kt +1 -0
  2. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +9 -1
  3. package/android/src/main/java/com/unitreactnativecomponents/extensions/ContextExtensions.kt +2 -0
  4. package/android/src/main/java/com/unitreactnativecomponents/secureView/UNSecureViewManager.kt +19 -0
  5. package/android/src/main/java/com/unitreactnativecomponents/security/UNSecurityHelper.kt +37 -0
  6. package/android/src/main/java/com/unitreactnativecomponents/unSnapshotProtectionManager/UNSnapshotProtectionManager.kt +42 -0
  7. package/ios/UNSecurity/UNSecurityHelper.swift +90 -0
  8. package/ios/UNSecurity/UNSecurityHelperExportModule.m +7 -0
  9. package/ios/UNSharedServicesProvider/UNAppStateService.swift +38 -0
  10. package/ios/UNSharedServicesProvider/UNGlobalSnapshotProtectionService.swift +93 -0
  11. package/ios/UNSharedServicesProvider/UNPresentationService.swift +37 -0
  12. package/ios/UNSharedServicesProvider/UNSharedServicesProviderManager.swift +45 -0
  13. package/ios/UNSnapshotProtectionManager/UNSnapshotProtectionManager.swift +20 -0
  14. package/ios/UNSnapshotProtectionManager/UNSnapshotProtectionManagerExportModule.m +5 -0
  15. package/ios/UnitReactNativeComponents.xcodeproj/project.pbxproj +16 -0
  16. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +22 -21
  17. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  18. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +22 -21
  19. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  20. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +4 -3
  21. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  22. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +19 -20
  23. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  24. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +24 -21
  25. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  26. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  27. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +4 -3
  28. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  29. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +18 -19
  30. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  31. package/lib/commonjs/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.js +7 -1
  32. package/lib/commonjs/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.js.map +1 -1
  33. package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js +19 -20
  34. package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js.map +1 -1
  35. package/lib/commonjs/components/UNNextRepaymentComponent/UNNextRepaymentComponent.js +4 -3
  36. package/lib/commonjs/components/UNNextRepaymentComponent/UNNextRepaymentComponent.js.map +1 -1
  37. package/lib/commonjs/components/UNPayeeManagementComponent/UNPayeeManagementComponent.js +7 -2
  38. package/lib/commonjs/components/UNPayeeManagementComponent/UNPayeeManagementComponent.js.map +1 -1
  39. package/lib/commonjs/components/UNProgramDetailsComponent/UNProgramDetailsComponent.js +4 -3
  40. package/lib/commonjs/components/UNProgramDetailsComponent/UNProgramDetailsComponent.js.map +1 -1
  41. package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js +7 -2
  42. package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js.map +1 -1
  43. package/lib/commonjs/components/UNWirePaymentComponent/UNWirePaymentComponent.js +91 -0
  44. package/lib/commonjs/components/UNWirePaymentComponent/UNWirePaymentComponent.js.map +1 -0
  45. package/lib/commonjs/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.js +29 -0
  46. package/lib/commonjs/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.js.map +1 -0
  47. package/lib/commonjs/components/UNWirePaymentComponent/index.js +21 -0
  48. package/lib/commonjs/components/UNWirePaymentComponent/index.js.map +1 -0
  49. package/lib/commonjs/components/index.js +11 -0
  50. package/lib/commonjs/components/index.js.map +1 -1
  51. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +2 -1
  52. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
  53. package/lib/commonjs/hooks/useIsJailbrokeDevice.js +22 -0
  54. package/lib/commonjs/hooks/useIsJailbrokeDevice.js.map +1 -0
  55. package/lib/commonjs/hooks/useSnapshotProtection.js +31 -0
  56. package/lib/commonjs/hooks/useSnapshotProtection.js.map +1 -0
  57. package/lib/commonjs/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.js +6 -1
  58. package/lib/commonjs/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.js.map +1 -1
  59. package/lib/commonjs/nativeComponents/UNBaseView/UNBaseView.js +39 -0
  60. package/lib/commonjs/nativeComponents/UNBaseView/UNBaseView.js.map +1 -0
  61. package/lib/commonjs/nativeComponents/UNBaseView/index.js +14 -0
  62. package/lib/commonjs/nativeComponents/UNBaseView/index.js.map +1 -0
  63. package/lib/commonjs/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.js +26 -0
  64. package/lib/commonjs/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.js.map +1 -0
  65. package/lib/commonjs/nativeModulesHelpers/UNSecurityHelper.js +39 -0
  66. package/lib/commonjs/nativeModulesHelpers/UNSecurityHelper.js.map +1 -0
  67. package/lib/commonjs/networking/common/UNNetworkConstants.js +2 -1
  68. package/lib/commonjs/networking/common/UNNetworkConstants.js.map +1 -1
  69. package/lib/commonjs/types/internal/webComponent.types.js +1 -0
  70. package/lib/commonjs/types/internal/webComponent.types.js.map +1 -1
  71. package/lib/commonjs/types/shared/env.types.js +1 -0
  72. package/lib/commonjs/types/shared/env.types.js.map +1 -1
  73. package/lib/commonjs/types/shared/index.js +11 -0
  74. package/lib/commonjs/types/shared/index.js.map +1 -1
  75. package/lib/commonjs/types/shared/payments.types.js +1 -0
  76. package/lib/commonjs/types/shared/payments.types.js.map +1 -1
  77. package/lib/commonjs/types/shared/securitySettings.js +12 -0
  78. package/lib/commonjs/types/shared/securitySettings.js.map +1 -0
  79. package/lib/commonjs/types/shared/wirePayment.types.js +6 -0
  80. package/lib/commonjs/types/shared/wirePayment.types.js.map +1 -0
  81. package/lib/commonjs/unitSdkManager/UnitSdk.constants.js +6 -1
  82. package/lib/commonjs/unitSdkManager/UnitSdk.constants.js.map +1 -1
  83. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +22 -5
  84. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  85. package/lib/commonjs/unitSdkManager/UnitSdkManager.utils.internal.js +2 -0
  86. package/lib/commonjs/unitSdkManager/UnitSdkManager.utils.internal.js.map +1 -1
  87. package/lib/commonjs/utils/onLoadMessages.utils.js +10 -0
  88. package/lib/commonjs/utils/onLoadMessages.utils.js.map +1 -0
  89. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +23 -22
  90. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  91. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +23 -22
  92. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  93. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +4 -3
  94. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  95. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +20 -21
  96. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  97. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +24 -21
  98. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  99. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  100. package/lib/module/components/UNCardComponent/UNCardComponent.js +4 -3
  101. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  102. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +19 -20
  103. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  104. package/lib/module/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.js +7 -1
  105. package/lib/module/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.js.map +1 -1
  106. package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js +20 -21
  107. package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js.map +1 -1
  108. package/lib/module/components/UNNextRepaymentComponent/UNNextRepaymentComponent.js +4 -3
  109. package/lib/module/components/UNNextRepaymentComponent/UNNextRepaymentComponent.js.map +1 -1
  110. package/lib/module/components/UNPayeeManagementComponent/UNPayeeManagementComponent.js +7 -2
  111. package/lib/module/components/UNPayeeManagementComponent/UNPayeeManagementComponent.js.map +1 -1
  112. package/lib/module/components/UNProgramDetailsComponent/UNProgramDetailsComponent.js +4 -3
  113. package/lib/module/components/UNProgramDetailsComponent/UNProgramDetailsComponent.js.map +1 -1
  114. package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js +7 -2
  115. package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js.map +1 -1
  116. package/lib/module/components/UNWirePaymentComponent/UNWirePaymentComponent.js +83 -0
  117. package/lib/module/components/UNWirePaymentComponent/UNWirePaymentComponent.js.map +1 -0
  118. package/lib/module/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.js +21 -0
  119. package/lib/module/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.js.map +1 -0
  120. package/lib/module/components/UNWirePaymentComponent/index.js +2 -0
  121. package/lib/module/components/UNWirePaymentComponent/index.js.map +1 -0
  122. package/lib/module/components/index.js +1 -0
  123. package/lib/module/components/index.js.map +1 -1
  124. package/lib/module/helpers/BottomSheet/BottomSheet.js +2 -1
  125. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
  126. package/lib/module/hooks/useIsJailbrokeDevice.js +14 -0
  127. package/lib/module/hooks/useIsJailbrokeDevice.js.map +1 -0
  128. package/lib/module/hooks/useSnapshotProtection.js +23 -0
  129. package/lib/module/hooks/useSnapshotProtection.js.map +1 -0
  130. package/lib/module/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.js +6 -1
  131. package/lib/module/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.js.map +1 -1
  132. package/lib/module/nativeComponents/UNBaseView/UNBaseView.js +31 -0
  133. package/lib/module/nativeComponents/UNBaseView/UNBaseView.js.map +1 -0
  134. package/lib/module/nativeComponents/UNBaseView/index.js +2 -0
  135. package/lib/module/nativeComponents/UNBaseView/index.js.map +1 -0
  136. package/lib/module/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.js +20 -0
  137. package/lib/module/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.js.map +1 -0
  138. package/lib/module/nativeModulesHelpers/UNSecurityHelper.js +33 -0
  139. package/lib/module/nativeModulesHelpers/UNSecurityHelper.js.map +1 -0
  140. package/lib/module/networking/common/UNNetworkConstants.js +2 -1
  141. package/lib/module/networking/common/UNNetworkConstants.js.map +1 -1
  142. package/lib/module/types/internal/webComponent.types.js +1 -0
  143. package/lib/module/types/internal/webComponent.types.js.map +1 -1
  144. package/lib/module/types/shared/env.types.js +1 -0
  145. package/lib/module/types/shared/env.types.js.map +1 -1
  146. package/lib/module/types/shared/index.js +1 -0
  147. package/lib/module/types/shared/index.js.map +1 -1
  148. package/lib/module/types/shared/payments.types.js +1 -0
  149. package/lib/module/types/shared/payments.types.js.map +1 -1
  150. package/lib/module/types/shared/securitySettings.js +6 -0
  151. package/lib/module/types/shared/securitySettings.js.map +1 -0
  152. package/lib/module/types/shared/wirePayment.types.js +2 -0
  153. package/lib/module/types/shared/wirePayment.types.js.map +1 -0
  154. package/lib/module/unitSdkManager/UnitSdk.constants.js +6 -1
  155. package/lib/module/unitSdkManager/UnitSdk.constants.js.map +1 -1
  156. package/lib/module/unitSdkManager/UnitSdkManager.js +22 -5
  157. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  158. package/lib/module/unitSdkManager/UnitSdkManager.utils.internal.js +2 -0
  159. package/lib/module/unitSdkManager/UnitSdkManager.utils.internal.js.map +1 -1
  160. package/lib/module/utils/onLoadMessages.utils.js +4 -0
  161. package/lib/module/utils/onLoadMessages.utils.js.map +1 -0
  162. package/lib/typescript/src/components/UNACHCreditComponent/UNACHCreditComponent.d.ts.map +1 -1
  163. package/lib/typescript/src/components/UNACHDebitComponent/UNACHDebitComponent.d.ts.map +1 -1
  164. package/lib/typescript/src/components/UNAccountComponent/UNAccountComponent.d.ts.map +1 -1
  165. package/lib/typescript/src/components/UNActivityComponent/UNActivityComponent.d.ts.map +1 -1
  166. package/lib/typescript/src/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +1 -1
  167. package/lib/typescript/src/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts.map +1 -1
  168. package/lib/typescript/src/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts.map +1 -1
  169. package/lib/typescript/src/components/UNCardComponent/UNCardComponent.d.ts.map +1 -1
  170. package/lib/typescript/src/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts.map +1 -1
  171. package/lib/typescript/src/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.d.ts.map +1 -1
  172. package/lib/typescript/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.d.ts.map +1 -1
  173. package/lib/typescript/src/components/UNNextRepaymentComponent/UNNextRepaymentComponent.d.ts.map +1 -1
  174. package/lib/typescript/src/components/UNPayeeManagementComponent/UNPayeeManagementComponent.d.ts.map +1 -1
  175. package/lib/typescript/src/components/UNProgramDetailsComponent/UNProgramDetailsComponent.d.ts.map +1 -1
  176. package/lib/typescript/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.d.ts.map +1 -1
  177. package/lib/typescript/src/components/UNWirePaymentComponent/UNWirePaymentComponent.d.ts +20 -0
  178. package/lib/typescript/src/components/UNWirePaymentComponent/UNWirePaymentComponent.d.ts.map +1 -0
  179. package/lib/typescript/src/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.d.ts +4 -0
  180. package/lib/typescript/src/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.d.ts.map +1 -0
  181. package/lib/typescript/src/components/UNWirePaymentComponent/index.d.ts +2 -0
  182. package/lib/typescript/src/components/UNWirePaymentComponent/index.d.ts.map +1 -0
  183. package/lib/typescript/src/components/index.d.ts +1 -0
  184. package/lib/typescript/src/components/index.d.ts.map +1 -1
  185. package/lib/typescript/src/helpers/BottomSheet/BottomSheet.d.ts.map +1 -1
  186. package/lib/typescript/src/hooks/useIsJailbrokeDevice.d.ts +2 -0
  187. package/lib/typescript/src/hooks/useIsJailbrokeDevice.d.ts.map +1 -0
  188. package/lib/typescript/src/hooks/useSnapshotProtection.d.ts +2 -0
  189. package/lib/typescript/src/hooks/useSnapshotProtection.d.ts.map +1 -0
  190. package/lib/typescript/src/messages/webMessages/onLoadMessage.d.ts +1 -1
  191. package/lib/typescript/src/messages/webMessages/onLoadMessage.d.ts.map +1 -1
  192. package/lib/typescript/src/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.d.ts.map +1 -1
  193. package/lib/typescript/src/nativeComponents/UNBaseView/UNBaseView.d.ts +11 -0
  194. package/lib/typescript/src/nativeComponents/UNBaseView/UNBaseView.d.ts.map +1 -0
  195. package/lib/typescript/src/nativeComponents/UNBaseView/index.d.ts +2 -0
  196. package/lib/typescript/src/nativeComponents/UNBaseView/index.d.ts.map +1 -0
  197. package/lib/typescript/src/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.d.ts +6 -0
  198. package/lib/typescript/src/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.d.ts.map +1 -0
  199. package/lib/typescript/src/nativeModulesHelpers/UNSecurityHelper.d.ts +12 -0
  200. package/lib/typescript/src/nativeModulesHelpers/UNSecurityHelper.d.ts.map +1 -0
  201. package/lib/typescript/src/networking/common/UNNetworkConstants.d.ts +1 -0
  202. package/lib/typescript/src/networking/common/UNNetworkConstants.d.ts.map +1 -1
  203. package/lib/typescript/src/types/internal/webComponent.types.d.ts +1 -0
  204. package/lib/typescript/src/types/internal/webComponent.types.d.ts.map +1 -1
  205. package/lib/typescript/src/types/shared/achCredit.types.d.ts +1 -1
  206. package/lib/typescript/src/types/shared/achCredit.types.d.ts.map +1 -1
  207. package/lib/typescript/src/types/shared/env.types.d.ts +2 -1
  208. package/lib/typescript/src/types/shared/env.types.d.ts.map +1 -1
  209. package/lib/typescript/src/types/shared/index.d.ts +1 -0
  210. package/lib/typescript/src/types/shared/index.d.ts.map +1 -1
  211. package/lib/typescript/src/types/shared/payments.types.d.ts +2 -1
  212. package/lib/typescript/src/types/shared/payments.types.d.ts.map +1 -1
  213. package/lib/typescript/src/types/shared/securitySettings.d.ts +8 -0
  214. package/lib/typescript/src/types/shared/securitySettings.d.ts.map +1 -0
  215. package/lib/typescript/src/types/shared/wirePayment.types.d.ts +42 -0
  216. package/lib/typescript/src/types/shared/wirePayment.types.d.ts.map +1 -0
  217. package/lib/typescript/src/unitSdkManager/UnitSdk.constants.d.ts +2 -0
  218. package/lib/typescript/src/unitSdkManager/UnitSdk.constants.d.ts.map +1 -1
  219. package/lib/typescript/src/unitSdkManager/UnitSdkManager.d.ts +5 -1
  220. package/lib/typescript/src/unitSdkManager/UnitSdkManager.d.ts.map +1 -1
  221. package/lib/typescript/src/unitSdkManager/UnitSdkManager.utils.internal.d.ts.map +1 -1
  222. package/lib/typescript/src/utils/onLoadMessages.utils.d.ts +2 -0
  223. package/lib/typescript/src/utils/onLoadMessages.utils.d.ts.map +1 -0
  224. package/package.json +1 -1
  225. package/react-native-unit-components.podspec +1 -1
  226. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +11 -16
  227. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +11 -17
  228. package/src/components/UNAccountComponent/UNAccountComponent.tsx +3 -3
  229. package/src/components/UNActivityComponent/UNActivityComponent.tsx +7 -14
  230. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +14 -17
  231. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +0 -1
  232. package/src/components/UNCardComponent/UNCardComponent.tsx +3 -3
  233. package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +7 -14
  234. package/src/components/UNFundAccountPaymentComponent/UNFundAccountPaymentComponent.tsx +16 -12
  235. package/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.tsx +6 -14
  236. package/src/components/UNNextRepaymentComponent/UNNextRepaymentComponent.tsx +3 -3
  237. package/src/components/UNPayeeManagementComponent/UNPayeeManagementComponent.tsx +14 -11
  238. package/src/components/UNProgramDetailsComponent/UNProgramDetailsComponent.tsx +3 -3
  239. package/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.tsx +14 -11
  240. package/src/components/UNWirePaymentComponent/UNWirePaymentComponent.tsx +109 -0
  241. package/src/components/UNWirePaymentComponent/UNWirePaymentComponent.utils.ts +23 -0
  242. package/src/components/UNWirePaymentComponent/index.ts +1 -0
  243. package/src/components/index.ts +1 -0
  244. package/src/helpers/BottomSheet/BottomSheet.tsx +3 -4
  245. package/src/hooks/useIsJailbrokeDevice.ts +17 -0
  246. package/src/hooks/useSnapshotProtection.ts +25 -0
  247. package/src/messages/webMessages/onLoadMessage.ts +1 -1
  248. package/src/nativeComponents/UNAddToWallet/UNAddToWalletComponent/UNAddToWalletComponent.tsx +12 -11
  249. package/src/nativeComponents/UNBaseView/UNBaseView.tsx +50 -0
  250. package/src/nativeComponents/UNBaseView/index.ts +1 -0
  251. package/src/nativeModulesHelpers/UNSanpshotProtectionHelper/UNSnapshotProtectionHelper.ts +21 -0
  252. package/src/nativeModulesHelpers/UNSecurityHelper.ts +35 -0
  253. package/src/networking/common/UNNetworkConstants.ts +2 -1
  254. package/src/types/internal/webComponent.types.ts +1 -0
  255. package/src/types/shared/achCredit.types.ts +1 -1
  256. package/src/types/shared/env.types.ts +2 -1
  257. package/src/types/shared/index.ts +1 -0
  258. package/src/types/shared/payments.types.ts +1 -0
  259. package/src/types/shared/securitySettings.ts +8 -0
  260. package/src/types/shared/wirePayment.types.ts +43 -0
  261. package/src/unitSdkManager/UnitSdk.constants.ts +6 -0
  262. package/src/unitSdkManager/UnitSdkManager.ts +33 -5
  263. package/src/unitSdkManager/UnitSdkManager.utils.internal.ts +3 -0
  264. package/src/utils/onLoadMessages.utils.ts +3 -0
@@ -15,6 +15,7 @@ class UnitAddToWalletButtonViewManager : SimpleViewManager<UNGooglePayView>() {
15
15
  UIManagerHelper.getEventDispatcherForReactTag(reactContext, unGooglePayView.id)
16
16
  ?.dispatchEvent(UnitReactNativeComponentsEvent(surfaceId, unGooglePayView.id))
17
17
  }
18
+ unGooglePayView.filterTouchesWhenObscured = true
18
19
  return unGooglePayView
19
20
  }
20
21
 
@@ -4,8 +4,11 @@ import com.facebook.react.bridge.NativeModule
4
4
  import com.facebook.react.bridge.ReactApplicationContext
5
5
  import com.facebook.react.uimanager.ViewManager
6
6
  import com.unitreactnativecomponents.getapplicationid.UNAppInfoModule
7
+ import com.unitreactnativecomponents.secureView.UNSecureViewManager
7
8
  import com.unitreactnativecomponents.sharepdf.UNShareFile
9
+ import com.unitreactnativecomponents.unSnapshotProtectionManager.UNSnapshotProtectionManager
8
10
  import com.unitreactnativecomponents.unStoreManager.UNStoreManager
11
+ import com.unitreactnativecomponents.security.UNSecurityHelper
9
12
 
10
13
  class UnitReactNativeComponentsPackage : ReactPackage {
11
14
  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
@@ -13,10 +16,15 @@ class UnitReactNativeComponentsPackage : ReactPackage {
13
16
  modules.add(UNShareFile(reactContext))
14
17
  modules.add(UNAppInfoModule(reactContext))
15
18
  modules.add(UNStoreManager(reactContext))
19
+ modules.add(UNSecurityHelper(reactContext))
20
+ modules.add(UNSnapshotProtectionManager(reactContext))
16
21
  return modules
17
22
  }
18
23
 
19
24
  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
20
- return listOf(UnitAddToWalletButtonViewManager())
25
+ return listOf(
26
+ UnitAddToWalletButtonViewManager(),
27
+ UNSecureViewManager()
28
+ )
21
29
  }
22
30
  }
@@ -1,9 +1,11 @@
1
1
  package com.unitreactnativecomponents.extensions
2
2
 
3
+ import android.app.Activity
3
4
  import android.content.Context
4
5
  import android.content.pm.PackageInfo
5
6
  import android.content.pm.PackageManager
6
7
  import android.os.Build
8
+ import android.view.WindowManager
7
9
 
8
10
  fun Context.getPackageInfo(): PackageInfo {
9
11
  return packageManager.getPackageInfo(packageName, 0)
@@ -0,0 +1,19 @@
1
+ package com.unitreactnativecomponents.secureView
2
+
3
+ import com.facebook.react.uimanager.ThemedReactContext
4
+ import com.facebook.react.uimanager.ViewGroupManager
5
+ import com.facebook.react.uimanager.annotations.ReactProp
6
+ import com.facebook.react.views.view.ReactViewGroup
7
+
8
+ class UNSecureViewManager: ViewGroupManager<ReactViewGroup>() {
9
+ override fun getName() = "UNSecureView"
10
+
11
+ override fun createViewInstance(reactContext: ThemedReactContext): ReactViewGroup {
12
+ return ReactViewGroup(reactContext)
13
+ }
14
+
15
+ @ReactProp(name = "filterTouchesWhenObscured")
16
+ fun setFilterTouchesWhenObscured(view: ReactViewGroup, filter: Boolean) {
17
+ view.filterTouchesWhenObscured = filter
18
+ }
19
+ }
@@ -0,0 +1,37 @@
1
+ package com.unitreactnativecomponents.security
2
+
3
+ import java.io.File
4
+ import com.facebook.react.bridge.Promise
5
+ import com.facebook.react.bridge.ReactApplicationContext
6
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
7
+ import com.facebook.react.bridge.ReactMethod
8
+
9
+ class UNSecurityHelper(var reactContext: ReactApplicationContext) :
10
+ ReactContextBaseJavaModule(reactContext) {
11
+ @ReactMethod
12
+ fun isDeviceJailbroke(promise: Promise) {
13
+ promise.resolve(findBinary("su"))
14
+ }
15
+
16
+ // https://stackoverflow.com/a/23953248
17
+ private fun findBinary(binaryName: String): Boolean {
18
+ var found = false
19
+ val places = arrayOf(
20
+ "/sbin/", "/system/bin/", "/system/xbin/",
21
+ "/data/local/xbin/", "/data/local/bin/",
22
+ "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/"
23
+ )
24
+ for (where in places) {
25
+ if (File(where + binaryName).exists()) {
26
+ found = true
27
+
28
+ break
29
+ }
30
+ }
31
+ return found
32
+ }
33
+
34
+ override fun getName(): String {
35
+ return "UNSecurityHelper"
36
+ }
37
+ }
@@ -0,0 +1,42 @@
1
+ package com.unitreactnativecomponents.unSnapshotProtectionManager
2
+
3
+ import android.content.pm.PackageManager
4
+ import android.view.WindowManager
5
+ import com.facebook.react.bridge.Promise
6
+ import com.facebook.react.bridge.ReactApplicationContext
7
+ import com.facebook.react.bridge.ReactContextBaseJavaModule
8
+ import com.facebook.react.bridge.ReactMethod
9
+ import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
10
+
11
+ class UNSnapshotProtectionManager(var reactContext: ReactApplicationContext) :
12
+ ReactContextBaseJavaModule(reactContext) {
13
+
14
+ @ReactMethod
15
+ fun setSecureFlags(promise: Promise) {
16
+ val currentActivity = reactContext.currentActivity
17
+ val window = currentActivity?.window
18
+
19
+ if (currentActivity == null || window == null) {
20
+ promise.reject("No window")
21
+ return
22
+ }
23
+
24
+ try {
25
+ val isSecured = (window.attributes.flags and WindowManager.LayoutParams.FLAG_SECURE) != 0
26
+ if (!isSecured) {
27
+ currentActivity.runOnUiThread {
28
+ window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
29
+ promise.resolve("secured")
30
+ }
31
+ } else {
32
+ promise.resolve("already secured")
33
+ }
34
+ } catch (e: Exception) {
35
+ promise.reject(e)
36
+ }
37
+ }
38
+
39
+ override fun getName(): String {
40
+ return "UNSnapshotProtectionManager"
41
+ }
42
+ }
@@ -0,0 +1,90 @@
1
+ import Foundation
2
+ import UIKit
3
+
4
+ @objc(UNSecurityHelper)
5
+ class UNSecurityHelper: NSObject {
6
+ @objc static func requiresMainQueueSetup() -> Bool {
7
+ return false
8
+ }
9
+
10
+ @objc func isDeviceJailbroke(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
11
+ #if targetEnvironment(simulator)
12
+ resolve(false)
13
+ #else
14
+ if checkJailbrokeByFilePermissions() ||
15
+ checkJailbrokeByProtocolHandlers() ||
16
+ checkJailbrokeByContainingSuspiciousApps() ||
17
+ checkJailbrokeByContainingSuspiciousSystemPaths() {
18
+ resolve(true)
19
+ } else {
20
+ resolve(false)
21
+ }
22
+ #endif
23
+ }
24
+ }
25
+
26
+ fileprivate extension UNSecurityHelper {
27
+ var suspiciousSystemPaths: [String] {
28
+ [
29
+ "/Library/MobileSubstrate/DynamicLibraries/LiveClock.plist",
30
+ "/Library/MobileSubstrate/DynamicLibraries/Veency.plist",
31
+ "/private/var/lib/apt",
32
+ "/private/var/lib/apt/",
33
+ "/private/var/lib/cydia",
34
+ "/private/var/mobile/Library/SBSettings/Themes",
35
+ "/private/var/stash",
36
+ "/private/var/tmp/cydia.log",
37
+ "/System/Library/LaunchDaemons/com.ikey.bbot.plist",
38
+ "/System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist",
39
+ "/usr/bin/sshd",
40
+ "/usr/libexec/sftp-server",
41
+ "/usr/sbin/sshd",
42
+ "/etc/apt",
43
+ "/bin/bash",
44
+ "/Library/MobileSubstrate/MobileSubstrate.dylib"
45
+ ]
46
+ }
47
+
48
+ var suspiciousAppsPath: [String] {
49
+ [
50
+ "/Applications/Cydia.app",
51
+ "/Applications/blackra1n.app",
52
+ "/Applications/FakeCarrier.app",
53
+ "/Applications/Icy.app",
54
+ "/Applications/IntelliScreen.app",
55
+ "/Applications/MxTube.app",
56
+ "/Applications/RockApp.app",
57
+ "/Applications/SBSettings.app",
58
+ "/Applications/WinterBoard.app"
59
+ ]
60
+ }
61
+
62
+ func checkJailbrokeByFilePermissions() -> Bool {
63
+ do {
64
+ let pathToFileInRestrictedDirectory = "/private/jailbreak.txt"
65
+ try "This is a test.".write(toFile: pathToFileInRestrictedDirectory, atomically: true, encoding: String.Encoding.utf8)
66
+ try FileManager.default.removeItem(atPath: pathToFileInRestrictedDirectory)
67
+ // Device is jailbroken
68
+ return true
69
+ } catch {
70
+ // Device is not jailbroken
71
+ return false
72
+ }
73
+ }
74
+
75
+ func checkJailbrokeByProtocolHandlers() -> Bool {
76
+ if let url = URL(string: "cydia://package/com.example.package"), UIApplication.shared.canOpenURL(url) {
77
+ // Device is jailbroken
78
+ return true
79
+ }
80
+ return false
81
+ }
82
+
83
+ func checkJailbrokeByContainingSuspiciousApps() -> Bool {
84
+ suspiciousAppsPath.contains { FileManager.default.fileExists(atPath: $0) }
85
+ }
86
+
87
+ func checkJailbrokeByContainingSuspiciousSystemPaths() -> Bool {
88
+ suspiciousSystemPaths.contains { FileManager.default.fileExists(atPath: $0) }
89
+ }
90
+ }
@@ -0,0 +1,7 @@
1
+ #import <React/RCTViewManager.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(UNSecurityHelper, NSObject)
4
+
5
+ RCT_EXTERN_METHOD(isDeviceJailbroke: (RCTPromiseResolveBlock)resolve rejecter: (RCTPromiseRejectBlock)reject)
6
+
7
+ @end
@@ -0,0 +1,38 @@
1
+ import Foundation
2
+ import Combine
3
+ import UIKit
4
+
5
+ enum UNAppStateStatus {
6
+ case appWillResignActive
7
+ case appDidBecomeActive
8
+ }
9
+
10
+ protocol UNAppStateServicing {
11
+ var appStateStatusPublisher: AnyPublisher<UNAppStateStatus, Never> { get }
12
+ }
13
+
14
+ class UNAppStateService: UNAppStateServicing {
15
+ static let shared = UNAppStateService()
16
+
17
+ private let appStateStatusSubject = PassthroughSubject<UNAppStateStatus, Never>()
18
+ private var cancellables = Set<AnyCancellable>()
19
+
20
+
21
+ var appStateStatusPublisher: AnyPublisher<UNAppStateStatus, Never> {
22
+ return appStateStatusSubject.eraseToAnyPublisher()
23
+ }
24
+
25
+ private init() {
26
+ NotificationCenter.default.publisher(for: UIApplication.willResignActiveNotification)
27
+ .sink { [weak self] _ in
28
+ self?.appStateStatusSubject.send(UNAppStateStatus.appWillResignActive)
29
+ }
30
+ .store(in: &cancellables)
31
+
32
+ NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)
33
+ .sink { [weak self] _ in
34
+ self?.appStateStatusSubject.send(UNAppStateStatus.appDidBecomeActive)
35
+ }
36
+ .store(in: &cancellables)
37
+ }
38
+ }
@@ -0,0 +1,93 @@
1
+ import Foundation
2
+ import UIKit
3
+ import Combine
4
+
5
+ protocol UNSnapshotProtectionServicing {
6
+ func start(shouldProtect: Bool, style: String)
7
+ }
8
+
9
+ class UNSnapshotProtectionService: UNSnapshotProtectionServicing {
10
+ fileprivate var subscribers = Set<AnyCancellable>()
11
+
12
+ private lazy var blurEffectView: UIVisualEffectView = {
13
+
14
+ let blurEffect = UIBlurEffect(style: .light)
15
+ var blurEffectView = UIVisualEffectView(effect: blurEffect)
16
+
17
+ return blurEffectView
18
+ }()
19
+
20
+ func start(shouldProtect: Bool, style: String) {
21
+ if shouldProtect {
22
+ removeObservers()
23
+ setupObservers()
24
+ } else {
25
+ removeObservers()
26
+ removeBlurEffect()
27
+ }
28
+
29
+ updateBlurEffect(style)
30
+ }
31
+
32
+ private func updateBlurEffect(_ style: String) {
33
+ DispatchQueue.main.async { [weak self] in
34
+ guard let self = self else { return }
35
+ switch style {
36
+ case "dark":
37
+ self.blurEffectView.effect = UIBlurEffect(style: .dark)
38
+ default:
39
+ self.blurEffectView.effect = UIBlurEffect(style: .light)
40
+ }
41
+ }
42
+ }
43
+ }
44
+
45
+
46
+ fileprivate extension UNSnapshotProtectionService {
47
+ func addBlurEffect() {
48
+ DispatchQueue.main.async { [weak self] in
49
+ guard let self = self,
50
+ let topViewController = UNPresentationService().requestTopController() else { return }
51
+
52
+ topViewController.view.addSubview(self.blurEffectView)
53
+ topViewController.view.bringSubviewToFront(self.blurEffectView)
54
+
55
+ self.blurEffectView.translatesAutoresizingMaskIntoConstraints = false
56
+
57
+ NSLayoutConstraint.activate([
58
+ self.blurEffectView.topAnchor.constraint(equalTo: topViewController.view.topAnchor),
59
+ self.blurEffectView.bottomAnchor.constraint(equalTo: topViewController.view.bottomAnchor),
60
+ self.blurEffectView.leadingAnchor.constraint(equalTo: topViewController.view.leadingAnchor),
61
+ self.blurEffectView.trailingAnchor.constraint(equalTo: topViewController.view.trailingAnchor)
62
+ ])
63
+ }
64
+ }
65
+
66
+ func removeBlurEffect() {
67
+ if let _ = blurEffectView.superview {
68
+ blurEffectView.removeFromSuperview()
69
+ }
70
+ }
71
+ }
72
+
73
+ fileprivate extension UNSnapshotProtectionService {
74
+ func setupObservers() {
75
+ UNSharedServicesProvider.shared.appStateService().appStateStatusPublisher
76
+ .receive(on: DispatchQueue.main)
77
+ .sink { [weak self] appStateStatus in
78
+ guard let self = self else { return }
79
+ switch appStateStatus {
80
+ case .appDidBecomeActive:
81
+ removeBlurEffect()
82
+ case .appWillResignActive:
83
+ addBlurEffect()
84
+ }
85
+ }
86
+ .store(in: &subscribers)
87
+ }
88
+
89
+ func removeObservers() {
90
+ subscribers.forEach { $0.cancel() }
91
+ subscribers.removeAll()
92
+ }
93
+ }
@@ -0,0 +1,37 @@
1
+ // UNPresentationService.swift
2
+
3
+ import Foundation
4
+ import UIKit
5
+
6
+ protocol UNPresentationServicing {
7
+ func requestTopController() -> UIViewController?
8
+ }
9
+
10
+ class UNPresentationService: UNPresentationServicing {
11
+ func requestTopController() -> UIViewController? {
12
+ guard let appWindow = UIApplication.shared.windows.first(where: { $0.isKeyWindow }),
13
+ let topController = self.topViewController(fromBase: appWindow.rootViewController)
14
+ else {
15
+ print("Error - while tring to find the top View Controller")
16
+ return nil
17
+ }
18
+ return topController
19
+ }
20
+ }
21
+
22
+
23
+ fileprivate extension UNPresentationService {
24
+ func topViewController(fromBase base: UIViewController?) -> UIViewController? {
25
+ // Finding top view controller from base. Using recursion in this function
26
+ if let navController = base as? UINavigationController {
27
+ return topViewController(fromBase: navController.visibleViewController)
28
+ } else if let tabController = base as? UITabBarController {
29
+ if let selectedTab = tabController.selectedViewController {
30
+ return topViewController(fromBase: selectedTab)
31
+ }
32
+ } else if let presentedController = base?.presentedViewController {
33
+ return topViewController(fromBase: presentedController)
34
+ }
35
+ return base
36
+ }
37
+ }
@@ -0,0 +1,45 @@
1
+ import Foundation
2
+
3
+ protocol UNSharedServicesProviding: AnyObject {
4
+ func appStateService() -> UNAppStateServicing
5
+ func presentationService() -> UNPresentationServicing
6
+ func snapshotProtectionService() -> UNSnapshotProtectionServicing
7
+ }
8
+
9
+ class UNSharedServicesProvider: NSObject, UNSharedServicesProviding {
10
+ // Singleton
11
+ static let shared: UNSharedServicesProviding = UNSharedServicesProvider()
12
+
13
+ private override init() {}
14
+
15
+ @objc static func requiresMainQueueSetup() -> Bool {
16
+ return false
17
+ }
18
+
19
+ fileprivate lazy var _appStateService: UNAppStateServicing = {
20
+ return UNAppStateService.shared
21
+ }()
22
+
23
+ fileprivate lazy var _presentationService: UNPresentationServicing = {
24
+ return UNPresentationService()
25
+ }()
26
+
27
+ fileprivate lazy var _snapshotProtectionService = {
28
+ return UNSnapshotProtectionService()
29
+ }()
30
+
31
+ func appStateService() -> UNAppStateServicing {
32
+ return _appStateService
33
+ }
34
+
35
+ func presentationService() -> UNPresentationServicing {
36
+ return _presentationService
37
+ }
38
+
39
+ func snapshotProtectionService() -> UNSnapshotProtectionServicing {
40
+ return _snapshotProtectionService
41
+ }
42
+
43
+ func configure() {}
44
+ }
45
+
@@ -0,0 +1,20 @@
1
+ import Foundation
2
+
3
+ @objc(UNSnapshotProtectionManager)
4
+ class UNSnapshotProtectionManager: NSObject, RCTBridgeModule {
5
+
6
+ static func moduleName() -> String! {
7
+ return "UNSnapshotProtectionManager"
8
+ }
9
+
10
+ static func requiresMainQueueSetup() -> Bool {
11
+ return true
12
+ }
13
+
14
+ @objc func configureSnapshotProtectionStrategy(_ shouldProtect: Bool, style: String) {
15
+ UNSharedServicesProvider.shared.snapshotProtectionService().start(
16
+ shouldProtect: shouldProtect,
17
+ style: style
18
+ )
19
+ }
20
+ }
@@ -0,0 +1,5 @@
1
+ #import <React/RCTViewManager.h>
2
+
3
+ @interface RCT_EXTERN_MODULE(UNSnapshotProtectionManager, NSObject)
4
+ RCT_EXTERN_METHOD(configureSnapshotProtectionStrategy:(BOOL)shouldProtect style:(NSString *)style)
5
+ @end
@@ -7,6 +7,8 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
+ 241CE1412C2ADCF7007FCEF9 /* UNSecurityHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 241CE13F2C2ADCF7007FCEF9 /* UNSecurityHelper.swift */; };
11
+ 241CE1422C2ADCF7007FCEF9 /* UNSecurityHelperExportModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 241CE1402C2ADCF7007FCEF9 /* UNSecurityHelperExportModule.m */; };
10
12
  68F74B8B296C7B87000C55BB /* libUnitReactNativeComponents.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 134814201AA4EA6300B7C361 /* libUnitReactNativeComponents.a */; };
11
13
  /* End PBXBuildFile section */
12
14
 
@@ -29,6 +31,8 @@
29
31
  161C3C8A2AF0F959007096DD /* Bundle+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Bundle+Extensions.swift"; sourceTree = "<group>"; };
30
32
  161C3C8C2AF0F959007096DD /* CameraExportModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CameraExportModule.m; sourceTree = "<group>"; };
31
33
  161C3C8D2AF0F959007096DD /* Camera.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Camera.swift; sourceTree = "<group>"; };
34
+ 241CE13F2C2ADCF7007FCEF9 /* UNSecurityHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UNSecurityHelper.swift; sourceTree = "<group>"; };
35
+ 241CE1402C2ADCF7007FCEF9 /* UNSecurityHelperExportModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UNSecurityHelperExportModule.m; sourceTree = "<group>"; };
32
36
  68B53569296C600600A54592 /* UnitReactNativeComponentsViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UnitReactNativeComponentsViewManager.m; sourceTree = "<group>"; };
33
37
  68B5356A296C600600A54592 /* UnitReactNativeComponentsViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnitReactNativeComponentsViewManager.swift; sourceTree = "<group>"; };
34
38
  F4FF95D5245B92E700C19C63 /* UnitReactNativeComponents-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UnitReactNativeComponents-Bridging-Header.h"; sourceTree = "<group>"; };
@@ -80,9 +84,19 @@
80
84
  path = Camera;
81
85
  sourceTree = "<group>";
82
86
  };
87
+ 241CE13E2C2ADC84007FCEF9 /* UNSecurity */ = {
88
+ isa = PBXGroup;
89
+ children = (
90
+ 241CE13F2C2ADCF7007FCEF9 /* UNSecurityHelper.swift */,
91
+ 241CE1402C2ADCF7007FCEF9 /* UNSecurityHelperExportModule.m */,
92
+ );
93
+ path = UNSecurity;
94
+ sourceTree = "<group>";
95
+ };
83
96
  58B511D21A9E6C8500147676 = {
84
97
  isa = PBXGroup;
85
98
  children = (
99
+ 241CE13E2C2ADC84007FCEF9 /* UNSecurity */,
86
100
  161C3C8B2AF0F959007096DD /* Camera */,
87
101
  161C3C892AF0F959007096DD /* Extensions */,
88
102
  161C3C862AF0F959007096DD /* UNAppInfo */,
@@ -150,6 +164,8 @@
150
164
  isa = PBXSourcesBuildPhase;
151
165
  buildActionMask = 2147483647;
152
166
  files = (
167
+ 241CE1422C2ADCF7007FCEF9 /* UNSecurityHelperExportModule.m in Sources */,
168
+ 241CE1412C2ADCF7007FCEF9 /* UNSecurityHelper.swift in Sources */,
153
169
  );
154
170
  runOnlyForDeploymentPostprocessing = 0;
155
171
  };
@@ -17,6 +17,8 @@ var AppInfo = _interopRequireWildcard(require("../../utils/AppInfo"));
17
17
  var _webComponent = require("../../types/internal/webComponent.types");
18
18
  var _helpers = require("../../helpers/store/helpers");
19
19
  var _plaidMessages = require("../../messages/webMessages/plaidMessages");
20
+ var _UNBaseView = require("../../nativeComponents/UNBaseView");
21
+ var _onLoadMessages = require("../../utils/onLoadMessages.utils");
20
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
24
  const UNACHCreditComponent = props => {
@@ -43,10 +45,11 @@ const UNACHCreditComponent = props => {
43
45
  return;
44
46
  }
45
47
  if (_onLoadMessage.RESPONSE_KEYS.account in response && _onLoadMessage.RESPONSE_KEYS.counterpartyAccount in response) {
48
+ const account = response[_onLoadMessage.RESPONSE_KEYS.account].data;
46
49
  // ACHOnLoadResponse;
47
50
  const achOnload = {
48
51
  data: {
49
- [_onLoadMessage.RESPONSE_KEYS.account]: response[_onLoadMessage.RESPONSE_KEYS.account].data,
52
+ [_onLoadMessage.RESPONSE_KEYS.account]: (0, _onLoadMessages.ensureArray)(account),
50
53
  [_onLoadMessage.RESPONSE_KEYS.counterpartyAccount]: response[_onLoadMessage.RESPONSE_KEYS.counterpartyAccount].data
51
54
  }
52
55
  };
@@ -116,27 +119,25 @@ const UNACHCreditComponent = props => {
116
119
  }
117
120
  }
118
121
  };
119
- const renderACHCreditWebView = () => {
120
- return /*#__PURE__*/_react.default.createElement(_WebComponent.WebComponent, {
121
- ref: webRef,
122
- type: _webComponent.WebComponentType.achCreditPayment,
123
- presentationMode: presentationMode,
124
- params: (0, _UNACHCreditComponent.getACHCreditParams)(props),
125
- script: (0, _UNACHCreditComponent.getACHCreditScript)(appPackageName),
126
- onMessage: message => handleWebViewMessage(message),
127
- isScrollable: false,
128
- theme: props.theme,
129
- language: props.language
130
- });
122
+ const style = presentationMode === _webComponent.PresentationMode.Inherit ? {
123
+ flex: 1
124
+ } : {
125
+ height: height
131
126
  };
132
- if (presentationMode === _webComponent.PresentationMode.Inherit) {
133
- return renderACHCreditWebView();
134
- }
135
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
136
- style: {
137
- height: height
138
- }
139
- }, renderACHCreditWebView());
127
+ return /*#__PURE__*/_react.default.createElement(_UNBaseView.UNBaseView, {
128
+ style: style,
129
+ onLoadError: handleUnitOnLoad
130
+ }, /*#__PURE__*/_react.default.createElement(_WebComponent.WebComponent, {
131
+ ref: webRef,
132
+ type: _webComponent.WebComponentType.achCreditPayment,
133
+ presentationMode: presentationMode,
134
+ params: (0, _UNACHCreditComponent.getACHCreditParams)(props),
135
+ script: (0, _UNACHCreditComponent.getACHCreditScript)(appPackageName),
136
+ onMessage: message => handleWebViewMessage(message),
137
+ isScrollable: true,
138
+ theme: props.theme,
139
+ language: props.language
140
+ }));
140
141
  };
141
142
  var _default = exports.default = (0, _helpers.withReduxStore)(UNACHCreditComponent);
142
143
  //# sourceMappingURL=UNACHCreditComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_pageMessage","_reactNative","_UNACHCreditComponent","_paymentsMessage","_onLoadMessage","_unitMessages","_reactNativePlaidLinkSdk","AppInfo","_webComponent","_helpers","_plaidMessages","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UNACHCreditComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","linkToken","setLinkToken","appPackageName","setAppPackageName","webRef","useRef","useEffect","setPackageNameForAndroid","Platform","OS","packageName","getAppIdentifier","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PaymentMessage","INITIAL_STAGE_BACK_BUTTON_CLICKED","onInitialStageBackButtonClicked","FINAL_STAGE_DONE_BUTTON_CLICKED","onFinalStageDoneButtonClicked","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","PageMessage","PAGE_HEIGHT","currentHeight","Default","PlaidMessage","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","success","injectUnitPlaidResponse","current","onExit","exit","log","catch","renderACHCreditWebView","createElement","WebComponent","ref","WebComponentType","achCreditPayment","params","getACHCreditParams","script","getACHCreditScript","onMessage","isScrollable","theme","language","View","style","_default","exports","withReduxStore"],"sourceRoot":"../../../../src","sources":["components/UNACHCreditComponent/UNACHCreditComponent.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_pageMessage","_reactNative","_UNACHCreditComponent","_paymentsMessage","_onLoadMessage","_unitMessages","_reactNativePlaidLinkSdk","AppInfo","_webComponent","_helpers","_plaidMessages","_UNBaseView","_onLoadMessages","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","UNACHCreditComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","linkToken","setLinkToken","appPackageName","setAppPackageName","webRef","useRef","useEffect","setPackageNameForAndroid","Platform","OS","packageName","getAppIdentifier","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","data","achOnload","ensureArray","console","error","handleWebViewMessage","message","details","type","PaymentMessage","INITIAL_STAGE_BACK_BUTTON_CLICKED","onInitialStageBackButtonClicked","FINAL_STAGE_DONE_BUTTON_CLICKED","onFinalStageDoneButtonClicked","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","PageMessage","PAGE_HEIGHT","currentHeight","Default","PlaidMessage","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","success","injectUnitPlaidResponse","current","onExit","exit","log","catch","style","flex","createElement","UNBaseView","onLoadError","WebComponent","ref","WebComponentType","achCreditPayment","params","getACHCreditParams","script","getACHCreditScript","onMessage","isScrollable","theme","language","_default","exports","withReduxStore"],"sourceRoot":"../../../../src","sources":["components/UNACHCreditComponent/UNACHCreditComponent.tsx"],"mappings":"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"}