@rn-components-dropdown/dropdown 1.0.4 → 1.0.6

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.
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare const ArrowDown: ({ size, color }: {
3
+ size?: number | undefined;
4
+ color?: string | undefined;
5
+ }) => React.JSX.Element;
6
+ export default ArrowDown;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importDefault(require("react"));
40
+ const react_native_svg_1 = __importStar(require("react-native-svg"));
41
+ const ArrowDown = ({ size = 24, color = "black" }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
42
+ <react_native_svg_1.Mask id="mask0_2371_2505" maskUnits="userSpaceOnUse" x={0} y={0} width={24} height={24}>
43
+ <react_native_svg_1.Rect width={24} height={24} rx={1} fill="#fff"/>
44
+ </react_native_svg_1.Mask>
45
+ <react_native_svg_1.G mask="url(#mask0_2371_2505)">
46
+ <react_native_svg_1.Path d="M12.7071 14.6929C12.3166 15.0834 11.6834 15.0834 11.2929 14.6929L6.7 10.1C6.3134 9.7134 6.3134 9.0866 6.7 8.7C7.0866 8.3134 7.7134 8.3134 8.1 8.7L11.2929 11.8929C11.6834 12.2834 12.3166 12.2834 12.7071 11.8929L15.9 8.7C16.2866 8.3134 16.9134 8.3134 17.3 8.7C17.6866 9.0866 17.6866 9.7134 17.3 10.1L12.7071 14.6929Z" fill={color}/>
47
+ </react_native_svg_1.G>
48
+ </react_native_svg_1.default>);
49
+ exports.default = ArrowDown;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SvgInterface } from "../../interface/svg.interface";
3
+ declare const ArrowUp: ({ size, color }: SvgInterface) => React.JSX.Element;
4
+ export default ArrowUp;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importDefault(require("react"));
40
+ const react_native_svg_1 = __importStar(require("react-native-svg"));
41
+ const ArrowUp = ({ size = 24, color = "#1C1B1F" }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 24 24" fill="none">
42
+ <react_native_svg_1.Mask id="mask0_2375_2500" maskUnits="userSpaceOnUse" x={0} y={0} width={24} height={24}>
43
+ <react_native_svg_1.Rect x={24} y={24} width={24} height={24} rx={1} transform="rotate(-180 24 24)" fill={color}/>
44
+ </react_native_svg_1.Mask>
45
+ <react_native_svg_1.G mask="url(#mask0_2375_2500)">
46
+ <react_native_svg_1.Path d="M11.2929 9.30711C11.6834 8.91658 12.3166 8.91658 12.7071 9.30711L17.3 13.9C17.6866 14.2866 17.6866 14.9134 17.3 15.3C16.9134 15.6866 16.2866 15.6866 15.9 15.3L12.7071 12.1071C12.3166 11.7166 11.6834 11.7166 11.2929 12.1071L8.1 15.3C7.7134 15.6866 7.0866 15.6866 6.7 15.3C6.3134 14.9134 6.3134 14.2866 6.7 13.9L11.2929 9.30711Z" fill={color}/>
47
+ </react_native_svg_1.G>
48
+ </react_native_svg_1.default>);
49
+ exports.default = ArrowUp;
@@ -0,0 +1,3 @@
1
+ import { SvgInterface } from "../../interface/svg.interface";
2
+ declare const CheckIcon: ({ size, color }: SvgInterface) => import("react").JSX.Element;
3
+ export default CheckIcon;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const react_native_svg_1 = __importStar(require("react-native-svg"));
37
+ const CheckIcon = ({ size, color }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 17 12" fill={color}>
38
+ <react_native_svg_1.Path d="M7.27431 11.4818C6.88907 11.8992 6.23401 11.9123 5.8324 11.5106L0.292433 5.97067C-0.104655 5.57358 -0.0969935 4.92745 0.309397 4.53989L0.9927 3.88825C1.38569 3.51347 2.00596 3.52082 2.38995 3.90481L5.3544 6.86927C5.70921 7.22407 6.27201 7.261 6.67014 6.95561L15.5294 0.160008C15.8378 -0.0765669 16.2738 -0.0479552 16.5487 0.226898C16.84 0.518236 16.8523 0.986646 16.5767 1.29289L12.5684 5.7466L7.27431 11.4818Z"/>
39
+ </react_native_svg_1.default>);
40
+ exports.default = CheckIcon;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SvgInterface } from "../../interface/svg.interface";
3
+ declare const ClearIcon: ({ size, color }: SvgInterface) => React.JSX.Element;
4
+ export default ClearIcon;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importDefault(require("react"));
40
+ const react_native_svg_1 = __importStar(require("react-native-svg"));
41
+ const ClearIcon = ({ size, color }) => <react_native_svg_1.default width={size} height={size} viewBox="0 0 10 10" fill={color}>
42
+ <react_native_svg_1.Path d="M1.68984 8.86566C1.30324 9.25226 0.676443 9.25226 0.289844 8.86566C-0.0967558 8.47906 -0.0967556 7.85226 0.289844 7.46566L2.30288 5.45263C2.79223 4.96327 2.79085 4.16944 2.29979 3.68179L0.293503 1.68943C-0.0947195 1.30391 -0.0958139 0.676318 0.291063 0.289441C0.676989 -0.0964853 1.3027 -0.0964852 1.68862 0.289441L3.70288 2.30369C4.19223 2.79305 4.98607 2.79167 5.47372 2.30061L7.46729 0.293096C7.85214 -0.0944518 8.47864 -0.0955442 8.86484 0.29066C9.25105 0.676864 9.24996 1.30336 8.86241 1.68822L6.8549 3.68179C6.36384 4.16944 6.36245 4.96327 6.85181 5.45263L8.86606 7.46688C9.25199 7.85281 9.25199 8.47851 8.86606 8.86444C8.47919 9.25132 7.8516 9.25022 7.46607 8.862L5.47372 6.85571C4.98607 6.36465 4.19223 6.36327 3.70288 6.85263L1.68984 8.86566Z"/>
43
+ </react_native_svg_1.default>;
44
+ exports.default = ClearIcon;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SvgInterface } from "../../interface/svg.interface";
3
+ declare const SearchIcon: ({ size, color }: SvgInterface) => React.JSX.Element;
4
+ export default SearchIcon;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importDefault(require("react"));
40
+ const react_native_svg_1 = __importStar(require("react-native-svg"));
41
+ const SearchIcon = ({ size = 24, color = "#1C1B1F" }) => (<react_native_svg_1.default width={size} height={size} viewBox="0 0 18 18" fill={color}>
42
+ <react_native_svg_1.Path d="M17.3 17.3C16.9134 17.6866 16.2866 17.6866 15.9 17.3L11.6989 13.0989C10.9025 12.3025 9.63504 12.2695 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.14583 12.3708 1.8875 11.1125C0.629167 9.85417 0 8.31667 0 6.5C0 4.68333 0.629167 3.14583 1.8875 1.8875C3.14583 0.629167 4.68333 0 6.5 0C8.31667 0 9.85417 0.629167 11.1125 1.8875C12.3708 3.14583 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.2695 9.63504 12.3025 10.9025 13.0989 11.6989L17.3 15.9C17.6866 16.2866 17.6866 16.9134 17.3 17.3ZM6.5 11C7.75 11 8.8125 10.5625 9.6875 9.6875C10.5625 8.8125 11 7.75 11 6.5C11 5.25 10.5625 4.1875 9.6875 3.3125C8.8125 2.4375 7.75 2 6.5 2C5.25 2 4.1875 2.4375 3.3125 3.3125C2.4375 4.1875 2 5.25 2 6.5C2 7.75 2.4375 8.8125 3.3125 9.6875C4.1875 10.5625 5.25 11 6.5 11Z"/>
43
+ </react_native_svg_1.default>);
44
+ exports.default = SearchIcon;
@@ -0,0 +1,4 @@
1
+ export { default as ArrowUp } from './ArrowUp';
2
+ export { default as ArrowDown } from './ArrowDown';
3
+ export { default as ClearIcon } from './ClearIcon';
4
+ export { default as SearchIcon } from './SearchIcon';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SearchIcon = exports.ClearIcon = exports.ArrowDown = exports.ArrowUp = void 0;
7
+ var ArrowUp_1 = require("./ArrowUp");
8
+ Object.defineProperty(exports, "ArrowUp", { enumerable: true, get: function () { return __importDefault(ArrowUp_1).default; } });
9
+ var ArrowDown_1 = require("./ArrowDown");
10
+ Object.defineProperty(exports, "ArrowDown", { enumerable: true, get: function () { return __importDefault(ArrowDown_1).default; } });
11
+ var ClearIcon_1 = require("./ClearIcon");
12
+ Object.defineProperty(exports, "ClearIcon", { enumerable: true, get: function () { return __importDefault(ClearIcon_1).default; } });
13
+ var SearchIcon_1 = require("./SearchIcon");
14
+ Object.defineProperty(exports, "SearchIcon", { enumerable: true, get: function () { return __importDefault(SearchIcon_1).default; } });
@@ -37,21 +37,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  /* eslint-disable react-hooks/exhaustive-deps */
40
- const react_1 = __importStar(require("react"));
41
40
  const react_native_1 = require("react-native");
