@ha_tecno/live-id-sdk 2.9.2 → 2.10.0

Sign up to get free protection for your applications and to get access to all the features.
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,4 +1,4 @@
1
- import { StyleSheet, Dimensions } from "react-native";
1
+ import { StyleSheet, Dimensions, Platform } from "react-native";
2
2
  const {
3
3
  height
4
4
  } = Dimensions.get("window");
@@ -24,6 +24,36 @@ export const styles = StyleSheet.create({
24
24
  },
25
25
  cameraConfigs: {
26
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
+ },
39
+ modal: {
40
+ margin: 20,
41
+ backgroundColor: "white",
42
+ borderRadius: 20,
43
+ padding: Platform.OS === "ios" ? 35 : 20,
44
+ shadowColor: "#000",
45
+ shadowOffset: {
46
+ width: 0,
47
+ height: 2
48
+ },
49
+ shadowOpacity: 0.25,
50
+ shadowRadius: 4,
51
+ elevation: 5
52
+ },
53
+ iconClose: {
54
+ position: "absolute",
55
+ alignSelf: "flex-end",
56
+ padding: 8
27
57
  }
28
58
  });
29
59
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","Dimensions","height","get","styles","create","container","flex","root","cameraContainer","justifyContent","camera","paddingBottom","containerCapture","position","width","alignItems","cameraConfigs"],"sourceRoot":"../../../../src","sources":["screens/FingerRegister/styles.ts"],"mappings":"AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAErD,MAAM;EAAEC;AAAO,CAAC,GAAGD,UAAU,CAACE,GAAG,CAAC,QAAQ,CAAC;AAE3C,OAAO,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAM,CAAC;EACtCC,SAAS,EAAE;IACTC,IAAI,EAAE;EACR,CAAC;EACDC,IAAI,EAAE;IACJD,IAAI,EAAE;EACR,CAAC;EACDE,eAAe,EAAE;IACfF,IAAI,EAAE,CAAC;IACPG,cAAc,EAAE;EAClB,CAAC;EACDC,MAAM,EAAE;IACNJ,IAAI,EAAE,CAAC;IACPK,aAAa,EAAEV,MAAM,GAAG;EAC1B,CAAC;EACDW,gBAAgB,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE;EACd,CAAC;EACDC,aAAa,EAAE;IACbD,UAAU,EAAE;EACd;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["StyleSheet","Dimensions","Platform","height","get","styles","create","container","flex","root","cameraContainer","justifyContent","camera","paddingBottom","containerCapture","position","width","alignItems","cameraConfigs","containerModalIcon","top","right","zIndex","containerModal","alignSelf","modal","margin","backgroundColor","borderRadius","padding","OS","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","iconClose"],"sourceRoot":"../../../../src","sources":["screens/FingerRegister/styles.ts"],"mappings":"AAAA,SAASA,UAAU,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,cAAc;AAE/D,MAAM;EAAEC;AAAO,CAAC,GAAGF,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC;AAE3C,OAAO,MAAMC,MAAM,GAAGL,UAAU,CAACM,MAAM,CAAC;EACtCC,SAAS,EAAE;IACTC,IAAI,EAAE;EACR,CAAC;EACDC,IAAI,EAAE;IACJD,IAAI,EAAE;EACR,CAAC;EACDE,eAAe,EAAE;IACfF,IAAI,EAAE,CAAC;IACPG,cAAc,EAAE;EAClB,CAAC;EACDC,MAAM,EAAE;IACNJ,IAAI,EAAE,CAAC;IACPK,aAAa,EAAEV,MAAM,GAAG;EAC1B,CAAC;EACDW,gBAAgB,EAAE;IAChBC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE;EACd,CAAC;EACDC,aAAa,EAAE;IACbD,UAAU,EAAE;EACd,CAAC;EACDE,kBAAkB,EAAE;IAClBJ,QAAQ,EAAE,UAAU;IACpBK,GAAG,EAAE,EAAE;IACPC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdR,QAAQ,EAAE,UAAU;IACpBJ,cAAc,EAAE,YAAY;IAC5Ba,SAAS,EAAE;EACb,CAAC;EACDC,KAAK,EAAE;IACLC,MAAM,EAAE,EAAE;IACVC,eAAe,EAAE,OAAO;IACxBC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE3B,QAAQ,CAAC4B,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,EAAE;IACxCC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MACZhB,KAAK,EAAE,CAAC;MACRb,MAAM,EAAE;IACV,CAAC;IACD8B,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACDC,SAAS,EAAE;IACTrB,QAAQ,EAAE,UAAU;IACpBS,SAAS,EAAE,UAAU;IACrBK,OAAO,EAAE;EACX;AACF,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import FingerRegister from "./FingerRegister/FingerRegister";
2
2
  import LifeCertificate from "./LifeCertificate/LifeCertificate";
