@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.
- package/dist/components/MultiSelect/index.js +13 -2
- package/dist/components/MultiSelect/index.js.map +1 -1
- package/dist/components/MultiSelect/types.d.ts +2 -0
- package/dist/components/Select/index.js +13 -2
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Select/types.d.ts +2 -0
- package/package.json +1 -1
- package/src/components/MultiSelect/index.tsx +19 -1
- package/src/components/MultiSelect/types.ts +2 -0
- package/src/components/Select/index.tsx +18 -2
- package/src/components/Select/types.ts +2 -0
|
@@ -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:
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAGsC;AACtC,6CAAsC;AACtC,6CAAyC;AACzC,gCAA8B;AAC9B,0CAAwC;AAExC,qCAA0C;AAE1C,oCAAsC;AAEtC,2CAAwB;AACjB,IAAM,WAAW,GAAG,UAAmC,WAA+B;IAEzF,IAAA,KAAK,
|
|
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.
|
|
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:
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAGsC;AACtC,6CAAsC;AACtC,6CAAyC;AACzC,gCAA8B;AAC9B,gCAA8B;AAC9B,0CAAwC;AACxC,0CAAwC;AAGxC,qCAA0C;AAC1C,gCAA8B;AAEvB,IAAM,UAAU,GAAG,UAAC,EAAkD;QAAhD,IAAI,UAAA,EAAE,YAAW,EAAX,IAAI,mBAAG,IAAI,KAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA;IACzE,OAAO,CAAC,qBAAS,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,CAAC,WAAW;YAClB,UAAU,IAAI,MAAM,CAAC,sBAAsB,CAAC;SAC7C,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,iBAAU,IAAI,CAAC,KAAK,CAAE,CAAC,CACrD;IAAA,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,QAAQ;YACf,UAAU,IAAI,MAAM,CAAC,mBAAmB,CAAC;SAC1C,CAAC,EACF;IAAA,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAE,UAAU,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,mBAAmB,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5G;EAAA,EAAE,qBAAS,CAAC,CAAA;AACd,CAAC,CAAA;AAXY,QAAA,UAAU,cAWtB;AAED,2CAAwB;AACjB,IAAM,MAAM,GAAG,UAAmC,WAAgC;IAErF,IAAA,KAAK,
|
|
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
|
@@ -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:
|
|
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:
|
|
113
|
+
icon: inputIcon as IconPlaceholder,
|
|
114
|
+
onPress: onPressInputIcon,
|
|
99
115
|
}}
|
|
100
116
|
editable={false}
|
|
101
117
|
touchableWrapper
|