@trustchex/react-native-sdk 1.267.0 → 1.354.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 (72) hide show
  1. package/lib/module/Screens/Dynamic/ContractAcceptanceScreen.js +8 -2
  2. package/lib/module/Screens/Dynamic/IdentityDocumentEIDScanningScreen.js +5 -1
  3. package/lib/module/Screens/Dynamic/IdentityDocumentScanningScreen.js +5 -1
  4. package/lib/module/Screens/Dynamic/LivenessDetectionScreen.js +29 -15
  5. package/lib/module/Screens/Static/OTPVerificationScreen.js +285 -0
  6. package/lib/module/Screens/Static/ResultScreen.js +90 -26
  7. package/lib/module/Screens/Static/VerificationSessionCheckScreen.js +48 -134
  8. package/lib/module/Shared/Components/DebugNavigationPanel.js +252 -0
  9. package/lib/module/Shared/Components/EIDScanner.js +142 -17
  10. package/lib/module/Shared/Components/FaceCamera.js +23 -11
  11. package/lib/module/Shared/Components/IdentityDocumentCamera.js +295 -44
  12. package/lib/module/Shared/Components/NavigationManager.js +19 -3
  13. package/lib/module/Shared/Config/camera-enhancement.config.js +58 -0
  14. package/lib/module/Shared/Contexts/AppContext.js +1 -0
  15. package/lib/module/Shared/Libs/camera.utils.js +221 -1
  16. package/lib/module/Shared/Libs/frame-enhancement.utils.js +133 -0
  17. package/lib/module/Shared/Libs/mrz.utils.js +98 -1
  18. package/lib/module/Translation/Resources/en.js +30 -0
  19. package/lib/module/Translation/Resources/tr.js +30 -0
  20. package/lib/module/Trustchex.js +49 -39
  21. package/lib/module/version.js +1 -1
  22. package/lib/typescript/src/Screens/Dynamic/ContractAcceptanceScreen.d.ts.map +1 -1
  23. package/lib/typescript/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.d.ts.map +1 -1
  24. package/lib/typescript/src/Screens/Dynamic/IdentityDocumentScanningScreen.d.ts.map +1 -1
  25. package/lib/typescript/src/Screens/Dynamic/LivenessDetectionScreen.d.ts.map +1 -1
  26. package/lib/typescript/src/Screens/Static/OTPVerificationScreen.d.ts +3 -0
  27. package/lib/typescript/src/Screens/Static/OTPVerificationScreen.d.ts.map +1 -0
  28. package/lib/typescript/src/Screens/Static/ResultScreen.d.ts.map +1 -1
  29. package/lib/typescript/src/Screens/Static/VerificationSessionCheckScreen.d.ts.map +1 -1
  30. package/lib/typescript/src/Shared/Components/DebugNavigationPanel.d.ts +3 -0
  31. package/lib/typescript/src/Shared/Components/DebugNavigationPanel.d.ts.map +1 -0
  32. package/lib/typescript/src/Shared/Components/EIDScanner.d.ts.map +1 -1
  33. package/lib/typescript/src/Shared/Components/FaceCamera.d.ts.map +1 -1
  34. package/lib/typescript/src/Shared/Components/IdentityDocumentCamera.d.ts.map +1 -1
  35. package/lib/typescript/src/Shared/Components/NavigationManager.d.ts.map +1 -1
  36. package/lib/typescript/src/Shared/Config/camera-enhancement.config.d.ts +54 -0
  37. package/lib/typescript/src/Shared/Config/camera-enhancement.config.d.ts.map +1 -0
  38. package/lib/typescript/src/Shared/Contexts/AppContext.d.ts +2 -0
  39. package/lib/typescript/src/Shared/Contexts/AppContext.d.ts.map +1 -1
  40. package/lib/typescript/src/Shared/Libs/camera.utils.d.ts +65 -1
  41. package/lib/typescript/src/Shared/Libs/camera.utils.d.ts.map +1 -1
  42. package/lib/typescript/src/Shared/Libs/frame-enhancement.utils.d.ts +25 -0
  43. package/lib/typescript/src/Shared/Libs/frame-enhancement.utils.d.ts.map +1 -0
  44. package/lib/typescript/src/Shared/Libs/mrz.utils.d.ts.map +1 -1
  45. package/lib/typescript/src/Translation/Resources/en.d.ts +30 -0
  46. package/lib/typescript/src/Translation/Resources/en.d.ts.map +1 -1
  47. package/lib/typescript/src/Translation/Resources/tr.d.ts +30 -0
  48. package/lib/typescript/src/Translation/Resources/tr.d.ts.map +1 -1
  49. package/lib/typescript/src/Trustchex.d.ts.map +1 -1
  50. package/lib/typescript/src/version.d.ts +1 -1
  51. package/package.json +3 -3
  52. package/src/Screens/Dynamic/ContractAcceptanceScreen.tsx +6 -2
  53. package/src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.tsx +3 -1
  54. package/src/Screens/Dynamic/IdentityDocumentScanningScreen.tsx +3 -1
  55. package/src/Screens/Dynamic/LivenessDetectionScreen.tsx +27 -17
  56. package/src/Screens/Static/OTPVerificationScreen.tsx +379 -0
  57. package/src/Screens/Static/ResultScreen.tsx +160 -101
  58. package/src/Screens/Static/VerificationSessionCheckScreen.tsx +51 -196
  59. package/src/Shared/Components/DebugNavigationPanel.tsx +262 -0
  60. package/src/Shared/Components/EIDScanner.tsx +144 -19
  61. package/src/Shared/Components/FaceCamera.tsx +38 -21
  62. package/src/Shared/Components/IdentityDocumentCamera.tsx +399 -101
  63. package/src/Shared/Components/NavigationManager.tsx +19 -3
  64. package/src/Shared/Config/camera-enhancement.config.ts +46 -0
  65. package/src/Shared/Contexts/AppContext.ts +3 -0
  66. package/src/Shared/Libs/camera.utils.ts +240 -1
  67. package/src/Shared/Libs/frame-enhancement.utils.ts +217 -0
  68. package/src/Shared/Libs/mrz.utils.ts +78 -1
  69. package/src/Translation/Resources/en.ts +30 -0
  70. package/src/Translation/Resources/tr.ts +30 -0
  71. package/src/Trustchex.tsx +58 -46
  72. package/src/version.ts +1 -1
