@axelor/aos-mobile-ui 6.4.0 → 6.4.2

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.
Files changed (92) hide show
  1. package/README.md +2 -1
  2. package/lib/components/atoms/HtmlInput/HtmlInput.d.ts +8 -1
  3. package/lib/components/atoms/HtmlInput/HtmlInput.js +30 -20
  4. package/lib/components/atoms/HtmlInput/HtmlInput.js.map +1 -1
  5. package/lib/components/atoms/index.d.ts +0 -1
  6. package/lib/components/atoms/index.js +0 -1
  7. package/lib/components/atoms/index.js.map +1 -1
  8. package/lib/components/molecules/Badge/Badge.d.ts +2 -2
  9. package/lib/components/molecules/Badge/Badge.js +4 -2
  10. package/lib/components/molecules/Badge/Badge.js.map +1 -1
  11. package/lib/components/molecules/Checkbox/Checkbox.d.ts +11 -0
  12. package/lib/components/molecules/Checkbox/Checkbox.js +52 -0
  13. package/lib/components/molecules/Checkbox/Checkbox.js.map +1 -0
  14. package/lib/components/molecules/Chip/Chip.d.ts +3 -2
  15. package/lib/components/molecules/Chip/Chip.js +2 -2
  16. package/lib/components/molecules/Chip/Chip.js.map +1 -1
  17. package/lib/components/molecules/CircleButton/CircleButton.d.ts +8 -0
  18. package/lib/components/molecules/CircleButton/CircleButton.js +47 -0
  19. package/lib/components/molecules/CircleButton/CircleButton.js.map +1 -0
  20. package/lib/components/molecules/FormHtmlInput/FormHtmlInput.d.ts +11 -0
  21. package/lib/components/molecules/FormHtmlInput/FormHtmlInput.js +71 -0
  22. package/lib/components/molecules/FormHtmlInput/FormHtmlInput.js.map +1 -0
  23. package/lib/components/molecules/FormIncrementInput/FormIncrementInput.d.ts +11 -0
  24. package/lib/components/molecules/FormIncrementInput/FormIncrementInput.js +72 -0
  25. package/lib/components/molecules/FormIncrementInput/FormIncrementInput.js.map +1 -0
  26. package/lib/components/molecules/FormInput/FormInput.d.ts +11 -0
  27. package/lib/components/molecules/FormInput/FormInput.js +72 -0
  28. package/lib/components/molecules/FormInput/FormInput.js.map +1 -0
  29. package/lib/components/molecules/IconButton/IconButton.d.ts +2 -1
  30. package/lib/components/molecules/IconButton/IconButton.js +2 -2
  31. package/lib/components/molecules/IconButton/IconButton.js.map +1 -1
  32. package/lib/components/molecules/IconInput/IconInput.d.ts +2 -1
  33. package/lib/components/molecules/IconInput/IconInput.js +18 -5
  34. package/lib/components/molecules/IconInput/IconInput.js.map +1 -1
  35. package/lib/components/molecules/Increment/Increment.d.ts +5 -1
  36. package/lib/components/molecules/Increment/Increment.js +30 -15
  37. package/lib/components/molecules/Increment/Increment.js.map +1 -1
  38. package/lib/components/molecules/MessageBox/MessageBox.js +20 -11
  39. package/lib/components/molecules/MessageBox/MessageBox.js.map +1 -1
  40. package/lib/components/molecules/NotesCard/NotesCard.d.ts +2 -1
  41. package/lib/components/molecules/NotesCard/NotesCard.js +13 -15
  42. package/lib/components/molecules/NotesCard/NotesCard.js.map +1 -1
  43. package/lib/components/molecules/PanelTabs/PanelTabs.d.ts +13 -0
  44. package/lib/components/molecules/PanelTabs/PanelTabs.js +93 -0
  45. package/lib/components/molecules/PanelTabs/PanelTabs.js.map +1 -0
  46. package/lib/components/molecules/ViewAllContainer/ViewAllContainer.d.ts +4 -4
  47. package/lib/components/molecules/index.d.ts +4 -0
  48. package/lib/components/molecules/index.js +4 -0
  49. package/lib/components/molecules/index.js.map +1 -1
  50. package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js +59 -60
  51. package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js.map +1 -1
  52. package/lib/components/organisms/ChipSelect/ChipSelect.d.ts +14 -3
  53. package/lib/components/organisms/ChipSelect/ChipSelect.js +39 -6
  54. package/lib/components/organisms/ChipSelect/ChipSelect.js.map +1 -1
  55. package/lib/components/organisms/FloatingButton/FloatingButton.d.ts +16 -0
  56. package/lib/components/organisms/FloatingButton/FloatingButton.js +106 -0
  57. package/lib/components/organisms/FloatingButton/FloatingButton.js.map +1 -0
  58. package/lib/components/organisms/MultiSelectValue/MultiSelectValue.d.ts +9 -0
  59. package/lib/components/organisms/MultiSelectValue/MultiSelectValue.js +49 -0
  60. package/lib/components/organisms/MultiSelectValue/MultiSelectValue.js.map +1 -0
  61. package/lib/components/organisms/MultiValuePicker/MultiValuePicker.d.ts +3 -3
  62. package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js +16 -11
  63. package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js.map +1 -1
  64. package/lib/components/organisms/Picker/Picker.d.ts +3 -1
  65. package/lib/components/organisms/Picker/Picker.js +29 -7
  66. package/lib/components/organisms/Picker/Picker.js.map +1 -1
  67. package/lib/components/organisms/SearchBar/SearchBar.d.ts +2 -1
  68. package/lib/components/organisms/SearchBar/SearchBar.js +2 -2
  69. package/lib/components/organisms/SearchBar/SearchBar.js.map +1 -1
  70. package/lib/components/organisms/index.d.ts +2 -0
  71. package/lib/components/organisms/index.js +2 -0
  72. package/lib/components/organisms/index.js.map +1 -1
  73. package/lib/index.d.ts +1 -2
  74. package/lib/index.js +1 -2
  75. package/lib/index.js.map +1 -1
  76. package/lib/utils/commons-styles.d.ts +13 -1
  77. package/lib/utils/commons-styles.js +13 -1
  78. package/lib/utils/commons-styles.js.map +1 -1
  79. package/lib/utils/commons-utlis.d.ts +1 -0
  80. package/lib/utils/{headerStyle.js → commons-utlis.js} +7 -14
  81. package/lib/utils/commons-utlis.js.map +1 -0
  82. package/lib/utils/formatters.d.ts +1 -0
  83. package/lib/utils/formatters.js +10 -0
  84. package/lib/utils/formatters.js.map +1 -1
  85. package/lib/utils/strings.js +1 -1
  86. package/lib/utils/strings.js.map +1 -1
  87. package/package.json +3 -4
  88. package/lib/components/atoms/RenderHtml/RenderHtml.d.ts +0 -6
  89. package/lib/components/atoms/RenderHtml/RenderHtml.js +0 -50
  90. package/lib/components/atoms/RenderHtml/RenderHtml.js.map +0 -1
  91. package/lib/utils/headerStyle.d.ts +0 -12
  92. package/lib/utils/headerStyle.js.map +0 -1
