omnipay-reactnative-sdk 1.2.2-beta.9 → 1.2.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +43 -93
  2. package/android/build.gradle +0 -9
  3. package/android/src/main/AndroidManifest.xml +0 -5
  4. package/android/src/main/java/com/omniretail/omnipay/OmnipayActivityPackage.java +1 -4
  5. package/lib/commonjs/components/OmnipayProvider.js +1 -1
  6. package/lib/commonjs/components/biometrics/FaceVerification.js +235 -275
  7. package/lib/commonjs/components/biometrics/FaceVerification.js.map +1 -1
  8. package/lib/commonjs/index.js +0 -33
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/module/components/OmnipayProvider.js +1 -1
  11. package/lib/module/components/biometrics/FaceVerification.js +237 -277
  12. package/lib/module/components/biometrics/FaceVerification.js.map +1 -1
  13. package/lib/module/index.js +0 -6
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/typescript/components/biometrics/FaceVerification.d.ts +1 -3
  16. package/lib/typescript/components/biometrics/FaceVerification.d.ts.map +1 -1
  17. package/lib/typescript/index.d.ts +0 -2
  18. package/lib/typescript/index.d.ts.map +1 -1
  19. package/package.json +4 -16
  20. package/src/components/OmnipayProvider.tsx +1 -1
  21. package/src/components/biometrics/FaceVerification.tsx +232 -317
  22. package/src/index.tsx +0 -7
  23. package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessCameraView.java +0 -153
  24. package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessCameraViewManager.java +0 -49
  25. package/android/src/main/java/com/omniretail/omnipay/OmnipayLivenessModule.java +0 -557
  26. package/ios/OmnipayLivenessCameraView.h +0 -15
  27. package/ios/OmnipayLivenessCameraView.m +0 -80
  28. package/ios/OmnipayLivenessCameraViewManager.m +0 -19
  29. package/ios/OmnipayLivenessModule.h +0 -38
  30. package/ios/OmnipayLivenessModule.m +0 -615
  31. package/lib/commonjs/components/biometrics/LivenessDetection.js +0 -149
  32. package/lib/commonjs/components/biometrics/LivenessDetection.js.map +0 -1
  33. package/lib/commonjs/components/biometrics/OmnipayLivenessCameraView.js +0 -15
  34. package/lib/commonjs/components/biometrics/OmnipayLivenessCameraView.js.map +0 -1
  35. package/lib/commonjs/components/biometrics/PermissionManager.js +0 -279
  36. package/lib/commonjs/components/biometrics/PermissionManager.js.map +0 -1
  37. package/lib/commonjs/components/biometrics/index.js +0 -45
  38. package/lib/commonjs/components/biometrics/index.js.map +0 -1
  39. package/lib/commonjs/components/biometrics/types.js +0 -17
  40. package/lib/commonjs/components/biometrics/types.js.map +0 -1
  41. package/lib/module/components/biometrics/LivenessDetection.js +0 -129
  42. package/lib/module/components/biometrics/LivenessDetection.js.map +0 -1
  43. package/lib/module/components/biometrics/OmnipayLivenessCameraView.js +0 -7
  44. package/lib/module/components/biometrics/OmnipayLivenessCameraView.js.map +0 -1
  45. package/lib/module/components/biometrics/PermissionManager.js +0 -272
  46. package/lib/module/components/biometrics/PermissionManager.js.map +0 -1
  47. package/lib/module/components/biometrics/index.js +0 -12
  48. package/lib/module/components/biometrics/index.js.map +0 -1
  49. package/lib/module/components/biometrics/types.js +0 -16
  50. package/lib/module/components/biometrics/types.js.map +0 -1
  51. package/lib/typescript/components/biometrics/LivenessDetection.d.ts +0 -33
  52. package/lib/typescript/components/biometrics/LivenessDetection.d.ts.map +0 -1
  53. package/lib/typescript/components/biometrics/OmnipayLivenessCameraView.d.ts +0 -18
  54. package/lib/typescript/components/biometrics/OmnipayLivenessCameraView.d.ts.map +0 -1
  55. package/lib/typescript/components/biometrics/PermissionManager.d.ts +0 -58
  56. package/lib/typescript/components/biometrics/PermissionManager.d.ts.map +0 -1
  57. package/lib/typescript/components/biometrics/index.d.ts +0 -5
  58. package/lib/typescript/components/biometrics/index.d.ts.map +0 -1
  59. package/lib/typescript/components/biometrics/types.d.ts +0 -73
  60. package/lib/typescript/components/biometrics/types.d.ts.map +0 -1
  61. package/omnipay-reactnative-sdk.podspec +0 -50
  62. package/src/components/biometrics/LivenessDetection.ts +0 -178
  63. package/src/components/biometrics/OmnipayLivenessCameraView.tsx +0 -19
  64. package/src/components/biometrics/PermissionManager.ts +0 -317
  65. package/src/components/biometrics/index.ts +0 -11
  66. package/src/components/biometrics/types.ts +0 -86
