@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.
- package/android/build.gradle +4 -1
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/smileidentity/react/Mapper.kt +19 -2
- package/android/src/main/java/com/smileidentity/react/fragments/SmileCaptureFragment.kt +56 -0
- package/android/src/main/java/com/smileidentity/react/utils/ReactUtils.kt +16 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/BaseSmileIDViewManager.kt +130 -0
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDBiometricKYCViewManager.kt +22 -46
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDConsentViewManager.kt +27 -52
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentCaptureViewManager.kt +15 -40
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDDocumentVerificationViewManager.kt +23 -49
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDEnhancedDocumentVerificationViewManager.kt +28 -47
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.kt +12 -37
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieAuthenticationViewManager.kt +16 -40
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieCaptureViewManager.kt +15 -38
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.kt +13 -38
- package/android/src/main/java/com/smileidentity/react/viewmanagers/SmileIDSmartSelfieEnrollmentViewManager.kt +15 -44
- package/android/src/main/java/com/smileidentity/react/views/SmileIDBiometricKYCView.kt +7 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDEnhancedDocumentVerificationView.kt +8 -0
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieCaptureView.kt +38 -25
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentEnhancedView.kt +29 -21
- package/android/src/main/java/com/smileidentity/react/views/SmileIDSmartSelfieEnrollmentView.kt +35 -28
- package/android/src/main/java/com/smileidentity/react/views/SmileIDView.kt +11 -10
- package/android/src/main/res/values/colors.xml +14 -0
- package/android/src/main/res/values/strings.xml +91 -0
- package/ios/RNDelegates/SmileIDUIViewDelegate.swift +2 -0
- package/ios/RNSmileID.swift +470 -471
- package/ios/Utils/FileUtils.swift +17 -17
- package/ios/Utils/SmileIDDictExt.swift +14 -9
- package/ios/View/BaseSmileIDView.swift +6 -5
- package/ios/View/SmileIDBiometricKYCView.swift +54 -54
- package/ios/View/SmileIDConsentView.swift +2 -1
- package/ios/View/SmileIDDocumentCaptureView.swift +64 -64
- package/ios/View/SmileIDDocumentVerificationView.swift +51 -51
- package/ios/View/SmileIDEnhancedDocumentVerificationView.swift +51 -50
- package/ios/View/SmileIDSmartSelfieAuthEnhancedView.swift +34 -33
- package/ios/View/SmileIDSmartSelfieAuthView.swift +35 -34
- package/ios/View/SmileIDSmartSelfieCaptureView.swift +55 -55
- package/ios/View/SmileIDSmartSelfieEnrollmentEnhancedView.swift +35 -34
- package/ios/View/SmileIDSmartSelfieEnrollmentView.swift +37 -36
- package/ios/ViewManagers/SmileIDBaseViewManager.swift +22 -5
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDBiometricKYCViewManager.swift +2 -2
- package/ios/ViewManagers/SmileIDConsentViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDConsentViewManager.swift +2 -2
- package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDDocumentCaptureViewManager.swift +19 -19
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDDocumentVerificationViewManager.swift +40 -40
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDEnhancedDocumentVerificationViewManager.swift +40 -40
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationEnhancedViewManager.swift +16 -16
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieAuthenticationViewManager.swift +20 -20
- package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieCaptureViewManager.swift +27 -26
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentEnhancedViewManager.swift +16 -16
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.m +4 -1
- package/ios/ViewManagers/SmileIDSmartSelfieEnrollmentViewManager.swift +20 -20
- package/ios/ViewModels/SmileIDProductModel.swift +5 -5
- package/lib/commonjs/SmileIDBiometricKYCView.js +18 -29
- package/lib/commonjs/SmileIDBiometricKYCView.js.map +1 -1
- package/lib/commonjs/SmileIDConsentView.js +9 -29
- package/lib/commonjs/SmileIDConsentView.js.map +1 -1
- package/lib/commonjs/SmileIDDocumentCaptureView.js +9 -29
- package/lib/commonjs/SmileIDDocumentCaptureView.js.map +1 -1
- package/lib/commonjs/SmileIDDocumentVerificationView.js +9 -29
- package/lib/commonjs/SmileIDDocumentVerificationView.js.map +1 -1
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js +17 -28
- package/lib/commonjs/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieCaptureView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieCaptureView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -1
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js +9 -29
- package/lib/commonjs/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
- package/lib/commonjs/useSmileIDView.js +65 -0
- package/lib/commonjs/useSmileIDView.js.map +1 -0
- package/lib/module/SmileIDBiometricKYCView.js +18 -26
- package/lib/module/SmileIDBiometricKYCView.js.map +1 -1
- package/lib/module/SmileIDConsentView.js +9 -26
- package/lib/module/SmileIDConsentView.js.map +1 -1
- package/lib/module/SmileIDDocumentCaptureView.js +9 -26
- package/lib/module/SmileIDDocumentCaptureView.js.map +1 -1
- package/lib/module/SmileIDDocumentVerificationView.js +9 -26
- package/lib/module/SmileIDDocumentVerificationView.js.map +1 -1
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js +17 -25
- package/lib/module/SmileIDEnhancedDocumentVerificationView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js +9 -26
- package/lib/module/SmileIDSmartSelfieAuthenticationEnhancedView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js +9 -26
- package/lib/module/SmileIDSmartSelfieAuthenticationView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieCaptureView.js +9 -26
- package/lib/module/SmileIDSmartSelfieCaptureView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js +9 -26
- package/lib/module/SmileIDSmartSelfieEnrollmentEnhancedView.js.map +1 -1
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js +9 -26
- package/lib/module/SmileIDSmartSelfieEnrollmentView.js.map +1 -1
- package/lib/module/useSmileIDView.js +58 -0
- package/lib/module/useSmileIDView.js.map +1 -0
- package/lib/typescript/SmileIDBiometricKYCView.d.ts +3 -6
- package/lib/typescript/SmileIDBiometricKYCView.d.ts.map +1 -1
- package/lib/typescript/SmileIDConsentView.d.ts +3 -6
- package/lib/typescript/SmileIDConsentView.d.ts.map +1 -1
- package/lib/typescript/SmileIDDocumentCaptureView.d.ts +3 -6
- package/lib/typescript/SmileIDDocumentCaptureView.d.ts.map +1 -1
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts +3 -6
- package/lib/typescript/SmileIDDocumentVerificationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts +3 -6
- package/lib/typescript/SmileIDEnhancedDocumentVerificationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieAuthenticationEnhancedView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieAuthenticationView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieCaptureView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieEnrollmentEnhancedView.d.ts.map +1 -1
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts +3 -6
- package/lib/typescript/SmileIDSmartSelfieEnrollmentView.d.ts.map +1 -1
- package/lib/typescript/useSmileIDView.d.ts +12 -0
- package/lib/typescript/useSmileIDView.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/SmileIDBiometricKYCView.tsx +14 -30
- package/src/SmileIDConsentView.tsx +7 -30
- package/src/SmileIDDocumentCaptureView.tsx +9 -33
- package/src/SmileIDDocumentVerificationView.tsx +9 -36
- package/src/SmileIDEnhancedDocumentVerificationView.tsx +23 -35
- package/src/SmileIDSmartSelfieAuthenticationEnhancedView.tsx +17 -36
- package/src/SmileIDSmartSelfieAuthenticationView.tsx +10 -37
- package/src/SmileIDSmartSelfieCaptureView.tsx +9 -33
- package/src/SmileIDSmartSelfieEnrollmentEnhancedView.tsx +14 -36
- package/src/SmileIDSmartSelfieEnrollmentView.tsx +10 -37
- package/src/useSmileIDView.tsx +88 -0
|
@@ -1,47 +1,20 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { HostComponent } from 'react-native';
|
|
3
|
-
import { UIManager, findNodeHandle, Platform } from 'react-native';
|
|
4
3
|
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
4
|
import type { DocumentVerificationRequest } from './index';
|
|
5
|
+
import { useSmileIDView } from './useSmileIDView';
|
|
6
6
|
|
|
7
7
|
const SmileIDDocumentVerificationComponent =
|
|
8
8
|
codegenNativeComponent<DocumentVerificationRequest>(
|
|
9
9
|
'SmileIDDocumentVerificationView'
|
|
10
10
|
) as HostComponent<DocumentVerificationRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDDocumentVerificationView: React.FC<DocumentVerificationRequest> = (
|
|
13
|
+
props
|
|
14
|
+
) => {
|
|
15
|
+
const viewRef = useSmileIDView('SmileIDDocumentVerificationView', props);
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
...this.props,
|
|
18
|
-
};
|
|
17
|
+
return <SmileIDDocumentVerificationComponent ref={viewRef} {...props} />;
|
|
18
|
+
};
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
const commandId = UIManager.getViewManagerConfig(
|
|
22
|
-
'SmileIDDocumentVerificationView'
|
|
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
|
-
<SmileIDDocumentVerificationComponent
|
|
42
|
-
ref={this.viewRef}
|
|
43
|
-
{...this.props}
|
|
44
|
-
/>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
20
|
+
export default SmileIDDocumentVerificationView;
|
|
@@ -1,47 +1,35 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { HostComponent } from 'react-native';
|
|
3
|
-
import { UIManager, findNodeHandle, Platform } from 'react-native';
|
|
4
3
|
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
4
|
import type { DocumentVerificationRequest } from './index';
|
|
5
|
+
import { useSmileIDView } from './useSmileIDView';
|
|
6
6
|
|
|
7
7
|
const SmileIDEnhancedDocumentVerificationComponent =
|
|
8
8
|
codegenNativeComponent<DocumentVerificationRequest>(
|
|
9
9
|
'SmileIDEnhancedDocumentVerificationView'
|
|
10
10
|
) as HostComponent<DocumentVerificationRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const defaultConsentInfo = {
|
|
13
|
+
consentInformation: {
|
|
14
|
+
timestamp: new Date().toISOString(),
|
|
15
|
+
},
|
|
16
|
+
};
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
const SmileIDEnhancedDocumentVerificationView: React.FC<
|
|
19
|
+
DocumentVerificationRequest
|
|
20
|
+
> = (props) => {
|
|
21
|
+
const mergedProps = { ...defaultConsentInfo, ...props };
|
|
22
|
+
const viewRef = useSmileIDView(
|
|
23
|
+
'SmileIDEnhancedDocumentVerificationView',
|
|
24
|
+
mergedProps
|
|
25
|
+
);
|
|
19
26
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
return (
|
|
28
|
+
<SmileIDEnhancedDocumentVerificationComponent
|
|
29
|
+
ref={viewRef}
|
|
30
|
+
{...mergedProps}
|
|
31
|
+
/>
|
|
32
|
+
);
|
|
33
|
+
};
|
|
24
34
|
|
|
25
|
-
|
|
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
|
-
<SmileIDEnhancedDocumentVerificationComponent
|
|
42
|
-
ref={this.viewRef}
|
|
43
|
-
{...this.props}
|
|
44
|
-
/>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
35
|
+
export default SmileIDEnhancedDocumentVerificationView;
|
|
@@ -1,47 +1,28 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { HostComponent } from 'react-native';
|
|
3
|
-
import { UIManager, findNodeHandle, Platform } from 'react-native';
|
|
4
3
|
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
4
|
import type { SmartSelfieAuthenticationEnhancedRequest } from './index';
|
|
5
|
+
import { useSmileIDView } from './useSmileIDView';
|
|
6
6
|
|
|
7
7
|
const SmileIDSmartSelfieAuthenticationEnhancedComponent =
|
|
8
8
|
codegenNativeComponent<SmartSelfieAuthenticationEnhancedRequest>(
|
|
9
9
|
'SmileIDSmartSelfieAuthenticationEnhancedView'
|
|
10
10
|
) as HostComponent<SmartSelfieAuthenticationEnhancedRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDSmartSelfieAuthenticationEnhancedView: React.FC<
|
|
13
|
+
SmartSelfieAuthenticationEnhancedRequest
|
|
14
|
+
> = (props) => {
|
|
15
|
+
const viewRef = useSmileIDView(
|
|
16
|
+
'SmileIDSmartSelfieAuthenticationEnhancedView',
|
|
17
|
+
props
|
|
18
|
+
);
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
return (
|
|
21
|
+
<SmileIDSmartSelfieAuthenticationEnhancedComponent
|
|
22
|
+
ref={viewRef}
|
|
23
|
+
{...props}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
19
27
|
|
|
20
|
-
|
|
21
|
-
const commandId = UIManager.getViewManagerConfig(
|
|
22
|
-
'SmileIDSmartSelfieAuthenticationEnhancedView'
|
|
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
|
-
<SmileIDSmartSelfieAuthenticationEnhancedComponent
|
|
42
|
-
ref={this.viewRef}
|
|
43
|
-
{...this.props}
|
|
44
|
-
/>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
28
|
+
export default SmileIDSmartSelfieAuthenticationEnhancedView;
|
|
@@ -1,47 +1,20 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import type
|
|
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 { SmartSelfieAuthenticationRequest } from './index';
|
|
5
|
+
import { useSmileIDView } from './useSmileIDView';
|
|
6
6
|
|
|
7
7
|
const SmileIDSmartSelfieAuthenticationComponent =
|
|
8
8
|
codegenNativeComponent<SmartSelfieAuthenticationRequest>(
|
|
9
9
|
'SmileIDSmartSelfieAuthenticationView'
|
|
10
10
|
) as HostComponent<SmartSelfieAuthenticationRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDSmartSelfieAuthenticationView: React.FC<
|
|
13
|
+
SmartSelfieAuthenticationRequest
|
|
14
|
+
> = (props) => {
|
|
15
|
+
const viewRef = useSmileIDView('SmileIDSmartSelfieAuthenticationView', props);
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
...this.props,
|
|
18
|
-
};
|
|
17
|
+
return <SmileIDSmartSelfieAuthenticationComponent ref={viewRef} {...props} />;
|
|
18
|
+
};
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
const commandId = UIManager.getViewManagerConfig(
|
|
22
|
-
'SmileIDSmartSelfieAuthenticationView'
|
|
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
|
-
<SmileIDSmartSelfieAuthenticationComponent
|
|
42
|
-
ref={this.viewRef}
|
|
43
|
-
{...this.props}
|
|
44
|
-
/>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
20
|
+
export default SmileIDSmartSelfieAuthenticationView;
|
|
@@ -1,44 +1,20 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { HostComponent } from 'react-native';
|
|
3
|
-
import { UIManager, findNodeHandle, Platform } 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 SmileIDSmartSelfieCaptureComponent =
|
|
8
8
|
codegenNativeComponent<SmartSelfieEnrollmentRequest>(
|
|
9
9
|
'SmileIDSmartSelfieCaptureView'
|
|
10
10
|
) as HostComponent<SmartSelfieEnrollmentRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDSmartSelfieCaptureView: React.FC<SmartSelfieEnrollmentRequest> = (
|
|
13
|
+
props
|
|
14
|
+
) => {
|
|
15
|
+
const viewRef = useSmileIDView('SmileIDSmartSelfieCaptureView', props);
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
...this.props,
|
|
18
|
-
};
|
|
17
|
+
return <SmileIDSmartSelfieCaptureComponent ref={viewRef} {...props} />;
|
|
18
|
+
};
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
const commandId = UIManager.getViewManagerConfig(
|
|
22
|
-
'SmileIDSmartSelfieCaptureView'
|
|
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
|
-
<SmileIDSmartSelfieCaptureComponent ref={this.viewRef} {...this.props} />
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
20
|
+
export default SmileIDSmartSelfieCaptureView;
|
|
@@ -1,47 +1,25 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import type { HostComponent } from 'react-native';
|
|
3
|
-
import { UIManager, findNodeHandle, Platform } from 'react-native';
|
|
4
3
|
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
5
4
|
import type { SmartSelfieEnrollmentEnhancedRequest } from './index';
|
|
5
|
+
import { useSmileIDView } from './useSmileIDView';
|
|
6
6
|
|
|
7
7
|
const SmileIDSmartSelfieEnrollmentEnhancedComponent =
|
|
8
8
|
codegenNativeComponent<SmartSelfieEnrollmentEnhancedRequest>(
|
|
9
9
|
'SmileIDSmartSelfieEnrollmentEnhancedView'
|
|
10
10
|
) as HostComponent<SmartSelfieEnrollmentEnhancedRequest>;
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDSmartSelfieEnrollmentEnhancedView: React.FC<
|
|
13
|
+
SmartSelfieEnrollmentEnhancedRequest
|
|
14
|
+
> = (props) => {
|
|
15
|
+
const viewRef = useSmileIDView(
|
|
16
|
+
'SmileIDSmartSelfieEnrollmentEnhancedView',
|
|
17
|
+
props
|
|
18
|
+
);
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
return (
|
|
21
|
+
<SmileIDSmartSelfieEnrollmentEnhancedComponent ref={viewRef} {...props} />
|
|
22
|
+
);
|
|
23
|
+
};
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
const commandId = UIManager.getViewManagerConfig(
|
|
22
|
-
'SmileIDSmartSelfieEnrollmentEnhancedView'
|
|
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
|
-
<SmileIDSmartSelfieEnrollmentEnhancedComponent
|
|
42
|
-
ref={this.viewRef}
|
|
43
|
-
{...this.props}
|
|
44
|
-
/>
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
25
|
+
export default SmileIDSmartSelfieEnrollmentEnhancedView;
|
|
@@ -1,47 +1,20 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import type
|
|
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
|
-
|
|
13
|
-
|
|
12
|
+
const SmileIDSmartSelfieEnrollmentView: React.FC<
|
|
13
|
+
SmartSelfieEnrollmentRequest
|
|
14
|
+
> = (props) => {
|
|
15
|
+
const viewRef = useSmileIDView('SmileIDSmartSelfieEnrollmentView', props);
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
...this.props,
|
|
18
|
-
};
|
|
17
|
+
return <SmileIDSmartSelfieEnrollmentComponent ref={viewRef} {...props} />;
|
|
18
|
+
};
|
|
19
19
|
|
|
20
|
-
|
|
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;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } 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
|
+
const [viewProps, setViewProps] = useState<SmileIDProps>(props);
|
|
17
|
+
const onResultRef = useRef(viewProps.onResult);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
onResultRef.current = viewProps.onResult;
|
|
20
|
+
}, [viewProps.onResult]);
|
|
21
|
+
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const eventListener = DeviceEventEmitter.addListener(
|
|
24
|
+
'onSmileResult',
|
|
25
|
+
(event) => {
|
|
26
|
+
// Use the ref to access the latest callback
|
|
27
|
+
setViewProps((prev) => ({
|
|
28
|
+
...prev,
|
|
29
|
+
userId: 'invalidator',
|
|
30
|
+
}));
|
|
31
|
+
if (onResultRef.current) {
|
|
32
|
+
const nativeEvent = {
|
|
33
|
+
nativeEvent: {
|
|
34
|
+
error: event.error,
|
|
35
|
+
result: event.result,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
onResultRef.current(nativeEvent);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
return () => {
|
|
44
|
+
eventListener.remove();
|
|
45
|
+
};
|
|
46
|
+
}, []);
|
|
47
|
+
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
const viewId = findNodeHandle(viewRef.current);
|
|
50
|
+
const commandId = UIManager.getViewManagerConfig(viewName).Commands.create;
|
|
51
|
+
|
|
52
|
+
// Ensure the commandId is defined and is a number
|
|
53
|
+
if (typeof commandId !== 'undefined') {
|
|
54
|
+
UIManager.dispatchViewManagerCommand(
|
|
55
|
+
findNodeHandle(viewRef.current),
|
|
56
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
57
|
+
[viewId]
|
|
58
|
+
);
|
|
59
|
+
} else {
|
|
60
|
+
throw new Error('Command "create" is not defined for MyNativeComponent');
|
|
61
|
+
}
|
|
62
|
+
}, [viewName]);
|
|
63
|
+
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
const parameters = {
|
|
66
|
+
...viewProps,
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const viewId = findNodeHandle(viewRef.current);
|
|
70
|
+
const commandId =
|
|
71
|
+
UIManager.getViewManagerConfig(viewName).Commands.setParams;
|
|
72
|
+
|
|
73
|
+
// Ensure the commandId is defined and is a number
|
|
74
|
+
if (typeof commandId !== 'undefined') {
|
|
75
|
+
UIManager.dispatchViewManagerCommand(
|
|
76
|
+
findNodeHandle(viewRef.current),
|
|
77
|
+
Platform.OS === 'android' ? commandId.toString() : commandId,
|
|
78
|
+
[viewId, parameters]
|
|
79
|
+
);
|
|
80
|
+
} else {
|
|
81
|
+
throw new Error(
|
|
82
|
+
'Command "setParams" is not defined for MyNativeComponent'
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
}, [viewProps, viewName]);
|
|
86
|
+
|
|
87
|
+
return viewRef;
|
|
88
|
+
};
|