@@ -17,18 +17,31 @@
17
17
  */
18
18
  import React, { useState, useEffect, useCallback, useRef } from 'react';
19
19
  import { View } from 'react-native';
20
+ import { useClickOutside, OUTSIDE_INDICATOR, } from '../../../hooks/use-click-outside';
20
21
  import { SelectionContainer } from '../../molecules';
21
22
  import { SearchBar } from '../../organisms';
22
- const TIME_WITHOUT_INPUT = 1000;
23
+ const isValidString = (string) => {
24
+ return typeof string === 'string' && string !== '';
25
+ };
26
+ const TIME_WITHOUT_INPUT = 2000;
23
27
  const TIME_BETWEEN_CALL = 1000;
24
- const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData = () => { }, displayValue, placeholder, isFocus = false, changeScreenAfter = false, navigate = false, oneFilter = false, onSelection, onScanPress, scanIconColor = null, selectLastItem = true, style, }) => {
28
+ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData = () => { }, displayValue, placeholder, isFocus = false, changeScreenAfter = false, navigate = false, oneFilter = false, onSelection = () => { }, onScanPress, scanIconColor = null, selectLastItem = true, style, }) => {
25
29
  const [displayList, setDisplayList] = useState(false);
26
- const [searchText, setSearchText] = useState(null);
27
30
  const [previousState, setPreviousState] = useState(null);
28
- const [newInterval, setNewInterval] = useState(0);
29
- const [selected, setSelected] = useState(false);
31
+ const [selected, setSelected] = useState(value ? true : false);
32
+ const [searchText, setSearchText] = useState(value ? displayValue(value) : null);
30
33
  let timeOutRequestCall = useRef();
31
34
  let intervalRequestCall = useRef();
35
+ const wrapperRef = useRef(null);
36
+ const clickOutside = useClickOutside({
37
+ wrapperRef,
38
+ visible: displayList,
39
+ });
40
+ useEffect(() => {
41
+ if (clickOutside === OUTSIDE_INDICATOR && displayList) {
42
+ setDisplayList(false);
43
+ }
44
+ }, [clickOutside, displayList]);
32
45
  const handleAPICall = useCallback(() => {
33
46
  if (!selected) {
34
47
  if (searchText == null && searchText === '') {
@@ -40,24 +53,16 @@ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData
40
53
  }
41
54
  }, [fetchData, searchText, selected]);
42
55
  useEffect(() => {
43
- if (value) {
44
- setSelected(true);
45
- setSearchText(displayValue(value));
46
- }
47
- else {
48
- handleAPICall();
49
- }
50
- }, [displayValue, handleAPICall, value]);
51
- const handleSelect = item => {
56
+ handleAPICall();
57
+ }, [handleAPICall]);
58
+ const handleSelect = useCallback(item => {
52
59
  setDisplayList(false);
53
60
  setSelected(true);
54
- if (changeScreenAfter) {
55
- setSearchText('');
56
- }
61
+ setSearchText(changeScreenAfter ? '' : displayValue(item));
57
62
  onChangeValue(item);
58
- };
63
+ }, [changeScreenAfter, displayValue, onChangeValue]);
59
64
  useEffect(() => {
60
- if (navigate && oneFilter) {
65
+ if (oneFilter && navigate != null) {
61
66
  setSearchText('');
62
67
  }
63
68
  }, [navigate, oneFilter]);
@@ -68,36 +73,27 @@ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData
68
73
  setSearchText('');
69
74
  onChangeValue(null);
70
75
  };
