boxpay-checkout-reactnative-sdk 1.0.0-beta03

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 (634) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +34 -0
  3. package/android/build/.transforms/516dc569503728180fa99c1ae0c9eece/results.bin +1 -0
  4. package/android/build/.transforms/516dc569503728180fa99c1ae0c9eece/transformed/classes/classes_dex/classes.dex +0 -0
  5. package/android/build/generated/source/buildConfig/debug/com/reactnativemodule/BuildConfig.java +10 -0
  6. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +13 -0
  7. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  8. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  9. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  10. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  11. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  12. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  13. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  14. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  15. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  16. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  17. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  18. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/cross_platform_sdk_react_native_plugin_debug.kotlin_module +0 -0
  19. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/reactnativemodule/BuildConfig.class +0 -0
  20. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  21. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +20 -0
  22. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +13 -0
  23. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  24. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  25. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  26. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  27. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  28. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  29. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  30. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  31. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  32. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  33. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  34. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  35. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  36. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  65. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  107. package/android/build/outputs/logs/manifest-merger-debug-report.txt +30 -0
  108. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  109. package/android/build/tmp/kotlin-classes/debug/META-INF/cross_platform_sdk_react_native_plugin_debug.kotlin_module +0 -0
  110. package/android/build/tmp/kotlin-classes/debug/com/reactnativemodule/CrossPlatform.class +0 -0
  111. package/android/build/tmp/kotlin-classes/debug/com/reactnativemodule/ReactNativeModulePackage.class +0 -0
  112. package/android/build.gradle +45 -0
  113. package/android/gradle.properties +7 -0
  114. package/android/local.properties +1 -0
  115. package/android/settings.gradle +22 -0
  116. package/android/src/main/AndroidManifest.xml +9 -0
  117. package/android/src/main/java/com/reactnativemodule/CrossPlaform.kt +39 -0
  118. package/android/src/main/java/com/reactnativemodule/ReactNativeModulePackage.kt +17 -0
  119. package/assets/animations/boxpayLogo.json +1135 -0
  120. package/assets/animations/payment_failed.json +487 -0
  121. package/assets/animations/payment_status_pending.json +750 -0
  122. package/assets/animations/payment_successful.json +1602 -0
  123. package/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  124. package/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  125. package/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  126. package/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  127. package/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  128. package/assets/fonts/Poppins-Bold.ttf +0 -0
  129. package/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  130. package/assets/fonts/Poppins-Medium.ttf +0 -0
  131. package/assets/fonts/Poppins-Regular.ttf +0 -0
  132. package/assets/fonts/Poppins-SemiBold.ttf +0 -0
  133. package/assets/images/Lock.png +0 -0
  134. package/assets/images/add_icon.png +0 -0
  135. package/assets/images/add_upi_id_background.png +0 -0
  136. package/assets/images/arrow-left.png +0 -0
  137. package/assets/images/chervon-down.png +0 -0
  138. package/assets/images/cvv_info_image.png +0 -0
  139. package/assets/images/cvv_info_image_amex.png +0 -0
  140. package/assets/images/favicon.png +0 -0
  141. package/assets/images/gpay-icon.png +0 -0
  142. package/assets/images/ic_amex.png +0 -0
  143. package/assets/images/ic_bnpl.png +0 -0
  144. package/assets/images/ic_bnpl_semi_bold.png +0 -0
  145. package/assets/images/ic_card.png +0 -0
  146. package/assets/images/ic_card_add.png +0 -0
  147. package/assets/images/ic_card_lock.png +0 -0
  148. package/assets/images/ic_cross.png +0 -0
  149. package/assets/images/ic_cvv_info.png +0 -0
  150. package/assets/images/ic_default_card.png +0 -0
  151. package/assets/images/ic_emi.png +0 -0
  152. package/assets/images/ic_home.png +0 -0
  153. package/assets/images/ic_info.png +0 -0
  154. package/assets/images/ic_location.png +0 -0
  155. package/assets/images/ic_maestro.png +0 -0
  156. package/assets/images/ic_masterCard.png +0 -0
  157. package/assets/images/ic_netbanking.png +0 -0
  158. package/assets/images/ic_netbanking_semi_bold.png +0 -0
  159. package/assets/images/ic_other.png +0 -0
  160. package/assets/images/ic_rupay.png +0 -0
  161. package/assets/images/ic_search.png +0 -0
  162. package/assets/images/ic_upi.png +0 -0
  163. package/assets/images/ic_upi_error.png +0 -0
  164. package/assets/images/ic_user.png +0 -0
  165. package/assets/images/ic_visa.png +0 -0
  166. package/assets/images/ic_wallet.png +0 -0
  167. package/assets/images/ic_wallet_semi_bold.png +0 -0
  168. package/assets/images/ic_work.png +0 -0
  169. package/assets/images/no_results_found.png +0 -0
  170. package/assets/images/other-intent-icon.png +0 -0
  171. package/assets/images/paytm-icon.png +0 -0
  172. package/assets/images/phonepe-icon.png +0 -0
  173. package/assets/images/splash-icon.png +0 -0
  174. package/assets/images/upi-icon.png +0 -0
  175. package/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  176. package/assets/json/countryCodes.json +1490 -0
  177. package/ios/CrossPlatform.m +10 -0
  178. package/ios/CrossPlatform.swift +39 -0
  179. package/ios/cross_platform_react_native_plugin.podspec +22 -0
  180. package/lib/assets/animations/boxpayLogo.json +1135 -0
  181. package/lib/assets/animations/payment_failed.json +487 -0
  182. package/lib/assets/animations/payment_status_pending.json +750 -0
  183. package/lib/assets/animations/payment_successful.json +1602 -0
  184. package/lib/assets/assets/animations/boxpayLogo.json +1135 -0
  185. package/lib/assets/assets/animations/payment_failed.json +487 -0
  186. package/lib/assets/assets/animations/payment_status_pending.json +750 -0
  187. package/lib/assets/assets/animations/payment_successful.json +1602 -0
  188. package/lib/assets/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  189. package/lib/assets/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  190. package/lib/assets/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  191. package/lib/assets/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  192. package/lib/assets/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  193. package/lib/assets/assets/fonts/Poppins-Bold.ttf +0 -0
  194. package/lib/assets/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  195. package/lib/assets/assets/fonts/Poppins-Medium.ttf +0 -0
  196. package/lib/assets/assets/fonts/Poppins-Regular.ttf +0 -0
  197. package/lib/assets/assets/fonts/Poppins-SemiBold.ttf +0 -0
  198. package/lib/assets/assets/images/Lock.png +0 -0
  199. package/lib/assets/assets/images/add_icon.png +0 -0
  200. package/lib/assets/assets/images/add_upi_id_background.png +0 -0
  201. package/lib/assets/assets/images/arrow-left.png +0 -0
  202. package/lib/assets/assets/images/chervon-down.png +0 -0
  203. package/lib/assets/assets/images/cvv_info_image.png +0 -0
  204. package/lib/assets/assets/images/cvv_info_image_amex.png +0 -0
  205. package/lib/assets/assets/images/favicon.png +0 -0
  206. package/lib/assets/assets/images/gpay-icon.png +0 -0
  207. package/lib/assets/assets/images/ic_amex.png +0 -0
  208. package/lib/assets/assets/images/ic_bnpl.png +0 -0
  209. package/lib/assets/assets/images/ic_bnpl_semi_bold.png +0 -0
  210. package/lib/assets/assets/images/ic_card.png +0 -0
  211. package/lib/assets/assets/images/ic_card_add.png +0 -0
  212. package/lib/assets/assets/images/ic_card_lock.png +0 -0
  213. package/lib/assets/assets/images/ic_cross.png +0 -0
  214. package/lib/assets/assets/images/ic_cvv_info.png +0 -0
  215. package/lib/assets/assets/images/ic_default_card.png +0 -0
  216. package/lib/assets/assets/images/ic_emi.png +0 -0
  217. package/lib/assets/assets/images/ic_home.png +0 -0
  218. package/lib/assets/assets/images/ic_info.png +0 -0
  219. package/lib/assets/assets/images/ic_location.png +0 -0
  220. package/lib/assets/assets/images/ic_maestro.png +0 -0
  221. package/lib/assets/assets/images/ic_masterCard.png +0 -0
  222. package/lib/assets/assets/images/ic_netbanking.png +0 -0
  223. package/lib/assets/assets/images/ic_netbanking_semi_bold.png +0 -0
  224. package/lib/assets/assets/images/ic_other.png +0 -0
  225. package/lib/assets/assets/images/ic_rupay.png +0 -0
  226. package/lib/assets/assets/images/ic_search.png +0 -0
  227. package/lib/assets/assets/images/ic_upi.png +0 -0
  228. package/lib/assets/assets/images/ic_upi_error.png +0 -0
  229. package/lib/assets/assets/images/ic_user.png +0 -0
  230. package/lib/assets/assets/images/ic_visa.png +0 -0
  231. package/lib/assets/assets/images/ic_wallet.png +0 -0
  232. package/lib/assets/assets/images/ic_wallet_semi_bold.png +0 -0
  233. package/lib/assets/assets/images/ic_work.png +0 -0
  234. package/lib/assets/assets/images/no_results_found.png +0 -0
  235. package/lib/assets/assets/images/other-intent-icon.png +0 -0
  236. package/lib/assets/assets/images/paytm-icon.png +0 -0
  237. package/lib/assets/assets/images/phonepe-icon.png +0 -0
  238. package/lib/assets/assets/images/splash-icon.png +0 -0
  239. package/lib/assets/assets/images/upi-icon.png +0 -0
  240. package/lib/assets/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  241. package/lib/assets/assets/json/countryCodes.json +1490 -0
  242. package/lib/assets/fonts/Inter_18pt-Bold.ttf +0 -0
  243. package/lib/assets/fonts/Inter_18pt-ExtraBold.ttf +0 -0
  244. package/lib/assets/fonts/Inter_18pt-Medium.ttf +0 -0
  245. package/lib/assets/fonts/Inter_18pt-Regular.ttf +0 -0
  246. package/lib/assets/fonts/Inter_18pt-SemiBold.ttf +0 -0
  247. package/lib/assets/fonts/Poppins-Bold.ttf +0 -0
  248. package/lib/assets/fonts/Poppins-ExtraBold.ttf +0 -0
  249. package/lib/assets/fonts/Poppins-Medium.ttf +0 -0
  250. package/lib/assets/fonts/Poppins-Regular.ttf +0 -0
  251. package/lib/assets/fonts/Poppins-SemiBold.ttf +0 -0
  252. package/lib/assets/images/Lock.png +0 -0
  253. package/lib/assets/images/add_icon.png +0 -0
  254. package/lib/assets/images/add_upi_id_background.png +0 -0
  255. package/lib/assets/images/arrow-left.png +0 -0
  256. package/lib/assets/images/chervon-down.png +0 -0
  257. package/lib/assets/images/cvv_info_image.png +0 -0
  258. package/lib/assets/images/cvv_info_image_amex.png +0 -0
  259. package/lib/assets/images/favicon.png +0 -0
  260. package/lib/assets/images/gpay-icon.png +0 -0
  261. package/lib/assets/images/ic_amex.png +0 -0
  262. package/lib/assets/images/ic_bnpl.png +0 -0
  263. package/lib/assets/images/ic_bnpl_semi_bold.png +0 -0
  264. package/lib/assets/images/ic_card.png +0 -0
  265. package/lib/assets/images/ic_card_add.png +0 -0
  266. package/lib/assets/images/ic_card_lock.png +0 -0
  267. package/lib/assets/images/ic_cross.png +0 -0
  268. package/lib/assets/images/ic_cvv_info.png +0 -0
  269. package/lib/assets/images/ic_default_card.png +0 -0
  270. package/lib/assets/images/ic_emi.png +0 -0
  271. package/lib/assets/images/ic_home.png +0 -0
  272. package/lib/assets/images/ic_info.png +0 -0
  273. package/lib/assets/images/ic_location.png +0 -0
  274. package/lib/assets/images/ic_maestro.png +0 -0
  275. package/lib/assets/images/ic_masterCard.png +0 -0
  276. package/lib/assets/images/ic_netbanking.png +0 -0
  277. package/lib/assets/images/ic_netbanking_semi_bold.png +0 -0
  278. package/lib/assets/images/ic_other.png +0 -0
  279. package/lib/assets/images/ic_rupay.png +0 -0
  280. package/lib/assets/images/ic_search.png +0 -0
  281. package/lib/assets/images/ic_upi.png +0 -0
  282. package/lib/assets/images/ic_upi_error.png +0 -0
  283. package/lib/assets/images/ic_user.png +0 -0
  284. package/lib/assets/images/ic_visa.png +0 -0
  285. package/lib/assets/images/ic_wallet.png +0 -0
  286. package/lib/assets/images/ic_wallet_semi_bold.png +0 -0
  287. package/lib/assets/images/ic_work.png +0 -0
  288. package/lib/assets/images/no_results_found.png +0 -0
  289. package/lib/assets/images/other-intent-icon.png +0 -0
  290. package/lib/assets/images/paytm-icon.png +0 -0
  291. package/lib/assets/images/phonepe-icon.png +0 -0
  292. package/lib/assets/images/splash-icon.png +0 -0
  293. package/lib/assets/images/upi-icon.png +0 -0
  294. package/lib/assets/images/upi-timer-sheet-upi-icon.png +0 -0
  295. package/lib/assets/json/countryCodes.json +1490 -0
  296. package/lib/module/components/addressCard.js +116 -0
  297. package/lib/module/components/addressCard.js.map +1 -0
  298. package/lib/module/components/bankCard.js +74 -0
  299. package/lib/module/components/bankCard.js.map +1 -0
  300. package/lib/module/components/cancelPaymentModal.js +65 -0
  301. package/lib/module/components/cancelPaymentModal.js.map +1 -0
  302. package/lib/module/components/circularProgress.js +71 -0
  303. package/lib/module/components/circularProgress.js.map +1 -0
  304. package/lib/module/components/cvvInfoBottomSheet.js +60 -0
  305. package/lib/module/components/cvvInfoBottomSheet.js.map +1 -0
  306. package/lib/module/components/fontFamily.js +23 -0
  307. package/lib/module/components/fontFamily.js.map +1 -0
  308. package/lib/module/components/getInstalledUPI.js +29 -0
  309. package/lib/module/components/getInstalledUPI.js.map +1 -0
  310. package/lib/module/components/header.js +123 -0
  311. package/lib/module/components/header.js.map +1 -0
  312. package/lib/module/components/knowMoreBottomSheet.js +117 -0
  313. package/lib/module/components/knowMoreBottomSheet.js.map +1 -0
  314. package/lib/module/components/morePaymentContainer.js +44 -0
  315. package/lib/module/components/morePaymentContainer.js.map +1 -0
  316. package/lib/module/components/morePaymentMethods.js +154 -0
  317. package/lib/module/components/morePaymentMethods.js.map +1 -0
  318. package/lib/module/components/orderDetails.js +367 -0
  319. package/lib/module/components/orderDetails.js.map +1 -0
  320. package/lib/module/components/paymentFailed.js +98 -0
  321. package/lib/module/components/paymentFailed.js.map +1 -0
  322. package/lib/module/components/paymentSelector.js +192 -0
  323. package/lib/module/components/paymentSelector.js.map +1 -0
  324. package/lib/module/components/paymentSuccess.js +253 -0
  325. package/lib/module/components/paymentSuccess.js.map +1 -0
  326. package/lib/module/components/savedCardComponent.js +240 -0
  327. package/lib/module/components/savedCardComponent.js.map +1 -0
  328. package/lib/module/components/selectTenureCard.js +382 -0
  329. package/lib/module/components/selectTenureCard.js.map +1 -0
  330. package/lib/module/components/sessionExpire.js +97 -0
  331. package/lib/module/components/sessionExpire.js.map +1 -0
  332. package/lib/module/components/shimmerView.js +40 -0
  333. package/lib/module/components/shimmerView.js.map +1 -0
  334. package/lib/module/index.js +639 -0
  335. package/lib/module/index.js.map +1 -0
  336. package/lib/module/interface.js +38 -0
  337. package/lib/module/interface.js.map +1 -0
  338. package/lib/module/navigation.js +54 -0
  339. package/lib/module/navigation.js.map +1 -0
  340. package/lib/module/package.json +1 -0
  341. package/lib/module/postRequest/callUIAnalytics.js +55 -0
  342. package/lib/module/postRequest/callUIAnalytics.js.map +1 -0
  343. package/lib/module/postRequest/cardPostRequest.js +98 -0
  344. package/lib/module/postRequest/cardPostRequest.js.map +1 -0
  345. package/lib/module/postRequest/deleteSavedAddress.js +33 -0
  346. package/lib/module/postRequest/deleteSavedAddress.js.map +1 -0
  347. package/lib/module/postRequest/emiPostRequest.js +109 -0
  348. package/lib/module/postRequest/emiPostRequest.js.map +1 -0
  349. package/lib/module/postRequest/fetchCardDetails.js +26 -0
  350. package/lib/module/postRequest/fetchCardDetails.js.map +1 -0
  351. package/lib/module/postRequest/fetchPaymentMethods.js +25 -0
  352. package/lib/module/postRequest/fetchPaymentMethods.js.map +1 -0
  353. package/lib/module/postRequest/fetchRecommendedInstruments.js +30 -0
  354. package/lib/module/postRequest/fetchRecommendedInstruments.js.map +1 -0
  355. package/lib/module/postRequest/fetchSavedAddress.js +30 -0
  356. package/lib/module/postRequest/fetchSavedAddress.js.map +1 -0
  357. package/lib/module/postRequest/fetchSessionDetails.js +25 -0
  358. package/lib/module/postRequest/fetchSessionDetails.js.map +1 -0
  359. package/lib/module/postRequest/fetchStatus.js +26 -0
  360. package/lib/module/postRequest/fetchStatus.js.map +1 -0
  361. package/lib/module/postRequest/methodsPostRequest.js +85 -0
  362. package/lib/module/postRequest/methodsPostRequest.js.map +1 -0
  363. package/lib/module/postRequest/upiPostRequest.js +76 -0
  364. package/lib/module/postRequest/upiPostRequest.js.map +1 -0
  365. package/lib/module/screens/addressScreen.js +661 -0
  366. package/lib/module/screens/addressScreen.js.map +1 -0
  367. package/lib/module/screens/bnplScreen.js +238 -0
  368. package/lib/module/screens/bnplScreen.js.map +1 -0
  369. package/lib/module/screens/cardScreen.js +845 -0
  370. package/lib/module/screens/cardScreen.js.map +1 -0
  371. package/lib/module/screens/emiScreen.js +621 -0
  372. package/lib/module/screens/emiScreen.js.map +1 -0
  373. package/lib/module/screens/netBankingScreen.js +342 -0
  374. package/lib/module/screens/netBankingScreen.js.map +1 -0
  375. package/lib/module/screens/savedAddressScreen.js +116 -0
  376. package/lib/module/screens/savedAddressScreen.js.map +1 -0
  377. package/lib/module/screens/selectTenureScreen.js +103 -0
  378. package/lib/module/screens/selectTenureScreen.js.map +1 -0
  379. package/lib/module/screens/upiScreen.js +374 -0
  380. package/lib/module/screens/upiScreen.js.map +1 -0
  381. package/lib/module/screens/upiTimerScreen.js +229 -0
  382. package/lib/module/screens/upiTimerScreen.js.map +1 -0
  383. package/lib/module/screens/walletScreen.js +311 -0
  384. package/lib/module/screens/walletScreen.js.map +1 -0
  385. package/lib/module/screens/webViewScreen.js +34 -0
  386. package/lib/module/screens/webViewScreen.js.map +1 -0
  387. package/lib/module/serviceRequest.js +30 -0
  388. package/lib/module/serviceRequest.js.map +1 -0
  389. package/lib/module/sharedContext/checkoutDetailsHandler.js +38 -0
  390. package/lib/module/sharedContext/checkoutDetailsHandler.js.map +1 -0
  391. package/lib/module/sharedContext/handlePaymentResponseHandler.js +258 -0
  392. package/lib/module/sharedContext/handlePaymentResponseHandler.js.map +1 -0
  393. package/lib/module/sharedContext/paymentStatusHandler.js +9 -0
  394. package/lib/module/sharedContext/paymentStatusHandler.js.map +1 -0
  395. package/lib/module/sharedContext/userdataHandler.js +25 -0
  396. package/lib/module/sharedContext/userdataHandler.js.map +1 -0
  397. package/lib/module/styles/components/addressCardStyles.js +65 -0
  398. package/lib/module/styles/components/addressCardStyles.js.map +1 -0
  399. package/lib/module/styles/components/bankCardStyles.js +63 -0
  400. package/lib/module/styles/components/bankCardStyles.js.map +1 -0
  401. package/lib/module/styles/components/cancelPaymentModalStyles.js +89 -0
  402. package/lib/module/styles/components/cancelPaymentModalStyles.js.map +1 -0
  403. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js +57 -0
  404. package/lib/module/styles/components/cvvInfoBottomSheetStyles.js.map +1 -0
  405. package/lib/module/styles/indexStyles.js +66 -0
  406. package/lib/module/styles/indexStyles.js.map +1 -0
  407. package/lib/module/styles/savedAddressScreenStyles.js +25 -0
  408. package/lib/module/styles/savedAddressScreenStyles.js.map +1 -0
  409. package/lib/module/styles/screens/addressScreenStyles..js +66 -0
  410. package/lib/module/styles/screens/addressScreenStyles..js.map +1 -0
  411. package/lib/module/styles/screens/bnplScreenStyles.js +84 -0
  412. package/lib/module/styles/screens/bnplScreenStyles.js.map +1 -0
  413. package/lib/module/styles/screens/cardScreenStyles.js +152 -0
  414. package/lib/module/styles/screens/cardScreenStyles.js.map +1 -0
  415. package/lib/module/styles/screens/emiScreenStyles.js +137 -0
  416. package/lib/module/styles/screens/emiScreenStyles.js.map +1 -0
  417. package/lib/module/styles/screens/netBankingScreenStyles.js +108 -0
  418. package/lib/module/styles/screens/netBankingScreenStyles.js.map +1 -0
  419. package/lib/module/styles/screens/selectTenureScreenStyles.js +46 -0
  420. package/lib/module/styles/screens/selectTenureScreenStyles.js.map +1 -0
  421. package/lib/module/styles/screens/upiScreenStyles.js +115 -0
  422. package/lib/module/styles/screens/upiScreenStyles.js.map +1 -0
  423. package/lib/module/styles/screens/upiTimerScreenStyle.js +103 -0
  424. package/lib/module/styles/screens/upiTimerScreenStyle.js.map +1 -0
  425. package/lib/module/styles/screens/walletScreenStyles.js +105 -0
  426. package/lib/module/styles/screens/walletScreenStyles.js.map +1 -0
  427. package/lib/module/utils/listAndObjectUtils.js +25 -0
  428. package/lib/module/utils/listAndObjectUtils.js.map +1 -0
  429. package/lib/module/utils/stringUtils.js +23 -0
  430. package/lib/module/utils/stringUtils.js.map +1 -0
  431. package/lib/typescript/package.json +1 -0
  432. package/lib/typescript/src/components/addressCard.d.ts +7 -0
  433. package/lib/typescript/src/components/addressCard.d.ts.map +1 -0
  434. package/lib/typescript/src/components/bankCard.d.ts +11 -0
  435. package/lib/typescript/src/components/bankCard.d.ts.map +1 -0
  436. package/lib/typescript/src/components/cancelPaymentModal.d.ts +8 -0
  437. package/lib/typescript/src/components/cancelPaymentModal.d.ts.map +1 -0
  438. package/lib/typescript/src/components/circularProgress.d.ts +10 -0
  439. package/lib/typescript/src/components/circularProgress.d.ts.map +1 -0
  440. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts +7 -0
  441. package/lib/typescript/src/components/cvvInfoBottomSheet.d.ts.map +1 -0
  442. package/lib/typescript/src/components/fontFamily.d.ts +3 -0
  443. package/lib/typescript/src/components/fontFamily.d.ts.map +1 -0
  444. package/lib/typescript/src/components/getInstalledUPI.d.ts +2 -0
  445. package/lib/typescript/src/components/getInstalledUPI.d.ts.map +1 -0
  446. package/lib/typescript/src/components/header.d.ts +10 -0
  447. package/lib/typescript/src/components/header.d.ts.map +1 -0
  448. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts +6 -0
  449. package/lib/typescript/src/components/knowMoreBottomSheet.d.ts.map +1 -0
  450. package/lib/typescript/src/components/morePaymentContainer.d.ts +8 -0
  451. package/lib/typescript/src/components/morePaymentContainer.d.ts.map +1 -0
  452. package/lib/typescript/src/components/morePaymentMethods.d.ts +7 -0
  453. package/lib/typescript/src/components/morePaymentMethods.d.ts.map +1 -0
  454. package/lib/typescript/src/components/orderDetails.d.ts +16 -0
  455. package/lib/typescript/src/components/orderDetails.d.ts.map +1 -0
  456. package/lib/typescript/src/components/paymentFailed.d.ts +8 -0
  457. package/lib/typescript/src/components/paymentFailed.d.ts.map +1 -0
  458. package/lib/typescript/src/components/paymentSelector.d.ts +12 -0
  459. package/lib/typescript/src/components/paymentSelector.d.ts.map +1 -0
  460. package/lib/typescript/src/components/paymentSuccess.d.ts +10 -0
  461. package/lib/typescript/src/components/paymentSuccess.d.ts.map +1 -0
  462. package/lib/typescript/src/components/savedCardComponent.d.ts +12 -0
  463. package/lib/typescript/src/components/savedCardComponent.d.ts.map +1 -0
  464. package/lib/typescript/src/components/selectTenureCard.d.ts +21 -0
  465. package/lib/typescript/src/components/selectTenureCard.d.ts.map +1 -0
  466. package/lib/typescript/src/components/sessionExpire.d.ts +7 -0
  467. package/lib/typescript/src/components/sessionExpire.d.ts.map +1 -0
  468. package/lib/typescript/src/components/shimmerView.d.ts +3 -0
  469. package/lib/typescript/src/components/shimmerView.d.ts.map +1 -0
  470. package/lib/typescript/src/index.d.ts +4 -0
  471. package/lib/typescript/src/index.d.ts.map +1 -0
  472. package/lib/typescript/src/interface.d.ts +422 -0
  473. package/lib/typescript/src/interface.d.ts.map +1 -0
  474. package/lib/typescript/src/navigation.d.ts +14 -0
  475. package/lib/typescript/src/navigation.d.ts.map +1 -0
  476. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts +4 -0
  477. package/lib/typescript/src/postRequest/callUIAnalytics.d.ts.map +1 -0
  478. package/lib/typescript/src/postRequest/cardPostRequest.d.ts +4 -0
  479. package/lib/typescript/src/postRequest/cardPostRequest.d.ts.map +1 -0
  480. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts +4 -0
  481. package/lib/typescript/src/postRequest/deleteSavedAddress.d.ts.map +1 -0
  482. package/lib/typescript/src/postRequest/emiPostRequest.d.ts +13 -0
  483. package/lib/typescript/src/postRequest/emiPostRequest.d.ts.map +1 -0
  484. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts +4 -0
  485. package/lib/typescript/src/postRequest/fetchCardDetails.d.ts.map +1 -0
  486. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts +4 -0
  487. package/lib/typescript/src/postRequest/fetchPaymentMethods.d.ts.map +1 -0
  488. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts +4 -0
  489. package/lib/typescript/src/postRequest/fetchRecommendedInstruments.d.ts.map +1 -0
  490. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts +4 -0
  491. package/lib/typescript/src/postRequest/fetchSavedAddress.d.ts.map +1 -0
  492. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts +4 -0
  493. package/lib/typescript/src/postRequest/fetchSessionDetails.d.ts.map +1 -0
  494. package/lib/typescript/src/postRequest/fetchStatus.d.ts +4 -0
  495. package/lib/typescript/src/postRequest/fetchStatus.d.ts.map +1 -0
  496. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts +4 -0
  497. package/lib/typescript/src/postRequest/methodsPostRequest.d.ts.map +1 -0
  498. package/lib/typescript/src/postRequest/upiPostRequest.d.ts +4 -0
  499. package/lib/typescript/src/postRequest/upiPostRequest.d.ts.map +1 -0
  500. package/lib/typescript/src/screens/addressScreen.d.ts +9 -0
  501. package/lib/typescript/src/screens/addressScreen.d.ts.map +1 -0
  502. package/lib/typescript/src/screens/bnplScreen.d.ts +9 -0
  503. package/lib/typescript/src/screens/bnplScreen.d.ts.map +1 -0
  504. package/lib/typescript/src/screens/cardScreen.d.ts +11 -0
  505. package/lib/typescript/src/screens/cardScreen.d.ts.map +1 -0
  506. package/lib/typescript/src/screens/emiScreen.d.ts +9 -0
  507. package/lib/typescript/src/screens/emiScreen.d.ts.map +1 -0
  508. package/lib/typescript/src/screens/netBankingScreen.d.ts +9 -0
  509. package/lib/typescript/src/screens/netBankingScreen.d.ts.map +1 -0
  510. package/lib/typescript/src/screens/savedAddressScreen.d.ts +3 -0
  511. package/lib/typescript/src/screens/savedAddressScreen.d.ts.map +1 -0
  512. package/lib/typescript/src/screens/selectTenureScreen.d.ts +12 -0
  513. package/lib/typescript/src/screens/selectTenureScreen.d.ts.map +1 -0
  514. package/lib/typescript/src/screens/upiScreen.d.ts +11 -0
  515. package/lib/typescript/src/screens/upiScreen.d.ts.map +1 -0
  516. package/lib/typescript/src/screens/upiTimerScreen.d.ts +11 -0
  517. package/lib/typescript/src/screens/upiTimerScreen.d.ts.map +1 -0
  518. package/lib/typescript/src/screens/walletScreen.d.ts +9 -0
  519. package/lib/typescript/src/screens/walletScreen.d.ts.map +1 -0
  520. package/lib/typescript/src/screens/webViewScreen.d.ts +9 -0
  521. package/lib/typescript/src/screens/webViewScreen.d.ts.map +1 -0
  522. package/lib/typescript/src/serviceRequest.d.ts +3 -0
  523. package/lib/typescript/src/serviceRequest.d.ts.map +1 -0
  524. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts +7 -0
  525. package/lib/typescript/src/sharedContext/checkoutDetailsHandler.d.ts.map +1 -0
  526. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts +17 -0
  527. package/lib/typescript/src/sharedContext/handlePaymentResponseHandler.d.ts.map +1 -0
  528. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts +7 -0
  529. package/lib/typescript/src/sharedContext/paymentStatusHandler.d.ts.map +1 -0
  530. package/lib/typescript/src/sharedContext/userdataHandler.d.ts +7 -0
  531. package/lib/typescript/src/sharedContext/userdataHandler.d.ts.map +1 -0
  532. package/lib/typescript/src/styles/components/addressCardStyles.d.ts +58 -0
  533. package/lib/typescript/src/styles/components/addressCardStyles.d.ts.map +1 -0
  534. package/lib/typescript/src/styles/components/bankCardStyles.d.ts +60 -0
  535. package/lib/typescript/src/styles/components/bankCardStyles.d.ts.map +1 -0
  536. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts +86 -0
  537. package/lib/typescript/src/styles/components/cancelPaymentModalStyles.d.ts.map +1 -0
  538. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts +54 -0
  539. package/lib/typescript/src/styles/components/cvvInfoBottomSheetStyles.d.ts.map +1 -0
  540. package/lib/typescript/src/styles/indexStyles.d.ts +63 -0
  541. package/lib/typescript/src/styles/indexStyles.d.ts.map +1 -0
  542. package/lib/typescript/src/styles/savedAddressScreenStyles.d.ts +22 -0
  543. package/lib/typescript/src/styles/savedAddressScreenStyles.d.ts.map +1 -0
  544. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts +63 -0
  545. package/lib/typescript/src/styles/screens/addressScreenStyles..d.ts.map +1 -0
  546. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts +81 -0
  547. package/lib/typescript/src/styles/screens/bnplScreenStyles.d.ts.map +1 -0
  548. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts +149 -0
  549. package/lib/typescript/src/styles/screens/cardScreenStyles.d.ts.map +1 -0
  550. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts +134 -0
  551. package/lib/typescript/src/styles/screens/emiScreenStyles.d.ts.map +1 -0
  552. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts +105 -0
  553. package/lib/typescript/src/styles/screens/netBankingScreenStyles.d.ts.map +1 -0
  554. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts +43 -0
  555. package/lib/typescript/src/styles/screens/selectTenureScreenStyles.d.ts.map +1 -0
  556. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts +111 -0
  557. package/lib/typescript/src/styles/screens/upiScreenStyles.d.ts.map +1 -0
  558. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts +100 -0
  559. package/lib/typescript/src/styles/screens/upiTimerScreenStyle.d.ts.map +1 -0
  560. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts +102 -0
  561. package/lib/typescript/src/styles/screens/walletScreenStyles.d.ts.map +1 -0
  562. package/lib/typescript/src/utils/listAndObjectUtils.d.ts +10 -0
  563. package/lib/typescript/src/utils/listAndObjectUtils.d.ts.map +1 -0
  564. package/lib/typescript/src/utils/stringUtils.d.ts +4 -0
  565. package/lib/typescript/src/utils/stringUtils.d.ts.map +1 -0
  566. package/package.json +152 -0
  567. package/react-native.config.js +15 -0
  568. package/src/components/addressCard.tsx +161 -0
  569. package/src/components/bankCard.tsx +81 -0
  570. package/src/components/cancelPaymentModal.tsx +66 -0
  571. package/src/components/circularProgress.tsx +72 -0
  572. package/src/components/cvvInfoBottomSheet.tsx +58 -0
  573. package/src/components/fontFamily.tsx +22 -0
  574. package/src/components/getInstalledUPI.ts +34 -0
  575. package/src/components/header.tsx +116 -0
  576. package/src/components/knowMoreBottomSheet.tsx +126 -0
  577. package/src/components/morePaymentContainer.tsx +43 -0
  578. package/src/components/morePaymentMethods.tsx +192 -0
  579. package/src/components/orderDetails.tsx +443 -0
  580. package/src/components/paymentFailed.tsx +97 -0
  581. package/src/components/paymentSelector.tsx +224 -0
  582. package/src/components/paymentSuccess.tsx +280 -0
  583. package/src/components/savedCardComponent.tsx +270 -0
  584. package/src/components/selectTenureCard.tsx +474 -0
  585. package/src/components/sessionExpire.tsx +94 -0
  586. package/src/components/shimmerView.tsx +31 -0
  587. package/src/index.tsx +761 -0
  588. package/src/interface.ts +484 -0
  589. package/src/navigation.tsx +50 -0
  590. package/src/postRequest/callUIAnalytics.ts +54 -0
  591. package/src/postRequest/cardPostRequest.ts +103 -0
  592. package/src/postRequest/deleteSavedAddress.ts +20 -0
  593. package/src/postRequest/emiPostRequest.ts +127 -0
  594. package/src/postRequest/fetchCardDetails.ts +16 -0
  595. package/src/postRequest/fetchPaymentMethods.ts +14 -0
  596. package/src/postRequest/fetchRecommendedInstruments.tsx +17 -0
  597. package/src/postRequest/fetchSavedAddress.ts +16 -0
  598. package/src/postRequest/fetchSessionDetails.tsx +13 -0
  599. package/src/postRequest/fetchStatus.tsx +15 -0
  600. package/src/postRequest/methodsPostRequest.tsx +87 -0
  601. package/src/postRequest/upiPostRequest.tsx +78 -0
  602. package/src/screens/addressScreen.tsx +787 -0
  603. package/src/screens/bnplScreen.tsx +304 -0
  604. package/src/screens/cardScreen.tsx +1081 -0
  605. package/src/screens/emiScreen.tsx +848 -0
  606. package/src/screens/netBankingScreen.tsx +454 -0
  607. package/src/screens/savedAddressScreen.tsx +128 -0
  608. package/src/screens/selectTenureScreen.tsx +137 -0
  609. package/src/screens/upiScreen.tsx +465 -0
  610. package/src/screens/upiTimerScreen.tsx +293 -0
  611. package/src/screens/walletScreen.tsx +394 -0
  612. package/src/screens/webViewScreen.tsx +37 -0
  613. package/src/serviceRequest.ts +32 -0
  614. package/src/sharedContext/checkoutDetailsHandler.ts +42 -0
  615. package/src/sharedContext/handlePaymentResponseHandler.ts +270 -0
  616. package/src/sharedContext/paymentStatusHandler.ts +12 -0
  617. package/src/sharedContext/userdataHandler.ts +29 -0
  618. package/src/styles/components/addressCardStyles.ts +62 -0
  619. package/src/styles/components/bankCardStyles.ts +60 -0
  620. package/src/styles/components/cancelPaymentModalStyles.ts +88 -0
  621. package/src/styles/components/cvvInfoBottomSheetStyles.ts +54 -0
  622. package/src/styles/indexStyles.ts +52 -0
  623. package/src/styles/savedAddressScreenStyles.ts +22 -0
  624. package/src/styles/screens/addressScreenStyles..ts +65 -0
  625. package/src/styles/screens/bnplScreenStyles.ts +81 -0
  626. package/src/styles/screens/cardScreenStyles.ts +141 -0
  627. package/src/styles/screens/emiScreenStyles.ts +119 -0
  628. package/src/styles/screens/netBankingScreenStyles.ts +90 -0
  629. package/src/styles/screens/selectTenureScreenStyles.ts +38 -0
  630. package/src/styles/screens/upiScreenStyles.ts +110 -0
  631. package/src/styles/screens/upiTimerScreenStyle.ts +97 -0
  632. package/src/styles/screens/walletScreenStyles.ts +102 -0
  633. package/src/utils/listAndObjectUtils.ts +33 -0
  634. package/src/utils/stringUtils.ts +30 -0
