react-native-okhi 1.2.15 → 1.2.17
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.
- package/android/build.gradle +2 -2
- package/ios/Okhi.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Okhi.xcodeproj/project.xcworkspace/xcuserdata/kiano.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Okhi.xcodeproj/xcuserdata/kiano.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/lib/commonjs/OkCollect/Helpers.js +7 -0
- package/lib/commonjs/OkCollect/Helpers.js.map +1 -1
- package/lib/commonjs/OkCollect/OkHiLocationManager.js +43 -8
- package/lib/commonjs/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/commonjs/OkCollect/Spinner.js +5 -0
- package/lib/commonjs/OkCollect/Spinner.js.map +1 -1
- package/lib/commonjs/OkCollect/Util.js +46 -16
- package/lib/commonjs/OkCollect/Util.js.map +1 -1
- package/lib/commonjs/OkCollect/app.json +1 -1
- package/lib/commonjs/OkCollect/index.js +5 -0
- package/lib/commonjs/OkCollect/index.js.map +1 -1
- package/lib/commonjs/OkCore/Helpers.js +90 -16
- package/lib/commonjs/OkCore/Helpers.js.map +1 -1
- package/lib/commonjs/OkCore/OkHiAuth.js +28 -3
- package/lib/commonjs/OkCore/OkHiAuth.js.map +1 -1
- package/lib/commonjs/OkCore/OkHiException.js +91 -54
- package/lib/commonjs/OkCore/OkHiException.js.map +1 -1
- package/lib/commonjs/OkCore/OkHiMode.js +1 -0
- package/lib/commonjs/OkCore/OkHiMode.js.map +1 -1
- package/lib/commonjs/OkCore/_helpers.js +9 -2
- package/lib/commonjs/OkCore/_helpers.js.map +1 -1
- package/lib/commonjs/OkCore/index.js +24 -3
- package/lib/commonjs/OkCore/index.js.map +1 -1
- package/lib/commonjs/OkHiNativeModule/index.js +3 -0
- package/lib/commonjs/OkHiNativeModule/index.js.map +1 -1
- package/lib/commonjs/OkVerify/index.js +50 -9
- package/lib/commonjs/OkVerify/index.js.map +1 -1
- package/lib/commonjs/index.js +6 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/OkCollect/Helpers.js +3 -1
- package/lib/module/OkCollect/Helpers.js.map +1 -1
- package/lib/module/OkCollect/OkHiLocationManager.js +30 -9
- package/lib/module/OkCollect/OkHiLocationManager.js.map +1 -1
- package/lib/module/OkCollect/Spinner.js +1 -1
- package/lib/module/OkCollect/Spinner.js.map +1 -1
- package/lib/module/OkCollect/Util.js +35 -15
- package/lib/module/OkCollect/Util.js.map +1 -1
- package/lib/module/OkCollect/app.json +1 -1
- package/lib/module/OkCollect/index.js.map +1 -1
- package/lib/module/OkCore/Helpers.js +56 -17
- package/lib/module/OkCore/Helpers.js.map +1 -1
- package/lib/module/OkCore/OkHiAuth.js +20 -4
- package/lib/module/OkCore/OkHiAuth.js.map +1 -1
- package/lib/module/OkCore/OkHiException.js +89 -54
- package/lib/module/OkCore/OkHiException.js.map +1 -1
- package/lib/module/OkCore/OkHiMode.js.map +1 -1
- package/lib/module/OkCore/_helpers.js +4 -2
- package/lib/module/OkCore/_helpers.js.map +1 -1
- package/lib/module/OkCore/index.js +12 -3
- package/lib/module/OkCore/index.js.map +1 -1
- package/lib/module/OkHiNativeModule/index.js +1 -0
- package/lib/module/OkHiNativeModule/index.js.map +1 -1
- package/lib/module/OkVerify/index.js +22 -9
- package/lib/module/OkVerify/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/OkCollect/OkHiLocationManager.d.ts +1 -2
- package/lib/typescript/OkCollect/Spinner.d.ts +1 -2
- package/lib/typescript/OkCollect/types.d.ts +1 -1
- package/lib/typescript/OkCore/_types.d.ts +3 -3
- package/lib/typescript/OkCore/types.d.ts +5 -5
- package/lib/typescript/OkHiNativeModule/index.d.ts +1 -1
- package/lib/typescript/OkVerify/types.d.ts +1 -1
- package/package.json +1 -1
- package/react-native-okhi.podspec +1 -1
- package/src/OkCollect/OkHiLocationManager.tsx +1 -0
- package/src/OkCollect/app.json +1 -1
package/android/build.gradle
CHANGED
|
@@ -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.
|
|
130
|
-
implementation 'io.okhi.android:okverify:1.9.
|
|
129
|
+
implementation 'io.okhi.android:core:1.7.18'
|
|
130
|
+
implementation 'io.okhi.android:okverify:1.9.45'
|
|
131
131
|
// From node_modules
|
|
132
132
|
}
|
|
133
133
|
|
|
Binary file
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
+
<plist version="1.0">
|
|
4
|
+
<dict>
|
|
5
|
+
<key>SchemeUserState</key>
|
|
6
|
+
<dict>
|
|
7
|
+
<key>Okhi.xcscheme_^#shared#^_</key>
|
|
8
|
+
<dict>
|
|
9
|
+
<key>orderHint</key>
|
|
10
|
+
<integer>0</integer>
|
|
11
|
+
</dict>
|
|
12
|
+
</dict>
|
|
13
|
+
</dict>
|
|
14
|
+
</plist>
|
|
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.canStartAddressCreation = void 0;
|
|
7
|
+
|
|
7
8
|
var _reactNative = require("react-native");
|
|
9
|
+
|
|
8
10
|
var _Helpers = require("../OkCore/Helpers");
|
|
11
|
+
|
|
9
12
|
var _OkHiException = require("../OkCore/OkHiException");
|
|
13
|
+
|
|
10
14
|
/**
|
|
11
15
|
* Checks whether all necessary permissions and services are available in order to start the address creation process.
|
|
12
16
|
* @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.
|
|
@@ -19,10 +23,12 @@ const canStartAddressCreation = configuration => {
|
|
|
19
23
|
const locationServicesStatus = await (0, _Helpers.isLocationServicesEnabled)();
|
|
20
24
|
const googlePlayServices = _reactNative.Platform.OS === 'android' ? await (0, _Helpers.isGooglePlayServicesAvailable)() : true;
|
|
21
25
|
const locationPerm = await (0, _Helpers.isLocationPermissionGranted)();
|
|
26
|
+
|
|
22
27
|
if (!requestServices) {
|
|
23
28
|
resolve(locationServicesStatus && googlePlayServices && locationPerm);
|
|
24
29
|
return;
|
|
25
30
|
}
|
|
31
|
+
|
|
26
32
|
if (!locationServicesStatus && _reactNative.Platform.OS === 'ios') {
|
|
27
33
|
reject(new _OkHiException.OkHiException({
|
|
28
34
|
code: _OkHiException.OkHiException.SERVICE_UNAVAILABLE_CODE,
|
|
@@ -36,5 +42,6 @@ const canStartAddressCreation = configuration => {
|
|
|
36
42
|
}
|
|
37
43
|
});
|
|
38
44
|
};
|
|
45
|
+
|
|
39
46
|
exports.canStartAddressCreation = canStartAddressCreation;
|
|
40
47
|
//# sourceMappingURL=Helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["canStartAddressCreation","configuration","Promise","resolve","reject","requestServices","locationServicesStatus","isLocationServicesEnabled","googlePlayServices","Platform","OS","isGooglePlayServicesAvailable","locationPerm","isLocationPermissionGranted","OkHiException","code","SERVICE_UNAVAILABLE_CODE","message","locationServicesRequestStatus","requestEnableLocationServices","gPlayServices","requestEnableGooglePlayServices","locationPermStatus","requestLocationPermission"],"sources":["Helpers.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport {\n isLocationServicesEnabled,\n isLocationPermissionGranted,\n isGooglePlayServicesAvailable,\n requestEnableLocationServices,\n requestEnableGooglePlayServices,\n requestLocationPermission,\n} from '../OkCore/Helpers';\nimport { OkHiException } from '../OkCore/OkHiException';\n\n/**\n * Checks whether all necessary permissions and services are available in order to start the address creation process.\n * @param {Object} configuration Object that determines whether or not to request these permissions and services from the user.\n * @param {boolean} configuration.requestServices Flag that determines whether to request the services from the user.\n * @returns {Promise<boolean>} A promise that resolves to a boolean value indicating whether or not all conditions are met to start the address creation process.\n */\nexport const canStartAddressCreation = (configuration?: {\n requestServices?: boolean;\n}): Promise<boolean> => {\n return new Promise(async (resolve, reject) => {\n const requestServices = configuration && configuration.requestServices;\n const locationServicesStatus = await isLocationServicesEnabled();\n const googlePlayServices =\n Platform.OS === 'android' ? await isGooglePlayServicesAvailable() : true;\n const locationPerm = await isLocationPermissionGranted();\n if (!requestServices) {\n resolve(locationServicesStatus && googlePlayServices && locationPerm);\n return;\n }\n if (!locationServicesStatus && Platform.OS === 'ios') {\n reject(\n new OkHiException({\n code: OkHiException.SERVICE_UNAVAILABLE_CODE,\n message: 'Location services is unavailable',\n })\n );\n } else {\n const locationServicesRequestStatus =\n Platform.OS === 'ios'\n ? true\n : ((await requestEnableLocationServices()) as boolean);\n const gPlayServices =\n Platform.OS === 'android'\n ? await requestEnableGooglePlayServices()\n : true;\n const locationPermStatus = await requestLocationPermission();\n resolve(\n locationServicesRequestStatus && gPlayServices && locationPermStatus\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAIC,aAAD,IAEf;EACtB,OAAO,IAAIC,OAAJ,CAAY,OAAOC,OAAP,EAAgBC,MAAhB,KAA2B;IAC5C,MAAMC,eAAe,GAAGJ,aAAa,IAAIA,aAAa,CAACI,eAAvD;IACA,MAAMC,sBAAsB,GAAG,MAAM,IAAAC,kCAAA,GAArC;IACA,MAAMC,kBAAkB,GACtBC,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GAA4B,MAAM,IAAAC,sCAAA,GAAlC,GAAoE,IADtE;IAEA,MAAMC,YAAY,GAAG,MAAM,IAAAC,oCAAA,GAA3B;;IACA,IAAI,CAACR,eAAL,EAAsB;MACpBF,OAAO,CAACG,sBAAsB,IAAIE,kBAA1B,IAAgDI,YAAjD,CAAP;MACA;IACD;;IACD,IAAI,CAACN,sBAAD,IAA2BG,qBAAA,CAASC,EAAT,KAAgB,KAA/C,EAAsD;MACpDN,MAAM,CACJ,IAAIU,4BAAJ,CAAkB;QAChBC,IAAI,EAAED,4BAAA,CAAcE,wBADJ;QAEhBC,OAAO,EAAE;MAFO,CAAlB,CADI,CAAN;IAMD,CAPD,MAOO;MACL,MAAMC,6BAA6B,GACjCT,qBAAA,CAASC,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEM,MAAM,IAAAS,sCAAA,GAHd;MAIA,MAAMC,aAAa,GACjBX,qBAAA,CAASC,EAAT,KAAgB,SAAhB,GACI,MAAM,IAAAW,wCAAA,GADV,GAEI,IAHN;MAIA,MAAMC,kBAAkB,GAAG,MAAM,IAAAC,kCAAA,GAAjC;MACApB,OAAO,CACLe,6BAA6B,IAAIE,aAAjC,IAAkDE,kBAD7C,CAAP;IAGD;EACF,CA/BM,CAAP;AAgCD,CAnCM"}
|
|
@@ -4,18 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.OkHiLocationManager = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
8
10
|
var _reactNative = require("react-native");
|
|
11
|
+
|
|
9
12
|
var _reactNativeWebview = require("react-native-webview");
|
|
13
|
+
|
|
10
14
|
var _Spinner = require("./Spinner");
|
|
15
|
+
|
|
11
16
|
var _Util = require("./Util");
|
|
17
|
+
|
|
12
18
|
var _OkHiException = require("../OkCore/OkHiException");
|
|
19
|
+
|
|
13
20
|
var _OkHiAuth = require("../OkCore/OkHiAuth");
|
|
21
|
+
|
|
14
22
|
var _OkVerify = require("../OkVerify");
|
|
23
|
+
|
|
15
24
|
var _OkCore = require("../OkCore");
|
|
25
|
+
|
|
16
26
|
var _OkHiNativeModule = require("../OkHiNativeModule");
|
|
27
|
+
|
|
17
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
18
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
19
32
|
/**
|
|
20
33
|
* The OkHiLocationManager React Component is used to display an in app modal, enabling the user to quickly create an accurate OkHi address.
|
|
21
34
|
*/
|
|
@@ -26,8 +39,7 @@ const OkHiLocationManager = props => {
|
|
|
26
39
|
const defaultStyle = {
|
|
27
40
|
flex: 1
|
|
28
41
|
};
|
|
29
|
-
const style = props.style ? {
|
|
30
|
-
...props.style,
|
|
42
|
+
const style = props.style ? { ...props.style,
|
|
31
43
|
...defaultStyle
|
|
32
44
|
} : defaultStyle;
|
|
33
45
|
const {
|
|
@@ -67,6 +79,7 @@ const OkHiLocationManager = props => {
|
|
|
67
79
|
// TODO: handle faliure
|
|
68
80
|
(0, _Util.generateStartDataPayload)(props, token, applicationConfiguration).then(startPayload => {
|
|
69
81
|
setStartPaylaod(startPayload);
|
|
82
|
+
|
|
70
83
|
if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version > 25) {
|
|
71
84
|
_OkHiNativeModule.OkHiNativeModule.setItem('okcollect-launch-payload', JSON.stringify({
|
|
72
85
|
message: startMessage,
|
|
@@ -97,12 +110,14 @@ const OkHiLocationManager = props => {
|
|
|
97
110
|
setReady(false);
|
|
98
111
|
}
|
|
99
112
|
}, [launch, config === null || config === void 0 ? void 0 : config.permissionsOnboarding]);
|
|
113
|
+
|
|
100
114
|
const runWebViewCallback = value => {
|
|
101
115
|
if (webViewRef.current) {
|
|
102
116
|
const jsString = `(function (){ if (typeof runOkHiLocationManagerCallback === "function") { runOkHiLocationManagerCallback("${value}") } })()`;
|
|
103
117
|
webViewRef.current.injectJavaScript(jsString);
|
|
104
118
|
}
|
|
105
119
|
};
|
|
120
|
+
|
|
106
121
|
const handleAndroidRequestLocationPermission = async level => {
|
|
107
122
|
if (level === 'whenInUse') {
|
|
108
123
|
const whenInUseResult = await (0, _OkCore.requestLocationPermission)();
|
|
@@ -113,13 +128,16 @@ const OkHiLocationManager = props => {
|
|
|
113
128
|
runWebViewCallback(result ? 'always' : 'blocked');
|
|
114
129
|
}
|
|
115
130
|
};
|
|
131
|
+
|
|
116
132
|
const handleIOSRequestLocationPermission = async level => {
|
|
117
133
|
const unknownError = new _OkHiException.OkHiException({
|
|
118
134
|
code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
|
|
119
135
|
message: 'Something went wrong while requesting permissions. Please try again later.'
|
|
120
136
|
});
|
|
137
|
+
|
|
121
138
|
try {
|
|
122
139
|
const isServiceAvailable = await (0, _OkCore.isLocationServicesEnabled)();
|
|
140
|
+
|
|
123
141
|
if (!isServiceAvailable) {
|
|
124
142
|
(0, _OkCore.openAppSettings)();
|
|
125
143
|
} else if (level === 'whenInUse') {
|
|
@@ -127,6 +145,7 @@ const OkHiLocationManager = props => {
|
|
|
127
145
|
runWebViewCallback(result ? level : 'denied');
|
|
128
146
|
} else if (level === 'always') {
|
|
129
147
|
const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
|
|
148
|
+
|
|
130
149
|
if (granted) {
|
|
131
150
|
runWebViewCallback(level);
|
|
132
151
|
} else {
|
|
@@ -137,19 +156,23 @@ const OkHiLocationManager = props => {
|
|
|
137
156
|
onError(unknownError);
|
|
138
157
|
}
|
|
139
158
|
};
|
|
159
|
+
|
|
140
160
|
const handleRequestLocationPermission = async _ref => {
|
|
141
161
|
let {
|
|
142
162
|
level
|
|
143
163
|
} = _ref;
|
|
164
|
+
|
|
144
165
|
if (_reactNative.Platform.OS === 'android') {
|
|
145
166
|
handleAndroidRequestLocationPermission(level);
|
|
146
167
|
} else if (_reactNative.Platform.OS === 'ios') {
|
|
147
168
|
handleIOSRequestLocationPermission(level);
|
|
148
169
|
}
|
|
149
170
|
};
|
|
171
|
+
|
|
150
172
|
const handleOpenAppSettings = async () => {
|
|
151
173
|
try {
|
|
152
174
|
const granted = await (0, _OkCore.isBackgroundLocationPermissionGranted)();
|
|
175
|
+
|
|
153
176
|
if (granted) {
|
|
154
177
|
runWebViewCallback('always');
|
|
155
178
|
} else {
|
|
@@ -160,14 +183,17 @@ const OkHiLocationManager = props => {
|
|
|
160
183
|
onError(err);
|
|
161
184
|
}
|
|
162
185
|
};
|
|
186
|
+
|
|
163
187
|
const handleOnMessage = _ref2 => {
|
|
164
188
|
let {
|
|
165
189
|
nativeEvent: {
|
|
166
190
|
data
|
|
167
191
|
}
|
|
168
192
|
} = _ref2;
|
|
193
|
+
|
|
169
194
|
try {
|
|
170
195
|
const response = JSON.parse(data);
|
|
196
|
+
|
|
171
197
|
if (response.message === 'fatal_exit') {
|
|
172
198
|
//TODO: figure out bad phone number code
|
|
173
199
|
onError(new _OkHiException.OkHiException({
|
|
@@ -179,18 +205,17 @@ const OkHiLocationManager = props => {
|
|
|
179
205
|
} else if (response.message === 'request_enable_protected_apps') {
|
|
180
206
|
(0, _OkCore.openProtectedAppsSettings)();
|
|
181
207
|
} else if (response.message === 'location_created' || response.message === 'location_selected' || response.message === 'location_updated') {
|
|
208
|
+
setReady(false); // auto close
|
|
209
|
+
|
|
182
210
|
onSuccess({
|
|
183
|
-
user: {
|
|
184
|
-
...response.payload.user,
|
|
211
|
+
user: { ...response.payload.user,
|
|
185
212
|
fcmPushNotificationToken: user.fcmPushNotificationToken
|
|
186
213
|
},
|
|
187
214
|
location: (0, _Util.parseOkHiLocation)(response.payload.location),
|
|
188
215
|
startVerification: function (config) {
|
|
189
|
-
const createdUser = {
|
|
190
|
-
...this.user
|
|
216
|
+
const createdUser = { ...this.user
|
|
191
217
|
};
|
|
192
|
-
const location = {
|
|
193
|
-
...this.location
|
|
218
|
+
const location = { ...this.location
|
|
194
219
|
};
|
|
195
220
|
return new Promise((resolve, reject) => {
|
|
196
221
|
if (!location.id) {
|
|
@@ -211,32 +236,40 @@ const OkHiLocationManager = props => {
|
|
|
211
236
|
}
|
|
212
237
|
} catch (error) {
|
|
213
238
|
let errorMessage = 'Something went wrong';
|
|
239
|
+
|
|
214
240
|
if (error instanceof Error) {
|
|
215
241
|
errorMessage = error.message;
|
|
216
242
|
}
|
|
243
|
+
|
|
217
244
|
onError(new _OkHiException.OkHiException({
|
|
218
245
|
code: _OkHiException.OkHiException.UNKNOWN_ERROR_CODE,
|
|
219
246
|
message: errorMessage
|
|
220
247
|
}));
|
|
221
248
|
}
|
|
222
249
|
};
|
|
250
|
+
|
|
223
251
|
const handleOnError = () => {
|
|
224
252
|
onError(new _OkHiException.OkHiException({
|
|
225
253
|
code: _OkHiException.OkHiException.NETWORK_ERROR_CODE,
|
|
226
254
|
message: _OkHiException.OkHiException.NETWORK_ERROR_MESSAGE
|
|
227
255
|
}));
|
|
228
256
|
};
|
|
257
|
+
|
|
229
258
|
const handleModalRequestClose = () => {
|
|
230
259
|
var _webViewRef$current;
|
|
260
|
+
|
|
231
261
|
(_webViewRef$current = webViewRef.current) === null || _webViewRef$current === void 0 ? void 0 : _webViewRef$current.goBack();
|
|
232
262
|
};
|
|
263
|
+
|
|
233
264
|
const renderContent = () => {
|
|
234
265
|
if (token === null || applicationConfiguration == null) {
|
|
235
266
|
return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
236
267
|
}
|
|
268
|
+
|
|
237
269
|
if (startPayload === null) {
|
|
238
270
|
return loader || /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null);
|
|
239
271
|
}
|
|
272
|
+
|
|
240
273
|
const {
|
|
241
274
|
jsAfterLoad,
|
|
242
275
|
jsBeforeLoad
|
|
@@ -260,6 +293,7 @@ const OkHiLocationManager = props => {
|
|
|
260
293
|
ref: webViewRef
|
|
261
294
|
}));
|
|
262
295
|
};
|
|
296
|
+
|
|
263
297
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
|
|
264
298
|
animationType: "slide",
|
|
265
299
|
transparent: false,
|
|
@@ -267,6 +301,7 @@ const OkHiLocationManager = props => {
|
|
|
267
301
|
onRequestClose: handleModalRequestClose
|
|
268
302
|
}, ready ? renderContent() : null);
|
|
269
303
|
};
|
|
304
|
+
|
|
270
305
|
exports.OkHiLocationManager = OkHiLocationManager;
|
|
271
306
|
var _default = OkHiLocationManager;
|
|
272
307
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_Spinner","_Util","_OkHiException","_OkHiAuth","_OkVerify","_OkCore","_OkHiNativeModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","_ref","handleOpenAppSettings","err","handleOnMessage","_ref2","nativeEvent","data","response","parse","openProtectedAppsSettings","fcmPushNotificationToken","location","parseOkHiLocation","startVerification","createdUser","Promise","resolve","reject","id","BAD_REQUEST_CODE","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 type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\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 onSuccess({\n user: {\n ...response.payload.user,\n fcmPushNotificationToken: user.fcmPushNotificationToken,\n },\n location: parseOkHiLocation(response.payload.location),\n startVerification: function (config?: OkVerifyStartConfiguration) {\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 sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\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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"}
|
|
1
|
+
{"version":3,"names":["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","sv","lat","lon","errorMessage","Error","handleOnError","NETWORK_ERROR_CODE","NETWORK_ERROR_MESSAGE","handleModalRequestClose","goBack","renderContent","jsAfterLoad","jsBeforeLoad","generateJavaScriptStartScript","uri","undefined"],"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 type { OkVerifyStartConfiguration } from '../OkVerify/types';\nimport {\n getApplicationConfiguration,\n isBackgroundLocationPermissionGranted,\n isLocationServicesEnabled,\n openAppSettings,\n openProtectedAppsSettings,\n requestBackgroundLocationPermission,\n requestLocationPermission,\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 (config?: OkVerifyStartConfiguration) {\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 sv(\n createdUser.phone,\n location.id,\n location.lat,\n location.lon,\n config,\n createdUser.fcmPushNotificationToken\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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"}
|
|
@@ -4,9 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Spinner = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _reactNative = require("react-native");
|
|
11
|
+
|
|
9
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
10
14
|
/**
|
|
11
15
|
* Default spinner component that'll be used as the initial loading indicator.
|
|
12
16
|
*/
|
|
@@ -23,5 +27,6 @@ const Spinner = () => {
|
|
|
23
27
|
size: "small"
|
|
24
28
|
}));
|
|
25
29
|
};
|
|
30
|
+
|
|
26
31
|
exports.Spinner = Spinner;
|
|
27
32
|
//# sourceMappingURL=Spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Spinner","style","flex","alignItems","justifyContent"],"sources":["Spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, View, ViewStyle } from 'react-native';\n\n/**\n * Default spinner component that'll be used as the initial loading indicator.\n */\nexport const Spinner = () => {\n const style: ViewStyle = {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n };\n return (\n <View style={style}>\n <ActivityIndicator color=\"teal\" size=\"small\" />\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;AACA;AACA;AACO,MAAMA,OAAO,GAAG,MAAM;EAC3B,MAAMC,KAAgB,GAAG;IACvBC,IAAI,EAAE,CADiB;IAEvBC,UAAU,EAAE,QAFW;IAGvBC,cAAc,EAAE;EAHO,CAAzB;EAKA,oBACE,6BAAC,iBAAD;IAAM,KAAK,EAAEH;EAAb,gBACE,6BAAC,8BAAD;IAAmB,KAAK,EAAC,MAAzB;IAAgC,IAAI,EAAC;EAArC,EADF,CADF;AAKD,CAXM"}
|