3
3
  import FingerAuth from "./FingerAuth/FingerAuth";
4
- import MultiFingerRegister from "./MultiFingerRegister/MultiFingerRegister";
5
- export { FingerRegister, LifeCertificate, FingerAuth, MultiFingerRegister };
4
+ export { FingerRegister, LifeCertificate, FingerAuth };
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FingerRegister","LifeCertificate","FingerAuth","MultiFingerRegister"],"sourceRoot":"../../../src","sources":["screens/index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,iCAAiC;AAC5D,OAAOC,eAAe,MAAM,mCAAmC;AAC/D,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,mBAAmB,MAAM,2CAA2C;AAE3E,SAASH,cAAc,EAAEC,eAAe,EAAEC,UAAU,EAAEC,mBAAmB"}
1
+ {"version":3,"names":["FingerRegister","LifeCertificate","FingerAuth"],"sourceRoot":"../../../src","sources":["screens/index.ts"],"mappings":"AAAA,OAAOA,cAAc,MAAM,iCAAiC;AAC5D,OAAOC,eAAe,MAAM,mCAAmC;AAC/D,OAAOC,UAAU,MAAM,yBAAyB;AAEhD,SAASF,cAAc,EAAEC,eAAe,EAAEC,UAAU"}
@@ -1,5 +1,5 @@
1
1
  import getConfigCamera from "./getConfigCamera";
2
- import randomHeartRate from "./utils";
2
+ import { randomHeartRate, filteredFingers } from "./utils";
3
3
  import { useIsForeground } from "./hooks/useIsForeground";
