omnipay-reactnative-sdk 1.2.2-beta.0 → 1.2.2-beta.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 (129) hide show
  1. package/README.md +45 -136
  2. package/android/build.gradle +13 -0
  3. package/android/src/main/AndroidManifest.xml +5 -0
  4. package/android/src/main/java/com/omniretail/omnipay/LivenessCameraViewManager.java +116 -0
  5. package/android/src/main/java/com/omniretail/omnipay/LivenessDetectionModule.java +588 -0
  6. package/android/src/main/java/com/omniretail/omnipay/OmnipayActivityPackage.java +4 -1
  7. package/ios/LivenessCameraView.h +22 -0
  8. package/ios/LivenessCameraView.m +135 -0
  9. package/ios/LivenessCameraViewManager.h +12 -0
  10. package/ios/LivenessCameraViewManager.m +24 -0
  11. package/ios/LivenessDetectionModule.h +46 -0
  12. package/ios/LivenessDetectionModule.m +603 -0
  13. package/lib/commonjs/components/OmnipayProvider.js +48 -104
  14. package/lib/commonjs/components/OmnipayProvider.js.map +1 -1
  15. package/lib/commonjs/components/OmnipayView.js +11 -14
  16. package/lib/commonjs/components/OmnipayView.js.map +1 -1
  17. package/lib/commonjs/components/biometrics/FaceVerification.js +435 -0
  18. package/lib/commonjs/components/biometrics/FaceVerification.js.map +1 -0
  19. package/lib/commonjs/components/biometrics/LivenessCameraView.js +45 -0
  20. package/lib/commonjs/components/biometrics/LivenessCameraView.js.map +1 -0
  21. package/lib/commonjs/components/biometrics/LivenessDetection.js +251 -0
  22. package/lib/commonjs/components/biometrics/LivenessDetection.js.map +1 -0
  23. package/lib/commonjs/components/views/BvnVerification.js +10 -12
  24. package/lib/commonjs/components/views/BvnVerification.js.map +1 -1
  25. package/lib/commonjs/components/views/PaylaterAgreement.js +14 -16
  26. package/lib/commonjs/components/views/PaylaterAgreement.js.map +1 -1
  27. package/lib/commonjs/components/views/Registration.js +13 -11
  28. package/lib/commonjs/components/views/Registration.js.map +1 -1
  29. package/lib/commonjs/functions.js.map +1 -1
  30. package/lib/commonjs/hooks/useOmnipay.js.map +1 -1
  31. package/lib/commonjs/index.js +30 -3
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/lib/colors.js +1 -2
  34. package/lib/commonjs/lib/colors.js.map +1 -1
  35. package/lib/commonjs/lib/config.js +2 -4
  36. package/lib/commonjs/lib/config.js.map +1 -1
  37. package/lib/module/components/OmnipayProvider.js +45 -99
  38. package/lib/module/components/OmnipayProvider.js.map +1 -1
  39. package/lib/module/components/OmnipayView.js +9 -10
  40. package/lib/module/components/OmnipayView.js.map +1 -1
  41. package/lib/module/components/biometrics/FaceVerification.js +427 -0
  42. package/lib/module/components/biometrics/FaceVerification.js.map +1 -0
  43. package/lib/module/components/biometrics/LivenessCameraView.js +39 -0
  44. package/lib/module/components/biometrics/LivenessCameraView.js.map +1 -0
  45. package/lib/module/components/biometrics/LivenessDetection.js +245 -0
  46. package/lib/module/components/biometrics/LivenessDetection.js.map +1 -0
  47. package/lib/module/components/views/BvnVerification.js +9 -10
  48. package/lib/module/components/views/BvnVerification.js.map +1 -1
  49. package/lib/module/components/views/PaylaterAgreement.js +13 -14
  50. package/lib/module/components/views/PaylaterAgreement.js.map +1 -1
  51. package/lib/module/components/views/Registration.js +13 -9
  52. package/lib/module/components/views/Registration.js.map +1 -1
  53. package/lib/module/functions.js.map +1 -1
  54. package/lib/module/hooks/useOmnipay.js.map +1 -1
  55. package/lib/module/index.js +5 -0
  56. package/lib/module/index.js.map +1 -1
  57. package/lib/module/lib/colors.js.map +1 -1
  58. package/lib/module/lib/config.js.map +1 -1
  59. package/lib/typescript/demo/src/App.d.ts +3 -0
  60. package/lib/typescript/demo/src/App.d.ts.map +1 -0
  61. package/lib/typescript/demo/src/Body.d.ts +3 -0
  62. package/lib/typescript/demo/src/Body.d.ts.map +1 -0
  63. package/lib/typescript/demo/src/NotificationsExample.d.ts +4 -0
  64. package/lib/typescript/demo/src/NotificationsExample.d.ts.map +1 -0
  65. package/lib/typescript/{components → src/components}/OmnipayProvider.d.ts +5 -5
  66. package/lib/typescript/src/components/OmnipayProvider.d.ts.map +1 -0
  67. package/lib/typescript/{components → src/components}/OmnipayView.d.ts +1 -3
  68. package/lib/typescript/src/components/OmnipayView.d.ts.map +1 -0
  69. package/lib/typescript/src/components/biometrics/FaceVerification.d.ts +12 -0
  70. package/lib/typescript/src/components/biometrics/FaceVerification.d.ts.map +1 -0
  71. package/lib/typescript/src/components/biometrics/LivenessCameraView.d.ts +22 -0
  72. package/lib/typescript/src/components/biometrics/LivenessCameraView.d.ts.map +1 -0
  73. package/lib/typescript/src/components/biometrics/LivenessDetection.d.ts +73 -0
  74. package/lib/typescript/src/components/biometrics/LivenessDetection.d.ts.map +1 -0
  75. package/lib/typescript/{components → src/components}/views/BvnVerification.d.ts +1 -3
  76. package/lib/typescript/src/components/views/BvnVerification.d.ts.map +1 -0
  77. package/lib/typescript/{components → src/components}/views/PaylaterAgreement.d.ts +2 -4
  78. package/lib/typescript/src/components/views/PaylaterAgreement.d.ts.map +1 -0
  79. package/lib/typescript/{components → src/components}/views/Registration.d.ts +2 -4
  80. package/lib/typescript/src/components/views/Registration.d.ts.map +1 -0
  81. package/lib/typescript/src/functions.d.ts.map +1 -0
  82. package/lib/typescript/src/hooks/useOmnipay.d.ts.map +1 -0
  83. package/lib/typescript/src/index.d.ts +8 -0
  84. package/lib/typescript/src/index.d.ts.map +1 -0
  85. package/lib/typescript/src/lib/colors.d.ts.map +1 -0
  86. package/lib/typescript/src/lib/config.d.ts.map +1 -0
  87. package/omnipay-reactnative-sdk.podspec +47 -0
  88. package/package.json +6 -11
  89. package/src/components/OmnipayProvider.tsx +9 -66
  90. package/src/components/biometrics/FaceVerification.tsx +484 -0
  91. package/src/components/biometrics/LivenessCameraView.tsx +61 -0
  92. package/src/components/biometrics/LivenessDetection.ts +305 -0
  93. package/src/index.tsx +18 -0
  94. package/lib/commonjs/components/FaceVerification.js +0 -755
  95. package/lib/commonjs/components/FaceVerification.js.map +0 -1
  96. package/lib/commonjs/types/faceVerification.js +0 -2
  97. package/lib/commonjs/types/faceVerification.js.map +0 -1
  98. package/lib/commonjs/types/index.js +0 -17
  99. package/lib/commonjs/types/index.js.map +0 -1
  100. package/lib/module/components/FaceVerification.js +0 -746
  101. package/lib/module/components/FaceVerification.js.map +0 -1
  102. package/lib/module/types/faceVerification.js +0 -2
  103. package/lib/module/types/faceVerification.js.map +0 -1
  104. package/lib/module/types/index.js +0 -2
  105. package/lib/module/types/index.js.map +0 -1
  106. package/lib/typescript/components/FaceVerification.d.ts +0 -10
  107. package/lib/typescript/components/FaceVerification.d.ts.map +0 -1
  108. package/lib/typescript/components/OmnipayProvider.d.ts.map +0 -1
  109. package/lib/typescript/components/OmnipayView.d.ts.map +0 -1
  110. package/lib/typescript/components/views/BvnVerification.d.ts.map +0 -1
  111. package/lib/typescript/components/views/PaylaterAgreement.d.ts.map +0 -1
  112. package/lib/typescript/components/views/Registration.d.ts.map +0 -1
  113. package/lib/typescript/functions.d.ts.map +0 -1
  114. package/lib/typescript/hooks/useOmnipay.d.ts.map +0 -1
  115. package/lib/typescript/index.d.ts +0 -5
  116. package/lib/typescript/index.d.ts.map +0 -1
  117. package/lib/typescript/lib/colors.d.ts.map +0 -1
  118. package/lib/typescript/lib/config.d.ts.map +0 -1
  119. package/lib/typescript/types/faceVerification.d.ts +0 -18
  120. package/lib/typescript/types/faceVerification.d.ts.map +0 -1
  121. package/lib/typescript/types/index.d.ts +0 -2
  122. package/lib/typescript/types/index.d.ts.map +0 -1
  123. package/src/components/FaceVerification.tsx +0 -884
  124. package/src/types/faceVerification.ts +0 -27
  125. package/src/types/index.ts +0 -1
  126. /package/lib/typescript/{functions.d.ts → src/functions.d.ts} +0 -0
  127. /package/lib/typescript/{hooks → src/hooks}/useOmnipay.d.ts +0 -0
  128. /package/lib/typescript/{lib → src/lib}/colors.d.ts +0 -0
  129. /package/lib/typescript/{lib → src/lib}/config.d.ts +0 -0
