react-native-unit-components 1.5.0 → 1.7.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 (324) hide show
  1. package/ios/UNAppInfo/UNAppInfo.swift +5 -1
  2. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +50 -8
  3. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  4. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +18 -11
  5. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  6. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +9 -11
  7. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  8. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +2 -23
  9. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  10. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +12 -6
  11. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  12. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +5 -4
  13. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  14. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +12 -6
  15. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  16. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +4 -3
  17. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  18. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +6 -6
  19. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  20. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  21. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  22. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +159 -74
  23. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  24. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +28 -8
  25. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  26. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +49 -37
  27. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  28. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +20 -50
  29. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  30. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +5 -53
  31. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  32. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +6 -6
  33. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  34. package/lib/commonjs/components/utils/nativeModulesInfo.js +20 -0
  35. package/lib/commonjs/components/utils/nativeModulesInfo.js.map +1 -0
  36. package/lib/commonjs/flows/UNFlows.js +19 -0
  37. package/lib/commonjs/flows/UNFlows.js.map +1 -0
  38. package/lib/commonjs/flows/card/UNCardFlows.js +33 -0
  39. package/lib/commonjs/flows/card/UNCardFlows.js.map +1 -0
  40. package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js +70 -0
  41. package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -0
  42. package/lib/commonjs/helpers/pushProvisioningService/startProvisioning.js +22 -0
  43. package/lib/commonjs/helpers/pushProvisioningService/startProvisioning.js.map +1 -0
  44. package/lib/commonjs/index.js +4 -4
  45. package/lib/commonjs/index.js.map +1 -1
  46. package/lib/commonjs/messages/nativeMessages/bottomSheetMessage.js +17 -0
  47. package/lib/commonjs/messages/nativeMessages/bottomSheetMessage.js.map +1 -0
  48. package/lib/commonjs/messages/nativeMessages/cardMessage.js +2 -8
  49. package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
  50. package/lib/commonjs/messages/nativeMessages/index.js.map +1 -1
  51. package/lib/commonjs/messages/webMessages/accountMessage.js.map +1 -1
  52. package/lib/commonjs/messages/webMessages/achCreditMessage.js.map +1 -1
  53. package/lib/commonjs/messages/webMessages/bookPaymentMessage.js.map +1 -1
  54. package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -1
  55. package/lib/commonjs/messages/webMessages/checkMessage.js.map +1 -1
  56. package/lib/commonjs/messages/webMessages/onLoadMessage.js.map +1 -1
  57. package/lib/commonjs/messages/webMessages/unitMessages.js +1 -0
  58. package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
  59. package/lib/commonjs/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.js +1 -1
  60. package/lib/commonjs/networking/common/UNNetworkConstants.js.map +1 -0
  61. package/lib/commonjs/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.js +3 -1
  62. package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js.map +1 -0
  63. package/lib/commonjs/scripts/html/bodyHtml.js +4 -10
  64. package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
  65. package/lib/commonjs/scripts/html/bodyScript.js +13 -2
  66. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  67. package/lib/commonjs/types/internal/bottomSheet.types.js +14 -0
  68. package/lib/commonjs/types/internal/bottomSheet.types.js.map +1 -0
  69. package/lib/commonjs/types/internal/webComponent.types.js +27 -0
  70. package/lib/commonjs/types/internal/webComponent.types.js.map +1 -0
  71. package/lib/commonjs/types/shared/achCredit.types.js.map +1 -0
  72. package/lib/commonjs/types/shared/activity.types.js.map +1 -0
  73. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +20 -2
  74. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  75. package/lib/commonjs/unitSdkManager/unitUiManager/unitUiManager.js +21 -0
  76. package/lib/commonjs/unitSdkManager/unitUiManager/unitUiManager.js.map +1 -0
  77. package/lib/commonjs/webComponent/WebComponent.js +6 -16
  78. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  79. package/lib/commonjs/webComponent/html.js +3 -1
  80. package/lib/commonjs/webComponent/html.js.map +1 -1
  81. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +49 -7
  82. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  83. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +16 -10
  84. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  85. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +5 -7
  86. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  87. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -21
  88. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  89. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +10 -4
  90. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  91. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +3 -2
  92. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  93. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +10 -4
  94. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  95. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +3 -2
  96. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  97. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -2
  98. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  99. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  100. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  101. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +159 -74
  102. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  103. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +23 -6
  104. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
  105. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +51 -39
  106. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  107. package/lib/module/components/UNCardComponent/UNCardComponent.js +20 -51
  108. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  109. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +2 -48
  110. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  111. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +2 -2
  112. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  113. package/lib/module/components/utils/nativeModulesInfo.js +13 -0
  114. package/lib/module/components/utils/nativeModulesInfo.js.map +1 -0
  115. package/lib/module/flows/UNFlows.js +12 -0
  116. package/lib/module/flows/UNFlows.js.map +1 -0
  117. package/lib/module/flows/card/UNCardFlows.js +25 -0
  118. package/lib/module/flows/card/UNCardFlows.js.map +1 -0
  119. package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js +63 -0
  120. package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -0
  121. package/lib/module/helpers/pushProvisioningService/startProvisioning.js +15 -0
  122. package/lib/module/helpers/pushProvisioningService/startProvisioning.js.map +1 -0
  123. package/lib/module/index.js +1 -1
  124. package/lib/module/index.js.map +1 -1
  125. package/lib/module/messages/nativeMessages/bottomSheetMessage.js +9 -0
  126. package/lib/module/messages/nativeMessages/bottomSheetMessage.js.map +1 -0
  127. package/lib/module/messages/nativeMessages/cardMessage.js +1 -6
  128. package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
  129. package/lib/module/messages/nativeMessages/index.js.map +1 -1
  130. package/lib/module/messages/webMessages/accountMessage.js.map +1 -1
  131. package/lib/module/messages/webMessages/achCreditMessage.js.map +1 -1
  132. package/lib/module/messages/webMessages/bookPaymentMessage.js.map +1 -1
  133. package/lib/module/messages/webMessages/cardMessage.js.map +1 -1
  134. package/lib/module/messages/webMessages/checkMessage.js.map +1 -1
  135. package/lib/module/messages/webMessages/onLoadMessage.js.map +1 -1
  136. package/lib/module/messages/webMessages/unitMessages.js +1 -0
  137. package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
  138. package/lib/module/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.js +1 -1
  139. package/lib/module/networking/common/UNNetworkConstants.js.map +1 -0
  140. package/lib/module/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.js +4 -1
  141. package/lib/module/networking/requests/UNWalletPayloadRequest.js.map +1 -0
  142. package/lib/module/scripts/html/bodyHtml.js +1 -6
  143. package/lib/module/scripts/html/bodyHtml.js.map +1 -1
  144. package/lib/module/scripts/html/bodyScript.js +13 -2
  145. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  146. package/lib/module/types/internal/bottomSheet.types.js +7 -0
  147. package/lib/module/types/internal/bottomSheet.types.js.map +1 -0
  148. package/lib/module/types/internal/webComponent.types.js +19 -0
  149. package/lib/module/types/internal/webComponent.types.js.map +1 -0
  150. package/lib/module/types/shared/achCredit.types.js.map +1 -0
  151. package/lib/module/types/shared/activity.types.js.map +1 -0
  152. package/lib/module/unitSdkManager/UnitSdkManager.js +20 -2
  153. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  154. package/lib/module/unitSdkManager/unitUiManager/unitUiManager.js +14 -0
  155. package/lib/module/unitSdkManager/unitUiManager/unitUiManager.js.map +1 -0
  156. package/lib/module/webComponent/WebComponent.js +5 -14
  157. package/lib/module/webComponent/WebComponent.js.map +1 -1
  158. package/lib/module/webComponent/html.js +3 -1
  159. package/lib/module/webComponent/html.js.map +1 -1
  160. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +2 -1
  161. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +4 -1
  162. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +1 -1
  163. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -1
  164. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +3 -3
  165. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +1 -1
  166. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +3 -3
  167. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -1
  168. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +0 -7
  169. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +5 -1
  170. package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.d.ts +6 -2
  171. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +2 -1
  172. package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +1 -9
  173. package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +2 -2
  174. package/lib/typescript/components/utils/nativeModulesInfo.d.ts +1 -0
  175. package/lib/typescript/flows/UNFlows.d.ts +4 -0
  176. package/lib/typescript/flows/card/UNCardFlows.d.ts +3 -0
  177. package/lib/typescript/helpers/pushProvisioningService/hooks/useCardWallet.d.ts +7 -0
  178. package/lib/typescript/helpers/pushProvisioningService/startProvisioning.d.ts +2 -0
  179. package/lib/typescript/index.d.ts +1 -1
  180. package/lib/typescript/messages/nativeMessages/bottomSheetMessage.d.ts +9 -0
  181. package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +0 -16
  182. package/lib/typescript/messages/nativeMessages/index.d.ts +3 -3
  183. package/lib/typescript/messages/webMessages/accountMessage.d.ts +1 -1
  184. package/lib/typescript/messages/webMessages/achCreditMessage.d.ts +1 -1
  185. package/lib/typescript/messages/webMessages/bookPaymentMessage.d.ts +1 -1
  186. package/lib/typescript/messages/webMessages/cardMessage.d.ts +1 -1
  187. package/lib/typescript/messages/webMessages/checkMessage.d.ts +1 -1
  188. package/lib/typescript/messages/webMessages/onLoadMessage.d.ts +3 -3
  189. package/lib/typescript/messages/webMessages/unitMessages.d.ts +2 -1
  190. package/lib/typescript/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.d.ts +1 -1
  191. package/lib/typescript/scripts/html/bodyHtml.d.ts +1 -5
  192. package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
  193. package/lib/typescript/types/internal/bottomSheet.types.d.ts +35 -0
  194. package/lib/typescript/types/internal/webComponent.types.d.ts +16 -0
  195. package/lib/typescript/{sharedTypes → types/shared}/achCredit.types.d.ts +1 -1
  196. package/lib/typescript/{sharedTypes → types/shared}/activity.types.d.ts +1 -1
  197. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +9 -0
  198. package/lib/typescript/unitSdkManager/unitUiManager/unitUiManager.d.ts +6 -0
  199. package/lib/typescript/webComponent/WebComponent.d.ts +2 -11
  200. package/lib/typescript/webComponent/html.d.ts +1 -0
  201. package/package.json +1 -1
  202. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +47 -8
  203. package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +14 -11
  204. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +7 -11
  205. package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -20
  206. package/src/components/UNAccountComponent/UNAccountComponent.tsx +15 -8
  207. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +4 -3
  208. package/src/components/UNActivityComponent/UNActivityComponent.tsx +15 -8
  209. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +4 -2
  210. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +9 -3
  211. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +1 -0
  212. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +151 -76
  213. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +24 -6
  214. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +72 -41
  215. package/src/components/UNCardComponent/UNCardComponent.tsx +25 -54
  216. package/src/components/UNCardComponent/UNCardComponent.utils.ts +3 -49
  217. package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +4 -4
  218. package/src/components/utils/nativeModulesInfo.ts +11 -0
  219. package/src/flows/UNFlows.ts +13 -0
  220. package/src/flows/card/UNCardFlows.ts +25 -0
  221. package/src/helpers/pushProvisioningService/hooks/useCardWallet.ts +67 -0
  222. package/src/helpers/pushProvisioningService/startProvisioning.ts +20 -0
  223. package/src/index.tsx +1 -1
  224. package/src/messages/nativeMessages/bottomSheetMessage.ts +15 -0
  225. package/src/messages/nativeMessages/cardMessage.ts +1 -24
  226. package/src/messages/nativeMessages/index.ts +3 -3
  227. package/src/messages/webMessages/accountMessage.ts +1 -1
  228. package/src/messages/webMessages/achCreditMessage.ts +1 -1
  229. package/src/messages/webMessages/bookPaymentMessage.ts +1 -1
  230. package/src/messages/webMessages/cardMessage.ts +1 -1
  231. package/src/messages/webMessages/checkMessage.ts +1 -1
  232. package/src/messages/webMessages/onLoadMessage.ts +3 -3
  233. package/src/messages/webMessages/unitMessages.ts +3 -2
  234. package/src/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.ts +1 -1
  235. package/src/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.ts +3 -1
  236. package/src/scripts/html/bodyHtml.ts +2 -14
  237. package/src/scripts/html/bodyScript.ts +13 -3
  238. package/src/types/internal/bottomSheet.types.ts +43 -0
  239. package/src/types/internal/webComponent.types.ts +26 -0
  240. package/src/{sharedTypes → types/shared}/achCredit.types.ts +1 -1
  241. package/src/{sharedTypes → types/shared}/activity.types.ts +1 -1
  242. package/src/unitSdkManager/UnitSdkManager.ts +28 -2
  243. package/src/unitSdkManager/unitUiManager/unitUiManager.ts +13 -0
  244. package/src/webComponent/WebComponent.tsx +7 -15
  245. package/src/webComponent/html.ts +3 -1
  246. package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +0 -1
  247. package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +0 -1
  248. package/lib/commonjs/sharedTypes/achCredit.types.js.map +0 -1
  249. package/lib/commonjs/sharedTypes/activity.types.js.map +0 -1
  250. package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +0 -1
  251. package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +0 -1
  252. package/lib/module/sharedTypes/achCredit.types.js.map +0 -1
  253. package/lib/module/sharedTypes/activity.types.js.map +0 -1
  254. /package/lib/commonjs/{sharedTypes → types/shared}/account.types.js +0 -0
  255. /package/lib/commonjs/{sharedTypes → types/shared}/account.types.js.map +0 -0
  256. /package/lib/commonjs/{sharedTypes → types/shared}/achCredit.types.js +0 -0
  257. /package/lib/commonjs/{sharedTypes → types/shared}/activity.types.js +0 -0
  258. /package/lib/commonjs/{sharedTypes → types/shared}/authorization.types.js +0 -0
  259. /package/lib/commonjs/{sharedTypes → types/shared}/authorization.types.js.map +0 -0
  260. /package/lib/commonjs/{sharedTypes → types/shared}/bookPayment.types.js +0 -0
  261. /package/lib/commonjs/{sharedTypes → types/shared}/bookPayment.types.js.map +0 -0
  262. /package/lib/commonjs/{sharedTypes → types/shared}/card.types.js +0 -0
  263. /package/lib/commonjs/{sharedTypes → types/shared}/card.types.js.map +0 -0
  264. /package/lib/commonjs/{sharedTypes → types/shared}/checkDeposit.types.js +0 -0
  265. /package/lib/commonjs/{sharedTypes → types/shared}/checkDeposit.types.js.map +0 -0
  266. /package/lib/commonjs/{sharedTypes → types/shared}/index.js +0 -0
  267. /package/lib/commonjs/{sharedTypes → types/shared}/index.js.map +0 -0
  268. /package/lib/commonjs/{sharedTypes → types/shared}/onLoadResponse.types.js +0 -0
  269. /package/lib/commonjs/{sharedTypes → types/shared}/onLoadResponse.types.js.map +0 -0
  270. /package/lib/commonjs/{sharedTypes → types/shared}/payments.types.js +0 -0
  271. /package/lib/commonjs/{sharedTypes → types/shared}/payments.types.js.map +0 -0
  272. /package/lib/commonjs/{sharedTypes → types/shared}/transactions.types.js +0 -0
  273. /package/lib/commonjs/{sharedTypes → types/shared}/transactions.types.js.map +0 -0
  274. /package/lib/commonjs/{sharedTypes → types/shared}/types.js +0 -0
  275. /package/lib/commonjs/{sharedTypes → types/shared}/types.js.map +0 -0
  276. /package/lib/commonjs/{sharedTypes → types/shared}/wallet.types.js +0 -0
  277. /package/lib/commonjs/{sharedTypes → types/shared}/wallet.types.js.map +0 -0
  278. /package/lib/module/{sharedTypes → types/shared}/account.types.js +0 -0
  279. /package/lib/module/{sharedTypes → types/shared}/account.types.js.map +0 -0
  280. /package/lib/module/{sharedTypes → types/shared}/achCredit.types.js +0 -0
  281. /package/lib/module/{sharedTypes → types/shared}/activity.types.js +0 -0
  282. /package/lib/module/{sharedTypes → types/shared}/authorization.types.js +0 -0
  283. /package/lib/module/{sharedTypes → types/shared}/authorization.types.js.map +0 -0
  284. /package/lib/module/{sharedTypes → types/shared}/bookPayment.types.js +0 -0
  285. /package/lib/module/{sharedTypes → types/shared}/bookPayment.types.js.map +0 -0
  286. /package/lib/module/{sharedTypes → types/shared}/card.types.js +0 -0
  287. /package/lib/module/{sharedTypes → types/shared}/card.types.js.map +0 -0
  288. /package/lib/module/{sharedTypes → types/shared}/checkDeposit.types.js +0 -0
  289. /package/lib/module/{sharedTypes → types/shared}/checkDeposit.types.js.map +0 -0
  290. /package/lib/module/{sharedTypes → types/shared}/index.js +0 -0
  291. /package/lib/module/{sharedTypes → types/shared}/index.js.map +0 -0
  292. /package/lib/module/{sharedTypes → types/shared}/onLoadResponse.types.js +0 -0
  293. /package/lib/module/{sharedTypes → types/shared}/onLoadResponse.types.js.map +0 -0
  294. /package/lib/module/{sharedTypes → types/shared}/payments.types.js +0 -0
  295. /package/lib/module/{sharedTypes → types/shared}/payments.types.js.map +0 -0
  296. /package/lib/module/{sharedTypes → types/shared}/transactions.types.js +0 -0
  297. /package/lib/module/{sharedTypes → types/shared}/transactions.types.js.map +0 -0
  298. /package/lib/module/{sharedTypes → types/shared}/types.js +0 -0
  299. /package/lib/module/{sharedTypes → types/shared}/types.js.map +0 -0
  300. /package/lib/module/{sharedTypes → types/shared}/wallet.types.js +0 -0
  301. /package/lib/module/{sharedTypes → types/shared}/wallet.types.js.map +0 -0
  302. /package/lib/typescript/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.d.ts +0 -0
  303. /package/lib/typescript/{sharedTypes → types/shared}/account.types.d.ts +0 -0
  304. /package/lib/typescript/{sharedTypes → types/shared}/authorization.types.d.ts +0 -0
  305. /package/lib/typescript/{sharedTypes → types/shared}/bookPayment.types.d.ts +0 -0
  306. /package/lib/typescript/{sharedTypes → types/shared}/card.types.d.ts +0 -0
  307. /package/lib/typescript/{sharedTypes → types/shared}/checkDeposit.types.d.ts +0 -0
  308. /package/lib/typescript/{sharedTypes → types/shared}/index.d.ts +0 -0
  309. /package/lib/typescript/{sharedTypes → types/shared}/onLoadResponse.types.d.ts +0 -0
  310. /package/lib/typescript/{sharedTypes → types/shared}/payments.types.d.ts +0 -0
  311. /package/lib/typescript/{sharedTypes → types/shared}/transactions.types.d.ts +0 -0
  312. /package/lib/typescript/{sharedTypes → types/shared}/types.d.ts +0 -0
  313. /package/lib/typescript/{sharedTypes → types/shared}/wallet.types.d.ts +0 -0
  314. /package/src/{sharedTypes → types/shared}/account.types.ts +0 -0
  315. /package/src/{sharedTypes → types/shared}/authorization.types.ts +0 -0
  316. /package/src/{sharedTypes → types/shared}/bookPayment.types.ts +0 -0
  317. /package/src/{sharedTypes → types/shared}/card.types.ts +0 -0
  318. /package/src/{sharedTypes → types/shared}/checkDeposit.types.ts +0 -0
  319. /package/src/{sharedTypes → types/shared}/index.ts +0 -0
  320. /package/src/{sharedTypes → types/shared}/onLoadResponse.types.ts +0 -0
  321. /package/src/{sharedTypes → types/shared}/payments.types.ts +0 -0
  322. /package/src/{sharedTypes → types/shared}/transactions.types.ts +0 -0
  323. /package/src/{sharedTypes → types/shared}/types.ts +0 -0
  324. /package/src/{sharedTypes → types/shared}/wallet.types.ts +0 -0
