react-native-input-select 0.34.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +103 -30
  2. package/lib/commonjs/components/CheckBox/index.js +16 -13
  3. package/lib/commonjs/components/CheckBox/index.js.map +1 -1
  4. package/lib/commonjs/components/CheckBox/types.js.map +1 -1
  5. package/lib/commonjs/components/CustomModal/index.js +1 -9
  6. package/lib/commonjs/components/CustomModal/index.js.map +1 -1
  7. package/lib/commonjs/components/Dropdown/Dropdown.js +0 -9
  8. package/lib/commonjs/components/Dropdown/Dropdown.js.map +1 -1
  9. package/lib/commonjs/components/Dropdown/{DropdownList.js → DropdownFlatList.js} +22 -32
  10. package/lib/commonjs/components/Dropdown/DropdownFlatList.js.map +1 -0
  11. package/lib/commonjs/components/Dropdown/DropdownListItem.js +11 -22
  12. package/lib/commonjs/components/Dropdown/DropdownListItem.js.map +1 -1
  13. package/lib/commonjs/components/Dropdown/DropdownSectionList.js +139 -0
  14. package/lib/commonjs/components/Dropdown/DropdownSectionList.js.map +1 -0
  15. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js +10 -22
  16. package/lib/commonjs/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
  17. package/lib/commonjs/components/Input/index.js +4 -11
  18. package/lib/commonjs/components/Input/index.js.map +1 -1
  19. package/lib/commonjs/components/Others/index.js +93 -0
  20. package/lib/commonjs/components/Others/index.js.map +1 -0
  21. package/lib/commonjs/constants/index.js.map +1 -1
  22. package/lib/commonjs/index.js +73 -59
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/styles/colors.js.map +1 -1
  25. package/lib/commonjs/styles/input.js +0 -4
  26. package/lib/commonjs/styles/input.js.map +1 -1
  27. package/lib/commonjs/styles/typography.js +0 -3
  28. package/lib/commonjs/styles/typography.js.map +1 -1
  29. package/lib/commonjs/types/index.types.js.map +1 -1
  30. package/lib/commonjs/utils/index.js +26 -0
  31. package/lib/commonjs/utils/index.js.map +1 -0
  32. package/lib/module/components/CheckBox/index.js +14 -6
  33. package/lib/module/components/CheckBox/index.js.map +1 -1
  34. package/lib/module/components/CheckBox/types.js.map +1 -1
  35. package/lib/module/components/CustomModal/index.js +1 -4
  36. package/lib/module/components/CustomModal/index.js.map +1 -1
  37. package/lib/module/components/Dropdown/Dropdown.js +0 -2
  38. package/lib/module/components/Dropdown/Dropdown.js.map +1 -1
  39. package/lib/module/components/Dropdown/{DropdownList.js → DropdownFlatList.js} +23 -27
  40. package/lib/module/components/Dropdown/DropdownFlatList.js.map +1 -0
  41. package/lib/module/components/Dropdown/DropdownListItem.js +11 -14
  42. package/lib/module/components/Dropdown/DropdownListItem.js.map +1 -1
  43. package/lib/module/components/Dropdown/DropdownSectionList.js +130 -0
  44. package/lib/module/components/Dropdown/DropdownSectionList.js.map +1 -0
  45. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js +11 -17
  46. package/lib/module/components/Dropdown/DropdownSelectedItemsView.js.map +1 -1
  47. package/lib/module/components/Input/index.js +2 -2
  48. package/lib/module/components/Input/index.js.map +1 -1
  49. package/lib/module/components/Others/index.js +82 -0
  50. package/lib/module/components/Others/index.js.map +1 -0
  51. package/lib/module/constants/index.js.map +1 -1
  52. package/lib/module/index.js +72 -42
  53. package/lib/module/index.js.map +1 -1
  54. package/lib/module/styles/colors.js.map +1 -1
  55. package/lib/module/styles/input.js.map +1 -1
  56. package/lib/module/styles/typography.js.map +1 -1
  57. package/lib/module/types/index.types.js.map +1 -1
  58. package/lib/module/utils/index.js +18 -0
  59. package/lib/module/utils/index.js.map +1 -0
  60. package/lib/typescript/components/CheckBox/index.d.ts +6 -1
  61. package/lib/typescript/components/CheckBox/types.d.ts +6 -1
  62. package/lib/typescript/components/Dropdown/DropdownFlatList.d.ts +3 -0
  63. package/lib/typescript/components/Dropdown/DropdownListItem.d.ts +1 -1
  64. package/lib/typescript/components/Dropdown/DropdownSectionList.d.ts +3 -0
  65. package/lib/typescript/components/Input/index.d.ts +1 -0
  66. package/lib/typescript/components/Others/index.d.ts +14 -0
  67. package/lib/typescript/types/index.types.d.ts +24 -5
  68. package/lib/typescript/utils/index.d.ts +6 -0
  69. package/package.json +2 -2
  70. package/src/components/CheckBox/index.tsx +34 -5
  71. package/src/components/CheckBox/types.ts +5 -0
  72. package/src/components/Dropdown/{DropdownList.tsx → DropdownFlatList.tsx} +22 -20
  73. package/src/components/Dropdown/DropdownListItem.tsx +13 -11
  74. package/src/components/Dropdown/DropdownSectionList.tsx +135 -0
  75. package/src/components/Dropdown/DropdownSelectedItemsView.tsx +16 -28
  76. package/src/components/Input/index.tsx +2 -0
  77. package/src/components/Others/index.tsx +91 -0
  78. package/src/index.tsx +114 -41
  79. package/src/types/index.types.ts +22 -4
  80. package/src/utils/index.ts +25 -0
  81. package/lib/commonjs/components/Dropdown/DropdownList.js.map +0 -1
  82. package/lib/module/components/Dropdown/DropdownList.js.map +0 -1
  83. package/lib/typescript/components/Dropdown/DropdownList.d.ts +0 -3
@@ -4,33 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.DropdownSelect = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
9
+ var _Input = _interopRequireDefault(require("./components/Input"));
10
+ var _CheckBox = _interopRequireDefault(require("./components/CheckBox"));
12
11
  var _Dropdown = _interopRequireDefault(require("./components/Dropdown/Dropdown"));
13
-
14
- var _DropdownList = _interopRequireDefault(require("./components/Dropdown/DropdownList"));
15
-
12
+ var _DropdownFlatList = _interopRequireDefault(require("./components/Dropdown/DropdownFlatList"));
13
+ var _DropdownSectionList = _interopRequireDefault(require("./components/Dropdown/DropdownSectionList"));
16
14
  var _CustomModal = _interopRequireDefault(require("./components/CustomModal"));
17
-
18
- var _Input = require("./components/Input");
19
-
20
- var _CheckBox = _interopRequireDefault(require("./components/CheckBox"));
21
-
22
15
  var _colors = require("./styles/colors");
23
-
24
16
  var _constants = require("./constants");
