@fto-consult/expo-ui 6.38.3 → 6.38.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fto-consult/expo-ui",
3
- "version": "6.38.3",
3
+ "version": "6.38.5",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "main": "main",
6
6
  "scripts": {
@@ -41,6 +41,8 @@ import useContext from "$econtext/hooks";
41
41
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
42
42
  import { StyleSheet } from "react-native";
43
43
  import Logo from "$ecomponents/Logo";
44
+ import AppEntryRootView from "./RootView";
45
+ import { SafeAreaProvider } from 'react-native-safe-area-context';
44
46
 
45
47
 
46
48
  let MAX_BACK_COUNT = 1;
@@ -279,34 +281,38 @@ function App({init:initApp,initialRouteName:appInitialRouteName,render,onMount})
279
281
  </NavigationContainer> : null;
280
282
  const content = isLoaded ? typeof render == 'function'? render({children:child,appConfig,config:appConfig}) : child : null;
281
283
  return <AuthProvider>
282
- <GestureHandlerRootView testID={"RN_MainAppGestureHanleRootView"} style={styles.gesture}>
283
- <PaperProvider
284
- theme={theme}
285
- settings={{
286
- icon: (props) => {
287
- return <FontIcon {...props}/>
288
- },
289
- }}
290
- >
291
- <Portal.Host testID="RN_NativePaperPortalHost">
292
- <ErrorBoundaryProvider/>
293
- <PreloaderProvider/>
294
- <DialogProvider responsive testID={"RN_MainAppDialogProvider"}/>
295
- <AlertProvider SimpleSelect={SimpleSelect}/>
296
- <FormDataDialogProvider/>
297
- <BottomSheetProvider/>
298
- <DropdownAlert ref={notificationRef}/>
299
- <ErrorBoundary>
300
- <StatusBar/>
301
- <SplashScreen isLoaded={isLoaded}>
302
- <PreferencesContext.Provider value={preferences}>
303
- {React.isValidElement(content) && content || child}
304
- </PreferencesContext.Provider>
305
- </SplashScreen>
306
- </ErrorBoundary>
307
- </Portal.Host>
308
- </PaperProvider>
309
- </GestureHandlerRootView>
284
+ <SafeAreaProvider>
285
+ <GestureHandlerRootView testID={"RN_MainAppGestureHanleRootView"} style={styles.gesture}>
286
+ <AppEntryRootView>
287
+ <PaperProvider
288
+ theme={theme}
289
+ settings={{
290
+ icon: (props) => {
291
+ return <FontIcon {...props}/>
292
+ },
293
+ }}
294
+ >
295
+ <Portal.Host testID="RN_NativePaperPortalHost">
296
+ <ErrorBoundaryProvider/>
297
+ <PreloaderProvider/>
298
+ <DialogProvider responsive testID={"RN_MainAppDialogProvider"}/>
299
+ <AlertProvider SimpleSelect={SimpleSelect}/>
300
+ <FormDataDialogProvider/>
301
+ <BottomSheetProvider/>
302
+ <DropdownAlert ref={notificationRef}/>
303
+ <ErrorBoundary>
304
+ <StatusBar/>
305
+ <SplashScreen isLoaded={isLoaded}>
306
+ <PreferencesContext.Provider value={preferences}>
307
+ {React.isValidElement(content) && content || child}
308
+ </PreferencesContext.Provider>
309
+ </SplashScreen>
310
+ </ErrorBoundary>
311
+ </Portal.Host>
312
+ </PaperProvider>
313
+ </AppEntryRootView>
314
+ </GestureHandlerRootView>
315
+ </SafeAreaProvider>
310
316
  </AuthProvider>;
311
317
  }
312
318
 
