@ha_tecno/live-id-sdk 2.9.2 → 2.10.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 (57) hide show
  1. package/lib/commonjs/index.js +0 -6
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/screens/FingerRegister/FingerRegister.js +95 -12
  4. package/lib/commonjs/screens/FingerRegister/FingerRegister.js.map +1 -1
  5. package/lib/commonjs/screens/FingerRegister/styles.js +30 -0
  6. package/lib/commonjs/screens/FingerRegister/styles.js.map +1 -1
  7. package/lib/commonjs/screens/index.js +0 -7
  8. package/lib/commonjs/screens/index.js.map +1 -1
  9. package/lib/commonjs/utils/index.js +8 -2
  10. package/lib/commonjs/utils/index.js.map +1 -1
  11. package/lib/commonjs/utils/utils.js +6 -2
  12. package/lib/commonjs/utils/utils.js.map +1 -1
  13. package/lib/module/index.js +2 -2
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/screens/FingerRegister/FingerRegister.js +98 -15
  16. package/lib/module/screens/FingerRegister/FingerRegister.js.map +1 -1
  17. package/lib/module/screens/FingerRegister/styles.js +31 -1
  18. package/lib/module/screens/FingerRegister/styles.js.map +1 -1
  19. package/lib/module/screens/index.js +1 -2
  20. package/lib/module/screens/index.js.map +1 -1
  21. package/lib/module/utils/index.js +2 -2
  22. package/lib/module/utils/index.js.map +1 -1
  23. package/lib/module/utils/utils.js +4 -1
  24. package/lib/module/utils/utils.js.map +1 -1
  25. package/lib/typescript/src/index.d.ts +2 -2
  26. package/lib/typescript/src/index.d.ts.map +1 -1
  27. package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts +4 -2
  28. package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts.map +1 -1
  29. package/lib/typescript/src/screens/FingerRegister/styles.d.ts +30 -0
  30. package/lib/typescript/src/screens/FingerRegister/styles.d.ts.map +1 -1
  31. package/lib/typescript/src/screens/index.d.ts +1 -2
  32. package/lib/typescript/src/screens/index.d.ts.map +1 -1
  33. package/lib/typescript/src/utils/index.d.ts +2 -2
  34. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  35. package/lib/typescript/src/utils/utils.d.ts +9 -1
  36. package/lib/typescript/src/utils/utils.d.ts.map +1 -1
  37. package/package.json +3 -2
  38. package/src/index.tsx +2 -2
  39. package/src/screens/FingerRegister/FingerRegister.tsx +78 -14
  40. package/src/screens/FingerRegister/styles.ts +31 -1
  41. package/src/screens/index.ts +1 -2
  42. package/src/utils/index.ts +2 -2
  43. package/src/utils/utils.ts +10 -1
  44. package/lib/commonjs/screens/MultiFingerRegister/MultiFingerRegister.js +0 -219
  45. package/lib/commonjs/screens/MultiFingerRegister/MultiFingerRegister.js.map +0 -1
  46. package/lib/commonjs/screens/MultiFingerRegister/styles.js +0 -66
  47. package/lib/commonjs/screens/MultiFingerRegister/styles.js.map +0 -1
  48. package/lib/module/screens/MultiFingerRegister/MultiFingerRegister.js +0 -210
  49. package/lib/module/screens/MultiFingerRegister/MultiFingerRegister.js.map +0 -1
  50. package/lib/module/screens/MultiFingerRegister/styles.js +0 -60
  51. package/lib/module/screens/MultiFingerRegister/styles.js.map +0 -1
  52. package/lib/typescript/src/screens/MultiFingerRegister/MultiFingerRegister.d.ts +0 -11
  53. package/lib/typescript/src/screens/MultiFingerRegister/MultiFingerRegister.d.ts.map +0 -1
  54. package/lib/typescript/src/screens/MultiFingerRegister/styles.d.ts +0 -56
  55. package/lib/typescript/src/screens/MultiFingerRegister/styles.d.ts.map +0 -1
  56. package/src/screens/MultiFingerRegister/MultiFingerRegister.tsx +0 -190
  57. package/src/screens/MultiFingerRegister/styles.ts +0 -59
