@oiti/rn-liveness3d 1.1.2 → 2.1.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 (154) hide show
  1. package/README.md +33 -237
  2. package/android/build.gradle +4 -18
  3. package/android/settings.gradle +2 -2
  4. package/android/src/main/AndroidManifest.xml +3 -0
  5. package/android/src/main/java/br/com/oiti/rnliveness3d/RnLiveness3dModule.kt +198 -132
  6. package/android/src/main/java/br/com/oiti/rnliveness3d/theme/Liveness3DFonts.kt +44 -0
  7. package/android/src/main/java/br/com/oiti/rnliveness3d/theme/Liveness3DText.kt +68 -0
  8. package/android/src/main/java/br/com/oiti/rnliveness3d/theme/Liveness3DTheme.kt +147 -0
  9. package/ios/Podfile +2 -1
  10. package/ios/Pods/Manifest.lock +23 -19
  11. package/ios/RnLiveness3d.m +8 -3
  12. package/ios/RnLiveness3d.swift +198 -114
  13. package/lib/commonjs/@types/ArgsType.js +4 -0
  14. package/lib/commonjs/@types/FontsType.js +2 -0
  15. package/lib/commonjs/@types/FontsType.js.map +1 -0
  16. package/lib/commonjs/@types/ResultType.js +2 -0
  17. package/lib/commonjs/@types/ResultType.js.map +1 -0
  18. package/lib/commonjs/@types/ResultTypes.js +6 -0
  19. package/lib/commonjs/@types/ResultTypes.js.map +1 -0
  20. package/lib/commonjs/@types/TextsType.js +2 -0
  21. package/lib/commonjs/@types/TextsType.js.map +1 -0
  22. package/lib/commonjs/@types/ThemeType.js +2 -0
  23. package/lib/commonjs/@types/ThemeType.js.map +1 -0
  24. package/lib/commonjs/actions/BackButton.js +35 -0
  25. package/lib/commonjs/actions/BackButton.js.map +1 -0
  26. package/lib/commonjs/actions/ContinueButton.js +43 -0
  27. package/lib/commonjs/actions/ContinueButton.js.map +1 -0
  28. package/lib/commonjs/actions/PermissionButton.js +35 -0
  29. package/lib/commonjs/actions/PermissionButton.js.map +1 -0
  30. package/lib/commonjs/context/Liveness3DContext.js +104 -0
  31. package/lib/commonjs/context/Liveness3DContext.js.map +1 -0
  32. package/lib/commonjs/helpers/Liveness3DHelper.js +34 -0
  33. package/lib/commonjs/helpers/Liveness3DHelper.js.map +1 -0
  34. package/lib/commonjs/index.js +121 -78
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/commonjs/interfaces/Liveness3DHelper.js +6 -0
  37. package/lib/commonjs/interfaces/Liveness3DHelper.js.map +1 -0
  38. package/lib/commonjs/interfaces/OitiBackButtonInterface.js +6 -0
  39. package/lib/commonjs/interfaces/OitiBackButtonInterface.js.map +1 -0
  40. package/lib/commonjs/interfaces/OitiContinueButton.js +6 -0
  41. package/lib/commonjs/interfaces/OitiContinueButton.js.map +1 -0
  42. package/lib/commonjs/interfaces/OitiPermissionButtonInterface.js +6 -0
  43. package/lib/commonjs/interfaces/OitiPermissionButtonInterface.js.map +1 -0
  44. package/lib/commonjs/screens/Liveness3D/InstructionsView.js +4 -4
  45. package/lib/commonjs/screens/Liveness3D/InstructionsView.js.map +1 -1
  46. package/lib/commonjs/utils/continueButton.js +17 -0
  47. package/lib/commonjs/utils/continueButton.js.map +1 -0
  48. package/lib/commonjs/utils/permissions.js +30 -0
  49. package/lib/commonjs/utils/permissions.js.map +1 -0
  50. package/lib/commonjs/utils/screenStore.js +12 -0
  51. package/lib/commonjs/utils/screenStore.js.map +1 -0
  52. package/lib/module/@types/ArgsType.js +1 -1
  53. package/lib/module/@types/FontsType.js +2 -0
  54. package/lib/module/@types/FontsType.js.map +1 -0
  55. package/lib/module/@types/ResultType.js +2 -0
  56. package/lib/module/@types/ResultType.js.map +1 -0
  57. package/lib/module/@types/ResultTypes.js +2 -0
  58. package/lib/module/@types/ResultTypes.js.map +1 -0
  59. package/lib/module/@types/TextsType.js +2 -0
  60. package/lib/module/@types/TextsType.js.map +1 -0
  61. package/lib/module/@types/ThemeType.js +2 -0
  62. package/lib/module/@types/ThemeType.js.map +1 -0
  63. package/lib/module/actions/BackButton.js +26 -0
  64. package/lib/module/actions/BackButton.js.map +1 -0
  65. package/lib/module/actions/ContinueButton.js +34 -0
  66. package/lib/module/actions/ContinueButton.js.map +1 -0
  67. package/lib/module/actions/PermissionButton.js +26 -0
  68. package/lib/module/actions/PermissionButton.js.map +1 -0
  69. package/lib/module/context/Liveness3DContext.js +92 -0
  70. package/lib/module/context/Liveness3DContext.js.map +1 -0
  71. package/lib/module/helpers/Liveness3DHelper.js +25 -0
  72. package/lib/module/helpers/Liveness3DHelper.js.map +1 -0
  73. package/lib/module/index.js +97 -75
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/interfaces/Liveness3DHelper.js +2 -0
  76. package/lib/module/interfaces/Liveness3DHelper.js.map +1 -0
  77. package/lib/module/interfaces/OitiBackButtonInterface.js +2 -0
  78. package/lib/module/interfaces/OitiBackButtonInterface.js.map +1 -0
  79. package/lib/module/interfaces/OitiContinueButton.js +2 -0
  80. package/lib/module/interfaces/OitiContinueButton.js.map +1 -0
  81. package/lib/module/interfaces/OitiPermissionButtonInterface.js +2 -0
  82. package/lib/module/interfaces/OitiPermissionButtonInterface.js.map +1 -0
  83. package/lib/module/screens/Liveness3D/InstructionsView.js +4 -4
  84. package/lib/module/screens/Liveness3D/InstructionsView.js.map +1 -1
  85. package/lib/module/utils/continueButton.js +10 -0
  86. package/lib/module/utils/continueButton.js.map +1 -0
  87. package/lib/module/utils/permissions.js +21 -0
  88. package/lib/module/utils/permissions.js.map +1 -0
  89. package/lib/module/utils/screenStore.js +5 -0
  90. package/lib/module/utils/screenStore.js.map +1 -0
  91. package/lib/typescript/@types/ArgsType.d.ts +9 -9
  92. package/lib/typescript/@types/ArgsType.d.ts.map +1 -1
  93. package/lib/typescript/@types/FontsType.d.ts +12 -0
  94. package/lib/typescript/@types/FontsType.d.ts.map +1 -0
  95. package/lib/typescript/@types/ResultType.d.ts +13 -0
  96. package/lib/typescript/@types/ResultType.d.ts.map +1 -0
  97. package/lib/typescript/@types/ResultTypes.d.ts +6 -0
  98. package/lib/typescript/@types/ResultTypes.d.ts.map +1 -0
  99. package/lib/typescript/@types/TextsType.d.ts +36 -0
  100. package/lib/typescript/@types/TextsType.d.ts.map +1 -0
  101. package/lib/typescript/@types/ThemeType.d.ts +48 -0
  102. package/lib/typescript/@types/ThemeType.d.ts.map +1 -0
  103. package/lib/typescript/actions/BackButton.d.ts +4 -0
  104. package/lib/typescript/actions/BackButton.d.ts.map +1 -0
  105. package/lib/typescript/actions/ContinueButton.d.ts +4 -0
  106. package/lib/typescript/actions/ContinueButton.d.ts.map +1 -0
  107. package/lib/typescript/actions/PermissionButton.d.ts +4 -0
  108. package/lib/typescript/actions/PermissionButton.d.ts.map +1 -0
  109. package/lib/typescript/context/Liveness3DContext.d.ts +28 -0
  110. package/lib/typescript/context/Liveness3DContext.d.ts.map +1 -0
  111. package/lib/typescript/helpers/Liveness3DHelper.d.ts +4 -0
  112. package/lib/typescript/helpers/Liveness3DHelper.d.ts.map +1 -0
  113. package/lib/typescript/index.d.ts +21 -8
  114. package/lib/typescript/index.d.ts.map +1 -1
  115. package/lib/typescript/interfaces/Liveness3DHelper.d.ts +7 -0
  116. package/lib/typescript/interfaces/Liveness3DHelper.d.ts.map +1 -0
  117. package/lib/typescript/interfaces/OitiBackButtonInterface.d.ts +6 -0
  118. package/lib/typescript/interfaces/OitiBackButtonInterface.d.ts.map +1 -0
  119. package/lib/typescript/interfaces/OitiContinueButton.d.ts +6 -0
  120. package/lib/typescript/interfaces/OitiContinueButton.d.ts.map +1 -0
  121. package/lib/typescript/interfaces/OitiPermissionButtonInterface.d.ts +6 -0
  122. package/lib/typescript/interfaces/OitiPermissionButtonInterface.d.ts.map +1 -0
  123. package/lib/typescript/screens/Liveness3D/InstructionsView.d.ts +1 -0
  124. package/lib/typescript/screens/Liveness3D/InstructionsView.d.ts.map +1 -1
  125. package/lib/typescript/screens/PermissionView.d.ts +1 -0
  126. package/lib/typescript/screens/PermissionView.d.ts.map +1 -1
  127. package/lib/typescript/utils/continueButton.d.ts +2 -0
  128. package/lib/typescript/utils/continueButton.d.ts.map +1 -0
  129. package/lib/typescript/utils/permissions.d.ts +4 -0
  130. package/lib/typescript/utils/permissions.d.ts.map +1 -0
  131. package/lib/typescript/utils/screenStore.d.ts +5 -0
  132. package/lib/typescript/utils/screenStore.d.ts.map +1 -0
  133. package/oiti-rn-liveness3d.podspec +2 -1
  134. package/package.json +3 -6
  135. package/src/@types/ArgsType.ts +10 -10
  136. package/src/@types/FontsType.ts +22 -0
  137. package/src/@types/ResultType.ts +13 -0
  138. package/src/@types/ResultTypes.ts +6 -0
  139. package/src/@types/TextsType.ts +41 -0
  140. package/src/@types/ThemeType.ts +64 -0
  141. package/src/actions/BackButton.tsx +27 -0
  142. package/src/actions/ContinueButton.tsx +35 -0
  143. package/src/actions/PermissionButton.tsx +27 -0
  144. package/src/context/Liveness3DContext.tsx +122 -0
  145. package/src/helpers/Liveness3DHelper.tsx +24 -0
  146. package/src/index.tsx +120 -87
  147. package/src/interfaces/Liveness3DHelper.tsx +7 -0
  148. package/src/interfaces/OitiBackButtonInterface.tsx +6 -0
  149. package/src/interfaces/OitiContinueButton.tsx +6 -0
  150. package/src/interfaces/OitiPermissionButtonInterface.tsx +6 -0
  151. package/src/screens/Liveness3D/InstructionsView.tsx +8 -8
  152. package/src/utils/continueButton.tsx +12 -0
  153. package/src/utils/permissions.tsx +30 -0
  154. package/src/utils/screenStore.tsx +4 -0