@@ -0,0 +1,16 @@
1
+ import {View,StyleSheet} from "react-native";
2
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
3
+ export default function AppEntryRootView(props){
4
+ const insets = useSafeAreaInsets();
5
+ return <View
6
+ testID="RN_MainAppEntryRootView"
7
+ {...props}
8
+ style = {StyleSheet.flatten([
9
+ {
10
+ paddingBottom: insets.bottom,
11
+ paddingLeft: insets.left,
12
+ paddingRight: insets.right,
13
+ },
14
+ props.style,{flex:1}])}
15
+ />
16
+ }
@@ -162,7 +162,7 @@ const styles = StyleSheet.create({
162
162
  justifyContent : "space-between",
163
163
  alignItems : "center",
164
164
  flexDirection : "row",
165
- w : "100%"
165
+ width : "100%"
166
166
  },
167
167
  })
168
168
 
@@ -106,6 +106,11 @@ export default class DrawerLayout extends React.PureComponent {
106
106
  getBackgroundColor(){
107
107
  return Colors.isValid(this.props.drawerBackgroundColor)? this.props.backgroundColor : theme.colors.surface;
108
108
  }
109
+ renderContent({testID}){
110
+ return <View style={[styles.main]} testID={testID+"_DrawerLayoutContent"}>
111
+ {this.props.children}
112
+ </View>;
113
+ }
109
114
  render() {
110
115
  const { accessibilityViewIsModal, drawerShown, openValue } = this.state;
111
116
  const elevation = typeof this.props.elevation =='number'? this.props.elevation : 5;
@@ -165,9 +170,6 @@ export default class DrawerLayout extends React.PureComponent {
165
170
  if(permanent){
166
171
  dynamicDrawerStyles.position = "relative";
167
172
  }
168
- const content = <Animated.View style={[styles.main]} testID={testID+"_DrawerLayoutContent"}>
169
- {this.props.children}
170
- </Animated.View>
171
173
  return (
172
174
  <View
173
175
  testID = {testID}
@@ -186,7 +188,7 @@ export default class DrawerLayout extends React.PureComponent {
186
188
  style={[styles.overlay,{backgroundColor:theme.colors.backdrop}, animatedOverlayStyles]}
187
189
  />
188
190
  </TouchableWithoutFeedback>}
189
- {posRight && content}
191
+ {posRight && this.renderContent({testID})}
190
192
  <Animated.View
191
193
  testID={testID+"_NavigationViewContainer"}
192
194
  ref={React.mergeRefs(navigationViewRef,this._navigationViewRef)}
@@ -200,7 +202,7 @@ export default class DrawerLayout extends React.PureComponent {
200
202
  >
201
203
  {this.props.renderNavigationView()}
202
204
  </Animated.View>
203
- {!posRight && content}
205
+ {!posRight && this.renderContent({testID})}
204
206
  </View>
205
207
  );
206
208
  }
@@ -99,7 +99,6 @@ FormDataDialogComponent.propTypes = {
99
99
  open : PropTypes.func, //la fonction appelée pour ouvrir la boîte de dialogue
100
100
  close : PropTypes.func, //la fonction appelée pour fermer la boîte de dialogue
101
101
  containerProps : PropTypes.object,
102
- withHeavyScreen : PropTypes.bool,
103
102
  contentProps : PropTypes.object,
104
103
  preloader : PropTypes.any,
105
104
  preloaderProps : PropTypes.object,
@@ -1,9 +1,9 @@
1
1
  import React from '$react';
2
- import {useAfterInteractions } from "./utils";
3
- import PropTypes from "prop-types"
4
- import Animated,{ FadeIn, FadeOut } from 'react-native-reanimated';
2
+ import PropTypes from "prop-types";
5
3
  import { StylePropTypes } from '$theme';
6
4
  import {isNumber,defaultStr} from "$cutils";
5
+ import { useNavigation } from '$enavigation/utils';
6
+ import { StyleSheet } from 'react-native';
7
7
 
8
8
  const OptimizedHeavyScreen = React.forwardRef(({
9
9
  style,
@@ -15,23 +15,38 @@ const OptimizedHeavyScreen = React.forwardRef(({
15
15
  placeholder,
16
16
  enabled,
17
17
  },ref) => {
18
- timeout = isNumber(timeout)? timeout : isNumber(transitionTimeout)? transitionTimeout : undefined;
19
- const { transitionRef, areInteractionsComplete } = useAfterInteractions(timeout);
20
- let Placeholder = placeholder;
18
+ timeout = isNumber(timeout)? timeout : isNumber(transitionTimeout)? transitionTimeout : 500;
19
+ const navigation = useNavigation();
20
+ const transitionStaredRef = React.useRef(false);
21
+ const [isScreenLoaded,setIsScreenLoaded] = React.useState(false);
22
+ React.useEffect(() => {
23
+ const unsubscribe1 = navigation.addListener('transitionStart', (e) => {
24
+ // Do something
25
+ transitionStaredRef.current = true;
26
+ });
27
+ const unsubscribe = navigation.addListener('transitionEnd', (e) => {
28
+ // Do something
29
+ if(isScreenLoaded) return;
30
+ setIsScreenLoaded(true);
31
+ });
32
+ setTimeout(()=>{
33
+ if(transitionStaredRef.current){
34
+ return;
35
+ }
36
+ if(isScreenLoaded) return;
37
+ setIsScreenLoaded(true);
38
+ },timeout)
39
+ return ()=>{
40
+ transitionStaredRef.current = false;
41
+ unsubscribe && unsubscribe();
42
+ unsubscribe1 && unsubscribe1();
43
+ }
44
+ }, [navigation]);
45
+ const Placeholder = placeholder;
21
46
  const children = React.useStableMemo(()=>cChildren,[cChildren]);
22
- if(enabled === false) return children;
47
+ if(enabled === false && isScreenLoaded) return children;
23
48
  placeholder = React.isComponent(Placeholder)? <Placeholder /> : React.isValidElement(Placeholder)? Placeholder : null;
24
- return (
25
- <Animated.View
26
- testID={defaultStr(testID,'RN_OptimizedHeavyScreen')}
27
- entering={FadeIn}
28
- exiting={FadeOut}
29
- style={[{flex:1},style]}
30
- ref={React.useMergeRefs(transitionRef,ref)}
31
- >
32
- {areInteractionsComplete && isLoading !==true ? (children) : placeholder}
33
- </Animated.View>
34
- )
49
+ return isScreenLoaded && isLoading !==true ? (children) : placeholder;
35
50
  });
36
51
 
37
52
  export default OptimizedHeavyScreen;
@@ -50,4 +65,10 @@ OptimizedHeavyScreen.propTypes = {
50
65
  isLoading : PropTypes.bool,//si l'écan où les données sont en train d'être chargé
51
66
  }
52
67
 
53
- OptimizedHeavyScreen.displayName = "OptimizedHeavyScreenComponent";
68
+ OptimizedHeavyScreen.displayName = "OptimizedHeavyScreenComponent";
69
+
70
+ const styles = StyleSheet.create({
71
+ container : {
72
+ backgroundColor : 'transparent'
73
+ }
74
+ })
@@ -1,6 +1,5 @@
1
1
  import React from '$react';
2
2
  import {StyleSheet} from 'react-native';
3
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
4
3
  import PropTypes from "prop-types";
5
4
  import {defaultObj,defaultStr,defaultNumber,defaultBool,uniqid} from "$cutils";
6
5
  import View from "$ecomponents/View";
@@ -13,6 +12,8 @@ import theme,{StyleProp} from "$theme";
13
12
  import StatusBar from "$ecomponents/StatusBar";
14
13
  import ScrollView from "$ecomponents/ScrollView";
15
14
  import KeyboardAvoidingView from "$ecomponents/KeyboardAvoidingView";
15
+ import Animated from 'react-native-reanimated';
16
+ import {sharedElementTransition} from "./transition";
16
17
 
17
18
  const getDefaultTitle = (nTitle,returnStr)=>{
18
19
  let titleStr = React.getTextContent(nTitle);
@@ -55,20 +56,11 @@ export default function MainScreenScreenWithoutAuthContainer(props) {
55
56
  backgroundColor,
56
57
  ...rest
57
58
  } = props;
58
- const insets = useSafeAreaInsets();
59
+
59
60
  keyboardAvoidingViewProps = defaultObj(keyboardAvoidingViewProps);
60
61
  testID = defaultStr(testID,"RN_MainScreenScreenWithoutAuthContainer")
61
62
  containerProps = defaultObj(containerProps);
62
63
  backgroundColor = theme.Colors.isValid(backgroundColor)? backgroundColor : theme.colors.background;
63
- const containerStyle = [
64
- styles.container,
65
- {
66
- backgroundColor,
67
- paddingBottom: insets.bottom,
68
- paddingLeft: insets.left,
69
- paddingRight: insets.right,
70
- },
71
- ];
72
64
  options = defaultObj(options);
73
65
  appBarProps = defaultObj(appBarProps)
74
66
  title = defaultVal(title,appBarProps.title);
@@ -109,7 +101,7 @@ export default function MainScreenScreenWithoutAuthContainer(props) {
109
101
  const WrapperProps = modal? {screenName} : {};
110
102
  const portalId = uniqid("screeen-container-"+screenName);
111
103
  return <Wrapper {...WrapperProps}>
112
- <View testID={testID+"_ScreenContentContainer"} id={portalId} {...containerProps} style={[containerStyle,{backgroundColor},modal && styles.modal,containerProps.style]} >
104
+ <View testID={testID+"_ScreenContentContainer"} id={portalId} {...containerProps} style={[styles.container,{backgroundColor},modal && styles.modal,containerProps.style]} >
113
105
  <KeyboardAvoidingView testID={testID} {...keyboardAvoidingViewProps} style={[styles.keyboardAvoidingView,keyboardAvoidingViewProps.style]}>
114
106
  {withStatusBar !== false ? <StatusBar/> : null}
115
107
  {appBar === false ? null : React.isValidElement(appBar)? state.AppBar : <AppBar
@@ -156,6 +148,7 @@ const styles = StyleSheet.create({
156
148
  flex : 1,
157
149
  backgroundColor : "transparent",
158
150
  },
151
+ animated : null,//{ width: 300, height: 300 },
159
152
  wrapper : {
160
153
  flex : 1,
161
154
  /*flex : 1,
@@ -0,0 +1,20 @@
1
+ import {
2
+ SharedTransition,
3
+ withSpring,
4
+ } from 'react-native-reanimated'
5
+
6
+ const SPRING_CONFIG = {
7
+ mass: 1,
8
+ stiffness: 100,
9
+ damping: 200,
10
+ }
11
+
12
+ export const sharedElementTransition = SharedTransition.custom((values) => {
13
+ 'worklet'
14
+ return {
15
+ height: withSpring(values.targetHeight, SPRING_CONFIG),
16
+ width: withSpring(values.targetWidth, SPRING_CONFIG),
17
+ originX: withSpring(values.targetGlobalOriginX, SPRING_CONFIG),
18
+ originY: withSpring(values.targetGlobalOriginY, SPRING_CONFIG),
19
+ }
20
+ })
@@ -7,6 +7,7 @@ import useContext from "$econtext/hooks";
7
7
  import { MainNavigationProvider } from "./hooks";
8
8
  import {isWeb,isAndroid} from "$cplatform";
9
9
  import Stack from "./Stack";
10
+ import theme from "$theme";
10
11
 
11
12
  export * from "./hooks";
12
13
 
@@ -32,8 +33,9 @@ export default function NavigationComponent (props){
32
33
  const opts = {
33
34
  headerShown : false,
34
35
  header : ()=> null,
35
- presentation : isAndroid()? "card":"default",
36
- animationEnabled : true,
36
+ headerStyle: { backgroundColor: theme.colors.primary},
37
+ presentation : isAndroid() || isWeb()? "modal":"default",
38
+ animationEnabled : !isWeb(),
37
39
  }
38
40
  const cardStyle = { backgroundColor: 'transparent' };
39
41
  if(isWeb()){
@@ -52,7 +54,7 @@ export default function NavigationComponent (props){
52
54
  key = {"MODAL-DRAWERS-SCREENS"}
53
55
  screenOptions={{
54
56
  ...opts,
55
- presentation: 'transparentModal',
57
+ presentation :"transparentModal",
56
58
  cardStyle
57
59
  }}
58
60
  >
@@ -1 +1 @@
1
- module.exports = {"@fto-consult/expo-ui":{"version":"6.36.0","url":"https://github.com/borispipo/expo-ui#readme","license":"ISC"},"@emotion/native":{"version":"11.11.0","url":"https://emotion.sh","license":"MIT"},"@emotion/react":{"version":"11.11.1","url":"https://github.com/emotion-js/emotion/tree/main/packages/react","license":"MIT"},"@expo/html-elements":{"version":"0.5.1","url":"https://github.com/expo/expo/tree/main/packages/html-elements","license":"MIT"},"@expo/metro-config":{"version":"0.10.7","url":"https://github.com/expo/expo.git","license":"MIT"},"@expo/vector-icons":{"version":"13.0.0","url":"https://expo.github.io/vector-icons","license":"MIT"},"@expo/webpack-config":{"version":"19.0.0","url":"https://github.com/expo/expo-cli.git","license":"MIT"},"@faker-js/faker":{"version":"8.0.2","url":"https://github.com/faker-js/faker.git","license":"MIT"},"@fto-consult/common":{"version":"3.36.0","url":"https://github.com/borispipo/common#readme","license":"ISC"},"@pchmn/expo-material3-theme":{"version":"1.3.1","url":"https://github.com/pchmn/expo-material3-theme#readme","license":"MIT"},"@react-native-community/datetimepicker":{"version":"7.2.0","url":"https://github.com/react-native-community/datetimepicker#readme","license":"MIT"},"@react-native-community/netinfo":{"version":"9.3.10","url":"https://github.com/react-native-netinfo/react-native-netinfo#readme","license":"MIT"},"@react-native/assets-registry":{"version":"0.72.0","url":"git@github.com:facebook/react-native.git","license":"MIT"},"@react-navigation/native":{"version":"6.1.7","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.13","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@shopify/flash-list":{"version":"1.4.3","url":"https://shopify.github.io/flash-list/","license":"MIT"},"apexcharts":{"version":"3.42.0","url":"https://apexcharts.com","license":"MIT"},"babel-plugin-inline-dotenv":{"version":"1.7.0","url":"https://github.com/brysgo/babel-plugin-inline-dotenv#readme","license":"ISC"},"babel-plugin-module-resolver":{"version":"5.0.0","url":"https://github.com/tleunen/babel-plugin-module-resolver.git","license":"MIT"},"expo":{"version":"49.0.11","url":"https://github.com/expo/expo/tree/main/packages/expo","license":"MIT"},"expo-camera":{"version":"13.4.4","url":"https://docs.expo.dev/versions/latest/sdk/camera/","license":"MIT"},"expo-clipboard":{"version":"4.3.1","url":"https://docs.expo.dev/versions/latest/sdk/clipboard","license":"MIT"},"expo-font":{"version":"11.4.0","url":"https://docs.expo.dev/versions/latest/sdk/font/","license":"MIT"},"expo-image-picker":{"version":"14.3.2","url":"https://docs.expo.dev/versions/latest/sdk/imagepicker/","license":"MIT"},"expo-linking":{"version":"5.0.2","url":"https://docs.expo.dev/versions/latest/sdk/linking","license":"MIT"},"expo-sqlite":{"version":"11.3.3","url":"https://docs.expo.dev/versions/latest/sdk/sqlite/","license":"MIT"},"expo-status-bar":{"version":"1.6.0","url":"https://docs.expo.dev/versions/latest/sdk/status-bar/","license":"MIT"},"expo-storage":{"version":"48.1.0","url":"https://github.com/echowaves/expo-storage#readme","license":"MIT"},"expo-system-ui":{"version":"2.4.0","url":"https://docs.expo.dev/versions/latest/sdk/system-ui","license":"MIT"},"expo-web-browser":{"version":"12.3.2","url":"https://docs.expo.dev/versions/latest/sdk/webbrowser/","license":"MIT"},"file-saver":{"version":"2.0.5","url":"https://github.com/eligrey/FileSaver.js#readme","license":"MIT"},"fs-extra":{"version":"11.1.1","url":"https://github.com/jprichardson/node-fs-extra","license":"MIT"},"google-libphonenumber":{"version":"3.2.33","url":"https://ruimarinho.github.io/google-libphonenumber/","license":"(MIT AND Apache-2.0)"},"htmlparser2-without-node-native":{"version":"3.9.2","url":"git://github.com/fb55/htmlparser2.git","license":"MIT"},"is-plain-obj":{"version":"4.1.0","license":"MIT"},"pdfmake":{"version":"0.2.7","url":"http://pdfmake.org","license":"MIT"},"process":{"version":"0.11.10","url":"git://github.com/shtylman/node-process.git","license":"MIT"},"prop-types":{"version":"15.8.1","url":"https://facebook.github.io/react/","license":"MIT"},"react":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-content-loader":{"version":"6.2.1","url":"https://github.com/danilowoz/react-content-loader","license":"MIT"},"react-dom":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-native":{"version":"0.72.4","license":"MIT"},"react-native-big-list":{"version":"1.6.1","url":"https://marcocesarato.github.io/react-native-big-list-docs/","license":"GPL-3.0-or-later"},"react-native-blob-util":{"version":"0.18.6","url":"https://github.com/RonRadtke/react-native-blob-util","license":"MIT"},"react-native-gesture-handler":{"version":"2.12.1","url":"https://github.com/software-mansion/react-native-gesture-handler#readme","license":"MIT"},"react-native-iphone-x-helper":{"version":"1.3.1","url":"https://github.com/ptelad/react-native-iphone-x-helper#readme","license":"MIT"},"react-native-mime-types":{"version":"2.4.0","license":"MIT"},"react-native-paper":{"version":"5.10.4","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.19.0","url":"https://github.com/web-ridge/react-native-paper-dates#readme","license":"MIT"},"react-native-reanimated":{"version":"3.3.0","url":"https://github.com/software-mansion/react-native-reanimated#readme","license":"MIT"},"react-native-safe-area-context":{"version":"4.6.3","url":"https://github.com/th3rdwave/react-native-safe-area-context#readme","license":"MIT"},"react-native-screens":{"version":"3.22.1","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"react-native-svg":{"version":"13.9.0","url":"https://github.com/react-native-community/react-native-svg","license":"MIT"},"react-native-web":{"version":"0.19.7","url":"git://github.com/necolas/react-native-web.git","license":"MIT"},"react-native-webview":{"version":"13.2.2","url":"https://github.com/react-native-webview/react-native-webview#readme","license":"MIT"},"react-virtuoso":{"version":"4.5.1","url":"https://virtuoso.dev/","license":"MIT"},"sharp-cli":{"version":"4.1.1","url":"https://github.com/vseventer/sharp-cli","license":"MIT"},"tippy.js":{"version":"6.3.7","url":"https://atomiks.github.io/tippyjs/","license":"MIT"},"uninstall":{"version":"0.0.0","license":"MIT"},"websql":{"version":"2.0.3","url":"git://github.com/nolanlawson/node-websql.git","license":"Apache-2.0"},"xlsx":{"version":"0.18.5","url":"https://sheetjs.com/","license":"Apache-2.0"}};
1
+ module.exports = {"@fto-consult/expo-ui":{"version":"6.38.4","url":"https://github.com/borispipo/expo-ui#readme","license":"ISC"},"@emotion/native":{"version":"11.11.0","url":"https://emotion.sh","license":"MIT"},"@emotion/react":{"version":"11.11.1","url":"https://github.com/emotion-js/emotion/tree/main/packages/react","license":"MIT"},"@expo/html-elements":{"version":"0.5.1","url":"https://github.com/expo/expo/tree/main/packages/html-elements","license":"MIT"},"@expo/metro-config":{"version":"0.10.7","url":"https://github.com/expo/expo.git","license":"MIT"},"@expo/vector-icons":{"version":"13.0.0","url":"https://expo.github.io/vector-icons","license":"MIT"},"@expo/webpack-config":{"version":"19.0.0","url":"https://github.com/expo/expo-cli.git","license":"MIT"},"@faker-js/faker":{"version":"8.0.2","url":"https://github.com/faker-js/faker.git","license":"MIT"},"@fto-consult/common":{"version":"3.39.1","url":"https://github.com/borispipo/common#readme","license":"ISC"},"@pchmn/expo-material3-theme":{"version":"1.3.1","url":"https://github.com/pchmn/expo-material3-theme#readme","license":"MIT"},"@react-native-async-storage/async-storage":{"version":"1.18.2","url":"https://github.com/react-native-async-storage/async-storage#readme","license":"MIT"},"@react-native-community/datetimepicker":{"version":"7.2.0","url":"https://github.com/react-native-community/datetimepicker#readme","license":"MIT"},"@react-native-community/netinfo":{"version":"9.3.10","url":"https://github.com/react-native-netinfo/react-native-netinfo#readme","license":"MIT"},"@react-native/assets-registry":{"version":"0.72.0","url":"git@github.com:facebook/react-native.git","license":"MIT"},"@react-navigation/native":{"version":"6.1.7","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.13","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@react-navigation/stack":{"version":"6.3.17","url":"https://reactnavigation.org/docs/stack-navigator/","license":"MIT"},"@shopify/flash-list":{"version":"1.4.3","url":"https://shopify.github.io/flash-list/","license":"MIT"},"apexcharts":{"version":"3.42.0","url":"https://apexcharts.com","license":"MIT"},"babel-plugin-inline-dotenv":{"version":"1.7.0","url":"https://github.com/brysgo/babel-plugin-inline-dotenv#readme","license":"ISC"},"babel-plugin-module-resolver":{"version":"5.0.0","url":"https://github.com/tleunen/babel-plugin-module-resolver.git","license":"MIT"},"expo":{"version":"49.0.11","url":"https://github.com/expo/expo/tree/main/packages/expo","license":"MIT"},"expo-camera":{"version":"13.4.4","url":"https://docs.expo.dev/versions/latest/sdk/camera/","license":"MIT"},"expo-clipboard":{"version":"4.3.1","url":"https://docs.expo.dev/versions/latest/sdk/clipboard","license":"MIT"},"expo-font":{"version":"11.4.0","url":"https://docs.expo.dev/versions/latest/sdk/font/","license":"MIT"},"expo-image-picker":{"version":"14.3.2","url":"https://docs.expo.dev/versions/latest/sdk/imagepicker/","license":"MIT"},"expo-linking":{"version":"5.0.2","url":"https://docs.expo.dev/versions/latest/sdk/linking","license":"MIT"},"expo-sqlite":{"version":"11.3.3","url":"https://docs.expo.dev/versions/latest/sdk/sqlite/","license":"MIT"},"expo-status-bar":{"version":"1.6.0","url":"https://docs.expo.dev/versions/latest/sdk/status-bar/","license":"MIT"},"expo-system-ui":{"version":"2.4.0","url":"https://docs.expo.dev/versions/latest/sdk/system-ui","license":"MIT"},"expo-web-browser":{"version":"12.3.2","url":"https://docs.expo.dev/versions/latest/sdk/webbrowser/","license":"MIT"},"file-saver":{"version":"2.0.5","url":"https://github.com/eligrey/FileSaver.js#readme","license":"MIT"},"fs-extra":{"version":"11.1.1","url":"https://github.com/jprichardson/node-fs-extra","license":"MIT"},"google-libphonenumber":{"version":"3.2.33","url":"https://ruimarinho.github.io/google-libphonenumber/","license":"(MIT AND Apache-2.0)"},"htmlparser2-without-node-native":{"version":"3.9.2","url":"git://github.com/fb55/htmlparser2.git","license":"MIT"},"is-plain-obj":{"version":"4.1.0","license":"MIT"},"pdfmake":{"version":"0.2.7","url":"http://pdfmake.org","license":"MIT"},"process":{"version":"0.11.10","url":"git://github.com/shtylman/node-process.git","license":"MIT"},"prop-types":{"version":"15.8.1","url":"https://facebook.github.io/react/","license":"MIT"},"react":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-content-loader":{"version":"6.2.1","url":"https://github.com/danilowoz/react-content-loader","license":"MIT"},"react-dom":{"version":"18.2.0","url":"https://reactjs.org/","license":"MIT"},"react-native":{"version":"0.72.4","license":"MIT"},"react-native-big-list":{"version":"1.6.1","url":"https://marcocesarato.github.io/react-native-big-list-docs/","license":"GPL-3.0-or-later"},"react-native-blob-util":{"version":"0.18.6","url":"https://github.com/RonRadtke/react-native-blob-util","license":"MIT"},"react-native-gesture-handler":{"version":"2.12.1","url":"https://github.com/software-mansion/react-native-gesture-handler#readme","license":"MIT"},"react-native-iphone-x-helper":{"version":"1.3.1","url":"https://github.com/ptelad/react-native-iphone-x-helper#readme","license":"MIT"},"react-native-mime-types":{"version":"2.4.0","license":"MIT"},"react-native-paper":{"version":"5.10.4","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.19.3","url":"https://github.com/web-ridge/react-native-paper-dates#readme","license":"MIT"},"react-native-reanimated":{"version":"3.3.0","url":"https://github.com/software-mansion/react-native-reanimated#readme","license":"MIT"},"react-native-safe-area-context":{"version":"4.6.3","url":"https://github.com/th3rdwave/react-native-safe-area-context#readme","license":"MIT"},"react-native-screens":{"version":"3.22.1","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"react-native-svg":{"version":"13.9.0","url":"https://github.com/react-native-community/react-native-svg","license":"MIT"},"react-native-web":{"version":"0.19.8","url":"git://github.com/necolas/react-native-web.git","license":"MIT"},"react-native-webview":{"version":"13.2.2","url":"https://github.com/react-native-webview/react-native-webview#readme","license":"MIT"},"react-virtuoso":{"version":"4.5.1","url":"https://virtuoso.dev/","license":"MIT"},"sharp-cli":{"version":"4.1.1","url":"https://github.com/vseventer/sharp-cli","license":"MIT"},"tippy.js":{"version":"6.3.7","url":"https://atomiks.github.io/tippyjs/","license":"MIT"},"uninstall":{"version":"0.0.0","license":"MIT"},"websql":{"version":"2.0.3","url":"git://github.com/nolanlawson/node-websql.git","license":"Apache-2.0"},"xlsx":{"version":"0.18.5","url":"https://sheetjs.com/","license":"Apache-2.0"}};
@@ -0,0 +1,8 @@
1
+ import ActivityIndicator from "$ecomponents/ActivityIndicator";
2
+ import View from "$ecomponents/View";
3
+ import theme from "$theme";
4
+ export default function ScreenLoadingActivityIndicator({...props}){
5
+ return <View testID={"MainScreenWrapperLoadingIndicator"} style={[theme.alignItemsCenter,theme.justifyContentCenter]}>
6
+ <ActivityIndicator/>
7
+ </View>
8
+ }