@transfergratis/react-native-sdk 0.1.3 → 0.1.5

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 (308) hide show
  1. package/android/.idea/caches/deviceStreaming.xml +860 -0
  2. package/android/build/.transforms/{7ec900c0f64f5f1a7c88998dd44001b8 → 01c28d00c798aa4846f16ce72123ebf9}/transformed/classes/classes_dex/classes.dex +0 -0
  3. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +1 -0
  4. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  5. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  6. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  7. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -2
  8. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  9. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +51 -48
  10. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-transfergratis-react-native-sdk.jar +0 -0
  11. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +1 -0
  12. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  13. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  14. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  15. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  16. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  17. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  18. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  19. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  20. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  21. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  22. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  23. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  24. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  25. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  26. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  27. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  28. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  29. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  30. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  31. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  32. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  33. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
  34. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  35. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  36. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  51. package/android/build/outputs/aar/transfergratis-react-native-sdk-debug.aar +0 -0
  52. package/android/build/outputs/logs/manifest-merger-debug-report.txt +27 -23
  53. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
  54. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
  55. package/android/build.gradle +1 -5
  56. package/android/src/main/AndroidManifest.xml +1 -0
  57. package/build/api/axios.d.ts +30 -0
  58. package/build/api/axios.d.ts.map +1 -0
  59. package/build/api/axios.js +92 -0
  60. package/build/api/axios.js.map +1 -0
  61. package/build/components/EnhancedCameraView.d.ts +1 -41
  62. package/build/components/EnhancedCameraView.d.ts.map +1 -1
  63. package/build/components/EnhancedCameraView.js +76 -35
  64. package/build/components/EnhancedCameraView.js.map +1 -1
  65. package/build/components/EnhancedCameraView.web.d.ts +1 -41
  66. package/build/components/EnhancedCameraView.web.d.ts.map +1 -1
  67. package/build/components/EnhancedCameraView.web.js +28 -4
  68. package/build/components/EnhancedCameraView.web.js.map +1 -1
  69. package/build/components/KYCElements/CountrySelectionTemplate.d.ts +2 -2
  70. package/build/components/KYCElements/CountrySelectionTemplate.d.ts.map +1 -1
  71. package/build/components/KYCElements/CountrySelectionTemplate.js +71 -114
  72. package/build/components/KYCElements/CountrySelectionTemplate.js.map +1 -1
  73. package/build/components/KYCElements/FileUploadTemplate.d.ts.map +1 -1
  74. package/build/components/KYCElements/FileUploadTemplate.js +7 -3
  75. package/build/components/KYCElements/FileUploadTemplate.js.map +1 -1
  76. package/build/components/KYCElements/IDCardCapture.d.ts +7 -2
  77. package/build/components/KYCElements/IDCardCapture.d.ts.map +1 -1
  78. package/build/components/KYCElements/IDCardCapture.js +253 -104
  79. package/build/components/KYCElements/IDCardCapture.js.map +1 -1
  80. package/build/components/KYCElements/InitializationStep.d.ts +5 -0
  81. package/build/components/KYCElements/InitializationStep.d.ts.map +1 -0
  82. package/build/components/KYCElements/InitializationStep.js +41 -0
  83. package/build/components/KYCElements/InitializationStep.js.map +1 -0
  84. package/build/components/KYCElements/LocationCaptureTemplate.d.ts.map +1 -1
  85. package/build/components/KYCElements/LocationCaptureTemplate.js +15 -13
  86. package/build/components/KYCElements/LocationCaptureTemplate.js.map +1 -1
  87. package/build/components/KYCElements/OrientationVideoCapture.d.ts +2 -2
  88. package/build/components/KYCElements/OrientationVideoCapture.d.ts.map +1 -1
  89. package/build/components/KYCElements/OrientationVideoCapture.js.map +1 -1
  90. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts +2 -2
  91. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts.map +1 -1
  92. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js.map +1 -1
  93. package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts +2 -2
  94. package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts.map +1 -1
  95. package/build/components/KYCElements/OrientationVideoCaptureFinal.js.map +1 -1
  96. package/build/components/KYCElements/ReviewSubmitTemplate.d.ts +12 -0
  97. package/build/components/KYCElements/ReviewSubmitTemplate.d.ts.map +1 -0
  98. package/build/components/KYCElements/ReviewSubmitTemplate.js +171 -0
  99. package/build/components/KYCElements/ReviewSubmitTemplate.js.map +1 -0
  100. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts +6 -2
  101. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts.map +1 -1
  102. package/build/components/KYCElements/SelfieCaptureTemplate.js +105 -35
  103. package/build/components/KYCElements/SelfieCaptureTemplate.js.map +1 -1
  104. package/build/components/KYCElements/VerificationProgressTemplate.d.ts +12 -0
  105. package/build/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -0
  106. package/build/components/KYCElements/VerificationProgressTemplate.js +93 -0
  107. package/build/components/KYCElements/VerificationProgressTemplate.js.map +1 -0
  108. package/build/components/OverLay/IdCard.d.ts +1 -1
  109. package/build/components/OverLay/IdCard.d.ts.map +1 -1
  110. package/build/components/OverLay/IdCard.js +10 -6
  111. package/build/components/OverLay/IdCard.js.map +1 -1
  112. package/build/components/OverLay/SelfieOverlay.d.ts +1 -1
  113. package/build/components/OverLay/SelfieOverlay.d.ts.map +1 -1
  114. package/build/components/OverLay/SelfieOverlay.js +5 -4
  115. package/build/components/OverLay/SelfieOverlay.js.map +1 -1
  116. package/build/components/OverLay/type.d.ts +71 -1
  117. package/build/components/OverLay/type.d.ts.map +1 -1
  118. package/build/components/OverLay/type.js.map +1 -1
  119. package/build/components/TemplateKYCExample.d.ts.map +1 -1
  120. package/build/components/TemplateKYCExample.js +72 -197
  121. package/build/components/TemplateKYCExample.js.map +1 -1
  122. package/build/components/TemplateKYCFlowRefactored.d.ts.map +1 -1
  123. package/build/components/TemplateKYCFlowRefactored.js +63 -39
  124. package/build/components/TemplateKYCFlowRefactored.js.map +1 -1
  125. package/build/components/VisionCameraView.js +1 -1
  126. package/build/components/VisionCameraView.js.map +1 -1
  127. package/build/components/example/OrientationVideoExample.d.ts.map +1 -1
  128. package/build/components/example/OrientationVideoExample.js +1 -5
  129. package/build/components/example/OrientationVideoExample.js.map +1 -1
  130. package/build/components/ui/Button.js +1 -1
  131. package/build/components/ui/Button.js.map +1 -1
  132. package/build/config/countriesData.d.ts +3 -0
  133. package/build/config/countriesData.d.ts.map +1 -0
  134. package/build/config/countriesData.js +79 -0
  135. package/build/config/countriesData.js.map +1 -0
  136. package/build/config/region_mapping.d.ts +3 -0
  137. package/build/config/region_mapping.d.ts.map +1 -0
  138. package/build/config/region_mapping.js +687 -0
  139. package/build/config/region_mapping.js.map +1 -0
  140. package/build/hooks/useI18n.d.ts +11 -0
  141. package/build/hooks/useI18n.d.ts.map +1 -0
  142. package/build/hooks/useI18n.js +37 -0
  143. package/build/hooks/useI18n.js.map +1 -0
  144. package/build/hooks/useOrientationVideo.d.ts +1 -2
  145. package/build/hooks/useOrientationVideo.d.ts.map +1 -1
  146. package/build/hooks/useOrientationVideo.js +2 -1
  147. package/build/hooks/useOrientationVideo.js.map +1 -1
  148. package/build/hooks/useRealtimeVerifier.d.ts +28 -0
  149. package/build/hooks/useRealtimeVerifier.d.ts.map +1 -0
  150. package/build/hooks/useRealtimeVerifier.js +91 -0
  151. package/build/hooks/useRealtimeVerifier.js.map +1 -0
  152. package/build/hooks/useTemplateKYCFlow.d.ts +1 -0
  153. package/build/hooks/useTemplateKYCFlow.d.ts.map +1 -1
  154. package/build/hooks/useTemplateKYCFlow.js +337 -38
  155. package/build/hooks/useTemplateKYCFlow.js.map +1 -1
  156. package/build/i18n/en/index.d.ts +168 -0
  157. package/build/i18n/en/index.d.ts.map +1 -0
  158. package/build/i18n/en/index.js +195 -0
  159. package/build/i18n/en/index.js.map +1 -0
  160. package/build/i18n/fr/index.d.ts +168 -0
  161. package/build/i18n/fr/index.d.ts.map +1 -0
  162. package/build/i18n/fr/index.js +194 -0
  163. package/build/i18n/fr/index.js.map +1 -0
  164. package/build/i18n/index.d.ts +10 -0
  165. package/build/i18n/index.d.ts.map +1 -0
  166. package/build/i18n/index.js +56 -0
  167. package/build/i18n/index.js.map +1 -0
  168. package/build/i18n/types.d.ts +153 -0
  169. package/build/i18n/types.d.ts.map +1 -0
  170. package/build/i18n/types.js +3 -0
  171. package/build/i18n/types.js.map +1 -0
  172. package/build/i18n/usage-example.d.ts +4 -0
  173. package/build/i18n/usage-example.d.ts.map +1 -0
  174. package/build/i18n/usage-example.js +189 -0
  175. package/build/i18n/usage-example.js.map +1 -0
  176. package/build/modules/api/CardAuthentification.d.ts +22 -0
  177. package/build/modules/api/CardAuthentification.d.ts.map +1 -0
  178. package/build/modules/api/CardAuthentification.js +107 -0
  179. package/build/modules/api/CardAuthentification.js.map +1 -0
  180. package/build/modules/api/KYCService.d.ts +57 -1
  181. package/build/modules/api/KYCService.d.ts.map +1 -1
  182. package/build/modules/api/KYCService.js +348 -27
  183. package/build/modules/api/KYCService.js.map +1 -1
  184. package/build/modules/api/SelfieVerification.d.ts +3 -0
  185. package/build/modules/api/SelfieVerification.d.ts.map +1 -0
  186. package/build/modules/api/SelfieVerification.js +9 -0
  187. package/build/modules/api/SelfieVerification.js.map +1 -0
  188. package/build/modules/api/backendApi.d.ts +2 -0
  189. package/build/modules/api/backendApi.d.ts.map +1 -0
  190. package/build/modules/api/backendApi.js +6 -0
  191. package/build/modules/api/backendApi.js.map +1 -0
  192. package/build/modules/api/types.d.ts +20 -0
  193. package/build/modules/api/types.d.ts.map +1 -0
  194. package/build/modules/api/types.js +2 -0
  195. package/build/modules/api/types.js.map +1 -0
  196. package/build/modules/camera/VisionCameraModule.d.ts +1 -1
  197. package/build/modules/camera/VisionCameraModule.d.ts.map +1 -1
  198. package/build/modules/camera/VisionCameraModule.js +8 -2
  199. package/build/modules/camera/VisionCameraModule.js.map +1 -1
  200. package/build/types/KYC.types.d.ts +59 -7
  201. package/build/types/KYC.types.d.ts.map +1 -1
  202. package/build/types/KYC.types.js +9 -1
  203. package/build/types/KYC.types.js.map +1 -1
  204. package/build/utils/cropByObb.d.ts +11 -0
  205. package/build/utils/cropByObb.d.ts.map +1 -0
  206. package/build/utils/cropByObb.js +78 -0
  207. package/build/utils/cropByObb.js.map +1 -0
  208. package/build/utils/get-document-type-info.d.ts +13 -0
  209. package/build/utils/get-document-type-info.d.ts.map +1 -0
  210. package/build/utils/get-document-type-info.js +59 -0
  211. package/build/utils/get-document-type-info.js.map +1 -0
  212. package/build/utils/pathToBase64.d.ts +3 -0
  213. package/build/utils/pathToBase64.d.ts.map +1 -0
  214. package/build/utils/pathToBase64.js +47 -0
  215. package/build/utils/pathToBase64.js.map +1 -0
  216. package/build/utils/remove-duplicate.d.ts +2 -0
  217. package/build/utils/remove-duplicate.d.ts.map +1 -0
  218. package/build/utils/remove-duplicate.js +4 -0
  219. package/build/utils/remove-duplicate.js.map +1 -0
  220. package/package.json +3 -1
  221. package/src/api/axios.ts +144 -0
  222. package/src/components/EnhancedCameraView.tsx +96 -78
  223. package/src/components/EnhancedCameraView.web.tsx +41 -40
  224. package/src/components/KYCElements/CountrySelectionTemplate.tsx +104 -136
  225. package/src/components/KYCElements/FileUploadTemplate.tsx +14 -8
  226. package/src/components/KYCElements/IDCardCapture.tsx +311 -115
  227. package/src/components/KYCElements/InitializationStep.tsx +53 -0
  228. package/src/components/KYCElements/LocationCaptureTemplate.tsx +17 -15
  229. package/src/components/KYCElements/OrientationVideoCapture.tsx +2 -2
  230. package/src/components/KYCElements/OrientationVideoCaptureEnhanced.tsx +2 -2
  231. package/src/components/KYCElements/OrientationVideoCaptureFinal.tsx +2 -2
  232. package/src/components/KYCElements/ReviewSubmitTemplate.tsx +201 -0
  233. package/src/components/KYCElements/SelfieCaptureTemplate.tsx +140 -53
  234. package/src/components/KYCElements/VerificationProgressTemplate.tsx +123 -0
  235. package/src/components/OverLay/IdCard.tsx +17 -9
  236. package/src/components/OverLay/SelfieOverlay.tsx +6 -5
  237. package/src/components/OverLay/type.ts +64 -2
  238. package/src/components/TemplateKYCExample.tsx +76 -197
  239. package/src/components/TemplateKYCFlowRefactored.tsx +74 -46
  240. package/src/components/VisionCameraView.tsx +1 -1
  241. package/src/components/example/OrientationVideoExample.tsx +3 -7
  242. package/src/components/ui/Button.tsx +1 -1
  243. package/src/config/countriesData.ts +84 -0
  244. package/src/config/region_mapping.ts +688 -0
  245. package/src/hooks/useI18n.ts +53 -0
  246. package/src/hooks/useOrientationVideo.ts +2 -2
  247. package/src/hooks/useRealtimeVerifier.ts +128 -0
  248. package/src/hooks/useTemplateKYCFlow.tsx +375 -53
  249. package/src/i18n/README.md +288 -0
  250. package/src/i18n/en/index.ts +206 -0
  251. package/src/i18n/fr/index.ts +205 -0
  252. package/src/i18n/index.ts +65 -0
  253. package/src/i18n/types.ts +172 -0
  254. package/src/i18n/usage-example.tsx +202 -0
  255. package/src/modules/api/CardAuthentification.ts +114 -0
  256. package/src/modules/api/KYCService.ts +403 -30
  257. package/src/modules/api/SelfieVerification.ts +11 -0
  258. package/src/modules/api/backendApi.ts +8 -0
  259. package/src/modules/api/types.ts +24 -0
  260. package/src/modules/camera/VisionCameraModule.ts +16 -7
  261. package/src/types/KYC.types.ts +83 -14
  262. package/src/utils/cropByObb.ts +99 -0
  263. package/src/utils/get-document-type-info.ts +62 -0
  264. package/src/utils/pathToBase64.ts +47 -0
  265. package/src/utils/remove-duplicate.ts +3 -0
  266. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/results.bin +0 -1
  267. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/BuildConfig.dex +0 -0
  268. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.dex +0 -0
  269. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.dex +0 -0
  270. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.dex +0 -0
  271. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.dex +0 -0
  272. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.dex +0 -0
  273. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.dex +0 -0
  274. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.dex +0 -0
  275. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.dex +0 -0
  276. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.dex +0 -0
  277. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.dex +0 -0
  278. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.dex +0 -0
  279. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.dex +0 -0
  280. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.dex +0 -0
  281. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.dex +0 -0
  282. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.dex +0 -0
  283. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule.dex +0 -0
  284. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkView.dex +0 -0
  285. package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  286. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/BuildConfig.class +0 -0
  287. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.class +0 -0
  288. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.class +0 -0
  289. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.class +0 -0
  290. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.class +0 -0
  291. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.class +0 -0
  292. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.class +0 -0
  293. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.class +0 -0
  294. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.class +0 -0
  295. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.class +0 -0
  296. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.class +0 -0
  297. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.class +0 -0
  298. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.class +0 -0
  299. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.class +0 -0
  300. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.class +0 -0
  301. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.class +0 -0
  302. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
  303. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
  304. package/android/build/tmp/kotlin-classes/debug/META-INF/transfergratis-sdk_debug.kotlin_module +0 -0
  305. package/src/types/nativewind.d.ts +0 -2
  306. /package/android/build/.transforms/{7ec900c0f64f5f1a7c88998dd44001b8 → 01c28d00c798aa4846f16ce72123ebf9}/results.bin +0 -0
  307. /package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/{transfergratis-sdk_debug.kotlin_module → transfergratis-react-native-sdk_debug.kotlin_module} +0 -0
  308. /package/android/build/{intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/transfergratis-sdk_debug.kotlin_module → tmp/kotlin-classes/debug/META-INF/transfergratis-react-native-sdk_debug.kotlin_module} +0 -0
