@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,47 +1,20 @@
1
- import React, { Component } from 'react';
2
- import type { HostComponent } from 'react-native';
3
- import { UIManager, findNodeHandle, Platform } from 'react-native';
1
+ import React from 'react';
2
+ import { type HostComponent } from 'react-native';
4
3
  import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
5
4
  import type { SmartSelfieEnrollmentRequest } from './index';
5
+ import { useSmileIDView } from './useSmileIDView';
6
6
 
7
7
  const SmileIDSmartSelfieEnrollmentComponent =
8
8
  codegenNativeComponent<SmartSelfieEnrollmentRequest>(
9
9
  'SmileIDSmartSelfieEnrollmentView'
10
10
  ) as HostComponent<SmartSelfieEnrollmentRequest>;
11
11
 
12
- export default class SmileIDSmartSelfieEnrollmentView extends Component<SmartSelfieEnrollmentRequest> {
13
- private viewRef = React.createRef<any>(); //
12
+ const SmileIDSmartSelfieEnrollmentView: React.FC<
13
+ SmartSelfieEnrollmentRequest
14
+ > = (props) => {
15
+ const viewRef = useSmileIDView('SmileIDSmartSelfieEnrollmentView', props);
14
16
 
15
- componentDidMount() {
16
- const parameters = {
17
- ...this.props,
18
- };
17
+ return <SmileIDSmartSelfieEnrollmentComponent ref={viewRef} {...props} />;
18
+ };
19
19
 
20
- // Obtain the command identifier
21
- const commandId = UIManager.getViewManagerConfig(
22
- 'SmileIDSmartSelfieEnrollmentView'
23
- ).Commands.setParams;
24
-
25
- // Ensure the commandId is defined and is a number
26
- if (typeof commandId !== 'undefined') {
27
- UIManager.dispatchViewManagerCommand(
28
- findNodeHandle(this.viewRef.current),
29
- Platform.OS === 'android' ? commandId.toString() : commandId,
30
- [parameters]
31
- );
32
- } else {
33
- throw new Error(
34
- 'Command "setParams" is not defined for MyNativeComponent'
35
- );
36
- }
37
- }
38
-
39
- render() {
40
- return (
41
- <SmileIDSmartSelfieEnrollmentComponent
42
- ref={this.viewRef}
43
- {...this.props}
44
- />
45
- );
46
- }
47
- }
20
+ export default SmileIDSmartSelfieEnrollmentView;
package/src/index.tsx CHANGED
@@ -1,6 +1,8 @@
1
1
  import { NativeModules, Platform } from 'react-native';
2
2
  import SmileIDSmartSelfieEnrollmentView from './SmileIDSmartSelfieEnrollmentView';
3
3
  import SmileIDSmartSelfieAuthenticationView from './SmileIDSmartSelfieAuthenticationView';
4
+ import SmileIDSmartSelfieEnrollmentEnhancedView from './SmileIDSmartSelfieEnrollmentEnhancedView';
5
+ import SmileIDSmartSelfieAuthenticationEnhancedView from './SmileIDSmartSelfieAuthenticationEnhancedView';
4
6
  import SmileIDDocumentVerificationView from './SmileIDDocumentVerificationView';
5
7
  import SmileIDBiometricKYCView from './SmileIDBiometricKYCView';
6
8
  import SmileIDEnhancedDocumentVerificationView from './SmileIDEnhancedDocumentVerificationView';
@@ -27,6 +29,7 @@ import {
27
29
  ValidDocumentsResponse,
28
30
  JobType,
29
31
  IdInfo,
32
+ Config,
30
33
  } from './types';