@@ -0,0 +1,848 @@
1
+ import {
2
+ View,
3
+ Text,
4
+ BackHandler,
5
+ Dimensions,
6
+ ScrollView,
7
+ Image,
8
+ StatusBar,
9
+ SafeAreaView,
10
+ } from 'react-native';
11
+ import { useEffect, useRef, useState } from 'react';
12
+ import {
13
+ type Bank,
14
+ type ChooseEmiModel,
15
+ type Emi,
16
+ type PaymentResultObject,
17
+ type PaymentMethod,
18
+ APIStatus
19
+ } from '../interface';
20
+ import { checkoutDetailsHandler } from '../sharedContext/checkoutDetailsHandler';
21
+ import fetchPaymentMethods from '../postRequest/fetchPaymentMethods';
22
+ import ShimmerView from '../components/shimmerView';
23
+ import Header from '../components/header';
24
+ import { TextInput } from 'react-native-paper';
25
+ import BankCard from '../components/bankCard';
26
+ import SelectTenureScreen from './selectTenureScreen';
27
+ import emiPostRequest from '../postRequest/emiPostRequest';
28
+ import LottieView from 'lottie-react-native';
29
+ import PaymentFailed from '../components/paymentFailed';
30
+ import PaymentSuccess from '../components/paymentSuccess';
31
+ import SessionExpire from '../components/sessionExpire';
32
+ import { paymentHandler } from '../sharedContext/paymentStatusHandler';
33
+ import WebViewScreen from './webViewScreen';
34
+ import fetchStatus from '../postRequest/fetchStatus';
35
+ import PaymentSelectorView from '../components/paymentSelector';
36
+ import Toast from 'react-native-toast-message'
37
+ import styles from '../styles/screens/emiScreenStyles';
38
+ import { handleFetchStatusResponseHandler, handlePaymentResponse } from '../sharedContext/handlePaymentResponseHandler';
39
+ import type { CheckoutStackParamList } from '../navigation';
40
+ import type { NavigationProp } from '@react-navigation/native';
41
+
42
+ type EmiScreenNavigationProp = NavigationProp<CheckoutStackParamList, 'EmiScreen'>;
43
+
44
+ interface Props {
45
+ navigation: EmiScreenNavigationProp;
46
+ }
47
+
48
+ const EmiScreen = ({ navigation }: Props) => {
49
+ const [emiBankList, setEmiBankList] = useState<ChooseEmiModel>({ cards: [] });
50
+ const [defaultEmiBankList, setDefaultEmiBankList] = useState<ChooseEmiModel>({
51
+ cards: [],
52
+ });
53
+ const [selectedOthersOption, setSelectedOthersOption] = useState('');
54
+ const [searchText, setSearchText] = useState<string>('');
55
+ const [filterList, setFilterList] = useState<[string, boolean][]>([]);
56
+ const [isFilterExisted, setIsFilterExisted] = useState<boolean>(false);
57
+ const { checkoutDetails } = checkoutDetailsHandler;
58
+ const order: Record<string, number> = {
59
+ 'Credit Card': 0,
60
+ 'Debit Card': 1,
61
+ 'Others': 2,
62
+ };
63
+ const screenHeight = Dimensions.get('window').height;
64
+ const [isSearchVisible, setIsSearchVisible] = useState(true);
65
+ const [checkedOnce, setCheckedOnce] = useState(false);
66
+ const [isFirstLoad, setIsFirstLoad] = useState(true);
67
+ const [searchTextFocused, setSearchTextFocused] = useState(false);
68
+
69
+ const [selectTenureScreen, setSelectTenureScreen] = useState(false);
70
+
71
+ const [selectedCard, setSelectedCard] = useState<string>('');
72
+ const [selectedBank, setSelectedBank] = useState<Bank>();
73
+ const [selectedEmi, setSelectedEmi] = useState<Emi[]>([]);
74
+
75
+ const [loading, setLoading] = useState(false);
76
+ const [failedModalOpen, setFailedModalOpen] = useState(false);
77
+ const [successModalOpen, setSuccessModalOpen] = useState(false);
78
+ const [sessionExpireModalOpen, setSessionExppireModalOpen] = useState(false);
79
+ const [successfulTimeStamp, setSuccessfulTimeStamp] = useState('');
80
+
81
+ const [status, setStatus] = useState('');
82
+ const [transactionId, setTransactionId] = useState('');
83
+
84
+ const [paymentHtml, setPaymentHtml] = useState('');
85
+ const [paymentUrl, setPaymentUrl] = useState('');
86
+
87
+ const [showWebView, setShowWebView] = useState(false);
88
+ const backgroundApiInterval = useRef<NodeJS.Timeout | null>(null);
89
+
90
+ const paymentFailedMessage = useRef<string>(
91
+ 'You may have cancelled the payment or there was a delay in response. Please retry.'
92
+ );
93
+
94
+ useEffect(() => {
95
+ const fetchData = async () => {
96
+ const response = await fetchPaymentMethods()
97
+ switch(response.apiStatus) {
98
+ case APIStatus.Success : {
99
+ const data = response.data
100
+ data.forEach((paymentMethod: PaymentMethod) => {
101
+ if (paymentMethod.type === 'Emi') {
102
+ const title = paymentMethod.title;
103
+ const emiCardName = title?.includes('Credit')
104
+ ? 'Credit Card'
105
+ : title?.includes('Debit')
106
+ ? 'Debit Card'
107
+ : 'Others';
108
+
109
+ let emiBankImage = paymentMethod.logoUrl;
110
+ if (emiBankImage?.startsWith('/assets')) {
111
+ emiBankImage = `https://checkout.boxpay.in${emiBankImage}`;
112
+ }
113
+
114
+ const emiMethod = paymentMethod.emiMethod;
115
+ if(emiMethod) {
116
+ const bankName =
117
+ emiCardName === 'Others'
118
+ ? emiMethod.cardlessEmiProviderTitle
119
+ : emiMethod.issuerTitle;
120
+ const effectiveInterestRate =
121
+ emiMethod.effectiveInterestRate || 0.0;
122
+ const bankInterestRate =
123
+ emiCardName === 'Others' ? 0.0 : effectiveInterestRate;
124
+
125
+ let noApplicableOffer = false;
126
+ let lowApplicableOffer = false;
127
+ if (emiMethod.applicableOffer) {
128
+ const discount = emiMethod.applicableOffer.discount;
129
+ noApplicableOffer = discount.type === 'NoCostEmi';
130
+ lowApplicableOffer = discount.type === 'LowCostEmi';
131
+ }
132
+
133
+ const bank: Bank = {
134
+ iconUrl: emiBankImage ?? '',
135
+ name: bankName ?? '',
136
+ percent: noApplicableOffer
137
+ ? (emiMethod.merchantBorneInterestRate ?? 0)
138
+ : bankInterestRate,
139
+ noCostApplied: noApplicableOffer,
140
+ lowCostApplied: lowApplicableOffer,
141
+ emiList: [],
142
+ cardLessEmiValue: emiMethod.cardlessEmiProviderValue ?? '',
143
+ issuerBrand:
144
+ emiCardName === 'Others' ? '' : (emiMethod.issuer ?? ''),
145
+ };
146
+
147
+ const emi: Emi = {
148
+ duration: emiMethod.duration ?? 0,
149
+ percent: noApplicableOffer
150
+ ? (emiMethod.merchantBorneInterestRate ?? 0)
151
+ : bankInterestRate,
152
+ amount: emiMethod.emiAmountLocaleFull ?? '',
153
+ totalAmount: emiMethod.totalAmountLocaleFull ?? '',
154
+ discount: emiMethod.merchantBorneInterestAmountLocaleFull ?? '',
155
+ interestCharged: lowApplicableOffer
156
+ ? (emiMethod.interestChargedAmountLocaleFull ?? '')
157
+ : (emiMethod.bankChargedInterestAmountLocaleFull ?? ''),
158
+ noCostApplied: noApplicableOffer,
159
+ processingFee: emiMethod.processingFee?.amountLocaleFull || '0',
160
+ lowCostApplied: lowApplicableOffer,
161
+ code: emiMethod.applicableOffer?.code || '',
162
+ netAmount: emiMethod.netAmountLocaleFull ?? '',
163
+ };
164
+
165
+ addBankDetails(emiCardName, bank, emi);
166
+ }
167
+ }
168
+ });
169
+ break
170
+ }
171
+ case APIStatus.Failed : {
172
+ Toast.show({
173
+ type: 'error',
174
+ text1: 'Oops!',
175
+ text2: 'Something went wrong. Please try again.'
176
+ });
177
+ break
178
+ }
179
+ }
180
+ }
181
+
182
+ fetchData()
183
+ }, []);
184
+
185
+ useEffect(() => {
186
+ if (defaultEmiBankList.cards.length > 0) {
187
+ setEmiBankList(defaultEmiBankList);
188
+ }
189
+ }, [defaultEmiBankList]);
190
+
191
+ const startBackgroundApiTask = () => {
192
+ backgroundApiInterval.current = setInterval(() => {
193
+ callFetchStatusApi();
194
+ }, 4000);
195
+ };
196
+
197
+ const stopBackgroundApiTask = () => {
198
+ if (backgroundApiInterval.current) {
199
+ clearInterval(backgroundApiInterval.current);
200
+ }
201
+ };
202
+
203
+ const callFetchStatusApi = async () => {
204
+ const response = await fetchStatus();
205
+ handleFetchStatusResponseHandler({
206
+ response: response,
207
+ checkoutDetailsErrorMessage: checkoutDetailsHandler.checkoutDetails.errorMessage,
208
+ onSetStatus: setStatus,
209
+ onSetTransactionId: setTransactionId,
210
+ onSetFailedMessage: (msg) => {
211
+ paymentFailedMessage.current = msg
212
+ },
213
+ onShowFailedModal: () => {
214
+ setFailedModalOpen(true)
215
+ },
216
+ onShowSuccessModal: (ts) => {
217
+ setSuccessfulTimeStamp(ts);
218
+ setSuccessModalOpen(true);
219
+ },
220
+ onShowSessionExpiredModal: () => {
221
+ setSessionExppireModalOpen(true)
222
+ },
223
+ setLoading: setLoading,
224
+ stopBackgroundApiTask: stopBackgroundApiTask
225
+ });
226
+ };
227
+
228
+ useEffect(() => {
229
+ if (emiBankList.cards.length > 0) {
230
+ setIsFirstLoad(false);
231
+ }
232
+ }, [emiBankList]);
233
+
234
+ useEffect(() => {
235
+ if (paymentUrl) {
236
+ setShowWebView(true);
237
+ }
238
+ }, [paymentUrl]);
239
+
240
+ useEffect(() => {
241
+ if (paymentHtml) {
242
+ setShowWebView(true);
243
+ }
244
+ }, [paymentHtml]);
245
+
246
+ const onProceedForward = async (instrumentValue: string) => {
247
+ let response;
248
+ setLoading(true);
249
+ response = await emiPostRequest({duration:instrumentValue});
250
+ handlePaymentResponse({
251
+ response: response,
252
+ checkoutDetailsErrorMessage: checkoutDetails.errorMessage,
253
+ onSetStatus: setStatus,
254
+ onSetTransactionId: setTransactionId,
255
+ onSetPaymentHtml: setPaymentHtml,
256
+ onSetPaymentUrl: setPaymentUrl,
257
+ onSetFailedMessage: (msg) => (paymentFailedMessage.current = msg),
258
+ onShowFailedModal: () => setFailedModalOpen(true),
259
+ onShowSuccessModal: (ts) => {
260
+ setSuccessfulTimeStamp(ts);
261
+ setSuccessModalOpen(true);
262
+ },
263
+ onShowSessionExpiredModal: () => setSessionExppireModalOpen(true),
264
+ setLoading: setLoading
265
+ });
266
+ };
267
+
268
+ const addBankDetails = (cardType: string, bank: Bank, emi: Emi) => {
269
+ try {
270
+ setDefaultEmiBankList((prev) => {
271
+ const existingCardType = prev.cards.find(
272
+ (card) => card.cardType.toLowerCase() === cardType.toLowerCase()
273
+ );
274
+
275
+ if (bank.noCostApplied) {
276
+ setIsFilterExisted(true);
277
+ if (!filterList.some(([filter]) => filter === 'No Cost EMI')) {
278
+ setFilterList([...filterList, ['No Cost EMI', false]]);
279
+ }
280
+ }
281
+
282
+ let updatedCards;
283
+ if (existingCardType) {
284
+ let updatedBanks = [...existingCardType.banks];
285
+ const existingBankIndex = updatedBanks.findIndex(
286
+ (b) => b.name === bank.name && b.iconUrl === bank.iconUrl
287
+ );
288
+
289
+ if (existingBankIndex !== -1) {
290
+ const existingBank = { ...updatedBanks[existingBankIndex] };
291
+ const emiExists = existingBank.emiList?.some(
292
+ (e) => e.duration === emi.duration && e.amount === emi.amount
293
+ );
294
+
295
+ if (!emiExists) {
296
+ existingBank.emiList = existingBank.emiList
297
+ ? [...existingBank.emiList, emi]
298
+ : [emi];
299
+ existingBank.noCostApplied ||= emi.noCostApplied;
300
+ existingBank.lowCostApplied ||= emi.lowCostApplied;
301
+ existingBank.percent = Math.min(
302
+ existingBank.percent ?? bank.percent,
303
+ bank.percent
304
+ );
305
+
306
+ updatedBanks[existingBankIndex] = existingBank as Bank;
307
+ }
308
+ } else {
309
+ updatedBanks = [...updatedBanks, { ...bank, emiList: [emi] }];
310
+ }
311
+
312
+ // 🔽 Sort updated banks inside card
313
+ updatedBanks.sort((a, b) => {
314
+ if (b.noCostApplied !== a.noCostApplied)
315
+ return b.noCostApplied ? 1 : -1;
316
+ if (b.lowCostApplied !== a.lowCostApplied)
317
+ return b.lowCostApplied ? 1 : -1;
318
+ return a.name.localeCompare(b.name);
319
+ });
320
+
321
+ updatedCards = prev.cards.map((card) =>
322
+ card.cardType.toLowerCase() === cardType.toLowerCase()
323
+ ? { ...card, banks: updatedBanks }
324
+ : card
325
+ );
326
+ } else {
327
+ updatedCards = [
328
+ ...prev.cards,
329
+ {
330
+ cardType,
331
+ banks: [{ ...bank, emiList: [emi] }],
332
+ },
333
+ ];
334
+ }
335
+
336
+ // 🔽 Sort cards based on predefined order
337
+ updatedCards.sort(
338
+ (a, b) =>
339
+ (order[a.cardType as keyof typeof order] ?? 3) -
340
+ (order[b.cardType as keyof typeof order] ?? 3)
341
+ );
342
+
343
+ const newEmiBankList = { ...prev, cards: updatedCards };
344
+
345
+ // 🔽 Set default selected card
346
+ if (
347
+ newEmiBankList.cards.some(
348
+ (card) => card.cardType.toLowerCase() === 'credit card'
349
+ )
350
+ ) {
351
+ setSelectedCard('Credit Card');
352
+ } else if (
353
+ newEmiBankList.cards.some(
354
+ (card) => card.cardType.toLowerCase() === 'debit card'
355
+ )
356
+ ) {
357
+ setSelectedCard('Debit Card');
358
+ } else if (
359
+ newEmiBankList.cards.some(
360
+ (card) => card.cardType.toLowerCase() === 'others'
361
+ )
362
+ ) {
363
+ setSelectedCard('Others');
364
+ } else {
365
+ setSelectedCard(cardType);
366
+ }
367
+
368
+ return newEmiBankList;
369
+ });
370
+ } catch (error) {}
371
+ };
372
+
373
+ const onProceedBack = () => {
374
+ navigation.goBack()
375
+ return true;
376
+ };
377
+ useEffect(() => {
378
+ const backHandler = BackHandler.addEventListener(
379
+ 'hardwareBackPress',
380
+ () => {
381
+ if (showWebView) {
382
+ setShowWebView(false);
383
+ paymentFailedMessage.current = checkoutDetails.errorMessage;
384
+ setStatus('Failed');
385
+ setFailedModalOpen(true);
386
+ setLoading(false);
387
+ return true;
388
+ } else if (loading) {
389
+ return true; // Prevent default back action
390
+ } else if (selectTenureScreen) {
391
+ setSelectTenureScreen(false);
392
+ return true;
393
+ }
394
+ return onProceedBack(); // Allow back navigation if not loading
395
+ }
396
+ );
397
+
398
+ return () => backHandler.remove();
399
+ });
400
+
401
+ const navigateToCardScreen = (
402
+ duration: number,
403
+ bankName: string,
404
+ bankUrl: string,
405
+ offerCode: string,
406
+ amount: string,
407
+ percent: number
408
+ ) => {
409
+ navigation.navigate("CardScreen", {
410
+ duration: duration,
411
+ bankName: bankName,
412
+ bankUrl: bankUrl,
413
+ offerCode: offerCode,
414
+ amount: amount,
415
+ percent: percent,
416
+ cardType: selectedCard,
417
+ issuerBrand: selectedBank?.issuerBrand,
418
+ })
419
+ };
420
+
421
+ useEffect(() => {
422
+ if (searchText.trim() === '') {
423
+ // Reset to original bank list if search query is empty
424
+ setEmiBankList(defaultEmiBankList);
425
+ } else {
426
+ // Filter banks whose name starts with the search query (case-insensitive)
427
+ const filteredList: ChooseEmiModel = {
428
+ ...defaultEmiBankList,
429
+ cards: defaultEmiBankList.cards.map((card) => ({
430
+ ...card,
431
+ banks: card.banks.filter((bank) =>
432
+ bank.name.toLowerCase().startsWith(searchText.toLowerCase())
433
+ ),
434
+ })),
435
+ };
436
+ setEmiBankList(filteredList);
437
+ }
438
+ }, [searchText]);
439
+
440
+ const getBanksByFilter = (cardType: string, filterApplied: string) => {
441
+ setFilterList((prevFilters) => {
442
+ // Toggle the filter: if already active, deactivate it, else activate it and deactivate others
443
+ const newFilters: [string, boolean][] = prevFilters.map(
444
+ ([filter, isActive]) =>
445
+ filter === filterApplied ? [filter, !isActive] : [filter, false]
446
+ );
447
+
448
+ // Check if any filter is active
449
+ const isAnyFilterActive = newFilters.some(([, isActive]) => isActive);
450
+
451
+ setEmiBankList(() => {
452
+ if (!isAnyFilterActive) {
453
+ return defaultEmiBankList; // Reset if no filter is active
454
+ }
455
+
456
+ return {
457
+ cards: defaultEmiBankList.cards.map((card) => {
458
+ if (card.cardType.toLowerCase() === cardType.toLowerCase()) {
459
+ let filteredBanks = card.banks;
460
+
461
+ // Apply filters based on the active filter
462
+ if (
463
+ newFilters.some(
464
+ ([filter, isActive]) => isActive && filter.includes('No Cost')
465
+ )
466
+ ) {
467
+ filteredBanks = card.banks.filter((bank) => bank.noCostApplied);
468
+ } else if (
469
+ newFilters.some(
470
+ ([filter, isActive]) =>
471
+ isActive && filter.includes('Low Cost')
472
+ )
473
+ ) {
474
+ filteredBanks = card.banks.filter(
475
+ (bank) => bank.lowCostApplied
476
+ );
477
+ }
478
+
479
+ return { ...card, banks: filteredBanks };
480
+ }
481
+ return card;
482
+ }),
483
+ };
484
+ });
485
+
486
+ return newFilters;
487
+ });
488
+ };
489
+
490
+ const handleCardClick = (cardType: string) => {
491
+ setSelectedCard(cardType);
492
+ setSearchText('');
493
+ setFilterList((prevFilters) =>
494
+ prevFilters.map(([filter]) => [filter, false])
495
+ );
496
+ };
497
+
498
+ const handleSelectedBank = (selectedBank: Bank) => {
499
+ try {
500
+ setSelectedBank(selectedBank);
501
+ setFilterList((prevFilters) =>
502
+ prevFilters.map(([filter]) => [filter, false])
503
+ );
504
+ setSelectedEmi(sortEmiList(selectedBank));
505
+ setSelectTenureScreen(true);
506
+ } catch (error) {}
507
+ };
508
+
509
+ const sortEmiList = (bank: Bank): Emi[] => {
510
+ return [...bank.emiList].sort((a, b) => {
511
+ // Sort by `noCostApplied` first (true comes before false)
512
+ if (a.noCostApplied !== b.noCostApplied) {
513
+ return a.noCostApplied ? -1 : 1;
514
+ }
515
+ // Then by `lowCostApplied` (true comes before false)
516
+ if (a.lowCostApplied !== b.lowCostApplied) {
517
+ return a.lowCostApplied ? -1 : 1;
518
+ }
519
+ // Finally, sort by `duration` in ascending order
520
+ return a.duration - b.duration;
521
+ });
522
+ };
523
+
524
+ const onExitCheckout = () => {
525
+ const mockPaymentResult: PaymentResultObject = {
526
+ status: status || '',
527
+ transactionId: transactionId || '',
528
+ };
529
+ paymentHandler.onPaymentResult(mockPaymentResult);
530
+ };
531
+
532
+ return (
533
+ <SafeAreaView style={styles.screenView}>
534
+ <StatusBar barStyle="dark-content" />
535
+ {isFirstLoad ? (
536
+ <ShimmerView/>
537
+ ) : loading ? (
538
+ <View
539
+ style={styles.loadingContainer}
540
+ >
541
+ <LottieView
542
+ source={require('../../assets/animations/boxpayLogo.json')}
543
+ autoPlay
544
+ loop
545
+ style={styles.lottieStyle}
546
+ />
547
+ <Text>Loading...</Text>
548
+ </View>
549
+ ) : (
550
+ <View style={styles.availableScreenView}>
551
+ {!selectTenureScreen && (
552
+ <>
553
+ <Header
554
+ onBackPress={onProceedBack}
555
+ showDesc={true}
556
+ showSecure={false}
557
+ text="Choose EMI Option"
558
+ />
559
+ <View
560
+ style={styles.container}
561
+ >
562
+ <View
563
+ style={styles.insideContainer}
564
+ >
565
+ {emiBankList.cards.map((item, index) => (
566
+ <View
567
+ key={index}
568
+ style={styles.cardsContainer}
569
+ >
570
+ <Text
571
+ style={[styles.cardsText,{
572
+ color:
573
+ selectedCard === item.cardType
574
+ ? checkoutDetails.brandColor
575
+ : '#01010273',
576
+ }]}
577
+ onPress={() => handleCardClick(item.cardType)}
578
+ >
579
+ {item.cardType}
580
+ </Text>
581
+ <View
582
+ style={[styles.highlightedDivider,{
583
+ backgroundColor:
584
+ selectedCard === item.cardType
585
+ ? checkoutDetails.brandColor
586
+ : '',
587
+ }]}
588
+ />
589
+ </View>
590
+ ))}
591
+ </View>
592
+ <View
593
+ style={styles.divider}
594
+ />
595
+ {isSearchVisible && (
596
+ <View style={{ backgroundColor: 'white' }}>
597
+ <TextInput
598
+ mode="outlined"
599
+ label={
600
+ <Text
601
+ style={[styles.searchTextLable,{
602
+ color: searchTextFocused
603
+ ? '#2D2B32'
604
+ : searchText != '' && searchText != null
605
+ ? '#2D2B32'
606
+ : '#ADACB0',
607
+ }]}
608
+ >
609
+ {selectedCard === 'Others'
610
+ ? 'Search for other EMI options'
611
+ : 'Search for bank'}
612
+ </Text>
613
+ }
614
+ value={searchText}
615
+ onChangeText={(it) => {
616
+ setSearchText(it);
617
+ }}
618
+ theme={{
619
+ colors: {
620
+ primary: '#2D2B32',
621
+ outline: '#E6E6E6',
622
+ },
623
+ }}
624
+ style={styles.textInputStyle}
625
+ left={
626
+ <TextInput.Icon
627
+ icon={() => (
628
+ <Image
629
+ source={require('../../assets/images/ic_search.png')}
630
+ style={{ width: 20, height: 20 }}
631
+ />
632
+ )}
633
+ />
634
+ }
635
+ outlineStyle={{
636
+ borderRadius: 6,
637
+ borderWidth: 1,
638
+ }}
639
+ onFocus={() => setSearchTextFocused(true)}
640
+ onBlur={() => setSearchTextFocused(false)}
641
+ />
642
+ </View>
643
+ )}
644
+ {isFilterExisted &&
645
+ selectedCard != 'Others' &&
646
+ filterList.map(([item, isSelected], index) => (
647
+ <View
648
+ key={index}
649
+ style={styles.filterContainer}
650
+ >
651
+ <View
652
+ style={[styles.filterBox,{
653
+ borderColor: isSelected ? '#1CA672' : '#E6E6E6',
654
+ backgroundColor: isSelected ? '#E8F6F1' : 'white',
655
+ }]}
656
+ >
657
+ <Text
658
+ style={styles.filterText}
659
+ onPress={() => {
660
+ getBanksByFilter(selectedCard, item);
661
+ }}
662
+ >
663
+ {item}
664
+ </Text>
665
+ <Image
666
+ source={
667
+ isSelected
668
+ ? require('../../assets/images/ic_cross.png')
669
+ : require('../../assets/images/add_icon.png')
670
+ }
671
+ style={[styles.filterImage,{
672
+ tintColor: isSelected ? '#2D2B32' : '#7F7D83',
673
+ }]}
674
+ />
675
+ </View>
676
+ </View>
677
+ ))}
678
+ </View>
679
+ <ScrollView
680
+ contentContainerStyle={{ flexGrow: 1 }}
681
+ keyboardShouldPersistTaps="handled"
682
+ onContentSizeChange={(_, contentHeight) => {
683
+ if (!checkedOnce) {
684
+ if (contentHeight > screenHeight) {
685
+ setIsSearchVisible(true);
686
+ }
687
+ setCheckedOnce(true);
688
+ }
689
+ }}
690
+ >
691
+ <Text
692
+ style={styles.headingText}
693
+ >
694
+ {selectedCard === 'Others' ? 'Others' : 'All Banks'}
695
+ </Text>
696
+ <View
697
+ style={styles.listContainer}
698
+ >
699
+ {(() => {
700
+ const selectedCardData = emiBankList.cards.find(
701
+ (card) => card.cardType === selectedCard
702
+ );
703
+
704
+ if (
705
+ !selectedCardData ||
706
+ selectedCardData.banks?.length === 0
707
+ ) {
708
+ return (
709
+ <View
710
+ style={styles.emptyListContainer}
711
+ >
712
+ <Image
713
+ source={require('../../assets/images/no_results_found.png')}
714
+ style={styles.emptyListImage}
715
+ />
716
+ <Text
717
+ style={styles.emptyListHeadingText}
718
+ >
719
+ Oops!! No result found
720
+ </Text>
721
+ <Text
722
+ style={styles.emptyListDescText}
723
+ >
724
+ Please try another search
725
+ </Text>
726
+ </View>
727
+ );
728
+ }
729
+
730
+ if (selectedCard === 'Others') {
731
+ return (
732
+ <PaymentSelectorView
733
+ providerList={selectedCardData.banks.map((bank) => ({
734
+ type: 'EMI',
735
+ id: bank.cardLessEmiValue,
736
+ displayName: '',
737
+ displayValue: bank.name,
738
+ iconUrl: bank.iconUrl,
739
+ instrumentTypeValue: bank.cardLessEmiValue,
740
+ isSelected:
741
+ selectedOthersOption === bank.cardLessEmiValue,
742
+ }))}
743
+ onProceedForward={(_, instrumentValue) =>
744
+ onProceedForward(instrumentValue)
745
+ }
746
+ errorImage={require('../../assets/images/ic_bnpl_semi_bold.png')}
747
+ onClickRadio={(selectedInstumentValue) => {
748
+ setSelectedOthersOption(selectedInstumentValue);
749
+ }}
750
+ />
751
+ );
752
+ }
753
+
754
+ // For Credit or Debit
755
+ return selectedCardData.banks.map(
756
+ (bank, index, bankArray) => (
757
+ <View key={index} style={{ flexDirection: 'column' }}>
758
+ <BankCard
759
+ name={bank.name}
760
+ iconUrl={bank.iconUrl}
761
+ hasNoCostEmi={bank.noCostApplied}
762
+ hasLowCostEmi={bank.lowCostApplied}
763
+ onPress={() => handleSelectedBank(bank)}
764
+ />
765
+ {index !== bankArray.length - 1 && (
766
+ <View
767
+ style={styles.divider}
768
+ />
769
+ )}
770
+ </View>
771
+ )
772
+ );
773
+ })()}
774
+ </View>
775
+ </ScrollView>
776
+ </>
777
+ )}
778
+
779
+ {selectTenureScreen && (
780
+ <View style={styles.availableScreenView}>
781
+ <SelectTenureScreen
782
+ bankName={selectedBank?.name || ''}
783
+ bankUrl={selectedBank?.iconUrl || ''}
784
+ onbackPress={() => {
785
+ setSelectTenureScreen(false);
786
+ }}
787
+ cardType={selectedCard}
788
+ emiModel={selectedEmi ? selectedEmi : []}
789
+ onProceedForward={(
790
+ duration: number,
791
+ bankName: string,
792
+ bankUrl: string,
793
+ offerCode: string,
794
+ amount: string,
795
+ percent: number
796
+ ) => {
797
+ navigateToCardScreen(
798
+ duration,
799
+ bankName,
800
+ bankUrl,
801
+ offerCode,
802
+ amount,
803
+ percent
804
+ );
805
+ }}
806
+ />
807
+ </View>
808
+ )}
809
+ </View>
810
+ )}
811
+ {failedModalOpen && (
812
+ <PaymentFailed
813
+ onClick={() => setFailedModalOpen(false)}
814
+ errorMessage={paymentFailedMessage.current}
815
+ />
816
+ )}
817
+
818
+ {successModalOpen && (
819
+ <PaymentSuccess
820
+ onClick={onExitCheckout}
821
+ transactionId={transactionId || ''}
822
+ method="Card"
823
+ localDateTime={successfulTimeStamp}
824
+ />
825
+ )}
826
+
827
+ {sessionExpireModalOpen && <SessionExpire onClick={onExitCheckout} />}
828
+
829
+ {showWebView && (
830
+ <View
831
+ style={styles.webViewScreenStyle}
832
+ >
833
+ <WebViewScreen
834
+ url={paymentUrl}
835
+ html={paymentHtml}
836
+ onBackPress={() => {
837
+ startBackgroundApiTask();
838
+ setLoading(true);
839
+ setShowWebView(false);
840
+ }}
841
+ />
842
+ </View>
843
+ )}
844
+ </SafeAreaView>
845
+ );
846
+ };
847
+
848
+ export default EmiScreen;