@smile_identity/react-native 10.2.2 → 10.2.4-beta.1

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 (159) hide show
  1. package/README.md +4 -28
  2. package/android/build.gradle +4 -1
  3. package/android/gradle.properties +3 -3
  4. package/android/src/main/java/com/smileidentity/react/Mapper.kt +21 -5
  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/fragments/SmileCaptureFragment.kt +56 -0
  8. package/android/src/main/java/com/smileidentity/react/results/BiometricKycCaptureResult.kt +9 -0
  9. package/android/src/main/java/com/smileidentity/react/results/SmartSelfieCaptureResult.kt +3 -2
  10. package/android/src/main/java/com/smileidentity/react/utils/BiometricKycCaptureResultAdapter.kt +69 -0
  11. package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +16 -0
  12. package/android/src/main/java/com/smileidentity/react/utils/SelfieCaptureResultAdapter.kt +0 -2
  13. package/android/src/main/java/com/smileidentity/react/viewmanagers/BaseSmileIDViewManager.kt +130 -0
  14. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +22 -46
  15. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +27 -52
  16. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentCaptureViewManager.kt +15 -40
  17. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +23 -49
  18. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +28 -47
  19. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.kt +39 -0
  20. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +16 -40
  21. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieCaptureViewManager.kt +15 -38
  22. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.kt +39 -0
  23. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +15 -44
  24. package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +14 -7
  25. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentCaptureView.kt +9 -0
  26. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt +2 -4
  27. package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +11 -5
  28. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationEnhancedView.kt +61 -0
  29. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationView.kt +0 -2
  30. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieCaptureView.kt +38 -25
  31. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentEnhancedView.kt +68 -0
  32. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +35 -30
  33. package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +11 -10
  34. package/android/src/main/res/values/colors.xml +14 -0
  35. package/android/src/main/res/values/strings.xml +91 -0
  36. package/android/src/oldarch/SmileIdSpec.kt +3 -12
  37. package/ios/RNSmileID.mm +6 -3
  38. package/ios/RNSmileID.swift +470 -477
  39. package/ios/View/SmileIDSmartSelfieAuthEnhancedView.swift +44 -0
  40. package/ios/View/SmileIDSmartSelfieAuthView.swift +2 -3
  41. package/ios/View/SmileIDSmartSelfieCaptureView.swift +2 -2
  42. package/ios/View/SmileIDSmartSelfieEnrollmentEnhancedView.swift +44 -0
  43. package/ios/ViewManagers/SmileIDBaseViewManager.swift +24 -20
  44. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +4 -1
  45. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +24 -24
  46. package/ios/ViewManagers/SmileIDConsentViewManager.m +4 -1
  47. package/ios/ViewManagers/SmileIDConsentViewManager.swift +1 -1
  48. package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.m +4 -1
  49. package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.swift +1 -1
  50. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +4 -1
  51. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +1 -1
  52. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +4 -1
  53. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +1 -1
  54. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.m +10 -0
  55. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.swift +25 -0
  56. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +4 -1
  57. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +1 -1
  58. package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.m +4 -1
  59. package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.swift +1 -1
  60. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.m +10 -0
  61. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.swift +25 -0
  62. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +4 -1
  63. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +1 -1
  64. package/lib/commonjs/NativeSmileId.js.map +1 -1
  65. package/lib/commonjs/SmileIDBiometricKYCView.js +18 -29
  66. package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -1
  67. package/lib/commonjs/SmileIDConsentView.js +9 -29
  68. package/lib/commonjs/SmileIDConsentView.js.map +1 -1
  69. package/lib/commonjs/SmileIDDocumentCaptureView.js +9 -29
  70. package/lib/commonjs/SmileIDDocumentCaptureView.js.map +1 -1
  71. package/lib/commonjs/SmileIDDocumentVerificationView.js +9 -29
  72. package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -1
  73. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +17 -28
  74. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
  75. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js +20 -0
  76. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
  77. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +9 -29
  78. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
  79. package/lib/commonjs/SmileIDSmartSelfieCaptureView.js +9 -29
  80. package/lib/commonjs/SmileIDSmartSelfieCaptureView.js.map +1 -1
  81. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js +20 -0
  82. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
  83. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +9 -29
  84. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
  85. package/lib/commonjs/index.js +26 -2
  86. package/lib/commonjs/index.js.map +1 -1
  87. package/lib/commonjs/types.js.map +1 -1
  88. package/lib/commonjs/useSmileIDView.js +55 -0
  89. package/lib/commonjs/useSmileIDView.js.map +1 -0
  90. package/lib/module/NativeSmileId.js.map +1 -1
  91. package/lib/module/SmileIDBiometricKYCView.js +18 -26
  92. package/lib/module/SmileIDBiometricKYCView.js.map +1 -1
  93. package/lib/module/SmileIDConsentView.js +9 -26
  94. package/lib/module/SmileIDConsentView.js.map +1 -1
  95. package/lib/module/SmileIDDocumentCaptureView.js +9 -26
  96. package/lib/module/SmileIDDocumentCaptureView.js.map +1 -1
  97. package/lib/module/SmileIDDocumentVerificationView.js +9 -26
  98. package/lib/module/SmileIDDocumentVerificationView.js.map +1 -1
  99. package/lib/module/SmileIDEnhancedDocumentVerificationView.js +17 -25
  100. package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
  101. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js +13 -0
  102. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -0
  103. package/lib/module/SmileIDSmartSelfieAuthenticationView.js +9 -26
  104. package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
  105. package/lib/module/SmileIDSmartSelfieCaptureView.js +9 -26
  106. package/lib/module/SmileIDSmartSelfieCaptureView.js.map +1 -1
  107. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js +13 -0
  108. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -0
  109. package/lib/module/SmileIDSmartSelfieEnrollmentView.js +9 -26
  110. package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
  111. package/lib/module/index.js +10 -4
  112. package/lib/module/index.js.map +1 -1
  113. package/lib/module/types.js.map +1 -1
  114. package/lib/module/useSmileIDView.js +48 -0
  115. package/lib/module/useSmileIDView.js.map +1 -0
  116. package/lib/typescript/NativeSmileId.d.ts +6 -4
  117. package/lib/typescript/NativeSmileId.d.ts.map +1 -1
  118. package/lib/typescript/SmileIDBiometricKYCView.d.ts +3 -6
  119. package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -1
  120. package/lib/typescript/SmileIDConsentView.d.ts +3 -6
  121. package/lib/typescript/SmileIDConsentView.d.ts.map +1 -1
  122. package/lib/typescript/SmileIDDocumentCaptureView.d.ts +4 -7
  123. package/lib/typescript/SmileIDDocumentCaptureView.d.ts.map +1 -1
  124. package/lib/typescript/SmileIDDocumentVerificationView.d.ts +3 -6
  125. package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -1
  126. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +3 -6
  127. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -1
  128. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts +5 -0
  129. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts.map +1 -0
  130. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +3 -6
  131. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -1
  132. package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts +3 -6
  133. package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts.map +1 -1
  134. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts +5 -0
  135. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts.map +1 -0
  136. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +3 -6
  137. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -1
  138. package/lib/typescript/index.d.ts +12 -6
  139. package/lib/typescript/index.d.ts.map +1 -1
  140. package/lib/typescript/types.d.ts +2 -0
  141. package/lib/typescript/types.d.ts.map +1 -1
  142. package/lib/typescript/useSmileIDView.d.ts +12 -0
  143. package/lib/typescript/useSmileIDView.d.ts.map +1 -0
  144. package/package.json +1 -1
  145. package/react-native-smile-id.podspec +1 -1
  146. package/src/NativeSmileId.ts +10 -14
  147. package/src/SmileIDBiometricKYCView.tsx +14 -30
  148. package/src/SmileIDConsentView.tsx +7 -30
  149. package/src/SmileIDDocumentCaptureView.tsx +12 -36
  150. package/src/SmileIDDocumentVerificationView.tsx +9 -36
  151. package/src/SmileIDEnhancedDocumentVerificationView.tsx +23 -35
  152. package/src/SmileIDSmartSelfieAuthenticationEnhancedView.tsx +28 -0
  153. package/src/SmileIDSmartSelfieAuthenticationView.tsx +10 -37
  154. package/src/SmileIDSmartSelfieCaptureView.tsx +9 -33
  155. package/src/SmileIDSmartSelfieEnrollmentEnhancedView.tsx +25 -0
  156. package/src/SmileIDSmartSelfieEnrollmentView.tsx +10 -37
  157. package/src/index.tsx +21 -2
  158. package/src/types.ts +8 -0
  159. package/src/useSmileIDView.tsx +80 -0
