@admin-layout/gluestack-ui-mobile 12.2.4-alpha.3 → 12.2.4-alpha.31
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/CHANGELOG.md +36 -8
- package/lib/components/ErrorBounday.js.map +1 -1
- package/lib/components/Fallback.js +11 -11
- package/lib/components/Fallback.js.map +1 -1
- package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
- package/lib/components/InputToolBar/InputToolBar.js +219 -0
- package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
- package/lib/components/InputToolBar/defaults.d.ts +14 -0
- package/lib/components/InputToolBar/defaults.js +60 -0
- package/lib/components/InputToolBar/defaults.js.map +1 -0
- package/lib/components/InputToolBar/index.d.ts +4 -0
- package/lib/components/InputToolBar/index.js +3 -0
- package/lib/components/InputToolBar/index.js.map +1 -0
- package/lib/components/InputToolBar/types.d.ts +153 -0
- package/lib/components/InputToolBar/types.js +2 -0
- package/lib/components/InputToolBar/types.js.map +1 -0
- package/lib/components/Layout/components/BottomTabBar.js +2 -2
- package/lib/components/Layout/components/BottomTabBar.js.map +1 -1
- package/lib/components/Layout/components/Sample.js.map +1 -1
- package/lib/components/ToastAlert.d.ts +1 -1
- package/lib/components/ToastAlert.js +2 -2
- package/lib/components/ToastAlert.js.map +1 -1
- package/lib/components/UnAuthenticatedComponent.js +1 -1
- package/lib/components/UnAuthenticatedComponent.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/usePermissionAutoFetch.js +2 -3
- package/lib/components/usePermissionAutoFetch.js.map +1 -1
- package/lib/containers/layout/DrawerBottomNavigationConfig.d.ts +63 -303
- package/lib/containers/layout/DrawerConfig.d.ts +42 -206
- package/lib/containers/layout/ProLayout.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +4 -4
- package/src/components/ErrorBounday.tsx +19 -19
- package/src/components/Fallback.tsx +54 -58
- package/src/components/InputToolBar/InputToolBar.tsx +666 -0
- package/src/components/InputToolBar/README.md +239 -0
- package/src/components/InputToolBar/defaults.ts +72 -0
- package/src/components/InputToolBar/index.ts +18 -0
- package/src/components/InputToolBar/types.ts +166 -0
- package/src/components/Layout/components/BottomTabBar.tsx +98 -99
- package/src/components/Layout/components/Sample.tsx +1 -1
- package/src/components/ToastAlert.tsx +11 -11
- package/src/components/UnAuthenticatedComponent.tsx +16 -26
- package/src/components/index.ts +1 -0
- package/src/components/usePermissionAutoFetch.tsx +4 -4
- package/src/containers/layout/ProLayout.tsx +1 -1
- package/src/index.ts +1 -2
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {Box,Pressable,Center,Text, SafeAreaView} from '@gluestack-ui/themed';
|
|
2
|
+
import { Box, Pressable, Center, Text, SafeAreaView } from '@gluestack-ui/themed';
|
|
3
3
|
import { useSelector } from 'react-redux';
|
|
4
4
|
import { useRoute } from '@react-navigation/native';
|
|
5
5
|
import { navigationRef } from '@common-stack/client-react';
|
|
6
6
|
|
|
7
|
-
export const BottomTabBar = ({ state, descriptors, navigation
|
|
8
|
-
const tabBarProps = props?.customTabBarProps??{};
|
|
7
|
+
export const BottomTabBar = ({ state, descriptors, navigation, ...props }: any) => {
|
|
8
|
+
const tabBarProps = props?.customTabBarProps ?? {};
|
|
9
9
|
const settings = useSelector<any>((state) => state.settings) as any;
|
|
10
10
|
//const currentRoute: any = useRoute();
|
|
11
11
|
const currentRoute: any = navigationRef.isReady() ? navigationRef?.getCurrentRoute() : null;
|
|
@@ -23,118 +23,117 @@ export const BottomTabBar = ({ state, descriptors, navigation,...props }: any) =
|
|
|
23
23
|
(b.options.priority ? b.options.priority : b.options.title),
|
|
24
24
|
);
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!isFocused && !event.defaultPrevented) {
|
|
35
|
-
// The `merge: true` option makes sure that the params inside the tab screen are preserved
|
|
36
|
-
navigation.navigate({
|
|
37
|
-
name: route.route.name,
|
|
38
|
-
merge: true,
|
|
39
|
-
orgName: currentRoute?.params?.orgName || platformState?.orgName,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}, []);
|
|
26
|
+
const onPress = React.useCallback((route, navigation, isFocused) => {
|
|
27
|
+
if (route?.route) {
|
|
28
|
+
const event = navigation.emit({
|
|
29
|
+
type: 'tabPress',
|
|
30
|
+
target: route.route.key,
|
|
31
|
+
canPreventDefault: true,
|
|
32
|
+
});
|
|
44
33
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
navigation.
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
if (!isFocused && !event.defaultPrevented) {
|
|
35
|
+
// The `merge: true` option makes sure that the params inside the tab screen are preserved
|
|
36
|
+
navigation.navigate({
|
|
37
|
+
name: route.route.name,
|
|
38
|
+
merge: true,
|
|
39
|
+
orgName: currentRoute?.params?.orgName || platformState?.orgName,
|
|
50
40
|
});
|
|
51
41
|
}
|
|
52
|
-
}
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
53
44
|
|
|
45
|
+
const onLongPress = React.useCallback((route, navigation, isFocused) => {
|
|
46
|
+
if (route?.route) {
|
|
47
|
+
navigation.emit({
|
|
48
|
+
type: 'tabLongPress',
|
|
49
|
+
target: route.route.key,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, []);
|
|
54
53
|
|
|
55
54
|
return (
|
|
56
55
|
<SafeAreaView>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
56
|
+
<Box
|
|
57
|
+
flexDirection="row"
|
|
58
|
+
width="100%"
|
|
59
|
+
alignSelf="center"
|
|
60
|
+
bg={'$white'}
|
|
61
|
+
borderTopWidth={'$1'}
|
|
62
|
+
borderTopColor={'#d3d3d3'}
|
|
63
|
+
py={'$4'}
|
|
64
|
+
{...tabBarProps}
|
|
65
|
+
>
|
|
66
|
+
{appRoutes.map((route: any, index: any) => {
|
|
67
|
+
const options = route.options;
|
|
68
|
+
const label =
|
|
69
|
+
options.tabBarLabel !== undefined
|
|
70
|
+
? options.tabBarLabel
|
|
71
|
+
: options.title !== undefined
|
|
73
72
|
? options.title
|
|
74
73
|
: route.route.name;
|
|
75
74
|
|
|
76
|
-
|
|
75
|
+
const isFocused = state.index === route.index;
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
77
|
+
// const onPress = () => {
|
|
78
|
+
// const event = navigation.emit({
|
|
79
|
+
// type: 'tabPress',
|
|
80
|
+
// target: route.route.key,
|
|
81
|
+
// canPreventDefault: true,
|
|
82
|
+
// });
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
84
|
+
// if (!isFocused && !event.defaultPrevented) {
|
|
85
|
+
// // The `merge: true` option makes sure that the params inside the tab screen are preserved
|
|
86
|
+
// navigation.navigate({
|
|
87
|
+
// name: route.route.name,
|
|
88
|
+
// merge: true,
|
|
89
|
+
// orgName: currentRoute?.params?.orgName || platformState?.orgName,
|
|
90
|
+
// });
|
|
91
|
+
// }
|
|
92
|
+
// };
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
// const onLongPress = () => {
|
|
95
|
+
// navigation.emit({
|
|
96
|
+
// type: 'tabLongPress',
|
|
97
|
+
// target: route.route.key,
|
|
98
|
+
// });
|
|
99
|
+
// };
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
101
|
+
return (
|
|
102
|
+
<Pressable
|
|
103
|
+
key={index}
|
|
104
|
+
opacity={isFocused ? '$100' : '$50'}
|
|
105
|
+
// pb="$8"
|
|
106
|
+
// pt={"$3"}
|
|
107
|
+
flex={1}
|
|
108
|
+
onPress={() => onPress(route, navigation, isFocused)}
|
|
109
|
+
onLongPress={() => onLongPress(route, navigation, isFocused)}
|
|
110
|
+
testID={options.tabBarTestID}
|
|
111
|
+
accessibilityState={isFocused ? { selected: true } : {}}
|
|
112
|
+
accessibilityLabel={options.tabBarAccessibilityLabel}
|
|
113
|
+
>
|
|
114
|
+
<Center>
|
|
115
|
+
{options?.tabBarIcon
|
|
116
|
+
? options.tabBarIcon({
|
|
117
|
+
color: isFocused
|
|
118
|
+
? options.tabBarActiveTintColor
|
|
119
|
+
: options.tabBarInactiveTintColor,
|
|
120
|
+
size: 24,
|
|
121
|
+
})
|
|
122
|
+
: null}
|
|
124
123
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
124
|
+
<Text
|
|
125
|
+
color={isFocused ? options.tabBarActiveTintColor : options.tabBarInactiveTintColor}
|
|
126
|
+
style={{ fontSize: 12 }}
|
|
127
|
+
>
|
|
128
|
+
{label}
|
|
129
|
+
</Text>
|
|
130
|
+
</Center>
|
|
131
|
+
</Pressable>
|
|
132
|
+
);
|
|
133
|
+
})}
|
|
134
|
+
</Box>
|
|
136
135
|
</SafeAreaView>
|
|
137
136
|
);
|
|
138
137
|
};
|
|
139
138
|
|
|
140
|
-
export default BottomTabBar;
|
|
139
|
+
export default BottomTabBar;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
Toast,
|
|
5
|
-
VStack,
|
|
6
|
-
ToastTitle,
|
|
7
|
-
ToastDescription,
|
|
8
|
-
Pressable,
|
|
9
|
-
Icon,
|
|
10
|
-
CloseIcon,
|
|
11
|
-
} from '@gluestack-ui/themed';
|
|
3
|
+
import { Toast, VStack, ToastTitle, ToastDescription, Pressable, Icon, CloseIcon } from '@gluestack-ui/themed';
|
|
12
4
|
|
|
13
5
|
interface IToast {
|
|
14
6
|
id: string;
|
|
@@ -17,7 +9,7 @@ interface IToast {
|
|
|
17
9
|
description?: string;
|
|
18
10
|
isClosable?: boolean;
|
|
19
11
|
toast?: any;
|
|
20
|
-
variant?:any
|
|
12
|
+
variant?: any;
|
|
21
13
|
}
|
|
22
14
|
|
|
23
15
|
// variants:
|
|
@@ -25,7 +17,15 @@ interface IToast {
|
|
|
25
17
|
// solid,
|
|
26
18
|
// outline
|
|
27
19
|
|
|
28
|
-
export const ToastAlert = ({
|
|
20
|
+
export const ToastAlert = ({
|
|
21
|
+
id,
|
|
22
|
+
status = 'info',
|
|
23
|
+
title = '',
|
|
24
|
+
description = '',
|
|
25
|
+
variant = 'solid',
|
|
26
|
+
isClosable,
|
|
27
|
+
toast = null,
|
|
28
|
+
}: IToast) => {
|
|
29
29
|
const toastId = 'toast-' + id;
|
|
30
30
|
const actionType = status || 'info';
|
|
31
31
|
return (
|
|
@@ -1,38 +1,28 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Box,
|
|
4
|
-
Button,
|
|
5
|
-
Heading,
|
|
6
|
-
Text,
|
|
7
|
-
HStack,
|
|
8
|
-
Pressable,
|
|
9
|
-
Divider,
|
|
10
|
-
ButtonText,
|
|
11
|
-
SafeAreaView,
|
|
12
|
-
} from '@gluestack-ui/themed';
|
|
2
|
+
import { Box, Button, Heading, Text, HStack, Pressable, Divider, ButtonText, SafeAreaView } from '@gluestack-ui/themed';
|
|
13
3
|
import { useNavigation } from '@react-navigation/native';
|
|
14
4
|
import { Ionicons } from '@expo/vector-icons';
|
|
15
5
|
import { Linking } from 'react-native';
|
|
16
6
|
|
|
17
|
-
|
|
7
|
+
const UnAuthenticatedComponent = () => {
|
|
18
8
|
const navigation = useNavigation<any>();
|
|
19
9
|
return (
|
|
20
10
|
<SafeAreaView flex={1}>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
11
|
+
<Box flex={1} borderTopWidth={'$1'} borderTopColor={'$trueGray200'}>
|
|
12
|
+
{/* <Box h={'$1'} bg={Colors.primaryBgColor} /> */}
|
|
13
|
+
<Box flex={1} p={'$6'} bg="$white" justifyContent={'center'}>
|
|
14
|
+
<Heading mt={'$2'}>Login</Heading>
|
|
15
|
+
<Text fontSize="$md" mt={'$2'}>
|
|
16
|
+
Log in to continue.
|
|
17
|
+
</Text>
|
|
18
|
+
<Button bg={'$blue500'} size="lg" my={'$3'} onPress={() => navigation.navigate('MainStack.Login')}>
|
|
19
|
+
<ButtonText color="$white">Login</ButtonText>
|
|
20
|
+
</Button>
|
|
21
|
+
<Divider my={'$3'} />
|
|
22
|
+
</Box>
|
|
32
23
|
</Box>
|
|
33
|
-
</
|
|
34
|
-
</SafeAreaView>
|
|
24
|
+
</SafeAreaView>
|
|
35
25
|
);
|
|
36
26
|
};
|
|
37
27
|
|
|
38
|
-
export default UnAuthenticatedComponent;
|
|
28
|
+
export default UnAuthenticatedComponent;
|
package/src/components/index.ts
CHANGED
|
@@ -2,21 +2,21 @@ import { ResourceAuthority, ConfigFragmentName, IContext } from 'common';
|
|
|
2
2
|
import { generateUserUri } from '@adminide-stack/core';
|
|
3
3
|
import { useGetContextDataQuery } from 'common/lib/generated/generated.js';
|
|
4
4
|
import { useSetting } from './useSetting';
|
|
5
|
+
import type { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';
|
|
5
6
|
|
|
6
7
|
interface userPermissionAutoFetchProps {
|
|
7
8
|
configKey?: string;
|
|
8
9
|
}
|
|
9
10
|
export const usePermissionAutoFetch = (options?: userPermissionAutoFetchProps) => {
|
|
10
11
|
const { data, loading } = useGetContextDataQuery();
|
|
11
|
-
const {
|
|
12
|
+
const { orgResource, userId } = (data?.getContextData as IContext) || {};
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
let resource = orgUri || (userId ? generateUserUri({ _id: userId }) : generateUserUri({ _id: 'guest' }));
|
|
14
|
+
let resource = orgResource || (userId ? generateUserUri({ _id: userId }) : generateUserUri({ _id: 'guest' }));
|
|
15
15
|
|
|
16
16
|
const { loading: settingLoading, ...remaining } = useSetting({
|
|
17
17
|
configKey: options?.configKey || '',
|
|
18
18
|
overrides: {
|
|
19
|
-
resource: resource,
|
|
19
|
+
resource: resource as unknown as URI,
|
|
20
20
|
},
|
|
21
21
|
options: {
|
|
22
22
|
forceExist: false,
|
|
@@ -11,7 +11,7 @@ const ProLayout: React.FC<any> = (props) => {
|
|
|
11
11
|
const [appRoutes, setAppRoutes] = React.useState<any>([]);
|
|
12
12
|
const { pathKey, appLayout } = useLayoutSetting(props);
|
|
13
13
|
AppLayout = appLayout;
|
|
14
|
-
const {appFeatures} = routeConfigKeyReplace(pathKey, props?.features,appLayout);
|
|
14
|
+
const { appFeatures } = routeConfigKeyReplace(pathKey, props?.features, appLayout);
|
|
15
15
|
AppFeatures = appFeatures;
|
|
16
16
|
|
|
17
17
|
React.useEffect(() => {
|
package/src/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { settingsReducer } from './redux/settings';
|
|
|
5
5
|
import { useAfterInteractions } from './hooks/use-after-interactions';
|
|
6
6
|
import useIsReady from './hooks/useIsReady';
|
|
7
7
|
import routeConfigKeyReplace from './utils/routeConfigKeyReplace';
|
|
8
|
-
import {getReplacedRouteConfig} from './utils/getReplacedRouteConfig'
|
|
8
|
+
import { getReplacedRouteConfig } from './utils/getReplacedRouteConfig';
|
|
9
9
|
import LayoutFeature, { ProLayout, AppFeatures, AppLayout } from './containers/layout/module';
|
|
10
10
|
import { useLayoutSetting, LayoutSettingProps } from './hooks/useLayoutSetting';
|
|
11
11
|
import i18next from './config/i18next';
|
|
@@ -21,7 +21,6 @@ export * from '@gluestack-ui/config';
|
|
|
21
21
|
export * from '@gluestack-style/react';
|
|
22
22
|
//............................gluestack-ui....///
|
|
23
23
|
|
|
24
|
-
|
|
25
24
|
export {
|
|
26
25
|
useLayoutSetting,
|
|
27
26
|
LayoutSettingProps,
|