@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,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 };