@fto-consult/expo-ui 2.16.3 → 2.16.6
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 +117 -117
- package/src/auth/ThemeSelector/index.js +4 -2
- package/src/components/AppBar/index.js +5 -2
- package/src/components/AppBar/utils.js +1 -1
- package/src/components/Countries/resources/countries-normalized.json +1987 -1987
- package/src/components/Countries/resources/countries-with-not-extra.json +1211 -1211
- package/src/components/Countries/resources/countries.sql +243 -243
- package/src/components/Dialog/Provider.js +8 -4
- package/src/components/Drawer/index.js +1 -1
- package/src/components/Dropdown/utils.js +5 -2
- package/src/components/Form/FormData/DialogProvider.js +3 -1
- package/src/components/Label/index.js +5 -1
- package/src/components/Logo/Logo.js +26 -20
- package/src/layouts/DatabaseStatistics/DatabaseStatistic.js +1 -1
- package/src/layouts/ProfilAvatar/index.js +200 -0
- package/src/{navigation/Drawer → layouts}/ProfilAvatar/style.css +0 -0
- package/src/layouts/Screen/Screen.js +4 -0
- package/src/layouts/Screen/ScreenWithOrWithoutAuthContainer.js +19 -1
- package/src/navigation/Drawer/index.js +8 -2
- package/src/navigation/Drawer/items/index.js +3 -2
- package/src/screens/Auth/Profile.js +1 -1
- package/src/screens/Auth/utils.js +3 -1
- package/src/auth/ThemeSelector/utils.js +0 -141
- package/src/navigation/Drawer/ProfilAvatar/index.js +0 -157
package/package.json
CHANGED
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fto-consult/expo-ui",
|
|
3
|
-
"version": "2.16.
|
|
4
|
-
"description": "Bibliothèque de composants UI Expo,react-native",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"publish1": "npm publish --access=public",
|
|
8
|
-
"unpublish": "npm -f unpublish @fto-consult/expo-ui",
|
|
9
|
-
"build-web": "",
|
|
10
|
-
"dev": "npx expo start -c --no-minify",
|
|
11
|
-
"start": "npx expo start --dev --no-minify",
|
|
12
|
-
"start-d": "npx expo start -c --no-dev --no-minify",
|
|
13
|
-
"start-p": "npm run start-d",
|
|
14
|
-
"expo-start-client": "npx expo start --dev --no-minify --dev-client",
|
|
15
|
-
"start-m": "npx expo start - c--dev--no -minify",
|
|
16
|
-
"android": "npx expo start --android -c",
|
|
17
|
-
"ios": "npx expo start --ios",
|
|
18
|
-
"web": "npx expo start --web",
|
|
19
|
-
"web-c": "npx expo start --web -c",
|
|
20
|
-
"eject": "expo eject",
|
|
21
|
-
"emulator": "npm run android-emulator",
|
|
22
|
-
"web-server": "npx serve web-build",
|
|
23
|
-
"build-android": "eas build --clear-cache -p android --profile preview",
|
|
24
|
-
"build-android-local": "eas build --platform android --local",
|
|
25
|
-
"build-android-dist": "eas build --clear-cache -p android",
|
|
26
|
-
"build-ios": "eas build --clear-cache -p ios --profile preview",
|
|
27
|
-
"build-ios-dist": "eas build --clear-cache -p ios",
|
|
28
|
-
"install-apk": "adb -s emulator-5554 install myapp.apk",
|
|
29
|
-
"android-emulator": "emulator -avd EMULATOR",
|
|
30
|
-
"flipper": "npx cross-env METRO_SERVER_PORT=19000 E:\\Studies\\react-native\\debugger\\Flipper-win\\Flipper.exe",
|
|
31
|
-
"build-electron": "electron-webpack && electron-builder --dir -c.compression=store",
|
|
32
|
-
"test:build": "electron-webpack && electron-builder --dir -c.compression=store -c.mac.identity=null",
|
|
33
|
-
"compile-electron": "webpack --config ./electron/webpack.config.js",
|
|
34
|
-
"compile-electron-p": "webpack --config ./electron/webpack.config.js --mode=production",
|
|
35
|
-
"electron": "electron ./electron",
|
|
36
|
-
"logcat": "adb -d logcat com.ftc.apps.salite1:E > errors.txt",
|
|
37
|
-
"logcat-export": "adb -d logcat com.ftc.apps.salite1 *:S > logcat.txt",
|
|
38
|
-
"electron-c": "npm run compile-electron && npm run electron",
|
|
39
|
-
"electron-p": "npm run compile-electron-p && npm run electron",
|
|
40
|
-
"update-app-version": "node ./update-app-version.js",
|
|
41
|
-
"find-licenses": "node ./find-licenses.js",
|
|
42
|
-
"fix-dependencies": "expo-cli doctor --fix-dependencies",
|
|
43
|
-
"delete-node-modules": "rimraf ./**/node_modules",
|
|
44
|
-
"modifier-url-remote-git": "git remote set-url origin 'https://borispipo@github.com/borispipo/smart-eneo.git'"
|
|
45
|
-
},
|
|
46
|
-
"repository": {
|
|
47
|
-
"type": "git",
|
|
48
|
-
"url": "git+https://github.com/borispipo/expo-ui.git"
|
|
49
|
-
},
|
|
50
|
-
"keywords": [
|
|
51
|
-
"Expo",
|
|
52
|
-
"React-Native"
|
|
53
|
-
],
|
|
54
|
-
"author": "Boris Fouomene",
|
|
55
|
-
"license": "ISC",
|
|
56
|
-
"bugs": {
|
|
57
|
-
"url": "https://github.com/borispipo/expo-ui/issues"
|
|
58
|
-
},
|
|
59
|
-
"homepage": "https://github.com/borispipo/expo-ui#readme",
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@emotion/native": "^11.10.0",
|
|
62
|
-
"@expo/html-elements": "^0.2.0",
|
|
63
|
-
"@expo/vector-icons": "^13.0.0",
|
|
64
|
-
"@fto-consult/common": "^1.
|
|
65
|
-
"@gorhom/portal": "^1.0.14",
|
|
66
|
-
"@react-native-async-storage/async-storage": "~1.17.3",
|
|
67
|
-
"@react-native-community/datetimepicker": "6.5.2",
|
|
68
|
-
"@react-native-community/netinfo": "9.3.5",
|
|
69
|
-
"@react-navigation/native": "^6.0.13",
|
|
70
|
-
"@react-navigation/native-stack": "^6.9.1",
|
|
71
|
-
"@shopify/flash-list": "1.3.1",
|
|
72
|
-
"expo": "^47.0.8",
|
|
73
|
-
"expo-camera": "~13.1.0",
|
|
74
|
-
"expo-clipboard": "~4.0.1",
|
|
75
|
-
"expo-font": "~11.0.1",
|
|
76
|
-
"expo-image-picker": "~14.0.2",
|
|
77
|
-
"expo-linking": "~3.2.3",
|
|
78
|
-
"expo-sqlite": "~11.0.0",
|
|
79
|
-
"expo-status-bar": "~1.4.2",
|
|
80
|
-
"expo-system-ui": "~2.0.1",
|
|
81
|
-
"expo-web-browser": "~12.0.0",
|
|
82
|
-
"file-saver": "^2.0.5",
|
|
83
|
-
"google-libphonenumber": "^3.2.31",
|
|
84
|
-
"htmlparser2-without-node-native": "^3.9.2",
|
|
85
|
-
"mime-types": "^2.1.35",
|
|
86
|
-
"mongo-parse": "^2.1.0",
|
|
87
|
-
"parent-package-json": "^2.0.1",
|
|
88
|
-
"prop-types": "^15.8.1",
|
|
89
|
-
"react": "18.1.0",
|
|
90
|
-
"react-apexcharts": "^1.4.0",
|
|
91
|
-
"react-content-loader": "^6.2.0",
|
|
92
|
-
"react-dom": "18.1.0",
|
|
93
|
-
"react-native": "0.70.5",
|
|
94
|
-
"react-native-big-list": "^1.6.0",
|
|
95
|
-
"react-native-gesture-handler": "~2.8.0",
|
|
96
|
-
"react-native-paper": "^4.12.5",
|
|
97
|
-
"react-native-paper-dates": "^0.9.2",
|
|
98
|
-
"react-native-reanimated": "~2.12.0",
|
|
99
|
-
"react-native-safe-area-context": "4.4.1",
|
|
100
|
-
"react-native-screens": "~3.18.0",
|
|
101
|
-
"react-native-svg": "13.4.0",
|
|
102
|
-
"react-native-web": "~0.18.7",
|
|
103
|
-
"react-native-webview": "11.23.1",
|
|
104
|
-
"sharp-cli": "^2.1.0",
|
|
105
|
-
"tippy.js": "^6.3.7",
|
|
106
|
-
"xlsx": "^0.18.5"
|
|
107
|
-
},
|
|
108
|
-
"devDependencies": {
|
|
109
|
-
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
110
|
-
"@babel/preset-react": "^7.18.6",
|
|
111
|
-
"@expo/metro-config": "^0.5.1",
|
|
112
|
-
"@expo/webpack-config": "^0.17.3",
|
|
113
|
-
"babel-plugin-inline-dotenv": "^1.7.0",
|
|
114
|
-
"babel-plugin-module-resolver": "^4.1.0",
|
|
115
|
-
"babel-plugin-transform-inline-environment-variables": "^0.4.4"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fto-consult/expo-ui",
|
|
3
|
+
"version": "2.16.6",
|
|
4
|
+
"description": "Bibliothèque de composants UI Expo,react-native",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"publish1": "npm publish --access=public",
|
|
8
|
+
"unpublish": "npm -f unpublish @fto-consult/expo-ui",
|
|
9
|
+
"build-web": "",
|
|
10
|
+
"dev": "npx expo start -c --no-minify",
|
|
11
|
+
"start": "npx expo start --dev --no-minify",
|
|
12
|
+
"start-d": "npx expo start -c --no-dev --no-minify",
|
|
13
|
+
"start-p": "npm run start-d",
|
|
14
|
+
"expo-start-client": "npx expo start --dev --no-minify --dev-client",
|
|
15
|
+
"start-m": "npx expo start - c--dev--no -minify",
|
|
16
|
+
"android": "npx expo start --android -c",
|
|
17
|
+
"ios": "npx expo start --ios",
|
|
18
|
+
"web": "npx expo start --web",
|
|
19
|
+
"web-c": "npx expo start --web -c",
|
|
20
|
+
"eject": "expo eject",
|
|
21
|
+
"emulator": "npm run android-emulator",
|
|
22
|
+
"web-server": "npx serve web-build",
|
|
23
|
+
"build-android": "eas build --clear-cache -p android --profile preview",
|
|
24
|
+
"build-android-local": "eas build --platform android --local",
|
|
25
|
+
"build-android-dist": "eas build --clear-cache -p android",
|
|
26
|
+
"build-ios": "eas build --clear-cache -p ios --profile preview",
|
|
27
|
+
"build-ios-dist": "eas build --clear-cache -p ios",
|
|
28
|
+
"install-apk": "adb -s emulator-5554 install myapp.apk",
|
|
29
|
+
"android-emulator": "emulator -avd EMULATOR",
|
|
30
|
+
"flipper": "npx cross-env METRO_SERVER_PORT=19000 E:\\Studies\\react-native\\debugger\\Flipper-win\\Flipper.exe",
|
|
31
|
+
"build-electron": "electron-webpack && electron-builder --dir -c.compression=store",
|
|
32
|
+
"test:build": "electron-webpack && electron-builder --dir -c.compression=store -c.mac.identity=null",
|
|
33
|
+
"compile-electron": "webpack --config ./electron/webpack.config.js",
|
|
34
|
+
"compile-electron-p": "webpack --config ./electron/webpack.config.js --mode=production",
|
|
35
|
+
"electron": "electron ./electron",
|
|
36
|
+
"logcat": "adb -d logcat com.ftc.apps.salite1:E > errors.txt",
|
|
37
|
+
"logcat-export": "adb -d logcat com.ftc.apps.salite1 *:S > logcat.txt",
|
|
38
|
+
"electron-c": "npm run compile-electron && npm run electron",
|
|
39
|
+
"electron-p": "npm run compile-electron-p && npm run electron",
|
|
40
|
+
"update-app-version": "node ./update-app-version.js",
|
|
41
|
+
"find-licenses": "node ./find-licenses.js",
|
|
42
|
+
"fix-dependencies": "expo-cli doctor --fix-dependencies",
|
|
43
|
+
"delete-node-modules": "rimraf ./**/node_modules",
|
|
44
|
+
"modifier-url-remote-git": "git remote set-url origin 'https://borispipo@github.com/borispipo/smart-eneo.git'"
|
|
45
|
+
},
|
|
46
|
+
"repository": {
|
|
47
|
+
"type": "git",
|
|
48
|
+
"url": "git+https://github.com/borispipo/expo-ui.git"
|
|
49
|
+
},
|
|
50
|
+
"keywords": [
|
|
51
|
+
"Expo",
|
|
52
|
+
"React-Native"
|
|
53
|
+
],
|
|
54
|
+
"author": "Boris Fouomene",
|
|
55
|
+
"license": "ISC",
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/borispipo/expo-ui/issues"
|
|
58
|
+
},
|
|
59
|
+
"homepage": "https://github.com/borispipo/expo-ui#readme",
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@emotion/native": "^11.10.0",
|
|
62
|
+
"@expo/html-elements": "^0.2.0",
|
|
63
|
+
"@expo/vector-icons": "^13.0.0",
|
|
64
|
+
"@fto-consult/common": "^1.22.12",
|
|
65
|
+
"@gorhom/portal": "^1.0.14",
|
|
66
|
+
"@react-native-async-storage/async-storage": "~1.17.3",
|
|
67
|
+
"@react-native-community/datetimepicker": "6.5.2",
|
|
68
|
+
"@react-native-community/netinfo": "9.3.5",
|
|
69
|
+
"@react-navigation/native": "^6.0.13",
|
|
70
|
+
"@react-navigation/native-stack": "^6.9.1",
|
|
71
|
+
"@shopify/flash-list": "1.3.1",
|
|
72
|
+
"expo": "^47.0.8",
|
|
73
|
+
"expo-camera": "~13.1.0",
|
|
74
|
+
"expo-clipboard": "~4.0.1",
|
|
75
|
+
"expo-font": "~11.0.1",
|
|
76
|
+
"expo-image-picker": "~14.0.2",
|
|
77
|
+
"expo-linking": "~3.2.3",
|
|
78
|
+
"expo-sqlite": "~11.0.0",
|
|
79
|
+
"expo-status-bar": "~1.4.2",
|
|
80
|
+
"expo-system-ui": "~2.0.1",
|
|
81
|
+
"expo-web-browser": "~12.0.0",
|
|
82
|
+
"file-saver": "^2.0.5",
|
|
83
|
+
"google-libphonenumber": "^3.2.31",
|
|
84
|
+
"htmlparser2-without-node-native": "^3.9.2",
|
|
85
|
+
"mime-types": "^2.1.35",
|
|
86
|
+
"mongo-parse": "^2.1.0",
|
|
87
|
+
"parent-package-json": "^2.0.1",
|
|
88
|
+
"prop-types": "^15.8.1",
|
|
89
|
+
"react": "18.1.0",
|
|
90
|
+
"react-apexcharts": "^1.4.0",
|
|
91
|
+
"react-content-loader": "^6.2.0",
|
|
92
|
+
"react-dom": "18.1.0",
|
|
93
|
+
"react-native": "0.70.5",
|
|
94
|
+
"react-native-big-list": "^1.6.0",
|
|
95
|
+
"react-native-gesture-handler": "~2.8.0",
|
|
96
|
+
"react-native-paper": "^4.12.5",
|
|
97
|
+
"react-native-paper-dates": "^0.9.2",
|
|
98
|
+
"react-native-reanimated": "~2.12.0",
|
|
99
|
+
"react-native-safe-area-context": "4.4.1",
|
|
100
|
+
"react-native-screens": "~3.18.0",
|
|
101
|
+
"react-native-svg": "13.4.0",
|
|
102
|
+
"react-native-web": "~0.18.7",
|
|
103
|
+
"react-native-webview": "11.23.1",
|
|
104
|
+
"sharp-cli": "^2.1.0",
|
|
105
|
+
"tippy.js": "^6.3.7",
|
|
106
|
+
"xlsx": "^0.18.5"
|
|
107
|
+
},
|
|
108
|
+
"devDependencies": {
|
|
109
|
+
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
110
|
+
"@babel/preset-react": "^7.18.6",
|
|
111
|
+
"@expo/metro-config": "^0.5.1",
|
|
112
|
+
"@expo/webpack-config": "^0.17.3",
|
|
113
|
+
"babel-plugin-inline-dotenv": "^1.7.0",
|
|
114
|
+
"babel-plugin-module-resolver": "^4.1.0",
|
|
115
|
+
"babel-plugin-transform-inline-environment-variables": "^0.4.4"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -14,7 +14,7 @@ import Dropdown from "$ecomponents/Dropdown";
|
|
|
14
14
|
import {defaultObj} from "$utils";
|
|
15
15
|
import Icon from "$ecomponents/Icon";
|
|
16
16
|
import {open,close} from "$preloader";
|
|
17
|
-
import {fields,getThemeData} from "
|
|
17
|
+
import {fields,getThemeData} from "$theme/utils";
|
|
18
18
|
|
|
19
19
|
const getStyle = (color)=>{
|
|
20
20
|
if(!Colors.isValid(color)) return {};
|
|
@@ -51,6 +51,7 @@ export const getThemeFieldProps = (props,ref)=>{
|
|
|
51
51
|
const title = data && data.name ? ("Modifier ["+data.name+"]") : ('Nouv theme['+user.code+"]");
|
|
52
52
|
const isEditing = isDocEditing(data);
|
|
53
53
|
fields.textFieldMode.defaultValue = theme.textFieldMode;
|
|
54
|
+
fields.profilAvatarPosition.defaultValue = theme.profilAvatarPosition;
|
|
54
55
|
Provider.open({
|
|
55
56
|
cancelButton : true,
|
|
56
57
|
dialogProps : {
|
|
@@ -81,7 +82,8 @@ export const getThemeFieldProps = (props,ref)=>{
|
|
|
81
82
|
}
|
|
82
83
|
data.custom = true;
|
|
83
84
|
customThemes[data.name] = data;
|
|
84
|
-
itemsRef.current =
|
|
85
|
+
itemsRef.current = {...customThemes,...getColors()};
|
|
86
|
+
user.customThemes = customThemes;
|
|
85
87
|
open((isEditing?"Modification ":"Enregistrement ")+"du thème...");
|
|
86
88
|
Auth.upsertUser(user,false).then(()=>{
|
|
87
89
|
if(Auth.getLoggedUserCode() == user.code){
|
|
@@ -7,7 +7,7 @@ import theme,{Colors,flattenStyle} from "$theme";
|
|
|
7
7
|
import {StyleSheet} from "react-native";
|
|
8
8
|
import {goBack as navGoBack,useNavigation,useRoute,useScreenOptions } from "$cnavigation";
|
|
9
9
|
import PropTypes from "prop-types";
|
|
10
|
-
import { Dimensions,TouchableWithoutFeedback} from "react-native";
|
|
10
|
+
import { Dimensions,View,TouchableWithoutFeedback} from "react-native";
|
|
11
11
|
import Content from "./Content";
|
|
12
12
|
import Icon from "$ecomponents/Icon";
|
|
13
13
|
import {Elevations} from "$ecomponents/Surface";
|
|
@@ -35,6 +35,7 @@ const AppBarComponent = React.forwardRef((props,ref)=> {
|
|
|
35
35
|
onUnmount,drawerType,options,allowDrawer,back,menuProps,appBarType,
|
|
36
36
|
drawerRef,beforeGoBack,title,subtitle,titleProps,backAction,backActionProps,
|
|
37
37
|
subtitleProps,testID,
|
|
38
|
+
right,
|
|
38
39
|
onBackActionPress : customOnBackActionPress,actions,backActionRef,route,
|
|
39
40
|
...appBarProps} = props;
|
|
40
41
|
const customOptions = options;
|
|
@@ -99,6 +100,7 @@ const AppBarComponent = React.forwardRef((props,ref)=> {
|
|
|
99
100
|
context.forceUpdate = ()=>{
|
|
100
101
|
return setLayout({...Dimensions.get("window")});
|
|
101
102
|
}
|
|
103
|
+
const rightContent = typeof right =='function' ? right ({drawerRef,context,isMobile:Dimensions.isMobileMedia(),isDesktop:Dimensions.isDesktopMedia(),isTablet:Dimensions.isTabletMedia(),isPhone:Dimensions.isPhoneMedia(),dimensions,...dimensions}): right;
|
|
102
104
|
const splitedActions = isSplitedActions(actions)? actions: splitActions({...appBarProps,windowWidth:layout.width,canGoBack:back || options.back?true:false,isAppBarAction:true,onBackActionPress,goBack,route,navigation,actions});
|
|
103
105
|
const onPageResize = bindResizeEvent !== false ? (e)=>{
|
|
104
106
|
if(!e || !e.nativeEvent || !e.nativeEvent.layout) return null;
|
|
@@ -128,6 +130,7 @@ const AppBarComponent = React.forwardRef((props,ref)=> {
|
|
|
128
130
|
color : anchorStyle.color,
|
|
129
131
|
}
|
|
130
132
|
})}
|
|
133
|
+
{React.isValidElement(rightContent) && rightContent || right}
|
|
131
134
|
</Appbar.Header>
|
|
132
135
|
);
|
|
133
136
|
});
|
|
@@ -144,7 +147,7 @@ const styles = StyleSheet.create({
|
|
|
144
147
|
header : {
|
|
145
148
|
paddingHorizontal : 5,
|
|
146
149
|
paddingRight : 10,
|
|
147
|
-
}
|
|
150
|
+
},
|
|
148
151
|
})
|
|
149
152
|
|
|
150
153
|
AppBarComponent.GO_BACK_EVENT = GO_BACK_EVENT;
|
|
@@ -14,7 +14,7 @@ export const ACTION_ICON_SIZE = 30;
|
|
|
14
14
|
export const TITLE_FONT_SIZE = 16;
|
|
15
15
|
|
|
16
16
|
export const getMaxActions = (windowWidth) => {
|
|
17
|
-
let iWidth = typeof windowWidth =='number' && windowWidth > 200 ? windowWidth : getWindowSizes().width;
|
|
17
|
+
let iWidth = typeof windowWidth =='number' && windowWidth > 200 ? windowWidth : getWindowSizes().width - 100;
|
|
18
18
|
return iWidth >= 3000 ? 8 : iWidth >= 2500? 7 : iWidth >= 2000 ? 6 : iWidth >= 1600 ? 5 : iWidth >= 1300 ? 4 : iWidth >= 800 ? 2 : iWidth >= 600 ? 1 : 0
|
|
19
19
|
}
|
|
20
20
|
|