@@ -1,94 +1,20 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { View, Text, TouchableOpacity, StyleSheet, ScrollView } from 'react-native';
3
- import { TemplateComponent, CountrySelectionConfig, LocalizedText } from '../../types/KYC.types';
3
+ import { TemplateComponent, CountrySelectionConfig, LocalizedText, Country } from '../../types/KYC.types';
4
+ import { countryMapping } from '../../config/region_mapping';
5
+ import { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow';
6
+ import { useI18n } from '../../hooks/useI18n';
7
+ import { Button } from '../ui/Button';
8
+ import { countryData } from '../../config/countriesData';
4
9
 
5
10
  interface CountrySelectionTemplateProps {
6
11
  component: TemplateComponent;
7
12
  value?: string;
8
- onValueChange: (value: string) => void;
13
+ onValueChange: (value: Country) => void;
9
14
  error?: string;
10
15
  language?: string;
11
16
  }
12
17
 
13
- const countryData: Record<string, { name: string; flag: string }> = {
14
- FR: { name: 'France', flag: '🇫🇷' },
15
- CM: { name: 'Cameroun', flag: '🇨🇲' },
16
- US: { name: 'États-Unis', flag: '🇺🇸' },
17
- DE: { name: 'Allemagne', flag: '🇩🇪' },
18
- BE: { name: 'Belgique', flag: '🇧🇪' },
19
- LU: { name: 'Luxembourg', flag: '🇱🇺' },
20
- IT: { name: 'Italie', flag: '🇮🇹' },
21
- ES: { name: 'Espagne', flag: '🇪🇸' },
22
- PT: { name: 'Portugal', flag: '🇵🇹' },
23
- AT: { name: 'Autriche', flag: '🇦🇹' },
24
- CH: { name: 'Suisse', flag: '🇨🇭' },
25
- NL: { name: 'Pays-Bas', flag: '🇳🇱' },
26
- CA: { name: 'Canada', flag: '🇨🇦' },
27
- GB: { name: 'Royaume-Uni', flag: '🇬🇧' },
28
- AU: { name: 'Australie', flag: '🇦🇺' },
29
- JP: { name: 'Japon', flag: '🇯🇵' },
30
- KR: { name: 'Corée du Sud', flag: '🇰🇷' },
31
- SG: { name: 'Singapour', flag: '🇸🇬' },
32
- HK: { name: 'Hong Kong', flag: '🇭🇰' },
33
- AE: { name: 'Émirats Arabes Unis', flag: '🇦🇪' },
34
- SA: { name: 'Arabie Saoudite', flag: '🇸🇦' },
35
- QA: { name: 'Qatar', flag: '🇶🇦' },
36
- KW: { name: 'Koweït', flag: '🇰🇼' },
37
- BH: { name: 'Bahreïn', flag: '🇧🇭' },
38
- OM: { name: 'Oman', flag: '🇴🇲' },
39
- JO: { name: 'Jordanie', flag: '🇯🇴' },
40
- LB: { name: 'Liban', flag: '🇱🇧' },
41
- EG: { name: 'Égypte', flag: '🇪🇬' },
42
- MA: { name: 'Maroc', flag: '🇲🇦' },
43
- TN: { name: 'Tunisie', flag: '🇹🇳' },
44
- DZ: { name: 'Algérie', flag: '🇩🇿' },
45
- SN: { name: 'Sénégal', flag: '🇸🇳' },
46
- CI: { name: 'Côte d\'Ivoire', flag: '🇨🇮' },
47
- NG: { name: 'Nigeria', flag: '🇳🇬' },
48
- KE: { name: 'Kenya', flag: '🇰🇪' },
49
- ZA: { name: 'Afrique du Sud', flag: '🇿🇦' },
50
- BR: { name: 'Brésil', flag: '🇧🇷' },
51
- MX: { name: 'Mexique', flag: '🇲🇽' },
52
- AR: { name: 'Argentine', flag: '🇦🇷' },
53
- CL: { name: 'Chili', flag: '🇨🇱' },
54
- PE: { name: 'Pérou', flag: '🇵🇪' },
55
- CO: { name: 'Colombie', flag: '🇨🇴' },
56
- VE: { name: 'Venezuela', flag: '🇻🇪' },
57
- EC: { name: 'Équateur', flag: '🇪🇨' },
58
- UY: { name: 'Uruguay', flag: '🇺🇾' },
59
- PY: { name: 'Paraguay', flag: '🇵🇾' },
60
- BO: { name: 'Bolivie', flag: '🇧🇴' },
61
- IN: { name: 'Inde', flag: '🇮🇳' },
62
- CN: { name: 'Chine', flag: '🇨🇳' },
63
- TH: { name: 'Thaïlande', flag: '🇹🇭' },
64
- VN: { name: 'Vietnam', flag: '🇻🇳' },
65
- ID: { name: 'Indonésie', flag: '🇮🇩' },
66
- MY: { name: 'Malaisie', flag: '🇲🇾' },
67
- PH: { name: 'Philippines', flag: '🇵🇭' },
68
- TR: { name: 'Turquie', flag: '🇹🇷' },
69
- IL: { name: 'Israël', flag: '🇮🇱' },
70
- RU: { name: 'Russie', flag: '🇷🇺' },
71
- UA: { name: 'Ukraine', flag: '🇺🇦' },
72
- PL: { name: 'Pologne', flag: '🇵🇱' },
73
- CZ: { name: 'République Tchèque', flag: '🇨🇿' },
74
- HU: { name: 'Hongrie', flag: '🇭🇺' },
75
- RO: { name: 'Roumanie', flag: '🇷🇴' },
76
- BG: { name: 'Bulgarie', flag: '🇧🇬' },
77
- HR: { name: 'Croatie', flag: '🇭🇷' },
78
- SI: { name: 'Slovénie', flag: '🇸🇮' },
79
- SK: { name: 'Slovaquie', flag: '🇸🇰' },
80
- LT: { name: 'Lituanie', flag: '🇱🇹' },
81
- LV: { name: 'Lettonie', flag: '🇱🇻' },
82
- EE: { name: 'Estonie', flag: '🇪🇪' },
83
- FI: { name: 'Finlande', flag: '🇫🇮' },
84
- SE: { name: 'Suède', flag: '🇸🇪' },
85
- NO: { name: 'Norvège', flag: '🇳🇴' },
86
- DK: { name: 'Danemark', flag: '🇩🇰' },
87
- IS: { name: 'Islande', flag: '🇮🇸' },
88
- IE: { name: 'Irlande', flag: '🇮🇪' },
89
- NZ: { name: 'Nouvelle-Zélande', flag: '🇳🇿' },
90
- };
91
-
92
18
  export const CountrySelectionTemplate: React.FC<CountrySelectionTemplateProps> = ({
93
19
  component,
94
20
  value,
@@ -96,9 +22,15 @@ export const CountrySelectionTemplate: React.FC<CountrySelectionTemplateProps> =
96
22
  error,
97
23
  language = 'en',
98
24
  }) => {
25
+ const { t } = useI18n();
99
26
  const config = component.config as CountrySelectionConfig;
100
- const allowedCountries = config.allowed_countries || Object.keys(countryData);
101
- const defaultCountry = config.default_country || 'FR';
27
+ const allowedCountries = (config.allowed_countries || Object.keys(countryData));
28
+ const defaultCountry = config.default_country || 'CM';
29
+ const { actions, state} = useTemplateKYCFlowContext();
30
+
31
+ console.log({ language }, state.currentLanguage);
32
+
33
+ const [selectedCountry, setSelectedCountry] = useState<Country>({ code: defaultCountry, ...countryData[defaultCountry] });
102
34
 
103
35
  const getLocalizedText = (text: LocalizedText): string => {
104
36
  return text[language] || text.en || '';
@@ -115,67 +47,102 @@ export const CountrySelectionTemplate: React.FC<CountrySelectionTemplateProps> =
115
47
  .sort((a, b) => a.name.localeCompare(b.name));
116
48
 
117
49
  return (
118
- <View style={styles.container}>
119
- <Text style={styles.title}>{getLocalizedText(component.labels)}</Text>
120
- <Text style={styles.description}>{getLocalizedText(component.instructions)}</Text>
121
-
122
- <ScrollView style={styles.countriesContainer} showsVerticalScrollIndicator={false}>
123
- {filteredCountries.map((country) => (
124
- <TouchableOpacity
125
- key={country.code}
126
- style={[
127
- styles.countryOption,
128
- selectedValue === country.code && styles.selectedCountryOption
129
- ]}
130
- onPress={() => onValueChange(country.code)}
131
- >
132
- <Text style={styles.countryFlag}>{country.flag}</Text>
133
- <View style={styles.countryContent}>
134
- <Text style={[
135
- styles.countryName,
136
- selectedValue === country.code && styles.selectedCountryName
137
- ]}>
138
- {country.name}
139
- </Text>
140
- <Text style={styles.countryCode}>{country.code}</Text>
141
- </View>
142
- {selectedValue === country.code && (
143
- <View style={[
144
- styles.checkmark,
145
- { backgroundColor: component.ui.themeColor || '#2DBD60' }
146
- ]}>
147
- <Text style={styles.checkmarkText}>✓</Text>
50
+ <View style={styles.root}>
51
+ <View style={styles.container}>
52
+ <Text style={styles.title}>{getLocalizedText(component.labels as LocalizedText)}</Text>
53
+ <Text style={styles.description}>{getLocalizedText(component.instructions as LocalizedText)}</Text>
54
+
55
+ <ScrollView style={styles.countriesContainer} showsVerticalScrollIndicator={false}>
56
+ {filteredCountries.map((country) => (
57
+ <TouchableOpacity
58
+ key={country.code}
59
+ style={[
60
+ styles.countryOption,
61
+ selectedCountry.code === country.code && styles.selectedCountryOption
62
+ ]}
63
+ onPress={() => {
64
+ console.log({
65
+ country, language
66
+ });
67
+
68
+ setSelectedCountry(country);
69
+ }}
70
+ >
71
+ <Text style={styles.countryFlag}>{country.flag}</Text>
72
+ <View style={styles.countryContent}>
73
+ <Text style={[
74
+ styles.countryName,
75
+ selectedCountry.code === country.code && styles.selectedCountryName
76
+ ]}>
77
+ {state.currentLanguage === "en"? country.name_en: country.name}
78
+ </Text>
79
+ <Text style={styles.countryCode}>{country.code}</Text>
148
80
  </View>
149
- )}
150
- </TouchableOpacity>
151
- ))}
152
- </ScrollView>
81
+ {selectedCountry.code === country.code && (
82
+ <View style={[
83
+ styles.checkmark,
84
+ { backgroundColor: component.ui.themeColor as string || '#2DBD60' }
85
+ ]}>
86
+ <Text style={styles.checkmarkText}>✓</Text>
87
+ </View>
88
+ )}
89
+ </TouchableOpacity>
90
+ ))}
91
+ </ScrollView>
92
+
93
+ {selectedCountry.code && (
94
+ <Button title={t('common.next')} onPress={() => {
95
+
96
+
97
+ const mapping = selectedCountry.code ? countryMapping[selectedCountry.code as keyof typeof countryMapping] : undefined;
98
+ onValueChange({ ...selectedCountry, regionMapping: mapping });
99
+ setTimeout(() => {
100
+ actions.nextComponent();
101
+ }, 500);
102
+ }}
103
+ variant="primary"
104
+ size="large"
105
+ fullWidth
106
+ />
107
+ )}
153
108
 
154
- {selectedValue && (
155
- <View style={styles.selectionInfo}>
156
- <Text style={styles.selectionText}>
157
- Pays sélectionné: {countryData[selectedValue]?.flag} {countryData[selectedValue]?.name}
158
- </Text>
159
- </View>
160
- )}
109
+ {config.required && !selectedValue && (
110
+ <View style={styles.requiredContainer}>
161
111
 
162
- {config.required && !selectedValue && (
163
- <View style={styles.requiredContainer}>
164
- <Text style={styles.requiredText}>⚠️ Veuillez sélectionner un pays</Text>
165
- </View>
166
- )}
167
112
 
168
- {error && (
169
- <Text style={styles.errorText}>{error}</Text>
170
- )}
113
+ <Text style={styles.requiredText}>{
114
+ state.currentLanguage === "en" ? "⚠️ Please Select your country" : "⚠️ Veuillez sélectionner un pays"
115
+ }</Text>
116
+ </View>
117
+ )}
118
+
119
+ {error && (
120
+ <Text style={styles.errorText}>{error}</Text>
121
+ )}
122
+ </View>
171
123
  </View>
172
124
  );
173
125
  };
174
126
 
175
127
  const styles = StyleSheet.create({
176
- container: {
128
+ root: {
177
129
  flex: 1,
178
- padding: 16,
130
+ maxWidth: 760,
131
+ width: '100%',
132
+ },
133
+ container: {
134
+ backgroundColor: 'white',
135
+ margin: 10,
136
+ borderRadius: 10,
137
+ paddingVertical: 16,
138
+ paddingHorizontal: 16,
139
+ // shadow
140
+ shadowColor: '#000',
141
+ shadowOffset: { width: 0, height: 2 },
142
+ shadowOpacity: 0.35,
143
+ shadowRadius: 4.84,
144
+ elevation: 10,
145
+
179
146
  },
180
147
  title: {
181
148
  fontSize: 24,
@@ -192,7 +159,8 @@ const styles = StyleSheet.create({
192
159
  lineHeight: 22,
193
160
  },
194
161
  countriesContainer: {
195
- flex: 1,
162
+ height: "80%",
163
+ maxHeight: 600,
196
164
  },
197
165
  countryOption: {
198
166
  flexDirection: 'row',
@@ -2,6 +2,7 @@ import React, { useState } from 'react';
2
2
  import { View, Text, TouchableOpacity, StyleSheet, ScrollView, Image, Alert } from 'react-native';
3
3
  import { useKYCStore } from '../../stores/kycStore';
4
4
  import NativeCameraModule from '../../modules/camera/NativeCameraModule';
5
+ import { useI18n } from '../../hooks/useI18n';
5
6
  import { TemplateComponent, FileUploadConfig, LocalizedText } from '../../types/KYC.types';
6
7
 
7
8
  interface FileUploadTemplateProps {
@@ -26,6 +27,7 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
26
27
  error,
27
28
  language = 'en',
28
29
  }) => {
30
+ const { t } = useI18n();
29
31
  const [uploadedFiles, setUploadedFiles] = useState<UploadedFile[]>([]);
30
32
  const [isUploading, setIsUploading] = useState(false);
31
33
  const { setProcessing } = useKYCStore();
@@ -100,6 +102,7 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
100
102
  onValueChange(updatedFiles.map(file => file.uri));
101
103
  };
102
104
 
105
+
103
106
  const getFileIcon = (fileName: string) => {
104
107
  const extension = fileName.split('.').pop()?.toLowerCase();
105
108
  switch (extension) {
@@ -136,15 +139,15 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
136
139
 
137
140
  return (
138
141
  <View style={styles.container}>
139
- <Text style={styles.title}>{getLocalizedText(component.labels)}</Text>
140
- <Text style={styles.description}>{getLocalizedText(component.instructions)}</Text>
142
+ <Text style={styles.title}>{getLocalizedText(component.labels as LocalizedText)}</Text>
143
+ <Text style={styles.description}>{getLocalizedText(component.instructions as LocalizedText)}</Text>
141
144
 
142
145
  <View style={styles.uploadArea}>
143
146
  <TouchableOpacity
144
147
  style={[
145
148
  styles.uploadButton,
146
149
  isUploading && styles.uploadButtonDisabled,
147
- { borderColor: component.ui.themeColor || '#2DBD60' }
150
+ { borderColor: component.ui.themeColor as string || '#2DBD60' }
148
151
  ]}
149
152
  onPress={pickDocument}
150
153
  disabled={isUploading}
@@ -152,7 +155,7 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
152
155
  <Text style={styles.uploadIcon}>📁</Text>
153
156
  <Text style={[
154
157
  styles.uploadText,
155
- { color: component.ui.themeColor || '#2DBD60' }
158
+ { color: component.ui.themeColor as string || '#2DBD60' }
156
159
  ]}>
157
160
  {isUploading ? 'Sélection en cours...' : 'Sélectionner des fichiers'}
158
161
  </Text>
@@ -198,9 +201,9 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
198
201
 
199
202
  {!hasFiles && (
200
203
  <View style={styles.emptyState}>
201
- <Text style={styles.emptyStateText}>Aucun fichier sélectionné</Text>
204
+ <Text style={styles.emptyStateText}>{t('kyc.fileUpload.selectFile')}</Text>
202
205
  <Text style={styles.emptyStateSubtext}>
203
- {isRequired ? 'Ce document est obligatoire' : 'Ce document est optionnel'}
206
+ {isRequired ? t('validation.required') : t('common.info')}
204
207
  </Text>
205
208
  </View>
206
209
  )}
@@ -210,11 +213,14 @@ export const FileUploadTemplate: React.FC<FileUploadTemplateProps> = ({
210
213
  <TouchableOpacity
211
214
  style={[
212
215
  styles.primaryButton,
213
- { backgroundColor: component.ui.themeColor || '#2DBD60' }
216
+ { backgroundColor: component.ui.themeColor as string || '#2DBD60' }
214
217
  ]}
218
+ onPress={() => {
219
+ onValueChange(uploadedFiles.map(file => file.uri));
220
+ }}
215
221
  >
216
222
  <Text style={styles.primaryButtonText}>
217
- {getLocalizedText(component.ui.buttonText)}
223
+ {getLocalizedText(component.ui.buttonText as LocalizedText)}
218
224
  </Text>
219
225
  </TouchableOpacity>
220
226
  </View>