@@ -4,17 +4,18 @@ import type WebView from 'react-native-webview';
4
4
  import { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';
5
5
  import { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';
6
6
  import EventBus from '../../helpers/EventBus';
7
- import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
7
+ import { WebComponent } from '../../webComponent/WebComponent';
8
8
  import type { WebViewMessage } from '../../messages/webMessages';
9
9
  import { getAccountParams, getAccountScript, injectOpenActionsMenuScript, injectRefreshEventIfNeeded, injectRequestAccountActionScript } from './UNAccountComponent.utils';
10
- import { PresentationMode } from '../../scripts/html/bodyHtml';
11
- import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
12
- import type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';
10
+ import type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../types/shared';
13
11
  import { useListenerToBus } from '../../hooks/listenerToBus';
14
- import type { UNAccountData } from '../../sharedTypes/account.types';
12
+ import type { UNAccountData } from '../../types/shared/account.types';
15
13
  import { AccountMessage } from '../../messages/webMessages/accountMessage';
16
14
  import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
17
- import type { UNAccountMenuAction } from '../../sharedTypes';
15
+ import type { UNAccountMenuAction } from '../../types/shared';
16
+ import { BottomSheetRenderingType, SlotRendering, type BottomSheetSlotData } from '../../types/internal/bottomSheet.types';
17
+ import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
18
+ import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
18
19
 
19
20
  export interface UNAccountComponentProps {
20
21
  // inputs
@@ -100,12 +101,18 @@ export const UNAccountComponent = React.forwardRef<UNAccountRef, UNAccountCompon
100
101
  handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);
101
102
  break;
102
103
  case UnitMessage.UNIT_REQUEST_RENDERING: {
103
- const event: BottomSheetSlotData = {
104
+ const slotData: BottomSheetSlotData = {
104
105
  componentName: WebComponentType.account,
105
106
  componentResourceId: props.accountId,
106
107
  requestRenderingEvent: message.details as RequestRenderingEvent
107
108
  };
108
- EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);
109
+
110
+ const event = {
111
+ type: BottomSheetRenderingType.Slot,
112
+ data: slotData
113
+ } as SlotRendering;
114
+
115
+ EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);
109
116
  break;
110
117
  }
111
118
  case PageMessage.PAGE_HEIGHT:
@@ -1,13 +1,14 @@
1
1
  import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';
2
2
  import { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';
3
3
  import type WebView from 'react-native-webview';
4
- import { WebComponentType } from '../../webComponent/WebComponent';
5
- import type { UNAccountMenuAction } from 'src/sharedTypes';
4
+ import type { UNAccountMenuAction } from 'src/types/shared';
5
+ import { WebComponentType } from '../../types/internal/webComponent.types';
6
6
 
7
7
  export const getAccountParams = (props: UNAccountComponentProps) => {
8
+ const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
8
9
  return `
9
- account-id="${props.accountId}"
10
10
  customer-token="${props.customerToken}"
11
+ ${accountIdParam}
11
12
  hide-actions-menu-button="${props.hideActionsMenuButton || false}"
12
13
  hide-selection-menu-button="${props.hideSelectionMenuButton || false}"
13
14
  `;
@@ -4,22 +4,23 @@ import { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../m
4
4
  import { useListenerToBus } from '../../hooks/listenerToBus';
5
5
  import type { WebViewMessage } from '../../messages/webMessages';
6
6
  import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
7
- import { PresentationMode } from '../../scripts/html/bodyHtml';
8
- import type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';
9
- import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
7
+ import type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../types/shared';
8
+ import { WebComponent } from '../../webComponent/WebComponent';
10
9
  import { getActivityParams, getActivityScript, injectFiltersChanged, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';
11
10
  import type WebView from 'react-native-webview';
12
- import type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';
13
11
  import EventBus from '../../helpers/EventBus';
14
- import type { UNActivityOnLoadData } from '../../sharedTypes/activity.types';
12
+ import type { UNActivityOnLoadData } from '../../types/shared/activity.types';
15
13
  import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
16
14
  import { ActivityMessage } from '../../messages/webMessages/activityMessage';
15
+ import { BottomSheetRenderingType, type BottomSheetSlotData, type SlotRendering } from '../../types/internal/bottomSheet.types';
16
+ import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
17
+ import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
17
18
 
18
19
  const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
19
20
  export interface UNActivityComponentProps {
20
21
  // inputs
21
- accountId: string;
22
22
  customerToken: string;
23
+ accountId?: string;
23
24
  queryFilter?: string
24
25
 
25
26
  // ui
@@ -75,12 +76,18 @@ export const UNActivityComponent = (props: UNActivityComponentProps) => {
75
76
  const handleWebViewMessage = (message: WebViewMessage) => {
76
77
  switch (message.type) {
77
78
  case UnitMessage.UNIT_REQUEST_RENDERING: {
78
- const event: BottomSheetSlotData = {
79
+ const slotData: BottomSheetSlotData = {
79
80
  componentName: WebComponentType.activity,
80
81
  componentResourceId: props.accountId,
81
82
  requestRenderingEvent: message.details as RequestRenderingEvent
82
83
  };
83
- EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);
84
+
85
+ const event = {
86
+ type: BottomSheetRenderingType.Slot,
87
+ data: slotData
88
+ } as SlotRendering;
89
+
90
+ EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);
84
91
  break;
85
92
  }
86
93
  case UnitMessage.UNIT_ON_LOAD:
@@ -1,14 +1,16 @@
1
- import { WebComponentType } from './../../webComponent/WebComponent';
2
1
  import type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';
3
2
  import type { WebView } from 'react-native-webview';
4
3
  import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
5
4
  import type { UNActivityComponentProps } from './UNActivityComponent';
5
+ import { WebComponentType } from '../../types/internal/webComponent.types';
6
6
 
7
7
  export const getActivityParams = (props: UNActivityComponentProps) => {
8
+ const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
8
9
  const queryFilterParam = props.queryFilter ? `query-filter="${props.queryFilter}"` : '';
10
+
9
11
  return `
10
- account-id="${props.accountId}"
11
12
  customer-token="${props.customerToken}"
13
+ ${accountIdParam}
12
14
  hide-filter-button="${props.hideFilterButton || false}"
13
15
  ${queryFilterParam}
14
16
  style="height: 100%"
@@ -1,24 +1,30 @@
1
1
  import React, { useState } from 'react';
2
- import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
3
- import { PresentationMode } from '../../scripts/html/bodyHtml';
2
+ import { WebComponent } from '../../webComponent/WebComponent';
4
3
  import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
5
4
  import type { WebViewMessage } from '../../messages/webMessages';
6
- import type { UNOnLoadResponse, UNBookPaymentData, UNError, UNAccountData, UNOnLoadResponseData } from '../../sharedTypes';
5
+ import type { UNOnLoadResponse, UNBookPaymentData, UNError, UNAccountData, UNOnLoadResponseData } from '../../types/shared';
7
6
  import { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';
8
7
  import { View } from 'react-native';
9
8
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
10
9
  import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
11
10
  import type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';
12
11
  import { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';
12
+ import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
13
13
 
14
14
  export interface UNBookPaymentComponentProps {
15
+ //inputs
15
16
  accountId: string;
16
17
  customerToken: string;
17
18
  isSameCustomer: boolean;
18
19
  counterPartyAccountId: string;
19
20
  counterPartyName: string;
21
+
22
+ // ui
20
23
  theme?: string;
21
24
  language?: string;
25
+ isAutoFocus?: boolean;
26
+
27
+ // events
22
28
  onPaymentCreated?: (data: UNBookPaymentData) => void;
23
29
  onLoad?: (response: UNOnLoadResponse<UNAccountData>) => void;
24
30
  }
@@ -10,6 +10,7 @@ export const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {
10
10
  is-same-customer="${props.isSameCustomer}"
11
11
  counterparty-account-id="${props.counterPartyAccountId}"
12
12
  counterparty-name="${props.counterPartyName}"
13
+ is-auto-focus="${props.isAutoFocus || false}"
13
14
  style="height: 100%"
14
15
  `;
15
16
  };
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
3
  import type WebView from 'react-native-webview';
4
- import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
4
+ import { WebComponent } from '../../webComponent/WebComponent';
5
5
  import { Dimensions, Linking, View } from 'react-native';
6
6
  import BottomSheet from '../../helpers/BottomSheet/BottomSheet';
7
7
  import EventBus from '../../helpers/EventBus';
@@ -11,13 +11,15 @@ import { CardMessage, CardActivatedEvent, CardStatusChangedEvent } from '../../m
11
11
  import { useListenerToBus } from '../../hooks/listenerToBus';
12
12
  import type { WebViewMessage } from '../../messages/webMessages';
13
13
  import {
14
+ extractCardIdFromComponentParams,
14
15
  getBottomSheetScript,
15
- handleHtmlFullHeight,
16
+ injectHtmlFullScreenHeight,
17
+ isAddToWalletByComponentParams,
18
+ isAddToWalletFromRequestRendering,
16
19
  renderingBottomSheetRequest,
17
20
  resetHtml,
18
21
  } from './UNBottomSheetComponent.utils';
19
22
  import { getStylesObject } from './UNBottomSheetComponent.styles';
20
- import { PresentationMode } from '../../scripts/html/bodyHtml';
21
23
  import { useAppStateListener } from '../../hooks/useAppStateListener';
22
24
  import { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';
23
25
  import { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';
@@ -25,6 +27,10 @@ import { AccountAction } from '../UNAccountComponent/UNAccountComponent';
25
27
  import type { AccountChangedEvent } from '../../messages/webMessages/accountMessage';
26
28
  import { AccountMessage } from '../../messages/webMessages/accountMessage';
27
29
  import { ActivityFiltersChangedEvent, ActivityMessage } from '../../messages/webMessages/activityMessage';
30
+ import { BOTTOM_SHEET_MAX_PERCENTAGE_SIZE } from './UNBottomSheetComponent.constants';
31
+ import { BottomSheetRenderingType, BottomSheetSlotData, NativeComponentData, WebComponentData } from '../../types/internal/bottomSheet.types';
32
+ import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
33
+ import { BottomSheetNativeMessage, type StartBottomSheetFlowMessage } from '../../messages/nativeMessages/bottomSheetMessage';
28
34
 
29
35
  export enum ScrollState {
30
36
  /*
@@ -49,40 +55,49 @@ export enum ScrollState {
49
55
  onlyBottomSheet = 'onlyBottomSheet',
50
56
  }
51
57
 
52
- export type BottomSheetSlotData = {
53
- // The data that rendered by the web view
54
- componentName?: WebComponentType,
55
- componentResourceId?: string,
56
- requestRenderingEvent: RequestRenderingEvent
57
- }
58
-
59
- enum CustomDialog {
60
- addToWallet
61
- }
62
-
63
58
  export const UNBottomSheetComponent = () => {
64
59
  const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);
65
60
  const [height, setHeight] = useState(0);
66
61
 
62
+ const fullScreenHeight = Dimensions.get('window').height * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;
63
+
64
+ const [renderingType, setRenderingType] = useState<BottomSheetRenderingType>(BottomSheetRenderingType.Slot);
67
65
  const [bottomSheetSlotData, setBottomSheetSlotData] = useState<BottomSheetSlotData>();
68
- const [requestRenderingEvent, setRequestRenderingEvent] = useState<RequestRenderingEvent>();
66
+ const [webComponentData, setWebComponentData] = useState<WebComponentData>();
67
+ const [nativeComponentData, setNativeComponentData] = useState<NativeComponentData>();
68
+
69
+ const [isAddToWallet, setIsAddToWallet] = useState(false);
69
70
  const [scrollState, setScrollState] = useState<ScrollState>(ScrollState.onTop);
70
71
 
71
- const [waitForLoadingNewComponent, setWaitForLoadingNewComponent] = useState(false);
72
+ const [shouldShowComponent, setShouldShowComponent] = useState(false);
72
73
  const [newHeightMessage, setNewHeightMessage] = useState<WebViewMessage | null>(null);
73
74
 
74
- const [customDialog, setCustomDialog] = useState<CustomDialog | null>(null);
75
-
76
75
  const isAppActive = useAppStateListener();
77
76
 
78
77
  const styles = getStylesObject();
79
78
 
80
79
  const webRef = useRef<WebView>(null);
81
80
 
82
- const handleRequestRendering = (data: BottomSheetSlotData) => {
83
- setBottomSheetSlotData(data);
81
+ const startFlow = (rendering: StartBottomSheetFlowMessage) => {
82
+ setRenderingType(rendering.type);
84
83
  setIsBottomSheetActive(true);
85
- setRequestRenderingEvent(data.requestRenderingEvent);
84
+ setShouldShowComponent(true);
85
+ switch (rendering.type) {
86
+ case BottomSheetRenderingType.Slot:
87
+ setBottomSheetSlotData(rendering.data);
88
+ setIsAddToWallet(isAddToWalletFromRequestRendering(rendering.data));
89
+ setWebComponentData(undefined);
90
+ break;
91
+ case BottomSheetRenderingType.WebComponent:
92
+ setIsAddToWallet(isAddToWalletByComponentParams(rendering.data));
93
+ isAddToWallet && setHeight(fullScreenHeight);
94
+ setBottomSheetSlotData(undefined);
95
+ setWebComponentData(rendering.data);
96
+ break;
97
+ case BottomSheetRenderingType.NativeComponent:
98
+ setNativeComponentData(rendering.data);
99
+ break;
100
+ }
86
101
  };
87
102
 
88
103
  const handleCloseFlow = () => {
@@ -90,88 +105,137 @@ export const UNBottomSheetComponent = () => {
90
105
  };
91
106
 
92
107
  useEffect(() => {
93
- setRequestRenderingEvent(bottomSheetSlotData?.requestRenderingEvent);
94
- }, [bottomSheetSlotData]);
95
-
96
- useEffect(() => {
97
- if (!webRef.current) return;
98
- if (requestRenderingEvent) {
99
- renderingBottomSheetRequest(webRef.current, requestRenderingEvent);
108
+ switch (renderingType) {
109
+ case BottomSheetRenderingType.Slot:
110
+ if (webRef.current && bottomSheetSlotData?.requestRenderingEvent) {
111
+ renderingBottomSheetRequest(webRef.current, bottomSheetSlotData.requestRenderingEvent);
112
+ }
113
+ break;
114
+ case BottomSheetRenderingType.WebComponent:
115
+ if (isAddToWallet) {
116
+ webRef.current?.injectJavaScript('document.activeElement && document.activeElement.blur();');
117
+ setHeight(fullScreenHeight);
118
+ }
119
+ break;
120
+ case BottomSheetRenderingType.NativeComponent:
121
+ break;
100
122
  }
101
- }, [webRef.current, requestRenderingEvent]);
123
+ }, [webRef, webComponentData, bottomSheetSlotData, nativeComponentData]);
102
124
 
103
125
  useEffect(() => {
104
126
  if (!isBottomSheetActive) {
105
127
  webRef.current && resetHtml(webRef.current);
106
128
  setHeight(0);
107
- setRequestRenderingEvent(undefined);
129
+ setShouldShowComponent(false);
130
+ setWebComponentData(undefined);
131
+ setBottomSheetSlotData(undefined);
132
+ setRenderingType(BottomSheetRenderingType.Slot);
108
133
  setScrollState(ScrollState.onTop);
109
- setCustomDialog(null);
134
+ setIsAddToWallet(false);
110
135
  }
111
136
  }, [isBottomSheetActive]);
112
137
 
113
138
  useEffect(() => {
114
- if (!waitForLoadingNewComponent && newHeightMessage) {
115
- setWaitForLoadingNewComponent(false);
139
+ if (shouldShowComponent) {
140
+ defineScrollState();
116
141
  setNewHeight(newHeightMessage);
117
142
  }
118
- }, [waitForLoadingNewComponent, newHeightMessage]);
143
+ }, [shouldShowComponent, newHeightMessage, isAddToWallet]);
119
144
 
120
- useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering });
145
+ useListenerToBus({ busEventKey: BottomSheetNativeMessage.START_FLOW, action: startFlow });
121
146
  useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });
122
147
 
123
- const setNewHeight = (message: WebViewMessage) => {
124
- if (!requestRenderingEvent) return;
125
- switch (bottomSheetSlotData?.componentName) {
126
- case WebComponentType.account: {
127
- const accountActionType = getAccountActionType(requestRenderingEvent);
128
- setScrollState(
129
- accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable
130
- );
131
- break;
132
- }
133
- case WebComponentType.card: {
134
- if (customDialog === CustomDialog.addToWallet) {
135
- setScrollState(ScrollState.unScrollable);
136
- } else {
137
- setScrollState(ScrollState.onTop);
148
+ const defineScrollState = () => {
149
+ const scrollStateForSlot = () => {
150
+ if (!bottomSheetSlotData?.requestRenderingEvent) return;
151
+ switch (bottomSheetSlotData?.componentName) {
152
+ case WebComponentType.account: {
153
+ const accountActionType = getAccountActionType(bottomSheetSlotData.requestRenderingEvent);
154
+ setScrollState(
155
+ accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable
156
+ );
157
+ break;
138
158
  }
139
- break;
140
- }
141
- default: {
142
- const nativePlace = requestRenderingEvent?.data.nativePlace;
143
- if (nativePlace == 'overFullScreen') {
144
- setScrollState(ScrollState.onTop);
145
- } else {
146
- setScrollState(ScrollState.unScrollable);
159
+ case WebComponentType.card: {
160
+ if (isAddToWallet) {
161
+ setScrollState(ScrollState.unScrollable);
162
+ } else {
163
+ setScrollState(ScrollState.onTop);
164
+ }
165
+ break;
166
+ }
167
+ default: {
168
+ // default web component case
169
+ const nativePlace = bottomSheetSlotData.requestRenderingEvent.data.nativePlace;
170
+ if (nativePlace == 'overFullScreen') {
171
+ setScrollState(ScrollState.onTop);
172
+ } else {
173
+ setScrollState(ScrollState.unScrollable);
174
+ }
147
175
  }
148
176
  }
177
+ };
178
+
179
+ const scrollStateForWebComponent = () => {
180
+ if (isAddToWallet) {
181
+ setScrollState(ScrollState.unScrollable);
182
+ } else {
183
+ setScrollState(ScrollState.onTop);
184
+ }
185
+ };
186
+
187
+ switch (renderingType) {
188
+ case BottomSheetRenderingType.Slot:
189
+ scrollStateForSlot();
190
+ break;
191
+ case BottomSheetRenderingType.WebComponent:
192
+ scrollStateForWebComponent();
193
+ break;
194
+ default:
195
+ setScrollState(ScrollState.onTop);
149
196
  }
150
- const nativePlace = requestRenderingEvent?.data.nativePlace;
151
- if (nativePlace == 'overFullScreen') {
152
- const bottomSheetNewHeight = handleHtmlFullHeight(webRef.current, Dimensions.get('window').height);
153
- setHeight(bottomSheetNewHeight);
154
- } else {
155
- setHeight((message.details as HeightEvent).height);
197
+ };
198
+
199
+ const setNewHeight = (message: WebViewMessage | null) => {
200
+ if (isAddToWallet) {
201
+ setHeight(fullScreenHeight);
202
+ } else if (message) {
203
+ const nativePlace = bottomSheetSlotData?.requestRenderingEvent.data.nativePlace;
204
+ if (nativePlace == 'overFullScreen') {
205
+ injectHtmlFullScreenHeight(webRef.current, fullScreenHeight);
206
+ setHeight(fullScreenHeight);
207
+ } else {
208
+ setHeight((message.details as HeightEvent).height);
209
+ }
156
210
  }
157
211
  };
158
212
 
159
213
  const onWebMessage = (message: WebViewMessage) => {
160
214
  switch (message.type) {
161
215
  case PageMessage.PAGE_HEIGHT:
162
- requestRenderingEvent && setNewHeightMessage(message);
216
+ bottomSheetSlotData?.requestRenderingEvent && setNewHeightMessage(message);
163
217
  break;
164
218
  case UnitMessage.UNIT_REQUEST_RENDERING: {
219
+ setRenderingType(BottomSheetRenderingType.Slot);
165
220
  const requestRendering = (message.details as RequestRenderingEvent);
166
- if (requestRendering.data.nativeComponent != requestRenderingEvent?.data?.nativeComponent) {
167
- if (requestRendering.data.nativeComponent.includes('action=AddToWallet')) {
168
- setCustomDialog(CustomDialog.addToWallet);
169
- }
221
+ setWebComponentData(undefined);
222
+ if (requestRendering.data.nativeComponent != bottomSheetSlotData?.requestRenderingEvent?.data?.nativeComponent) {
223
+ setIsAddToWallet(requestRendering.data.nativeComponent.includes('action=AddToWallet'));
170
224
 
225
+ // Animation between bottom sheet screens
226
+ // Close the bottom sheet
171
227
  setHeight(0);
172
- setRequestRenderingEvent(requestRendering);
173
- setWaitForLoadingNewComponent(true);
174
- setTimeout(() => setWaitForLoadingNewComponent(false), 400);
228
+ setShouldShowComponent(false);
229
+
230
+ // Update the bottom sheet data
231
+ setBottomSheetSlotData({
232
+ componentResourceId: bottomSheetSlotData?.componentResourceId,
233
+ componentName: bottomSheetSlotData?.componentName,
234
+ requestRenderingEvent: requestRendering
235
+ });
236
+
237
+ // Open the bottom sheet
238
+ setTimeout(() => setShouldShowComponent(true), 400);
175
239
  }
176
240
  break;
177
241
  }
@@ -218,10 +282,12 @@ export const UNBottomSheetComponent = () => {
218
282
  };
219
283
 
220
284
  const renderBottomSheetItem = () => {
221
- switch (customDialog) {
222
- case CustomDialog.addToWallet:
223
- return <UNAddToWalletBottomSheetItem renderingRequest={requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} />;
224
- default:
285
+ switch (renderingType) {
286
+ case BottomSheetRenderingType.Slot:
287
+ if (bottomSheetSlotData?.requestRenderingEvent.data.nativeComponent?.includes('action=AddToWallet') && bottomSheetSlotData?.componentResourceId) {
288
+ return <UNAddToWalletBottomSheetItem renderingType={renderingType} renderingRequest={bottomSheetSlotData.requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} fullScreenHeight={fullScreenHeight}/>;
289
+ }
290
+
225
291
  return (
226
292
  <WebComponent
227
293
  ref={webRef}
@@ -233,6 +299,15 @@ export const UNBottomSheetComponent = () => {
233
299
  handleScroll={onScrollWebView}
234
300
  />
235
301
  );
302
+ case BottomSheetRenderingType.WebComponent:
303
+ if (webComponentData?.params?.includes('action=AddToWallet')) {
304
+ const cardId = extractCardIdFromComponentParams(webComponentData);
305
+ if (!cardId) return null;
306
+ return <UNAddToWalletBottomSheetItem renderingType={renderingType} webComponentData={webComponentData} cardId={cardId} fullScreenHeight={fullScreenHeight}/>;
307
+ }
308
+ return null;
309
+ case BottomSheetRenderingType.NativeComponent:
310
+ return null;
236
311
  }
237
312
  };
238
313
 
@@ -1,7 +1,8 @@
1
1
  import { LISTENERS } from './../../scripts/html/bodyScript';
2
2
  import type WebView from 'react-native-webview';
3
- import { BOTTOM_SHEET_MAX_PERCENTAGE_SIZE } from './UNBottomSheetComponent.constants';
4
3
  import type { RequestRenderingEvent } from '../../messages/webMessages/unitMessages';
4
+ import type { BottomSheetSlotData, WebComponentData } from '../../types/internal/bottomSheet.types';
5
+ import { webViewId } from '../../scripts/html/bodyHtml';
5
6
 
6
7
  export const getBottomSheetScript = () => {
7
8
  return LISTENERS.requestRefresh;
@@ -17,15 +18,32 @@ export const renderingBottomSheetRequest = (currentWebView: WebView, renderingRe
17
18
  export const resetHtml = (currentWebView: WebView) => {
18
19
  currentWebView?.injectJavaScript(`
19
20
  document.activeElement && document.activeElement.blur();
20
- document.getElementById('webViewContainer').style.height = null;
21
+ document.getElementById('${webViewId}').style.height = null;
21
22
  `);
22
23
  };
23
24
 
24
- export const handleHtmlFullHeight = (currentWebView: WebView | null, windowHeight: number) => {
25
- const bottomSheetHeight = windowHeight * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;
25
+ export const injectHtmlFullScreenHeight = (currentWebView: WebView | null, bottomSheetHeight: number) => {
26
26
  currentWebView && currentWebView?.injectJavaScript(`
27
- document.getElementById('webViewContainer').style.height = '${bottomSheetHeight}px';
27
+ document.getElementById('${webViewId}').style.height = '${bottomSheetHeight}px';
28
28
  `);
29
+ };
30
+
31
+ export const isAddToWalletFromRequestRendering = (data: BottomSheetSlotData): boolean => {
32
+ return data.requestRenderingEvent?.data?.nativeComponent.includes('AddToWallet') ?? false;
33
+ };
34
+
35
+ export const isAddToWalletByComponentParams = (data: WebComponentData): boolean => {
36
+ return data.params?.includes('AddToWallet') ?? false;
37
+ };
38
+
39
+ export const extractCardIdFromComponentParams = (data: WebComponentData): string | null => {
40
+ const regex = /card-id=(\d+)/;
41
+ const match = data.params?.match(regex);
29
42
 
30
- return bottomSheetHeight;
43
+ if (match && match[1]) {
44
+ const cardId = match[1];
45
+ return cardId;
46
+ } else {
47
+ return null;
48
+ }
31
49
  };