@fto-consult/expo-ui 6.70.3 → 6.71.0

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.70.3",
3
+ "version": "6.71.0",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "main": "main",
6
6
  "scripts": {
@@ -3131,8 +3131,8 @@ export default class CommonDatagridComponent extends AppComponent {
3131
3131
  return this.doFilter(arg);
3132
3132
  }
3133
3133
  ///si les filtres devront être convertis au format SQL
3134
- willConvertFiltersToSQL(){
3135
- return !!defaultVal(this.props.convertFiltersToSQL);;
3134
+ canConvertFiltersToSQL(){
3135
+ return !!(this.props.convertFiltersToSQL);;
3136
3136
  }
3137
3137
  /*** retourne la liste des colonnes sur lesquelles on peut effectuer un filtre*/
3138
3138
  getFilterableColumnsNames(){
@@ -3242,11 +3242,11 @@ export default class CommonDatagridComponent extends AppComponent {
3242
3242
  this.isFetchingData = false;
3243
3243
  return resolve(sData);
3244
3244
  }
3245
- if(this.beforeFetchData(fetchOptions) === false) return resolve(sData);
3246
- if(this.willConvertFiltersToSQL()){
3245
+ if(this.beforeFetchData({fetchOptions,force,context:this,renderProgressBar}) === false) return resolve(sData);
3246
+ if(this.canConvertFiltersToSQL()){
3247
3247
  fetchOptions.selector = convertToSQL(fetchOptions.selector);
3248
3248
  }
3249
- if(typeof this.props.beforeFetchData =='function' && this.props.beforeFetchData({...rest,context:this,force,fetchOptions,options:fetchOptions}) === false){
3249
+ if(typeof this.props.beforeFetchData =='function' && this.props.beforeFetchData({...rest,renderProgressBar,context:this,force,fetchOptions,options:fetchOptions}) === false){
3250
3250
  this.isFetchingData = false;
3251
3251
  return resolve(sData);
3252
3252
  }
@@ -166,6 +166,9 @@ const SWRDatagridComponent = React.forwardRef((props,ref)=>{
166
166
  const limitRef = React.useRef(!canHandleLimit ?0 : defaultNumber(getSessionData("limit"),500));
167
167
  const isInitializedRef = React.useRef(false);
168
168
  testID = defaultStr(testID,"RNSWRDatagridComponent");
169
+ React.useEffect(()=>{
170
+ showProgressRef.current = false;
171
+ },[showProgressRef.current]);
169
172
  const {error, isValidating,isLoading,data:result,refresh} = useSWR(fetchPath,{
170
173
  fetcher : (url,opts)=>{
171
174
  if(!isInitializedRef.current) {
@@ -193,27 +196,15 @@ const SWRDatagridComponent = React.forwardRef((props,ref)=>{
193
196
  opts.showError = false;
194
197
  }
195
198
  if(typeof fetcher =='function'){
196
- return fetcher(url,opts).then((r)=>{
197
- showProgressRef.current = false;
198
- return r;
199
- }).catch((r)=>{
200
- showProgressRef.current = false;
201
- return r;
202
- });
199
+ return fetcher(url,opts);
203
200
  }
204
- return apiFetch(url,opts).then((r)=>{
205
- showProgressRef.current = false;
206
- return r;
207
- }).catch((r)=>{
208
- showProgressRef.current = false;
209
- return r;
210
- });
201
+ return apiFetch(url,opts);
211
202
  },
212
203
  swrOptions : getSWROptions(swrConfig.refreshTimeout)
213
204
  });
214
205
  const dataRef = React.useRef(null);
215
206
  const totalRef = React.useRef(0);
216
- const loading = (customIsLoading === true || isLoading || (false && isValidating && showProgressRef.current));
207
+ const loading = (customIsLoading === true || isLoading || (isValidating && showProgressRef.current));
217
208
  const {data,total} = React.useMemo(()=>{
218
209
  if((loading && customIsLoading !== false) || !isObjOrArray(result)){
219
210
  return {data:dataRef.current,total:totalRef.current};
@@ -1,21 +1,19 @@
1
1
  import Fab from "$ecomponents/Fab";
2
2
  import { StyleSheet } from "react-native";
3
3
  import {isObjOrArray,isObj,defaultStr,defaultObj} from "$cutils";
4
- import APP from "$capp";
5
4
  import React from "$react";
6
5
  import {navigateToTableData} from "$enavigation/utils";
7
6
  import PropTypes from "prop-types";
8
7
  import theme from "$theme";
9
- import {isLoggedIn as isAuthLoggedIn} from "$cauth/utils/session";
10
8
  import useExpoUI from "$econtext/hooks";
11
- import Auth from "$cauth";
9
+ import Auth,{useIsSignedIn} from "$cauth";
12
10
 
13
11
  export * from "./utils";
14
12
 
15
13
  const FabLayoutComponent = React.forwardRef((p,ref)=>{
16
14
  const {components:{fabPropsMutator},tablesData} = useExpoUI();
17
15
  const {style,actions:fabActions,...props} = typeof fabPropsMutator == 'function'? extendObj({},p,fabPropsMutator({...p,isLoggedIn})) : p;
18
- const [isLoggedIn,setIsLoggedIn] = React.useState(isAuthLoggedIn());
16
+ const isLoggedIn = useIsSignedIn();
19
17
  const isMounted = React.useIsMounted();
20
18
  const tables = isObjOrArray(fabActions)? fabActions : tablesData;
21
19
  const actions = React.useMemo(()=>{
@@ -51,22 +49,6 @@ const FabLayoutComponent = React.forwardRef((p,ref)=>{
51
49
  })
52
50
  return a.length ? a : null;
53
51
  },[isLoggedIn,fabActions,tables]);
54
-
55
- React.useEffect(()=>{
56
- const onLogin = ()=>{
57
- if(!isMounted())return;
58
- setIsLoggedIn(true);
59
- },onLogout = ()=>{
60
- if(!isMounted()) return;
61
- setIsLoggedIn(false);
62
- }
63
- APP.on(APP.EVENTS.AUTH_LOGIN_USER,onLogin);
64
- APP.on(APP.EVENTS.AUTH_LOGOUT_USER,onLogout);
65
- return ()=>{
66
- APP.off(APP.EVENTS.AUTH_LOGIN_USER,onLogin);
67
- APP.off(APP.EVENTS.AUTH_LOGOUT_USER,onLogout);
68
- }
69
- },[])
70
52
  return actions ? <Fab.Group
71
53
  {...props}
72
54
  ref = {ref}
@@ -241,6 +241,7 @@ export default class TableDataScreenComponent extends FormDataScreen{
241
241
  clone,
242
242
  isArchivable,clonable,isPrintable,print,data:customData,getRowKey,
243
243
  save2newAction,
244
+ save2cloneAction,
244
245
  saveAction,
245
246
  save2closeAction,
246
247
  cloneAction,
@@ -317,15 +318,17 @@ export default class TableDataScreenComponent extends FormDataScreen{
317
318
  isUpdated,
318
319
  fields,
319
320
  });
321
+ const cCloneAction = this.isClonable() && this.canCreateNew() && clonable !== false ? cloneAction : false;
320
322
  const rActionsArg = this.currentRenderingProps = {
321
323
  ...rest,
322
324
  ...formProps,
323
325
  context,
326
+ cloneAction : cCloneAction,
324
327
  save2newAction : this.canCreateNew() && save2newAction !== false ? true : false,
328
+ save2cloneAction : cloneAction && save2cloneAction !== false ? true : false,
325
329
  isMobile : isMobOrTab,
326
330
  saveAction,
327
331
  save2closeAction,
328
- cloneAction : this.isClonable() && clonable !== false ? cloneAction : false,
329
332
  tableName,
330
333
  sessionName,
331
334
  table,
@@ -719,16 +722,17 @@ export default class TableDataScreenComponent extends FormDataScreen{
719
722
  }
720
723
  if(action == 'save2new'){
721
724
  this.reset();
722
- closePreloader();
723
725
  } else if(action === 'save'){
724
726
  this.reset({data:savedData});
725
- closePreloader();
727
+ } else if(action === 'save2clone'){
728
+ this.clone(savedData);
729
+ return;
726
730
  } else if(willCloseAfterSave) {
727
731
  close();
728
732
  } else {
729
733
  notify('Données modifiée avec succès!!','success');
730
- closePreloader();
731
734
  }
735
+ closePreloader();
732
736
  }).catch((e)=>{
733
737
  console.log('error on saving table data ',e);
734
738
  closePreloader();
@@ -70,7 +70,7 @@ export const renderTabsContent = ({tabs,context,data,sessionName,isMobile,props,
70
70
  }
71
71
  export const readablePerms = ["read","print"];
72
72
  export const defaultArchivedPermsFilter = ({perm})=>!readablePerms.includes(perm) && !readablePerms.includes(perm.toLowerCase());
73
- export function renderActions({context,isUpdate,newElementLabel,readablePerms:cReadablePerms,makePhoneCallProps,hasManyData,onPressCopyToClipboard,archived,archivedPermsFilter,canMakePhoneCall,onPressToMakePhoneCall,saveAction,save2newAction,save2closeAction,cloneAction,readOnly,printable,archivable,data,table,perm,tableName,saveButton,datas,rows,currentData,currentDataIndex,onPressToSave,onPressToCreateNew,onPressToPrint,onPressToPrevious,onPressToNext,onPressToArchive,...rest}){
73
+ export function renderActions({context,isUpdate,newElementLabel,readablePerms:cReadablePerms,makePhoneCallProps,hasManyData,onPressCopyToClipboard,archived,archivedPermsFilter,canMakePhoneCall,onPressToMakePhoneCall,saveAction,save2newAction,save2cloneAction,save2closeAction,cloneAction,readOnly,printable,archivable,data,table,perm,tableName,saveButton,datas,rows,currentData,currentDataIndex,onPressToSave,onPressToCreateNew,onPressToPrint,onPressToPrevious,onPressToNext,onPressToArchive,...rest}){
74
74
  let textSave = defaultStr(saveButton)
75
75
  table = defaultStr(tableName,table);
76
76
  datas = defaultArray(datas,rows);
@@ -133,7 +133,17 @@ export function renderActions({context,isUpdate,newElementLabel,readablePerms:c
133
133
  icon : 'content-save-edit',
134
134
  flat : true,
135
135
  onPress : createCallback({context:self,action:'save2new',callback:onPressToSave})
136
+ } : null
137
+ ,save2clone = (save2cloneAction !== false && cloneAction !== false && !readOnly && save && permsObj.canCreate)?{
138
+ text : textSave+'& Dupliquer',
139
+ title : textSave+'& Dupliquer',
140
+ isAction : true,
141
+ shortcut : "save2clone",
142
+ icon : 'content-save-move',
143
+ flat : true,
144
+ onPress : createCallback({context:self,action:'save2clone',callback:onPressToSave})
136
145
  } : null;
146
+
137
147
  return {
138
148
  print : (isUpdate && permsObj.canPrint)?{
139
149
  text : 'Imprimer',
@@ -155,6 +165,7 @@ export function renderActions({context,isUpdate,newElementLabel,readablePerms:c
155
165
  } : null,
156
166
  save2close,
157
167
  save2new,
168
+ save2clone,
158
169
  save,
159
170
  previous : (hasManyData && datas.length > 0 && currentDataIndex > 0)?{
160
171
  icon : 'chevron-left',
@@ -1 +1 @@
1
- module.exports = {"@fto-consult/expo-ui":{"name":"@fto-consult/expo-ui","version":"6.68.0","repository":{"type":"git","url":"git+https://github.com/borispipo/expo-ui.git"},"homepage":"https://github.com/borispipo/expo-ui#readme"},"@babel/plugin-proposal-export-namespace-from":{"version":"7.18.9","url":"https://babel.dev/docs/en/next/babel-plugin-proposal-export-namespace-from","license":"MIT"},"@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.58.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.9","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.16","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@react-navigation/stack":{"version":"6.3.20","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.44.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.16","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-sharing":{"version":"11.5.0","url":"https://docs.expo.dev/versions/latest/sdk/sharing/","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"},"js-base64":{"version":"3.7.5","license":"BSD-3-Clause"},"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.6","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-get-random-values":{"version":"1.9.0","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.11.1","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.20.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.9","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.6.2","url":"https://virtuoso.dev/","license":"MIT"},"sharp-cli":{"version":"2.1.0","url":"https://github.com/vseventer/sharp-cli","license":"MIT"},"tippy.js":{"version":"6.3.7","url":"https://atomiks.github.io/tippyjs/","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":{"name":"@fto-consult/expo-ui","version":"6.70.3","repository":{"type":"git","url":"git+https://github.com/borispipo/expo-ui.git"},"homepage":"https://github.com/borispipo/expo-ui#readme"},"@babel/plugin-proposal-export-namespace-from":{"version":"7.18.9","url":"https://babel.dev/docs/en/next/babel-plugin-proposal-export-namespace-from","license":"MIT"},"@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.59.3","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.9","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.16","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@react-navigation/stack":{"version":"6.3.20","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.44.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.16","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-sharing":{"version":"11.5.0","url":"https://docs.expo.dev/versions/latest/sdk/sharing/","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"},"js-base64":{"version":"3.7.5","license":"BSD-3-Clause"},"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.6","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-get-random-values":{"version":"1.9.0","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.11.1","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.20.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.9","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.6.2","url":"https://virtuoso.dev/","license":"MIT"},"sharp-cli":{"version":"2.1.0","url":"https://github.com/vseventer/sharp-cli","license":"MIT"},"tippy.js":{"version":"6.3.7","url":"https://atomiks.github.io/tippyjs/","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"}};