@wavemaker-ai/app-rn-runtime 12.0.2-rc.647771 → 12.1.0-rc.647821
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/components/advanced/webview/webview.component.js +1 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -2
- package/components/basic/label/label.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +10 -3
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +12 -8
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +1 -0
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +152 -17
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +5 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +1285 -570
- package/package-lock.json +1285 -570
- package/package.json +3 -3
- package/runtime/App.js +52 -36
- package/runtime/App.js.map +1 -1
- package/runtime/App.navigator.js +4 -1
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-security.service.js +40 -19
- package/runtime/services/app-security.service.js.map +1 -1
- package/runtime/services/browser.constants.js +3 -0
- package/runtime/services/browser.constants.js.map +1 -0
- package/runtime/services/browser.service.js +321 -0
- package/runtime/services/browser.service.js.map +1 -0
- package/runtime/services/external-auth-callback.service.js +44 -0
- package/runtime/services/external-auth-callback.service.js.map +1 -0
- package/runtime/services/webprocess.service.js +8 -3
- package/runtime/services/webprocess.service.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js +52 -11
- package/styles/theme.js.map +1 -1
- package/components-prism/basic/search/search.component.js +0 -208
- package/components-prism/basic/search/search.component.js.map +0 -1
- package/components-prism/basic/search/search.props.js +0 -16
- package/components-prism/basic/search/search.props.js.map +0 -1
- package/components-prism/basic/search/search.styles.js +0 -127
- package/components-prism/basic/search/search.styles.js.map +0 -1
- package/core/outside-press-handler.js +0 -65
- package/core/outside-press-handler.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker-ai/app-rn-runtime",
|
|
3
|
-
"version": "12.0
|
|
3
|
+
"version": "12.1.0-rc.647821",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"@react-navigation/drawer": "7.5.8",
|
|
60
60
|
"@react-navigation/native": "7.1.18",
|
|
61
61
|
"@react-navigation/stack": "7.4.8",
|
|
62
|
-
"@shopify/react-native-skia": "2.
|
|
63
|
-
"@wavemaker-ai/variables": "12.0
|
|
62
|
+
"@shopify/react-native-skia": "2.2.12",
|
|
63
|
+
"@wavemaker-ai/variables": "12.1.0-rc.647821",
|
|
64
64
|
"@wavemaker/react-native-echarts": "1.0.5",
|
|
65
65
|
"@wuba/react-native-echarts": "3.1.1",
|
|
66
66
|
"axios": "1.8.3",
|
package/runtime/App.js
CHANGED
|
@@ -8,9 +8,7 @@ import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
|
8
8
|
import ProtoTypes from 'prop-types';
|
|
9
9
|
import { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView } from 'react-native-safe-area-context';
|
|
10
10
|
import { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';
|
|
11
|
-
import { Linking } from 'react-native';
|
|
12
11
|
import { NativeModulesProxy } from 'expo-modules-core';
|
|
13
|
-
import * as WebBrowser from 'expo-web-browser';
|
|
14
12
|
import { get, last } from 'lodash';
|
|
15
13
|
import { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';
|
|
16
14
|
import EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';
|
|
@@ -21,7 +19,7 @@ import ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service'
|
|
|
21
19
|
import NetworkService from '@wavemaker-ai/app-rn-runtime/core/network.service';
|
|
22
20
|
import injector from '@wavemaker-ai/app-rn-runtime/core/injector';
|
|
23
21
|
import formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';
|
|
24
|
-
import { deepCopy
|
|
22
|
+
import { deepCopy } from '@wavemaker-ai/app-rn-runtime/core/utils';
|
|
25
23
|
import * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';
|
|
26
24
|
import { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';
|
|
27
25
|
import { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';
|
|
@@ -46,8 +44,8 @@ import { CameraProvider } from '../core/device/camera-service';
|
|
|
46
44
|
import CameraService from './services/device/camera-service';
|
|
47
45
|
import { ScanProvider } from '../core/device/scan-service';
|
|
48
46
|
import ScanService from './services/device/scan-service';
|
|
49
|
-
import
|
|
50
|
-
import {
|
|
47
|
+
import BrowserService from './services/browser.service';
|
|
48
|
+
import AppSecurityService, { shouldRedirectToLoginOn401 } from './services/app-security.service';
|
|
51
49
|
import MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';
|
|
52
50
|
import * as SplashScreen from 'expo-splash-screen';
|
|
53
51
|
import { WmMemo } from './memo.component';
|
|
@@ -59,6 +57,7 @@ import { ScreenCaptureProtectionProvider } from '../core/screen-capture-protecti
|
|
|
59
57
|
import { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';
|
|
60
58
|
import { setupGlobalErrorHandler } from '../core/global-error-handler.service';
|
|
61
59
|
import Fallback from '../core/components/error-fallback/error-fallback.component';
|
|
60
|
+
import { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';
|
|
62
61
|
//some old react libraries need this
|
|
63
62
|
View['propTypes'] = {
|
|
64
63
|
style: ProtoTypes.any
|
|
@@ -268,9 +267,14 @@ export default class BaseApp extends React.Component {
|
|
|
268
267
|
// errorType: 'render' for React component errors, 'javascript' for other JS errors
|
|
269
268
|
}
|
|
270
269
|
handleCallbackError(error, context) {
|
|
270
|
+
var _this$appConfig;
|
|
271
271
|
console.error(error);
|
|
272
272
|
const errorObj = error instanceof Error ? error : new Error(String(error));
|
|
273
273
|
|
|
274
|
+
// Check if error handling is enabled
|
|
275
|
+
const prefs = (_this$appConfig = this.appConfig) === null || _this$appConfig === void 0 ? void 0 : _this$appConfig.preferences;
|
|
276
|
+
const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
|
|
277
|
+
const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
|
|
274
278
|
// Immediately hide all overlays to ensure error fallback is visible
|
|
275
279
|
try {
|
|
276
280
|
// Hide Expo SplashScreen
|
|
@@ -285,17 +289,19 @@ export default class BaseApp extends React.Component {
|
|
|
285
289
|
// Trigger user callback
|
|
286
290
|
this.triggerOnError(errorObj, context, 'javascript');
|
|
287
291
|
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
292
|
+
// Only set global error state if fallback should be shown
|
|
293
|
+
if (showDefaultFallback) {
|
|
294
|
+
this.globalError = {
|
|
295
|
+
error: errorObj,
|
|
296
|
+
errorInfo: context,
|
|
297
|
+
errorType: 'javascript',
|
|
298
|
+
isFatal: false
|
|
299
|
+
};
|
|
295
300
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
301
|
+
// Set isStarted to true so app template will render the error screen
|
|
302
|
+
this.isStarted = true;
|
|
303
|
+
this.forceUpdate(); // Show fallback screen
|
|
304
|
+
}
|
|
299
305
|
}
|
|
300
306
|
setTimezone(timezone) {
|
|
301
307
|
AppI18nService.setTimezone(timezone);
|
|
@@ -304,16 +310,7 @@ export default class BaseApp extends React.Component {
|
|
|
304
310
|
return AppSpinnerService;
|
|
305
311
|
}
|
|
306
312
|
openBrowser(url, params = {}) {
|
|
307
|
-
|
|
308
|
-
if (isWebPreviewMode()) {
|
|
309
|
-
window.open(url, '_blank');
|
|
310
|
-
} else if (url.startsWith('http') && params.target === '_blank') {
|
|
311
|
-
WebBrowser.openBrowserAsync(url);
|
|
312
|
-
} else {
|
|
313
|
-
return Linking.openURL(url);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
return Promise.resolve();
|
|
313
|
+
return BrowserService.open(url, params);
|
|
317
314
|
}
|
|
318
315
|
|
|
319
316
|
// To support old api
|
|
@@ -349,7 +346,7 @@ export default class BaseApp extends React.Component {
|
|
|
349
346
|
this.notify('afterServiceCall', response.config, response);
|
|
350
347
|
return response;
|
|
351
348
|
}, error => {
|
|
352
|
-
var _errorDetails, _errorDetails2, _error$response, _error$response2, _error$response3,
|
|
349
|
+
var _errorDetails, _errorDetails2, _error$response, _error$response2, _error$response3, _this$appConfig$curre5;
|
|
353
350
|
let errorDetails = error.response,
|
|
354
351
|
errMsg;
|
|
355
352
|
errorDetails = getValidJSON((_errorDetails = errorDetails) === null || _errorDetails === void 0 ? void 0 : _errorDetails.data) || ((_errorDetails2 = errorDetails) === null || _errorDetails2 === void 0 ? void 0 : _errorDetails2.data);
|
|
@@ -361,13 +358,32 @@ export default class BaseApp extends React.Component {
|
|
|
361
358
|
error.message = errMsg;
|
|
362
359
|
console.error(`Error ${errMsg} recieved from ${(_error$response = error.response) === null || _error$response === void 0 || (_error$response = _error$response.config) === null || _error$response === void 0 ? void 0 : _error$response.url}`);
|
|
363
360
|
try {
|
|
361
|
+
var _this$appConfig2;
|
|
364
362
|
this.onServiceError(error.message, error);
|
|
363
|
+
// Mark as handled to prevent onError from being called
|
|
364
|
+
error.__wmServiceErrorHandled = true;
|
|
365
|
+
if (error.config) {
|
|
366
|
+
error.config.__wmServiceErrorHandled = true;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// Show fallback for service errors if enabled (but don't call onError)
|
|
370
|
+
const prefs = (_this$appConfig2 = this.appConfig) === null || _this$appConfig2 === void 0 ? void 0 : _this$appConfig2.preferences;
|
|
371
|
+
const globalEnabled = (prefs === null || prefs === void 0 ? void 0 : prefs.enableGlobalErrorHandler) === true;
|
|
372
|
+
const showDefaultFallback = (prefs === null || prefs === void 0 ? void 0 : prefs.showDefaultErrorFallback) !== false;
|
|
373
|
+
if (globalEnabled && showDefaultFallback) {
|
|
374
|
+
this.globalError = {
|
|
375
|
+
error: error,
|
|
376
|
+
errorInfo: (error === null || error === void 0 ? void 0 : error.stack) || (error === null || error === void 0 ? void 0 : error.toString()),
|
|
377
|
+
errorType: 'javascript',
|
|
378
|
+
isFatal: false
|
|
379
|
+
};
|
|
380
|
+
this.forceUpdate(); // Trigger re-render to show error fallback
|
|
381
|
+
}
|
|
365
382
|
} catch (e) {
|
|
366
383
|
this.handleCallbackError(e, `Error in onServiceError callback`);
|
|
367
384
|
}
|
|
368
|
-
if ((_error$response2 = error.response)
|
|
369
|
-
|
|
370
|
-
((_this$appConfig$curre5 = this.appConfig.currentPage) === null || _this$appConfig$curre5 === void 0 ? void 0 : _this$appConfig$curre5.pageName) !== 'Login' && ((_this$appConfig$curre6 = this.appConfig.currentPage) === null || _this$appConfig$curre6 === void 0 ? void 0 : _this$appConfig$curre6.goToPage('Login'));
|
|
385
|
+
if (shouldRedirectToLoginOn401((_error$response2 = error.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.config) === null || _error$response2 === void 0 ? void 0 : _error$response2.url, (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.status, this.appConfig.url, (_this$appConfig$curre5 = this.appConfig.currentPage) === null || _this$appConfig$curre5 === void 0 ? void 0 : _this$appConfig$curre5.pageName)) {
|
|
386
|
+
AppSecurityService.redirectToLogin();
|
|
371
387
|
}
|
|
372
388
|
this.notify('afterServiceCall', error.config, error);
|
|
373
389
|
return Promise.reject(error);
|
|
@@ -388,9 +404,9 @@ export default class BaseApp extends React.Component {
|
|
|
388
404
|
return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke())).catch(() => {});
|
|
389
405
|
}
|
|
390
406
|
componentDidMount() {
|
|
391
|
-
var _this$
|
|
407
|
+
var _this$appConfig3;
|
|
392
408
|
// Setup global error handler
|
|
393
|
-
if (((_this$
|
|
409
|
+
if (((_this$appConfig3 = this.appConfig) === null || _this$appConfig3 === void 0 || (_this$appConfig3 = _this$appConfig3.preferences) === null || _this$appConfig3 === void 0 ? void 0 : _this$appConfig3.enableGlobalErrorHandler) === true) {
|
|
394
410
|
this.globalErrorHandlerCleanup = setupGlobalErrorHandler((error, isFatal, errorInfo) => {
|
|
395
411
|
// Trigger user error callback
|
|
396
412
|
this.triggerOnError(error, errorInfo, 'javascript');
|
|
@@ -463,8 +479,8 @@ export default class BaseApp extends React.Component {
|
|
|
463
479
|
}, content))))))));
|
|
464
480
|
}
|
|
465
481
|
renderToasters() {
|
|
466
|
-
var _this$
|
|
467
|
-
const isEdgeToEdgeApp = !!((_this$
|
|
482
|
+
var _this$appConfig4;
|
|
483
|
+
const isEdgeToEdgeApp = !!((_this$appConfig4 = this.appConfig) !== null && _this$appConfig4 !== void 0 && (_this$appConfig4 = _this$appConfig4.edgeToEdgeConfig) !== null && _this$appConfig4 !== void 0 && _this$appConfig4.isEdgeToEdgeApp);
|
|
468
484
|
this.toastsOpened = AppToastService.toastsOpened.length;
|
|
469
485
|
return /*#__PURE__*/React.createElement(WmMemo, {
|
|
470
486
|
watcher: this.watcher,
|
|
@@ -652,13 +668,13 @@ export default class BaseApp extends React.Component {
|
|
|
652
668
|
return false;
|
|
653
669
|
}
|
|
654
670
|
renderApp(commonPartial) {
|
|
655
|
-
var _this$
|
|
671
|
+
var _this$appConfig5, _this$appConfig6;
|
|
656
672
|
this.autoUpdateVariables.forEach(value => {
|
|
657
673
|
var _this$Variables$value;
|
|
658
674
|
return (_this$Variables$value = this.Variables[value]) === null || _this$Variables$value === void 0 ? void 0 : _this$Variables$value.invokeOnParamChange();
|
|
659
675
|
});
|
|
660
|
-
const edgeToEdgeConfig = (_this$
|
|
661
|
-
const statusbarConfig = (_this$
|
|
676
|
+
const edgeToEdgeConfig = (_this$appConfig5 = this.appConfig) === null || _this$appConfig5 === void 0 ? void 0 : _this$appConfig5.edgeToEdgeConfig;
|
|
677
|
+
const statusbarConfig = (_this$appConfig6 = this.appConfig) === null || _this$appConfig6 === void 0 || (_this$appConfig6 = _this$appConfig6.edgeToEdgeConfig) === null || _this$appConfig6 === void 0 ? void 0 : _this$appConfig6.statusbarConfig;
|
|
662
678
|
const isEdgeToEdgeApp = !!(edgeToEdgeConfig !== null && edgeToEdgeConfig !== void 0 && edgeToEdgeConfig.isEdgeToEdgeApp);
|
|
663
679
|
const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;
|
|
664
680
|
return /*#__PURE__*/React.createElement(SafeAreaProvider, null, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
|
package/runtime/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","Linking","NativeModulesProxy","WebBrowser","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","isWebPreviewMode","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","AppSecurityService","getValidJSON","parseErrors","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","setupGlobalErrorHandler","Fallback","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","set","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","handleCallbackError","triggerOnError","errorInfo","errorType","onError","context","errorObj","Error","String","hide","hideError","warn","globalError","isFatal","isStarted","setTimezone","timezone","openBrowser","window","open","startsWith","target","openBrowserAsync","openURL","resolve","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_error$response4","errorDetails","errMsg","errors","message","includes","status","_this$appConfig$curre5","_this$appConfig$curre6","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig","preferences","enableGlobalErrorHandler","globalErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig2","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","messageiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig3","_this$appConfig4","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","info","resetErrorBoundary","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { Linking } from 'react-native';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport * as WebBrowser from 'expo-web-browser';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker-ai/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker-ai/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker-ai/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker-ai/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker-ai/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker-ai/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport AppSecurityService from './services/app-security.service';\nimport { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\nimport { setupGlobalErrorHandler, GlobalErrorState } from '../core/global-error-handler.service';\nimport Fallback from '../core/components/error-fallback/error-fallback.component';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n Global: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n public globalError: GlobalErrorState | null = null;\n private globalErrorHandlerCleanup: (() => void) | null = null;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n\n // Register app instance in injector for Error Boundary access\n injector.set('APP_INSTANCE', this);\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n this.handleCallbackError(e, `Error in onPageReady callback`);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n triggerOnError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n try {\n this.onError(error, errorInfo, errorType);\n } catch (e) {\n console.error('Error in onError callback:', e);\n }\n }\n\n onError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n // Empty implementation - user can override in app.js\n // errorType: 'render' for React component errors, 'javascript' for other JS errors\n }\n\n public handleCallbackError(error: unknown, context: string) {\n console.error(error);\n const errorObj = error instanceof Error ? error : new Error(String(error));\n\n // Immediately hide all overlays to ensure error fallback is visible\n try {\n // Hide Expo SplashScreen\n SplashScreen.hideAsync();\n\n // Hide App Spinner (force hide regardless of count)\n AppSpinnerService.hide();\n } catch (hideError) {\n console.warn('Error hiding overlays:', hideError);\n }\n\n // Trigger user callback\n this.triggerOnError(errorObj, context, 'javascript');\n\n // Also set global error state to show fallback screen\n this.globalError = {\n error: errorObj,\n errorInfo: context,\n errorType: 'javascript',\n isFatal: false\n };\n\n // Set isStarted to true so app template will render the error screen\n this.isStarted = true;\n this.forceUpdate(); // Show fallback screen\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n if (url) {\n if (isWebPreviewMode()) {\n window.open(url, '_blank');\n } else if (url.startsWith('http') && params.target === '_blank') {\n WebBrowser.openBrowserAsync(url);\n } else {\n return Linking.openURL(url);\n }\n }\n return Promise.resolve();\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n try {\n return this.onBeforeServiceCall(config);\n } catch (e) {\n this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);\n return config; // Return original config as fallback\n }\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n try {\n this.onServiceSuccess(response.data, response);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceSuccess callback`);\n }\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceError callback`);\n }\n if (error.response?.config.url?.startsWith(this.appConfig.url) && !error.response?.config.url?.includes('/services/') && error.response?.status === 401) {\n this.appConfig.currentPage?.pageName !== 'Login' && this.appConfig.currentPage?.goToPage('Login');\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n // Setup global error handler\n if (this.appConfig?.preferences?.enableGlobalErrorHandler === true) {\n this.globalErrorHandlerCleanup = setupGlobalErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n\n this.globalError = {\n error,\n errorInfo,\n errorType: 'javascript',\n isFatal\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n },\n true // suppressDefaultErrorScreen = true when global error handler is enabled\n );\n }\n\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n try {\n this.onAppVariablesReady();\n } catch (e) {\n this.handleCallbackError(e, `Error in onAppVariablesReady callback`);\n return; // Early return to prevent subsequent code from executing\n }\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n\n // Cleanup global error handler\n if (this.globalErrorHandlerCleanup) {\n this.globalErrorHandlerCleanup();\n }\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass} messageiconclass={o.messageiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white',\n position: 'absolute',\n top: 0,\n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage} app={this}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n {/* global error fallback */}\n {this.globalError && (\n <View\n style={{position:'absolute',height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,zIndex:999999,elevation: 999999}}>\n <Fallback\n error={this.globalError!.error}\n info={{errorInfo: this.globalError!.errorInfo}}\n errorType={this.globalError!.errorType}\n resetErrorBoundary={() => {\n this.globalError = null;\n this.forceUpdate();\n }}\n />\n </View>)}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null}\n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","axios","Platform","TouchableOpacity","View","StatusBar","GestureHandlerRootView","ProtoTypes","SafeAreaProvider","SafeAreaInsetsContext","SafeAreaView","DefaultTheme","Provider","PaperProvider","NativeModulesProxy","get","last","RENDER_LOGGER","EventNotifier","ThemeProvider","StorageService","SecureStorageService","ConstantService","NetworkService","injector","formatters","deepCopy","Utils","ModalProvider","FixedViewContainer","ToastProvider","NavigationServiceProvider","PartialProvider","WmNetworkInfoToaster","ThemeVariables","WmMessage","Animatedview","AppI18nService","Watcher","preparePatch","AppDisplayManagerService","AppModalService","AppToastService","AppPartialService","AppSpinnerService","AppNavigator","SecurityProvider","CameraProvider","CameraService","ScanProvider","ScanService","BrowserService","AppSecurityService","shouldRedirectToLoginOn401","MaterialCommunityIconsFont","SplashScreen","WmMemo","VariableEvents","BlurView","moment","ErrorBoundary","ScreenCaptureProtectionProvider","allowScreenCaptureAsync","preventScreenCaptureAsync","setupGlobalErrorHandler","Fallback","getValidJSON","parseErrors","style","any","MIN_TIME_BETWEEN_REFRESH_CYCLES","DrawerImpl","constructor","onChange","_defineProperty","setContent","content","getContent","setAnimation","animation","getAnimation","SUPPORTED_SERVICES","CONSTANTS","i18nService","global","BaseApp","Component","props","ROOT","colors","primary","INSTANCE","primaryColor","refresh","OS","error","console","preventAutoHideAsync","setTimeout","hideAsync","appConfig","app","drawer","set","setDefaultOptions","spinner","refreshAfterWait","baseUrl","url","wait","bindServiceInterceptors","complete","reload","debug","_this$commonPartial","_this$appConfig$curre","forceUpdate","commonPartial","currentPage","watcher","check","cleanup","push","notifier","subscribe","networkState","networkStatus","event","fn","eventNotifier","notify","args","activePage","Widgets","_this$commonPartial2","onBeforePageLeave","nextPage","goToPage","pageName","params","_this$appConfig$curre2","goBack","_this$appConfig$curre3","openUrl","_this$appConfig$curre4","onBeforeServiceCall","config","isSkeletonEnabled","loader","onServiceSuccess","data","response","onServiceError","errorMsg","invokeNativeApi","key","EmbedCommModule","sendToNative","Promise","reject","triggerPageReady","activePageName","activePageScope","onPageReady","e","handleCallbackError","triggerOnError","errorInfo","errorType","onError","context","_this$appConfig","errorObj","Error","String","prefs","preferences","globalEnabled","enableGlobalErrorHandler","showDefaultFallback","showDefaultErrorFallback","hide","hideError","warn","globalError","isFatal","isStarted","setTimezone","timezone","openBrowser","open","getScreenCaptureContextValue","enableProtection","disableProtection","axiosInterceptorIds","interceptors","request","use","startsWith","headers","log","_errorDetails","_errorDetails2","_error$response","_error$response2","_error$response3","_this$appConfig$curre5","errorDetails","errMsg","errors","message","_this$appConfig2","__wmServiceErrorHandled","stack","toString","status","redirectToLogin","eval","failOnError","call","triggerStartUpVariables","all","startUpVariables","map","s","Variables","invoke","catch","componentDidMount","_this$appConfig3","globalErrorHandlerCleanup","show","Object","values","v","BEFORE_INVOKE","AFTER_INVOKE","startUpActions","a","Actions","then","onAppVariablesReady","componentWillUnmount","id","eject","forEach","getProviders","createElement","value","renderToasters","_this$appConfig4","isEdgeToEdgeApp","edgeToEdgeConfig","toastsOpened","length","render","watch","refreshCount","Fragment","o","i","toasterStyles","_o$styles","_o$styles2","styles","top","undefined","_this$statusbarInsets","statusbarInsets","isButtonNavigationEnabled","bottom","_this$statusbarInsets2","theme","position","width","elevation","elevationIndex","zIndex","onPress","onClick","text","name","type","caption","hideclose","showclosebutton","onClose","closeToast","closeiconclass","messageiconclass","renderDialogs","_last","modalsOpened","animatedRefs","modalOptions","onStartShouldSetResponder","onResponderEnd","isModal","hideModal","appModal","centered","centeredModal","modalStyle","entryanimation","delay","animationdelay","ref","animatedRef","appModalContent","contentStyle","alignItems","evt","stopPropagation","renderDisplayManager","displayOptions","displayViewContainer","renderIosStatusbarInsetsView","insets","backgroundColor","height","renderIconsViewSupportForWeb","getSelectedLocale","selectedLocale","importModule","service","getDependency","serviceName","renderBlurView","intensity","blurIntensity","tint","blurTint","experimentalBlurMethod","renderTransparentView","color","opacity","_this$statusbarInsets3","renderApp","_this$appConfig5","_this$appConfig6","autoUpdateVariables","_this$Variables$value","invokeOnParamChange","statusbarConfig","Wrapper","Consumer","left","right","_this$props","_this$appConfig$drawe","_this$appConfig$drawe2","paperTheme","flex","translucent","container","landingPage","landingPageParams","hideDrawer","drawerContent","drawerAnimation","appLocale","info","resetErrorBoundary","flexDirection","justifyContent"],"sources":["App.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport axios, { AxiosError, InternalAxiosRequestConfig, AxiosResponse } from 'axios';\nimport { Platform, TouchableOpacity, View, ViewStyle, StatusBar } from 'react-native';\nimport { GestureHandlerRootView } from 'react-native-gesture-handler';\nimport ProtoTypes from 'prop-types';\nimport { SafeAreaProvider, SafeAreaInsetsContext, SafeAreaView, EdgeInsets } from 'react-native-safe-area-context';\nimport { DefaultTheme, Provider as PaperProvider } from 'react-native-paper';\nimport { NativeModulesProxy } from 'expo-modules-core';\nimport { get, last } from 'lodash';\nimport { RENDER_LOGGER } from '@wavemaker-ai/app-rn-runtime/core/logger';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport { ThemeProvider } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport AppConfig, { Drawer } from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport StorageService from '@wavemaker-ai/app-rn-runtime/core/storage.service';\nimport SecureStorageService from '@wavemaker-ai/app-rn-runtime/core/secure-storage.service';\nimport ConstantService from '@wavemaker-ai/app-rn-runtime/core/constant.service';\nimport NetworkService, { NetworkState } from '@wavemaker-ai/app-rn-runtime/core/network.service';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport formatters from '@wavemaker-ai/app-rn-runtime/core/formatters';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport * as Utils from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { ModalProvider } from '@wavemaker-ai/app-rn-runtime/core/modal.service';\nimport { FixedViewContainer } from '@wavemaker-ai/app-rn-runtime/core/fixed-view.component';\nimport { ToastProvider } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport NavigationService, { NavigationServiceProvider } from '@wavemaker-ai/app-rn-runtime/core/navigation.service';\nimport { PartialProvider } from '@wavemaker-ai/app-rn-runtime/core/partial.service';\nimport WmNetworkInfoToaster from '@wavemaker-ai/app-rn-runtime/components/advanced/network-info-toaster/network-info-toaster.component';\nimport ThemeVariables from '@wavemaker-ai/app-rn-runtime/styles/theme.variables';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { Animatedview } from '@wavemaker-ai/app-rn-runtime/components/basic/animatedview.component';\nimport AppI18nService from '@wavemaker-ai/app-rn-runtime/runtime/services/app-i18n.service';\n\nimport { Watcher } from './watcher';\nimport { preparePatch } from './lib-patch';\nimport AppDisplayManagerService from './services/app-display-manager.service';\nimport AppModalService from './services/app-modal.service';\nimport AppToastService from './services/app-toast.service';\nimport AppPartialService from './services/partial.service';\nimport AppSpinnerService from './services/app-spinner.service';\nimport { AppNavigator } from './App.navigator';\nimport { SecurityProvider } from '../core/security.service';\nimport { CameraProvider } from '../core/device/camera-service';\nimport CameraService from './services/device/camera-service';\nimport { ScanProvider } from '../core/device/scan-service';\nimport ScanService from './services/device/scan-service';\nimport BrowserService from './services/browser.service';\nimport AppSecurityService, { shouldRedirectToLoginOn401 } from './services/app-security.service';\nimport MaterialCommunityIconsFont from '@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf';\n\nimport * as SplashScreen from 'expo-splash-screen';\nimport BasePartial from './base-partial.component';\nimport BasePage from './base-page.component';\nimport { WmMemo } from './memo.component';\nimport { BaseVariable, VariableEvents } from '../variables/base-variable';\nimport { BlurView } from 'expo-blur';\nimport * as NavigationBar from 'expo-navigation-bar';\nimport moment, { Moment } from 'moment';\nimport ErrorBoundary from '../core/error-boundary.component';\nimport { ScreenCaptureProtectionProvider, ScreenCaptureProtectionContextType } from '../core/screen-capture-protection.service';\nimport { allowScreenCaptureAsync, preventScreenCaptureAsync } from 'expo-screen-capture';\nimport { setupGlobalErrorHandler, GlobalErrorState } from '../core/global-error-handler.service';\nimport Fallback from '../core/components/error-fallback/error-fallback.component';\nimport { getValidJSON, parseErrors } from '@wavemaker-ai/app-rn-runtime/variables/utils/variable.utils';\n\ndeclare const window: any;\n\n//some old react libraries need this\n((View as any)['propTypes'] = { style: ProtoTypes.any })\n\nconst MIN_TIME_BETWEEN_REFRESH_CYCLES = 200;\n\nclass DrawerImpl implements Drawer {\n content: ReactNode;\n animation: string = 'slide-in';\n\n constructor(private onChange: () => void) {\n\n }\n\n setContent(content: ReactNode) {\n this.content = content;\n this.onChange();\n }\n\n getContent() {\n return this.content;\n }\n\n setAnimation(animation: string) {\n this.animation = animation;\n this.onChange();\n }\n\n getAnimation() {\n return this.animation;\n }\n}\nconst SUPPORTED_SERVICES = {\n Utils: Utils,\n CONSTANTS: ConstantService,\n StorageService: StorageService,\n SecureStorageService: SecureStorageService,\n AppDisplayManagerService: AppDisplayManagerService,\n i18nService: AppI18nService\n};\n(global as any)['axios'] = axios;\nexport default abstract class BaseApp extends React.Component implements NavigationService {\n\n Actions: any = {};\n Variables: any = {};\n Global: any = {};\n onAppVariablesReady = () => { };\n isStarted = false;\n appConfig = injector.get<AppConfig>('APP_CONFIG');\n private eventNotifier = new EventNotifier();\n public baseUrl = '';\n public targetPlatform = 'NATIVE_MOBILE';\n public cleanup = [] as Function[];\n public commonPartial: BasePartial = null as any;\n private startUpVariables: string[] = [];\n private startUpActions: string[] = [];\n private autoUpdateVariables: string[] = [];\n private axiosInterceptorIds: number[] = [];\n public formatters = formatters;\n public serviceDefinitions = {} as any;\n private animatedRef: any;\n public modalsOpened: number = 0;\n public toastsOpened: number = 0;\n public watcher: Watcher = Watcher.ROOT;\n public paperTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n primary: ThemeVariables.INSTANCE.primaryColor\n }\n };\n public lib = preparePatch(() => {\n this.refresh();\n });\n\n public networkStatus = {} as NetworkState;\n public statusbarInsets: any;\n public globalError: GlobalErrorState | null = null;\n private globalErrorHandlerCleanup: (() => void) | null = null;\n\n constructor(props: any) {\n super(props);\n SplashScreen.preventAutoHideAsync();\n setTimeout(() => SplashScreen.hideAsync(), 10000);\n this.appConfig.app = this;\n this.appConfig.drawer = new DrawerImpl(() => this.refresh());\n\n // Register app instance in injector for Error Boundary access\n injector.set('APP_INSTANCE', this);\n AppSpinnerService.setDefaultOptions({\n spinner: this.appConfig.spinner\n });\n let refreshAfterWait = false;\n this.baseUrl = this.appConfig.url;\n let wait = 0;\n this.bindServiceInterceptors();\n this.appConfig.refresh = (complete = false) => {\n if (complete) {\n this.reload();\n return;\n }\n if (!wait) {\n RENDER_LOGGER.debug('refreshing the app...');\n wait = MIN_TIME_BETWEEN_REFRESH_CYCLES;\n refreshAfterWait = false;\n setTimeout(() => {\n this.forceUpdate();\n this.commonPartial?.forceUpdate();\n this.appConfig.currentPage?.forceUpdate();\n this.watcher.check();\n });\n setTimeout(() => {\n wait = 0;\n refreshAfterWait && this.appConfig.refresh();\n }, wait);\n } else {\n RENDER_LOGGER.debug('will refresh the app in the next cycle.');\n refreshAfterWait = true;\n }\n }\n this.cleanup.push(\n NetworkService.notifier.subscribe('onNetworkStateChange', (networkState: NetworkState) => {\n this.networkStatus = { ...networkState };\n this.refresh();\n }\n ));\n }\n\n subscribe(event: string, fn: Function) {\n return this.eventNotifier.subscribe(event, fn);\n }\n\n notify(event: string, ...args: any) {\n return this.eventNotifier.notify(event, args);\n }\n\n get activePage() {\n return this.appConfig.currentPage;\n }\n\n get Widgets() {\n return this.commonPartial?.Widgets;\n }\n\n async onBeforePageLeave(currentPage: string, nextPage: string) {\n //method can be override by the user from studio;\n return true;\n }\n\n goToPage(pageName: string, params: any) {\n return this.appConfig.currentPage?.goToPage(pageName, params);\n }\n\n goBack(pageName: string, params: any) {\n return this.appConfig.currentPage?.goBack(pageName, params);\n }\n\n openUrl(url: string, params?: any) {\n return this.appConfig.currentPage?.openUrl(url, params);\n }\n\n onBeforeServiceCall(config: InternalAxiosRequestConfig) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n return config;\n }\n\n isSkeletonEnabled() {\n return this.appConfig.spinner.loader == \"skeleton\";\n }\n\n onServiceSuccess(data: any, response: AxiosResponse) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n onServiceError(errorMsg: any, error: AxiosError<any>) {\n //DO NOT WRITE CODE HERE:\n //This is a placeholder for the WaveMaker developer.\n }\n\n invokeNativeApi(key: string, data: Object) {\n if (NativeModulesProxy.EmbedCommModule\n && (Platform.OS === 'android' || Platform.OS === 'ios')) {\n return NativeModulesProxy.EmbedCommModule.sendToNative(key, data || {});\n } else {\n return Promise.reject('Not able to invoke Native API in this platform.');\n }\n }\n\n triggerPageReady(activePageName: string, activePageScope: BasePage) {\n try {\n this.onPageReady(activePageName, activePageScope);\n } catch (e) {\n this.handleCallbackError(e, `Error in onPageReady callback`);\n }\n }\n\n onPageReady(activePageName: string, activePageScope: BasePage) {\n\n }\n\n triggerOnError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n try {\n this.onError(error, errorInfo, errorType);\n } catch (e) {\n console.error('Error in onError callback:', e);\n }\n }\n\n onError(error: Error, errorInfo: any, errorType: 'render' | 'javascript') {\n // Empty implementation - user can override in app.js\n // errorType: 'render' for React component errors, 'javascript' for other JS errors\n }\n\n public handleCallbackError(error: unknown, context: string) {\n console.error(error);\n const errorObj = error instanceof Error ? error : new Error(String(error));\n\n // Check if error handling is enabled\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n // Immediately hide all overlays to ensure error fallback is visible\n try {\n // Hide Expo SplashScreen\n SplashScreen.hideAsync();\n\n // Hide App Spinner (force hide regardless of count)\n AppSpinnerService.hide();\n } catch (hideError) {\n console.warn('Error hiding overlays:', hideError);\n }\n\n // Trigger user callback\n this.triggerOnError(errorObj, context, 'javascript');\n \n // Only set global error state if fallback should be shown\n if (showDefaultFallback) {\n this.globalError = {\n error: errorObj,\n errorInfo: context,\n errorType: 'javascript',\n isFatal: false\n };\n\n // Set isStarted to true so app template will render the error screen\n this.isStarted = true;\n this.forceUpdate(); // Show fallback screen\n }\n }\n\n setTimezone(timezone: any) {\n AppI18nService.setTimezone(timezone);\n }\n\n get spinner() {\n return AppSpinnerService;\n }\n\n openBrowser(url: string, params = {} as any) {\n return BrowserService.open(url, params);\n }\n\n // To support old api\n reload() { }\n\n private enableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await preventScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to enable screen capture protection:', error);\n }\n };\n\n private disableProtection = async (): Promise<void> => {\n try {\n if (Platform.OS !== 'web') {\n await allowScreenCaptureAsync();\n }\n } catch (error) {\n console.error('Failed to disable screen capture protection:', error);\n }\n };\n\n private getScreenCaptureContextValue(): ScreenCaptureProtectionContextType {\n return {\n enableProtection: this.enableProtection,\n disableProtection: this.disableProtection\n };\n }\n\n bindServiceInterceptors() {\n this.axiosInterceptorIds = [\n axios.interceptors.request.use((config: InternalAxiosRequestConfig) => {\n const url = config.url as string;\n if (!(url.startsWith('http://') || url.startsWith(\"https://\"))) {\n config.url = this.appConfig.url + '/' + url;\n }\n config.headers = config.headers || {};\n config.headers['X-Requested-With'] = 'XMLHttpRequest';\n console.log('onBeforeService call invoked on ' + config.url);\n this.notify('beforeServiceCall', config);\n try {\n return this.onBeforeServiceCall(config);\n } catch (e) {\n this.handleCallbackError(e, `Error in onBeforeServiceCall callback`);\n return config; // Return original config as fallback\n }\n }),\n axios.interceptors.response.use(\n (response: AxiosResponse) => {\n try {\n this.onServiceSuccess(response.data, response);\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceSuccess callback`);\n }\n this.notify('afterServiceCall', response.config, response);\n return response;\n }, (error: AxiosError<any>) => {\n let errorDetails: any = error.response, errMsg;\n errorDetails = getValidJSON(errorDetails?.data) || errorDetails?.data;\n if (errorDetails && errorDetails.errors) {\n errMsg = parseErrors(errorDetails.errors) || \"Service Call Failed\";\n } else {\n errMsg = error.message || \"Service Call Failed\";\n }\n error.message = errMsg;\n console.error(`Error ${errMsg} recieved from ${error.response?.config?.url}`);\n try {\n this.onServiceError(error.message, error);\n // Mark as handled to prevent onError from being called\n (error as any).__wmServiceErrorHandled = true;\n if (error.config) {\n (error.config as any).__wmServiceErrorHandled = true;\n }\n \n // Show fallback for service errors if enabled (but don't call onError)\n const prefs = this.appConfig?.preferences;\n const globalEnabled = prefs?.enableGlobalErrorHandler === true;\n const showDefaultFallback = prefs?.showDefaultErrorFallback !== false;\n\n if (globalEnabled && showDefaultFallback) {\n this.globalError = {\n error: error,\n errorInfo: error?.stack || error?.toString(),\n errorType: 'javascript',\n isFatal: false\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n }\n } catch (e) {\n this.handleCallbackError(e, `Error in onServiceError callback`);\n }\n if (shouldRedirectToLoginOn401(\n error.response?.config?.url,\n error.response?.status,\n this.appConfig.url,\n this.appConfig.currentPage?.pageName\n )) {\n AppSecurityService.redirectToLogin();\n }\n this.notify('afterServiceCall', error.config, error);\n return Promise.reject(error)\n })\n ];\n }\n\n eval(fn: Function, failOnError = false) {\n try {\n return fn.call(this);\n } catch (e) {\n if (failOnError) {\n throw e;\n } else {\n return null;\n }\n }\n }\n\n triggerStartUpVariables() {\n return Promise.all(this.startUpVariables.map(s => this.Variables[s] && this.Variables[s].invoke()))\n .catch(() => { });\n }\n\n componentDidMount() {\n // Setup global error handler\n if (this.appConfig?.preferences?.enableGlobalErrorHandler === true) {\n this.globalErrorHandlerCleanup = setupGlobalErrorHandler(\n (error, isFatal, errorInfo) => {\n // Trigger user error callback\n this.triggerOnError(error, errorInfo, 'javascript');\n\n this.globalError = {\n error,\n errorInfo,\n errorType: 'javascript',\n isFatal\n };\n this.forceUpdate(); // Trigger re-render to show error fallback\n },\n true // suppressDefaultErrorScreen = true when global error handler is enabled\n );\n }\n\n AppSpinnerService.show({\n spinner: this.appConfig.spinner\n });\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.BEFORE_INVOKE, () => {\n this.notify(VariableEvents.BEFORE_INVOKE, v);\n });\n }));\n this.cleanup.push(...Object.values(this.Variables).map((v: any) => {\n return v.subscribe(VariableEvents.AFTER_INVOKE, () => {\n this.notify(VariableEvents.AFTER_INVOKE, v);\n });\n }));\n this.startUpActions.map(a => this.Actions[a] && this.Actions[a].invoke());\n return this.triggerStartUpVariables()\n .then(() => {\n try {\n this.onAppVariablesReady();\n } catch (e) {\n this.handleCallbackError(e, `Error in onAppVariablesReady callback`);\n return; // Early return to prevent subsequent code from executing\n }\n this.isStarted = true;\n this.forceUpdate();\n }, () => { });\n }\n\n componentWillUnmount(): void {\n this.axiosInterceptorIds.map(id => {\n axios.interceptors.request.eject(id);\n });\n this.cleanup.forEach(fn => fn());\n\n // Cleanup global error handler\n if (this.globalErrorHandlerCleanup) {\n this.globalErrorHandlerCleanup();\n }\n }\n\n refresh() {\n this.appConfig.refresh();\n }\n\n getProviders(content: React.ReactNode) {\n return (\n <ScreenCaptureProtectionProvider value={this.getScreenCaptureContextValue()}>\n <NavigationServiceProvider value={this}>\n <ToastProvider value={AppToastService}>\n <PartialProvider value={AppPartialService}>\n <SecurityProvider value={AppSecurityService}>\n <CameraProvider value={CameraService}>\n <ScanProvider value={ScanService}>\n <ModalProvider value={AppModalService}>\n {content}\n </ModalProvider>\n </ScanProvider>\n </CameraProvider>\n </SecurityProvider>\n </PartialProvider>\n </ToastProvider>\n </NavigationServiceProvider>\n </ScreenCaptureProtectionProvider>\n );\n }\n\n renderToasters() {\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.toastsOpened = AppToastService.toastsOpened.length;\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppToastService.refreshCount);\n return (\n <>\n {AppToastService.toastsOpened.map((o, i) => {\n // to align the toaster position if it's an edge-to-edge app.\n let toasterStyles = {};\n if (isEdgeToEdgeApp) {\n if (o.styles?.top !== undefined) {\n toasterStyles = { top: this.statusbarInsets?.top };\n } else if (this.isButtonNavigationEnabled() && o.styles?.bottom !== undefined) {\n toasterStyles = { bottom: this.statusbarInsets?.bottom };\n }\n }\n\n return this.getProviders((\n <ThemeProvider value={this.appConfig.theme}>\n <View key={i} style={[{\n position: 'absolute',\n width: '100%',\n bottom: 0,\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n }, o.styles,toasterStyles]}>\n <TouchableOpacity onPress={() => o.onClick && o.onClick()}>\n {o.content}\n {o.text && <WmMessage name={\"message\" + i} type={o.type} caption={o.text} hideclose={!o.showclosebutton} onClose={o.closeToast} closeiconclass={o.closeiconclass} messageiconclass={o.messageiconclass}></WmMessage>}\n </TouchableOpacity>\n </View>\n </ThemeProvider>\n )\n )\n })}\n </>);\n }} />;\n }\n\n renderDialogs(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => last(AppModalService.modalsOpened)?.content);\n this.modalsOpened = AppModalService.modalsOpened.length;\n AppModalService.animatedRefs.length = 0;\n return (\n <>\n {AppModalService.modalOptions.content &&\n AppModalService.modalsOpened.map((o, i) => {\n return (\n <View key={(o.name || '') + i}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => o.isModal && AppModalService.hideModal(o)}\n style={deepCopy(styles.appModal,\n o.centered ? styles.centeredModal : null,\n o.modalStyle,\n {\n elevation: o.elevationIndex,\n zIndex: o.elevationIndex\n })}>\n <Animatedview entryanimation={o.animation || 'fadeIn'} delay={o.animationdelay}\n ref={ref => {\n this.animatedRef = ref;\n AppModalService.animatedRefs[i] = ref;\n }}\n style={[styles.appModalContent, o.contentStyle]}>\n <GestureHandlerRootView style={{ width: '100%', alignItems: 'center' }}>\n <View\n onStartShouldSetResponder={evt => true}\n onResponderEnd={(e) => e.stopPropagation()}\n style={{ width: '100%', alignItems: 'center' }}>\n {this.getProviders(o.content)}\n </View>\n </GestureHandlerRootView>\n </Animatedview>\n </View>\n )\n }\n )\n }\n </>);\n }} />;\n }\n\n renderDisplayManager(): ReactNode {\n return <WmMemo watcher={this.watcher} render={(watch) => {\n watch(() => AppDisplayManagerService.displayOptions.content);\n return AppDisplayManagerService.displayOptions.content\n ? (\n <ThemeProvider value={this.appConfig.theme}>\n <View style={[styles.displayViewContainer, {\n elevation: this.toastsOpened + this.modalsOpened + 1,\n zIndex: this.toastsOpened + this.modalsOpened + 1\n }]}>\n {AppDisplayManagerService.displayOptions.content}\n </View>\n </ThemeProvider>) : null;\n }} />\n }\n\n renderIosStatusbarInsetsView(isEdgeToEdgeApp: boolean, insets: EdgeInsets | null){\n return Platform.OS == 'ios' && !isEdgeToEdgeApp ? (\n <View style={{\n backgroundColor: 'white',\n position: 'absolute',\n top: 0,\n height: insets?.top || 0,\n width: '100%',\n zIndex: 9\n }}></View>\n ) : <></>\n }\n\n renderIconsViewSupportForWeb() {\n try {\n return (<style type=\"text/css\">{`\n @font-face {\n font-family: 'MaterialCommunityIcons';\n src: url(${MaterialCommunityIconsFont}) format('truetype');\n }\n `}</style>);\n } catch (e) {\n console.log('require react-native-vector-icons could not be loaded.');\n }\n return null;\n }\n\n getSelectedLocale() {\n return this.appConfig.selectedLocale;\n }\n\n importModule(service?: string){\n if(service == \"moment\"){\n return moment;\n }\n return undefined;\n }\n\n getDependency(serviceName: string): any {\n const service = get(SUPPORTED_SERVICES, serviceName);\n if (service) {\n return service;\n }\n }\n\n renderBlurView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <BlurView\n intensity={config?.blurIntensity || 30}\n tint={config.blurTint || \"dark\"}\n experimentalBlurMethod=\"dimezisBlurView\"\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n }}\n />\n );\n }\n\n renderTransparentView(position: 'top' | 'bottom', insets: any, config:any) {\n if (!insets?.[position]) return null;\n\n return (\n <View\n style={{\n [position]: 0,\n height: insets[position],\n width: '100%',\n position: 'absolute',\n zIndex: 999,\n backgroundColor: config?.color || 'transparent',\n opacity: (config?.opacity/100) || 0,\n }}\n ></View>\n );\n }\n\n isButtonNavigationEnabled(){\n if(Platform.OS ===\"android\" && this.statusbarInsets?.bottom > 40){\n return true\n }\n return false;\n }\n\n renderApp(commonPartial: React.ReactNode) {\n\n this.autoUpdateVariables.forEach(value => this.Variables[value]?.invokeOnParamChange());\n const edgeToEdgeConfig = this.appConfig?.edgeToEdgeConfig;\n const statusbarConfig = this.appConfig?.edgeToEdgeConfig?.statusbarConfig;\n const isEdgeToEdgeApp = !!edgeToEdgeConfig?.isEdgeToEdgeApp;\n\n const Wrapper = isEdgeToEdgeApp ? View : SafeAreaView;\n return (\n <SafeAreaProvider>\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.statusbarInsets = insets;\n return <PaperProvider theme={this.paperTheme}>\n <React.Fragment>\n {Platform.OS === 'web' ? this.renderIconsViewSupportForWeb() : null}\n {this.getProviders(\n <Wrapper style={{ flex: 1 }}>\n <StatusBar\n backgroundColor={isEdgeToEdgeApp?'transparent': undefined}\n translucent={isEdgeToEdgeApp}\n />\n <ThemeProvider value={this.appConfig.theme}>\n <ErrorBoundary currentPage={this.appConfig.currentPage} app={this}>\n {this.renderIosStatusbarInsetsView(isEdgeToEdgeApp, insets)}\n <View style={{ flex: 1 }}>\n <View style={styles.container}>\n <GestureHandlerRootView style={styles.container}>\n <AppNavigator\n app={this}\n landingPage={(this.props as any).pageName}\n landingPageParams={(this.props as any)?.pageName && this.props}\n hideDrawer={this.appConfig.drawer?.getContent() === null}\n drawerContent={() => this.appConfig.drawer ? this.getProviders(this.appConfig.drawer.getContent()) : null}\n drawerAnimation={this.appConfig.drawer?.getAnimation()}></AppNavigator>\n <FixedViewContainer>\n {commonPartial}\n </FixedViewContainer>\n </GestureHandlerRootView>\n </View>\n {this.appConfig.url ?\n (<WmNetworkInfoToaster appLocale={this.appConfig.appLocale}></WmNetworkInfoToaster>)\n : null}\n {this.renderToasters()}\n {this.renderDialogs()}\n {this.renderDisplayManager()}\n {/* global error fallback */}\n {this.globalError && (\n <View\n style={{position:'absolute',height:\"100%\",width:\"100%\",top:0,left:0,right:0,bottom:0,zIndex:999999,elevation: 999999}}>\n <Fallback\n error={this.globalError!.error}\n info={{errorInfo: this.globalError!.errorInfo}}\n errorType={this.globalError!.errorType}\n resetErrorBoundary={() => {\n this.globalError = null;\n this.forceUpdate();\n }}\n />\n </View>)}\n </View>\n {/* edge-to-edge app with statusbar blur */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='blur' ? this.renderBlurView(\"top\",insets,statusbarConfig) : null}\n {/* edge-to-edge app with statusbar transparent/semi-transparent */}\n {isEdgeToEdgeApp && statusbarConfig?.type ==='transparent' ? this.renderTransparentView(\"top\",insets,statusbarConfig) : null}\n </ErrorBoundary>\n </ThemeProvider>\n </Wrapper>\n )}\n </React.Fragment>\n </PaperProvider>\n }\n }\n </SafeAreaInsetsContext.Consumer>\n </SafeAreaProvider>)\n\n }\n}\n\nconst styles = {\n container: {\n flex: 1\n },\n appModal: {\n position: 'absolute',\n width: '100%'\n },\n appModalContent: {\n flex: 1,\n width: '100%',\n alignItems: 'center',\n flexDirection: 'column',\n justifyContent: 'center'\n },\n centeredModal: {\n flex: 1,\n position: 'absolute',\n top: 0,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: 'rgba(0, 0, 0, 0.4)',\n height: '100%'\n },\n displayViewContainer: {\n position: 'absolute',\n justifyContent: 'center',\n width: '100%',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n } as ViewStyle\n};\n"],"mappings":"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","ignoreList":[]}
|
package/runtime/App.navigator.js
CHANGED
|
@@ -8,6 +8,7 @@ import AppStackNavigator from './navigator/stack.navigator';
|
|
|
8
8
|
import { isEmpty, keys, last } from 'lodash';
|
|
9
9
|
import ThemeVariables from '../styles/theme.variables';
|
|
10
10
|
import { navigationRef, setNavigationReady } from '../core/navigation.service';
|
|
11
|
+
import { AUTH_CALLBACK_PATH } from './services/browser.constants';
|
|
11
12
|
const getNavigationState = (pageName, params) => {
|
|
12
13
|
return {
|
|
13
14
|
routes: [{
|
|
@@ -77,7 +78,9 @@ export const AppNavigator = props => {
|
|
|
77
78
|
}
|
|
78
79
|
},
|
|
79
80
|
getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,
|
|
80
|
-
getPathFromState: isWebPreviewMode() ? getPathFromState : undefined
|
|
81
|
+
getPathFromState: isWebPreviewMode() ? getPathFromState : undefined,
|
|
82
|
+
// Auth-session completion uses the same app scheme. Do not treat it as a page route.
|
|
83
|
+
filter: url => url.indexOf(AUTH_CALLBACK_PATH) === -1
|
|
81
84
|
};
|
|
82
85
|
const navigationTheme = {
|
|
83
86
|
...DefaultTheme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","View","NavigationContainer","DefaultTheme","isWebPreviewMode","injector","AppDrawerNavigator","AppStackNavigator","isEmpty","keys","last","ThemeVariables","navigationRef","setNavigationReady","getNavigationState","pageName","params","routes","name","state","index","getStateFromPath","path","options","hash","window","location","substring","startsWith","paramstr","split","forEach","p","k","v","getPathFromState","pagesRoute","pageRoute","href","map","join","setTimeout","_window$history$state","id","history","replaceState","AppNavigator","props","_appConfig$pages","appConfig","get","pages","linking","prefixes","appId","config","screens","undefined","navigationTheme","colors","background","INSTANCE","pageContentBgColor","stack","createElement","landingPage","leftNav","drawerWidth","app","leftNavWidth","type","drawerAnimation","hide","hideDrawer","content","drawerContent","rootComponent","initialState","OS","landingPageParams","ref","onReady","theme"],"sources":["App.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Platform, View } from 'react-native';\nimport { NavigationContainer, DefaultTheme } from '@react-navigation/native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppDrawerNavigator from './navigator/drawer.navigator';\nimport AppStackNavigator from './navigator/stack.navigator';\nimport { isEmpty, keys, last } from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\nimport { navigationRef, setNavigationReady } from '../core/navigation.service';\n\ndeclare const window: any;\n\nexport interface AppNavigatorProps {\n drawerContent: () => ReactNode;\n drawerAnimation: string;\n hideDrawer: boolean;\n landingPage?: string;\n landingPageParams?: any;\n app: any;\n}\n\nconst getNavigationState = (pageName: string, params: any) => {\n return {\n routes: [{\n name: 'pages',\n state: {\n index: 0,\n routes: [{\n name: pageName,\n params: params\n }]\n }\n }]\n };\n};\n\nconst getStateFromPath = (path: string, options?: any) => {\n let hash: string = window.location.hash;\n hash = hash.substring(1);\n if (hash && hash.startsWith('/')) {\n hash = hash.substring(1);\n }\n if (!hash) {\n return;\n }\n let [pageName, paramstr] = hash.split('?');\n let params = {} as any;\n if (paramstr) {\n paramstr.split('&').forEach((p) => {\n const [k, v] = p.split('=');\n params[k] = v;\n });\n }\n return getNavigationState(pageName, params);\n};\n\nconst getPathFromState = (state: any, options: any) => {\n const pagesRoute = state?.routes[0];\n const pageRoute: any = last(pagesRoute?.state.routes);\n let path = '';\n if (pageRoute) {\n path = window.location.href.split('#')[0] + '#/'+ pageRoute.name;\n if (!isEmpty(pageRoute.params)) {\n path += '?' + keys(pageRoute.params).map((k) => {\n return `${k}=${pageRoute.params[k]}`\n }).join('&');\n }\n }\n setTimeout(() => {\n const id = window.history.state?.id;\n window.history.replaceState({id}, null, path);\n });\n return path;\n};\n\nexport const AppNavigator = (props: AppNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const pages = {};\n const linking = {\n prefixes: [`${appConfig.appId}://`],\n config: {\n screens: {\n \"pages\": {\n path: \"pages\",\n screens: pages\n }\n }\n },\n getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,\n getPathFromState: isWebPreviewMode()? getPathFromState: undefined
|
|
1
|
+
{"version":3,"names":["React","Platform","View","NavigationContainer","DefaultTheme","isWebPreviewMode","injector","AppDrawerNavigator","AppStackNavigator","isEmpty","keys","last","ThemeVariables","navigationRef","setNavigationReady","AUTH_CALLBACK_PATH","getNavigationState","pageName","params","routes","name","state","index","getStateFromPath","path","options","hash","window","location","substring","startsWith","paramstr","split","forEach","p","k","v","getPathFromState","pagesRoute","pageRoute","href","map","join","setTimeout","_window$history$state","id","history","replaceState","AppNavigator","props","_appConfig$pages","appConfig","get","pages","linking","prefixes","appId","config","screens","undefined","filter","url","indexOf","navigationTheme","colors","background","INSTANCE","pageContentBgColor","stack","createElement","landingPage","leftNav","drawerWidth","app","leftNavWidth","type","drawerAnimation","hide","hideDrawer","content","drawerContent","rootComponent","initialState","OS","landingPageParams","ref","onReady","theme"],"sources":["App.navigator.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Platform, View } from 'react-native';\nimport { NavigationContainer, DefaultTheme } from '@react-navigation/native';\nimport { isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppDrawerNavigator from './navigator/drawer.navigator';\nimport AppStackNavigator from './navigator/stack.navigator';\nimport { isEmpty, keys, last } from 'lodash';\nimport ThemeVariables from '../styles/theme.variables';\nimport { navigationRef, setNavigationReady } from '../core/navigation.service';\nimport { AUTH_CALLBACK_PATH } from './services/browser.constants';\n\ndeclare const window: any;\n\nexport interface AppNavigatorProps {\n drawerContent: () => ReactNode;\n drawerAnimation: string;\n hideDrawer: boolean;\n landingPage?: string;\n landingPageParams?: any;\n app: any;\n}\n\nconst getNavigationState = (pageName: string, params: any) => {\n return {\n routes: [{\n name: 'pages',\n state: {\n index: 0,\n routes: [{\n name: pageName,\n params: params\n }]\n }\n }]\n };\n};\n\nconst getStateFromPath = (path: string, options?: any) => {\n let hash: string = window.location.hash;\n hash = hash.substring(1);\n if (hash && hash.startsWith('/')) {\n hash = hash.substring(1);\n }\n if (!hash) {\n return;\n }\n let [pageName, paramstr] = hash.split('?');\n let params = {} as any;\n if (paramstr) {\n paramstr.split('&').forEach((p) => {\n const [k, v] = p.split('=');\n params[k] = v;\n });\n }\n return getNavigationState(pageName, params);\n};\n\nconst getPathFromState = (state: any, options: any) => {\n const pagesRoute = state?.routes[0];\n const pageRoute: any = last(pagesRoute?.state.routes);\n let path = '';\n if (pageRoute) {\n path = window.location.href.split('#')[0] + '#/'+ pageRoute.name;\n if (!isEmpty(pageRoute.params)) {\n path += '?' + keys(pageRoute.params).map((k) => {\n return `${k}=${pageRoute.params[k]}`\n }).join('&');\n }\n }\n setTimeout(() => {\n const id = window.history.state?.id;\n window.history.replaceState({id}, null, path);\n });\n return path;\n};\n\nexport const AppNavigator = (props: AppNavigatorProps) => {\n const appConfig = injector.get<AppConfig>('APP_CONFIG');\n const pages = {};\n const linking = {\n prefixes: [`${appConfig.appId}://`],\n config: {\n screens: {\n \"pages\": {\n path: \"pages\",\n screens: pages\n }\n }\n },\n getStateFromPath: isWebPreviewMode() ? getStateFromPath : undefined,\n getPathFromState: isWebPreviewMode()? getPathFromState: undefined,\n // Auth-session completion uses the same app scheme. Do not treat it as a page route.\n filter: (url: string) => url.indexOf(AUTH_CALLBACK_PATH) === -1,\n } as any;\n\n const navigationTheme = {\n ...DefaultTheme,\n colors: {\n ...DefaultTheme.colors,\n background: ThemeVariables.INSTANCE.pageContentBgColor\n },\n };\n\n appConfig.pages?.forEach((p) => {\n //@ts-ignore\n pages[p.name] = p.name;\n });\n const stack = (<AppStackNavigator\n pages={appConfig.pages || []}\n landingPage={appConfig.landingPage}></AppStackNavigator>);\n const leftNav = (<AppDrawerNavigator\n drawerWidth={props.app.appConfig.leftNavWidth}\n type={props.drawerAnimation === 'slide-over' ? 'front' : 'slide'}\n hide={props.hideDrawer}\n content={() => (props.drawerContent && props.drawerContent()) || (<View/>)}\n rootComponent={stack}/>);\n const initialState = props.landingPage && Platform.OS !== 'web' ?\n getNavigationState(props.landingPage, props.landingPageParams)\n : undefined;\n return (<NavigationContainer ref={navigationRef} onReady={() => setNavigationReady(true)} initialState={initialState} linking={linking} theme={navigationTheme}>{leftNav}</NavigationContainer>);\n};\n"],"mappings":"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","ignoreList":[]}
|