@@ -1,18 +1,20 @@
1
1
  PODS:
2
- - OICommons (1.1.0)
3
- - OIComponents (1.2.1):
4
- - OICommons (~> 1.1.0)
5
- - OILiveness3D (1.0.0):
6
- - OICommons (~> 1.1.0)
7
- - OIComponents (~> 1.2.0)
8
- - OILiveness3D_FT (= 9.6.40)
9
- - OINetwork (~> 1.2.0)
10
- - OILiveness3D_FT (9.6.40)
11
- - OINetwork (1.2.0):
12
- - OICommons (~> 1.1.0)
2
+ - OICommons (2.0.0)
3
+ - OIComponents (1.6.0)
4
+ - OILiveness3D (2.1.1):
5
+ - OICommons (~> 2.0)
6
+ - OIComponents (~> 1.6)
7
+ - OILiveness3D_FT (= 9.6.80)
8
+ - OINetwork (~> 2.1)
9
+ - OISecurity (~> 3.0)
10
+ - OILiveness3D_FT (9.6.80)
11
+ - OINetwork (2.1.0):
12
+ - OICommons (~> 2.0)
13
+ - OISecurity (3.1.0):
14
+ - OINetwork (~> 2.0)
13
15
 
14
16
  DEPENDENCIES:
15
- - OILiveness3D (= 1.0.0)
17
+ - OILiveness3D (= 2.1.1)
16
18
 
