react-native-okhi 1.2.20 → 1.2.21-beta.2

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 (50) hide show
  1. package/android/build.gradle +2 -2
  2. package/android/local.properties +8 -0
  3. package/android/src/main/java/com/reactnativeokhi/OkhiModule.java +13 -18
  4. package/ios/Okhi.m +9 -4
  5. package/ios/Okhi.swift +34 -17
  6. package/lib/commonjs/OkCollect/OkHiLocationManager.js +37 -59
  7. package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
  8. package/lib/commonjs/OkCollect/Util.js +14 -7
  9. package/lib/commonjs/OkCollect/Util.js.map +1 -1
  10. package/lib/commonjs/OkCollect/app.json +1 -1
  11. package/lib/commonjs/OkCollect/types.js.map +1 -1
  12. package/lib/commonjs/OkCore/index.js +1 -1
  13. package/lib/commonjs/OkCore/index.js.map +1 -1
  14. package/lib/commonjs/OkCore/types.js.map +1 -1
  15. package/lib/commonjs/OkHiNativeModule/index.js.map +1 -1
  16. package/lib/commonjs/OkVerify/index.js +27 -27
  17. package/lib/commonjs/OkVerify/index.js.map +1 -1
  18. package/lib/module/OkCollect/OkHiLocationManager.js +37 -59
  19. package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
  20. package/lib/module/OkCollect/Util.js +14 -7
  21. package/lib/module/OkCollect/Util.js.map +1 -1
  22. package/lib/module/OkCollect/app.json +1 -1
  23. package/lib/module/OkCollect/types.js.map +1 -1
  24. package/lib/module/OkCore/index.js +1 -1
  25. package/lib/module/OkCore/index.js.map +1 -1
  26. package/lib/module/OkCore/types.js.map +1 -1
  27. package/lib/module/OkHiNativeModule/index.js.map +1 -1
  28. package/lib/module/OkVerify/index.js +27 -27
  29. package/lib/module/OkVerify/index.js.map +1 -1
  30. package/lib/typescript/OkCollect/Util.d.ts +1 -1
  31. package/lib/typescript/OkCollect/types.d.ts +6 -4
  32. package/lib/typescript/OkCore/types.d.ts +11 -3
  33. package/lib/typescript/OkHiNativeModule/index.d.ts +1 -1
  34. package/lib/typescript/OkVerify/index.d.ts +4 -4
  35. package/package.json +1 -1
  36. package/react-native-okhi.podspec +1 -1
  37. package/src/OkCollect/OkHiLocationManager.tsx +52 -83
  38. package/src/OkCollect/Util.ts +13 -8
  39. package/src/OkCollect/app.json +1 -1
  40. package/src/OkCollect/types.ts +7 -4
  41. package/src/OkCore/index.ts +1 -1
  42. package/src/OkCore/types.ts +15 -3
  43. package/src/OkHiNativeModule/index.ts +3 -1
  44. package/src/OkVerify/index.ts +46 -54
  45. package/lib/commonjs/OkCore/OkHiAuth.js +0 -109
  46. package/lib/commonjs/OkCore/OkHiAuth.js.map +0 -1
  47. package/lib/module/OkCore/OkHiAuth.js +0 -102
  48. package/lib/module/OkCore/OkHiAuth.js.map +0 -1
  49. package/lib/typescript/OkCore/OkHiAuth.d.ts +0 -16
  50. package/src/OkCore/OkHiAuth.ts +0 -114
@@ -126,8 +126,8 @@ repositories {
126
126
  dependencies {
127
127
  //noinspection GradleDynamicVersion
128
128
  implementation "com.facebook.react:react-native:+"
129
- implementation 'io.okhi.android:core:1.7.24'
130
- implementation 'io.okhi.android:okverify:1.9.49'
129
+ implementation 'io.okhi.android:core:1.7.31'
130
+ implementation 'io.okhi.android:okverify:1.9.66'
131
131
  // From node_modules
132
132
  }
133
133
 
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Wed Dec 11 19:04:58 EAT 2024
8
+ sdk.dir=/Users/kiano/Library/Android/sdk
@@ -28,13 +28,14 @@ import java.util.ArrayList;
28
28
 
29
29
  import io.okhi.android_core.OkHi;
30
30
  import io.okhi.android_core.interfaces.OkHiRequestHandler;
31
+ import io.okhi.android_core.models.OkCollectSuccessResponse;
31
32
  import io.okhi.android_core.models.OkHiAppContext;
32
33
  import io.okhi.android_core.models.OkHiAuth;
33
34
  import io.okhi.android_core.models.OkHiException;
34
35
  import io.okhi.android_core.models.OkHiLocation;
35
36
  import io.okhi.android_core.models.OkHiPermissionService;
37
+ import io.okhi.android_core.models.OkHiUsageType;
36
38
  import io.okhi.android_core.models.OkHiUser;
37
- import io.okhi.android_core.models.OkHiVerificationType;
38
39
  import io.okhi.android_core.models.OkPreference;
39
40
  import io.okhi.android_okverify.OkVerify;
40
41
  import io.okhi.android_okverify.interfaces.OkVerifyCallback;
@@ -186,34 +187,28 @@ public class OkhiModule extends ReactContextBaseJavaModule {
186
187
  }
187
188
  }
188
189
 
189
- private static ArrayList<String> processVerificationTypes(ReadableArray array) {
190
- ArrayList<String> arrayList = new ArrayList<>();
191
- for (int i = 0; i < array.size(); i++) {
192
- arrayList.add(array.getString(i));
193
- }
194
- return arrayList;
195
- }
196
-
197
190
  @ReactMethod
