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

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 (58) hide show
  1. package/README.md +42 -102
  2. package/android/build.gradle +4 -15
  3. package/android/src/main/java/com/omniretail/omnipay/OmnipayActivityPackage.java +0 -5
  4. package/lib/commonjs/components/OmnipayProvider.js +91 -18
  5. package/lib/commonjs/components/OmnipayProvider.js.map +1 -1
  6. package/lib/module/components/OmnipayProvider.js +92 -19
  7. package/lib/module/components/OmnipayProvider.js.map +1 -1
  8. package/lib/module/components/OmnipayView.js.map +1 -1
  9. package/lib/module/components/views/BvnVerification.js.map +1 -1
  10. package/lib/module/components/views/PaylaterAgreement.js.map +1 -1
  11. package/lib/module/components/views/Registration.js.map +1 -1
  12. package/lib/typescript/components/OmnipayProvider.d.ts +3 -2
  13. package/lib/typescript/components/OmnipayProvider.d.ts.map +1 -1
  14. package/lib/typescript/hooks/useOmnipay.d.ts +2 -1
  15. package/lib/typescript/hooks/useOmnipay.d.ts.map +1 -1
  16. package/package.json +12 -29
  17. package/src/components/OmnipayProvider.tsx +133 -21
  18. package/src/components/OmnipayView.tsx +1 -1
  19. package/src/components/views/BvnVerification.tsx +1 -1
  20. package/src/components/views/PaylaterAgreement.tsx +1 -1
  21. package/src/components/views/Registration.tsx +1 -1
  22. package/src/hooks/useOmnipay.tsx +1 -1
  23. package/android/src/main/java/com/omniretail/omnipay/FaceVerificationFrameProcessor.kt +0 -111
  24. package/ios/FaceVerificationFrameProcessor.swift +0 -138
  25. package/ios/FaceVerificationFrameProcessorPlugin.m +0 -4
  26. package/ios/OmnipayReactnativeSdk.m +0 -5
  27. package/ios/OmnipayReactnativeSdk.swift +0 -10
  28. package/ios/omnipay-reactnative-sdk-Bridging-Header.h +0 -8
  29. package/ios/omnipay_reactnative_sdk.h +0 -6
  30. package/lib/commonjs/components/Button.js +0 -68
  31. package/lib/commonjs/components/Button.js.map +0 -1
  32. package/lib/commonjs/components/biometrics/FaceVerification.js +0 -380
  33. package/lib/commonjs/components/biometrics/FaceVerification.js.map +0 -1
  34. package/lib/commonjs/components/biometrics/useFaceVerification.js +0 -85
  35. package/lib/commonjs/components/biometrics/useFaceVerification.js.map +0 -1
  36. package/lib/commonjs/components/biometrics/useFaceVerificationFlow.js +0 -157
  37. package/lib/commonjs/components/biometrics/useFaceVerificationFlow.js.map +0 -1
  38. package/lib/module/components/Button.js +0 -61
  39. package/lib/module/components/Button.js.map +0 -1
  40. package/lib/module/components/biometrics/FaceVerification.js +0 -372
  41. package/lib/module/components/biometrics/FaceVerification.js.map +0 -1
  42. package/lib/module/components/biometrics/useFaceVerification.js +0 -78
  43. package/lib/module/components/biometrics/useFaceVerification.js.map +0 -1
  44. package/lib/module/components/biometrics/useFaceVerificationFlow.js +0 -150
  45. package/lib/module/components/biometrics/useFaceVerificationFlow.js.map +0 -1
  46. package/lib/typescript/components/Button.d.ts +0 -17
  47. package/lib/typescript/components/Button.d.ts.map +0 -1
  48. package/lib/typescript/components/biometrics/FaceVerification.d.ts +0 -9
  49. package/lib/typescript/components/biometrics/FaceVerification.d.ts.map +0 -1
  50. package/lib/typescript/components/biometrics/useFaceVerification.d.ts +0 -38
  51. package/lib/typescript/components/biometrics/useFaceVerification.d.ts.map +0 -1
  52. package/lib/typescript/components/biometrics/useFaceVerificationFlow.d.ts +0 -29
  53. package/lib/typescript/components/biometrics/useFaceVerificationFlow.d.ts.map +0 -1
  54. package/omnipay_reactnative_sdk.podspec +0 -52
  55. package/src/components/Button.tsx +0 -86
  56. package/src/components/biometrics/FaceVerification.tsx +0 -429
  57. package/src/components/biometrics/useFaceVerification.ts +0 -120
  58. package/src/components/biometrics/useFaceVerificationFlow.ts +0 -224