17
19
  SPEC REPOS:
18
20
  https://github.com/oititec/ios-artifactory.git:
@@ -21,14 +23,16 @@ SPEC REPOS:
21
23
  - OILiveness3D
22
24
  - OILiveness3D_FT
23
25
  - OINetwork
26
+ - OISecurity
24
27
 
25
28
  SPEC CHECKSUMS:
26
- OICommons: c304a4f3aa3f0fe9282eae013a45fde717ad42bf
27
- OIComponents: 8cf47c0dc9b3477e8e4d5513c99b0c83283da3ce
28
- OILiveness3D: 0c563045356e9af3c182788e4cfd56b4b5d6c7a3
29
- OILiveness3D_FT: a58ceb6ea1b1229015434125d25b78b46f7667a9
30
- OINetwork: 3cf1ea4bd61a98bd68db7d1caa3f175b4868f5b4
29
+ OICommons: 34c8950596ab3aa4e02e35cd98af7bc7f1f32750
30
+ OIComponents: 39507e574e59134381b58668f91646479a41e19a
31
+ OILiveness3D: f0ad7178455bdd3c1031aff2436fceb0c2bc274b
32
+ OILiveness3D_FT: fbf3417c20b3123522906249c98b9c896f8b484e
33
+ OINetwork: c570aefbb34038569799949b5489dd3b6b11597e
34
+ OISecurity: b91e9fc019f8edf63df228ce681805c36cfdc4a7
31
35
 
32
- PODFILE CHECKSUM: a3090c37daedeabb4d72153ace1c3354a15c0f2a
36
+ PODFILE CHECKSUM: 37edadb2600491b14130b5ea7ae040636294db5d
33
37
 
34
- COCOAPODS: 1.12.0
38
+ COCOAPODS: 1.13.0
@@ -6,17 +6,22 @@ RCT_EXTERN_METHOD(startliveness3d:(NSDictionary)args
6
6
  withResolver:(RCTPromiseResolveBlock)resolve
7
7
  withRejecter:(RCTPromiseRejectBlock)reject)
8
8
 