@@ -4,6 +4,7 @@ import React, { useEffect, useState, useMemo } from 'react';
4
4
  import { NavigationContainer } from '@react-navigation/native';
5
5
  import { createNativeStackNavigator } from '@react-navigation/native-stack';
6
6
  import { View, ActivityIndicator, StyleSheet } from 'react-native';
7
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
7
8
  import 'react-native-get-random-values';
8
9
  import { ThemeProvider } from "./Shared/Contexts/ThemeContext.js";
9
10
  import IdentityDocumentEIDScanningScreen from "./Screens/Dynamic/IdentityDocumentEIDScanningScreen.js";
@@ -13,7 +14,9 @@ import ResultScreen from "./Screens/Static/ResultScreen.js";
13
14
  import ContractAcceptanceScreen from "./Screens/Dynamic/ContractAcceptanceScreen.js";
14
15
  import VerificationSessionCheckScreen from "./Screens/Static/VerificationSessionCheckScreen.js";
15
16
  import QrCodeScanningScreen from "./Screens/Static/QrCodeScanningScreen.js";
17
+ import OTPVerificationScreen from "./Screens/Static/OTPVerificationScreen.js";
16
18
  import AppContext from "./Shared/Contexts/AppContext.js";
19
+ import DebugNavigationPanel from "./Shared/Components/DebugNavigationPanel.js";
17
20
  import i18n from "./Translation/index.js";
18
21
  import { initializeTTS } from "./Shared/Libs/tts.utils.js";
19
22
  import { analyticsService } from "./Shared/Services/AnalyticsService.js";
@@ -47,12 +50,13 @@ const Trustchex = ({
47
50
  const [locale, setLocale] = useState(propLocale || i18n.language);
48
51
  const [isInitialized, setIsInitialized] = useState(false);
49
52
  const [analyticsInitialized, setAnalyticsInitialized] = useState(false);
53
+ const [isDemoSession, setIsDemoSession] = useState(false);
50
54
  const branding = useMemo(() => ({
51
55
  ...DEFAULT_BRANDING,
52
56
  ...propBranding
53
57
  }), [propBranding]);
54
58
  const contextValue = useMemo(() => ({
55
- isDemoSession: false,
59
+ isDemoSession,
56
60
  baseUrl: baseUrl || '',
57
61
  locale,
58
62
  branding,
@@ -68,8 +72,9 @@ const Trustchex = ({
68
72
  onCompleted,
69
73
  onError,
70
74
  setSessionId,
71
- setBaseUrl
72
- }), [baseUrl, locale, branding, sessionId, propLocale, onCompleted, onError]);
75
+ setBaseUrl,
76
+ setIsDemoSession
77
+ }), [baseUrl, locale, branding, sessionId, propLocale, onCompleted, onError, isDemoSession]);
73
78
 
74
79
  // Initialize analytics IMMEDIATELY when SDK mounts or session ID changes
75
80
  useEffect(() => {
@@ -130,42 +135,47 @@ const Trustchex = ({
130
135
  })
131
136
  });
132
137
  }
