react-native-unit-components 1.0.0 → 1.0.2

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 (235) hide show
  1. package/android/src/main/java/com/unitreactnativecomponents/UnitAddToWalletButtonViewManager.kt +27 -0
  2. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsEvent.kt +21 -0
  3. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +2 -1
  4. package/android/src/main/java/com/unitreactnativecomponents/visapresentation/UNGooglePayView.kt +197 -0
  5. package/android/src/main/res/drawable/ic_launcher_background.xml +170 -0
  6. package/android/src/main/res/drawable/un_add_to_googlepay_button_content.xml +54 -0
  7. package/android/src/main/res/drawable/un_black_add_to_googlepay_button_content.xml +54 -0
  8. package/android/src/main/res/drawable/un_black_googlepay_button_background.xml +6 -0
  9. package/android/src/main/res/drawable/un_black_googlepay_button_background_image.9.png +0 -0
  10. package/android/src/main/res/drawable/un_black_googlepay_button_content.xml +48 -0
  11. package/android/src/main/res/drawable/un_black_googlepay_button_no_shadow_background.xml +6 -0
  12. package/android/src/main/res/drawable/un_black_googlepay_button_no_shadow_background_image.9.png +0 -0
  13. package/android/src/main/res/drawable/un_black_googlepay_button_overlay.xml +12 -0
  14. package/android/src/main/res/drawable/un_border.xml +6 -0
  15. package/android/src/main/res/drawable/un_condensed_googlepay.xml +27 -0
  16. package/android/src/main/res/drawable/un_googlepay_button_background.xml +18 -0
  17. package/android/src/main/res/drawable/un_googlepay_button_background_image.9.png +0 -0
  18. package/android/src/main/res/drawable/un_googlepay_button_background_image_focused.9.png +0 -0
  19. package/android/src/main/res/drawable/un_googlepay_button_background_image_pressed.9.png +0 -0
  20. package/android/src/main/res/drawable/un_googlepay_button_content.xml +48 -0
  21. package/android/src/main/res/drawable/un_googlepay_button_no_shadow_background.xml +18 -0
  22. package/android/src/main/res/drawable/un_googlepay_button_no_shadow_background_image.9.png +0 -0
  23. package/android/src/main/res/drawable/un_googlepay_button_no_shadow_background_image_focused.9.png +0 -0
  24. package/android/src/main/res/drawable/un_googlepay_button_no_shadow_background_image_pressed.9.png +0 -0
  25. package/android/src/main/res/drawable/un_googlepay_button_overlay.xml +11 -0
  26. package/android/src/main/res/drawable/un_ic_launcher_foreground.xml +30 -0
  27. package/android/src/main/res/drawable/un_ic_unit_logo.xml +25 -0
  28. package/android/src/main/res/drawable/un_ic_visa.xml +13 -0
  29. package/android/src/main/res/drawable-bg/un_add_to_googlepay_button_content.xml +54 -0
  30. package/android/src/main/res/drawable-bg/un_black_add_to_googlepay_button_content.xml +54 -0
  31. package/android/src/main/res/drawable-ca/un_add_to_googlepay_button_content.xml +30 -0
  32. package/android/src/main/res/drawable-ca/un_black_add_to_googlepay_button_content.xml +30 -0
  33. package/android/src/main/res/drawable-cs/un_add_to_googlepay_button_content.xml +54 -0
  34. package/android/src/main/res/drawable-cs/un_black_add_to_googlepay_button_content.xml +54 -0
  35. package/android/src/main/res/drawable-da/un_add_to_googlepay_button_content.xml +30 -0
  36. package/android/src/main/res/drawable-da/un_black_add_to_googlepay_button_content.xml +30 -0
  37. package/android/src/main/res/drawable-de/un_add_to_googlepay_button_content.xml +60 -0
  38. package/android/src/main/res/drawable-de/un_black_add_to_googlepay_button_content.xml +60 -0
  39. package/android/src/main/res/drawable-el/un_add_to_googlepay_button_content.xml +67 -0
  40. package/android/src/main/res/drawable-el/un_black_add_to_googlepay_button_content.xml +67 -0
  41. package/android/src/main/res/drawable-es/un_add_to_googlepay_button_content.xml +54 -0
  42. package/android/src/main/res/drawable-es/un_black_add_to_googlepay_button_content.xml +54 -0
  43. package/android/src/main/res/drawable-et/un_add_to_googlepay_button_content.xml +64 -0
  44. package/android/src/main/res/drawable-et/un_black_add_to_googlepay_button_content.xml +64 -0
  45. package/android/src/main/res/drawable-fi/un_add_to_googlepay_button_content.xml +39 -0
  46. package/android/src/main/res/drawable-fi/un_black_add_to_googlepay_button_content.xml +39 -0
  47. package/android/src/main/res/drawable-fr/un_add_to_googlepay_button_content.xml +54 -0
  48. package/android/src/main/res/drawable-fr/un_black_add_to_googlepay_button_content.xml +54 -0
  49. package/android/src/main/res/drawable-hr/un_add_to_googlepay_button_content.xml +54 -0
  50. package/android/src/main/res/drawable-hr/un_black_add_to_googlepay_button_content.xml +54 -0
  51. package/android/src/main/res/drawable-hu/un_add_to_googlepay_button_content.xml +64 -0
  52. package/android/src/main/res/drawable-hu/un_black_add_to_googlepay_button_content.xml +64 -0
  53. package/android/src/main/res/drawable-in/un_add_to_googlepay_button_content.xml +54 -0
  54. package/android/src/main/res/drawable-in/un_black_add_to_googlepay_button_content.xml +54 -0
  55. package/android/src/main/res/drawable-it/un_add_to_googlepay_button_content.xml +54 -0
  56. package/android/src/main/res/drawable-it/un_black_add_to_googlepay_button_content.xml +54 -0
  57. package/android/src/main/res/drawable-iw/un_add_to_googlepay_button_content.xml +41 -0
  58. package/android/src/main/res/drawable-iw/un_black_add_to_googlepay_button_content.xml +41 -0
  59. package/android/src/main/res/drawable-ja/un_add_to_googlepay_button_content.xml +54 -0
  60. package/android/src/main/res/drawable-ja/un_black_add_to_googlepay_button_content.xml +54 -0
  61. package/android/src/main/res/drawable-ko/un_add_to_googlepay_button_content.xml +54 -0
  62. package/android/src/main/res/drawable-ko/un_black_add_to_googlepay_button_content.xml +54 -0
  63. package/android/src/main/res/drawable-lt/un_add_to_googlepay_button_content.xml +70 -0
  64. package/android/src/main/res/drawable-lt/un_black_add_to_googlepay_button_content.xml +70 -0
  65. package/android/src/main/res/drawable-lv/un_add_to_googlepay_button_content.xml +61 -0
  66. package/android/src/main/res/drawable-lv/un_black_add_to_googlepay_button_content.xml +61 -0
  67. package/android/src/main/res/drawable-ms/un_add_to_googlepay_button_content.xml +54 -0
  68. package/android/src/main/res/drawable-ms/un_black_add_to_googlepay_button_content.xml +54 -0
  69. package/android/src/main/res/drawable-nb/un_add_to_googlepay_button_content.xml +30 -0
  70. package/android/src/main/res/drawable-nb/un_black_add_to_googlepay_button_content.xml +30 -0
  71. package/android/src/main/res/drawable-nl/un_add_to_googlepay_button_content.xml +58 -0
  72. package/android/src/main/res/drawable-nl/un_black_add_to_googlepay_button_content.xml +54 -0
  73. package/android/src/main/res/drawable-pl/un_add_to_googlepay_button_content.xml +30 -0
  74. package/android/src/main/res/drawable-pl/un_black_add_to_googlepay_button_content.xml +30 -0
  75. package/android/src/main/res/drawable-pt/un_add_to_googlepay_button_content.xml +54 -0
  76. package/android/src/main/res/drawable-pt/un_black_add_to_googlepay_button_content.xml +54 -0
  77. package/android/src/main/res/drawable-ro/un_add_to_googlepay_button_content.xml +58 -0
  78. package/android/src/main/res/drawable-ro/un_black_add_to_googlepay_button_content.xml +58 -0
  79. package/android/src/main/res/drawable-ru/un_add_to_googlepay_button_content.xml +54 -0
  80. package/android/src/main/res/drawable-ru/un_black_add_to_googlepay_button_content.xml +54 -0
  81. package/android/src/main/res/drawable-sk/un_add_to_googlepay_button_content.xml +54 -0
  82. package/android/src/main/res/drawable-sk/un_black_add_to_googlepay_button_content.xml +54 -0
  83. package/android/src/main/res/drawable-sl/un_add_to_googlepay_button_content.xml +54 -0
  84. package/android/src/main/res/drawable-sl/un_black_add_to_googlepay_button_content.xml +54 -0
  85. package/android/src/main/res/drawable-sr/un_add_to_googlepay_button_content.xml +54 -0
  86. package/android/src/main/res/drawable-sr/un_black_add_to_googlepay_button_content.xml +54 -0
  87. package/android/src/main/res/drawable-sv/un_add_to_googlepay_button_content.xml +30 -0
  88. package/android/src/main/res/drawable-sv/un_black_add_to_googlepay_button_content.xml +30 -0
  89. package/android/src/main/res/drawable-th/un_add_to_googlepay_button_content.xml +54 -0
  90. package/android/src/main/res/drawable-th/un_black_add_to_googlepay_button_content.xml +54 -0
  91. package/android/src/main/res/drawable-tr/un_add_to_googlepay_button_content.xml +54 -0
  92. package/android/src/main/res/drawable-tr/un_black_add_to_googlepay_button_content.xml +54 -0
  93. package/android/src/main/res/drawable-uk/un_add_to_googlepay_button_content.xml +54 -0
  94. package/android/src/main/res/drawable-uk/un_black_add_to_googlepay_button_content.xml +54 -0
  95. package/android/src/main/res/drawable-v21/un_black_googlepay_button_background.xml +7 -0
  96. package/android/src/main/res/drawable-v21/un_black_googlepay_button_background_image.9.png +0 -0
  97. package/android/src/main/res/drawable-v21/un_black_googlepay_button_no_shadow_background.xml +7 -0
  98. package/android/src/main/res/drawable-v21/un_black_googlepay_button_no_shadow_background_image.9.png +0 -0
  99. package/android/src/main/res/drawable-v24/ic_launcher_background.xml +170 -0
  100. package/android/src/main/res/drawable-v24/un_border.xml +6 -0
  101. package/android/src/main/res/drawable-v24/un_ic_launcher_foreground.xml +30 -0
  102. package/android/src/main/res/drawable-v24/un_ic_unit_logo.xml +25 -0
  103. package/android/src/main/res/drawable-v24/un_ic_visa.xml +13 -0
  104. package/android/src/main/res/drawable-zh/un_add_to_googlepay_button_content.xml +54 -0
  105. package/android/src/main/res/drawable-zh/un_black_add_to_googlepay_button_content.xml +54 -0
  106. package/android/src/main/res/layout/un_black_add_to_googlepay_button.xml +32 -0
  107. package/android/src/main/res/layout/un_view_google_push_provisioning.xml +45 -0
  108. package/android/src/main/res/layout/un_white_add_to_googlepay_button.xml +31 -0
  109. package/android/src/main/res/layout/un_white_add_to_googlepay_button_no_shadow.xml +31 -0
  110. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
  111. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
  112. package/android/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  113. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  114. package/android/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  115. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  116. package/android/src/main/res/mipmap-xhdpi/black_googlepay_button_background_image.9.png +0 -0
  117. package/android/src/main/res/mipmap-xhdpi/black_googlepay_button_no_shadow_background_image.9.png +0 -0
  118. package/android/src/main/res/mipmap-xhdpi/googlepay_button_background_image.9.png +0 -0
  119. package/android/src/main/res/mipmap-xhdpi/googlepay_button_background_image_focused.9.png +0 -0
  120. package/android/src/main/res/mipmap-xhdpi/googlepay_button_background_image_pressed.9.png +0 -0
  121. package/android/src/main/res/mipmap-xhdpi/googlepay_button_no_shadow_background_image_focused.9.png +0 -0
  122. package/android/src/main/res/mipmap-xhdpi/googlepay_button_no_shadow_background_image_pressed.9.png +0 -0
  123. package/android/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  124. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  125. package/android/src/main/res/mipmap-xhdpi/white_googlepay_button_no_shadow_background_image.9.png +0 -0
  126. package/android/src/main/res/mipmap-xxhdpi/black_googlepay_button_background_image.9.png +0 -0
  127. package/android/src/main/res/mipmap-xxhdpi/black_googlepay_button_no_shadow_background_image.9.png +0 -0
  128. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_background_image.9.png +0 -0
  129. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_background_image_focused.9.png +0 -0
  130. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_background_image_pressed.9.png +0 -0
  131. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  132. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_no_shadow_background_image_focused.9.png +0 -0
  133. package/android/src/main/res/mipmap-xxhdpi/googlepay_button_no_shadow_background_image_pressed.9.png +0 -0
  134. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  135. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  136. package/android/src/main/res/mipmap-xxxhdpi/black_googlepay_button_background_image.9.png +0 -0
  137. package/android/src/main/res/mipmap-xxxhdpi/black_googlepay_button_no_shadow_background_image.9.png +0 -0
  138. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_background_image.9.png +0 -0
  139. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_background_image_focused.9.png +0 -0
  140. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_background_image_pressed.9.png +0 -0
  141. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_no_shadow_background_image.9.png +0 -0
  142. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_no_shadow_background_image_focused.9.png +0 -0
  143. package/android/src/main/res/mipmap-xxxhdpi/googlepay_button_no_shadow_background_image_pressed.9.png +0 -0
  144. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  145. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  146. package/android/src/main/res/values/colors.xml +14 -0
  147. package/android/src/main/res/values/googlepay_strings.xml +7 -0
  148. package/android/src/main/res/values/strings.xml +4 -0
  149. package/android/src/main/res/values/themes.xml +16 -0
  150. package/android/src/main/res/values-night/themes.xml +16 -0
  151. package/ios/UnitReactNativeComponents.xcodeproj/project.pbxproj +8 -8
  152. package/ios/UnitReactNativeComponentsViewManager.m +3 -2
  153. package/ios/UnitReactNativeComponentsViewManager.swift +39 -25
  154. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +39 -8
  155. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  156. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +0 -3
  157. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  158. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +41 -10
  159. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  160. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +0 -3
  161. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  162. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +39 -6
  163. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  164. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +2 -1
  165. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  166. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +0 -3
  167. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  168. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +7 -6
  169. package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
  170. package/lib/commonjs/messages/nativeMessages/index.js +1 -0
  171. package/lib/commonjs/messages/nativeMessages/index.js.map +1 -1
  172. package/lib/commonjs/messages/webMessages/pageMessage.js.map +1 -1
  173. package/lib/commonjs/nativeComponent/UNNativeAddToWalletButton.js +13 -0
  174. package/lib/commonjs/nativeComponent/UNNativeAddToWalletButton.js.map +1 -0
  175. package/lib/commonjs/scripts/html/bodyHtml.js +1 -1
  176. package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
  177. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +8 -0
  178. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  179. package/lib/commonjs/webComponent/WebComponent.js +31 -6
  180. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  181. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +33 -7
  182. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  183. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +0 -2
  184. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  185. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +36 -9
  186. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  187. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +0 -2
  188. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  189. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +37 -5
  190. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  191. package/lib/module/components/UNCardComponent/UNCardComponent.js +2 -1
  192. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  193. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +0 -2
  194. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  195. package/lib/module/helpers/BottomSheet/BottomSheet.js +7 -6
  196. package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
  197. package/lib/module/messages/nativeMessages/index.js +1 -0
  198. package/lib/module/messages/nativeMessages/index.js.map +1 -1
  199. package/lib/module/messages/webMessages/pageMessage.js.map +1 -1
  200. package/lib/module/nativeComponent/UNNativeAddToWalletButton.js +4 -0
  201. package/lib/module/nativeComponent/UNNativeAddToWalletButton.js.map +1 -0
  202. package/lib/module/scripts/html/bodyHtml.js +1 -1
  203. package/lib/module/scripts/html/bodyHtml.js.map +1 -1
  204. package/lib/module/unitSdkManager/UnitSdkManager.js +3 -0
  205. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  206. package/lib/module/webComponent/WebComponent.js +29 -6
  207. package/lib/module/webComponent/WebComponent.js.map +1 -1
  208. package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +6 -0
  209. package/lib/typescript/helpers/BottomSheet/BottomSheet.d.ts +2 -0
  210. package/lib/typescript/messages/nativeMessages/index.d.ts +2 -1
  211. package/lib/typescript/nativeComponent/UNNativeAddToWalletButton.d.ts +6 -0
  212. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +1 -1
  213. package/lib/typescript/webComponent/WebComponent.d.ts +5 -2
  214. package/package.json +1 -1
  215. package/src/components/UNActivityComponent/UNActivityComponent.tsx +33 -7
  216. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +0 -2
  217. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +35 -9
  218. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +0 -2
  219. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +35 -4
  220. package/src/components/UNCardComponent/UNCardComponent.tsx +2 -1
  221. package/src/components/UNCardComponent/UNCardComponent.utils.ts +0 -2
  222. package/src/helpers/BottomSheet/BottomSheet.tsx +7 -5
  223. package/src/messages/nativeMessages/index.ts +2 -1
  224. package/src/messages/webMessages/pageMessage.ts +1 -1
  225. package/src/nativeComponent/UNNativeAddToWalletButton.tsx +12 -0
  226. package/src/scripts/html/bodyHtml.ts +1 -1
  227. package/src/unitSdkManager/UnitSdkManager.ts +4 -1
  228. package/src/webComponent/WebComponent.tsx +33 -9
  229. package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsViewManager.kt +0 -19
  230. package/lib/commonjs/nativeComponenet/NativeComponentExample.js +0 -19
  231. package/lib/commonjs/nativeComponenet/NativeComponentExample.js.map +0 -1
  232. package/lib/module/nativeComponenet/NativeComponentExample.js +0 -10
  233. package/lib/module/nativeComponenet/NativeComponentExample.js.map +0 -1
  234. package/lib/typescript/nativeComponenet/NativeComponentExample.d.ts +0 -7
  235. package/src/nativeComponenet/NativeComponentExample.tsx +0 -26