@@ -0,0 +1,435 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _LivenessDetection = require("./LivenessDetection");
10
+ var _LivenessCameraView = _interopRequireDefault(require("./LivenessCameraView"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const FaceVerification = ({
14
+ onClose,
15
+ onSuccess,
16
+ primaryColor,
17
+ challenges = ['smile', 'blink', 'turn_left'],
18
+ timeout = 300000 // 5 minutes default
19
+ }) => {
20
+ const [detectionState, setDetectionState] = (0, _react.useState)('idle');
21
+ const [currentChallenge, setCurrentChallenge] = (0, _react.useState)('');
22
+ const [completedChallenges, setCompletedChallenges] = (0, _react.useState)([]);
23
+ const [error, setError] = (0, _react.useState)('');
24
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
25
+
26
+ // Challenge instruction messages
27
+ const getChallengeInstruction = challenge => {
28
+ switch (challenge) {
29
+ case 'smile':
30
+ return 'Please smile naturally';
31
+ case 'blink':
32
+ return 'Please blink your eyes';
33
+ case 'turn_left':
34
+ return 'Please turn your head to the left';
35
+ case 'turn_right':
36
+ return 'Please turn your head to the right';
37
+ default:
38
+ return 'Please follow the instruction';
39
+ }
40
+ };
41
+ const startLivenessDetection = (0, _react.useCallback)(async () => {
42
+ try {
43
+ setDetectionState('starting');
44
+ setIsLoading(true);
45
+ setError('');
46
+
47
+ // Check and request camera permission first
48
+ const hasPermission = await _LivenessDetection.LivenessDetection.checkCameraPermission();
49
+ if (!hasPermission) {
50
+ const granted = await _LivenessDetection.LivenessDetection.requestCameraPermission();
51
+ if (!granted) {
52
+ throw new Error('Camera permission is required for face verification');
53
+ }
54
+ }
55
+ const config = {
56
+ challenges,
57
+ timeout
58
+ };
59
+ await _LivenessDetection.LivenessDetection.startLivenessDetection(config, {
60
+ onChallengeStart: challenge => {
61
+ setCurrentChallenge(challenge);
62
+ setDetectionState('active');
63
+ setIsLoading(false);
64
+ },
65
+ onChallengeSuccess: challenge => {
66
+ setCompletedChallenges(prev => [...prev, challenge]);
67
+ },
68
+ onChallengeFailure: (challenge, reason) => {
69
+ console.warn(`Challenge ${challenge} failed: ${reason}`);
70
+ // Continue with next challenge - the native module handles this
71
+ },
72
+ onAllChallengesComplete: result => {
73
+ setDetectionState('completed');
74
+ setCurrentChallenge('');
75
+ onSuccess(result);
76
+ }
77
+ });
78
+ } catch (err) {
79
+ console.error('Liveness detection error:', err);
80
+ setError(err instanceof Error ? err.message : 'Unknown error occurred');
81
+ setDetectionState('error');
82
+ setIsLoading(false);
83
+ }
84
+ }, [challenges, timeout, onSuccess]);
85
+ const handleClose = (0, _react.useCallback)(() => {
86
+ if (detectionState === 'active' || detectionState === 'starting') {
87
+ _LivenessDetection.LivenessDetection.stopDetection();
88
+ }
89
+ onClose();
90
+ }, [detectionState, onClose]);
91
+ const handleRetry = (0, _react.useCallback)(() => {
92
+ setDetectionState('idle');
93
+ setError('');
94
+ setCompletedChallenges([]);
95
+ setCurrentChallenge('');
96
+ }, []);
97
+
98
+ // Auto-start detection when component mounts
99
+ (0, _react.useEffect)(() => {
100
+ if (detectionState === 'idle') {
101
+ // Small delay to ensure UI is ready
102
+ const timer = setTimeout(() => {
103
+ startLivenessDetection();
104
+ }, 500);
105
+ return () => clearTimeout(timer);
106
+ }
107
+ return undefined;
108
+ }, [detectionState, startLivenessDetection]);
109
+
110
+ // Cleanup on unmount
111
+ (0, _react.useEffect)(() => {
112
+ return () => {
113
+ _LivenessDetection.LivenessDetection.cleanup();
114
+ };
115
+ }, []);
116
+ const renderContent = () => {
117
+ if (detectionState === 'error') {
118
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
119
+ style: styles.errorContainer
120
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
121
+ style: styles.errorTitle
122
+ }, "Detection Failed"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
123
+ style: styles.errorSubtitle
124
+ }, error), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
125
+ style: [styles.button, {
126
+ backgroundColor: primaryColor
127
+ }],
128
+ onPress: handleRetry
129
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
130
+ style: styles.buttonText
131
+ }, "Try Again")));
132
+ }
133
+ if (detectionState === 'completed') {
134
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
135
+ style: styles.successContainer
136
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
137
+ style: styles.successTitle
138
+ }, "Verification Complete!"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
139
+ style: styles.successSubtitle
140
+ }, "All challenges completed successfully"));
141
+ }
142
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
143
+ style: styles.contentContainer
144
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
145
+ style: styles.cameraContainer
146
+ }, /*#__PURE__*/_react.default.createElement(_LivenessCameraView.default, {
147
+ style: styles.camera,
148
+ scaleType: "fillCenter",
149
+ onCameraReady: () => console.log('Camera ready'),
150
+ onCameraError: error => {
151
+ console.error('Camera error:', error);
152
+ setError('Camera initialization failed');
153
+ setDetectionState('error');
154
+ }
155
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
156
+ style: styles.overlay
157
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
158
+ style: styles.loadingContainer
159
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
160
+ size: "large",
161
+ color: primaryColor
162
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
163
+ style: styles.loadingText
164
+ }, "Initializing camera...")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, currentChallenge && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
165
+ style: styles.instructionContainer
166
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
167
+ style: styles.instructionText
168
+ }, getChallengeInstruction(currentChallenge))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
169
+ style: styles.progressContainer
170
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
171
+ style: styles.progressText
172
+ }, completedChallenges.length, " / ", challenges.length, " completed"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
173
+ style: styles.progressBar
174
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
175
+ style: [styles.progressFill, {
176
+ width: `${completedChallenges.length / challenges.length * 100}%`,
177
+ backgroundColor: primaryColor
178
+ }]
179
+ })))))));
180
+ };
181
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
182
+ visible: true,
183
+ transparent: true,
184
+ onRequestClose: handleClose,
185
+ style: styles.modal,
186
+ animationType: "slide"
187
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
188
+ style: styles.backdrop
189
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
190
+ style: styles.container
191
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
192
+ style: styles.header
193
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
194
+ style: styles.title
195
+ }, "Face Verification"), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
196
+ onPress: handleClose,
197
+ style: styles.closeButton
198
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
199
+ style: styles.closeText
200
+ }, "\u2715"))), renderContent())));
201
+ };
202
+ var _default = exports.default = FaceVerification;
203
+ const styles = _reactNative.StyleSheet.create({
204
+ hide: {
205
+ display: 'none'
206
+ },
207
+ full: {
208
+ flex: 1,
209
+ width: '100%',
210
+ height: '100%'
211
+ },
212
+ webview: {
213
+ flex: 1,
214
+ width: '100%',
215
+ height: _reactNative.Dimensions.get('window').height - 40,
216
+ backgroundColor: 'white',
217
+ borderTopRightRadius: 20,
218
+ borderTopLeftRadius: 20,
219
+ paddingTop: 150
220
+ },
221
+ webviewLoader: {
222
+ zIndex: 3,
223
+ backgroundColor: 'white',
224
+ alignItems: 'center',
225
+ justifyContent: 'center',
226
+ flex: 1,
227
+ width: '100%',
228
+ height: '100%',
229
+ position: 'absolute',
230
+ top: 0,
231
+ left: 0,
232
+ borderTopRightRadius: 20,
233
+ borderTopLeftRadius: 20
234
+ },
235
+ backdrop: {
236
+ backgroundColor: 'rgba(0,0,0,0.48)',
237
+ flex: 1,
238
+ justifyContent: 'flex-end',
239
+ position: 'relative',
240
+ height: '100%'
241
+ },
242
+ container: {
243
+ backgroundColor: 'white',
244
+ borderTopRightRadius: 20,
245
+ borderTopLeftRadius: 20,
246
+ maxHeight: _reactNative.Dimensions.get('window').height - 40,
247
+ flex: 1,
248
+ position: 'relative',
249
+ ...(_reactNative.Platform.OS === 'android' && {
250
+ overflow: 'hidden'
251
+ })
252
+ },
253
+ modal: {
254
+ flex: 1,
255
+ backgroundColor: 'rgba(0,0,0,0.48)',
256
+ height: '100%',
257
+ width: '100%'
258
+ },
259
+ header: {
260
+ flexDirection: 'row',
261
+ justifyContent: 'space-between',
262
+ alignItems: 'center',
263
+ padding: 16,
264
+ borderBottomWidth: 1,
265
+ borderBottomColor: '#f0f0f0'
266
+ },
267
+ title: {
268
+ fontSize: 18,
269
+ fontWeight: '600',
270
+ color: '#333'
271
+ },
272
+ closeButton: {
273
+ width: 30,
274
+ height: 30,
275
+ borderRadius: 15,
276
+ backgroundColor: '#f0f0f0',
277
+ alignItems: 'center',
278
+ justifyContent: 'center'
279
+ },
280
+ closeText: {
281
+ fontSize: 16,
282
+ color: '#666'
283
+ },
284
+ contentContainer: {
285
+ flex: 1
286
+ },
287
+ cameraContainer: {
288
+ flex: 1,
289
+ position: 'relative'
290
+ },
291
+ camera: {
292
+ flex: 1,
293
+ width: '100%',
294
+ height: '100%'
295
+ },
296
+ overlay: {
297
+ position: 'absolute',
298
+ top: 0,
299
+ left: 0,
300
+ right: 0,
301
+ bottom: 0,
302
+ justifyContent: 'space-between',
303
+ alignItems: 'center',
304
+ paddingVertical: 40,
305
+ paddingHorizontal: 20
306
+ },
307
+ loadingContainer: {
308
+ flex: 1,
309
+ justifyContent: 'center',
310
+ alignItems: 'center'
311
+ },
312
+ loadingText: {
313
+ color: 'white',
314
+ fontSize: 16,
315
+ marginTop: 12,
316
+ textAlign: 'center'
317
+ },
318
+ instructionContainer: {
319
+ backgroundColor: 'rgba(0,0,0,0.7)',
320
+ paddingHorizontal: 20,
321
+ paddingVertical: 12,
322
+ borderRadius: 8,
323
+ marginTop: 20
324
+ },
325
+ instructionText: {
326
+ color: 'white',
327
+ fontSize: 16,
328
+ fontWeight: '500',
329
+ textAlign: 'center'
330
+ },
331
+ progressContainer: {
332
+ backgroundColor: 'rgba(0,0,0,0.7)',
333
+ paddingHorizontal: 20,
334
+ paddingVertical: 12,
335
+ borderRadius: 8,
336
+ minWidth: 200
337
+ },
338
+ progressText: {
339
+ color: 'white',
340
+ fontSize: 14,
341
+ textAlign: 'center',
342
+ marginBottom: 8
343
+ },
344
+ progressBar: {
345
+ height: 4,
346
+ backgroundColor: 'rgba(255,255,255,0.3)',
347
+ borderRadius: 2,
348
+ overflow: 'hidden'
349
+ },
350
+ progressFill: {
351
+ height: '100%',
352
+ borderRadius: 2
353
+ },
354
+ errorContainer: {
355
+ flex: 1,
356
+ justifyContent: 'center',
357
+ alignItems: 'center',
358
+ paddingHorizontal: 20
359
+ },
360
+ errorTitle: {
361
+ fontSize: 20,
362
+ fontWeight: '600',
363
+ color: '#d32f2f',
364
+ marginBottom: 8,
365
+ textAlign: 'center'
366
+ },
367
+ errorSubtitle: {
368
+ textAlign: 'center',
369
+ fontSize: 14,
370
+ color: '#5e7079',
371
+ marginBottom: 20,
372
+ paddingHorizontal: 8
373
+ },
374
+ successContainer: {
375
+ flex: 1,
376
+ justifyContent: 'center',
377
+ alignItems: 'center',
378
+ paddingHorizontal: 20
379
+ },
380
+ successTitle: {
381
+ fontSize: 20,
382
+ fontWeight: '600',
383
+ color: '#2e7d32',
384
+ marginBottom: 8,
385
+ textAlign: 'center'
386
+ },
387
+ successSubtitle: {
388
+ textAlign: 'center',
389
+ fontSize: 14,
390
+ color: '#5e7079',
391
+ paddingHorizontal: 8
392
+ },
393
+ close: {
394
+ position: 'absolute',
395
+ top: 10,
396
+ right: 10,
397
+ backgroundColor: 'white',
398
+ height: 24,
399
+ width: 24,
400
+ borderRadius: 1000,
401
+ alignItems: 'center',
402
+ justifyContent: 'center',
403
+ zIndex: 2
404
+ },
405
+ closeIcon: {
406
+ height: 12,
407
+ width: 12
408
+ },
409
+ testContent: {
410
+ paddingTop: 30,
411
+ paddingLeft: 16
412
+ },
413
+ testTwoContent: {
414
+ paddingTop: 10,
415
+ paddingLeft: 16
416
+ },
417
+ retryButton: {
418
+ minWidth: 160,
419
+ marginHorizontal: 'auto'
420
+ },
421
+ button: {
422
+ borderRadius: 6,
423
+ paddingHorizontal: 20,
424
+ paddingVertical: 14,
425
+ alignItems: 'center',
426
+ justifyContent: 'center',
427
+ minWidth: 120
428
+ },
429
+ buttonText: {
430
+ color: 'white',
431
+ fontSize: 16,
432
+ fontWeight: '600'
433
+ }
434
+ });
435
+ //# sourceMappingURL=FaceVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_LivenessDetection","_LivenessCameraView","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FaceVerification","onClose","onSuccess","primaryColor","challenges","timeout","detectionState","setDetectionState","useState","currentChallenge","setCurrentChallenge","completedChallenges","setCompletedChallenges","error","setError","isLoading","setIsLoading","getChallengeInstruction","challenge","startLivenessDetection","useCallback","hasPermission","LivenessDetection","checkCameraPermission","granted","requestCameraPermission","Error","config","onChallengeStart","onChallengeSuccess","prev","onChallengeFailure","reason","console","warn","onAllChallengesComplete","result","err","message","handleClose","stopDetection","handleRetry","useEffect","timer","setTimeout","clearTimeout","undefined","cleanup","renderContent","createElement","View","style","styles","errorContainer","Text","errorTitle","errorSubtitle","TouchableOpacity","button","backgroundColor","onPress","buttonText","successContainer","successTitle","successSubtitle","contentContainer","cameraContainer","camera","scaleType","onCameraReady","log","onCameraError","overlay","loadingContainer","ActivityIndicator","size","color","loadingText","Fragment","instructionContainer","instructionText","progressContainer","progressText","length","progressBar","progressFill","width","Modal","visible","transparent","onRequestClose","modal","animationType","backdrop","container","header","title","closeButton","closeText","_default","exports","StyleSheet","create","hide","display","full","flex","height","webview","Dimensions","borderTopRightRadius","borderTopLeftRadius","paddingTop","webviewLoader","zIndex","alignItems","justifyContent","position","top","left","maxHeight","Platform","OS","overflow","flexDirection","padding","borderBottomWidth","borderBottomColor","fontSize","fontWeight","borderRadius","right","bottom","paddingVertical","paddingHorizontal","marginTop","textAlign","minWidth","marginBottom","close","closeIcon","testContent","paddingLeft","testTwoContent","retryButton","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/biometrics/FaceVerification.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // Props for the native camera view
11
+
12
+ // Native component interface
13
+
14
+ // Import native component based on platform
15
+ const NativeLivenessCameraView = _reactNative.Platform.select({
16
+ android: (0, _reactNative.requireNativeComponent)('LivenessCameraView'),
17
+ ios: (0, _reactNative.requireNativeComponent)('LivenessCameraView')
18
+ });
19
+
20
+ /**
21
+ * LivenessCameraView - Native camera component for liveness detection
22
+ *
23
+ * This component provides a camera preview that integrates with the
24
+ * liveness detection native module for real-time face analysis.
25
+ */
26
+ const LivenessCameraView = ({
27
+ style,
28
+ scaleType = 'fillCenter',
29
+ onCameraReady,
30
+ onCameraError
31
+ }) => {
32
+ // Platform check
33
+ if (!NativeLivenessCameraView) {
34
+ console.warn('LivenessCameraView is not available on this platform');
35
+ return null;
36
+ }
37
+ return /*#__PURE__*/_react.default.createElement(NativeLivenessCameraView, {
38
+ style: style,
39
+ scaleType: scaleType,
40
+ onCameraReady: onCameraReady,
41
+ onCameraError: onCameraError
42
+ });
43
+ };
44
+ var _default = exports.default = LivenessCameraView;
45
+ //# sourceMappingURL=LivenessCameraView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","NativeLivenessCameraView","Platform","select","android","requireNativeComponent","ios","LivenessCameraView","style","scaleType","onCameraReady","onCameraError","console","warn","createElement","_default","exports"],"sourceRoot":"../../../../src","sources":["components/biometrics/LivenessCameraView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA2E,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3E;;AAcA;;AAKA;AACA,MAAMG,wBAAwB,GAAGC,qBAAQ,CAACC,MAAM,CAAC;EAC/CC,OAAO,EACL,IAAAC,mCAAsB,EAAgC,oBAAoB,CAAC;EAC7EC,GAAG,EAAE,IAAAD,mCAAsB,EACzB,oBACF;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAqD,GAAGA,CAAC;EAC7DC,KAAK;EACLC,SAAS,GAAG,YAAY;EACxBC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ;EACA,IAAI,CAACV,wBAAwB,EAAE;IAC7BW,OAAO,CAACC,IAAI,CAAC,sDAAsD,CAAC;IACpE,OAAO,IAAI;EACb;EAEA,oBACEnB,MAAA,CAAAM,OAAA,CAAAc,aAAA,CAACb,wBAAwB;IACvBO,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBC,aAAa,EAAEA,aAAc;IAC7BC,aAAa,EAAEA;EAAc,CAC9B,CAAC;AAEN,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAEaO,kBAAkB","ignoreList":[]}