@smile_identity/react-native 10.2.1 → 10.2.3

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 (69) hide show
  1. package/README.md +4 -28
  2. package/android/build.gradle +12 -6
  3. package/android/gradle.properties +4 -3
  4. package/android/src/main/java/com/smileidentity/react/Mapper.kt +2 -3
  5. package/android/src/main/java/com/smileidentity/react/SmileIdModule.kt +37 -39
  6. package/android/src/main/java/com/smileidentity/react/SmileIdPackage.kt +4 -0
  7. package/android/src/main/java/com/smileidentity/react/results/BiometricKycCaptureResult.kt +9 -0
  8. package/android/src/main/java/com/smileidentity/react/results/SmartSelfieCaptureResult.kt +3 -2
  9. package/android/src/main/java/com/smileidentity/react/utils/BiometricKycCaptureResultAdapter.kt +69 -0
  10. package/android/src/main/java/com/smileidentity/react/utils/SelfieCaptureResultAdapter.kt +0 -2
  11. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.kt +64 -0
  12. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.kt +64 -0
  13. package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +7 -7
  14. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentCaptureView.kt +9 -0
  15. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt +2 -4
  16. package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +3 -5
  17. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationEnhancedView.kt +61 -0
  18. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationView.kt +0 -2
  19. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentEnhancedView.kt +60 -0
  20. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +0 -2
  21. package/android/src/oldarch/SmileIdSpec.kt +3 -12
  22. package/ios/RNSmileID.mm +6 -3
  23. package/ios/RNSmileID.swift +470 -477
  24. package/ios/View/SmileIDSmartSelfieAuthEnhancedView.swift +44 -0
  25. package/ios/View/SmileIDSmartSelfieAuthView.swift +2 -3
  26. package/ios/View/SmileIDSmartSelfieCaptureView.swift +2 -2
  27. package/ios/View/SmileIDSmartSelfieEnrollmentEnhancedView.swift +44 -0
  28. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.m +7 -0
  29. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.swift +25 -0
  30. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.m +7 -0
  31. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.swift +25 -0
  32. package/lib/commonjs/NativeSmileId.js.map +1 -1
  33. package/lib/commonjs/SmileIDDocumentCaptureView.js.map +1 -1
  34. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js +40 -0
  35. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
  36. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js +40 -0
  37. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
  38. package/lib/commonjs/index.js +26 -2
  39. package/lib/commonjs/index.js.map +1 -1
  40. package/lib/commonjs/types.js.map +1 -1
  41. package/lib/module/NativeSmileId.js.map +1 -1
  42. package/lib/module/SmileIDDocumentCaptureView.js.map +1 -1
  43. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js +30 -0
  44. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
  45. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js +30 -0
  46. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
  47. package/lib/module/index.js +10 -4
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/types.js.map +1 -1
  50. package/lib/typescript/NativeSmileId.d.ts +6 -4
  51. package/lib/typescript/NativeSmileId.d.ts.map +1 -1
  52. package/lib/typescript/SmileIDDocumentCaptureView.d.ts +2 -2
  53. package/lib/typescript/SmileIDDocumentCaptureView.d.ts.map +1 -1
  54. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts +8 -0
  55. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts.map +1 -0
  56. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts +8 -0
  57. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts.map +1 -0
  58. package/lib/typescript/index.d.ts +12 -6
  59. package/lib/typescript/index.d.ts.map +1 -1
  60. package/lib/typescript/types.d.ts +2 -0
  61. package/lib/typescript/types.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/react-native-smile-id.podspec +1 -1
  64. package/src/NativeSmileId.ts +10 -14
  65. package/src/SmileIDDocumentCaptureView.tsx +4 -4
  66. package/src/SmileIDSmartSelfieAuthenticationEnhancedView.tsx +47 -0
  67. package/src/SmileIDSmartSelfieEnrollmentEnhancedView.tsx +47 -0
  68. package/src/index.tsx +21 -2
  69. package/src/types.ts +8 -0
