@sanctum-key/react-native-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/README.md +278 -0
  2. package/android/build/.transforms/f62cb96b2d1f78ca96ab35932dd530dc/results.bin +1 -0
  3. package/android/build/.transforms/f62cb96b2d1f78ca96ab35932dd530dc/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/generated/source/buildConfig/debug/kyc/transfergratis/com/BuildConfig.java +10 -0
  5. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +69 -0
  6. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  7. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  8. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  9. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  10. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  11. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
  12. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_file_paths.xml.flat +0 -0
  13. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
  14. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  15. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  16. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  17. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  18. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/transfergratis-react-native-sdk_debug.kotlin_module +0 -0
  19. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/kyc/transfergratis/com/BuildConfig.class +0 -0
  20. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
  21. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +110 -0
  22. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +69 -0
  23. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  24. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  25. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/file_paths.xml +15 -0
  26. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  27. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
  28. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  29. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  30. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  31. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  32. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  33. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  34. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  35. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  36. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  65. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  109. package/android/build/outputs/logs/manifest-merger-debug-report.txt +101 -0
  110. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  111. package/android/build/tmp/kotlin-classes/debug/META-INF/transfergratis-react-native-sdk_debug.kotlin_module +0 -0
  112. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.class +0 -0
  113. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.class +0 -0
  114. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.class +0 -0
  115. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.class +0 -0
  116. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.class +0 -0
  117. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.class +0 -0
  118. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.class +0 -0
  119. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.class +0 -0
  120. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.class +0 -0
  121. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.class +0 -0
  122. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.class +0 -0
  123. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.class +0 -0
  124. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.class +0 -0
  125. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.class +0 -0
  126. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.class +0 -0
  127. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
  128. package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
  129. package/android/build.gradle +43 -0
  130. package/android/src/main/AndroidManifest.xml +49 -0
  131. package/android/src/main/java/kyc/transfergratis/com/TransfergratisSdkModule.kt +131 -0
  132. package/android/src/main/java/kyc/transfergratis/com/TransfergratisSdkView.kt +161 -0
  133. package/android/src/main/res/xml/file_paths.xml +15 -0
  134. package/build/App.d.ts +3 -0
  135. package/build/App.d.ts.map +1 -0
  136. package/build/App.js +9 -0
  137. package/build/App.js.map +1 -0
  138. package/build/TransfergratisSdk.types.d.ts +32 -0
  139. package/build/TransfergratisSdk.types.d.ts.map +1 -0
  140. package/build/TransfergratisSdk.types.js +2 -0
  141. package/build/TransfergratisSdk.types.js.map +1 -0
  142. package/build/TransfergratisSdkModule.d.ts +21 -0
  143. package/build/TransfergratisSdkModule.d.ts.map +1 -0
  144. package/build/TransfergratisSdkModule.js +4 -0
  145. package/build/TransfergratisSdkModule.js.map +1 -0
  146. package/build/TransfergratisSdkModule.web.d.ts +20 -0
  147. package/build/TransfergratisSdkModule.web.d.ts.map +1 -0
  148. package/build/TransfergratisSdkModule.web.js +25 -0
  149. package/build/TransfergratisSdkModule.web.js.map +1 -0
  150. package/build/TransfergratisSdkView.d.ts +4 -0
  151. package/build/TransfergratisSdkView.d.ts.map +1 -0
  152. package/build/TransfergratisSdkView.js +7 -0
  153. package/build/TransfergratisSdkView.js.map +1 -0
  154. package/build/TransfergratisSdkView.web.d.ts +4 -0
  155. package/build/TransfergratisSdkView.web.d.ts.map +1 -0
  156. package/build/TransfergratisSdkView.web.js +11 -0
  157. package/build/TransfergratisSdkView.web.js.map +1 -0
  158. package/build/api/axios.d.ts +30 -0
  159. package/build/api/axios.d.ts.map +1 -0
  160. package/build/api/axios.js +92 -0
  161. package/build/api/axios.js.map +1 -0
  162. package/build/components/Camera/index.d.ts +2 -0
  163. package/build/components/Camera/index.d.ts.map +1 -0
  164. package/build/components/Camera/index.js +2 -0
  165. package/build/components/Camera/index.js.map +1 -0
  166. package/build/components/Camera/index.web.d.ts +2 -0
  167. package/build/components/Camera/index.web.d.ts.map +1 -0
  168. package/build/components/Camera/index.web.js +2 -0
  169. package/build/components/Camera/index.web.js.map +1 -0
  170. package/build/components/Camera/types.d.ts +2 -0
  171. package/build/components/Camera/types.d.ts.map +1 -0
  172. package/build/components/Camera/types.js +2 -0
  173. package/build/components/Camera/types.js.map +1 -0
  174. package/build/components/ConfigurableKYCFlow.d.ts +11 -0
  175. package/build/components/ConfigurableKYCFlow.d.ts.map +1 -0
  176. package/build/components/ConfigurableKYCFlow.js +257 -0
  177. package/build/components/ConfigurableKYCFlow.js.map +1 -0
  178. package/build/components/CustomCameraExample.d.ts +10 -0
  179. package/build/components/CustomCameraExample.d.ts.map +1 -0
  180. package/build/components/CustomCameraExample.js +232 -0
  181. package/build/components/CustomCameraExample.js.map +1 -0
  182. package/build/components/EnhancedCameraView.d.ts +4 -0
  183. package/build/components/EnhancedCameraView.d.ts.map +1 -0
  184. package/build/components/EnhancedCameraView.js +393 -0
  185. package/build/components/EnhancedCameraView.js.map +1 -0
  186. package/build/components/EnhancedCameraView.web.d.ts +4 -0
  187. package/build/components/EnhancedCameraView.web.d.ts.map +1 -0
  188. package/build/components/EnhancedCameraView.web.js +499 -0
  189. package/build/components/EnhancedCameraView.web.js.map +1 -0
  190. package/build/components/FileUpload.d.ts +13 -0
  191. package/build/components/FileUpload.d.ts.map +1 -0
  192. package/build/components/FileUpload.js +216 -0
  193. package/build/components/FileUpload.js.map +1 -0
  194. package/build/components/KYCElementRenderer.d.ts +14 -0
  195. package/build/components/KYCElementRenderer.d.ts.map +1 -0
  196. package/build/components/KYCElementRenderer.js +31 -0
  197. package/build/components/KYCElementRenderer.js.map +1 -0
  198. package/build/components/KYCElements/AdditionalDocumentsTemplate.d.ts +12 -0
  199. package/build/components/KYCElements/AdditionalDocumentsTemplate.d.ts.map +1 -0
  200. package/build/components/KYCElements/AdditionalDocumentsTemplate.js +283 -0
  201. package/build/components/KYCElements/AdditionalDocumentsTemplate.js.map +1 -0
  202. package/build/components/KYCElements/CameraCapture.d.ts +11 -0
  203. package/build/components/KYCElements/CameraCapture.d.ts.map +1 -0
  204. package/build/components/KYCElements/CameraCapture.js +219 -0
  205. package/build/components/KYCElements/CameraCapture.js.map +1 -0
  206. package/build/components/KYCElements/CompletionStep.d.ts +10 -0
  207. package/build/components/KYCElements/CompletionStep.d.ts.map +1 -0
  208. package/build/components/KYCElements/CompletionStep.js +147 -0
  209. package/build/components/KYCElements/CompletionStep.js.map +1 -0
  210. package/build/components/KYCElements/CountrySelection.d.ts +11 -0
  211. package/build/components/KYCElements/CountrySelection.d.ts.map +1 -0
  212. package/build/components/KYCElements/CountrySelection.js +147 -0
  213. package/build/components/KYCElements/CountrySelection.js.map +1 -0
  214. package/build/components/KYCElements/CountrySelectionTemplate.d.ts +15 -0
  215. package/build/components/KYCElements/CountrySelectionTemplate.d.ts.map +1 -0
  216. package/build/components/KYCElements/CountrySelectionTemplate.js +438 -0
  217. package/build/components/KYCElements/CountrySelectionTemplate.js.map +1 -0
  218. package/build/components/KYCElements/DocumentTypeSelection.d.ts +11 -0
  219. package/build/components/KYCElements/DocumentTypeSelection.d.ts.map +1 -0
  220. package/build/components/KYCElements/DocumentTypeSelection.js +143 -0
  221. package/build/components/KYCElements/DocumentTypeSelection.js.map +1 -0
  222. package/build/components/KYCElements/EmailVerificationTemplate.d.ts +12 -0
  223. package/build/components/KYCElements/EmailVerificationTemplate.d.ts.map +1 -0
  224. package/build/components/KYCElements/EmailVerificationTemplate.js +212 -0
  225. package/build/components/KYCElements/EmailVerificationTemplate.js.map +1 -0
  226. package/build/components/KYCElements/FileUpload.d.ts +11 -0
  227. package/build/components/KYCElements/FileUpload.d.ts.map +1 -0
  228. package/build/components/KYCElements/FileUpload.js +268 -0
  229. package/build/components/KYCElements/FileUpload.js.map +1 -0
  230. package/build/components/KYCElements/FileUploadTemplate.d.ts +12 -0
  231. package/build/components/KYCElements/FileUploadTemplate.d.ts.map +1 -0
  232. package/build/components/KYCElements/FileUploadTemplate.js +331 -0
  233. package/build/components/KYCElements/FileUploadTemplate.js.map +1 -0
  234. package/build/components/KYCElements/IDCardCapture.d.ts +19 -0
  235. package/build/components/KYCElements/IDCardCapture.d.ts.map +1 -0
  236. package/build/components/KYCElements/IDCardCapture.js +877 -0
  237. package/build/components/KYCElements/IDCardCapture.js.map +1 -0
  238. package/build/components/KYCElements/InitializationStep.d.ts +5 -0
  239. package/build/components/KYCElements/InitializationStep.d.ts.map +1 -0
  240. package/build/components/KYCElements/InitializationStep.js +41 -0
  241. package/build/components/KYCElements/InitializationStep.js.map +1 -0
  242. package/build/components/KYCElements/LocationCaptureTemplate.d.ts +20 -0
  243. package/build/components/KYCElements/LocationCaptureTemplate.d.ts.map +1 -0
  244. package/build/components/KYCElements/LocationCaptureTemplate.js +318 -0
  245. package/build/components/KYCElements/LocationCaptureTemplate.js.map +1 -0
  246. package/build/components/KYCElements/OrientationVideoCapture.d.ts +14 -0
  247. package/build/components/KYCElements/OrientationVideoCapture.d.ts.map +1 -0
  248. package/build/components/KYCElements/OrientationVideoCapture.js +534 -0
  249. package/build/components/KYCElements/OrientationVideoCapture.js.map +1 -0
  250. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts +14 -0
  251. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts.map +1 -0
  252. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js +504 -0
  253. package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js.map +1 -0
  254. package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts +14 -0
  255. package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts.map +1 -0
  256. package/build/components/KYCElements/OrientationVideoCaptureFinal.js +430 -0
  257. package/build/components/KYCElements/OrientationVideoCaptureFinal.js.map +1 -0
  258. package/build/components/KYCElements/PersonalInformationTemplate.d.ts +12 -0
  259. package/build/components/KYCElements/PersonalInformationTemplate.d.ts.map +1 -0
  260. package/build/components/KYCElements/PersonalInformationTemplate.js +120 -0
  261. package/build/components/KYCElements/PersonalInformationTemplate.js.map +1 -0
  262. package/build/components/KYCElements/PhoneVerificationTemplate.d.ts +12 -0
  263. package/build/components/KYCElements/PhoneVerificationTemplate.d.ts.map +1 -0
  264. package/build/components/KYCElements/PhoneVerificationTemplate.js +185 -0
  265. package/build/components/KYCElements/PhoneVerificationTemplate.js.map +1 -0
  266. package/build/components/KYCElements/ReviewSubmitTemplate.d.ts +12 -0
  267. package/build/components/KYCElements/ReviewSubmitTemplate.d.ts.map +1 -0
  268. package/build/components/KYCElements/ReviewSubmitTemplate.js +171 -0
  269. package/build/components/KYCElements/ReviewSubmitTemplate.js.map +1 -0
  270. package/build/components/KYCElements/SelfieCapture.d.ts +11 -0
  271. package/build/components/KYCElements/SelfieCapture.d.ts.map +1 -0
  272. package/build/components/KYCElements/SelfieCapture.js +236 -0
  273. package/build/components/KYCElements/SelfieCapture.js.map +1 -0
  274. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts +16 -0
  275. package/build/components/KYCElements/SelfieCaptureTemplate.d.ts.map +1 -0
  276. package/build/components/KYCElements/SelfieCaptureTemplate.js +568 -0
  277. package/build/components/KYCElements/SelfieCaptureTemplate.js.map +1 -0
  278. package/build/components/KYCElements/VerificationProgressTemplate.d.ts +12 -0
  279. package/build/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -0
  280. package/build/components/KYCElements/VerificationProgressTemplate.js +195 -0
  281. package/build/components/KYCElements/VerificationProgressTemplate.js.map +1 -0
  282. package/build/components/KYCElements/VerificationStep.d.ts +10 -0
  283. package/build/components/KYCElements/VerificationStep.d.ts.map +1 -0
  284. package/build/components/KYCElements/VerificationStep.js +199 -0
  285. package/build/components/KYCElements/VerificationStep.js.map +1 -0
  286. package/build/components/KYCElements/WelcomeTemplate.d.ts +12 -0
  287. package/build/components/KYCElements/WelcomeTemplate.d.ts.map +1 -0
  288. package/build/components/KYCElements/WelcomeTemplate.js +244 -0
  289. package/build/components/KYCElements/WelcomeTemplate.js.map +1 -0
  290. package/build/components/KYCExample.d.ts +3 -0
  291. package/build/components/KYCExample.d.ts.map +1 -0
  292. package/build/components/KYCExample.js +247 -0
  293. package/build/components/KYCExample.js.map +1 -0
  294. package/build/components/KYCFlow.d.ts +3 -0
  295. package/build/components/KYCFlow.d.ts.map +1 -0
  296. package/build/components/KYCFlow.js +308 -0
  297. package/build/components/KYCFlow.js.map +1 -0
  298. package/build/components/NativeCameraView.d.ts +11 -0
  299. package/build/components/NativeCameraView.d.ts.map +1 -0
  300. package/build/components/NativeCameraView.js +27 -0
  301. package/build/components/NativeCameraView.js.map +1 -0
  302. package/build/components/OverLay/IdCard.d.ts +4 -0
  303. package/build/components/OverLay/IdCard.d.ts.map +1 -0
  304. package/build/components/OverLay/IdCard.js +185 -0
  305. package/build/components/OverLay/IdCard.js.map +1 -0
  306. package/build/components/OverLay/SelfieOverlay.d.ts +4 -0
  307. package/build/components/OverLay/SelfieOverlay.d.ts.map +1 -0
  308. package/build/components/OverLay/SelfieOverlay.js +169 -0
  309. package/build/components/OverLay/SelfieOverlay.js.map +1 -0
  310. package/build/components/OverLay/StepOverlay.d.ts +9 -0
  311. package/build/components/OverLay/StepOverlay.d.ts.map +1 -0
  312. package/build/components/OverLay/StepOverlay.js +53 -0
  313. package/build/components/OverLay/StepOverlay.js.map +1 -0
  314. package/build/components/OverLay/type.d.ts +98 -0
  315. package/build/components/OverLay/type.d.ts.map +1 -0
  316. package/build/components/OverLay/type.js +2 -0
  317. package/build/components/OverLay/type.js.map +1 -0
  318. package/build/components/ProgressIndicator.d.ts +8 -0
  319. package/build/components/ProgressIndicator.d.ts.map +1 -0
  320. package/build/components/ProgressIndicator.js +48 -0
  321. package/build/components/ProgressIndicator.js.map +1 -0
  322. package/build/components/SelfieCapture.d.ts +3 -0
  323. package/build/components/SelfieCapture.d.ts.map +1 -0
  324. package/build/components/SelfieCapture.js +197 -0
  325. package/build/components/SelfieCapture.js.map +1 -0
  326. package/build/components/SimpleExample.d.ts +3 -0
  327. package/build/components/SimpleExample.d.ts.map +1 -0
  328. package/build/components/SimpleExample.js +89 -0
  329. package/build/components/SimpleExample.js.map +1 -0
  330. package/build/components/Svgs/GpsIcon.d.ts +3 -0
  331. package/build/components/Svgs/GpsIcon.d.ts.map +1 -0
  332. package/build/components/Svgs/GpsIcon.js +9 -0
  333. package/build/components/Svgs/GpsIcon.js.map +1 -0
  334. package/build/components/Svgs/Schield.d.ts +3 -0
  335. package/build/components/Svgs/Schield.d.ts.map +1 -0
  336. package/build/components/Svgs/Schield.js +22 -0
  337. package/build/components/Svgs/Schield.js.map +1 -0
  338. package/build/components/Svgs/directionArrow.gif +0 -0
  339. package/build/components/Svgs/frontSelfieIcon.d.ts +3 -0
  340. package/build/components/Svgs/frontSelfieIcon.d.ts.map +1 -0
  341. package/build/components/Svgs/frontSelfieIcon.js +11 -0
  342. package/build/components/Svgs/frontSelfieIcon.js.map +1 -0
  343. package/build/components/Svgs/scanningLine.d.ts +9 -0
  344. package/build/components/Svgs/scanningLine.d.ts.map +1 -0
  345. package/build/components/Svgs/scanningLine.js +61 -0
  346. package/build/components/Svgs/scanningLine.js.map +1 -0
  347. package/build/components/Svgs/sideSelfieIcon.d.ts +3 -0
  348. package/build/components/Svgs/sideSelfieIcon.d.ts.map +1 -0
  349. package/build/components/Svgs/sideSelfieIcon.js +9 -0
  350. package/build/components/Svgs/sideSelfieIcon.js.map +1 -0
  351. package/build/components/TemplateKYCExample.d.ts +22 -0
  352. package/build/components/TemplateKYCExample.d.ts.map +1 -0
  353. package/build/components/TemplateKYCExample.js +155 -0
  354. package/build/components/TemplateKYCExample.js.map +1 -0
  355. package/build/components/TemplateKYCFlowRefactored.d.ts +26 -0
  356. package/build/components/TemplateKYCFlowRefactored.d.ts.map +1 -0
  357. package/build/components/TemplateKYCFlowRefactored.js +359 -0
  358. package/build/components/TemplateKYCFlowRefactored.js.map +1 -0
  359. package/build/components/VisionCameraView.d.ts +22 -0
  360. package/build/components/VisionCameraView.d.ts.map +1 -0
  361. package/build/components/VisionCameraView.js +142 -0
  362. package/build/components/VisionCameraView.js.map +1 -0
  363. package/build/components/example/CameraCaptureEx.d.ts +4 -0
  364. package/build/components/example/CameraCaptureEx.d.ts.map +1 -0
  365. package/build/components/example/CameraCaptureEx.js +219 -0
  366. package/build/components/example/CameraCaptureEx.js.map +1 -0
  367. package/build/components/example/CameraCaptureExAdvanced.d.ts +3 -0
  368. package/build/components/example/CameraCaptureExAdvanced.d.ts.map +1 -0
  369. package/build/components/example/CameraCaptureExAdvanced.js +229 -0
  370. package/build/components/example/CameraCaptureExAdvanced.js.map +1 -0
  371. package/build/components/example/CameraCaptureExScan.d.ts +3 -0
  372. package/build/components/example/CameraCaptureExScan.d.ts.map +1 -0
  373. package/build/components/example/CameraCaptureExScan.js +213 -0
  374. package/build/components/example/CameraCaptureExScan.js.map +1 -0
  375. package/build/components/example/CameraCaptureExSimple.d.ts +3 -0
  376. package/build/components/example/CameraCaptureExSimple.d.ts.map +1 -0
  377. package/build/components/example/CameraCaptureExSimple.js +138 -0
  378. package/build/components/example/CameraCaptureExSimple.js.map +1 -0
  379. package/build/components/example/DynamicTemplateExample.d.ts +10 -0
  380. package/build/components/example/DynamicTemplateExample.d.ts.map +1 -0
  381. package/build/components/example/DynamicTemplateExample.js +241 -0
  382. package/build/components/example/DynamicTemplateExample.js.map +1 -0
  383. package/build/components/example/OrientationVideoExample.d.ts +4 -0
  384. package/build/components/example/OrientationVideoExample.d.ts.map +1 -0
  385. package/build/components/example/OrientationVideoExample.js +325 -0
  386. package/build/components/example/OrientationVideoExample.js.map +1 -0
  387. package/build/components/example/SelfieCaptureEx.d.ts +4 -0
  388. package/build/components/example/SelfieCaptureEx.d.ts.map +1 -0
  389. package/build/components/example/SelfieCaptureEx.js +238 -0
  390. package/build/components/example/SelfieCaptureEx.js.map +1 -0
  391. package/build/components/ui/Button.d.ts +37 -0
  392. package/build/components/ui/Button.d.ts.map +1 -0
  393. package/build/components/ui/Button.js +194 -0
  394. package/build/components/ui/Button.js.map +1 -0
  395. package/build/components/ui/ButtonExample.d.ts +4 -0
  396. package/build/components/ui/ButtonExample.d.ts.map +1 -0
  397. package/build/components/ui/ButtonExample.js +209 -0
  398. package/build/components/ui/ButtonExample.js.map +1 -0
  399. package/build/components/ui/ButtonStyles.d.ts +521 -0
  400. package/build/components/ui/ButtonStyles.d.ts.map +1 -0
  401. package/build/components/ui/ButtonStyles.js +429 -0
  402. package/build/components/ui/ButtonStyles.js.map +1 -0
  403. package/build/config/KYCConfig.d.ts +14 -0
  404. package/build/config/KYCConfig.d.ts.map +1 -0
  405. package/build/config/KYCConfig.js +26 -0
  406. package/build/config/KYCConfig.js.map +1 -0
  407. package/build/config/KYCConfigs.d.ts +7 -0
  408. package/build/config/KYCConfigs.d.ts.map +1 -0
  409. package/build/config/KYCConfigs.js +516 -0
  410. package/build/config/KYCConfigs.js.map +1 -0
  411. package/build/config/allowedDomains.d.ts +30 -0
  412. package/build/config/allowedDomains.d.ts.map +1 -0
  413. package/build/config/allowedDomains.js +112 -0
  414. package/build/config/allowedDomains.js.map +1 -0
  415. package/build/config/countriesData.d.ts +3 -0
  416. package/build/config/countriesData.d.ts.map +1 -0
  417. package/build/config/countriesData.js +80 -0
  418. package/build/config/countriesData.js.map +1 -0
  419. package/build/config/region_mapping.d.ts +3 -0
  420. package/build/config/region_mapping.d.ts.map +1 -0
  421. package/build/config/region_mapping.js +736 -0
  422. package/build/config/region_mapping.js.map +1 -0
  423. package/build/hooks/useI18n.d.ts +11 -0
  424. package/build/hooks/useI18n.d.ts.map +1 -0
  425. package/build/hooks/useI18n.js +37 -0
  426. package/build/hooks/useI18n.js.map +1 -0
  427. package/build/hooks/useKYC.d.ts +15 -0
  428. package/build/hooks/useKYC.d.ts.map +1 -0
  429. package/build/hooks/useKYC.js +103 -0
  430. package/build/hooks/useKYC.js.map +1 -0
  431. package/build/hooks/useKYCFlow.d.ts +3 -0
  432. package/build/hooks/useKYCFlow.d.ts.map +1 -0
  433. package/build/hooks/useKYCFlow.js +221 -0
  434. package/build/hooks/useKYCFlow.js.map +1 -0
  435. package/build/hooks/useLocation.d.ts +32 -0
  436. package/build/hooks/useLocation.d.ts.map +1 -0
  437. package/build/hooks/useLocation.js +165 -0
  438. package/build/hooks/useLocation.js.map +1 -0
  439. package/build/hooks/useOrientationVideo.d.ts +10 -0
  440. package/build/hooks/useOrientationVideo.d.ts.map +1 -0
  441. package/build/hooks/useOrientationVideo.js +118 -0
  442. package/build/hooks/useOrientationVideo.js.map +1 -0
  443. package/build/hooks/useRealtimeVerifier.d.ts +28 -0
  444. package/build/hooks/useRealtimeVerifier.d.ts.map +1 -0
  445. package/build/hooks/useRealtimeVerifier.js +91 -0
  446. package/build/hooks/useRealtimeVerifier.js.map +1 -0
  447. package/build/hooks/useTemplateKYCFlow.d.ts +48 -0
  448. package/build/hooks/useTemplateKYCFlow.d.ts.map +1 -0
  449. package/build/hooks/useTemplateKYCFlow.js +910 -0
  450. package/build/hooks/useTemplateKYCFlow.js.map +1 -0
  451. package/build/hooks/useTemplateLoader.d.ts +14 -0
  452. package/build/hooks/useTemplateLoader.d.ts.map +1 -0
  453. package/build/hooks/useTemplateLoader.js +85 -0
  454. package/build/hooks/useTemplateLoader.js.map +1 -0
  455. package/build/i18n/en/index.d.ts +233 -0
  456. package/build/i18n/en/index.d.ts.map +1 -0
  457. package/build/i18n/en/index.js +261 -0
  458. package/build/i18n/en/index.js.map +1 -0
  459. package/build/i18n/fr/index.d.ts +219 -0
  460. package/build/i18n/fr/index.d.ts.map +1 -0
  461. package/build/i18n/fr/index.js +246 -0
  462. package/build/i18n/fr/index.js.map +1 -0
  463. package/build/i18n/index.d.ts +10 -0
  464. package/build/i18n/index.d.ts.map +1 -0
  465. package/build/i18n/index.js +56 -0
  466. package/build/i18n/index.js.map +1 -0
  467. package/build/i18n/types.d.ts +162 -0
  468. package/build/i18n/types.d.ts.map +1 -0
  469. package/build/i18n/types.js +3 -0
  470. package/build/i18n/types.js.map +1 -0
  471. package/build/i18n/usage-example.d.ts +4 -0
  472. package/build/i18n/usage-example.d.ts.map +1 -0
  473. package/build/i18n/usage-example.js +189 -0
  474. package/build/i18n/usage-example.js.map +1 -0
  475. package/build/index.d.ts +11 -0
  476. package/build/index.d.ts.map +1 -0
  477. package/build/index.js +17 -0
  478. package/build/index.js.map +1 -0
  479. package/build/modules/api/CardAuthentification.d.ts +72 -0
  480. package/build/modules/api/CardAuthentification.d.ts.map +1 -0
  481. package/build/modules/api/CardAuthentification.js +487 -0
  482. package/build/modules/api/CardAuthentification.js.map +1 -0
  483. package/build/modules/api/KYCService.d.ts +116 -0
  484. package/build/modules/api/KYCService.d.ts.map +1 -0
  485. package/build/modules/api/KYCService.js +526 -0
  486. package/build/modules/api/KYCService.js.map +1 -0
  487. package/build/modules/api/SelfieVerification.d.ts +5 -0
  488. package/build/modules/api/SelfieVerification.d.ts.map +1 -0
  489. package/build/modules/api/SelfieVerification.js +25 -0
  490. package/build/modules/api/SelfieVerification.js.map +1 -0
  491. package/build/modules/api/TemplateService.d.ts +44 -0
  492. package/build/modules/api/TemplateService.d.ts.map +1 -0
  493. package/build/modules/api/TemplateService.js +146 -0
  494. package/build/modules/api/TemplateService.js.map +1 -0
  495. package/build/modules/api/backendApi.d.ts +2 -0
  496. package/build/modules/api/backendApi.d.ts.map +1 -0
  497. package/build/modules/api/backendApi.js +6 -0
  498. package/build/modules/api/backendApi.js.map +1 -0
  499. package/build/modules/api/types.d.ts +53 -0
  500. package/build/modules/api/types.d.ts.map +1 -0
  501. package/build/modules/api/types.js +2 -0
  502. package/build/modules/api/types.js.map +1 -0
  503. package/build/modules/camera/NativeCameraModule.d.ts +52 -0
  504. package/build/modules/camera/NativeCameraModule.d.ts.map +1 -0
  505. package/build/modules/camera/NativeCameraModule.js +149 -0
  506. package/build/modules/camera/NativeCameraModule.js.map +1 -0
  507. package/build/modules/camera/UnifiedCameraModule.d.ts +70 -0
  508. package/build/modules/camera/UnifiedCameraModule.d.ts.map +1 -0
  509. package/build/modules/camera/UnifiedCameraModule.js +125 -0
  510. package/build/modules/camera/UnifiedCameraModule.js.map +1 -0
  511. package/build/modules/camera/VisionCameraModule.d.ts +62 -0
  512. package/build/modules/camera/VisionCameraModule.d.ts.map +1 -0
  513. package/build/modules/camera/VisionCameraModule.js +313 -0
  514. package/build/modules/camera/VisionCameraModule.js.map +1 -0
  515. package/build/modules/camera/VisionCameraModule.web.d.ts +145 -0
  516. package/build/modules/camera/VisionCameraModule.web.d.ts.map +1 -0
  517. package/build/modules/camera/VisionCameraModule.web.js +589 -0
  518. package/build/modules/camera/VisionCameraModule.web.js.map +1 -0
  519. package/build/modules/camera/index.d.ts +5 -0
  520. package/build/modules/camera/index.d.ts.map +1 -0
  521. package/build/modules/camera/index.js +4 -0
  522. package/build/modules/camera/index.js.map +1 -0
  523. package/build/stores/kycStore.d.ts +55 -0
  524. package/build/stores/kycStore.d.ts.map +1 -0
  525. package/build/stores/kycStore.js +98 -0
  526. package/build/stores/kycStore.js.map +1 -0
  527. package/build/types/KYC.types.d.ts +643 -0
  528. package/build/types/KYC.types.d.ts.map +1 -0
  529. package/build/types/KYC.types.js +25 -0
  530. package/build/types/KYC.types.js.map +1 -0
  531. package/build/types/env.types.d.ts +13 -0
  532. package/build/types/env.types.d.ts.map +1 -0
  533. package/build/types/env.types.js +2 -0
  534. package/build/types/env.types.js.map +1 -0
  535. package/build/utils/cropByObb.d.ts +37 -0
  536. package/build/utils/cropByObb.d.ts.map +1 -0
  537. package/build/utils/cropByObb.js +215 -0
  538. package/build/utils/cropByObb.js.map +1 -0
  539. package/build/utils/deviceDetection.d.ts +6 -0
  540. package/build/utils/deviceDetection.d.ts.map +1 -0
  541. package/build/utils/deviceDetection.js +12 -0
  542. package/build/utils/deviceDetection.js.map +1 -0
  543. package/build/utils/get-document-type-info.d.ts +13 -0
  544. package/build/utils/get-document-type-info.d.ts.map +1 -0
  545. package/build/utils/get-document-type-info.js +59 -0
  546. package/build/utils/get-document-type-info.js.map +1 -0
  547. package/build/utils/logger.d.ts +12 -0
  548. package/build/utils/logger.d.ts.map +1 -0
  549. package/build/utils/logger.js +45 -0
  550. package/build/utils/logger.js.map +1 -0
  551. package/build/utils/pathToBase64.d.ts +3 -0
  552. package/build/utils/pathToBase64.d.ts.map +1 -0
  553. package/build/utils/pathToBase64.js +65 -0
  554. package/build/utils/pathToBase64.js.map +1 -0
  555. package/build/utils/platformAlert.d.ts +20 -0
  556. package/build/utils/platformAlert.d.ts.map +1 -0
  557. package/build/utils/platformAlert.js +67 -0
  558. package/build/utils/platformAlert.js.map +1 -0
  559. package/build/utils/remove-duplicate.d.ts +2 -0
  560. package/build/utils/remove-duplicate.d.ts.map +1 -0
  561. package/build/utils/remove-duplicate.js +4 -0
  562. package/build/utils/remove-duplicate.js.map +1 -0
  563. package/build/utils/template-transformer.d.ts +10 -0
  564. package/build/utils/template-transformer.d.ts.map +1 -0
  565. package/build/utils/template-transformer.js +365 -0
  566. package/build/utils/template-transformer.js.map +1 -0
  567. package/build/web/WebKYCEntry.d.ts +9 -0
  568. package/build/web/WebKYCEntry.d.ts.map +1 -0
  569. package/build/web/WebKYCEntry.js +288 -0
  570. package/build/web/WebKYCEntry.js.map +1 -0
  571. package/build/web/index.d.ts +2 -0
  572. package/build/web/index.d.ts.map +1 -0
  573. package/build/web/index.js +2 -0
  574. package/build/web/index.js.map +1 -0
  575. package/expo-module.config.json +9 -0
  576. package/ios/TransfergratisSdk.podspec +31 -0
  577. package/ios/TransfergratisSdkModule.swift +409 -0
  578. package/package.json +71 -0
  579. package/plugin/build/index.d.ts +5 -0
  580. package/plugin/build/index.js +12 -0
  581. package/plugin/build/withLocation.d.ts +9 -0
  582. package/plugin/build/withLocation.js +77 -0
  583. package/plugin/build/withRemovePermissions.d.ts +3 -0
  584. package/plugin/build/withRemovePermissions.js +67 -0
  585. package/plugin/build/withVisionCamera.d.ts +8 -0
  586. package/plugin/build/withVisionCamera.js +68 -0
  587. package/plugin/src/index.ts +5 -0
  588. package/plugin/src/withLocation.ts +109 -0
  589. package/plugin/src/withRemovePermissions.js +85 -0
  590. package/plugin/src/withRemovePermissions.ts +83 -0
  591. package/plugin/src/withVisionCamera.js +88 -0
  592. package/plugin/src/withVisionCamera.ts +97 -0
  593. package/plugin/tsconfig.json +17 -0
  594. package/plugin/tsconfig.tsbuildinfo +1 -0
  595. package/plugin.js +19 -0
  596. package/src/App.tsx +9 -0
  597. package/src/TransfergratisSdk.types.ts +30 -0
  598. package/src/TransfergratisSdkModule.ts +16 -0
  599. package/src/TransfergratisSdkModule.web.ts +31 -0
  600. package/src/TransfergratisSdkView.tsx +11 -0
  601. package/src/TransfergratisSdkView.web.tsx +15 -0
  602. package/src/api/axios.ts +144 -0
  603. package/src/components/Camera/index.tsx +0 -0
  604. package/src/components/Camera/index.web.tsx +0 -0
  605. package/src/components/Camera/types.ts +0 -0
  606. package/src/components/ConfigurableKYCFlow.tsx +334 -0
  607. package/src/components/CustomCameraExample.tsx +274 -0
  608. package/src/components/EnhancedCameraView.tsx +482 -0
  609. package/src/components/EnhancedCameraView.web.tsx +597 -0
  610. package/src/components/FileUpload.tsx +249 -0
  611. package/src/components/KYCElementRenderer.tsx +106 -0
  612. package/src/components/KYCElements/AdditionalDocumentsTemplate.tsx +346 -0
  613. package/src/components/KYCElements/CameraCapture.tsx +268 -0
  614. package/src/components/KYCElements/CompletionStep.tsx +161 -0
  615. package/src/components/KYCElements/CountrySelection.tsx +177 -0
  616. package/src/components/KYCElements/CountrySelectionTemplate.tsx +526 -0
  617. package/src/components/KYCElements/DocumentTypeSelection.tsx +173 -0
  618. package/src/components/KYCElements/EmailVerificationTemplate.tsx +278 -0
  619. package/src/components/KYCElements/FileUpload.tsx +318 -0
  620. package/src/components/KYCElements/FileUploadTemplate.tsx +395 -0
  621. package/src/components/KYCElements/IDCardCapture.tsx +1053 -0
  622. package/src/components/KYCElements/InitializationStep.tsx +53 -0
  623. package/src/components/KYCElements/LocationCaptureTemplate.tsx +378 -0
  624. package/src/components/KYCElements/OrientationVideoCapture.tsx +649 -0
  625. package/src/components/KYCElements/OrientationVideoCaptureEnhanced.tsx +616 -0
  626. package/src/components/KYCElements/OrientationVideoCaptureFinal.tsx +534 -0
  627. package/src/components/KYCElements/PersonalInformationTemplate.tsx +158 -0
  628. package/src/components/KYCElements/PhoneVerificationTemplate.tsx +253 -0
  629. package/src/components/KYCElements/ReviewSubmitTemplate.tsx +201 -0
  630. package/src/components/KYCElements/SelfieCapture.tsx +284 -0
  631. package/src/components/KYCElements/SelfieCaptureTemplate.tsx +662 -0
  632. package/src/components/KYCElements/VerificationProgressTemplate.tsx +247 -0
  633. package/src/components/KYCElements/VerificationStep.tsx +234 -0
  634. package/src/components/KYCElements/WelcomeTemplate.tsx +290 -0
  635. package/src/components/KYCExample.tsx +297 -0
  636. package/src/components/KYCFlow.tsx +377 -0
  637. package/src/components/NativeCameraView.tsx +47 -0
  638. package/src/components/OverLay/IdCard.tsx +277 -0
  639. package/src/components/OverLay/SelfieOverlay.tsx +211 -0
  640. package/src/components/OverLay/StepOverlay.tsx +64 -0
  641. package/src/components/OverLay/type.ts +91 -0
  642. package/src/components/ProgressIndicator.tsx +62 -0
  643. package/src/components/SelfieCapture.tsx +244 -0
  644. package/src/components/SimpleExample.tsx +92 -0
  645. package/src/components/Svgs/GpsIcon.tsx +12 -0
  646. package/src/components/Svgs/Schield.tsx +26 -0
  647. package/src/components/Svgs/directionArrow.gif +0 -0
  648. package/src/components/Svgs/frontSelfieIcon.tsx +13 -0
  649. package/src/components/Svgs/scanningLine.tsx +88 -0
  650. package/src/components/Svgs/sideSelfieIcon.tsx +10 -0
  651. package/src/components/TemplateKYCExample.tsx +194 -0
  652. package/src/components/TemplateKYCFlowRefactored.tsx +473 -0
  653. package/src/components/VisionCameraView.tsx +197 -0
  654. package/src/components/example/CameraCaptureEx.tsx +335 -0
  655. package/src/components/example/CameraCaptureExAdvanced.tsx +357 -0
  656. package/src/components/example/CameraCaptureExScan.tsx +336 -0
  657. package/src/components/example/CameraCaptureExSimple.tsx +215 -0
  658. package/src/components/example/DynamicTemplateExample.tsx +289 -0
  659. package/src/components/example/OrientationVideoExample.tsx +380 -0
  660. package/src/components/example/SelfieCaptureEx.tsx +358 -0
  661. package/src/components/ui/Button.tsx +328 -0
  662. package/src/components/ui/ButtonExample.tsx +318 -0
  663. package/src/components/ui/ButtonStyles.ts +465 -0
  664. package/src/config/KYCConfig.ts +34 -0
  665. package/src/config/KYCConfigs.ts +528 -0
  666. package/src/config/allowedDomains.ts +133 -0
  667. package/src/config/countriesData.ts +85 -0
  668. package/src/config/region_mapping.json +735 -0
  669. package/src/config/region_mapping.ts +737 -0
  670. package/src/hooks/useI18n.ts +53 -0
  671. package/src/hooks/useKYC.ts +131 -0
  672. package/src/hooks/useKYCFlow.ts +248 -0
  673. package/src/hooks/useLocation.ts +221 -0
  674. package/src/hooks/useOrientationVideo.ts +149 -0
  675. package/src/hooks/useRealtimeVerifier.ts +128 -0
  676. package/src/hooks/useTemplateKYCFlow.tsx +1051 -0
  677. package/src/hooks/useTemplateLoader.ts +102 -0
  678. package/src/i18n/README.md +288 -0
  679. package/src/i18n/en/index.ts +275 -0
  680. package/src/i18n/fr/index.ts +260 -0
  681. package/src/i18n/index.ts +65 -0
  682. package/src/i18n/types.ts +182 -0
  683. package/src/i18n/usage-example.tsx +202 -0
  684. package/src/index.ts +25 -0
  685. package/src/modules/api/CardAuthentification.ts +589 -0
  686. package/src/modules/api/KYCService.ts +666 -0
  687. package/src/modules/api/SelfieVerification.ts +33 -0
  688. package/src/modules/api/TemplateService.ts +168 -0
  689. package/src/modules/api/backendApi.ts +8 -0
  690. package/src/modules/api/types.ts +59 -0
  691. package/src/modules/camera/NativeCameraModule.ts +170 -0
  692. package/src/modules/camera/UnifiedCameraModule.ts +160 -0
  693. package/src/modules/camera/VisionCameraModule.ts +334 -0
  694. package/src/modules/camera/VisionCameraModule.web.ts +679 -0
  695. package/src/modules/camera/index.ts +6 -0
  696. package/src/stores/kycStore.ts +161 -0
  697. package/src/types/KYC.types.ts +837 -0
  698. package/src/types/env.types.ts +13 -0
  699. package/src/utils/cropByObb.ts +254 -0
  700. package/src/utils/deviceDetection.ts +11 -0
  701. package/src/utils/get-document-type-info.ts +62 -0
  702. package/src/utils/logger.ts +48 -0
  703. package/src/utils/pathToBase64.ts +63 -0
  704. package/src/utils/platformAlert.ts +86 -0
  705. package/src/utils/remove-duplicate.ts +3 -0
  706. package/src/utils/template-transformer.ts +445 -0
  707. package/src/web/WebKYCEntry.tsx +375 -0
  708. package/src/web/index.ts +1 -0
