@axelor/aos-mobile-ui 9.0.13 → 9.1.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/lib/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.js +7 -2
- package/lib/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.js.map +1 -1
- package/lib/components/molecules/BottomSheet/BottomSheet.d.ts +10 -0
- package/lib/components/molecules/BottomSheet/BottomSheet.js +157 -0
- package/lib/components/molecules/BottomSheet/BottomSheet.js.map +1 -0
- package/lib/components/molecules/CardIconButton/CardIconButton.d.ts +4 -3
- package/lib/components/molecules/CardIconButton/CardIconButton.js +5 -4
- package/lib/components/molecules/CardIconButton/CardIconButton.js.map +1 -1
- package/lib/components/molecules/IconInput/IconInput.d.ts +2 -2
- package/lib/components/molecules/IconInput/IconInput.js +8 -8
- package/lib/components/molecules/IconInput/IconInput.js.map +1 -1
- package/lib/components/molecules/Image/Image.d.ts +1 -1
- package/lib/components/molecules/UnorderedList/UnorderedList.d.ts +2 -1
- package/lib/components/molecules/UnorderedList/UnorderedList.js +2 -2
- package/lib/components/molecules/UnorderedList/UnorderedList.js.map +1 -1
- package/lib/components/molecules/ViewAllContainer/ViewAllContainer.d.ts +1 -1
- package/lib/components/molecules/index.d.ts +1 -0
- package/lib/components/molecules/index.js +1 -0
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/ActionSheet/ActionSheet.d.ts +14 -0
- package/lib/components/organisms/ActionSheet/ActionSheet.js +65 -0
- package/lib/components/organisms/ActionSheet/ActionSheet.js.map +1 -0
- package/lib/components/organisms/GridView/CellView.js +3 -1
- package/lib/components/organisms/GridView/CellView.js.map +1 -1
- package/lib/components/organisms/GridView/GridHeader.d.ts +12 -0
- package/lib/components/organisms/GridView/GridHeader.js +58 -0
- package/lib/components/organisms/GridView/GridHeader.js.map +1 -0
- package/lib/components/organisms/GridView/GridView.d.ts +12 -7
- package/lib/components/organisms/GridView/GridView.js +31 -36
- package/lib/components/organisms/GridView/GridView.js.map +1 -1
- package/lib/components/organisms/GridView/display.helpers.d.ts +3 -0
- package/lib/components/organisms/GridView/display.helpers.js +38 -0
- package/lib/components/organisms/GridView/display.helpers.js.map +1 -0
- package/lib/components/organisms/GridView/index.d.ts +4 -0
- package/lib/components/organisms/GridView/index.js +21 -0
- package/lib/components/organisms/GridView/index.js.map +1 -0
- package/lib/components/organisms/GridView/type.d.ts +10 -0
- package/lib/components/organisms/GridView/type.js +19 -0
- package/lib/components/organisms/GridView/type.js.map +1 -0
- package/lib/components/organisms/ImageBubble/ImageBubble.d.ts +1 -1
- package/lib/components/organisms/InfoButton/InfoButton.d.ts +2 -1
- package/lib/components/organisms/InfoButton/InfoButton.js +2 -2
- package/lib/components/organisms/InfoButton/InfoButton.js.map +1 -1
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js +1 -0
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js.map +1 -1
- package/lib/components/organisms/ScrollGridView/ScrollGridView.d.ts +23 -0
- package/lib/components/organisms/ScrollGridView/ScrollGridView.js +134 -0
- package/lib/components/organisms/ScrollGridView/ScrollGridView.js.map +1 -0
- package/lib/components/organisms/ScrollGridView/useGridSelection.d.ts +2 -0
- package/lib/components/organisms/ScrollGridView/useGridSelection.js +66 -0
- package/lib/components/organisms/ScrollGridView/useGridSelection.js.map +1 -0
- package/lib/components/organisms/ScrollList/ScrollList.js +1 -1
- package/lib/components/organisms/ScrollList/ScrollList.js.map +1 -1
- package/lib/components/organisms/index.d.ts +3 -1
- package/lib/components/organisms/index.js +3 -1
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/templates/ObjectCard/ObjectCard.d.ts +3 -3
- package/lib/components/templates/index.d.ts +1 -1
- package/lib/components/templates/index.js +1 -1
- package/lib/components/templates/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,12 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
|
-
import { KeyboardAvoidingView, Platform, RefreshControl, ScrollView, StyleSheet, } from 'react-native';
|
|
19
|
+
import { KeyboardAvoidingView, LogBox, Platform, RefreshControl, ScrollView, StyleSheet, } from 'react-native';
|
|
20
|
+
// Suppress warning for nested VirtualizedLists - we handle this intentionally
|
|
21
|
+
// with nestedScrollEnabled and constrained heights on inner lists
|
|
22
|
+
LogBox.ignoreLogs([
|
|
23
|
+
'VirtualizedLists should never be nested inside plain ScrollViews with the same orientation because it can break windowing and other functionality - use another VirtualizedList-backed container instead.',
|
|
24
|
+
]);
|
|
20
25
|
export const DEFAULT_OFFSET = { ios: 70, android: 115 };
|
|
21
26
|
const KeyboardAvoidingScrollView = ({ globalStyle, style, children, keyboardOffset = DEFAULT_OFFSET, refresh, }) => {
|
|
22
27
|
const keyboardVerticalOffset = useMemo(() => {
|
|
@@ -25,7 +30,7 @@ const KeyboardAvoidingScrollView = ({ globalStyle, style, children, keyboardOffs
|
|
|
25
30
|
return (<KeyboardAvoidingView testID="keyboardAvoidingView" behavior={Platform.OS === 'ios' ? 'padding' : 'height'} style={[styles.containerKeyboard, getZIndexStyles(5)]} keyboardVerticalOffset={Platform.OS === 'ios'
|
|
26
31
|
? keyboardVerticalOffset?.ios
|
|
27
32
|
: keyboardVerticalOffset?.android}>
|
|
28
|
-
<ScrollView testID="keyboardAvoidingScrollView" style={globalStyle} keyboardShouldPersistTaps="handled" contentContainerStyle={[getZIndexStyles(10), style]} refreshControl={refresh != null ? (<RefreshControl refreshing={refresh.loading} onRefresh={refresh.fetcher}/>) : undefined}>
|
|
33
|
+
<ScrollView testID="keyboardAvoidingScrollView" style={globalStyle} keyboardShouldPersistTaps="handled" contentContainerStyle={[getZIndexStyles(10), style]} nestedScrollEnabled refreshControl={refresh != null ? (<RefreshControl refreshing={refresh.loading} onRefresh={refresh.fetcher}/>) : undefined}>
|
|
29
34
|
{children}
|
|
30
35
|
</ScrollView>
|
|
31
36
|
</KeyboardAvoidingView>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardAvoidingScrollView.js","sourceRoot":"","sources":["../../../../src/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,OAAO,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,cAAc,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC;AAYtD,MAAM,0BAA0B,GAAG,CAAC,EAClC,WAAW,EACX,KAAK,EACL,QAAQ,EACR,cAAc,GAAG,cAAc,EAC/B,OAAO,GAOR,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,OAAO,EAAC,GAAG,cAAc,EAAE,GAAG,cAAc,EAAC,CAAC;IAChD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,CAAC,oBAAoB,CACnB,MAAM,CAAC,sBAAsB,CAC7B,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACvD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,sBAAsB,CAAC,CACrB,QAAQ,CAAC,EAAE,KAAK,KAAK;YACnB,CAAC,CAAC,sBAAsB,EAAE,GAAG;YAC7B,CAAC,CAAC,sBAAsB,EAAE,OAC9B,CAAC,CACD;MAAA,CAAC,UAAU,CACT,MAAM,CAAC,4BAA4B,CACnC,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,yBAAyB,CAAC,SAAS,CACnC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACpD,cAAc,CAAC,CACb,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAChB,CAAC,cAAc,CACb,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAC5B,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3B,CACH,CAAC,CAAC,CAAC,SACN,CAAC,CACD;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,oBAAoB,CAAC,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,iBAAiB,EAAE;QACjB,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAEH,eAAe,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"KeyboardAvoidingScrollView.js","sourceRoot":"","sources":["../../../../src/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,OAAO,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,8EAA8E;AAC9E,kEAAkE;AAClE,MAAM,CAAC,UAAU,CAAC;IAChB,2MAA2M;CAC5M,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC;AAYtD,MAAM,0BAA0B,GAAG,CAAC,EAClC,WAAW,EACX,KAAK,EACL,QAAQ,EACR,cAAc,GAAG,cAAc,EAC/B,OAAO,GAOR,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,OAAO,EAAC,GAAG,cAAc,EAAE,GAAG,cAAc,EAAC,CAAC;IAChD,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,CAAC,oBAAoB,CACnB,MAAM,CAAC,sBAAsB,CAC7B,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CACvD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,sBAAsB,CAAC,CACrB,QAAQ,CAAC,EAAE,KAAK,KAAK;YACnB,CAAC,CAAC,sBAAsB,EAAE,GAAG;YAC7B,CAAC,CAAC,sBAAsB,EAAE,OAC9B,CAAC,CACD;MAAA,CAAC,UAAU,CACT,MAAM,CAAC,4BAA4B,CACnC,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,yBAAyB,CAAC,SAAS,CACnC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CACpD,mBAAmB,CACnB,cAAc,CAAC,CACb,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAChB,CAAC,cAAc,CACb,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAC5B,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAC3B,CACH,CAAC,CAAC,CAAC,SACN,CAAC,CACD;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,oBAAoB,CAAC,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CACxC,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,iBAAiB,EAAE;QACjB,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAEH,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface BottomSheetProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
visible: boolean;
|
|
5
|
+
title?: string;
|
|
6
|
+
children: any;
|
|
7
|
+
onClose?: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const BottomSheet: ({ style, visible, title, children, onClose, }: BottomSheetProps) => React.JSX.Element;
|
|
10
|
+
export default BottomSheet;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2026 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
19
|
+
import { Animated, Dimensions, Modal, PanResponder, StyleSheet, TouchableWithoutFeedback, View, } from 'react-native';
|
|
20
|
+
import { useThemeColor } from '../../../theme';
|
|
21
|
+
import { checkNullString } from '../../../utils';
|
|
22
|
+
import { Text } from '../../atoms';
|
|
23
|
+
const ANIMATION_DURATION = 250;
|
|
24
|
+
const SCREEN_HEIGHT = Dimensions.get('window').height;
|
|
25
|
+
const CLOSE_THRESHOLD = 120;
|
|
26
|
+
const CLOSE_VELOCITY = 0.5;
|
|
27
|
+
const BottomSheet = ({ style, visible = false, title, children, onClose, }) => {
|
|
28
|
+
const Colors = useThemeColor();
|
|
29
|
+
const translateY = useRef(new Animated.Value(SCREEN_HEIGHT)).current;
|
|
30
|
+
const opacity = useRef(new Animated.Value(0)).current;
|
|
31
|
+
const onCloseRef = useRef(onClose);
|
|
32
|
+
onCloseRef.current = onClose;
|
|
33
|
+
const panResponder = useRef(PanResponder.create({
|
|
34
|
+
onStartShouldSetPanResponder: () => true,
|
|
35
|
+
onMoveShouldSetPanResponder: (_, gestureState) => gestureState.dy > 5,
|
|
36
|
+
onPanResponderMove: (_, gestureState) => {
|
|
37
|
+
if (gestureState.dy > 0) {
|
|
38
|
+
translateY.setValue(gestureState.dy);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
onPanResponderRelease: (_, gestureState) => {
|
|
42
|
+
if (gestureState.dy > CLOSE_THRESHOLD ||
|
|
43
|
+
gestureState.vy > CLOSE_VELOCITY) {
|
|
44
|
+
onCloseRef.current?.();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
Animated.spring(translateY, {
|
|
48
|
+
toValue: 0,
|
|
49
|
+
useNativeDriver: false,
|
|
50
|
+
}).start();
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
})).current;
|
|
54
|
+
const [mounted, setMounted] = useState(visible);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (visible)
|
|
57
|
+
setMounted(true);
|
|
58
|
+
}, [visible]);
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (!mounted)
|
|
61
|
+
return;
|
|
62
|
+
if (visible) {
|
|
63
|
+
Animated.parallel([
|
|
64
|
+
Animated.timing(translateY, {
|
|
65
|
+
toValue: 0,
|
|
66
|
+
duration: ANIMATION_DURATION,
|
|
67
|
+
useNativeDriver: false,
|
|
68
|
+
}),
|
|
69
|
+
Animated.timing(opacity, {
|
|
70
|
+
toValue: 1,
|
|
71
|
+
duration: ANIMATION_DURATION,
|
|
72
|
+
useNativeDriver: false,
|
|
73
|
+
}),
|
|
74
|
+
]).start();
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
Animated.parallel([
|
|
78
|
+
Animated.timing(translateY, {
|
|
79
|
+
toValue: SCREEN_HEIGHT,
|
|
80
|
+
duration: ANIMATION_DURATION,
|
|
81
|
+
useNativeDriver: false,
|
|
82
|
+
}),
|
|
83
|
+
Animated.timing(opacity, {
|
|
84
|
+
toValue: 0,
|
|
85
|
+
duration: ANIMATION_DURATION,
|
|
86
|
+
useNativeDriver: false,
|
|
87
|
+
}),
|
|
88
|
+
]).start(() => setMounted(false));
|
|
89
|
+
}
|
|
90
|
+
}, [visible, mounted, translateY, opacity]);
|
|
91
|
+
if (!mounted)
|
|
92
|
+
return null;
|
|
93
|
+
return (<Modal testID="bottomSheetModal" visible transparent animationType="none" onRequestClose={onClose}>
|
|
94
|
+
<View style={styles.container}>
|
|
95
|
+
<TouchableWithoutFeedback onPress={onClose}>
|
|
96
|
+
<Animated.View style={[styles.scrim, { opacity }]}/>
|
|
97
|
+
</TouchableWithoutFeedback>
|
|
98
|
+
<Animated.View style={[
|
|
99
|
+
styles.panel,
|
|
100
|
+
{
|
|
101
|
+
backgroundColor: Colors.backgroundColor,
|
|
102
|
+
transform: [{ translateY }],
|
|
103
|
+
},
|
|
104
|
+
style,
|
|
105
|
+
]}>
|
|
106
|
+
<View style={styles.header} {...panResponder.panHandlers}>
|
|
107
|
+
<View style={[
|
|
108
|
+
styles.grip,
|
|
109
|
+
{ backgroundColor: Colors.secondaryColor.background },
|
|
110
|
+
]}/>
|
|
111
|
+
{!checkNullString(title) && (<Text numberOfLines={1} fontSize={12} textColor={Colors.secondaryColor_dark.background} style={styles.title}>
|
|
112
|
+
{title}
|
|
113
|
+
</Text>)}
|
|
114
|
+
</View>
|
|
115
|
+
{children}
|
|
116
|
+
</Animated.View>
|
|
117
|
+
</View>
|
|
118
|
+
</Modal>);
|
|
119
|
+
};
|
|
120
|
+
const styles = StyleSheet.create({
|
|
121
|
+
container: {
|
|
122
|
+
flex: 1,
|
|
123
|
+
justifyContent: 'flex-end',
|
|
124
|
+
},
|
|
125
|
+
scrim: {
|
|
126
|
+
position: 'absolute',
|
|
127
|
+
top: 0,
|
|
128
|
+
left: 0,
|
|
129
|
+
right: 0,
|
|
130
|
+
bottom: 0,
|
|
131
|
+
backgroundColor: 'rgba(0,0,0,0.5)',
|
|
132
|
+
},
|
|
133
|
+
panel: {
|
|
134
|
+
width: '100%',
|
|
135
|
+
maxHeight: '80%',
|
|
136
|
+
borderTopLeftRadius: 16,
|
|
137
|
+
borderTopRightRadius: 16,
|
|
138
|
+
paddingTop: 8,
|
|
139
|
+
paddingBottom: 24,
|
|
140
|
+
},
|
|
141
|
+
header: {
|
|
142
|
+
paddingVertical: 6,
|
|
143
|
+
},
|
|
144
|
+
grip: {
|
|
145
|
+
width: 40,
|
|
146
|
+
height: 4,
|
|
147
|
+
borderRadius: 2,
|
|
148
|
+
alignSelf: 'center',
|
|
149
|
+
marginBottom: 8,
|
|
150
|
+
},
|
|
151
|
+
title: {
|
|
152
|
+
paddingHorizontal: 20,
|
|
153
|
+
marginBottom: 4,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
export default BottomSheet;
|
|
157
|
+
//# sourceMappingURL=BottomSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomSheet.js","sourceRoot":"","sources":["../../../../src/components/molecules/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ interface CardIconButtonProps {
|
|
|
4
4
|
iconName: string;
|
|
5
5
|
iconColor: string;
|
|
6
6
|
disabled?: boolean;
|
|
7
|
-
onPress: (
|
|
8
|
-
onLongPress?: (
|
|
7
|
+
onPress: () => void;
|
|
8
|
+
onLongPress?: () => void;
|
|
9
|
+
displayCard?: boolean;
|
|
9
10
|
}
|
|
10
|
-
declare const CardIconButton: ({ style, iconName, iconColor, disabled, onPress, onLongPress, }: CardIconButtonProps) => React.JSX.Element;
|
|
11
|
+
declare const CardIconButton: ({ style, iconName, iconColor, disabled, onPress, onLongPress, displayCard, }: CardIconButtonProps) => React.JSX.Element;
|
|
11
12
|
export default CardIconButton;
|
|
@@ -16,16 +16,17 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
|
-
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
19
|
+
import { StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
20
20
|
import { Card, Icon } from '../../atoms';
|
|
21
21
|
import { useThemeColor } from '../../../theme';
|
|
22
|
-
const CardIconButton = ({ style, iconName, iconColor, disabled = false, onPress
|
|
22
|
+
const CardIconButton = ({ style, iconName, iconColor, disabled = false, onPress, onLongPress, displayCard = true, }) => {
|
|
23
23
|
const Colors = useThemeColor();
|
|
24
24
|
const _iconColor = useMemo(() => (disabled ? Colors.secondaryColor.background : iconColor), [Colors.secondaryColor, disabled, iconColor]);
|
|
25
|
+
const Wrapper = displayCard ? Card : View;
|
|
25
26
|
return (<TouchableOpacity style={[styles.container, style]} disabled={disabled} onLongPress={onLongPress} onPress={onPress} activeOpacity={0.9} testID="cardIconButtonContainer">
|
|
26
|
-
<
|
|
27
|
+
<Wrapper style={displayCard ? styles.cardContainer : undefined}>
|
|
27
28
|
<Icon size={20} name={iconName} color={_iconColor}/>
|
|
28
|
-
</
|
|
29
|
+
</Wrapper>
|
|
29
30
|
</TouchableOpacity>);
|
|
30
31
|
};
|
|
31
32
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardIconButton.js","sourceRoot":"","sources":["../../../../src/components/molecules/CardIconButton/CardIconButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CardIconButton.js","sourceRoot":"","sources":["../../../../src/components/molecules/CardIconButton/CardIconButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAY7C,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,WAAW,EACX,WAAW,GAAG,IAAI,GACE,EAAE,EAAE;IACxB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAC/D,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAC7C,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1C,OAAO,CACL,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACjC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB,MAAM,CAAC,yBAAyB,CAChC;MAAA,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAC7D;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EACpD;MAAA,EAAE,OAAO,CACX;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;KACV;IACD,aAAa,EAAE;QACb,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;KACpB;CACF,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -5,7 +5,7 @@ interface IconInputProps {
|
|
|
5
5
|
inputRef?: Ref<TextInput>;
|
|
6
6
|
value: string;
|
|
7
7
|
onChange: (value: any) => void;
|
|
8
|
-
placeholder
|
|
8
|
+
placeholder?: string;
|
|
9
9
|
readOnly?: boolean;
|
|
10
10
|
required?: boolean;
|
|
11
11
|
secureTextEntry?: boolean;
|
|
@@ -13,7 +13,7 @@ interface IconInputProps {
|
|
|
13
13
|
multiline?: boolean;
|
|
14
14
|
numberOfLines?: number;
|
|
15
15
|
keyboardType?: KeyboardTypeOptions;
|
|
16
|
-
onEndFocus
|
|
16
|
+
onEndFocus?: () => void;
|
|
17
17
|
isFocus?: boolean;
|
|
18
18
|
leftIconsList?: any[];
|
|
19
19
|
rightIconsList?: any[];
|
|
@@ -15,26 +15,26 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useMemo, useState } from 'react';
|
|
18
|
+
import React, { useCallback, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { getCommonStyles } from '../../../utils/commons-styles';
|
|
21
21
|
import { useThemeColor } from '../../../theme';
|
|
22
22
|
import { Input } from '../../atoms';
|
|
23
23
|
import { checkNullString } from '../../../utils/strings';
|
|
24
|
-
const IconInput = ({ style, inputRef, value, onChange, placeholder, readOnly, required = false, secureTextEntry, onSelection
|
|
24
|
+
const IconInput = ({ style, inputRef, value, onChange, placeholder, readOnly, required = false, secureTextEntry, onSelection, multiline, numberOfLines, keyboardType, onEndFocus, isFocus = false, leftIconsList = [], rightIconsList = [], isScannableInput, }) => {
|
|
25
25
|
const Colors = useThemeColor();
|
|
26
26
|
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
27
27
|
const [isFocused, setIsFocused] = useState(false);
|
|
28
28
|
const _required = useMemo(() => required && checkNullString(value), [required, value]);
|
|
29
29
|
const commonStyles = useMemo(() => getCommonStyles(Colors, _required), [Colors, _required]);
|
|
30
|
-
const handleSelection = () => {
|
|
30
|
+
const handleSelection = useCallback(() => {
|
|
31
31
|
setIsFocused(true);
|
|
32
|
-
onSelection();
|
|
33
|
-
};
|
|
34
|
-
const handleEndFocus = () => {
|
|
32
|
+
onSelection?.();
|
|
33
|
+
}, [onSelection]);
|
|
34
|
+
const handleEndFocus = useCallback(() => {
|
|
35
35
|
setIsFocused(false);
|
|
36
|
-
onEndFocus();
|
|
37
|
-
};
|
|
36
|
+
onEndFocus?.();
|
|
37
|
+
}, [onEndFocus]);
|
|
38
38
|
return (<View testID="iconInputContainer" style={[styles.container, isFocused && commonStyles.inputFocused, style]}>
|
|
39
39
|
{leftIconsList.map((iconComponent, index) => React.cloneElement(iconComponent, { key: index }))}
|
|
40
40
|
<Input inputRef={inputRef} style={styles.input} value={value} onChange={onChange} placeholder={placeholder} readOnly={readOnly} secureTextEntry={secureTextEntry} onSelection={handleSelection} multiline={multiline} numberOfLines={numberOfLines} keyboardType={keyboardType} onEndFocus={handleEndFocus} isFocus={isFocus} isScannableInput={isScannableInput}/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/IconInput/IconInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"IconInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/IconInput/IconInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ interface ImageProps {
|
|
|
4
4
|
imageSize?: StyleProp<ImageStyle>;
|
|
5
5
|
generalStyle?: StyleProp<ImageStyle>;
|
|
6
6
|
resizeMode: ImageResizeMode;
|
|
7
|
-
source: ImageSourcePropType;
|
|
7
|
+
source: ImageSourcePropType | undefined;
|
|
8
8
|
defaultIconSize?: number;
|
|
9
9
|
}
|
|
10
10
|
declare const Image: ({ imageSize, generalStyle, resizeMode, source, defaultIconSize, }: ImageProps) => React.JSX.Element;
|
|
@@ -4,6 +4,7 @@ interface UnorderedListProps {
|
|
|
4
4
|
numberOfItems?: number;
|
|
5
5
|
renderItem: (item: any) => any;
|
|
6
6
|
style?: any;
|
|
7
|
+
scrollEnabled?: boolean;
|
|
7
8
|
}
|
|
8
|
-
declare function UnorderedList({ data, numberOfItems, renderItem, style, }: UnorderedListProps): React.JSX.Element;
|
|
9
|
+
declare function UnorderedList({ data, numberOfItems, renderItem, style, scrollEnabled, }: UnorderedListProps): React.JSX.Element;
|
|
9
10
|
export default UnorderedList;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
19
|
import { FlatList, StyleSheet, View } from 'react-native';
|
|
20
20
|
import { Text } from '../../atoms';
|
|
21
|
-
function UnorderedList({ data, numberOfItems, renderItem, style, }) {
|
|
21
|
+
function UnorderedList({ data, numberOfItems, renderItem, style, scrollEnabled, }) {
|
|
22
22
|
const renderData = useMemo(() => {
|
|
23
23
|
if (!numberOfItems || data.length === 0) {
|
|
24
24
|
return data;
|
|
@@ -29,7 +29,7 @@ function UnorderedList({ data, numberOfItems, renderItem, style, }) {
|
|
|
29
29
|
}
|
|
30
30
|
return data.slice(0, numberOfItems);
|
|
31
31
|
}, [numberOfItems, data]);
|
|
32
|
-
return (<FlatList testID="unorderedListFlatList" data={renderData} style={[styles.container, style]} renderItem={({ item }) => (<View style={styles.item} testID="unorderedListItemContainer">
|
|
32
|
+
return (<FlatList nestedScrollEnabled scrollEnabled={scrollEnabled} testID="unorderedListFlatList" data={renderData} style={[styles.container, style]} renderItem={({ item }) => (<View style={styles.item} testID="unorderedListItemContainer">
|
|
33
33
|
<Text style={styles.dot}>{'\u2022 '}</Text>
|
|
34
34
|
{renderItem({ item })}
|
|
35
35
|
</View>)}/>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnorderedList.js","sourceRoot":"","sources":["../../../../src/components/molecules/UnorderedList/UnorderedList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"UnorderedList.js","sourceRoot":"","sources":["../../../../src/components/molecules/UnorderedList/UnorderedList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAUjC,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,aAAa,EACb,UAAU,EACV,KAAK,EACL,aAAa,GACM;IACnB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CACV,uCAAuC,aAAa,aAAa,CAClE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1B,OAAO,CACL,CAAC,QAAQ,CACP,mBAAmB,CACnB,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,MAAM,CAAC,uBAAuB,CAC9B,IAAI,CAAC,CAAC,UAAU,CAAC,CACjB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACjC,UAAU,CAAC,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CACtB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAC3D;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAC1C;UAAA,CAAC,UAAU,CAAC,EAAC,IAAI,EAAC,CAAC,CACrB;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,EACF,CACH,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,YAAY;KACxB;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as Alert } from './Alert/Alert';
|
|
2
2
|
export { default as Badge } from './Badge/Badge';
|
|
3
3
|
export { default as BlockInteractionMessage } from './BlockInteractionMessage/BlockInteractionMessage';
|
|
4
|
+
export { default as BottomSheet } from './BottomSheet/BottomSheet';
|
|
4
5
|
export { default as Breadcrumb } from './Breadcrumb/Breadcrumb';
|
|
5
6
|
export { default as Button } from './Button/Button';
|
|
6
7
|
export { default as CardIconButton } from './CardIconButton/CardIconButton';
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
export { default as Alert } from './Alert/Alert';
|
|
19
19
|
export { default as Badge } from './Badge/Badge';
|
|
20
20
|
export { default as BlockInteractionMessage } from './BlockInteractionMessage/BlockInteractionMessage';
|
|
21
|
+
export { default as BottomSheet } from './BottomSheet/BottomSheet';
|
|
21
22
|
export { default as Breadcrumb } from './Breadcrumb/Breadcrumb';
|
|
22
23
|
export { default as Button } from './Button/Button';
|
|
23
24
|
export { default as CardIconButton } from './CardIconButton/CardIconButton';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/molecules/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/molecules/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Action as ActionCardType } from '../ActionCard/ActionCard';
|
|
3
|
+
interface Action extends ActionCardType {
|
|
4
|
+
closeAfter?: boolean;
|
|
5
|
+
}
|
|
6
|
+
interface ActionSheetProps {
|
|
7
|
+
style?: any;
|
|
8
|
+
visible: boolean;
|
|
9
|
+
title?: string;
|
|
10
|
+
actionList: Action[];
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
}
|
|
13
|
+
declare const ActionSheet: ({ style, visible, title, actionList, onClose, }: ActionSheetProps) => React.JSX.Element;
|
|
14
|
+
export default ActionSheet;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2026 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
20
|
+
import { useThemeColor } from '../../../theme';
|
|
21
|
+
import { Icon, Text } from '../../atoms';
|
|
22
|
+
import { BottomSheet } from '../../molecules';
|
|
23
|
+
const ActionSheet = ({ style, visible = false, title, actionList, onClose, }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
const _actionList = useMemo(() => Array.isArray(actionList)
|
|
26
|
+
? actionList.filter(action => !action.hidden)
|
|
27
|
+
: [], [actionList]);
|
|
28
|
+
const getColor = (action) => {
|
|
29
|
+
if (action.disabled)
|
|
30
|
+
return Colors.secondaryColor.background;
|
|
31
|
+
return action.iconColor ?? Colors.secondaryColor_dark.background;
|
|
32
|
+
};
|
|
33
|
+
const handlePress = (action) => {
|
|
34
|
+
action.onPress();
|
|
35
|
+
if (action.closeAfter !== false)
|
|
36
|
+
onClose?.();
|
|
37
|
+
};
|
|
38
|
+
return (<BottomSheet visible={visible} title={title} onClose={onClose} style={style}>
|
|
39
|
+
<View testID="actionSheetContainer">
|
|
40
|
+
{_actionList.map((action, index) => {
|
|
41
|
+
const color = getColor(action);
|
|
42
|
+
return (<TouchableOpacity key={index} style={styles.row} disabled={action.disabled} onPress={() => handlePress(action)} testID="actionSheetRow">
|
|
43
|
+
<Icon name={action.iconName} color={color} size={20}/>
|
|
44
|
+
<Text fontSize={16} style={styles.label}>
|
|
45
|
+
{action.helper}
|
|
46
|
+
</Text>
|
|
47
|
+
</TouchableOpacity>);
|
|
48
|
+
})}
|
|
49
|
+
</View>
|
|
50
|
+
</BottomSheet>);
|
|
51
|
+
};
|
|
52
|
+
const styles = StyleSheet.create({
|
|
53
|
+
row: {
|
|
54
|
+
flexDirection: 'row',
|
|
55
|
+
alignItems: 'center',
|
|
56
|
+
paddingVertical: 14,
|
|
57
|
+
paddingHorizontal: 20,
|
|
58
|
+
gap: 16,
|
|
59
|
+
},
|
|
60
|
+
label: {
|
|
61
|
+
flex: 1,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export default ActionSheet;
|
|
65
|
+
//# sourceMappingURL=ActionSheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionSheet.js","sourceRoot":"","sources":["../../../../src/components/organisms/ActionSheet/ActionSheet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,9 @@ const CellView = ({ showRight = false, showBottom = false, width, ...props }) =>
|
|
|
25
25
|
[`border${side}Width`]: 1,
|
|
26
26
|
}), [Colors]);
|
|
27
27
|
const borderStyles = useMemo(() => {
|
|
28
|
-
const result = [
|
|
28
|
+
const result = [
|
|
29
|
+
{ width, padding: 5, justifyContent: 'center', alignItems: 'center' },
|
|
30
|
+
];
|
|
29
31
|
if (showRight) {
|
|
30
32
|
result.push(getBorderStyle('Right'));
|
|
31
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellView.js","sourceRoot":"","sources":["../../../../src/components/organisms/GridView/CellView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAY,IAAI,EAAY,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,MAAM,QAAQ,GAAG,CAAC,EAAC,SAAS,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,CAAC,EAAE,CACL,CAAC;QACC,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU;QACxD,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC;KAC1B,CAAyB,EAC5B,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAA2B,
|
|
1
|
+
{"version":3,"file":"CellView.js","sourceRoot":"","sources":["../../../../src/components/organisms/GridView/CellView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAY,IAAI,EAAY,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,MAAM,QAAQ,GAAG,CAAC,EAAC,SAAS,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,cAAc,GAAG,WAAW,CAChC,IAAI,CAAC,EAAE,CACL,CAAC;QACC,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU;QACxD,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC;KAC1B,CAAyB,EAC5B,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAA2B;YACrC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAC;SACpE,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,UAAU,EAAG,CAAC;AACpE,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Column } from './type';
|
|
3
|
+
declare const GridHeader: ({ columns, sortable, sortField, sortOrder, onSortChange, transparent, containerWidth, }: {
|
|
4
|
+
columns: Column[];
|
|
5
|
+
sortable?: boolean;
|
|
6
|
+
sortField?: string;
|
|
7
|
+
sortOrder?: "asc" | "desc";
|
|
8
|
+
onSortChange?: (field: string) => void;
|
|
9
|
+
transparent?: boolean;
|
|
10
|
+
containerWidth?: number;
|
|
11
|
+
}) => React.JSX.Element;
|
|
12
|
+
export default GridHeader;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2026 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
20
|
+
import { Icon, Text } from '../../atoms';
|
|
21
|
+
import CellView from './CellView';
|
|
22
|
+
import { ROW_MIN_HEIGHT } from './type';
|
|
23
|
+
import { computeColumnWidth, computeColumnScale } from './display.helpers';
|
|
24
|
+
const GridHeader = ({ columns, sortable, sortField, sortOrder, onSortChange, transparent = false, containerWidth, }) => {
|
|
25
|
+
const columnWidth = useMemo(() => computeColumnWidth(columns, transparent, containerWidth), [columns, containerWidth, transparent]);
|
|
26
|
+
const scale = useMemo(() => containerWidth != null
|
|
27
|
+
? computeColumnScale(columns, transparent, containerWidth)
|
|
28
|
+
: 1, [columns, containerWidth, transparent]);
|
|
29
|
+
return (<View style={styles.rowContainer} testID="gridViewHeaderContainer">
|
|
30
|
+
{columns.map((_c, idx, self) => (<CellView key={_c.key} showRight={idx < self.length - 1} showBottom width={Math.round((_c.width ?? columnWidth) * scale)}>
|
|
31
|
+
{_c.renderHeader ? (_c.renderHeader()) : (<TouchableOpacity style={styles.sortableHeader} activeOpacity={0.9} disabled={!sortable || _c.sortable === false} onPress={() => onSortChange?.(_c.key)}>
|
|
32
|
+
<Text writingType="title" fontSize={14} numberOfLines={1} style={styles.cellTitle}>
|
|
33
|
+
{_c.title}
|
|
34
|
+
</Text>
|
|
35
|
+
{sortField === _c.key && (<Icon name={sortOrder === 'asc' ? 'arrow-up' : 'arrow-down'} size={12}/>)}
|
|
36
|
+
</TouchableOpacity>)}
|
|
37
|
+
</CellView>))}
|
|
38
|
+
</View>);
|
|
39
|
+
};
|
|
40
|
+
const styles = StyleSheet.create({
|
|
41
|
+
rowContainer: {
|
|
42
|
+
flexDirection: 'row',
|
|
43
|
+
width: '100%',
|
|
44
|
+
minHeight: ROW_MIN_HEIGHT,
|
|
45
|
+
},
|
|
46
|
+
sortableHeader: {
|
|
47
|
+
flexDirection: 'row',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
gap: 4,
|
|
51
|
+
},
|
|
52
|
+
cellTitle: {
|
|
53
|
+
textAlign: 'center',
|
|
54
|
+
flexShrink: 1,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
export default GridHeader;
|
|
58
|
+
//# sourceMappingURL=GridHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridHeader.js","sourceRoot":"","sources":["../../../../src/components/organisms/GridView/GridHeader.tsx"],"names":[],"mappings":"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"}
|