198
- public void startAddressVerification(String phoneNumber, String locationId, Float lat, Float lon, ReadableArray verificationTypes, Promise promise) {
191
+ public void startAddressVerification(String token, String phoneNumber, String userId, String locationId, Float lat, Float lon, ReadableArray usageTypes, Promise promise) {
199
192
  if (okVerify == null) {
200
193
  promise.reject("unauthorized", "failed to initialise okhi");
201
194
  return;
202
195
  }
203
- OkHiUser user = new OkHiUser.Builder(phoneNumber).build();
204
- String[] verificationTypesList = new String[verificationTypes.size()];
205
- for (int i = 0; i < verificationTypes.size(); i++) {
206
- verificationTypesList[i] = verificationTypes.getString(i);
196
+ String[] usageTypeList = new String[usageTypes.size()];
197
+ for (int i = 0; i < usageTypes.size(); i++) {
198
+ usageTypeList[i] = usageTypes.getString(i);
207
199
  }
208
- if (verificationTypesList.length == 0) {
209
- verificationTypesList = new String[]{OkHiVerificationType.digital.name()};
200
+ if (usageTypeList.length == 0) {
201
+ usageTypeList = new String[]{OkHiUsageType.digitalVerification.toString()};
210
202
  }
211
- OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).setVerificationTypes(verificationTypesList).build();
212
- okVerify.start(user, location, new OkVerifyCallback<String>() {
203
+ OkHiLocation location = new OkHiLocation.Builder(locationId, lat, lon).setUsageTypes(usageTypeList).build();
204
+ OkHiUser user = new OkHiUser.Builder(phoneNumber).withOkHiUserId(userId).withToken(token).build();
205
+ OkCollectSuccessResponse response = new OkCollectSuccessResponse(user, location);
206
+ okVerify.start(response, new OkVerifyCallback<String>() {
213
207
  @Override
214
208
  public void onSuccess(String result) {
215
209
  promise.resolve(result);
216
210
  }
211
+
217
212
  @Override
218
213
  public void onError(OkHiException e) {
219
214
  promise.reject(e.getCode(), e.getMessage(), e);
package/ios/Okhi.m CHANGED
@@ -31,10 +31,15 @@ RCT_EXTERN_METHOD(initializeIOS:(NSString *)branchId clientKey:(NSString *)clien
31
31
 
32
32
  RCT_EXTERN_METHOD(initialize:(NSString *)configuration resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
33
33
 
34
- RCT_EXTERN_METHOD(startAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId lat:(double)lat lon:(double)lon resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
35
-
36
- RCT_EXTERN_METHOD(startAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId lat:(double)lat lon:(double)lon verificationTypes:(NSArray<NSString *> *)verificationTypes resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
37
-
34
+ RCT_EXTERN_METHOD(startAddressVerification:(NSString *)token
35
+ phoneNumber:(NSString *)phoneNumber
36
+ userId:(NSString *)userId
37
+ locationId:(NSString *)locationId
38
+ lat:(double)lat
39
+ lon:(double)lon
40
+ usageTypes:(NSArray<NSString *> *)usageTypes
41
+ resolve:(RCTPromiseResolveBlock)resolve
42
+ reject:(RCTPromiseRejectBlock)reject)
38
43
 
39
44
  RCT_EXTERN_METHOD(stopAddressVerification:(NSString *)phoneNumber locationId:(NSString *)locationId resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
40
45
 
package/ios/Okhi.swift CHANGED
@@ -83,27 +83,35 @@ class Okhi: RCTEventEmitter {
83
83
  @objc func initializeIOS(_ branchId: String, clientKey: String, environment: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
84
84
  self.initResolve = resolve
85
85
  self.initReject = reject
86
- okVerify.initialize(branchId: branchId, clientKey: clientKey, environment: environment)
87
- }
88
-
89
- @objc func startAddressVerification(_ phoneNumber: String, locationId: String, lat: Double, lon: Double, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
90
- self.resolve = resolve
91
- self.reject = reject
92
- okVerify.startAddressVerification(phoneNumber: phoneNumber, locationId: locationId, lat: lat, lon: lon, verificationTypes: [.physical])
93
- }
94
-
95
- @objc func startAddressVerification(_ phoneNumber: String, locationId: String, lat: Double, lon: Double, verificationTypes: [String], resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
86
+ let appDetails = getAppDetails()
87
+ let okHiAppContext = OkHiAppContext().withAppMeta(name: appDetails.name, version: appDetails.version, build: appDetails.version)
88
+ let okHiAuth = OkHiAuth(
89
+ branchId: branchId,
90
+ clientKey: clientKey,
91
+ environment: environment == "prod" ? .prod : .sandbox,
92
+ appContext: okHiAppContext
93
+ )
94
+ OkCollect.initialize(with: okHiAuth)
95
+ OkVerify.initialize(with: okHiAuth, launchOptions: nil)
96
+ }
97
+
98
+ @objc func startAddressVerification(_ token: String, phoneNumber: String, userId: String, locationId: String, lat: Double, lon: Double, usageTypes: [String], resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
96
99
  self.resolve = resolve
97
100
  self.reject = reject
98
- var enumVerificationTypes: [OkHiVerificationType] = []
99
- for verificationType in verificationTypes {
100
- if verificationType == OkHiVerificationType.physical.rawValue {
101
- enumVerificationTypes.append(.physical)
102
- } else if verificationType == OkHiVerificationType.digital.rawValue {
103
- enumVerificationTypes.append(.digital)
101
+ var enumUsageTypes: [OkHiUsageType] = []
102
+ for usageType in usageTypes {
103
+ if usageType == OkHiUsageType.physicalVerification.rawValue {
104
+ enumUsageTypes.append(.physicalVerification)
105
+ } else if usageType == OkHiUsageType.digitalVerification.rawValue {
106
+ enumUsageTypes.append(.digitalVerification)
107
+ } else if usageType == OkHiUsageType.addressBook.rawValue {
108
+ enumUsageTypes.append(.addressBook)
104
109
  }
105
110
  }
106
- okVerify.startAddressVerification(phoneNumber: phoneNumber, locationId: locationId, lat: lat, lon: lon, verificationTypes: enumVerificationTypes)
111
+ let user = OkHiUser(phoneNumber: phoneNumber).with(token: token).with(okHiId: userId)
112
+ let location = OkHiLocation(identifier: locationId, lat: lat, lon: lon, usageTypes: enumUsageTypes)
113
+ let response = OkCollectSuccessResponse(user: user, location: location)
114
+ okVerify.startAddressVerification(response: response)
107
115
  }
108
116
 
109
117
  @objc func stopAddressVerification(_ phoneNumber: String, locationId: String, resolve:@escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
@@ -229,6 +237,15 @@ extension Okhi {
229
237
  return CLLocationManager.authorizationStatus()
230
238
  }
231
239
  }
240
+
241
+ func getAppDetails() -> (name: String, version: String, build: String) {
242
+ let bundle = Bundle.main
243
+ let appName = bundle.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ??
244
+ bundle.object(forInfoDictionaryKey: "CFBundleName") as? String ?? "Unknown App Name"
245
+ let version = bundle.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String ?? "Unknown Version"
246
+ let build = bundle.object(forInfoDictionaryKey: "CFBundleVersion") as? String ?? "Unknown Build"
247
+ return (name: appName, version: version, build: build)
248
+ }
232
249
  }
233
250
 
234
251
  // MARK: - OkVerify Delegates
@@ -10,7 +10,6 @@ var _reactNativeWebview = require("react-native-webview");
10
10
  var _Spinner = require("./Spinner");
11
11
  var _Util = require("./Util");
12
12
  var _OkHiException = require("../OkCore/OkHiException");
13
- var _OkHiAuth = require("../OkCore/OkHiAuth");
14
13
  var _OkVerify = require("../OkVerify");
15
14
  var _OkCore = require("../OkCore");
16
15
  var _OkHiNativeModule = require("../OkHiNativeModule");
@@ -20,7 +19,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
20
19
  * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.
21
20
  */
22
21
  const OkHiLocationManager = props => {
23
- const [token, setToken] = (0, _react.useState)(null);
24
22
  const [applicationConfiguration, setApplicationConfiguration] = (0, _react.useState)(null);
25
23
  const [startPayload, setStartPaylaod] = (0, _react.useState)(null);
26
24
  const defaultStyle = {
@@ -36,67 +34,40 @@ const OkHiLocationManager = props => {
36
34
  onCloseRequest,
37
35
  onError,
38
36
  loader,
39
- launch,
40
- config
37
+ launch
41
38
  } = props;
42
39
  const webViewRef = (0, _react.useRef)(null);
43
40
  const startMessage = props.mode === 'create' ? 'start_app' : 'select_location';
44
41
  const [ready, setReady] = (0, _react.useState)(false);
45
42
  (0, _react.useEffect)(() => {
46
- if (applicationConfiguration == null && token == null && user.phone) {
47
- (0, _OkCore.getApplicationConfiguration)().then(config => {
48
- if (!config && launch) {
49
- onError(new _OkHiException.OkHiException({
50
- code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
51
- message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
52
- }));
53
- } else if (config) {
54
- setApplicationConfiguration(config);
55
- const auth = new _OkHiAuth.OkHiAuth();
56
- auth.anonymousSignInWithPhoneNumber(user.phone, ['verify'], config).then(setToken).catch(onError);
57
- }
58
- }).catch(error => {
59
- if (launch) {
60
- onError(error);
61
- }
62
- });
63
- }
64
- }, [onError, user.phone, launch, applicationConfiguration, token]);
65
- (0, _react.useEffect)(() => {
66
- if (token !== null && applicationConfiguration !== null) {
67
- // TODO: handle faliure
68
- (0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
69
- setStartPaylaod(startPayload);
70
- if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
71
- _OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
72
- message: startMessage,
73
- payload: startPayload,
74
- url: (0, _Util.getFrameUrl)(applicationConfiguration)
75
- })).catch(console.error);
76
- }
77
- }).catch(console.error);
43
+ if (launch) {
44
+ setReady(launch);
78
45
  }
79
- }, [applicationConfiguration, props, token]);
46
+ }, [launch]);
80
47
  (0, _react.useEffect)(() => {
81
- if (launch) {
82
- if (typeof (config === null || config === void 0 ? void 0 : config.permissionsOnboarding) === 'boolean' && !config.permissionsOnboarding) {
83
- (0, _OkCore.isBackgroundLocationPermissionGranted)().then(result => {
84
- if (!result) {
85
- onError(new _OkHiException.OkHiException({
86
- code: _OkHiException.OkHiException.PERMISSION_DENIED_CODE,
87
- message: 'Always location permission must be granted to launch OkCollect'
88
- }));
89
- } else {
90
- setReady(true);
91
- }
48
+ async function startOkHiLocationManager() {
49
+ const appConfiguration = await (0, _OkCore.getApplicationConfiguration)();
50
+ if (!appConfiguration) {
51
+ throw new _OkHiException.OkHiException({
52
+ code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
53
+ message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
92
54
  });
93
- } else {
94
- setReady(true);
95
55
  }
96
- } else {
97
- setReady(false);
56
+ const startPayload = await (0, _Util.generateStartDataPayload)(props, appConfiguration);
57
+ setApplicationConfiguration(appConfiguration);
58
+ setStartPaylaod(startPayload);
59
+ if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
60
+ _OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
61
+ message: startMessage,
62
+ payload: startPayload,
63
+ url: (0, _Util.getFrameUrl)(appConfiguration)
64
+ })).catch(console.error);
65
+ }
98
66
  }
99
- }, [launch, config === null || config === void 0 ? void 0 : config.permissionsOnboarding]);
67
+ if (launch) {
68
+ startOkHiLocationManager();
69
+ }
70
+ }, [launch, props, onError]);
100
71
  const runWebViewCallback = value => {
101
72
  if (webViewRef.current) {
102
73
  const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === "function") { runOkHiLocationManagerCallback("${value}") } })()`;
@@ -197,9 +168,19 @@ const OkHiLocationManager = props => {
197
168
  code: _OkHiException.OkHiException.BAD_REQUEST_CODE,
198
169
  message: 'Missing location id from response'
199
170
  }));
171
+ } else if (!createdUser.id) {
172
+ reject(new _OkHiException.OkHiException({
173
+ code: _OkHiException.OkHiException.BAD_REQUEST_CODE,
174
+ message: 'Missing user id from response'
175
+ }));
176
+ } else if (!createdUser.token) {
177
+ reject(new _OkHiException.OkHiException({
178
+ code: _OkHiException.OkHiException.UNAUTHORIZED_CODE,
179
+ message: _OkHiException.OkHiException.UNAUTHORIZED_MESSAGE
180
+ }));
200
181
  } else {
201
- const verificationTypes = Array.isArray(location.verificationTypes) ? location.verificationTypes : ['digital'];
202
- (0, _OkVerify.start)(createdUser.phone, location.id, location.lat, location.lon, verificationTypes).then(resolve).catch(reject);
182
+ const usageTypes = Array.isArray(location.usageTypes) ? location.usageTypes : ['digital_verification'];
183
+ (0, _OkVerify.start)(createdUser.token, createdUser.phone, createdUser.id, location.id, location.lat, location.lon, usageTypes).then(resolve).catch(reject);
203
184
  }
204
185
  });
205
186
  }
@@ -231,10 +212,7 @@ const OkHiLocationManager = props => {
231
212
  (_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 || _webViewRef$current.goBack();
232
213
  };
233
214
  const renderContent = () => {
234
- if (token === null || applicationConfiguration == null) {
235
- return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
236
- }
237
- if (startPayload === null) {
215
+ if (startPayload === null || applicationConfiguration == null) {
238
216
  return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
239
217
  }
240
218
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OkHiLocationManager","props","token","setToken","useState","applicationConfiguration","setApplicationConfiguration","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","config","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","phone","getApplicationConfiguration","then","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","auth","OkHiAuth","anonymousSignInWithPhoneNumber","catch","error","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","console","permissionsOnboarding","isBackgroundLocationPermissionGranted","result","PERMISSION_DENIED_CODE","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","verificationTypes","Array","isArray","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport { OkHiAuth } from '../OkCore/OkHiAuth';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n VerificationType,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [token, setToken] = useState<string | null>(null);\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch, config } =\n props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (applicationConfiguration == null && token == null && user.phone) {\n getApplicationConfiguration()\n .then((config) => {\n if (!config && launch) {\n onError(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else if (config) {\n setApplicationConfiguration(config);\n const auth = new OkHiAuth();\n auth\n .anonymousSignInWithPhoneNumber(user.phone, ['verify'], config)\n .then(setToken)\n .catch(onError);\n }\n })\n .catch((error) => {\n if (launch) {\n onError(error);\n }\n });\n }\n }, [onError, user.phone, launch, applicationConfiguration, token]);\n\n useEffect(() => {\n if (token !== null && applicationConfiguration !== null) {\n // TODO: handle faliure\n generateStartDataPayload(props, token, applicationConfiguration)\n .then((startPayload) => {\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(applicationConfiguration),\n })\n ).catch(console.error);\n }\n })\n .catch(console.error);\n }\n }, [applicationConfiguration, props, token]);\n\n useEffect(() => {\n if (launch) {\n if (\n typeof config?.permissionsOnboarding === 'boolean' &&\n !config.permissionsOnboarding\n ) {\n isBackgroundLocationPermissionGranted().then((result) => {\n if (!result) {\n onError(\n new OkHiException({\n code: OkHiException.PERMISSION_DENIED_CODE,\n message:\n 'Always location permission must be granted to launch OkCollect',\n })\n );\n } else {\n setReady(true);\n }\n });\n } else {\n setReady(true);\n }\n } else {\n setReady(false);\n }\n }, [launch, config?.permissionsOnboarding]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function () {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else {\n const verificationTypes: VerificationType = Array.isArray(\n location.verificationTypes\n )\n ? location.verificationTypes\n : ['digital'];\n sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n verificationTypes\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (token === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n if (startPayload === null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","OkHiLocationManager","props","applicationConfiguration","setApplicationConfiguration","useState","startPayload","setStartPaylaod","defaultStyle","flex","style","user","onSuccess","onCloseRequest","onError","loader","launch","webViewRef","useRef","startMessage","mode","ready","setReady","useEffect","startOkHiLocationManager","appConfiguration","getApplicationConfiguration","OkHiException","code","UNAUTHORIZED_CODE","message","UNAUTHORIZED_MESSAGE","generateStartDataPayload","Platform","OS","Version","OkHiNativeModule","setItem","JSON","stringify","payload","url","getFrameUrl","catch","console","error","runWebViewCallback","value","current","jsString","injectJavaScript","handleAndroidRequestLocationPermission","level","whenInUseResult","requestLocationPermission","alwaysResult","isBackgroundLocationPermissionGranted","result","requestBackgroundLocationPermission","handleIOSRequestLocationPermission","unknownError","UNKNOWN_ERROR_CODE","isServiceAvailable","isLocationServicesEnabled","openAppSettings","granted","handleRequestLocationPermission","handleOpenAppSettings","err","handleOnMessage","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","token","usageTypes","Array","isArray","sv","phone","lat","lon","then","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","_webViewRef$current","goBack","renderContent","createElement","Spinner","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","SafeAreaView","WebView","source","uri","injectedJavaScriptBeforeContentLoaded","undefined","injectedJavaScript","onMessage","onHttpError","geolocationEnabled","allowsBackForwardNavigationGestures","ref","Modal","animationType","transparent","visible","onRequestClose","exports","_default"],"sources":["OkHiLocationManager.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { Modal, SafeAreaView, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport { Spinner } from './Spinner';\nimport type {\n OkHiLocationManagerResponse,\n OkHiLocationManagerProps,\n OkHiLocationManagerStartDataPayload,\n} from './types';\nimport {\n getFrameUrl,\n generateJavaScriptStartScript,\n generateStartDataPayload,\n parseOkHiLocation,\n} from './Util';\nimport { OkHiException } from '../OkCore/OkHiException';\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { start as sv } from '../OkVerify';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\n UsageType,\n} from '../OkCore';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\n/**\n * The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.\n */\nexport const OkHiLocationManager = (props: OkHiLocationManagerProps) => {\n const [applicationConfiguration, setApplicationConfiguration] =\n useState<AuthApplicationConfig | null>(null);\n const [startPayload, setStartPaylaod] =\n useState<null | OkHiLocationManagerStartDataPayload>(null);\n const defaultStyle = { flex: 1 };\n const style = props.style\n ? { ...props.style, ...defaultStyle }\n : defaultStyle;\n\n const { user, onSuccess, onCloseRequest, onError, loader, launch } = props;\n const webViewRef = useRef<WebView | null>(null);\n const startMessage =\n props.mode === 'create' ? 'start_app' : 'select_location';\n const [ready, setReady] = useState(false);\n\n useEffect(() => {\n if (launch) {\n setReady(launch);\n }\n }, [launch]);\n\n useEffect(() => {\n async function startOkHiLocationManager() {\n const appConfiguration = await getApplicationConfiguration();\n if (!appConfiguration) {\n throw new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n const startPayload = await generateStartDataPayload(\n props,\n appConfiguration\n );\n setApplicationConfiguration(appConfiguration);\n setStartPaylaod(startPayload);\n if (Platform.OS === 'android' && Platform.Version > 25) {\n OkHiNativeModule.setItem(\n 'okcollect-launch-payload',\n JSON.stringify({\n message: startMessage,\n payload: startPayload,\n url: getFrameUrl(appConfiguration),\n })\n ).catch(console.error);\n }\n }\n\n if (launch) {\n startOkHiLocationManager();\n }\n }, [launch, props, onError]);\n\n const runWebViewCallback = (value: string) => {\n if (webViewRef.current) {\n const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === \"function\") { runOkHiLocationManagerCallback(\"${value}\") } })()`;\n webViewRef.current.injectJavaScript(jsString);\n }\n };\n\n const handleAndroidRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n if (level === 'whenInUse') {\n const whenInUseResult = await requestLocationPermission();\n const alwaysResult = await isBackgroundLocationPermissionGranted();\n runWebViewCallback(\n alwaysResult ? 'always' : whenInUseResult ? 'whenInUse' : 'blocked'\n );\n } else if (level === 'always') {\n const result = await requestBackgroundLocationPermission();\n runWebViewCallback(result ? 'always' : 'blocked');\n }\n };\n\n const handleIOSRequestLocationPermission = async (\n level: 'whenInUse' | 'always'\n ) => {\n const unknownError = new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message:\n 'Something went wrong while requesting permissions. Please try again later.',\n });\n try {\n const isServiceAvailable = await isLocationServicesEnabled();\n if (!isServiceAvailable) {\n openAppSettings();\n } else if (level === 'whenInUse') {\n const result = await requestLocationPermission();\n runWebViewCallback(result ? level : 'denied');\n } else if (level === 'always') {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback(level);\n } else {\n openAppSettings();\n }\n }\n } catch (error) {\n onError(unknownError);\n }\n };\n\n const handleRequestLocationPermission = async ({\n level,\n }: {\n level: 'whenInUse' | 'always';\n }) => {\n if (Platform.OS === 'android') {\n handleAndroidRequestLocationPermission(level);\n } else if (Platform.OS === 'ios') {\n handleIOSRequestLocationPermission(level);\n }\n };\n\n const handleOpenAppSettings = async () => {\n try {\n const granted = await isBackgroundLocationPermissionGranted();\n if (granted) {\n runWebViewCallback('always');\n } else {\n await openAppSettings();\n }\n } catch (error) {\n const err = error as OkHiException;\n onError(err);\n }\n };\n\n const handleOnMessage = ({ nativeEvent: { data } }: WebViewMessageEvent) => {\n try {\n const response: OkHiLocationManagerResponse = JSON.parse(data);\n\n if (response.message === 'fatal_exit') {\n //TODO: figure out bad phone number code\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: response.payload,\n })\n );\n } else if (response.message === 'exit_app') {\n onCloseRequest();\n } else if (response.message === 'request_enable_protected_apps') {\n openProtectedAppsSettings();\n } else if (\n response.message === 'location_created' ||\n response.message === 'location_selected' ||\n response.message === 'location_updated'\n ) {\n setReady(false); // auto close\n onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function () {\n const createdUser = { ...this.user };\n const location = { ...this.location };\n return new Promise((resolve, reject) => {\n if (!location.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing location id from response',\n })\n );\n } else if (!createdUser.id) {\n reject(\n new OkHiException({\n code: OkHiException.BAD_REQUEST_CODE,\n message: 'Missing user id from response',\n })\n );\n } else if (!createdUser.token) {\n reject(\n new OkHiException({\n code: OkHiException.UNAUTHORIZED_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n })\n );\n } else {\n const usageTypes: UsageType = Array.isArray(location.usageTypes)\n ? location.usageTypes\n : ['digital_verification'];\n sv(\n createdUser.token,\n createdUser.phone,\n createdUser.id,\n location.id,\n location.lat,\n location.lon,\n usageTypes\n )\n .then(resolve)\n .catch(reject);\n }\n });\n },\n });\n } else if (response.message === 'request_location_permission') {\n handleRequestLocationPermission(response.payload);\n } else if (response.message === 'open_app_settings') {\n handleOpenAppSettings();\n }\n } catch (error) {\n let errorMessage = 'Something went wrong';\n if (error instanceof Error) {\n errorMessage = error.message;\n }\n onError(\n new OkHiException({\n code: OkHiException.UNKNOWN_ERROR_CODE,\n message: errorMessage,\n })\n );\n }\n };\n\n const handleOnError = () => {\n onError(\n new OkHiException({\n code: OkHiException.NETWORK_ERROR_CODE,\n message: OkHiException.NETWORK_ERROR_MESSAGE,\n })\n );\n };\n\n const handleModalRequestClose = () => {\n webViewRef.current?.goBack();\n };\n\n const renderContent = () => {\n if (startPayload === null || applicationConfiguration == null) {\n return loader || <Spinner />;\n }\n\n const { jsAfterLoad, jsBeforeLoad } = generateJavaScriptStartScript({\n message: startMessage,\n payload: startPayload,\n });\n\n return (\n <SafeAreaView style={style}>\n <WebView\n source={{ uri: getFrameUrl(applicationConfiguration) }}\n injectedJavaScriptBeforeContentLoaded={\n Platform.OS === 'ios' ? jsBeforeLoad : undefined\n }\n injectedJavaScript={Platform.OS === 'ios' ? undefined : jsAfterLoad}\n onMessage={handleOnMessage}\n onError={handleOnError}\n onHttpError={handleOnError}\n geolocationEnabled={true}\n allowsBackForwardNavigationGestures={true}\n ref={webViewRef}\n />\n </SafeAreaView>\n );\n };\n\n return (\n <Modal\n animationType=\"slide\"\n transparent={false}\n visible={ready}\n onRequestClose={handleModalRequestClose}\n >\n {ready ? renderContent() : null}\n </Modal>\n );\n};\n\nexport default OkHiLocationManager;\n"],"mappings":"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","ignoreList":[]}
@@ -19,8 +19,8 @@ const fetchCurrentLocation = async () => {
19
19
  /**
20
20
  * @ignore
21
21
  */
22
- const generateStartDataPayload = async (props, authToken, applicationConfiguration) => {
23
- var _props$theme, _props$theme2, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$config2, _props$config3, _props$config4, _props$config5, _props$config6, _props$config7, _props$config8;
22
+ const generateStartDataPayload = async (props, applicationConfiguration) => {
23
+ var _props$theme, _props$theme2, _applicationConfigura, _applicationConfigura2, _applicationConfigura3, _props$config, _props$theme3, _props$config2, _props$config3, _props$config4, _props$config5, _props$config6, _props$config7, _props$location;
24
24
  const payload = {};
25
25
  const {
26
26
  manufacturer,
@@ -43,10 +43,12 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
43
43
  phone: props.user.phone,
44
44
  firstName: props.user.firstName,
45
45
  lastName: props.user.lastName,
46
- email: props.user.email
46
+ email: props.user.email,
47
+ appUserId: props.user.appUserId
47
48
  };
48
49
  payload.auth = {
49
- authToken
50
+ branchId: applicationConfiguration.credentials.branchId,
51
+ clientKey: applicationConfiguration.credentials.clientKey
50
52
  };
51
53
  payload.context = {
52
54
  container: {
@@ -81,8 +83,8 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
81
83
  work: typeof ((_props$config5 = props.config) === null || _props$config5 === void 0 || (_props$config5 = _props$config5.addressTypes) === null || _props$config5 === void 0 ? void 0 : _props$config5.work) === 'boolean' ? (_props$config6 = props.config) === null || _props$config6 === void 0 || (_props$config6 = _props$config6.addressTypes) === null || _props$config6 === void 0 ? void 0 : _props$config6.work : true
82
84
  },
83
85
  protectedApps: _reactNative.Platform.OS === 'android' && (await (0, _OkCore.canOpenProtectedAppsSettings)()),
84
- permissionsOnboarding: typeof ((_props$config7 = props.config) === null || _props$config7 === void 0 ? void 0 : _props$config7.permissionsOnboarding) === 'boolean' ? props.config.permissionsOnboarding : true,
85
- verificationTypes: ((_props$config8 = props.config) === null || _props$config8 === void 0 ? void 0 : _props$config8.verificationTypes) || ['digital']
86
+ permissionsOnboarding: true,
87
+ usageTypes: ((_props$config7 = props.config) === null || _props$config7 === void 0 ? void 0 : _props$config7.usageTypes) || ['digital_verification']
86
88
  };
87
89
  if (_reactNative.Platform.OS === 'ios') {
88
90
  const status = await _OkHiNativeModule.OkHiNativeModule.fetchIOSLocationPermissionStatus();
@@ -126,6 +128,11 @@ const generateStartDataPayload = async (props, authToken, applicationConfigurati
126
128
  message: _OkCore.OkHiException.UNAUTHORIZED_MESSAGE
127
129
  });
128
130
  }
131
+ if ((_props$location = props.location) !== null && _props$location !== void 0 && _props$location.id) {
132
+ payload.location = {
133
+ id: props.location.id
134
+ };
135
+ }
129
136
  return payload;
130
137
  };
131
138
 
@@ -209,7 +216,7 @@ const parseOkHiLocation = location => {
209
216
  state: location === null || location === void 0 ? void 0 : location.state,
210
217
  city: location === null || location === void 0 ? void 0 : location.city,
211
218
  countryCode: location === null || location === void 0 ? void 0 : location.country_code,
212
- verificationTypes: location === null || location === void 0 ? void 0 : location.verification_types
219
+ usageTypes: location === null || location === void 0 ? void 0 : location.usage_types
213
220
  };
214
221
  };
215
222
  exports.parseOkHiLocation = parseOkHiLocation;
@@ -1 +1 @@
1
- {"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","e","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","authToken","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","_props$config8","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","auth","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","verificationTypes","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","id","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code","verification_types"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n authToken: string,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n };\n payload.auth = {\n authToken,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding:\n typeof props.config?.permissionsOnboarding === 'boolean'\n ? props.config.permissionsOnboarding\n : true,\n verificationTypes: props.config?.verificationTypes || ['digital'],\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n verificationTypes: location?.verification_types,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_OkCore","require","_app","_interopRequireDefault","_reactNative","_OkHiNativeModule","e","__esModule","default","fetchCurrentLocation","result","OkHiNativeModule","generateStartDataPayload","props","applicationConfiguration","_props$theme","_props$theme2","_applicationConfigura","_applicationConfigura2","_applicationConfigura3","_props$config","_props$theme3","_props$config2","_props$config3","_props$config4","_props$config5","_props$config6","_props$config7","_props$location","payload","manufacturer","model","osVersion","platform","retrieveDeviceInfo","geofences","fetchRegisteredGeofences","locations","JSON","parse","style","theme","undefined","base","color","colors","primary","logo","appBar","name","app","user","phone","firstName","lastName","email","appUserId","auth","branchId","credentials","clientKey","context","container","version","developer","library","manifest","device","config","streetView","backgroundColor","visible","addressTypes","home","work","protectedApps","Platform","OS","canOpenProtectedAppsSettings","permissionsOnboarding","usageTypes","status","fetchIOSLocationPermissionStatus","locationPermission","permissions","location","coordinates","currentLocation","lat","lng","accuracy","hasLocationPermission","isLocationPermissionGranted","error","console","log","hasBackgroundLocationPermission","isBackgroundLocationPermissionGranted","OkHiException","code","UNSUPPORTED_PLATFORM_CODE","message","UNAUTHORIZED_MESSAGE","id","exports","getFrameUrl","DEV_FRAME_URL","PROD_FRAME_URL","SANDBOX_FRAME_URL","LEGACY_DEV_FRAME_URL","LEGACY_PROD_FRAME_URL","LEGACY_SANDBOX_FRAME_URL","Version","mode","OkHiMode","PROD","generateJavaScriptStartScript","startPayload","jsBeforeLoad","stringify","jsAfterLoad","parseOkHiLocation","_location$geo_point","_location$geo_point2","_location$street_view","_location$street_view2","geo_point","lon","placeId","place_id","plusCode","plus_code","propertyName","property_name","streetName","street_name","title","subtitle","directions","otherInformation","other_information","url","streetViewPanoId","street_view","pano_id","streetViewPanoUrl","userId","user_id","propertyNumber","photo","displayTitle","display_title","country","state","city","countryCode","country_code","usage_types"],"sources":["Util.ts"],"sourcesContent":["import type { OkHiLocationManagerProps } from './types';\nimport {\n canOpenProtectedAppsSettings,\n isBackgroundLocationPermissionGranted,\n isLocationPermissionGranted,\n OkHiException,\n OkHiLocation,\n} from '../OkCore';\nimport { OkHiMode } from '../OkCore';\nimport type {\n OkHiLocationManagerStartDataPayload,\n OkHiLocationManagerStartMessage,\n} from './types';\nimport manifest from './app.json'; //TODO: fix this\nimport type { AuthApplicationConfig } from '../OkCore/_types';\nimport { Platform } from 'react-native';\nimport { OkHiNativeModule } from '../OkHiNativeModule';\n\nconst fetchCurrentLocation = async (): Promise<null | {\n lat: number;\n lng: number;\n accuracy: number;\n}> => {\n const result = await OkHiNativeModule.fetchCurrentLocation();\n return result;\n};\n\n/**\n * @ignore\n */\nexport const generateStartDataPayload = async (\n props: OkHiLocationManagerProps,\n applicationConfiguration: AuthApplicationConfig\n): Promise<OkHiLocationManagerStartDataPayload> => {\n const payload: any = {};\n const { manufacturer, model, osVersion, platform } =\n await OkHiNativeModule.retrieveDeviceInfo();\n const geofences = await OkHiNativeModule.fetchRegisteredGeofences();\n if (geofences) {\n payload.locations = JSON.parse(geofences);\n }\n payload.style = !props.theme\n ? undefined\n : {\n base: {\n color: props.theme?.colors?.primary,\n logo: props.theme?.appBar?.logo,\n name: applicationConfiguration.app?.name,\n },\n };\n payload.user = {\n phone: props.user.phone,\n firstName: props.user.firstName,\n lastName: props.user.lastName,\n email: props.user.email,\n appUserId: props.user.appUserId,\n };\n payload.auth = {\n branchId: applicationConfiguration.credentials.branchId,\n clientKey: applicationConfiguration.credentials.clientKey,\n };\n payload.context = {\n container: {\n name: applicationConfiguration.app?.name,\n version: applicationConfiguration.app?.version,\n },\n developer: {\n name: applicationConfiguration.context.developer,\n },\n library: {\n name: manifest.name,\n version: manifest.version,\n },\n platform: {\n name: 'react-native',\n },\n device: {\n manufacturer,\n model,\n platform,\n osVersion,\n },\n };\n payload.config = {\n streetView:\n typeof props.config?.streetView === 'boolean'\n ? props.config.streetView\n : true,\n appBar: {\n color: props.theme?.appBar?.backgroundColor,\n visible: props.config?.appBar?.visible,\n },\n addressTypes: {\n home:\n typeof props.config?.addressTypes?.home === 'boolean'\n ? props.config?.addressTypes?.home\n : true,\n work:\n typeof props.config?.addressTypes?.work === 'boolean'\n ? props.config?.addressTypes?.work\n : true,\n },\n protectedApps:\n Platform.OS === 'android' && (await canOpenProtectedAppsSettings()),\n permissionsOnboarding: true,\n usageTypes: props.config?.usageTypes || ['digital_verification'],\n };\n\n if (Platform.OS === 'ios') {\n const status = await OkHiNativeModule.fetchIOSLocationPermissionStatus();\n const locationPermission =\n status === 'notDetermined'\n ? 'notDetermined'\n : status === 'authorizedWhenInUse'\n ? 'whenInUse'\n : status === 'authorizedAlways'\n ? 'always'\n : 'denied';\n payload.context.permissions = {\n location: locationPermission,\n };\n if (\n status === 'authorized' ||\n status === 'authorizedWhenInUse' ||\n status === 'authorizedAlways'\n ) {\n const location = await fetchCurrentLocation();\n if (location) {\n payload.context.coordinates = {\n currentLocation: {\n lat: location.lat,\n lng: location.lng,\n accuracy: location.accuracy,\n },\n };\n }\n }\n } else if (Platform.OS === 'android') {\n let hasLocationPermission: boolean | undefined;\n try {\n hasLocationPermission = await isLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n let hasBackgroundLocationPermission: boolean | undefined;\n try {\n hasBackgroundLocationPermission =\n await isBackgroundLocationPermissionGranted();\n } catch (error) {\n console.log(error);\n }\n\n if (\n typeof hasLocationPermission === 'boolean' &&\n typeof hasBackgroundLocationPermission === 'boolean'\n ) {\n payload.context.permissions = {\n location: hasBackgroundLocationPermission\n ? 'always'\n : hasLocationPermission\n ? 'whenInUse'\n : 'denied',\n };\n }\n } else {\n throw new OkHiException({\n code: OkHiException.UNSUPPORTED_PLATFORM_CODE,\n message: OkHiException.UNAUTHORIZED_MESSAGE,\n });\n }\n\n if (props.location?.id) {\n payload.location = {\n id: props.location.id,\n };\n }\n\n return payload;\n};\n\n/**\n * @ignore\n */\nexport const getFrameUrl = (\n applicationConfiguration: AuthApplicationConfig\n): string => {\n const DEV_FRAME_URL = 'https://dev-manager-v5.okhi.io';\n const PROD_FRAME_URL = 'https://manager-v5.okhi.io';\n const SANDBOX_FRAME_URL = 'https://sandbox-manager-v5.okhi.io';\n\n const LEGACY_DEV_FRAME_URL = 'https://dev-legacy-manager-v5.okhi.io';\n const LEGACY_PROD_FRAME_URL = 'https://legacy-manager-v5.okhi.io';\n const LEGACY_SANDBOX_FRAME_URL = 'https://sandbox-legacy-manager-v5.okhi.io';\n\n if (Platform.OS === 'android' && Platform.Version < 24) {\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return LEGACY_PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return LEGACY_DEV_FRAME_URL;\n }\n return LEGACY_SANDBOX_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === OkHiMode.PROD) {\n return PROD_FRAME_URL;\n }\n if (applicationConfiguration.context.mode === ('dev' as any)) {\n return DEV_FRAME_URL;\n }\n return SANDBOX_FRAME_URL;\n};\n\n/**\n * @ignore\n */\nexport const generateJavaScriptStartScript = (startPayload: {\n message: OkHiLocationManagerStartMessage;\n payload: OkHiLocationManagerStartDataPayload;\n}) => {\n const jsBeforeLoad = `\n window.isNativeApp = true;\n window.NativeApp = {\n bridge: {\n receiveMessage: window.ReactNativeWebView.postMessage\n },\n data: ${JSON.stringify(startPayload)}\n }\n true;\n `;\n const jsAfterLoad = `window.startOkHiLocationManager({ receiveMessage: function(data) { window.ReactNativeWebView.postMessage(data) } }, ${JSON.stringify(\n startPayload\n )})`;\n return { jsBeforeLoad, jsAfterLoad };\n};\n\n/**\n * @ignore\n */\nexport const parseOkHiLocation = (location: any): OkHiLocation => {\n return {\n id: location?.id,\n lat: location?.geo_point?.lat,\n lon: location?.geo_point?.lon,\n placeId: location?.place_id,\n plusCode: location?.plus_code,\n propertyName: location?.property_name,\n streetName: location?.street_name,\n title: location?.title,\n subtitle: location?.subtitle,\n directions: location?.directions,\n otherInformation: location?.other_information,\n url: location?.url,\n streetViewPanoId: location?.street_view?.pano_id,\n streetViewPanoUrl: location?.street_view?.url,\n userId: location?.user_id,\n propertyNumber: location?.propertyNumber,\n photo: location?.photo,\n displayTitle: location?.display_title,\n country: location?.country,\n state: location?.state,\n city: location?.city,\n countryCode: location?.country_code,\n usageTypes: location?.usage_types,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "okhiWebReactNative",
3
- "version": "1.2.20"
3
+ "version": "1.2.21-beta.2"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewStyle } from 'react-native';\nimport type { OkHiException } from '../OkCore/OkHiException';\nimport type { OkHiUser, OkHiLocation, VerificationType } from '../OkCore/types';\n\n/**\n * The OkCollect Success Response object contains information about the newly created user and location once an address has been successfully created.\n * It can be used to extract information about the address and/or start address verification process.\n */\nexport interface OkCollectSuccessResponse {\n /**\n * The [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object containing information about the newly created user.\n */\n user: OkHiUser;\n /**\n * The [OkHiLocation](https://okhi.github.io/react-native-core/interfaces/okhilocation.html) object containing information about the newly created user.\n */\n location: OkHiLocation;\n\n /**\n * Starts address verification\n */\n startVerification: () => Promise<string>;\n}\n\n/**\n * The OkHiLocationManager exposes props that you can use to customise it's functionality and appearance.\n */\nexport interface OkHiLocationManagerProps {\n /**\n * **Required:** A boolean flag that determines whether or not to show the Location Manager.\n */\n launch: boolean;\n /**\n * **Required:** A defined [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object, with a mandatory \"phone\" key property.\n */\n user: OkHiUser;\n /**\n * **Optional:** A custom JSX.Element that'll be used as a loading indicator.\n */\n loader?: JSX.Element;\n /**\n * **Optional:** Used to customise the appearance of the Container that wraps the location manager.\n */\n style?: ViewStyle;\n /**\n * **Required:** A callback that'll be invoked with an {@link OkCollectSuccessResponse} once an accurate OkHi address has been successfully created.\n */\n onSuccess: (response: OkCollectSuccessResponse) => any;\n /**\n * **Required:** A callback that'll be invoked whenever an error occurs during the address creation process.\n */\n onError: (error: OkHiException) => any;\n /**\n * **Required:** A callback that'll be invoked whenever a user taps on the close button.\n */\n onCloseRequest: () => any;\n /**\n * **Optional:** An object that'll be used to customise the appearance of the Location Manager to better match your branding requirements.\n */\n theme?: {\n appBar?: {\n backgroundColor?: string;\n logo?: string;\n };\n colors?: {\n primary?: string;\n };\n };\n /**\n * **Optional:** An object that'll be used to customise the functionality of the Location Manager. This object dictates whether you want some features on or off.\n */\n config?: {\n streetView?: boolean;\n appBar?: {\n visible?: boolean;\n };\n addressTypes?: {\n home?: boolean;\n work?: boolean;\n };\n permissionsOnboarding?: boolean;\n verificationTypes?: VerificationType;\n };\n\n /**\n * **Optional:** Enable a user to either select an existing address, or force to create a new one\n */\n mode?: 'create' | 'select';\n}\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerStartDataPayload {\n style?: {\n base?: {\n color?: string;\n logo?: string;\n name?: string;\n };\n };\n auth: {\n authToken: string;\n };\n context: {\n container?: {\n name?: string;\n version?: string;\n };\n developer: {\n name: string;\n };\n library: {\n name: string;\n version: string;\n };\n platform: {\n name: 'react-native';\n };\n };\n config?: {\n streetView?: boolean;\n appBar?: {\n color?: string;\n visible?: boolean;\n };\n verificationTypes: VerificationType;\n };\n user: OkHiUser;\n}\n\n/**\n * @ignore\n */\nexport type OkHiLocationManagerStartMessage = 'select_location' | 'start_app';\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerResponse {\n message:\n | 'location_selected'\n | 'location_created'\n | 'location_updated'\n | 'exit_app'\n | 'request_enable_protected_apps'\n | 'fatal_exit'\n | 'request_location_permission';\n payload: any;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewStyle } from 'react-native';\nimport type { OkHiException } from '../OkCore/OkHiException';\nimport type { OkHiUser, OkHiLocation, UsageType } from '../OkCore/types';\n\n/**\n * The OkCollect Success Response object contains information about the newly created user and location once an address has been successfully created.\n * It can be used to extract information about the address and/or start address verification process.\n */\nexport interface OkCollectSuccessResponse {\n /**\n * The [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object containing information about the newly created user.\n */\n user: OkHiUser;\n /**\n * The [OkHiLocation](https://okhi.github.io/react-native-core/interfaces/okhilocation.html) object containing information about the newly created user.\n */\n location: OkHiLocation;\n\n /**\n * Starts address verification\n */\n startVerification: () => Promise<string>;\n}\n\n/**\n * The OkHiLocationManager exposes props that you can use to customise it's functionality and appearance.\n */\nexport interface OkHiLocationManagerProps {\n /**\n * **Required:** A boolean flag that determines whether or not to show the Location Manager.\n */\n launch: boolean;\n /**\n * **Required:** A defined [OkHiUser](https://okhi.github.io/react-native-core/interfaces/okhiuser.html) object, with a mandatory \"phone\" key property.\n */\n user: OkHiUser;\n /**\n * **Optional:** A custom JSX.Element that'll be used as a loading indicator.\n */\n loader?: JSX.Element;\n /**\n * **Optional:** Used to customise the appearance of the Container that wraps the location manager.\n */\n style?: ViewStyle;\n /**\n * **Required:** A callback that'll be invoked with an {@link OkCollectSuccessResponse} once an accurate OkHi address has been successfully created.\n */\n onSuccess: (response: OkCollectSuccessResponse) => any;\n /**\n * **Required:** A callback that'll be invoked whenever an error occurs during the address creation process.\n */\n onError: (error: OkHiException) => any;\n /**\n * **Required:** A callback that'll be invoked whenever a user taps on the close button.\n */\n onCloseRequest: () => any;\n /**\n * **Optional:** An object that'll be used to customise the appearance of the Location Manager to better match your branding requirements.\n */\n theme?: {\n appBar?: {\n backgroundColor?: string;\n logo?: string;\n };\n colors?: {\n primary?: string;\n };\n };\n /**\n * **Optional:** An object that'll be used to customise the functionality of the Location Manager. This object dictates whether you want some features on or off.\n */\n config?: {\n streetView?: boolean;\n appBar?: {\n visible?: boolean;\n };\n addressTypes?: {\n home?: boolean;\n work?: boolean;\n };\n usageTypes?: UsageType;\n };\n\n /**\n * **Optional:** Enable a user to either select an existing address, or force to create a new one\n */\n mode?: 'create' | 'select';\n\n location?: {\n id: string;\n };\n}\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerStartDataPayload {\n style?: {\n base?: {\n color?: string;\n logo?: string;\n name?: string;\n };\n };\n auth: {\n authToken: string;\n };\n context: {\n container?: {\n name?: string;\n version?: string;\n };\n developer: {\n name: string;\n };\n library: {\n name: string;\n version: string;\n };\n platform: {\n name: 'react-native';\n };\n };\n config?: {\n streetView?: boolean;\n appBar?: {\n color?: string;\n visible?: boolean;\n };\n usageTypes: UsageType;\n };\n user: OkHiUser;\n}\n\n/**\n * @ignore\n */\nexport type OkHiLocationManagerStartMessage = 'select_location' | 'start_app';\n\n/**\n * @ignore\n */\nexport interface OkHiLocationManagerResponse {\n message:\n | 'location_selected'\n | 'location_created'\n | 'location_updated'\n | 'exit_app'\n | 'request_enable_protected_apps'\n | 'fatal_exit'\n | 'request_location_permission';\n payload: any;\n}\n"],"mappings":"","ignoreList":[]}