@smile_identity/react-native 10.0.0-beta01 → 10.0.0-beta03

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 (123) hide show
  1. package/README.md +1 -1
  2. package/android/gradle.properties +1 -1
  3. package/android/src/main/java/com/smileidentity/react/Mapper.kt +179 -0
  4. package/android/src/main/java/com/smileidentity/react/SmileIdModule.kt +76 -49
  5. package/android/src/main/java/com/smileidentity/react/SmileIdPackage.kt +4 -2
  6. package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +9 -38
  7. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +41 -9
  8. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +83 -0
  9. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +45 -9
  10. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +77 -0
  11. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +36 -9
  12. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +36 -9
  13. package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +64 -0
  14. package/android/src/main/java/com/smileidentity/react/views/SmileIDConsentView.kt +67 -0
  15. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt +77 -0
  16. package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +71 -0
  17. package/android/src/main/java/com/smileidentity/react/views/{SmileIDSmartSelfieAuthentication.kt → SmileIDSmartSelfieAuthenticationView.kt} +15 -4
  18. package/android/src/main/java/com/smileidentity/react/views/{SmileIDSmartSelfieEnrollment.kt → SmileIDSmartSelfieEnrollmentView.kt} +14 -5
  19. package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +3 -27
  20. package/android/src/oldarch/SmileIdSpec.kt +26 -1
  21. package/ios/RNDelegates/SmileIDUIViewDelegate.swift +4 -0
  22. package/ios/RNDelegates/SmileIDViewDelegate.swift +5 -0
  23. package/ios/RNSmileID.mm +7 -0
  24. package/ios/RNSmileID.swift +147 -0
  25. package/ios/SmileId.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  26. package/ios/SmileId.xcodeproj/project.xcworkspace/xcuserdata/japhetndhlovu.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  27. package/ios/SmileId.xcodeproj/xcuserdata/japhetndhlovu.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  28. package/ios/Utils/SmileIDDictExt.swift +50 -0
  29. package/ios/Utils/SmileIDUtils.swift +10 -0
  30. package/ios/View/BaseSmileIDView.swift +35 -0
  31. package/ios/View/SmileIDBiometricKYCView.swift +46 -0
  32. package/ios/View/SmileIDConsentView.swift +36 -0
  33. package/ios/View/SmileIDDocumentVerificationView.swift +55 -0
  34. package/ios/View/SmileIDEnhancedDocumentVerificationView.swift +55 -0
  35. package/ios/View/SmileIDSmartSelfieAuthView.swift +41 -0
  36. package/ios/View/SmileIDSmartSelfieEnrollmentView.swift +41 -0
  37. package/ios/ViewManagers/SmileIDBaseViewManager.swift +18 -0
  38. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +6 -0
  39. package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +34 -0
  40. package/ios/ViewManagers/SmileIDConsentViewManager.m +6 -0
  41. package/ios/ViewManagers/SmileIDConsentViewManager.swift +47 -0
  42. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +6 -0
  43. package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +49 -0
  44. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +6 -0
  45. package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +49 -0
  46. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +6 -0
  47. package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +27 -0
  48. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +6 -0
  49. package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +27 -0
  50. package/ios/ViewModels/SmileIDProductModel.swift +30 -0
  51. package/ios/react-native-smile-id-Bridging-Header.h +8 -0
  52. package/lib/commonjs/NativeSmileId.js +1 -1
  53. package/lib/commonjs/NativeSmileId.js.map +1 -1
  54. package/lib/commonjs/SmileIDBiometricKYCView.js +40 -0
  55. package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -0
  56. package/lib/commonjs/SmileIDConsentView.js +40 -0
  57. package/lib/commonjs/SmileIDConsentView.js.map +1 -0
  58. package/lib/commonjs/SmileIDDocumentVerificationView.js +40 -0
  59. package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -0
  60. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +40 -0
  61. package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -0
  62. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +40 -0
  63. package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -0
  64. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +40 -0
  65. package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -0
  66. package/lib/commonjs/index.js +194 -27
  67. package/lib/commonjs/index.js.map +1 -1
  68. package/lib/commonjs/types.js +517 -0
  69. package/lib/commonjs/types.js.map +1 -0
  70. package/lib/module/NativeSmileId.js +1 -1
  71. package/lib/module/NativeSmileId.js.map +1 -1
  72. package/lib/module/SmileIDBiometricKYCView.js +30 -0
  73. package/lib/module/SmileIDBiometricKYCView.js.map +1 -0
  74. package/lib/module/SmileIDConsentView.js +30 -0
  75. package/lib/module/SmileIDConsentView.js.map +1 -0
  76. package/lib/module/SmileIDDocumentVerificationView.js +30 -0
  77. package/lib/module/SmileIDDocumentVerificationView.js.map +1 -0
  78. package/lib/module/SmileIDEnhancedDocumentVerificationView.js +30 -0
  79. package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -0
  80. package/lib/module/SmileIDSmartSelfieAuthenticationView.js +30 -0
  81. package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -0
  82. package/lib/module/SmileIDSmartSelfieEnrollmentView.js +30 -0
  83. package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -0
  84. package/lib/module/index.js +33 -21
  85. package/lib/module/index.js.map +1 -1
  86. package/lib/module/types.js +472 -0
  87. package/lib/module/types.js.map +1 -0
  88. package/lib/typescript/NativeSmileId.d.ts +22 -3
  89. package/lib/typescript/NativeSmileId.d.ts.map +1 -1
  90. package/lib/typescript/SmileIDBiometricKYCView.d.ts +8 -0
  91. package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -0
  92. package/lib/typescript/SmileIDConsentView.d.ts +8 -0
  93. package/lib/typescript/SmileIDConsentView.d.ts.map +1 -0
  94. package/lib/typescript/SmileIDDocumentVerificationView.d.ts +8 -0
  95. package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -0
  96. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +8 -0
  97. package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -0
  98. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +8 -0
  99. package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -0
  100. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +8 -0
  101. package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -0
  102. package/lib/typescript/index.d.ts +24 -86
  103. package/lib/typescript/index.d.ts.map +1 -1
  104. package/lib/typescript/types.d.ts +504 -0
  105. package/lib/typescript/types.d.ts.map +1 -0
  106. package/package.json +3 -4
  107. package/react-native-smile-id.podspec +2 -2
  108. package/src/NativeSmileId.ts +68 -9
  109. package/src/SmileIDBiometricKYCView.tsx +45 -0
  110. package/src/SmileIDConsentView.tsx +44 -0
  111. package/src/SmileIDDocumentVerificationView.tsx +51 -0
  112. package/src/SmileIDEnhancedDocumentVerificationView.tsx +51 -0
  113. package/src/SmileIDSmartSelfieAuthenticationView.tsx +51 -0
  114. package/src/SmileIDSmartSelfieEnrollmentView.tsx +51 -0
  115. package/src/index.tsx +86 -122
  116. package/src/types.ts +1084 -0
  117. package/android/src/main/assets/smile_config.json +0 -9
  118. package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBVNConsentViewManager.kt +0 -42
  119. package/android/src/main/java/com/smileidentity/react/views/SmileIDBVNConsentScreen.kt +0 -54
  120. package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYC.kt +0 -89
  121. package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerification.kt +0 -59
  122. package/ios/SmileId.h +0 -12
  123. package/ios/SmileId.mm +0 -27
