@transfergratis/react-native-sdk 0.1.32 → 0.1.33

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 (666) hide show
  1. package/build/package.json +71 -0
  2. package/build/src/App.d.ts.map +1 -0
  3. package/build/src/App.js.map +1 -0
  4. package/build/src/TransfergratisSdk.types.d.ts.map +1 -0
  5. package/build/src/TransfergratisSdk.types.js.map +1 -0
  6. package/build/src/TransfergratisSdkModule.d.ts.map +1 -0
  7. package/build/src/TransfergratisSdkModule.js.map +1 -0
  8. package/build/src/TransfergratisSdkModule.web.d.ts.map +1 -0
  9. package/build/src/TransfergratisSdkModule.web.js.map +1 -0
  10. package/build/src/TransfergratisSdkView.d.ts.map +1 -0
  11. package/build/src/TransfergratisSdkView.js.map +1 -0
  12. package/build/src/TransfergratisSdkView.web.d.ts.map +1 -0
  13. package/build/src/TransfergratisSdkView.web.js.map +1 -0
  14. package/build/src/api/axios.d.ts.map +1 -0
  15. package/build/src/api/axios.js.map +1 -0
  16. package/build/src/components/Camera/index.d.ts.map +1 -0
  17. package/build/src/components/Camera/index.js.map +1 -0
  18. package/build/src/components/Camera/index.web.d.ts.map +1 -0
  19. package/build/src/components/Camera/index.web.js.map +1 -0
  20. package/build/src/components/Camera/types.d.ts.map +1 -0
  21. package/build/src/components/Camera/types.js.map +1 -0
  22. package/build/src/components/ConfigurableKYCFlow.d.ts.map +1 -0
  23. package/build/src/components/ConfigurableKYCFlow.js.map +1 -0
  24. package/build/src/components/CustomCameraExample.d.ts.map +1 -0
  25. package/build/src/components/CustomCameraExample.js.map +1 -0
  26. package/build/src/components/EnhancedCameraView.d.ts.map +1 -0
  27. package/build/src/components/EnhancedCameraView.js.map +1 -0
  28. package/build/src/components/EnhancedCameraView.web.d.ts.map +1 -0
  29. package/build/src/components/EnhancedCameraView.web.js.map +1 -0
  30. package/build/src/components/FileUpload.d.ts.map +1 -0
  31. package/build/src/components/FileUpload.js.map +1 -0
  32. package/build/src/components/KYCElementRenderer.d.ts.map +1 -0
  33. package/build/src/components/KYCElementRenderer.js.map +1 -0
  34. package/build/src/components/KYCElements/AdditionalDocumentsTemplate.d.ts.map +1 -0
  35. package/build/src/components/KYCElements/AdditionalDocumentsTemplate.js.map +1 -0
  36. package/build/src/components/KYCElements/CameraCapture.d.ts.map +1 -0
  37. package/build/src/components/KYCElements/CameraCapture.js.map +1 -0
  38. package/build/src/components/KYCElements/CompletionStep.d.ts.map +1 -0
  39. package/build/src/components/KYCElements/CompletionStep.js.map +1 -0
  40. package/build/src/components/KYCElements/CountrySelection.d.ts.map +1 -0
  41. package/build/src/components/KYCElements/CountrySelection.js.map +1 -0
  42. package/build/src/components/KYCElements/CountrySelectionTemplate.d.ts.map +1 -0
  43. package/build/src/components/KYCElements/CountrySelectionTemplate.js.map +1 -0
  44. package/build/src/components/KYCElements/DocumentTypeSelection.d.ts.map +1 -0
  45. package/build/src/components/KYCElements/DocumentTypeSelection.js.map +1 -0
  46. package/build/src/components/KYCElements/EmailVerificationTemplate.d.ts.map +1 -0
  47. package/build/src/components/KYCElements/EmailVerificationTemplate.js.map +1 -0
  48. package/build/src/components/KYCElements/FileUpload.d.ts.map +1 -0
  49. package/build/src/components/KYCElements/FileUpload.js.map +1 -0
  50. package/build/src/components/KYCElements/FileUploadTemplate.d.ts.map +1 -0
  51. package/build/src/components/KYCElements/FileUploadTemplate.js.map +1 -0
  52. package/build/src/components/KYCElements/IDCardCapture.d.ts.map +1 -0
  53. package/build/src/components/KYCElements/IDCardCapture.js.map +1 -0
  54. package/build/src/components/KYCElements/InitializationStep.d.ts.map +1 -0
  55. package/build/src/components/KYCElements/InitializationStep.js.map +1 -0
  56. package/build/src/components/KYCElements/LocationCaptureTemplate.d.ts.map +1 -0
  57. package/build/src/components/KYCElements/LocationCaptureTemplate.js.map +1 -0
  58. package/build/src/components/KYCElements/OrientationVideoCapture.d.ts.map +1 -0
  59. package/build/src/components/KYCElements/OrientationVideoCapture.js.map +1 -0
  60. package/build/src/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts.map +1 -0
  61. package/build/src/components/KYCElements/OrientationVideoCaptureEnhanced.js.map +1 -0
  62. package/build/src/components/KYCElements/OrientationVideoCaptureFinal.d.ts.map +1 -0
  63. package/build/src/components/KYCElements/OrientationVideoCaptureFinal.js.map +1 -0
  64. package/build/src/components/KYCElements/PersonalInformationTemplate.d.ts.map +1 -0
  65. package/build/src/components/KYCElements/PersonalInformationTemplate.js.map +1 -0
  66. package/build/src/components/KYCElements/PhoneVerificationTemplate.d.ts.map +1 -0
  67. package/build/src/components/KYCElements/PhoneVerificationTemplate.js.map +1 -0
  68. package/build/src/components/KYCElements/ReviewSubmitTemplate.d.ts.map +1 -0
  69. package/build/src/components/KYCElements/ReviewSubmitTemplate.js.map +1 -0
  70. package/build/src/components/KYCElements/SelfieCapture.d.ts.map +1 -0
  71. package/build/src/components/KYCElements/SelfieCapture.js.map +1 -0
  72. package/build/src/components/KYCElements/SelfieCaptureTemplate.d.ts.map +1 -0
  73. package/build/src/components/KYCElements/SelfieCaptureTemplate.js.map +1 -0
  74. package/build/src/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -0
  75. package/build/src/components/KYCElements/VerificationProgressTemplate.js.map +1 -0
  76. package/build/src/components/KYCElements/VerificationStep.d.ts.map +1 -0
  77. package/build/src/components/KYCElements/VerificationStep.js.map +1 -0
  78. package/build/src/components/KYCElements/WelcomeTemplate.d.ts.map +1 -0
  79. package/build/{components → src/components}/KYCElements/WelcomeTemplate.js +9 -0
  80. package/build/src/components/KYCElements/WelcomeTemplate.js.map +1 -0
  81. package/build/src/components/KYCExample.d.ts.map +1 -0
  82. package/build/src/components/KYCExample.js.map +1 -0
  83. package/build/src/components/KYCFlow.d.ts.map +1 -0
  84. package/build/src/components/KYCFlow.js.map +1 -0
  85. package/build/src/components/NativeCameraView.d.ts.map +1 -0
  86. package/build/src/components/NativeCameraView.js.map +1 -0
  87. package/build/src/components/OverLay/IdCard.d.ts.map +1 -0
  88. package/build/src/components/OverLay/IdCard.js.map +1 -0
  89. package/build/src/components/OverLay/SelfieOverlay.d.ts.map +1 -0
  90. package/build/src/components/OverLay/SelfieOverlay.js.map +1 -0
  91. package/build/src/components/OverLay/StepOverlay.d.ts.map +1 -0
  92. package/build/src/components/OverLay/StepOverlay.js.map +1 -0
  93. package/build/src/components/OverLay/type.d.ts.map +1 -0
  94. package/build/src/components/OverLay/type.js.map +1 -0
  95. package/build/src/components/ProgressIndicator.d.ts.map +1 -0
  96. package/build/src/components/ProgressIndicator.js.map +1 -0
  97. package/build/src/components/SelfieCapture.d.ts.map +1 -0
  98. package/build/src/components/SelfieCapture.js.map +1 -0
  99. package/build/src/components/SimpleExample.d.ts.map +1 -0
  100. package/build/src/components/SimpleExample.js.map +1 -0
  101. package/build/src/components/Svgs/GpsIcon.d.ts.map +1 -0
  102. package/build/src/components/Svgs/GpsIcon.js.map +1 -0
  103. package/build/src/components/Svgs/Schield.d.ts.map +1 -0
  104. package/build/src/components/Svgs/Schield.js.map +1 -0
  105. package/build/src/components/Svgs/frontSelfieIcon.d.ts.map +1 -0
  106. package/build/src/components/Svgs/frontSelfieIcon.js.map +1 -0
  107. package/build/src/components/Svgs/scanningLine.d.ts.map +1 -0
  108. package/build/src/components/Svgs/scanningLine.js.map +1 -0
  109. package/build/src/components/Svgs/sideSelfieIcon.d.ts.map +1 -0
  110. package/build/src/components/Svgs/sideSelfieIcon.js.map +1 -0
  111. package/build/{components → src/components}/TemplateKYCExample.d.ts +1 -0
  112. package/build/src/components/TemplateKYCExample.d.ts.map +1 -0
  113. package/build/{components → src/components}/TemplateKYCExample.js +2 -2
  114. package/build/src/components/TemplateKYCExample.js.map +1 -0
  115. package/build/{components → src/components}/TemplateKYCFlowRefactored.d.ts +1 -0
  116. package/build/src/components/TemplateKYCFlowRefactored.d.ts.map +1 -0
  117. package/build/{components → src/components}/TemplateKYCFlowRefactored.js +2 -2
  118. package/build/src/components/TemplateKYCFlowRefactored.js.map +1 -0
  119. package/build/src/components/VisionCameraView.d.ts.map +1 -0
  120. package/build/src/components/VisionCameraView.js.map +1 -0
  121. package/build/src/components/example/CameraCaptureEx.d.ts.map +1 -0
  122. package/build/src/components/example/CameraCaptureEx.js.map +1 -0
  123. package/build/src/components/example/CameraCaptureExAdvanced.d.ts.map +1 -0
  124. package/build/src/components/example/CameraCaptureExAdvanced.js.map +1 -0
  125. package/build/src/components/example/CameraCaptureExScan.d.ts.map +1 -0
  126. package/build/src/components/example/CameraCaptureExScan.js.map +1 -0
  127. package/build/src/components/example/CameraCaptureExSimple.d.ts.map +1 -0
  128. package/build/src/components/example/CameraCaptureExSimple.js.map +1 -0
  129. package/build/src/components/example/DynamicTemplateExample.d.ts.map +1 -0
  130. package/build/src/components/example/DynamicTemplateExample.js.map +1 -0
  131. package/build/src/components/example/OrientationVideoExample.d.ts.map +1 -0
  132. package/build/src/components/example/OrientationVideoExample.js.map +1 -0
  133. package/build/src/components/example/SelfieCaptureEx.d.ts.map +1 -0
  134. package/build/src/components/example/SelfieCaptureEx.js.map +1 -0
  135. package/build/src/components/ui/Button.d.ts.map +1 -0
  136. package/build/src/components/ui/Button.js.map +1 -0
  137. package/build/src/components/ui/ButtonExample.d.ts.map +1 -0
  138. package/build/src/components/ui/ButtonExample.js.map +1 -0
  139. package/build/src/components/ui/ButtonStyles.d.ts.map +1 -0
  140. package/build/src/components/ui/ButtonStyles.js.map +1 -0
  141. package/build/src/config/KYCConfig.d.ts.map +1 -0
  142. package/build/src/config/KYCConfig.js.map +1 -0
  143. package/build/src/config/KYCConfigs.d.ts.map +1 -0
  144. package/build/src/config/KYCConfigs.js.map +1 -0
  145. package/build/src/config/allowedDomains.d.ts.map +1 -0
  146. package/build/src/config/allowedDomains.js.map +1 -0
  147. package/build/src/config/countriesData.d.ts.map +1 -0
  148. package/build/src/config/countriesData.js.map +1 -0
  149. package/build/src/config/region_mapping.d.ts.map +1 -0
  150. package/build/src/config/region_mapping.js.map +1 -0
  151. package/build/src/hooks/useI18n.d.ts.map +1 -0
  152. package/build/src/hooks/useI18n.js.map +1 -0
  153. package/build/src/hooks/useKYC.d.ts.map +1 -0
  154. package/build/src/hooks/useKYC.js.map +1 -0
  155. package/build/src/hooks/useKYCFlow.d.ts.map +1 -0
  156. package/build/src/hooks/useKYCFlow.js.map +1 -0
  157. package/build/src/hooks/useLocation.d.ts.map +1 -0
  158. package/build/src/hooks/useLocation.js.map +1 -0
  159. package/build/src/hooks/useOrientationVideo.d.ts.map +1 -0
  160. package/build/src/hooks/useOrientationVideo.js.map +1 -0
  161. package/build/src/hooks/useRealtimeVerifier.d.ts.map +1 -0
  162. package/build/src/hooks/useRealtimeVerifier.js.map +1 -0
  163. package/build/{hooks → src/hooks}/useTemplateKYCFlow.d.ts +2 -1
  164. package/build/src/hooks/useTemplateKYCFlow.d.ts.map +1 -0
  165. package/build/{hooks → src/hooks}/useTemplateKYCFlow.js +25 -7
  166. package/build/src/hooks/useTemplateKYCFlow.js.map +1 -0
  167. package/build/src/hooks/useTemplateLoader.d.ts.map +1 -0
  168. package/build/src/hooks/useTemplateLoader.js.map +1 -0
  169. package/build/{i18n → src/i18n}/en/index.d.ts.map +1 -1
  170. package/build/src/i18n/en/index.js.map +1 -0
  171. package/build/{i18n → src/i18n}/fr/index.d.ts.map +1 -1
  172. package/build/src/i18n/fr/index.js.map +1 -0
  173. package/build/src/i18n/index.d.ts.map +1 -0
  174. package/build/src/i18n/index.js.map +1 -0
  175. package/build/src/i18n/types.d.ts.map +1 -0
  176. package/build/src/i18n/types.js.map +1 -0
  177. package/build/src/i18n/usage-example.d.ts.map +1 -0
  178. package/build/src/i18n/usage-example.js.map +1 -0
  179. package/build/src/index.d.ts.map +1 -0
  180. package/build/src/index.js.map +1 -0
  181. package/build/src/modules/api/CardAuthentification.d.ts.map +1 -0
  182. package/build/src/modules/api/CardAuthentification.js.map +1 -0
  183. package/build/src/modules/api/KYCService.d.ts.map +1 -0
  184. package/build/{modules → src/modules}/api/KYCService.js +2 -2
  185. package/build/src/modules/api/KYCService.js.map +1 -0
  186. package/build/src/modules/api/SelfieVerification.d.ts.map +1 -0
  187. package/build/src/modules/api/SelfieVerification.js.map +1 -0
  188. package/build/src/modules/api/TemplateService.d.ts.map +1 -0
  189. package/build/src/modules/api/TemplateService.js.map +1 -0
  190. package/build/src/modules/api/backendApi.d.ts.map +1 -0
  191. package/build/src/modules/api/backendApi.js.map +1 -0
  192. package/build/src/modules/api/types.d.ts.map +1 -0
  193. package/build/src/modules/api/types.js.map +1 -0
  194. package/build/src/modules/camera/NativeCameraModule.d.ts.map +1 -0
  195. package/build/src/modules/camera/NativeCameraModule.js.map +1 -0
  196. package/build/src/modules/camera/UnifiedCameraModule.d.ts.map +1 -0
  197. package/build/src/modules/camera/UnifiedCameraModule.js.map +1 -0
  198. package/build/src/modules/camera/VisionCameraModule.d.ts.map +1 -0
  199. package/build/src/modules/camera/VisionCameraModule.js.map +1 -0
  200. package/build/src/modules/camera/VisionCameraModule.web.d.ts.map +1 -0
  201. package/build/src/modules/camera/VisionCameraModule.web.js.map +1 -0
  202. package/build/src/modules/camera/index.d.ts.map +1 -0
  203. package/build/src/modules/camera/index.js.map +1 -0
  204. package/build/src/stores/kycStore.d.ts.map +1 -0
  205. package/build/src/stores/kycStore.js.map +1 -0
  206. package/build/src/types/KYC.types.d.ts.map +1 -0
  207. package/build/src/types/KYC.types.js.map +1 -0
  208. package/build/src/types/env.types.d.ts.map +1 -0
  209. package/build/src/types/env.types.js.map +1 -0
  210. package/build/src/utils/cropByObb.d.ts.map +1 -0
  211. package/build/src/utils/cropByObb.js.map +1 -0
  212. package/build/src/utils/deviceDetection.d.ts.map +1 -0
  213. package/build/src/utils/deviceDetection.js.map +1 -0
  214. package/build/src/utils/get-document-type-info.d.ts.map +1 -0
  215. package/build/src/utils/get-document-type-info.js.map +1 -0
  216. package/build/src/utils/logger.d.ts.map +1 -0
  217. package/build/src/utils/logger.js.map +1 -0
  218. package/build/src/utils/pathToBase64.d.ts.map +1 -0
  219. package/build/src/utils/pathToBase64.js.map +1 -0
  220. package/build/src/utils/platformAlert.d.ts.map +1 -0
  221. package/build/src/utils/platformAlert.js.map +1 -0
  222. package/build/src/utils/remove-duplicate.d.ts.map +1 -0
  223. package/build/src/utils/remove-duplicate.js.map +1 -0
  224. package/build/src/utils/template-transformer.d.ts.map +1 -0
  225. package/build/src/utils/template-transformer.js.map +1 -0
  226. package/build/src/web/WebKYCEntry.d.ts.map +1 -0
  227. package/build/{web → src/web}/WebKYCEntry.js +57 -40
  228. package/build/src/web/WebKYCEntry.js.map +1 -0
  229. package/build/src/web/index.d.ts.map +1 -0
  230. package/build/src/web/index.js.map +1 -0
  231. package/package.json +1 -1
  232. package/src/components/KYCElements/WelcomeTemplate.tsx +9 -0
  233. package/src/components/TemplateKYCExample.tsx +3 -1
  234. package/src/components/TemplateKYCFlowRefactored.tsx +3 -0
  235. package/src/hooks/useTemplateKYCFlow.tsx +27 -5
  236. package/src/modules/api/KYCService.ts +2 -2
  237. package/src/web/WebKYCEntry.tsx +59 -48
  238. package/build/App.d.ts.map +0 -1
  239. package/build/App.js.map +0 -1
  240. package/build/TransfergratisSdk.types.d.ts.map +0 -1
  241. package/build/TransfergratisSdk.types.js.map +0 -1
  242. package/build/TransfergratisSdkModule.d.ts.map +0 -1
  243. package/build/TransfergratisSdkModule.js.map +0 -1
  244. package/build/TransfergratisSdkModule.web.d.ts.map +0 -1
  245. package/build/TransfergratisSdkModule.web.js.map +0 -1
  246. package/build/TransfergratisSdkView.d.ts.map +0 -1
  247. package/build/TransfergratisSdkView.js.map +0 -1
  248. package/build/TransfergratisSdkView.web.d.ts.map +0 -1
  249. package/build/TransfergratisSdkView.web.js.map +0 -1
  250. package/build/api/axios.d.ts.map +0 -1
  251. package/build/api/axios.js.map +0 -1
  252. package/build/components/Camera/index.d.ts.map +0 -1
  253. package/build/components/Camera/index.js.map +0 -1
  254. package/build/components/Camera/index.web.d.ts.map +0 -1
  255. package/build/components/Camera/index.web.js.map +0 -1
  256. package/build/components/Camera/types.d.ts.map +0 -1
  257. package/build/components/Camera/types.js.map +0 -1
  258. package/build/components/ConfigurableKYCFlow.d.ts.map +0 -1
  259. package/build/components/ConfigurableKYCFlow.js.map +0 -1
  260. package/build/components/CustomCameraExample.d.ts.map +0 -1
  261. package/build/components/CustomCameraExample.js.map +0 -1
  262. package/build/components/EnhancedCameraView.d.ts.map +0 -1
  263. package/build/components/EnhancedCameraView.js.map +0 -1
  264. package/build/components/EnhancedCameraView.web.d.ts.map +0 -1
  265. package/build/components/EnhancedCameraView.web.js.map +0 -1
  266. package/build/components/FileUpload.d.ts.map +0 -1
  267. package/build/components/FileUpload.js.map +0 -1
  268. package/build/components/KYCElementRenderer.d.ts.map +0 -1
  269. package/build/components/KYCElementRenderer.js.map +0 -1
  270. package/build/components/KYCElements/AdditionalDocumentsTemplate.d.ts.map +0 -1
  271. package/build/components/KYCElements/AdditionalDocumentsTemplate.js.map +0 -1
  272. package/build/components/KYCElements/CameraCapture.d.ts.map +0 -1
  273. package/build/components/KYCElements/CameraCapture.js.map +0 -1
  274. package/build/components/KYCElements/CompletionStep.d.ts.map +0 -1
  275. package/build/components/KYCElements/CompletionStep.js.map +0 -1
  276. package/build/components/KYCElements/CountrySelection.d.ts.map +0 -1
  277. package/build/components/KYCElements/CountrySelection.js.map +0 -1
  278. package/build/components/KYCElements/CountrySelectionTemplate.d.ts.map +0 -1
  279. package/build/components/KYCElements/CountrySelectionTemplate.js.map +0 -1
  280. package/build/components/KYCElements/DocumentTypeSelection.d.ts.map +0 -1
  281. package/build/components/KYCElements/DocumentTypeSelection.js.map +0 -1
  282. package/build/components/KYCElements/EmailVerificationTemplate.d.ts.map +0 -1
  283. package/build/components/KYCElements/EmailVerificationTemplate.js.map +0 -1
  284. package/build/components/KYCElements/FileUpload.d.ts.map +0 -1
  285. package/build/components/KYCElements/FileUpload.js.map +0 -1
  286. package/build/components/KYCElements/FileUploadTemplate.d.ts.map +0 -1
  287. package/build/components/KYCElements/FileUploadTemplate.js.map +0 -1
  288. package/build/components/KYCElements/IDCardCapture.d.ts.map +0 -1
  289. package/build/components/KYCElements/IDCardCapture.js.map +0 -1
  290. package/build/components/KYCElements/InitializationStep.d.ts.map +0 -1
  291. package/build/components/KYCElements/InitializationStep.js.map +0 -1
  292. package/build/components/KYCElements/LocationCaptureTemplate.d.ts.map +0 -1
  293. package/build/components/KYCElements/LocationCaptureTemplate.js.map +0 -1
  294. package/build/components/KYCElements/OrientationVideoCapture.d.ts.map +0 -1
  295. package/build/components/KYCElements/OrientationVideoCapture.js.map +0 -1
  296. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts.map +0 -1
  297. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js.map +0 -1
  298. package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts.map +0 -1
  299. package/build/components/KYCElements/OrientationVideoCaptureFinal.js.map +0 -1
  300. package/build/components/KYCElements/PersonalInformationTemplate.d.ts.map +0 -1
  301. package/build/components/KYCElements/PersonalInformationTemplate.js.map +0 -1
  302. package/build/components/KYCElements/PhoneVerificationTemplate.d.ts.map +0 -1
  303. package/build/components/KYCElements/PhoneVerificationTemplate.js.map +0 -1
  304. package/build/components/KYCElements/ReviewSubmitTemplate.d.ts.map +0 -1
  305. package/build/components/KYCElements/ReviewSubmitTemplate.js.map +0 -1
  306. package/build/components/KYCElements/SelfieCapture.d.ts.map +0 -1
  307. package/build/components/KYCElements/SelfieCapture.js.map +0 -1
  308. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts.map +0 -1
  309. package/build/components/KYCElements/SelfieCaptureTemplate.js.map +0 -1
  310. package/build/components/KYCElements/VerificationProgressTemplate.d.ts.map +0 -1
  311. package/build/components/KYCElements/VerificationProgressTemplate.js.map +0 -1
  312. package/build/components/KYCElements/VerificationStep.d.ts.map +0 -1
  313. package/build/components/KYCElements/VerificationStep.js.map +0 -1
  314. package/build/components/KYCElements/WelcomeTemplate.d.ts.map +0 -1
  315. package/build/components/KYCElements/WelcomeTemplate.js.map +0 -1
  316. package/build/components/KYCExample.d.ts.map +0 -1
  317. package/build/components/KYCExample.js.map +0 -1
  318. package/build/components/KYCFlow.d.ts.map +0 -1
  319. package/build/components/KYCFlow.js.map +0 -1
  320. package/build/components/NativeCameraView.d.ts.map +0 -1
  321. package/build/components/NativeCameraView.js.map +0 -1
  322. package/build/components/OverLay/IdCard.d.ts.map +0 -1
  323. package/build/components/OverLay/IdCard.js.map +0 -1
  324. package/build/components/OverLay/SelfieOverlay.d.ts.map +0 -1
  325. package/build/components/OverLay/SelfieOverlay.js.map +0 -1
  326. package/build/components/OverLay/StepOverlay.d.ts.map +0 -1
  327. package/build/components/OverLay/StepOverlay.js.map +0 -1
  328. package/build/components/OverLay/type.d.ts.map +0 -1
  329. package/build/components/OverLay/type.js.map +0 -1
  330. package/build/components/ProgressIndicator.d.ts.map +0 -1
  331. package/build/components/ProgressIndicator.js.map +0 -1
  332. package/build/components/SelfieCapture.d.ts.map +0 -1
  333. package/build/components/SelfieCapture.js.map +0 -1
  334. package/build/components/SimpleExample.d.ts.map +0 -1
  335. package/build/components/SimpleExample.js.map +0 -1
  336. package/build/components/Svgs/GpsIcon.d.ts.map +0 -1
  337. package/build/components/Svgs/GpsIcon.js.map +0 -1
  338. package/build/components/Svgs/Schield.d.ts.map +0 -1
  339. package/build/components/Svgs/Schield.js.map +0 -1
  340. package/build/components/Svgs/frontSelfieIcon.d.ts.map +0 -1
  341. package/build/components/Svgs/frontSelfieIcon.js.map +0 -1
  342. package/build/components/Svgs/scanningLine.d.ts.map +0 -1
  343. package/build/components/Svgs/scanningLine.js.map +0 -1
  344. package/build/components/Svgs/sideSelfieIcon.d.ts.map +0 -1
  345. package/build/components/Svgs/sideSelfieIcon.js.map +0 -1
  346. package/build/components/TemplateKYCExample.d.ts.map +0 -1
  347. package/build/components/TemplateKYCExample.js.map +0 -1
  348. package/build/components/TemplateKYCFlowRefactored.d.ts.map +0 -1
  349. package/build/components/TemplateKYCFlowRefactored.js.map +0 -1
  350. package/build/components/VisionCameraView.d.ts.map +0 -1
  351. package/build/components/VisionCameraView.js.map +0 -1
  352. package/build/components/example/CameraCaptureEx.d.ts.map +0 -1
  353. package/build/components/example/CameraCaptureEx.js.map +0 -1
  354. package/build/components/example/CameraCaptureExAdvanced.d.ts.map +0 -1
  355. package/build/components/example/CameraCaptureExAdvanced.js.map +0 -1
  356. package/build/components/example/CameraCaptureExScan.d.ts.map +0 -1
  357. package/build/components/example/CameraCaptureExScan.js.map +0 -1
  358. package/build/components/example/CameraCaptureExSimple.d.ts.map +0 -1
  359. package/build/components/example/CameraCaptureExSimple.js.map +0 -1
  360. package/build/components/example/DynamicTemplateExample.d.ts.map +0 -1
  361. package/build/components/example/DynamicTemplateExample.js.map +0 -1
  362. package/build/components/example/OrientationVideoExample.d.ts.map +0 -1
  363. package/build/components/example/OrientationVideoExample.js.map +0 -1
  364. package/build/components/example/SelfieCaptureEx.d.ts.map +0 -1
  365. package/build/components/example/SelfieCaptureEx.js.map +0 -1
  366. package/build/components/ui/Button.d.ts.map +0 -1
  367. package/build/components/ui/Button.js.map +0 -1
  368. package/build/components/ui/ButtonExample.d.ts.map +0 -1
  369. package/build/components/ui/ButtonExample.js.map +0 -1
  370. package/build/components/ui/ButtonStyles.d.ts.map +0 -1
  371. package/build/components/ui/ButtonStyles.js.map +0 -1
  372. package/build/config/KYCConfig.d.ts.map +0 -1
  373. package/build/config/KYCConfig.js.map +0 -1
  374. package/build/config/KYCConfigs.d.ts.map +0 -1
  375. package/build/config/KYCConfigs.js.map +0 -1
  376. package/build/config/allowedDomains.d.ts.map +0 -1
  377. package/build/config/allowedDomains.js.map +0 -1
  378. package/build/config/countriesData.d.ts.map +0 -1
  379. package/build/config/countriesData.js.map +0 -1
  380. package/build/config/region_mapping.d.ts.map +0 -1
  381. package/build/config/region_mapping.js.map +0 -1
  382. package/build/hooks/useI18n.d.ts.map +0 -1
  383. package/build/hooks/useI18n.js.map +0 -1
  384. package/build/hooks/useKYC.d.ts.map +0 -1
  385. package/build/hooks/useKYC.js.map +0 -1
  386. package/build/hooks/useKYCFlow.d.ts.map +0 -1
  387. package/build/hooks/useKYCFlow.js.map +0 -1
  388. package/build/hooks/useLocation.d.ts.map +0 -1
  389. package/build/hooks/useLocation.js.map +0 -1
  390. package/build/hooks/useOrientationVideo.d.ts.map +0 -1
  391. package/build/hooks/useOrientationVideo.js.map +0 -1
  392. package/build/hooks/useRealtimeVerifier.d.ts.map +0 -1
  393. package/build/hooks/useRealtimeVerifier.js.map +0 -1
  394. package/build/hooks/useTemplateKYCFlow.d.ts.map +0 -1
  395. package/build/hooks/useTemplateKYCFlow.js.map +0 -1
  396. package/build/hooks/useTemplateLoader.d.ts.map +0 -1
  397. package/build/hooks/useTemplateLoader.js.map +0 -1
  398. package/build/i18n/en/index.js.map +0 -1
  399. package/build/i18n/fr/index.js.map +0 -1
  400. package/build/i18n/index.d.ts.map +0 -1
  401. package/build/i18n/index.js.map +0 -1
  402. package/build/i18n/types.d.ts.map +0 -1
  403. package/build/i18n/types.js.map +0 -1
  404. package/build/i18n/usage-example.d.ts.map +0 -1
  405. package/build/i18n/usage-example.js.map +0 -1
  406. package/build/index.d.ts.map +0 -1
  407. package/build/index.js.map +0 -1
  408. package/build/modules/api/CardAuthentification.d.ts.map +0 -1
  409. package/build/modules/api/CardAuthentification.js.map +0 -1
  410. package/build/modules/api/KYCService.d.ts.map +0 -1
  411. package/build/modules/api/KYCService.js.map +0 -1
  412. package/build/modules/api/SelfieVerification.d.ts.map +0 -1
  413. package/build/modules/api/SelfieVerification.js.map +0 -1
  414. package/build/modules/api/TemplateService.d.ts.map +0 -1
  415. package/build/modules/api/TemplateService.js.map +0 -1
  416. package/build/modules/api/backendApi.d.ts.map +0 -1
  417. package/build/modules/api/backendApi.js.map +0 -1
  418. package/build/modules/api/types.d.ts.map +0 -1
  419. package/build/modules/api/types.js.map +0 -1
  420. package/build/modules/camera/NativeCameraModule.d.ts.map +0 -1
  421. package/build/modules/camera/NativeCameraModule.js.map +0 -1
  422. package/build/modules/camera/UnifiedCameraModule.d.ts.map +0 -1
  423. package/build/modules/camera/UnifiedCameraModule.js.map +0 -1
  424. package/build/modules/camera/VisionCameraModule.d.ts.map +0 -1
  425. package/build/modules/camera/VisionCameraModule.js.map +0 -1
  426. package/build/modules/camera/VisionCameraModule.web.d.ts.map +0 -1
  427. package/build/modules/camera/VisionCameraModule.web.js.map +0 -1
  428. package/build/modules/camera/index.d.ts.map +0 -1
  429. package/build/modules/camera/index.js.map +0 -1
  430. package/build/stores/kycStore.d.ts.map +0 -1
  431. package/build/stores/kycStore.js.map +0 -1
  432. package/build/types/KYC.types.d.ts.map +0 -1
  433. package/build/types/KYC.types.js.map +0 -1
  434. package/build/types/env.types.d.ts.map +0 -1
  435. package/build/types/env.types.js.map +0 -1
  436. package/build/utils/cropByObb.d.ts.map +0 -1
  437. package/build/utils/cropByObb.js.map +0 -1
  438. package/build/utils/deviceDetection.d.ts.map +0 -1
  439. package/build/utils/deviceDetection.js.map +0 -1
  440. package/build/utils/get-document-type-info.d.ts.map +0 -1
  441. package/build/utils/get-document-type-info.js.map +0 -1
  442. package/build/utils/logger.d.ts.map +0 -1
  443. package/build/utils/logger.js.map +0 -1
  444. package/build/utils/pathToBase64.d.ts.map +0 -1
  445. package/build/utils/pathToBase64.js.map +0 -1
  446. package/build/utils/platformAlert.d.ts.map +0 -1
  447. package/build/utils/platformAlert.js.map +0 -1
  448. package/build/utils/remove-duplicate.d.ts.map +0 -1
  449. package/build/utils/remove-duplicate.js.map +0 -1
  450. package/build/utils/template-transformer.d.ts.map +0 -1
  451. package/build/utils/template-transformer.js.map +0 -1
  452. package/build/web/WebKYCEntry.d.ts.map +0 -1
  453. package/build/web/WebKYCEntry.js.map +0 -1
  454. package/build/web/index.d.ts.map +0 -1
  455. package/build/web/index.js.map +0 -1
  456. /package/build/{App.d.ts → src/App.d.ts} +0 -0
  457. /package/build/{App.js → src/App.js} +0 -0
  458. /package/build/{TransfergratisSdk.types.d.ts → src/TransfergratisSdk.types.d.ts} +0 -0
  459. /package/build/{TransfergratisSdk.types.js → src/TransfergratisSdk.types.js} +0 -0
  460. /package/build/{TransfergratisSdkModule.d.ts → src/TransfergratisSdkModule.d.ts} +0 -0
  461. /package/build/{TransfergratisSdkModule.js → src/TransfergratisSdkModule.js} +0 -0
  462. /package/build/{TransfergratisSdkModule.web.d.ts → src/TransfergratisSdkModule.web.d.ts} +0 -0
  463. /package/build/{TransfergratisSdkModule.web.js → src/TransfergratisSdkModule.web.js} +0 -0
  464. /package/build/{TransfergratisSdkView.d.ts → src/TransfergratisSdkView.d.ts} +0 -0
  465. /package/build/{TransfergratisSdkView.js → src/TransfergratisSdkView.js} +0 -0
  466. /package/build/{TransfergratisSdkView.web.d.ts → src/TransfergratisSdkView.web.d.ts} +0 -0
  467. /package/build/{TransfergratisSdkView.web.js → src/TransfergratisSdkView.web.js} +0 -0
  468. /package/build/{api → src/api}/axios.d.ts +0 -0
  469. /package/build/{api → src/api}/axios.js +0 -0
  470. /package/build/{components → src/components}/Camera/index.d.ts +0 -0
  471. /package/build/{components → src/components}/Camera/index.js +0 -0
  472. /package/build/{components → src/components}/Camera/index.web.d.ts +0 -0
  473. /package/build/{components → src/components}/Camera/index.web.js +0 -0
  474. /package/build/{components → src/components}/Camera/types.d.ts +0 -0
  475. /package/build/{components → src/components}/Camera/types.js +0 -0
  476. /package/build/{components → src/components}/ConfigurableKYCFlow.d.ts +0 -0
  477. /package/build/{components → src/components}/ConfigurableKYCFlow.js +0 -0
  478. /package/build/{components → src/components}/CustomCameraExample.d.ts +0 -0
  479. /package/build/{components → src/components}/CustomCameraExample.js +0 -0
  480. /package/build/{components → src/components}/EnhancedCameraView.d.ts +0 -0
  481. /package/build/{components → src/components}/EnhancedCameraView.js +0 -0
  482. /package/build/{components → src/components}/EnhancedCameraView.web.d.ts +0 -0
  483. /package/build/{components → src/components}/EnhancedCameraView.web.js +0 -0
  484. /package/build/{components → src/components}/FileUpload.d.ts +0 -0
  485. /package/build/{components → src/components}/FileUpload.js +0 -0
  486. /package/build/{components → src/components}/KYCElementRenderer.d.ts +0 -0
  487. /package/build/{components → src/components}/KYCElementRenderer.js +0 -0
  488. /package/build/{components → src/components}/KYCElements/AdditionalDocumentsTemplate.d.ts +0 -0
  489. /package/build/{components → src/components}/KYCElements/AdditionalDocumentsTemplate.js +0 -0
  490. /package/build/{components → src/components}/KYCElements/CameraCapture.d.ts +0 -0
  491. /package/build/{components → src/components}/KYCElements/CameraCapture.js +0 -0
  492. /package/build/{components → src/components}/KYCElements/CompletionStep.d.ts +0 -0
  493. /package/build/{components → src/components}/KYCElements/CompletionStep.js +0 -0
  494. /package/build/{components → src/components}/KYCElements/CountrySelection.d.ts +0 -0
  495. /package/build/{components → src/components}/KYCElements/CountrySelection.js +0 -0
  496. /package/build/{components → src/components}/KYCElements/CountrySelectionTemplate.d.ts +0 -0
  497. /package/build/{components → src/components}/KYCElements/CountrySelectionTemplate.js +0 -0
  498. /package/build/{components → src/components}/KYCElements/DocumentTypeSelection.d.ts +0 -0
  499. /package/build/{components → src/components}/KYCElements/DocumentTypeSelection.js +0 -0
  500. /package/build/{components → src/components}/KYCElements/EmailVerificationTemplate.d.ts +0 -0
  501. /package/build/{components → src/components}/KYCElements/EmailVerificationTemplate.js +0 -0
  502. /package/build/{components → src/components}/KYCElements/FileUpload.d.ts +0 -0
  503. /package/build/{components → src/components}/KYCElements/FileUpload.js +0 -0
  504. /package/build/{components → src/components}/KYCElements/FileUploadTemplate.d.ts +0 -0
  505. /package/build/{components → src/components}/KYCElements/FileUploadTemplate.js +0 -0
  506. /package/build/{components → src/components}/KYCElements/IDCardCapture.d.ts +0 -0
  507. /package/build/{components → src/components}/KYCElements/IDCardCapture.js +0 -0
  508. /package/build/{components → src/components}/KYCElements/InitializationStep.d.ts +0 -0
  509. /package/build/{components → src/components}/KYCElements/InitializationStep.js +0 -0
  510. /package/build/{components → src/components}/KYCElements/LocationCaptureTemplate.d.ts +0 -0
  511. /package/build/{components → src/components}/KYCElements/LocationCaptureTemplate.js +0 -0
  512. /package/build/{components → src/components}/KYCElements/OrientationVideoCapture.d.ts +0 -0
  513. /package/build/{components → src/components}/KYCElements/OrientationVideoCapture.js +0 -0
  514. /package/build/{components → src/components}/KYCElements/OrientationVideoCaptureEnhanced.d.ts +0 -0
  515. /package/build/{components → src/components}/KYCElements/OrientationVideoCaptureEnhanced.js +0 -0
  516. /package/build/{components → src/components}/KYCElements/OrientationVideoCaptureFinal.d.ts +0 -0
  517. /package/build/{components → src/components}/KYCElements/OrientationVideoCaptureFinal.js +0 -0
  518. /package/build/{components → src/components}/KYCElements/PersonalInformationTemplate.d.ts +0 -0
  519. /package/build/{components → src/components}/KYCElements/PersonalInformationTemplate.js +0 -0
  520. /package/build/{components → src/components}/KYCElements/PhoneVerificationTemplate.d.ts +0 -0
  521. /package/build/{components → src/components}/KYCElements/PhoneVerificationTemplate.js +0 -0
  522. /package/build/{components → src/components}/KYCElements/ReviewSubmitTemplate.d.ts +0 -0
  523. /package/build/{components → src/components}/KYCElements/ReviewSubmitTemplate.js +0 -0
  524. /package/build/{components → src/components}/KYCElements/SelfieCapture.d.ts +0 -0
  525. /package/build/{components → src/components}/KYCElements/SelfieCapture.js +0 -0
  526. /package/build/{components → src/components}/KYCElements/SelfieCaptureTemplate.d.ts +0 -0
  527. /package/build/{components → src/components}/KYCElements/SelfieCaptureTemplate.js +0 -0
  528. /package/build/{components → src/components}/KYCElements/VerificationProgressTemplate.d.ts +0 -0
  529. /package/build/{components → src/components}/KYCElements/VerificationProgressTemplate.js +0 -0
  530. /package/build/{components → src/components}/KYCElements/VerificationStep.d.ts +0 -0
  531. /package/build/{components → src/components}/KYCElements/VerificationStep.js +0 -0
  532. /package/build/{components → src/components}/KYCElements/WelcomeTemplate.d.ts +0 -0
  533. /package/build/{components → src/components}/KYCExample.d.ts +0 -0
  534. /package/build/{components → src/components}/KYCExample.js +0 -0
  535. /package/build/{components → src/components}/KYCFlow.d.ts +0 -0
  536. /package/build/{components → src/components}/KYCFlow.js +0 -0
  537. /package/build/{components → src/components}/NativeCameraView.d.ts +0 -0
  538. /package/build/{components → src/components}/NativeCameraView.js +0 -0
  539. /package/build/{components → src/components}/OverLay/IdCard.d.ts +0 -0
  540. /package/build/{components → src/components}/OverLay/IdCard.js +0 -0
  541. /package/build/{components → src/components}/OverLay/SelfieOverlay.d.ts +0 -0
  542. /package/build/{components → src/components}/OverLay/SelfieOverlay.js +0 -0
  543. /package/build/{components → src/components}/OverLay/StepOverlay.d.ts +0 -0
  544. /package/build/{components → src/components}/OverLay/StepOverlay.js +0 -0
  545. /package/build/{components → src/components}/OverLay/type.d.ts +0 -0
  546. /package/build/{components → src/components}/OverLay/type.js +0 -0
  547. /package/build/{components → src/components}/ProgressIndicator.d.ts +0 -0
  548. /package/build/{components → src/components}/ProgressIndicator.js +0 -0
  549. /package/build/{components → src/components}/SelfieCapture.d.ts +0 -0
  550. /package/build/{components → src/components}/SelfieCapture.js +0 -0
  551. /package/build/{components → src/components}/SimpleExample.d.ts +0 -0
  552. /package/build/{components → src/components}/SimpleExample.js +0 -0
  553. /package/build/{components → src/components}/Svgs/GpsIcon.d.ts +0 -0
  554. /package/build/{components → src/components}/Svgs/GpsIcon.js +0 -0
  555. /package/build/{components → src/components}/Svgs/Schield.d.ts +0 -0
  556. /package/build/{components → src/components}/Svgs/Schield.js +0 -0
  557. /package/build/{components → src/components}/Svgs/frontSelfieIcon.d.ts +0 -0
  558. /package/build/{components → src/components}/Svgs/frontSelfieIcon.js +0 -0
  559. /package/build/{components → src/components}/Svgs/scanningLine.d.ts +0 -0
  560. /package/build/{components → src/components}/Svgs/scanningLine.js +0 -0
  561. /package/build/{components → src/components}/Svgs/sideSelfieIcon.d.ts +0 -0
  562. /package/build/{components → src/components}/Svgs/sideSelfieIcon.js +0 -0
  563. /package/build/{components → src/components}/VisionCameraView.d.ts +0 -0
  564. /package/build/{components → src/components}/VisionCameraView.js +0 -0
  565. /package/build/{components → src/components}/example/CameraCaptureEx.d.ts +0 -0
  566. /package/build/{components → src/components}/example/CameraCaptureEx.js +0 -0
  567. /package/build/{components → src/components}/example/CameraCaptureExAdvanced.d.ts +0 -0
  568. /package/build/{components → src/components}/example/CameraCaptureExAdvanced.js +0 -0
  569. /package/build/{components → src/components}/example/CameraCaptureExScan.d.ts +0 -0
  570. /package/build/{components → src/components}/example/CameraCaptureExScan.js +0 -0
  571. /package/build/{components → src/components}/example/CameraCaptureExSimple.d.ts +0 -0
  572. /package/build/{components → src/components}/example/CameraCaptureExSimple.js +0 -0
  573. /package/build/{components → src/components}/example/DynamicTemplateExample.d.ts +0 -0
  574. /package/build/{components → src/components}/example/DynamicTemplateExample.js +0 -0
  575. /package/build/{components → src/components}/example/OrientationVideoExample.d.ts +0 -0
  576. /package/build/{components → src/components}/example/OrientationVideoExample.js +0 -0
  577. /package/build/{components → src/components}/example/SelfieCaptureEx.d.ts +0 -0
  578. /package/build/{components → src/components}/example/SelfieCaptureEx.js +0 -0
  579. /package/build/{components → src/components}/ui/Button.d.ts +0 -0
  580. /package/build/{components → src/components}/ui/Button.js +0 -0
  581. /package/build/{components → src/components}/ui/ButtonExample.d.ts +0 -0
  582. /package/build/{components → src/components}/ui/ButtonExample.js +0 -0
  583. /package/build/{components → src/components}/ui/ButtonStyles.d.ts +0 -0
  584. /package/build/{components → src/components}/ui/ButtonStyles.js +0 -0
  585. /package/build/{config → src/config}/KYCConfig.d.ts +0 -0
  586. /package/build/{config → src/config}/KYCConfig.js +0 -0
  587. /package/build/{config → src/config}/KYCConfigs.d.ts +0 -0
  588. /package/build/{config → src/config}/KYCConfigs.js +0 -0
  589. /package/build/{config → src/config}/allowedDomains.d.ts +0 -0
  590. /package/build/{config → src/config}/allowedDomains.js +0 -0
  591. /package/build/{config → src/config}/countriesData.d.ts +0 -0
  592. /package/build/{config → src/config}/countriesData.js +0 -0
  593. /package/build/{config → src/config}/region_mapping.d.ts +0 -0
  594. /package/build/{config → src/config}/region_mapping.js +0 -0
  595. /package/build/{hooks → src/hooks}/useI18n.d.ts +0 -0
  596. /package/build/{hooks → src/hooks}/useI18n.js +0 -0
  597. /package/build/{hooks → src/hooks}/useKYC.d.ts +0 -0
  598. /package/build/{hooks → src/hooks}/useKYC.js +0 -0
  599. /package/build/{hooks → src/hooks}/useKYCFlow.d.ts +0 -0
  600. /package/build/{hooks → src/hooks}/useKYCFlow.js +0 -0
  601. /package/build/{hooks → src/hooks}/useLocation.d.ts +0 -0
  602. /package/build/{hooks → src/hooks}/useLocation.js +0 -0
  603. /package/build/{hooks → src/hooks}/useOrientationVideo.d.ts +0 -0
  604. /package/build/{hooks → src/hooks}/useOrientationVideo.js +0 -0
  605. /package/build/{hooks → src/hooks}/useRealtimeVerifier.d.ts +0 -0
  606. /package/build/{hooks → src/hooks}/useRealtimeVerifier.js +0 -0
  607. /package/build/{hooks → src/hooks}/useTemplateLoader.d.ts +0 -0
  608. /package/build/{hooks → src/hooks}/useTemplateLoader.js +0 -0
  609. /package/build/{i18n → src/i18n}/en/index.d.ts +0 -0
  610. /package/build/{i18n → src/i18n}/en/index.js +0 -0
  611. /package/build/{i18n → src/i18n}/fr/index.d.ts +0 -0
  612. /package/build/{i18n → src/i18n}/fr/index.js +0 -0
  613. /package/build/{i18n → src/i18n}/index.d.ts +0 -0
  614. /package/build/{i18n → src/i18n}/index.js +0 -0
  615. /package/build/{i18n → src/i18n}/types.d.ts +0 -0
  616. /package/build/{i18n → src/i18n}/types.js +0 -0
  617. /package/build/{i18n → src/i18n}/usage-example.d.ts +0 -0
  618. /package/build/{i18n → src/i18n}/usage-example.js +0 -0
  619. /package/build/{index.d.ts → src/index.d.ts} +0 -0
  620. /package/build/{index.js → src/index.js} +0 -0
  621. /package/build/{modules → src/modules}/api/CardAuthentification.d.ts +0 -0
  622. /package/build/{modules → src/modules}/api/CardAuthentification.js +0 -0
  623. /package/build/{modules → src/modules}/api/KYCService.d.ts +0 -0
  624. /package/build/{modules → src/modules}/api/SelfieVerification.d.ts +0 -0
  625. /package/build/{modules → src/modules}/api/SelfieVerification.js +0 -0
  626. /package/build/{modules → src/modules}/api/TemplateService.d.ts +0 -0
  627. /package/build/{modules → src/modules}/api/TemplateService.js +0 -0
  628. /package/build/{modules → src/modules}/api/backendApi.d.ts +0 -0
  629. /package/build/{modules → src/modules}/api/backendApi.js +0 -0
  630. /package/build/{modules → src/modules}/api/types.d.ts +0 -0
  631. /package/build/{modules → src/modules}/api/types.js +0 -0
  632. /package/build/{modules → src/modules}/camera/NativeCameraModule.d.ts +0 -0
  633. /package/build/{modules → src/modules}/camera/NativeCameraModule.js +0 -0
  634. /package/build/{modules → src/modules}/camera/UnifiedCameraModule.d.ts +0 -0
  635. /package/build/{modules → src/modules}/camera/UnifiedCameraModule.js +0 -0
  636. /package/build/{modules → src/modules}/camera/VisionCameraModule.d.ts +0 -0
  637. /package/build/{modules → src/modules}/camera/VisionCameraModule.js +0 -0
  638. /package/build/{modules → src/modules}/camera/VisionCameraModule.web.d.ts +0 -0
  639. /package/build/{modules → src/modules}/camera/VisionCameraModule.web.js +0 -0
  640. /package/build/{modules → src/modules}/camera/index.d.ts +0 -0
  641. /package/build/{modules → src/modules}/camera/index.js +0 -0
  642. /package/build/{stores → src/stores}/kycStore.d.ts +0 -0
  643. /package/build/{stores → src/stores}/kycStore.js +0 -0
  644. /package/build/{types → src/types}/KYC.types.d.ts +0 -0
  645. /package/build/{types → src/types}/KYC.types.js +0 -0
  646. /package/build/{types → src/types}/env.types.d.ts +0 -0
  647. /package/build/{types → src/types}/env.types.js +0 -0
  648. /package/build/{utils → src/utils}/cropByObb.d.ts +0 -0
  649. /package/build/{utils → src/utils}/cropByObb.js +0 -0
  650. /package/build/{utils → src/utils}/deviceDetection.d.ts +0 -0
  651. /package/build/{utils → src/utils}/deviceDetection.js +0 -0
  652. /package/build/{utils → src/utils}/get-document-type-info.d.ts +0 -0
  653. /package/build/{utils → src/utils}/get-document-type-info.js +0 -0
  654. /package/build/{utils → src/utils}/logger.d.ts +0 -0
  655. /package/build/{utils → src/utils}/logger.js +0 -0
  656. /package/build/{utils → src/utils}/pathToBase64.d.ts +0 -0
  657. /package/build/{utils → src/utils}/pathToBase64.js +0 -0
  658. /package/build/{utils → src/utils}/platformAlert.d.ts +0 -0
  659. /package/build/{utils → src/utils}/platformAlert.js +0 -0
  660. /package/build/{utils → src/utils}/remove-duplicate.d.ts +0 -0
  661. /package/build/{utils → src/utils}/remove-duplicate.js +0 -0
  662. /package/build/{utils → src/utils}/template-transformer.d.ts +0 -0
  663. /package/build/{utils → src/utils}/template-transformer.js +0 -0
  664. /package/build/{web → src/web}/WebKYCEntry.d.ts +0 -0
  665. /package/build/{web → src/web}/index.d.ts +0 -0
  666. /package/build/{web → src/web}/index.js +0 -0
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@transfergratis/react-native-sdk",
3
+ "version": "0.1.33",
4
+ "description": "transfergratis react native sdk",
5
+ "main": "build/index.js",
6
+ "types": "build/index.d.ts",
7
+ "scripts": {
8
+ "build": "expo-module build",
9
+ "clean": "expo-module clean",
10
+ "lint": "expo-module lint",
11
+ "test": "expo-module test",
12
+ "prepare": "expo-module prepare && bash scripts/copy-assets.sh",
13
+ "postprepare": "bash scripts/copy-assets.sh",
14
+ "prepublishOnly": "expo-module prepublishOnly && bash scripts/copy-assets.sh",
15
+ "prepack": "bash scripts/copy-assets.sh",
16
+ "expo-module": "expo-module",
17
+ "open:ios": "xed example/ios",
18
+ "open:android": "open -a \"Android Studio\" example/android"
19
+ },
20
+ "keywords": [
21
+ "react-native",
22
+ "expo",
23
+ "transfergratis-react-native-sdk",
24
+ "TransfergratisReactNativeSdk",
25
+ "kyc",
26
+ "identity-verification"
27
+ ],
28
+ "repository": "https://github.com/TransfergratisOrg/KYC-User-Frontend",
29
+ "bugs": {
30
+ "url": "https://github.com/TransfergratisOrg/KYC-User-Frontend/issues"
31
+ },
32
+ "author": "mesha-transfergratis <loic.lontchi@transfergratis.com> (https://github.com/mesha-transfergratis)",
33
+ "license": "MIT",
34
+ "homepage": "https://github.com/TransfergratisOrg/KYC-User-Frontend#readme",
35
+ "files": [
36
+ "build",
37
+ "src",
38
+ "android",
39
+ "ios",
40
+ "plugin",
41
+ "plugin.js",
42
+ "expo-module.config.json",
43
+ "README.md",
44
+ "LICENSE"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "dependencies": {
50
+ "axios": "^1.11.0",
51
+ "i18n-js": "4.5.1",
52
+ "iconsax-react-nativejs": "^0.0.8",
53
+ "zustand": "^5.0.8"
54
+ },
55
+ "devDependencies": {
56
+ "@expo/config-plugins": "^8.0.0",
57
+ "@types/react": "~19.0.0",
58
+ "expo": "~53.0.0",
59
+ "expo-module-scripts": "^4.1.10",
60
+ "react-native": "0.79.1"
61
+ },
62
+ "peerDependencies": {
63
+ "expo": "*",
64
+ "expo-location": "*",
65
+ "expo-image-manipulator": "*",
66
+ "react": "*",
67
+ "react-native": "*",
68
+ "react-native-svg": "*",
69
+ "react-native-vision-camera": "^4.7.1"
70
+ }
71
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"AAIA,QAAA,MAAM,sBAAsB,mCAE3B,CAAA;AAED,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,sEAAsE;AACtE,wDAAwD;AACxD,iDAAiD;AACjD,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAChC,OAAO,CAAC,eAAe,CAAA,EAAE,CAAA;AAC7B,CAAC,CAAA;AAED,eAAe,sBAAsB,CAAC","sourcesContent":["import CameraCaptureEx from \"./components/example/CameraCaptureEx\";\n// import SelfieCaptureEx from \"./components/example/SelfieCaptureEx\";\n// import { KYCExample } from \"./components/KYCExample\";\n// import { KYCFlow } from \"./components/KYCFlow\"\nconst LauchTransferGratisKYC = () =>{\n return <CameraCaptureEx/>\n}\n\nexport default LauchTransferGratisKYC;"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdk.types.d.ts","sourceRoot":"","sources":["../../src/TransfergratisSdk.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC7D,cAAc,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,iBAAiB,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdk.types.js","sourceRoot":"","sources":["../../src/TransfergratisSdk.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\nexport type CameraCaptureEventPayload = {\n instructions?: string;\n status: 'opened' | 'captured';\n path?: string;\n};\n\nexport type FileSelectedEventPayload = {\n uri: string;\n path: string;\n};\n\nexport type ErrorEventPayload = {\n message: string;\n};\n\nexport type TransfergratisSdkModuleEvents = {\n onCameraCapture: (params: CameraCaptureEventPayload) => void;\n onFileSelected: (params: FileSelectedEventPayload) => void;\n onError: (params: ErrorEventPayload) => void;\n};\n\nexport type TransfergratisSdkViewProps = {\n instructions: string;\n showCamera: boolean;\n onCapture?: (event: { nativeEvent: { action: 'capture' | 'retake' } }) => void;\n onError?: (event: { nativeEvent: ErrorEventPayload }) => void;\n style?: StyleProp<ViewStyle>;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkModule.d.ts","sourceRoot":"","sources":["../../src/TransfergratisSdkModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,OAAO,uBAAwB,SAAQ,YAAY,CAAC,6BAA6B,CAAC;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAC7B,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC3C,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9G,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnH;;AAGD,wBAAiF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkModule.js","sourceRoot":"","sources":["../../src/TransfergratisSdkModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAcxD,yDAAyD;AACzD,eAAe,mBAAmB,CAA0B,mBAAmB,CAAC,CAAC","sourcesContent":["import { requireNativeModule } from 'expo-modules-core';\n\nimport { NativeModule } from 'expo';\n\nimport { TransfergratisSdkModuleEvents } from './TransfergratisSdk.types';\n\ndeclare class TransfergratisSdkModule extends NativeModule<TransfergratisSdkModuleEvents> {\n PI: number;\n testModule(): Promise<string>;\n requestCameraPermission(): Promise<boolean>;\n openCameraWithInstructions(instructions: string): Promise<{ success: boolean; path?: string; error?: string }>;\n openFilePicker(allowedTypes: string[]): Promise<{ success: boolean; uri?: string; path?: string; error?: string }>;\n}\n\n// This call loads the native module object from the JSI.\nexport default requireNativeModule<TransfergratisSdkModule>('TransfergratisSdk');\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkModule.web.d.ts","sourceRoot":"","sources":["../../src/TransfergratisSdkModule.web.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE1E,cAAM,uBAAwB,SAAQ,YAAY,CAAC,6BAA6B,CAAC;IAC/E,EAAE,SAAW;IAEP,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3C,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ9G,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAOzH;;AAED,wBAAqF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkModule.web.js","sourceRoot":"","sources":["../../src/TransfergratisSdkModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIpC,MAAM,uBAAwB,SAAQ,YAA2C;IAC/E,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAEb,KAAK,CAAC,uBAAuB;QAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,YAAoB;QACnD,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,sCAAsC;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,YAAsB;QACzC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,2CAA2C;SACnD,CAAC;IACJ,CAAC;CACF;AAED,eAAe,iBAAiB,CAAC,uBAAuB,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import { registerWebModule } from 'expo-modules-core';\nimport { NativeModule } from 'expo';\n\nimport { TransfergratisSdkModuleEvents } from './TransfergratisSdk.types';\n\nclass TransfergratisSdkModule extends NativeModule<TransfergratisSdkModuleEvents> {\n PI = Math.PI;\n \n async requestCameraPermission(): Promise<boolean> {\n console.warn('Camera permission not available on web');\n return false;\n }\n \n async openCameraWithInstructions(instructions: string): Promise<{ success: boolean; path?: string; error?: string }> {\n console.warn('Camera not available on web');\n return {\n success: false,\n error: 'Camera not available on web platform'\n };\n }\n \n async openFilePicker(allowedTypes: string[]): Promise<{ success: boolean; uri?: string; path?: string; error?: string }> {\n console.warn('File picker not available on web');\n return {\n success: false,\n error: 'File picker not available on web platform'\n };\n }\n}\n\nexport default registerWebModule(TransfergratisSdkModule, 'TransfergratisSdkModule');\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkView.d.ts","sourceRoot":"","sources":["../../src/TransfergratisSdkView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAKvE,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,qBAE9E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkView.js","sourceRoot":"","sources":["../../src/TransfergratisSdkView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,UAAU,GACd,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAiC;IAC7E,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;AACnC,CAAC","sourcesContent":["import { requireNativeView } from 'expo';\nimport * as React from 'react';\n\nimport { TransfergratisSdkViewProps } from './TransfergratisSdk.types';\n\nconst NativeView: React.ComponentType<TransfergratisSdkViewProps> =\n requireNativeView('TransfergratisSdk');\n\nexport default function TransfergratisSdkView(props: TransfergratisSdkViewProps) {\n return <NativeView {...props} />;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkView.web.d.ts","sourceRoot":"","sources":["../../src/TransfergratisSdkView.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,qBAU9E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransfergratisSdkView.web.js","sourceRoot":"","sources":["../../src/TransfergratisSdkView.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,KAAiC;IAC7E,OAAO,CACL,CAAC,GAAG,CACF;MAAA,CAAC;;;;aAII,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC","sourcesContent":["import * as React from 'react';\n\nimport { TransfergratisSdkViewProps } from './TransfergratisSdk.types';\n\nexport default function TransfergratisSdkView(props: TransfergratisSdkViewProps) {\n return (\n <div>\n {/* <iframe\n style={{ flex: 1 }}\n src={props.url}\n onLoad={() => props.onLoad({ nativeEvent: { url: props.url } })}\n /> */}\n </div>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../../src/api/axios.ts"],"names":[],"mappings":"AAAA,OAAc,EAEV,kBAAkB,EAGrB,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,aAAa,EAAE,gBAAgB;IAsD3C,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAK7E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAC/B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,EACR,aAAa,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,CAAC,CAAC;IAKP,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAC9B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,EACR,aAAa,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,CAAC,CAAC;IAKP,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAChC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,EACR,aAAa,CAAC,EAAE,kBAAkB,GACnC,OAAO,CAAC,CAAC,CAAC;IAKP,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;CAIzF;AAED,eAAe,UAAU,CAAC;AAI1B,eAAO,MAAM,SAAS,YAGpB,CAAC;AAEH,eAAO,MAAM,cAAc,YAGzB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axios.js","sourceRoot":"","sources":["../../../src/api/axios.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, {\n AxiosInstance,\n AxiosRequestConfig,\n InternalAxiosRequestConfig,\n AxiosResponse,\n} from 'axios';\n\nexport type ApiConfiguration = {\n baseURL: string;\n apiKey?: string;\n authToken?: string;\n timeoutMs?: number;\n};\n\nexport type ApiErrorData = {\n message?: string;\n code?: string | number;\n details?: unknown;\n};\n\nexport class HttpClient {\n private instance: AxiosInstance;\n private apiKey?: string;\n private authToken?: string;\n\n constructor(configuration: ApiConfiguration) {\n this.apiKey = configuration.apiKey;\n this.authToken = configuration.authToken;\n this.instance = axios.create({\n baseURL: configuration.baseURL,\n timeout: configuration.timeoutMs ?? 15000,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n });\n\n this.instance.interceptors.request.use(\n (request: InternalAxiosRequestConfig) => {\n const headers = request.headers ?? {};\n if (this.apiKey && !headers['x-api-key']) {\n headers['x-api-key'] = this.apiKey;\n }\n if (this.authToken && !headers.Authorization) {\n headers.Authorization = `Bearer ${this.authToken}`;\n }\n request.headers = headers;\n return request;\n },\n (error) => Promise.reject(error)\n );\n\n this.instance.interceptors.response.use(\n (response: AxiosResponse) => response,\n (error) => {\n if (!error.response) {\n return Promise.reject({\n message: 'Network error. Please check your connection.',\n code: 'network_error',\n details: error?.message,\n } as ApiErrorData);\n }\n const { status, data } = error.response as AxiosResponse<ApiErrorData>;\n if (status === 401) {\n return Promise.reject({\n message: data?.message || 'Unauthorized',\n code: 401,\n details: data,\n } as ApiErrorData);\n }\n return Promise.reject({\n message: data?.message || 'Request failed',\n code: status,\n details: data,\n } as ApiErrorData);\n }\n );\n }\n\n setAuthToken(token?: string): void {\n this.authToken = token;\n }\n\n setApiKey(key?: string): void {\n this.apiKey = key;\n }\n\n setBaseURL(url: string): void {\n this.instance.defaults.baseURL = url;\n }\n\n async get<T = unknown>(url: string, requestConfig?: AxiosRequestConfig): Promise<T> {\n const res = await this.instance.get<T>(url, requestConfig);\n return res.data as T;\n }\n\n async post<T = unknown, B = unknown>(\n url: string,\n body?: B,\n requestConfig?: AxiosRequestConfig\n ): Promise<T> {\n const res = await this.instance.post<T>(url, body, requestConfig);\n return res.data as T;\n }\n\n async put<T = unknown, B = unknown>(\n url: string,\n body?: B,\n requestConfig?: AxiosRequestConfig\n ): Promise<T> {\n const res = await this.instance.put<T>(url, body, requestConfig);\n return res.data as T;\n }\n\n async patch<T = unknown, B = unknown>(\n url: string,\n body?: B,\n requestConfig?: AxiosRequestConfig\n ): Promise<T> {\n const res = await this.instance.patch<T>(url, body, requestConfig);\n return res.data as T;\n }\n\n async delete<T = unknown>(url: string, requestConfig?: AxiosRequestConfig): Promise<T> {\n const res = await this.instance.delete<T>(url, requestConfig);\n return res.data as T;\n }\n}\n\nexport default HttpClient;\n\n\n// ml service api\nexport const mlService = new HttpClient({\n baseURL: 'https://api.ml.transfergratis.com',\n apiKey: 'your-api-key',\n});\n// backedn service api\nexport const backendService = new HttpClient({\n baseURL: 'https://api.backend.transfergratis.com',\n apiKey: 'your-api-key',\n});\n\n\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Camera/index.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Camera/index.tsx"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/components/Camera/index.web.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.js","sourceRoot":"","sources":["../../../../src/components/Camera/index.web.tsx"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Camera/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Camera/types.ts"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurableKYCFlow.d.ts","sourceRoot":"","sources":["../../../src/components/ConfigurableKYCFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,UAAU,wBAAwB;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwNlE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurableKYCFlow.js","sourceRoot":"","sources":["../../../src/components/ConfigurableKYCFlow.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { View, Text, TouchableOpacity, ScrollView, StyleSheet } from 'react-native';\nimport { useKYCFlow } from '../hooks/useKYCFlow';\nimport { KYCElementRenderer } from './KYCElementRenderer';\nimport { KYCFlowConfig } from '../types/KYC.types';\n\ninterface ConfigurableKYCFlowProps {\n config: KYCFlowConfig;\n onComplete?: (data: any) => void;\n onError?: (error: any) => void;\n onClose?: () => void;\n}\n\nexport const ConfigurableKYCFlow: React.FC<ConfigurableKYCFlowProps> = ({\n config,\n onComplete,\n onError,\n onClose,\n}) => {\n const {\n state,\n actions,\n currentElement,\n progress,\n canGoNext,\n canGoPrevious,\n isComplete,\n } = useKYCFlow();\n\n const isInitialized = useRef(false);\n\n useEffect(() => {\n if (!isInitialized.current) {\n actions.initializeFlow(config);\n isInitialized.current = true;\n }\n }, [config.id]); // Seulement quand l'ID de la config change\n\n const handleValueChange = (value: any) => {\n if (currentElement) {\n actions.updateElementData(currentElement.id, value);\n }\n };\n\n const handleNext = () => {\n console.log('handleNext called');\n console.log('currentElement:', currentElement);\n console.log('canGoNext:', canGoNext);\n console.log('state.elementData:', state.elementData);\n \n if (currentElement) {\n console.log('Validating element:', currentElement.id);\n const isValid = actions?.validateElement?.(currentElement.id);\n console.log('Validation result:', isValid);\n \n if (isValid) {\n console.log('Moving to next element');\n actions.nextElement();\n } else {\n console.log('Validation failed');\n }\n }\n };\n\n const handlePrevious = () => {\n actions.previousElement();\n };\n\n const handleComplete = () => {\n if (onComplete) {\n onComplete(state.elementData);\n }\n };\n\n const handleRestart = () => {\n actions.resetFlow();\n };\n\n const handleClose = () => {\n if (onClose) {\n onClose();\n }\n };\n\n const handleVerificationComplete = () => {\n actions.nextElement();\n };\n\n if (!currentElement) {\n return (\n <View style={styles.container}>\n <Text style={styles.loadingText}>Chargement...</Text>\n </View>\n );\n }\n\n return (\n <View style={[styles.container, { backgroundColor: config.styling.backgroundColor }]}>\n {/* Header avec progression */}\n {config.settings.showProgressBar && (\n <View style={styles.header}>\n <View style={styles.progressContainer}>\n <View \n style={[\n styles.progressBar, \n { \n width: `${progress}%`,\n backgroundColor: config.styling.primaryColor,\n borderRadius: config.styling.borderRadius,\n }\n ]}\n />\n </View>\n {config.settings.showStepNumbers && (\n <Text style={[styles.stepCounter, { color: config.styling.textColor }]}>\n Étape {state.currentElementIndex + 1} sur {config.elements.length}\n </Text>\n )}\n <Text style={[styles.headerTitle, { color: config.styling.textColor }]}>\n {currentElement.title}\n </Text>\n <Text style={[styles.headerDescription, { color: config.styling.textColor }]}>\n {currentElement.description}\n </Text>\n </View>\n )}\n\n {/* Contenu principal */}\n <ScrollView style={styles.scrollView}>\n {state.errors.submit && (\n <View style={styles.errorContainer}>\n <Text style={styles.errorText}>\n Erreur: {state.errors.submit}\n </Text>\n </View>\n )}\n\n <KYCElementRenderer\n element={currentElement}\n value={state.elementData[currentElement.id]}\n onValueChange={handleValueChange}\n error={state.errors[currentElement.id]}\n onComplete={handleVerificationComplete}\n onRestart={handleRestart}\n onClose={handleClose}\n />\n </ScrollView>\n\n {/* Footer avec navigation */}\n {config.settings.allowBackNavigation && (\n <View style={styles.footer}>\n {canGoPrevious && (\n <TouchableOpacity \n style={[\n styles.secondaryButton,\n { \n backgroundColor: config.styling.secondaryColor,\n borderRadius: config.styling.borderRadius,\n }\n ]}\n onPress={handlePrevious}\n disabled={state.isProcessing}\n >\n <Text style={styles.secondaryButtonText}>\n Précédent\n </Text>\n </TouchableOpacity>\n )}\n\n <TouchableOpacity \n style={[\n styles.primaryButton,\n { \n backgroundColor: canGoNext ? config.styling.primaryColor : '#ccc',\n borderRadius: config.styling.borderRadius,\n }\n ]}\n onPress={handleNext}\n disabled={state.isProcessing || !canGoNext}\n >\n <Text style={styles.primaryButtonText}>\n Suivant\n </Text>\n </TouchableOpacity>\n </View>\n )}\n\n {/* Bouton suivant seul si pas de navigation retour */}\n {!config.settings.allowBackNavigation && (\n <View style={styles.footer}>\n <TouchableOpacity \n style={[\n styles.fullWidthButton,\n { \n backgroundColor: canGoNext ? config.styling.primaryColor : '#ccc',\n borderRadius: config.styling.borderRadius,\n }\n ]}\n onPress={handleNext}\n disabled={state.isProcessing || !canGoNext}\n >\n <Text style={styles.primaryButtonText}>\n {state.isProcessing ? 'Traitement...' : 'Continuer'}\n </Text>\n </TouchableOpacity>\n </View>\n )}\n\n {/* Bouton de finalisation */}\n {isComplete && (\n <View style={styles.footer}>\n <TouchableOpacity \n style={[\n styles.fullWidthButton,\n { \n backgroundColor: config.styling.primaryColor,\n borderRadius: config.styling.borderRadius,\n }\n ]}\n onPress={handleComplete}\n >\n <Text style={styles.primaryButtonText}>\n Terminer\n </Text>\n </TouchableOpacity>\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n loadingText: {\n fontSize: 18,\n textAlign: 'center',\n marginTop: 50,\n color: '#666',\n },\n header: {\n backgroundColor: 'white',\n padding: 16,\n borderBottomWidth: 1,\n borderBottomColor: '#e5e5e5',\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.1,\n shadowRadius: 3.84,\n elevation: 5,\n },\n progressContainer: {\n width: '100%',\n height: 8,\n backgroundColor: '#e5e5e5',\n borderRadius: 4,\n overflow: 'hidden',\n marginBottom: 8,\n },\n progressBar: {\n height: '100%',\n borderRadius: 4,\n },\n stepCounter: {\n fontSize: 14,\n fontWeight: '500',\n marginBottom: 8,\n },\n headerTitle: {\n fontSize: 18,\n fontWeight: '600',\n marginTop: 8,\n },\n headerDescription: {\n fontSize: 14,\n opacity: 0.7,\n },\n scrollView: {\n flex: 1,\n },\n errorContainer: {\n backgroundColor: '#fef2f2',\n borderWidth: 1,\n borderColor: '#fecaca',\n margin: 16,\n padding: 16,\n borderRadius: 8,\n },\n errorText: {\n color: '#dc2626',\n fontWeight: '500',\n },\n footer: {\n backgroundColor: 'white',\n borderTopWidth: 1,\n borderTopColor: '#e5e5e5',\n padding: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n primaryButton: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n flex: 1,\n marginLeft: 8,\n },\n primaryButtonText: {\n color: 'white',\n fontWeight: '600',\n fontSize: 16,\n textAlign: 'center',\n },\n secondaryButton: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n flex: 1,\n marginRight: 8,\n },\n secondaryButtonText: {\n color: 'white',\n fontWeight: '500',\n fontSize: 16,\n textAlign: 'center',\n },\n fullWidthButton: {\n paddingHorizontal: 24,\n paddingVertical: 12,\n width: '100%',\n },\n}); "]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomCameraExample.d.ts","sourceRoot":"","sources":["../../../src/components/CustomCameraExample.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,UAAU,wBAAwB;IAChC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAgGlE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomCameraExample.js","sourceRoot":"","sources":["../../../src/components/CustomCameraExample.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { View, Text, TouchableOpacity, StyleSheet, Alert } from 'react-native';\nimport { EnhancedCameraView } from './EnhancedCameraView';\n\ninterface CustomCameraExampleProps {\n onPhotoTaken?: (imagePath: string) => void;\n customInstructions?: string;\n overlayColor?: string;\n showGrid?: boolean;\n}\n\nexport const CustomCameraExample: React.FC<CustomCameraExampleProps> = ({\n onPhotoTaken,\n customInstructions = \"Centrez votre visage dans le cadre\",\n overlayColor = \"rgba(0, 0, 0, 0.5)\",\n showGrid = true\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const [capturedImage, setCapturedImage] = useState<string | null>(null);\n\n const handleCapture = (result: { success: boolean; path?: string; error?: string }) => {\n console.log('Capture result:', result);\n \n if (result.success && result.path) {\n setCapturedImage(result.path);\n setIsVisible(false);\n onPhotoTaken?.(result.path);\n Alert.alert('Succès', 'Photo capturée avec succès !');\n } else {\n Alert.alert('Erreur', result.error || 'Échec de la capture');\n }\n };\n\n const handleError = (event: { message: string }) => {\n Alert.alert('Erreur', event.message || 'Une erreur est survenue');\n setIsVisible(false);\n };\n\n if (!isVisible) {\n return (\n <View style={styles.container}>\n <Text style={styles.title}>Caméra Personnalisée</Text>\n <Text style={styles.subtitle}>\n Exemple d'intégration de la vue caméra native avec overlay personnalisé\n </Text>\n \n <TouchableOpacity\n style={styles.openButton}\n onPress={() => setIsVisible(true)}\n >\n <Text style={styles.openButtonText}>📸 Ouvrir la Caméra</Text>\n </TouchableOpacity>\n\n {capturedImage && (\n <View style={styles.resultContainer}>\n <Text style={styles.resultText}>\n Dernière photo : {capturedImage}\n </Text>\n </View>\n )}\n </View>\n );\n }\n\n return (\n <View style={styles.cameraContainer}>\n {/* Vue caméra Vision Camera */}\n <EnhancedCameraView\n instructions={customInstructions}\n showCamera={true}\n cameraType=\"front\"\n style={styles.camera}\n onCapture={handleCapture}\n onError={handleError}\n onClose={() => setIsVisible(false)}\n quality=\"high\"\n showCaptureButton={true}\n showSwitchCamera={true}\n overlayComponent={\n <View style={[styles.overlay, { backgroundColor: overlayColor }]} pointerEvents=\"none\">\n {/* Grille d'aide (optionnelle) */}\n {showGrid && (\n <View style={styles.grid}>\n <View style={styles.gridLine} />\n <View style={[styles.gridLine, styles.gridLineVertical]} />\n </View>\n )}\n \n {/* Cadre de guidage pour le visage */}\n <View style={styles.faceFrame}>\n <View style={styles.corner} />\n <View style={[styles.corner, styles.cornerTopRight]} />\n <View style={[styles.corner, styles.cornerBottomLeft]} />\n <View style={[styles.corner, styles.cornerBottomRight]} />\n </View>\n \n {/* Instructions personnalisées en plus de celles de base */}\n <View style={styles.instructionsContainer}>\n <Text style={styles.hint}>\n 💡 Astuce: Assurez-vous d'être bien éclairé\n </Text>\n </View>\n </View>\n }\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n backgroundColor: '#f5f5f5',\n justifyContent: 'center',\n alignItems: 'center',\n },\n title: {\n fontSize: 24,\n fontWeight: 'bold',\n color: '#333',\n marginBottom: 10,\n textAlign: 'center',\n },\n subtitle: {\n fontSize: 16,\n color: '#666',\n textAlign: 'center',\n marginBottom: 30,\n lineHeight: 22,\n },\n openButton: {\n backgroundColor: '#4CAF50',\n paddingHorizontal: 30,\n paddingVertical: 15,\n borderRadius: 10,\n marginBottom: 20,\n },\n openButtonText: {\n color: 'white',\n fontSize: 18,\n fontWeight: '600',\n },\n resultContainer: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 10,\n borderWidth: 1,\n borderColor: '#ddd',\n },\n resultText: {\n fontSize: 14,\n color: '#333',\n },\n cameraContainer: {\n flex: 1,\n position: 'relative',\n },\n camera: {\n flex: 1,\n },\n overlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n justifyContent: 'center',\n alignItems: 'center',\n },\n grid: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n gridLine: {\n position: 'absolute',\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n width: '100%',\n height: 1,\n top: '33%',\n },\n gridLineVertical: {\n width: 1,\n height: '100%',\n left: '33%',\n top: 0,\n },\n faceFrame: {\n width: 250,\n height: 300,\n borderWidth: 2,\n borderColor: 'transparent',\n borderRadius: 20,\n position: 'relative',\n },\n corner: {\n position: 'absolute',\n width: 30,\n height: 30,\n borderColor: '#4CAF50',\n borderWidth: 3,\n top: -3,\n left: -3,\n borderBottomColor: 'transparent',\n borderRightColor: 'transparent',\n borderRadius: 5,\n },\n cornerTopRight: {\n top: -3,\n right: -3,\n left: 'auto',\n borderLeftColor: 'transparent',\n borderBottomColor: 'transparent',\n },\n cornerBottomLeft: {\n bottom: -3,\n left: -3,\n top: 'auto',\n borderTopColor: 'transparent',\n borderRightColor: 'transparent',\n },\n cornerBottomRight: {\n bottom: -3,\n right: -3,\n top: 'auto',\n left: 'auto',\n borderTopColor: 'transparent',\n borderLeftColor: 'transparent',\n },\n instructionsContainer: {\n position: 'absolute',\n top: 80,\n left: 20,\n right: 20,\n alignItems: 'center',\n },\n customInstructions: {\n color: 'white',\n fontSize: 18,\n fontWeight: '600',\n textAlign: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n padding: 10,\n borderRadius: 10,\n marginBottom: 10,\n },\n hint: {\n color: 'white',\n fontSize: 14,\n textAlign: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n padding: 8,\n borderRadius: 8,\n },\n closeButton: {\n position: 'absolute',\n top: 50,\n right: 20,\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n width: 40,\n height: 40,\n borderRadius: 20,\n justifyContent: 'center',\n alignItems: 'center',\n },\n closeButtonText: {\n color: 'white',\n fontSize: 20,\n fontWeight: 'bold',\n },\n});"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedCameraView.d.ts","sourceRoot":"","sources":["../../../src/components/EnhancedCameraView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqWhE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedCameraView.js","sourceRoot":"","sources":["../../../src/components/EnhancedCameraView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text } from 'react-native';\nimport { Camera, useCameraDevice } from 'react-native-vision-camera';\nimport VisionCameraModule from '../modules/camera/VisionCameraModule';\nimport { useI18n } from '../hooks/useI18n';\nimport { EnhancedCameraViewProps } from './OverLay/type';\nimport { Button } from './ui/Button';\n\n\n\n\nexport const EnhancedCameraView: React.FC<EnhancedCameraViewProps> = ({ \n showCamera,\n cameraType: initialCameraType = 'front',\n style,\n onCapture,\n onError,\n onClose,\n enableFlash = false,\n enableHdr = false,\n quality = 'high',\n showCaptureButton = true,\n showSwitchCamera = true,\n overlayComponent,\n bbox,\n canFlip = true,\n enableVideo = false,\n isRecording = false,\n onVideoRecordingStart,\n onVideoRecordingStop,\n videoDuration = 10,\n onSilentCapture,\n silentCaptureResult,\n}) => {\n const { t } = useI18n();\n const camera = useRef<Camera>(null);\n const [cameraType, setCameraType] = useState<'front' | 'back'>(initialCameraType);\n const [hasPermission, setHasPermission] = useState(false);\n const [isInitialized, setIsInitialized] = useState(false);\n const [flash, setFlash] = useState<'off' | 'on' | 'auto'>('off');\n const [refreshCamera, setRefreshCamera] = useState(false);\n\n const device = useCameraDevice(cameraType);\n console.log({ setCameraType, setFlash });\n\n // Sélectionner le meilleur format disponible pour une qualité maximale\n // Prioriser les formats avec une bonne résolution vidéo (pour la prévisualisation) ET photo (pour la capture)\n const bestFormat = useMemo(() => {\n if (!device || !device.formats || device.formats.length === 0) {\n return undefined;\n }\n \n // Trier les formats en combinant la résolution vidéo (pour la prévisualisation) et photo (pour la capture)\n // On priorise les formats avec une bonne résolution vidéo car c'est ce qui est affiché en temps réel\n const sortedFormats = [...device.formats].sort((a, b) => {\n // Résolution vidéo (pour la prévisualisation live)\n const videoResolutionA = (a.videoWidth || 0) * (a.videoHeight || 0);\n const videoResolutionB = (b.videoWidth || 0) * (b.videoHeight || 0);\n \n // Résolution photo (pour la capture)\n const photoResolutionA = (a.photoWidth || 0) * (a.photoHeight || 0);\n const photoResolutionB = (b.photoWidth || 0) * (b.photoHeight || 0);\n \n // Prioriser d'abord la résolution vidéo (prévisualisation), puis la résolution photo\n if (videoResolutionB !== videoResolutionA) {\n return videoResolutionB - videoResolutionA;\n }\n return photoResolutionB - photoResolutionA;\n });\n \n return sortedFormats[0];\n }, [device]);\n\n const checkPermissions = async () => {\n try {\n const hasAllPermissions = await VisionCameraModule.hasAllPermissions();\n console.log('hasAllPermissions', hasAllPermissions);\n if (!hasAllPermissions) {\n const granted = await VisionCameraModule.requestAllPermissions();\n console.log('granted', granted);\n if (!granted) {\n console.log('permissionRequired', t('camera.permissionRequired'));\n onError?.({ message: t('camera.permissionRequired') });\n return;\n }\n }\n setHasPermission(true);\n } catch (error) {\n console.error('Error checking permissions:', error);\n onError?.({ message: t('camera.errorOccurred') });\n }\n };\n\n // Check permissions on component mount\n useEffect(() => {\n if (showCamera) {\n checkPermissions();\n }\n }, [showCamera, refreshCamera]);\n\n\n\n const onInitialized = useCallback(() => {\n console.log('Camera initialized!');\n setIsInitialized(true);\n }, []);\n\n const onCameraError = useCallback((error: any) => {\n console.error('Camera error:', error);\n onError?.({ message: error.message || t('camera.errorOccurred') });\n }, [onError, t]);\n\n const captureSilentPhoto = useCallback(async () => {\n if (!camera.current || !isInitialized) {\n onError?.({ message: t('camera.notReady') });\n return;\n }\n console.log('silentCaptureResult', silentCaptureResult);\n if (silentCaptureResult?.isAnalyzing || silentCaptureResult?.success) {\n return;\n }\n try {\n const photo = await camera.current.takePhoto({\n enableShutterSound: true,\n flash: enableFlash ? flash : 'off',\n });\n\n const result = await VisionCameraModule.processPhotoResult(photo);\n onSilentCapture?.(result);\n } catch (error) {\n\n }\n }, [isInitialized, onError, onSilentCapture, enableFlash, flash, silentCaptureResult]);\n\n // Automatically take a silent photo every 5 seconds when ready\n useEffect(() => {\n if (!showCamera || !isInitialized) {\n return;\n }\n\n const intervalId = setInterval(() => {\n captureSilentPhoto();\n }, 2500);\n\n return () => clearInterval(intervalId);\n }, [showCamera, isInitialized, captureSilentPhoto]);\n\n const capturePhoto = useCallback(async () => {\n try {\n if (!camera.current || !isInitialized) {\n onError?.({ message: t('camera.notReady') });\n return;\n }\n if (silentCaptureResult?.success) {\n onCapture?.({\n success: true,\n path: silentCaptureResult.path,\n });\n return;\n }\n\n const photo = await camera.current.takePhoto({\n enableShutterSound: true,\n flash: enableFlash ? flash : 'off',\n });\n\n const result = await VisionCameraModule.processPhotoResult(photo);\n onCapture?.(result);\n } catch (error) {\n console.error('Error taking photo:', error);\n onCapture?.({\n success: false,\n error: error instanceof Error ? error.message : t('camera.failedToCapture'),\n });\n }\n }, [isInitialized, quality, flash, enableFlash, onCapture, onError]);\n\n const startVideoRecording = useCallback(async () => {\n try {\n if (!camera.current || !isInitialized) {\n onError?.({ message: t('camera.notReady') });\n return;\n }\n\n await camera.current.startRecording({\n onRecordingFinished: (video: any) => {\n onVideoRecordingStop?.({\n success: true,\n path: video.path,\n });\n },\n onRecordingError: (error: any) => {\n console.error('Recording error:', error);\n onVideoRecordingStop?.({\n success: false,\n error: error.message || t('camera.failedToStartRecording'),\n });\n },\n });\n\n onVideoRecordingStart?.();\n } catch (error) {\n console.error('Error starting video recording:', error);\n onVideoRecordingStop?.({\n success: false,\n error: error instanceof Error ? error.message : t('camera.failedToStartRecording'),\n });\n }\n }, [isInitialized, onVideoRecordingStart, onVideoRecordingStop, onError]);\n\n const stopVideoRecording = useCallback(async () => {\n try {\n if (!camera.current) {\n onError?.({ message: t('camera.notReady') });\n return;\n }\n\n await camera.current.stopRecording();\n } catch (error) {\n console.error('Error stopping video recording:', error);\n onError?.({ message: t('camera.failedToStopRecording') });\n }\n }, [onError]);\n\n // const switchCamera = useCallback(() => {\n // setCameraType(current => current === 'front' ? 'back' : 'front');\n // }, []);\n\n // const toggleFlash = useCallback(() => {\n // setFlash(current => {\n // switch (current) {\n // case 'off': return 'on';\n // case 'on': return 'auto';\n // case 'auto': return 'off';\n // default: return 'off';\n // }\n // });\n // }, []);\n\n if (!hasPermission) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.permissionMessage}>\n {t('camera.permissionRequired')}\n </Text>\n <Button title=\"Refresh Camera\" onPress={() => setRefreshCamera(!refreshCamera)} />\n </View>\n );\n }\n\n if (!device) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.errorMessage}>\n {t('camera.deviceNotAvailable')}\n </Text>\n </View>\n );\n }\n\n if (!showCamera) {\n return <View style={[styles.container, style]} />;\n }\n\n return (\n <View style={[styles.container, style]}>\n <Camera\n ref={camera}\n style={StyleSheet.absoluteFill}\n device={device}\n isActive={showCamera}\n photo={true}\n video={enableVideo}\n audio={enableVideo}\n format={bestFormat}\n onInitialized={onInitialized}\n onError={onCameraError}\n />\n\n {/* Instructions */}\n {/* {instructions && (\n <View style={styles.instructionsOverlay}>\n <Text style={styles.instructions}>{instructions}</Text>\n </View>\n )} */}\n\n {/* Custom overlay component */}\n {overlayComponent}\n\n {/* Bounding box overlay */}\n {bbox && (\n <View style={styles.bboxOverlay}>\n <View\n style={[\n styles.bbox,\n {\n left: `${bbox.xMin}%`,\n top: `${bbox.yMin}%`,\n width: `${bbox.xMax - bbox.xMin}%`,\n height: `${bbox.yMax - bbox.yMin}%`,\n borderColor: bbox.borderColor || '#2DBD60',\n borderWidth: bbox.borderWidth || 3,\n borderRadius: bbox.cornerRadius || 8,\n }\n ]}\n />\n </View>\n )}\n\n\n {/* Camera controls */}\n <View style={styles.controlsContainer}>\n {/* Flash button */}\n {/* {enableFlash && (\n <TouchableOpacity style={styles.controlButton} onPress={toggleFlash}>\n <Text style={styles.controlButtonText}>\n {flash === 'off' ? '⚡' : flash === 'on' ? '⚡️' : '✨'}\n </Text>\n </TouchableOpacity>\n )} */}\n\n {/* Capture button */}\n {showCaptureButton && !enableVideo && silentCaptureResult?.success && (\n <TouchableOpacity\n style={styles.captureButton}\n onPress={capturePhoto}\n disabled={!isInitialized}\n >\n <View style={[\n styles.captureButtonInner,\n !isInitialized && styles.captureButtonDisabled\n ]} />\n </TouchableOpacity>\n )}\n\n {/* Video recording button */}\n {showCaptureButton && enableVideo && silentCaptureResult?.success && (\n <TouchableOpacity\n style={[\n styles.captureButton,\n isRecording && styles.recordingButton\n ]}\n onPress={isRecording ? stopVideoRecording : startVideoRecording}\n disabled={!isInitialized}\n >\n <View style={[\n styles.captureButtonInner,\n !isInitialized && styles.captureButtonDisabled,\n isRecording && styles.recordingButtonInner\n ]} />\n </TouchableOpacity>\n )}\n\n {/* Switch camera button */}\n {/* {showSwitchCamera && canFlip && (\n <TouchableOpacity style={styles.controlButton} onPress={switchCamera}>\n <Text style={styles.controlButtonText}>🔄</Text>\n </TouchableOpacity>\n )} */}\n\n {silentCaptureResult?.isAnalyzing && (\n <View style={{ backgroundColor: 'rgba(0, 0, 0, 0.7)', padding: 10, borderRadius: 10 }}>\n <Text style={{ color: 'white', fontSize: 16, fontWeight: 'bold' }}>{t('camera.analyzing')}</Text>\n </View>\n )}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: 'black',\n },\n instructionsOverlay: {\n position: 'absolute',\n top: 60,\n left: 20,\n right: 20,\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n padding: 15,\n // borderRadius: 10,\n zIndex: 1,\n },\n instructions: {\n color: 'white',\n fontSize: 16,\n textAlign: 'center',\n fontWeight: '500',\n },\n closeButton: {\n position: 'absolute',\n top: 50,\n right: 20,\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n width: 40,\n height: 40,\n borderRadius: 20,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 2,\n },\n closeButtonText: {\n color: 'white',\n fontSize: 20,\n fontWeight: 'bold',\n },\n controlsContainer: {\n position: 'absolute',\n bottom: 40,\n left: 0,\n right: 0,\n flexDirection: 'row',\n justifyContent: 'space-around',\n alignItems: 'center',\n paddingHorizontal: 40,\n zIndex: 1,\n },\n controlButton: {\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n width: 50,\n height: 50,\n borderRadius: 25,\n justifyContent: 'center',\n alignItems: 'center',\n },\n controlButtonText: {\n fontSize: 24,\n },\n captureButton: {\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n width: 80,\n height: 80,\n borderRadius: 40,\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 3,\n borderColor: 'white',\n },\n captureButtonInner: {\n backgroundColor: 'white',\n width: 60,\n height: 60,\n borderRadius: 30,\n },\n captureButtonDisabled: {\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\n },\n recordingButton: {\n backgroundColor: 'rgba(255, 59, 48, 0.3)',\n borderColor: '#FF3B30',\n },\n recordingButtonInner: {\n backgroundColor: '#FF3B30',\n },\n permissionMessage: {\n color: 'white',\n fontSize: 16,\n textAlign: 'center',\n margin: 20,\n },\n errorMessage: {\n color: 'red',\n fontSize: 16,\n textAlign: 'center',\n margin: 20,\n },\n bboxOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'none',\n },\n bbox: {\n position: 'absolute',\n borderStyle: 'solid',\n backgroundColor: 'transparent',\n },\n});"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedCameraView.web.d.ts","sourceRoot":"","sources":["../../../src/components/EnhancedCameraView.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA+chE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedCameraView.web.js","sourceRoot":"","sources":["../../../src/components/EnhancedCameraView.web.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { View, StyleSheet, TouchableOpacity, Text, Platform } from 'react-native';\nimport { EnhancedCameraViewProps } from './OverLay/type';\nimport { useI18n } from '../hooks/useI18n';\n\n\nexport const EnhancedCameraView: React.FC<EnhancedCameraViewProps> = ({\n instructions = 'Position yourself in the frame and tap the capture button',\n showCamera,\n cameraType: initialCameraType = 'front',\n style,\n onCapture,\n onError,\n onClose,\n enableFlash = false,\n enableHdr = false,\n quality = 'high',\n showCaptureButton = true,\n showSwitchCamera = true,\n overlayComponent,\n bbox,\n canFlip = true,\n enableVideo = false,\n isRecording = false,\n onVideoRecordingStart,\n onVideoRecordingStop,\n videoDuration = 10,\n onSilentCapture,\n silentCaptureResult,\n captureStabilizationDelayMs = 2500,\n}) => {\n const { t } = useI18n();\n \n // Vérification de plateforme - ce composant est uniquement pour le web\n if (Platform.OS !== 'web') {\n console.warn('EnhancedCameraView.web.tsx should only be used on web platform');\n return null;\n }\n const videoRef = useRef<HTMLVideoElement>(null);\n const canvasRef = useRef<HTMLCanvasElement>(null);\n const [cameraType, setCameraType] = useState<'front' | 'back'>(initialCameraType);\n const [hasPermission, setHasPermission] = useState(false);\n const [isInitialized, setIsInitialized] = useState(false);\n const [flash, setFlash] = useState<'off' | 'on' | 'auto'>('off');\n const [stream, setStream] = useState<MediaStream | null>(null);\n const [isRecordingVideo, setIsRecordingVideo] = useState(false);\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder | null>(null);\n const [recordedChunks, setRecordedChunks] = useState<Blob[]>([]);\n\n console.log('cameraType', cameraType, recordedChunks);\n // Check permissions on component mount\n useEffect(() => {\n if (showCamera) {\n checkPermissions();\n }\n }, [showCamera]);\n\n // Cleanup stream on unmount\n useEffect(() => {\n return () => {\n if (stream) {\n stream.getTracks().forEach(track => track.stop());\n }\n };\n }, [stream]);\n\n // Build video constraints for quality (min + ideal improve Android/Samsung web quality; higher ideal for documents)\n const getVideoConstraints = useCallback((): MediaTrackConstraints => {\n const isHigh = quality === 'high';\n const isMedium = quality === 'medium';\n return {\n facingMode: cameraType === 'front' ? 'user' : 'environment',\n // min forces Android Chrome to use at least this resolution (avoids 640x480 default)\n width: {\n min: isHigh ? 1280 : isMedium ? 960 : 640,\n ideal: isHigh ? 2560 : isMedium ? 1280 : 640,\n },\n height: {\n min: isHigh ? 720 : isMedium ? 540 : 480,\n ideal: isHigh ? 1440 : isMedium ? 720 : 480,\n },\n };\n }, [cameraType, quality]);\n\n const checkPermissions = async () => {\n try {\n if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {\n onError?.({ message: 'Camera not supported in this browser' });\n return;\n }\n\n // Use same constraints as startCamera so Android Chrome doesn't cache low resolution (e.g. 640x480)\n const stream = await navigator.mediaDevices.getUserMedia({\n video: getVideoConstraints(),\n audio: enableVideo,\n });\n stream.getTracks().forEach(track => track.stop());\n\n setHasPermission(true);\n await startCamera();\n } catch (error) {\n console.error('Error checking permissions:', error);\n onError?.({ message: 'Camera permissions not granted' });\n }\n };\n\n const startCamera = async () => {\n try {\n if (stream) {\n stream.getTracks().forEach(track => track.stop());\n }\n\n const constraints: MediaStreamConstraints = {\n video: getVideoConstraints(),\n audio: enableVideo,\n };\n\n let newStream: MediaStream;\n try {\n newStream = await navigator.mediaDevices.getUserMedia(constraints);\n } catch (err) {\n const name = err instanceof Error ? err.name : '';\n // On some Android devices, min constraints can fail; fallback to ideal only\n if (name === 'OverconstrainedError') {\n const fallbackConstraints: MediaStreamConstraints = {\n video: {\n facingMode: cameraType === 'front' ? 'user' : 'environment',\n width: { ideal: quality === 'high' ? 2560 : quality === 'medium' ? 1280 : 640 },\n height: { ideal: quality === 'high' ? 1440 : quality === 'medium' ? 720 : 480 },\n },\n audio: enableVideo,\n };\n newStream = await navigator.mediaDevices.getUserMedia(fallbackConstraints);\n } else {\n throw err;\n }\n }\n\n setStream(newStream);\n\n if (videoRef.current) {\n videoRef.current.srcObject = newStream;\n videoRef.current.onloadedmetadata = () => {\n setIsInitialized(true);\n };\n }\n } catch (error) {\n console.error('Error starting camera:', error);\n onError?.({ message: 'Failed to start camera' });\n }\n };\n\n const onInitialized = useCallback(() => {\n console.log('Camera initialized!');\n setIsInitialized(true);\n }, []);\n\n const onCameraError = useCallback((error: any) => {\n console.error('Camera error:', error);\n onError?.({ message: error.message || 'Camera error occurred' });\n }, [onError]);\n\n console.log('isInitialized', onInitialized, onCameraError);\n\n const capturePhoto = useCallback(async () => {\n try {\n onCapture && onCapture({\n success: true\n })\n } catch (error) {\n console.error('Error taking photo:', error);\n onCapture?.({\n success: false,\n error: error instanceof Error ? error.message : 'Failed to capture photo',\n });\n }\n }, [isInitialized, onCapture, onError]);\n\n\n const captureSilentPhoto = useCallback(async () => {\n try {\n if (!videoRef.current || !canvasRef.current || !isInitialized) {\n onError?.({ message: 'Camera not ready' });\n return;\n }\n\n const video = videoRef.current;\n const canvas = canvasRef.current;\n const context = canvas.getContext('2d');\n\n if (!context) {\n onError?.({ message: 'Canvas context not available' });\n return;\n }\n\n // Set canvas dimensions to match video\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n\n // For front camera: draw flipped so captured image matches non-mirrored preview (no mirror confusion)\n if (cameraType === 'front') {\n context.save();\n context.translate(canvas.width, 0);\n context.scale(-1, 1);\n context.drawImage(video, 0, 0);\n context.restore();\n } else {\n context.drawImage(video, 0, 0);\n }\n\n // Convert to base64 (0.95 for document/ID capture clarity; backend can exploit text better)\n const imageDataUrl = canvas.toDataURL('image/jpeg', 0.95);\n\n onSilentCapture?.({\n success: true,\n path: imageDataUrl,\n });\n } catch (error) {\n console.error('Error taking photo:', error);\n onCapture?.({\n success: false,\n error: error instanceof Error ? error.message : 'Failed to capture photo',\n });\n }\n }, [isInitialized, cameraType, onError, onSilentCapture]);\n\n\n // Stabilization delay then auto-capture every 5s; stop as soon as capture is validated (no more new captures)\n useEffect(() => {\n if (!showCamera || !isInitialized || silentCaptureResult?.success) {\n return;\n }\n\n const delayMs = Math.max(0, captureStabilizationDelayMs);\n const intervalMs = 5000;\n let intervalId: ReturnType<typeof setInterval> | null = null;\n\n const timeoutId = setTimeout(() => {\n captureSilentPhoto();\n intervalId = setInterval(captureSilentPhoto, intervalMs);\n }, delayMs);\n\n return () => {\n clearTimeout(timeoutId);\n if (intervalId) clearInterval(intervalId);\n };\n }, [showCamera, isInitialized, captureStabilizationDelayMs, captureSilentPhoto, silentCaptureResult?.success]);\n\n const startVideoRecording = useCallback(async () => {\n try {\n if (!stream || !isInitialized) {\n onError?.({ message: 'Camera not ready' });\n return;\n }\n\n const chunks: Blob[] = [];\n setRecordedChunks(chunks);\n\n const recorder = new MediaRecorder(stream, {\n mimeType: 'video/webm;codecs=vp9',\n });\n\n recorder.ondataavailable = (event) => {\n if (event.data.size > 0) {\n chunks.push(event.data);\n }\n };\n\n recorder.onstop = () => {\n const blob = new Blob(chunks, { type: 'video/webm' });\n const url = URL.createObjectURL(blob);\n\n onVideoRecordingStop?.({\n success: true,\n path: url,\n });\n\n setRecordedChunks([]);\n setIsRecordingVideo(false);\n };\n\n recorder.onerror = (event) => {\n console.error('Recording error:', event);\n onVideoRecordingStop?.({\n success: false,\n error: 'Failed to record video',\n });\n setIsRecordingVideo(false);\n };\n\n setMediaRecorder(recorder);\n recorder.start();\n setIsRecordingVideo(true);\n onVideoRecordingStart?.();\n\n // Auto-stop after videoDuration seconds\n setTimeout(() => {\n if (recorder.state === 'recording') {\n recorder.stop();\n }\n }, videoDuration * 1000);\n\n } catch (error) {\n console.error('Error starting video recording:', error);\n onVideoRecordingStop?.({\n success: false,\n error: error instanceof Error ? error.message : 'Failed to start video recording',\n });\n }\n }, [isInitialized, stream, videoDuration, onVideoRecordingStart, onVideoRecordingStop, onError]);\n\n const stopVideoRecording = useCallback(async () => {\n try {\n if (mediaRecorder && mediaRecorder.state === 'recording') {\n mediaRecorder.stop();\n }\n } catch (error) {\n console.error('Error stopping video recording:', error);\n onError?.({ message: 'Failed to stop video recording' });\n }\n }, [mediaRecorder, onError]);\n\n const switchCamera = useCallback(async () => {\n setCameraType(current => current === 'front' ? 'back' : 'front');\n // Restart camera with new facing mode\n await startCamera();\n }, [cameraType]);\n\n const toggleFlash = useCallback(() => {\n setFlash(current => {\n switch (current) {\n case 'off': return 'on';\n case 'on': return 'auto';\n case 'auto': return 'off';\n default: return 'off';\n }\n });\n }, []);\n\n if (!hasPermission) {\n return (\n <View style={[styles.container, style]}>\n <Text style={styles.permissionMessage}>\n Camera permission required. Please grant permission to continue.\n </Text>\n </View>\n );\n }\n\n if (!showCamera) {\n return <View style={[styles.container, style]} />;\n }\n\n return (\n <View style={[styles.container, style]}>\n {/* Video element; no mirror for front camera so preview matches final photo and doesn't confuse users */}\n <video\n ref={videoRef}\n style={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n transform: cameraType === 'front' ? 'scaleX(-1)' : undefined,\n }}\n autoPlay\n playsInline\n muted\n />\n\n {/* Hidden canvas for photo capture */}\n <canvas\n ref={canvasRef}\n style={{\n position: 'absolute',\n left: '-9999px',\n top: '-9999px',\n }}\n />\n\n {/* Instructions */}\n {/* {instructions && (\n <View style={styles.instructionsOverlay}>\n <Text style={styles.instructions}>{instructions}</Text>\n </View>\n )} */}\n\n {/* Custom overlay component */}\n {overlayComponent}\n\n {/* Bounding box overlay */}\n {bbox && (\n <View style={styles.bboxOverlay}>\n <View\n style={[\n styles.bbox,\n {\n left: `${bbox.xMin}%`,\n top: `${bbox.yMin}%`,\n width: `${bbox.xMax - bbox.xMin}%`,\n height: `${bbox.yMax - bbox.yMin}%`,\n borderColor: bbox.borderColor || '#2DBD60',\n borderWidth: bbox.borderWidth || 3,\n borderRadius: bbox.cornerRadius || 8,\n }\n ]}\n />\n </View>\n )}\n\n {/* Analyzing indicator - Same as mobile */}\n {silentCaptureResult?.isAnalyzing && (\n <View style={styles.analyzingContainer}>\n <Text style={styles.analyzingText}>{t('camera.analyzing')}</Text>\n </View>\n )}\n\n {/* Camera controls */}\n <View style={styles.controlsContainer}>\n {/* Flash button */}\n {enableFlash && (\n <TouchableOpacity style={styles.controlButton} onPress={toggleFlash}>\n <Text style={styles.controlButtonText}>\n {flash === 'off' ? '⚡' : flash === 'on' ? '⚡️' : '✨'}\n </Text>\n </TouchableOpacity>\n )}\n\n {/* Capture button */}\n {showCaptureButton && !enableVideo && silentCaptureResult?.success && (\n <TouchableOpacity\n style={styles.captureButton}\n onPress={capturePhoto}\n disabled={!isInitialized}\n >\n <View style={[\n styles.captureButtonInner,\n !isInitialized && styles.captureButtonDisabled\n ]} />\n </TouchableOpacity>\n )}\n\n {/* Video recording button */}\n {showCaptureButton && enableVideo && (\n <TouchableOpacity\n style={[\n styles.captureButton,\n isRecordingVideo && styles.recordingButton\n ]}\n onPress={isRecordingVideo ? stopVideoRecording : startVideoRecording}\n disabled={!isInitialized}\n >\n <View style={[\n styles.captureButtonInner,\n !isInitialized && styles.captureButtonDisabled,\n isRecordingVideo && styles.recordingButtonInner\n ]} />\n </TouchableOpacity>\n )}\n\n {/* Switch camera button */}\n {showSwitchCamera && canFlip && (\n <TouchableOpacity style={styles.controlButton} onPress={switchCamera}>\n <Text style={styles.controlButtonText}>🔄</Text>\n </TouchableOpacity>\n )}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: 'black',\n },\n instructionsOverlay: {\n position: 'absolute',\n top: 60,\n left: 20,\n right: 20,\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n padding: 15,\n borderRadius: 10,\n zIndex: 1,\n },\n instructions: {\n color: 'white',\n fontSize: 16,\n textAlign: 'center',\n fontWeight: '500',\n },\n closeButton: {\n position: 'absolute',\n top: 50,\n right: 20,\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n width: 40,\n height: 40,\n borderRadius: 20,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 2,\n },\n closeButtonText: {\n color: 'white',\n fontSize: 20,\n fontWeight: 'bold',\n },\n controlsContainer: {\n position: 'absolute',\n bottom: 40,\n left: 0,\n right: 0,\n flexDirection: 'row',\n justifyContent: 'space-around',\n alignItems: 'center',\n paddingHorizontal: 40,\n zIndex: 1,\n },\n controlButton: {\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n width: 50,\n height: 50,\n borderRadius: 25,\n justifyContent: 'center',\n alignItems: 'center',\n },\n controlButtonText: {\n fontSize: 24,\n },\n captureButton: {\n backgroundColor: 'rgba(255, 255, 255, 0.3)',\n width: 80,\n height: 80,\n borderRadius: 40,\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 3,\n borderColor: 'white',\n },\n captureButtonInner: {\n backgroundColor: 'white',\n width: 60,\n height: 60,\n borderRadius: 30,\n },\n captureButtonDisabled: {\n backgroundColor: 'rgba(255, 255, 255, 0.5)',\n },\n recordingButton: {\n backgroundColor: 'rgba(255, 59, 48, 0.3)',\n borderColor: '#FF3B30',\n },\n recordingButtonInner: {\n backgroundColor: '#FF3B30',\n },\n permissionMessage: {\n color: 'white',\n fontSize: 16,\n textAlign: 'center',\n margin: 20,\n },\n errorMessage: {\n color: 'red',\n fontSize: 16,\n textAlign: 'center',\n margin: 20,\n },\n bboxOverlay: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n pointerEvents: 'none',\n },\n bbox: {\n position: 'absolute',\n borderStyle: 'solid',\n backgroundColor: 'transparent',\n },\n analyzingContainer: {\n position: 'absolute',\n bottom: 100,\n alignSelf: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.7)',\n padding: 10,\n borderRadius: 10,\n zIndex: 1000,\n },\n analyzingText: {\n color: 'white',\n fontSize: 16,\n fontWeight: 'bold',\n },\n}); "]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CACvF;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiIhD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../../src/components/FileUpload.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { View, Text, TouchableOpacity, Alert, StyleSheet, ScrollView } from 'react-native';\nimport { useKYCStore } from '../stores/kycStore';\nimport NativeCameraModule from '../modules/camera/NativeCameraModule';\n\ninterface FileUploadProps {\n allowedTypes?: string[];\n maxFiles?: number;\n onFilesSelected?: (files: Array<{ uri: string; path: string; name: string }>) => void;\n}\n\nexport const FileUpload: React.FC<FileUploadProps> = ({\n allowedTypes = ['image/*', 'application/pdf'],\n maxFiles = 5,\n onFilesSelected\n}) => {\n const [selectedFiles, setSelectedFiles] = useState<Array<{ uri: string; path: string; name: string }>>([]);\n const [isUploading, setIsUploading] = useState(false);\n const { setProcessing } = useKYCStore();\n\n const handleFileSelection = async () => {\n try {\n setIsUploading(true);\n setProcessing(true);\n\n const result = await NativeCameraModule.openFilePicker(allowedTypes);\n \n if (result.success && result.uri && result.path) {\n const fileName = result.path.split('/').pop() || 'Document';\n const newFile = {\n uri: result.uri,\n path: result.path,\n name: fileName\n };\n\n if (selectedFiles.length >= maxFiles) {\n Alert.alert('Limite atteinte', `Vous ne pouvez sélectionner que ${maxFiles} fichiers maximum.`);\n return;\n }\n\n const updatedFiles = [...selectedFiles, newFile];\n setSelectedFiles(updatedFiles);\n \n if (onFilesSelected) {\n onFilesSelected(updatedFiles);\n }\n } else if (result.error) {\n Alert.alert('Erreur', result.error);\n }\n } catch (error) {\n Alert.alert('Erreur', 'Impossible de sélectionner le fichier');\n } finally {\n setIsUploading(false);\n setProcessing(false);\n }\n };\n\n const removeFile = (index: number) => {\n const updatedFiles = selectedFiles.filter((_, i) => i !== index);\n setSelectedFiles(updatedFiles);\n \n if (onFilesSelected) {\n onFilesSelected(updatedFiles);\n }\n };\n\n const getFileIcon = (fileName: string) => {\n const extension = fileName.split('.').pop()?.toLowerCase();\n switch (extension) {\n case 'pdf':\n return '📄';\n case 'jpg':\n case 'jpeg':\n case 'png':\n case 'gif':\n return '🖼️';\n case 'doc':\n case 'docx':\n return '📝';\n default:\n return '📎';\n }\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>Sélection de documents</Text>\n <Text style={styles.subtitle}>\n Sélectionnez vos documents (max {maxFiles} fichiers)\n </Text>\n\n <TouchableOpacity\n style={[styles.uploadButton, isUploading && styles.uploadButtonDisabled]}\n onPress={handleFileSelection}\n disabled={isUploading}\n >\n <Text style={styles.uploadButtonText}>\n {isUploading ? 'Sélection en cours...' : '📁 Choisir un fichier'}\n </Text>\n </TouchableOpacity>\n\n {selectedFiles.length > 0 && (\n <View style={styles.filesContainer}>\n <Text style={styles.filesTitle}>Fichiers sélectionnés ({selectedFiles.length}/{maxFiles})</Text>\n <ScrollView style={styles.filesList}>\n {selectedFiles.map((file, index) => (\n <View key={index} style={styles.fileItem}>\n <View style={styles.fileInfo}>\n <Text style={styles.fileIcon}>{getFileIcon(file.name)}</Text>\n <View style={styles.fileDetails}>\n <Text style={styles.fileName} numberOfLines={1}>\n {file.name}\n </Text>\n <Text style={styles.filePath} numberOfLines={1}>\n {file.path}\n </Text>\n </View>\n </View>\n <TouchableOpacity\n style={styles.removeButton}\n onPress={() => removeFile(index)}\n >\n <Text style={styles.removeButtonText}>❌</Text>\n </TouchableOpacity>\n </View>\n ))}\n </ScrollView>\n </View>\n )}\n\n {selectedFiles.length === 0 && (\n <View style={styles.emptyState}>\n <Text style={styles.emptyStateText}>Aucun fichier sélectionné</Text>\n <Text style={styles.emptyStateSubtext}>\n Appuyez sur \"Choisir un fichier\" pour commencer\n </Text>\n </View>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n padding: 20,\n backgroundColor: '#f5f5f5',\n },\n title: {\n fontSize: 24,\n fontWeight: 'bold',\n color: '#333',\n marginBottom: 10,\n textAlign: 'center',\n },\n subtitle: {\n fontSize: 16,\n color: '#666',\n textAlign: 'center',\n marginBottom: 30,\n },\n uploadButton: {\n backgroundColor: '#4CAF50',\n paddingVertical: 15,\n paddingHorizontal: 30,\n borderRadius: 10,\n alignItems: 'center',\n marginBottom: 20,\n },\n uploadButtonDisabled: {\n backgroundColor: '#ccc',\n },\n uploadButtonText: {\n color: 'white',\n fontSize: 16,\n fontWeight: '600',\n },\n filesContainer: {\n flex: 1,\n },\n filesTitle: {\n fontSize: 18,\n fontWeight: '600',\n color: '#333',\n marginBottom: 15,\n },\n filesList: {\n flex: 1,\n },\n fileItem: {\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 10,\n marginBottom: 10,\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.1,\n shadowRadius: 3.84,\n elevation: 5,\n },\n fileInfo: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'center',\n },\n fileIcon: {\n fontSize: 24,\n marginRight: 15,\n },\n fileDetails: {\n flex: 1,\n },\n fileName: {\n fontSize: 16,\n fontWeight: '500',\n color: '#333',\n marginBottom: 2,\n },\n filePath: {\n fontSize: 12,\n color: '#666',\n },\n removeButton: {\n padding: 5,\n },\n removeButtonText: {\n fontSize: 16,\n },\n emptyState: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n emptyStateText: {\n fontSize: 18,\n color: '#666',\n marginBottom: 10,\n },\n emptyStateSubtext: {\n fontSize: 14,\n color: '#999',\n textAlign: 'center',\n },\n}); "]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KYCElementRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/KYCElementRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAShD,UAAU,uBAAuB;IAC/B,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqFhE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KYCElementRenderer.js","sourceRoot":"","sources":["../../../src/components/KYCElementRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAY9D,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,OAAO,EACP,KAAK,EACL,aAAa,EACb,KAAK,EACL,UAAU,EACV,SAAS,EACT,OAAO,GACR,EAAE,EAAE;IACH,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,mBAAmB;YACtB,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,yBAAyB;YAC5B,OAAO,CACL,CAAC,qBAAqB,CACpB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO,CACL,CAAC,aAAa,CACZ,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,aAAa;YAChB,OAAO,CACL,CAAC,UAAU,CACT,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,gBAAgB;YACnB,OAAO,CACL,CAAC,aAAa,CACZ,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,cAAc;YACjB,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,UAAU,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CACrC,KAAK,CAAC,CAAC,KAAK,CAAC,EACb,CACH,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO,CACL,CAAC,cAAc,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,SAAS,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CACnC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,EAC/B,CACH,CAAC;QAEJ;YACE,OAAO,CACL,CAAC,GAAG,CACF;UAAA,CAAC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD;QAAA,EAAE,GAAG,CAAC,CACP,CAAC;IACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { KYCElement } from '../types/KYC.types';\nimport { CountrySelection } from './KYCElements/CountrySelection';\nimport { DocumentTypeSelection } from './KYCElements/DocumentTypeSelection';\nimport { CameraCapture } from './KYCElements/CameraCapture';\nimport { FileUpload } from './KYCElements/FileUpload';\nimport { SelfieCapture } from './KYCElements/SelfieCapture';\nimport { VerificationStep } from './KYCElements/VerificationStep';\nimport { CompletionStep } from './KYCElements/CompletionStep';\n\ninterface KYCElementRendererProps {\n element: KYCElement;\n value?: any;\n onValueChange: (value: any) => void;\n error?: string;\n onComplete?: () => void;\n onRestart?: () => void;\n onClose?: () => void;\n}\n\nexport const KYCElementRenderer: React.FC<KYCElementRendererProps> = ({\n element,\n value,\n onValueChange,\n error,\n onComplete,\n onRestart,\n onClose,\n}) => {\n switch (element.type) {\n case 'country_selection':\n return (\n <CountrySelection\n element={element}\n value={value}\n onValueChange={onValueChange}\n error={error}\n />\n );\n\n case 'document_type_selection':\n return (\n <DocumentTypeSelection\n element={element}\n value={value}\n onValueChange={onValueChange}\n error={error}\n />\n );\n\n case 'camera_capture':\n return (\n <CameraCapture\n element={element}\n value={value}\n onValueChange={onValueChange}\n error={error}\n />\n );\n\n case 'file_upload':\n return (\n <FileUpload\n element={element}\n value={value}\n onValueChange={onValueChange}\n error={error}\n />\n );\n\n case 'selfie_capture':\n return (\n <SelfieCapture\n element={element}\n value={value}\n onValueChange={onValueChange}\n error={error}\n />\n );\n\n case 'verification':\n return (\n <VerificationStep\n element={element}\n onComplete={onComplete || (() => {})}\n error={error}\n />\n );\n\n case 'completion':\n return (\n <CompletionStep\n element={element}\n onRestart={onRestart || (() => {})}\n onClose={onClose || (() => {})}\n />\n );\n\n default:\n return (\n <div>\n <p>Type d'élément non supporté: {element.type}</p>\n </div>\n );\n }\n}; "]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdditionalDocumentsTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/AdditionalDocumentsTemplate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAA4C,MAAM,uBAAuB,CAAC;AAQpG,UAAU,gCAAgC;IACtC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAgMlF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdditionalDocumentsTemplate.js","sourceRoot":"","sources":["../../../../src/components/KYCElements/AdditionalDocumentsTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { View, Text, StyleSheet, TouchableOpacity, ScrollView, Image } from 'react-native';\nimport { TemplateComponent, AdditionalDocumentsConfig, LocalizedText } from '../../types/KYC.types';\nimport { useTemplateKYCFlowContext } from '../../hooks/useTemplateKYCFlow';\nimport { useI18n } from '../../hooks/useI18n';\nimport { Button } from '../ui/Button';\nimport NativeCameraModule from '../../modules/camera/NativeCameraModule';\nimport { useKYCStore } from '../../stores/kycStore';\nimport { showAlert } from '../../utils/platformAlert';\n\ninterface AdditionalDocumentsTemplateProps {\n component: TemplateComponent;\n value?: any;\n onValueChange: (data: any) => void;\n error?: string;\n language?: string;\n}\n\ninterface UploadedFile {\n uri: string;\n path: string;\n name: string;\n size: number;\n}\n\nexport const AdditionalDocumentsTemplate: React.FC<AdditionalDocumentsTemplateProps> = ({\n component,\n value,\n onValueChange,\n error,\n language = 'en',\n}) => {\n const { actions, getLocalizedText } = useTemplateKYCFlowContext();\n const { t } = useI18n();\n const { setProcessing } = useKYCStore();\n const config = component.config as AdditionalDocumentsConfig;\n\n // State\n const [uploadedFiles, setUploadedFiles] = useState<UploadedFile[]>([]);\n const [isUploading, setIsUploading] = useState(false);\n\n const title = getLocalizedText(component.labels as LocalizedText);\n const instructions = getLocalizedText(component.instructions as LocalizedText);\n const buttonText = getLocalizedText((component.ui as any).buttonText) || t('common.continue');\n\n // Parse max size from config string (e.g. \"5MB\" -> bytes)\n const parseMaxSize = (sizeStr: string): number => {\n if (!sizeStr) return 10 * 1024 * 1024; // Default 10MB\n const value = parseFloat(sizeStr);\n if (sizeStr.toLowerCase().includes('kb')) return value * 1024;\n if (sizeStr.toLowerCase().includes('gb')) return value * 1024 * 1024 * 1024;\n return value * 1024 * 1024; // Default to MB if only number or MB\n };\n\n const maxSizeBytes = parseMaxSize(config.maxSizeEach);\n const maxFiles = config.maxDocuments || 3;\n\n const pickDocument = async () => {\n if (uploadedFiles.length >= maxFiles) {\n showAlert(\n t('common.limitReached') || 'Limit Reached',\n t('errors.maxFilesReached', { max: maxFiles }) || `You can only upload ${maxFiles} files.`\n );\n return;\n }\n\n try {\n setIsUploading(true);\n setProcessing(true);\n\n // Default allowed types since AdditionalDocumentsConfig structure is complex for categories\n const allowedTypes = ['application/pdf', 'image/jpeg', 'image/png'];\n\n const result = await NativeCameraModule.openFilePicker(allowedTypes);\n\n if (result.success && result.uri && result.path) {\n const fileName = result.path.split('/').pop() || 'Document';\n const fileSize = (result as any).size || 0;\n\n if (fileSize > maxSizeBytes) {\n showAlert(\n t('errors.fileTooLarge') || 'File too large',\n t('errors.maxFileSize', { size: config.maxSizeEach }) || `Max file size is ${config.maxSizeEach}`\n );\n return;\n }\n\n const newFile: UploadedFile = {\n uri: result.uri,\n path: result.path,\n name: fileName,\n size: fileSize\n };\n\n const updatedFiles = [...uploadedFiles, newFile];\n setUploadedFiles(updatedFiles);\n onValueChange({ documents: updatedFiles }); // Matching expected data structure\n } else if (result.error) {\n // Ignore cancellation errors or show generic if needed\n if (result.error !== 'Canceled') {\n showAlert(t('common.error') || 'Error', result.error);\n }\n }\n } catch (error) {\n console.error('Error selecting file:', error);\n showAlert(t('common.error') || 'Error', t('errors.unknownError') || 'Failed to select file');\n } finally {\n setIsUploading(false);\n setProcessing(false);\n }\n };\n\n const removeFile = (index: number) => {\n const updatedFiles = uploadedFiles.filter((_, i) => i !== index);\n setUploadedFiles(updatedFiles);\n onValueChange({ documents: updatedFiles });\n };\n\n const handleContinue = () => {\n actions.nextComponent();\n };\n\n // Helpers for UI\n const getFileIcon = (fileName: string) => {\n const extension = fileName.split('.').pop()?.toLowerCase();\n switch (extension) {\n case 'pdf': return '📄';\n case 'jpg':\n case 'jpeg':\n case 'png': return '🖼️';\n default: return '📎';\n }\n };\n\n const isImageFile = (fileName: string): boolean => {\n const extension = fileName.split('.').pop()?.toLowerCase();\n return ['jpg', 'jpeg', 'png', 'webp'].includes(extension || '');\n };\n\n const formatFileSize = (bytes: number): string => {\n if (bytes === 0) return '0 Bytes';\n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n <Text style={styles.instructions}>{instructions}</Text>\n\n <View style={styles.uploadArea}>\n <TouchableOpacity\n style={[\n styles.uploadButton,\n isUploading && styles.uploadButtonDisabled,\n { borderColor: component.ui.themeColor as string || '#2DBD60' }\n ]}\n onPress={pickDocument}\n disabled={isUploading}\n >\n <Text style={styles.uploadIcon}>📁</Text>\n <Text style={[\n styles.uploadText,\n { color: component.ui.themeColor as string || '#2DBD60' }\n ]}>\n {isUploading ? (t('common.processing') || 'Processing...') : (t('kyc.additionalDocs.add') || 'Select Files')}\n </Text>\n <Text style={styles.uploadSubtext}>\n {t('kyc.additionalDocs.maxSize', { size: config.maxSizeEach }) || `Max size: ${config.maxSizeEach}`}\n </Text>\n </TouchableOpacity>\n </View>\n\n {uploadedFiles.length > 0 && (\n <View style={styles.filesContainer}>\n <Text style={styles.subTitle}>\n {t('kyc.additionalDocs.uploaded') || 'Uploaded Documents'} ({uploadedFiles.length}/{maxFiles})\n </Text>\n <ScrollView style={styles.filesList} showsVerticalScrollIndicator={false}>\n {uploadedFiles.map((file, index) => (\n <View key={index} style={styles.fileItem}>\n {isImageFile(file.name) ? (\n <Image source={{ uri: file.uri }} style={styles.fileThumbnail} />\n ) : (\n <View style={styles.fileIcon}>\n <Text style={styles.fileIconText}>{getFileIcon(file.name)}</Text>\n </View>\n )}\n <View style={styles.fileInfo}>\n <Text style={styles.fileName} numberOfLines={1}>{file.name}</Text>\n <Text style={styles.fileSize}>{formatFileSize(file.size)}</Text>\n </View>\n <TouchableOpacity\n style={styles.removeButton}\n onPress={() => removeFile(index)}\n >\n <Text style={styles.removeButtonText}>✕</Text>\n </TouchableOpacity>\n </View>\n ))}\n </ScrollView>\n </View>\n )}\n\n {error && <Text style={styles.errorText}>{error}</Text>}\n\n <Button\n title={buttonText}\n onPress={handleContinue}\n fullWidth\n style={styles.button}\n disabled={config.required && uploadedFiles.length < (config.minDocuments || 1)}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n padding: 20,\n backgroundColor: 'white',\n borderRadius: 12,\n margin: 16,\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n width: '95%',\n },\n title: {\n fontSize: 22,\n fontWeight: 'bold',\n marginBottom: 10,\n color: '#333',\n },\n instructions: {\n fontSize: 16,\n color: '#666',\n marginBottom: 20,\n lineHeight: 22,\n },\n subTitle: {\n fontSize: 16,\n fontWeight: '600',\n marginBottom: 10,\n color: '#333',\n },\n uploadArea: {\n marginBottom: 20,\n },\n uploadButton: {\n borderWidth: 2,\n borderStyle: 'dashed',\n borderRadius: 12,\n padding: 24,\n alignItems: 'center',\n backgroundColor: '#f0f9f0',\n },\n uploadButtonDisabled: {\n opacity: 0.6,\n },\n uploadIcon: {\n fontSize: 32,\n marginBottom: 8,\n },\n uploadText: {\n fontSize: 16,\n fontWeight: '600',\n marginBottom: 4,\n },\n uploadSubtext: {\n fontSize: 12,\n color: '#666',\n },\n filesContainer: {\n flex: 1,\n marginBottom: 10,\n },\n filesList: {\n maxHeight: 200,\n },\n fileItem: {\n flexDirection: 'row',\n alignItems: 'center',\n padding: 10,\n backgroundColor: '#f9f9f9',\n borderRadius: 8,\n marginBottom: 8,\n borderWidth: 1,\n borderColor: '#eee',\n },\n fileThumbnail: {\n width: 36,\n height: 36,\n borderRadius: 4,\n marginRight: 10,\n },\n fileIcon: {\n width: 36,\n height: 36,\n borderRadius: 4,\n backgroundColor: '#eee',\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: 10,\n },\n fileIconText: {\n fontSize: 18,\n },\n fileInfo: {\n flex: 1,\n },\n fileName: {\n fontSize: 14,\n fontWeight: '500',\n color: '#333',\n },\n fileSize: {\n fontSize: 12,\n color: '#888',\n },\n removeButton: {\n width: 24,\n height: 24,\n borderRadius: 12,\n backgroundColor: '#ff4444',\n justifyContent: 'center',\n alignItems: 'center',\n marginLeft: 8,\n },\n removeButtonText: {\n color: 'white',\n fontSize: 12,\n fontWeight: 'bold',\n },\n errorText: {\n color: 'red',\n marginBottom: 10,\n },\n button: {\n marginTop: 10,\n },\n});\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraCapture.d.ts","sourceRoot":"","sources":["../../../../src/components/KYCElements/CameraCapture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,UAAU,kBAAkB;IAC1B,OAAO,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmHtD,CAAC"}