@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.
- package/README.md +278 -0
- package/android/build/.transforms/f62cb96b2d1f78ca96ab35932dd530dc/results.bin +1 -0
- package/android/build/.transforms/f62cb96b2d1f78ca96ab35932dd530dc/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/generated/source/buildConfig/debug/kyc/transfergratis/com/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +69 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +1 -0
- package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_file_paths.xml.flat +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/transfergratis-react-native-sdk_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/kyc/transfergratis/com/BuildConfig.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +3 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +110 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +69 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/file_paths.xml +15 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +101 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/transfergratis-react-native-sdk_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
- package/android/build.gradle +43 -0
- package/android/src/main/AndroidManifest.xml +49 -0
- package/android/src/main/java/kyc/transfergratis/com/TransfergratisSdkModule.kt +131 -0
- package/android/src/main/java/kyc/transfergratis/com/TransfergratisSdkView.kt +161 -0
- package/android/src/main/res/xml/file_paths.xml +15 -0
- package/build/App.d.ts +3 -0
- package/build/App.d.ts.map +1 -0
- package/build/App.js +9 -0
- package/build/App.js.map +1 -0
- package/build/TransfergratisSdk.types.d.ts +32 -0
- package/build/TransfergratisSdk.types.d.ts.map +1 -0
- package/build/TransfergratisSdk.types.js +2 -0
- package/build/TransfergratisSdk.types.js.map +1 -0
- package/build/TransfergratisSdkModule.d.ts +21 -0
- package/build/TransfergratisSdkModule.d.ts.map +1 -0
- package/build/TransfergratisSdkModule.js +4 -0
- package/build/TransfergratisSdkModule.js.map +1 -0
- package/build/TransfergratisSdkModule.web.d.ts +20 -0
- package/build/TransfergratisSdkModule.web.d.ts.map +1 -0
- package/build/TransfergratisSdkModule.web.js +25 -0
- package/build/TransfergratisSdkModule.web.js.map +1 -0
- package/build/TransfergratisSdkView.d.ts +4 -0
- package/build/TransfergratisSdkView.d.ts.map +1 -0
- package/build/TransfergratisSdkView.js +7 -0
- package/build/TransfergratisSdkView.js.map +1 -0
- package/build/TransfergratisSdkView.web.d.ts +4 -0
- package/build/TransfergratisSdkView.web.d.ts.map +1 -0
- package/build/TransfergratisSdkView.web.js +11 -0
- package/build/TransfergratisSdkView.web.js.map +1 -0
- package/build/api/axios.d.ts +30 -0
- package/build/api/axios.d.ts.map +1 -0
- package/build/api/axios.js +92 -0
- package/build/api/axios.js.map +1 -0
- package/build/components/Camera/index.d.ts +2 -0
- package/build/components/Camera/index.d.ts.map +1 -0
- package/build/components/Camera/index.js +2 -0
- package/build/components/Camera/index.js.map +1 -0
- package/build/components/Camera/index.web.d.ts +2 -0
- package/build/components/Camera/index.web.d.ts.map +1 -0
- package/build/components/Camera/index.web.js +2 -0
- package/build/components/Camera/index.web.js.map +1 -0
- package/build/components/Camera/types.d.ts +2 -0
- package/build/components/Camera/types.d.ts.map +1 -0
- package/build/components/Camera/types.js +2 -0
- package/build/components/Camera/types.js.map +1 -0
- package/build/components/ConfigurableKYCFlow.d.ts +11 -0
- package/build/components/ConfigurableKYCFlow.d.ts.map +1 -0
- package/build/components/ConfigurableKYCFlow.js +257 -0
- package/build/components/ConfigurableKYCFlow.js.map +1 -0
- package/build/components/CustomCameraExample.d.ts +10 -0
- package/build/components/CustomCameraExample.d.ts.map +1 -0
- package/build/components/CustomCameraExample.js +232 -0
- package/build/components/CustomCameraExample.js.map +1 -0
- package/build/components/EnhancedCameraView.d.ts +4 -0
- package/build/components/EnhancedCameraView.d.ts.map +1 -0
- package/build/components/EnhancedCameraView.js +393 -0
- package/build/components/EnhancedCameraView.js.map +1 -0
- package/build/components/EnhancedCameraView.web.d.ts +4 -0
- package/build/components/EnhancedCameraView.web.d.ts.map +1 -0
- package/build/components/EnhancedCameraView.web.js +499 -0
- package/build/components/EnhancedCameraView.web.js.map +1 -0
- package/build/components/FileUpload.d.ts +13 -0
- package/build/components/FileUpload.d.ts.map +1 -0
- package/build/components/FileUpload.js +216 -0
- package/build/components/FileUpload.js.map +1 -0
- package/build/components/KYCElementRenderer.d.ts +14 -0
- package/build/components/KYCElementRenderer.d.ts.map +1 -0
- package/build/components/KYCElementRenderer.js +31 -0
- package/build/components/KYCElementRenderer.js.map +1 -0
- package/build/components/KYCElements/AdditionalDocumentsTemplate.d.ts +12 -0
- package/build/components/KYCElements/AdditionalDocumentsTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/AdditionalDocumentsTemplate.js +283 -0
- package/build/components/KYCElements/AdditionalDocumentsTemplate.js.map +1 -0
- package/build/components/KYCElements/CameraCapture.d.ts +11 -0
- package/build/components/KYCElements/CameraCapture.d.ts.map +1 -0
- package/build/components/KYCElements/CameraCapture.js +219 -0
- package/build/components/KYCElements/CameraCapture.js.map +1 -0
- package/build/components/KYCElements/CompletionStep.d.ts +10 -0
- package/build/components/KYCElements/CompletionStep.d.ts.map +1 -0
- package/build/components/KYCElements/CompletionStep.js +147 -0
- package/build/components/KYCElements/CompletionStep.js.map +1 -0
- package/build/components/KYCElements/CountrySelection.d.ts +11 -0
- package/build/components/KYCElements/CountrySelection.d.ts.map +1 -0
- package/build/components/KYCElements/CountrySelection.js +147 -0
- package/build/components/KYCElements/CountrySelection.js.map +1 -0
- package/build/components/KYCElements/CountrySelectionTemplate.d.ts +15 -0
- package/build/components/KYCElements/CountrySelectionTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/CountrySelectionTemplate.js +438 -0
- package/build/components/KYCElements/CountrySelectionTemplate.js.map +1 -0
- package/build/components/KYCElements/DocumentTypeSelection.d.ts +11 -0
- package/build/components/KYCElements/DocumentTypeSelection.d.ts.map +1 -0
- package/build/components/KYCElements/DocumentTypeSelection.js +143 -0
- package/build/components/KYCElements/DocumentTypeSelection.js.map +1 -0
- package/build/components/KYCElements/EmailVerificationTemplate.d.ts +12 -0
- package/build/components/KYCElements/EmailVerificationTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/EmailVerificationTemplate.js +212 -0
- package/build/components/KYCElements/EmailVerificationTemplate.js.map +1 -0
- package/build/components/KYCElements/FileUpload.d.ts +11 -0
- package/build/components/KYCElements/FileUpload.d.ts.map +1 -0
- package/build/components/KYCElements/FileUpload.js +268 -0
- package/build/components/KYCElements/FileUpload.js.map +1 -0
- package/build/components/KYCElements/FileUploadTemplate.d.ts +12 -0
- package/build/components/KYCElements/FileUploadTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/FileUploadTemplate.js +331 -0
- package/build/components/KYCElements/FileUploadTemplate.js.map +1 -0
- package/build/components/KYCElements/IDCardCapture.d.ts +19 -0
- package/build/components/KYCElements/IDCardCapture.d.ts.map +1 -0
- package/build/components/KYCElements/IDCardCapture.js +877 -0
- package/build/components/KYCElements/IDCardCapture.js.map +1 -0
- package/build/components/KYCElements/InitializationStep.d.ts +5 -0
- package/build/components/KYCElements/InitializationStep.d.ts.map +1 -0
- package/build/components/KYCElements/InitializationStep.js +41 -0
- package/build/components/KYCElements/InitializationStep.js.map +1 -0
- package/build/components/KYCElements/LocationCaptureTemplate.d.ts +20 -0
- package/build/components/KYCElements/LocationCaptureTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/LocationCaptureTemplate.js +318 -0
- package/build/components/KYCElements/LocationCaptureTemplate.js.map +1 -0
- package/build/components/KYCElements/OrientationVideoCapture.d.ts +14 -0
- package/build/components/KYCElements/OrientationVideoCapture.d.ts.map +1 -0
- package/build/components/KYCElements/OrientationVideoCapture.js +534 -0
- package/build/components/KYCElements/OrientationVideoCapture.js.map +1 -0
- package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts +14 -0
- package/build/components/KYCElements/OrientationVideoCaptureEnhanced.d.ts.map +1 -0
- package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js +504 -0
- package/build/components/KYCElements/OrientationVideoCaptureEnhanced.js.map +1 -0
- package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts +14 -0
- package/build/components/KYCElements/OrientationVideoCaptureFinal.d.ts.map +1 -0
- package/build/components/KYCElements/OrientationVideoCaptureFinal.js +430 -0
- package/build/components/KYCElements/OrientationVideoCaptureFinal.js.map +1 -0
- package/build/components/KYCElements/PersonalInformationTemplate.d.ts +12 -0
- package/build/components/KYCElements/PersonalInformationTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/PersonalInformationTemplate.js +120 -0
- package/build/components/KYCElements/PersonalInformationTemplate.js.map +1 -0
- package/build/components/KYCElements/PhoneVerificationTemplate.d.ts +12 -0
- package/build/components/KYCElements/PhoneVerificationTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/PhoneVerificationTemplate.js +185 -0
- package/build/components/KYCElements/PhoneVerificationTemplate.js.map +1 -0
- package/build/components/KYCElements/ReviewSubmitTemplate.d.ts +12 -0
- package/build/components/KYCElements/ReviewSubmitTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/ReviewSubmitTemplate.js +171 -0
- package/build/components/KYCElements/ReviewSubmitTemplate.js.map +1 -0
- package/build/components/KYCElements/SelfieCapture.d.ts +11 -0
- package/build/components/KYCElements/SelfieCapture.d.ts.map +1 -0
- package/build/components/KYCElements/SelfieCapture.js +236 -0
- package/build/components/KYCElements/SelfieCapture.js.map +1 -0
- package/build/components/KYCElements/SelfieCaptureTemplate.d.ts +16 -0
- package/build/components/KYCElements/SelfieCaptureTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/SelfieCaptureTemplate.js +568 -0
- package/build/components/KYCElements/SelfieCaptureTemplate.js.map +1 -0
- package/build/components/KYCElements/VerificationProgressTemplate.d.ts +12 -0
- package/build/components/KYCElements/VerificationProgressTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/VerificationProgressTemplate.js +195 -0
- package/build/components/KYCElements/VerificationProgressTemplate.js.map +1 -0
- package/build/components/KYCElements/VerificationStep.d.ts +10 -0
- package/build/components/KYCElements/VerificationStep.d.ts.map +1 -0
- package/build/components/KYCElements/VerificationStep.js +199 -0
- package/build/components/KYCElements/VerificationStep.js.map +1 -0
- package/build/components/KYCElements/WelcomeTemplate.d.ts +12 -0
- package/build/components/KYCElements/WelcomeTemplate.d.ts.map +1 -0
- package/build/components/KYCElements/WelcomeTemplate.js +244 -0
- package/build/components/KYCElements/WelcomeTemplate.js.map +1 -0
- package/build/components/KYCExample.d.ts +3 -0
- package/build/components/KYCExample.d.ts.map +1 -0
- package/build/components/KYCExample.js +247 -0
- package/build/components/KYCExample.js.map +1 -0
- package/build/components/KYCFlow.d.ts +3 -0
- package/build/components/KYCFlow.d.ts.map +1 -0
- package/build/components/KYCFlow.js +308 -0
- package/build/components/KYCFlow.js.map +1 -0
- package/build/components/NativeCameraView.d.ts +11 -0
- package/build/components/NativeCameraView.d.ts.map +1 -0
- package/build/components/NativeCameraView.js +27 -0
- package/build/components/NativeCameraView.js.map +1 -0
- package/build/components/OverLay/IdCard.d.ts +4 -0
- package/build/components/OverLay/IdCard.d.ts.map +1 -0
- package/build/components/OverLay/IdCard.js +185 -0
- package/build/components/OverLay/IdCard.js.map +1 -0
- package/build/components/OverLay/SelfieOverlay.d.ts +4 -0
- package/build/components/OverLay/SelfieOverlay.d.ts.map +1 -0
- package/build/components/OverLay/SelfieOverlay.js +169 -0
- package/build/components/OverLay/SelfieOverlay.js.map +1 -0
- package/build/components/OverLay/StepOverlay.d.ts +9 -0
- package/build/components/OverLay/StepOverlay.d.ts.map +1 -0
- package/build/components/OverLay/StepOverlay.js +53 -0
- package/build/components/OverLay/StepOverlay.js.map +1 -0
- package/build/components/OverLay/type.d.ts +98 -0
- package/build/components/OverLay/type.d.ts.map +1 -0
- package/build/components/OverLay/type.js +2 -0
- package/build/components/OverLay/type.js.map +1 -0
- package/build/components/ProgressIndicator.d.ts +8 -0
- package/build/components/ProgressIndicator.d.ts.map +1 -0
- package/build/components/ProgressIndicator.js +48 -0
- package/build/components/ProgressIndicator.js.map +1 -0
- package/build/components/SelfieCapture.d.ts +3 -0
- package/build/components/SelfieCapture.d.ts.map +1 -0
- package/build/components/SelfieCapture.js +197 -0
- package/build/components/SelfieCapture.js.map +1 -0
- package/build/components/SimpleExample.d.ts +3 -0
- package/build/components/SimpleExample.d.ts.map +1 -0
- package/build/components/SimpleExample.js +89 -0
- package/build/components/SimpleExample.js.map +1 -0
- package/build/components/Svgs/GpsIcon.d.ts +3 -0
- package/build/components/Svgs/GpsIcon.d.ts.map +1 -0
- package/build/components/Svgs/GpsIcon.js +9 -0
- package/build/components/Svgs/GpsIcon.js.map +1 -0
- package/build/components/Svgs/Schield.d.ts +3 -0
- package/build/components/Svgs/Schield.d.ts.map +1 -0
- package/build/components/Svgs/Schield.js +22 -0
- package/build/components/Svgs/Schield.js.map +1 -0
- package/build/components/Svgs/directionArrow.gif +0 -0
- package/build/components/Svgs/frontSelfieIcon.d.ts +3 -0
- package/build/components/Svgs/frontSelfieIcon.d.ts.map +1 -0
- package/build/components/Svgs/frontSelfieIcon.js +11 -0
- package/build/components/Svgs/frontSelfieIcon.js.map +1 -0
- package/build/components/Svgs/scanningLine.d.ts +9 -0
- package/build/components/Svgs/scanningLine.d.ts.map +1 -0
- package/build/components/Svgs/scanningLine.js +61 -0
- package/build/components/Svgs/scanningLine.js.map +1 -0
- package/build/components/Svgs/sideSelfieIcon.d.ts +3 -0
- package/build/components/Svgs/sideSelfieIcon.d.ts.map +1 -0
- package/build/components/Svgs/sideSelfieIcon.js +9 -0
- package/build/components/Svgs/sideSelfieIcon.js.map +1 -0
- package/build/components/TemplateKYCExample.d.ts +22 -0
- package/build/components/TemplateKYCExample.d.ts.map +1 -0
- package/build/components/TemplateKYCExample.js +155 -0
- package/build/components/TemplateKYCExample.js.map +1 -0
- package/build/components/TemplateKYCFlowRefactored.d.ts +26 -0
- package/build/components/TemplateKYCFlowRefactored.d.ts.map +1 -0
- package/build/components/TemplateKYCFlowRefactored.js +359 -0
- package/build/components/TemplateKYCFlowRefactored.js.map +1 -0
- package/build/components/VisionCameraView.d.ts +22 -0
- package/build/components/VisionCameraView.d.ts.map +1 -0
- package/build/components/VisionCameraView.js +142 -0
- package/build/components/VisionCameraView.js.map +1 -0
- package/build/components/example/CameraCaptureEx.d.ts +4 -0
- package/build/components/example/CameraCaptureEx.d.ts.map +1 -0
- package/build/components/example/CameraCaptureEx.js +219 -0
- package/build/components/example/CameraCaptureEx.js.map +1 -0
- package/build/components/example/CameraCaptureExAdvanced.d.ts +3 -0
- package/build/components/example/CameraCaptureExAdvanced.d.ts.map +1 -0
- package/build/components/example/CameraCaptureExAdvanced.js +229 -0
- package/build/components/example/CameraCaptureExAdvanced.js.map +1 -0
- package/build/components/example/CameraCaptureExScan.d.ts +3 -0
- package/build/components/example/CameraCaptureExScan.d.ts.map +1 -0
- package/build/components/example/CameraCaptureExScan.js +213 -0
- package/build/components/example/CameraCaptureExScan.js.map +1 -0
- package/build/components/example/CameraCaptureExSimple.d.ts +3 -0
- package/build/components/example/CameraCaptureExSimple.d.ts.map +1 -0
- package/build/components/example/CameraCaptureExSimple.js +138 -0
- package/build/components/example/CameraCaptureExSimple.js.map +1 -0
- package/build/components/example/DynamicTemplateExample.d.ts +10 -0
- package/build/components/example/DynamicTemplateExample.d.ts.map +1 -0
- package/build/components/example/DynamicTemplateExample.js +241 -0
- package/build/components/example/DynamicTemplateExample.js.map +1 -0
- package/build/components/example/OrientationVideoExample.d.ts +4 -0
- package/build/components/example/OrientationVideoExample.d.ts.map +1 -0
- package/build/components/example/OrientationVideoExample.js +325 -0
- package/build/components/example/OrientationVideoExample.js.map +1 -0
- package/build/components/example/SelfieCaptureEx.d.ts +4 -0
- package/build/components/example/SelfieCaptureEx.d.ts.map +1 -0
- package/build/components/example/SelfieCaptureEx.js +238 -0
- package/build/components/example/SelfieCaptureEx.js.map +1 -0
- package/build/components/ui/Button.d.ts +37 -0
- package/build/components/ui/Button.d.ts.map +1 -0
- package/build/components/ui/Button.js +194 -0
- package/build/components/ui/Button.js.map +1 -0
- package/build/components/ui/ButtonExample.d.ts +4 -0
- package/build/components/ui/ButtonExample.d.ts.map +1 -0
- package/build/components/ui/ButtonExample.js +209 -0
- package/build/components/ui/ButtonExample.js.map +1 -0
- package/build/components/ui/ButtonStyles.d.ts +521 -0
- package/build/components/ui/ButtonStyles.d.ts.map +1 -0
- package/build/components/ui/ButtonStyles.js +429 -0
- package/build/components/ui/ButtonStyles.js.map +1 -0
- package/build/config/KYCConfig.d.ts +14 -0
- package/build/config/KYCConfig.d.ts.map +1 -0
- package/build/config/KYCConfig.js +26 -0
- package/build/config/KYCConfig.js.map +1 -0
- package/build/config/KYCConfigs.d.ts +7 -0
- package/build/config/KYCConfigs.d.ts.map +1 -0
- package/build/config/KYCConfigs.js +516 -0
- package/build/config/KYCConfigs.js.map +1 -0
- package/build/config/allowedDomains.d.ts +30 -0
- package/build/config/allowedDomains.d.ts.map +1 -0
- package/build/config/allowedDomains.js +112 -0
- package/build/config/allowedDomains.js.map +1 -0
- package/build/config/countriesData.d.ts +3 -0
- package/build/config/countriesData.d.ts.map +1 -0
- package/build/config/countriesData.js +80 -0
- package/build/config/countriesData.js.map +1 -0
- package/build/config/region_mapping.d.ts +3 -0
- package/build/config/region_mapping.d.ts.map +1 -0
- package/build/config/region_mapping.js +736 -0
- package/build/config/region_mapping.js.map +1 -0
- package/build/hooks/useI18n.d.ts +11 -0
- package/build/hooks/useI18n.d.ts.map +1 -0
- package/build/hooks/useI18n.js +37 -0
- package/build/hooks/useI18n.js.map +1 -0
- package/build/hooks/useKYC.d.ts +15 -0
- package/build/hooks/useKYC.d.ts.map +1 -0
- package/build/hooks/useKYC.js +103 -0
- package/build/hooks/useKYC.js.map +1 -0
- package/build/hooks/useKYCFlow.d.ts +3 -0
- package/build/hooks/useKYCFlow.d.ts.map +1 -0
- package/build/hooks/useKYCFlow.js +221 -0
- package/build/hooks/useKYCFlow.js.map +1 -0
- package/build/hooks/useLocation.d.ts +32 -0
- package/build/hooks/useLocation.d.ts.map +1 -0
- package/build/hooks/useLocation.js +165 -0
- package/build/hooks/useLocation.js.map +1 -0
- package/build/hooks/useOrientationVideo.d.ts +10 -0
- package/build/hooks/useOrientationVideo.d.ts.map +1 -0
- package/build/hooks/useOrientationVideo.js +118 -0
- package/build/hooks/useOrientationVideo.js.map +1 -0
- package/build/hooks/useRealtimeVerifier.d.ts +28 -0
- package/build/hooks/useRealtimeVerifier.d.ts.map +1 -0
- package/build/hooks/useRealtimeVerifier.js +91 -0
- package/build/hooks/useRealtimeVerifier.js.map +1 -0
- package/build/hooks/useTemplateKYCFlow.d.ts +48 -0
- package/build/hooks/useTemplateKYCFlow.d.ts.map +1 -0
- package/build/hooks/useTemplateKYCFlow.js +910 -0
- package/build/hooks/useTemplateKYCFlow.js.map +1 -0
- package/build/hooks/useTemplateLoader.d.ts +14 -0
- package/build/hooks/useTemplateLoader.d.ts.map +1 -0
- package/build/hooks/useTemplateLoader.js +85 -0
- package/build/hooks/useTemplateLoader.js.map +1 -0
- package/build/i18n/en/index.d.ts +233 -0
- package/build/i18n/en/index.d.ts.map +1 -0
- package/build/i18n/en/index.js +261 -0
- package/build/i18n/en/index.js.map +1 -0
- package/build/i18n/fr/index.d.ts +219 -0
- package/build/i18n/fr/index.d.ts.map +1 -0
- package/build/i18n/fr/index.js +246 -0
- package/build/i18n/fr/index.js.map +1 -0
- package/build/i18n/index.d.ts +10 -0
- package/build/i18n/index.d.ts.map +1 -0
- package/build/i18n/index.js +56 -0
- package/build/i18n/index.js.map +1 -0
- package/build/i18n/types.d.ts +162 -0
- package/build/i18n/types.d.ts.map +1 -0
- package/build/i18n/types.js +3 -0
- package/build/i18n/types.js.map +1 -0
- package/build/i18n/usage-example.d.ts +4 -0
- package/build/i18n/usage-example.d.ts.map +1 -0
- package/build/i18n/usage-example.js +189 -0
- package/build/i18n/usage-example.js.map +1 -0
- package/build/index.d.ts +11 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +17 -0
- package/build/index.js.map +1 -0
- package/build/modules/api/CardAuthentification.d.ts +72 -0
- package/build/modules/api/CardAuthentification.d.ts.map +1 -0
- package/build/modules/api/CardAuthentification.js +487 -0
- package/build/modules/api/CardAuthentification.js.map +1 -0
- package/build/modules/api/KYCService.d.ts +116 -0
- package/build/modules/api/KYCService.d.ts.map +1 -0
- package/build/modules/api/KYCService.js +526 -0
- package/build/modules/api/KYCService.js.map +1 -0
- package/build/modules/api/SelfieVerification.d.ts +5 -0
- package/build/modules/api/SelfieVerification.d.ts.map +1 -0
- package/build/modules/api/SelfieVerification.js +25 -0
- package/build/modules/api/SelfieVerification.js.map +1 -0
- package/build/modules/api/TemplateService.d.ts +44 -0
- package/build/modules/api/TemplateService.d.ts.map +1 -0
- package/build/modules/api/TemplateService.js +146 -0
- package/build/modules/api/TemplateService.js.map +1 -0
- package/build/modules/api/backendApi.d.ts +2 -0
- package/build/modules/api/backendApi.d.ts.map +1 -0
- package/build/modules/api/backendApi.js +6 -0
- package/build/modules/api/backendApi.js.map +1 -0
- package/build/modules/api/types.d.ts +53 -0
- package/build/modules/api/types.d.ts.map +1 -0
- package/build/modules/api/types.js +2 -0
- package/build/modules/api/types.js.map +1 -0
- package/build/modules/camera/NativeCameraModule.d.ts +52 -0
- package/build/modules/camera/NativeCameraModule.d.ts.map +1 -0
- package/build/modules/camera/NativeCameraModule.js +149 -0
- package/build/modules/camera/NativeCameraModule.js.map +1 -0
- package/build/modules/camera/UnifiedCameraModule.d.ts +70 -0
- package/build/modules/camera/UnifiedCameraModule.d.ts.map +1 -0
- package/build/modules/camera/UnifiedCameraModule.js +125 -0
- package/build/modules/camera/UnifiedCameraModule.js.map +1 -0
- package/build/modules/camera/VisionCameraModule.d.ts +62 -0
- package/build/modules/camera/VisionCameraModule.d.ts.map +1 -0
- package/build/modules/camera/VisionCameraModule.js +313 -0
- package/build/modules/camera/VisionCameraModule.js.map +1 -0
- package/build/modules/camera/VisionCameraModule.web.d.ts +145 -0
- package/build/modules/camera/VisionCameraModule.web.d.ts.map +1 -0
- package/build/modules/camera/VisionCameraModule.web.js +589 -0
- package/build/modules/camera/VisionCameraModule.web.js.map +1 -0
- package/build/modules/camera/index.d.ts +5 -0
- package/build/modules/camera/index.d.ts.map +1 -0
- package/build/modules/camera/index.js +4 -0
- package/build/modules/camera/index.js.map +1 -0
- package/build/stores/kycStore.d.ts +55 -0
- package/build/stores/kycStore.d.ts.map +1 -0
- package/build/stores/kycStore.js +98 -0
- package/build/stores/kycStore.js.map +1 -0
- package/build/types/KYC.types.d.ts +643 -0
- package/build/types/KYC.types.d.ts.map +1 -0
- package/build/types/KYC.types.js +25 -0
- package/build/types/KYC.types.js.map +1 -0
- package/build/types/env.types.d.ts +13 -0
- package/build/types/env.types.d.ts.map +1 -0
- package/build/types/env.types.js +2 -0
- package/build/types/env.types.js.map +1 -0
- package/build/utils/cropByObb.d.ts +37 -0
- package/build/utils/cropByObb.d.ts.map +1 -0
- package/build/utils/cropByObb.js +215 -0
- package/build/utils/cropByObb.js.map +1 -0
- package/build/utils/deviceDetection.d.ts +6 -0
- package/build/utils/deviceDetection.d.ts.map +1 -0
- package/build/utils/deviceDetection.js +12 -0
- package/build/utils/deviceDetection.js.map +1 -0
- package/build/utils/get-document-type-info.d.ts +13 -0
- package/build/utils/get-document-type-info.d.ts.map +1 -0
- package/build/utils/get-document-type-info.js +59 -0
- package/build/utils/get-document-type-info.js.map +1 -0
- package/build/utils/logger.d.ts +12 -0
- package/build/utils/logger.d.ts.map +1 -0
- package/build/utils/logger.js +45 -0
- package/build/utils/logger.js.map +1 -0
- package/build/utils/pathToBase64.d.ts +3 -0
- package/build/utils/pathToBase64.d.ts.map +1 -0
- package/build/utils/pathToBase64.js +65 -0
- package/build/utils/pathToBase64.js.map +1 -0
- package/build/utils/platformAlert.d.ts +20 -0
- package/build/utils/platformAlert.d.ts.map +1 -0
- package/build/utils/platformAlert.js +67 -0
- package/build/utils/platformAlert.js.map +1 -0
- package/build/utils/remove-duplicate.d.ts +2 -0
- package/build/utils/remove-duplicate.d.ts.map +1 -0
- package/build/utils/remove-duplicate.js +4 -0
- package/build/utils/remove-duplicate.js.map +1 -0
- package/build/utils/template-transformer.d.ts +10 -0
- package/build/utils/template-transformer.d.ts.map +1 -0
- package/build/utils/template-transformer.js +365 -0
- package/build/utils/template-transformer.js.map +1 -0
- package/build/web/WebKYCEntry.d.ts +9 -0
- package/build/web/WebKYCEntry.d.ts.map +1 -0
- package/build/web/WebKYCEntry.js +288 -0
- package/build/web/WebKYCEntry.js.map +1 -0
- package/build/web/index.d.ts +2 -0
- package/build/web/index.d.ts.map +1 -0
- package/build/web/index.js +2 -0
- package/build/web/index.js.map +1 -0
- package/expo-module.config.json +9 -0
- package/ios/TransfergratisSdk.podspec +31 -0
- package/ios/TransfergratisSdkModule.swift +409 -0
- package/package.json +71 -0
- package/plugin/build/index.d.ts +5 -0
- package/plugin/build/index.js +12 -0
- package/plugin/build/withLocation.d.ts +9 -0
- package/plugin/build/withLocation.js +77 -0
- package/plugin/build/withRemovePermissions.d.ts +3 -0
- package/plugin/build/withRemovePermissions.js +67 -0
- package/plugin/build/withVisionCamera.d.ts +8 -0
- package/plugin/build/withVisionCamera.js +68 -0
- package/plugin/src/index.ts +5 -0
- package/plugin/src/withLocation.ts +109 -0
- package/plugin/src/withRemovePermissions.js +85 -0
- package/plugin/src/withRemovePermissions.ts +83 -0
- package/plugin/src/withVisionCamera.js +88 -0
- package/plugin/src/withVisionCamera.ts +97 -0
- package/plugin/tsconfig.json +17 -0
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/plugin.js +19 -0
- package/src/App.tsx +9 -0
- package/src/TransfergratisSdk.types.ts +30 -0
- package/src/TransfergratisSdkModule.ts +16 -0
- package/src/TransfergratisSdkModule.web.ts +31 -0
- package/src/TransfergratisSdkView.tsx +11 -0
- package/src/TransfergratisSdkView.web.tsx +15 -0
- package/src/api/axios.ts +144 -0
- package/src/components/Camera/index.tsx +0 -0
- package/src/components/Camera/index.web.tsx +0 -0
- package/src/components/Camera/types.ts +0 -0
- package/src/components/ConfigurableKYCFlow.tsx +334 -0
- package/src/components/CustomCameraExample.tsx +274 -0
- package/src/components/EnhancedCameraView.tsx +482 -0
- package/src/components/EnhancedCameraView.web.tsx +597 -0
- package/src/components/FileUpload.tsx +249 -0
- package/src/components/KYCElementRenderer.tsx +106 -0
- package/src/components/KYCElements/AdditionalDocumentsTemplate.tsx +346 -0
- package/src/components/KYCElements/CameraCapture.tsx +268 -0
- package/src/components/KYCElements/CompletionStep.tsx +161 -0
- package/src/components/KYCElements/CountrySelection.tsx +177 -0
- package/src/components/KYCElements/CountrySelectionTemplate.tsx +526 -0
- package/src/components/KYCElements/DocumentTypeSelection.tsx +173 -0
- package/src/components/KYCElements/EmailVerificationTemplate.tsx +278 -0
- package/src/components/KYCElements/FileUpload.tsx +318 -0
- package/src/components/KYCElements/FileUploadTemplate.tsx +395 -0
- package/src/components/KYCElements/IDCardCapture.tsx +1053 -0
- package/src/components/KYCElements/InitializationStep.tsx +53 -0
- package/src/components/KYCElements/LocationCaptureTemplate.tsx +378 -0
- package/src/components/KYCElements/OrientationVideoCapture.tsx +649 -0
- package/src/components/KYCElements/OrientationVideoCaptureEnhanced.tsx +616 -0
- package/src/components/KYCElements/OrientationVideoCaptureFinal.tsx +534 -0
- package/src/components/KYCElements/PersonalInformationTemplate.tsx +158 -0
- package/src/components/KYCElements/PhoneVerificationTemplate.tsx +253 -0
- package/src/components/KYCElements/ReviewSubmitTemplate.tsx +201 -0
- package/src/components/KYCElements/SelfieCapture.tsx +284 -0
- package/src/components/KYCElements/SelfieCaptureTemplate.tsx +662 -0
- package/src/components/KYCElements/VerificationProgressTemplate.tsx +247 -0
- package/src/components/KYCElements/VerificationStep.tsx +234 -0
- package/src/components/KYCElements/WelcomeTemplate.tsx +290 -0
- package/src/components/KYCExample.tsx +297 -0
- package/src/components/KYCFlow.tsx +377 -0
- package/src/components/NativeCameraView.tsx +47 -0
- package/src/components/OverLay/IdCard.tsx +277 -0
- package/src/components/OverLay/SelfieOverlay.tsx +211 -0
- package/src/components/OverLay/StepOverlay.tsx +64 -0
- package/src/components/OverLay/type.ts +91 -0
- package/src/components/ProgressIndicator.tsx +62 -0
- package/src/components/SelfieCapture.tsx +244 -0
- package/src/components/SimpleExample.tsx +92 -0
- package/src/components/Svgs/GpsIcon.tsx +12 -0
- package/src/components/Svgs/Schield.tsx +26 -0
- package/src/components/Svgs/directionArrow.gif +0 -0
- package/src/components/Svgs/frontSelfieIcon.tsx +13 -0
- package/src/components/Svgs/scanningLine.tsx +88 -0
- package/src/components/Svgs/sideSelfieIcon.tsx +10 -0
- package/src/components/TemplateKYCExample.tsx +194 -0
- package/src/components/TemplateKYCFlowRefactored.tsx +473 -0
- package/src/components/VisionCameraView.tsx +197 -0
- package/src/components/example/CameraCaptureEx.tsx +335 -0
- package/src/components/example/CameraCaptureExAdvanced.tsx +357 -0
- package/src/components/example/CameraCaptureExScan.tsx +336 -0
- package/src/components/example/CameraCaptureExSimple.tsx +215 -0
- package/src/components/example/DynamicTemplateExample.tsx +289 -0
- package/src/components/example/OrientationVideoExample.tsx +380 -0
- package/src/components/example/SelfieCaptureEx.tsx +358 -0
- package/src/components/ui/Button.tsx +328 -0
- package/src/components/ui/ButtonExample.tsx +318 -0
- package/src/components/ui/ButtonStyles.ts +465 -0
- package/src/config/KYCConfig.ts +34 -0
- package/src/config/KYCConfigs.ts +528 -0
- package/src/config/allowedDomains.ts +133 -0
- package/src/config/countriesData.ts +85 -0
- package/src/config/region_mapping.json +735 -0
- package/src/config/region_mapping.ts +737 -0
- package/src/hooks/useI18n.ts +53 -0
- package/src/hooks/useKYC.ts +131 -0
- package/src/hooks/useKYCFlow.ts +248 -0
- package/src/hooks/useLocation.ts +221 -0
- package/src/hooks/useOrientationVideo.ts +149 -0
- package/src/hooks/useRealtimeVerifier.ts +128 -0
- package/src/hooks/useTemplateKYCFlow.tsx +1051 -0
- package/src/hooks/useTemplateLoader.ts +102 -0
- package/src/i18n/README.md +288 -0
- package/src/i18n/en/index.ts +275 -0
- package/src/i18n/fr/index.ts +260 -0
- package/src/i18n/index.ts +65 -0
- package/src/i18n/types.ts +182 -0
- package/src/i18n/usage-example.tsx +202 -0
- package/src/index.ts +25 -0
- package/src/modules/api/CardAuthentification.ts +589 -0
- package/src/modules/api/KYCService.ts +666 -0
- package/src/modules/api/SelfieVerification.ts +33 -0
- package/src/modules/api/TemplateService.ts +168 -0
- package/src/modules/api/backendApi.ts +8 -0
- package/src/modules/api/types.ts +59 -0
- package/src/modules/camera/NativeCameraModule.ts +170 -0
- package/src/modules/camera/UnifiedCameraModule.ts +160 -0
- package/src/modules/camera/VisionCameraModule.ts +334 -0
- package/src/modules/camera/VisionCameraModule.web.ts +679 -0
- package/src/modules/camera/index.ts +6 -0
- package/src/stores/kycStore.ts +161 -0
- package/src/types/KYC.types.ts +837 -0
- package/src/types/env.types.ts +13 -0
- package/src/utils/cropByObb.ts +254 -0
- package/src/utils/deviceDetection.ts +11 -0
- package/src/utils/get-document-type-info.ts +62 -0
- package/src/utils/logger.ts +48 -0
- package/src/utils/pathToBase64.ts +63 -0
- package/src/utils/platformAlert.ts +86 -0
- package/src/utils/remove-duplicate.ts +3 -0
- package/src/utils/template-transformer.ts +445 -0
- package/src/web/WebKYCEntry.tsx +375 -0
- package/src/web/index.ts +1 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
2
|
+
import * as Location from 'expo-location';
|
|
3
|
+
const useLocation = (options = {}) => {
|
|
4
|
+
const { enableHighAccuracy = true, timeInterval = 10000, distanceInterval = 10, requestPermissions = true, } = options;
|
|
5
|
+
const [location, setLocation] = useState(null);
|
|
6
|
+
const [error, setError] = useState(null);
|
|
7
|
+
const [loading, setLoading] = useState(false);
|
|
8
|
+
const [hasPermission, setHasPermission] = useState(false);
|
|
9
|
+
const [locationSubscription, setLocationSubscription] = useState(null);
|
|
10
|
+
// Check and request permissions
|
|
11
|
+
const checkPermissions = useCallback(async () => {
|
|
12
|
+
try {
|
|
13
|
+
const { status } = await Location.getForegroundPermissionsAsync();
|
|
14
|
+
const hasPermission = status === Location.PermissionStatus.GRANTED;
|
|
15
|
+
setHasPermission(hasPermission);
|
|
16
|
+
return hasPermission;
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
console.error('Error checking location permissions:', err);
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
const requestPermission = useCallback(async () => {
|
|
24
|
+
try {
|
|
25
|
+
setLoading(true);
|
|
26
|
+
setError(null);
|
|
27
|
+
const { status } = await Location.requestForegroundPermissionsAsync();
|
|
28
|
+
const hasPermission = status === Location.PermissionStatus.GRANTED;
|
|
29
|
+
setHasPermission(hasPermission);
|
|
30
|
+
if (!hasPermission) {
|
|
31
|
+
setError({
|
|
32
|
+
code: 'PERMISSION_DENIED',
|
|
33
|
+
message: 'Location permission denied',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return hasPermission;
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
|
|
40
|
+
setError({
|
|
41
|
+
code: 'PERMISSION_ERROR',
|
|
42
|
+
message: errorMessage,
|
|
43
|
+
});
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
setLoading(false);
|
|
48
|
+
}
|
|
49
|
+
}, []);
|
|
50
|
+
// Get current location once
|
|
51
|
+
const getCurrentLocation = useCallback(async () => {
|
|
52
|
+
try {
|
|
53
|
+
setLoading(true);
|
|
54
|
+
setError(null);
|
|
55
|
+
if (!hasPermission) {
|
|
56
|
+
const permissionGranted = await requestPermission();
|
|
57
|
+
if (!permissionGranted) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const currentLocation = await Location.getCurrentPositionAsync({
|
|
62
|
+
accuracy: enableHighAccuracy ? Location.Accuracy.High : Location.Accuracy.Balanced,
|
|
63
|
+
});
|
|
64
|
+
const locationData = {
|
|
65
|
+
latitude: currentLocation.coords.latitude,
|
|
66
|
+
longitude: currentLocation.coords.longitude,
|
|
67
|
+
accuracy: currentLocation.coords.accuracy,
|
|
68
|
+
altitude: currentLocation.coords.altitude,
|
|
69
|
+
heading: currentLocation.coords.heading,
|
|
70
|
+
speed: currentLocation.coords.speed,
|
|
71
|
+
timestamp: currentLocation.timestamp,
|
|
72
|
+
};
|
|
73
|
+
setLocation(locationData);
|
|
74
|
+
return locationData;
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
|
|
78
|
+
setError({
|
|
79
|
+
code: 'LOCATION_ERROR',
|
|
80
|
+
message: errorMessage,
|
|
81
|
+
});
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
setLoading(false);
|
|
86
|
+
}
|
|
87
|
+
}, [hasPermission, enableHighAccuracy, requestPermission]);
|
|
88
|
+
// Start continuous location updates
|
|
89
|
+
const startLocationUpdates = useCallback(async () => {
|
|
90
|
+
try {
|
|
91
|
+
setLoading(true);
|
|
92
|
+
setError(null);
|
|
93
|
+
if (!hasPermission) {
|
|
94
|
+
const permissionGranted = await requestPermission();
|
|
95
|
+
if (!permissionGranted) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Stop any existing subscription
|
|
100
|
+
if (locationSubscription) {
|
|
101
|
+
locationSubscription.remove();
|
|
102
|
+
}
|
|
103
|
+
const subscription = await Location.watchPositionAsync({
|
|
104
|
+
accuracy: enableHighAccuracy ? Location.Accuracy.High : Location.Accuracy.Balanced,
|
|
105
|
+
timeInterval,
|
|
106
|
+
distanceInterval,
|
|
107
|
+
}, (newLocation) => {
|
|
108
|
+
const locationData = {
|
|
109
|
+
latitude: newLocation.coords.latitude,
|
|
110
|
+
longitude: newLocation.coords.longitude,
|
|
111
|
+
accuracy: newLocation.coords.accuracy,
|
|
112
|
+
altitude: newLocation.coords.altitude,
|
|
113
|
+
heading: newLocation.coords.heading,
|
|
114
|
+
speed: newLocation.coords.speed,
|
|
115
|
+
timestamp: newLocation.timestamp,
|
|
116
|
+
};
|
|
117
|
+
setLocation(locationData);
|
|
118
|
+
});
|
|
119
|
+
setLocationSubscription(subscription);
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
|
|
123
|
+
setError({
|
|
124
|
+
code: 'LOCATION_UPDATE_ERROR',
|
|
125
|
+
message: errorMessage,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
setLoading(false);
|
|
130
|
+
}
|
|
131
|
+
}, [hasPermission, enableHighAccuracy, timeInterval, distanceInterval, requestPermission, locationSubscription]);
|
|
132
|
+
// Stop location updates
|
|
133
|
+
const stopLocationUpdates = useCallback(() => {
|
|
134
|
+
if (locationSubscription) {
|
|
135
|
+
locationSubscription.remove();
|
|
136
|
+
setLocationSubscription(null);
|
|
137
|
+
}
|
|
138
|
+
}, [locationSubscription]);
|
|
139
|
+
// Initialize permissions on mount
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
if (requestPermissions) {
|
|
142
|
+
checkPermissions();
|
|
143
|
+
}
|
|
144
|
+
}, [requestPermissions, checkPermissions]);
|
|
145
|
+
// Cleanup subscription on unmount
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
return () => {
|
|
148
|
+
if (locationSubscription) {
|
|
149
|
+
locationSubscription.remove();
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}, [locationSubscription]);
|
|
153
|
+
return {
|
|
154
|
+
location,
|
|
155
|
+
error,
|
|
156
|
+
loading,
|
|
157
|
+
requestPermission,
|
|
158
|
+
getCurrentLocation,
|
|
159
|
+
startLocationUpdates,
|
|
160
|
+
stopLocationUpdates,
|
|
161
|
+
hasPermission,
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
export default useLocation;
|
|
165
|
+
//# sourceMappingURL=useLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocation.js","sourceRoot":"","sources":["../../src/hooks/useLocation.ts"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport * as Location from 'expo-location';\n\nexport interface LocationData {\n latitude: number;\n longitude: number;\n accuracy: number | null;\n altitude: number | null;\n heading: number | null;\n speed: number | null;\n timestamp: number;\n}\n\nexport interface LocationError {\n code: string;\n message: string;\n}\n\nexport interface UseLocationOptions {\n enableHighAccuracy?: boolean;\n timeInterval?: number;\n distanceInterval?: number;\n requestPermissions?: boolean;\n}\n\nexport interface UseLocationReturn {\n location: LocationData | null;\n error: LocationError | null;\n loading: boolean;\n requestPermission: () => Promise<boolean>;\n getCurrentLocation: () => Promise<LocationData | null>;\n startLocationUpdates: () => Promise<void>;\n stopLocationUpdates: () => void;\n hasPermission: boolean;\n}\n\nconst useLocation = (options: UseLocationOptions = {}): UseLocationReturn => {\n const {\n enableHighAccuracy = true,\n timeInterval = 10000,\n distanceInterval = 10,\n requestPermissions = true,\n } = options;\n\n const [location, setLocation] = useState<LocationData | null>(null);\n const [error, setError] = useState<LocationError | null>(null);\n const [loading, setLoading] = useState(false);\n const [hasPermission, setHasPermission] = useState(false);\n const [locationSubscription, setLocationSubscription] = useState<Location.LocationSubscription | null>(null);\n\n // Check and request permissions\n const checkPermissions = useCallback(async () => {\n try {\n const { status } = await Location.getForegroundPermissionsAsync();\n const hasPermission = status === Location.PermissionStatus.GRANTED;\n setHasPermission(hasPermission);\n return hasPermission;\n } catch (err) {\n console.error('Error checking location permissions:', err);\n return false;\n }\n }, []);\n\n const requestPermission = useCallback(async (): Promise<boolean> => {\n try {\n setLoading(true);\n setError(null);\n \n const { status } = await Location.requestForegroundPermissionsAsync();\n const hasPermission = status === Location.PermissionStatus.GRANTED;\n \n setHasPermission(hasPermission);\n \n if (!hasPermission) {\n setError({\n code: 'PERMISSION_DENIED',\n message: 'Location permission denied',\n });\n }\n \n return hasPermission;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'Unknown error';\n setError({\n code: 'PERMISSION_ERROR',\n message: errorMessage,\n });\n return false;\n } finally {\n setLoading(false);\n }\n }, []);\n\n // Get current location once\n const getCurrentLocation = useCallback(async (): Promise<LocationData | null> => {\n try {\n setLoading(true);\n setError(null);\n\n if (!hasPermission) {\n const permissionGranted = await requestPermission();\n if (!permissionGranted) {\n return null;\n }\n }\n\n const currentLocation = await Location.getCurrentPositionAsync({\n accuracy: enableHighAccuracy ? Location.Accuracy.High : Location.Accuracy.Balanced,\n });\n\n const locationData: LocationData = {\n latitude: currentLocation.coords.latitude,\n longitude: currentLocation.coords.longitude,\n accuracy: currentLocation.coords.accuracy,\n altitude: currentLocation.coords.altitude,\n heading: currentLocation.coords.heading,\n speed: currentLocation.coords.speed,\n timestamp: currentLocation.timestamp,\n };\n\n setLocation(locationData);\n return locationData;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'Unknown error';\n setError({\n code: 'LOCATION_ERROR',\n message: errorMessage,\n });\n return null;\n } finally {\n setLoading(false);\n }\n }, [hasPermission, enableHighAccuracy, requestPermission]);\n\n // Start continuous location updates\n const startLocationUpdates = useCallback(async () => {\n try {\n setLoading(true);\n setError(null);\n\n if (!hasPermission) {\n const permissionGranted = await requestPermission();\n if (!permissionGranted) {\n return;\n }\n }\n\n // Stop any existing subscription\n if (locationSubscription) {\n locationSubscription.remove();\n }\n\n const subscription = await Location.watchPositionAsync(\n {\n accuracy: enableHighAccuracy ? Location.Accuracy.High : Location.Accuracy.Balanced,\n timeInterval,\n distanceInterval,\n },\n (newLocation) => {\n const locationData: LocationData = {\n latitude: newLocation.coords.latitude,\n longitude: newLocation.coords.longitude,\n accuracy: newLocation.coords.accuracy,\n altitude: newLocation.coords.altitude,\n heading: newLocation.coords.heading,\n speed: newLocation.coords.speed,\n timestamp: newLocation.timestamp,\n };\n setLocation(locationData);\n }\n );\n\n setLocationSubscription(subscription);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : 'Unknown error';\n setError({\n code: 'LOCATION_UPDATE_ERROR',\n message: errorMessage,\n });\n } finally {\n setLoading(false);\n }\n }, [hasPermission, enableHighAccuracy, timeInterval, distanceInterval, requestPermission, locationSubscription]);\n\n // Stop location updates\n const stopLocationUpdates = useCallback(() => {\n if (locationSubscription) {\n locationSubscription.remove();\n setLocationSubscription(null);\n }\n }, [locationSubscription]);\n\n // Initialize permissions on mount\n useEffect(() => {\n if (requestPermissions) {\n checkPermissions();\n }\n }, [requestPermissions, checkPermissions]);\n\n // Cleanup subscription on unmount\n useEffect(() => {\n return () => {\n if (locationSubscription) {\n locationSubscription.remove();\n }\n };\n }, [locationSubscription]);\n\n return {\n location,\n error,\n loading,\n requestPermission,\n getCurrentLocation,\n startLocationUpdates,\n stopLocationUpdates,\n hasPermission,\n };\n};\n\nexport default useLocation; "]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OrientationVideoState, OrientationVideoActions, OrientationVideoConfig } from '../types/KYC.types';
|
|
2
|
+
import { KycEnvironment } from '../types/env.types';
|
|
3
|
+
export interface UseOrientationVideoReturn {
|
|
4
|
+
state: OrientationVideoState;
|
|
5
|
+
actions: OrientationVideoActions;
|
|
6
|
+
config: OrientationVideoConfig;
|
|
7
|
+
}
|
|
8
|
+
export declare const useOrientationVideo: (config?: Partial<OrientationVideoConfig>, env?: KycEnvironment) => UseOrientationVideoReturn;
|
|
9
|
+
export default useOrientationVideo;
|
|
10
|
+
//# sourceMappingURL=useOrientationVideo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrientationVideo.d.ts","sourceRoot":"","sources":["../../src/hooks/useOrientationVideo.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EAGvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,OAAO,CAAC,sBAAsB,CAAC,EACxC,MAAK,cAA6B,KACjC,yBA8HF,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { useState, useCallback } from 'react';
|
|
2
|
+
import kycService from '../modules/api/KYCService';
|
|
3
|
+
export const useOrientationVideo = (config, env = 'PRODUCTION') => {
|
|
4
|
+
const defaultConfig = {
|
|
5
|
+
duration: 10,
|
|
6
|
+
orientations: ['center', 'left', 'right'],
|
|
7
|
+
instructions: {
|
|
8
|
+
center: 'Look straight ahead at the camera',
|
|
9
|
+
left: 'Turn your head to the left',
|
|
10
|
+
right: 'Turn your head to the right',
|
|
11
|
+
},
|
|
12
|
+
showPreview: true,
|
|
13
|
+
allowRetake: true,
|
|
14
|
+
maxRetakes: 3,
|
|
15
|
+
quality: 0.8,
|
|
16
|
+
aspectRatio: 16 / 9,
|
|
17
|
+
};
|
|
18
|
+
const finalConfig = { ...defaultConfig, ...config };
|
|
19
|
+
const [state, setState] = useState({
|
|
20
|
+
isRecording: false,
|
|
21
|
+
currentOrientation: null,
|
|
22
|
+
recordedVideo: null,
|
|
23
|
+
processingResult: null,
|
|
24
|
+
isProcessing: false,
|
|
25
|
+
error: null,
|
|
26
|
+
retakeCount: 0,
|
|
27
|
+
});
|
|
28
|
+
const startRecording = useCallback(() => {
|
|
29
|
+
setState(prev => ({
|
|
30
|
+
...prev,
|
|
31
|
+
isRecording: true,
|
|
32
|
+
error: null,
|
|
33
|
+
currentOrientation: 'center' // Start with center orientation
|
|
34
|
+
}));
|
|
35
|
+
}, []);
|
|
36
|
+
const stopRecording = useCallback(() => {
|
|
37
|
+
setState(prev => ({ ...prev, isRecording: false }));
|
|
38
|
+
}, []);
|
|
39
|
+
const processVideo = useCallback(async () => {
|
|
40
|
+
if (!state.recordedVideo || state.isProcessing) {
|
|
41
|
+
throw new Error('No video to process or already processing');
|
|
42
|
+
}
|
|
43
|
+
setState(prev => ({ ...prev, isProcessing: true, error: null }));
|
|
44
|
+
try {
|
|
45
|
+
const result = await kycService.processOrientationVideo(state.recordedVideo, env);
|
|
46
|
+
if (result.success && result.data) {
|
|
47
|
+
setState(prev => ({
|
|
48
|
+
...prev,
|
|
49
|
+
processingResult: result.data || null,
|
|
50
|
+
isProcessing: false
|
|
51
|
+
}));
|
|
52
|
+
return result.data;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const errorMessage = result.message || 'Processing failed';
|
|
56
|
+
setState(prev => ({
|
|
57
|
+
...prev,
|
|
58
|
+
isProcessing: false,
|
|
59
|
+
error: errorMessage
|
|
60
|
+
}));
|
|
61
|
+
throw new Error(errorMessage);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
66
|
+
setState(prev => ({
|
|
67
|
+
...prev,
|
|
68
|
+
isProcessing: false,
|
|
69
|
+
error: errorMessage
|
|
70
|
+
}));
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}, [state.recordedVideo, state.isProcessing, env]);
|
|
74
|
+
const retake = useCallback(() => {
|
|
75
|
+
if (state.retakeCount >= finalConfig.maxRetakes) {
|
|
76
|
+
throw new Error('Maximum retakes reached');
|
|
77
|
+
}
|
|
78
|
+
setState(prev => ({
|
|
79
|
+
...prev,
|
|
80
|
+
recordedVideo: null,
|
|
81
|
+
processingResult: null,
|
|
82
|
+
error: null,
|
|
83
|
+
retakeCount: prev.retakeCount + 1
|
|
84
|
+
}));
|
|
85
|
+
}, [state.retakeCount, finalConfig.maxRetakes]);
|
|
86
|
+
const reset = useCallback(() => {
|
|
87
|
+
setState({
|
|
88
|
+
isRecording: false,
|
|
89
|
+
currentOrientation: null,
|
|
90
|
+
recordedVideo: null,
|
|
91
|
+
processingResult: null,
|
|
92
|
+
isProcessing: false,
|
|
93
|
+
error: null,
|
|
94
|
+
retakeCount: 0,
|
|
95
|
+
});
|
|
96
|
+
}, []);
|
|
97
|
+
const setCurrentOrientation = useCallback((orientation) => {
|
|
98
|
+
setState(prev => ({ ...prev, currentOrientation: orientation }));
|
|
99
|
+
}, []);
|
|
100
|
+
// const setRecordedVideo = useCallback((videoUri: string) => {
|
|
101
|
+
// setState(prev => ({ ...prev, recordedVideo: videoUri }));
|
|
102
|
+
// }, []);
|
|
103
|
+
const actions = {
|
|
104
|
+
startRecording,
|
|
105
|
+
stopRecording,
|
|
106
|
+
processVideo,
|
|
107
|
+
retake,
|
|
108
|
+
reset,
|
|
109
|
+
setCurrentOrientation,
|
|
110
|
+
};
|
|
111
|
+
return {
|
|
112
|
+
state,
|
|
113
|
+
actions,
|
|
114
|
+
config: finalConfig,
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
export default useOrientationVideo;
|
|
118
|
+
//# sourceMappingURL=useOrientationVideo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrientationVideo.js","sourceRoot":"","sources":["../../src/hooks/useOrientationVideo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAS9C,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAQnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAwC,EACxC,MAAsB,YAAY,EACP,EAAE;IAC7B,MAAM,aAAa,GAA2B;QAC5C,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;QACzC,YAAY,EAAE;YACZ,MAAM,EAAE,mCAAmC;YAC3C,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,6BAA6B;SACrC;QACD,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,GAAG;QACZ,WAAW,EAAE,EAAE,GAAG,CAAC;KACpB,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;IAEpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAwB;QACxD,WAAW,EAAE,KAAK;QAClB,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,CAAC;KACf,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,GAAG,IAAI;YACP,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;YACX,kBAAkB,EAAE,QAAQ,CAAC,gCAAgC;SAC9D,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAqC,EAAE;QAC3E,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAElF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChB,GAAG,IAAI;oBACP,gBAAgB,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;oBACrC,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC,CAAC;gBACJ,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC;gBAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChB,GAAG,IAAI;oBACP,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAC,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,GAAG,IAAI;gBACP,YAAY,EAAE,KAAK;gBACnB,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,GAAG,IAAI;YACP,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC;SAClC,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC;YACP,WAAW,EAAE,KAAK;YAClB,kBAAkB,EAAE,IAAI;YACxB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,CAAC;SACf,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,WAA4B,EAAE,EAAE;QACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,+DAA+D;IAC/D,8DAA8D;IAC9D,UAAU;IAEV,MAAM,OAAO,GAA4B;QACvC,cAAc;QACd,aAAa;QACb,YAAY;QACZ,MAAM;QACN,KAAK;QACL,qBAAqB;KACtB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,OAAO;QACP,MAAM,EAAE,WAAW;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { useState, useCallback } from 'react';\nimport { \n OrientationVideoState, \n OrientationVideoActions, \n OrientationVideoConfig,\n OrientationVideoResult,\n OrientationType \n} from '../types/KYC.types';\nimport { KycEnvironment } from '../types/env.types';\nimport kycService from '../modules/api/KYCService';\n\nexport interface UseOrientationVideoReturn {\n state: OrientationVideoState;\n actions: OrientationVideoActions;\n config: OrientationVideoConfig;\n}\n\nexport const useOrientationVideo = (\n config?: Partial<OrientationVideoConfig>,\n env: KycEnvironment = 'PRODUCTION'\n): UseOrientationVideoReturn => {\n const defaultConfig: OrientationVideoConfig = {\n duration: 10,\n orientations: ['center', 'left', 'right'],\n instructions: {\n center: 'Look straight ahead at the camera',\n left: 'Turn your head to the left',\n right: 'Turn your head to the right',\n },\n showPreview: true,\n allowRetake: true,\n maxRetakes: 3,\n quality: 0.8,\n aspectRatio: 16 / 9,\n };\n\n const finalConfig = { ...defaultConfig, ...config };\n\n const [state, setState] = useState<OrientationVideoState>({\n isRecording: false,\n currentOrientation: null,\n recordedVideo: null,\n processingResult: null,\n isProcessing: false,\n error: null,\n retakeCount: 0,\n });\n\n const startRecording = useCallback(() => {\n setState(prev => ({ \n ...prev, \n isRecording: true, \n error: null,\n currentOrientation: 'center' // Start with center orientation\n }));\n }, []);\n\n const stopRecording = useCallback(() => {\n setState(prev => ({ ...prev, isRecording: false }));\n }, []);\n\n const processVideo = useCallback(async (): Promise<OrientationVideoResult> => {\n if (!state.recordedVideo || state.isProcessing) {\n throw new Error('No video to process or already processing');\n }\n\n setState(prev => ({ ...prev, isProcessing: true, error: null }));\n\n try {\n const result = await kycService.processOrientationVideo(state.recordedVideo, env);\n \n if (result.success && result.data) {\n setState(prev => ({ \n ...prev, \n processingResult: result.data || null,\n isProcessing: false \n }));\n return result.data;\n } else {\n const errorMessage = result.message || 'Processing failed';\n setState(prev => ({ \n ...prev, \n isProcessing: false,\n error: errorMessage \n }));\n throw new Error(errorMessage);\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';\n setState(prev => ({ \n ...prev, \n isProcessing: false,\n error: errorMessage \n }));\n throw error;\n }\n }, [state.recordedVideo, state.isProcessing, env]);\n\n const retake = useCallback(() => {\n if (state.retakeCount >= finalConfig.maxRetakes) {\n throw new Error('Maximum retakes reached');\n }\n\n setState(prev => ({ \n ...prev, \n recordedVideo: null,\n processingResult: null,\n error: null,\n retakeCount: prev.retakeCount + 1 \n }));\n }, [state.retakeCount, finalConfig.maxRetakes]);\n\n const reset = useCallback(() => {\n setState({\n isRecording: false,\n currentOrientation: null,\n recordedVideo: null,\n processingResult: null,\n isProcessing: false,\n error: null,\n retakeCount: 0,\n });\n }, []);\n\n const setCurrentOrientation = useCallback((orientation: OrientationType) => {\n setState(prev => ({ ...prev, currentOrientation: orientation }));\n }, []);\n\n // const setRecordedVideo = useCallback((videoUri: string) => {\n // setState(prev => ({ ...prev, recordedVideo: videoUri }));\n // }, []);\n\n const actions: OrientationVideoActions = {\n startRecording,\n stopRecording,\n processVideo,\n retake,\n reset,\n setCurrentOrientation,\n };\n\n return {\n state,\n actions,\n config: finalConfig,\n };\n};\n\nexport default useOrientationVideo; "]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type CaptureFunction = () => Promise<{
|
|
2
|
+
success: boolean;
|
|
3
|
+
uri?: string;
|
|
4
|
+
error?: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type VerifyFunction = (uri: string) => Promise<boolean>;
|
|
7
|
+
export interface RealtimeVerifierConfig {
|
|
8
|
+
intervalMs?: number;
|
|
9
|
+
maxAttempts?: number;
|
|
10
|
+
stopOnError?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface RealtimeVerifierState {
|
|
13
|
+
isRunning: boolean;
|
|
14
|
+
attempts: number;
|
|
15
|
+
lastError?: string | null;
|
|
16
|
+
verifiedUri?: string | null;
|
|
17
|
+
}
|
|
18
|
+
export interface RealtimeVerifierControls {
|
|
19
|
+
start: () => void;
|
|
20
|
+
stop: () => void;
|
|
21
|
+
reset: () => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function useRealtimeVerifier(capture: CaptureFunction, verify: VerifyFunction, config?: RealtimeVerifierConfig): {
|
|
24
|
+
state: RealtimeVerifierState;
|
|
25
|
+
controls: RealtimeVerifierControls;
|
|
26
|
+
};
|
|
27
|
+
export default useRealtimeVerifier;
|
|
28
|
+
//# sourceMappingURL=useRealtimeVerifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRealtimeVerifier.d.ts","sourceRoot":"","sources":["../../src/hooks/useRealtimeVerifier.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAChG,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,sBAAsB,GAC9B;IAAE,KAAK,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,CA+FtE;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
export function useRealtimeVerifier(capture, verify, config) {
|
|
3
|
+
const { intervalMs = 5000, maxAttempts = Number.POSITIVE_INFINITY, stopOnError = false } = config || {};
|
|
4
|
+
const [state, setState] = useState({
|
|
5
|
+
isRunning: false,
|
|
6
|
+
attempts: 0,
|
|
7
|
+
lastError: null,
|
|
8
|
+
verifiedUri: null,
|
|
9
|
+
});
|
|
10
|
+
const timerRef = useRef(null);
|
|
11
|
+
const runningRef = useRef(false);
|
|
12
|
+
const attemptsRef = useRef(0);
|
|
13
|
+
const tick = useCallback(async () => {
|
|
14
|
+
if (!runningRef.current)
|
|
15
|
+
return;
|
|
16
|
+
if (attemptsRef.current >= maxAttempts) {
|
|
17
|
+
runningRef.current = false;
|
|
18
|
+
if (timerRef.current) {
|
|
19
|
+
clearInterval(timerRef.current);
|
|
20
|
+
timerRef.current = null;
|
|
21
|
+
}
|
|
22
|
+
setState(prev => ({ ...prev, isRunning: false }));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
attemptsRef.current += 1;
|
|
26
|
+
setState(prev => ({ ...prev, attempts: attemptsRef.current }));
|
|
27
|
+
try {
|
|
28
|
+
const captureResult = await capture();
|
|
29
|
+
if (!captureResult.success || !captureResult.uri) {
|
|
30
|
+
if (stopOnError) {
|
|
31
|
+
throw new Error(captureResult.error || 'Capture failed');
|
|
32
|
+
}
|
|
33
|
+
setState(prev => ({ ...prev, lastError: captureResult.error || 'Capture failed' }));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const ok = await verify(captureResult.uri);
|
|
37
|
+
if (ok) {
|
|
38
|
+
runningRef.current = false;
|
|
39
|
+
if (timerRef.current) {
|
|
40
|
+
clearInterval(timerRef.current);
|
|
41
|
+
timerRef.current = null;
|
|
42
|
+
}
|
|
43
|
+
setState(prev => ({ ...prev, isRunning: false, verifiedUri: captureResult.uri, lastError: null }));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
const message = err?.message || 'Unknown error';
|
|
48
|
+
if (stopOnError) {
|
|
49
|
+
runningRef.current = false;
|
|
50
|
+
if (timerRef.current) {
|
|
51
|
+
clearInterval(timerRef.current);
|
|
52
|
+
timerRef.current = null;
|
|
53
|
+
}
|
|
54
|
+
setState(prev => ({ ...prev, isRunning: false, lastError: message }));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
setState(prev => ({ ...prev, lastError: message }));
|
|
58
|
+
}
|
|
59
|
+
}, [capture, verify, maxAttempts, stopOnError]);
|
|
60
|
+
const start = useCallback(() => {
|
|
61
|
+
if (runningRef.current)
|
|
62
|
+
return;
|
|
63
|
+
runningRef.current = true;
|
|
64
|
+
setState(prev => ({ ...prev, isRunning: true, lastError: null }));
|
|
65
|
+
// Fire immediately, then every interval
|
|
66
|
+
tick();
|
|
67
|
+
timerRef.current = setInterval(tick, intervalMs);
|
|
68
|
+
}, [intervalMs, tick]);
|
|
69
|
+
const stop = useCallback(() => {
|
|
70
|
+
runningRef.current = false;
|
|
71
|
+
if (timerRef.current) {
|
|
72
|
+
clearInterval(timerRef.current);
|
|
73
|
+
timerRef.current = null;
|
|
74
|
+
}
|
|
75
|
+
setState(prev => ({ ...prev, isRunning: false }));
|
|
76
|
+
}, []);
|
|
77
|
+
const reset = useCallback(() => {
|
|
78
|
+
attemptsRef.current = 0;
|
|
79
|
+
setState({ isRunning: false, attempts: 0, lastError: null, verifiedUri: null });
|
|
80
|
+
}, []);
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
return () => {
|
|
83
|
+
if (timerRef.current) {
|
|
84
|
+
clearInterval(timerRef.current);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}, []);
|
|
88
|
+
return { state, controls: { start, stop, reset } };
|
|
89
|
+
}
|
|
90
|
+
export default useRealtimeVerifier;
|
|
91
|
+
//# sourceMappingURL=useRealtimeVerifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRealtimeVerifier.js","sourceRoot":"","sources":["../../src/hooks/useRealtimeVerifier.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport type CaptureFunction = () => Promise<{ success: boolean; uri?: string; error?: string }>;\nexport type VerifyFunction = (uri: string) => Promise<boolean>;\n\nexport interface RealtimeVerifierConfig {\n intervalMs?: number; // default 5000\n maxAttempts?: number; // default Infinity\n stopOnError?: boolean; // default false\n}\n\nexport interface RealtimeVerifierState {\n isRunning: boolean;\n attempts: number;\n lastError?: string | null;\n verifiedUri?: string | null;\n}\n\nexport interface RealtimeVerifierControls {\n start: () => void;\n stop: () => void;\n reset: () => void;\n}\n\nexport function useRealtimeVerifier(\n capture: CaptureFunction,\n verify: VerifyFunction,\n config?: RealtimeVerifierConfig,\n): { state: RealtimeVerifierState; controls: RealtimeVerifierControls } {\n const { intervalMs = 5000, maxAttempts = Number.POSITIVE_INFINITY, stopOnError = false } = config || {};\n\n const [state, setState] = useState<RealtimeVerifierState>({\n isRunning: false,\n attempts: 0,\n lastError: null,\n verifiedUri: null,\n });\n\n const timerRef = useRef<ReturnType<typeof setInterval> | null>(null);\n const runningRef = useRef<boolean>(false);\n const attemptsRef = useRef<number>(0);\n\n const tick = useCallback(async () => {\n if (!runningRef.current) return;\n if (attemptsRef.current >= maxAttempts) {\n runningRef.current = false;\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n setState(prev => ({ ...prev, isRunning: false }));\n return;\n }\n\n attemptsRef.current += 1;\n setState(prev => ({ ...prev, attempts: attemptsRef.current }));\n\n try {\n const captureResult = await capture();\n if (!captureResult.success || !captureResult.uri) {\n if (stopOnError) {\n throw new Error(captureResult.error || 'Capture failed');\n }\n setState(prev => ({ ...prev, lastError: captureResult.error || 'Capture failed' }));\n return;\n }\n\n const ok = await verify(captureResult.uri);\n if (ok) {\n runningRef.current = false;\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n setState(prev => ({ ...prev, isRunning: false, verifiedUri: captureResult.uri, lastError: null }));\n }\n } catch (err: any) {\n const message = err?.message || 'Unknown error';\n if (stopOnError) {\n runningRef.current = false;\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n setState(prev => ({ ...prev, isRunning: false, lastError: message }));\n return;\n }\n setState(prev => ({ ...prev, lastError: message }));\n }\n }, [capture, verify, maxAttempts, stopOnError]);\n\n const start = useCallback(() => {\n if (runningRef.current) return;\n runningRef.current = true;\n setState(prev => ({ ...prev, isRunning: true, lastError: null }));\n // Fire immediately, then every interval\n tick();\n timerRef.current = setInterval(tick, intervalMs);\n }, [intervalMs, tick]);\n\n const stop = useCallback(() => {\n runningRef.current = false;\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n setState(prev => ({ ...prev, isRunning: false }));\n }, []);\n\n const reset = useCallback(() => {\n attemptsRef.current = 0;\n setState({ isRunning: false, attempts: 0, lastError: null, verifiedUri: null });\n }, []);\n\n useEffect(() => {\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n }\n };\n }, []);\n\n return { state, controls: { start, stop, reset } };\n}\n\nexport default useRealtimeVerifier;\n\n\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { KYCTemplate, TemplateState, TemplateActions, UseTemplateReturn, VerificationState } from '../types/KYC.types';
|
|
3
|
+
import { KycEnvironment } from '../types/env.types';
|
|
4
|
+
interface TemplateKYCFlowContextType {
|
|
5
|
+
state: TemplateState;
|
|
6
|
+
actions: TemplateActions;
|
|
7
|
+
currentComponent: any;
|
|
8
|
+
progress: number;
|
|
9
|
+
canGoNext: boolean;
|
|
10
|
+
canGoPrevious: boolean;
|
|
11
|
+
isComplete: boolean;
|
|
12
|
+
getLocalizedText: (text: {
|
|
13
|
+
en: string;
|
|
14
|
+
fr: string;
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
}) => string;
|
|
17
|
+
initializeSession: () => Promise<void>;
|
|
18
|
+
env: KycEnvironment;
|
|
19
|
+
apiKey?: string;
|
|
20
|
+
}
|
|
21
|
+
interface TemplateKYCFlowProviderProps {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
template: KYCTemplate;
|
|
24
|
+
onComplete?: (data: VerificationState) => void;
|
|
25
|
+
onError?: (error: string) => void;
|
|
26
|
+
onCancel?: () => void;
|
|
27
|
+
initialLanguage?: string;
|
|
28
|
+
apiKey?: string;
|
|
29
|
+
env?: KycEnvironment;
|
|
30
|
+
existingSessionId?: string;
|
|
31
|
+
/** Index in template.components where to resume (0-based). Simple to store in template table. */
|
|
32
|
+
initialComponentIndex?: number;
|
|
33
|
+
/** Pays / type de document depuis l'URL de reprise — évite de dépendre du backend pour afficher les pays. */
|
|
34
|
+
initialCountryResume?: {
|
|
35
|
+
code: string;
|
|
36
|
+
documentType: string;
|
|
37
|
+
region?: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export declare const TemplateKYCFlowProvider: React.FC<TemplateKYCFlowProviderProps>;
|
|
41
|
+
export declare const useTemplateKYCFlowContext: () => TemplateKYCFlowContextType;
|
|
42
|
+
export declare const useTemplateKYCFlow: (template: KYCTemplate, onComplete?: (data: VerificationState) => void, onError?: (error: string) => void, onCancel?: () => void, initialLanguage?: string, apiKey?: string, env?: KycEnvironment, existingSessionId?: string, initialComponentIndex?: number, initialCountryResume?: {
|
|
43
|
+
code: string;
|
|
44
|
+
documentType: string;
|
|
45
|
+
region?: string;
|
|
46
|
+
}) => UseTemplateReturn;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=useTemplateKYCFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTemplateKYCFlow.d.ts","sourceRoot":"","sources":["../../src/hooks/useTemplateKYCFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6D,SAAS,EAAa,MAAM,OAAO,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAA6C,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAClK,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,UAAU,0BAA0B;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;IACzB,gBAAgB,EAAE,GAAG,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;IACrF,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,UAAU,4BAA4B;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChF;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAoB1E,CAAC;AAGF,eAAO,MAAM,yBAAyB,QAAO,0BAM5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,EACrB,aAAa,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC9C,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,WAAW,MAAM,IAAI,EACrB,kBAAiB,MAAa,EAC9B,SAAS,MAAM,EACf,MAAK,cAA6B,EAClC,oBAAoB,MAAM,EAC1B,wBAAwB,MAAM,EAC9B,uBAAuB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7E,iBAq8BF,CAAC"}
|