@codeleap/mobile 2.1.7 → 2.1.8

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.
@@ -56,7 +56,7 @@ var utils_1 = require("../../utils");
56
56
  var Select_1 = require("../Select");
57
57
  __exportStar(require("./styles"), exports);
58
58
  var MultiSelect = function (selectProps) {
59
- var value = selectProps.value, onValueChange = selectProps.onValueChange, label = selectProps.label, _a = selectProps.styles, styles = _a === void 0 ? {} : _a, options = selectProps.options, style = selectProps.style, variants = selectProps.variants, _b = selectProps.hideInput, hideInput = _b === void 0 ? false : _b, renderItem = selectProps.renderItem, listProps = selectProps.listProps, _c = selectProps.placeholder, placeholder = _c === void 0 ? 'Select' : _c, _d = selectProps.arrowIconName, arrowIconName = _d === void 0 ? 'selectArrow' : _d, _e = selectProps.selectedIcon, selectedIcon = _e === void 0 ? 'multiSelectMarker' : _e, _f = selectProps.inputProps, inputProps = _f === void 0 ? {} : _f, drawerProps = __rest(selectProps, ["value", "onValueChange", "label", "styles", "options", "style", "variants", "hideInput", "renderItem", "listProps", "placeholder", "arrowIconName", "selectedIcon", "inputProps"]);
59
+ var value = selectProps.value, onValueChange = selectProps.onValueChange, label = selectProps.label, _a = selectProps.styles, styles = _a === void 0 ? {} : _a, options = selectProps.options, style = selectProps.style, variants = selectProps.variants, _b = selectProps.hideInput, hideInput = _b === void 0 ? false : _b, renderItem = selectProps.renderItem, listProps = selectProps.listProps, _c = selectProps.placeholder, placeholder = _c === void 0 ? 'Select' : _c, _d = selectProps.arrowIconName, arrowIconName = _d === void 0 ? 'selectArrow' : _d, _e = selectProps.selectedIcon, selectedIcon = _e === void 0 ? 'multiSelectMarker' : _e, _f = selectProps.inputProps, inputProps = _f === void 0 ? {} : _f, _g = selectProps.clearable, clearable = _g === void 0 ? false : _g, _h = selectProps.clearIconName, clearIconName = _h === void 0 ? 'close' : _h, drawerProps = __rest(selectProps, ["value", "onValueChange", "label", "styles", "options", "style", "variants", "hideInput", "renderItem", "listProps", "placeholder", "arrowIconName", "selectedIcon", "inputProps", "clearable", "clearIconName"]);
60
60
  var variantStyles = (0, common_1.useDefaultComponentStyle)('u:MultiSelect', {
61
61
  transform: react_native_1.StyleSheet.flatten,
62
62
  rootElement: 'inputWrapper',
@@ -86,9 +86,20 @@ var MultiSelect = function (selectProps) {
86
86
  var item = _a.item;
87
87
  return <Item isSelected={value.includes(item.value)} item={item} onPress={function () { return select(item.value); }} styles={variantStyles} icon={selectedIcon}/>;
88
88
  };
89
+ var isEmpty = value.length === 0;
90
+ var inputIcon = clearable ? (isEmpty ? arrowIconName : clearIconName) : arrowIconName;
91
+ var onPressInputIcon = function () {
92
+ if (isEmpty) {
93
+ close === null || close === void 0 ? void 0 : close();
94
+ }
95
+ if (clearable) {
96
+ onValueChange([]);
97
+ }
98
+ };
89
99
  return <>
90
100
  {!hideInput && (<TextInput_1.TextInput caretHidden value={selectedLabel} rightIcon={{
91
- icon: arrowIconName,
101
+ icon: inputIcon,
102
+ onPress: onPressInputIcon,
92
103
  }} editable={false} touchableWrapper wrapperProps={{
93
104
  debugName: 'Select',
94
105
  onPress: close,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MultiSelect/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MultiSelect/index.tsx"],"names":[],"mappings":"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"}
@@ -28,5 +28,7 @@ export declare type MultiSelectProps<T> = MultiSelectDrawerProps & {
28
28
  selectedIcon?: IconPlaceholder;
29
29
  hideInput?: boolean;
30
30
  listProps?: Partial<FlatListProps>;
31
+ clearable?: boolean;
32
+ clearIconName?: IconPlaceholder;
31
33
  } & ComponentVariants<typeof MultiSelectStyles>;
32
34
  export {};
@@ -63,7 +63,7 @@ var SelectItem = function (_a) {
63
63
  exports.SelectItem = SelectItem;
64
64
  __exportStar(require("./styles"), exports);
65
65
  var Select = function (selectProps) {
66
- var value = selectProps.value, onValueChange = selectProps.onValueChange, label = selectProps.label, _a = selectProps.styles, styles = _a === void 0 ? {} : _a, options = selectProps.options, style = selectProps.style, variants = selectProps.variants, renderItem = selectProps.renderItem, _b = selectProps.closeOnSelect, closeOnSelect = _b === void 0 ? true : _b, listProps = selectProps.listProps, _c = selectProps.placeholder, placeholder = _c === void 0 ? 'Select' : _c, _d = selectProps.arrowIconName, arrowIconName = _d === void 0 ? 'selectArrow' : _d, _e = selectProps.selectedIcon, selectedIcon = _e === void 0 ? 'selectMarker' : _e, _f = selectProps.inputProps, inputProps = _f === void 0 ? {} : _f, _g = selectProps.hideInput, hideInput = _g === void 0 ? false : _g, drawerProps = __rest(selectProps, ["value", "onValueChange", "label", "styles", "options", "style", "variants", "renderItem", "closeOnSelect", "listProps", "placeholder", "arrowIconName", "selectedIcon", "inputProps", "hideInput"]);
66
+ var value = selectProps.value, onValueChange = selectProps.onValueChange, label = selectProps.label, _a = selectProps.styles, styles = _a === void 0 ? {} : _a, options = selectProps.options, style = selectProps.style, variants = selectProps.variants, renderItem = selectProps.renderItem, _b = selectProps.closeOnSelect, closeOnSelect = _b === void 0 ? true : _b, listProps = selectProps.listProps, _c = selectProps.placeholder, placeholder = _c === void 0 ? 'Select' : _c, _d = selectProps.arrowIconName, arrowIconName = _d === void 0 ? 'selectArrow' : _d, _e = selectProps.clearIconName, clearIconName = _e === void 0 ? 'close' : _e, _f = selectProps.clearable, clearable = _f === void 0 ? false : _f, _g = selectProps.selectedIcon, selectedIcon = _g === void 0 ? 'selectMarker' : _g, _h = selectProps.inputProps, inputProps = _h === void 0 ? {} : _h, _j = selectProps.hideInput, hideInput = _j === void 0 ? false : _j, drawerProps = __rest(selectProps, ["value", "onValueChange", "label", "styles", "options", "style", "variants", "renderItem", "closeOnSelect", "listProps", "placeholder", "arrowIconName", "clearIconName", "clearable", "selectedIcon", "inputProps", "hideInput"]);
67
67
  var variantStyles = (0, common_1.useDefaultComponentStyle)('u:Select', {
68
68
  transform: react_native_1.StyleSheet.flatten,
69
69
  rootElement: 'inputWrapper',
@@ -89,9 +89,20 @@ var Select = function (selectProps) {
89
89
  var item = _a.item;
90
90
  return <Item isSelected={value === item.value} item={item} onPress={function () { return select(item.value); }} icon={selectedIcon} styles={variantStyles}/>;
91
91
  };
92
+ var isEmpty = common_1.TypeGuards.isNil(value);
93
+ var inputIcon = clearable ? (isEmpty ? arrowIconName : clearIconName) : arrowIconName;
94
+ var onPressInputIcon = function () {
95
+ if (isEmpty) {
96
+ close === null || close === void 0 ? void 0 : close();
97
+ }
98
+ if (clearable) {
99
+ onValueChange(null);
100
+ }
101
+ };
92
102
  return <>
93
103
  {!hideInput && (<TextInput_1.TextInput caretHidden value={selectedLabel} rightIcon={{
94
- icon: arrowIconName,
104
+ icon: inputIcon,
105
+ onPress: onPressInputIcon,
95
106
  }} editable={false} touchableWrapper onPress={close} wrapperProps={{
96
107
  debugName: 'Select',
97
108
  }} pointerEvents={'none'} label={label} debugName={'Select input'} styles={inputStyles} style={style} {...inputProps}/>)}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.tsx"],"names":[],"mappings":"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"}
@@ -28,5 +28,7 @@ export declare type CustomSelectProps<T> = SelectDrawerProps & {
28
28
  closeOnSelect?: boolean;
29
29
  inputProps?: Partial<TextInputProps>;
30
30
  listProps?: Partial<FlatListProps>;
31
+ clearable?: boolean;
32
+ clearIconName?: boolean;
31
33
  } & ComponentVariants<typeof SelectStyles>;
32
34
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeleap/mobile",
3
- "version": "2.1.7",
3
+ "version": "2.1.8",
4
4
  "main": "src/index.ts",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -28,6 +28,8 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
28
28
  arrowIconName = 'selectArrow',
29
29
  selectedIcon = 'multiSelectMarker',
30
30
  inputProps = {},
31
+ clearable = false,
32
+ clearIconName = 'close',
31
33
  ...drawerProps
32
34
  } = selectProps
33
35
 
@@ -76,6 +78,21 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
76
78
  icon={selectedIcon as IconPlaceholder}
77
79
  />
78
80
  }
81
+
82
+ const isEmpty = value.length === 0
83
+
84
+ const inputIcon = clearable ? (
85
+ isEmpty ? arrowIconName : clearIconName
86
+ ) : arrowIconName
87
+
88
+ const onPressInputIcon = () => {
89
+ if (isEmpty) {
90
+ close?.()
91
+ }
92
+ if (clearable) {
93
+ onValueChange([])
94
+ }
95
+ }
79
96
  return <>
80
97
  {
81
98
  !hideInput && (
@@ -83,7 +100,8 @@ export const MultiSelect = <T extends string|number = string>(selectProps:MultiS
83
100
  caretHidden
84
101
  value={selectedLabel}
85
102
  rightIcon={{
86
- icon: arrowIconName as IconPlaceholder,
103
+ icon: inputIcon as IconPlaceholder,
104
+ onPress: onPressInputIcon,
87
105
  }}
88
106
  editable={false}
89
107
  touchableWrapper
@@ -35,5 +35,7 @@ export type MultiSelectProps<T> = MultiSelectDrawerProps & {
35
35
  selectedIcon?: IconPlaceholder
36
36
  hideInput?: boolean
37
37
  listProps?: Partial<FlatListProps>
38
+ clearable?: boolean
39
+ clearIconName?: IconPlaceholder
38
40
  } & ComponentVariants<typeof MultiSelectStyles>
39
41
 
@@ -41,6 +41,8 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
41
41
  listProps,
42
42
  placeholder = 'Select',
43
43
  arrowIconName = 'selectArrow',
44
+ clearIconName = 'close',
45
+ clearable = false,
44
46
  selectedIcon = 'selectMarker',
45
47
  inputProps = {},
46
48
  hideInput = false,
@@ -76,7 +78,6 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
76
78
 
77
79
  return TypeGuards.isString(display) ? display : ''
78
80
  }, [value, placeholder, options])
79
-
80
81
  const Item = renderItem || SelectItem
81
82
 
82
83
  const renderListItem = ({ item }) => {
@@ -88,6 +89,20 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
88
89
  styles={variantStyles}
89
90
  />
90
91
  }
92
+ const isEmpty = TypeGuards.isNil(value)
93
+
94
+ const inputIcon = clearable ? (
95
+ isEmpty ? arrowIconName : clearIconName
96
+ ) : arrowIconName
97
+
98
+ const onPressInputIcon = () => {
99
+ if (isEmpty) {
100
+ close?.()
101
+ }
102
+ if (clearable) {
103
+ onValueChange(null)
104
+ }
105
+ }
91
106
  return <>
92
107
  {
93
108
  !hideInput && (
@@ -95,7 +110,8 @@ export const Select = <T extends string|number = string>(selectProps:CustomSelec
95
110
  caretHidden
96
111
  value={selectedLabel}
97
112
  rightIcon={{
98
- icon: arrowIconName as IconPlaceholder,
113
+ icon: inputIcon as IconPlaceholder,
114
+ onPress: onPressInputIcon,
99
115
  }}
100
116
  editable={false}
101
117
  touchableWrapper
@@ -35,5 +35,7 @@ export type CustomSelectProps<T> = SelectDrawerProps & {
35
35
  closeOnSelect?: boolean
36
36
  inputProps?: Partial<TextInputProps>
37
37
  listProps?: Partial<FlatListProps>
38
+ clearable?: boolean
39
+ clearIconName?: boolean
38
40
  } & ComponentVariants<typeof SelectStyles>
39
41