@smile_identity/react-native 10.0.0-beta01 → 10.0.0-beta02
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.
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/smileidentity/react/SmileIdModule.kt +59 -9
- package/android/src/main/java/com/smileidentity/react/SmileIdPackage.kt +4 -2
- package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +16 -10
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +38 -9
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +77 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +43 -9
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +75 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +35 -9
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +35 -9
- package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +54 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDConsentView.kt +60 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerificationView.kt +69 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +63 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthenticationView.kt +50 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +49 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +2 -27
- package/android/src/oldarch/SmileIdSpec.kt +4 -1
- package/ios/RNDelegates/SmileIDUIViewDelegate.swift +4 -0
- package/ios/RNDelegates/SmileIDViewDelegate.swift +5 -0
- package/ios/RNSmileID.mm +7 -0
- package/ios/RNSmileID.swift +147 -0
- package/ios/SmileId.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/SmileId.xcodeproj/project.xcworkspace/xcuserdata/japhetndhlovu.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/SmileId.xcodeproj/xcuserdata/japhetndhlovu.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/ios/Utils/SmileIDDictExt.swift +50 -0
- package/ios/Utils/SmileIDUtils.swift +10 -0
- package/ios/View/BaseSmileIDView.swift +35 -0
- package/ios/View/SmileIDBiometricKYCView.swift +44 -0
- package/ios/View/SmileIDConsentView.swift +35 -0
- package/ios/View/SmileIDDocumentVerificationView.swift +53 -0
- package/ios/View/SmileIDEnhancedDocumentVerificationView.swift +53 -0
- package/ios/View/SmileIDSmartSelfieAuthView.swift +39 -0
- package/ios/View/SmileIDSmartSelfieEnrollmentView.swift +39 -0
- package/ios/ViewManagers/SmileIDBaseViewManager.swift +17 -0
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +33 -0
- package/ios/ViewManagers/SmileIDConsentViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDConsentViewManager.swift +47 -0
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +48 -0
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +48 -0
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +26 -0
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +6 -0
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +26 -0
- package/ios/ViewModels/SmileIDProductModel.swift +29 -0
- package/ios/react-native-smile-id-Bridging-Header.h +8 -0
- package/lib/commonjs/NativeSmileId.js +1 -1
- package/lib/commonjs/NativeSmileId.js.map +1 -1
- package/lib/commonjs/SmileIDBiometricKYCView.js +40 -0
- package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -0
- package/lib/commonjs/SmileIDConsentView.js +40 -0
- package/lib/commonjs/SmileIDConsentView.js.map +1 -0
- package/lib/commonjs/SmileIDDocumentVerificationView.js +40 -0
- package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -0
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +40 -0
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -0
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +40 -0
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -0
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +40 -0
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -0
- package/lib/commonjs/index.js +98 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/NativeSmileId.js +1 -1
- package/lib/module/NativeSmileId.js.map +1 -1
- package/lib/module/SmileIDBiometricKYCView.js +30 -0
- package/lib/module/SmileIDBiometricKYCView.js.map +1 -0
- package/lib/module/SmileIDConsentView.js +30 -0
- package/lib/module/SmileIDConsentView.js.map +1 -0
- package/lib/module/SmileIDDocumentVerificationView.js +30 -0
- package/lib/module/SmileIDDocumentVerificationView.js.map +1 -0
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js +30 -0
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -0
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js +30 -0
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -0
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js +30 -0
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -0
- package/lib/module/index.js +33 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/NativeSmileId.d.ts +16 -1
- package/lib/typescript/NativeSmileId.d.ts.map +1 -1
- package/lib/typescript/SmileIDBiometricKYCView.d.ts +8 -0
- package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -0
- package/lib/typescript/SmileIDConsentView.d.ts +8 -0
- package/lib/typescript/SmileIDConsentView.d.ts.map +1 -0
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts +8 -0
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -0
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +8 -0
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -0
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +8 -0
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -0
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +8 -0
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +24 -86
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +182 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +1 -2
- package/react-native-smile-id.podspec +2 -2
- package/src/NativeSmileId.ts +17 -5
- package/src/SmileIDBiometricKYCView.tsx +45 -0
- package/src/SmileIDConsentView.tsx +44 -0
- package/src/SmileIDDocumentVerificationView.tsx +51 -0
- package/src/SmileIDEnhancedDocumentVerificationView.tsx +51 -0
- package/src/SmileIDSmartSelfieAuthenticationView.tsx +51 -0
- package/src/SmileIDSmartSelfieEnrollmentView.tsx +51 -0
- package/src/index.tsx +54 -122
- package/src/types.ts +189 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBVNConsentViewManager.kt +0 -42
- package/android/src/main/java/com/smileidentity/react/views/SmileIDBVNConsentScreen.kt +0 -54
- package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYC.kt +0 -89
- package/android/src/main/java/com/smileidentity/react/views/SmileIDDocumentVerification.kt +0 -59
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieAuthentication.kt +0 -47
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollment.kt +0 -48
- package/ios/SmileId.h +0 -12
- package/ios/SmileId.mm +0 -27
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smile_identity/react-native",
|
|
3
|
-
"version": "10.0.0-
|
|
3
|
+
"version": "10.0.0-beta02",
|
|
4
4
|
"description": "Official wrapper for the Smile ID <v10 android and iOS SDKs",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -87,7 +87,6 @@
|
|
|
87
87
|
"engines": {
|
|
88
88
|
"node": ">= 16.0.0"
|
|
89
89
|
},
|
|
90
|
-
"packageManager": "^yarn@1.22.15",
|
|
91
90
|
"jest": {
|
|
92
91
|
"preset": "react-native",
|
|
93
92
|
"modulePathIgnorePatterns": [
|
|
@@ -14,8 +14,8 @@ Pod::Spec.new do |s|
|
|
|
14
14
|
s.platforms = { :ios => "13.0" }
|
|
15
15
|
s.source = { :git => "https://docs.usesmileid.com/.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
|
-
s.source_files = "ios/**/*.{h,m,mm}"
|
|
18
|
-
s.dependency "SmileID","10.0.
|
|
17
|
+
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
|
+
s.dependency "SmileID","10.0.1"
|
|
19
19
|
|
|
20
20
|
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
|
21
21
|
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
package/src/NativeSmileId.ts
CHANGED
|
@@ -3,12 +3,24 @@ import { TurboModuleRegistry } from 'react-native';
|
|
|
3
3
|
import type { EnhancedKycRequest } from './index';
|
|
4
4
|
|
|
5
5
|
export interface Spec extends TurboModule {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
) => Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Initialise the Smile ID SDK
|
|
8
|
+
*/
|
|
9
|
+
initialize: (useSandBox: boolean) => Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* NB: Only available on Android
|
|
12
|
+
* Disable crash reporting
|
|
13
|
+
*/
|
|
14
|
+
disableCrashReporting: () => Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
*Headless run enhanced kyc async
|
|
17
|
+
*/
|
|
10
18
|
doEnhancedKycAsync: (
|
|
11
19
|
enhancedKYCRequest: EnhancedKycRequest
|
|
12
20
|
) => Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
*Headless run enhanced kyc async
|
|
23
|
+
*/
|
|
24
|
+
doEnhancedKyc: (enhancedKYCRequest: EnhancedKycRequest) => Promise<string>;
|
|
13
25
|
}
|
|
14
|
-
export default TurboModuleRegistry.getEnforcing<Spec>('
|
|
26
|
+
export default TurboModuleRegistry.getEnforcing<Spec>('RNSmileID');
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { BiometricKYCRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDBiometricKYCComponent =
|
|
12
|
+
codegenNativeComponent<BiometricKYCRequest>(
|
|
13
|
+
'SmileIDBiometricKYCView'
|
|
14
|
+
) as HostComponent<BiometricKYCRequest>;
|
|
15
|
+
|
|
16
|
+
export default class SmileIDBiometricKYCView extends Component<BiometricKYCRequest> {
|
|
17
|
+
private viewRef = React.createRef<any>(); //
|
|
18
|
+
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
const parameters = {
|
|
21
|
+
...this.props,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Obtain the command identifier
|
|
25
|
+
const commandId = UIManager.getViewManagerConfig('SmileIDBiometricKYCView')
|
|
26
|
+
.Commands.setParams;
|
|
27
|
+
|
|
28
|
+
// Ensure the commandId is defined and is a number
|
|
29
|
+
if (typeof commandId !== 'undefined') {
|
|
30
|
+
UIManager.dispatchViewManagerCommand(
|
|
31
|
+
findNodeHandle(this.viewRef.current),
|
|
32
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
33
|
+
[parameters]
|
|
34
|
+
);
|
|
35
|
+
} else {
|
|
36
|
+
throw new Error(
|
|
37
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
render() {
|
|
43
|
+
return <SmileIDBiometricKYCComponent ref={this.viewRef} {...this.props} />;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { ConsentRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDConsentComponent = codegenNativeComponent<ConsentRequest>(
|
|
12
|
+
'SmileIDConsentView'
|
|
13
|
+
) as HostComponent<ConsentRequest>;
|
|
14
|
+
|
|
15
|
+
export default class SmileIDConsentView extends Component<ConsentRequest> {
|
|
16
|
+
private viewRef = React.createRef<any>(); //
|
|
17
|
+
|
|
18
|
+
componentDidMount() {
|
|
19
|
+
const parameters = {
|
|
20
|
+
...this.props,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// Obtain the command identifier
|
|
24
|
+
const commandId =
|
|
25
|
+
UIManager.getViewManagerConfig('SmileIDConsentView').Commands.setParams;
|
|
26
|
+
|
|
27
|
+
// Ensure the commandId is defined and is a number
|
|
28
|
+
if (typeof commandId !== 'undefined') {
|
|
29
|
+
UIManager.dispatchViewManagerCommand(
|
|
30
|
+
findNodeHandle(this.viewRef.current),
|
|
31
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
32
|
+
[parameters]
|
|
33
|
+
);
|
|
34
|
+
} else {
|
|
35
|
+
throw new Error(
|
|
36
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
render() {
|
|
42
|
+
return <SmileIDConsentComponent ref={this.viewRef} {...this.props} />;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { DocumentVerificationRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDDocumentVerificationComponent =
|
|
12
|
+
codegenNativeComponent<DocumentVerificationRequest>(
|
|
13
|
+
'SmileIDDocumentVerificationView'
|
|
14
|
+
) as HostComponent<DocumentVerificationRequest>;
|
|
15
|
+
|
|
16
|
+
export default class SmileIDDocumentVerificationView extends Component<DocumentVerificationRequest> {
|
|
17
|
+
private viewRef = React.createRef<any>(); //
|
|
18
|
+
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
const parameters = {
|
|
21
|
+
...this.props,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Obtain the command identifier
|
|
25
|
+
const commandId = UIManager.getViewManagerConfig(
|
|
26
|
+
'SmileIDDocumentVerificationView'
|
|
27
|
+
).Commands.setParams;
|
|
28
|
+
|
|
29
|
+
// Ensure the commandId is defined and is a number
|
|
30
|
+
if (typeof commandId !== 'undefined') {
|
|
31
|
+
UIManager.dispatchViewManagerCommand(
|
|
32
|
+
findNodeHandle(this.viewRef.current),
|
|
33
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
34
|
+
[parameters]
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
throw new Error(
|
|
38
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
render() {
|
|
44
|
+
return (
|
|
45
|
+
<SmileIDDocumentVerificationComponent
|
|
46
|
+
ref={this.viewRef}
|
|
47
|
+
{...this.props}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { DocumentVerificationRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDEnhancedDocumentVerificationComponent =
|
|
12
|
+
codegenNativeComponent<DocumentVerificationRequest>(
|
|
13
|
+
'SmileIDEnhancedDocumentVerificationView'
|
|
14
|
+
) as HostComponent<DocumentVerificationRequest>;
|
|
15
|
+
|
|
16
|
+
export default class SmileIDEnhancedDocumentVerificationView extends Component<DocumentVerificationRequest> {
|
|
17
|
+
private viewRef = React.createRef<any>(); //
|
|
18
|
+
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
const parameters = {
|
|
21
|
+
...this.props,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Obtain the command identifier
|
|
25
|
+
const commandId = UIManager.getViewManagerConfig(
|
|
26
|
+
'SmileIDEnhancedDocumentVerificationView'
|
|
27
|
+
).Commands.setParams;
|
|
28
|
+
|
|
29
|
+
// Ensure the commandId is defined and is a number
|
|
30
|
+
if (typeof commandId !== 'undefined') {
|
|
31
|
+
UIManager.dispatchViewManagerCommand(
|
|
32
|
+
findNodeHandle(this.viewRef.current),
|
|
33
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
34
|
+
[parameters]
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
throw new Error(
|
|
38
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
render() {
|
|
44
|
+
return (
|
|
45
|
+
<SmileIDEnhancedDocumentVerificationComponent
|
|
46
|
+
ref={this.viewRef}
|
|
47
|
+
{...this.props}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { SmartSelfieAuthenticationRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDSmartSelfieAuthenticationComponent =
|
|
12
|
+
codegenNativeComponent<SmartSelfieAuthenticationRequest>(
|
|
13
|
+
'SmileIDSmartSelfieAuthenticationView'
|
|
14
|
+
) as HostComponent<SmartSelfieAuthenticationRequest>;
|
|
15
|
+
|
|
16
|
+
export default class SmileIDSmartSelfieAuthenticationView extends Component<SmartSelfieAuthenticationRequest> {
|
|
17
|
+
private viewRef = React.createRef<any>(); //
|
|
18
|
+
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
const parameters = {
|
|
21
|
+
...this.props,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Obtain the command identifier
|
|
25
|
+
const commandId = UIManager.getViewManagerConfig(
|
|
26
|
+
'SmileIDSmartSelfieAuthenticationView'
|
|
27
|
+
).Commands.setParams;
|
|
28
|
+
|
|
29
|
+
// Ensure the commandId is defined and is a number
|
|
30
|
+
if (typeof commandId !== 'undefined') {
|
|
31
|
+
UIManager.dispatchViewManagerCommand(
|
|
32
|
+
findNodeHandle(this.viewRef.current),
|
|
33
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
34
|
+
[parameters]
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
throw new Error(
|
|
38
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
render() {
|
|
44
|
+
return (
|
|
45
|
+
<SmileIDSmartSelfieAuthenticationComponent
|
|
46
|
+
ref={this.viewRef}
|
|
47
|
+
{...this.props}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
HostComponent,
|
|
4
|
+
UIManager,
|
|
5
|
+
findNodeHandle,
|
|
6
|
+
Platform,
|
|
7
|
+
} from 'react-native';
|
|
8
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
9
|
+
import { SmartSelfieEnrollmentRequest } from './index';
|
|
10
|
+
|
|
11
|
+
const SmileIDSmartSelfieEnrollmentComponent =
|
|
12
|
+
codegenNativeComponent<SmartSelfieEnrollmentRequest>(
|
|
13
|
+
'SmileIDSmartSelfieEnrollmentView'
|
|
14
|
+
) as HostComponent<SmartSelfieEnrollmentRequest>;
|
|
15
|
+
|
|
16
|
+
export default class SmileIDSmartSelfieEnrollmentView extends Component<SmartSelfieEnrollmentRequest> {
|
|
17
|
+
private viewRef = React.createRef<any>(); //
|
|
18
|
+
|
|
19
|
+
componentDidMount() {
|
|
20
|
+
const parameters = {
|
|
21
|
+
...this.props,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Obtain the command identifier
|
|
25
|
+
const commandId = UIManager.getViewManagerConfig(
|
|
26
|
+
'SmileIDSmartSelfieEnrollmentView'
|
|
27
|
+
).Commands.setParams;
|
|
28
|
+
|
|
29
|
+
// Ensure the commandId is defined and is a number
|
|
30
|
+
if (typeof commandId !== 'undefined') {
|
|
31
|
+
UIManager.dispatchViewManagerCommand(
|
|
32
|
+
findNodeHandle(this.viewRef.current),
|
|
33
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
34
|
+
[parameters]
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
throw new Error(
|
|
38
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
render() {
|
|
44
|
+
return (
|
|
45
|
+
<SmileIDSmartSelfieEnrollmentComponent
|
|
46
|
+
ref={this.viewRef}
|
|
47
|
+
{...this.props}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/index.tsx
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import type { HostComponent, ViewProps } from 'react-native';
|
|
2
1
|
import { NativeModules, Platform } from 'react-native';
|
|
3
|
-
import
|
|
2
|
+
import SmileIDSmartSelfieEnrollmentView from './SmileIDSmartSelfieEnrollmentView';
|
|
3
|
+
import SmileIDSmartSelfieAuthenticationView from './SmileIDSmartSelfieAuthenticationView';
|
|
4
|
+
import SmileIDDocumentVerificationView from './SmileIDDocumentVerificationView';
|
|
5
|
+
import SmileIDBiometricKYCView from './SmileIDBiometricKYCView';
|
|
6
|
+
import SmileIDEnhancedDocumentVerificationView from './SmileIDEnhancedDocumentVerificationView';
|
|
7
|
+
import {
|
|
8
|
+
EnhancedKycRequest,
|
|
9
|
+
DocumentVerificationRequest,
|
|
10
|
+
SmartSelfieEnrollmentRequest,
|
|
11
|
+
SmartSelfieAuthenticationRequest,
|
|
12
|
+
BiometricKYCRequest,
|
|
13
|
+
SmileIDViewProps,
|
|
14
|
+
ConsentRequest,
|
|
15
|
+
} from './types';
|
|
4
16
|
|
|
5
17
|
const LINKING_ERROR =
|
|
6
18
|
`The package 'react-native-smile-id' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -11,91 +23,9 @@ const LINKING_ERROR =
|
|
|
11
23
|
// @ts-expect-error
|
|
12
24
|
const isTurboModuleEnabled = global.__turboModuleProxy != null;
|
|
13
25
|
|
|
14
|
-
export type SmileIDViewProps = ViewProps & {
|
|
15
|
-
userId?: string;
|
|
16
|
-
jobId?: string;
|
|
17
|
-
partnerParams?: PartnerParams;
|
|
18
|
-
jobType: JobType;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export type PartnerParams = {
|
|
22
|
-
jobType?: JobType;
|
|
23
|
-
jobId: string;
|
|
24
|
-
userId: string;
|
|
25
|
-
extras?: Map<string, string>;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
interface IdInfo {
|
|
29
|
-
country: string;
|
|
30
|
-
idType?: string;
|
|
31
|
-
idNumber?: string;
|
|
32
|
-
firstName?: string;
|
|
33
|
-
middleName?: string;
|
|
34
|
-
lastName?: string;
|
|
35
|
-
dob?: string;
|
|
36
|
-
bankCode?: string;
|
|
37
|
-
entered?: boolean;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export type SmartSelfieRequest = SmileIDViewProps & {
|
|
41
|
-
allowAgentMode: boolean;
|
|
42
|
-
showInstructions?: boolean;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export type BvnConsentRequest = SmileIDViewProps & {
|
|
46
|
-
partnerIcon: string;
|
|
47
|
-
partnerName: string;
|
|
48
|
-
showAttribution: boolean;
|
|
49
|
-
partnerPrivacyPolicy: string;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export type EnhancedKycRequest = SmileIDViewProps & {
|
|
53
|
-
country: string;
|
|
54
|
-
idType: string;
|
|
55
|
-
idNumber: string;
|
|
56
|
-
firstName?: string;
|
|
57
|
-
middleName?: string;
|
|
58
|
-
lastName?: string;
|
|
59
|
-
dob?: string;
|
|
60
|
-
phoneNumber?: string;
|
|
61
|
-
bankCode?: string;
|
|
62
|
-
callbackUrl?: string;
|
|
63
|
-
partnerParams: PartnerParams;
|
|
64
|
-
timestamp: string;
|
|
65
|
-
signature: string;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export type DocumentVerificationRequest = SmartSelfieRequest & {
|
|
69
|
-
jobType: JobType.DocumentVerification;
|
|
70
|
-
countryCode: string;
|
|
71
|
-
documentType: string;
|
|
72
|
-
idAspectRatio?: number;
|
|
73
|
-
captureBothSides?: boolean;
|
|
74
|
-
showAttribution?: boolean;
|
|
75
|
-
allowGalleryUpload?: boolean;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export type BiometricKYCRequest = SmartSelfieRequest & {
|
|
79
|
-
idInfo: IdInfo;
|
|
80
|
-
jobType: JobType.BiometricKyc;
|
|
81
|
-
partnerIcon: string;
|
|
82
|
-
partnerName: string;
|
|
83
|
-
productName: string;
|
|
84
|
-
partnerPrivacyPolicy: string;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export enum JobType {
|
|
88
|
-
BiometricKyc = 1,
|
|
89
|
-
SmartSelfieAuthentication = 2,
|
|
90
|
-
SmartSelfieEnrollment = 4,
|
|
91
|
-
EnhancedKyc = 5,
|
|
92
|
-
DocumentVerification = 6,
|
|
93
|
-
BVN = 7,
|
|
94
|
-
}
|
|
95
|
-
|
|
96
26
|
const SmileIdModule = isTurboModuleEnabled
|
|
97
27
|
? require('./NativeSmileId').default
|
|
98
|
-
: NativeModules.
|
|
28
|
+
: NativeModules.RNSmileID;
|
|
99
29
|
|
|
100
30
|
const _SmileID = SmileIdModule
|
|
101
31
|
? SmileIdModule
|
|
@@ -108,43 +38,45 @@ const _SmileID = SmileIdModule
|
|
|
108
38
|
}
|
|
109
39
|
);
|
|
110
40
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
export const SmileIDSmartSelfieAuthenticationView =
|
|
126
|
-
codegenNativeComponent<NativeProps>(
|
|
127
|
-
'SmileIDSmartSelfieAuthenticationView'
|
|
128
|
-
) as HostComponent<NativeProps>;
|
|
129
|
-
|
|
130
|
-
export const SmileIDDocumentVerificationView =
|
|
131
|
-
codegenNativeComponent<NativeProps>(
|
|
132
|
-
'SmileIDDocumentVerificationView'
|
|
133
|
-
) as HostComponent<NativeProps>;
|
|
134
|
-
|
|
135
|
-
export const SmileIDBVNConsentScreenView = codegenNativeComponent<NativeProps>(
|
|
136
|
-
'SmileIDBVNConsentScreenView'
|
|
137
|
-
) as HostComponent<NativeProps>;
|
|
138
|
-
|
|
139
|
-
export const SmileIDBiometricKYCView = codegenNativeComponent<NativeProps>(
|
|
140
|
-
'SmileIDBiometricKYCView'
|
|
141
|
-
) as HostComponent<NativeProps>;
|
|
142
|
-
|
|
143
|
-
export const SmileID = {
|
|
144
|
-
initialize: (
|
|
145
|
-
enableCrashReporting: boolean = false,
|
|
146
|
-
useSandBox: boolean = false
|
|
147
|
-
) => _SmileID.initialize(enableCrashReporting, useSandBox),
|
|
41
|
+
const SmileID = {
|
|
42
|
+
/**
|
|
43
|
+
* Initialise the Smile ID SDK
|
|
44
|
+
*/
|
|
45
|
+
initialize: (useSandBox: boolean = false) => _SmileID.initialize(useSandBox),
|
|
46
|
+
/**
|
|
47
|
+
* NB: Only available on Android
|
|
48
|
+
* Disable crash reporting
|
|
49
|
+
*/
|
|
50
|
+
disableCrashReporting: () =>
|
|
51
|
+
Platform.OS === 'android' ? _SmileID.disableCrashReporting() : () => {},
|
|
52
|
+
/**
|
|
53
|
+
*Headless run enhanced kyc async
|
|
54
|
+
*/
|
|
148
55
|
doEnhancedKycAsync: (enhancedKYCRequest: EnhancedKycRequest) =>
|
|
149
56
|
_SmileID.doEnhancedKycAsync(enhancedKYCRequest),
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
*Headless run enhanced kyc async
|
|
60
|
+
*/
|
|
61
|
+
doEnhancedKyc: (enhancedKYCRequest: EnhancedKycRequest) =>
|
|
62
|
+
_SmileID.doEnhancedKyc(enhancedKYCRequest),
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export {
|
|
66
|
+
//module
|
|
67
|
+
SmileID,
|
|
68
|
+
//views
|
|
69
|
+
SmileIDSmartSelfieEnrollmentView,
|
|
70
|
+
SmileIDSmartSelfieAuthenticationView,
|
|
71
|
+
SmileIDDocumentVerificationView,
|
|
72
|
+
SmileIDBiometricKYCView,
|
|
73
|
+
SmileIDEnhancedDocumentVerificationView,
|
|
74
|
+
//types
|
|
75
|
+
EnhancedKycRequest,
|
|
76
|
+
DocumentVerificationRequest,
|
|
77
|
+
SmartSelfieEnrollmentRequest,
|
|
78
|
+
SmartSelfieAuthenticationRequest,
|
|
79
|
+
BiometricKYCRequest,
|
|
80
|
+
SmileIDViewProps,
|
|
81
|
+
ConsentRequest,
|
|
150
82
|
};
|