@mw-kit/mw-ui 1.7.82 → 1.7.85
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/Input/components/Select/hooks/Select/interfaces.d.ts +2 -2
- package/dist/components/Input/components/Select/hooks/SelectMultiple/components/Label/index.d.ts +1 -0
- package/dist/components/Input/components/Select/hooks/SelectMultiple/interfaces.d.ts +4 -4
- package/dist/index.js +60 -25
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +60 -25
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ export interface SelectProps extends CommonProps {
|
|
|
3
3
|
type: 'select';
|
|
4
4
|
name?: string;
|
|
5
5
|
setValue: (value: string, option: Option['data']) => void;
|
|
6
|
-
onClear?: (value:
|
|
7
|
-
value: string
|
|
6
|
+
onClear?: (value: '') => void;
|
|
7
|
+
value: string | Pick<Option, 'value' | 'data' | 'label'>;
|
|
8
8
|
}
|
|
9
9
|
export declare type ContextInterface = CommonContext<SelectProps>;
|
|
10
10
|
export * from '../interfaces';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { CommonContext, CommonProps } from '../interfaces';
|
|
2
|
+
import { CommonContext, CommonProps, Option } from '../interfaces';
|
|
3
3
|
export interface SelectProps extends CommonProps {
|
|
4
4
|
type: 'select-multiple';
|
|
5
|
-
setValue: (value: string[]) => void;
|
|
6
|
-
value: string[];
|
|
5
|
+
setValue: (value: string[], data: Option['data'][]) => void;
|
|
6
|
+
value: (Pick<Option, 'value' | 'data'> | string)[];
|
|
7
7
|
selectAll?: boolean;
|
|
8
8
|
}
|
|
9
9
|
export interface ContextInterface extends CommonContext<SelectProps> {
|
|
10
|
-
checked: [
|
|
10
|
+
checked: [Pick<Option, 'value' | 'data'>[], React.Dispatch<React.SetStateAction<Pick<Option, 'value' | 'data'>[]>>];
|
|
11
11
|
}
|
|
12
12
|
export * from '../interfaces';
|
package/dist/index.js
CHANGED
|
@@ -14637,16 +14637,16 @@ var Header$1 = function Header() {
|
|
|
14637
14637
|
}));
|
|
14638
14638
|
};
|
|
14639
14639
|
|
|
14640
|
-
var getOptions = function getOptions(
|
|
14640
|
+
var getOptions = function getOptions(setValue, options, selected) {
|
|
14641
14641
|
return options.map(function (option) {
|
|
14642
14642
|
var value = option.value,
|
|
14643
14643
|
onClick = option.onClick,
|
|
14644
14644
|
rules = option.rules,
|
|
14645
14645
|
disabled = option.disabled;
|
|
14646
|
-
var
|
|
14646
|
+
var isSelected = option.value === (selected === null || selected === void 0 ? void 0 : selected.value);
|
|
14647
14647
|
|
|
14648
14648
|
var data = _extends({}, option.data, {
|
|
14649
|
-
selected:
|
|
14649
|
+
selected: isSelected,
|
|
14650
14650
|
value: value
|
|
14651
14651
|
});
|
|
14652
14652
|
|
|
@@ -14661,13 +14661,13 @@ var getOptions = function getOptions(props, options) {
|
|
|
14661
14661
|
}));
|
|
14662
14662
|
},
|
|
14663
14663
|
onClick: onClick || function () {
|
|
14664
|
-
|
|
14664
|
+
setValue(isSelected ? '' : value, option.data);
|
|
14665
14665
|
},
|
|
14666
14666
|
disabled: disabled,
|
|
14667
14667
|
rules: rules,
|
|
14668
14668
|
border: {
|
|
14669
14669
|
left: {
|
|
14670
|
-
color:
|
|
14670
|
+
color: isSelected ? 'blue' : 'transparent'
|
|
14671
14671
|
}
|
|
14672
14672
|
},
|
|
14673
14673
|
data: data
|
|
@@ -14701,11 +14701,11 @@ var useSelect = function useSelect(props) {
|
|
|
14701
14701
|
options = _useState[0],
|
|
14702
14702
|
setOptions = _useState[1];
|
|
14703
14703
|
|
|
14704
|
-
var
|
|
14704
|
+
var selectedOption = typeof props.value === 'string' ? getSelected(props.value, options) : props.value;
|
|
14705
|
+
var parsedOptions = getOptions(props.setValue, options, selectedOption);
|
|
14705
14706
|
|
|
14706
14707
|
var onReset = function onReset() {};
|
|
14707
14708
|
|
|
14708
|
-
var selectedOption = getSelected(props.value, options);
|
|
14709
14709
|
var inputContent = selectedOption ? getInputContent(props, selectedOption) : props.value;
|
|
14710
14710
|
var parsed = {
|
|
14711
14711
|
parsedOptions: parsedOptions,
|
|
@@ -14748,12 +14748,18 @@ var Footer$1 = function Footer() {
|
|
|
14748
14748
|
setOpen = context.setOpen;
|
|
14749
14749
|
|
|
14750
14750
|
var onClick = function onClick() {
|
|
14751
|
-
|
|
14751
|
+
var _checked$reduce = checked.reduce(function (r, e) {
|
|
14752
|
+
return [[].concat(r[0], [e.value]), [].concat(r[1], [e.data])];
|
|
14753
|
+
}, [[], []]),
|
|
14754
|
+
value = _checked$reduce[0],
|
|
14755
|
+
data = _checked$reduce[1];
|
|
14756
|
+
|
|
14757
|
+
setValue(value, data);
|
|
14752
14758
|
setOpen(false);
|
|
14753
14759
|
};
|
|
14754
14760
|
|
|
14755
14761
|
var isDirty = checked.length !== value.length || checked.some(function (e) {
|
|
14756
|
-
return !value.includes(e);
|
|
14762
|
+
return !value.includes(e.value);
|
|
14757
14763
|
});
|
|
14758
14764
|
return React__default.createElement(Button$1, {
|
|
14759
14765
|
type: 'button',
|
|
@@ -14823,7 +14829,10 @@ var Header$2 = function Header() {
|
|
|
14823
14829
|
var onClick = function onClick() {
|
|
14824
14830
|
setChecked(function (prev) {
|
|
14825
14831
|
return prev.length === options.length ? [] : options.map(function (o) {
|
|
14826
|
-
return
|
|
14832
|
+
return {
|
|
14833
|
+
value: o.value,
|
|
14834
|
+
data: o.data
|
|
14835
|
+
};
|
|
14827
14836
|
});
|
|
14828
14837
|
});
|
|
14829
14838
|
};
|
|
@@ -14861,7 +14870,7 @@ var Label$2 = function Label(props) {
|
|
|
14861
14870
|
return React__default.createElement(Checkbox, {
|
|
14862
14871
|
type: 'checkbox',
|
|
14863
14872
|
checked: checked.findIndex(function (e) {
|
|
14864
|
-
return e === value;
|
|
14873
|
+
return e.value === value;
|
|
14865
14874
|
}) !== -1,
|
|
14866
14875
|
label: typeof LabelComponent !== 'function' ? LabelComponent : React__default.createElement(LabelComponent, Object.assign({}, props.option)),
|
|
14867
14876
|
disabled: disabled,
|
|
@@ -14869,9 +14878,19 @@ var Label$2 = function Label(props) {
|
|
|
14869
14878
|
var isChecked = event.target.checked;
|
|
14870
14879
|
setChecked(function (prev) {
|
|
14871
14880
|
var newState = prev.filter(function (v) {
|
|
14872
|
-
return v !== value;
|
|
14881
|
+
return v.value !== value;
|
|
14873
14882
|
});
|
|
14874
|
-
|
|
14883
|
+
|
|
14884
|
+
if (isChecked) {
|
|
14885
|
+
var e = props.value.find(function (e) {
|
|
14886
|
+
return e.value === value;
|
|
14887
|
+
});
|
|
14888
|
+
newState.push(e || {
|
|
14889
|
+
data: props.option.data,
|
|
14890
|
+
value: value
|
|
14891
|
+
});
|
|
14892
|
+
}
|
|
14893
|
+
|
|
14875
14894
|
return newState;
|
|
14876
14895
|
});
|
|
14877
14896
|
},
|
|
@@ -14885,14 +14904,13 @@ var Label$2 = function Label(props) {
|
|
|
14885
14904
|
});
|
|
14886
14905
|
};
|
|
14887
14906
|
|
|
14888
|
-
var getOptions$1 = function getOptions(options) {
|
|
14907
|
+
var getOptions$1 = function getOptions(options, value) {
|
|
14889
14908
|
return options.map(function (option) {
|
|
14890
14909
|
var _label = option.label,
|
|
14891
|
-
value = option.value,
|
|
14892
14910
|
onClick = option.onClick;
|
|
14893
14911
|
var data = {
|
|
14894
14912
|
data: option.data,
|
|
14895
|
-
value: value
|
|
14913
|
+
value: option.value
|
|
14896
14914
|
};
|
|
14897
14915
|
var parsed = {
|
|
14898
14916
|
label: function label(option) {
|
|
@@ -14900,7 +14918,8 @@ var getOptions$1 = function getOptions(options) {
|
|
|
14900
14918
|
option: _extends({}, data, {
|
|
14901
14919
|
disabled: option.disabled
|
|
14902
14920
|
}),
|
|
14903
|
-
label: _label
|
|
14921
|
+
label: _label,
|
|
14922
|
+
value: value
|
|
14904
14923
|
});
|
|
14905
14924
|
},
|
|
14906
14925
|
onClick: onClick,
|
|
@@ -14918,20 +14937,32 @@ var getInputContent$1 = function getInputContent(value) {
|
|
|
14918
14937
|
return value.length > 1 ? "H\xE1 " + value.length + " sele\xE7\xF5es" : "H\xE1 " + value.length + " sele\xE7\xE3o";
|
|
14919
14938
|
};
|
|
14920
14939
|
|
|
14940
|
+
var parseValue = function parseValue(value) {
|
|
14941
|
+
var parsed = value.map(function (value) {
|
|
14942
|
+
return typeof value === 'string' ? {
|
|
14943
|
+
value: value,
|
|
14944
|
+
data: {}
|
|
14945
|
+
} : value;
|
|
14946
|
+
});
|
|
14947
|
+
return parsed;
|
|
14948
|
+
};
|
|
14949
|
+
|
|
14921
14950
|
var useSelectMultiple = function useSelectMultiple(props) {
|
|
14922
14951
|
var _useState = React.useState([]),
|
|
14923
14952
|
options = _useState[0],
|
|
14924
14953
|
setOptions = _useState[1];
|
|
14925
14954
|
|
|
14926
|
-
var
|
|
14955
|
+
var initial = parseValue(props.value);
|
|
14956
|
+
|
|
14957
|
+
var _useState2 = React.useState([].concat(initial)),
|
|
14927
14958
|
checked = _useState2[0],
|
|
14928
14959
|
setChecked = _useState2[1];
|
|
14929
14960
|
|
|
14930
|
-
var parsedOptions = getOptions$1(options);
|
|
14961
|
+
var parsedOptions = getOptions$1(options, initial);
|
|
14931
14962
|
var inputContent = getInputContent$1(props.value);
|
|
14932
14963
|
|
|
14933
14964
|
var onReset = function onReset() {
|
|
14934
|
-
setChecked([].concat(
|
|
14965
|
+
setChecked([].concat(initial));
|
|
14935
14966
|
};
|
|
14936
14967
|
|
|
14937
14968
|
var returnData = {
|
|
@@ -14958,7 +14989,7 @@ var useSelectMultiple = function useSelectMultiple(props) {
|
|
|
14958
14989
|
}, children);
|
|
14959
14990
|
},
|
|
14960
14991
|
onClear: function onClear() {
|
|
14961
|
-
return props.setValue([]);
|
|
14992
|
+
return props.setValue([], []);
|
|
14962
14993
|
}
|
|
14963
14994
|
};
|
|
14964
14995
|
return returnData;
|
|
@@ -15020,7 +15051,7 @@ var Select = React__default.forwardRef(function (props, ref) {
|
|
|
15020
15051
|
setPage(1);
|
|
15021
15052
|
};
|
|
15022
15053
|
|
|
15023
|
-
var inputProps = filterObject(props, ['type', 'onScrollEnd', 'position', 'value', 'onClear']);
|
|
15054
|
+
var inputProps = filterObject(props, ['type', 'onScrollEnd', 'position', 'value', 'onClear', 'placeholder']);
|
|
15024
15055
|
|
|
15025
15056
|
var _onScrollEnd = props.onScrollEnd || function () {};
|
|
15026
15057
|
|
|
@@ -15091,6 +15122,7 @@ var Select = React__default.forwardRef(function (props, ref) {
|
|
|
15091
15122
|
});
|
|
15092
15123
|
};
|
|
15093
15124
|
|
|
15125
|
+
var isEmpty = (typeof props.value === 'string' || Array.isArray(props.value)) && props.value.length === 0;
|
|
15094
15126
|
return getContext({
|
|
15095
15127
|
setOpen: setOpen,
|
|
15096
15128
|
search: [search, setSearch],
|
|
@@ -15117,9 +15149,12 @@ var Select = React__default.forwardRef(function (props, ref) {
|
|
|
15117
15149
|
},
|
|
15118
15150
|
onClick: onClick
|
|
15119
15151
|
},
|
|
15120
|
-
ref: ref
|
|
15121
|
-
|
|
15122
|
-
placeholder: props.
|
|
15152
|
+
ref: ref
|
|
15153
|
+
}, isEmpty ? {
|
|
15154
|
+
placeholder: props.placeholder
|
|
15155
|
+
} : {
|
|
15156
|
+
clearable: onClear
|
|
15157
|
+
}, {
|
|
15123
15158
|
children: loading ? '' : inputContent
|
|
15124
15159
|
})), React__default.createElement(Menu, Object.assign({}, menuProps, {
|
|
15125
15160
|
open: open,
|