@smile_identity/react-native 10.2.3 → 10.2.4

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 (139) hide show
  1. package/android/build.gradle +4 -1
  2. package/android/gradle.properties +1 -1
  3. package/android/src/main/java/com/smileidentity/react/Mapper.kt +19 -2
  4. package/android/src/main/java/com/smileidentity/react/fragments/SmileCaptureFragment.kt +56 -0
  5. package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +16 -0
  6. package/android/src/main/java/com/smileidentity/react/viewmanagers/BaseSmileIDViewManager.kt +130 -0
  7. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +22 -46
  8. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +27 -52
  9. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentCaptureViewManager.kt +15 -40
  10. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +23 -49
  11. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +28 -47
  12. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.kt +12 -37
  13. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +16 -40
  14. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieCaptureViewManager.kt +15 -38
  15. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.kt +13 -38
  16. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +15 -44
  17. package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +7 -0
  18. package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +8 -0
  19. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieCaptureView.kt +38 -25
  20. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentEnhancedView.kt +29 -21
  21. package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +35 -28
  22. package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +11 -10
  23. package/android/src/main/res/values/colors.xml +14 -0
  24. package/android/src/main/res/values/strings.xml +91 -0
  25. package/ios/RNDelegates/SmileIDUIViewDelegate.swift +2 -0
  26. package/ios/RNSmileID.swift +470 -471
  27. package/ios/Utils/FileUtils.swift +17 -17
  28. package/ios/Utils/SmileIDDictExt.swift +14 -9
  29. package/ios/View/BaseSmileIDView.swift +6 -5
  30. package/ios/View/SmileIDBiometricKYCView.swift +54 -54
  31. package/ios/View/SmileIDConsentView.swift +2 -1
  32. package/ios/View/SmileIDDocumentCaptureView.swift +64 -64
  33. package/ios/View/SmileIDDocumentVerificationView.swift +51 -51
  34. package/ios/View/SmileIDEnhancedDocumentVerificationView.swift +51 -50
  35. package/ios/View/SmileIDSmartSelfieAuthEnhancedView.swift +34 -33
  36. package/ios/View/SmileIDSmartSelfieAuthView.swift +35 -34
  37. package/ios/View/SmileIDSmartSelfieCaptureView.swift +55 -55
  38. package/ios/View/SmileIDSmartSelfieEnrollmentEnhancedView.swift +35 -34
  39. package/ios/View/SmileIDSmartSelfieEnrollmentView.swift +37 -36
  40. package/ios/ViewManagers/SmileIDBaseViewManager.swift +22 -5
  41. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +4 -1
  42. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +2 -2
  43. package/ios/ViewManagers/SmileIDConsentViewManager.m +4 -1
  44. package/ios/ViewManagers/SmileIDConsentViewManager.swift +2 -2
  45. package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.m +4 -1
  46. package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.swift +19 -19
  47. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +4 -1
  48. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +40 -40
  49. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +4 -1
  50. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +40 -40
  51. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.m +4 -1
  52. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.swift +16 -16
  53. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +4 -1
  54. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +20 -20
  55. package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.m +4 -1
  56. package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.swift +27 -26
  57. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.m +4 -1
  58. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.swift +16 -16
  59. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +4 -1
  60. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +20 -20
  61. package/ios/ViewModels/SmileIDProductModel.swift +5 -5
  62. package/lib/commonjs/SmileIDBiometricKYCView.js +18 -29
  63. package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -1
  64. package/lib/commonjs/SmileIDConsentView.js +9 -29
  65. package/lib/commonjs/SmileIDConsentView.js.map +1 -1
  66. package/lib/commonjs/SmileIDDocumentCaptureView.js +9 -29
  67. package/lib/commonjs/SmileIDDocumentCaptureView.js.map +1 -1
  68. package/lib/commonjs/SmileIDDocumentVerificationView.js +9 -29
  69. package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -1
  70. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +17 -28
  71. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
  72. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js +9 -29
  73. package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -1
  74. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +9 -29
  75. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
  76. package/lib/commonjs/SmileIDSmartSelfieCaptureView.js +9 -29
  77. package/lib/commonjs/SmileIDSmartSelfieCaptureView.js.map +1 -1
  78. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js +9 -29
  79. package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -1
  80. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +9 -29
  81. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
  82. package/lib/commonjs/useSmileIDView.js +65 -0
  83. package/lib/commonjs/useSmileIDView.js.map +1 -0
  84. package/lib/module/SmileIDBiometricKYCView.js +18 -26
  85. package/lib/module/SmileIDBiometricKYCView.js.map +1 -1
  86. package/lib/module/SmileIDConsentView.js +9 -26
  87. package/lib/module/SmileIDConsentView.js.map +1 -1
  88. package/lib/module/SmileIDDocumentCaptureView.js +9 -26
  89. package/lib/module/SmileIDDocumentCaptureView.js.map +1 -1
  90. package/lib/module/SmileIDDocumentVerificationView.js +9 -26
  91. package/lib/module/SmileIDDocumentVerificationView.js.map +1 -1
  92. package/lib/module/SmileIDEnhancedDocumentVerificationView.js +17 -25
  93. package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
  94. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js +9 -26
  95. package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -1
  96. package/lib/module/SmileIDSmartSelfieAuthenticationView.js +9 -26
  97. package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
  98. package/lib/module/SmileIDSmartSelfieCaptureView.js +9 -26
  99. package/lib/module/SmileIDSmartSelfieCaptureView.js.map +1 -1
  100. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js +9 -26
  101. package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -1
  102. package/lib/module/SmileIDSmartSelfieEnrollmentView.js +9 -26
  103. package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
  104. package/lib/module/useSmileIDView.js +58 -0
  105. package/lib/module/useSmileIDView.js.map +1 -0
  106. package/lib/typescript/SmileIDBiometricKYCView.d.ts +3 -6
  107. package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -1
  108. package/lib/typescript/SmileIDConsentView.d.ts +3 -6
  109. package/lib/typescript/SmileIDConsentView.d.ts.map +1 -1
  110. package/lib/typescript/SmileIDDocumentCaptureView.d.ts +3 -6
  111. package/lib/typescript/SmileIDDocumentCaptureView.d.ts.map +1 -1
  112. package/lib/typescript/SmileIDDocumentVerificationView.d.ts +3 -6
  113. package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -1
  114. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +3 -6
  115. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -1
  116. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts +3 -6
  117. package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts.map +1 -1
  118. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +3 -6
  119. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -1
  120. package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts +3 -6
  121. package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts.map +1 -1
  122. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts +3 -6
  123. package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts.map +1 -1
  124. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +3 -6
  125. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -1
  126. package/lib/typescript/useSmileIDView.d.ts +12 -0
  127. package/lib/typescript/useSmileIDView.d.ts.map +1 -0
  128. package/package.json +1 -1
  129. package/src/SmileIDBiometricKYCView.tsx +14 -30
  130. package/src/SmileIDConsentView.tsx +7 -30
  131. package/src/SmileIDDocumentCaptureView.tsx +9 -33
  132. package/src/SmileIDDocumentVerificationView.tsx +9 -36
  133. package/src/SmileIDEnhancedDocumentVerificationView.tsx +23 -35
  134. package/src/SmileIDSmartSelfieAuthenticationEnhancedView.tsx +17 -36
  135. package/src/SmileIDSmartSelfieAuthenticationView.tsx +10 -37
  136. package/src/SmileIDSmartSelfieCaptureView.tsx +9 -33
  137. package/src/SmileIDSmartSelfieEnrollmentEnhancedView.tsx +14 -36
  138. package/src/SmileIDSmartSelfieEnrollmentView.tsx +10 -37
  139. package/src/useSmileIDView.tsx +88 -0