@@ -1,9 +0,0 @@
1
- {
2
- "test_url": "https://sdktest.smileidentity.com/",
3
- "test_lambda_url": "https://testapi.smileidentity.com/v1/",
4
- "prod_url": "https://sdk.smileidentity.com/",
5
- "prod_lambda_url": "https://api.smileidentity.com/v1/",
6
- "auth_token": "MvQpF7JAuKQsftLonrk0Uoq5D5kcw7syp/YbGd1vxV8Tf5nzJfutQcz9c4RkdisV8Aj/tMq/LZyKFKd4MOIub1tf09AsNelW2OzkzaLn95OyVgfbSMyBq7eqc1rObqkzX9nvx6EBr7O1An07JfOqxOaySlR6qxJth5sO5OjBfHg=",
7
- "partner_id": "210",
8
- "version": "1.0.0"
9
- }
@@ -1,42 +0,0 @@
1
- package com.smileidentity.react.viewmanagers
2
-
3
- import com.facebook.react.bridge.ReactApplicationContext
4
- import com.facebook.react.bridge.ReadableMap
5
- import com.facebook.react.module.annotations.ReactModule
6
- import com.facebook.react.uimanager.SimpleViewManager
7
- import com.facebook.react.uimanager.ThemedReactContext
8
- import com.facebook.react.uimanager.annotations.ReactProp
9
- import com.smileidentity.react.views.SmileIDBVNConsentScreen
10
-
11
-
12
- @ReactModule(name = SmileIDBVNConsentViewManager.NAME)
13
- class SmileIDBVNConsentViewManager(private val reactApplicationContext: ReactApplicationContext) :
14
- SimpleViewManager<SmileIDBVNConsentScreen>() {
15
- override fun getName(): String {
16
- return NAME
17
- }
18
-
19
- override fun getExportedCustomBubblingEventTypeConstants(): Map<String, Any> {
20
- return mapOf(
21
- "onSmileResult" to mapOf(
22
- "phasedRegistrationNames" to mapOf(
23
- "bubbled" to "onResult"
24
- )
25
- )
26
- )
27
- }
28
-
29
- @ReactProp(name = "product")
30
- fun setProduct(view: SmileIDBVNConsentScreen, product: ReadableMap) {
31
- view.product = product
32
- }
33
-
34
- override fun createViewInstance(p0: ThemedReactContext): SmileIDBVNConsentScreen {
35
- return SmileIDBVNConsentScreen(reactApplicationContext)
36
- }
37
-
38
- companion object {
39
- const val NAME = "SmileIDBVNConsentScreenView"
40
- }
41
-
42
- }
@@ -1,54 +0,0 @@
1
- package com.smileidentity.react.views
2
-
3
- import android.webkit.URLUtil
4
- import androidx.compose.ui.res.painterResource
5
- import com.facebook.react.bridge.ReactApplicationContext
6
- import com.smileidentity.SmileID
7
- import com.smileidentity.compose.BvnConsentScreen
8
- import com.smileidentity.react.utils.getStringOrDefault
9
- import java.net.URL
10
-
11
- class SmileIDBVNConsentScreen (context: ReactApplicationContext) : SmileIDView(context) {
12
-
13
- override fun renderContent() {
14
- product?.let {product->
15
- val partnerName = product.getStringOrDefault("partnerName",null) ?: run {
16
- emitFailure(IllegalArgumentException("partnerName is required for BiometricKYC"))
17
- return
18
- }
19
- val partnerPrivacyPolicy = product.getStringOrDefault("partnerPrivacyPolicy",null) ?: run {
20
- emitFailure(IllegalArgumentException("partnerPrivacyPolicy is required for BiometricKYC"))
21
- return
22
- }
23
- if(!URLUtil.isValidUrl(partnerPrivacyPolicy)){
24
- emitFailure(IllegalArgumentException("a valid url for partnerPrivacyPolicy is required for BiometricKYC"))
25
- return
26
- }
27
- val logoResName = product.getStringOrDefault("partnerIcon",null) ?: run {
28
- emitFailure(IllegalArgumentException("partnerPrivacyPolicy is required for BiometricKYC"))
29
- return
30
- }
31
- val partnerIcon = context.resources.getIdentifier(
32
- logoResName,
33
- "drawable",
34
- (context as? ReactApplicationContext)?.currentActivity?.packageName
35
- )
36
- composeView.apply {
37
- setContent {
38
- SmileID.BvnConsentScreen(
39
- partnerIcon = painterResource(
40
- id = partnerIcon
41
- ),
42
- partnerName = partnerName,
43
- partnerPrivacyPolicy = URL(partnerPrivacyPolicy),
44
- onConsentDenied = {
45
- emitSuccess("denied")
46
- },
47
- onConsentGranted = {
48
- emitSuccess("accepted")
49
- },
50
- )
51
- }}
52
- }
53
- }
54
- }
@@ -1,89 +0,0 @@
1
- package com.smileidentity.react.views
2
-
3
- import android.webkit.URLUtil
4
- import androidx.compose.runtime.saveable.rememberSaveable
5
- import androidx.compose.ui.res.painterResource
6
- import com.facebook.react.bridge.ReactApplicationContext
7
- import com.smileidentity.SmileID
8
- import com.smileidentity.compose.BiometricKYC
9
- import com.smileidentity.react.utils.getStringOrDefault
10
- import com.smileidentity.react.utils.idInfo
11
- import com.smileidentity.results.BiometricKycResult
12
- import com.smileidentity.results.SmileIDResult
13
- import com.smileidentity.util.randomJobId
14
- import com.smileidentity.util.randomUserId
15
- import timber.log.Timber
16
- import java.net.URL
17
-
18
- class SmileIDBiometricKYC(context: ReactApplicationContext) : SmileIDView(context) {
19
- override fun renderContent() {
20
- product?.let { product ->
21
- val idInfo = product.idInfo() ?: run {
22
- emitFailure(IllegalArgumentException("idInfo is required for BiometricKYC"))
23
- return
24
- }
25
- val partnerName = product.getStringOrDefault("partnerName", null) ?: run {
26
- emitFailure(IllegalArgumentException("partnerName is required for BiometricKYC"))
27
- return
28
- }
29
-
30
- val partnerPrivacyPolicy = product.getStringOrDefault("partnerPrivacyPolicy", null) ?: run {
31
- emitFailure(IllegalArgumentException("partnerPrivacyPolicy is required for BiometricKYC"))
32
- return
33
- }
34
- if (!URLUtil.isValidUrl(partnerPrivacyPolicy)) {
35
- emitFailure(IllegalArgumentException("a valid url for partnerPrivacyPolicy is required for BiometricKYC"))
36
- return
37
- }
38
- val logoResName = product.getString("partnerIcon") ?: run {
39
- emitFailure(IllegalArgumentException("productName is required for BiometricKYC"))
40
- return
41
- }
42
- val partnerIcon = context.resources.getIdentifier(
43
- logoResName,
44
- "drawable",
45
- (context as? ReactApplicationContext)?.currentActivity?.packageName
46
- )
47
-
48
- val productName = product.getStringOrDefault("productName", null) ?: run {
49
- emitFailure(IllegalArgumentException("productName is required for BiometricKYC"))
50
- return
51
- }
52
- composeView.apply {
53
- setContent {
54
- SmileID.BiometricKYC(
55
- idInfo = idInfo,
56
- partnerIcon = painterResource(id = partnerIcon),
57
- partnerName = partnerName,
58
- productName = productName,
59
- partnerPrivacyPolicy = URL(partnerPrivacyPolicy),
60
- userId = userId ?: rememberSaveable { randomUserId() },
61
- jobId = jobId ?: rememberSaveable { randomJobId() },
62
- allowAgentMode = allowAgentMode ?: false,
63
- showAttribution = showInstructions ?: true,
64
- ) { result ->
65
- when (result) {
66
- is SmileIDResult.Success -> {
67
- val json = try {
68
- SmileID.moshi
69
- .adapter(BiometricKycResult::class.java)
70
- .toJson(result.data)
71
- } catch (e: Exception) {
72
- Timber.w(e)
73
- "null"
74
- }
75
- emitSuccess(json)
76
- }
77
-
78
- is SmileIDResult.Error -> {
79
- result.throwable.printStackTrace()
80
- emitFailure(result.throwable)
81
- }
82
- }
83
- }
84
- }
85
- }
86
- }
87
- }
88
-
89
- }
@@ -1,59 +0,0 @@
1
- package com.smileidentity.react.views
2
-
3
- import androidx.compose.runtime.saveable.rememberSaveable
4
- import com.facebook.react.bridge.ReactApplicationContext
5
- import com.smileidentity.SmileID
6
- import com.smileidentity.compose.DocumentVerification
7
- import com.smileidentity.react.utils.getBoolOrDefault
8
- import com.smileidentity.react.utils.getStringOrDefault
9
- import com.smileidentity.results.DocumentVerificationResult
10
- import com.smileidentity.results.SmileIDResult
11
- import com.smileidentity.util.randomJobId
12
- import com.smileidentity.util.randomUserId
13
- import timber.log.Timber
14
-
15
- class SmileIDDocumentVerification(context: ReactApplicationContext) : SmileIDView(context) {
16
-
17
- override fun renderContent() {
18
- product?.let{ product ->
19
- val countryCode = product.getStringOrDefault("countryCode",null) ?: run {
20
- emitFailure(IllegalArgumentException("countryCode is required for DocumentVerification"))
21
- return;
22
- }
23
- val allowGalleryUpload = product.getBoolOrDefault("allowGalleryUpload",false)
24
- val captureBothSides = product.getBoolOrDefault("captureBothSides",false)
25
- composeView.apply {
26
- setContent {
27
- SmileID.DocumentVerification(
28
- userId = userId ?: rememberSaveable { randomUserId() },
29
- jobId = jobId ?: rememberSaveable { randomJobId() },
30
- countryCode = countryCode!!,
31
- documentType = product.getString("documentType"),
32
- showInstructions = showInstructions ?: true,
33
- allowGalleryUpload = allowGalleryUpload,
34
- captureBothSides = captureBothSides
35
- ) { result ->
36
- when (result) {
37
- is SmileIDResult.Success -> {
38
- val json = try {
39
- SmileID.moshi
40
- .adapter(DocumentVerificationResult::class.java)
41
- .toJson(result.data)
42
- } catch (e: Exception) {
43
- Timber.w(e)
44
- "null"
45
- }
46
- emitSuccess(json)
47
- }
48
-
49
- is SmileIDResult.Error -> {
50
- result.throwable.printStackTrace()
51
- emitFailure(result.throwable)
52
- }
53
- }
54
- }
55
- }
56
- }
57
- }
58
- }
59
- }
package/ios/SmileId.h DELETED
@@ -1,12 +0,0 @@
1
-
2
- #ifdef RCT_NEW_ARCH_ENABLED
3
- #import "RNSmileIdSpec.h"
4
-
5
- @interface SmileId : NSObject <NativeSmileIdSpec>
6
- #else
7
- #import <React/RCTBridgeModule.h>
8
-
9
- @interface SmileId : NSObject <RCTBridgeModule>
10
- #endif
11
-
12
- @end
package/ios/SmileId.mm DELETED
@@ -1,27 +0,0 @@
1
- #import "SmileId.h"
2
-
3
- @implementation SmileId
4
- RCT_EXPORT_MODULE()
5
-
6
- // Example method
7
- // See // https://reactnative.dev/docs/native-modules-ios
8
- RCT_EXPORT_METHOD(multiply:(double)a
9
- b:(double)b
10
- resolve:(RCTPromiseResolveBlock)resolve
11
- reject:(RCTPromiseRejectBlock)reject)
12
- {
13
- NSNumber *result = @(a * b);
14
-
15
- resolve(result);
16
- }
17
-
18
- // Don't compile this code when we build for the old architecture.
19
- #ifdef RCT_NEW_ARCH_ENABLED
20
- - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
21
- (const facebook::react::ObjCTurboModule::InitParams &)params
22
- {
23
- return std::make_shared<facebook::react::NativeSmileIdSpecJSI>(params);
24
- }
25
- #endif
26
-
27
- @end