omnipay-reactnative-sdk 1.2.2-beta.9 → 1.2.3-beta.10
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/README.md +58 -48
- package/android/build.gradle +4 -7
- package/android/src/main/AndroidManifest.xml +0 -5
- package/android/src/main/java/com/omniretail/omnipay/FaceVerificationFrameProcessor.kt +111 -0
- package/android/src/main/java/com/omniretail/omnipay/OmnipayActivityPackage.java +6 -4
- package/ios/FaceVerificationFrameProcessor.swift +138 -0
- package/ios/FaceVerificationFrameProcessorPlugin.m +4 -0
- package/ios/OmnipayReactnativeSdk.m +5 -0
- package/ios/OmnipayReactnativeSdk.swift +10 -0
- package/ios/omnipay_reactnative_sdk.h +6 -0
- package/lib/commonjs/components/Button.js +68 -0
- package/lib/commonjs/components/Button.js.map +1 -0
- package/lib/commonjs/components/OmnipayProvider.js +7 -23
- package/lib/commonjs/components/OmnipayProvider.js.map +1 -1
- package/lib/commonjs/components/biometrics/FaceVerification.js +294 -270
- package/lib/commonjs/components/biometrics/FaceVerification.js.map +1 -1
- package/lib/commonjs/components/biometrics/useFaceVerification.js +85 -0
- package/lib/commonjs/components/biometrics/useFaceVerification.js.map +1 -0
- package/lib/commonjs/components/biometrics/useFaceVerificationFlow.js +157 -0
- package/lib/commonjs/components/biometrics/useFaceVerificationFlow.js.map +1 -0
- package/lib/commonjs/index.js +0 -33
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/Button.js +61 -0
- package/lib/module/components/Button.js.map +1 -0
- package/lib/module/components/OmnipayProvider.js +7 -23
- package/lib/module/components/OmnipayProvider.js.map +1 -1
- package/lib/module/components/biometrics/FaceVerification.js +294 -271
- package/lib/module/components/biometrics/FaceVerification.js.map +1 -1
- package/lib/module/components/biometrics/useFaceVerification.js +78 -0
- package/lib/module/components/biometrics/useFaceVerification.js.map +1 -0
- package/lib/module/components/biometrics/useFaceVerificationFlow.js +150 -0
- package/lib/module/components/biometrics/useFaceVerificationFlow.js.map +1 -0
- package/lib/module/index.js +0 -6
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/Button.d.ts +17 -0
- package/lib/typescript/components/Button.d.ts.map +1 -0
- package/lib/typescript/components/OmnipayProvider.d.ts.map +1 -1
- package/lib/typescript/components/biometrics/FaceVerification.d.ts +1 -3
- package/lib/typescript/components/biometrics/FaceVerification.d.ts.map +1 -1
- package/lib/typescript/components/biometrics/useFaceVerification.d.ts +38 -0
- package/lib/typescript/components/biometrics/useFaceVerification.d.ts.map +1 -0
- package/lib/typescript/components/biometrics/useFaceVerificationFlow.d.ts +29 -0
- package/lib/typescript/components/biometrics/useFaceVerificationFlow.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +0 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/omnipay_reactnative_sdk.podspec +46 -0
- package/package.json +5 -8
- package/src/components/Button.tsx +86 -0
- package/src/components/OmnipayProvider.tsx +7 -24
- package/src/components/biometrics/FaceVerification.tsx +315 -309
- package/src/components/biometrics/useFaceVerification.ts +120 -0
- package/src/components/biometrics/useFaceVerificationFlow.ts +224 -0
- package/src/index.tsx +0 -7
- package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessCameraView.java +0 -153
- package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessCameraViewManager.java +0 -49
- package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessModule.java +0 -557
- package/ios/OmnipayLivenessCameraView.h +0 -15
- package/ios/OmnipayLivenessCameraView.m +0 -80
- package/ios/OmnipayLivenessCameraViewManager.m +0 -19
- package/ios/OmnipayLivenessModule.h +0 -38
- package/ios/OmnipayLivenessModule.m +0 -615
- package/lib/commonjs/components/biometrics/LivenessDetection.js +0 -149
- package/lib/commonjs/components/biometrics/LivenessDetection.js.map +0 -1
- package/lib/commonjs/components/biometrics/OmnipayLivenessCameraView.js +0 -15
- package/lib/commonjs/components/biometrics/OmnipayLivenessCameraView.js.map +0 -1
- package/lib/commonjs/components/biometrics/PermissionManager.js +0 -279
- package/lib/commonjs/components/biometrics/PermissionManager.js.map +0 -1
- package/lib/commonjs/components/biometrics/index.js +0 -45
- package/lib/commonjs/components/biometrics/index.js.map +0 -1
- package/lib/commonjs/components/biometrics/types.js +0 -17
- package/lib/commonjs/components/biometrics/types.js.map +0 -1
- package/lib/module/components/biometrics/LivenessDetection.js +0 -129
- package/lib/module/components/biometrics/LivenessDetection.js.map +0 -1
- package/lib/module/components/biometrics/OmnipayLivenessCameraView.js +0 -7
- package/lib/module/components/biometrics/OmnipayLivenessCameraView.js.map +0 -1
- package/lib/module/components/biometrics/PermissionManager.js +0 -272
- package/lib/module/components/biometrics/PermissionManager.js.map +0 -1
- package/lib/module/components/biometrics/index.js +0 -12
- package/lib/module/components/biometrics/index.js.map +0 -1
- package/lib/module/components/biometrics/types.js +0 -16
- package/lib/module/components/biometrics/types.js.map +0 -1
- package/lib/typescript/components/biometrics/LivenessDetection.d.ts +0 -33
- package/lib/typescript/components/biometrics/LivenessDetection.d.ts.map +0 -1
- package/lib/typescript/components/biometrics/OmnipayLivenessCameraView.d.ts +0 -18
- package/lib/typescript/components/biometrics/OmnipayLivenessCameraView.d.ts.map +0 -1
- package/lib/typescript/components/biometrics/PermissionManager.d.ts +0 -58
- package/lib/typescript/components/biometrics/PermissionManager.d.ts.map +0 -1
- package/lib/typescript/components/biometrics/index.d.ts +0 -5
- package/lib/typescript/components/biometrics/index.d.ts.map +0 -1
- package/lib/typescript/components/biometrics/types.d.ts +0 -73
- package/lib/typescript/components/biometrics/types.d.ts.map +0 -1
- package/omnipay-reactnative-sdk.podspec +0 -50
- package/src/components/biometrics/LivenessDetection.ts +0 -178
- package/src/components/biometrics/OmnipayLivenessCameraView.tsx +0 -19
- package/src/components/biometrics/PermissionManager.ts +0 -317
- package/src/components/biometrics/index.ts +0 -11
- package/src/components/biometrics/types.ts +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","useEffect","View","Modal","Dimensions","StyleSheet","TouchableOpacity","Image","Text","ActivityIndicator","LivenessDetection","OmnipayLivenessCameraView","CameraPermissionManager","PermissionResult","LivenessChallenge","FaceVerification","onClose","onSuccess","primaryColor","config","state","setState","error","setError","isSupported","setIsSupported","currentChallenge","setCurrentChallenge","challengeProgress","setChallengeProgress","checkSupport","console","log","permissionResponse","requestCameraPermission","result","GRANTED","BLOCKED","supported","startDetection","err","livenessConfig","getDefaultConfig","onChallengeStart","challenge","getChallengeInstruction","onChallengeSuccess","_challengeResult","onChallengeFailure","reason","onAllChallengesComplete","onScreenshotCaptured","_screenshot","onDetectionFailed","success","setTimeout","failureReason","Error","message","SMILE","BLINK","TURN_LEFT","TURN_RIGHT","getStateMessage","getStateColor","handleRetry","showRetryButton","createElement","visible","transparent","onRequestClose","style","styles","modal","backdrop","activeOpacity","onPress","container","close","source","require","closeIcon","contentContainer","title","cameraContainer","camera","cameraPlaceholder","size","color","successIcon","successText","errorIcon","errorText","overlay","instruction","progressContainer","challengeText","buttonContainer","retryButton","backgroundColor","retryButtonText","width","screenWidth","height","screenHeight","get","create","margin","flex","justifyContent","alignItems","maxHeight","borderRadius","padding","position","top","right","zIndex","tintColor","paddingTop","fontSize","fontWeight","marginBottom","textAlign","overflow","bottom","left","flexDirection","gap","paddingHorizontal","paddingVertical"],"sourceRoot":"../../../../src","sources":["components/biometrics/FaceVerification.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","View","Modal","Dimensions","Platform","StyleSheet","TouchableOpacity","Image","Text","Camera","useCameraDevice","useCameraPermission","Button","useFaceVerification","useFaceVerificationFlow","FaceVerification","onClose","onSuccess","primaryColor","device","hasPermission","requestPermission","isRequestingPermission","setIsRequestingPermission","state","flowState","resetFlow","isCompleted","isFailed","frameProcessor","setTimeout","handleRequestPermission","error","console","renderPermissionRequest","createElement","style","styles","permissionContainer","permissionIconContainer","permissionIcon","permissionTitle","permissionDescription","title","onPress","backgroundColor","loading","renderNoDevice","errorContainer","errorTitle","errorSubtitle","renderCamera","cameraContainer","camera","isActive","cameraOverlay","faceFrame","progressContainer","progressBar","width","progress","instructionText","instruction","stepIndicator","completedSteps","length","statusContainer","statusText","statusContainerError","textColor","retryButton","log","visible","transparent","onRequestClose","modal","backdrop","activeOpacity","container","close","source","require","closeIcon","contentContainer","create","hide","display","full","flex","height","webview","get","borderTopRightRadius","borderTopLeftRadius","paddingTop","webviewLoader","zIndex","alignItems","justifyContent","position","top","left","maxHeight","OS","overflow","right","borderRadius","padding","testContent","paddingLeft","testTwoContent","textAlign","fontSize","color","marginBottom","paddingHorizontal","marginTop","paddingVertical","fontWeight","lineHeight","bottom","borderWidth","borderColor","borderStyle","alignSelf","minWidth"],"sourceRoot":"../../../../src","sources":["components/biometrics/FaceVerification.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { useFrameProcessor, VisionCameraProxy } from 'react-native-vision-camera';
|
|
2
|
+
// Note: For production use, you would typically use shared values or state management
|
|
3
|
+
// to communicate results from the worklet back to the React component.
|
|
4
|
+
// This simplified version just logs results for debugging.
|
|
5
|
+
|
|
6
|
+
// Initialize the plugin
|
|
7
|
+
const plugin = VisionCameraProxy.initFrameProcessorPlugin('detectFaces', {});
|
|
8
|
+
export const useFaceVerification = () => {
|
|
9
|
+
const frameProcessor = useFrameProcessor(frame => {
|
|
10
|
+
'worklet';
|
|
11
|
+
|
|
12
|
+
try {
|
|
13
|
+
if (plugin == null) {
|
|
14
|
+
console.error('Failed to load Frame Processor Plugin "detectFaces"!');
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const result = plugin.call(frame, {});
|
|
18
|
+
|
|
19
|
+
// For debugging - this works in worklets
|
|
20
|
+
if (result && result.faceDetected) {
|
|
21
|
+
console.log('Face detected:', result);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
} catch (error) {
|
|
25
|
+
console.error('Face verification error:', error);
|
|
26
|
+
return {
|
|
27
|
+
faceDetected: false,
|
|
28
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}, []);
|
|
32
|
+
return frameProcessor;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// Utility functions for interpreting results
|
|
36
|
+
export const FaceVerificationUtils = {
|
|
37
|
+
// Check if head is turned left (yaw > 20 degrees)
|
|
38
|
+
isHeadTurnedLeft: result => {
|
|
39
|
+
var _result$headPose;
|
|
40
|
+
return (_result$headPose = result.headPose) !== null && _result$headPose !== void 0 && _result$headPose.yaw ? result.headPose.yaw > 20 : false;
|
|
41
|
+
},
|
|
42
|
+
// Check if head is turned right (yaw < -20 degrees)
|
|
43
|
+
isHeadTurnedRight: result => {
|
|
44
|
+
var _result$headPose2;
|
|
45
|
+
return (_result$headPose2 = result.headPose) !== null && _result$headPose2 !== void 0 && _result$headPose2.yaw ? result.headPose.yaw < -20 : false;
|
|
46
|
+
},
|
|
47
|
+
// Check if head is tilted up (pitch > 10 degrees)
|
|
48
|
+
isHeadTiltedUp: result => {
|
|
49
|
+
var _result$headPose3;
|
|
50
|
+
return (_result$headPose3 = result.headPose) !== null && _result$headPose3 !== void 0 && _result$headPose3.pitch ? result.headPose.pitch > 10 : false;
|
|
51
|
+
},
|
|
52
|
+
// Check if head is tilted down (pitch < -10 degrees)
|
|
53
|
+
isHeadTiltedDown: result => {
|
|
54
|
+
var _result$headPose4;
|
|
55
|
+
return (_result$headPose4 = result.headPose) !== null && _result$headPose4 !== void 0 && _result$headPose4.pitch ? result.headPose.pitch < -10 : false;
|
|
56
|
+
},
|
|
57
|
+
// Check if face is centered (within ±10 degrees)
|
|
58
|
+
isFaceCentered: result => {
|
|
59
|
+
if (!result.headPose) return false;
|
|
60
|
+
const {
|
|
61
|
+
yaw,
|
|
62
|
+
pitch
|
|
63
|
+
} = result.headPose;
|
|
64
|
+
return Math.abs(yaw) <= 10 && Math.abs(pitch) <= 10;
|
|
65
|
+
},
|
|
66
|
+
// Check if smile is confident (high probability)
|
|
67
|
+
isConfidentSmile: result => {
|
|
68
|
+
return result.smileProbability ? result.smileProbability > 0.8 : result.isSmiling || false;
|
|
69
|
+
},
|
|
70
|
+
// Check if both eyes are confidently closed
|
|
71
|
+
isConfidentBlink: result => {
|
|
72
|
+
if (result.leftEyeOpenProbability !== undefined && result.rightEyeOpenProbability !== undefined) {
|
|
73
|
+
return result.leftEyeOpenProbability < 0.2 && result.rightEyeOpenProbability < 0.2;
|
|
74
|
+
}
|
|
75
|
+
return result.isBlinking || false;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=useFaceVerification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useFrameProcessor","VisionCameraProxy","plugin","initFrameProcessorPlugin","useFaceVerification","frameProcessor","frame","console","error","result","call","faceDetected","log","Error","message","FaceVerificationUtils","isHeadTurnedLeft","_result$headPose","headPose","yaw","isHeadTurnedRight","_result$headPose2","isHeadTiltedUp","_result$headPose3","pitch","isHeadTiltedDown","_result$headPose4","isFaceCentered","Math","abs","isConfidentSmile","smileProbability","isSmiling","isConfidentBlink","leftEyeOpenProbability","undefined","rightEyeOpenProbability","isBlinking"],"sourceRoot":"../../../../src","sources":["components/biometrics/useFaceVerification.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
2
|
+
import { FaceVerificationUtils } from './useFaceVerification';
|
|
3
|
+
const DEFAULT_CONFIG = {
|
|
4
|
+
stepTimeout: 10000,
|
|
5
|
+
// 10 seconds per step
|
|
6
|
+
totalTimeout: 60000,
|
|
7
|
+
// 1 minute total
|
|
8
|
+
confirmationFrames: 5,
|
|
9
|
+
// 5 consecutive frames
|
|
10
|
+
requiredSteps: ['position_face', 'smile', 'blink', 'turn_left', 'turn_right']
|
|
11
|
+
};
|
|
12
|
+
const STEP_INSTRUCTIONS = {
|
|
13
|
+
position_face: 'Position your face in the center of the frame',
|
|
14
|
+
smile: 'Please smile for the camera',
|
|
15
|
+
blink: 'Please blink your eyes',
|
|
16
|
+
turn_left: 'Slowly turn your head to the left',
|
|
17
|
+
turn_right: 'Slowly turn your head to the right',
|
|
18
|
+
completed: 'Verification completed successfully!',
|
|
19
|
+
failed: 'Verification failed. Please try again.'
|
|
20
|
+
};
|
|
21
|
+
export const useFaceVerificationFlow = (config = {}) => {
|
|
22
|
+
const fullConfig = {
|
|
23
|
+
...DEFAULT_CONFIG,
|
|
24
|
+
...config
|
|
25
|
+
};
|
|
26
|
+
const [state, setState] = useState({
|
|
27
|
+
currentStep: 'position_face',
|
|
28
|
+
completedSteps: [],
|
|
29
|
+
stepStartTime: Date.now(),
|
|
30
|
+
totalStartTime: Date.now(),
|
|
31
|
+
isProcessing: false,
|
|
32
|
+
progress: 0,
|
|
33
|
+
instruction: STEP_INSTRUCTIONS.position_face
|
|
34
|
+
});
|
|
35
|
+
const [confirmationCount, setConfirmationCount] = useState(0);
|
|
36
|
+
|
|
37
|
+
// Reset verification flow
|
|
38
|
+
const resetFlow = useCallback(() => {
|
|
39
|
+
const now = Date.now();
|
|
40
|
+
setState({
|
|
41
|
+
currentStep: 'position_face',
|
|
42
|
+
completedSteps: [],
|
|
43
|
+
stepStartTime: now,
|
|
44
|
+
totalStartTime: now,
|
|
45
|
+
isProcessing: false,
|
|
46
|
+
progress: 0,
|
|
47
|
+
instruction: STEP_INSTRUCTIONS.position_face
|
|
48
|
+
});
|
|
49
|
+
setConfirmationCount(0);
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
// Check if current step is completed based on face detection result
|
|
53
|
+
const checkStepCompletion = useCallback(result => {
|
|
54
|
+
if (!result.faceDetected) return false;
|
|
55
|
+
switch (state.currentStep) {
|
|
56
|
+
case 'position_face':
|
|
57
|
+
return FaceVerificationUtils.isFaceCentered(result);
|
|
58
|
+
case 'smile':
|
|
59
|
+
return FaceVerificationUtils.isConfidentSmile(result);
|
|
60
|
+
case 'blink':
|
|
61
|
+
return FaceVerificationUtils.isConfidentBlink(result);
|
|
62
|
+
case 'turn_left':
|
|
63
|
+
return FaceVerificationUtils.isHeadTurnedLeft(result);
|
|
64
|
+
case 'turn_right':
|
|
65
|
+
return FaceVerificationUtils.isHeadTurnedRight(result);
|
|
66
|
+
default:
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}, [state.currentStep]);
|
|
70
|
+
|
|
71
|
+
// Get next step in sequence
|
|
72
|
+
const getNextStep = useCallback(currentStep => {
|
|
73
|
+
const currentIndex = fullConfig.requiredSteps.indexOf(currentStep);
|
|
74
|
+
if (currentIndex === -1 || currentIndex === fullConfig.requiredSteps.length - 1) {
|
|
75
|
+
return 'completed';
|
|
76
|
+
}
|
|
77
|
+
const nextStep = fullConfig.requiredSteps[currentIndex + 1];
|
|
78
|
+
return nextStep || 'completed';
|
|
79
|
+
}, [fullConfig.requiredSteps]);
|
|
80
|
+
|
|
81
|
+
// Process face detection result
|
|
82
|
+
const processFaceResult = useCallback(result => {
|
|
83
|
+
if (state.currentStep === 'completed' || state.currentStep === 'failed') {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const now = Date.now();
|
|
87
|
+
|
|
88
|
+
// Check for timeouts
|
|
89
|
+
if (now - state.totalStartTime > fullConfig.totalTimeout) {
|
|
90
|
+
setState(prev => ({
|
|
91
|
+
...prev,
|
|
92
|
+
currentStep: 'failed',
|
|
93
|
+
instruction: 'Verification timed out. Please try again.',
|
|
94
|
+
error: 'Total verification timeout exceeded'
|
|
95
|
+
}));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (now - state.stepStartTime > fullConfig.stepTimeout) {
|
|
99
|
+
setState(prev => ({
|
|
100
|
+
...prev,
|
|
101
|
+
currentStep: 'failed',
|
|
102
|
+
instruction: 'Step timed out. Please try again.',
|
|
103
|
+
error: 'Step timeout exceeded'
|
|
104
|
+
}));
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Check if current step is completed
|
|
109
|
+
const stepCompleted = checkStepCompletion(result);
|
|
110
|
+
if (stepCompleted) {
|
|
111
|
+
setConfirmationCount(prev => prev + 1);
|
|
112
|
+
|
|
113
|
+
// Require multiple consecutive confirmations
|
|
114
|
+
if (confirmationCount + 1 >= fullConfig.confirmationFrames) {
|
|
115
|
+
const nextStep = getNextStep(state.currentStep);
|
|
116
|
+
const newCompletedSteps = [...state.completedSteps, state.currentStep];
|
|
117
|
+
const newProgress = newCompletedSteps.length / fullConfig.requiredSteps.length * 100;
|
|
118
|
+
setState(prev => ({
|
|
119
|
+
...prev,
|
|
120
|
+
currentStep: nextStep,
|
|
121
|
+
completedSteps: newCompletedSteps,
|
|
122
|
+
stepStartTime: now,
|
|
123
|
+
progress: newProgress,
|
|
124
|
+
instruction: STEP_INSTRUCTIONS[nextStep],
|
|
125
|
+
isProcessing: nextStep === 'completed'
|
|
126
|
+
}));
|
|
127
|
+
setConfirmationCount(0);
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
// Reset confirmation count if step not completed
|
|
131
|
+
setConfirmationCount(0);
|
|
132
|
+
}
|
|
133
|
+
}, [state, fullConfig.totalTimeout, fullConfig.stepTimeout, fullConfig.confirmationFrames, fullConfig.requiredSteps.length, confirmationCount, checkStepCompletion, getNextStep]);
|
|
134
|
+
|
|
135
|
+
// Auto-reset on mount
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
resetFlow();
|
|
138
|
+
}, [resetFlow]);
|
|
139
|
+
return {
|
|
140
|
+
state,
|
|
141
|
+
processFaceResult,
|
|
142
|
+
resetFlow,
|
|
143
|
+
isCompleted: state.currentStep === 'completed',
|
|
144
|
+
isFailed: state.currentStep === 'failed',
|
|
145
|
+
isActive: state.currentStep !== 'completed' && state.currentStep !== 'failed',
|
|
146
|
+
remainingTime: Math.max(0, fullConfig.stepTimeout - (Date.now() - state.stepStartTime)),
|
|
147
|
+
totalRemainingTime: Math.max(0, fullConfig.totalTimeout - (Date.now() - state.totalStartTime))
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=useFaceVerificationFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useCallback","FaceVerificationUtils","DEFAULT_CONFIG","stepTimeout","totalTimeout","confirmationFrames","requiredSteps","STEP_INSTRUCTIONS","position_face","smile","blink","turn_left","turn_right","completed","failed","useFaceVerificationFlow","config","fullConfig","state","setState","currentStep","completedSteps","stepStartTime","Date","now","totalStartTime","isProcessing","progress","instruction","confirmationCount","setConfirmationCount","resetFlow","checkStepCompletion","result","faceDetected","isFaceCentered","isConfidentSmile","isConfidentBlink","isHeadTurnedLeft","isHeadTurnedRight","getNextStep","currentIndex","indexOf","length","nextStep","processFaceResult","prev","error","stepCompleted","newCompletedSteps","newProgress","isCompleted","isFailed","isActive","remainingTime","Math","max","totalRemainingTime"],"sourceRoot":"../../../../src","sources":["components/biometrics/useFaceVerificationFlow.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import Omnipay from './components/OmnipayView';
|
|
2
2
|
export { OmnipayProvider } from './components/OmnipayProvider';
|
|
3
3
|
export { useOmnipay } from './hooks/useOmnipay';
|
|
4
|
-
|
|
5
|
-
// Biometric components and utilities
|
|
6
|
-
export { FaceVerification, LivenessDetection } from './components/biometrics';
|
|
7
|
-
|
|
8
|
-
// Biometric types
|
|
9
|
-
export * from './components/biometrics/types';
|
|
10
4
|
export default Omnipay;
|
|
11
5
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Omnipay","OmnipayProvider","useOmnipay"
|
|
1
|
+
{"version":3,"names":["Omnipay","OmnipayProvider","useOmnipay"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAOA,OAAO,MAAM,0BAA0B;AAE9C,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,eAAeF,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewStyle, TextStyle } from 'react-native';
|
|
3
|
+
type ButtonProps = {
|
|
4
|
+
title: string;
|
|
5
|
+
onPress: () => void;
|
|
6
|
+
backgroundColor?: string;
|
|
7
|
+
borderColor?: string;
|
|
8
|
+
textColor?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
style?: ViewStyle;
|
|
12
|
+
textStyle?: TextStyle;
|
|
13
|
+
activeOpacity?: number;
|
|
14
|
+
};
|
|
15
|
+
declare const Button: React.FC<ButtonProps>;
|
|
16
|
+
export default Button;
|
|
17
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA0CjC,CAAC;AAoBF,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OmnipayProvider.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OmnipayProvider.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAqB3D,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;CACrD,CAAC;AAQF,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACrE,cAAc,EAAE,CAAC,EACf,WAAW,EACX,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,SAAS,EACT,eAAe,EACf,YAAY,EACZ,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,GACV,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAChC,CAAC;AAOF,eAAO,MAAM,cAAc,0CAE1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,sCAK7B,oBAAoB,4CAqQtB,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type LivenessConfig } from './types';
|
|
3
2
|
type FaceVerificationProps = {
|
|
4
3
|
onClose: () => void;
|
|
5
|
-
onSuccess: (
|
|
4
|
+
onSuccess: () => void;
|
|
6
5
|
primaryColor: string;
|
|
7
|
-
config?: Partial<LivenessConfig>;
|
|
8
6
|
};
|
|
9
7
|
declare const FaceVerification: React.FC<FaceVerificationProps>;
|
|
10
8
|
export default FaceVerification;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FaceVerification.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/FaceVerification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FaceVerification.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/FaceVerification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAoBnD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmKrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface FaceVerificationResult {
|
|
2
|
+
faceDetected: boolean;
|
|
3
|
+
isSmiling?: boolean;
|
|
4
|
+
isBlinking?: boolean;
|
|
5
|
+
leftEyeClosed?: boolean;
|
|
6
|
+
rightEyeClosed?: boolean;
|
|
7
|
+
headPose?: {
|
|
8
|
+
yaw: number;
|
|
9
|
+
pitch: number;
|
|
10
|
+
roll: number;
|
|
11
|
+
};
|
|
12
|
+
boundingBox?: {
|
|
13
|
+
x?: number;
|
|
14
|
+
y?: number;
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
17
|
+
left?: number;
|
|
18
|
+
top?: number;
|
|
19
|
+
right?: number;
|
|
20
|
+
bottom?: number;
|
|
21
|
+
};
|
|
22
|
+
smileProbability?: number;
|
|
23
|
+
leftEyeOpenProbability?: number;
|
|
24
|
+
rightEyeOpenProbability?: number;
|
|
25
|
+
trackingId?: number;
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const useFaceVerification: () => import("react-native-vision-camera").ReadonlyFrameProcessor;
|
|
29
|
+
export declare const FaceVerificationUtils: {
|
|
30
|
+
isHeadTurnedLeft: (result: FaceVerificationResult) => boolean;
|
|
31
|
+
isHeadTurnedRight: (result: FaceVerificationResult) => boolean;
|
|
32
|
+
isHeadTiltedUp: (result: FaceVerificationResult) => boolean;
|
|
33
|
+
isHeadTiltedDown: (result: FaceVerificationResult) => boolean;
|
|
34
|
+
isFaceCentered: (result: FaceVerificationResult) => boolean;
|
|
35
|
+
isConfidentSmile: (result: FaceVerificationResult) => boolean;
|
|
36
|
+
isConfidentBlink: (result: FaceVerificationResult) => boolean;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=useFaceVerification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFaceVerification.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/useFaceVerification.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD,eAAO,MAAM,mBAAmB,mEA4B/B,CAAC;AAGF,eAAO,MAAM,qBAAqB;+BAEL,sBAAsB,KAAG,OAAO;gCAK/B,sBAAsB,KAAG,OAAO;6BAKnC,sBAAsB,KAAG,OAAO;+BAK9B,sBAAsB,KAAG,OAAO;6BAKlC,sBAAsB,KAAG,OAAO;+BAO9B,sBAAsB,KAAG,OAAO;+BAOhC,sBAAsB,KAAG,OAAO;CAY5D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FaceVerificationResult } from './useFaceVerification';
|
|
2
|
+
export type VerificationStep = 'position_face' | 'smile' | 'blink' | 'turn_left' | 'turn_right' | 'completed' | 'failed';
|
|
3
|
+
export interface VerificationFlowState {
|
|
4
|
+
currentStep: VerificationStep;
|
|
5
|
+
completedSteps: VerificationStep[];
|
|
6
|
+
stepStartTime: number;
|
|
7
|
+
totalStartTime: number;
|
|
8
|
+
isProcessing: boolean;
|
|
9
|
+
progress: number;
|
|
10
|
+
instruction: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface VerificationFlowConfig {
|
|
14
|
+
stepTimeout: number;
|
|
15
|
+
totalTimeout: number;
|
|
16
|
+
confirmationFrames: number;
|
|
17
|
+
requiredSteps: VerificationStep[];
|
|
18
|
+
}
|
|
19
|
+
export declare const useFaceVerificationFlow: (config?: Partial<VerificationFlowConfig>) => {
|
|
20
|
+
state: VerificationFlowState;
|
|
21
|
+
processFaceResult: (result: FaceVerificationResult) => void;
|
|
22
|
+
resetFlow: () => void;
|
|
23
|
+
isCompleted: boolean;
|
|
24
|
+
isFailed: boolean;
|
|
25
|
+
isActive: boolean;
|
|
26
|
+
remainingTime: number;
|
|
27
|
+
totalRemainingTime: number;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useFaceVerificationFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFaceVerificationFlow.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/useFaceVerificationFlow.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAEvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,OAAO,GACP,OAAO,GACP,WAAW,GACX,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,cAAc,EAAE,gBAAgB,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAmBD,eAAO,MAAM,uBAAuB,GAClC,SAAQ,OAAO,CAAC,sBAAsB,CAAM;;gCA6EjC,sBAAsB;;;;;;;CA+FlC,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import Omnipay from './components/OmnipayView';
|
|
2
2
|
export { OmnipayProvider } from './components/OmnipayProvider';
|
|
3
3
|
export { useOmnipay } from './hooks/useOmnipay';
|
|
4
|
-
export { FaceVerification, LivenessDetection } from './components/biometrics';
|
|
5
|
-
export * from './components/biometrics/types';
|
|
6
4
|
export default Omnipay;
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "omnipay_reactnative_sdk"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.description = <<-DESC
|
|
10
|
+
Omnipay React Native SDK with built-in face verification capabilities.
|
|
11
|
+
DESC
|
|
12
|
+
s.homepage = "https://github.com/engrtitus/omnipay-reactnative-sdk"
|
|
13
|
+
s.license = "MIT"
|
|
14
|
+
# s.license = { :type => "MIT", :file => "FILE_LICENSE" }
|
|
15
|
+
s.authors = { "engrtitus" => "titus.salisu@omnibiz.com" }
|
|
16
|
+
s.platforms = { :ios => "13.4" }
|
|
17
|
+
s.source = { :git => "https://github.com/engrtitus/omnipay-reactnative-sdk.git", :tag => "#{s.version}" }
|
|
18
|
+
|
|
19
|
+
s.source_files = "ios/**/*.{h,c,cc,cpp,m,mm,swift}"
|
|
20
|
+
s.requires_arc = true
|
|
21
|
+
|
|
22
|
+
# Standard React Native SDK configuration
|
|
23
|
+
s.swift_version = '5.0'
|
|
24
|
+
|
|
25
|
+
# Essential dependencies only
|
|
26
|
+
s.dependency "React-Core"
|
|
27
|
+
s.dependency "VisionCamera"
|
|
28
|
+
|
|
29
|
+
# iOS Vision Framework for face detection
|
|
30
|
+
s.framework = "Vision"
|
|
31
|
+
|
|
32
|
+
# New Architecture support
|
|
33
|
+
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
34
|
+
s.compiler_flags = "-DRCT_NEW_ARCH_ENABLED=1"
|
|
35
|
+
s.pod_target_xcconfig = {
|
|
36
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
37
|
+
"OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
|
|
38
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
39
|
+
}
|
|
40
|
+
s.dependency "React-Codegen"
|
|
41
|
+
s.dependency "RCT-Folly"
|
|
42
|
+
s.dependency "RCTRequired"
|
|
43
|
+
s.dependency "RCTTypeSafety"
|
|
44
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
45
|
+
end
|
|
46
|
+
end
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnipay-reactnative-sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.3-beta.10",
|
|
4
4
|
"description": "Omnipay react native sdk",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -84,7 +84,9 @@
|
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"react": "*",
|
|
86
86
|
"react-native": "*",
|
|
87
|
-
"react-native-share": "*"
|
|
87
|
+
"react-native-share": "*",
|
|
88
|
+
"react-native-vision-camera": "*",
|
|
89
|
+
"react-native-worklets-core": "*"
|
|
88
90
|
},
|
|
89
91
|
"jest": {
|
|
90
92
|
"preset": "react-native",
|
|
@@ -171,13 +173,8 @@
|
|
|
171
173
|
"packageImportPath": "import com.omniretail.omnipay.OmnipayActivityPackage;"
|
|
172
174
|
},
|
|
173
175
|
"ios": {
|
|
174
|
-
"podspecPath": "./
|
|
176
|
+
"podspecPath": "./omnipay_reactnative_sdk.podspec"
|
|
175
177
|
}
|
|
176
178
|
},
|
|
177
|
-
"codegenConfig": {
|
|
178
|
-
"name": "OmnipayReactNativeSdkSpec",
|
|
179
|
-
"type": "modules",
|
|
180
|
-
"jsSrcsDir": "src"
|
|
181
|
-
},
|
|
182
179
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
183
180
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
TouchableOpacity,
|
|
4
|
+
Text,
|
|
5
|
+
StyleSheet,
|
|
6
|
+
ActivityIndicator,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
TextStyle,
|
|
9
|
+
} from 'react-native';
|
|
10
|
+
|
|
11
|
+
type ButtonProps = {
|
|
12
|
+
title: string;
|
|
13
|
+
onPress: () => void;
|
|
14
|
+
backgroundColor?: string;
|
|
15
|
+
borderColor?: string;
|
|
16
|
+
textColor?: string;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
loading?: boolean;
|
|
19
|
+
style?: ViewStyle;
|
|
20
|
+
textStyle?: TextStyle;
|
|
21
|
+
activeOpacity?: number;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const Button: React.FC<ButtonProps> = ({
|
|
25
|
+
title,
|
|
26
|
+
onPress,
|
|
27
|
+
backgroundColor = '#007AFF',
|
|
28
|
+
borderColor,
|
|
29
|
+
textColor = 'white',
|
|
30
|
+
disabled = false,
|
|
31
|
+
loading = false,
|
|
32
|
+
style,
|
|
33
|
+
textStyle,
|
|
34
|
+
activeOpacity = 0.8,
|
|
35
|
+
}) => {
|
|
36
|
+
const buttonStyle: ViewStyle = {
|
|
37
|
+
...styles.button,
|
|
38
|
+
backgroundColor: disabled ? '#cccccc' : backgroundColor,
|
|
39
|
+
borderColor: disabled ? '#cccccc' : borderColor || backgroundColor,
|
|
40
|
+
...style,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const finalTextStyle: TextStyle = {
|
|
44
|
+
...styles.buttonText,
|
|
45
|
+
color: disabled ? '#666666' : textColor,
|
|
46
|
+
...textStyle,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<TouchableOpacity
|
|
51
|
+
style={buttonStyle}
|
|
52
|
+
onPress={onPress}
|
|
53
|
+
disabled={disabled || loading}
|
|
54
|
+
activeOpacity={activeOpacity}
|
|
55
|
+
accessibilityRole="button"
|
|
56
|
+
accessibilityLabel={title}
|
|
57
|
+
accessibilityState={{ disabled: disabled || loading }}
|
|
58
|
+
>
|
|
59
|
+
{loading ? (
|
|
60
|
+
<ActivityIndicator color={textColor} size="small" />
|
|
61
|
+
) : (
|
|
62
|
+
<Text style={finalTextStyle}>{title}</Text>
|
|
63
|
+
)}
|
|
64
|
+
</TouchableOpacity>
|
|
65
|
+
);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const styles = StyleSheet.create({
|
|
69
|
+
button: {
|
|
70
|
+
borderRadius: 6,
|
|
71
|
+
paddingHorizontal: 12,
|
|
72
|
+
paddingVertical: 14,
|
|
73
|
+
borderWidth: 1,
|
|
74
|
+
alignItems: 'center',
|
|
75
|
+
justifyContent: 'center',
|
|
76
|
+
minHeight: 48,
|
|
77
|
+
},
|
|
78
|
+
buttonText: {
|
|
79
|
+
color: 'white',
|
|
80
|
+
fontSize: 16,
|
|
81
|
+
fontWeight: '600',
|
|
82
|
+
paddingHorizontal: 30,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
export default Button;
|