133
- return /*#__PURE__*/_jsx(ThemeProvider, {
134
- primaryColor: branding.primaryColor,
135
- secondaryColor: branding.secondaryColor,
136
- tertiaryColor: branding.tertiaryColor,
137
- children: /*#__PURE__*/_jsx(AppContext.Provider, {
138
- value: contextValue,
139
- children: /*#__PURE__*/_jsx(NavigationContainer, {
140
- children: /*#__PURE__*/_jsxs(Stack.Navigator, {
141
- id: undefined,
142
- initialRouteName: "VerificationSessionCheckScreen",
143
- screenOptions: {
144
- headerShown: false,
145
- headerBackButtonMenuEnabled: false
146
- },
147
- children: [/*#__PURE__*/_jsx(Stack.Screen, {
148
- name: "VerificationSessionCheckScreen",
149
- component: VerificationSessionCheckScreen
150
- }), /*#__PURE__*/_jsx(Stack.Screen, {
151
- name: "ContractAcceptanceScreen",
152
- component: ContractAcceptanceScreen
153
- }), /*#__PURE__*/_jsx(Stack.Screen, {
154
- name: "IdentityDocumentScanningScreen",
155
- component: IdentityDocumentScanningScreen
156
- }), /*#__PURE__*/_jsx(Stack.Screen, {
157
- name: "IdentityDocumentEIDScanningScreen",
158
- component: IdentityDocumentEIDScanningScreen
159
- }), /*#__PURE__*/_jsx(Stack.Screen, {
160
- name: "LivenessDetectionScreen",
161
- component: LivenessDetectionScreen
162
- }), /*#__PURE__*/_jsx(Stack.Screen, {
163
- name: "ResultScreen",
164
- component: ResultScreen
165
- }), /*#__PURE__*/_jsx(Stack.Screen, {
166
- name: "QrCodeScanningScreen",
167
- component: QrCodeScanningScreen
168
- })]
138
+ return /*#__PURE__*/_jsx(SafeAreaProvider, {
139
+ children: /*#__PURE__*/_jsx(ThemeProvider, {
140
+ primaryColor: branding.primaryColor,
141
+ secondaryColor: branding.secondaryColor,
142
+ tertiaryColor: branding.tertiaryColor,
143
+ children: /*#__PURE__*/_jsx(AppContext.Provider, {
144
+ value: contextValue,
145
+ children: /*#__PURE__*/_jsxs(NavigationContainer, {
146
+ children: [/*#__PURE__*/_jsxs(Stack.Navigator, {
147
+ id: undefined,
148
+ initialRouteName: "VerificationSessionCheckScreen",
149
+ screenOptions: {
150
+ headerShown: false,
151
+ headerBackButtonMenuEnabled: false
152
+ },
153
+ children: [/*#__PURE__*/_jsx(Stack.Screen, {
154
+ name: "VerificationSessionCheckScreen",
155
+ component: VerificationSessionCheckScreen
156
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
157
+ name: "OTPVerificationScreen",
158
+ component: OTPVerificationScreen
159
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
160
+ name: "ContractAcceptanceScreen",
161
+ component: ContractAcceptanceScreen
162
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
163
+ name: "IdentityDocumentScanningScreen",
164
+ component: IdentityDocumentScanningScreen
165
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
166
+ name: "IdentityDocumentEIDScanningScreen",
167
+ component: IdentityDocumentEIDScanningScreen
168
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
169
+ name: "LivenessDetectionScreen",
170
+ component: LivenessDetectionScreen
171
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
172
+ name: "ResultScreen",
173
+ component: ResultScreen
174
+ }), /*#__PURE__*/_jsx(Stack.Screen, {
175
+ name: "QrCodeScanningScreen",
176
+ component: QrCodeScanningScreen
177
+ })]
178
+ }), /*#__PURE__*/_jsx(DebugNavigationPanel, {})]
169
179
  })
170
180
  })
171
181
  })
@@ -2,4 +2,4 @@
2
2
 
3
3
  // This file is auto-generated. Do not edit manually.
4
4
  // Version is synced from package.json during build.
5
- export const SDK_VERSION = '1.266.1';
5
+ export const SDK_VERSION = '1.354.0';
@@ -1 +1 @@
1
- {"version":3,"file":"ContractAcceptanceScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/ContractAcceptanceScreen.tsx"],"names":[],"mappings":"AA0BA,QAAA,MAAM,wBAAwB,+CAmJ7B,CAAC;AA4BF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ContractAcceptanceScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/ContractAcceptanceScreen.tsx"],"names":[],"mappings":"AA2BA,QAAA,MAAM,wBAAwB,+CAoJ7B,CAAC;AA8BF,eAAe,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityDocumentEIDScanningScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,iCAAiC,+CAmMtC,CAAC;AAoBF,eAAe,iCAAiC,CAAC"}
1
+ {"version":3,"file":"IdentityDocumentEIDScanningScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/IdentityDocumentEIDScanningScreen.tsx"],"names":[],"mappings":"AAoBA,QAAA,MAAM,iCAAiC,+CAoMtC,CAAC;AAoBF,eAAe,iCAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityDocumentScanningScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/IdentityDocumentScanningScreen.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,8BAA8B,+CAkJnC,CAAC;AAgBF,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"IdentityDocumentScanningScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/IdentityDocumentScanningScreen.tsx"],"names":[],"mappings":"AAoBA,QAAA,MAAM,8BAA8B,+CAmJnC,CAAC;AAgBF,eAAe,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LivenessDetectionScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/LivenessDetectionScreen.tsx"],"names":[],"mappings":"AAiFA,QAAA,MAAM,uBAAuB,+CA2hB5B,CAAC;AAwGF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"LivenessDetectionScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Dynamic/LivenessDetectionScreen.tsx"],"names":[],"mappings":"AAmFA,QAAA,MAAM,uBAAuB,+CAmiB5B,CAAC;AAwGF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const OTPVerificationScreen: () => import("react/jsx-runtime").JSX.Element;
2
+ export default OTPVerificationScreen;
3
+ //# sourceMappingURL=OTPVerificationScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTPVerificationScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/OTPVerificationScreen.tsx"],"names":[],"mappings":"AA6CA,QAAA,MAAM,qBAAqB,+CA8P1B,CAAC;AA+EF,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/ResultScreen.tsx"],"names":[],"mappings":"AAiDA,QAAA,MAAM,YAAY,+CAyyBjB,CAAC;AAsGF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/ResultScreen.tsx"],"names":[],"mappings":"AAkDA,QAAA,MAAM,YAAY,+CAq0BjB,CAAC;AAoIF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VerificationSessionCheckScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/VerificationSessionCheckScreen.tsx"],"names":[],"mappings":"AAiDA,QAAA,MAAM,8BAA8B,+CAmbnC,CAAC;AAuHF,eAAe,8BAA8B,CAAC"}
1
+ {"version":3,"file":"VerificationSessionCheckScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/VerificationSessionCheckScreen.tsx"],"names":[],"mappings":"AAiDA,QAAA,MAAM,8BAA8B,+CAwSnC,CAAC;AAiHF,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const DebugNavigationPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DebugNavigationPanel;
3
+ //# sourceMappingURL=DebugNavigationPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugNavigationPanel.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/DebugNavigationPanel.tsx"],"names":[],"mappings":"AAkCA,QAAA,MAAM,oBAAoB,+CAkIzB,CAAC;AAiGF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAaxC,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,GAAI,6FAOjB,eAAe,4CAqejB,CAAC;AA2EF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAaxC,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,GAAI,6FAOjB,eAAe,4CAojBjB,CAAC;AAwHF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FaceCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/FaceCamera.tsx"],"names":[],"mappings":"AAaA,OAAO,EAGL,MAAM,EAKP,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,KAAK,IAAI,EAEV,MAAM,qCAAqC,CAAC;AAQ7C,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,CACf,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,KACnB,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAQF,QAAA,MAAM,UAAU,GAAI,wDAIjB,eAAe,4CA+PjB,CAAC;AA6BF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"FaceCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/FaceCamera.tsx"],"names":[],"mappings":"AAaA,OAAO,EAGL,MAAM,EAKP,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,KAAK,IAAI,EAEV,MAAM,qCAAqC,CAAC;AAS7C,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,CACf,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,KACnB,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAQF,QAAA,MAAM,UAAU,GAAI,wDAIjB,eAAe,4CA+QjB,CAAC;AA6BF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityDocumentCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/IdentityDocumentCamera.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AA4BxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnD,KAAK,SAAS,GAAG;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,gBAAgB,EAAE,gBAAgB;IAClC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5B,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,mBAAmB,EAAE,gBAAgB;IACrC,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EACR,gBAAgB,GAChB,UAAU,GACV,oBAAoB,GACpB,eAAe,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,QAAA,MAAM,sBAAsB,GAAI,8DAI7B,2BAA2B,4CAskC7B,CAAC;AAuJF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"IdentityDocumentCamera.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/IdentityDocumentCamera.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AA6BxC,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,gBAAgB,GAAG,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnD,KAAK,SAAS,GAAG;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,gBAAgB,EAAE,gBAAgB;IAClC,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE;IAC5B,QAAQ,EAAE,MAAM;CACjB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,mBAAmB,EAAE,gBAAgB;IACrC,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EACV,gBAAgB,GAChB,UAAU,GACV,oBAAoB,GACpB,eAAe,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB,EAAE,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,QAAA,MAAM,sBAAsB,GAAI,8DAI7B,2BAA2B,4CA21C7B,CAAC;AA0KF,eAAe,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationManager.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/NavigationManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAkBf,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,iBAAiB,wFAsNtB,CAAC;AAWF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"NavigationManager.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/NavigationManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAmBf,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,iBAAiB,wFAqOtB,CAAC;AAWF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Centralized configuration for camera enhancements
3
+ * Including autofocus, brightness/exposure, and contrast enhancement
4
+ */
5
+ export declare const ENHANCEMENT_CONFIG: {
6
+ readonly autofocus: {
7
+ readonly enabled: true;
8
+ readonly intervalMs: 2500;
9
+ readonly suspendOnDetection: true;
10
+ };
11
+ readonly brightness: {
12
+ readonly thresholds: {
13
+ readonly general: {
14
+ readonly low: 40;
15
+ readonly high: 120;
16
+ readonly target: 80;
17
+ };
18
+ readonly faceDetection: {
19
+ readonly low: 50;
20
+ readonly high: 110;
21
+ readonly target: 85;
22
+ };
23
+ readonly mrzScanning: {
24
+ readonly low: 45;
25
+ readonly high: 130;
26
+ readonly target: 80;
27
+ };
28
+ };
29
+ readonly adaptiveStep: true;
30
+ readonly maxStepSize: 2;
31
+ readonly hysteresis: 5;
32
+ };
33
+ readonly contrast: {
34
+ readonly enabled: true;
35
+ readonly clahe: {
36
+ readonly clipLimit: 2;
37
+ readonly tileGridSize: [number, number];
38
+ };
39
+ readonly applyWhen: {
40
+ readonly mrzFailing: true;
41
+ readonly faceFailing: true;
42
+ readonly documentBackSide: true;
43
+ readonly retryThreshold: 2;
44
+ };
45
+ readonly performanceMode: "always" | "selective" | "adaptive";
46
+ };
47
+ readonly performance: {
48
+ readonly maxFrameProcessingTime: 180;
49
+ readonly autoDisableThreshold: 200;
50
+ readonly cachingEnabled: true;
51
+ };
52
+ };
53
+ export type EnhancementConfig = typeof ENHANCEMENT_CONFIG;
54
+ //# sourceMappingURL=camera-enhancement.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camera-enhancement.config.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Config/camera-enhancement.config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAsBD,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;kCAQX,QAAQ,GAAG,WAAW,GAAG,UAAU;;;;;;;CAQ5D,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,kBAAkB,CAAC"}
@@ -12,10 +12,12 @@ export type AppContextType = {
12
12
  identificationInfo: IdentificationInfo;
13
13
  workflowSteps?: WorkflowStep[];
14
14
  currentWorkflowStep?: WorkflowStep;
15
+ isDebugNavigated?: boolean;
15
16
  onCompleted?: () => void;
16
17
  onError?: (error: string) => void;
17
18
  setSessionId?: (id: string) => void;
18
19
  setBaseUrl?: (url: string) => void;
20
+ setIsDemoSession?: (isDemoSession: boolean) => void;
19
21
  };
20
22
  declare const _default: import("react").Context<AppContextType>;
21
23
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Contexts/AppContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC,CAAC;;AAEF,wBAyBG"}
1
+ {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Contexts/AppContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD,CAAC;;AAEF,wBA0BG"}
@@ -5,6 +5,15 @@ interface Rect {
5
5
  width: number;
6
6
  height: number;
7
7
  }
8
+ /**
9
+ * Check if frame is blurry using Laplacian variance
10
+ * Uses both horizontal and vertical gradients for more accurate blur detection
11
+ * Lower variance indicates a blurrier image
12
+ * @param frame - The camera frame to analyze
13
+ * @param threshold - Variance threshold below which image is considered blurry (default: 10)
14
+ * @returns true if image is blurry, false otherwise
15
+ */
16
+ declare const isBlurry: (frame: Frame, threshold?: number) => boolean;
8
17
  /**
9
18
  * Get average brightness for entire frame (center area)
10
19
  */
@@ -19,5 +28,60 @@ declare const isFrameBright: (frame: Frame) => boolean;
19
28
  * Check if a circular region in the frame is bright enough
20
29
  */
21
30
  declare const isCircularRegionBright: (frame: Frame, circleRect: Rect, threshold?: number) => boolean;
22
- export { isFrameBright, getAverageBrightness, getCircularRegionBrightness, isCircularRegionBright };
31
+ /**
32
+ * Get average brightness for a specific rectangular region
33
+ */
34
+ declare const getRegionBrightness: (frame: Frame, bounds: Rect) => number;
35
+ /**
36
+ * Calculate adaptive exposure step based on distance from target brightness
37
+ * Uses smooth scaling to prevent abrupt exposure changes that could cause dark frames
38
+ */
39
+ declare const calculateExposureStep: (currentBrightness: number, targetBrightness: number) => number;
40
+ /**
41
+ * Get the center point of the scan area
42
+ * Scan area is typically 36%-64% of vertical space
43
+ */
44
+ declare const getScanAreaCenterPoint: (width: number, height: number) => {
45
+ x: number;
46
+ y: number;
47
+ };
48
+ /**
49
+ * Document dimensions (in mm) for reference
50
+ */
51
+ declare const DOCUMENT_DIMENSIONS: {
52
+ ID_CARD: {
53
+ width: number;
54
+ height: number;
55
+ ratio: number;
56
+ };
57
+ PASSPORT: {
58
+ width: number;
59
+ height: number;
60
+ ratio: number;
61
+ };
62
+ };
63
+ /**
64
+ * Detected document information
65
+ */
66
+ export interface DetectedDocument {
67
+ type: 'ID_CARD' | 'PASSPORT' | 'UNKNOWN';
68
+ size: 'TOO_SMALL' | 'TOO_LARGE' | 'GOOD';
69
+ aspectRatio: number;
70
+ confidence: number;
71
+ framePercentage: number;
72
+ }
73
+ /**
74
+ * Detect document contours and estimate document type based on aspect ratio
75
+ * This is a simplified detection that looks for rectangular contours in the scan area
76
+ * @param frame - The camera frame to analyze
77
+ * @param scanAreaBounds - The bounds of the scan area {x, y, width, height}
78
+ * @returns Detected document info or null if no document detected
79
+ */
80
+ declare const detectDocumentInFrame: (frame: Frame, scanAreaBounds: {
81
+ x: number;
82
+ y: number;
83
+ width: number;
84
+ height: number;
85
+ }) => DetectedDocument | null;
86
+ export { isBlurry, isFrameBright, getAverageBrightness, getCircularRegionBrightness, isCircularRegionBright, getRegionBrightness, calculateExposureStep, getScanAreaCenterPoint, detectDocumentInFrame, DOCUMENT_DIMENSIONS, };
23
87
  //# sourceMappingURL=camera.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"camera.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/camera.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,QAAA,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,MAwB5C,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,2BAA2B,GAC/B,OAAO,KAAK,EACZ,YAAY,IAAI,KACf,MAwCF,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,OAGrC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,sBAAsB,GAAI,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,YAAW,MAAW,KAAG,OAGxF,CAAC;AAEF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACvB,CAAC"}
1
+ {"version":3,"file":"camera.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/camera.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,UAAU,IAAI;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,QAAA,MAAM,QAAQ,GAAI,OAAO,KAAK,EAAE,YAAW,MAAW,KAAG,OAgDxD,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,oBAAoB,GAAI,OAAO,KAAK,KAAG,MAwB5C,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,2BAA2B,GAC/B,OAAO,KAAK,EACZ,YAAY,IAAI,KACf,MAwCF,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,KAAK,KAAG,OAGrC,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,sBAAsB,GAAI,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,YAAW,MAAW,KAAG,OAGxF,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB,GAAI,OAAO,KAAK,EAAE,QAAQ,IAAI,KAAG,MA0BzD,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,qBAAqB,GAAI,mBAAmB,MAAM,EAAE,kBAAkB,MAAM,KAAG,MAOpF,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,sBAAsB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAUrF,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;CAGxB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,QAAA,MAAM,qBAAqB,GACzB,OAAO,KAAK,EACZ,gBAAgB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,KACtE,gBAAgB,GAAG,IAoFrB,CAAC;AAEF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { Frame } from 'react-native-vision-camera';
2
+ import { type Mat } from 'react-native-fast-opencv';
3
+ /**
4
+ * Convert YUV frame to BGR Mat for OpenCV processing
5
+ */
6
+ declare const convertYUVToBGR: (frame: Frame) => Mat;
7
+ /**
8
+ * Apply CLAHE (Contrast Limited Adaptive Histogram Equalization) to enhance frame
9
+ * This improves text and face recognition in varying lighting conditions
10
+ */
11
+ declare const enhanceFrameForOCR: (frame: Frame, options?: {
12
+ clipLimit?: number;
13
+ tileGridSize?: number;
14
+ }) => Mat;
15
+ /**
16
+ * Apply sharpening to enhance text clarity
17
+ * Uses unsharp mask technique
18
+ */
19
+ declare const sharpenForText: (mat: Mat, amount?: number) => Mat;
20
+ /**
21
+ * Determine if frame should be enhanced based on current scanning state
22
+ */
23
+ declare const shouldEnhanceFrame: (nextStep: string, detectedFaces: number, mrzRetryCount: number) => boolean;
24
+ export { convertYUVToBGR, enhanceFrameForOCR, sharpenForText, shouldEnhanceFrame, };
25
+ //# sourceMappingURL=frame-enhancement.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-enhancement.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/frame-enhancement.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,0BAA0B,CAAC;AAMlC;;GAEG;AACH,QAAA,MAAM,eAAe,GAAI,OAAO,KAAK,KAAG,GAmCvC,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,OAAO,KAAK,EACZ,UAAU;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,KACA,GA0EF,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,cAAc,GAAI,KAAK,GAAG,EAAE,SAAQ,MAAY,KAAG,GAgCxD,CAAC;AAEF;;GAEG;AACH,QAAA,MAAM,kBAAkB,GACtB,UAAU,MAAM,EAChB,eAAe,MAAM,EACrB,eAAe,MAAM,KACpB,OAyBF,CAAC;AAEF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mrz.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/mrz.utils.ts"],"names":[],"mappings":";0BAyD6B,MAAM;;;;wCA+BQ,MAAM,GAAG,IAAI;;AAkBxD,wBAGE"}
1
+ {"version":3,"file":"mrz.utils.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Libs/mrz.utils.ts"],"names":[],"mappings":";0BA+F6B,MAAM;;;;wCAsEQ,MAAM,GAAG,IAAI;;AAkBxD,wBAGE"}
@@ -89,6 +89,11 @@ declare const _default: {
89
89
  'eidScannerScreen.readingDocument': string;
90
90
  'eidScannerScreen.checkYourInformation': string;
91
91
  'eidScannerScreen.approveAndContinue': string;
92
+ 'eidScannerScreen.connecting': string;
93
+ 'eidScannerScreen.readingMRZ': string;
94
+ 'eidScannerScreen.readingFaceImage': string;
95
+ 'eidScannerScreen.completing': string;
96
+ 'eidScannerScreen.progress': string;
92
97
  'identityDocumentCamera.guideHeader': string;
93
98
  'identityDocumentCamera.guideText': string;
94
99
  'identityDocumentCamera.guidePoint1': string;
@@ -100,6 +105,31 @@ declare const _default: {
100
105
  'identityDocumentCamera.alignIDFrontSide': string;
101
106
  'identityDocumentCamera.alignIDBackSide': string;
102
107
  'identityDocumentCamera.scanCompleted': string;
108
+ 'identityDocumentCamera.frontSideScanned': string;
109
+ 'identityDocumentCamera.passportScanned': string;
110
+ 'identityDocumentCamera.backSideScanned': string;
111
+ 'identityDocumentCamera.hologramVerified': string;
112
+ 'identityDocumentCamera.searchingDocument': string;
113
+ 'identityDocumentCamera.faceDetected': string;
114
+ 'identityDocumentCamera.readingDocument': string;
115
+ 'identityDocumentCamera.processing': string;
116
+ 'identityDocumentCamera.stepProgress': string;
117
+ 'identityDocumentCamera.frontSide': string;
118
+ 'identityDocumentCamera.backSide': string;
119
+ 'identityDocumentCamera.hologramCheck': string;
120
+ 'identityDocumentCamera.keepSteady': string;
121
+ 'identityDocumentCamera.avoidBlur': string;
122
+ 'identityDocumentCamera.wrongSideFront': string;
123
+ 'identityDocumentCamera.wrongSideBack': string;
124
+ 'identityDocumentCamera.idCardDetected': string;
125
+ 'identityDocumentCamera.idCardFrontDetected': string;
126
+ 'identityDocumentCamera.passportDetected': string;
127
+ 'identityDocumentCamera.moveCloser': string;
128
+ 'identityDocumentCamera.moveFarther': string;
129
+ 'identityDocumentCamera.documentTooSmall': string;
130
+ 'identityDocumentCamera.documentTooLarge': string;
131
+ 'identityDocumentCamera.holdSteady': string;
132
+ 'identityDocumentCamera.centerDocument': string;
103
133
  'navigationManager.skipStepWarning': string;
104
134
  'navigationManager.skipStepLabel': string;
105
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAmJE"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAiLE"}
@@ -89,6 +89,11 @@ declare const _default: {
89
89
  'eidScannerScreen.readingDocument': string;
90
90
  'eidScannerScreen.checkYourInformation': string;
91
91
  'eidScannerScreen.approveAndContinue': string;
92
+ 'eidScannerScreen.connecting': string;
93
+ 'eidScannerScreen.readingMRZ': string;
94
+ 'eidScannerScreen.readingFaceImage': string;
95
+ 'eidScannerScreen.completing': string;
96
+ 'eidScannerScreen.progress': string;
92
97
  'identityDocumentCamera.guideHeader': string;
93
98
  'identityDocumentCamera.guideText': string;
94
99
  'identityDocumentCamera.guidePoint1': string;
@@ -100,6 +105,31 @@ declare const _default: {
100
105
  'identityDocumentCamera.alignIDFrontSide': string;
101
106
  'identityDocumentCamera.alignIDBackSide': string;
102
107
  'identityDocumentCamera.scanCompleted': string;
108
+ 'identityDocumentCamera.frontSideScanned': string;
109
+ 'identityDocumentCamera.passportScanned': string;
110
+ 'identityDocumentCamera.backSideScanned': string;
111
+ 'identityDocumentCamera.hologramVerified': string;
112
+ 'identityDocumentCamera.searchingDocument': string;
113
+ 'identityDocumentCamera.faceDetected': string;
114
+ 'identityDocumentCamera.readingDocument': string;
115
+ 'identityDocumentCamera.processing': string;
116
+ 'identityDocumentCamera.stepProgress': string;
117
+ 'identityDocumentCamera.frontSide': string;
118
+ 'identityDocumentCamera.backSide': string;
119
+ 'identityDocumentCamera.hologramCheck': string;
120
+ 'identityDocumentCamera.keepSteady': string;
121
+ 'identityDocumentCamera.avoidBlur': string;
122
+ 'identityDocumentCamera.wrongSideFront': string;
123
+ 'identityDocumentCamera.wrongSideBack': string;
124
+ 'identityDocumentCamera.idCardDetected': string;
125
+ 'identityDocumentCamera.idCardFrontDetected': string;
126
+ 'identityDocumentCamera.passportDetected': string;
127
+ 'identityDocumentCamera.moveCloser': string;
128
+ 'identityDocumentCamera.moveFarther': string;
129
+ 'identityDocumentCamera.documentTooSmall': string;
130
+ 'identityDocumentCamera.documentTooLarge': string;
131
+ 'identityDocumentCamera.holdSteady': string;
132
+ 'identityDocumentCamera.centerDocument': string;
103
133
  'navigationManager.skipStepWarning': string;
104
134
  'navigationManager.skipStepLabel': string;
105
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/tr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAmJE"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/tr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAiLE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,OAAO,gCAAgC,CAAC;AAqBxC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA0KvC,CAAC;AAWF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,gCAAgC,CAAC;AAuBxC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmLvC,CAAC;AAWF,eAAe,SAAS,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const SDK_VERSION = "1.266.1";
1
+ export declare const SDK_VERSION = "1.354.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trustchex/react-native-sdk",
3
- "version": "1.267.0",
3
+ "version": "1.354.0",
4
4
  "description": "Trustchex mobile app react native SDK for android or ios devices",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -93,7 +93,7 @@
93
93
  "react-native-builder-bob": "^0.40.13",
94
94
  "react-native-compressor": "^1.12.0",
95
95
  "react-native-device-info": "^13.0.0",
96
- "react-native-fast-opencv": "^0.4.6",
96
+ "react-native-fast-opencv": "^0.4.7",
97
97
  "react-native-fs": "^2.20.0",
98
98
  "react-native-gesture-handler": "^2.27.1",
99
99
  "react-native-get-random-values": "^1.11.0",
@@ -130,7 +130,7 @@
130
130
  "react-native": ">=0.79.5",
131
131
  "react-native-compressor": ">=1.12.0",
132
132
  "react-native-device-info": ">=13.0.0",
133
- "react-native-fast-opencv": ">=0.4.6",
133
+ "react-native-fast-opencv": ">=0.4.7",
134
134
  "react-native-fs": ">=2.20.0",
135
135
  "react-native-gesture-handler": ">=2.27.1",
136
136
  "react-native-get-random-values": ">=1.11.0",
@@ -6,6 +6,7 @@ import React, {
6
6
  useRef,
7
7
  } from 'react';
8
8
  import { SafeAreaView, View, Text, StyleSheet } from 'react-native';
9
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
9
10
  import WebView from 'react-native-webview';
10
11
  import NavigationManager, {
11
12
  type NavigationManagerRef,
@@ -33,6 +34,7 @@ const ContractAcceptanceScreen = () => {
33
34
  const [contractUrl, setContractUrl] = useState<string>();
34
35
  const atTheEnd = useRef(false);
35
36
  const { t } = useTranslation();
37
+ const insets = useSafeAreaInsets();
36
38
 
37
39
  // Track screen view and exit
38
40
  useScreenTracking('contract_acceptance');
@@ -126,7 +128,7 @@ const ContractAcceptanceScreen = () => {
126
128
  }}
127
129
  onScroll={hasReachedEnd}
128
130
  />
129
- <View style={styles.footer}>
131
+ <View style={[styles.footer, { paddingBottom: insets.bottom }]}>
130
132
  <Text style={styles.footerText}>
131
133
  {t('termsOfUseAndDataPrivacyScreen.footerText')}
132
134
  </Text>
@@ -190,7 +192,9 @@ const styles = StyleSheet.create({
190
192
  footer: {
191
193
  flex: 0,
192
194
  justifyContent: 'flex-end',
193
- padding: 10,
195
+ paddingTop: 10,
196
+ paddingHorizontal: 20,
197
+ paddingBottom: 10,
194
198
  },
195
199
  footerText: {
196
200
  textAlign: 'center',
@@ -1,6 +1,7 @@
1
1
  import React, { useContext, useEffect, useState } from 'react';
2
2
 
3
3
  import { Alert, SafeAreaView, StyleSheet, View } from 'react-native';
4
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
4
5
  import EIDScanner from '../../Shared/Components/EIDScanner';
5
6
  import NavigationManager, {
6
7
  type NavigationManagerRef,
@@ -20,6 +21,7 @@ import {
20
21
  const IdentityDocumentEIDScanningScreen = () => {
21
22
  const appContext = useContext(AppContext);
22
23
  const navigationManagerRef = React.useRef<NavigationManagerRef>(null);
24
+ const insets = useSafeAreaInsets();
23
25
  const [idFrontSideData, setIDFrontSideData] =
24
26
  useState<DocumentScannedData | null>(null);
25
27
  const [idBackSideData, setIDBackSideData] =
@@ -199,7 +201,7 @@ const IdentityDocumentEIDScanningScreen = () => {
199
201
  showDebugImages={false}
200
202
  />
201
203
  )}
202
- <View style={styles.footer}>
204
+ <View style={[styles.footer, { bottom: insets.bottom }]}>
203
205
  <NavigationManager
204
206
  canSkipStep={
205
207
  !isNFCSupported &&