@fto-consult/expo-ui 6.79.4 → 6.80.1
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 +3 -4
- package/src/AppEntry/index.js +28 -31
- package/src/components/Datagrid/Accordion/Row.js +12 -57
- package/src/components/Datagrid/Accordion/index.js +1 -1
- package/src/context/Provider.js +1 -1
- package/src/screens/Help/openLibraries.js +1 -1
- package/electron/expo-ui.json +0 -136
- package/src/components/Datagrid/Accordion/AppleSwipeable.js +0 -123
- package/src/components/Datagrid/Accordion/GmailSwipeable.js +0 -85
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fto-consult/expo-ui",
|
3
|
-
"version": "6.
|
3
|
+
"version": "6.80.1",
|
4
4
|
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
5
|
"main": "main",
|
6
6
|
"scripts": {
|
@@ -71,7 +71,7 @@
|
|
71
71
|
"@expo/html-elements": "^0.5.1",
|
72
72
|
"@expo/vector-icons": "^13.0.0",
|
73
73
|
"@faker-js/faker": "^8.0.2",
|
74
|
-
"@fto-consult/common": "^3.
|
74
|
+
"@fto-consult/common": "^3.65.0",
|
75
75
|
"@pchmn/expo-material3-theme": "^1.3.1",
|
76
76
|
"@react-native-async-storage/async-storage": "1.18.2",
|
77
77
|
"@react-native-community/datetimepicker": "7.2.0",
|
@@ -82,7 +82,7 @@
|
|
82
82
|
"@react-navigation/stack": "^6.3.20",
|
83
83
|
"@shopify/flash-list": "1.4.3",
|
84
84
|
"apexcharts": "^3.44.0",
|
85
|
-
"expo": "^49.0.
|
85
|
+
"expo": "^49.0.19",
|
86
86
|
"expo-camera": "~13.4.4",
|
87
87
|
"expo-clipboard": "~4.3.1",
|
88
88
|
"expo-font": "~11.4.0",
|
@@ -108,7 +108,6 @@
|
|
108
108
|
"react-native": "0.72.6",
|
109
109
|
"react-native-big-list": "^1.6.1",
|
110
110
|
"react-native-blob-util": "^0.18.6",
|
111
|
-
"react-native-gesture-handler": "~2.12.0",
|
112
111
|
"react-native-get-random-values": "~1.9.0",
|
113
112
|
"react-native-iphone-x-helper": "^1.3.1",
|
114
113
|
"react-native-mime-types": "^2.4.0",
|
package/src/AppEntry/index.js
CHANGED
@@ -37,7 +37,6 @@ import StatusBar from "$ecomponents/StatusBar";
|
|
37
37
|
import {Provider as PaperProvider,Portal } from 'react-native-paper';
|
38
38
|
import FontIcon from "$ecomponents/Icon/Font";
|
39
39
|
import useContext from "$econtext/hooks";
|
40
|
-
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
41
40
|
import { StyleSheet } from "react-native";
|
42
41
|
import Logo from "$ecomponents/Logo";
|
43
42
|
import AppEntryRootView from "./RootView";
|
@@ -273,36 +272,34 @@ function App({init:initApp,initialRouteName:appInitialRouteName,children}) {
|
|
273
272
|
</NavigationContainer> : null;
|
274
273
|
const content = isLoaded ? typeof children == 'function'? children({children:child,appConfig,config:appConfig}) : child : null;
|
275
274
|
return <SafeAreaProvider>
|
276
|
-
<
|
277
|
-
<
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
</AppEntryRootView>
|
305
|
-
</GestureHandlerRootView>
|
275
|
+
<AppEntryRootView MainProvider={MainProvider}>
|
276
|
+
<PaperProvider
|
277
|
+
theme={theme}
|
278
|
+
settings={{
|
279
|
+
icon: (props) => {
|
280
|
+
return <FontIcon {...props}/>
|
281
|
+
},
|
282
|
+
}}
|
283
|
+
>
|
284
|
+
<Portal.Host testID="RN_NativePaperPortalHost">
|
285
|
+
<ErrorBoundaryProvider/>
|
286
|
+
<PreloaderProvider/>
|
287
|
+
<DialogProvider responsive testID={"RN_MainAppDialogProvider"}/>
|
288
|
+
<AlertProvider SimpleSelect={SimpleSelect}/>
|
289
|
+
<FormDataDialogProvider/>
|
290
|
+
<BottomSheetProvider/>
|
291
|
+
<DropdownAlert ref={notificationRef}/>
|
292
|
+
<ErrorBoundary>
|
293
|
+
<StatusBar/>
|
294
|
+
<SplashScreen isLoaded={isLoaded}>
|
295
|
+
<PreferencesContext.Provider value={preferences}>
|
296
|
+
{React.isValidElement(content) && content || child}
|
297
|
+
</PreferencesContext.Provider>
|
298
|
+
</SplashScreen>
|
299
|
+
</ErrorBoundary>
|
300
|
+
</Portal.Host>
|
301
|
+
</PaperProvider>
|
302
|
+
</AppEntryRootView>
|
306
303
|
</SafeAreaProvider>
|
307
304
|
}
|
308
305
|
|
@@ -7,7 +7,6 @@ import PropTypes from "prop-types";
|
|
7
7
|
import React from "$react";
|
8
8
|
import theme from "$theme"
|
9
9
|
import {styles as rStyles,getRowStyle} from "../utils";
|
10
|
-
import Swipeable from 'react-native-gesture-handler/Swipeable';
|
11
10
|
import { useIsRowSelected,useDatagrid} from "../hooks";
|
12
11
|
|
13
12
|
const DatagridAccordionRow = React.forwardRef((props,ref)=>{
|
@@ -109,12 +108,6 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
|
|
109
108
|
}
|
110
109
|
}
|
111
110
|
right = typeof right === 'function'? right ({color:theme.colors.primaryOnSurface,selectable:true,style:[rStyles.lineHeight,styles.right]}) : right;
|
112
|
-
const swipeableRef = React.useRef(null);
|
113
|
-
React.useEffect(()=>{
|
114
|
-
return ()=>{
|
115
|
-
React.setRef(swipeableRef,null);
|
116
|
-
}
|
117
|
-
},[])
|
118
111
|
return <Pressable
|
119
112
|
disabled = {selectable===false?true : false}
|
120
113
|
{...rowProps}
|
@@ -142,58 +135,20 @@ const DatagridAccordionRow = React.forwardRef((props,ref)=>{
|
|
142
135
|
React.setRef(innerRef,el);
|
143
136
|
}}
|
144
137
|
>
|
145
|
-
<View
|
146
|
-
ref = {swipeableRef}
|
147
|
-
testID={testID+'_ContentContainerSwipeable'}
|
148
|
-
friction={2}
|
149
|
-
containerStyle = {{overflow:'hidden'}}
|
150
|
-
leftThreshold={80}
|
151
|
-
enableTrackpadTwoFingerGesture
|
152
|
-
renderLeftActions={selectable === false? undefined : (_progress,dragX) => {
|
153
|
-
const trans = dragX.interpolate({
|
154
|
-
inputRange: [0, 80],
|
155
|
-
outputRange: [0, 1],
|
156
|
-
extrapolate: 'clamp',
|
157
|
-
});
|
158
|
-
return (
|
159
|
-
<View testID={testID+"_SwipeableLeftSide"} style={{justifyContent:'center',flex:1}}>
|
160
|
-
<Animated.Text
|
161
|
-
style={[
|
162
|
-
styles.actionText,
|
163
|
-
{
|
164
|
-
transform: [{ translateX: trans }],
|
165
|
-
alignItems : 'center',
|
166
|
-
color : theme.colors.primary,
|
167
|
-
},
|
168
|
-
]}>
|
169
|
-
{(selected?'Désélectionnez la ligne ':'Sélectionnez la ligne ')}
|
170
|
-
</Animated.Text>
|
171
|
-
</View>
|
172
|
-
);
|
173
|
-
}}
|
174
|
-
onSwipeableWillOpen = {(direction)=>{
|
175
|
-
if(selectable === false) return;
|
176
|
-
if(swipeableRef.current && swipeableRef.current.close){
|
177
|
-
swipeableRef.current.close();
|
178
|
-
}
|
179
|
-
handleRowToggle();
|
180
|
-
}}
|
181
|
-
>
|
182
|
-
<View
|
138
|
+
<View
|
183
139
|
style={[styles.renderedContent,viewWrapperStyle,!hasAvatar && styles.contentContainerNotAvatar]}
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
</View>
|
193
|
-
{right && React.isValidElement(right,true) ? <Label testID={testID+"_Right"} primary selectable {...rightProps} style={[styles.right,styles.label,rStyles.lineHeight,rightProps.style]}>
|
194
|
-
{right}
|
195
|
-
</Label> : null}
|
140
|
+
testID={testID+'_ContentContainer'}
|
141
|
+
>
|
142
|
+
{hasAvatar?<View testID={testID+"_AvatarContentContainer"} style={[styles.avatarContent]}>
|
143
|
+
{avatarContent}
|
144
|
+
</View> : avatarContent}
|
145
|
+
<View testID={testID+"_Content"} style={[styles.content,styles.wrap]}>
|
146
|
+
{title}
|
147
|
+
{description}
|
196
148
|
</View>
|
149
|
+
{right && React.isValidElement(right,true) ? <Label testID={testID+"_Right"} primary selectable {...rightProps} style={[styles.right,styles.label,rStyles.lineHeight,rightProps.style]}>
|
150
|
+
{right}
|
151
|
+
</Label> : null}
|
197
152
|
</View>
|
198
153
|
</Pressable>
|
199
154
|
})
|
@@ -523,7 +523,7 @@ const DatagridFactory = (Factory)=>{
|
|
523
523
|
{datagridHeader}
|
524
524
|
{this.renderProgressBar()}
|
525
525
|
{!canRenderChart && showFooters ? (
|
526
|
-
<View testID={testID+"_FooterContainer"} pointerEvents={pointerEvents} style={[theme.styles.justifyContentCenter]}>
|
526
|
+
<View testID={testID+"_FooterContainer"} pointerEvents={pointerEvents} style={[theme.styles.justifyContentCenter,theme.styles.pv1]}>
|
527
527
|
<View testID={testID+"_FooterContentContainer"} style={[styles.footersContainer]}>
|
528
528
|
<ScrollView testID={testID+"_FooterScrollView"} horizontal contentContainerStyle={[styles.contentContainerStyle]}>
|
529
529
|
<View testID={testID+"_FooterContent"} style={[styles.table,theme.styles.p1]}>
|
package/src/context/Provider.js
CHANGED
@@ -98,7 +98,7 @@ const Provider = ({children,getTableData,handleHelpScreen,navigation,swrConfig,a
|
|
98
98
|
const auth = {
|
99
99
|
...Object.assign({},cAuth),
|
100
100
|
loginPropsMutator : (props)=>{
|
101
|
-
return extendProps(cAuth
|
101
|
+
return extendProps(cAuth?.loginPropsMutator,props);
|
102
102
|
},
|
103
103
|
}
|
104
104
|
extendObj(signInRef.current,auth);
|
@@ -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.80.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.65.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.9","url":"https://reactnavigation.org","license":"MIT"},"@react-navigation/native-stack":{"version":"6.9.17","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.19","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.8","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-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.4","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"}};
|
package/electron/expo-ui.json
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "@fto-consult/expo-ui",
|
3
|
-
"version": "6.67.10",
|
4
|
-
"description": "Bibliothèque de composants UI Expo,react-native",
|
5
|
-
"main": "main",
|
6
|
-
"scripts": {
|
7
|
-
"clear-npx-cache": "npx clear-npx-cache",
|
8
|
-
"publish1": "npm publish --access=public",
|
9
|
-
"unpublish": "npm -f unpublish @fto-consult/expo-ui",
|
10
|
-
"build-web": "",
|
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
|
-
"test:build": "electron-webpack && electron-builder --dir -c.compression=store -c.mac.identity=null",
|
32
|
-
"compile-electron": "webpack --env platform=electron",
|
33
|
-
"compile-electron-p": "webpack --config ./electron/webpack.config.js --mode=production",
|
34
|
-
"electron": "electron ./electron",
|
35
|
-
"logcat": "adb -d logcat com.ftc.apps.salite1:E > errors.txt",
|
36
|
-
"logcat-export": "adb -d logcat com.ftc.apps.salite1 *:S > logcat.txt",
|
37
|
-
"electron-c": "npm run compile-electron && npm run electron",
|
38
|
-
"electron-p": "npm run compile-electron-p && npm run electron",
|
39
|
-
"update-app-version": "node ./update-app-version.js",
|
40
|
-
"find-licenses": "node ./find-licenses.js",
|
41
|
-
"fix-dependencies": "expo-cli doctor --fix-dependencies",
|
42
|
-
"expo-fix": "npx expo install --fix",
|
43
|
-
"update-apexchart": "node ./bin/update-appex-chart.js",
|
44
|
-
"update-pdfmake": "node ./bin/update-pdfmake.js",
|
45
|
-
"update-appexchart": "npm run update-apexchart",
|
46
|
-
"delete-node-modules": "rimraf ./**/node_modules",
|
47
|
-
"dev": "npx expo start --no-dev --minify -c",
|
48
|
-
"modifier-url-remote-git": "git remote set-url origin 'https://borispipo@github.com/borispipo/smart-eneo.git'",
|
49
|
-
"update": "npm i pdfmake@latest expo @emotion/native@latest react-native-big-list@latest apexcharts@latest file-saver@latest fs-extra@latest google-libphonenumber@latest @pchmn/expo-material3-theme@latest @emotion/native@latest @fto-consult/common@latest @react-navigation/stack react-native-blob-util react-native-iphone-x-helper@latest react-native-mime-types@latest react-native-paper@latest react-native-paper-dates@latest @react-navigation/native@latest @react-navigation/native-stack@latest react-virtuoso@latest tippy.js@latest websql@latest xlsx@latest react-native-web@latest react-dom@latest && npx expo install --fix && npm run update-apexchart && npm run update-pdfmake && npm run find-licenses"
|
50
|
-
},
|
51
|
-
"bin": {
|
52
|
-
"expo-ui": "./bin/index.js"
|
53
|
-
},
|
54
|
-
"repository": {
|
55
|
-
"type": "git",
|
56
|
-
"url": "git+https://github.com/borispipo/expo-ui.git"
|
57
|
-
},
|
58
|
-
"keywords": [
|
59
|
-
"Expo",
|
60
|
-
"React-Native"
|
61
|
-
],
|
62
|
-
"author": "Boris Fouomene",
|
63
|
-
"license": "ISC",
|
64
|
-
"bugs": {
|
65
|
-
"url": "https://github.com/borispipo/expo-ui/issues"
|
66
|
-
},
|
67
|
-
"homepage": "https://github.com/borispipo/expo-ui#readme",
|
68
|
-
"dependencies": {
|
69
|
-
"@emotion/native": "^11.11.0",
|
70
|
-
"@emotion/react": "^11.11.1",
|
71
|
-
"@expo/html-elements": "^0.5.1",
|
72
|
-
"@expo/vector-icons": "^13.0.0",
|
73
|
-
"@faker-js/faker": "^8.0.2",
|
74
|
-
"@fto-consult/common": "^3.57.7",
|
75
|
-
"@pchmn/expo-material3-theme": "^1.3.1",
|
76
|
-
"@react-native-async-storage/async-storage": "1.18.2",
|
77
|
-
"@react-native-community/datetimepicker": "7.2.0",
|
78
|
-
"@react-native-community/netinfo": "9.3.10",
|
79
|
-
"@react-native/assets-registry": "^0.72.0",
|
80
|
-
"@react-navigation/native": "^6.1.9",
|
81
|
-
"@react-navigation/native-stack": "^6.9.16",
|
82
|
-
"@react-navigation/stack": "^6.3.20",
|
83
|
-
"@shopify/flash-list": "1.4.3",
|
84
|
-
"apexcharts": "^3.44.0",
|
85
|
-
"expo": "^49.0.16",
|
86
|
-
"expo-camera": "~13.4.4",
|
87
|
-
"expo-clipboard": "~4.3.1",
|
88
|
-
"expo-font": "~11.4.0",
|
89
|
-
"expo-image-picker": "~14.3.2",
|
90
|
-
"expo-linking": "~5.0.2",
|
91
|
-
"expo-sharing": "~11.5.0",
|
92
|
-
"expo-sqlite": "~11.3.3",
|
93
|
-
"expo-status-bar": "~1.6.0",
|
94
|
-
"expo-system-ui": "~2.4.0",
|
95
|
-
"expo-web-browser": "~12.3.2",
|
96
|
-
"file-saver": "^2.0.5",
|
97
|
-
"fs-extra": "^11.1.1",
|
98
|
-
"google-libphonenumber": "^3.2.33",
|
99
|
-
"htmlparser2-without-node-native": "^3.9.2",
|
100
|
-
"is-plain-obj": "^4.1.0",
|
101
|
-
"js-base64": "^3.7.5",
|
102
|
-
"pdfmake": "^0.2.7",
|
103
|
-
"process": "^0.11.10",
|
104
|
-
"prop-types": "^15.8.1",
|
105
|
-
"react": "^18.2.0",
|
106
|
-
"react-content-loader": "^6.2.1",
|
107
|
-
"react-dom": "^18.2.0",
|
108
|
-
"react-native": "0.72.6",
|
109
|
-
"react-native-big-list": "^1.6.1",
|
110
|
-
"react-native-blob-util": "^0.18.6",
|
111
|
-
"react-native-gesture-handler": "~2.12.0",
|
112
|
-
"react-native-get-random-values": "~1.9.0",
|
113
|
-
"react-native-iphone-x-helper": "^1.3.1",
|
114
|
-
"react-native-mime-types": "^2.4.0",
|
115
|
-
"react-native-paper": "^5.11.1",
|
116
|
-
"react-native-paper-dates": "^0.20.3",
|
117
|
-
"react-native-reanimated": "~3.3.0",
|
118
|
-
"react-native-safe-area-context": "4.6.3",
|
119
|
-
"react-native-screens": "~3.22.0",
|
120
|
-
"react-native-svg": "13.9.0",
|
121
|
-
"react-native-web": "^0.19.9",
|
122
|
-
"react-native-webview": "13.2.2",
|
123
|
-
"react-virtuoso": "^4.6.2",
|
124
|
-
"sharp-cli": "^2.1.0",
|
125
|
-
"tippy.js": "^6.3.7",
|
126
|
-
"websql": "^2.0.3",
|
127
|
-
"xlsx": "^0.18.5"
|
128
|
-
},
|
129
|
-
"devDependencies": {
|
130
|
-
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
131
|
-
"@expo/metro-config": "^0.10.7",
|
132
|
-
"@expo/webpack-config": "^19.0.0",
|
133
|
-
"babel-plugin-inline-dotenv": "^1.7.0",
|
134
|
-
"babel-plugin-module-resolver": "^5.0.0"
|
135
|
-
}
|
136
|
-
}
|
@@ -1,123 +0,0 @@
|
|
1
|
-
import React, { Component } from 'react';
|
2
|
-
import View from "$ecomponents/View";
|
3
|
-
import {
|
4
|
-
Animated,
|
5
|
-
StyleSheet,
|
6
|
-
Text,
|
7
|
-
I18nManager,
|
8
|
-
Alert,
|
9
|
-
} from 'react-native';
|
10
|
-
|
11
|
-
import { RectButton } from 'react-native-gesture-handler';
|
12
|
-
|
13
|
-
import Swipeable from 'react-native-gesture-handler/Swipeable';
|
14
|
-
|
15
|
-
export default class AppleStyleSwipeableRow extends Component {
|
16
|
-
renderLeftActions = (
|
17
|
-
_progress,
|
18
|
-
dragX
|
19
|
-
) => {
|
20
|
-
const trans = dragX.interpolate({
|
21
|
-
inputRange: [0, 50, 100, 101],
|
22
|
-
outputRange: [-20, 0, 0, 1],
|
23
|
-
extrapolate: 'clamp',
|
24
|
-
});
|
25
|
-
return (
|
26
|
-
<RectButton style={styles.leftAction} onPress={this.close}>
|
27
|
-
<Animated.Text
|
28
|
-
style={[
|
29
|
-
styles.actionText,
|
30
|
-
{
|
31
|
-
transform: [{ translateX: trans }],
|
32
|
-
},
|
33
|
-
]}>
|
34
|
-
Archive
|
35
|
-
</Animated.Text>
|
36
|
-
</RectButton>
|
37
|
-
);
|
38
|
-
};
|
39
|
-
|
40
|
-
renderRightAction = (
|
41
|
-
text,
|
42
|
-
color,
|
43
|
-
x,
|
44
|
-
progress
|
45
|
-
) => {
|
46
|
-
const trans = progress.interpolate({
|
47
|
-
inputRange: [0, 1],
|
48
|
-
outputRange: [x, 0],
|
49
|
-
});
|
50
|
-
const pressHandler = () => {
|
51
|
-
this.close();
|
52
|
-
Alert.alert(text);
|
53
|
-
};
|
54
|
-
|
55
|
-
return (
|
56
|
-
<Animated.View style={{ flex: 1, transform: [{ translateX: trans }] }}>
|
57
|
-
<RectButton
|
58
|
-
style={[styles.rightAction, { backgroundColor: color }]}
|
59
|
-
onPress={pressHandler}>
|
60
|
-
<Text style={styles.actionText}>{text}</Text>
|
61
|
-
</RectButton>
|
62
|
-
</Animated.View>
|
63
|
-
);
|
64
|
-
};
|
65
|
-
|
66
|
-
renderRightActions = (
|
67
|
-
progress,
|
68
|
-
_dragAnimatedValue
|
69
|
-
) => (
|
70
|
-
<View
|
71
|
-
style={{
|
72
|
-
width: 192,
|
73
|
-
flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',
|
74
|
-
}}>
|
75
|
-
{this.renderRightAction('More', '#C8C7CD', 192, progress)}
|
76
|
-
{this.renderRightAction('Flag', '#ffab00', 128, progress)}
|
77
|
-
{this.renderRightAction('More', '#dd2c00', 64, progress)}
|
78
|
-
</View>
|
79
|
-
);
|
80
|
-
|
81
|
-
swipeableRow;
|
82
|
-
|
83
|
-
updateRef = (ref) => {
|
84
|
-
this.swipeableRow = ref;
|
85
|
-
};
|
86
|
-
close = () => {
|
87
|
-
this.swipeableRow?.close();
|
88
|
-
};
|
89
|
-
render() {
|
90
|
-
const { children } = this.props;
|
91
|
-
return (
|
92
|
-
<Swipeable
|
93
|
-
ref={this.updateRef}
|
94
|
-
friction={2}
|
95
|
-
enableTrackpadTwoFingerGesture
|
96
|
-
leftThreshold={30}
|
97
|
-
rightThreshold={40}
|
98
|
-
renderLeftActions={this.renderLeftActions}
|
99
|
-
renderRightActions={this.renderRightActions}>
|
100
|
-
{children}
|
101
|
-
</Swipeable>
|
102
|
-
);
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
const styles = StyleSheet.create({
|
107
|
-
leftAction: {
|
108
|
-
flex: 1,
|
109
|
-
backgroundColor: '#497AFC',
|
110
|
-
justifyContent: 'center',
|
111
|
-
},
|
112
|
-
actionText: {
|
113
|
-
color: 'white',
|
114
|
-
fontSize: 16,
|
115
|
-
backgroundColor: 'transparent',
|
116
|
-
padding: 10,
|
117
|
-
},
|
118
|
-
rightAction: {
|
119
|
-
alignItems: 'center',
|
120
|
-
flex: 1,
|
121
|
-
justifyContent: 'center',
|
122
|
-
},
|
123
|
-
});
|
@@ -1,85 +0,0 @@
|
|
1
|
-
import React, { Component } from 'react';
|
2
|
-
import { Animated, StyleSheet, I18nManager,View } from 'react-native';
|
3
|
-
import {Button} from "react-native-paper";
|
4
|
-
import Swipeable from 'react-native-gesture-handler/Swipeable';
|
5
|
-
|
6
|
-
const AnimatedView = Animated.createAnimatedComponent(View);
|
7
|
-
|
8
|
-
export default class GmailStyleSwipeableRow extends Component {
|
9
|
-
renderLeftActions = (_progress,dragX) => {
|
10
|
-
const scale = dragX.interpolate({
|
11
|
-
inputRange: [0, 80],
|
12
|
-
outputRange: [0, 1],
|
13
|
-
extrapolate: 'clamp',
|
14
|
-
});
|
15
|
-
return (
|
16
|
-
<Button style={styles.leftAction} onPress={this.close}>
|
17
|
-
{/* Change it to some icons */}
|
18
|
-
<AnimatedView style={[styles.actionIcon, { transform: [{ scale }] }]} />
|
19
|
-
</Button>
|
20
|
-
);
|
21
|
-
};
|
22
|
-
renderRightActions = (
|
23
|
-
_progress,
|
24
|
-
dragX
|
25
|
-
) => {
|
26
|
-
const scale = dragX.interpolate({
|
27
|
-
inputRange: [-80, 0],
|
28
|
-
outputRange: [1, 0],
|
29
|
-
extrapolate: 'clamp',
|
30
|
-
});
|
31
|
-
return (
|
32
|
-
<Button style={styles.rightAction} onPress={this.close}>
|
33
|
-
{/* Change it to some icons */}
|
34
|
-
<AnimatedView style={[styles.actionIcon, { transform: [{ scale }] }]} />
|
35
|
-
</Button>
|
36
|
-
);
|
37
|
-
};
|
38
|
-
|
39
|
-
swipeableRow;
|
40
|
-
|
41
|
-
updateRef = (ref) => {
|
42
|
-
this.swipeableRow = ref;
|
43
|
-
};
|
44
|
-
close = () => {
|
45
|
-
this.swipeableRow?.close();
|
46
|
-
};
|
47
|
-
render() {
|
48
|
-
const { children } = this.props;
|
49
|
-
return (
|
50
|
-
<Swipeable
|
51
|
-
ref={this.updateRef}
|
52
|
-
friction={2}
|
53
|
-
leftThreshold={80}
|
54
|
-
enableTrackpadTwoFingerGesture
|
55
|
-
rightThreshold={40}
|
56
|
-
renderLeftActions={this.renderLeftActions}
|
57
|
-
renderRightActions={this.renderRightActions}>
|
58
|
-
{children}
|
59
|
-
</Swipeable>
|
60
|
-
);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
const styles = StyleSheet.create({
|
65
|
-
leftAction: {
|
66
|
-
flex: 1,
|
67
|
-
backgroundColor: '#388e3c',
|
68
|
-
justifyContent: 'flex-end',
|
69
|
-
alignItems: 'center',
|
70
|
-
flexDirection: I18nManager.isRTL ? 'row' : 'row-reverse',
|
71
|
-
},
|
72
|
-
actionIcon: {
|
73
|
-
width: 30,
|
74
|
-
marginHorizontal: 10,
|
75
|
-
backgroundColor: 'plum',
|
76
|
-
height: 20,
|
77
|
-
},
|
78
|
-
rightAction: {
|
79
|
-
alignItems: 'center',
|
80
|
-
flexDirection: I18nManager.isRTL ? 'row-reverse' : 'row',
|
81
|
-
backgroundColor: '#dd2c00',
|
82
|
-
flex: 1,
|
83
|
-
justifyContent: 'flex-end',
|
84
|
-
},
|
85
|
-
});
|