@axelor/aos-mobile-ui 7.0.2 → 7.0.4
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/Icon/Icon.js +4 -6
- package/lib/components/atoms/Icon/Icon.js.map +1 -1
- package/lib/components/atoms/Input/Input.d.ts +5 -2
- package/lib/components/atoms/Input/Input.js +5 -4
- package/lib/components/atoms/Input/Input.js.map +1 -1
- package/lib/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.d.ts +9 -4
- package/lib/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.js +1 -1
- package/lib/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.js.map +1 -1
- package/lib/components/molecules/Checkbox/Checkbox.d.ts +2 -2
- package/lib/components/molecules/Checkbox/Checkbox.js +19 -6
- package/lib/components/molecules/Checkbox/Checkbox.js.map +1 -1
- package/lib/components/molecules/DropdownCard/DropdownCard.d.ts +3 -2
- package/lib/components/molecules/DropdownCard/DropdownCard.js +24 -24
- package/lib/components/molecules/DropdownCard/DropdownCard.js.map +1 -1
- package/lib/components/molecules/FormHtmlInput/FormHtmlInput.js +5 -2
- package/lib/components/molecules/FormHtmlInput/FormHtmlInput.js.map +1 -1
- package/lib/components/molecules/FormIncrementInput/FormIncrementInput.d.ts +12 -3
- package/lib/components/molecules/FormIncrementInput/FormIncrementInput.js +18 -11
- package/lib/components/molecules/FormIncrementInput/FormIncrementInput.js.map +1 -1
- package/lib/components/molecules/FormInput/FormInput.d.ts +6 -1
- package/lib/components/molecules/FormInput/FormInput.js +18 -3
- package/lib/components/molecules/FormInput/FormInput.js.map +1 -1
- package/lib/components/molecules/IconButton/IconButton.d.ts +1 -1
- package/lib/components/molecules/IconInput/IconInput.d.ts +4 -2
- package/lib/components/molecules/IconInput/IconInput.js +2 -2
- package/lib/components/molecules/IconInput/IconInput.js.map +1 -1
- package/lib/components/molecules/Increment/Increment.d.ts +9 -1
- package/lib/components/molecules/Increment/Increment.js +64 -49
- package/lib/components/molecules/Increment/Increment.js.map +1 -1
- package/lib/components/molecules/Increment/IncrementButton.d.ts +10 -0
- package/lib/components/molecules/Increment/IncrementButton.js +56 -0
- package/lib/components/molecules/Increment/IncrementButton.js.map +1 -0
- package/lib/components/molecules/InfoBubble/InfoBubble.d.ts +3 -1
- package/lib/components/molecules/InfoBubble/InfoBubble.js +9 -9
- package/lib/components/molecules/InfoBubble/InfoBubble.js.map +1 -1
- package/lib/components/molecules/Label/Label.d.ts +14 -0
- package/lib/components/molecules/Label/Label.js +100 -0
- package/lib/components/molecules/Label/Label.js.map +1 -0
- package/lib/components/molecules/NotesCard/NotesCard.js +4 -4
- package/lib/components/molecules/NotesCard/NotesCard.js.map +1 -1
- package/lib/components/molecules/NumberBubble/NumberBubble.d.ts +10 -0
- package/lib/components/molecules/NumberBubble/NumberBubble.js +51 -0
- package/lib/components/molecules/NumberBubble/NumberBubble.js.map +1 -0
- package/lib/components/molecules/WarningCard/WarningCard.js +5 -29
- package/lib/components/molecules/WarningCard/WarningCard.js.map +1 -1
- package/lib/components/molecules/index.d.ts +2 -0
- package/lib/components/molecules/index.js +2 -0
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js +22 -4
- package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js.map +1 -1
- package/lib/components/organisms/AutoCompleteSearch/SearchDetailsPopUp.js +6 -11
- package/lib/components/organisms/AutoCompleteSearch/SearchDetailsPopUp.js.map +1 -1
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.js +1 -1
- package/lib/components/organisms/Picker/Picker.js +9 -5
- package/lib/components/organisms/Picker/Picker.js.map +1 -1
- package/lib/components/organisms/ScrollList/ScrollList.d.ts +2 -1
- package/lib/components/organisms/ScrollList/ScrollList.js +2 -2
- package/lib/components/organisms/ScrollList/ScrollList.js.map +1 -1
- package/lib/components/organisms/SearchBar/SearchBar.d.ts +4 -1
- package/lib/components/organisms/SearchBar/SearchBar.js +2 -2
- package/lib/components/organisms/SearchBar/SearchBar.js.map +1 -1
- package/lib/components/templates/ObjectCard/ObjectCard.d.ts +8 -2
- package/lib/components/templates/ObjectCard/ObjectCard.js +20 -2
- package/lib/components/templates/ObjectCard/ObjectCard.js.map +1 -1
- package/lib/components/templates/TabsScreen/IndicatorBadge.d.ts +4 -0
- package/lib/components/templates/TabsScreen/IndicatorBadge.js +47 -0
- package/lib/components/templates/TabsScreen/IndicatorBadge.js.map +1 -0
- package/lib/components/templates/TabsScreen/Tab.d.ts +3 -0
- package/lib/components/templates/TabsScreen/Tab.js +50 -0
- package/lib/components/templates/TabsScreen/Tab.js.map +1 -0
- package/lib/components/templates/TabsScreen/TabsScreen.d.ts +3 -0
- package/lib/components/templates/TabsScreen/TabsScreen.js +169 -0
- package/lib/components/templates/TabsScreen/TabsScreen.js.map +1 -0
- package/lib/components/templates/TabsScreen/tabs.helper.d.ts +32 -0
- package/lib/components/templates/TabsScreen/tabs.helper.js +27 -0
- package/lib/components/templates/TabsScreen/tabs.helper.js.map +1 -0
- package/lib/components/templates/index.d.ts +1 -0
- package/lib/components/templates/index.js +1 -0
- package/lib/components/templates/index.js.map +1 -1
- package/lib/utils/formatters.js +1 -1
- package/lib/utils/formatters.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 from 'react';
|
|
19
|
+
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
20
|
+
import { useThemeColor } from '../../../theme';
|
|
21
|
+
import { Text } from '../../atoms';
|
|
22
|
+
import IndicatorBadge from './IndicatorBadge';
|
|
23
|
+
const Tab = ({ title, onPress, isActive = false, disabled = false, count, showBadge, style, }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
return (<TouchableOpacity activeOpacity={0.95} onPress={onPress} disabled={disabled || isActive} style={[
|
|
26
|
+
tabStyles.container,
|
|
27
|
+
{
|
|
28
|
+
borderColor: isActive
|
|
29
|
+
? Colors.primaryColor.background
|
|
30
|
+
: Colors.backgroundColor,
|
|
31
|
+
backgroundColor: Colors.backgroundColor,
|
|
32
|
+
},
|
|
33
|
+
style,
|
|
34
|
+
]}>
|
|
35
|
+
<Text numberOfLines={1} fontSize={16}>
|
|
36
|
+
{title}
|
|
37
|
+
</Text>
|
|
38
|
+
{showBadge && <IndicatorBadge count={count}/>}
|
|
39
|
+
</TouchableOpacity>);
|
|
40
|
+
};
|
|
41
|
+
const tabStyles = StyleSheet.create({
|
|
42
|
+
container: {
|
|
43
|
+
flexDirection: 'row',
|
|
44
|
+
justifyContent: 'center',
|
|
45
|
+
alignItems: 'center',
|
|
46
|
+
alignContent: 'center',
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
export default Tab;
|
|
50
|
+
//# sourceMappingURL=Tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../src/components/templates/TabsScreen/Tab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,MAAM,GAAG,GAAG,CAAC,EACX,KAAK,EACL,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,SAAS,EACT,KAAK,GACI,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,OAAO,CACL,CAAC,gBAAgB,CACf,aAAa,CAAC,CAAC,IAAI,CAAC,CACpB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAC/B,KAAK,CAAC,CAAC;YACL,SAAS,CAAC,SAAS;YACnB;gBACE,WAAW,EAAE,QAAQ;oBACnB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU;oBAChC,CAAC,CAAC,MAAM,CAAC,eAAe;gBAC1B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;YACD,KAAK;SACN,CAAC,CACF;MAAA,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CACnC;QAAA,CAAC,KAAK,CACR;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAG,CAChD;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,QAAQ;KACvB;CACF,CAAC,CAAC;AAEH,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import { Dimensions, Platform, ScrollView, StyleSheet, View } from 'react-native';
|
|
20
|
+
import SystemNavigationBar from 'react-native-system-navigation-bar';
|
|
21
|
+
import { useThemeColor } from '../../../theme';
|
|
22
|
+
import { TabsPosition, capitalizeFirstLetter, } from './tabs.helper';
|
|
23
|
+
import Tab from './Tab';
|
|
24
|
+
import { useConfig } from '../../../config/ConfigContext';
|
|
25
|
+
import { Icon } from '../../atoms';
|
|
26
|
+
const MIN_TAB_WIDTH = 100;
|
|
27
|
+
const immersiveMode = async () => {
|
|
28
|
+
await SystemNavigationBar.navigationHide();
|
|
29
|
+
};
|
|
30
|
+
const TabsScreen = ({ style, viewStyle, position = Platform.OS === 'ios' ? TabsPosition.Bottom : TabsPosition.Top, tabHeight = 60, items, }) => {
|
|
31
|
+
const Colors = useThemeColor();
|
|
32
|
+
const { showActivityIndicator } = useConfig();
|
|
33
|
+
const [showLeftIcon, setShowLeftIcon] = useState(false);
|
|
34
|
+
const [showRightIcon, setShowRightIcon] = useState(false);
|
|
35
|
+
const [panels, setPanels] = useState(items?.filter(_tab => !_tab.hidden));
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
immersiveMode();
|
|
38
|
+
}, []);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
setPanels(current => {
|
|
41
|
+
const activeTabKey = current.find(_item => _item.isActive)?.key;
|
|
42
|
+
return items
|
|
43
|
+
?.filter(_tab => !_tab.hidden)
|
|
44
|
+
.map(_item => _item.key === activeTabKey
|
|
45
|
+
? { ..._item, isActive: true }
|
|
46
|
+
: { ..._item, isActive: false });
|
|
47
|
+
});
|
|
48
|
+
}, [items]);
|
|
49
|
+
const swicthTab = useCallback((tabKey) => {
|
|
50
|
+
setPanels(_current => {
|
|
51
|
+
return _current.map(item => item.key === tabKey
|
|
52
|
+
? { ...item, isActive: true }
|
|
53
|
+
: { ...item, isActive: false });
|
|
54
|
+
});
|
|
55
|
+
}, []);
|
|
56
|
+
const getTabStyle = useCallback(nbTabs => {
|
|
57
|
+
const tabWidth = Dimensions.get('window').width / nbTabs;
|
|
58
|
+
return {
|
|
59
|
+
[`border${capitalizeFirstLetter(position === TabsPosition.Top
|
|
60
|
+
? TabsPosition.Bottom
|
|
61
|
+
: TabsPosition.Top)}Width`]: 3,
|
|
62
|
+
height: tabHeight,
|
|
63
|
+
width: tabWidth < MIN_TAB_WIDTH ? MIN_TAB_WIDTH : tabWidth,
|
|
64
|
+
minWidth: 100,
|
|
65
|
+
};
|
|
66
|
+
}, [position, tabHeight]);
|
|
67
|
+
const tabsScroll = useMemo(() => {
|
|
68
|
+
const getIconStyle = side => [
|
|
69
|
+
styles.icon,
|
|
70
|
+
{ top: tabHeight / 3, [side]: 15 },
|
|
71
|
+
];
|
|
72
|
+
const tabsLength = panels.length;
|
|
73
|
+
return (<View style={[
|
|
74
|
+
{ height: tabHeight, backgroundColor: Colors.backgroundColor },
|
|
75
|
+
styles.scroll,
|
|
76
|
+
]}>
|
|
77
|
+
{showLeftIcon && (<Icon name="angle-left" style={getIconStyle('left')}/>)}
|
|
78
|
+
<ScrollView horizontal={true} onContentSizeChange={width => {
|
|
79
|
+
if (parseInt(width.toString(), 10) < Dimensions.get('window').width) {
|
|
80
|
+
setShowRightIcon(false);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
setShowRightIcon(true);
|
|
84
|
+
}
|
|
85
|
+
}} onScroll={({ nativeEvent }) => {
|
|
86
|
+
const { contentOffset, layoutMeasurement, contentSize } = nativeEvent;
|
|
87
|
+
if (contentSize.width <= Dimensions.get('window').width) {
|
|
88
|
+
setShowRightIcon(false);
|
|
89
|
+
setShowLeftIcon(false);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
if (contentOffset.x >
|
|
93
|
+
contentSize.width * 0.9 - layoutMeasurement.width) {
|
|
94
|
+
setShowRightIcon(false);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
setShowRightIcon(true);
|
|
98
|
+
}
|
|
99
|
+
if (contentOffset.x < contentSize.width * 0.1) {
|
|
100
|
+
setShowLeftIcon(false);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
setShowLeftIcon(true);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}}>
|
|
107
|
+
{panels?.map(_item => (<Tab key={_item.key} title={_item.title} isActive={_item.isActive} disabled={_item.disabled} count={_item.count} showBadge={_item.showBadge} onPress={() => swicthTab(_item.key)} style={getTabStyle(tabsLength)}/>))}
|
|
108
|
+
</ScrollView>
|
|
109
|
+
{showRightIcon && (<Icon name="angle-right" style={getIconStyle('right')}/>)}
|
|
110
|
+
</View>);
|
|
111
|
+
}, [
|
|
112
|
+
Colors,
|
|
113
|
+
getTabStyle,
|
|
114
|
+
panels,
|
|
115
|
+
showLeftIcon,
|
|
116
|
+
showRightIcon,
|
|
117
|
+
swicthTab,
|
|
118
|
+
tabHeight,
|
|
119
|
+
]);
|
|
120
|
+
const activeView = useMemo(() => {
|
|
121
|
+
if (!Array.isArray(panels) || panels.length === 0) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const activeTab = panels.filter(item => item.isActive)?.[0];
|
|
125
|
+
if (activeTab == null) {
|
|
126
|
+
swicthTab(panels[0].key);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
return activeTab.view;
|
|
130
|
+
}, [panels, swicthTab]);
|
|
131
|
+
if (!Array.isArray(panels) || panels.length === 0) {
|
|
132
|
+
return <View />;
|
|
133
|
+
}
|
|
134
|
+
return (<View pointerEvents={showActivityIndicator === true ? 'none' : 'auto'} style={[
|
|
135
|
+
styles.container,
|
|
136
|
+
{
|
|
137
|
+
backgroundColor: Colors.screenBackgroundColor,
|
|
138
|
+
},
|
|
139
|
+
style,
|
|
140
|
+
]}>
|
|
141
|
+
{position === TabsPosition.Top ? tabsScroll : null}
|
|
142
|
+
<View style={[styles.view, viewStyle]}>{activeView}</View>
|
|
143
|
+
{position === TabsPosition.Bottom ? tabsScroll : null}
|
|
144
|
+
</View>);
|
|
145
|
+
};
|
|
146
|
+
const styles = StyleSheet.create({
|
|
147
|
+
container: {
|
|
148
|
+
height: '98%',
|
|
149
|
+
width: Dimensions.get('window').width,
|
|
150
|
+
},
|
|
151
|
+
scroll: {
|
|
152
|
+
flexDirection: 'row',
|
|
153
|
+
},
|
|
154
|
+
icon: {
|
|
155
|
+
position: 'absolute',
|
|
156
|
+
zIndex: 15,
|
|
157
|
+
},
|
|
158
|
+
leftIcon: {
|
|
159
|
+
left: 20,
|
|
160
|
+
},
|
|
161
|
+
rightIcon: {
|
|
162
|
+
right: 10,
|
|
163
|
+
},
|
|
164
|
+
view: {
|
|
165
|
+
height: '95%',
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
export default TabsScreen;
|
|
169
|
+
//# sourceMappingURL=TabsScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsScreen.js","sourceRoot":"","sources":["../../../../src/components/templates/TabsScreen/TabsScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvE,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAChF,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAEjC,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,mBAAmB,CAAC,cAAc,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,SAAS,EACT,QAAQ,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EACzE,SAAS,GAAG,EAAE,EACd,KAAK,GACW,EAAE,EAAE;IACpB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,EAAC,qBAAqB,EAAC,GAAG,SAAS,EAAE,CAAC;IAE5C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1E,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,CAAC,EAAE;YAClB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;YAEhE,OAAO,KAAK;gBACV,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;iBAC7B,GAAG,CAAC,KAAK,CAAC,EAAE,CACX,KAAK,CAAC,GAAG,KAAK,YAAY;gBACxB,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC;gBAC5B,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,CAChC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QAC/C,SAAS,CAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzB,IAAI,CAAC,GAAG,KAAK,MAAM;gBACjB,CAAC,CAAC,EAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC;gBAC3B,CAAC,CAAC,EAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAC7B,MAAM,CAAC,EAAE;QACP,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;QACzD,OAAO;YACL,CAAC,SAAS,qBAAqB,CAC7B,QAAQ,KAAK,YAAY,CAAC,GAAG;gBAC3B,CAAC,CAAC,YAAY,CAAC,MAAM;gBACrB,CAAC,CAAC,YAAY,CAAC,GAAG,CACrB,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ;YAC1D,QAAQ,EAAE,GAAG;SACd,CAAC;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI;YACX,EAAC,GAAG,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC;SACjC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;QAEjC,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;gBACL,EAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAC;gBAC5D,MAAM,CAAC,MAAM;aACd,CAAC,CACF;QAAA,CAAC,YAAY,IAAI,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAG,CACxD,CACD;QAAA,CAAC,UAAU,CACT,UAAU,CAAC,CAAC,IAAI,CAAC,CACjB,mBAAmB,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC3B,IACE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAC/D;oBACA,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBACzB;qBAAM;oBACL,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CACF,QAAQ,CAAC,CAAC,CAAC,EAAC,WAAW,EAAC,EAAE,EAAE;gBAC1B,MAAM,EAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAC,GAAG,WAAW,CAAC;gBACpE,IAAI,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE;oBACvD,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;iBACxB;qBAAM;oBACL,IACE,aAAa,CAAC,CAAC;wBACf,WAAW,CAAC,KAAK,GAAG,GAAG,GAAG,iBAAiB,CAAC,KAAK,EACjD;wBACA,gBAAgB,CAAC,KAAK,CAAC,CAAC;qBACzB;yBAAM;wBACL,gBAAgB,CAAC,IAAI,CAAC,CAAC;qBACxB;oBAED,IAAI,aAAa,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE;wBAC7C,eAAe,CAAC,KAAK,CAAC,CAAC;qBACxB;yBAAM;wBACL,eAAe,CAAC,IAAI,CAAC,CAAC;qBACvB;iBACF;YACH,CAAC,CAAC,CACF;UAAA,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACpB,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzB,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACzB,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,SAAS,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC3B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACpC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAC/B,CACH,CAAC,CACJ;QAAA,EAAE,UAAU,CACZ;QAAA,CAAC,aAAa,IAAI,CAChB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAG,CAC1D,CACH;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACJ,CAAC,EAAE;QACD,MAAM;QACN,WAAW;QACX,MAAM;QACN,YAAY;QACZ,aAAa;QACb,SAAS;QACT,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACjD,OAAO;SACR;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;SACR;QAED,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,CAAC,IAAI,CAAC,AAAD,EAAG,CAAC;KACjB;IAED,OAAO,CACL,CAAC,IAAI,CACH,aAAa,CAAC,CAAC,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAChE,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,SAAS;YAChB;gBACE,eAAe,EAAE,MAAM,CAAC,qBAAqB;aAC9C;YACD,KAAK;SACN,CAAC,CACF;MAAA,CAAC,QAAQ,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClD;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CACzD;MAAA,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CACvD;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;KACtC;IACD,MAAM,EAAE;QACN,aAAa,EAAE,KAAK;KACrB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,EAAE;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;KACT;IACD,SAAS,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,KAAK;KACd;CACF,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface Tab {
|
|
2
|
+
key: number;
|
|
3
|
+
title: string;
|
|
4
|
+
view?: JSX.Element;
|
|
5
|
+
hidden?: boolean;
|
|
6
|
+
isActive?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
count?: number;
|
|
9
|
+
showBadge?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface TabProps {
|
|
12
|
+
style?: any;
|
|
13
|
+
title: string;
|
|
14
|
+
onPress: () => void;
|
|
15
|
+
isActive?: boolean;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
count?: number;
|
|
18
|
+
showBadge?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface TabsScreenProps {
|
|
21
|
+
style?: any;
|
|
22
|
+
viewStyle?: any;
|
|
23
|
+
position?: TabsPosition;
|
|
24
|
+
tabHeight?: number;
|
|
25
|
+
items?: Tab[];
|
|
26
|
+
}
|
|
27
|
+
export declare enum TabsPosition {
|
|
28
|
+
Bottom = "bottom",
|
|
29
|
+
Top = "top"
|
|
30
|
+
}
|
|
31
|
+
export declare const BADGE_SIZE = 27;
|
|
32
|
+
export declare const capitalizeFirstLetter: (string: string) => string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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
|
+
export var TabsPosition;
|
|
19
|
+
(function (TabsPosition) {
|
|
20
|
+
TabsPosition["Bottom"] = "bottom";
|
|
21
|
+
TabsPosition["Top"] = "top";
|
|
22
|
+
})(TabsPosition || (TabsPosition = {}));
|
|
23
|
+
export const BADGE_SIZE = 27;
|
|
24
|
+
export const capitalizeFirstLetter = (string) => {
|
|
25
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=tabs.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.helper.js","sourceRoot":"","sources":["../../../../src/components/templates/TabsScreen/tabs.helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA+BH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,2BAAW,CAAA;AACb,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/templates/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/templates/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,yBAAyB,CAAC"}
|
package/lib/utils/formatters.js
CHANGED
|
@@ -43,7 +43,7 @@ export function formatNumber(number, decimalSpacer = '.', thousandSpacer = ' ')
|
|
|
43
43
|
: integerPart[i] + result;
|
|
44
44
|
counter++;
|
|
45
45
|
}
|
|
46
|
-
return `${result}${decimalSpacer}${decimalPart
|
|
46
|
+
return decimalPart ? `${result}${decimalSpacer}${decimalPart}` : result;
|
|
47
47
|
}
|
|
48
48
|
export function unformatNumber(number, decimalSpacer = '.', thousandSpacer = ' ') {
|
|
49
49
|
if (checkNullString(number)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAEtD,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc;IAC1D,4FAA4F;IAC5F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,gBAAwB,GAAG,EAC3B,iBAAyB,GAAG;IAE5B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,IAAI,aAAa,IAAI,CAAC;KAC9B;IAED,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM;YACJ,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,MAAM;gBAC1C,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;KACX;IAED,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAEtD,MAAM,UAAU,UAAU,CAAC,SAAiB,EAAE,MAAc;IAC1D,4FAA4F;IAC5F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEhC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE/D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,gBAAwB,GAAG,EAC3B,iBAAyB,GAAG;IAE5B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,IAAI,aAAa,IAAI,CAAC;KAC9B;IAED,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM;YACJ,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC;gBAChC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,MAAM;gBAC1C,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;KACX;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,gBAAwB,GAAG,EAC3B,iBAAyB,GAAG;IAE5B,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,IAAI,aAAa,IAAI,CAAC;KAC9B;IAED,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,MAAM,iBAAiB,GAAG,GAAG,CAAC;IAE9B,OAAO,MAAM;SACV,UAAU,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC9C,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAC/C,CAAC"}
|