4
- export { getConfigCamera, useIsForeground, randomHeartRate };
4
+ export { getConfigCamera, useIsForeground, randomHeartRate, filteredFingers };
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getConfigCamera","randomHeartRate","useIsForeground"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,eAAe,MAAM,SAAS;AACrC,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,SAASF,eAAe,EAAEE,eAAe,EAAED,eAAe"}
1
+ {"version":3,"names":["getConfigCamera","randomHeartRate","filteredFingers","useIsForeground"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAC/C,SAASC,eAAe,EAAEC,eAAe,QAAQ,SAAS;AAC1D,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,SAASH,eAAe,EAAEG,eAAe,EAAEF,eAAe,EAAEC,eAAe"}
@@ -1,5 +1,8 @@
1
1
  const randomHeartRate = () => {
2
2
  return Math.floor(Math.random() * (90 - 75 + 1) + 75);
3
3
  };
4
- export default randomHeartRate;
4
+ const filteredFingers = (registeredFingers, items) => {
5
+ return items.filter(item => !registeredFingers.includes(item.value));
6
+ };
7
+ export { randomHeartRate, filteredFingers };
5
8
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["randomHeartRate","Math","floor","random"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":"AAAA,MAAMA,eAAe,GAAGA,CAAA,KAAc;EACpC,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACvD,CAAC;AAED,eAAeH,eAAe"}
1
+ {"version":3,"names":["randomHeartRate","Math","floor","random","filteredFingers","registeredFingers","items","filter","item","includes","value"],"sourceRoot":"../../../src","sources":["utils/utils.ts"],"mappings":"AAEA,MAAMA,eAAe,GAAGA,CAAA,KAAc;EACpC,OAAOC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACvD,CAAC;AAED,MAAMC,eAAe,GAAGA,CACtBC,iBAA2B,EAC3BC,KAAyC,KACF;EACvC,OAAOA,KAAK,CAACC,MAAM,CAAEC,IAAI,IAAK,CAACH,iBAAiB,CAACI,QAAQ,CAACD,IAAI,CAACE,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAASV,eAAe,EAAEI,eAAe"}
@@ -1,3 +1,3 @@
1
- import { LifeCertificate, FingerRegister, FingerAuth, MultiFingerRegister } from "./screens";
2
- export { LifeCertificate, FingerRegister, FingerAuth, MultiFingerRegister };
1
+ import { LifeCertificate, FingerRegister, FingerAuth } from "./screens";
2
+ export { LifeCertificate, FingerRegister, FingerAuth };
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC"}
@@ -5,7 +5,9 @@ type Props = {
5
5
  isFocused?: boolean;
6
6
  mock?: boolean;
7
7
  testID?: string;
8
+ registerUser?: boolean;
9
+ registeredFingers?: string[];
8
10
  };
9
- declare const FingerRegister: ({ testID, UID, onSuccess, isFocused, mock }: Props) => JSX.Element;
10
- export default FingerRegister;
11
+ declare const MultiFingerRegister: ({ testID, UID, onSuccess, isFocused, mock, registerUser, registeredFingers }: Props) => JSX.Element;
12
+ export default MultiFingerRegister;
11
13
  //# sourceMappingURL=FingerRegister.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FingerRegister.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/FingerRegister.tsx"],"names":[],"mappings":";AAYA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,QAAA,MAAM,cAAc,gDAAiD,KAAK,gBA4GzE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FingerRegister.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/FingerRegister.tsx"],"names":[],"mappings":";AA0BA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,mBAAmB,iFAAkF,KAAK,gBA4J/G,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -21,5 +21,35 @@ export declare const styles: {
21
21
  cameraConfigs: {
22
22
  alignItems: "center";
23
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
+ };
35
+ modal: {
36
+ margin: number;
37
+ backgroundColor: string;
38
+ borderRadius: number;
39
+ padding: number;
40
+ shadowColor: string;
41
+ shadowOffset: {
42
+ width: number;
43
+ height: number;
44
+ };
45
+ shadowOpacity: number;
46
+ shadowRadius: number;
47
+ elevation: number;
48
+ };
49
+ iconClose: {
50
+ position: "absolute";
51
+ alignSelf: "flex-end";
52
+ padding: number;
53
+ };
24
54
  };
25
55
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAuBjB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import FingerRegister from "./FingerRegister/FingerRegister";
2
2
  import LifeCertificate from "./LifeCertificate/LifeCertificate";
3
3
  import FingerAuth from "./FingerAuth/FingerAuth";
4
- import MultiFingerRegister from "./MultiFingerRegister/MultiFingerRegister";
5
- export { FingerRegister, LifeCertificate, FingerAuth, MultiFingerRegister };
4
+ export { FingerRegister, LifeCertificate, FingerAuth };
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAC7D,OAAO,eAAe,MAAM,mCAAmC,CAAC;AAChE,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import getConfigCamera from "./getConfigCamera";
2
- import randomHeartRate from "./utils";
2
+ import { randomHeartRate, filteredFingers } from "./utils";
3
3
  import { useIsForeground } from "./hooks/useIsForeground";
4
- export { getConfigCamera, useIsForeground, randomHeartRate };
4
+ export { getConfigCamera, useIsForeground, randomHeartRate, filteredFingers };
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1,3 +1,11 @@
1
+ import { Finger } from "../services/types";
1
2
  declare const randomHeartRate: () => number;
2
- export default randomHeartRate;
3
+ declare const filteredFingers: (registeredFingers: string[], items: {
4
+ label: string;
5
+ value: Finger;
6
+ }[]) => {
7
+ label: string;
8
+ value: Finger;
9
+ }[];
10
+ export { randomHeartRate, filteredFingers };
3
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe,QAAO,MAE3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,QAAA,MAAM,eAAe,QAAO,MAE3B,CAAC;AAEF,QAAA,MAAM,eAAe,sBACA,MAAM,EAAE,SACpB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,KACxC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAElC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ha_tecno/live-id-sdk",
3
- "version": "2.9.2",
3
+ "version": "2.10.0",
4
4
  "description": "React Native SDK for Live ID",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -32,7 +32,8 @@
32
32
  "lint": "eslint . --ext .ts,.tsx",
33
33
  "prepare": "husky",
34
34
  "bob": "bob build",
35
- "release": "release-it"
35
+ "release": "release-it",
36
+ "test": "jest"
36
37
  },
37
38
  "keywords": [
38
39
  "react-native",
package/src/index.tsx CHANGED
@@ -1,3 +1,3 @@
1
- import { LifeCertificate, FingerRegister, FingerAuth, MultiFingerRegister } from "./screens";
1
+ import { LifeCertificate, FingerRegister, FingerAuth } from "./screens";
2
2
 
3
- export { LifeCertificate, FingerRegister, FingerAuth, MultiFingerRegister };
3
+ export { LifeCertificate, FingerRegister, FingerAuth };
@@ -1,14 +1,28 @@
1
1
  import React, { useCallback, useEffect, useRef } from "react";
2
2
  import { View } from "react-native";
3
- import { Camera, useCameraFormat, type Point, useCameraDevice, useCameraPermission } from "react-native-vision-camera";
3
+ import { Camera, Point, useCameraDevice, useCameraFormat, useCameraPermission } from "react-native-vision-camera";
4
4
  import Orientation from "react-native-orientation-locker";
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from "react-native-gesture-handler";
6
6
  import { runOnJS } from "react-native-reanimated";
7
+ import Picker, { PickerStyle } from "react-native-picker-select";
7
8
 
9
+ import { CameraConfigInfo, CaptureButton, DeviceNotFound, Gabarito, ModalMessage } from "../../components";
8
10
  import { styles } from "./styles";
9
- import { useSelector, useDispatch } from "../../store/modules/fingerRegister";
10
- import { CaptureButton, DeviceNotFound, ModalMessage, CameraConfigInfo, Gabarito } from "../../components";
11
- import { useIsForeground } from "../../utils";
11
+ import { useDispatch, useSelector } from "../../store/modules/fingerRegister";
12
+ import { filteredFingers, 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
+ }
12
26
 
13
27
  type Props = {
14
28
  UID: string;
@@ -16,19 +30,49 @@ type Props = {
16
30
  isFocused?: boolean;
17
31
  mock?: boolean;
18
32
  testID?: string;
33
+ registerUser?: boolean;
34
+ registeredFingers?: string[];
19
35
  };
20
36
 
21
- const FingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
37
+ const MultiFingerRegister = ({ testID, UID, onSuccess, isFocused, mock, registerUser, registeredFingers }: Props) => {
22
38
  const cameraRef = useRef<Camera>(null);
23
39
  const isForeground = useIsForeground();
24
40
  const isActive = isFocused !== undefined ? isForeground && isFocused : isForeground;
25
41
  const { hasPermission, requestPermission } = useCameraPermission();
42
+ const device = useCameraDevice("back");
26
43
  const state = useSelector();
27
44
  const dispatch = useDispatch();
28
- const device = useCameraDevice("back");
29
- const base64ImagesCount = state.base64Images.length;
30
45
 
31
46
  const containerCaptureStyled = [styles.containerCapture, { bottom: state.showButtonInfo ? 75 : 20 }];
47
+ const pickerStyled: PickerStyle = {
48
+ chevronDown: { display: "none" },
49
+ chevronUp: { display: "none" },
50
+ inputIOS: {
51
+ fontSize: 16,
52
+ color: "#000",
53
+ textAlign: "center"
54
+ },
55
+ inputAndroid: {
56
+ fontSize: 14,
57
+ color: "#000",
58
+ textAlign: "center"
59
+ }
60
+ };
61
+
62
+ const itemsPicker = [
63
+ { label: "Indicador Direito", value: Finger.RIGHT_INDEX },
64
+ { label: "Médio Direito", value: Finger.RIGHT_MIDDLE },
65
+ { label: "Anelar Direito", value: Finger.RIGHT_RING },
66
+ { label: "Mínimo Direito", value: Finger.RIGHT_PINKY },
67
+ { label: "Polegar Direito", value: Finger.RIGHT_THUMB },
68
+ { label: "Indicador Esquerdo", value: Finger.LEFT_INDEX },
69
+ { label: "Médio Esquerdo", value: Finger.LEFT_MIDDLE },
70
+ { label: "Anelar Esquerdo", value: Finger.LEFT_RING },
71
+ { label: "Mínimo Esquerdo", value: Finger.LEFT_PINKY },
72
+ { label: "Polegar Esquerdo", value: Finger.LEFT_THUMB }
73
+ ];
74
+
75
+ const filteredItemsPicker = filteredFingers(registeredFingers ?? [], itemsPicker);
32
76
 
33
77
  useEffect(() => {
34
78
  Orientation.lockToPortrait();
@@ -58,20 +102,21 @@ const FingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
58
102
  ]);
59
103
 
60
104
  useEffect(() => {
61
- if (state.base64Images !== undefined && base64ImagesCount === 3) {
105
+ if (state.base64Images !== undefined && state.base64Images.length === 3) {
62
106
  if (!UID) {
63
107
  dispatch.setModal("Ocorreu um erro!", "Erro: UID não encontrado!");
64
108
  }
65
109
  dispatch.handleLoading();
66
- dispatch.sendImages(state.base64Images, UID, mock);
110
+ dispatch.sendImages(state.base64Images, UID, mock, state.currentFinger);
67
111
  }
68
- }, [dispatch.sendImages, dispatch.handleLoading, state.base64Images, base64ImagesCount, mock]);
112
+ }, [dispatch.sendImages, dispatch.handleLoading, state.base64Images, state.base64Images.length, mock]);
69
113
 
70
114
  useEffect(() => {
71
115
  if (state.code === 0) {
72
116
  dispatch.setModal("Sucesso!", "Cadastro de digital realizado com sucesso!");
73
117
  onSuccess && onSuccess?.(state.code);
74
118
  mock === true ? setTimeout(() => dispatch.handleLoading(), 2000) : dispatch.handleLoading();
119
+ dispatch.handleFinger();
75
120
  }
76
121
  if (state.code !== 0 && state.code !== null) {
77
122
  dispatch.setModal("Ocorreu um erro!", `Erro: ${state.message}`);
@@ -84,7 +129,9 @@ const FingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
84
129
  const photo = await cameraRef.current?.takePhoto({
85
130
  qualityPrioritization: "balanced"
86
131
  });
87
- if (photo != null) dispatch.setImagePath(photo.path);
132
+ if (photo != null) {
133
+ dispatch.setImagePath(photo.path);
134
+ }
88
135
  };
89
136
 
90
137
  const focus = useCallback((point: Point) => {
@@ -98,6 +145,10 @@ const FingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
98
145
  runOnJS(focus)({ x, y });
99
146
  });
100
147
 
148
+ const handleCurrentFinger = (value: string) => {
149
+ dispatch.setCurrentFinger(value as Finger);
150
+ };
151
+
101
152
  if (device == null || hasPermission === false)
102
153
  return <DeviceNotFound hasPermission={hasPermission} cameraPermission={cameraPermission} />;
103
154
 
@@ -114,18 +165,31 @@ const FingerRegister = ({ testID, UID, onSuccess, isFocused, mock }: Props) => {
114
165
  torch={isActive ? "on" : "off"}
115
166
  exposure={state.exposure}
116
167
  zoom={state.zoom}
117
- photo={true}
168
+ photo
118
169
  />
119
170
  <Gabarito />
120
171
  </View>
121
172
  </GestureDetector>
122
173
  <View style={containerCaptureStyled}>
123
- <CaptureButton onPress={takePhoto} imagesCount={base64ImagesCount} testID={testID} />
174
+ <CaptureButton onPress={takePhoto} imagesCount={state.base64Images.length} testID={testID} />
124
175
  </View>
125
176
  {state.showButtonInfo && <CameraConfigInfo exposure={state.exposure} zoom={state.zoom} />}
126
177
  <ModalMessage isLoading={state.loading} modal={state.modal} />
178
+ <View style={styles.containerModal}>
179
+ <View style={styles.modal}>
180
+ <Picker
181
+ disabled={registerUser}
182
+ style={pickerStyled}
183
+ useNativeAndroidPickerStyle={false}
184
+ placeholder={{}}
185
+ items={filteredItemsPicker}
186
+ value={state.currentFinger}
187
+ onValueChange={handleCurrentFinger}
188
+ />
189
+ </View>
190
+ </View>
127
191
  </GestureHandlerRootView>
128
192
  );
129
193
  };
130
194
 
131
- export default FingerRegister;
195
+ export default MultiFingerRegister;
@@ -1,4 +1,4 @@
1
- import { StyleSheet, Dimensions } from "react-native";
1
+ import { StyleSheet, Dimensions, Platform } from "react-native";
2
2
 
3
3
  const { height } = Dimensions.get("window");
4
4
 
@@ -24,5 +24,35 @@ export const styles = StyleSheet.create({
24
24
  },
25
25
  cameraConfigs: {
26
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
+ },
39
+ modal: {
40
+ margin: 20,
41
+ backgroundColor: "white",
42
+ borderRadius: 20,
43
+ padding: Platform.OS === "ios" ? 35 : 20,
44
+ shadowColor: "#000",
45
+ shadowOffset: {
46
+ width: 0,
47
+ height: 2
48
+ },
49
+ shadowOpacity: 0.25,
50
+ shadowRadius: 4,
51
+ elevation: 5
52
+ },
53
+ iconClose: {
54
+ position: "absolute",
55
+ alignSelf: "flex-end",
56
+ padding: 8
27
57
  }
28
58
  });
@@ -1,6 +1,5 @@
1
1
  import FingerRegister from "./FingerRegister/FingerRegister";
2
2
  import LifeCertificate from "./LifeCertificate/LifeCertificate";
3
3
  import FingerAuth from "./FingerAuth/FingerAuth";
4
- import MultiFingerRegister from "./MultiFingerRegister/MultiFingerRegister";
5
4
 
6
- export { FingerRegister, LifeCertificate, FingerAuth, MultiFingerRegister };
5
+ export { FingerRegister, LifeCertificate, FingerAuth };
@@ -1,5 +1,5 @@
1
1
  import getConfigCamera from "./getConfigCamera";
2
- import randomHeartRate from "./utils";
2
+ import { randomHeartRate, filteredFingers } from "./utils";
3
3
  import { useIsForeground } from "./hooks/useIsForeground";
4
4
 
5
- export { getConfigCamera, useIsForeground, randomHeartRate };
5
+ export { getConfigCamera, useIsForeground, randomHeartRate, filteredFingers };
@@ -1,5 +1,14 @@
1
+ import { Finger } from "../services/types";
2
+
1
3
  const randomHeartRate = (): number => {
2
4
  return Math.floor(Math.random() * (90 - 75 + 1) + 75);
3
5
  };
4
6
 
5
- export default randomHeartRate;
7
+ const filteredFingers = (
8
+ registeredFingers: string[],
9
+ items: { label: string; value: Finger }[]
10
+ ): { label: string; value: Finger }[] => {
11
+ return items.filter((item) => !registeredFingers.includes(item.value));
12
+ };
13
+
14
+ export { randomHeartRate, filteredFingers };