25
-
17
+ var _utils = require("./utils");
26
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
32
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
33
-
21
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
34
22
  const DropdownSelect = _ref => {
35
23
  let {
36
24
  placeholder,
@@ -61,10 +49,15 @@ const DropdownSelect = _ref => {
61
49
  primaryColor,
62
50
  disabled,
63
51
  checkboxSize,
52
+ // kept for backwards compatibility
64
53
  checkboxStyle,
54
+ // kept for backwards compatibility
65
55
  checkboxLabelStyle,
56
+ // kept for backwards compatibility
57
+ checkboxComponentStyles,
66
58
  listHeaderComponent,
67
59
  listFooterComponent,
60
+ listComponentStyles,
68
61
  modalProps,
69
62
  hideModal = false,
70
63
  ...rest
@@ -73,22 +66,33 @@ const DropdownSelect = _ref => {
73
66
  const [open, setOpen] = (0, _react.useState)(false);
74
67
  const [selectAll, setSelectAll] = (0, _react.useState)(false);
75
68
  const [selectedItem, setSelectedItem] = (0, _react.useState)(''); //for single selection
76
-
77
69
  const [selectedItems, setSelectedItems] = (0, _react.useState)([]); //for multiple selection
78
-
79
70
  const [searchValue, setSearchValue] = (0, _react.useState)('');
80
71
  (0, _react.useEffect)(() => {
81
72
  if (options) {
82
73
  setNewOptions(options);
83
74
  }
75
+ return () => {};
84
76
  }, [options]);
85
77
  (0, _react.useEffect)(() => {
86
78
  isMultiple ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : []) : setSelectedItem(selectedValue);
79
+ return () => {};
87
80
  }, [selectedValue, isMultiple, onValueChange]);
81
+
88
82
  /*===========================================
89
- * Selection handlers
83
+ * List type
90
84
  *==========================================*/
91
85
 
86
+ const isSectionList = newOptions.some(item => item.title && item.data && Array.isArray(item.data));
87
+ const ListTypeComponent = isSectionList ? _DropdownSectionList.default : _DropdownFlatList.default;
88
+ let modifiedSectionData = (0, _utils.extractPropertyFromArray)(newOptions, 'data').flat();
89
+ let modifiedOptions = isSectionList ? modifiedSectionData : newOptions;
90
+ const optLabel = optionLabel || _constants.DEFAULT_OPTION_LABEL;
91
+ const optValue = optionValue || _constants.DEFAULT_OPTION_VALUE;
92
+
93
+ /*===========================================
94
+ * Selection handlers
95
+ *==========================================*/
92
96
  const handleSingleSelection = value => {
93
97
  if (selectedItem === value) {
94
98
  setSelectedItem(null);
@@ -96,7 +100,6 @@ const DropdownSelect = _ref => {
96
100
  } else {
97
101
  setSelectedItem(value);
98
102
  onValueChange(value); //send value to parent
99
-
100
103
  setOpen(false); //close modal upon selection
101
104
  }
102
105
  };
@@ -104,99 +107,110 @@ const DropdownSelect = _ref => {
104
107
  const handleMultipleSelections = value => {
105
108
  setSelectedItems(prevVal => {
106
109
  var _selectedValues;
107
-
108
110
  let selectedValues = [...prevVal];
109
-
110
111
  if ((_selectedValues = selectedValues) !== null && _selectedValues !== void 0 && _selectedValues.includes(value)) {
111
112
  selectedValues = selectedValues.filter(item => item !== value);
112
113
  } else {
113
114
  selectedValues.push(value);
114
115
  }
115
-
116
116
  setSelectedItems(selectedValues);
117
117
  onValueChange(selectedValues); //send value to parent
118
- //select all checkbox should not be checked if the list contains disabled values
119
118
 
120
- if (options.filter(item => !item.disabled).length === selectedValues.length) {
119
+ //select all checkbox should not be checked if the list contains disabled values
120
+ if (modifiedOptions.filter(item => !item.disabled).length === selectedValues.length) {
121
121
  setSelectAll(true);
122
122
  } else {
123
123
  setSelectAll(false);
124
124
  }
125
-
126
125
  return selectedValues;
127
126
  });
128
127
  };
129
-
130
128
  const handleSelectAll = () => {
131
129
  setSelectAll(prevVal => {
132
130
  const selectedValues = [];
133
- const filteredOptions = newOptions.filter(item => !item.disabled); //don't select disabled items
134
131
 
132
+ //don't select disabled items
133
+ const filteredOptions = modifiedOptions.filter(item => !item.disabled);
135
134
  if (!prevVal) {
136
135
  for (let i = 0; i < filteredOptions.length; i++) {
137
- selectedValues.push(filteredOptions[i][optionValue]);
136
+ selectedValues.push(filteredOptions[i][optValue]);
138
137
  }
139
138
  }
140
-
141
139
  setSelectedItems(selectedValues);
142
140
  onValueChange(selectedValues); //send value to parent
143
-
144
141
  return !prevVal;
145
142
  });
146
143
  };
144
+
147
145
  /*===========================================
148
146
  * Get label handler
149
147
  *==========================================*/
150
-
151
-
152
148
  const getSelectedItemsLabel = () => {
153
149
  if (isMultiple && Array.isArray(selectedItems)) {
154
150
  let selectedLabels = [];
155
151
  selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.forEach(element => {
156
- var _options$find;
157
-
158
- let selectedItemLabel = options && ((_options$find = options.find(item => item[optionValue !== null && optionValue !== void 0 ? optionValue : _constants.DEFAULT_OPTION_VALUE] === element)) === null || _options$find === void 0 ? void 0 : _options$find[optionLabel]);
152
+ var _modifiedOptions$find;
153
+ let selectedItemLabel = modifiedOptions === null || modifiedOptions === void 0 || (_modifiedOptions$find = modifiedOptions.find(item => item[optValue] === element)) === null || _modifiedOptions$find === void 0 ? void 0 : _modifiedOptions$find[optLabel];
159
154
  selectedLabels.push(selectedItemLabel);
160
155
  });
161
156
  return selectedLabels;
162
157
  }
163
-
164
- let selectedItemLabel = options && options.find(item => item[optionValue !== null && optionValue !== void 0 ? optionValue : _constants.DEFAULT_OPTION_VALUE] === selectedItem);
165
- return selectedItemLabel === null || selectedItemLabel === void 0 ? void 0 : selectedItemLabel[optionLabel !== null && optionLabel !== void 0 ? optionLabel : _constants.DEFAULT_OPTION_LABEL];
158
+ let selectedItemLabel = modifiedOptions === null || modifiedOptions === void 0 ? void 0 : modifiedOptions.find(item => item[optValue] === selectedItem);
159
+ return selectedItemLabel === null || selectedItemLabel === void 0 ? void 0 : selectedItemLabel[optLabel];
166
160
  };
161
+
167
162
  /*===========================================
168
163
  * Search
169
164
  *==========================================*/
170
-
171
-
172
165
  const onSearch = value => {
173
166
  setSearchValue(value);
174
167
  let searchText = value.toString().toLocaleLowerCase().trim();
175
168
  const regexFilter = new RegExp(searchText, 'i');
176
- const searchResults = options.filter(item => {
177
- if (item[optionLabel !== null && optionLabel !== void 0 ? optionLabel : _constants.DEFAULT_OPTION_LABEL].toString().toLowerCase().search(regexFilter) !== -1 || item[optionValue !== null && optionValue !== void 0 ? optionValue : _constants.DEFAULT_OPTION_VALUE].toString(regexFilter).toLowerCase().search(regexFilter) !== -1) {
169
+
170
+ //Because Search mutates the initial state, we have to search with a copy of the original array
171
+ const optionsCopy = JSON.parse(JSON.stringify(options));
172
+ const searchResults = isSectionList ? searchSectionList(optionsCopy, regexFilter) : searchFlatList(optionsCopy, regexFilter);
173
+ setNewOptions(searchResults);
174
+ };
175
+ const searchFlatList = (flatList, regexFilter) => {
176
+ const searchResults = flatList.filter(item => {
177
+ if (item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optValue].toString().toLowerCase().search(regexFilter) !== -1) {
178
178
  return item;
179
179
  }
180
+ return;
180
181
  });
181
- setNewOptions(searchResults);
182
+ return searchResults;
183
+ };
184
+ const searchSectionList = (sectionList, regexFilter) => {
185
+ const searchResults = sectionList.map(listItem => {
186
+ listItem.data = listItem.data.filter(item => {
187
+ if (item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 || item[optValue].toString().toLowerCase().search(regexFilter) !== -1) {
188
+ return listItem.data.push(item);
189
+ }
190
+ return;
191
+ });
192
+ return listItem;
193
+ });
194
+ return searchResults;
182
195
  };
196
+
183
197
  /*===========================================
184
198
  * Modal
185
199
  *==========================================*/
186
-
187
-
188
200
  const handleToggleModal = () => {
189
201
  setOpen(!open);
190
202
  setSearchValue('');
191
203
  setNewOptions(options);
192
204
  };
193
-
194
205
  (0, _react.useEffect)(() => {
195
206
  if (hideModal) {
196
207
  setOpen(false);
197
208
  }
209
+ return () => {};
198
210
  }, [hideModal]);
199
211
  let primary = primaryColor || _colors.colors.gray;
212
+ const sectionListMaxLength = (0, _utils.getMaxLengthOfSectionListProperty)(newOptions, 'data');
213
+ const listIsEmpty = isSectionList ? sectionListMaxLength > 1 : newOptions.length > 1;
200
214
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Dropdown.default, _extends({
201
215
  label: label,
202
216
  placeholder: placeholder,
@@ -227,13 +241,13 @@ const DropdownSelect = _ref => {
227
241
  modalOptionsContainerStyle: modalOptionsContainerStyle,
228
242
  onRequestClose: () => {},
229
243
  modalProps: modalProps
230
- }, /*#__PURE__*/_react.default.createElement(_DropdownList.default, {
231
- ListHeaderComponent: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && /*#__PURE__*/_react.default.createElement(_Input.Input, {
244
+ }, /*#__PURE__*/_react.default.createElement(ListTypeComponent, {
245
+ ListHeaderComponent: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSearchable && /*#__PURE__*/_react.default.createElement(_Input.default, {
232
246
  value: searchValue,
233
247
  onChangeText: text => onSearch(text),
234
248
  style: searchInputStyle,
235
249
  primaryColor: primary
236
- }), listHeaderComponent, isMultiple && newOptions.length > 1 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
250
+ }), listHeaderComponent, isMultiple && listIsEmpty && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
237
251
  style: styles.optionsContainerStyle
238
252
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
239
253
  onPress: () => {}
@@ -244,12 +258,14 @@ const DropdownSelect = _ref => {
244
258
  primaryColor: primary,
245
259
  checkboxSize: checkboxSize,
246
260
  checkboxStyle: checkboxStyle,
247
- checkboxLabelStyle: checkboxLabelStyle
261
+ checkboxLabelStyle: checkboxLabelStyle,
262
+ checkboxComponentStyles: checkboxComponentStyles
248
263
  })))),
249
264
  ListFooterComponent: listFooterComponent,
265
+ listComponentStyles: listComponentStyles,
250
266
  options: newOptions,
251
- optionLabel: optionLabel,
252
- optionValue: optionValue,
267
+ optionLabel: optLabel,
268
+ optionValue: optValue,
253
269
  isMultiple: isMultiple,
254
270
  isSearchable: isSearchable,
255
271
  selectedItems: selectedItems,
@@ -259,12 +275,11 @@ const DropdownSelect = _ref => {
259
275
  primaryColor: primary,
260
276
  checkboxSize: checkboxSize,
261
277
  checkboxStyle: checkboxStyle,
262
- checkboxLabelStyle: checkboxLabelStyle
278
+ checkboxLabelStyle: checkboxLabelStyle,
279
+ checkboxComponentStyles: checkboxComponentStyles
263
280
  })));
264
281
  };
265
-
266
282
  exports.DropdownSelect = DropdownSelect;
267
-
268
283
  const styles = _reactNative.StyleSheet.create({
269
284
  optionsContainerStyle: {
270
285
  paddingHorizontal: 20,
@@ -272,7 +287,6 @@ const styles = _reactNative.StyleSheet.create({
272
287
  flexDirection: 'row'
273
288
  }
274
289
  });
275
-
276
290
  var _default = DropdownSelect;
277
291
  exports.default = _default;
278
292
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["DropdownSelect","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainerStyle","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","listHeaderComponent","listFooterComponent","modalProps","hideModal","rest","newOptions","setNewOptions","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","searchValue","setSearchValue","Array","isArray","handleSingleSelection","value","handleMultipleSelections","prevVal","selectedValues","includes","filter","item","push","length","handleSelectAll","filteredOptions","i","getSelectedItemsLabel","selectedLabels","forEach","element","selectedItemLabel","find","DEFAULT_OPTION_VALUE","DEFAULT_OPTION_LABEL","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","searchResults","toLowerCase","search","handleToggleModal","primary","colors","gray","text","styles","optionsContainerStyle","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownList from './components/Dropdown/DropdownList';\nimport CustomModal from './components/CustomModal';\nimport { Input } from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type { DropdownProps } from './types/index.types';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n listHeaderComponent,\n listFooterComponent,\n modalProps,\n hideModal = false,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<any[]>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); //for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); //for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n\n useEffect(() => {\n if (options) {\n setNewOptions(options);\n }\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: any) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); //send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); //send value to parent\n setOpen(false); //close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: any) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n\n //select all checkbox should not be checked if the list contains disabled values\n if (\n options.filter((item) => !item.disabled).length ===\n selectedValues.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n return selectedValues;\n });\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n const filteredOptions = newOptions.filter((item) => !item.disabled); //don't select disabled items\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optionValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n return !prevVal;\n });\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n selectedItems?.forEach((element: any) => {\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) => item[optionValue ?? DEFAULT_OPTION_VALUE] === element\n )?.[optionLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel =\n options &&\n options.find(\n (item: any) =>\n item[optionValue ?? DEFAULT_OPTION_VALUE] === selectedItem\n );\n return selectedItemLabel?.[optionLabel ?? DEFAULT_OPTION_LABEL];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n const searchResults = options.filter((item: any) => {\n if (\n item[optionLabel ?? DEFAULT_OPTION_LABEL]\n .toString()\n .toLowerCase()\n .search(regexFilter) !== -1 ||\n item[optionValue ?? DEFAULT_OPTION_VALUE]\n .toString(regexFilter)\n .toLowerCase()\n .search(regexFilter) !== -1\n ) {\n return item;\n }\n });\n\n setNewOptions(searchResults);\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => {}}\n modalProps={modalProps}\n >\n <DropdownList\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n {listHeaderComponent}\n {isMultiple && newOptions.length > 1 && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={selectAll ? 'Clear all' : 'Select all'}\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n options={newOptions}\n optionLabel={optionLabel}\n optionValue={optionValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_Input","_interopRequireDefault","_CheckBox","_Dropdown","_DropdownFlatList","_DropdownSectionList","_CustomModal","_colors","_constants","_utils","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","DropdownSelect","_ref","placeholder","label","error","helperText","options","optionLabel","optionValue","onValueChange","selectedValue","isMultiple","isSearchable","dropdownIcon","labelStyle","placeholderStyle","dropdownStyle","dropdownIconStyle","dropdownContainerStyle","dropdownErrorStyle","dropdownErrorTextStyle","dropdownHelperTextStyle","selectedItemStyle","multipleSelectedItemStyle","modalBackgroundStyle","modalOptionsContainerStyle","searchInputStyle","primaryColor","disabled","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","listHeaderComponent","listFooterComponent","listComponentStyles","modalProps","hideModal","rest","newOptions","setNewOptions","useState","open","setOpen","selectAll","setSelectAll","selectedItem","setSelectedItem","selectedItems","setSelectedItems","searchValue","setSearchValue","useEffect","Array","isArray","isSectionList","some","item","title","data","ListTypeComponent","DropdownSectionList","DropdownFlatList","modifiedSectionData","extractPropertyFromArray","flat","modifiedOptions","optLabel","DEFAULT_OPTION_LABEL","optValue","DEFAULT_OPTION_VALUE","handleSingleSelection","value","handleMultipleSelections","prevVal","_selectedValues","selectedValues","includes","filter","push","handleSelectAll","filteredOptions","getSelectedItemsLabel","selectedLabels","forEach","element","_modifiedOptions$find","selectedItemLabel","find","onSearch","searchText","toString","toLocaleLowerCase","trim","regexFilter","RegExp","optionsCopy","JSON","parse","stringify","searchResults","searchSectionList","searchFlatList","flatList","toLowerCase","search","sectionList","map","listItem","handleToggleModal","primary","colors","gray","sectionListMaxLength","getMaxLengthOfSectionListProperty","listIsEmpty","createElement","Fragment","onRequestClose","ListHeaderComponent","onChangeText","text","style","View","styles","optionsContainerStyle","TouchableOpacity","onPress","onChange","ListFooterComponent","exports","StyleSheet","create","paddingHorizontal","paddingVertical","flexDirection","_default"],"sources":["index.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { TouchableOpacity, StyleSheet, View } from 'react-native';\nimport Input from './components/Input';\nimport CheckBox from './components/CheckBox';\nimport Dropdown from './components/Dropdown/Dropdown';\nimport DropdownFlatList from './components/Dropdown/DropdownFlatList';\nimport DropdownSectionList from './components/Dropdown/DropdownSectionList';\nimport CustomModal from './components/CustomModal';\nimport { colors } from './styles/colors';\nimport { DEFAULT_OPTION_LABEL, DEFAULT_OPTION_VALUE } from './constants';\nimport type {\n DropdownProps,\n TFlatList,\n TFlatListItem,\n TSectionList,\n TSectionListItem,\n} from './types/index.types';\nimport {\n extractPropertyFromArray,\n getMaxLengthOfSectionListProperty,\n} from './utils';\n\nexport const DropdownSelect: React.FC<DropdownProps> = ({\n placeholder,\n label,\n error,\n helperText,\n options,\n optionLabel,\n optionValue,\n onValueChange,\n selectedValue,\n isMultiple,\n isSearchable,\n dropdownIcon,\n labelStyle,\n placeholderStyle,\n dropdownStyle,\n dropdownIconStyle,\n dropdownContainerStyle,\n dropdownErrorStyle,\n dropdownErrorTextStyle,\n dropdownHelperTextStyle,\n selectedItemStyle,\n multipleSelectedItemStyle,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n searchInputStyle,\n primaryColor,\n disabled,\n checkboxSize, // kept for backwards compatibility\n checkboxStyle, // kept for backwards compatibility\n checkboxLabelStyle, // kept for backwards compatibility\n checkboxComponentStyles,\n listHeaderComponent,\n listFooterComponent,\n listComponentStyles,\n modalProps,\n hideModal = false,\n ...rest\n}) => {\n const [newOptions, setNewOptions] = useState<TFlatList | TSectionList>([]);\n const [open, setOpen] = useState<boolean>(false);\n const [selectAll, setSelectAll] = useState<boolean>(false);\n const [selectedItem, setSelectedItem] = useState<any>(''); //for single selection\n const [selectedItems, setSelectedItems] = useState<any[]>([]); //for multiple selection\n const [searchValue, setSearchValue] = useState<string>('');\n\n useEffect(() => {\n if (options) {\n setNewOptions(options);\n }\n return () => {};\n }, [options]);\n\n useEffect(() => {\n isMultiple\n ? setSelectedItems(Array.isArray(selectedValue) ? selectedValue : [])\n : setSelectedItem(selectedValue);\n\n return () => {};\n }, [selectedValue, isMultiple, onValueChange]);\n\n /*===========================================\n * List type\n *==========================================*/\n\n const isSectionList = newOptions.some(\n (item) => item.title && item.data && Array.isArray(item.data)\n );\n\n const ListTypeComponent = isSectionList\n ? DropdownSectionList\n : DropdownFlatList;\n let modifiedSectionData = extractPropertyFromArray(newOptions, 'data').flat();\n let modifiedOptions = isSectionList ? modifiedSectionData : newOptions;\n\n const optLabel = optionLabel || DEFAULT_OPTION_LABEL;\n const optValue = optionValue || DEFAULT_OPTION_VALUE;\n\n /*===========================================\n * Selection handlers\n *==========================================*/\n const handleSingleSelection = (value: string | number) => {\n if (selectedItem === value) {\n setSelectedItem(null);\n onValueChange(null); //send value to parent\n } else {\n setSelectedItem(value);\n onValueChange(value); //send value to parent\n setOpen(false); //close modal upon selection\n }\n };\n\n const handleMultipleSelections = (value: string[] | number[]) => {\n setSelectedItems((prevVal) => {\n let selectedValues = [...prevVal];\n\n if (selectedValues?.includes(value)) {\n selectedValues = selectedValues.filter((item) => item !== value);\n } else {\n selectedValues.push(value);\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n\n //select all checkbox should not be checked if the list contains disabled values\n if (\n modifiedOptions.filter((item: TFlatListItem) => !item.disabled)\n .length === selectedValues.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n return selectedValues;\n });\n };\n\n const handleSelectAll = () => {\n setSelectAll((prevVal) => {\n const selectedValues = [];\n\n //don't select disabled items\n const filteredOptions = modifiedOptions.filter(\n (item: TFlatListItem) => !item.disabled\n );\n\n if (!prevVal) {\n for (let i = 0; i < filteredOptions.length; i++) {\n selectedValues.push(filteredOptions[i][optValue]);\n }\n }\n\n setSelectedItems(selectedValues);\n onValueChange(selectedValues); //send value to parent\n return !prevVal;\n });\n };\n\n /*===========================================\n * Get label handler\n *==========================================*/\n const getSelectedItemsLabel = () => {\n if (isMultiple && Array.isArray(selectedItems)) {\n let selectedLabels: Array<string> = [];\n\n selectedItems?.forEach((element: number | string) => {\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === element\n )?.[optLabel];\n selectedLabels.push(selectedItemLabel);\n });\n return selectedLabels;\n }\n\n let selectedItemLabel = modifiedOptions?.find(\n (item: TFlatListItem) => item[optValue] === selectedItem\n );\n return selectedItemLabel?.[optLabel];\n };\n\n /*===========================================\n * Search\n *==========================================*/\n const onSearch = (value: string) => {\n setSearchValue(value);\n\n let searchText = value.toString().toLocaleLowerCase().trim();\n\n const regexFilter = new RegExp(searchText, 'i');\n\n //Because Search mutates the initial state, we have to search with a copy of the original array\n const optionsCopy = JSON.parse(JSON.stringify(options));\n const searchResults = isSectionList\n ? searchSectionList(optionsCopy as TSectionList, regexFilter)\n : searchFlatList(optionsCopy as TFlatList, regexFilter);\n\n setNewOptions(searchResults);\n };\n\n const searchFlatList = (flatList: TFlatList, regexFilter: RegExp) => {\n const searchResults = flatList.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return item;\n }\n return;\n });\n return searchResults;\n };\n\n const searchSectionList = (\n sectionList: TSectionList,\n regexFilter: RegExp\n ) => {\n const searchResults = sectionList.map((listItem: TSectionListItem) => {\n listItem.data = listItem.data.filter((item: TFlatListItem) => {\n if (\n item[optLabel].toString().toLowerCase().search(regexFilter) !== -1 ||\n item[optValue].toString().toLowerCase().search(regexFilter) !== -1\n ) {\n return listItem.data.push(item);\n }\n return;\n });\n\n return listItem;\n });\n\n return searchResults;\n };\n\n /*===========================================\n * Modal\n *==========================================*/\n const handleToggleModal = () => {\n setOpen(!open);\n setSearchValue('');\n setNewOptions(options);\n };\n\n useEffect(() => {\n if (hideModal) {\n setOpen(false);\n }\n return () => {};\n }, [hideModal]);\n\n let primary = primaryColor || colors.gray;\n\n const sectionListMaxLength = getMaxLengthOfSectionListProperty(\n newOptions as TSectionList,\n 'data'\n );\n\n const listIsEmpty = isSectionList\n ? sectionListMaxLength > 1\n : newOptions.length > 1;\n\n return (\n <>\n <Dropdown\n label={label}\n placeholder={placeholder}\n helperText={helperText}\n error={error}\n getSelectedItemsLabel={getSelectedItemsLabel}\n selectedItem={selectedItem}\n selectedItems={selectedItems}\n handleToggleModal={handleToggleModal}\n labelStyle={labelStyle}\n dropdownIcon={dropdownIcon}\n dropdownStyle={dropdownStyle}\n dropdownIconStyle={dropdownIconStyle}\n dropdownContainerStyle={dropdownContainerStyle}\n dropdownErrorStyle={dropdownErrorStyle}\n dropdownErrorTextStyle={dropdownErrorTextStyle}\n dropdownHelperTextStyle={dropdownHelperTextStyle}\n selectedItemStyle={selectedItemStyle}\n multipleSelectedItemStyle={multipleSelectedItemStyle}\n isMultiple={isMultiple}\n primaryColor={primary}\n disabled={disabled}\n placeholderStyle={placeholderStyle}\n {...rest}\n />\n <CustomModal\n open={open}\n handleToggleModal={handleToggleModal}\n modalBackgroundStyle={modalBackgroundStyle}\n modalOptionsContainerStyle={modalOptionsContainerStyle}\n onRequestClose={() => {}}\n modalProps={modalProps}\n >\n <ListTypeComponent\n ListHeaderComponent={\n <>\n {isSearchable && (\n <Input\n value={searchValue}\n onChangeText={(text: string) => onSearch(text)}\n style={searchInputStyle}\n primaryColor={primary}\n />\n )}\n {listHeaderComponent}\n {isMultiple && listIsEmpty && (\n <View style={styles.optionsContainerStyle}>\n <TouchableOpacity onPress={() => {}}>\n <CheckBox\n value={selectAll}\n label={selectAll ? 'Clear all' : 'Select all'}\n onChange={() => handleSelectAll()}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n />\n </TouchableOpacity>\n </View>\n )}\n </>\n }\n ListFooterComponent={listFooterComponent}\n listComponentStyles={listComponentStyles}\n options={newOptions}\n optionLabel={optLabel}\n optionValue={optValue}\n isMultiple={isMultiple}\n isSearchable={isSearchable}\n selectedItems={selectedItems}\n selectedItem={selectedItem}\n handleMultipleSelections={handleMultipleSelections}\n handleSingleSelection={handleSingleSelection}\n primaryColor={primary}\n checkboxSize={checkboxSize}\n checkboxStyle={checkboxStyle}\n checkboxLabelStyle={checkboxLabelStyle}\n checkboxComponentStyles={checkboxComponentStyles}\n />\n </CustomModal>\n </>\n );\n};\n\nconst styles = StyleSheet.create({\n optionsContainerStyle: {\n paddingHorizontal: 20,\n paddingVertical: 10,\n flexDirection: 'row',\n },\n});\n\nexport default DropdownSelect;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["colors.ts"],"names":["colors","primary","red","black","white","dark","gray","lightGray","disabled"],"mappings":";;;;;;AAAO,MAAMA,MAAW,GAAG;AACzBC,EAAAA,OAAO,EAAE,OADgB;AAEzBC,EAAAA,GAAG,EAAE,SAFoB;AAGzBC,EAAAA,KAAK,EAAE,SAHkB;AAIzBC,EAAAA,KAAK,EAAE,SAJkB;AAKzBC,EAAAA,IAAI,EAAE,SALmB;AAMzBC,EAAAA,IAAI,EAAE,SANmB;AAOzBC,EAAAA,SAAS,EAAE,SAPc;AAQzBC,EAAAA,QAAQ,EAAE;AARe,CAApB","sourcesContent":["export const colors: any = {\n primary: 'green',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n disabled: '#d3d3d3',\n};\n"]}
1
+ {"version":3,"names":["colors","primary","red","black","white","dark","gray","lightGray","disabled","exports"],"sources":["colors.ts"],"sourcesContent":["export const colors: any = {\n primary: 'green',\n red: '#FA4169',\n black: '#000000',\n white: '#FFFFFF',\n dark: '#11142D',\n gray: '#808191',\n lightGray: '#F7F7F7',\n disabled: '#d3d3d3',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,MAAW,GAAG;EACzBC,OAAO,EAAE,OAAO;EAChBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,SAAS;EACfC,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,SAAS;EACpBC,QAAQ,EAAE;AACZ,CAAC;AAACC,OAAA,CAAAT,MAAA,GAAAA,MAAA"}
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.inputStyles = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  var _colors = require("./colors");
11
-
12
9
  const inputStyles = _reactNative.StyleSheet.create({
13
10
  input: {
14
11
  paddingVertical: 18,
@@ -32,6 +29,5 @@ const inputStyles = _reactNative.StyleSheet.create({
32
29
  borderColor: _colors.colors.primary
33
30
  }
34
31
  });
35
-
36
32
  exports.inputStyles = inputStyles;
37
33
  //# sourceMappingURL=input.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["input.ts"],"names":["inputStyles","StyleSheet","create","input","paddingVertical","paddingHorizontal","backgroundColor","colors","lightGray","borderRadius","borderColor","dark","borderWidth","color","width","minHeight","inputFocusErrorState","borderStyle","red","inputFocusState","primary"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,WAAgB,GAAGC,wBAAWC,MAAX,CAAkB;AAChDC,EAAAA,KAAK,EAAE;AACLC,IAAAA,eAAe,EAAE,EADZ;AAELC,IAAAA,iBAAiB,EAAE,EAFd;AAGLC,IAAAA,eAAe,EAAEC,eAAOC,SAHnB;AAILC,IAAAA,YAAY,EAAE,CAJT;AAKLC,IAAAA,WAAW,EAAEH,eAAOI,IALf;AAMLC,IAAAA,WAAW,EAAE,CANR;AAOLC,IAAAA,KAAK,EAAEN,eAAOI,IAPT;AAQLG,IAAAA,KAAK,EAAE,MARF;AASLC,IAAAA,SAAS,EAAE;AATN,GADyC;AAYhDC,EAAAA,oBAAoB,EAAE;AACpBJ,IAAAA,WAAW,EAAE,CADO;AAEpBK,IAAAA,WAAW,EAAE,OAFO;AAGpBP,IAAAA,WAAW,EAAEH,eAAOW;AAHA,GAZ0B;AAiBhDC,EAAAA,eAAe,EAAE;AACfP,IAAAA,WAAW,EAAE,CADE;AAEfK,IAAAA,WAAW,EAAE,OAFE;AAGfP,IAAAA,WAAW,EAAEH,eAAOa;AAHL;AAjB+B,CAAlB,CAAzB","sourcesContent":["import { StyleSheet } from 'react-native';\nimport { colors } from './colors';\n\nexport const inputStyles: any = StyleSheet.create({\n input: {\n paddingVertical: 18,\n paddingHorizontal: 23,\n backgroundColor: colors.lightGray,\n borderRadius: 8,\n borderColor: colors.dark,\n borderWidth: 1,\n color: colors.dark,\n width: '100%',\n minHeight: 64,\n },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n inputFocusState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.primary,\n },\n});\n"]}
1
+ {"version":3,"names":["_reactNative","require","_colors","inputStyles","StyleSheet","create","input","paddingVertical","paddingHorizontal","backgroundColor","colors","lightGray","borderRadius","borderColor","dark","borderWidth","color","width","minHeight","inputFocusErrorState","borderStyle","red","inputFocusState","primary","exports"],"sources":["input.ts"],"sourcesContent":["import { StyleSheet } from 'react-native';\nimport { colors } from './colors';\n\nexport const inputStyles: any = StyleSheet.create({\n input: {\n paddingVertical: 18,\n paddingHorizontal: 23,\n backgroundColor: colors.lightGray,\n borderRadius: 8,\n borderColor: colors.dark,\n borderWidth: 1,\n color: colors.dark,\n width: '100%',\n minHeight: 64,\n },\n inputFocusErrorState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.red,\n },\n inputFocusState: {\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: colors.primary,\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,MAAME,WAAgB,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAChDC,KAAK,EAAE;IACLC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAEC,cAAM,CAACC,SAAS;IACjCC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAEH,cAAM,CAACI,IAAI;IACxBC,WAAW,EAAE,CAAC;IACdC,KAAK,EAAEN,cAAM,CAACI,IAAI;IAClBG,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACb,CAAC;EACDC,oBAAoB,EAAE;IACpBJ,WAAW,EAAE,CAAC;IACdK,WAAW,EAAE,OAAO;IACpBP,WAAW,EAAEH,cAAM,CAACW;EACtB,CAAC;EACDC,eAAe,EAAE;IACfP,WAAW,EAAE,CAAC;IACdK,WAAW,EAAE,OAAO;IACpBP,WAAW,EAAEH,cAAM,CAACa;EACtB;AACF,CAAC,CAAC;AAACC,OAAA,CAAArB,WAAA,GAAAA,WAAA"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.typography = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  const typography = _reactNative.StyleSheet.create({
11
9
  caption: {
12
10
  fontStyle: 'normal',
@@ -15,6 +13,5 @@ const typography = _reactNative.StyleSheet.create({
15
13
  lineHeight: 15
16
14
  }
17
15
  });
18
-
19
16
  exports.typography = typography;
20
17
  //# sourceMappingURL=typography.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["typography.ts"],"names":["typography","StyleSheet","create","caption","fontStyle","fontWeight","fontSize","lineHeight"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,UAAe,GAAGC,wBAAWC,MAAX,CAAkB;AAC/CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,SAAS,EAAE,QADJ;AAEPC,IAAAA,UAAU,EAAE,QAFL;AAGPC,IAAAA,QAAQ,EAAE,EAHH;AAIPC,IAAAA,UAAU,EAAE;AAJL;AADsC,CAAlB,CAAxB","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const typography: any = StyleSheet.create({\n caption: {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 12,\n lineHeight: 15,\n },\n});\n"]}
1
+ {"version":3,"names":["_reactNative","require","typography","StyleSheet","create","caption","fontStyle","fontWeight","fontSize","lineHeight","exports"],"sources":["typography.ts"],"sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const typography: any = StyleSheet.create({\n caption: {\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontSize: 12,\n lineHeight: 15,\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,UAAe,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/CC,OAAO,EAAE;IACPC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,QAAQ;IACpBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["index.types.ts"],"sourcesContent":["import type {\n ViewStyle,\n ColorValue,\n TextStyle,\n ModalProps,\n} from 'react-native';\n\nexport type DropdownProps = {\n placeholder?: string;\n label?: string;\n error?: string;\n helperText?: string;\n options: TFlatList | TSectionList;\n optionLabel?: string;\n optionValue?: string;\n onValueChange: Function;\n selectedValue?:\n | string\n | boolean\n | number\n | string[]\n | boolean[]\n | number[]\n | null;\n isMultiple?: boolean;\n isSearchable?: boolean;\n dropdownIcon?: React.ReactNode;\n labelStyle?: TextStyle;\n dropdownStyle?: ViewStyle;\n dropdownIconStyle?: ViewStyle;\n dropdownContainerStyle?: ViewStyle;\n dropdownErrorStyle?: ViewStyle;\n dropdownErrorTextStyle?: TextStyle;\n dropdownHelperTextStyle?: TextStyle;\n selectedItemStyle?: TextStyle;\n multipleSelectedItemStyle?: TextStyle;\n modalBackgroundStyle?: ViewStyle;\n modalOptionsContainerStyle?: ViewStyle;\n searchInputStyle?: ViewStyle;\n primaryColor?: ColorValue;\n disabled?: boolean;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n checkboxComponentStyles?: {\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n };\n placeholderStyle?: TextStyle;\n listHeaderComponent?: React.ReactNode;\n listFooterComponent?: React.ReactNode;\n hideModal?: boolean;\n modalProps?: ModalProps;\n listComponentStyles?: {\n listEmptyComponentStyle?: TextStyle;\n itemSeparatorStyle?: ViewStyle;\n sectionHeaderStyle?: TextStyle;\n };\n};\n\nexport type TFlatList = TFlatListItem[];\nexport type TFlatListItem = {\n [key: string]: string | number | boolean;\n}\n\nexport type TSectionList = TSectionListItem[];\nexport type TSectionListItem = { title: string; data: TFlatList };\n"],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getMaxLengthOfSectionListProperty = exports.extractPropertyFromArray = void 0;
7
+ /**
8
+ * Extract property from array
9
+ */
10
+ const extractPropertyFromArray = (arr, property) => {
11
+ let extractedValue = arr.map(item => item[property]);
12
+ return extractedValue;
13
+ };
14
+ exports.extractPropertyFromArray = extractPropertyFromArray;
15
+ const getMaxLengthOfSectionListProperty = (sectionList, property) => {
16
+ let maxLength = 0;
17
+ sectionList.forEach(obj => {
18
+ var _obj$property;
19
+ if (((_obj$property = obj[property]) === null || _obj$property === void 0 ? void 0 : _obj$property.length) > maxLength) {
20
+ maxLength = obj.data.length;
21
+ }
22
+ });
23
+ return maxLength;
24
+ };
25
+ exports.getMaxLengthOfSectionListProperty = getMaxLengthOfSectionListProperty;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["extractPropertyFromArray","arr","property","extractedValue","map","item","exports","getMaxLengthOfSectionListProperty","sectionList","maxLength","forEach","obj","_obj$property","length","data"],"sources":["index.ts"],"sourcesContent":["import { TSectionList } from 'src/types/index.types';\n\n/**\n * Extract property from array\n */\nexport const extractPropertyFromArray = (arr: any, property: string) => {\n let extractedValue = arr.map((item: any) => item[property]);\n\n return extractedValue;\n};\n\nexport const getMaxLengthOfSectionListProperty = (\n sectionList: TSectionList,\n property: 'title' | 'data'\n) => {\n let maxLength = 0;\n\n sectionList.forEach((obj) => {\n if (obj[property]?.length > maxLength) {\n maxLength = obj.data.length;\n }\n });\n\n return maxLength;\n};\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,wBAAwB,GAAGA,CAACC,GAAQ,EAAEC,QAAgB,KAAK;EACtE,IAAIC,cAAc,GAAGF,GAAG,CAACG,GAAG,CAAEC,IAAS,IAAKA,IAAI,CAACH,QAAQ,CAAC,CAAC;EAE3D,OAAOC,cAAc;AACvB,CAAC;AAACG,OAAA,CAAAN,wBAAA,GAAAA,wBAAA;AAEK,MAAMO,iCAAiC,GAAGA,CAC/CC,WAAyB,EACzBN,QAA0B,KACvB;EACH,IAAIO,SAAS,GAAG,CAAC;EAEjBD,WAAW,CAACE,OAAO,CAAEC,GAAG,IAAK;IAAA,IAAAC,aAAA;IAC3B,IAAI,EAAAA,aAAA,GAAAD,GAAG,CAACT,QAAQ,CAAC,cAAAU,aAAA,uBAAbA,aAAA,CAAeC,MAAM,IAAGJ,SAAS,EAAE;MACrCA,SAAS,GAAGE,GAAG,CAACG,IAAI,CAACD,MAAM;IAC7B;EACF,CAAC,CAAC;EAEF,OAAOJ,SAAS;AAClB,CAAC;AAACH,OAAA,CAAAC,iCAAA,GAAAA,iCAAA"}
@@ -3,8 +3,14 @@ import React from 'react';
3
3
  import { Pressable, Text, StyleSheet, Image, View } from 'react-native';
4
4
  import { colors } from '../../styles/colors';
5
5
  import { CHECKBOX_SIZE } from '../../constants';
6
+ /**
7
+ *
8
+ *`checkboxSize`, `checkboxStyle`,`checkboxLabelStyle` Will be deleted in version 1.0.
9
+ * and replaced with `checkboxComponentStyles`
10
+ */
6
11
 
7
12
  const CheckBox = _ref => {
13
+ var _checkboxComponentSty, _checkboxComponentSty2;
8
14
  let {
9
15
  label,
10
16
  value,
@@ -13,11 +19,14 @@ const CheckBox = _ref => {
13
19
  checkboxSize,
14
20
  checkboxStyle,
15
21
  checkboxLabelStyle,
22
+ checkboxComponentStyles,
16
23
  onChange
17
24
  } = _ref;
25
+ // const { checkboxSize, checkboxStyle, checkboxLabelStyle } =
26
+ // checkboxComponentStyles;
18
27
  const fillColor = {
19
- backgroundColor: disabled ? '#d3d3d3' : value ? (checkboxStyle === null || checkboxStyle === void 0 ? void 0 : checkboxStyle.backgroundColor) || primaryColor || 'green' : 'white',
20
- borderColor: disabled ? colors.disabled : styles.checkbox.borderColor
28
+ backgroundColor: disabled ? '#d3d3d3' : value ? (checkboxComponentStyles === null || checkboxComponentStyles === void 0 || (_checkboxComponentSty = checkboxComponentStyles.checkboxStyle) === null || _checkboxComponentSty === void 0 ? void 0 : _checkboxComponentSty.backgroundColor) || (checkboxStyle === null || checkboxStyle === void 0 ? void 0 : checkboxStyle.backgroundColor) || primaryColor || 'green' : 'white',
29
+ borderColor: disabled ? colors.disabled : (checkboxComponentStyles === null || checkboxComponentStyles === void 0 || (_checkboxComponentSty2 = checkboxComponentStyles.checkboxStyle) === null || _checkboxComponentSty2 === void 0 ? void 0 : _checkboxComponentSty2.borderColor) || (checkboxStyle === null || checkboxStyle === void 0 ? void 0 : checkboxStyle.borderColor) || styles.checkbox.borderColor
21
30
  };
22
31
  return /*#__PURE__*/React.createElement(Pressable, {
23
32
  onPress: onChange ? () => onChange(!value) : null,
@@ -28,14 +37,13 @@ const CheckBox = _ref => {
28
37
  }, /*#__PURE__*/React.createElement(Image, {
29
38
  source: require('../../asset/check.png'),
30
39
  style: [{
31
- height: checkboxSize || CHECKBOX_SIZE,
32
- width: checkboxSize || CHECKBOX_SIZE
40
+ height: (checkboxComponentStyles === null || checkboxComponentStyles === void 0 ? void 0 : checkboxComponentStyles.checkboxSize) || checkboxSize || CHECKBOX_SIZE,
41
+ width: (checkboxComponentStyles === null || checkboxComponentStyles === void 0 ? void 0 : checkboxComponentStyles.checkboxSize) || checkboxSize || CHECKBOX_SIZE
33
42
  }]
34
43
  })), label && /*#__PURE__*/React.createElement(Text, {
35
- style: [checkboxLabelStyle, styles.labelStyle]
44
+ style: [(checkboxComponentStyles === null || checkboxComponentStyles === void 0 ? void 0 : checkboxComponentStyles.checkboxLabelStyle) || checkboxLabelStyle, styles.labelStyle]
36
45
  }, label));
37
46
  };
38
-
39
47
  const styles = StyleSheet.create({
40
48
  checkboxContainer: {
41
49
  flexDirection: 'row',
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["React","Pressable","Text","StyleSheet","Image","View","colors","CHECKBOX_SIZE","CheckBox","label","value","disabled","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","onChange","fillColor","backgroundColor","borderColor","styles","checkbox","checkboxContainer","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","marginLeft"],"mappings":"AAAA;AACA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,IAApB,EAA0BC,UAA1B,EAAsCC,KAAtC,EAA6CC,IAA7C,QAAyD,cAAzD;AACA,SAASC,MAAT,QAAuB,qBAAvB;AACA,SAASC,aAAT,QAA8B,iBAA9B;;AAGA,MAAMC,QAAQ,GAAG,QASI;AAAA,MATH;AAChBC,IAAAA,KADgB;AAEhBC,IAAAA,KAFgB;AAGhBC,IAAAA,QAHgB;AAIhBC,IAAAA,YAJgB;AAKhBC,IAAAA,YALgB;AAMhBC,IAAAA,aANgB;AAOhBC,IAAAA,kBAPgB;AAQhBC,IAAAA;AARgB,GASG;AACnB,QAAMC,SAAS,GAAG;AAChBC,IAAAA,eAAe,EAAEP,QAAQ,GACrB,SADqB,GAErBD,KAAK,GACL,CAAAI,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEI,eAAf,KAAkCN,YAAlC,IAAkD,OAD7C,GAEL,OALY;AAMhBO,IAAAA,WAAW,EAAER,QAAQ,GAAGL,MAAM,CAACK,QAAV,GAAqBS,MAAM,CAACC,QAAP,CAAgBF;AAN1C,GAAlB;AASA,sBACE,oBAAC,SAAD;AACE,IAAA,OAAO,EAAEH,QAAQ,GAAG,MAAMA,QAAQ,CAAC,CAACN,KAAF,CAAjB,GAA4B,IAD/C;AAEE,IAAA,KAAK,EAAE,CAACU,MAAM,CAACE,iBAAR,CAFT;AAGE,IAAA,QAAQ,EAAEX;AAHZ,kBAKE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACS,MAAM,CAACC,QAAR,EAAkBP,aAAlB,EAAiCG,SAAjC;AAAb,kBACE,oBAAC,KAAD;AACE,IAAA,MAAM,EAAEM,OAAO,CAAC,uBAAD,CADjB;AAEE,IAAA,KAAK,EAAE,CACL;AACEC,MAAAA,MAAM,EAAEX,YAAY,IAAIN,aAD1B;AAEEkB,MAAAA,KAAK,EAAEZ,YAAY,IAAIN;AAFzB,KADK;AAFT,IADF,CALF,EAgBGE,KAAK,iBACJ,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACM,kBAAD,EAAqBK,MAAM,CAACM,UAA5B;AAAb,KAAuDjB,KAAvD,CAjBJ,CADF;AAsBD,CAzCD;;AA2CA,MAAMW,MAAM,GAAGjB,UAAU,CAACwB,MAAX,CAAkB;AAC/BL,EAAAA,iBAAiB,EAAE;AACjBM,IAAAA,aAAa,EAAE,KADE;AAEjBC,IAAAA,QAAQ,EAAE,QAFO;AAGjBC,IAAAA,UAAU,EAAE;AAHK,GADY;AAM/BT,EAAAA,QAAQ,EAAE;AACRU,IAAAA,OAAO,EAAE,CADD;AAERC,IAAAA,WAAW,EAAE,CAFL;AAGRC,IAAAA,WAAW,EAAE,OAHL;AAIRC,IAAAA,YAAY,EAAE,CAJN;AAKRf,IAAAA,WAAW,EAAE;AALL,GANqB;AAa/BO,EAAAA,UAAU,EAAE;AAAES,IAAAA,UAAU,EAAE;AAAd;AAbmB,CAAlB,CAAf;AAgBA,eAAe3B,QAAf","sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\nconst CheckBox = ({\n label,\n value,\n disabled,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n onChange,\n}: CheckboxProps) => {\n const fillColor = {\n backgroundColor: disabled\n ? '#d3d3d3'\n : value\n ? checkboxStyle?.backgroundColor || primaryColor || 'green'\n : 'white',\n borderColor: disabled ? colors.disabled : styles.checkbox.borderColor,\n };\n\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : null}\n style={[styles.checkboxContainer]}\n disabled={disabled}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height: checkboxSize || CHECKBOX_SIZE,\n width: checkboxSize || CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text style={[checkboxLabelStyle, styles.labelStyle]}>{label}</Text>\n )}\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n checkboxContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n checkbox: {\n padding: 4,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 4,\n borderColor: 'black',\n },\n labelStyle: { marginLeft: 10 },\n});\n\nexport default CheckBox;\n"]}
1
+ {"version":3,"names":["React","Pressable","Text","StyleSheet","Image","View","colors","CHECKBOX_SIZE","CheckBox","_ref","_checkboxComponentSty","_checkboxComponentSty2","label","value","disabled","primaryColor","checkboxSize","checkboxStyle","checkboxLabelStyle","checkboxComponentStyles","onChange","fillColor","backgroundColor","borderColor","styles","checkbox","createElement","onPress","style","checkboxContainer","source","require","height","width","labelStyle","create","flexDirection","flexWrap","alignItems","padding","borderWidth","borderStyle","borderRadius","marginLeft"],"sources":["index.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\nimport React from 'react';\nimport { Pressable, Text, StyleSheet, Image, View } from 'react-native';\nimport { colors } from '../../styles/colors';\nimport { CHECKBOX_SIZE } from '../../constants';\nimport type { CheckboxProps } from './types';\n\n/**\n *\n *`checkboxSize`, `checkboxStyle`,`checkboxLabelStyle` Will be deleted in version 1.0.\n * and replaced with `checkboxComponentStyles`\n */\n\nconst CheckBox = ({\n label,\n value,\n disabled,\n primaryColor,\n checkboxSize,\n checkboxStyle,\n checkboxLabelStyle,\n checkboxComponentStyles,\n onChange,\n}: CheckboxProps) => {\n // const { checkboxSize, checkboxStyle, checkboxLabelStyle } =\n // checkboxComponentStyles;\n const fillColor = {\n backgroundColor: disabled\n ? '#d3d3d3'\n : value\n ? checkboxComponentStyles?.checkboxStyle?.backgroundColor ||\n checkboxStyle?.backgroundColor ||\n primaryColor ||\n 'green'\n : 'white',\n borderColor: disabled\n ? colors.disabled\n : checkboxComponentStyles?.checkboxStyle?.borderColor ||\n checkboxStyle?.borderColor ||\n styles.checkbox.borderColor,\n };\n\n return (\n <Pressable\n onPress={onChange ? () => onChange(!value) : null}\n style={[styles.checkboxContainer]}\n disabled={disabled}\n >\n <View style={[styles.checkbox, checkboxStyle, fillColor]}>\n <Image\n source={require('../../asset/check.png')}\n style={[\n {\n height:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n width:\n checkboxComponentStyles?.checkboxSize ||\n checkboxSize ||\n CHECKBOX_SIZE,\n },\n ]}\n />\n </View>\n {label && (\n <Text\n style={[\n checkboxComponentStyles?.checkboxLabelStyle || checkboxLabelStyle,\n styles.labelStyle,\n ]}\n >\n {label}\n </Text>\n )}\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n checkboxContainer: {\n flexDirection: 'row',\n flexWrap: 'nowrap',\n alignItems: 'center',\n },\n checkbox: {\n padding: 4,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 4,\n borderColor: 'black',\n },\n labelStyle: { marginLeft: 10 },\n});\n\nexport default CheckBox;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ColorValue, ViewStyle, TextStyle } from 'react-native';\n\nexport type CheckboxProps = {\n label?: string;\n value?: boolean;\n disabled?: boolean;\n primaryColor?: ColorValue;\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n checkboxComponentStyles?: {\n checkboxSize?: number;\n checkboxStyle?: ViewStyle;\n checkboxLabelStyle?: TextStyle;\n };\n onChange?: (value: boolean | string | number) => void;\n};\n"],"mappings":""}
@@ -1,9 +1,7 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import React from 'react';
4
3
  import { Modal, TouchableOpacity, SafeAreaView, StyleSheet } from 'react-native';
5
4
  import { colors } from '../../styles/colors';
6
-
7
5
  const CustomModal = _ref => {
8
6
  let {
9
7
  open,
@@ -26,7 +24,6 @@ const CustomModal = _ref => {
26
24
  style: [styles.modalOptionsContainer, modalOptionsContainerStyle]
27
25
  }, children)));
28
26
  };
29
-
30
27
  const styles = StyleSheet.create({
31
28
  modalContainer: {
32
29
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["React","Modal","TouchableOpacity","SafeAreaView","StyleSheet","colors","CustomModal","open","handleToggleModal","onRequestClose","modalBackgroundStyle","modalOptionsContainerStyle","modalProps","children","styles","modalContainer","modalOptionsContainer","create","flex","justifyContent","backgroundColor","maxHeight","white","borderTopLeftRadius","borderTopRightRadius"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SACEC,KADF,EAEEC,gBAFF,EAGEC,YAHF,EAIEC,UAJF,QAKO,cALP;AAMA,SAASC,MAAT,QAAuB,qBAAvB;;AAEA,MAAMC,WAAW,GAAG,QAQT;AAAA,MARU;AACnBC,IAAAA,IADmB;AAEnBC,IAAAA,iBAFmB;AAGnBC,IAAAA,cAHmB;AAInBC,IAAAA,oBAJmB;AAKnBC,IAAAA,0BALmB;AAMnBC,IAAAA,UANmB;AAOnBC,IAAAA;AAPmB,GAQV;AACT,sBACE,oBAAC,KAAD;AACE,IAAA,WAAW,EAAE,IADf;AAEE,IAAA,OAAO,EAAEN,IAFX;AAGE,IAAA,cAAc,EAAE,MAAME,cAAc,EAHtC;AAIE,IAAA,aAAa,EAAC;AAJhB,KAKMG,UALN,gBAOE,oBAAC,gBAAD;AACE,IAAA,OAAO,EAAE,MAAMJ,iBAAiB,EADlC;AAEE,IAAA,KAAK,EAAE,CACLM,MAAM,CAACC,cADF,EAELD,MAAM,CAACJ,oBAFF,EAGLA,oBAHK;AAFT,kBAQE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CAACI,MAAM,CAACE,qBAAR,EAA+BL,0BAA/B;AADT,KAGGE,QAHH,CARF,CAPF,CADF;AAwBD,CAjCD;;AAmCA,MAAMC,MAAM,GAAGV,UAAU,CAACa,MAAX,CAAkB;AAC/BF,EAAAA,cAAc,EAAE;AACdG,IAAAA,IAAI,EAAE,CADQ;AAEdC,IAAAA,cAAc,EAAE;AAFF,GADe;AAK/BT,EAAAA,oBAAoB,EAAE;AAAEU,IAAAA,eAAe,EAAE;AAAnB,GALS;AAM/BJ,EAAAA,qBAAqB,EAAE;AACrBK,IAAAA,SAAS,EAAE,KADU;AAErBD,IAAAA,eAAe,EAAEf,MAAM,CAACiB,KAFH;AAGrBC,IAAAA,mBAAmB,EAAE,EAHA;AAIrBC,IAAAA,oBAAoB,EAAE;AAJD;AANQ,CAAlB,CAAf;AAcA,eAAelB,WAAf","sourcesContent":["import React from 'react';\nimport {\n Modal,\n TouchableOpacity,\n SafeAreaView,\n StyleSheet,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\n\nconst CustomModal = ({\n open,\n handleToggleModal,\n onRequestClose,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n modalProps,\n children,\n}: any) => {\n return (\n <Modal\n transparent={true}\n visible={open}\n onRequestClose={() => onRequestClose()}\n animationType=\"fade\"\n {...modalProps}\n >\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n style={[\n styles.modalContainer,\n styles.modalBackgroundStyle,\n modalBackgroundStyle,\n ]}\n >\n <SafeAreaView\n style={[styles.modalOptionsContainer, modalOptionsContainerStyle]}\n >\n {children}\n </SafeAreaView>\n </TouchableOpacity>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n modalContainer: {\n flex: 1,\n justifyContent: 'flex-end',\n },\n modalBackgroundStyle: { backgroundColor: 'rgba(0, 0, 0, 0.5)' },\n modalOptionsContainer: {\n maxHeight: '50%',\n backgroundColor: colors.white,\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n },\n});\n\nexport default CustomModal;\n"]}
1
+ {"version":3,"names":["React","Modal","TouchableOpacity","SafeAreaView","StyleSheet","colors","CustomModal","_ref","open","handleToggleModal","onRequestClose","modalBackgroundStyle","modalOptionsContainerStyle","modalProps","children","createElement","_extends","transparent","visible","animationType","onPress","style","styles","modalContainer","modalOptionsContainer","create","flex","justifyContent","backgroundColor","maxHeight","white","borderTopLeftRadius","borderTopRightRadius"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Modal,\n TouchableOpacity,\n SafeAreaView,\n StyleSheet,\n} from 'react-native';\nimport { colors } from '../../styles/colors';\n\nconst CustomModal = ({\n open,\n handleToggleModal,\n onRequestClose,\n modalBackgroundStyle,\n modalOptionsContainerStyle,\n modalProps,\n children,\n}: any) => {\n return (\n <Modal\n transparent={true}\n visible={open}\n onRequestClose={() => onRequestClose()}\n animationType=\"fade\"\n {...modalProps}\n >\n <TouchableOpacity\n onPress={() => handleToggleModal()}\n style={[\n styles.modalContainer,\n styles.modalBackgroundStyle,\n modalBackgroundStyle,\n ]}\n >\n <SafeAreaView\n style={[styles.modalOptionsContainer, modalOptionsContainerStyle]}\n >\n {children}\n </SafeAreaView>\n </TouchableOpacity>\n </Modal>\n );\n};\n\nconst styles = StyleSheet.create({\n modalContainer: {\n flex: 1,\n justifyContent: 'flex-end',\n },\n modalBackgroundStyle: { backgroundColor: 'rgba(0, 0, 0, 0.5)' },\n modalOptionsContainer: {\n maxHeight: '50%',\n backgroundColor: colors.white,\n borderTopLeftRadius: 16,\n borderTopRightRadius: 16,\n },\n});\n\nexport default CustomModal;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,KAAK,EACLC,gBAAgB,EAChBC,YAAY,EACZC,UAAU,QACL,cAAc;AACrB,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,WAAW,GAAGC,IAAA,IAQT;EAAA,IARU;IACnBC,IAAI;IACJC,iBAAiB;IACjBC,cAAc;IACdC,oBAAoB;IACpBC,0BAA0B;IAC1BC,UAAU;IACVC;EACG,CAAC,GAAAP,IAAA;EACJ,oBACEP,KAAA,CAAAe,aAAA,CAACd,KAAK,EAAAe,QAAA;IACJC,WAAW,EAAE,IAAK;IAClBC,OAAO,EAAEV,IAAK;IACdE,cAAc,EAAEA,CAAA,KAAMA,cAAc,CAAC,CAAE;IACvCS,aAAa,EAAC;EAAM,GAChBN,UAAU,gBAEdb,KAAA,CAAAe,aAAA,CAACb,gBAAgB;IACfkB,OAAO,EAAEA,CAAA,KAAMX,iBAAiB,CAAC,CAAE;IACnCY,KAAK,EAAE,CACLC,MAAM,CAACC,cAAc,EACrBD,MAAM,CAACX,oBAAoB,EAC3BA,oBAAoB;EACpB,gBAEFX,KAAA,CAAAe,aAAA,CAACZ,YAAY;IACXkB,KAAK,EAAE,CAACC,MAAM,CAACE,qBAAqB,EAAEZ,0BAA0B;EAAE,GAEjEE,QACW,CACE,CACb,CAAC;AAEZ,CAAC;AAED,MAAMQ,MAAM,GAAGlB,UAAU,CAACqB,MAAM,CAAC;EAC/BF,cAAc,EAAE;IACdG,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE;EAClB,CAAC;EACDhB,oBAAoB,EAAE;IAAEiB,eAAe,EAAE;EAAqB,CAAC;EAC/DJ,qBAAqB,EAAE;IACrBK,SAAS,EAAE,KAAK;IAChBD,eAAe,EAAEvB,MAAM,CAACyB,KAAK;IAC7BC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACxB;AACF,CAAC,CAAC;AAEF,eAAe1B,WAAW"}