@@ -2,6 +2,7 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
@@ -10,67 +11,40 @@ import com.smileidentity.react.utils.getFloatOrDefault
10
11
  import com.smileidentity.react.utils.getImmutableMapOrDefault
11
12
  import com.smileidentity.react.utils.getStringOrDefault
12
13
  import com.smileidentity.react.views.SmileIDDocumentVerificationView
14
+ import com.smileidentity.react.views.SmileIDEnhancedDocumentVerificationView
13
15
 
14
16
  @ReactModule(name = SmileIDDocumentVerificationViewManager.NAME)
15
17
  class SmileIDDocumentVerificationViewManager(
16
18
  private val reactApplicationContext: ReactApplicationContext
17
- ) : SimpleViewManager<SmileIDDocumentVerificationView>() {
19
+ ) : BaseSmileIDViewManager<SmileIDDocumentVerificationView>(reactApplicationContext) {
18
20
 
19
21
  override fun getName(): String = NAME
20
-
21
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
22
- return mapOf(
23
- "onSmileResult" to mapOf(
24
- "phasedRegistrationNames" to mapOf(
25
- "bubbled" to "onResult"
26
- )
27
- )
28
- )
29
- }
30
-
31
- override fun getCommandsMap(): Map<String, Int> {
32
- return mapOf("setParams" to COMMAND_SET_PARAMS)
22
+ override fun createSmileView(): SmileIDDocumentVerificationView {
23
+ return SmileIDDocumentVerificationView(reactApplicationContext)
33
24
  }
34
25
 
35
- override fun receiveCommand(
36
- view: SmileIDDocumentVerificationView,
37
- commandId: String?,
38
- args: ReadableArray?
39
- ) {
40
- super.receiveCommand(view, commandId, args)
41
- when (commandId?.toInt()) {
42
- COMMAND_SET_PARAMS -> {
43
- // Extract params from args and apply to view
44
- val params = args?.getMap(0)
45
- params?.let {
46
- val countryCode = params.getString("countryCode")
47
- ?: return view.emitFailure(IllegalArgumentException("countryCode is required to run Document Verification"))
48
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
49
- view.userId = params.getStringOrDefault("userId")
50
- view.jobId = params.getStringOrDefault("jobId")
51
- view.countryCode = countryCode
52
- view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
53
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
54
- view.captureBothSides = params.getBoolOrDefault("captureBothSides", false)
55
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
56
- view.allowGalleryUpload = params.getBoolOrDefault("allowGalleryUpload", false)
57
- view.bypassSelfieCaptureWithFilePath = params.getStringOrDefault("bypassSelfieCaptureWithFilePath", null)
58
- view.documentType = params.getStringOrDefault("documentType", null)
59
- view.idAspectRatio = params.getFloatOrDefault("idAspectRatio")
60
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
61
- view.skipApiSubmission = params.getBoolOrDefault("skipApiSubmission", false)
62
- view.renderContent()
63
- }
64
- }
26
+ override fun applyArgs(view: SmileIDDocumentVerificationView, args: ReadableMap?) {
27
+ args?.let {
28
+ val countryCode = it.getString("countryCode")
29
+ ?: return view.emitFailure(IllegalArgumentException("countryCode is required to run Document Verification"))
30
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
31
+ view.userId = it.getStringOrDefault("userId")
32
+ view.jobId = it.getStringOrDefault("jobId")
33
+ view.countryCode = countryCode
34
+ view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
35
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
36
+ view.captureBothSides = it.getBoolOrDefault("captureBothSides", false)
37
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
38
+ view.allowGalleryUpload = it.getBoolOrDefault("allowGalleryUpload", false)
39
+ view.bypassSelfieCaptureWithFilePath = it.getStringOrDefault("bypassSelfieCaptureWithFilePath", null)
40
+ view.documentType = it.getStringOrDefault("documentType", null)
41
+ view.idAspectRatio = it.getFloatOrDefault("idAspectRatio")
42
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
43
+ view.skipApiSubmission = it.getBoolOrDefault("skipApiSubmission", false)
65
44
  }
66
45
  }
67
46
 
68
- override fun createViewInstance(p0: ThemedReactContext): SmileIDDocumentVerificationView {
69
- return SmileIDDocumentVerificationView(reactApplicationContext)
70
- }
71
-
72
47
  companion object {
73
48
  const val NAME = "SmileIDDocumentVerificationView"
74
- const val COMMAND_SET_PARAMS = 4
75
49
  }
76
50
  }
@@ -2,74 +2,55 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
9
+ import com.smileidentity.react.toConsentInfo
10
+ import com.smileidentity.react.toIdInfo
8
11
  import com.smileidentity.react.utils.getBoolOrDefault
9
12
  import com.smileidentity.react.utils.getFloatOrDefault
10
13
  import com.smileidentity.react.utils.getImmutableMapOrDefault
14
+ import com.smileidentity.react.utils.getMapOrDefault
11
15
  import com.smileidentity.react.utils.getStringOrDefault
12
16
  import com.smileidentity.react.views.SmileIDEnhancedDocumentVerificationView
17
+ import com.smileidentity.react.views.SmileIDSmartSelfieAuthenticationEnhancedView
13
18
 
14
19
  @ReactModule(name = SmileIDEnhancedDocumentVerificationViewManager.NAME)
15
20
  class SmileIDEnhancedDocumentVerificationViewManager(
16
21
  private val reactApplicationContext: ReactApplicationContext
17
- ) : SimpleViewManager<SmileIDEnhancedDocumentVerificationView>() {
22
+ ) : BaseSmileIDViewManager<SmileIDEnhancedDocumentVerificationView>(reactApplicationContext) {
18
23
 
19
24
  override fun getName(): String = NAME
20
25
 
21
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
22
- return mapOf(
23
- "onSmileResult" to mapOf(
24
- "phasedRegistrationNames" to mapOf(
25
- "bubbled" to "onResult"
26
- )
27
- )
28
- )
29
- }
30
-
31
- override fun getCommandsMap(): Map<String, Int> {
32
- return mapOf("setParams" to COMMAND_SET_PARAMS)
26
+ override fun createSmileView(): SmileIDEnhancedDocumentVerificationView {
27
+ return SmileIDEnhancedDocumentVerificationView(reactApplicationContext)
33
28
  }
34
29
 
35
- override fun receiveCommand(
36
- view: SmileIDEnhancedDocumentVerificationView,
37
- commandId: String?,
38
- args: ReadableArray?
39
- ) {
40
- super.receiveCommand(view, commandId, args)
41
- when (commandId?.toInt()) {
42
- COMMAND_SET_PARAMS -> {
43
- // Extract params from args and apply to view
44
- val params = args?.getMap(0)
45
- params?.let {
46
- val countryCode = params.getString("countryCode")
47
- ?: return view.emitFailure(IllegalArgumentException("countryCode is required to run Enhanced Document Verification"))
48
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
49
- view.userId = params.getStringOrDefault("userId")
50
- view.jobId = params.getStringOrDefault("jobId")
51
- view.countryCode = countryCode
52
- view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
53
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
54
- view.captureBothSides = params.getBoolOrDefault("captureBothSides", false)
55
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
56
- view.allowGalleryUpload = params.getBoolOrDefault("allowGalleryUpload", false)
57
- view.documentType = params.getStringOrDefault("documentType")
58
- view.idAspectRatio = params.getFloatOrDefault("idAspectRatio")
59
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
60
- view.skipApiSubmission = params.getBoolOrDefault("skipApiSubmission", false)
61
- view.renderContent()
62
- }
63
- }
30
+ override fun applyArgs(view: SmileIDEnhancedDocumentVerificationView, args: ReadableMap?) {
31
+ args?.let {
32
+ val countryCode = it.getString("countryCode")
33
+ ?: return view.emitFailure(IllegalArgumentException("countryCode is required to run Enhanced Document Verification"))
34
+ val consentInformationMap = it.getMap("consentInformation")
35
+ ?: return view.emitFailure(IllegalArgumentException("consentInformation is required to run Biometric KYC"))
36
+ view.consentInformation = consentInformationMap.toConsentInfo()
37
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
38
+ view.userId = it.getStringOrDefault("userId")
39
+ view.jobId = it.getStringOrDefault("jobId")
40
+ view.countryCode = countryCode
41
+ view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
42
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
43
+ view.captureBothSides = it.getBoolOrDefault("captureBothSides", false)
44
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
45
+ view.allowGalleryUpload = it.getBoolOrDefault("allowGalleryUpload", false)
46
+ view.documentType = it.getStringOrDefault("documentType")
47
+ view.idAspectRatio = it.getFloatOrDefault("idAspectRatio")
48
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
49
+ view.skipApiSubmission = it.getBoolOrDefault("skipApiSubmission", false)
64
50
  }
65
51
  }
66
52
 
67
- override fun createViewInstance(p0: ThemedReactContext): SmileIDEnhancedDocumentVerificationView {
68
- return SmileIDEnhancedDocumentVerificationView(reactApplicationContext)
69
- }
70
-
71
53
  companion object {
72
54
  const val NAME = "SmileIDEnhancedDocumentVerificationView"
73
- const val COMMAND_SET_PARAMS = 3
74
55
  }
75
56
  }
@@ -2,6 +2,7 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
@@ -9,56 +10,30 @@ import com.smileidentity.react.utils.getBoolOrDefault
9
10
  import com.smileidentity.react.utils.getImmutableMapOrDefault
10
11
  import com.smileidentity.react.utils.getStringOrDefault
11
12
  import com.smileidentity.react.views.SmileIDSmartSelfieAuthenticationEnhancedView
13
+ import com.smileidentity.react.views.SmileIDSmartSelfieAuthenticationView
12
14
 
13
15
  @ReactModule(name = SmileIDSmartSelfieAuthenticationEnhancedViewManager.NAME)
14
16
  class SmileIDSmartSelfieAuthenticationEnhancedViewManager(
15
17
  private val reactApplicationContext: ReactApplicationContext
16
- ) : SimpleViewManager<SmileIDSmartSelfieAuthenticationEnhancedView>() {
18
+ ) : BaseSmileIDViewManager<SmileIDSmartSelfieAuthenticationEnhancedView>(reactApplicationContext) {
17
19
 
18
20
  override fun getName(): String = NAME
19
21
 
20
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
21
- return mapOf(
22
- "onSmileResult" to mapOf(
23
- "phasedRegistrationNames" to mapOf(
24
- "bubbled" to "onResult"
25
- )
26
- )
27
- )
28
- }
29
-
30
- override fun getCommandsMap(): Map<String, Int> {
31
- return mapOf("setParams" to COMMAND_SET_PARAMS)
22
+ override fun createSmileView(): SmileIDSmartSelfieAuthenticationEnhancedView {
23
+ return SmileIDSmartSelfieAuthenticationEnhancedView(reactApplicationContext)
32
24
  }
33
25
 
34
- override fun receiveCommand(
35
- view: SmileIDSmartSelfieAuthenticationEnhancedView,
36
- commandId: String?,
37
- args: ReadableArray?
38
- ) {
39
- super.receiveCommand(view, commandId, args)
40
- when (commandId?.toInt()) {
41
- COMMAND_SET_PARAMS -> {
42
- // Extract params from args and apply to view
43
- val params = args?.getMap(0)
44
- params?.let {
45
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
46
- view.userId = params.getStringOrDefault("userId")
47
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
48
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
49
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
50
- view.renderContent()
51
- }
52
- }
26
+ override fun applyArgs(view: SmileIDSmartSelfieAuthenticationEnhancedView, args: ReadableMap?) {
27
+ args?.let {
28
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
29
+ view.userId = it.getStringOrDefault("userId")
30
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
31
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
32
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
53
33
  }
54
34
  }
55
35
 
56
- override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieAuthenticationEnhancedView {
57
- return SmileIDSmartSelfieAuthenticationEnhancedView(reactApplicationContext)
58
- }
59
-
60
36
  companion object {
61
37
  const val NAME = "SmileIDSmartSelfieAuthenticationEnhancedView"
62
- const val COMMAND_SET_PARAMS = 2
63
38
  }
64
39
  }
@@ -2,6 +2,7 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
@@ -9,59 +10,34 @@ import com.smileidentity.react.utils.getBoolOrDefault
9
10
  import com.smileidentity.react.utils.getImmutableMapOrDefault
10
11
  import com.smileidentity.react.utils.getStringOrDefault
11
12
  import com.smileidentity.react.views.SmileIDSmartSelfieAuthenticationView
13
+ import com.smileidentity.react.views.SmileIDSmartSelfieCaptureView
14
+ import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentEnhancedView
12
15
 
13
16
  @ReactModule(name = SmileIDSmartSelfieAuthenticationViewManager.NAME)
14
17
  class SmileIDSmartSelfieAuthenticationViewManager(
15
18
  private val reactApplicationContext: ReactApplicationContext
16
- ) : SimpleViewManager<SmileIDSmartSelfieAuthenticationView>() {
19
+ ) : BaseSmileIDViewManager<SmileIDSmartSelfieAuthenticationView>(reactApplicationContext) {
17
20
 
18
21
  override fun getName(): String = NAME
19
22
 
20
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
21
- return mapOf(
22
- "onSmileResult" to mapOf(
23
- "phasedRegistrationNames" to mapOf(
24
- "bubbled" to "onResult"
25
- )
26
- )
27
- )
28
- }
29
-
30
- override fun getCommandsMap(): Map<String, Int> {
31
- return mapOf("setParams" to COMMAND_SET_PARAMS)
23
+ override fun createSmileView(): SmileIDSmartSelfieAuthenticationView {
24
+ return SmileIDSmartSelfieAuthenticationView(reactApplicationContext)
32
25
  }
33
26
 
34
- override fun receiveCommand(
35
- view: SmileIDSmartSelfieAuthenticationView,
36
- commandId: String?,
37
- args: ReadableArray?
38
- ) {
39
- super.receiveCommand(view, commandId, args)
40
- when (commandId?.toInt()) {
41
- COMMAND_SET_PARAMS -> {
42
- // Extract params from args and apply to view
43
- val params = args?.getMap(0)
44
- params?.let {
45
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
46
- view.userId = params.getStringOrDefault("userId")
47
- view.jobId = params.getStringOrDefault("jobId")
48
- view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
49
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
50
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
51
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
52
- view.skipApiSubmission = params.getBoolOrDefault("skipApiSubmission", false)
53
- view.renderContent()
54
- }
55
- }
27
+ override fun applyArgs(view: SmileIDSmartSelfieAuthenticationView, args: ReadableMap?) {
28
+ args?.let {
29
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
30
+ view.userId = it.getStringOrDefault("userId")
31
+ view.jobId = it.getStringOrDefault("jobId")
32
+ view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
33
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
34
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
35
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
36
+ view.skipApiSubmission = it.getBoolOrDefault("skipApiSubmission", false)
56
37
  }
57
38
  }
58
39
 
59
- override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieAuthenticationView {
60
- return SmileIDSmartSelfieAuthenticationView(reactApplicationContext)
61
- }
62
-
63
40
  companion object {
64
41
  const val NAME = "SmileIDSmartSelfieAuthenticationView"
65
- const val COMMAND_SET_PARAMS = 2
66
42
  }
67
43
  }
@@ -2,62 +2,39 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
8
9
  import com.smileidentity.react.utils.getBoolOrDefault
9
10
  import com.smileidentity.react.utils.getStringOrDefault
10
11
  import com.smileidentity.react.views.SmileIDSmartSelfieCaptureView
12
+ import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentEnhancedView
13
+ import com.smileidentity.react.views.SmileIDView
11
14
 
12
15
  @ReactModule(name = SmileIDSmartSelfieCaptureViewManager.NAME)
13
16
  class SmileIDSmartSelfieCaptureViewManager(
14
17
  private val reactApplicationContext: ReactApplicationContext
15
- ) : SimpleViewManager<SmileIDSmartSelfieCaptureView>() {
18
+ ) : BaseSmileIDViewManager<SmileIDSmartSelfieCaptureView>(reactApplicationContext) {
16
19
  override fun getName(): String = NAME
17
20
 
18
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
19
- return mapOf(
20
- "onSmileResult" to mapOf(
21
- "phasedRegistrationNames" to mapOf(
22
- "bubbled" to "onResult"
23
- )
24
- )
25
- )
26
- }
27
-
28
- override fun getCommandsMap(): Map<String, Int> {
29
- return mapOf("setParams" to COMMAND_SET_PARAMS)
21
+ override fun createSmileView(): SmileIDSmartSelfieCaptureView {
22
+ return SmileIDSmartSelfieCaptureView(reactApplicationContext)
30
23
  }
31
24
 
32
- override fun receiveCommand(
33
- view: SmileIDSmartSelfieCaptureView,
34
- commandId: String?,
35
- args: ReadableArray?
36
- ) {
37
- super.receiveCommand(view, commandId, args)
38
- when (commandId?.toInt()) {
39
- COMMAND_SET_PARAMS -> {
40
- // Extract params from args and apply to view
41
- val params = args?.getMap(0)
42
- params?.let {
43
- view.userId = params.getStringOrDefault("userId")
44
- view.jobId = params.getStringOrDefault("jobId")
45
- view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
46
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
47
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
48
- view.showConfirmation = params.getBoolOrDefault("showConfirmation", true)
49
- view.renderContent()
50
- }
51
- }
25
+ override fun applyArgs(view: SmileIDSmartSelfieCaptureView, args: ReadableMap?) {
26
+ args?.let {
27
+ view.userId = it.getStringOrDefault("userId")
28
+ view.jobId = it.getStringOrDefault("jobId")
29
+ view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
30
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
31
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
32
+ view.showConfirmation =
33
+ it.getBoolOrDefault("showConfirmation", true)
52
34
  }
53
35
  }
54
36
 
55
- override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieCaptureView {
56
- return SmileIDSmartSelfieCaptureView(reactApplicationContext)
57
- }
58
-
59
37
  companion object {
60
38
  const val NAME = "SmileIDSmartSelfieCaptureView"
61
- const val COMMAND_SET_PARAMS = 1
62
39
  }
63
40
  }
@@ -2,6 +2,7 @@ package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
4
  import com.facebook.react.bridge.ReadableArray
5
+ import com.facebook.react.bridge.ReadableMap
5
6
  import com.facebook.react.module.annotations.ReactModule
6
7
  import com.facebook.react.uimanager.SimpleViewManager
7
8
  import com.facebook.react.uimanager.ThemedReactContext
@@ -9,56 +10,30 @@ import com.smileidentity.react.utils.getBoolOrDefault
9
10
  import com.smileidentity.react.utils.getImmutableMapOrDefault
10
11
  import com.smileidentity.react.utils.getStringOrDefault
11
12
  import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentEnhancedView
13
+ import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentView
14
+ import com.smileidentity.react.views.SmileIDView
12
15
 
13
16
  @ReactModule(name = SmileIDSmartSelfieEnrollmentEnhancedViewManager.NAME)
14
17
  class SmileIDSmartSelfieEnrollmentEnhancedViewManager(
15
18
  private val reactApplicationContext: ReactApplicationContext
16
- ) : SimpleViewManager<SmileIDSmartSelfieEnrollmentEnhancedView>() {
19
+ ) : BaseSmileIDViewManager<SmileIDSmartSelfieEnrollmentEnhancedView>(reactApplicationContext) {
17
20
 
18
21
  override fun getName(): String = NAME
19
-
20
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
21
- return mapOf(
22
- "onSmileResult" to mapOf(
23
- "phasedRegistrationNames" to mapOf(
24
- "bubbled" to "onResult"
25
- )
26
- )
27
- )
28
- }
29
-
30
- override fun getCommandsMap(): Map<String, Int> {
31
- return mapOf("setParams" to COMMAND_SET_PARAMS)
22
+ override fun createSmileView(): SmileIDSmartSelfieEnrollmentEnhancedView {
23
+ return SmileIDSmartSelfieEnrollmentEnhancedView(reactApplicationContext)
32
24
  }
33
25
 
34
- override fun receiveCommand(
35
- view: SmileIDSmartSelfieEnrollmentEnhancedView,
36
- commandId: String?,
37
- args: ReadableArray?
38
- ) {
39
- super.receiveCommand(view, commandId, args)
40
- when (commandId?.toInt()) {
41
- COMMAND_SET_PARAMS -> {
42
- // Extract params from args and apply to view
43
- val params = args?.getMap(0)
44
- params?.let {
45
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
46
- view.userId = params.getStringOrDefault("userId")
47
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
48
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
49
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
50
- view.renderContent()
51
- }
52
- }
26
+ override fun applyArgs(view: SmileIDSmartSelfieEnrollmentEnhancedView, args: ReadableMap?) {
27
+ args?.let {
28
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
29
+ view.userId = it.getStringOrDefault("userId")
30
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
31
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
32
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
53
33
  }
54
34
  }
55
35
 
56
- override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieEnrollmentEnhancedView {
57
- return SmileIDSmartSelfieEnrollmentEnhancedView(reactApplicationContext)
58
- }
59
-
60
36
  companion object {
61
37
  const val NAME = "SmileIDSmartSelfieEnrollmentEnhancedView"
62
- const val COMMAND_SET_PARAMS = 1
63
38
  }
64
39
  }
@@ -1,67 +1,38 @@
1
1
  package com.smileidentity.react.viewmanagers
2
2
 
3
3
  import com.facebook.react.bridge.ReactApplicationContext
4
- import com.facebook.react.bridge.ReadableArray
4
+ import com.facebook.react.bridge.ReadableMap
5
5
  import com.facebook.react.module.annotations.ReactModule
6
- import com.facebook.react.uimanager.SimpleViewManager
7
- import com.facebook.react.uimanager.ThemedReactContext
8
6
  import com.smileidentity.react.utils.getBoolOrDefault
9
7
  import com.smileidentity.react.utils.getImmutableMapOrDefault
10
8
  import com.smileidentity.react.utils.getStringOrDefault
11
9
  import com.smileidentity.react.views.SmileIDSmartSelfieEnrollmentView
10
+ import com.smileidentity.react.views.SmileIDView
12
11
 
13
12
  @ReactModule(name = SmileIDSmartSelfieEnrollmentViewManager.NAME)
14
13
  class SmileIDSmartSelfieEnrollmentViewManager(
15
14
  private val reactApplicationContext: ReactApplicationContext
16
- ) : SimpleViewManager<SmileIDSmartSelfieEnrollmentView>() {
17
-
15
+ ) : BaseSmileIDViewManager<SmileIDSmartSelfieEnrollmentView>(reactApplicationContext) {
18
16
  override fun getName(): String = NAME
19
17
 
20
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
21
- return mapOf(
22
- "onSmileResult" to mapOf(
23
- "phasedRegistrationNames" to mapOf(
24
- "bubbled" to "onResult"
25
- )
26
- )
27
- )
28
- }
29
-
30
- override fun getCommandsMap(): Map<String, Int> {
31
- return mapOf("setParams" to COMMAND_SET_PARAMS)
18
+ override fun createSmileView(): SmileIDSmartSelfieEnrollmentView {
19
+ return SmileIDSmartSelfieEnrollmentView(reactApplicationContext)
32
20
  }
33
21
 
34
- override fun receiveCommand(
35
- view: SmileIDSmartSelfieEnrollmentView,
36
- commandId: String?,
37
- args: ReadableArray?
38
- ) {
39
- super.receiveCommand(view, commandId, args)
40
- when (commandId?.toInt()) {
41
- COMMAND_SET_PARAMS -> {
42
- // Extract params from args and apply to view
43
- val params = args?.getMap(0)
44
- params?.let {
45
- view.extraPartnerParams = params.getImmutableMapOrDefault("extraPartnerParams")
46
- view.userId = params.getStringOrDefault("userId")
47
- view.jobId = params.getStringOrDefault("jobId")
48
- view.allowAgentMode = params.getBoolOrDefault("allowAgentMode", false)
49
- view.showAttribution = params.getBoolOrDefault("showAttribution", true)
50
- view.showInstructions = params.getBoolOrDefault("showInstructions", true)
51
- view.allowNewEnroll = params.getBoolOrDefault("allowNewEnroll", false)
52
- view.skipApiSubmission = params.getBoolOrDefault("skipApiSubmission", false)
53
- view.renderContent()
54
- }
55
- }
22
+ override fun applyArgs(view: SmileIDSmartSelfieEnrollmentView, args: ReadableMap?) {
23
+ args?.let {
24
+ view.extraPartnerParams = it.getImmutableMapOrDefault("extraPartnerParams")
25
+ view.userId = it.getStringOrDefault("userId")
26
+ view.jobId = it.getStringOrDefault("jobId")
27
+ view.allowAgentMode = it.getBoolOrDefault("allowAgentMode", false)
28
+ view.showAttribution = it.getBoolOrDefault("showAttribution", true)
29
+ view.showInstructions = it.getBoolOrDefault("showInstructions", true)
30
+ view.allowNewEnroll = it.getBoolOrDefault("allowNewEnroll", false)
31
+ view.skipApiSubmission = it.getBoolOrDefault("skipApiSubmission", false)
56
32
  }
57
33
  }
58
34
 
59
- override fun createViewInstance(p0: ThemedReactContext): SmileIDSmartSelfieEnrollmentView {
60
- return SmileIDSmartSelfieEnrollmentView(reactApplicationContext)
61
- }
62
-
63
35
  companion object {
64
36
  const val NAME = "SmileIDSmartSelfieEnrollmentView"
65
- const val COMMAND_SET_PARAMS = 1
66
37
  }
67
38
  }
@@ -6,6 +6,7 @@ import androidx.lifecycle.viewmodel.compose.LocalViewModelStoreOwner
6
6
  import com.facebook.react.bridge.ReactApplicationContext
7
7
  import com.smileidentity.SmileID
8
8
  import com.smileidentity.compose.BiometricKYC
9
+ import com.smileidentity.models.ConsentInformation
9
10
  import com.smileidentity.models.IdInfo
10
11
  import com.smileidentity.react.results.BiometricKycCaptureResult
11
12
  import com.smileidentity.react.utils.BiometricKycCaptureResultAdapter
@@ -15,12 +16,17 @@ import com.smileidentity.util.randomUserId
15
16
 
16
17
  class SmileIDBiometricKYCView(context: ReactApplicationContext) : SmileIDView(context) {
17
18
  var idInfo: IdInfo? = null
19
+ var consentInformation: ConsentInformation? = null
18
20
 
19
21
  override fun renderContent() {
20
22
  idInfo ?: run {
21
23
  emitFailure(IllegalArgumentException("idInfo is required for BiometricKYC"))
22
24
  return
23
25
  }
26
+ consentInformation ?: run {
27
+ emitFailure(IllegalArgumentException("consentInformation is required for BiometricKYC"))
28
+ return
29
+ }
24
30
  composeView.apply {
25
31
  val customViewModelStoreOwner = CustomViewModelStoreOwner()
26
32
  setContent {
@@ -34,6 +40,7 @@ class SmileIDBiometricKYCView(context: ReactApplicationContext) : SmileIDView(co
34
40
  showAttribution = showAttribution,
35
41
  showInstructions = showInstructions,
36
42
  extraPartnerParams = extraPartnerParams,
43
+ consentInformation = consentInformation!!,
37
44
  ) { res ->
38
45
  when (res) {
39
46
  is SmileIDResult.Success -> {