9
- RCT_EXTERN_METHOD(logevent:(NSDictionary)args
9
+
10
+ RCT_EXTERN_METHOD(checkiospermission:(NSDictionary)args
10
11
  withResolver:(RCTPromiseResolveBlock)resolve
11
12
  withRejecter:(RCTPromiseRejectBlock)reject)
12
13
 
13
14
 
14
- RCT_EXTERN_METHOD(checkiospermission:(NSDictionary)args
15
+ RCT_EXTERN_METHOD(checkpermissiongranted:(NSDictionary)args
15
16
  withResolver:(RCTPromiseResolveBlock)resolve
16
17
  withRejecter:(RCTPromiseRejectBlock)reject)
17
18
 
19
+ RCT_EXTERN_METHOD(trackevent:(NSString *)event
20
+ hasticket:(BOOL)hasticket
21
+ withResolver:(RCTPromiseResolveBlock)resolve
22
+ withRejecter:(RCTPromiseRejectBlock)reject)
18
23
 
19
- RCT_EXTERN_METHOD(checkpermissiongranted:(NSDictionary)args
24
+ RCT_EXTERN_METHOD(startsession:(BOOL)hasticket
20
25
  withResolver:(RCTPromiseResolveBlock)resolve
21
26
  withRejecter:(RCTPromiseRejectBlock)reject)
22
27
 
@@ -2,54 +2,65 @@ import OILiveness3D
2
2
  import OIComponents
3
3
  import OICommons
4
4
  import AVFoundation
5
+ import OISecurity
6
+ import UIKit
5
7
 
6
8
  @objc(RnLiveness3d)
7
9
  class RnLiveness3d: NSObject, Liveness3DDelegate {
8
- func handleLiveness3DValidation(validateModel: Liveness3DSuccess) {
9
- resolve("RESULT_OK")
10
- }
11
-
12
- func handleLiveness3DError(error: OILiveness3D.Liveness3DError) {
13
- resolve(error.message)
14
- }
15
10
 
11
+ var securityManager: SecurityManager?
16
12
  var resolve:RCTPromiseResolveBlock!
17
13
  var reject:RCTPromiseRejectBlock!
18
14
 
19
- @objc(logevent:withResolver:withRejecter:)
20
- func logevent(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
21
- let event = args?["event"] as? String ?? ""
22
- print(event)
15
+ func handleLiveness3DValidation(validateModel: Liveness3DSuccess) {
16
+ let response: Dictionary<String, Any> = [
17
+ "cause": validateModel.cause ?? "",
18
+ "codId": String(validateModel.codID ?? 0.0),
19
+ "protocol": validateModel.protocolo ?? "",
20
+ "blob": validateModel.scanResultBlob ?? "",
21
+ "valid": validateModel.valid ?? false
22
+ ]
23
+
24
+ resolve(response)
25
+ }
26
+
27
+ func handleLiveness3DError(error: OILiveness3D.Liveness3DError) {
28
+ reject("\(error.code)", "\(error.message)", error.type as Error)
23
29
  }
24
30
 
25
31
  @objc(checkiospermission:withResolver:withRejecter:)
26
- func checkiospermission(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
27
- AVCaptureDevice.requestAccess(for: AVMediaType.video) { response in
28
- if response {
29
- resolve("true")
30
-
31
- } else {
32
- resolve("false")
32
+ func checkiospermission(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
33
+ AVCaptureDevice.requestAccess(for: .video) { granted in
34
+ DispatchQueue.main.async {
35
+ if granted {
36
+ resolve(true)
37
+ } else {
38
+ if let settingsURL = URL(string: UIApplication.openSettingsURLString) {
39
+ UIApplication.shared.open(settingsURL, options: [:]) { _ in }
40
+ }
41
+ resolve(false)
42
+ }
33
43
  }
34
44
  }
35
45
  }
36
46
 
37
47
  @objc(checkpermissiongranted:withResolver:withRejecter:)
38
- func checkpermissiongranted(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
48
+ func checkpermissiongranted(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
39
49
  if AVCaptureDevice.authorizationStatus(for: AVMediaType.video) == AVAuthorizationStatus.authorized {
40
- resolve("true")
50
+ resolve(true)
41
51
  } else {
42
- resolve("false")
52
+ resolve(false)
43
53
  }
44
54
  }
45
55
 
46
56
  @objc(startliveness3d:withResolver:withRejecter:)
47
- func startliveness3D(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock) -> Void {
57
+ func startliveness3D(args: Dictionary<String,Any>?, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
48
58
  self.resolve = resolve
59
+ self.reject = reject
49
60
 
50
61
  let appKey = args?["appkey"] as? String ?? ""
62
+ let ticket = args?["ticket"] as? String ?? nil
51
63
  let env = args?["environment"] as? String ?? "HML"
52
- let apparence = args?["apparence"] as? Dictionary<String,Any> ?? nil
53
64
 
54
65
  let loading = args?["loading"] as? Dictionary<String,Any> ?? nil
55
66
 
@@ -58,98 +69,17 @@ class RnLiveness3d: NSObject, Liveness3DDelegate {
58
69
  let backgroundColor = loading?["backgroundColor"] as? String ?? "#FFFFFF"
59
70
  let loadingColor = loading?["loadingColor"] as? String ?? "#000000"
60
71
 
61
- //Map Texts
62
- let liveness3Dtext = args?["liveness3Dtext"] as? Dictionary<String,Any> ?? nil
63
-
64
- // Ready Screen
65
- let READY_HEADER_1 = liveness3Dtext?["READY_HEADER_1"] as? String ?? ""
66
- let READY_HEADER_2 = liveness3Dtext?["READY_HEADER_2"] as? String ?? ""
67
- let READY_MESSAGE_1 = liveness3Dtext?["READY_MESSAGE_1"] as? String ?? ""
68
- let READY_MESSAGE_2 = liveness3Dtext?["READY_MESSAGE_2"] as? String ?? ""
69
- let READY_BUTTON = liveness3Dtext?["READY_BUTTON"] as? String ?? ""
70
-
71
- // Feedback Screen
72
- let FEEDBACK_CENTER_FACE = liveness3Dtext?["FEEDBACK_CENTER_FACE"] as? String ?? ""
73
- let FEEDBACK_FACE_NOT_FOUND = liveness3Dtext?["FEEDBACK_FACE_NOT_FOUND"] as? String ?? ""
74
- let FEEDBACK_FACE_NOT_LOOKING_STRAIGHT_AHEAD = liveness3Dtext?["FEEDBACK_FACE_NOT_LOOKING_STRAIGHT_AHEAD"] as? String ?? ""
75
- let FEEDBACK_FACE_NOT_UPRIGHT = liveness3Dtext?["FEEDBACK_FACE_NOT_UPRIGHT"] as? String ?? ""
76
- let FEEDBACK_HOLD_STEADY = liveness3Dtext?["FEEDBACK_HOLD_STEADY"] as? String ?? ""
77
- let FEEDBACK_MOVE_PHONE_AWAY = liveness3Dtext?["FEEDBACK_MOVE_PHONE_AWAY"] as? String ?? ""
78
- let FEEDBACK_MOVE_PHONE_CLOSER = liveness3Dtext?["FEEDBACK_MOVE_PHONE_CLOSER"] as? String ?? ""
79
- let FEEDBACK_MOVE_PHONE_TO_EYE_LEVEL = liveness3Dtext?["FEEDBACK_MOVE_PHONE_TO_EYE_LEVEL"] as? String ?? ""
80
- let FEEDBACK_USE_EVEN_LIGHTING = liveness3Dtext?["FEEDBACK_USE_EVEN_LIGHTING"] as? String ?? ""
81
- let FEEDBACK_FRAME_YOUR_FACE = liveness3Dtext?["FEEDBACK_FRAME_YOUR_FACE"] as? String ?? ""
82
- let FEEDBACK_POSITION_FACE_STRAIGHT_IN_OVAL = liveness3Dtext?["FEEDBACK_POSITION_FACE_STRAIGHT_IN_OVAL"] as? String ?? ""
83
- let FEEDBACK_HOLD_STEADY_1 = liveness3Dtext?["FEEDBACK_HOLD_STEADY_1"] as? String ?? ""
84
- let FEEDBACK_HOLD_STEADY_2 = liveness3Dtext?["FEEDBACK_HOLD_STEADY_2"] as? String ?? ""
85
- let FEEDBACK_HOLD_STEADY_3 = liveness3Dtext?["FEEDBACK_HOLD_STEADY_3"] as? String ?? ""
86
- let FEEDBACK_REMOVE_DARK_GLASSES = liveness3Dtext?["FEEDBACK_REMOVE_DARK_GLASSES"] as? String ?? ""
87
- let FEEDBACK_NEUTRAL_EXPRESSION = liveness3Dtext?["FEEDBACK_NEUTRAL_EXPRESSION"] as? String ?? ""
88
- let FEEDBACK_CONDITIONS_TOO_BRIGHT = liveness3Dtext?["FEEDBACK_CONDITIONS_TOO_BRIGHT"] as? String ?? ""
89
- let FEEDBACK_BRIGHTEN_YOUR_ENVIRONMENT = liveness3Dtext?["FEEDBACK_BRIGHTEN_YOUR_ENVIRONMENT"] as? String ?? ""
90
-
91
- // Result Screen
92
- let RESULT_UPLOAD_MESSAGE = liveness3Dtext?["RESULT_UPLOAD_MESSAGE"] as? String ?? ""
93
- let RESULT_SUCCESS_MESSAGE = liveness3Dtext?["RESULT_SUCCESS_MESSAGE"] as? String ?? ""
94
-
95
- // Retry Screen
96
- let RETRY_HEADER = liveness3Dtext?["RETRY_HEADER"] as? String ?? "Vamos tentar novamente?"
97
- let RETRY_SUBHEADER = liveness3Dtext?["RETRY_SUBHEADER"] as? String ?? "Siga o exemplo de foto ideal abaixo:"
98
- let RETRY_YOUR_PICTURE = liveness3Dtext?["RETRY_YOUR_PICTURE"] as? String ?? "Sua foto"
99
- let RETRY_IDEAL_PICTURE = liveness3Dtext?["RETRY_IDEAL_PICTURE"] as? String ?? "Não sorria"
100
- let RETRY_MESSAGE_SMILE = liveness3Dtext?["RETRY_MESSAGE_SMILE"] as? String ?? "Expressão Neutra, Sem Sorrir"
101
- let RETRY_MESSAGE_LIGHTING = liveness3Dtext?["RETRY_MESSAGE_LIGHTING"] as? String ?? "Evite reflexos e iluminação extrema."
102
- let RETRY_MESSAGE_CONTRAST = liveness3Dtext?["RETRY_MESSAGE_CONTRAST"] as? String ?? "Limpe Sua Câmera"
103
- let RETRY_BUTTON = liveness3Dtext?["READY_BUTTON"] as? String ?? "Tentar novamente"
104
-
105
- //Liveness3D Texts
106
- let liveness3DTexts: [Liveness3DTextKey: String] = [
107
- // Ready Screen
108
- .readyHeader1: READY_HEADER_1,
109
- .readyHeader2: READY_HEADER_2,
110
- .readyMessage1: READY_MESSAGE_1,
111
- .readyMessage2: READY_MESSAGE_2,
112
- .readyButton: READY_BUTTON,
113
-
114
- // Feedback Screen
115
- .feedbackCenterFace: FEEDBACK_CENTER_FACE,
116
- .feedbackFaceNotFound: FEEDBACK_FACE_NOT_FOUND,
117
- .feedbackFaceNotLookingStraightAhead: FEEDBACK_FACE_NOT_LOOKING_STRAIGHT_AHEAD,
118
- .feedbackFaceNotUpright: FEEDBACK_FACE_NOT_UPRIGHT,
119
- .feedbackHoldSteady: FEEDBACK_HOLD_STEADY,
120
- .feedbackMovePhoneAway: FEEDBACK_MOVE_PHONE_AWAY,
121
- .feedbackMovePhoneCloser: FEEDBACK_MOVE_PHONE_CLOSER,
122
- .feedbackMovePhoneToEyeLevel: FEEDBACK_MOVE_PHONE_TO_EYE_LEVEL,
123
- .feedbackUseEvenLighting: FEEDBACK_USE_EVEN_LIGHTING,
124
- .feedbackFrameYourFace: FEEDBACK_FRAME_YOUR_FACE,
125
- .feedbackPositionFaceStraightInOval: FEEDBACK_POSITION_FACE_STRAIGHT_IN_OVAL,
126
- .feedbackHoldSteady1: FEEDBACK_HOLD_STEADY_1,
127
- .feedbackHoldSteady2: FEEDBACK_HOLD_STEADY_2,
128
- .feedbackHoldSteady3: FEEDBACK_HOLD_STEADY_3,
129
- .feedbackRemoveDarkGlasses: FEEDBACK_REMOVE_DARK_GLASSES,
130
- .feedbackNeutralExpression: FEEDBACK_NEUTRAL_EXPRESSION,
131
- .feedbackConditionsTooBright: FEEDBACK_CONDITIONS_TOO_BRIGHT,
132
- .feedbackBrightenYourEnvironment: FEEDBACK_BRIGHTEN_YOUR_ENVIRONMENT,
133
-
134
- // Result Screen
135
- .resultUploadMessage: RESULT_UPLOAD_MESSAGE,
136
- .resultSuccessMessage: RESULT_SUCCESS_MESSAGE,
137
-
138
- // Retry Screen
139
- .retryHeader: RETRY_HEADER,
140
- .retrySubheader: RETRY_SUBHEADER,
141
- .retryYourPicture: RETRY_YOUR_PICTURE,
142
- .retryIdealPicture: RETRY_IDEAL_PICTURE,
143
- .retryMessageSmile: RETRY_MESSAGE_SMILE,
144
- .retryMessageLightning: RETRY_MESSAGE_LIGHTING,
145
- .retryMessageContrast: RETRY_MESSAGE_CONTRAST,
146
- .retryButton: RETRY_BUTTON
147
- ]
72
+ //Customization
73
+ let texts = liveness3DTexts(from: args?["liveness3Dtext"])
74
+ let theme = liveness3DTheme(theme: args?["theme"],fonts: args?["fonts"])
148
75
 
149
76
  let liveness3DUser = Liveness3DUser(
150
77
  appKey: appKey,
78
+ ticket: ticket,
151
79
  environment: env == "PRD" ? Environment.PRD : Environment.HML,
152
- texts: liveness3DTexts
80
+ defaultTheme: theme,
81
+ lowLightTheme: theme,
82
+ texts: texts
153
83
  )
154
84
 
155
85
  AVCaptureDevice.requestAccess(for: AVMediaType.video) { response in
@@ -169,23 +99,177 @@ class RnLiveness3d: NSObject, Liveness3DDelegate {
169
99
  )
170
100
 
171
101
  DispatchQueue.main.async {
172
-
173
102
  let liveness3DViewController = HybridLiveness3DViewController(
174
103
  liveness3DUser: liveness3DUser,
175
104
  delegate: self,
176
105
  customAppearance: typeLoading == "spinner" ? .init(configuration: spinnerLoading) : .init(configuration: defaultLoading)
177
106
  )
178
-
179
107
  liveness3DViewController.modalPresentationStyle = .fullScreen
180
108
  RCTPresentedViewController()?.present(liveness3DViewController, animated: true)
181
109
  }
182
110
 
183
111
  } else {
184
- resolve("RESULT_CANCELED")
112
+ let error = NSError(domain: "br.com.oiti.rnliveness3d", code: -1, userInfo: [NSLocalizedDescriptionKey: "RESULT_CANCELED"])
113
+ reject("RESULT_CANCELED", "RESULT_CANCELED", error)
185
114
  }
186
115
  }
187
116
 
188
117
  }
118
+
119
+ func textKey(from identifier: String) -> Liveness3DTextKey? {
120
+ switch identifier {
121
+ case "READY_HEADER_1": return .readyHeader1
122
+ case "READY_HEADER_2": return .readyHeader2
123
+ case "READY_MESSAGE_1": return .readyMessage1
124
+ case "READY_MESSAGE_2": return .readyMessage2
125
+ case "READY_BUTTON": return .readyButton
126
+ case "RETRY_HEADER": return .retryHeader
127
+ case "RETRY_SUBHEADER": return .retrySubheader
128
+ case "RETRY_YOUR_PICTURE": return .retryYourPicture
129
+ case "RETRY_IDEAL_PICTURE": return .retryIdealPicture
130
+ case "RETRY_MESSAGE_SMILE": return .retryMessageSmile
131
+ case "RETRY_MESSAGE_LIGHTING": return .retryMessageLightning
132
+ case "RETRY_MESSAGE_CONTRAST": return .retryMessageContrast
133
+ case "RETRY_BUTTON": return .retryButton
134
+ case "RESULT_UPLOAD_MESSAGE": return .resultUploadMessage
135
+ case "RESULT_SUCCESS_MESSAGE": return .resultSuccessMessage
136
+ case "FEEDBACK_CENTER_FACE": return .feedbackCenterFace
137
+ case "FEEDBACK_FACE_NOT_FOUND": return .feedbackFaceNotFound
138
+ case "FEEDBACK_FACE_NOT_LOOKING_STRAIGHT_AHEAD": return .feedbackFaceNotLookingStraightAhead
139
+ case "FEEDBACK_FACE_NOT_UPRIGHT": return .feedbackFaceNotUpright
140
+ case "FEEDBACK_HOLD_STEADY": return .feedbackHoldSteady
141
+ case "FEEDBACK_HOLD_STEADY_1": return .feedbackHoldSteady1
142
+ case "FEEDBACK_HOLD_STEADY_2": return .feedbackHoldSteady2
143
+ case "FEEDBACK_HOLD_STEADY_3": return .feedbackHoldSteady3
144
+ case "FEEDBACK_MOVE_PHONE_AWAY": return .feedbackMovePhoneAway
145
+ case "FEEDBACK_MOVE_PHONE_CLOSER": return .feedbackMovePhoneCloser
146
+ case "FEEDBACK_MOVE_PHONE_TO_EYE_LEVEL": return .feedbackMovePhoneToEyeLevel
147
+ case "FEEDBACK_USE_EVEN_LIGHTING": return .feedbackUseEvenLighting
148
+ case "FEEDBACK_FRAME_YOUR_FACE": return .feedbackFrameYourFace
149
+ case "FEEDBACK_POSITION_FACE_STRAIGHT_IN_OVAL": return .feedbackPositionFaceStraightInOval
150
+ case "FEEDBACK_REMOVE_DARK_GLASSES": return .feedbackRemoveDarkGlasses
151
+ case "FEEDBACK_NEUTRAL_EXPRESSION": return .feedbackNeutralExpression
152
+ case "FEEDBACK_CONDITIONS_TOO_BRIGHT": return .feedbackConditionsTooBright
153
+ case "FEEDBACK_BRIGHTEN_YOUR_ENVIRONMENT": return .feedbackBrightenYourEnvironment
154
+ default: return nil
155
+ }
156
+ }
157
+
158
+ func liveness3DTexts(from arguments: Any?) -> [Liveness3DTextKey : String] {
159
+ guard let textsDictionary = arguments as? Dictionary<String, String> else {
160
+ return [:]
161
+ }
162
+
163
+ let sequence: [(Liveness3DTextKey, String)] = textsDictionary
164
+ .compactMap {
165
+ guard let key = self.textKey(from: $0.key) else {
166
+ return nil
167
+ }
168
+ return (key, $0.value)
169
+ }
170
+ .filter { !$0.1.isEmpty }
171
+
172
+ return Dictionary(uniqueKeysWithValues: sequence)
173
+ }
174
+
175
+ func liveness3DTheme(theme: Any?, fonts: Any?) -> Liveness3DTheme {
176
+ let themeDictionary = theme as? Dictionary<String, Any>
177
+ let fontsDictionary = fonts as? Dictionary<String, Any>
178
+ print(fontsDictionary as Any)
179
+
180
+ var theme = Liveness3DTheme(.light)
181
+
182
+ let guidanceCustomizationHeaderFont = fontsDictionary?["guidanceCustomizationHeaderFont"] as? String ?? ""
183
+ let guidanceCustomizationSubtextFont = fontsDictionary?["guidanceCustomizationSubtextFont"] as? String ?? ""
184
+ let guidanceCustomizationButtonFont = fontsDictionary?["guidanceCustomizationButtonFont"] as? String ?? ""
185
+
186
+ let readyScreenCustomizationSubtextFont = fontsDictionary?["readyScreenCustomizationSubtextFont"] as? String ?? ""
187
+ let readyScreenCustomizationHeaderFont = fontsDictionary?["readyScreenCustomizationHeaderFont"] as? String ?? ""
188
+
189
+ let retryScreenCustomizationHeaderFont = fontsDictionary?["retryScreenCustomizationHeaderFont"] as? String ?? ""
190
+ let retryScreenCustomizationSubtextFont = fontsDictionary?["retryScreenCustomizationSubtextFont"] as? String ?? ""
191
+
192
+ let resultScreenCustomizationMessageFont = fontsDictionary?["resultScreenCustomizationMessageFont"] as? String ?? ""
193
+
194
+ let feedbackCustomizationTextFont = fontsDictionary?["feedbackCustomizationTextFont"] as? String ?? ""
195
+
196
+ theme.readyScreenCustomizationHeaderFont = UIFont(name: readyScreenCustomizationSubtextFont, size: 14)
197
+ theme.readyScreenCustomizationHeaderTextColor = .init(hex: themeDictionary?["guidanceCustomizationReadyScreenHeaderTextColor"] as? String ?? "#000000")
198
+ theme.readyScreenCustomizationSubtextFont = UIFont(name: readyScreenCustomizationHeaderFont, size: 14)
199
+ theme.readyScreenCustomizationSubtextTextColor = .init(hex: themeDictionary?["guidanceCustomizationReadyScreenSubtextTextColor"] as? String ?? "#333333")
200
+ theme.readyScreenCustomizationTextBackgroundColor = .init(hex: themeDictionary?["guidanceCustomizationTextBackgroundColor"] as? String ?? "")
201
+ theme.readyScreenCustomizationTextBackgroundCornerRadius = themeDictionary?["guidanceCustomizationTextBackgroundColorRadius"] as? Int32 ?? 0
202
+
203
+ theme.retryScreenCustomizationHeaderFont = UIFont(name: retryScreenCustomizationHeaderFont, size: 14)
204
+ theme.retryScreenCustomizationHeaderTextColor = .init(hex: themeDictionary?["guidanceCustomizationRetryScreenHeaderTextColor"] as? String ?? "#000000")
205
+ theme.retryScreenCustomizationSubtextFont = UIFont(name: retryScreenCustomizationSubtextFont, size: 14)
206
+ theme.retryScreenCustomizationSubtextTextColor = .init(hex: themeDictionary?["guidanceCustomizationRetryScreenSubtextTextColor"] as? String ?? "#333333")
207
+ theme.retryScreenCustomizationImageBorderColor = .init(hex: themeDictionary?["guidanceCustomizationRetryScreenImageBorderColor"] as? String ?? "#4bb75f")
208
+ theme.retryScreenCustomizationImageBorderWidth = themeDictionary?["guidanceCustomizationRetryScreenImageBorderWidth"] as? Int32 ?? 0
209
+ theme.retryScreenCustomizationImageCornerRadius = themeDictionary?["guidanceCustomizationRetryScreenImageCornerRadius"] as? Int32 ?? 0
210
+
211
+ theme.resultScreenCustomizationAnimationRelativeScale = 1.5
212
+ theme.resultScreenCustomizationTextColor = .init(hex: themeDictionary?["resultScreenCustomizationTextColor"] as? String ?? "#000000")
213
+ theme.resultScreenCustomizationShowUploadProgressBar = true
214
+ theme.resultScreenCustomizationUploadProgressFillColor = .init(hex: themeDictionary?["resultScreenCustomizationUploadProgressFillColor"] as? String ?? "#4bb75f")
215
+ theme.resultScreenCustomizationUploadProgressTrackColor = .init(hex: themeDictionary?["resultScreenCustomizationUploadProgressTrackColor"] as? String ?? "#333333")
216
+ theme.resultScreenCustomizationMessageFont = UIFont(name: resultScreenCustomizationMessageFont, size: 15.0)
217
+ theme.resultScreenCustomizationAnimationStyle = .blob(appearance: BlobAnimationAppearance(
218
+ blobColor: .blue,
219
+ checkmarkForegroundColor: .purple,
220
+ checkmarkBackgroundColor: .yellow
221
+ ))
222
+
223
+ theme.guidanceCustomizationHeaderFont = UIFont(name: guidanceCustomizationHeaderFont, size: 14)
224
+ theme.guidanceCustomizationSubtextFont = UIFont(name: guidanceCustomizationSubtextFont, size: 14)
225
+ theme.guidanceCustomizationButtonFont = UIFont(name: guidanceCustomizationButtonFont, size: 14)
226
+
227
+ theme.guidanceCustomizationButtonTextNormalColor = .init(hex: themeDictionary?["guidanceCustomizationButtonTextNormalColor"] as? String ?? "#000000")
228
+ theme.guidanceCustomizationButtonBackgroundNormalColor = .init(hex: themeDictionary?["guidanceCustomizationButtonBackgroundNormalColor"] as? String ?? "#4bb75f")
229
+ theme.guidanceCustomizationButtonTextHighlightColor = .init(hex: themeDictionary?["guidanceCustomizationButtonTextHighlightColor"] as? String ?? "#000000")
230
+ theme.guidanceCustomizationButtonBackgroundHighlightColor = .init(hex: themeDictionary?["guidanceCustomizationButtonBackgroundHighlightColor"] as? String ?? "#000000")
231
+ theme.guidanceCustomizationButtonTextDisabledColor = .init(hex: themeDictionary?["guidanceCustomizationButtonTextDisabledColor"] as? String ?? "#333333")
232
+ theme.guidanceCustomizationButtonBackgroundDisabledColor = .init(hex: themeDictionary?["guidanceCustomizationButtonBackgroundDisabledColor"] as? String ?? "#333333")
233
+ theme.guidanceCustomizationButtonBorderColor = .init(hex: themeDictionary?["guidanceCustomizationButtonBorderColor"] as? String ?? "#000000")
234
+ theme.guidanceCustomizationButtonBorderWidth = themeDictionary?["guidanceCustomizationButtonBorderWidth"] as? Int32 ?? 0
235
+ theme.guidanceCustomizationButtonCornerRadius = themeDictionary?["guidanceCustomizationButtonCornerRadius"] as? Int32 ?? 25
236
+
237
+ theme.frameCustomizationBorderWidth = themeDictionary?["frameCustomizationBorderWidth"] as? Int32 ?? 0
238
+ theme.frameCustomizationCornerRadius = themeDictionary?["frameCustomizationCornerRadius"] as? Int32 ?? 0
239
+ theme.frameCustomizationBorderColor = .init(hex: themeDictionary?["frameCustomizationBorderColor"] as? String ?? "#4bb75f")
240
+ theme.frameCustomizationBackgroundColor = .init(hex: themeDictionary?["frameCustomizationBackgroundColor"] as? String ?? "#FFFFFF")
241
+ theme.frameCustomizationShadow = Liveness3DShadow(
242
+ color: .red, opacity: 0.8,
243
+ radius: 1.0, offset: .zero,
244
+ insets: .init(top: 1.0, left: 0.5, bottom: 0.7, right: 0.5)
245
+ )
246
+
247
+ theme.ovalCustomizationStrokeWidth = themeDictionary?["ovalCustomizationStrokeWidth"] as? Int32 ?? 3
248
+ theme.ovalCustomizationStrokeColor = .init(hex: themeDictionary?["ovalCustomizationStrokeColor"] as? String ?? "#4bb75f")
249
+ theme.ovalCustomizationProgressStrokeWidth = themeDictionary?["ovalCustomizationProgressStrokeWidth"] as? Int32 ?? 2
250
+ theme.ovalCustomizationProgressColor1 = .init(hex: themeDictionary?["ovalCustomizationProgressColor1"] as? String ?? "#4bb75f")
251
+ theme.ovalCustomizationProgressColor2 = .init(hex: themeDictionary?["ovalCustomizationProgressColor2"] as? String ?? "#4bb75f")
252
+ theme.ovalCustomizationProgressRadialOffset = themeDictionary?["ovalCustomizationProgressRadialOffset"] as? Int32 ?? 2
253
+
254
+ theme.overlayCustomizationBackgroundColor = .init(hex: themeDictionary?["overlayCustomizationBackgroundColor"] as? String ?? "#FFFFFF")
255
+ theme.overlayCustomizationBrandingImage = UIImage(named: "")
256
+ theme.overlayCustomizationShowBrandingImage = false
257
+
258
+ theme.feedbackCustomizationTextColor = .init(hex: themeDictionary?["feedbackCustomizationTextColor"] as? String ?? "#FFFFFF")
259
+ theme.feedbackCustomizationTextFont = UIFont(name: "", size: 14)
260
+ theme.feedbackCustomizationShadow = Liveness3DShadow(
261
+ color: .purple, opacity: 0.5,
262
+ radius: 3.0, offset: .init(width: 2.0, height: 5.0),
263
+ insets: .init(top: 3.0, left: 1.5, bottom: 3.7, right: 7.5)
264
+ )
265
+ theme.feedbackCustomizationCornerRadius = themeDictionary?["feedbackCustomizationCornerRadius"] as? Int32 ?? 2
266
+ theme.feedbackCustomizationBackgroundColor = .init(hex: themeDictionary?["feedbackCustomizationBackgroundColors"] as? String ?? "#666666")
267
+
268
+ theme.cancelButtonCustomizationCustomImage = UIImage(named: "")
269
+ theme.cancelButtonCustomizationLocation = .topLeft
270
+
271
+ return theme
272
+ }
189
273
  }
190
274
 
191
275
  public extension UIColor {
@@ -1,2 +1,6 @@
1
1
  "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=ArgsType.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=FontsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/FontsType.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ResultType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/ResultType.ts"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=ResultTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/ResultTypes.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=TextsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/TextsType.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ThemeType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["@types/ThemeType.ts"],"mappings":""}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BackButton = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Liveness3DContext = require("../context/Liveness3DContext");
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+ const BackButton = _ref => {
14
+ let {
15
+ children,
16
+ ...props
17
+ } = _ref;
18
+ const touchableOpacityRef = (0, _react.useRef)(null);
19
+ const {
20
+ onBack
21
+ } = (0, _Liveness3DContext.useLiveness3DContext)();
22
+ const handlePress = () => {
23
+ onBack();
24
+ };
25
+ return (
26
+ /*#__PURE__*/
27
+ //@ts-ignore
28
+ _react.default.createElement(_reactNative.TouchableOpacity, _extends({
29
+ ref: touchableOpacityRef,
30
+ onPress: handlePress
31
+ }, props), children)
32
+ );
33
+ };
34
+ exports.BackButton = BackButton;
35
+ //# sourceMappingURL=BackButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Liveness3DContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","BackButton","_ref","children","props","touchableOpacityRef","useRef","onBack","useLiveness3DContext","handlePress","createElement","TouchableOpacity","ref","onPress","exports"],"sourceRoot":"../../../src","sources":["actions/BackButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAoE,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAG7D,MAAMI,UAA6C,GAAGC,IAAA,IAGvD;EAAA,IAHwD;IAC5DC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAF,IAAA;EACC,MAAMG,mBAAmB,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,uCAAoB,GAAE;EAEzC,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxBF,MAAM,EAAE;EACV,CAAC;EAED;IAAA;IACE;IACA1C,MAAA,CAAAY,OAAA,CAAAiC,aAAA,CAAC1C,YAAA,CAAA2C,gBAAgB,EAAAnB,QAAA;MACfoB,GAAG,EAAEP,mBAAoB;MACzBQ,OAAO,EAAEJ;IAAY,GACjBL,KAAK,GAERD,QAAQ;EACQ;AAEvB,CAAC;AAACW,OAAA,CAAAb,UAAA,GAAAA,UAAA"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ContinueButton = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _Liveness3DContext = require("../context/Liveness3DContext");
10
+ var _continueButton = require("../utils/continueButton");
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ const ContinueButton = _ref => {
15
+ let {
16
+ children,
17
+ ...props
18
+ } = _ref;
19
+ const touchableOpacityRef = (0, _react.useRef)(null);
20
+ const {
21
+ setScreen,
22
+ startLiveness
23
+ } = (0, _Liveness3DContext.useLiveness3DContext)();
24
+ function onContinue() {
25
+ (0, _continueButton.continueButton)().then(result => {
26
+ result === true && startLiveness();
27
+ result === false && setScreen(2);
28
+ });
29
+ }
30
+ const handlePress = () => {
31
+ onContinue();
32
+ };
33
+ return (
34
+ /*#__PURE__*/
35
+ //@ts-ignore
36
+ _react.default.createElement(_reactNative.TouchableOpacity, _extends({
37
+ ref: touchableOpacityRef,
38
+ onPress: handlePress
39
+ }, props), children)
40
+ );
41
+ };
42
+ exports.ContinueButton = ContinueButton;
43
+ //# sourceMappingURL=ContinueButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Liveness3DContext","_continueButton","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ContinueButton","_ref","children","props","touchableOpacityRef","useRef","setScreen","startLiveness","useLiveness3DContext","onContinue","continueButton","then","result","handlePress","createElement","TouchableOpacity","ref","onPress","exports"],"sourceRoot":"../../../src","sources":["actions/ContinueButton.tsx"],"mappings":"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"}