@@ -0,0 +1,61 @@
1
+ package com.smileidentity.react.views
2
+
3
+ import androidx.compose.runtime.CompositionLocalProvider
4
+ import androidx.compose.runtime.saveable.rememberSaveable
5
+ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
6
+ import com.facebook.react.bridge.ReactApplicationContext
7
+ import com.smileidentity.SmileID
8
+ import com.smileidentity.compose.SmartSelfieAuthenticationEnhanced
9
+ import com.smileidentity.react.results.SmartSelfieCaptureResult
10
+ import com.smileidentity.react.utils.SelfieCaptureResultAdapter
11
+ import com.smileidentity.results.SmileIDResult
12
+ import com.smileidentity.util.randomUserId
13
+
14
+ class SmileIDSmartSelfieAuthenticationEnhancedView(context: ReactApplicationContext) :
15
+ SmileIDView(context) {
16
+
17
+ override fun renderContent() {
18
+ composeView.apply {
19
+ val customViewModelStoreOwner = CustomViewModelStoreOwner()
20
+ setContent {
21
+ CompositionLocalProvider(LocalViewModelStoreOwner provides customViewModelStoreOwner) {
22
+ SmileID.SmartSelfieAuthenticationEnhanced(
23
+ userId = userId ?: rememberSaveable { randomUserId() },
24
+ allowNewEnroll = allowNewEnroll ?: false,
25
+ showAttribution = showAttribution,
26
+ showInstructions = showInstructions,
27
+ extraPartnerParams = extraPartnerParams,
28
+ ) { res ->
29
+ when (res) {
30
+ is SmileIDResult.Success -> {
31
+ val result =
32
+ SmartSelfieCaptureResult(
33
+ selfieFile = res.data.selfieFile,
34
+ livenessFiles = res.data.livenessFiles,
35
+ apiResponse = res.data.apiResponse,
36
+ )
37
+ val json =
38
+ try {
39
+ SmileID.moshi
40
+ .newBuilder()
41
+ .add(SelfieCaptureResultAdapter.FACTORY)
42
+ .build()
43
+ .adapter(SmartSelfieCaptureResult::class.java)
44
+ .toJson(result)
45
+ } catch (e: Exception) {
46
+ emitFailure(e)
47
+ return@SmartSelfieAuthenticationEnhanced
48
+ }
49
+ json?.let { response ->
50
+ emitSuccess(response)
51
+ }
52
+ }
53
+
54
+ is SmileIDResult.Error -> emitFailure(res.throwable)
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
@@ -10,7 +10,6 @@ import com.smileidentity.react.results.SmartSelfieCaptureResult
10
10
  import com.smileidentity.react.utils.SelfieCaptureResultAdapter
11
11
  import com.smileidentity.results.SmileIDResult
12
12
  import com.smileidentity.util.randomUserId
13
- import kotlinx.collections.immutable.toImmutableMap
14
13
 
15
14
  class SmileIDSmartSelfieAuthenticationView(context: ReactApplicationContext) :
16
15
  SmileIDView(context) {
@@ -26,7 +25,6 @@ class SmileIDSmartSelfieAuthenticationView(context: ReactApplicationContext) :
26
25
  allowNewEnroll = allowNewEnroll ?: false,
27
26
  showAttribution = showAttribution,
28
27
  showInstructions = showInstructions,
29
- skipApiSubmission = skipApiSubmission,
30
28
  extraPartnerParams = extraPartnerParams,
31
29
  ) { res ->
32
30
  when (res) {
@@ -0,0 +1,60 @@
1
+ package com.smileidentity.react.views
2
+
3
+ import androidx.compose.runtime.CompositionLocalProvider
4
+ import androidx.compose.runtime.saveable.rememberSaveable
5
+ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
6
+ import com.facebook.react.bridge.ReactApplicationContext
7
+ import com.smileidentity.SmileID
8
+ import com.smileidentity.compose.SmartSelfieEnrollmentEnhanced
9
+ import com.smileidentity.react.results.SmartSelfieCaptureResult
10
+ import com.smileidentity.react.utils.SelfieCaptureResultAdapter
11
+ import com.smileidentity.results.SmileIDResult
12
+ import com.smileidentity.util.randomUserId
13
+
14
+ class SmileIDSmartSelfieEnrollmentEnhancedView(context: ReactApplicationContext) : SmileIDView(context) {
15
+
16
+ override fun renderContent() {
17
+ composeView.apply {
18
+ setContent {
19
+ val customViewModelStoreOwner = CustomViewModelStoreOwner()
20
+ CompositionLocalProvider(LocalViewModelStoreOwner provides customViewModelStoreOwner) {
21
+ SmileID.SmartSelfieEnrollmentEnhanced(
22
+ userId = userId ?: rememberSaveable { randomUserId() },
23
+ allowNewEnroll = allowNewEnroll ?: false,
24
+ showAttribution = showAttribution,
25
+ showInstructions = showInstructions,
26
+ extraPartnerParams = extraPartnerParams,
27
+ ) {
28
+ when (it) {
29
+ is SmileIDResult.Success -> {
30
+ val result =
31
+ SmartSelfieCaptureResult(
32
+ selfieFile = it.data.selfieFile,
33
+ livenessFiles = it.data.livenessFiles,
34
+ apiResponse = it.data.apiResponse,
35
+ )
36
+ val json =
37
+ try {
38
+ SmileID.moshi
39
+ .newBuilder()
40
+ .add(SelfieCaptureResultAdapter.FACTORY)
41
+ .build()
42
+ .adapter(SmartSelfieCaptureResult::class.java)
43
+ .toJson(result)
44
+ } catch (e: Exception) {
45
+ emitFailure(e)
46
+ return@SmartSelfieEnrollmentEnhanced
47
+ }
48
+ json?.let { response ->
49
+ emitSuccess(response)
50
+ }
51
+ }
52
+
53
+ is SmileIDResult.Error -> emitFailure(it.throwable)
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
@@ -10,7 +10,6 @@ import com.smileidentity.react.results.SmartSelfieCaptureResult
10
10
  import com.smileidentity.react.utils.SelfieCaptureResultAdapter
11
11
  import com.smileidentity.results.SmileIDResult
12
12
  import com.smileidentity.util.randomUserId
13
- import kotlinx.collections.immutable.toImmutableMap
14
13
 
15
14
  class SmileIDSmartSelfieEnrollmentView(context: ReactApplicationContext) : SmileIDView(context) {
16
15
 
@@ -25,7 +24,6 @@ class SmileIDSmartSelfieEnrollmentView(context: ReactApplicationContext) : Smile
25
24
  allowNewEnroll = allowNewEnroll ?: false,
26
25
  showAttribution = showAttribution,
27
26
  showInstructions = showInstructions,
28
- skipApiSubmission = skipApiSubmission,
29
27
  extraPartnerParams = extraPartnerParams,
30
28
  ) { res ->
31
29
  when (res) {
@@ -8,23 +8,14 @@ import com.facebook.react.bridge.ReadableMap
8
8
  abstract class SmileIdSpec internal constructor(context: ReactApplicationContext) :
9
9
  ReactContextBaseJavaModule(context) {
10
10
 
11
- abstract fun initializeWithApiKey(
12
- apiKey: String,
13
- config: ReadableMap,
11
+ abstract fun initialize(
14
12
  useSandBox: Boolean,
15
13
  enableCrashReporting: Boolean,
14
+ config: ReadableMap?,
15
+ apiKey: String?,
16
16
  promise: Promise
17
17
  )
18
18
 
19
- abstract fun initializeWithConfig(
20
- config: ReadableMap,
21
- useSandBox: Boolean,
22
- enableCrashReporting: Boolean,
23
- promise: Promise
24
- )
25
-
26
- abstract fun initialize(useSandBox: Boolean, promise: Promise)
27
-
28
19
  abstract fun setCallbackUrl(callbackUrl: String, promise: Promise)
29
20
 
30
21
  abstract fun setAllowOfflineMode(allowOfflineMode: Boolean ,promise: Promise)
package/ios/RNSmileID.mm CHANGED
@@ -1,9 +1,12 @@
1
1
  #import <React/RCTBridgeModule.h>
2
2
 
3
3
  @interface RCT_EXTERN_MODULE(RNSmileID, NSObject)
4
- RCT_EXTERN_METHOD(initializeWithApiKey:(NSString *)apiKey config:(NSDictionary *)config useSandBox:(BOOL)useSandBox enableCrashReporting:(BOOL)enableCrashReporting withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
5
- RCT_EXTERN_METHOD(initializeWithConfig:(NSDictionary *)config useSandBox:(BOOL)useSandBox enableCrashReporting:(BOOL)enableCrashReporting withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
6
- RCT_EXTERN_METHOD(initialize:(BOOL)useSandBox withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
4
+ RCT_EXTERN_METHOD(initialize:(BOOL)useSandBox
5
+ enableCrashReporting:(BOOL)enableCrashReporting
6
+ config:(nullable NSDictionary *)config
7
+ apiKey:(nullable NSString *)apiKey
8
+ withResolver:(RCTPromiseResolveBlock)resolve
9
+ withRejecter:(RCTPromiseRejectBlock)reject)
7
10
  RCT_EXTERN_METHOD(setCallbackUrl:(NSString)callbackUrl withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
8
11
  RCT_EXTERN_METHOD(setAllowOfflineMode:(BOOL)allowOfflineMode withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)
9
12
  RCT_EXTERN_METHOD(submitJob:(NSString *)jobId withResolver:(RCTPromiseResolveBlock)resolve withRejecter:(RCTPromiseRejectBlock)reject)