@fto-consult/expo-ui 6.44.4 → 6.46.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/App.js +2 -1
- package/babel.config.alias.js +3 -0
- package/docs/components/DocVersion/index.js +21 -0
- package/docs/drawerItems/index.js +17 -0
- package/docs/drawerItems/introduction.js +8 -0
- package/{src/test-screens/Home.js → docs/screens/Datagrid/Datagrid.js} +3 -3
- package/docs/screens/Home/index.js +33 -0
- package/docs/screens/Introduction/index.js +13 -0
- package/docs/screens/index.js +7 -0
- package/expo-ui.json +11 -0
- package/main.js +1 -1
- package/package.json +10 -10
- package/src/components/AutoLink/index.js +3 -0
- package/src/components/Link/index.js +17 -8
- package/src/components/Typography/index.js +42 -0
- package/src/screens/Help/OpenLibraryScreen.js +0 -1
- package/src/screens/Help/openLibraries.js +1 -1
- package/src/test-screens/index.js +0 -4
package/App.js
CHANGED
@@ -3,7 +3,8 @@ import AppEntry from "./src";
|
|
3
3
|
export default function MainExpoApp(props){
|
4
4
|
return <AppEntry
|
5
5
|
navigation={{
|
6
|
-
screens : require("./
|
6
|
+
screens : require("./docs/screens").default,
|
7
|
+
drawerItems:require("./docs/drawerItems").default,
|
7
8
|
}}
|
8
9
|
init ={({appConfig})=>{
|
9
10
|
appConfig.set("isAuthSingleUserAllowed",true);
|
package/babel.config.alias.js
CHANGED
@@ -21,6 +21,9 @@ module.exports = (opts)=>{
|
|
21
21
|
}
|
22
22
|
const r = require(`${cpath}`)(opts);
|
23
23
|
const expo = path.resolve(expoUI,"src");
|
24
|
+
r.$edocs = path.resolve(expoUI,"docs");//l'alias de la documentation
|
25
|
+
r["$edocs-components"] = path.resolve(r.$edocs,"components");
|
26
|
+
r["$edocs-screens"] = path.resolve(r.$edocs,"screens");
|
24
27
|
r["$ecomponents"] = r["$expo-components"] = path.resolve(expo,"components");
|
25
28
|
r["$econfirm"] = path.resolve(r["$expo-components"],"Dialog","confirm");
|
26
29
|
r["$confirm"] = r["$confirm"] || r["$econfirm"];
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import {H6} from "$ecomponents/Typography";
|
2
|
+
import appConfig from "$capp/config";
|
3
|
+
import Label from "$ecomponents/Label";
|
4
|
+
import Chip from "$ecomponents/Chip";
|
5
|
+
import View from "$ecomponents/View";
|
6
|
+
import { StyleSheet } from "react-native";
|
7
|
+
import theme from "$theme";
|
8
|
+
|
9
|
+
export default function DocVersionComponent(props){
|
10
|
+
return <Label fontSize={12} primary style = {[styles.label,props.style]} children={`Version ${appConfig.version}`} textBold
|
11
|
+
{...props}/>
|
12
|
+
}
|
13
|
+
|
14
|
+
const styles = StyleSheet.create({
|
15
|
+
label : {
|
16
|
+
borderRadius : 5,
|
17
|
+
padding : 2,
|
18
|
+
flexGrow : 0,
|
19
|
+
flex : 0,
|
20
|
+
}
|
21
|
+
})
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import introduction from "./introduction";
|
2
|
+
|
3
|
+
export default function(){
|
4
|
+
return {
|
5
|
+
introduction : {
|
6
|
+
section : true,
|
7
|
+
label :"Introduction",
|
8
|
+
items : introduction,
|
9
|
+
},
|
10
|
+
components : {
|
11
|
+
section : true,
|
12
|
+
label : "Composants",
|
13
|
+
icon : "",
|
14
|
+
items : [],
|
15
|
+
}
|
16
|
+
}
|
17
|
+
}
|
@@ -2,11 +2,11 @@ import Screen from "$eScreen";
|
|
2
2
|
import Test from "$ecomponents/Datagrid/Test";
|
3
3
|
import React from "$react";
|
4
4
|
|
5
|
-
export default function
|
5
|
+
export default function DatagridScreen(props){
|
6
6
|
return <Screen{...props} contentContainerStyle={[{flex:1}]}>
|
7
7
|
<Test/>
|
8
8
|
</Screen>
|
9
9
|
};
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
DatagridScreen.screenName = "Datagrid";
|
12
|
+
DatagridScreen.authRequired = false;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import Screen from "$escreen";
|
2
|
+
import View from "$ecomponents/View";
|
3
|
+
import Label from "$ecomponents/Label";
|
4
|
+
import appConfig from "$capp/config";
|
5
|
+
import theme from "$theme";
|
6
|
+
import Link from "$ecomponents/Link";
|
7
|
+
import {StyleSheet} from "react-native";
|
8
|
+
import {H1,H2,H3,H4,H5,Paragraph} from "$ecomponents/Typography";
|
9
|
+
|
10
|
+
export default function ExpoUIHomeScreen (props){
|
11
|
+
return <Screen {...props}>
|
12
|
+
<View style={theme.styles.p1}>
|
13
|
+
<View testID="DocTestID" style={[theme.styles.alignItemsCenter]}>
|
14
|
+
<H3 textBold primary style={theme.styles.h3}>Développez rapidement des applications mobile, web et desktop.</H3>
|
15
|
+
</View>
|
16
|
+
<View style={[theme.styles.row,theme.styles.flexWrap,theme.styles.rowGap05]}>
|
17
|
+
<H5 primary textBold>{`${appConfig.name?.toLowerCase()}, version ${appConfig.version}, `}</H5>
|
18
|
+
<Paragraph>Un framework Prêt à l'emploi multiplateforme (Mobile, web et desktop) construit sur la base du framework</Paragraph>
|
19
|
+
<Link routeName={"https://docs.expo.dev/"}>
|
20
|
+
<H4 textBold>Expo</H4>
|
21
|
+
</Link>
|
22
|
+
</View>
|
23
|
+
</View>
|
24
|
+
</Screen>
|
25
|
+
}
|
26
|
+
|
27
|
+
ExpoUIHomeScreen.screenName = "Home";
|
28
|
+
|
29
|
+
ExpoUIHomeScreen.authRequired = true;
|
30
|
+
|
31
|
+
const styles = StyleSheet.create({
|
32
|
+
|
33
|
+
})
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import Screen from "$escreen";
|
2
|
+
import DocVersion from "$edocs/components/DocVersion";
|
3
|
+
import View from "$ecomponents/View";
|
4
|
+
|
5
|
+
export default function DocIntrodoctionScreen(props){
|
6
|
+
return <Screen {...props}>
|
7
|
+
<View>
|
8
|
+
<DocVersion/>
|
9
|
+
</View>
|
10
|
+
</Screen>
|
11
|
+
}
|
12
|
+
|
13
|
+
DocIntrodoctionScreen.screenName = "introduction";
|
package/expo-ui.json
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
{
|
2
|
+
"name": "@fto-consult/expo-ui",
|
3
|
+
"version": "6.44.4",
|
4
|
+
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
|
+
"bin": {
|
6
|
+
"expo-ui": "./bin/index.js"
|
7
|
+
},
|
8
|
+
"author": "Boris Fouomene",
|
9
|
+
"license": "ISC",
|
10
|
+
"homepage": "https://github.com/borispipo/expo-ui#readme"
|
11
|
+
}
|
package/main.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
1
|
+
require("expo/AppEntry");
|
2
2
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fto-consult/expo-ui",
|
3
|
-
"version": "6.
|
3
|
+
"version": "6.46.0",
|
4
4
|
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
5
|
"main": "main",
|
6
6
|
"scripts": {
|
@@ -70,15 +70,15 @@
|
|
70
70
|
"@expo/html-elements": "^0.5.1",
|
71
71
|
"@expo/vector-icons": "^13.0.0",
|
72
72
|
"@faker-js/faker": "^8.0.2",
|
73
|
-
"@fto-consult/common": "^3.
|
73
|
+
"@fto-consult/common": "^3.41.0",
|
74
74
|
"@pchmn/expo-material3-theme": "^1.3.1",
|
75
75
|
"@react-native-async-storage/async-storage": "1.18.2",
|
76
76
|
"@react-native-community/datetimepicker": "7.2.0",
|
77
77
|
"@react-native-community/netinfo": "9.3.10",
|
78
78
|
"@react-native/assets-registry": "^0.72.0",
|
79
|
-
"@react-navigation/native": "^6.1.
|
80
|
-
"@react-navigation/native-stack": "^6.9.
|
81
|
-
"@react-navigation/stack": "^6.3.
|
79
|
+
"@react-navigation/native": "^6.1.8",
|
80
|
+
"@react-navigation/native-stack": "^6.9.14",
|
81
|
+
"@react-navigation/stack": "^6.3.18",
|
82
82
|
"@shopify/flash-list": "1.4.3",
|
83
83
|
"apexcharts": "^3.42.0",
|
84
84
|
"expo": "^49.0.11",
|
@@ -102,21 +102,21 @@
|
|
102
102
|
"react": "^18.2.0",
|
103
103
|
"react-content-loader": "^6.2.1",
|
104
104
|
"react-dom": "^18.2.0",
|
105
|
-
"react-native": "0.72.
|
105
|
+
"react-native": "0.72.5",
|
106
106
|
"react-native-big-list": "^1.6.1",
|
107
107
|
"react-native-blob-util": "^0.18.6",
|
108
108
|
"react-native-gesture-handler": "~2.12.0",
|
109
109
|
"react-native-iphone-x-helper": "^1.3.1",
|
110
110
|
"react-native-mime-types": "^2.4.0",
|
111
|
-
"react-native-paper": "^5.10.
|
112
|
-
"react-native-paper-dates": "^0.19.
|
111
|
+
"react-native-paper": "^5.10.6",
|
112
|
+
"react-native-paper-dates": "^0.19.7",
|
113
113
|
"react-native-reanimated": "~3.3.0",
|
114
114
|
"react-native-safe-area-context": "4.6.3",
|
115
115
|
"react-native-screens": "~3.22.0",
|
116
116
|
"react-native-svg": "13.9.0",
|
117
117
|
"react-native-web": "~0.19.6",
|
118
118
|
"react-native-webview": "13.2.2",
|
119
|
-
"react-virtuoso": "^4.
|
119
|
+
"react-virtuoso": "^4.6.0",
|
120
120
|
"sharp-cli": "^4.1.1",
|
121
121
|
"tippy.js": "^6.3.7",
|
122
122
|
"websql": "^2.0.3",
|
@@ -124,7 +124,7 @@
|
|
124
124
|
},
|
125
125
|
"devDependencies": {
|
126
126
|
"@expo/metro-config": "^0.10.7",
|
127
|
-
"@expo/webpack-config": "^
|
127
|
+
"@expo/webpack-config": "^18.1.3",
|
128
128
|
"babel-plugin-inline-dotenv": "^1.7.0",
|
129
129
|
"babel-plugin-module-resolver": "^5.0.0",
|
130
130
|
"uninstall": "^0.0.0"
|
@@ -38,6 +38,9 @@ export default function AutolinkComponent({onPress,withBrowser,mailto,email,tel,
|
|
38
38
|
/>
|
39
39
|
}
|
40
40
|
|
41
|
+
AutolinkComponent.isValid = (url)=>{
|
42
|
+
return isValidEmail(url) || isValidUrl(url);
|
43
|
+
}
|
41
44
|
|
42
45
|
const styles = StyleSheet.create({
|
43
46
|
textDecorationUnderline : {
|
@@ -1,11 +1,17 @@
|
|
1
1
|
import { Pressable } from "react-native";
|
2
2
|
import { navigate } from "$cnavigation";
|
3
3
|
import PropTypes from "prop-types";
|
4
|
-
import {defaultStr,defaultNumber} from "$cutils";
|
4
|
+
import {defaultStr,isValidUrl,isValidEmail,defaultNumber} from "$cutils";
|
5
5
|
import React from "$react";
|
6
|
+
import AutolinkComponent from "../AutoLink";
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
|
9
|
+
const LinkComponent= React.forwardRef(({Component,navigation,children,params,stopEventPropagation,timeout,delay,source,onPress,routeParams,routeName,href,routeSource,routeType, ...rest},ref)=>{
|
10
|
+
routeName = defaultStr(routeName,href);
|
11
|
+
const isAutoLink = AutolinkComponent.isValid(routeName);
|
12
|
+
if(isAutoLink){
|
13
|
+
return <AutolinkComponent ref={ref} {...rest} href={routeName} Component={Component} onPress={onPress}>{children}</AutolinkComponent>
|
14
|
+
}
|
9
15
|
const onRoutePress = (e)=>{
|
10
16
|
if(stopEventPropagation !== false){
|
11
17
|
React.stopEventPropagation(e);
|
@@ -13,15 +19,17 @@ const LinkComponent= React.forwardRef((props,ref)=>{
|
|
13
19
|
if(onPress && onPress(e) === false){
|
14
20
|
return;
|
15
21
|
}
|
16
|
-
|
17
|
-
|
18
|
-
|
22
|
+
if(!isAutoLink){
|
23
|
+
setTimeout(()=>{
|
24
|
+
navigate({routeName,previousRoute:undefined,routeParams,params,type:routeType,source:defaultStr(routeSource,source)},navigation);
|
25
|
+
},defaultNumber(timeout,delay));
|
26
|
+
}
|
19
27
|
};
|
20
28
|
if(typeof children =='function'){
|
21
29
|
return children ({...rest,onPress:onRoutePress},ref);
|
22
30
|
}
|
23
31
|
Component = React.isComponent(Component)? Component : Pressable;
|
24
|
-
return <Component ref={ref} {...rest} onPress
|
32
|
+
return <Component ref={ref} {...rest} onPress={onRoutePress}>
|
25
33
|
{children}
|
26
34
|
</Component>
|
27
35
|
});
|
@@ -31,7 +39,8 @@ LinkComponent.propTypes = {
|
|
31
39
|
onPress : PropTypes.func,
|
32
40
|
timeout : PropTypes.number,
|
33
41
|
delay : PropTypes.number,//le delay d'attente lorsqu'on clique sur l'élément avant de faire la navigation
|
34
|
-
routeName : PropTypes.string
|
42
|
+
routeName : PropTypes.string,
|
43
|
+
href : PropTypes.string, //alias à routeName
|
35
44
|
routeParams : PropTypes.object, //les paramètres à passer à la route
|
36
45
|
routeType : PropTypes.string, //le type de route : stack ou drawer
|
37
46
|
routeFrom : PropTypes.string, //le type de route source : stack ou drawer
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import theme from "$theme";
|
2
|
+
import Label from "$ecomponents/Label";
|
3
|
+
|
4
|
+
export {default as Paragraph} from "../Paragraph";
|
5
|
+
|
6
|
+
export function H1({style,...props}){
|
7
|
+
return <Label {...props} style={[theme.styles.h1,style]}/>
|
8
|
+
}
|
9
|
+
|
10
|
+
H1.displayName = "TypographyH1Component";
|
11
|
+
|
12
|
+
export function H2({style,...props}){
|
13
|
+
return <Label {...props} style={[theme.styles.h2,style]}/>
|
14
|
+
}
|
15
|
+
|
16
|
+
H2.displayName = "TypographyH2Component";
|
17
|
+
|
18
|
+
export function H3({style,...props}){
|
19
|
+
return <Label {...props} style={[theme.styles.h3,style]}/>
|
20
|
+
}
|
21
|
+
|
22
|
+
H3.displayName = "TypographyH3Component";
|
23
|
+
|
24
|
+
export function H4({style,...props}){
|
25
|
+
return <Label {...props} style={[theme.styles.h4,style]}/>
|
26
|
+
}
|
27
|
+
|
28
|
+
H4.displayName = "TypographyH4Component";
|
29
|
+
|
30
|
+
|
31
|
+
export function H5({style,...props}){
|
32
|
+
return <Label {...props} style={[theme.styles.h5,style]}/>
|
33
|
+
}
|
34
|
+
|
35
|
+
H5.displayName = "TypographyH5Component";
|
36
|
+
|
37
|
+
|
38
|
+
export function H6({style,...props}){
|
39
|
+
return <Label {...props} style={[theme.styles.h6,style]}/>
|
40
|
+
}
|
41
|
+
|
42
|
+
H6.displayName = "TypographyH6Component";
|
@@ -6,7 +6,6 @@ import theme from "$theme";
|
|
6
6
|
import Link from "$ecomponents/Link";
|
7
7
|
import {StyleSheet} from "react-native";
|
8
8
|
import appConfig from "$capp/config";
|
9
|
-
import Grid from "$ecomponents/Grid";
|
10
9
|
import Table from "$ecomponents/Table";
|
11
10
|
import React from "$react";
|
12
11
|
import AutoLink from "$ecomponents/AutoLink";
|
@@ -1 +1 @@
|
|
1
|
-
module.exports = {"@fto-consult/expo-ui":{"name":"@fto-consult/expo-ui","version":"6.
|
1
|
+
module.exports = {"@fto-consult/expo-ui":{"name":"@fto-consult/expo-ui","version":"6.44.4","repository":{"type":"git","url":"git+https://github.com/borispipo/expo-ui.git"},"homepage":"https://github.com/borispipo/expo-ui#readme"},"@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.41.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-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.8","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.14","url":"https://github.com/software-mansion/react-native-screens#readme","license":"MIT"},"@react-navigation/stack":{"version":"6.3.18","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.5","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.6","url":"https://callstack.github.io/react-native-paper","license":"MIT"},"react-native-paper-dates":{"version":"0.19.7","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.6.0","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"}};
|