42
41
  const lodash_1 = __importDefault(require("lodash"));
43
42
  const AppText_1 = __importDefault(require("../text/AppText"));
44
43
  const Chip_1 = __importDefault(require("./components/chip/Chip"));
44
+ const react_1 = __importStar(require("react"));
45
45
  const useDropdown_1 = __importDefault(require("./hooks/useDropdown"));
46
46
  const SvgButton_1 = __importDefault(require("../svgButton/SvgButton"));
47
47
  const DropdownStyle_1 = require("./DropdownStyle");
48
+ const svg_1 = require("../../assets/svg");
48
49
  const TextInput_1 = __importDefault(require("./components/input/TextInput"));
50
+ const CheckIcon_1 = __importDefault(require("../../assets/svg/CheckIcon"));
49
51
  const DropdownComponent = (props) => {
50
52
  const { label, testID, iconStyle, renderItem, style = {}, subfixIcon, labelField, valueField, onChangeText, itemTextStyle, flatListProps, minHeight = 0, containerStyle, search = false, renderLeftIcon, multiSelectIcon, itemTestIDField, maxHeight = 300, inverted = true, renderRightIcon, backgroundColor, placeholderStyle, inputSearchStyle, searchPlaceholder, selectedTextStyle, renderInputSearch, iconColor = 'gray', accessibilityLabel, itemContainerStyle, labelContainer = {}, labelTextStyle = {}, selectedTextProps = {}, selectionType = 'single', activeColor = 'lightGray', keyboardAvoiding = true, dropdownPosition = 'auto', placeholder = 'Select item', itemAccessibilityLabelField, showsVerticalScrollIndicator = true, } = props;
51
53
  const { styles, colors } = (0, DropdownStyle_1.useDropdownStyle)({});
52
54
  const { ref, font, visible, refList, position, onSelect, listData, onSearch, onMeasure, searchText, showOrClose, scrollIndex, currentValue, onCheckPress, onClearPress, setSearchText, keyboardHeight, } = (0, useDropdown_1.default)({ ...props });
53
55
  const renderRight = () => {
54
- return renderRightIcon ? (renderRightIcon(visible)) : (<SvgButton_1.default icon={subfixIcon} onPress={showOrClose} style={react_native_1.StyleSheet.flatten([
56
+ return renderRightIcon ? (renderRightIcon(visible)) : (<SvgButton_1.default icon={subfixIcon ? subfixIcon : visible ? <svg_1.ArrowDown color={iconColor}/> : <svg_1.ArrowUp color={iconColor}/>} onPress={showOrClose} style={react_native_1.StyleSheet.flatten([
55
57
  iconStyle,
56
58
  styles.icon,
57
59
  { tintColor: iconColor },
@@ -93,7 +95,7 @@ const DropdownComponent = (props) => {
93
95
  return (<react_native_1.TouchableHighlight key={index.toString()} testID={lodash_1.default.get(item, itemTestIDField || labelField)} accessible={!!accessibilityLabel} accessibilityLabel={lodash_1.default.get(item, itemAccessibilityLabelField || labelField)} underlayColor={colors[activeColor]} onPress={() => onCheckPress(item)}>
94
96
  <react_native_1.View style={react_native_1.StyleSheet.flatten([itemContainerStyle])}>
95
97
  {renderItem ? (renderItem(item, isSelected)) : (<react_native_1.View style={styles.item}>
96
- <SvgButton_1.default icon={multiSelectIcon} onPress={() => onCheckPress(item)} style={[
98
+ <SvgButton_1.default icon={multiSelectIcon ? multiSelectIcon : <CheckIcon_1.default color={colors.white}/>} onPress={() => onCheckPress(item)} style={[
97
99
  styles.checkContainer,
98
100
  {
99
101
  backgroundColor: isSelected ? colors.gray : colors.white,
@@ -171,7 +173,7 @@ const DropdownComponent = (props) => {
171
173
  });
172
174
  }
173
175
  else {
174
- return (<TextInput_1.default value={searchText} autoCorrect={false} testID={testID + ' input'} placeholder={searchPlaceholder} placeholderTextColor={colors.black} style={[styles.input, inputSearchStyle]} accessibilityLabel={accessibilityLabel + ' input'} onChangeText={(e) => {
176
+ return (<TextInput_1.default value={searchText} autoCorrect={false} testID={testID + ' input'} placeholderTextColor={colors.black} style={[styles.input, inputSearchStyle]} accessibilityLabel={accessibilityLabel + ' input'} placeholder={searchPlaceholder || 'Write here for search...'} onChangeText={(e) => {
175
177
  if (onChangeText) {
176
178
  setSearchText(e);
177
179
  onChangeText(e);
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_native_1 = require("react-native");
7
7
  const ChipStyle_1 = __importDefault(require("./ChipStyle"));
8
8
  const AppText_1 = __importDefault(require("../../../text/AppText"));
9
+ const svg_1 = require("../../../../assets/svg");
9
10
  const SvgButton_1 = __importDefault(require("../../../svgButton/SvgButton"));
10
11
  const Chip = (props) => {
11
12
  const { styles } = (0, ChipStyle_1.default)({ ...props });
@@ -15,7 +16,7 @@ const Chip = (props) => {
15
16
  {label}
16
17
  </AppText_1.default>
17
18
  <react_native_1.View style={styles.clearContainer}>
18
- <SvgButton_1.default icon={clearIcon} onPress={onClearPress} style={styles.clearIcon}/>
19
+ <SvgButton_1.default icon={clearIcon ? clearIcon : <svg_1.ClearIcon color={textColor}/>} onPress={onClearPress} style={styles.clearIcon}/>
19
20
  </react_native_1.View>
20
21
  </react_native_1.View>);
21
22
  };
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  const TextInputStyle_1 = require("./TextInputStyle");
40
40
  const react_1 = __importStar(require("react"));
41
+ const svg_1 = require("../../../../assets/svg");
41
42
  const react_native_1 = require("react-native");
42
43
  const AppTextInput_1 = __importDefault(require("../../../textInput/AppTextInput"));
43
44
  const TextInputComponent = props => {
@@ -54,7 +55,7 @@ const TextInputComponent = props => {
54
55
  onChangeText(text);
55
56
  };
56
57
  return (<react_native_1.TouchableWithoutFeedback>
57
- <AppTextInput_1.default {...props} value={searchtext} icon={searchIcon} style={styles.input} onChangeText={onChange} placeholder={placeholder} textStyle={styles.inputContainer} placeholderTextColor={placeholderTextColor}/>
58
+ <AppTextInput_1.default {...props} value={searchtext} style={styles.input} onChangeText={onChange} placeholder={placeholder} textStyle={styles.inputContainer} placeholderTextColor={placeholderTextColor} icon={searchIcon ? searchIcon : <svg_1.SearchIcon />}/>
58
59
  </react_native_1.TouchableWithoutFeedback>);
59
60
  };
60
61
  exports.default = TextInputComponent;
@@ -59,8 +59,8 @@ export type DropdownProps<S, T extends SelectionType> = {
59
59
  ref?: React.RefObject<IDropdownRef> | null | undefined;
60
60
  searchQuery?: (keyword: string, labelValue: string) => boolean;
61
61
  flatListProps?: Omit<FlatListProps<any>, 'renderItem' | 'data'>;
62
- renderRightIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
63
62
  renderLeftIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
63
+ renderRightIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
64
64
  renderItem?: (item: S, selected?: boolean) => React.JSX.Element | null | undefined;
65
65
  renderInputSearch?: (onSearch: (text: string) => void) => React.JSX.Element | null | undefined;
66
66
  };
@@ -0,0 +1,4 @@
1
+ export interface SvgInterface {
2
+ size?: number;
3
+ color?: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rn-components-dropdown/dropdown",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "repository": {
@@ -32,6 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "lodash": "^4.17.21",
35
- "react-hook-form": "^7.66.0"
35
+ "react-hook-form": "^7.66.0",
36
+ "react-native-svg": "^15.14.0"
36
37
  }
37
38
  }
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import Svg, { Path, Mask, Rect, G } from "react-native-svg";
3
+
4
+ const ArrowDown = ({ size = 24, color = "black" }) => (
5
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
6
+ <Mask
7
+ id="mask0_2371_2505"
8
+ maskUnits="userSpaceOnUse"
9
+ x={0}
10
+ y={0}
11
+ width={24}
12
+ height={24}
13
+ >
14
+ <Rect width={24} height={24} rx={1} fill="#fff" />
15
+ </Mask>
16
+ <G mask="url(#mask0_2371_2505)">
17
+ <Path
18
+ d="M12.7071 14.6929C12.3166 15.0834 11.6834 15.0834 11.2929 14.6929L6.7 10.1C6.3134 9.7134 6.3134 9.0866 6.7 8.7C7.0866 8.3134 7.7134 8.3134 8.1 8.7L11.2929 11.8929C11.6834 12.2834 12.3166 12.2834 12.7071 11.8929L15.9 8.7C16.2866 8.3134 16.9134 8.3134 17.3 8.7C17.6866 9.0866 17.6866 9.7134 17.3 10.1L12.7071 14.6929Z"
19
+ fill={color}
20
+ />
21
+ </G>
22
+ </Svg>
23
+ );
24
+
25
+ export default ArrowDown;
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ import Svg, { Mask, Rect, G, Path } from "react-native-svg";
3
+ import { SvgInterface } from "../../interface/svg.interface";
4
+
5
+ const ArrowUp = ({ size = 24, color = "#1C1B1F" }: SvgInterface) => (
6
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill="none">
7
+ <Mask
8
+ id="mask0_2375_2500"
9
+ maskUnits="userSpaceOnUse"
10
+ x={0}
11
+ y={0}
12
+ width={24}
13
+ height={24}
14
+ >
15
+ <Rect
16
+ x={24}
17
+ y={24}
18
+ width={24}
19
+ height={24}
20
+ rx={1}
21
+ transform="rotate(-180 24 24)"
22
+ fill={color}
23
+ />
24
+ </Mask>
25
+ <G mask="url(#mask0_2375_2500)">
26
+ <Path
27
+ d="M11.2929 9.30711C11.6834 8.91658 12.3166 8.91658 12.7071 9.30711L17.3 13.9C17.6866 14.2866 17.6866 14.9134 17.3 15.3C16.9134 15.6866 16.2866 15.6866 15.9 15.3L12.7071 12.1071C12.3166 11.7166 11.6834 11.7166 11.2929 12.1071L8.1 15.3C7.7134 15.6866 7.0866 15.6866 6.7 15.3C6.3134 14.9134 6.3134 14.2866 6.7 13.9L11.2929 9.30711Z"
28
+ fill={color}
29
+ />
30
+ </G>
31
+ </Svg>
32
+ );
33
+
34
+ export default ArrowUp;
@@ -0,0 +1,10 @@
1
+ import Svg, { Path } from "react-native-svg";
2
+ import { SvgInterface } from "../../interface/svg.interface";
3
+
4
+ const CheckIcon = ({size, color}: SvgInterface) => (
5
+ <Svg width={size} height={size} viewBox="0 0 17 12" fill={color}>
6
+ <Path d="M7.27431 11.4818C6.88907 11.8992 6.23401 11.9123 5.8324 11.5106L0.292433 5.97067C-0.104655 5.57358 -0.0969935 4.92745 0.309397 4.53989L0.9927 3.88825C1.38569 3.51347 2.00596 3.52082 2.38995 3.90481L5.3544 6.86927C5.70921 7.22407 6.27201 7.261 6.67014 6.95561L15.5294 0.160008C15.8378 -0.0765669 16.2738 -0.0479552 16.5487 0.226898C16.84 0.518236 16.8523 0.986646 16.5767 1.29289L12.5684 5.7466L7.27431 11.4818Z"/>
7
+ </Svg>
8
+ );
9
+
10
+ export default CheckIcon;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { SvgInterface } from "../../interface/svg.interface";
3
+ import Svg, { Path } from "react-native-svg";
4
+
5
+ const ClearIcon = ({size, color}: SvgInterface) =>
6
+ <Svg width={size} height={size} viewBox="0 0 10 10" fill={color}>
7
+ <Path d="M1.68984 8.86566C1.30324 9.25226 0.676443 9.25226 0.289844 8.86566C-0.0967558 8.47906 -0.0967556 7.85226 0.289844 7.46566L2.30288 5.45263C2.79223 4.96327 2.79085 4.16944 2.29979 3.68179L0.293503 1.68943C-0.0947195 1.30391 -0.0958139 0.676318 0.291063 0.289441C0.676989 -0.0964853 1.3027 -0.0964852 1.68862 0.289441L3.70288 2.30369C4.19223 2.79305 4.98607 2.79167 5.47372 2.30061L7.46729 0.293096C7.85214 -0.0944518 8.47864 -0.0955442 8.86484 0.29066C9.25105 0.676864 9.24996 1.30336 8.86241 1.68822L6.8549 3.68179C6.36384 4.16944 6.36245 4.96327 6.85181 5.45263L8.86606 7.46688C9.25199 7.85281 9.25199 8.47851 8.86606 8.86444C8.47919 9.25132 7.8516 9.25022 7.46607 8.862L5.47372 6.85571C4.98607 6.36465 4.19223 6.36327 3.70288 6.85263L1.68984 8.86566Z"/>
8
+ </Svg>
9
+ export default ClearIcon;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import Svg, { Path, SvgProps } from "react-native-svg";
3
+ import { SvgInterface } from "../../interface/svg.interface";
4
+
5
+ const SearchIcon = ({ size = 24, color = "#1C1B1F" }: SvgInterface) => (
6
+ <Svg width={size} height={size} viewBox="0 0 18 18" fill={color}>
7
+ <Path d="M17.3 17.3C16.9134 17.6866 16.2866 17.6866 15.9 17.3L11.6989 13.0989C10.9025 12.3025 9.63504 12.2695 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.14583 12.3708 1.8875 11.1125C0.629167 9.85417 0 8.31667 0 6.5C0 4.68333 0.629167 3.14583 1.8875 1.8875C3.14583 0.629167 4.68333 0 6.5 0C8.31667 0 9.85417 0.629167 11.1125 1.8875C12.3708 3.14583 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.2695 9.63504 12.3025 10.9025 13.0989 11.6989L17.3 15.9C17.6866 16.2866 17.6866 16.9134 17.3 17.3ZM6.5 11C7.75 11 8.8125 10.5625 9.6875 9.6875C10.5625 8.8125 11 7.75 11 6.5C11 5.25 10.5625 4.1875 9.6875 3.3125C8.8125 2.4375 7.75 2 6.5 2C5.25 2 4.1875 2.4375 3.3125 3.3125C2.4375 4.1875 2 5.25 2 6.5C2 7.75 2.4375 8.8125 3.3125 9.6875C4.1875 10.5625 5.25 11 6.5 11Z"/>
8
+ </Svg>
9
+ );
10
+
11
+ export default SearchIcon;
@@ -0,0 +1,4 @@
1
+ export {default as ArrowUp } from './ArrowUp';
2
+ export {default as ArrowDown } from './ArrowDown';
3
+ export {default as ClearIcon } from './ClearIcon';
4
+ export {default as SearchIcon } from './SearchIcon';
@@ -1,5 +1,4 @@
1
1
  /* eslint-disable react-hooks/exhaustive-deps */
2
- import React, { useCallback } from 'react';
3
2
  import {
4
3
  View,
5
4
  Modal,
@@ -13,11 +12,14 @@ import {
13
12
  import _ from 'lodash';
14
13
  import AppText from '../text/AppText';
15
14
  import Chip from './components/chip/Chip';
15
+ import React, { useCallback } from 'react';
16
16
  import useDropdown from './hooks/useDropdown';
17
17
  import SvgButton from '../svgButton/SvgButton';
18
18
  import { useDropdownStyle } from './DropdownStyle';
19
+ import { ArrowDown, ArrowUp } from '../../assets/svg';
19
20
  import SearchInput from './components/input/TextInput';
20
21
  import { DropdownProps } from './interface/DropdownInterface';
22
+ import CheckIcon from '../../assets/svg/CheckIcon';
21
23
 
22
24
  const DropdownComponent = <T, Mode extends 'single' | 'multi'>(
23
25
  props: DropdownProps<T, Mode>,
@@ -90,7 +92,7 @@ const DropdownComponent = <T, Mode extends 'single' | 'multi'>(
90
92
  renderRightIcon(visible)
91
93
  ) : (
92
94
  <SvgButton
93
- icon={subfixIcon}
95
+ icon={subfixIcon ? subfixIcon : visible ? <ArrowDown color={iconColor} /> : <ArrowUp color={iconColor} />}
94
96
  onPress={showOrClose}
95
97
  style={StyleSheet.flatten([
96
98
  iconStyle,
@@ -189,7 +191,7 @@ const DropdownComponent = <T, Mode extends 'single' | 'multi'>(
189
191
  ) : (
190
192
  <View style={styles.item}>
191
193
  <SvgButton
192
- icon={multiSelectIcon}
194
+ icon={multiSelectIcon ? multiSelectIcon : <CheckIcon color={colors.white}/> }
193
195
  onPress={() => onCheckPress(item)}
194
196
  style={[
195
197
  styles.checkContainer,
@@ -303,10 +305,10 @@ const DropdownComponent = <T, Mode extends 'single' | 'multi'>(
303
305
  value={searchText}
304
306
  autoCorrect={false}
305
307
  testID={testID + ' input'}
306
- placeholder={searchPlaceholder}
307
308
  placeholderTextColor={colors.black}
308
309
  style={[styles.input, inputSearchStyle]}
309
310
  accessibilityLabel={accessibilityLabel + ' input'}
311
+ placeholder={searchPlaceholder || 'Write here for search...'}
310
312
  onChangeText={(e: any) => {
311
313
  if (onChangeText) {
312
314
  setSearchText(e);
@@ -1,6 +1,7 @@
1
1
  import { View } from 'react-native';
2
2
  import useChipStyle from './ChipStyle';
3
3
  import AppText from '../../../text/AppText';
4
+ import { ClearIcon } from '../../../../assets/svg';
4
5
  import SvgButton from '../../../svgButton/SvgButton';
5
6
  import { ChipInterface } from '../../interface/ChipInterface';
6
7
 
@@ -19,7 +20,7 @@ const Chip = (props: ChipInterface) => {
19
20
  </AppText>
20
21
  <View style={styles.clearContainer}>
21
22
  <SvgButton
22
- icon={clearIcon}
23
+ icon={clearIcon ? clearIcon : <ClearIcon color={textColor}/> }
23
24
  onPress={onClearPress}
24
25
  style={styles.clearIcon}
25
26
  />
@@ -1,5 +1,6 @@
1
1
  import { useTextStyle } from './TextInputStyle';
2
2
  import React, { useEffect, useState } from 'react';
3
+ import { SearchIcon } from '../../../../assets/svg';
3
4
  import { TouchableWithoutFeedback } from 'react-native';
4
5
  import AppTextInput from '../../../textInput/AppTextInput';
5
6
  import type { CTextInput } from '../../interface/InputProps';
@@ -32,12 +33,12 @@ const TextInputComponent: CTextInput = props => {
32
33
  <AppTextInput
33
34
  {...props}
34
35
  value={searchtext}
35
- icon={searchIcon}
36
36
  style={styles.input}
37
37
  onChangeText={onChange}
38
38
  placeholder={placeholder}
39
39
  textStyle={styles.inputContainer}
40
40
  placeholderTextColor={placeholderTextColor}
41
+ icon={searchIcon ? searchIcon : <SearchIcon/> }
41
42
  />
42
43
  </TouchableWithoutFeedback>
43
44
  );
@@ -72,8 +72,8 @@ export type DropdownProps<S, T extends SelectionType> = {
72
72
  ref?: React.RefObject<IDropdownRef> | null | undefined;
73
73
  searchQuery?: (keyword: string, labelValue: string) => boolean;
74
74
  flatListProps?: Omit<FlatListProps<any>, 'renderItem' | 'data'>;
75
- renderRightIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
76
75
  renderLeftIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
76
+ renderRightIcon?: (visible?: boolean) => React.JSX.Element | null | undefined;
77
77
  renderItem?: (
78
78
  item: S,
79
79
  selected?: boolean,
@@ -0,0 +1,4 @@
1
+ export interface SvgInterface {
2
+ size?: number;
3
+ color?: string;
4
+ }