31
34
  import type {
32
35
  DocumentVerificationRequest,
@@ -35,6 +38,8 @@ import type {
35
38
  BiometricKYCRequest,
36
39
  SmileIDViewProps,
37
40
  ConsentRequest,
41
+ SmartSelfieEnrollmentEnhancedRequest,
42
+ SmartSelfieAuthenticationEnhancedRequest,
38
43
  } from './types';
39
44
  import type { Spec } from './NativeSmileId';
40
45
 
@@ -64,9 +69,18 @@ const _SmileID: Spec = SmileIdModule
64
69
 
65
70
  const SmileID = {
66
71
  /**
67
- * Initialise the Smile ID SDK
72
+ * Initialize SmileID SDK with configuration
73
+ * @param useSandBox - Configuration object for the SDK
74
+ * @param config - Configuration object for the SDK
75
+ * @param apiKey - api key specific to the partner and also environment
76
+ * @param enableCrashReporting - Whether to enable crash reporting
68
77
  */
69
- initialize: (useSandBox: boolean = false) => _SmileID.initialize(useSandBox),
78
+ initialize: (
79
+ useSandBox: boolean = false,
80
+ enableCrashReporting: boolean = false,
81
+ config?: Config,
82
+ apiKey?: string
83
+ ) => _SmileID.initialize(useSandBox, enableCrashReporting, config, apiKey),
70
84
 
71
85
  /**
72
86
  * Sets allow offline mode which enables
@@ -260,8 +274,11 @@ export {
260
274
  //module
261
275
  SmileID,
262
276
  //views
277
+ Config,
263
278
  SmileIDSmartSelfieEnrollmentView,
264
279
  SmileIDSmartSelfieAuthenticationView,
280
+ SmileIDSmartSelfieEnrollmentEnhancedView,
281
+ SmileIDSmartSelfieAuthenticationEnhancedView,
265
282
  SmileIDDocumentVerificationView,
266
283
  SmileIDBiometricKYCView,
267
284
  SmileIDEnhancedDocumentVerificationView,
@@ -297,4 +314,6 @@ export type {
297
314
  SmartSelfieAuthenticationRequest,
298
315
  BiometricKYCRequest,
299
316
  ConsentRequest,
317
+ SmartSelfieEnrollmentEnhancedRequest,
318
+ SmartSelfieAuthenticationEnhancedRequest,
300
319
  };
package/src/types.ts CHANGED
@@ -78,6 +78,14 @@ type SmartSelfieRequest = SmileIDViewProps & {
78
78
  };
79
79
 
80
80
  export type SmartSelfieEnrollmentRequest = Omit<SmartSelfieRequest, 'jobId'>;
81
+ export type SmartSelfieEnrollmentEnhancedRequest = Omit<
82
+ SmartSelfieRequest,
83
+ 'jobId'
84
+ >;
85
+ export type SmartSelfieAuthenticationEnhancedRequest = Omit<
86
+ SmartSelfieRequest,
87
+ 'jobId'
88
+ >;
81
89
  export type SmartSelfieAuthenticationRequest = Omit<
82
90
  SmartSelfieRequest,
83
91
  'jobId'
@@ -0,0 +1,80 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import {
3
+ DeviceEventEmitter,
4
+ Platform,
5
+ UIManager,
6
+ findNodeHandle,
7
+ } from 'react-native';
8
+
9
+ interface SmileIDProps {
10
+ onResult?: (event: { nativeEvent: { error: any; result: any } }) => void;
11
+ [key: string]: any;
12
+ }
13
+
14
+ export const useSmileIDView = (viewName: string, props: SmileIDProps) => {
15
+ const viewRef = useRef<any>(null);
16
+
17
+ useEffect(() => {
18
+ const eventListener = DeviceEventEmitter.addListener(
19
+ 'onSmileResult',
20
+ (event) => {
21
+ if (props.onResult) {
22
+ const nativeEvent = {
23
+ nativeEvent: {
24
+ error: event.error,
25
+ result: event.result,
26
+ },
27
+ };
28
+ props.onResult(nativeEvent);
29
+ }
30
+ }
31
+ );
32
+
33
+ return () => {
34
+ eventListener.remove();
35
+ };
36
+ }, [props]);
37
+
38
+ useEffect(() => {
39
+ const viewId = findNodeHandle(viewRef.current);
40
+ const commandId = UIManager.getViewManagerConfig(viewName).Commands.create;
41
+
42
+ // Ensure the commandId is defined and is a number
43
+ if (typeof commandId !== 'undefined') {
44
+ UIManager.dispatchViewManagerCommand(
45
+ findNodeHandle(viewRef.current),
46
+ Platform.OS === 'android' ? commandId.toString() : commandId,
47
+ [viewId]
48
+ );
49
+ } else {
50
+ throw new Error(
51
+ 'Command "setParams" is not defined for MyNativeComponent'
52
+ );
53
+ }
54
+ }, [viewName]);
55
+
56
+ useEffect(() => {
57
+ const parameters = {
58
+ ...props,
59
+ };
60
+
61
+ const viewId = findNodeHandle(viewRef.current);
62
+ const commandId =
63
+ UIManager.getViewManagerConfig(viewName).Commands.setParams;
64
+
65
+ // Ensure the commandId is defined and is a number
66
+ if (typeof commandId !== 'undefined') {
67
+ UIManager.dispatchViewManagerCommand(
68
+ findNodeHandle(viewRef.current),
69
+ Platform.OS === 'android' ? commandId.toString() : commandId,
70
+ [viewId, parameters]
71
+ );
72
+ } else {
73
+ throw new Error(
74
+ 'Command "setParams" is not defined for MyNativeComponent'
75
+ );
76
+ }
77
+ }, [props, viewName]);
78
+
79
+ return viewRef;
80
+ };