@@ -0,0 +1,13 @@
1
+ /**
2
+ * KYC Environment types
3
+ * PRODUCTION: Full verification with AI checks
4
+ * SANDBOX: Skip AI verification, only save data to backend
5
+ */
6
+ export type KycEnvironment = 'PRODUCTION' | 'SANDBOX';
7
+
8
+ /**
9
+ * Backend Environment types
10
+ * PRODUCTION: Production backend
11
+ * TEST: Test backend
12
+ */
13
+ export type BackendEnvironment = 'PRODUCTION' | 'TEST';
@@ -0,0 +1,254 @@
1
+ import { Image as RNImage, Platform } from 'react-native';
2
+ import * as ImageManipulator from "expo-image-manipulator";
3
+ import { truncateFields } from '../modules/api/KYCService';
4
+ import { logger } from './logger';
5
+
6
+ type Point = [number, number];
7
+
8
+ /** OBB confidence below this = card not fully in frame; don't crop, give user feedback. */
9
+ export const OBB_CONFIDENCE_THRESHOLD = 0.85;
10
+
11
+ /**
12
+ * card_obb format from API:
13
+ * - Legacy: [ [ [p1,p2,p3,p4], confidence ] ]
14
+ * - New: [ { obb: [p1,p2,p3,p4], confidence, card_in_frame?, cropped_sides? } ]
15
+ * Returns confidence in [0,1] or null if not present.
16
+ */
17
+ export function getObbConfidence(cardObb: any): number | null {
18
+ if (!cardObb || !Array.isArray(cardObb) || cardObb.length === 0) return null;
19
+ const first = cardObb[0];
20
+
21
+ // New format: first is an object with a confidence field
22
+ if (first && typeof first === 'object' && 'confidence' in first) {
23
+ const score = (first as any).confidence;
24
+ return typeof score === 'number' ? score : null;
25
+ }
26
+
27
+ // Legacy format: [ [points], score ]
28
+ if (!Array.isArray(first) || first.length < 2) return null;
29
+ const score = first[1];
30
+ return typeof score === 'number' ? score : null;
31
+ }
32
+
33
+ /**
34
+ * Extracts the card_in_frame flag from card_obb when present.
35
+ * Returns:
36
+ * - true => card fully in frame
37
+ * - false => card not fully in frame
38
+ * - null => field not present (backward compatibility)
39
+ */
40
+ /**
41
+ * Extracts the framing data from card_obb.
42
+ * STRICT CHECK: Returns true ONLY if card_in_frame is true AND cropped_sides is empty.
43
+ * Returns:
44
+ * - true => card fully in frame (no sides cropped)
45
+ * - false => card not fully in frame OR edges are cropped
46
+ * - null => field not present (backward compatibility)
47
+ */
48
+ export function getCardInFrame(cardObb: any): boolean | null {
49
+ if (!cardObb) return null;
50
+
51
+ // card_obb can be an array of objects or a single object
52
+ const first = Array.isArray(cardObb) ? cardObb[0] : cardObb;
53
+
54
+ if (first && typeof first === 'object' && 'card_in_frame' in first) {
55
+ const isCardInFrame = first.card_in_frame === true;
56
+ const hasCroppedSides = Array.isArray(first.cropped_sides) && first.cropped_sides.length > 0;
57
+
58
+ // If the API explicitly says it's not in frame, OR if it lists cropped edges, reject it.
59
+ if (!isCardInFrame || hasCroppedSides) {
60
+ if (hasCroppedSides) {
61
+ console.warn(`Card is cropped on sides: ${first.cropped_sides.join(', ')}`);
62
+ }
63
+ return false;
64
+ }
65
+
66
+ // If we made it here, card_in_frame is true AND cropped_sides is empty.
67
+ return true;
68
+ }
69
+
70
+ // Backward compatibility check
71
+ if (cardObb && typeof cardObb === 'object' && 'card_in_frame' in cardObb) {
72
+ const value = (cardObb as any).card_in_frame;
73
+ return typeof value === 'boolean' ? value : null;
74
+ }
75
+
76
+ return null;
77
+ }
78
+
79
+ // Compute axis-aligned bounding box from oriented quadrilateral
80
+ function computeAabb(points: Point[]) {
81
+ const xs = points.map(p => p[0]);
82
+ const ys = points.map(p => p[1]);
83
+ const minX = Math.min(...xs);
84
+ const minY = Math.min(...ys);
85
+ const maxX = Math.max(...xs);
86
+ const maxY = Math.max(...ys);
87
+ return { minX, minY, maxX, maxY, width: maxX - minX, height: maxY - minY };
88
+ }
89
+
90
+ // Web-only crop using Canvas; returns dataURL (base64)
91
+ async function cropWeb(uri: string, points: Point[]): Promise<string> {
92
+ return new Promise((resolve, reject) => {
93
+ const img = new Image();
94
+ img.crossOrigin = 'anonymous';
95
+ img.onload = () => {
96
+ const { minX, minY, width, height } = computeAabb(points);
97
+ const canvas = document.createElement('canvas');
98
+ canvas.width = Math.max(1, Math.round(width));
99
+ canvas.height = Math.max(1, Math.round(height));
100
+ const ctx = canvas.getContext('2d');
101
+ if (!ctx) return reject(new Error('Canvas context not available'));
102
+ ctx.drawImage(
103
+ img,
104
+ minX, // sx
105
+ minY, // sy
106
+ width, // sw
107
+ height, // sh
108
+ 0,
109
+ 0,
110
+ canvas.width,
111
+ canvas.height
112
+ );
113
+ resolve(canvas.toDataURL('image/jpeg', 0.92));
114
+ };
115
+ img.onerror = (e) => reject(e);
116
+ img.src = uri;
117
+ });
118
+ }
119
+
120
+ // Fallback: return original for native (no dependency added); caller can still use bbox to draw overlay
121
+ export async function cropByObb(uri: string, cardObb: any): Promise<{ base64?: string; bbox?: { minX: number; minY: number; width: number; height: number } }> {
122
+ try {
123
+ // card_obb format: [ [ [p1,p2,p3,p4], score ] ] — if confidence too low, don't crop (send full image)
124
+ const confidence = getObbConfidence(cardObb);
125
+ if (confidence !== null && confidence < OBB_CONFIDENCE_THRESHOLD) {
126
+ return {};
127
+ }
128
+ const first = Array.isArray(cardObb) ? cardObb[0] : null;
129
+ const points = Array.isArray(first?.[0]) ? (first[0] as Point[]) : null;
130
+ if (!points || points.length !== 4) return {};
131
+
132
+ const { minX, minY, width, height } = computeAabb(points);
133
+
134
+ if (Platform.OS === 'web') {
135
+ const base64 = await cropWeb(uri, points);
136
+ return { base64, bbox: { minX, minY, width, height } };
137
+ }
138
+ // Native: return bbox only; keep base64 undefined
139
+ return { bbox: { minX, minY, width, height } };
140
+ } catch (e) {
141
+ return {};
142
+ }
143
+ }
144
+
145
+
146
+
147
+
148
+ // exemple d'appel :
149
+ export async function cropImageWithBBox(uri: string, bbox: any) {
150
+ // 1️⃣ Récupère la taille originale de l'image
151
+ await RNImage.getSize(uri, (width, height) => {
152
+ console.log("Image originale:", width, height);
153
+ });
154
+
155
+ // // 2️⃣ Suppose que ton bbox vient d'une image affichée dans `displayedSize`
156
+ // const scaleX = originalWidth / displayedSize.width;
157
+ // const scaleY = originalHeight / displayedSize.height;
158
+
159
+ // 3️⃣ Convertir le bbox à la taille réelle scale 0.10 = 10%
160
+ const crop = {
161
+ originX: bbox.minX,
162
+ originY: bbox.minY,
163
+ width: bbox.width,
164
+ height: bbox.height,
165
+ };
166
+
167
+ // 4️⃣ Appliquer le crop
168
+ // @ts-ignore - manipulateAsync is deprecated but still functional, new API (useImageManipulator) is a React hook and not suitable for utility functions
169
+ const result = await ImageManipulator.manipulateAsync(
170
+ uri,
171
+ [{ crop }],
172
+ { compress: 1, format: ImageManipulator.SaveFormat.PNG }
173
+ );
174
+
175
+ console.log("Image recadrée:", result.uri);
176
+ return result.uri;
177
+ }
178
+
179
+ // Fonction pour rogner avec une tolérance de 10% autour du bbox
180
+ export async function cropImageWithBBoxWithTolerance(uri: string, bbox: any, tolerance: number = 0.1): Promise<string> {
181
+ console.log("cropImageWithBBoxWithTolerance", JSON.stringify(truncateFields({ uri, bbox, tolerance }), null, 2));
182
+
183
+ return new Promise<string>((resolve, reject) => {
184
+ let isResolved = false;
185
+
186
+ // Timeout de sécurité (15 secondes)
187
+ const timeout = setTimeout(() => {
188
+ if (!isResolved) {
189
+ isResolved = true;
190
+ console.warn("Timeout lors du rognage avec tolérance, utilisation de l'image originale");
191
+ resolve(uri); // Retourner l'URI original en cas de timeout
192
+ }
193
+ }, 15000);
194
+
195
+ // 1️⃣ Récupère la taille originale de l'image
196
+ RNImage.getSize(uri, (imageWidth, imageHeight) => {
197
+ if (isResolved) return;
198
+
199
+ // 2️⃣ Calculer la tolérance en pixels (10% de chaque côté)
200
+ const toleranceX = bbox.width * tolerance;
201
+ const toleranceY = bbox.height * tolerance;
202
+
203
+ // 3️⃣ Ajuster le bbox avec la tolérance
204
+ // Calculer les nouvelles coordonnées avec tolérance
205
+ const newMinX = Math.max(0, bbox.minX - toleranceX);
206
+ const newMinY = Math.max(0, bbox.minY - toleranceY);
207
+ const newMaxX = Math.min(imageWidth, bbox.minX + bbox.width + toleranceX);
208
+ const newMaxY = Math.min(imageHeight, bbox.minY + bbox.height + toleranceY);
209
+
210
+ // Calculer la largeur et hauteur finales
211
+ const finalWidth = newMaxX - newMinX;
212
+ const finalHeight = newMaxY - newMinY;
213
+
214
+ const crop = {
215
+ originX: newMinX,
216
+ originY: newMinY,
217
+ width: finalWidth,
218
+ height: finalHeight,
219
+ };
220
+
221
+ logger.log("cropImageWithBBoxWithTolerance - crop params", JSON.stringify(truncateFields({ uri, crop, tolerance, imageWidth, imageHeight }), null, 2));
222
+
223
+ // 4️⃣ Appliquer le crop avec tolérance
224
+ // @ts-ignore - manipulateAsync is deprecated but still functional, new API (useImageManipulator) is a React hook and not suitable for utility functions
225
+ ImageManipulator.manipulateAsync(
226
+ uri,
227
+ [{ crop }],
228
+ { compress: 0.95, format: ImageManipulator.SaveFormat.JPEG }
229
+ )
230
+ .then((result) => {
231
+ if (isResolved) return;
232
+ isResolved = true;
233
+ clearTimeout(timeout);
234
+ console.log("Image recadrée avec tolérance:", result.uri);
235
+ resolve(result.uri);
236
+ })
237
+ .catch((error) => {
238
+ if (isResolved) return;
239
+ isResolved = true;
240
+ clearTimeout(timeout);
241
+ console.error("Erreur lors du rognage avec tolérance:", error);
242
+ // En cas d'erreur, retourner l'URI original au lieu de rejeter
243
+ resolve(uri);
244
+ });
245
+ }, (error) => {
246
+ if (isResolved) return;
247
+ isResolved = true;
248
+ clearTimeout(timeout);
249
+ console.error("Erreur lors de la récupération de la taille de l'image:", error);
250
+ // En cas d'erreur, retourner l'URI original au lieu de rejeter
251
+ resolve(uri);
252
+ });
253
+ });
254
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Checks if the current environment is a mobile web browser based on User Agent.
3
+ * This can be used to distinguish between desktop web and mobile web.
4
+ */
5
+ export const isMobileWeb = (): boolean => {
6
+ if (typeof window === 'undefined' || !window.navigator) {
7
+ return false;
8
+ }
9
+ const userAgent = window.navigator.userAgent;
10
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
11
+ };
@@ -0,0 +1,62 @@
1
+ import { GovernmentDocumentType } from "../types/KYC.types";
2
+
3
+ export const getDocumentTypeInfo = (docType: GovernmentDocumentType) => {
4
+ switch (docType) {
5
+ case 'identity_card':
6
+ return {
7
+ name: { en: 'ID Card', fr: 'Carte d\'identité' },
8
+ icon: '🆔',
9
+ instructions: { en: 'Position your ID card within the frame', fr: 'Positionnez votre carte d\'identité dans le cadre' }
10
+ };
11
+ case 'passport':
12
+ return {
13
+ name: { en: 'Passport', fr: 'Passeport' },
14
+ icon: '📘',
15
+ instructions: { en: 'Position your passport within the frame', fr: 'Positionnez votre passeport dans le cadre' }
16
+ };
17
+ case 'drivers_licence':
18
+ return {
19
+ name: { en: 'Driver\'s License', fr: 'Permis de conduire' },
20
+ icon: '🚗',
21
+ instructions: { en: 'Position your driver\'s license within the frame', fr: 'Positionnez votre permis de conduire dans le cadre' }
22
+ };
23
+ case 'permanent_residence':
24
+ return {
25
+ name: { en: 'Residence Permit', fr: 'Permis de séjour' },
26
+ icon: '🏠',
27
+ instructions: { en: 'Position your residence permit within the frame', fr: 'Positionnez votre permis de séjour dans le cadre' }
28
+ };
29
+ case 'national_id':
30
+ return {
31
+ name: { en: 'National ID', fr: 'Carte nationale d\'identité' },
32
+ icon: '🏛️',
33
+ instructions: { en: 'Position your national ID within the frame', fr: 'Positionnez votre carte nationale d\'identité dans le cadre' }
34
+ };
35
+ case 'health_insurance_card':
36
+ return {
37
+ name: { en: 'Health Insurance Card', fr: 'Carte d\'assurance santé' },
38
+ icon: '🗳️',
39
+ instructions: { en: 'Position your health insurance card within the frame', fr: 'Positionnez votre carte d\'assurance santé dans le cadre' }
40
+ };
41
+ case 'work_permit':
42
+ return {
43
+ name: { en: 'Work Permit', fr: 'Permis de travail' },
44
+ icon: '🎖️',
45
+ instructions: { en: 'Position your work permit within the frame', fr: 'Positionnez votre permis de travail dans le cadre' }
46
+ };
47
+
48
+ case 'passport':
49
+ return {
50
+ name: { en: 'Passport', fr: 'Passeport' },
51
+ icon: '💼',
52
+ instructions: { en: 'Position your passport within the frame', fr: 'Positionnez votre passeport dans le cadre' }
53
+ };
54
+
55
+ default:
56
+ return {
57
+ name: { en: 'Government Document', fr: 'Document gouvernemental' },
58
+ icon: '📄',
59
+ instructions: { en: 'Position your document within the frame', fr: 'Positionnez votre document dans le cadre' }
60
+ };
61
+ }
62
+ };
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Logger utility that only logs in development mode
3
+ * In production, all logs are suppressed
4
+ */
5
+
6
+ const isProduction = (): boolean => {
7
+ // Check for React Native __DEV__ flag
8
+ if (typeof __DEV__ !== 'undefined') {
9
+ return !__DEV__;
10
+ }
11
+ // Check for Node.js environment
12
+ if (typeof process !== 'undefined' && process.env) {
13
+ return process.env.NODE_ENV === 'production';
14
+ }
15
+ // Default to development mode if we can't determine
16
+ return false;
17
+ };
18
+
19
+ const shouldLog = !isProduction();
20
+
21
+ export const logger = {
22
+ log: (...args: any[]) => {
23
+ if (shouldLog) {
24
+ console.log(...args);
25
+ }
26
+ },
27
+ error: (...args: any[]) => {
28
+ if (shouldLog) {
29
+ console.error(...args);
30
+ }
31
+ },
32
+ warn: (...args: any[]) => {
33
+ if (shouldLog) {
34
+ console.warn(...args);
35
+ }
36
+ },
37
+ info: (...args: any[]) => {
38
+ if (shouldLog) {
39
+ console.info(...args);
40
+ }
41
+ },
42
+ debug: (...args: any[]) => {
43
+ if (shouldLog) {
44
+ console.debug(...args);
45
+ }
46
+ },
47
+ };
48
+
@@ -0,0 +1,63 @@
1
+ export async function pathToBase64(uri: string): Promise<string> {
2
+ if (!uri) throw new Error('pathToBase64: uri is required');
3
+
4
+ // If already a data URI, return the base64 part
5
+ if (uri.startsWith('data:')) {
6
+ const commaIndex = uri.indexOf(',');
7
+ return commaIndex !== -1 ? uri.substring(commaIndex + 1) : uri;
8
+ }
9
+
10
+ // Try Expo FileSystem if available (React Native + Expo)
11
+ try {
12
+ // Try legacy API from expo-file-system/legacy first (Expo SDK 54+)
13
+ // This is the recommended way to avoid deprecation warnings
14
+ try {
15
+ // @ts-ignore - legacy export might not be in types
16
+ const LegacyFileSystem = require('expo-file-system');
17
+ if (LegacyFileSystem?.readAsStringAsync) {
18
+ const base64 = await LegacyFileSystem.readAsStringAsync(uri, { encoding: LegacyFileSystem.EncodingType.Base64 });
19
+ if (base64) return base64;
20
+ }
21
+ } catch (legacyError) {
22
+ // Legacy not available (SDK 53 or earlier), try regular import
23
+ const errorMessage = legacyError instanceof Error ? legacyError.message : String(legacyError);
24
+ if (errorMessage.includes('Cannot find module') || errorMessage.includes('Module not found')) {
25
+ // SDK 53 or earlier - use regular import as fallback
26
+ // @ts-ignore
27
+ const FileSystem = require('expo-file-system');
28
+ if (FileSystem?.readAsStringAsync) {
29
+ const base64 = await FileSystem.readAsStringAsync(uri, { encoding: FileSystem.EncodingType.Base64 });
30
+ if (base64) return base64;
31
+ }
32
+ }
33
+ // If it's a different error, continue to other strategies
34
+ }
35
+ } catch (_) {
36
+ // All FileSystem APIs failed, fall back to other strategies (fetch + FileReader)
37
+ }
38
+
39
+ // Generic fetch + FileReader strategy (works on web; often works on RN for file:// URIs)
40
+ try {
41
+ const response = await fetch(uri);
42
+ const blob = await response.blob();
43
+ const dataUrl = await new Promise<string>((resolve, reject) => {
44
+ const reader = new FileReader();
45
+ reader.onloadend = () => {
46
+ if (typeof reader.result === 'string') resolve(reader.result);
47
+ else reject(new Error('Failed to convert blob to data URL'));
48
+ };
49
+ reader.onerror = reject;
50
+ reader.readAsDataURL(blob);
51
+ });
52
+ const commaIndex = dataUrl.indexOf(',');
53
+ return commaIndex !== -1 ? dataUrl.substring(commaIndex + 1) : dataUrl;
54
+ } catch (err) {
55
+ // continue to final error
56
+ }
57
+
58
+ throw new Error('pathToBase64: unable to convert uri to base64');
59
+ }
60
+
61
+ export default pathToBase64;
62
+
63
+
@@ -0,0 +1,86 @@
1
+ import { Platform, Alert } from 'react-native';
2
+
3
+ export interface AlertButton {
4
+ text?: string;
5
+ onPress?: () => void;
6
+ style?: 'default' | 'cancel' | 'destructive';
7
+ }
8
+
9
+ /**
10
+ * Platform-aware alert helper that works on both native and web platforms
11
+ * On web, uses window.confirm/window.alert since Alert.alert is not supported
12
+ * On native, uses the standard Alert.alert
13
+ */
14
+ export const showAlert = (
15
+ title: string,
16
+ message?: string,
17
+ buttons?: AlertButton[]
18
+ ): void => {
19
+ if (Platform.OS === 'web') {
20
+ // Web implementation using native browser dialogs
21
+ const fullMessage = message ? `${title}\n\n${message}` : title;
22
+
23
+ if (buttons && buttons.length > 1) {
24
+
25
+ // Multiple buttons - use confirm dialog
26
+ const confirmed = window.confirm(fullMessage);
27
+
28
+ if (confirmed) {
29
+ // Find and call the primary/positive button callback
30
+ const confirmButton = buttons.find(
31
+ btn => btn.style !== 'cancel' && btn.onPress
32
+ );
33
+ confirmButton?.onPress?.();
34
+ } else {
35
+ // Find and call the cancel button callback
36
+ const cancelButton = buttons.find(btn => btn.style === 'cancel');
37
+ cancelButton?.onPress?.();
38
+ }
39
+ } else if (buttons && buttons.length === 1) {
40
+ // Single button - use alert dialog
41
+ window.alert(fullMessage);
42
+ buttons[0]?.onPress?.();
43
+ } else {
44
+ // No buttons - just show alert
45
+ window.alert(fullMessage);
46
+ }
47
+ } else {
48
+ // Native implementation - use standard Alert.alert
49
+ Alert.alert(title, message, buttons);
50
+ }
51
+ };
52
+
53
+ /**
54
+ * Simplified confirm dialog for yes/no scenarios
55
+ */
56
+ export const showConfirm = (
57
+ title: string,
58
+ message: string,
59
+ onConfirm: () => void,
60
+ onCancel?: () => void
61
+ ): void => {
62
+ showAlert(title, message, [
63
+ {
64
+ text: 'Cancel',
65
+ style: 'cancel',
66
+ onPress: onCancel,
67
+ },
68
+ {
69
+ text: 'OK',
70
+ onPress: onConfirm,
71
+ },
72
+ ]);
73
+ };
74
+
75
+ /**
76
+ * Simple alert with just an OK button
77
+ */
78
+ export const showSimpleAlert = (title: string, message?: string, onPress?: () => void): void => {
79
+ showAlert(title, message, [
80
+ {
81
+ text: 'OK',
82
+ onPress,
83
+ },
84
+ ]);
85
+ };
86
+
@@ -0,0 +1,3 @@
1
+ export function removeDuplicates(arr: string[]): string[] {
2
+ return [...new Set(arr)];
3
+ }