@@ -1,56 +0,0 @@
1
- export declare const styles: {
2
- container: {
3
- flex: number;
4
- };
5
- root: {
6
- flex: number;
7
- };
8
- cameraContainer: {
9
- flex: number;
10
- justifyContent: "center";
11
- };
12
- camera: {
13
- flex: number;
14
- paddingBottom: number;
15
- };
16
- containerCapture: {
17
- position: "absolute";
18
- width: "100%";
19
- alignItems: "center";
20
- };
21
- cameraConfigs: {
22
- alignItems: "center";
23
- };
24
- containerModalIcon: {
25
- position: "absolute";
26
- top: number;
27
- right: number;
28
- zIndex: number;
29
- };
30
- containerModal: {
31
- position: "absolute";
32
- justifyContent: "flex-start";
33
- alignSelf: "center";
34
- width: "100%";
35
- };
36
- modal: {
37
- margin: number;
38
- backgroundColor: string;
39
- borderRadius: number;
40
- padding: number;
41
- shadowColor: string;
42
- shadowOffset: {
43
- width: number;
44
- height: number;
45
- };
46
- shadowOpacity: number;
47
- shadowRadius: number;
48
- elevation: number;
49
- };
50
- iconClose: {
51
- position: "absolute";
52
- alignSelf: "flex-end";
53
- padding: number;
54
- };
55
- };
56
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/screens/MultiFingerRegister/styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDjB,CAAC"}
@@ -1,190 +0,0 @@
1
- import React, { useCallback, useEffect, useRef } from "react";
2
- import { View } from "react-native";
3
- import { Camera, Point, useCameraDevice, useCameraFormat, useCameraPermission } from "react-native-vision-camera";
4
- import Orientation from "react-native-orientation-locker";
5
- import { Gesture, GestureDetector, GestureHandlerRootView } from "react-native-gesture-handler";
6
- import { runOnJS } from "react-native-reanimated";
7
- import Picker, { PickerStyle } from "react-native-picker-select";
8
-
9
- import { CameraConfigInfo, CaptureButton, DeviceNotFound, Gabarito, ModalMessage } from "../../components";
10
- import { styles } from "./styles";
11
- import { useDispatch, useSelector } from "../../store/modules/fingerRegister";
12
- import { useIsForeground } from "../../utils";
13
-
14
- enum Finger {
15
- LEFT_THUMB = "LT",
16
- LEFT_INDEX = "LI",
17
- LEFT_MIDDLE = "LM",
18
- LEFT_RING = "LR",
19
- LEFT_PINKY = "LP",
20
- RIGHT_THUMB = "RT",
21
- RIGHT_INDEX = "RI",
22
- RIGHT_MIDDLE = "RM",
23
- RIGHT_RING = "RR",
24
- RIGHT_PINKY = "RP"
25
- }
26
-
27
- type Props = {
28
- UID: string;
29
- onSuccess: (code: number) => void;
30
- isFocused?: boolean;
31
- mock?: boolean;
32
- testID?: string;
33
- };
34
-
35
- const MultiFingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
36
- const cameraRef = useRef<Camera>(null);
37
- const isForeground = useIsForeground();
38
- const isActive = isFocused !== undefined ? isForeground && isFocused : isForeground;
39
- const { hasPermission, requestPermission } = useCameraPermission();
40
- const device = useCameraDevice("back");
41
- const state = useSelector();
42
- const dispatch = useDispatch();
43
-
44
- const containerCaptureStyled = [styles.containerCapture, { bottom: state.showButtonInfo ? 75 : 20 }];
45
- const pickerStyled: PickerStyle = {
46
- chevronDown: { display: "none" },
47
- chevronUp: { display: "none" },
48
- inputIOS: {
49
- fontSize: 16,
50
- color: "#000",
51
- textAlign: "center"
52
- },
53
- inputAndroid: {
54
- fontSize: 14,
55
- color: "#000",
56
- textAlign: "center"
57
- }
58
- };
59
-
60
- const itemsPicker = [
61
- { label: "Indicador Direito", value: Finger.RIGHT_INDEX },
62
- { label: "Médio Direito", value: Finger.RIGHT_MIDDLE },
63
- { label: "Anelar Direito", value: Finger.RIGHT_RING },
64
- { label: "Mínimo Direito", value: Finger.RIGHT_PINKY },
65
- { label: "Polegar Direito", value: Finger.RIGHT_THUMB },
66
- { label: "Indicador Esquerdo", value: Finger.LEFT_INDEX },
67
- { label: "Médio Esquerdo", value: Finger.LEFT_MIDDLE },
68
- { label: "Anelar Esquerdo", value: Finger.LEFT_RING },
69
- { label: "Mínimo Esquerdo", value: Finger.LEFT_PINKY },
70
- { label: "Polegar Esquerdo", value: Finger.LEFT_THUMB }
71
- ];
72
-
73
- useEffect(() => {
74
- Orientation.lockToPortrait();
75
- return () => {
76
- Orientation.unlockAllOrientations();
77
- };
78
- });
79
-
80
- const cameraPermission = useCallback(async () => {
81
- if (!hasPermission) {
82
- await requestPermission();
83
- }
84
- }, [hasPermission, requestPermission]);
85
-
86
- useEffect(() => {
87
- cameraPermission();
88
- dispatch.getConfig("finger");
89
- }, [cameraPermission, dispatch.getConfig]);
90
-
91
- const cameraFormat = useCameraFormat(device, [
92
- {
93
- photoResolution: {
94
- width: 1280,
95
- height: 720
96
- }
97
- }
98
- ]);
99
-
100
- useEffect(() => {
101
- if (state.base64Images !== undefined && state.base64Images.length === 3) {
102
- if (!UID) {
103
- dispatch.setModal("Ocorreu um erro!", "Erro: UID não encontrado!");
104
- }
105
- dispatch.handleLoading();
106
- dispatch.sendImages(state.base64Images, UID, mock, state.currentFinger);
107
- }
108
- }, [dispatch.sendImages, dispatch.handleLoading, state.base64Images, state.base64Images.length, mock]);
109
-
110
- useEffect(() => {
111
- if (state.code === 0) {
112
- dispatch.setModal("Sucesso!", "Cadastro de digital realizado com sucesso!");
113
- onSuccess && onSuccess?.(state.code);
114
- mock === true ? setTimeout(() => dispatch.handleLoading(), 2000) : dispatch.handleLoading();
115
- dispatch.handleFinger();
116
- }
117
- if (state.code !== 0 && state.code !== null) {
118
- dispatch.setModal("Ocorreu um erro!", `Erro: ${state.message}`);
119
- dispatch.handleLoading();
120
- }
121
- dispatch.resetState();
122
- }, [state.code, state.message, dispatch.handleLoading, dispatch.resetState, dispatch.setModal, onSuccess, mock]);
123
-
124
- const takePhoto = async () => {
125
- const photo = await cameraRef.current?.takePhoto({
126
- qualityPrioritization: "balanced"
127
- });
128
- if (photo != null) {
129
- dispatch.setImagePath(photo.path);
130
- }
131
- };
132
-
133
- const focus = useCallback((point: Point) => {
134
- const camera = cameraRef.current;
135
- if (camera != null) {
136
- camera.focus(point);
137
- }
138
- }, []);
139
-
140
- const gesture = Gesture.Tap().onBegin(({ x, y }) => {
141
- runOnJS(focus)({ x, y });
142
- });
143
-
144
- const handleCurrentFinger = (value: string) => {
145
- dispatch.setCurrentFinger(value as Finger);
146
- };
147
-
148
- if (device == null || hasPermission === false)
149
- return <DeviceNotFound hasPermission={hasPermission} cameraPermission={cameraPermission} />;
150
-
151
- return (
152
- <GestureHandlerRootView style={styles.root}>
153
- <GestureDetector gesture={gesture}>
154
- <View style={styles.cameraContainer}>
155
- <Camera
156
- ref={cameraRef}
157
- style={styles.camera}
158
- device={device}
159
- format={cameraFormat}
160
- isActive={isActive}
161
- torch={isActive ? "on" : "off"}
162
- exposure={state.exposure}
163
- zoom={state.zoom}
164
- photo
165
- />
166
- <Gabarito />
167
- </View>
168
- </GestureDetector>
169
- <View style={containerCaptureStyled}>
170
- <CaptureButton onPress={takePhoto} imagesCount={state.base64Images.length} testID={testID} />
171
- </View>
172
- {state.showButtonInfo && <CameraConfigInfo exposure={state.exposure} zoom={state.zoom} />}
173
- <ModalMessage isLoading={state.loading} modal={state.modal} />
174
- <View style={styles.containerModal}>
175
- <View style={styles.modal}>
176
- <Picker
177
- style={pickerStyled}
178
- useNativeAndroidPickerStyle={false}
179
- placeholder={{}}
180
- items={itemsPicker}
181
- value={state.currentFinger}
182
- onValueChange={handleCurrentFinger}
183
- />
184
- </View>
185
- </View>
186
- </GestureHandlerRootView>
187
- );
188
- };
189
-
190
- export default MultiFingerRegister;
@@ -1,59 +0,0 @@
1
- import { StyleSheet, Dimensions, Platform } from "react-native";
2
-
3
- const { height } = Dimensions.get("window");
4
-
5
- export const styles = StyleSheet.create({
6
- container: {
7
- flex: 1
8
- },
9
- root: {
10
- flex: 1
11
- },
12
- cameraContainer: {
13
- flex: 1,
14
- justifyContent: "center"
15
- },
16
- camera: {
17
- flex: 1,
18
- paddingBottom: height * 0.2
19
- },
20
- containerCapture: {
21
- position: "absolute",
22
- width: "100%",
23
- alignItems: "center"
24
- },
25
- cameraConfigs: {
26
- alignItems: "center"
27
- },
28
- containerModalIcon: {
29
- position: "absolute",
30
- top: 10,
31
- right: 10,
32
- zIndex: 9999
33
- },
34
- containerModal: {
35
- position: "absolute",
36
- justifyContent: "flex-start",
37
- alignSelf: "center",
38
- width: "100%"
39
- },
40
- modal: {
41
- margin: 20,
42
- backgroundColor: "white",
43
- borderRadius: 20,
44
- padding: Platform.OS === "ios" ? 35 : 20,
45
- shadowColor: "#000",
46
- shadowOffset: {
47
- width: 0,
48
- height: 2
49
- },
50
- shadowOpacity: 0.25,
51
- shadowRadius: 4,
52
- elevation: 5
53
- },
54
- iconClose: {
55
- position: "absolute",
56
- alignSelf: "flex-end",
57
- padding: 8
58
- }
59
- });