@@ -1 +0,0 @@
1
- {"version":3,"names":["NativeModules","NativeEventEmitter","OmnipayLivenessModule","LivenessDetectionManager","eventListeners","constructor","eventEmitter","isSupported","console","log","Object","keys","result","error","startDetection","config","callbacks","Error","setupEventListeners","startLivenessDetection","cleanupEventListeners","stopDetection","warn","onChallengeStart","challengeStart","addListener","challenge","onChallengeSuccess","challengeSuccess","data","onChallengeFailure","challengeFailure","reason","onAllChallengesComplete","allComplete","onScreenshotCaptured","screenshot","onDetectionFailed","failed","values","forEach","listener","remove","getDefaultConfig","challenges","challengeTimeout","totalTimeout","debugMode","__DEV__","LivenessDetection"],"sourceRoot":"../../../../src","sources":["components/biometrics/LivenessDetection.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import { requireNativeComponent } from 'react-native';
3
- const NativeOmnipayLivenessCameraView = requireNativeComponent('OmnipayLivenessCameraView');
4
- export const OmnipayLivenessCameraView = props => {
5
- return /*#__PURE__*/React.createElement(NativeOmnipayLivenessCameraView, props);
6
- };
7
- //# sourceMappingURL=OmnipayLivenessCameraView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","requireNativeComponent","NativeOmnipayLivenessCameraView","OmnipayLivenessCameraView","props","createElement"],"sourceRoot":"../../../../src","sources":["components/biometrics/OmnipayLivenessCameraView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,sBAAsB,QAAmB,cAAc;AAQhE,MAAMC,+BAA+B,GACnCD,sBAAsB,CACpB,2BACF,CAAC;AAEH,OAAO,MAAME,yBAEZ,GAAIC,KAAK,IAAK;EACb,oBAAOJ,KAAA,CAAAK,aAAA,CAACH,+BAA+B,EAAKE,KAAQ,CAAC;AACvD,CAAC","ignoreList":[]}
@@ -1,272 +0,0 @@
1
- import { Platform, Alert, Linking, PermissionsAndroid } from 'react-native';
2
- import { LivenessDetection } from './LivenessDetection';
3
- export let PermissionResult = /*#__PURE__*/function (PermissionResult) {
4
- PermissionResult["GRANTED"] = "granted";
5
- PermissionResult["DENIED"] = "denied";
6
- PermissionResult["BLOCKED"] = "blocked";
7
- PermissionResult["UNAVAILABLE"] = "unavailable";
8
- return PermissionResult;
9
- }({});
10
- export class CameraPermissionManager {
11
- /**
12
- * Check current camera permission status
13
- */
14
- static async checkCameraPermission() {
15
- try {
16
- if (Platform.OS === 'android') {
17
- return await this.checkAndroidCameraPermission();
18
- } else {
19
- // For iOS, we'll check through the native module
20
- return await this.checkIOSCameraPermission();
21
- }
22
- } catch (error) {
23
- console.error('Error checking camera permission:', error);
24
- return {
25
- result: PermissionResult.UNAVAILABLE,
26
- canRequest: false,
27
- message: 'Unable to check camera permission'
28
- };
29
- }
30
- }
31
-
32
- /**
33
- * Request camera permission with user-friendly flow
34
- */
35
- static async requestCameraPermission(showRationale = true) {
36
- try {
37
- // First check current status
38
- const currentStatus = await this.checkCameraPermission();
39
- if (currentStatus.result === PermissionResult.GRANTED) {
40
- return currentStatus;
41
- }
42
- if (currentStatus.result === PermissionResult.BLOCKED) {
43
- if (showRationale) {
44
- this.showPermissionBlockedAlert();
45
- }
46
- return currentStatus;
47
- }
48
-
49
- // Show rationale if needed
50
- if (showRationale && currentStatus.result === PermissionResult.DENIED) {
51
- const shouldProceed = await this.showPermissionRationale();
52
- if (!shouldProceed) {
53
- return {
54
- result: PermissionResult.DENIED,
55
- canRequest: true,
56
- message: 'User declined to grant permission'
57
- };
58
- }
59
- }
60
-
61
- // Request permission based on platform
62
- if (Platform.OS === 'android') {
63
- return await this.requestAndroidCameraPermission();
64
- } else {
65
- return await this.requestIOSCameraPermission();
66
- }
67
- } catch (error) {
68
- console.error('Error requesting camera permission:', error);
69
- return {
70
- result: PermissionResult.UNAVAILABLE,
71
- canRequest: false,
72
- message: 'Unable to request camera permission'
73
- };
74
- }
75
- }
76
-
77
- /**
78
- * Check Android camera permission using PermissionsAndroid
79
- */
80
- static async checkAndroidCameraPermission() {
81
- const hasPermission = await PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA);
82
- if (hasPermission) {
83
- return {
84
- result: PermissionResult.GRANTED,
85
- canRequest: false,
86
- message: 'Camera permission granted'
87
- };
88
- }
89
- return {
90
- result: PermissionResult.DENIED,
91
- canRequest: true,
92
- message: 'Camera permission not granted'
93
- };
94
- }
95
-
96
- /**
97
- * Request Android camera permission
98
- */
99
- static async requestAndroidCameraPermission() {
100
- try {
101
- const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA, {
102
- title: 'Camera Permission Required',
103
- message: 'Face verification requires camera access to capture your image and perform liveness detection.',
104
- buttonNeutral: 'Ask Me Later',
105
- buttonNegative: 'Cancel',
106
- buttonPositive: 'OK'
107
- });
108
- switch (granted) {
109
- case PermissionsAndroid.RESULTS.GRANTED:
110
- return {
111
- result: PermissionResult.GRANTED,
112
- canRequest: false,
113
- message: 'Camera permission granted'
114
- };
115
- case PermissionsAndroid.RESULTS.DENIED:
116
- return {
117
- result: PermissionResult.DENIED,
118
- canRequest: true,
119
- message: 'Camera permission denied'
120
- };
121
- case PermissionsAndroid.RESULTS.NEVER_ASK_AGAIN:
122
- return {
123
- result: PermissionResult.BLOCKED,
124
- canRequest: false,
125
- message: 'Camera permission permanently blocked'
126
- };
127
- default:
128
- return {
129
- result: PermissionResult.DENIED,
130
- canRequest: true,
131
- message: 'Camera permission denied'
132
- };
133
- }
134
- } catch (error) {
135
- console.error('Error requesting Android camera permission:', error);
136
- return {
137
- result: PermissionResult.UNAVAILABLE,
138
- canRequest: false,
139
- message: 'Unable to request camera permission'
140
- };
141
- }
142
- }
143
-
144
- /**
145
- * Check iOS camera permission through native module
146
- */
147
- static async checkIOSCameraPermission() {
148
- try {
149
- // iOS permissions are handled automatically by AVCaptureDevice
150
- // We'll use the liveness detection module to check support
151
- const isSupported = await LivenessDetection.isSupported();
152
- if (isSupported) {
153
- return {
154
- result: PermissionResult.GRANTED,
155
- canRequest: false,
156
- message: 'Camera access available'
157
- };
158
- } else {
159
- return {
160
- result: PermissionResult.UNAVAILABLE,
161
- canRequest: false,
162
- message: 'Camera not available'
163
- };
164
- }
165
- } catch (error) {
166
- return {
167
- result: PermissionResult.UNAVAILABLE,
168
- canRequest: false,
169
- message: 'Unable to check camera availability'
170
- };
171
- }
172
- }
173
-
174
- /**
175
- * Request iOS camera permission through native module
176
- */
177
- static async requestIOSCameraPermission() {
178
- // iOS camera permissions are handled automatically by the native module
179
- // when startLivenessDetection is called. The system will show the permission
180
- // dialog automatically if needed.
181
- return {
182
- result: PermissionResult.GRANTED,
183
- canRequest: false,
184
- message: 'iOS camera permission will be requested automatically'
185
- };
186
- }
187
-
188
- /**
189
- * Request permission with retry logic
190
- */
191
- static async requestWithRetry(maxRetries = 2) {
192
- let lastResponse;
193
- for (let attempt = 0; attempt <= maxRetries; attempt++) {
194
- const isFirstAttempt = attempt === 0;
195
- lastResponse = await this.requestCameraPermission(isFirstAttempt);
196
- if (lastResponse.result === PermissionResult.GRANTED) {
197
- return lastResponse;
198
- }
199
- if (lastResponse.result === PermissionResult.BLOCKED || lastResponse.result === PermissionResult.UNAVAILABLE) {
200
- break; // No point in retrying
201
- }
202
-
203
- // Wait a bit before retry
204
- if (attempt < maxRetries) {
205
- await new Promise(resolve => setTimeout(resolve, 1000));
206
- }
207
- }
208
- return lastResponse;
209
- }
210
-
211
- /**
212
- * Show rationale dialog explaining why camera permission is needed
213
- */
214
- static showPermissionRationale() {
215
- return new Promise(resolve => {
216
- Alert.alert('Camera Permission Required', 'Face verification requires camera access to capture your image and perform liveness detection. This ensures secure identity verification.', [{
217
- text: 'Not Now',
218
- style: 'cancel',
219
- onPress: () => resolve(false)
220
- }, {
221
- text: 'Allow Camera',
222
- onPress: () => resolve(true)
223
- }], {
224
- cancelable: false
225
- });
226
- });
227
- }
228
-
229
- /**
230
- * Show alert when permission is permanently blocked
231
- */
232
- static showPermissionBlockedAlert() {
233
- Alert.alert('Camera Permission Blocked', 'Camera access has been blocked. To use face verification, please enable camera permission in your device settings.', [{
234
- text: 'Cancel',
235
- style: 'cancel'
236
- }, {
237
- text: 'Open Settings',
238
- onPress: () => Linking.openSettings()
239
- }]);
240
- }
241
-
242
- /**
243
- * Get user-friendly permission status message
244
- */
245
- static getPermissionStatusMessage(result) {
246
- switch (result) {
247
- case PermissionResult.GRANTED:
248
- return 'Camera access granted';
249
- case PermissionResult.DENIED:
250
- return 'Camera access denied. Tap to allow camera permission.';
251
- case PermissionResult.BLOCKED:
252
- return 'Camera access blocked. Please enable in device settings.';
253
- case PermissionResult.UNAVAILABLE:
254
- return 'Camera not available on this device';
255
- default:
256
- return 'Unknown permission status';
257
- }
258
- }
259
-
260
- /**
261
- * Check if the device has camera capability
262
- */
263
- static async hasCamera() {
264
- try {
265
- const status = await this.checkCameraPermission();
266
- return status.result !== PermissionResult.UNAVAILABLE;
267
- } catch {
268
- return false;
269
- }
270
- }
271
- }
272
- //# sourceMappingURL=PermissionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Platform","Alert","Linking","PermissionsAndroid","LivenessDetection","PermissionResult","CameraPermissionManager","checkCameraPermission","OS","checkAndroidCameraPermission","checkIOSCameraPermission","error","console","result","UNAVAILABLE","canRequest","message","requestCameraPermission","showRationale","currentStatus","GRANTED","BLOCKED","showPermissionBlockedAlert","DENIED","shouldProceed","showPermissionRationale","requestAndroidCameraPermission","requestIOSCameraPermission","hasPermission","check","PERMISSIONS","CAMERA","granted","request","title","buttonNeutral","buttonNegative","buttonPositive","RESULTS","NEVER_ASK_AGAIN","isSupported","requestWithRetry","maxRetries","lastResponse","attempt","isFirstAttempt","Promise","resolve","setTimeout","alert","text","style","onPress","cancelable","openSettings","getPermissionStatusMessage","hasCamera","status"],"sourceRoot":"../../../../src","sources":["components/biometrics/PermissionManager.ts"],"mappings":"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","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- // Export the main face verification component with liveness detection
2
- export { default as FaceVerification } from './FaceVerification';
3
-
4
- // Export the liveness detection manager
5
- export { LivenessDetection } from './LivenessDetection';
6
-
7
- // Export the native camera view
8
- export { OmnipayLivenessCameraView } from './OmnipayLivenessCameraView';
9
-
10
- // Export all types
11
- export * from './types';
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["default","FaceVerification","LivenessDetection","OmnipayLivenessCameraView"],"sourceRoot":"../../../../src","sources":["components/biometrics/index.ts"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,gBAAgB,QAAQ,oBAAoB;;AAEhE;AACA,SAASC,iBAAiB,QAAQ,qBAAqB;;AAEvD;AACA,SAASC,yBAAyB,QAAQ,6BAA6B;;AAEvE;AACA,cAAc,SAAS","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- // Liveness Detection Types
2
-
3
- export let LivenessChallenge = /*#__PURE__*/function (LivenessChallenge) {
4
- LivenessChallenge["SMILE"] = "smile";
5
- LivenessChallenge["BLINK"] = "blink";
6
- LivenessChallenge["TURN_LEFT"] = "turnLeft";
7
- LivenessChallenge["TURN_RIGHT"] = "turnRight";
8
- return LivenessChallenge;
9
- }({});
10
-
11
- // Event callback types
12
-
13
- // Native module interface
14
-
15
- // Component props
16
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LivenessChallenge"],"sourceRoot":"../../../../src","sources":["components/biometrics/types.ts"],"mappings":"AAAA;;AAEA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AA0C7B;;AAmBA;;AAUA","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- import type { LivenessConfig, LivenessResult, LivenessEventCallbacks } from './types';
2
- declare class LivenessDetectionManager {
3
- private eventEmitter?;
4
- private eventListeners;
5
- constructor();
6
- /**
7
- * Check if liveness detection is supported on this device
8
- */
9
- isSupported(): Promise<boolean>;
10
- /**
11
- * Start liveness detection with given configuration
12
- */
13
- startDetection(config: LivenessConfig, callbacks?: LivenessEventCallbacks): Promise<LivenessResult>;
14
- /**
15
- * Stop the current detection
16
- */
17
- stopDetection(): Promise<void>;
18
- /**
19
- * Set up event listeners for detection callbacks
20
- */
21
- private setupEventListeners;
22
- /**
23
- * Clean up all event listeners
24
- */
25
- private cleanupEventListeners;
26
- /**
27
- * Get default configuration
28
- */
29
- getDefaultConfig(): LivenessConfig;
30
- }
31
- export declare const LivenessDetection: LivenessDetectionManager;
32
- export * from './types';
33
- //# sourceMappingURL=LivenessDetection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LivenessDetection.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/LivenessDetection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAGd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAIjB,cAAM,wBAAwB;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAA8B;;IAQpD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBrC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,cAAc,CAAC;IAmB1B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAYpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,gBAAgB,IAAI,cAAc;CAanC;AAGD,eAAO,MAAM,iBAAiB,0BAAiC,CAAC;AAGhE,cAAc,SAAS,CAAC"}
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import { ViewStyle } from 'react-native';
3
- interface OmnipayLivenessCameraViewProps {
4
- style?: ViewStyle;
5
- onCameraReady?: (event: {
6
- nativeEvent: {
7
- ready: boolean;
8
- };
9
- }) => void;
10
- onCameraError?: (event: {
11
- nativeEvent: {
12
- error: string;
13
- };
14
- }) => void;
15
- }
16
- export declare const OmnipayLivenessCameraView: React.FC<OmnipayLivenessCameraViewProps>;
17
- export {};
18
- //# sourceMappingURL=OmnipayLivenessCameraView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OmnipayLivenessCameraView.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/OmnipayLivenessCameraView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA0B,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjE,UAAU,8BAA8B;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,KAAK,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE;AAOD,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAC9C,8BAA8B,CAG/B,CAAC"}
@@ -1,58 +0,0 @@
1
- export declare enum PermissionResult {
2
- GRANTED = "granted",
3
- DENIED = "denied",
4
- BLOCKED = "blocked",
5
- UNAVAILABLE = "unavailable"
6
- }
7
- export interface PermissionResponse {
8
- result: PermissionResult;
9
- canRequest: boolean;
10
- message?: string;
11
- }
12
- export declare class CameraPermissionManager {
13
- /**
14
- * Check current camera permission status
15
- */
16
- static checkCameraPermission(): Promise<PermissionResponse>;
17
- /**
18
- * Request camera permission with user-friendly flow
19
- */
20
- static requestCameraPermission(showRationale?: boolean): Promise<PermissionResponse>;
21
- /**
22
- * Check Android camera permission using PermissionsAndroid
23
- */
24
- private static checkAndroidCameraPermission;
25
- /**
26
- * Request Android camera permission
27
- */
28
- private static requestAndroidCameraPermission;
29
- /**
30
- * Check iOS camera permission through native module
31
- */
32
- private static checkIOSCameraPermission;
33
- /**
34
- * Request iOS camera permission through native module
35
- */
36
- private static requestIOSCameraPermission;
37
- /**
38
- * Request permission with retry logic
39
- */
40
- static requestWithRetry(maxRetries?: number): Promise<PermissionResponse>;
41
- /**
42
- * Show rationale dialog explaining why camera permission is needed
43
- */
44
- private static showPermissionRationale;
45
- /**
46
- * Show alert when permission is permanently blocked
47
- */
48
- private static showPermissionBlockedAlert;
49
- /**
50
- * Get user-friendly permission status message
51
- */
52
- static getPermissionStatusMessage(result: PermissionResult): string;
53
- /**
54
- * Check if the device has camera capability
55
- */
56
- static hasCamera(): Promise<boolean>;
57
- }
58
- //# sourceMappingURL=PermissionManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PermissionManager.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/PermissionManager.ts"],"names":[],"mappings":"AAGA,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,uBAAuB;IAClC;;OAEG;WACU,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAkBjE;;OAEG;WACU,uBAAuB,CAClC,aAAa,GAAE,OAAc,GAC5B,OAAO,CAAC,kBAAkB,CAAC;IA4C9B;;OAEG;mBACkB,4BAA4B;IAoBjD;;OAEG;mBACkB,8BAA8B;IAqDnD;;OAEG;mBACkB,wBAAwB;IA4B7C;;OAEG;mBACkB,0BAA0B;IAW/C;;OAEG;WACU,gBAAgB,CAC3B,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,kBAAkB,CAAC;IA2B9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAqBtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAiBzC;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;IAenE;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAQ3C"}
@@ -1,5 +0,0 @@
1
- export { default as FaceVerification } from './FaceVerification';
2
- export { LivenessDetection } from './LivenessDetection';
3
- export { OmnipayLivenessCameraView } from './OmnipayLivenessCameraView';
4
- export * from './types';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,cAAc,SAAS,CAAC"}
@@ -1,73 +0,0 @@
1
- export declare enum LivenessChallenge {
2
- SMILE = "smile",
3
- BLINK = "blink",
4
- TURN_LEFT = "turnLeft",
5
- TURN_RIGHT = "turnRight"
6
- }
7
- export interface LivenessConfig {
8
- /** Which challenges to include in the detection flow */
9
- challenges?: LivenessChallenge[];
10
- /** Timeout in seconds for each challenge (default: 10) */
11
- challengeTimeout?: number;
12
- /** Total timeout in seconds for entire flow (default: 60) */
13
- totalTimeout?: number;
14
- /** Enable debug mode with visual feedback */
15
- debugMode?: boolean;
16
- }
17
- export interface LivenessResult {
18
- /** Whether all challenges were completed successfully */
19
- success: boolean;
20
- /** Base64 encoded final screenshot after completion */
21
- screenshot?: string;
22
- /** Results for each individual challenge */
23
- challengeResults: ChallengeResult[];
24
- /** Total time taken in milliseconds */
25
- totalDuration: number;
26
- /** Reason for failure if unsuccessful */
27
- failureReason?: string;
28
- }
29
- export interface ChallengeResult {
30
- /** The challenge that was performed */
31
- challenge: LivenessChallenge;
32
- /** Whether this specific challenge was successful */
33
- success: boolean;
34
- /** Time taken for this challenge in milliseconds */
35
- duration: number;
36
- /** Confidence score (0-1) if available */
37
- confidence?: number;
38
- }
39
- export interface LivenessEventCallbacks {
40
- /** Called when a challenge starts */
41
- onChallengeStart?: (challenge: LivenessChallenge) => void;
42
- /** Called when a challenge is completed successfully */
43
- onChallengeSuccess?: (challenge: LivenessChallenge, result: ChallengeResult) => void;
44
- /** Called when a challenge fails */
45
- onChallengeFailure?: (challenge: LivenessChallenge, reason: string) => void;
46
- /** Called when all challenges are completed */
47
- onAllChallengesComplete?: () => void;
48
- /** Called when the final screenshot is captured */
49
- onScreenshotCaptured?: (screenshot: string) => void;
50
- /** Called when detection is cancelled or fails */
51
- onDetectionFailed?: (reason: string) => void;
52
- }
53
- export interface LivenessNativeModule {
54
- /** Start the liveness detection flow */
55
- startLivenessDetection(config: LivenessConfig): Promise<LivenessResult>;
56
- /** Stop the current detection */
57
- stopDetection(): Promise<void>;
58
- /** Check if the device supports liveness detection */
59
- isSupported(): Promise<boolean>;
60
- }
61
- export interface LivenessDetectionProps extends LivenessEventCallbacks {
62
- /** Whether the liveness detection modal is visible */
63
- visible: boolean;
64
- /** Called when user closes the modal */
65
- onClose: () => void;
66
- /** Called when liveness detection completes successfully */
67
- onSuccess: (result: LivenessResult) => void;
68
- /** Configuration for the liveness detection */
69
- config?: LivenessConfig;
70
- /** Primary color for UI elements */
71
- primaryColor?: string;
72
- }
73
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/biometrics/types.ts"],"names":[],"mappings":"AAEA,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,aAAa;IACtB,UAAU,cAAc;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,CACnB,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,eAAe,KACpB,IAAI,CAAC;IACV,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,+CAA+C;IAC/C,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAGD,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxE,iCAAiC;IACjC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,sDAAsD;IACtD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAGD,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4DAA4D;IAC5D,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,+CAA+C;IAC/C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -1,50 +0,0 @@
1
- require "json"
2
-
3
- package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
- folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5
-
6
- Pod::Spec.new do |s|
7
- s.name = "omnipay-reactnative-sdk"
8
- s.version = package["version"]
9
- s.summary = package["description"]
10
- s.homepage = package["homepage"]
11
- s.license = package["license"]
12
- s.authors = package["author"]
13
-
14
- s.platforms = { :ios => "12.4" }
15
- s.source = { :git => "https://github.com/omniretail/omnipay-reactnative-sdk.git", :tag => "#{s.version}" }
16
-
17
- s.source_files = "ios/**/*.{h,m,mm,swift}"
18
- s.requires_arc = true
19
-
20
- # Dependencies
21
- s.dependency "React-Core"
22
-
23
- # React Native specific configuration
24
- if respond_to?(:install_modules_dependencies, true)
25
- install_modules_dependencies(s)
26
- else
27
- s.dependency "React-Core"
28
-
29
- # Don't install the dependencies when we run `pod install` in the old architecture.
30
- if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
31
- s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
32
- s.pod_target_xcconfig = {
33
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
34
- "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
35
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
36
- }
37
- s.dependency "React-Codegen"
38
- s.dependency "RCT-Folly"
39
- s.dependency "RCTRequired"
40
- s.dependency "RCTTypeSafety"
41
- s.dependency "ReactCommon/turbomodule/core"
42
- end
43
- end
44
-
45
- # iOS specific frameworks for liveness detection
46
- s.frameworks = 'Vision', 'AVFoundation', 'CoreMedia', 'CoreVideo', 'UIKit'
47
-
48
- # iOS deployment target
49
- s.ios.deployment_target = '12.4'
50
- end