@hexar/biometric-identity-sdk-react-native 1.0.27 → 1.0.28

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BiometricIdentityFlow.d.ts","sourceRoot":"","sources":["../../src/components/BiometricIdentityFlow.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,EAOL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EAKd,iBAAiB,EAElB,MAAM,oCAAoC,CAAC;AA4B5C,MAAM,WAAW,0BAA0B;IACzC,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuatE,CAAC;AA8NF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"BiometricIdentityFlow.d.ts","sourceRoot":"","sources":["../../src/components/BiometricIdentityFlow.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,EAOL,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EAKd,iBAAiB,EAElB,MAAM,oCAAoC,CAAC;AA8B5C,MAAM,WAAW,0BAA0B;IACzC,oBAAoB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuatE,CAAC;AA8NF,eAAe,qBAAqB,CAAC"}
@@ -53,6 +53,8 @@ const getInstructionMap = (strings) => {
53
53
  look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
54
54
  look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
55
55
  look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
56
+ turn_left: { text: strings.liveness.instructions.turnHeadLeft || strings.liveness.instructions.lookLeft || 'Turn your head LEFT' },
57
+ turn_right: { text: strings.liveness.instructions.turnHeadRight || strings.liveness.instructions.lookRight || 'Turn your head RIGHT' },
56
58
  turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
57
59
  turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
58
60
  smile: { text: strings.liveness.instructions.smile || 'Smile' },
@@ -1 +1 @@
1
- {"version":3,"file":"VideoRecorder.d.ts","sourceRoot":"","sources":["../../src/components/VideoRecorder.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAaxE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAmC,MAAM,oCAAoC,CAAC;AAE1I,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0CD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAs1BtD,CAAC;AA4OF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"VideoRecorder.d.ts","sourceRoot":"","sources":["../../src/components/VideoRecorder.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAaxE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAmC,MAAM,oCAAoC,CAAC;AAE1I,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,CAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACtD,iCAAiC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiDD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAi2BtD,CAAC;AA4OF,eAAe,aAAa,CAAC"}
@@ -69,18 +69,25 @@ const getDefaultChallenges = (strings) => [
69
69
  order: 4,
70
70
  },
71
71
  ];
72
- const getInstructionMap = (strings) => ({
73
- look_left: { text: strings.liveness.instructions.lookLeft || 'Slowly turn your head LEFT' },
74
- look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
75
- look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
76
- look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
77
- turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
78
- turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
79
- smile: { text: strings.liveness.instructions.smile || 'Smile' },
80
- blink: { text: strings.liveness.instructions.blink || 'Blink your eyes naturally' },
81
- open_mouth: { text: strings.liveness.instructions.openMouth || 'Open your mouth slightly' },
82
- stay_still: { text: strings.liveness.instructions.stayStill || 'Look at the camera and follow the instructions' },
83
- });
72
+ const getInstructionMap = (strings) => {
73
+ if (!strings || !strings.liveness || !strings.liveness.instructions) {
74
+ return {};
75
+ }
76
+ return {
77
+ look_left: { text: strings.liveness.instructions.lookLeft || 'Slowly turn your head LEFT' },
78
+ look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
79
+ look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
80
+ look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
81
+ turn_left: { text: strings.liveness.instructions.turnHeadLeft || strings.liveness.instructions.lookLeft || 'Turn your head LEFT' },
82
+ turn_right: { text: strings.liveness.instructions.turnHeadRight || strings.liveness.instructions.lookRight || 'Turn your head RIGHT' },
83
+ turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
84
+ turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
85
+ smile: { text: strings.liveness.instructions.smile || 'Smile' },
86
+ blink: { text: strings.liveness.instructions.blink || 'Blink your eyes naturally' },
87
+ open_mouth: { text: strings.liveness.instructions.openMouth || 'Open your mouth slightly' },
88
+ stay_still: { text: strings.liveness.instructions.stayStill || 'Look at the camera and follow the instructions' },
89
+ };
90
+ };
84
91
  const VideoRecorder = ({ theme, language, duration, instructions, challenges: propChallenges, sessionId, smartMode = true, onComplete, onCancel, onFetchChallenges, }) => {
85
92
  (0, react_1.useEffect)(() => {
86
93
  if (language) {
@@ -145,9 +152,20 @@ const VideoRecorder = ({ theme, language, duration, instructions, challenges: pr
145
152
  (0, react_1.useEffect)(() => {
146
153
  const initChallenges = async () => {
147
154
  try {
155
+ if (language) {
156
+ (0, biometric_identity_sdk_core_1.setLanguage)(language);
157
+ }
148
158
  let challengeList;
149
159
  const currentStrings = (0, biometric_identity_sdk_core_1.getStrings)();
150
160
  const instructionMap = getInstructionMap(currentStrings);
161
+ biometric_identity_sdk_core_1.logger.info('Initializing challenges', {
162
+ language,
163
+ hasStrings: !!currentStrings,
164
+ hasInstructions: !!currentStrings?.liveness?.instructions,
165
+ instructionMapKeys: Object.keys(instructionMap),
166
+ turnLeftTranslation: instructionMap['turn_left']?.text,
167
+ turnRightTranslation: instructionMap['turn_right']?.text
168
+ });
151
169
  if (propChallenges && propChallenges.length > 0) {
152
170
  challengeList = propChallenges.map(challenge => ({
153
171
  ...challenge,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hexar/biometric-identity-sdk-react-native",
3
- "version": "1.0.27",
3
+ "version": "1.0.28",
4
4
  "description": "React Native wrapper for Biometric Identity SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "clean": "rm -rf dist"
12
12
  },
13
13
  "peerDependencies": {
14
- "@hexar/biometric-identity-sdk-core": ">=1.0.17",
14
+ "@hexar/biometric-identity-sdk-core": ">=1.0.18",
15
15
  "react": ">=18.0.0",
16
16
  "react-native": ">=0.70.0",
17
17
  "react-native-permissions": ">=4.0.0",
@@ -38,6 +38,8 @@ const getInstructionMap = (strings: any): Record<string, { text: string; icon?:
38
38
  look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
39
39
  look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
40
40
  look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
41
+ turn_left: { text: strings.liveness.instructions.turnHeadLeft || strings.liveness.instructions.lookLeft || 'Turn your head LEFT' },
42
+ turn_right: { text: strings.liveness.instructions.turnHeadRight || strings.liveness.instructions.lookRight || 'Turn your head RIGHT' },
41
43
  turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
42
44
  turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
43
45
  smile: { text: strings.liveness.instructions.smile || 'Smile' },
@@ -83,18 +83,25 @@ const getDefaultChallenges = (strings: any): ChallengeAction[] => [
83
83
  },
84
84
  ];
85
85
 
86
- const getInstructionMap = (strings: any): Record<string, { text: string; icon?: string }> => ({
87
- look_left: { text: strings.liveness.instructions.lookLeft || 'Slowly turn your head LEFT' },
88
- look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
89
- look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
90
- look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
91
- turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
92
- turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
93
- smile: { text: strings.liveness.instructions.smile || 'Smile' },
94
- blink: { text: strings.liveness.instructions.blink || 'Blink your eyes naturally' },
95
- open_mouth: { text: strings.liveness.instructions.openMouth || 'Open your mouth slightly' },
96
- stay_still: { text: strings.liveness.instructions.stayStill || 'Look at the camera and follow the instructions' },
97
- });
86
+ const getInstructionMap = (strings: any): Record<string, { text: string; icon?: string }> => {
87
+ if (!strings || !strings.liveness || !strings.liveness.instructions) {
88
+ return {};
89
+ }
90
+ return {
91
+ look_left: { text: strings.liveness.instructions.lookLeft || 'Slowly turn your head LEFT' },
92
+ look_right: { text: strings.liveness.instructions.lookRight || 'Slowly turn your head RIGHT' },
93
+ look_up: { text: strings.liveness.instructions.lookUp || 'Look UP' },
94
+ look_down: { text: strings.liveness.instructions.lookDown || 'Look DOWN' },
95
+ turn_left: { text: strings.liveness.instructions.turnHeadLeft || strings.liveness.instructions.lookLeft || 'Turn your head LEFT' },
96
+ turn_right: { text: strings.liveness.instructions.turnHeadRight || strings.liveness.instructions.lookRight || 'Turn your head RIGHT' },
97
+ turn_head_left: { text: strings.liveness.instructions.turnHeadLeft || 'Turn your head LEFT' },
98
+ turn_head_right: { text: strings.liveness.instructions.turnHeadRight || 'Turn your head RIGHT' },
99
+ smile: { text: strings.liveness.instructions.smile || 'Smile' },
100
+ blink: { text: strings.liveness.instructions.blink || 'Blink your eyes naturally' },
101
+ open_mouth: { text: strings.liveness.instructions.openMouth || 'Open your mouth slightly' },
102
+ stay_still: { text: strings.liveness.instructions.stayStill || 'Look at the camera and follow the instructions' },
103
+ };
104
+ };
98
105
 
99
106
  export const VideoRecorder: React.FC<VideoRecorderProps> = ({
100
107
  theme,
@@ -184,9 +191,20 @@ export const VideoRecorder: React.FC<VideoRecorderProps> = ({
184
191
  useEffect(() => {
185
192
  const initChallenges = async () => {
186
193
  try {
194
+ if (language) {
195
+ setLanguage(language);
196
+ }
187
197
  let challengeList: ChallengeAction[];
188
198
  const currentStrings = getStrings();
189
199
  const instructionMap = getInstructionMap(currentStrings);
200
+ logger.info('Initializing challenges', {
201
+ language,
202
+ hasStrings: !!currentStrings,
203
+ hasInstructions: !!currentStrings?.liveness?.instructions,
204
+ instructionMapKeys: Object.keys(instructionMap),
205
+ turnLeftTranslation: instructionMap['turn_left']?.text,
206
+ turnRightTranslation: instructionMap['turn_right']?.text
207
+ });
190
208
 
191
209
  if (propChallenges && propChallenges.length > 0) {
192
210
  challengeList = propChallenges.map(challenge => ({