@@ -1,19 +1,23 @@
1
1
  package com.smileidentity.react.views
2
2
 
3
+ import android.content.Context
4
+ import android.util.Log
3
5
  import androidx.compose.runtime.CompositionLocalProvider
4
6
  import androidx.compose.runtime.saveable.rememberSaveable
5
7
  import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
6
- import com.facebook.react.bridge.ReactApplicationContext
7
8
  import com.smileidentity.SmileID
8
9
  import com.smileidentity.compose.SmartSelfieEnrollment
9
10
  import com.smileidentity.react.results.SmartSelfieCaptureResult
10
11
  import com.smileidentity.react.utils.SelfieCaptureResultAdapter
11
12
  import com.smileidentity.results.SmileIDResult
12
13
  import com.smileidentity.util.randomUserId
13
- import kotlinx.collections.immutable.toImmutableMap
14
-
15
- class SmileIDSmartSelfieEnrollmentView(context: ReactApplicationContext) : SmileIDView(context) {
14
+ import kotlinx.coroutines.CoroutineScope
15
+ import kotlinx.coroutines.Dispatchers
16
+ import kotlinx.coroutines.Job
17
+ import kotlinx.coroutines.launch
16
18
 
19
+ class SmileIDSmartSelfieEnrollmentView(context: Context) : SmileIDView(context) {
20
+ private val viewScope = CoroutineScope(Dispatchers.Main + Job())
17
21
  override fun renderContent() {
18
22
  composeView.apply {
19
23
  setContent {
@@ -25,37 +29,38 @@ class SmileIDSmartSelfieEnrollmentView(context: ReactApplicationContext) : Smile
25
29
  allowNewEnroll = allowNewEnroll ?: false,
26
30
  showAttribution = showAttribution,
27
31
  showInstructions = showInstructions,
28
- skipApiSubmission = skipApiSubmission,
29
32
  extraPartnerParams = extraPartnerParams,
30
33
  ) { res ->
31
- when (res) {
32
- is SmileIDResult.Success -> {
33
- val result =
34
- SmartSelfieCaptureResult(
35
- selfieFile = res.data.selfieFile,
36
- livenessFiles = res.data.livenessFiles,
37
- apiResponse = res.data.apiResponse,
38
- )
39
- val newMoshi =
40
- SmileID.moshi
41
- .newBuilder()
42
- .add(SelfieCaptureResultAdapter.FACTORY)
43
- .build()
44
- val json =
45
- try {
46
- newMoshi
47
- .adapter(SmartSelfieCaptureResult::class.java)
48
- .toJson(result)
49
- } catch (e: Exception) {
50
- emitFailure(e)
51
- return@SmartSelfieEnrollment
34
+ viewScope.launch {
35
+ when (res) {
36
+ is SmileIDResult.Success -> {
37
+ val result =
38
+ SmartSelfieCaptureResult(
39
+ selfieFile = res.data.selfieFile,
40
+ livenessFiles = res.data.livenessFiles,
41
+ apiResponse = res.data.apiResponse,
42
+ )
43
+ val newMoshi =
44
+ SmileID.moshi
45
+ .newBuilder()
46
+ .add(SelfieCaptureResultAdapter.FACTORY)
47
+ .build()
48
+ val json =
49
+ try {
50
+ newMoshi
51
+ .adapter(SmartSelfieCaptureResult::class.java)
52
+ .toJson(result)
53
+ } catch (e: Exception) {
54
+ emitFailure(e)
55
+ return@launch
56
+ }
57
+ json?.let { js ->
58
+ emitSuccess(js)
52
59
  }
53
- json?.let { js ->
54
- emitSuccess(js)
55
60
  }
56
- }
57
61
 
58
- is SmileIDResult.Error -> emitFailure(res.throwable)
62
+ is SmileIDResult.Error -> emitFailure(res.throwable)
63
+ }
59
64
  }
60
65
  }
61
66
  }
@@ -1,6 +1,7 @@
1
1
  package com.smileidentity.react.views
2
2
 
3
3
  import android.annotation.SuppressLint
4
+ import android.content.Context
4
5
  import android.view.Choreographer
5
6
  import android.view.ViewGroup
6
7
  import android.widget.LinearLayout
@@ -8,27 +9,31 @@ import androidx.compose.ui.platform.ComposeView
8
9
  import androidx.core.view.contains
9
10
  import com.facebook.react.bridge.Arguments
10
11
  import com.facebook.react.bridge.ReactApplicationContext
11
- import com.facebook.react.bridge.ReactContext
12
12
  import com.facebook.react.bridge.WritableMap
13
- import com.facebook.react.uimanager.events.RCTEventEmitter
14
13
  import com.smileidentity.models.JobType
15
14
  import kotlinx.collections.immutable.ImmutableMap
16
15
  import kotlinx.collections.immutable.persistentMapOf
17
16
  import timber.log.Timber
18
17
 
18
+
19
+ interface SmileViewListener {
20
+ fun emitSuccess(map: WritableMap)
21
+ }
22
+
19
23
  @SuppressLint("CheckResult")
20
- abstract class SmileIDView(context: ReactApplicationContext) : LinearLayout(context) {
24
+ abstract class SmileIDView(private val currentContext: Context) : LinearLayout(currentContext) {
25
+
21
26
  lateinit var composeView: ComposeView
22
27
  var userId: String? = null
23
28
  var jobId: String? = null
24
29
  private var jobType: JobType? = null
25
30
  var allowAgentMode: Boolean? = false
31
+ var smileViewListener: SmileViewListener? = null
26
32
  var allowNewEnroll: Boolean? = false
27
33
  var showInstructions: Boolean = true
28
34
  var skipApiSubmission: Boolean = false
29
35
  var showAttribution: Boolean = true
30
36
  var extraPartnerParams: ImmutableMap<String, String> = persistentMapOf()
31
- private var eventEmitter: RCTEventEmitter
32
37
  private var productThrowable: Throwable? = null
33
38
 
34
39
  init {
@@ -36,8 +41,6 @@ abstract class SmileIDView(context: ReactApplicationContext) : LinearLayout(cont
36
41
  ViewGroup.LayoutParams.WRAP_CONTENT,
37
42
  ViewGroup.LayoutParams.WRAP_CONTENT
38
43
  )
39
-
40
- eventEmitter = (context as ReactContext).getJSModule(RCTEventEmitter::class.java);
41
44
  setLayoutParams(layoutParams)
42
45
  orientation = VERTICAL
43
46
  render()
@@ -50,7 +53,7 @@ abstract class SmileIDView(context: ReactApplicationContext) : LinearLayout(cont
50
53
  if (::composeView.isInitialized && contains(composeView)) {
51
54
  removeView(composeView)
52
55
  }
53
- (context as ReactContext).currentActivity?.let {
56
+ (context as ReactApplicationContext).currentActivity?.let {
54
57
  it.runOnUiThread {
55
58
  composeView = ComposeView(it)
56
59
  composeView.layoutParams = ViewGroup.LayoutParams(
@@ -77,9 +80,7 @@ abstract class SmileIDView(context: ReactApplicationContext) : LinearLayout(cont
77
80
  }
78
81
 
79
82
  open fun sendEvent(map: WritableMap) {
80
- val reactContext = context as ReactContext
81
- reactContext.getJSModule(RCTEventEmitter::class.java)
82
- .receiveEvent(id, "onSmileResult", map)
83
+ smileViewListener?.emitSuccess(map)
83
84
  }
84
85
 
85
86
  open fun emitFailure(error: Throwable?) {
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+ <!-- White label the brand-neutral SDK with Smile branding -->
4
+ <color name="si_color_on_dark">#FFF6EDE4</color>
5
+ <color name="si_color_on_light">#FF2D2B2A</color>
6
+ <color name="si_color_accent">#FF151F72</color>
7
+ <color name="si_color_success">#FF2CC05C</color>
8
+ <color name="si_color_error">#FF91180F</color>
9
+ <color name="si_color_background_dark">#FFC0C0A5</color>
10
+ <color name="si_color_background_main">#FFDBDBC4</color>
11
+ <color name="si_color_background_light">#FFE2DCD5</color>
12
+ <color name="si_color_background_lightest">#FFF9F0E7</color>
13
+ <color name="si_color_material_surface">@color/si_color_background_dark</color>
14
+ </resources>
@@ -0,0 +1,91 @@
1
+ <resources>
2
+ <string name="app_name">Smile ID</string>
3
+ <string name="production">Production</string>
4
+ <string name="sandbox">Sandbox</string>
5
+ <string name="home">Home</string>
6
+ <string name="back">Back</string>
7
+ <string name="scan_qr_code">Scan QR Code from Portal</string>
8
+ <string name="test_our_products">Test Our Products</string>
9
+ <string name="product_name_icon">%1$s icon</string>
10
+ <string name="okay">Okay</string>
11
+ <string name="cancel">Cancel</string>
12
+ <string name="cont">Continue</string>
13
+ <string name="loading">Loading…</string>
14
+ <string name="search">Search</string>
15
+ <string name="version_info">Partner %1$s • %2$s</string>
16
+ <string name="try_again">Try Again</string>
17
+ <string name="something_went_wrong">Something went wrong</string>
18
+ <string name="warning_no_internet">No internet connection</string>
19
+ <string name="applying_config">Applying config…</string>
20
+
21
+ <!-- Jobs Screen -->
22
+ <string name="jobs">Jobs</string>
23
+ <string name="jobs_clear_jobs_icon_tooltip">Clear Job History</string>
24
+ <string name="jobs_no_jobs_found">No jobs found</string>
25
+ <string name="jobs_detail_user_id_label">User ID</string>
26
+ <string name="jobs_detail_job_id_label">Job ID</string>
27
+ <string name="jobs_detail_smile_job_id_label">Smile Job ID</string>
28
+ <string name="jobs_detail_result_code_label">Result Code</string>
29
+ <string name="jobs_detail_code_label">Code</string>
30
+
31
+ <!-- Resources Screen -->
32
+ <string name="resources">Resources</string>
33
+ <string name="resources_explore_docs_title">Explore our documentation</string>
34
+ <string name="resources_explore_docs_subtitle">Read everything related to our solution stack</string>
35
+ <string name="resources_privacy_policy_title">Privacy Policy</string>
36
+ <string name="resources_privacy_policy_subtitle">Learn more about how we handle data</string>
37
+ <string name="resources_faqs_title">View FAQs</string>
38
+ <string name="resources_faqs_subtitle">Explore frequently asked questions</string>
39
+ <string name="resources_supported_types_title">Supported ID types and documents</string>
40
+ <string name="resources_supported_types_subtitle">See our coverage range across the continent</string>
41
+ <string name="about_us_who_we_are">Who we are</string>
42
+ <string name="about_us_who_we_are_content">Smile ID products are tools for developers to perform real-time digital KYC, identity verification, user onboarding, and user authentication across Africa</string>
43
+ <string name="about_us_visit_our_website">Visit our website</string>
44
+ <string name="about_us_contact_support">Contact support</string>
45
+
46
+ <!-- Root Screen -->
47
+ <string name="root_welcome">Welcome to our Sample App!</string>
48
+ <string name="root_description">To begin testing on this app, you need to add a configuration from Smile Portal. \n\nSee link here: \n<annotation is_url="true">portal.usesmileid.com/sdk</annotation></string>
49
+ <string name="root_scan_qr">Scan Configuration QR</string>
50
+ <string name="root_add_config">Add Config manually</string>
51
+ <string name="root_config_added">Configuration Added</string>
52
+ <string name="root_config_added_welcome">Welcome Partner %1$s, you can now proceed to the home screen of the Sample App</string>
53
+
54
+ <!-- Settings Screen -->
55
+ <string name="settings">Settings</string>
56
+ <string name="settings_add_smile_config">Add your config manually</string>
57
+ <string name="settings_update_smile_config">Apply config</string>
58
+ <string name="settings_smile_config_error">There is an error in your Smile Config</string>
59
+
60
+ <!-- SmartSelfie Auth -->
61
+ <string name="user_id_label">User ID</string>
62
+ <string name="user_id_dialog_title">Enter User ID</string>
63
+ <string name="user_id_dialog_supporting_text">From a previous successful SmartSelfie™ Enrollment</string>
64
+
65
+ <!-- Enhanced KYC -->
66
+ <string name="enhanced_kyc_product_name">Enhanced KYC</string>
67
+ <string name="enhanced_kyc_instructions">Provide ID Information</string>
68
+ <string name="enhanced_kyc_country_picker_label">Country</string>
69
+ <string name="enhanced_kyc_id_type_picker_label">ID Type</string>
70
+ <string name="enhanced_kyc_submit_button">Submit</string>
71
+ <string name="enhanced_kyc_processing_title">Processing Enhanced KYC…</string>
72
+ <string name="enhanced_kyc_processing_subtitle">Just a few more seconds</string>
73
+ <string name="enhanced_kyc_processing_success_title">Enhanced KYC Complete</string>
74
+ <string name="enhanced_kyc_processing_success_subtitle">You can now proceed</string>
75
+ <string name="enhanced_kyc_processing_error_title">Enhanced KYC Failed</string>
76
+ <string name="enhanced_kyc_processing_error_subtitle">This could be because of internet connectivity</string>
77
+ <string name="enhanced_kyc_processing_continue_button">Continue</string>
78
+ <string name="enhanced_kyc_processing_retry_button">Retry</string>
79
+ <string name="enhanced_kyc_processing_close_button">Close</string>
80
+
81
+ <!-- Biometric KYC -->
82
+ <string name="biometric_kyc_instructions">Provide ID Information</string>
83
+ <string name="biometric_kyc_enter_id_info">Enter ID Information</string>
84
+
85
+ <!-- Document Verification -->
86
+ <string name="doc_v_select_country">Select Country of Issue</string>
87
+ <string name="doc_v_country_search_field_hint">Select Country</string>
88
+ <string name="doc_v_select_id_type">Select ID Type</string>
89
+ <string name="doc_v_info_title">Get Your ID Verified</string>
90
+ <string name="doc_v_info_subtitle">We need a valid document to verify who you are.</string>
91
+ </resources>
@@ -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)