@@ -1,61 +0,0 @@
1
- import React from 'react';
2
- import { TouchableOpacity, Text, StyleSheet, ActivityIndicator } from 'react-native';
3
- const Button = ({
4
- title,
5
- onPress,
6
- backgroundColor = '#007AFF',
7
- borderColor,
8
- textColor = 'white',
9
- disabled = false,
10
- loading = false,
11
- style,
12
- textStyle,
13
- activeOpacity = 0.8
14
- }) => {
15
- const buttonStyle = {
16
- ...styles.button,
17
- backgroundColor: disabled ? '#cccccc' : backgroundColor,
18
- borderColor: disabled ? '#cccccc' : borderColor || backgroundColor,
19
- ...style
20
- };
21
- const finalTextStyle = {
22
- ...styles.buttonText,
23
- color: disabled ? '#666666' : textColor,
24
- ...textStyle
25
- };
26
- return /*#__PURE__*/React.createElement(TouchableOpacity, {
27
- style: buttonStyle,
28
- onPress: onPress,
29
- disabled: disabled || loading,
30
- activeOpacity: activeOpacity,
31
- accessibilityRole: "button",
32
- accessibilityLabel: title,
33
- accessibilityState: {
34
- disabled: disabled || loading
35
- }
36
- }, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
37
- color: textColor,
38
- size: "small"
39
- }) : /*#__PURE__*/React.createElement(Text, {
40
- style: finalTextStyle
41
- }, title));
42
- };
43
- const styles = StyleSheet.create({
44
- button: {
45
- borderRadius: 6,
46
- paddingHorizontal: 12,
47
- paddingVertical: 14,
48
- borderWidth: 1,
49
- alignItems: 'center',
50
- justifyContent: 'center',
51
- minHeight: 48
52
- },
53
- buttonText: {
54
- color: 'white',
55
- fontSize: 16,
56
- fontWeight: '600',
57
- paddingHorizontal: 30
58
- }
59
- });
60
- export default Button;
61
- //# sourceMappingURL=Button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","TouchableOpacity","Text","StyleSheet","ActivityIndicator","Button","title","onPress","backgroundColor","borderColor","textColor","disabled","loading","style","textStyle","activeOpacity","buttonStyle","styles","button","finalTextStyle","buttonText","color","createElement","accessibilityRole","accessibilityLabel","accessibilityState","size","create","borderRadius","paddingHorizontal","paddingVertical","borderWidth","alignItems","justifyContent","minHeight","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/Button.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,gBAAgB,EAChBC,IAAI,EACJC,UAAU,EACVC,iBAAiB,QAGZ,cAAc;AAerB,MAAMC,MAA6B,GAAGA,CAAC;EACrCC,KAAK;EACLC,OAAO;EACPC,eAAe,GAAG,SAAS;EAC3BC,WAAW;EACXC,SAAS,GAAG,OAAO;EACnBC,QAAQ,GAAG,KAAK;EAChBC,OAAO,GAAG,KAAK;EACfC,KAAK;EACLC,SAAS;EACTC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,WAAsB,GAAG;IAC7B,GAAGC,MAAM,CAACC,MAAM;IAChBV,eAAe,EAAEG,QAAQ,GAAG,SAAS,GAAGH,eAAe;IACvDC,WAAW,EAAEE,QAAQ,GAAG,SAAS,GAAGF,WAAW,IAAID,eAAe;IAClE,GAAGK;EACL,CAAC;EAED,MAAMM,cAAyB,GAAG;IAChC,GAAGF,MAAM,CAACG,UAAU;IACpBC,KAAK,EAAEV,QAAQ,GAAG,SAAS,GAAGD,SAAS;IACvC,GAAGI;EACL,CAAC;EAED,oBACEd,KAAA,CAAAsB,aAAA,CAACrB,gBAAgB;IACfY,KAAK,EAAEG,WAAY;IACnBT,OAAO,EAAEA,OAAQ;IACjBI,QAAQ,EAAEA,QAAQ,IAAIC,OAAQ;IAC9BG,aAAa,EAAEA,aAAc;IAC7BQ,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAElB,KAAM;IAC1BmB,kBAAkB,EAAE;MAAEd,QAAQ,EAAEA,QAAQ,IAAIC;IAAQ;EAAE,GAErDA,OAAO,gBACNZ,KAAA,CAAAsB,aAAA,CAAClB,iBAAiB;IAACiB,KAAK,EAAEX,SAAU;IAACgB,IAAI,EAAC;EAAO,CAAE,CAAC,gBAEpD1B,KAAA,CAAAsB,aAAA,CAACpB,IAAI;IAACW,KAAK,EAAEM;EAAe,GAAEb,KAAY,CAE5B,CAAC;AAEvB,CAAC;AAED,MAAMW,MAAM,GAAGd,UAAU,CAACwB,MAAM,CAAC;EAC/BT,MAAM,EAAE;IACNU,YAAY,EAAE,CAAC;IACfC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,SAAS,EAAE;EACb,CAAC;EACDd,UAAU,EAAE;IACVC,KAAK,EAAE,OAAO;IACdc,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBP,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAexB,MAAM","ignoreList":[]}
@@ -1,372 +0,0 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { View, Modal, Dimensions, Platform, StyleSheet, TouchableOpacity, Image, Text } from 'react-native';
3
- import { Camera, useCameraDevice, useCameraPermission } from 'react-native-vision-camera';
4
- import Button from '../Button';
5
- import { useFaceVerification } from './useFaceVerification';
6
- import { useFaceVerificationFlow } from './useFaceVerificationFlow';
7
- const FaceVerification = ({
8
- onClose,
9
- onSuccess,
10
- primaryColor
11
- }) => {
12
- const device = useCameraDevice('front');
13
- const {
14
- hasPermission,
15
- requestPermission
16
- } = useCameraPermission();
17
- const [isRequestingPermission, setIsRequestingPermission] = useState(false);
18
-
19
- // Face verification flow
20
- const {
21
- state: flowState,
22
- resetFlow,
23
- isCompleted,
24
- isFailed
25
- } = useFaceVerificationFlow();
26
-
27
- // Frame processor
28
- const frameProcessor = useFaceVerification();
29
-
30
- // Handle completion
31
- useEffect(() => {
32
- if (isCompleted) {
33
- setTimeout(() => {
34
- onSuccess();
35
- }, 1000); // Show success message briefly
36
- }
37
- }, [isCompleted, onSuccess]);
38
- const handleRequestPermission = async () => {
39
- setIsRequestingPermission(true);
40
- try {
41
- await requestPermission();
42
- } catch (error) {
43
- console.error('Error requesting camera permission:', error);
44
- } finally {
45
- setIsRequestingPermission(false);
46
- }
47
- };
48
- const renderPermissionRequest = () => /*#__PURE__*/React.createElement(View, {
49
- style: styles.permissionContainer
50
- }, /*#__PURE__*/React.createElement(View, {
51
- style: styles.permissionIconContainer
52
- }, /*#__PURE__*/React.createElement(Text, {
53
- style: styles.permissionIcon
54
- }, "\uD83D\uDCF7")), /*#__PURE__*/React.createElement(Text, {
55
- style: styles.permissionTitle
56
- }, "Camera Permission Required"), /*#__PURE__*/React.createElement(Text, {
57
- style: styles.permissionDescription
58
- }, "To verify your identity, we need access to your camera. This allows us to capture your face for secure verification."), /*#__PURE__*/React.createElement(Button, {
59
- title: "Allow Camera Access",
60
- onPress: handleRequestPermission,
61
- backgroundColor: primaryColor,
62
- loading: isRequestingPermission
63
- }));
64
- const renderNoDevice = () => /*#__PURE__*/React.createElement(View, {
65
- style: styles.errorContainer
66
- }, /*#__PURE__*/React.createElement(Text, {
67
- style: styles.errorTitle
68
- }, "Camera Not Available"), /*#__PURE__*/React.createElement(Text, {
69
- style: styles.errorSubtitle
70
- }, "No front camera detected on this device. Face verification requires a front-facing camera."));
71
- const renderCamera = () => {
72
- if (!device) return null;
73
- return /*#__PURE__*/React.createElement(View, {
74
- style: styles.cameraContainer
75
- }, /*#__PURE__*/React.createElement(Camera, {
76
- device: device,
77
- style: styles.camera,
78
- isActive: true,
79
- frameProcessor: frameProcessor
80
- }), /*#__PURE__*/React.createElement(View, {
81
- style: styles.cameraOverlay
82
- }, /*#__PURE__*/React.createElement(View, {
83
- style: styles.faceFrame
84
- }), /*#__PURE__*/React.createElement(View, {
85
- style: styles.progressContainer
86
- }, /*#__PURE__*/React.createElement(View, {
87
- style: [styles.progressBar, {
88
- width: `${flowState.progress}%`,
89
- backgroundColor: primaryColor
90
- }]
91
- })), /*#__PURE__*/React.createElement(Text, {
92
- style: styles.instructionText
93
- }, flowState.instruction), /*#__PURE__*/React.createElement(Text, {
94
- style: styles.stepIndicator
95
- }, "Step ", flowState.completedSteps.length + 1, " of 5"), isCompleted && /*#__PURE__*/React.createElement(View, {
96
- style: [styles.statusContainer, {
97
- backgroundColor: primaryColor
98
- }]
99
- }, /*#__PURE__*/React.createElement(Text, {
100
- style: styles.statusText
101
- }, "\u2713 Verification Complete!")), isFailed && /*#__PURE__*/React.createElement(View, {
102
- style: [styles.statusContainer, styles.statusContainerError]
103
- }, /*#__PURE__*/React.createElement(Text, {
104
- style: styles.statusText
105
- }, "\u2717 Verification Failed"), /*#__PURE__*/React.createElement(Button, {
106
- title: "Try Again",
107
- onPress: resetFlow,
108
- backgroundColor: "white",
109
- textColor: "#ff4444",
110
- style: styles.retryButton
111
- }))));
112
- };
113
- console.log(onSuccess, primaryColor);
114
- return /*#__PURE__*/React.createElement(Modal, {
115
- visible: true,
116
- transparent: true,
117
- onRequestClose: onClose,
118
- style: styles.modal
119
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
120
- style: styles.backdrop,
121
- activeOpacity: 1,
122
- onPress: onClose
123
- }, /*#__PURE__*/React.createElement(View, {
124
- style: [styles.container]
125
- }, /*#__PURE__*/React.createElement(TouchableOpacity, {
126
- style: styles.close,
127
- onPress: onClose
128
- }, /*#__PURE__*/React.createElement(Image, {
129
- source: require('../../assets/cancel.png'),
130
- style: styles.closeIcon
131
- })), /*#__PURE__*/React.createElement(View, {
132
- style: styles.contentContainer
133
- }, !hasPermission && renderPermissionRequest(), hasPermission && !device && renderNoDevice(), hasPermission && device && renderCamera()))));
134
- };
135
- export default FaceVerification;
136
- const styles = StyleSheet.create({
137
- hide: {
138
- display: 'none'
139
- },
140
- full: {
141
- flex: 1,
142
- width: '100%',
143
- height: '100%'
144
- },
145
- webview: {
146
- flex: 1,
147
- width: '100%',
148
- height: Dimensions.get('window').height - 40,
149
- backgroundColor: 'white',
150
- borderTopRightRadius: 20,
151
- borderTopLeftRadius: 20,
152
- paddingTop: 150
153
- },
154
- webviewLoader: {
155
- zIndex: 3,
156
- backgroundColor: 'white',
157
- alignItems: 'center',
158
- justifyContent: 'center',
159
- flex: 1,
160
- width: '100%',
161
- height: '100%',
162
- position: 'absolute',
163
- top: 0,
164
- left: 0,
165
- borderTopRightRadius: 20,
166
- borderTopLeftRadius: 20
167
- },
168
- backdrop: {
169
- backgroundColor: 'rgba(0,0,0,0.3)',
170
- flex: 1,
171
- justifyContent: 'flex-end',
172
- position: 'relative',
173
- height: '100%'
174
- },
175
- container: {
176
- backgroundColor: 'white',
177
- borderTopRightRadius: 20,
178
- borderTopLeftRadius: 20,
179
- maxHeight: Dimensions.get('window').height - 120,
180
- flex: 1,
181
- position: 'relative',
182
- ...(Platform.OS === 'android' && {
183
- overflow: 'hidden'
184
- })
185
- },
186
- modal: {
187
- flex: 1,
188
- backgroundColor: 'rgba(0,0,0,0.48)',
189
- height: '100%',
190
- width: '100%'
191
- },
192
- close: {
193
- position: 'absolute',
194
- top: 10,
195
- right: 10,
196
- backgroundColor: 'white',
197
- height: 24,
198
- width: 24,
199
- borderRadius: 1000,
200
- alignItems: 'center',
201
- justifyContent: 'center',
202
- zIndex: 2
203
- },
204
- closeIcon: {
205
- height: 12,
206
- width: 12
207
- },
208
- contentContainer: {
209
- height: '100%',
210
- position: 'relative',
211
- borderTopRightRadius: 20,
212
- borderTopLeftRadius: 20,
213
- padding: 16
214
- },
215
- testContent: {
216
- paddingTop: 30,
217
- paddingLeft: 16
218
- },
219
- testTwoContent: {
220
- paddingTop: 10,
221
- paddingLeft: 16
222
- },
223
- errorSubtitle: {
224
- textAlign: 'center',
225
- fontSize: 14,
226
- color: '#5e7079',
227
- marginBottom: 20,
228
- paddingHorizontal: 8,
229
- marginTop: 14
230
- },
231
- errorContainer: {
232
- flex: 1,
233
- justifyContent: 'center',
234
- alignItems: 'center',
235
- width: Dimensions.get('window').width,
236
- height: Dimensions.get('window').height,
237
- zIndex: 2,
238
- backgroundColor: 'white'
239
- },
240
- camera: {
241
- width: '100%',
242
- height: 400
243
- },
244
- // Permission request styles
245
- permissionContainer: {
246
- flex: 1,
247
- justifyContent: 'center',
248
- alignItems: 'center',
249
- paddingHorizontal: 24,
250
- paddingVertical: 40
251
- },
252
- permissionIconContainer: {
253
- width: 80,
254
- height: 80,
255
- borderRadius: 40,
256
- backgroundColor: '#f0f0f0',
257
- justifyContent: 'center',
258
- alignItems: 'center',
259
- marginBottom: 24
260
- },
261
- permissionIcon: {
262
- fontSize: 40
263
- },
264
- permissionTitle: {
265
- fontSize: 20,
266
- fontWeight: '600',
267
- color: '#1a1a1a',
268
- textAlign: 'center',
269
- marginBottom: 12
270
- },
271
- permissionDescription: {
272
- fontSize: 16,
273
- color: '#666',
274
- textAlign: 'center',
275
- lineHeight: 22,
276
- marginBottom: 32
277
- },
278
- // Error styles
279
- errorTitle: {
280
- fontSize: 18,
281
- fontWeight: '600',
282
- color: '#1a1a1a',
283
- textAlign: 'center',
284
- marginBottom: 8
285
- },
286
- // Camera styles
287
- cameraContainer: {
288
- flex: 1,
289
- position: 'relative',
290
- marginTop: 60
291
- },
292
- cameraOverlay: {
293
- position: 'absolute',
294
- top: 0,
295
- left: 0,
296
- right: 0,
297
- bottom: 0,
298
- justifyContent: 'center',
299
- alignItems: 'center'
300
- },
301
- faceFrame: {
302
- width: 200,
303
- height: 250,
304
- borderWidth: 3,
305
- borderColor: 'white',
306
- borderRadius: 100,
307
- borderStyle: 'dashed',
308
- backgroundColor: 'transparent'
309
- },
310
- instructionText: {
311
- color: 'white',
312
- fontSize: 16,
313
- fontWeight: '500',
314
- textAlign: 'center',
315
- marginTop: 20,
316
- backgroundColor: 'rgba(0,0,0,0.7)',
317
- paddingHorizontal: 16,
318
- paddingVertical: 8,
319
- borderRadius: 20
320
- },
321
- // Verification flow styles
322
- progressContainer: {
323
- position: 'absolute',
324
- top: 20,
325
- left: 20,
326
- right: 20,
327
- height: 4,
328
- backgroundColor: 'rgba(255,255,255,0.3)',
329
- borderRadius: 2,
330
- overflow: 'hidden'
331
- },
332
- progressBar: {
333
- height: '100%',
334
- borderRadius: 2
335
- },
336
- stepIndicator: {
337
- color: 'white',
338
- fontSize: 14,
339
- fontWeight: '400',
340
- textAlign: 'center',
341
- marginTop: 8,
342
- backgroundColor: 'rgba(0,0,0,0.5)',
343
- paddingHorizontal: 12,
344
- paddingVertical: 4,
345
- borderRadius: 12,
346
- alignSelf: 'center'
347
- },
348
- statusContainer: {
349
- position: 'absolute',
350
- bottom: 40,
351
- left: 20,
352
- right: 20,
353
- padding: 20,
354
- borderRadius: 12,
355
- alignItems: 'center'
356
- },
357
- statusContainerError: {
358
- backgroundColor: '#ff4444'
359
- },
360
- statusText: {
361
- color: 'white',
362
- fontSize: 18,
363
- fontWeight: '600',
364
- textAlign: 'center',
365
- marginBottom: 8
366
- },
367
- retryButton: {
368
- marginTop: 12,
369
- minWidth: 120
370
- }
371
- });
372
- //# sourceMappingURL=FaceVerification.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}