react-native-kalapa-ekyc 1.1.3 → 1.2.1

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.
File without changes
@@ -6,9 +6,8 @@ buildscript {
6
6
  }
7
7
 
8
8
  dependencies {
9
- classpath "com.android.tools.build:gradle:8.7.2"
10
- // noinspection DifferentKotlinGradleVersion
11
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0}"
9
+ classpath("com.android.tools.build:gradle:4.2.2")
10
+ // classpath 'com.android.tools.build:gradle:3.5.3'
12
11
  }
13
12
  }
14
13
  }
@@ -20,11 +19,10 @@ def safeExtGet(prop, fallback) {
20
19
  }
21
20
 
22
21
  android {
23
- namespace "com.reactnativekalapaekyc"
24
- compileSdkVersion safeExtGet('KalapaEkyc_compileSdkVersion', 35)
22
+ compileSdkVersion safeExtGet('KalapaEkyc_compileSdkVersion', 33)
25
23
  defaultConfig {
26
- minSdkVersion safeExtGet('KalapaEkyc_minSdkVersion', 26)
27
- targetSdkVersion safeExtGet('KalapaEkyc_targetSdkVersion', 35)
24
+ minSdkVersion safeExtGet('KalapaEkyc_minSdkVersion', 24)
25
+ targetSdkVersion safeExtGet('KalapaEkyc_targetSdkVersion', 33)
28
26
  versionCode 1
29
27
  versionName "1.8"
30
28
 
@@ -38,6 +36,10 @@ android {
38
36
  lintOptions {
39
37
  disable 'GradleCompatible'
40
38
  }
39
+ compileOptions {
40
+ sourceCompatibility JavaVersion.VERSION_1_8
41
+ targetCompatibility JavaVersion.VERSION_1_8
42
+ }
41
43
  }
42
44
 
43
45
  repositories {
@@ -54,5 +56,5 @@ dependencies {
54
56
  //noinspection GradleDynamicVersion
55
57
  implementation "com.facebook.react:react-native:+" // From node_modules
56
58
  //kalapasdk
57
- implementation 'vn.kalapa.payme:ekyc:2.10.9.5'
59
+ implementation 'vn.kalapa:ekyc:2.11.0'
58
60
  }
@@ -44,73 +44,89 @@ public class KalapaEkycModule extends ReactContextBaseJavaModule {
44
44
  public void multiply(int a, int b, Promise promise) {
45
45
  promise.resolve(a * b);
46
46
  }
47
-
47
+
48
48
 
49
49
  @ReactMethod
50
50
  public void start(String session, String flow, ReadableMap data, Promise promise) {
51
51
 
52
- String domain = data.getString("domain");
53
- String mainColor = data.getString("main_color") != null ? data.getString("main_color") : "#1F69E6";
54
- String background = data.getString("background_color") != null ? data.getString("background_color") : "#FFFFFF";
55
- String mainTextColor = data.getString("main_text_color") != null ? data.getString("main_text_color") : "#000000";
56
- String btnTextColor = data.getString("btn_text_color") != null ? data.getString("btn_text_color") : "#FFFFFF";
57
- String language = data.getString("language") != null ? data.getString("language") : "en";
58
- int livenessVersion = data.getInt("liveness_version");
59
-
60
-
61
- String faceData = data.getString("face_data") != null ? data.getString("face_data") : "";
62
- String mrzData = data.getString("mrz") != null ? data.getString("mrz") : "";
63
- String sessionId = data.getString("session_id") != null ? data.getString("session_id") : "";
64
-
65
- Context context = getReactApplicationContext();
66
- if (getCurrentActivity() != null) {
52
+ String domain = data.getString("domain");
53
+ String mainColor = data.getString("main_color") != null ? data.getString("main_color") : "#1F69E6";
54
+ String successColor = data.getString("success_color") != null ? data.getString("success_color") : "#388E3C";
55
+ String failureColor = data.getString("failure_color") != null ? data.getString("failure_color") : "#F44336";
56
+ String background = data.getString("background_color") != null ? data.getString("background_color") : "#FFFFFF";
57
+ String mainTextColor = data.getString("main_text_color") != null ? data.getString("main_text_color") : "#000000";
58
+ String btnTextColor = data.getString("btn_text_color") != null ? data.getString("btn_text_color") : "#FFFFFF";
59
+ String language = data.getString("language") != null ? data.getString("language") : "en";
60
+ int livenessVersion = data.getInt("liveness_version");
61
+
62
+ String faceData = data.getString("face_data") != null ? data.getString("face_data") : "";
63
+ String mrzData = data.getString("mrz") != null ? data.getString("mrz") : "";
64
+ String qrCode = data.getString("qr_code") != null ? data.getString("qr_code") : "";
65
+ String sessionId = data.getString("session_id") != null ? data.getString("session_id") : "";
66
+ boolean allowMrzRescanOnNfcMismatch = data.getBoolean("allow_mrz_rescan_on_nfc_mismatch");
67
+ Context context = getReactApplicationContext();
68
+ if (getCurrentActivity() != null) {
67
69
  KalapaSDKConfig klpConfig = new KalapaSDKConfig.KalapaSDKConfigBuilder(getCurrentActivity())
68
- .withBaseURL(domain)
69
- .withMainColor(mainColor)
70
- .withBackgroundColor(background)
71
- .withMainTextColor(mainTextColor)
72
- .withBtnTextColor(btnTextColor)
73
- .withLanguage(language)
74
- .withLivenessVersion(livenessVersion).build();
75
- System.out.println("KLP KalapaSDKConfig: " + klpConfig.getLivenessVersion());
76
- KalapaSDK.KalapaSDKBuilder builder = new KalapaSDK.KalapaSDKBuilder(getCurrentActivity(), klpConfig);
77
- if (faceData != null && !faceData.isEmpty()) builder.withFaceData(faceData);
78
- if (mrzData != null && !mrzData.isEmpty()) builder.withMrz(mrzData);
79
- if (sessionId != null && !sessionId.isEmpty()) builder.withLeftoverSession(sessionId);
80
-
81
- builder.build().start(session, flow, new KalapaHandler() {
82
- @Override
83
- public void onExpired() {
84
- promise.reject("EXPIRED", "Session expired");
70
+ .withBaseURL(domain)
71
+ .withMainColor(mainColor)
72
+ .withBackgroundColor(background)
73
+ .withSuccessColor(successColor)
74
+ .withFailureColor(failureColor)
75
+ .withMainTextColor(mainTextColor)
76
+ .withBtnTextColor(btnTextColor)
77
+ .withLanguage(language)
78
+ .withLivenessVersion(livenessVersion)
79
+ .withAllowMRZRescanOnNFCMismatch(allowMrzRescanOnNfcMismatch)
80
+ .build();
81
+
82
+ KalapaSDK.KalapaSDKBuilder builder = new KalapaSDK.KalapaSDKBuilder(getCurrentActivity(), klpConfig);
83
+ if (qrCode != null && !qrCode.isEmpty()) builder.withRawQRCode(qrCode);
84
+ if (faceData != null && !faceData.isEmpty()) builder.withFaceData(faceData);
85
+ if (mrzData != null && !mrzData.isEmpty()) builder.withMrz(mrzData);
86
+ if (sessionId != null && !sessionId.isEmpty()) builder.withLeftoverSession(sessionId);
87
+
88
+ builder.build().start(session, flow, new KalapaHandler() {
89
+ @Override
90
+ public void onExpired() {
91
+ promise.reject("EXPIRED", "Session expired");
85
92
  // promise.reject("401", "EXPIRED");
86
- }
87
-
88
- @Override
89
- public void onComplete(@NonNull KalapaResult kalapaResult) {
90
- super.onComplete(kalapaResult);
91
- String resultMap = kalapaResult.toJson();
92
- WritableMap res = new WritableNativeMap();
93
- res.putString("kalapa_result", resultMap);
93
+ }
94
+
95
+ @Override
96
+ public void onComplete(@NonNull KalapaResult kalapaResult) {
97
+ String resultMap = kalapaResult.toJson();
98
+ WritableMap res = new WritableNativeMap();
99
+ res.putString("kalapa_result", resultMap);
94
100
  // callback.invoke(res);
95
- promise.resolve(res);
96
- }
97
-
98
- @Override
99
- public void onError(@NonNull KalapaSDKResultCode kalapaSDKResultCode) {
100
- super.onError(kalapaSDKResultCode);
101
- switch (kalapaSDKResultCode) {
102
- case USER_LEAVE:
103
- promise.reject("CANCELED", kalapaSDKResultCode.getEn());
104
- case DEVICE_NOT_SUPPORTED:
105
- promise.reject("UNSUPPORTED", kalapaSDKResultCode.getEn());
106
- case CONFIGURATION_NOT_ACCEPTABLE:
107
- promise.reject("CONFIG_ERROR", kalapaSDKResultCode.getEn());
108
- default:
109
- promise.reject("OTHER", kalapaSDKResultCode.getEn());
110
- }
111
- }
112
- });
113
- } else Toast.makeText(getReactApplicationContext(), "Activity is null", Toast.LENGTH_LONG).show();
101
+ promise.resolve(res);
102
+ }
103
+
104
+ @Override
105
+ public void onError(@NonNull KalapaSDKResultCode kalapaSDKResultCode, @NonNull String message) {
106
+ switch (kalapaSDKResultCode) {
107
+ case USER_LEAVE:
108
+ promise.reject("CANCELED", message);
109
+ case DEVICE_NOT_SUPPORTED:
110
+ promise.reject("UNSUPPORTED", message);
111
+ case CONFIGURATION_NOT_ACCEPTABLE:
112
+ promise.reject("CONFIG_ERROR", message);
113
+ case INVALID_NFC:
114
+ promise.reject("MRZ_INVALID", message);
115
+ case WRONG_CCCDID:
116
+ promise.reject("NFC_NOT_MATCH", message);
117
+ case PERMISSION_DENIED:
118
+ promise.reject("PERMISSION_DENIED", message);
119
+ case VIRTUAL_CAMERA_DETECTED:
120
+ case ROOTED_DEVICE_DETECTED:
121
+ case EMULATOR_DETECTED:
122
+ promise.reject("DEVICE_NOT_ACCEPTABLE", message);
123
+ default:
124
+ promise.reject("OTHER", message);
125
+ }
126
+ }
127
+ });
128
+ } else
129
+ Toast.makeText(getReactApplicationContext(), "Activity is null", Toast.LENGTH_LONG).show();
114
130
  }
115
131
 
116
132
  public static native int nativeMultiply(int a, int b);
package/ios/KalapaEkyc.m CHANGED
@@ -14,7 +14,7 @@ RCT_EXPORT_METHOD(start:(NSString *)session
14
14
  {
15
15
  dispatch_async(dispatch_get_main_queue(), ^{
16
16
  if (@available(iOS 13, *)) {
17
- NSString *domain = data[@"domain"] ?: @"https://ekyc-api.kalapa.vn";
17
+ NSString *domain = data[@"domain"] ?: @"https://ekyc-sdk.kalapa.vn";
18
18
  NSString *language = data[@"language"] ?: @"vi";
19
19
 
20
20
  NSString *mainColor = data[@"main_color"] ?: @"3270EA";
@@ -22,16 +22,28 @@ RCT_EXPORT_METHOD(start:(NSString *)session
22
22
  NSString *mainTextColor = data[@"main_text_color"] ?: @"000000";
23
23
  NSString *btnTextColor = data[@"btn_text_color"] ?: @"ffffff";
24
24
  NSInteger livenessVersion = [data[@"liveness_version"] integerValue] ?: 0;
25
+ NSString *successColor = data[@"success_color"] ?: @"6200EA";
26
+ NSString *failureColor = data[@"failure_color"] ?: @"00BCD4";
25
27
 
26
28
  NSString *faceData = data[@"face_data"];
27
29
  NSString *mrz = data[@"mrz"];
28
30
  NSString *sessionID = data[@"session_id"];
31
+ id val = data[@"allow_mrz_rescan_on_nfc_mismatch"];
32
+ BOOL allowMRZRescanOnNfcMismatch = [val isKindOfClass:NSNumber.class] ? [val boolValue] : NO;
29
33
 
30
- KLPAppearance *klpAppearance = [[[[[[KLPAppearance Builder]
31
- withLanguage:language]
32
- withMainColor:mainColor]
33
- withBackgroundColor:backgroundColor]
34
- withMainTextColor:mainTextColor]
34
+ KLPThemeColor *themeColor = [[[KLPThemeColor Builder]
35
+ withSuccessColor:successColor]
36
+ withFailureColor:failureColor];
37
+
38
+ KLPTheme *theme = [[KLPTheme Builder]
39
+ withColor:themeColor];
40
+
41
+ KLPAppearance *klpAppearance = [[[[[[[KLPAppearance Builder]
42
+ withLanguage:language]
43
+ withMainColor:mainColor]
44
+ withBackgroundColor:backgroundColor]
45
+ withMainTextColor:mainTextColor]
46
+ withTheme:theme]
35
47
  withBtnTextColor:btnTextColor];
36
48
 
37
49
  KLPConfig *klpConfig = [self configureKLPWithSession:session
@@ -39,18 +51,26 @@ RCT_EXPORT_METHOD(start:(NSString *)session
39
51
  livenessVersion:livenessVersion
40
52
  appearance:klpAppearance
41
53
  mrz:mrz
42
- faceData:faceData];
54
+ faceData:faceData
55
+ allowMRZRescanOnNfcMismatch:allowMRZRescanOnNfcMismatch];
43
56
 
44
57
  if (sessionID != nil) {
45
58
  [klpConfig withSession:sessionID];
46
59
  }
47
60
 
48
- [klpConfig withExpiredHandler:^{
49
- reject(@"EXPIRED", @"Session expired", nil);
50
- }];
51
-
52
- [klpConfig withCancelSessionHandler:^{
53
- reject(@"CANCELED", @"Session was canceled by the user", nil);
61
+ [klpConfig withEventHandler:^(enum Event event) {
62
+ switch (event) {
63
+ case EventSessionTerminated:
64
+ reject(@"CANCELED", @"Người dùng hủy bỏ xác thực", nil);
65
+ break;
66
+ case EventSessionExpired:
67
+ reject(@"UNAUTHORIZED", @"Quá trình xác thực thất bại, vui lòng kiểm tra lại", nil);
68
+ break;
69
+ default:
70
+ reject(@"OTHER", @"Đã có lỗi xảy ra", nil);
71
+ break;
72
+ }
73
+
54
74
  }];
55
75
 
56
76
  [klpConfig withResultHandler:^(KalapaResult * _Nullable result) {
@@ -81,7 +101,8 @@ RCT_EXPORT_METHOD(start:(NSString *)session
81
101
  livenessVersion:(NSInteger)livenessVersion
82
102
  appearance:(KLPAppearance *)appearance
83
103
  mrz:(NSString *)mrz
84
- faceData:(NSString *)faceData {
104
+ faceData:(NSString *)faceData
105
+ allowMRZRescanOnNfcMismatch:(BOOL)allowMRZRescanOnNfcMismatch {
85
106
  KLPConfig *config = [[[[[[KLPConfig BuilderWithSession:session]
86
107
  withBaseUrl:domain]
87
108
  withLivenessVersion:livenessVersion]
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ KalapaEkyc
10
+ } = _reactNative.NativeModules;
11
+
12
+ // export default KalapaEkyc;
13
+
14
+ // Define types for better TypeScript support
15
+
16
+ // Extend the native module
17
+ const ExtendedKalapaEkyc = {
18
+ ...KalapaEkyc,
19
+ start: async (session, flow, config) => {
20
+ try {
21
+ // Call original native method
22
+ const result = await KalapaEkyc.start(session, flow, config);
23
+
24
+ // Parse the result
25
+ const parsedResult = JSON.parse(result.kalapa_result);
26
+
27
+ // Return enhanced result with WebView capability
28
+ return {
29
+ ...result,
30
+ kalapa_result: parsedResult
31
+ };
32
+ } catch (error) {
33
+ throw error;
34
+ }
35
+ }
36
+ };
37
+ var _default = exports.default = ExtendedKalapaEkyc;
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","KalapaEkyc","NativeModules","ExtendedKalapaEkyc","start","session","flow","config","result","parsedResult","JSON","parse","kalapa_result","error","_default","exports","default"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { KalapaEkyc } = NativeModules;\n\n// export default KalapaEkyc;\n\n// Define types for better TypeScript support\ninterface KalapaResult {\n kalapa_result: string;\n session?: string;\n [key: string]: any;\n }\n \n // Extend the native module\n const ExtendedKalapaEkyc = {\n ...KalapaEkyc,\n \n start: async (session: string, flow: string, config: any): Promise<KalapaResult & { showWebView: () => Promise<void> }> => {\n try {\n // Call original native method\n const result = await KalapaEkyc.start(session, flow, config);\n \n // Parse the result\n const parsedResult = JSON.parse(result.kalapa_result);\n \n // Return enhanced result with WebView capability\n return {\n ...result,\n kalapa_result: parsedResult,\n };\n } catch (error) {\n throw error;\n }\n }\n };\n\nexport default ExtendedKalapaEkyc;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAM;EAAEC;AAAW,CAAC,GAAGC,0BAAa;;AAEpC;;AAEA;;AAOE;AACA,MAAMC,kBAAkB,GAAG;EACzB,GAAGF,UAAU;EAEbG,KAAK,EAAE,MAAAA,CAAOC,OAAe,EAAEC,IAAY,EAAEC,MAAW,KAAmE;IACzH,IAAI;MACF;MACA,MAAMC,MAAM,GAAG,MAAMP,UAAU,CAACG,KAAK,CAACC,OAAO,EAAEC,IAAI,EAAEC,MAAM,CAAC;;MAE5D;MACA,MAAME,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,CAACI,aAAa,CAAC;;MAErD;MACA,OAAO;QACL,GAAGJ,MAAM;QACTI,aAAa,EAAEH;MACjB,CAAC;IACH,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMA,KAAK;IACb;EACF;AACF,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEWb,kBAAkB","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import { NativeModules } from 'react-native';
2
+ const {
3
+ KalapaEkyc
4
+ } = NativeModules;
5
+
6
+ // export default KalapaEkyc;
7
+
8
+ // Define types for better TypeScript support
9
+
10
+ // Extend the native module
11
+ const ExtendedKalapaEkyc = {
12
+ ...KalapaEkyc,
13
+ start: async (session, flow, config) => {
14
+ try {
15
+ // Call original native method
16
+ const result = await KalapaEkyc.start(session, flow, config);
17
+
18
+ // Parse the result
19
+ const parsedResult = JSON.parse(result.kalapa_result);
20
+
21
+ // Return enhanced result with WebView capability
22
+ return {
23
+ ...result,
24
+ kalapa_result: parsedResult
25
+ };
26
+ } catch (error) {
27
+ throw error;
28
+ }
29
+ }
30
+ };
31
+ export default ExtendedKalapaEkyc;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","KalapaEkyc","ExtendedKalapaEkyc","start","session","flow","config","result","parsedResult","JSON","parse","kalapa_result","error"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules } from 'react-native';\n\nconst { KalapaEkyc } = NativeModules;\n\n// export default KalapaEkyc;\n\n// Define types for better TypeScript support\ninterface KalapaResult {\n kalapa_result: string;\n session?: string;\n [key: string]: any;\n }\n \n // Extend the native module\n const ExtendedKalapaEkyc = {\n ...KalapaEkyc,\n \n start: async (session: string, flow: string, config: any): Promise<KalapaResult & { showWebView: () => Promise<void> }> => {\n try {\n // Call original native method\n const result = await KalapaEkyc.start(session, flow, config);\n \n // Parse the result\n const parsedResult = JSON.parse(result.kalapa_result);\n \n // Return enhanced result with WebView capability\n return {\n ...result,\n kalapa_result: parsedResult,\n };\n } catch (error) {\n throw error;\n }\n }\n };\n\nexport default ExtendedKalapaEkyc;\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAE5C,MAAM;EAAEC;AAAW,CAAC,GAAGD,aAAa;;AAEpC;;AAEA;;AAOE;AACA,MAAME,kBAAkB,GAAG;EACzB,GAAGD,UAAU;EAEbE,KAAK,EAAE,MAAAA,CAAOC,OAAe,EAAEC,IAAY,EAAEC,MAAW,KAAmE;IACzH,IAAI;MACF;MACA,MAAMC,MAAM,GAAG,MAAMN,UAAU,CAACE,KAAK,CAACC,OAAO,EAAEC,IAAI,EAAEC,MAAM,CAAC;;MAE5D;MACA,MAAME,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACH,MAAM,CAACI,aAAa,CAAC;;MAErD;MACA,OAAO;QACL,GAAGJ,MAAM;QACTI,aAAa,EAAEH;MACjB,CAAC;IACH,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMA,KAAK;IACb;EACF;AACF,CAAC;AAEH,eAAeV,kBAAkB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ declare const ExtendedKalapaEkyc: any;
2
+ export default ExtendedKalapaEkyc;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "react-native-kalapa-ekyc",
3
- "version": "1.1.3",
3
+ "version": "1.2.1",
4
4
  "description": "React Native SDK for Kalapa eKYC integration",
5
- "main": "lib/commonjs/index.js",
5
+ "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
7
  "types": "lib/typescript/src/index.d.ts",
8
8
  "react-native": "src/index.tsx",
9
- "source": "src/index.tsx",
9
+ "source": "src/index",
10
10
  "files": [
11
11
  "src",
12
12
  "lib",
@@ -16,17 +16,15 @@
16
16
  "android",
17
17
  "ios",
18
18
  "cpp",
19
- "Frameworks",
20
19
  "react-native-kalapa-ekyc.podspec",
20
+ "!lib/typescript/example",
21
21
  "!android/build",
22
22
  "!ios/build"
23
23
  ],
24
24
  "scripts": {
25
25
  "test": "jest",
26
26
  "typescript": "tsc --noEmit",
27
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
28
- "prepare": "npm run build",
29
- "build": "echo 'Build completed'"
27
+ "lint": "eslint \"**/*.{js,ts,tsx}\""
30
28
  },
31
29
  "keywords": [
32
30
  "react-native",
@@ -49,8 +47,8 @@
49
47
  "@react-native-community/eslint-config": "^2.0.0",
50
48
  "@release-it/conventional-changelog": "^2.0.0",
51
49
  "@types/jest": "^26.0.0",
52
- "@types/react": "17.0.2",
53
- "@types/react-native": "0.63.4",
50
+ "@types/react": "^16.9.19",
51
+ "@types/react-native": "0.62.13",
54
52
  "commitlint": "^11.0.0",
55
53
  "eslint": "^7.2.0",
56
54
  "eslint-config-prettier": "^7.0.0",
@@ -59,14 +57,15 @@
59
57
  "jest": "^26.0.1",
60
58
  "pod-install": "^0.1.0",
61
59
  "prettier": "^2.0.5",
60
+ "react": "16.13.1",
61
+ "react-native": "0.63.4",
62
62
  "react-native-builder-bob": "^0.18.0",
63
63
  "release-it": "^14.2.2",
64
64
  "typescript": "^4.1.3"
65
65
  },
66
66
  "peerDependencies": {
67
- "react": "^17.0.2",
68
- "react-native": "^0.66.4",
69
- "react-native-reanimated": ">1.9.0"
67
+ "react": "*",
68
+ "react-native": "*"
70
69
  },
71
70
  "jest": {
72
71
  "preset": "react-native",
@@ -14,6 +14,7 @@ Pod::Spec.new do |s|
14
14
  s.source = { :git => "https://gitlab.com/littlepjg/klp-ekyc-react-native.git", :tag => "#{s.version}" }
15
15
 
16
16
  s.source_files = "ios/**/*.{h,m,mm}"
17
+ #s.ios.vendored_frameworks = "Frameworks/KalapaSDK.xcframework"
17
18
 
18
19
  s.dependency "React-Core"
19
20
  s.dependency "KalapaEkycSDK"