@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
|
@@ -16,7 +16,7 @@
|
|
|
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
|
|
19
|
+
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
20
20
|
import Icon5 from 'react-native-vector-icons/FontAwesome5';
|
|
21
21
|
import Icon4 from 'react-native-vector-icons/FontAwesome';
|
|
22
22
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
@@ -28,11 +28,9 @@ const Icon = ({ style, name, FontAwesome5 = true, color, size = 18, touchable =
|
|
|
28
28
|
if (!visible) {
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
|
-
return (<
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
</TouchableOpacity>
|
|
35
|
-
</View>);
|
|
31
|
+
return (<TouchableOpacity style={[styles.container, style]} onPress={onPress} disabled={!touchable || disabled}>
|
|
32
|
+
{FontAwesome5 ? (<Icon5 name={name} style={styles.icon}/>) : (<Icon4 name={name} style={styles.icon}/>)}
|
|
33
|
+
</TouchableOpacity>);
|
|
36
34
|
};
|
|
37
35
|
const getStyles = (Colors, color, disabled, size) => StyleSheet.create({
|
|
38
36
|
icon: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/atoms/Icon/Icon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/atoms/Icon/Icon.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;AAC1D,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,KAAK,MAAM,uCAAuC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAc1D,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,IAAI,EACJ,YAAY,GAAG,IAAI,EACnB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,IAAI,EACd,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,QAAQ,GAAG,KAAK,GACN,EAAE,EAAE;IACd,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,OAAO,SAAS,CACd,MAAM,EACN,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAC7D,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAC5B,IAAI,CACL,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACjC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,CACjC;MAAA,CAAC,YAAY,CAAC,CAAC,CAAC,CACd,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAG,CAC1C,CAAC,CAAC,CAAC,CACF,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAG,CAC1C,CACH;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAClD,UAAU,CAAC,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK;QAChE,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAEL,eAAe,IAAI,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LegacyRef } from 'react';
|
|
2
|
+
import { KeyboardTypeOptions, NativeSyntheticEvent, TextInput, TextInputContentSizeChangeEventData } from 'react-native';
|
|
2
3
|
interface InputProps {
|
|
3
4
|
style?: any;
|
|
5
|
+
inputRef?: LegacyRef<TextInput>;
|
|
4
6
|
value: string;
|
|
5
7
|
onChange: (any: any) => void;
|
|
6
8
|
placeholder?: string;
|
|
@@ -13,6 +15,7 @@ interface InputProps {
|
|
|
13
15
|
onEndFocus?: () => void;
|
|
14
16
|
isFocus?: boolean;
|
|
15
17
|
writingType?: 'title' | 'subtitle' | 'important' | 'details' | undefined;
|
|
18
|
+
onContentSizeChange?: (e: NativeSyntheticEvent<TextInputContentSizeChangeEventData>) => void;
|
|
16
19
|
}
|
|
17
|
-
declare const Input: ({ style, value, onChange, placeholder, secureTextEntry, readOnly, onSelection, multiline, numberOfLines, keyboardType, onEndFocus, isFocus, writingType, }: InputProps) => JSX.Element;
|
|
20
|
+
declare const Input: ({ style, inputRef, value, onChange, placeholder, secureTextEntry, readOnly, onSelection, multiline, numberOfLines, keyboardType, onEndFocus, isFocus, writingType, onContentSizeChange, }: InputProps) => JSX.Element;
|
|
18
21
|
export default Input;
|
|
@@ -16,11 +16,11 @@
|
|
|
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 { TextInput } from 'react-native';
|
|
19
|
+
import { TextInput, } from 'react-native';
|
|
20
20
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
21
21
|
import { useWritingType } from '../../../theme/writingTheme';
|
|
22
22
|
import { useConfig } from '../../../config/ConfigContext';
|
|
23
|
-
const Input = ({ style, value, onChange, placeholder, secureTextEntry = false, readOnly = false, onSelection, multiline = false, numberOfLines = 1, keyboardType, onEndFocus = () => { }, isFocus = false, writingType, }) => {
|
|
23
|
+
const Input = ({ style, inputRef, value, onChange, placeholder, secureTextEntry = false, readOnly = false, onSelection, multiline = false, numberOfLines = 1, keyboardType, onEndFocus = () => { }, isFocus = false, writingType, onContentSizeChange, }) => {
|
|
24
24
|
const Colors = useThemeColor();
|
|
25
25
|
const { hideVirtualKeyboard } = useConfig();
|
|
26
26
|
const writingStyle = useWritingType(writingType);
|
|
@@ -29,9 +29,10 @@ const Input = ({ style, value, onChange, placeholder, secureTextEntry = false, r
|
|
|
29
29
|
...writingStyle,
|
|
30
30
|
color: Colors.text,
|
|
31
31
|
fontSize: 15,
|
|
32
|
+
textAlignVertical: multiline ? 'top' : 'center',
|
|
32
33
|
};
|
|
33
|
-
}, [Colors.text, writingStyle]);
|
|
34
|
-
return (<TextInput style={[defaultStyle, style]} value={value} onChangeText={onChange} placeholder={placeholder} secureTextEntry={secureTextEntry} autoCapitalize="none" editable={!readOnly} onFocus={onSelection} placeholderTextColor={Colors.placeholderTextColor} keyboardType={keyboardType} multiline={multiline} numberOfLines={numberOfLines} onBlur={onEndFocus} showSoftInputOnFocus={hideVirtualKeyboard ? false : true} autoFocus={isFocus}/>);
|
|
34
|
+
}, [Colors.text, multiline, writingStyle]);
|
|
35
|
+
return (<TextInput ref={inputRef} style={[defaultStyle, style]} value={value} onChangeText={onChange} placeholder={placeholder} secureTextEntry={secureTextEntry} autoCapitalize="none" editable={!readOnly} onFocus={onSelection} placeholderTextColor={Colors.placeholderTextColor} keyboardType={keyboardType} multiline={multiline} numberOfLines={numberOfLines} onBlur={onEndFocus} showSoftInputOnFocus={hideVirtualKeyboard ? false : true} autoFocus={isFocus} onContentSizeChange={onContentSizeChange}/>);
|
|
35
36
|
};
|
|
36
37
|
export default Input;
|
|
37
38
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/atoms/Input/Input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/components/atoms/Input/Input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,OAAO,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,EAGL,SAAS,GAGV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AAsBxD,MAAM,KAAK,GAAG,CAAC,EACb,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,QAAQ,GAAG,KAAK,EAChB,WAAW,EACX,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,CAAC,EACjB,YAAY,EACZ,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,EACrB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,mBAAmB,GACR,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAC,mBAAmB,EAAC,GAAG,SAAS,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,YAAY,GAAc,OAAO,CAAC,GAAG,EAAE;QAC3C,OAAO;YACL,GAAG,YAAY;YACf,KAAK,EAAE,MAAM,CAAC,IAAI;YAClB,QAAQ,EAAE,EAAE;YACZ,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;SAChD,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3C,OAAO,CACL,CAAC,SAAS,CACR,GAAG,CAAC,CAAC,QAAQ,CAAC,CACd,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAC7B,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,YAAY,CAAC,CAAC,QAAQ,CAAC,CACvB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,cAAc,CAAC,MAAM,CACrB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CACpB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,oBAAoB,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAClD,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,aAAa,CAAC,CAAC,aAAa,CAAC,CAC7B,MAAM,CAAC,CAAC,UAAU,CAAC,CACnB,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CACzD,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,EACzC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface Offset {
|
|
3
|
+
ios: number;
|
|
4
|
+
android: number;
|
|
5
|
+
}
|
|
1
6
|
declare const KeyboardAvoidingScrollView: ({ globalStyle, style, children, keyboardOffset, }: {
|
|
2
|
-
globalStyle
|
|
3
|
-
style
|
|
4
|
-
children:
|
|
5
|
-
keyboardOffset?:
|
|
7
|
+
globalStyle?: any;
|
|
8
|
+
style?: any;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
keyboardOffset?: Offset;
|
|
6
11
|
}) => JSX.Element;
|
|
7
12
|
export default KeyboardAvoidingScrollView;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
19
|
import { KeyboardAvoidingView, Platform, ScrollView, StyleSheet, } from 'react-native';
|
|
20
20
|
const DEFAULT_OFFSET = { ios: 70, android: 180 };
|
|
21
|
-
const KeyboardAvoidingScrollView = ({ globalStyle, style, children, keyboardOffset =
|
|
21
|
+
const KeyboardAvoidingScrollView = ({ globalStyle, style, children, keyboardOffset = DEFAULT_OFFSET, }) => {
|
|
22
22
|
const keyboardVerticalOffset = useMemo(() => {
|
|
23
23
|
return { ...DEFAULT_OFFSET, ...keyboardOffset };
|
|
24
24
|
}, [keyboardOffset]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardAvoidingScrollView.js","sourceRoot":"","sources":["../../../../src/components/atoms/KeyboardAvoidingScrollView/KeyboardAvoidingScrollView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,
|
|
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,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,MAAM,cAAc,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC;AAO/C,MAAM,0BAA0B,GAAG,CAAC,EAClC,WAAW,EACX,KAAK,EACL,QAAQ,EACR,cAAc,GAAG,cAAc,GAMhC,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,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,OAAO,CACpC,CACD;MAAA,CAAC,UAAU,CACT,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,yBAAyB,CAAC,QAAQ,CAClC,qBAAqB,CAAC,CAAC;YACrB,MAAM,CAAC,aAAa;YACpB,eAAe,CAAC,EAAE,CAAC;YACnB,KAAK;SACN,CAAC,CACF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,oBAAoB,CAAC,CACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAC9B,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;IACD,aAAa,EAAE;QACb,MAAM,EAAE,IAAI;KACb;CACF,CAAC,CAAC;AAEH,eAAe,0BAA0B,CAAC"}
|
|
@@ -3,8 +3,8 @@ interface CheckboxProps {
|
|
|
3
3
|
styleTxt?: any;
|
|
4
4
|
iconSize?: number;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
-
title
|
|
7
|
-
isDefaultChecked
|
|
6
|
+
title?: string;
|
|
7
|
+
isDefaultChecked?: boolean;
|
|
8
8
|
onChange: (any: any) => void;
|
|
9
9
|
}
|
|
10
10
|
declare const Checkbox: ({ style, styleTxt, iconSize, disabled, title, isDefaultChecked, onChange, }: CheckboxProps) => JSX.Element;
|
|
@@ -15,10 +15,11 @@
|
|
|
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, { useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
21
21
|
import { Icon, Text } from '../../atoms';
|
|
22
|
+
import { checkNullString } from '../../../utils/strings';
|
|
22
23
|
const Checkbox = ({ style, styleTxt, iconSize = 30, disabled = false, title, isDefaultChecked = false, onChange, }) => {
|
|
23
24
|
const Colors = useThemeColor();
|
|
24
25
|
const [isChecked, setIsChecked] = useState(isDefaultChecked);
|
|
@@ -27,21 +28,33 @@ const Checkbox = ({ style, styleTxt, iconSize = 30, disabled = false, title, isD
|
|
|
27
28
|
onChange(!isChecked);
|
|
28
29
|
setIsChecked(!isChecked);
|
|
29
30
|
};
|
|
31
|
+
const styles = useMemo(() => getStyles(iconSize), [iconSize]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
setIsChecked(isDefaultChecked);
|
|
34
|
+
}, [isDefaultChecked]);
|
|
30
35
|
return (<View style={[styles.container, style]}>
|
|
31
|
-
<
|
|
36
|
+
<View style={styles.iconContainer}>
|
|
37
|
+
<Icon name={iconName} FontAwesome5={false} color={disabled
|
|
32
38
|
? Colors.secondaryColor.background
|
|
33
39
|
: Colors.primaryColor.background} size={iconSize} touchable={!disabled} onPress={handleToggle}/>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
</View>
|
|
41
|
+
{!checkNullString(title) && (<Text style={[styles.title, styleTxt]} textColor={Colors.text} fontSize={14}>
|
|
42
|
+
{title}
|
|
43
|
+
</Text>)}
|
|
37
44
|
</View>);
|
|
38
45
|
};
|
|
39
|
-
const
|
|
46
|
+
const getStyles = iconSize => StyleSheet.create({
|
|
40
47
|
container: {
|
|
41
48
|
flexDirection: 'row',
|
|
42
49
|
justifyContent: 'flex-start',
|
|
43
50
|
alignItems: 'center',
|
|
44
51
|
},
|
|
52
|
+
iconContainer: {
|
|
53
|
+
width: iconSize,
|
|
54
|
+
height: iconSize,
|
|
55
|
+
justifyContent: 'center',
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
},
|
|
45
58
|
title: {
|
|
46
59
|
fontSize: 16,
|
|
47
60
|
marginLeft: 5,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/molecules/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../src/components/molecules/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ interface DropdownCardProps {
|
|
|
3
3
|
styleText?: any;
|
|
4
4
|
title: string;
|
|
5
5
|
children: any;
|
|
6
|
-
|
|
6
|
+
dropdownIsOpen?: boolean;
|
|
7
7
|
onPress?: () => void;
|
|
8
|
+
showIcon?: boolean;
|
|
8
9
|
}
|
|
9
|
-
declare const DropdownCard: ({ style, styleText, title,
|
|
10
|
+
declare const DropdownCard: ({ style, styleText, title, dropdownIsOpen, children, onPress, showIcon, }: DropdownCardProps) => JSX.Element;
|
|
10
11
|
export default DropdownCard;
|
|
@@ -20,27 +20,32 @@ import { Dimensions, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
|
20
20
|
import { animationUtil } from '../../../tools/AnimationUtil';
|
|
21
21
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
22
22
|
import { Card, Icon, Text } from '../../atoms';
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
import { getCommonStyles } from '../../../utils';
|
|
24
|
+
const DropdownCard = ({ style, styleText, title, dropdownIsOpen = false, children, onPress, showIcon = true, }) => {
|
|
25
|
+
const [isOpen, setIsOpen] = useState(dropdownIsOpen);
|
|
25
26
|
const Colors = useThemeColor();
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
}, [Colors]);
|
|
27
|
+
const commonStyles = useMemo(() => getCommonStyles(Colors), [Colors]);
|
|
28
|
+
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
29
29
|
const displayCard = useMemo(() => {
|
|
30
|
-
return onPress ?
|
|
31
|
-
}, [
|
|
30
|
+
return onPress ? dropdownIsOpen : isOpen;
|
|
31
|
+
}, [dropdownIsOpen, isOpen, onPress]);
|
|
32
32
|
const handleCardPress = () => {
|
|
33
33
|
animationUtil.animateNext();
|
|
34
34
|
onPress ? onPress() : setIsOpen(!isOpen);
|
|
35
35
|
};
|
|
36
36
|
return (<View style={styles.container}>
|
|
37
|
-
<TouchableOpacity style={styles.touchable} onPress={handleCardPress} activeOpacity={0.95}>
|
|
38
|
-
<
|
|
37
|
+
<TouchableOpacity style={styles.touchable} onPress={handleCardPress} disabled={!showIcon} activeOpacity={0.95}>
|
|
38
|
+
<View style={[
|
|
39
|
+
commonStyles.filter,
|
|
40
|
+
commonStyles.filterAlign,
|
|
41
|
+
styles.content,
|
|
42
|
+
style,
|
|
43
|
+
]}>
|
|
39
44
|
<Text style={styleText} numberOfLines={1}>
|
|
40
45
|
{title}
|
|
41
46
|
</Text>
|
|
42
|
-
<Icon name={displayCard ? 'chevron-up' : 'chevron-down'} color={Colors.primaryColor.background}/>
|
|
43
|
-
</
|
|
47
|
+
{showIcon && (<Icon name={displayCard ? 'chevron-up' : 'chevron-down'} color={Colors.primaryColor.background}/>)}
|
|
48
|
+
</View>
|
|
44
49
|
</TouchableOpacity>
|
|
45
50
|
{displayCard && <Card style={styles.containerChildren}>{children}</Card>}
|
|
46
51
|
</View>);
|
|
@@ -50,23 +55,17 @@ const getStyles = Colors => StyleSheet.create({
|
|
|
50
55
|
flexDirection: 'column',
|
|
51
56
|
justifyContent: 'center',
|
|
52
57
|
alignItems: 'center',
|
|
53
|
-
width:
|
|
58
|
+
width: '90%',
|
|
54
59
|
},
|
|
55
60
|
touchable: {
|
|
56
|
-
zIndex:
|
|
61
|
+
zIndex: 31,
|
|
57
62
|
},
|
|
58
|
-
|
|
59
|
-
width: Dimensions.get('window').width * 0.
|
|
63
|
+
content: {
|
|
64
|
+
width: Dimensions.get('window').width * 0.92,
|
|
65
|
+
borderColor: Colors.secondaryColor.background,
|
|
66
|
+
borderWidth: 1,
|
|
67
|
+
marginHorizontal: 0,
|
|
60
68
|
height: 40,
|
|
61
|
-
flexDirection: 'row',
|
|
62
|
-
justifyContent: 'space-between',
|
|
63
|
-
alignItems: 'center',
|
|
64
|
-
paddingVertical: 5,
|
|
65
|
-
marginVertical: 4,
|
|
66
|
-
marginRight: 16,
|
|
67
|
-
marginLeft: 18,
|
|
68
|
-
paddingRight: 50,
|
|
69
|
-
paddingLeft: 10,
|
|
70
69
|
},
|
|
71
70
|
containerChildren: {
|
|
72
71
|
backgroundColor: Colors.backgroundColor,
|
|
@@ -78,6 +77,7 @@ const getStyles = Colors => StyleSheet.create({
|
|
|
78
77
|
marginTop: -20,
|
|
79
78
|
borderTopLeftRadius: 0,
|
|
80
79
|
borderTopRightRadius: 0,
|
|
80
|
+
zIndex: 30,
|
|
81
81
|
},
|
|
82
82
|
});
|
|
83
83
|
export default DropdownCard;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownCard.js","sourceRoot":"","sources":["../../../../src/components/molecules/DropdownCard/DropdownCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownCard.js","sourceRoot":"","sources":["../../../../src/components/molecules/DropdownCard/DropdownCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
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, { useCallback, useMemo, useState } from 'react';
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { HtmlInput, Text } from '../../atoms';
|
|
21
21
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
@@ -25,6 +25,9 @@ const FormHtmlInput = ({ title, placeholder = '', defaultValue = null, readonly
|
|
|
25
25
|
const [value, setValue] = useState(defaultValue);
|
|
26
26
|
const [isFocused, setIsFocused] = useState(false);
|
|
27
27
|
const _required = useMemo(() => required && (value == null || value === ''), [required, value]);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
setValue(defaultValue);
|
|
30
|
+
}, [defaultValue]);
|
|
28
31
|
const onValueChange = useCallback(_value => {
|
|
29
32
|
setValue(_value);
|
|
30
33
|
onChange(_value);
|
|
@@ -50,7 +53,7 @@ const FormHtmlInput = ({ title, placeholder = '', defaultValue = null, readonly
|
|
|
50
53
|
};
|
|
51
54
|
const getStyles = (Colors, _required) => StyleSheet.create({
|
|
52
55
|
content: {
|
|
53
|
-
width: '
|
|
56
|
+
width: '100%',
|
|
54
57
|
borderColor: _required
|
|
55
58
|
? Colors.errorColor.background
|
|
56
59
|
: Colors.secondaryColor.background,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormHtmlInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormHtmlInput/FormHtmlInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FormHtmlInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormHtmlInput/FormHtmlInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
+
import { KeyboardTypeOptions } from 'react-native';
|
|
1
2
|
interface FormIncrementInputProps {
|
|
2
3
|
style?: any;
|
|
3
4
|
title: string;
|
|
4
5
|
readOnly?: boolean;
|
|
6
|
+
required?: boolean;
|
|
5
7
|
defaultValue?: string;
|
|
6
8
|
onChange: (value: any) => void;
|
|
7
|
-
decimalSpacer
|
|
8
|
-
thousandSpacer
|
|
9
|
+
decimalSpacer?: string;
|
|
10
|
+
thousandSpacer?: string;
|
|
11
|
+
defaultFormatting?: boolean;
|
|
12
|
+
stepSize?: number;
|
|
13
|
+
minValue?: number;
|
|
14
|
+
maxValue?: number;
|
|
15
|
+
isBigButton?: boolean;
|
|
16
|
+
keyboardType?: KeyboardTypeOptions;
|
|
17
|
+
scale?: number;
|
|
9
18
|
}
|
|
10
|
-
declare const FormIncrementInput: ({ style, title, readOnly, defaultValue, decimalSpacer, thousandSpacer, onChange, }: FormIncrementInputProps) => JSX.Element;
|
|
19
|
+
declare const FormIncrementInput: ({ style, title, readOnly, required, defaultValue, decimalSpacer, thousandSpacer, onChange, defaultFormatting, stepSize, minValue, maxValue, isBigButton, keyboardType, scale, }: FormIncrementInputProps) => JSX.Element;
|
|
11
20
|
export default FormIncrementInput;
|
|
@@ -17,37 +17,41 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import React, { useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
|
-
import { useThemeColor } from '../../../theme
|
|
20
|
+
import { useThemeColor } from '../../../theme';
|
|
21
21
|
import { Text } from '../../atoms';
|
|
22
22
|
import { getCommonStyles } from '../../../utils/commons-styles';
|
|
23
23
|
import Increment from '../Increment/Increment';
|
|
24
|
-
const FormIncrementInput = ({ style, title, readOnly = false, defaultValue = null, decimalSpacer, thousandSpacer, onChange, }) => {
|
|
24
|
+
const FormIncrementInput = ({ style, title, readOnly = false, required = false, defaultValue = null, decimalSpacer, thousandSpacer, onChange, defaultFormatting = true, stepSize = 1, minValue = 0, maxValue = null, isBigButton = false, keyboardType, scale, }) => {
|
|
25
25
|
const Colors = useThemeColor();
|
|
26
26
|
const [isFocused, setIsFocused] = useState(false);
|
|
27
|
-
const
|
|
28
|
-
const
|
|
27
|
+
const _required = useMemo(() => required && defaultValue == null, [required, defaultValue]);
|
|
28
|
+
const commonStyles = useMemo(() => getCommonStyles(Colors, _required), [Colors, _required]);
|
|
29
|
+
const styles = useMemo(() => getStyles(Colors, _required), [Colors, _required]);
|
|
29
30
|
const handleFocus = () => {
|
|
30
31
|
setIsFocused(true);
|
|
31
32
|
};
|
|
32
33
|
const handleBlur = () => {
|
|
33
34
|
setIsFocused(false);
|
|
34
35
|
};
|
|
35
|
-
return (<View style={style}>
|
|
36
|
+
return (<View style={[styles.container, style]}>
|
|
36
37
|
<Text style={styles.title}>{title}</Text>
|
|
37
38
|
<View style={[
|
|
38
39
|
commonStyles.filter,
|
|
39
|
-
commonStyles.filterAlign,
|
|
40
40
|
commonStyles.filterSize,
|
|
41
|
+
commonStyles.filterAlign,
|
|
41
42
|
styles.content,
|
|
42
43
|
isFocused && commonStyles.inputFocused,
|
|
43
44
|
]}>
|
|
44
|
-
<Increment value={defaultValue} onValueChange={onChange} style={styles.increment} inputStyle={styles.containerInput} decimalSpacer={decimalSpacer} thousandSpacer={thousandSpacer} onFocus={handleFocus} onBlur={handleBlur} readonly={readOnly}/>
|
|
45
|
+
<Increment value={defaultValue} onValueChange={onChange} style={styles.increment} inputStyle={styles.containerInput} decimalSpacer={decimalSpacer} thousandSpacer={thousandSpacer} onFocus={handleFocus} onBlur={handleBlur} readonly={readOnly} defaultFormatting={defaultFormatting} stepSize={stepSize} minValue={minValue} maxValue={maxValue} isBigButton={isBigButton} keyboardType={keyboardType} scale={scale}/>
|
|
45
46
|
</View>
|
|
46
47
|
</View>);
|
|
47
48
|
};
|
|
48
|
-
const getStyles = Colors => StyleSheet.create({
|
|
49
|
+
const getStyles = (Colors, required) => StyleSheet.create({
|
|
50
|
+
container: {
|
|
51
|
+
width: '100%',
|
|
52
|
+
},
|
|
49
53
|
title: {
|
|
50
|
-
marginLeft:
|
|
54
|
+
marginLeft: 10,
|
|
51
55
|
},
|
|
52
56
|
increment: {
|
|
53
57
|
flexDirection: 'row',
|
|
@@ -55,9 +59,12 @@ const getStyles = Colors => StyleSheet.create({
|
|
|
55
59
|
width: '100%',
|
|
56
60
|
},
|
|
57
61
|
content: {
|
|
58
|
-
|
|
62
|
+
width: '100%',
|
|
63
|
+
borderColor: required
|
|
64
|
+
? Colors.errorColor.background
|
|
65
|
+
: Colors.secondaryColor.background,
|
|
59
66
|
borderWidth: 1,
|
|
60
|
-
|
|
67
|
+
marginHorizontal: 0,
|
|
61
68
|
},
|
|
62
69
|
containerInput: {
|
|
63
70
|
fontSize: 15,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormIncrementInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormIncrementInput/FormIncrementInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"FormIncrementInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormIncrementInput/FormIncrementInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { KeyboardTypeOptions } from 'react-native';
|
|
1
2
|
interface FormInputProps {
|
|
2
3
|
title: string;
|
|
3
4
|
defaultValue?: string;
|
|
@@ -6,6 +7,10 @@ interface FormInputProps {
|
|
|
6
7
|
required?: boolean;
|
|
7
8
|
onChange?: (any: any) => void;
|
|
8
9
|
onSelection?: () => void;
|
|
10
|
+
onEndFocus?: () => void;
|
|
11
|
+
keyboardType?: KeyboardTypeOptions;
|
|
12
|
+
multiline?: boolean;
|
|
13
|
+
adjustHeightWithLines?: boolean;
|
|
9
14
|
}
|
|
10
|
-
declare const FormInput: ({ title, defaultValue, readOnly, style, required, onChange, onSelection, }: FormInputProps) => JSX.Element;
|
|
15
|
+
declare const FormInput: ({ title, defaultValue, readOnly, style, required, onChange, onSelection, onEndFocus, keyboardType, multiline, adjustHeightWithLines, }: FormInputProps) => JSX.Element;
|
|
11
16
|
export default FormInput;
|
|
@@ -15,13 +15,14 @@
|
|
|
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, { useCallback, useMemo, useState } from 'react';
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { Input, Text } from '../../atoms';
|
|
21
21
|
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
22
22
|
import { getCommonStyles } from '../../../utils/commons-styles';
|
|
23
|
-
const FormInput = ({ title, defaultValue = null, readOnly, style, required = false, onChange = () => { }, onSelection = () => { }, }) => {
|
|
23
|
+
const FormInput = ({ title, defaultValue = null, readOnly, style, required = false, onChange = () => { }, onSelection = () => { }, onEndFocus = () => { }, keyboardType, multiline = false, adjustHeightWithLines = false, }) => {
|
|
24
24
|
const Colors = useThemeColor();
|
|
25
|
+
const [textHeight, setTextHeight] = useState(40);
|
|
25
26
|
const [value, setValue] = useState(defaultValue);
|
|
26
27
|
const [isFocused, setIsFocused] = useState(false);
|
|
27
28
|
const _required = useMemo(() => required && (value == null || value === ''), [required, value]);
|
|
@@ -37,7 +38,11 @@ const FormInput = ({ title, defaultValue = null, readOnly, style, required = fal
|
|
|
37
38
|
};
|
|
38
39
|
const handleEndFocus = () => {
|
|
39
40
|
setIsFocused(false);
|
|
41
|
+
onEndFocus();
|
|
40
42
|
};
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
setValue(defaultValue);
|
|
45
|
+
}, [defaultValue]);
|
|
41
46
|
return (<View style={[styles.container, style]}>
|
|
42
47
|
<Text style={styles.title}>{title}</Text>
|
|
43
48
|
<View style={[
|
|
@@ -46,14 +51,23 @@ const FormInput = ({ title, defaultValue = null, readOnly, style, required = fal
|
|
|
46
51
|
commonStyles.filterAlign,
|
|
47
52
|
styles.content,
|
|
48
53
|
isFocused && commonStyles.inputFocused,
|
|
54
|
+
adjustHeightWithLines && {
|
|
55
|
+
height: parseInt(textHeight.toString(), 10),
|
|
56
|
+
},
|
|
49
57
|
]}>
|
|
50
|
-
<Input style={styles.input} value={value} onChange={onValueChange} onSelection={handleSelection} onEndFocus={handleEndFocus} numberOfLines={null} readOnly={readOnly}
|
|
58
|
+
<Input style={styles.input} value={value} onChange={onValueChange} onSelection={handleSelection} onEndFocus={handleEndFocus} keyboardType={keyboardType} numberOfLines={null} readOnly={readOnly} multiline={multiline} onContentSizeChange={e => {
|
|
59
|
+
const { height } = e.nativeEvent.contentSize;
|
|
60
|
+
if (adjustHeightWithLines) {
|
|
61
|
+
setTextHeight(height);
|
|
62
|
+
}
|
|
63
|
+
}}/>
|
|
51
64
|
</View>
|
|
52
65
|
</View>);
|
|
53
66
|
};
|
|
54
67
|
const getStyles = (Colors, _required) => StyleSheet.create({
|
|
55
68
|
container: {
|
|
56
69
|
width: '100%',
|
|
70
|
+
minHeight: 62,
|
|
57
71
|
},
|
|
58
72
|
content: {
|
|
59
73
|
width: '100%',
|
|
@@ -62,6 +76,7 @@ const getStyles = (Colors, _required) => StyleSheet.create({
|
|
|
62
76
|
: Colors.secondaryColor.background,
|
|
63
77
|
borderWidth: 1,
|
|
64
78
|
marginHorizontal: 0,
|
|
79
|
+
minHeight: 40,
|
|
65
80
|
},
|
|
66
81
|
input: {
|
|
67
82
|
width: '100%',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormInput/FormInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"FormInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/FormInput/FormInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LegacyRef } from 'react';
|
|
2
|
+
import { KeyboardTypeOptions, TextInput } from 'react-native';
|
|
2
3
|
interface IconInputProps {
|
|
3
4
|
style?: any;
|
|
5
|
+
inputRef?: LegacyRef<TextInput>;
|
|
4
6
|
value: string;
|
|
5
7
|
onChange: (value: any) => void;
|
|
6
8
|
placeholder: string;
|
|
@@ -16,5 +18,5 @@ interface IconInputProps {
|
|
|
16
18
|
leftIconsList?: any[];
|
|
17
19
|
rightIconsList?: any[];
|
|
18
20
|
}
|
|
19
|
-
declare const IconInput: ({ style, value, onChange, placeholder, readOnly, required, secureTextEntry, onSelection, multiline, numberOfLines, keyboardType, onEndFocus, isFocus, leftIconsList, rightIconsList, }: IconInputProps) => JSX.Element;
|
|
21
|
+
declare const IconInput: ({ style, inputRef, value, onChange, placeholder, readOnly, required, secureTextEntry, onSelection, multiline, numberOfLines, keyboardType, onEndFocus, isFocus, leftIconsList, rightIconsList, }: IconInputProps) => JSX.Element;
|
|
20
22
|
export default IconInput;
|