71
- useEffect(() => {
72
- if ((previousState === '' || previousState == null) &&
73
- searchText != null &&
74
- searchText !== '') {
75
- const id = setInterval(() => setNewInterval(state => state + 1), TIME_BETWEEN_CALL);
76
- intervalRequestCall.current = id;
77
- }
78
- }, [previousState, searchText]);
79
76
  const stopInterval = useCallback(() => {
80
77
  clearInterval(intervalRequestCall.current);
81
- setNewInterval(0);
82
78
  }, []);
83
- useEffect(() => {
84
- if (newInterval > 0) {
85
- handleAPICall();
86
- }
87
- }, [handleAPICall, newInterval]);
79
+ const handleInterval = useCallback(() => {
80
+ handleAPICall();
81
+ }, [handleAPICall]);
88
82
  const handleTimeOut = useCallback(() => {
89
83
  stopInterval();
90
- if (!selected) {
91
- if (searchText == null && searchText === '') {
92
- fetchData(null);
93
- }
94
- else {
95
- fetchData(searchText);
96
- }
84
+ handleAPICall();
85
+ }, [handleAPICall, stopInterval]);
86
+ useEffect(() => {
87
+ if (!isValidString(previousState) && isValidString(searchText)) {
88
+ const id = setInterval(handleInterval, TIME_BETWEEN_CALL);
89
+ intervalRequestCall.current = id;
90
+ return () => {
91
+ stopInterval();
92
+ };
97
93
  }
98
- }, [fetchData, searchText, selected, stopInterval]);
94
+ }, [handleInterval, previousState, searchText, stopInterval]);
99
95
  useEffect(() => {
100
- if (searchText != null) {
96
+ if (isValidString(searchText)) {
101
97
  const id = setTimeout(handleTimeOut, TIME_WITHOUT_INPUT);
102
98
  timeOutRequestCall.current = id;
103
99
  return () => {
@@ -105,19 +101,11 @@ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData
105
101
  };
106
102
  }
107
103
  }, [handleTimeOut, searchText]);
108
- useEffect(() => {
109
- if (objectList != null &&
110
- searchText != null &&
111
- searchText !== '' &&
112
- !selected) {
113
- if (objectList.length === 1 && selectLastItem === true) {
114
- if (changeScreenAfter || oneFilter) {
115
- setSearchText('');
116
- }
117
- else {
118
- setSearchText(displayValue(objectList[0]));
119
- setDisplayList(false);
120
- }
104
+ const handleSearchValueChange = useCallback(input => {
105
+ if (Array.isArray(objectList) && isValidString(input) && !selected) {
106
+ if (objectList.length === 1 && selectLastItem) {
107
+ setSearchText(changeScreenAfter || oneFilter ? '' : displayValue(objectList[0]));
108
+ setDisplayList(false);
121
109
  stopInterval();
122
110
  onChangeValue(objectList[0]);
123
111
  }
@@ -125,6 +113,8 @@ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData
125
113
  setDisplayList(true);
126
114
  }
127
115
  }
116
+ setPreviousState(searchText);
117
+ setSearchText(input);
128
118
  }, [
129
119
  changeScreenAfter,
130
120
  displayValue,
@@ -136,11 +126,20 @@ const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData
136
126
  selected,
137
127
  stopInterval,
138
128
  ]);
139
- return (<View>
140
- <SearchBar style={style} valueTxt={searchText} placeholder={placeholder} onClearPress={handleClear} onChangeTxt={input => {
141
- setPreviousState(searchText);
142
- setSearchText(input);
143
- }} onSelection={onSelection} onEndFocus={() => setDisplayList(false)} isFocus={isFocus} onScanPress={onScanPress} scanIconColor={scanIconColor}/>
129
+ const handleFocus = useCallback(() => {
130
+ setDisplayList(true);
131
+ onSelection();
132
+ }, [onSelection]);
133
+ const handleSearchPress = useCallback(() => {
134
+ setDisplayList(true);
135
+ }, []);
136
+ useEffect(() => {
137
+ if (isValidString(value)) {
138
+ handleSearchValueChange(value);
139
+ }
140
+ }, [displayValue, handleSearchValueChange, value]);
141
+ return (<View ref={wrapperRef}>
142
+ <SearchBar style={style} valueTxt={searchText} placeholder={placeholder} onClearPress={handleClear} onChangeTxt={handleSearchValueChange} onSelection={handleFocus} onSearchPress={handleSearchPress} onEndFocus={() => selected && setDisplayList(false)} isFocus={isFocus} onScanPress={onScanPress} scanIconColor={scanIconColor}/>
144
143
  {displayList && !oneFilter && (<SelectionContainer objectList={objectList} displayValue={displayValue} handleSelect={handleSelect}/>)}
145
144
  </View>);
146
145
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteSearch.js","sourceRoot":"","sources":["../../../../src/components/organisms/AutoCompleteSearch/AutoCompleteSearch.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoCompleteSearch.js","sourceRoot":"","sources":["../../../../src/components/organisms/AutoCompleteSearch/AutoCompleteSearch.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
+ import { Color } from '../../../theme/themes';
2
+ interface Item {
3
+ isActive?: boolean;
4
+ color: Color;
5
+ title: string;
6
+ key: string | number;
7
+ }
1
8
  interface ChipSelectProps {
2
- children: any;
3
- scrollable?: boolean;
9
+ style?: any;
10
+ selectionItems: Item[];
11
+ mode: 'multi' | 'switch';
12
+ width?: number;
13
+ marginHorizontal?: number;
14
+ onChangeValue?: (value: any) => void;
4
15
  }
5
- declare const ChipSelect: ({ children, scrollable }: ChipSelectProps) => JSX.Element;
16
+ declare const ChipSelect: ({ style, selectionItems, mode, width, marginHorizontal, onChangeValue, }: ChipSelectProps) => JSX.Element;
6
17
  export default ChipSelect;
@@ -15,13 +15,46 @@
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 from 'react';
18
+ import React, { useState } from 'react';
19
19
  import { StyleSheet, View, ScrollView } from 'react-native';
20
- const ChipSelect = ({ children, scrollable = false }) => {
21
- return (<View style={[styles.chipContainer, scrollable ? styles.marginLeft : null]}>
22
- {scrollable ? (<ScrollView horizontal={true} showsHorizontalScrollIndicator={false}>
23
- {children}
24
- </ScrollView>) : (children)}
20
+ import { Chip } from '../../molecules';
21
+ const ChipSelect = ({ style, selectionItems, mode, width, marginHorizontal, onChangeValue = () => { }, }) => {
22
+ const [selectdChipSwitch, setSelectdChipSwitch] = useState({
23
+ key: selectionItems.find(item => item.isActive === true)?.key,
24
+ });
25
+ const [selectedChipMulti, setSelectedChipMulti] = useState(selectionItems.filter(item => item.isActive === true));
26
+ const updateChip = chip => {
27
+ if (mode === 'multi') {
28
+ if (chipIsSelected(chip)) {
29
+ setSelectedChipMulti(selectedChipMulti?.filter(activeChip => activeChip.key !== chip.key));
30
+ onChangeValue(selectedChipMulti?.filter(activeChip => activeChip.key !== chip.key));
31
+ }
32
+ else if (selectedChipMulti.length + 1 === selectionItems.length) {
33
+ setSelectedChipMulti([]);
34
+ onChangeValue([]);
35
+ }
36
+ else {
37
+ setSelectedChipMulti([...selectedChipMulti, chip]);
38
+ onChangeValue([...selectedChipMulti, chip]);
39
+ }
40
+ }
41
+ if (mode === 'switch') {
42
+ setSelectdChipSwitch(chip.key === selectdChipSwitch?.key ? null : chip);
43
+ onChangeValue(chip.key === selectdChipSwitch?.key ? null : [chip]);
44
+ }
45
+ };
46
+ const chipIsSelected = chip => {
47
+ return (selectedChipMulti?.find(activeChip => activeChip.key === chip.key) != null);
48
+ };
49
+ if (mode !== 'multi' && mode !== 'switch') {
50
+ return null;
51
+ }
52
+ return (<View style={[styles.chipContainer, styles.marginLeft, style]}>
53
+ <ScrollView horizontal={true} showsHorizontalScrollIndicator={false}>
54
+ {selectionItems?.map((item, index) => (<Chip key={index} selected={mode === 'switch'
55
+ ? item.key === selectdChipSwitch?.key
56
+ : chipIsSelected(item)} title={item.title} selectedColor={item.color} onPress={() => updateChip(item)} marginHorizontal={marginHorizontal} width={width}/>))}
57
+ </ScrollView>
25
58
  </View>);
26
59
  };
27
60
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"file":"ChipSelect.js","sourceRoot":"","sources":["../../../../src/components/organisms/ChipSelect/ChipSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAO1D,MAAM,UAAU,GAAG,CAAC,EAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE;IACrE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACzE;MAAA,CAAC,UAAU,CAAC,CAAC,CAAC,CACZ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,CAClE;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,UAAU,CAAC,CACd,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,CAAC;KAClB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,EAAE;KACrB;CACF,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ChipSelect.js","sourceRoot":"","sources":["../../../../src/components/organisms/ChipSelect/ChipSelect.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ interface FloatingButtonProps {
2
+ actions: ActionProps[];
3
+ iconName?: string;
4
+ size?: number;
5
+ style?: any;
6
+ translator: (translationKey: string) => string;
7
+ }
8
+ interface ActionProps {
9
+ key: number;
10
+ title: string;
11
+ iconName: string;
12
+ disabled: boolean;
13
+ onPress: () => void;
14
+ }
15
+ declare const FloatingButton: ({ actions, iconName, size, style, translator, }: FloatingButtonProps) => JSX.Element;
16
+ export default FloatingButton;
@@ -0,0 +1,106 @@
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, useRef, useState } from 'react';
19
+ import { StyleSheet, View } from 'react-native';
20
+ import { animationUtil } from '../../../tools/AnimationUtil';
21
+ import { Text } from '../../atoms';
22
+ import { OUTSIDE_INDICATOR, useClickOutside, } from '../../../hooks/use-click-outside';
23
+ import { useThemeColor } from '../../../theme/ThemeContext';
24
+ import { CircleButton } from '../../molecules';
25
+ const FLOATING_BUTTON_SIZE = 60;
26
+ const ACTION_BUTTON_SIZE_PERCENTAGE = 0.8;
27
+ const MIN_ACTION_BUTTON_WIDTH = 200;
28
+ const FloatingActionButton = ({ actionKey, title, iconName, size, disabled = false, onPress, translator, }) => {
29
+ const Colors = useThemeColor();
30
+ const styles = useMemo(() => getStyles(Colors), [Colors]);
31
+ const handleActionPress = useCallback(() => onPress(actionKey), [actionKey, onPress]);
32
+ return (<View style={styles.actionButtonContainer}>
33
+ <CircleButton iconName={iconName} size={size} onPress={handleActionPress} disabled={disabled}/>
34
+ <View style={styles.actionTitleContainer}>
35
+ <Text fontSize={16} style={styles.actionTitle}>
36
+ {translator(title)}
37
+ </Text>
38
+ </View>
39
+ </View>);
40
+ };
41
+ const FloatingButton = ({ actions, iconName = 'plus', size = FLOATING_BUTTON_SIZE, style, translator, }) => {
42
+ const Colors = useThemeColor();
43
+ const [isOpen, setIsOpen] = useState(false);
44
+ const wrapperRef = useRef(null);
45
+ const clickOutside = useClickOutside({
46
+ wrapperRef,
47
+ visible: isOpen,
48
+ });
49
+ useEffect(() => {
50
+ if (clickOutside === OUTSIDE_INDICATOR && isOpen) {
51
+ animationUtil.animateNext();
52
+ setIsOpen(false);
53
+ }
54
+ }, [clickOutside, isOpen]);
55
+ const actionSize = useMemo(() => Math.floor(size * ACTION_BUTTON_SIZE_PERCENTAGE), [size]);
56
+ const onActionPress = useCallback(actionPress => {
57
+ actionPress();
58
+ setIsOpen(false);
59
+ }, []);
60
+ const actionComponents = useMemo(() => actions
61
+ ?.reverse()
62
+ ?.map(action => (<FloatingActionButton key={action.key} actionKey={action.key} title={action.title} iconName={action.iconName} size={actionSize} disabled={action.disabled} onPress={() => onActionPress(action.onPress)} translator={translator}/>)), [actions, actionSize, onActionPress, translator]);
63
+ const styles = useMemo(() => getStyles(Colors), [Colors]);
64
+ const handleFLoatingButtonPress = useCallback(() => {
65
+ animationUtil.animateNext();
66
+ setIsOpen(current => !current);
67
+ }, []);
68
+ if (actions == null || actions?.length === 0) {
69
+ return <View />;
70
+ }
71
+ return (<View ref={wrapperRef} style={[styles.container, style]}>
72
+ {isOpen && (<View style={styles.actionsContainer}>{actionComponents}</View>)}
73
+ <CircleButton iconName={isOpen ? 'times' : iconName} onPress={handleFLoatingButtonPress} size={size}/>
74
+ </View>);
75
+ };
76
+ const getStyles = (Colors) => StyleSheet.create({
77
+ actionButtonContainer: {
78
+ flexDirection: 'row-reverse',
79
+ marginTop: 7,
80
+ },
81
+ actionsContainer: {
82
+ marginVertical: 10,
83
+ paddingHorizontal: 7,
84
+ },
85
+ actionTitleContainer: {
86
+ backgroundColor: Colors.screenBackgroundColor,
87
+ marginHorizontal: 15,
88
+ marginVertical: 10,
89
+ justifyContent: 'center',
90
+ alignItems: 'center',
91
+ minWidth: MIN_ACTION_BUTTON_WIDTH,
92
+ borderRadius: 7,
93
+ elevation: 3,
94
+ },
95
+ actionTitle: {
96
+ textAlign: 'center',
97
+ },
98
+ container: {
99
+ justifyContent: 'flex-end',
100
+ alignItems: 'flex-end',
101
+ marginVertical: 10,
102
+ marginHorizontal: 20,
103
+ },
104
+ });
105
+ export default FloatingButton;
106
+ //# sourceMappingURL=FloatingButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingButton.js","sourceRoot":"","sources":["../../../../src/components/organisms/FloatingButton/FloatingButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Color } from '../../../theme/themes';
2
+ interface MultiSelectValueProps {
3
+ color?: Color;
4
+ itemList: string[];
5
+ style?: any;
6
+ title: string;
7
+ }
8
+ declare const MultiSelectValue: ({ color, itemList, style, title, }: MultiSelectValueProps) => JSX.Element;
9
+ export default MultiSelectValue;
@@ -0,0 +1,49 @@
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, View } from 'react-native';
20
+ import { useThemeColor } from '../../../theme/ThemeContext';
21
+ import { Badge } from '../../molecules';
22
+ import { Text } from '../../atoms';
23
+ const MultiSelectValue = ({ color, itemList, style, title, }) => {
24
+ const Colors = useThemeColor();
25
+ return (<View style={[styles.container, style]}>
26
+ <Text style={styles.title}>{title}</Text>
27
+ {itemList != null && itemList?.length > 0
28
+ ? itemList.map((item, index) => (<Badge key={'index' + index} title={item} color={color || Colors.primaryColor} style={styles.badge}/>))
29
+ : null}
30
+ </View>);
31
+ };
32
+ const styles = StyleSheet.create({
33
+ container: {
34
+ flexDirection: 'row',
35
+ flexWrap: 'wrap',
36
+ alignItems: 'center',
37
+ },
38
+ badge: {
39
+ width: null,
40
+ marginVertical: 2,
41
+ paddingHorizontal: 5,
42
+ },
43
+ title: {
44
+ fontSize: 14,
45
+ marginRight: 10,
46
+ },
47
+ });
48
+ export default MultiSelectValue;
49
+ //# sourceMappingURL=MultiSelectValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiSelectValue.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiSelectValue/MultiSelectValue.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AASjC,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACiB,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACrC;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACxC;MAAA,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5B,CAAC,KAAK,CACJ,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CACrB,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,KAAK,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC,CACpC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACpB,CACH,CAAC;YACJ,CAAC,CAAC,IAAI,CACV;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,cAAc,EAAE,CAAC;QACjB,iBAAiB,EAAE,CAAC;KACrB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;KAChB;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -9,8 +9,8 @@ interface MultiValuePickerProps {
9
9
  labelField: string;
10
10
  valueField: string;
11
11
  disabled?: boolean;
12
- disabledValue?: string;
13
- iconName?: string;
12
+ disabledValue?: string[];
13
+ required?: boolean;
14
14
  }
15
- declare const MultiValuePicker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, disabled, disabledValue, iconName, }: MultiValuePickerProps) => JSX.Element;
15
+ declare const MultiValuePicker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, disabled, disabledValue, required, }: MultiValuePickerProps) => JSX.Element;
16
16
  export default MultiValuePicker;
@@ -20,17 +20,19 @@ import { Dimensions, StyleSheet, View } from 'react-native';
20
20
  import { useThemeColor } from '../../../theme/ThemeContext';
21
21
  import { getCommonStyles } from '../../../utils/commons-styles';
22
22
  import { Text } from '../../atoms';
23
- import { LabelText, SelectionContainer, MultiValuePickerButton, } from '../../molecules';
23
+ import { SelectionContainer, MultiValuePickerButton } from '../../molecules';
24
24
  import { getItemsFromList } from '../../../utils/list';
25
25
  import { OUTSIDE_INDICATOR, useClickOutside, } from '../../../hooks/use-click-outside';
26
- const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue = [], listItems = [], labelField, valueField, disabled = false, disabledValue = '', iconName = null, }) => {
26
+ import MultiSelectValue from '../MultiSelectValue/MultiSelectValue';
27
+ const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue = [], listItems = [], labelField, valueField, disabled = false, disabledValue = [], required = false, }) => {
28
+ const Colors = useThemeColor();
27
29
  const [pickerIsOpen, setPickerIsOpen] = useState(false);
30
+ const [isFocused, setIsFocused] = useState(false);
28
31
  const wrapperRef = useRef(null);
29
32
  const clickOutside = useClickOutside({
30
33
  wrapperRef,
31
34
  visible: pickerIsOpen,
32
35
  });
33
- const Colors = useThemeColor();
34
36
  const [selectedItem, setSelectedItem] = useState(getItemsFromList(listItems, valueField, defaultValue));
35
37
  useEffect(() => {
36
38
  setSelectedItem(getItemsFromList(listItems, valueField, defaultValue));
@@ -38,10 +40,12 @@ const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange,
38
40
  useEffect(() => {
39
41
  if (clickOutside === OUTSIDE_INDICATOR && pickerIsOpen) {
40
42
  setPickerIsOpen(false);
43
+ setIsFocused(false);
41
44
  }
42
45
  }, [clickOutside, pickerIsOpen]);
43
46
  const togglePicker = () => {
44
47
  setPickerIsOpen(current => !current);
48
+ setIsFocused(current => !current);
45
49
  };
46
50
  const handleValueChange = useCallback(itemValue => {
47
51
  if (itemValue != null) {
@@ -56,8 +60,9 @@ const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange,
56
60
  onValueChange(newSelecteditems);
57
61
  }
58
62
  }, [onValueChange, selectedItem, valueField]);
59
- const commonStyles = useMemo(() => getCommonStyles(Colors), [Colors]);
60
- const styles = useMemo(() => getStyles(Colors), [Colors]);
63
+ const _required = useMemo(() => required && (selectedItem == null || selectedItem?.length === 0), [required, selectedItem]);
64
+ const commonStyles = useMemo(() => getCommonStyles(Colors, _required), [Colors, _required]);
65
+ const styles = useMemo(() => getStyles(Colors, _required), [Colors, _required]);
61
66
  return (<View ref={wrapperRef} style={style}>
62
67
  {!disabled && (<View style={styles.titleContainer}>
63
68
  <Text style={styleTxt}>{title}</Text>
@@ -69,29 +74,29 @@ const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange,
69
74
  styles.infosCard,
70
75
  pickerStyle,
71
76
  ]}>
72
- {/* TODO : improve here */}
73
- <LabelText value={disabledValue == null || disabledValue === ''
74
- ? '-'
75
- : disabledValue} title={`${title} :`} iconName={iconName}/>
77
+ <MultiSelectValue itemList={disabledValue} title={`${title} :`}/>
76
78
  </View>) : (<View>
77
79
  <MultiValuePickerButton onPress={togglePicker} listItem={selectedItem} labelField={labelField} style={[
78
80
  commonStyles.filter,
79
81
  commonStyles.filterSize,
80
82
  commonStyles.filterAlign,
81
83
  styles.rightIconButton,
84
+ isFocused && commonStyles.inputFocused,
82
85
  pickerStyle,
83
86
  ]} onPressItem={handleValueChange}/>
84
87
  {pickerIsOpen ? (<SelectionContainer objectList={listItems} keyField={valueField} displayValue={item => item[labelField]} handleSelect={handleValueChange} isPicker={true} selectedItem={selectedItem}/>) : null}
85
88
  </View>)}
86
89
  </View>);
87
90
  };