@@ -63,10 +63,11 @@ export const UNCardComponent = (props: UNCardComponentProps) => {
63
63
  type={WebComponentType.card}
64
64
  presentationMode={PresentationMode.Default}
65
65
  params={getCardParams(props)}
66
+ theme={props.theme}
66
67
  script={getCardScript()}
67
68
  onMessage={message => handleMessage(message)}
68
69
  width={windowWidth}
69
- shouldEnableWebViewScroll={false}
70
+ isScrollable={false}
70
71
  />
71
72
  </View>
72
73
  );
@@ -2,13 +2,11 @@ import type WebView from 'react-native-webview';
2
2
  import type { UNCardComponentProps } from './UNCardComponent';
3
3
  import { WebComponentType } from '../../webComponent/WebComponent';
4
4
  import { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';
5
- import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
6
5
 
7
6
  export const getCardParams = (props: UNCardComponentProps) => {
8
7
  return `
9
8
  card-id="${props.cardId}"
10
9
  customer-token="${props.customerToken}"
11
- theme="${props.theme ?? UnitSDK.getTheme()}"
12
10
  `;
13
11
  };
14
12
 
@@ -25,6 +25,8 @@ export interface BottomSheetProps {
25
25
  height: number,
26
26
  animationDuration: number,
27
27
  expandToMaxHeightEnabled: boolean
28
+ handleWebViewScroll: () => void
29
+ shouldEnableBottomSheetScroll: boolean
28
30
  }
29
31
 
30
32
  const BottomSheet = (props: BottomSheetProps) => {
@@ -39,12 +41,13 @@ const BottomSheet = (props: BottomSheetProps) => {
39
41
  const [dy, setDy] = useState(0);
40
42
 
41
43
  const _parentPanResponder = PanResponder.create({
42
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
- onMoveShouldSetPanResponderCapture: (_,) => { //gestureState) => {
44
- return false;
45
- // return Math.abs(gestureState.dy) > 10
44
+ onMoveShouldSetPanResponderCapture: (_, gestureState) => {
45
+ return props.shouldEnableBottomSheetScroll && Math.abs(gestureState.dy) > 10;
46
46
  },
47
47
  onPanResponderMove(_, gestureState) {
48
+ if (props.shouldEnableBottomSheetScroll && gestureState.dy < 5) {
49
+ props.handleWebViewScroll();
50
+ }
48
51
  if (currentHeight + gestureState.dy < 0) return;
49
52
  if (!props.expandToMaxHeightEnabled && contentHeight && currentHeight + gestureState.dy < sliderMaxHeight - contentHeight) return;
50
53
  panelHeightValue.setValue(currentHeight + gestureState.dy);
@@ -199,7 +202,6 @@ const BottomSheet = (props: BottomSheetProps) => {
199
202
 
200
203
  <View
201
204
  onLayout={_setSize}
202
- style={[styles.innerContent]}
203
205
  >
204
206
  <KeyboardAvoidingView
205
207
  behavior="padding"
@@ -1,3 +1,4 @@
1
1
  export enum NativeMessage {
2
- IS_SCRIPT_FETCHED = 'isScriptFetched'
2
+ IS_SCRIPT_FETCHED = 'isScriptFetched',
3
+ IS_SDK_INITIALIZED = 'isSdkInitialized'
3
4
  }
@@ -1,6 +1,6 @@
1
1
  export enum PageMessage {
2
2
  PAGE_LOADED = 'pageLoaded',
3
- PAGE_HEIGHT = 'pageHeight'
3
+ PAGE_HEIGHT = 'pageHeight',
4
4
  }
5
5
 
6
6
  export interface HeightEvent {
@@ -0,0 +1,12 @@
1
+ import {
2
+ requireNativeComponent,
3
+ } from 'react-native';
4
+
5
+ type UnitAddToWalletButtonViewProps = {
6
+ style: object;
7
+ onAddToWalletClicked: () => void;
8
+ };
9
+
10
+ const UnitAddToWalletButtonView = requireNativeComponent<UnitAddToWalletButtonViewProps>('UnitAddToWalletButtonView');
11
+
12
+ export default UnitAddToWalletButtonView;
@@ -15,7 +15,7 @@ export enum PresentationMode {
15
15
  }
16
16
 
17
17
  export const getHtmlBody = (unitComponent: string, unitComponentProps?: string, presentationMode?: PresentationMode) => {
18
- const currentComponent = `<${unitComponent} ${unitComponentProps || ''}> </${unitComponent}>`;
18
+ const currentComponent = `<${unitComponent} ${unitComponentProps || ''} }> </${unitComponent}>`;
19
19
 
20
20
  switch (presentationMode) {
21
21
  case PresentationMode.CoverInjectedHeight:
@@ -1,3 +1,5 @@
1
+ import EventBus from '../helpers/EventBus';
2
+ import { NativeMessage } from '../messages/nativeMessages';
1
3
  import { fetchUnitScript } from './UnitSdk.api';
2
4
 
3
5
  export enum UNEnvironment {
@@ -13,11 +15,12 @@ export class UnitSDK {
13
15
  protected static env?: UNEnvironment;
14
16
  protected static theme?: string;
15
17
 
16
- public static init = async (env: UNEnvironment, theme: string) => {
18
+ public static init = async (env: UNEnvironment, theme?: string) => {
17
19
  try {
18
20
  this.env = env;
19
21
  this.theme = theme;
20
22
  await fetchUnitScript();
23
+ EventBus.Instance.event(NativeMessage.IS_SDK_INITIALIZED, { });
21
24
  } catch (e) {
22
25
  console.log(e);
23
26
  }
@@ -1,22 +1,27 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  import React, { useEffect, useState } from 'react';
2
3
  import { WebView, WebViewMessageEvent } from 'react-native-webview';
3
4
  import EventBus from '../helpers/EventBus';
4
5
  import html, { HTML_PLACEHOLDER } from './html';
5
6
  import { RequestRefreshEvent, UnitMessage } from '../messages/webMessages/unitMessages';
6
7
  import { useListenerToBus } from '../hooks/listenerToBus';
7
- import type { WebViewMessage } from '../messages/webMessages';
8
8
  import { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';
9
9
  import { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';
10
10
  import { NativeMessage } from '../messages/nativeMessages';
11
+ import { UnitSDK } from '../unitSdkManager/UnitSdkManager';
12
+ import type { WebViewMessage } from '../messages/webMessages';
11
13
 
12
14
  export interface WebComponentProps {
13
15
  type: WebComponentType;
14
16
  presentationMode?: PresentationMode,
15
17
  params?: string;
18
+ theme?: string;
16
19
  onMessage?: (message: WebViewMessage) => void;
17
20
  script?: string;
21
+ isScrollable?: boolean,
22
+ nestedScrollEnabled?: boolean,
23
+ handleScroll?: (event: any) => void,
18
24
  width?: number;
19
- shouldEnableWebViewScroll?: boolean;
20
25
  }
21
26
 
22
27
  export enum WebComponentType {
@@ -29,12 +34,21 @@ export enum WebComponentType {
29
34
  export const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {
30
35
  const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);
31
36
  const [sourceHtml, setSourceHtml] = useState<string | null>(null);
37
+ const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());
38
+ const width = props.width ?? '100%';
32
39
 
33
- const listenerAction = (data: { unitScript?: string }) => {
40
+ const updateUnitScript = (data: { unitScript?: string }) => {
34
41
  setUnitScript(data.unitScript);
35
42
  };
36
43
 
37
- useListenerToBus([{ busEventKey: NativeMessage.IS_SCRIPT_FETCHED, action: listenerAction }]);
44
+ const updateInitializedParams = () => {
45
+ setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());
46
+ };
47
+
48
+ useListenerToBus([
49
+ { busEventKey: NativeMessage.IS_SCRIPT_FETCHED, action: updateUnitScript },
50
+ { busEventKey: NativeMessage.IS_SDK_INITIALIZED, action: updateInitializedParams },
51
+ ]);
38
52
 
39
53
  useEffect(() => {
40
54
  if (!unitScript) {
@@ -42,11 +56,11 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
42
56
  return;
43
57
  }
44
58
 
45
- let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), props.params, props.presentationMode));
59
+ const componentParams = (props.params || '') + (componentCurrentTheme ? ` theme="${componentCurrentTheme}"` : '');
60
+ let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));
46
61
  newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');
47
62
  setSourceHtml(newHtml);
48
-
49
- }, [props.params, unitScript]);
63
+ }, [props.params, unitScript, props.presentationMode, componentCurrentTheme]);
50
64
 
51
65
  const onMessage = (e: WebViewMessageEvent) => {
52
66
  const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;
@@ -59,14 +73,24 @@ export const WebComponent = React.forwardRef<WebView, WebComponentProps>(functio
59
73
 
60
74
  if (!sourceHtml) return null;
61
75
 
76
+ const _onScroll = (event: any) => {
77
+ if (props.handleScroll) {
78
+ props.handleScroll(event);
79
+ }
80
+
81
+ return null;
82
+ };
83
+
62
84
  return (
63
85
  <WebView
64
86
  ref={webRef}
65
87
  cacheEnabled={false}
66
- scrollEnabled={props.shouldEnableWebViewScroll}
88
+ scrollEnabled={props.isScrollable}
89
+ nestedScrollEnabled={props.nestedScrollEnabled}
90
+ onScroll={_onScroll}
67
91
  overScrollMode="never"
68
92
  injectedJavaScript={unitScript}
69
- style={{ width: props.width ?? '100%', flex: 1 }}
93
+ style={{ width: width, flex: 1 }}
70
94
  source={{ html: sourceHtml }}
71
95
  onMessage={onMessage} />
72
96
  );
@@ -1,19 +0,0 @@
1
- package com.unitreactnativecomponents
2
- import android.graphics.Color
3
- import android.view.View
4
- import com.facebook.react.uimanager.SimpleViewManager
5
- import com.facebook.react.uimanager.ThemedReactContext
6
- import com.facebook.react.uimanager.annotations.ReactProp
7
-
8
- class UnitReactNativeComponentsViewManager : SimpleViewManager<View>() {
9
- override fun getName() = "UnitReactNativeComponentsView"
10
-
11
- override fun createViewInstance(reactContext: ThemedReactContext): View {
12
- return View(reactContext)
13
- }
14
-
15
- @ReactProp(name = "color")
16
- fun setColor(view: View, color: String) {
17
- view.setBackgroundColor(Color.parseColor(color))
18
- }
19
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.UnitReactNativeComponentsView = void 0;
7
-
8
- var _reactNative = require("react-native");
9
-
10
- const LINKING_ERROR = 'The package \'react-native-unit-components\' doesn\'t seem to be linked. Make sure: \n\n' + _reactNative.Platform.select({
11
- ios: '- You have run \'pod install\'\n',
12
- default: ''
13
- }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n';
14
- const ComponentName = 'UnitReactNativeComponentsView';
15
- const UnitReactNativeComponentsView = _reactNative.UIManager.getViewManagerConfig(ComponentName) != null ? (0, _reactNative.requireNativeComponent)(ComponentName) : () => {
16
- throw new Error(LINKING_ERROR);
17
- };
18
- exports.UnitReactNativeComponentsView = UnitReactNativeComponentsView;
19
- //# sourceMappingURL=NativeComponentExample.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","ComponentName","UnitReactNativeComponentsView","UIManager","getViewManagerConfig","requireNativeComponent","Error"],"sources":["NativeComponentExample.tsx"],"sourcesContent":["import {\n requireNativeComponent,\n UIManager,\n Platform,\n ViewStyle,\n} from 'react-native';\n\nconst LINKING_ERROR =\n 'The package \\'react-native-unit-components\\' doesn\\'t seem to be linked. Make sure: \\n\\n' +\n Platform.select({ ios: '- You have run \\'pod install\\'\\n', default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype UnitReactNativeComponentsProps = {\n color: string;\n style: ViewStyle;\n};\n\nconst ComponentName = 'UnitReactNativeComponentsView';\n\nexport const UnitReactNativeComponentsView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<UnitReactNativeComponentsProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":";;;;;;;AAAA;;AAOA,MAAMA,aAAa,GACjB,6FACAC,qBAAA,CAASC,MAAT,CAAgB;EAAEC,GAAG,EAAE,kCAAP;EAA2CC,OAAO,EAAE;AAApD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AAWA,MAAMC,aAAa,GAAG,+BAAtB;AAEO,MAAMC,6BAA6B,GACxCC,sBAAA,CAAUC,oBAAV,CAA+BH,aAA/B,KAAiD,IAAjD,GACI,IAAAI,mCAAA,EAAuDJ,aAAvD,CADJ,GAEI,MAAM;EACN,MAAM,IAAIK,KAAJ,CAAUV,aAAV,CAAN;AACD,CALE"}
@@ -1,10 +0,0 @@
1
- import { requireNativeComponent, UIManager, Platform } from 'react-native';
2
- const LINKING_ERROR = 'The package \'react-native-unit-components\' doesn\'t seem to be linked. Make sure: \n\n' + Platform.select({
3
- ios: '- You have run \'pod install\'\n',
4
- default: ''
5
- }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n';
6
- const ComponentName = 'UnitReactNativeComponentsView';
7
- export const UnitReactNativeComponentsView = UIManager.getViewManagerConfig(ComponentName) != null ? requireNativeComponent(ComponentName) : () => {
8
- throw new Error(LINKING_ERROR);
9
- };
10
- //# sourceMappingURL=NativeComponentExample.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["requireNativeComponent","UIManager","Platform","LINKING_ERROR","select","ios","default","ComponentName","UnitReactNativeComponentsView","getViewManagerConfig","Error"],"sources":["NativeComponentExample.tsx"],"sourcesContent":["import {\n requireNativeComponent,\n UIManager,\n Platform,\n ViewStyle,\n} from 'react-native';\n\nconst LINKING_ERROR =\n 'The package \\'react-native-unit-components\\' doesn\\'t seem to be linked. Make sure: \\n\\n' +\n Platform.select({ ios: '- You have run \\'pod install\\'\\n', default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\ntype UnitReactNativeComponentsProps = {\n color: string;\n style: ViewStyle;\n};\n\nconst ComponentName = 'UnitReactNativeComponentsView';\n\nexport const UnitReactNativeComponentsView =\n UIManager.getViewManagerConfig(ComponentName) != null\n ? requireNativeComponent<UnitReactNativeComponentsProps>(ComponentName)\n : () => {\n throw new Error(LINKING_ERROR);\n };\n"],"mappings":"AAAA,SACEA,sBADF,EAEEC,SAFF,EAGEC,QAHF,QAKO,cALP;AAOA,MAAMC,aAAa,GACjB,6FACAD,QAAQ,CAACE,MAAT,CAAgB;EAAEC,GAAG,EAAE,kCAAP;EAA2CC,OAAO,EAAE;AAApD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AAWA,MAAMC,aAAa,GAAG,+BAAtB;AAEA,OAAO,MAAMC,6BAA6B,GACxCP,SAAS,CAACQ,oBAAV,CAA+BF,aAA/B,KAAiD,IAAjD,GACIP,sBAAsB,CAAiCO,aAAjC,CAD1B,GAEI,MAAM;EACN,MAAM,IAAIG,KAAJ,CAAUP,aAAV,CAAN;AACD,CALE"}
@@ -1,7 +0,0 @@
1
- import { ViewStyle } from 'react-native';
2
- declare type UnitReactNativeComponentsProps = {
3
- color: string;
4
- style: ViewStyle;
5
- };
6
- export declare const UnitReactNativeComponentsView: import("react-native").HostComponent<UnitReactNativeComponentsProps> | (() => never);
7
- export {};
@@ -1,26 +0,0 @@
1
- import {
2
- requireNativeComponent,
3
- UIManager,
4
- Platform,
5
- ViewStyle,
6
- } from 'react-native';
7
-
8
- const LINKING_ERROR =
9
- 'The package \'react-native-unit-components\' doesn\'t seem to be linked. Make sure: \n\n' +
10
- Platform.select({ ios: '- You have run \'pod install\'\n', default: '' }) +
11
- '- You rebuilt the app after installing the package\n' +
12
- '- You are not using Expo managed workflow\n';
13
-
14
- type UnitReactNativeComponentsProps = {
15
- color: string;
16
- style: ViewStyle;
17
- };
18
-
19
- const ComponentName = 'UnitReactNativeComponentsView';
20
-
21
- export const UnitReactNativeComponentsView =
22
- UIManager.getViewManagerConfig(ComponentName) != null
23
- ? requireNativeComponent<UnitReactNativeComponentsProps>(ComponentName)
24
- : () => {
25
- throw new Error(LINKING_ERROR);
26
- };