88
- const getStyles = Colors => StyleSheet.create({
91
+ const getStyles = (Colors, _required) => StyleSheet.create({
89
92
  titleContainer: {
90
93
  marginHorizontal: 24,
91
94
  },
92
95
  rightIconButton: {
93
96
  width: Dimensions.get('window').width * 0.9,
94
- borderColor: Colors.secondaryColor.background,
97
+ borderColor: _required
98
+ ? Colors.errorColor.background
99
+ : Colors.secondaryColor.background,
95
100
  borderWidth: 1,
96
101
  },
97
102
  infosCard: {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiValuePicker/MultiValuePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiValuePicker/MultiValuePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAiBpE,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,aAAa,EACb,YAAY,GAAG,EAAE,EACjB,SAAS,GAAG,EAAE,EACd,UAAU,EACV,UAAU,EACV,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,EAAE,EAClB,QAAQ,GAAG,KAAK,GACM,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,eAAe,CAAC;QACnC,UAAU;QACV,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CACtD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,KAAK,iBAAiB,IAAI,YAAY,EAAE;YACtD,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACrC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,SAAS,CAAC,EAAE;QACV,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IACE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC,EACrE;gBACA,gBAAgB,GAAG,YAAY,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,UAAU,CAAC,CAC7C,CAAC;aACH;iBAAM;gBACL,gBAAgB,GAAG,CAAC,GAAG,YAAY,EAAE,SAAS,CAAC,CAAC;aACjD;YACD,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAClC,aAAa,CAAC,gBAAgB,CAAC,CAAC;SACjC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAC1C,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,EAAE,MAAM,KAAK,CAAC,CAAC,EACtE,CAAC,QAAQ,EAAE,YAAY,CAAC,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,EACxC,CAAC,MAAM,EAAE,SAAS,CAAC,CACpB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,EAClC,CAAC,MAAM,EAAE,SAAS,CAAC,CACpB,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAClC;MAAA,CAAC,CAAC,QAAQ,IAAI,CACZ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CACjC;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACtC;QAAA,EAAE,IAAI,CAAC,CACR,CACD;MAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,CACV,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;gBACL,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,UAAU;gBACvB,YAAY,CAAC,WAAW;gBACxB,MAAM,CAAC,SAAS;gBAChB,WAAW;aACZ,CAAC,CACF;UAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,EACjE;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,CAAC,CAAC,CACF,CAAC,IAAI,CACH;UAAA,CAAC,sBAAsB,CACrB,OAAO,CAAC,CAAC,YAAY,CAAC,CACtB,QAAQ,CAAC,CAAC,YAAY,CAAC,CACvB,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,KAAK,CAAC,CAAC;gBACL,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,UAAU;gBACvB,YAAY,CAAC,WAAW;gBACxB,MAAM,CAAC,eAAe;gBACtB,SAAS,IAAI,YAAY,CAAC,YAAY;gBACtC,WAAW;aACZ,CAAC,CACF,WAAW,CAAC,CAAC,iBAAiB,CAAC,EAEjC;UAAA,CAAC,YAAY,CAAC,CAAC,CAAC,CACd,CAAC,kBAAkB,CACjB,UAAU,CAAC,CAAC,SAAS,CAAC,CACtB,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CACvC,YAAY,CAAC,CAAC,iBAAiB,CAAC,CAChC,QAAQ,CAAC,CAAC,IAAI,CAAC,CACf,YAAY,CAAC,CAAC,YAAY,CAAC,EAC3B,CACH,CAAC,CAAC,CAAC,IAAI,CACV;QAAA,EAAE,IAAI,CAAC,CACR,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,SAAkB,EAAE,EAAE,CAC5D,UAAU,CAAC,MAAM,CAAC;IAChB,cAAc,EAAE;QACd,gBAAgB,EAAE,EAAE;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,GAAG;QAC3C,WAAW,EAAE,SAAS;YACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU;YAC9B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU;QACpC,WAAW,EAAE,CAAC;KACf;IACD,SAAS,EAAE;QACT,cAAc,EAAE,YAAY;QAC5B,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,GAAG;KAC5C;CACF,CAAC,CAAC;AAEL,eAAe,gBAAgB,CAAC"}
@@ -13,6 +13,8 @@ interface PickerProps {
13
13
  disabled?: boolean;
14
14
  disabledValue?: string;
15
15
  iconName?: string;
16
+ required?: boolean;
17
+ isScrollViewContainer?: boolean;
16
18
  }
17
- declare const Picker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, emptyValue, isValueItem, disabled, disabledValue, iconName, }: PickerProps) => JSX.Element;
19
+ declare const Picker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, emptyValue, isValueItem, disabled, disabledValue, iconName, required, isScrollViewContainer, }: PickerProps) => JSX.Element;
18
20
  export default Picker;